From 83e6749dfbd30aeb79f04afe6495481e1a678e6c Mon Sep 17 00:00:00 2001 From: Jeff Lindsay Date: Sat, 9 Mar 2024 11:32:20 -0800 Subject: [PATCH] kernel: update jazz to cache stats and use file watching --- go.mod | 6 +- go.sum | 440 ---------------------------------------- kernel/jazz/jazz.go | 68 +++++-- kernel/jazz/jazz.min.js | 22 +- 4 files changed, 67 insertions(+), 469 deletions(-) diff --git a/go.mod b/go.mod index 60f3e5c..6b7bc48 100644 --- a/go.mod +++ b/go.mod @@ -6,12 +6,8 @@ require ( github.com/Parzival-3141/go-posix v0.0.0-20240117234226-973522973253 github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be github.com/evanw/esbuild v0.19.5 - github.com/spf13/afero v1.10.0 golang.org/x/term v0.17.0 tractor.dev/toolkit-go v0.0.0-20240304053737-324323efde45 ) -require ( - golang.org/x/sys v0.17.0 // indirect - golang.org/x/text v0.13.0 // indirect -) +require golang.org/x/sys v0.17.0 // indirect diff --git a/go.sum b/go.sum index 7eae30f..6d19b99 100644 --- a/go.sum +++ b/go.sum @@ -1,453 +1,13 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/Parzival-3141/go-posix v0.0.0-20240117234226-973522973253 h1:PoAWY9pmlS5qRFr5FME51nyfYnNkoeTH009lvNR2XjA= github.com/Parzival-3141/go-posix v0.0.0-20240117234226-973522973253/go.mod h1:Rfx4vn0rqzMiKHC4STvCa2/8iv0r8fvGXjkBxhbvAQU= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/evanw/esbuild v0.19.5 h1:9ildZqajUJzDAwNf9MyQsLh2RdDRKTq3kcyyzhE39us= github.com/evanw/esbuild v0.19.5/go.mod h1:D2vIQZqV/vIf/VRHtViaUtViZmG7o+kKmlBfVQuRi48= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/spf13/afero v1.10.0 h1:EaGW2JJh15aKOejeuJ+wpFSHnbd7GE6Wvp3TsNhb6LY= -github.com/spf13/afero v1.10.0/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= -google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -tractor.dev/toolkit-go v0.0.0-20231221004400-0208bc4b870f h1:knfelP7vT8rbuLgvKd94vSdC70PbjxsumcQZKDOQOIg= -tractor.dev/toolkit-go v0.0.0-20231221004400-0208bc4b870f/go.mod h1:gteH4mWzJV+Y5zk6/Q6rPuWeOCFHnr55XPTgYEHuzUo= tractor.dev/toolkit-go v0.0.0-20240304053737-324323efde45 h1:oqj8N5C0kA8xESdsOfpWBeg1UJM6Fvp/SOtCpGuXnJE= tractor.dev/toolkit-go v0.0.0-20240304053737-324323efde45/go.mod h1:gteH4mWzJV+Y5zk6/Q6rPuWeOCFHnr55XPTgYEHuzUo= diff --git a/kernel/jazz/jazz.go b/kernel/jazz/jazz.go index b42409f..301ffdb 100644 --- a/kernel/jazz/jazz.go +++ b/kernel/jazz/jazz.go @@ -9,6 +9,9 @@ import ( "sync" "syscall/js" "time" + + "tractor.dev/toolkit-go/engine/fs/watchfs" + "tractor.dev/wanix/internal/cache" ) func fsUtil(name string, args ...any) js.Value { @@ -25,24 +28,24 @@ func fsUtil(name string, args ...any) js.Value { } } -type jazzfs struct{} +type jazzfs struct { + cache *cache.C // speed up slow, frequent stat +} func NewJazzFs() fs.FS { - return &jazzfs{} + return &jazzfs{ + cache: cache.New(1 * time.Second), + } } -// Create creates a file in the filesystem, returning the file and an -// error, if any happens. func (fs *jazzfs) Create(name string) (fs.File, error) { return fs.OpenFile(name, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0666) } -// Open opens a file, returning it or an error, if any happens. func (fs *jazzfs) Open(name string) (fs.File, error) { return fs.OpenFile(name, os.O_RDONLY, 0) } -// OpenFile opens a file using the given flags and the given mode. func (fs *jazzfs) OpenFile(name string, flag int, perm fs.FileMode) (fs.File, error) { fmt.Println("open:", name) v := fsUtil("walk", name) @@ -60,7 +63,7 @@ func (fs *jazzfs) OpenFile(name string, flag int, perm fs.FileMode) (fs.File, er return nil, os.ErrNotExist } } - f := &jazzfile{node: v, path: name} + f := &jazzfile{node: v, path: name, fs: fs} if flag&os.O_APPEND > 0 { f.Seek(0, 2) } @@ -70,8 +73,6 @@ func (fs *jazzfs) OpenFile(name string, flag int, perm fs.FileMode) (fs.File, er return f, nil } -// Mkdir creates a directory in the filesystem, return an error if any -// happens. func (fs *jazzfs) Mkdir(name string, perm fs.FileMode) error { ret := fsUtil("mkdir", name) if ret.IsNull() { @@ -80,8 +81,6 @@ func (fs *jazzfs) Mkdir(name string, perm fs.FileMode) error { return nil } -// MkdirAll creates a directory path and all parents that does not exist -// yet. func (fs *jazzfs) MkdirAll(path string, perm fs.FileMode) error { fsUtil("mkdirAll", path) return nil @@ -112,13 +111,19 @@ func (fs *jazzfs) Rename(oldname string, newname string) error { } func (fs *jazzfs) Stat(name string) (fs.FileInfo, error) { + v, found := fs.cache.Get(name) + if found { + fmt.Println("stat cached:", name) + return v.(*jazzinfo), nil + } fmt.Println("stat:", name) ret := fsUtil("stat", name) if ret.IsNull() { return nil, os.ErrNotExist } - fmt.Println(js.Global().Get("JSON").Call("stringify", ret)) - return &jazzinfo{ret}, nil + vv := &jazzinfo{ret} + fs.cache.Set(name, vv, cache.DefaultExpiration) + return vv, nil } func (fs *jazzfs) ReadDir(name string) (entries []fs.DirEntry, err error) { @@ -153,6 +158,43 @@ func (fs *jazzfs) Chtimes(name string, atime time.Time, mtime time.Time) error { return nil } +func (fs *jazzfs) Watch(name string, cfg *watchfs.Config) (*watchfs.Watch, error) { + fmt.Println("watch:", name) + if cfg == nil { + cfg = &watchfs.Config{} + } + watch, inbox, closer := watchfs.NewWatch(name, *cfg) + if cfg.Handler != nil { + go func() { + for e := range watch.Iter() { + cfg.Handler(e) + } + }() + } + inflateEvent := func(v js.Value) watchfs.Event { + return watchfs.Event{ + Path: v.Get("path").String(), + OldPath: v.Get("path").String(), + Type: watchfs.EventWrite, + Err: nil, + FileInfo: &jazzinfo{v}, + } + } + go func() { + defer close(inbox) + token := fsUtil("watch", name, js.FuncOf(func(this js.Value, args []js.Value) any { + select { + case inbox <- inflateEvent(args[0].Get("detail")): + default: + } + return nil + })) + <-closer + fsUtil("unwatch", token) + }() + return watch, nil +} + type jazzfile struct { fs *jazzfs node js.Value diff --git a/kernel/jazz/jazz.min.js b/kernel/jazz/jazz.min.js index ced888c..51d643e 100644 --- a/kernel/jazz/jazz.min.js +++ b/kernel/jazz/jazz.min.js @@ -1,24 +1,24 @@ -var window = globalThis; var localStorage = {}; -var un=Object.defineProperty;var Dn=(I,A)=>{for(var i in A)un(I,i,{get:A[i],enumerable:!0})};var v,_t=typeof TextDecoder!="undefined"?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};typeof TextDecoder!="undefined"&&_t.decode();var li=null;function Ye(){return(li===null||li.byteLength===0)&&(li=new Uint8Array(v.memory.buffer)),li}function $i(I,A){return I=I>>>0,_t.decode(Ye().subarray(I,I+A))}var eI=new Array(128).fill(void 0);eI.push(void 0,null,!0,!1);var yi=eI.length;function tA(I){yi===eI.length&&eI.push(eI.length+1);let A=yi;return yi=eI[A],eI[A]=I,A}function _(I){return eI[I]}function pn(I){I<132||(eI[I]=yi,yi=I)}function OA(I){let A=_(I);return pn(I),A}function UA(I,A){if(!(I instanceof A))throw new Error(`expected instance of ${A.name}`);return I.ptr}var Fi=null;function IA(){return(Fi===null||Fi.byteLength===0)&&(Fi=new Int32Array(v.memory.buffer)),Fi}var $t=0;function ln(I,A){let i=A(I.length*1,1)>>>0;return Ye().set(I,i/1),$t=I.length,i}function tI(I,A){try{return I.apply(this,A)}catch(i){v.__wbindgen_exn_store(tA(i))}}var XA=class{static __wrap(A){A=A>>>0;let i=Object.create(XA.prototype);return i.__wbg_ptr=A,i}__destroy_into_raw(){let A=this.__wbg_ptr;return this.__wbg_ptr=0,A}[Symbol.dispose](){this.free()}free(){let A=this.__destroy_into_raw();v.__wbg_ed25519signature_free(A)}constructor(A){try{let g=v.__wbindgen_add_to_stack_pointer(-16);UA(A,W),v.ed25519signature_from_bytes(g,A.__wbg_ptr);var i=IA()[g/4+0],e=IA()[g/4+1],t=IA()[g/4+2];if(t)throw OA(e);return XA.__wrap(i)}finally{v.__wbindgen_add_to_stack_pointer(16)}}static from_bytes(A){try{let g=v.__wbindgen_add_to_stack_pointer(-16);UA(A,W),v.ed25519signature_from_bytes(g,A.__wbg_ptr);var i=IA()[g/4+0],e=IA()[g/4+1],t=IA()[g/4+2];if(t)throw OA(e);return XA.__wrap(i)}finally{v.__wbindgen_add_to_stack_pointer(16)}}to_bytes(){let A=v.ed25519signature_to_bytes(this.__wbg_ptr);return W.__wrap(A)}},KA=class{static __wrap(A){A=A>>>0;let i=Object.create(KA.prototype);return i.__wbg_ptr=A,i}__destroy_into_raw(){let A=this.__wbg_ptr;return this.__wbg_ptr=0,A}[Symbol.dispose](){this.free()}free(){let A=this.__destroy_into_raw();v.__wbg_ed25519signingkey_free(A)}constructor(){let A=v.ed25519signingkey_new();return KA.__wrap(A)}static random(){let A=v.ed25519signingkey_new();return KA.__wrap(A)}static from_bytes(A){try{let g=v.__wbindgen_add_to_stack_pointer(-16);UA(A,W),v.ed25519signingkey_from_bytes(g,A.__wbg_ptr);var i=IA()[g/4+0],e=IA()[g/4+1],t=IA()[g/4+2];if(t)throw OA(e);return KA.__wrap(i)}finally{v.__wbindgen_add_to_stack_pointer(16)}}to_bytes(){let A=v.ed25519signingkey_to_bytes(this.__wbg_ptr);return W.__wrap(A)}public(){let A=v.ed25519signingkey_public(this.__wbg_ptr);return gI.__wrap(A)}sign(A){UA(A,W);let i=v.ed25519signingkey_sign(this.__wbg_ptr,A.__wbg_ptr);return XA.__wrap(i)}},gI=class{static __wrap(A){A=A>>>0;let i=Object.create(gI.prototype);return i.__wbg_ptr=A,i}__destroy_into_raw(){let A=this.__wbg_ptr;return this.__wbg_ptr=0,A}[Symbol.dispose](){this.free()}free(){let A=this.__destroy_into_raw();v.__wbg_ed25519verifyingkey_free(A)}constructor(A){try{let g=v.__wbindgen_add_to_stack_pointer(-16);UA(A,W),v.ed25519verifyingkey_from_bytes(g,A.__wbg_ptr);var i=IA()[g/4+0],e=IA()[g/4+1],t=IA()[g/4+2];if(t)throw OA(e);return gI.__wrap(i)}finally{v.__wbindgen_add_to_stack_pointer(16)}}static from_bytes(A){try{let g=v.__wbindgen_add_to_stack_pointer(-16);UA(A,W),v.ed25519verifyingkey_from_bytes(g,A.__wbg_ptr);var i=IA()[g/4+0],e=IA()[g/4+1],t=IA()[g/4+2];if(t)throw OA(e);return gI.__wrap(i)}finally{v.__wbindgen_add_to_stack_pointer(16)}}to_bytes(){let A=v.ed25519verifyingkey_to_bytes(this.__wbg_ptr);return W.__wrap(A)}verify(A,i){return UA(A,W),UA(i,XA),v.ed25519verifyingkey_verify(this.__wbg_ptr,A.__wbg_ptr,i.__wbg_ptr)!==0}},W=class{static __wrap(A,i,e){A=A>>>0;let t=Object.create(W.prototype);return t.__wbg_ptr=A,t.__wbg_ptr0=i,t.__wbg_len0=e,t}__destroy_into_raw(){let A=this.__wbg_ptr;return this.__wbg_ptr=0,A}[Symbol.dispose](){this.free()}free(){let A=this.__destroy_into_raw();v.__wbg_memory_free(A)}constructor(A){let i=ln(A,v.__wbindgen_malloc),e=$t,t=v.memory_new(i,e);return W.__wrap(t,i,e)}ptr(){return this.__wbg_ptr0??=v.memory_ptr(this.__wbg_ptr)}len(){return this.__wbg_len0??=v.memory_len(this.__wbg_ptr)}freeNextTick(){return setTimeout(()=>this.free(),0),this}get bytes(){return Ye().subarray(this.ptr(),this.ptr()+this.len())}copyAndDispose(){let A=this.bytes.slice();return this.free(),A}},RA=class{static __wrap(A){A=A>>>0;let i=Object.create(RA.prototype);return i.__wbg_ptr=A,i}__destroy_into_raw(){let A=this.__wbg_ptr;return this.__wbg_ptr=0,A}[Symbol.dispose](){this.free()}free(){let A=this.__destroy_into_raw();v.__wbg_x25519publickey_free(A)}constructor(A){try{let g=v.__wbindgen_add_to_stack_pointer(-16);UA(A,W),v.x25519publickey_from_bytes(g,A.__wbg_ptr);var i=IA()[g/4+0],e=IA()[g/4+1],t=IA()[g/4+2];if(t)throw OA(e);return RA.__wrap(i)}finally{v.__wbindgen_add_to_stack_pointer(16)}}static from_bytes(A){try{let g=v.__wbindgen_add_to_stack_pointer(-16);UA(A,W),v.x25519publickey_from_bytes(g,A.__wbg_ptr);var i=IA()[g/4+0],e=IA()[g/4+1],t=IA()[g/4+2];if(t)throw OA(e);return RA.__wrap(i)}finally{v.__wbindgen_add_to_stack_pointer(16)}}to_bytes(){let A=v.ed25519verifyingkey_to_bytes(this.__wbg_ptr);return W.__wrap(A)}},Si=class{static __wrap(A){A=A>>>0;let i=Object.create(Si.prototype);return i.__wbg_ptr=A,i}__destroy_into_raw(){let A=this.__wbg_ptr;return this.__wbg_ptr=0,A}[Symbol.dispose](){this.free()}free(){let A=this.__destroy_into_raw();v.__wbg_x25519sharedsecret_free(A)}to_bytes(){let A=v.ed25519verifyingkey_to_bytes(this.__wbg_ptr);return W.__wrap(A)}was_contributory(){return v.x25519sharedsecret_was_contributory(this.__wbg_ptr)!==0}},xA=class{static __wrap(A){A=A>>>0;let i=Object.create(xA.prototype);return i.__wbg_ptr=A,i}__destroy_into_raw(){let A=this.__wbg_ptr;return this.__wbg_ptr=0,A}[Symbol.dispose](){this.free()}free(){let A=this.__destroy_into_raw();v.__wbg_x25519staticsecret_free(A)}constructor(){let A=v.x25519staticsecret_random();return xA.__wrap(A)}static from_bytes(A){try{let g=v.__wbindgen_add_to_stack_pointer(-16);UA(A,W),v.x25519staticsecret_from_bytes(g,A.__wbg_ptr);var i=IA()[g/4+0],e=IA()[g/4+1],t=IA()[g/4+2];if(t)throw OA(e);return xA.__wrap(i)}finally{v.__wbindgen_add_to_stack_pointer(16)}}to_bytes(){let A=v.x25519staticsecret_to_bytes(this.__wbg_ptr);return W.__wrap(A)}diffie_hellman(A){UA(A,RA);let i=v.x25519staticsecret_diffie_hellman(this.__wbg_ptr,A.__wbg_ptr);return Si.__wrap(i)}to_public(){let A=v.x25519staticsecret_to_public(this.__wbg_ptr);return RA.__wrap(A)}};async function yn(I,A){if(typeof Response=="function"&&I instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(I,A)}catch(e){if(I.headers.get("Content-Type")!="application/wasm")console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",e);else throw e}let i=await I.arrayBuffer();return await WebAssembly.instantiate(i,A)}else{let i=await WebAssembly.instantiate(I,A);return i instanceof WebAssembly.Instance?{instance:i,module:I}:i}}function Fn(){let I={};return I.wbg={},I.wbg.__wbindgen_error_new=function(A,i){let e=new Error($i(A,i));return tA(e)},I.wbg.__wbindgen_object_clone_ref=function(A){let i=_(A);return tA(i)},I.wbg.__wbg_crypto_c48a774b022d20ac=function(A){let i=_(A).crypto;return tA(i)},I.wbg.__wbindgen_is_object=function(A){let i=_(A);return typeof i=="object"&&i!==null},I.wbg.__wbg_process_298734cf255a885d=function(A){let i=_(A).process;return tA(i)},I.wbg.__wbg_versions_e2e78e134e3e5d01=function(A){let i=_(A).versions;return tA(i)},I.wbg.__wbg_node_1cd7a5d853dbea79=function(A){let i=_(A).node;return tA(i)},I.wbg.__wbindgen_is_string=function(A){return typeof _(A)=="string"},I.wbg.__wbindgen_object_drop_ref=function(A){OA(A)},I.wbg.__wbg_msCrypto_bcb970640f50a1e8=function(A){let i=_(A).msCrypto;return tA(i)},I.wbg.__wbg_newwithlength_f5933855e4f48a19=function(A){let i=new Uint8Array(A>>>0);return tA(i)},I.wbg.__wbg_require_8f08ceecec0f4fee=function(){return tI(function(){let A=module.require;return tA(A)},arguments)},I.wbg.__wbindgen_is_function=function(A){return typeof _(A)=="function"},I.wbg.__wbindgen_string_new=function(A,i){let e=$i(A,i);return tA(e)},I.wbg.__wbg_call_168da88779e35f61=function(){return tI(function(A,i,e){let t=_(A).call(_(i),_(e));return tA(t)},arguments)},I.wbg.__wbg_self_6d479506f72c6a71=function(){return tI(function(){let A=self.self;return tA(A)},arguments)},I.wbg.__wbg_window_f2557cc78490aceb=function(){return tI(function(){let A=window.window;return tA(A)},arguments)},I.wbg.__wbg_globalThis_7f206bda628d5286=function(){return tI(function(){let A=globalThis.globalThis;return tA(A)},arguments)},I.wbg.__wbg_global_ba75c50d1cf384f4=function(){return tI(function(){let A=global.global;return tA(A)},arguments)},I.wbg.__wbindgen_is_undefined=function(A){return _(A)===void 0},I.wbg.__wbg_newnoargs_b5b063fc6c2f0376=function(A,i){let e=new Function($i(A,i));return tA(e)},I.wbg.__wbg_call_97ae9d8645dc388b=function(){return tI(function(A,i){let e=_(A).call(_(i));return tA(e)},arguments)},I.wbg.__wbg_subarray_58ad4efbb5bcb886=function(A,i,e){let t=_(A).subarray(i>>>0,e>>>0);return tA(t)},I.wbg.__wbg_getRandomValues_37fa2ca9e4e07fab=function(){return tI(function(A,i){_(A).getRandomValues(_(i))},arguments)},I.wbg.__wbindgen_memory=function(){let A=v.memory;return tA(A)},I.wbg.__wbg_buffer_3f3d764d4747d564=function(A){let i=_(A).buffer;return tA(i)},I.wbg.__wbg_new_8c3f0052272a457a=function(A){let i=new Uint8Array(_(A));return tA(i)},I.wbg.__wbg_set_83db9690f9353e79=function(A,i,e){_(A).set(_(i),e>>>0)},I.wbg.__wbg_newwithbyteoffsetandlength_d9aa266703cb98be=function(A,i,e){let t=new Uint8Array(_(A),i>>>0,e>>>0);return tA(t)},I.wbg.__wbg_randomFillSync_dc1e9a60c158336d=function(){return tI(function(A,i){_(A).randomFillSync(OA(i))},arguments)},I.wbg.__wbindgen_throw=function(A,i){throw new Error($i(A,i))},I}function Sn(I,A){return v=I.exports,Ae.__wbindgen_wasm_module=A,Fi=null,li=null,v}async function Ae(I){if(v!==void 0)return v;if(typeof I=="undefined")throw new Error;let A=Fn();(typeof I=="string"||typeof Request=="function"&&I instanceof Request||typeof URL=="function"&&I instanceof URL)&&(I=fetch(I));let{instance:i,module:e}=await yn(await I,A);return Sn(i,e)}var Ag="data:application/wasm;base64,AGFzbQEAAAABlQEWYAJ/fwF/YAF/AX9gAn9/AGADf39/AX9gA39/fwBgAX8AYAABf2AEf39/fwF/YAR/f39/AGAFf39/f38AYAAAYAV/f39/fwF/YAN+f38Bf2AGf39/f39/AGAGf39/f39/AX9gBX9/fX9/AGAEf31/fwBgBX9/fH9/AGAEf3x/fwBgBX9/fn9/AGAEf35/fwBgAX8BfgK8CB8Dd2JnFF9fd2JpbmRnZW5fZXJyb3JfbmV3AAADd2JnG19fd2JpbmRnZW5fb2JqZWN0X2Nsb25lX3JlZgABA3diZx1fX3diZ19jcnlwdG9fYzQ4YTc3NGIwMjJkMjBhYwABA3diZxRfX3diaW5kZ2VuX2lzX29iamVjdAABA3diZx5fX3diZ19wcm9jZXNzXzI5ODczNGNmMjU1YTg4NWQAAQN3YmcfX193YmdfdmVyc2lvbnNfZTJlNzhlMTM0ZTNlNWQwMQABA3diZxtfX3diZ19ub2RlXzFjZDdhNWQ4NTNkYmVhNzkAAQN3YmcUX193YmluZGdlbl9pc19zdHJpbmcAAQN3YmcaX193YmluZGdlbl9vYmplY3RfZHJvcF9yZWYABQN3YmcfX193YmdfbXNDcnlwdG9fYmNiOTcwNjQwZjUwYTFlOAABA3diZyRfX3diZ19uZXd3aXRobGVuZ3RoX2Y1OTMzODU1ZTRmNDhhMTkAAQN3YmceX193YmdfcmVxdWlyZV84ZjA4Y2VlY2VjMGY0ZmVlAAYDd2JnFl9fd2JpbmRnZW5faXNfZnVuY3Rpb24AAQN3YmcVX193YmluZGdlbl9zdHJpbmdfbmV3AAADd2JnG19fd2JnX2NhbGxfMTY4ZGE4ODc3OWUzNWY2MQADA3diZxtfX3diZ19zZWxmXzZkNDc5NTA2ZjcyYzZhNzEABgN3YmcdX193Ymdfd2luZG93X2YyNTU3Y2M3ODQ5MGFjZWIABgN3YmchX193YmdfZ2xvYmFsVGhpc183ZjIwNmJkYTYyOGQ1Mjg2AAYDd2JnHV9fd2JnX2dsb2JhbF9iYTc1YzUwZDFjZjM4NGY0AAYDd2JnF19fd2JpbmRnZW5faXNfdW5kZWZpbmVkAAEDd2JnIF9fd2JnX25ld25vYXJnc19iNWIwNjNmYzZjMmYwMzc2AAADd2JnG19fd2JnX2NhbGxfOTdhZTlkODY0NWRjMzg4YgAAA3diZx9fX3diZ19zdWJhcnJheV81OGFkNGVmYmI1YmNiODg2AAMDd2JnJl9fd2JnX2dldFJhbmRvbVZhbHVlc18zN2ZhMmNhOWU0ZTA3ZmFiAAIDd2JnEV9fd2JpbmRnZW5fbWVtb3J5AAYDd2JnHV9fd2JnX2J1ZmZlcl8zZjNkNzY0ZDQ3NDdkNTY0AAEDd2JnGl9fd2JnX25ld184YzNmMDA1MjI3MmE0NTdhAAEDd2JnGl9fd2JnX3NldF84M2RiOTY5MGY5MzUzZTc5AAQDd2JnMV9fd2JnX25ld3dpdGhieXRlb2Zmc2V0YW5kbGVuZ3RoX2Q5YWEyNjY3MDNjYjk4YmUAAwN3YmclX193YmdfcmFuZG9tRmlsbFN5bmNfZGMxZTlhNjBjMTU4MzM2ZAACA3diZxBfX3diaW5kZ2VuX3Rocm93AAIDZGMEAgIAAgABAwICAgMEBAQCBQIEBAECBwQCDAIEAgMCAgQCAgUAAQACAAICAAEGBgQCCAEBBgENCQUBAAAABQADAwUHCgIAAQUBAA4LCQ8REwgDBQAAAQAABQAAAQoKAgMAFQUEBQFwAR8fBQMBABEGCQF/AUGAgMAACwfnByUGbWVtb3J5AgAZeDI1NTE5c3RhdGljc2VjcmV0X3JhbmRvbQBNHXgyNTUxOXN0YXRpY3NlY3JldF9mcm9tX2J5dGVzAD0beDI1NTE5c3RhdGljc2VjcmV0X3RvX2J5dGVzAFIheDI1NTE5c3RhdGljc2VjcmV0X2RpZmZpZV9oZWxsbWFuACIceDI1NTE5c3RhdGljc2VjcmV0X3RvX3B1YmxpYwAzFWVkMjU1MTlzaWduaW5na2V5X25ldwBMHGVkMjU1MTlzaWduaW5na2V5X2Zyb21fYnl0ZXMARhplZDI1NTE5c2lnbmluZ2tleV90b19ieXRlcwBRGGVkMjU1MTlzaWduaW5na2V5X3B1YmxpYwBYFmVkMjU1MTlzaWduaW5na2V5X3NpZ24AJB5lZDI1NTE5dmVyaWZ5aW5na2V5X2Zyb21fYnl0ZXMAIxxlZDI1NTE5dmVyaWZ5aW5na2V5X3RvX2J5dGVzAEsaZWQyNTUxOXZlcmlmeWluZ2tleV92ZXJpZnkAJhp4MjU1MTlwdWJsaWNrZXlfZnJvbV9ieXRlcwA9EV9fd2JnX21lbW9yeV9mcmVlAGAKbWVtb3J5X25ldwBkCm1lbW9yeV9wdHIAZwptZW1vcnlfbGVuAGUjeDI1NTE5c2hhcmVkc2VjcmV0X3dhc19jb250cmlidXRvcnkAVBtfX3diZ19lZDI1NTE5c2lnbmF0dXJlX2ZyZWUAZhtlZDI1NTE5c2lnbmF0dXJlX2Zyb21fYnl0ZXMANxllZDI1NTE5c2lnbmF0dXJlX3RvX2J5dGVzAEQYZWQyNTUxOXNpZ25pbmdrZXlfcmFuZG9tAEwXZWQyNTUxOXZlcmlmeWluZ2tleV9uZXcAIxN4MjU1MTlwdWJsaWNrZXlfbmV3AD0UZWQyNTUxOXNpZ25hdHVyZV9uZXcANxh4MjU1MTlwdWJsaWNrZXlfdG9fYnl0ZXMASxt4MjU1MTlzaGFyZWRzZWNyZXRfdG9fYnl0ZXMASx1fX3diZ194MjU1MTlzdGF0aWNzZWNyZXRfZnJlZQBmHl9fd2JnX2VkMjU1MTl2ZXJpZnlpbmdrZXlfZnJlZQBmGl9fd2JnX3gyNTUxOXB1YmxpY2tleV9mcmVlAGYdX193YmdfeDI1NTE5c2hhcmVkc2VjcmV0X2ZyZWUAZhxfX3diZ19lZDI1NTE5c2lnbmluZ2tleV9mcmVlAGYfX193YmluZGdlbl9hZGRfdG9fc3RhY2tfcG9pbnRlcgB6EV9fd2JpbmRnZW5fbWFsbG9jAF0UX193YmluZGdlbl9leG5fc3RvcmUAdwknAQBBAQseSnh1dnlqVWtqaXBva2tsbW5ogQFeRVlxX0dbgQFygAFzCrjeBWO2WAIgfgF/IwBBgAFrIiMkACAjQYABEH8hIyAAKQM4ISEgACkDMCEfIAApAyghHiAAKQMgIRwgACkDGCEiIAApAxAhICAAKQMIIR0gACkDACEEIAIEQCABIAJBB3RqIQIDQCAjIAEpAAAiA0I4hiADQoD+A4NCKIaEIANCgID8B4NCGIYgA0KAgID4D4NCCIaEhCADQgiIQoCAgPgPgyADQhiIQoCA/AeDhCADQiiIQoD+A4MgA0I4iISEhDcDACAjIAEpAAgiA0I4hiADQoD+A4NCKIaEIANCgID8B4NCGIYgA0KAgID4D4NCCIaEhCADQgiIQoCAgPgPgyADQhiIQoCA/AeDhCADQiiIQoD+A4MgA0I4iISE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////H3E2AgAgMiALIBFrQfD///8Baq0gREIaiHwiRKdB////D3E2AgAgMyAJIBBrQfD///8Baq0gRUIaiHwiRadB////D3E2AgAgNCAIIA9rQfD///8Daq0gREIZiHwiRKdB////H3E2AgAgNSBGQv///w+DIENC////H4MgRUIZiHwiQ0IaiHw+AgAgNiBDp0H///8fcTYCACA3IAYgDmtB8P///wFqrSBEQhqIfCJDp0H///8PcTYCACA4IEhC////D4MgQ0IZiEITfiBHQv///x+DfCJDQhqIfD4CACACIAYgDmo2AuQVIAIgCCAPajYC4BUgAiALIBFqNgLcFSACICggKWo2AtgVIAIgLyA7ajYC1BUgAiA+IEJqNgLQFSACIAkgEGo2AswVIAIgDCASajYCyBUgAiANIBNqNgLEFSACIBQgFWo2AsAVIAIgQ6dB////H3E2AugVIBogHCkDADcDACAeICApAwA3AwAgIiAkKQMANwMAICUgJikDADcDACACIAIpA7AXNwOQFiAnIApBxIbAABAxIARB5IfAACAYIDlBoAEQfhAsIDAgBCAFEDEgFiADIAcQMSAXIAcgBRAxIAogBCADEDEgGSgCACEGIBsoAgAhCCAdKAIAIQkgHygCACELICEoAgAhDCAjKAIAIQ0gAigChBchDiACKAKAFyEPIAIoAuwWIRAgAigC/BYhESACKALoFiESIAIoAuQWIRMgAigC4BYhFCACKAKIFyEVICogKygCACIYIAIoAvgWIihrQfD///8Daq0gLCgCACIpIAIoAvQWIi9rQfD///8Baq0gLSgCACI7IAIoAvAWIj5rQfD///8Daq0iQ0IaiHwiRkIZiHwiRKdB////H3E2AgAgMSAMIBJrQfD///8Daq0gDSATa0Hw////AWqtIBUgFGtB0P3//wNqrSJHQhqIfCJIQhmIfCJFp0H///8fcTYCACAyIAsgEWtB8P///wFqrSBEQhqIfCJEp0H///8PcTYCACAzIAkgEGtB8P///wFqrSBFQhqIfCJFp0H///8PcTYCACA0IAggD2tB8P///wNqrSBEQhmIfCJEp0H///8fcTYCACA1IEZC////D4MgQ0L///8fgyBFQhmIfCJDQhqIfD4CACA2IEOnQf///x9xNgIAIDcgBiAOa0Hw////AWqtIERCGoh8IkOnQf///w9xNgIAIDggSEL///8PgyBDQhmIQhN+IEdC////H4N8IkNCGoh8PgIAIAIgBiAOajYC5BUgAiAIIA9qNgLgFSACIAsgEWo2AtwVIAIgGCAoajYC2BUgAiApIC9qNgLUFSACIDsgPmo2AtAVIAIgCSAQajYCzBUgAiAMIBJqNgLIFSACIA0gE2o2AsQVIAIgFCAVajYCwBUgAiBDp0H///8fcTYC6BUgGiAcKQMANwMAIB4gICkDADcDACAiICQpAwA3AwAgJSAmKQMANwMAIAIgAikDsBc3A5AWICcgCkHEhsAAEDEgBEHkh8AAIC4gOUGgARB+ECwgMCAEIAUQMSAWIAMgBxAxIBcgByAFEDEgCiAEIAMQMSAZKAIAIQYgGygCACEIIB0oAgAhCSAfKAIAIQsgISgCACEMICMoAgAhDSACKAKEFyEOIAIoAoAXIQ8gAigC7BYhECACKAL8FiERIAIoAugWIRIgAigC5BYhEyACKALgFiEUIAIoAogXIRUgKiArKAIAIhggAigC+BYiLmtB8P///wNqrSAsKAIAIiggAigC9BYiKWtB8P///wFqrSAtKAIAIi8gAigC8BYiO2tB8P///wNqrSJDQhqIfCJGQhmIfCJEp0H///8fcTYCACAxIAwgEmtB8P///wNqrSANIBNrQfD///8Baq0gFSAUa0HQ/f//A2qtIkdCGoh8IkhCGYh8IkWnQf///x9xNgIAIDIgCyARa0Hw////AWqtIERCGoh8IkSnQf///w9xNgIAIDMgCSAQa0Hw////AWqtIEVCGoh8IkWnQf///w9xNgIAIDQgCCAPa0Hw////A2qtIERCGYh8IkSnQf///x9xNgIAIDUgRkL///8PgyBDQv///x+DIEVCGYh8IkNCGoh8PgIAIDYgQ6dB////H3E2AgAgNyAGIA5rQfD///8Baq0gREIaiHwiQ6dB////D3E2AgAgOCBIQv///w+DIENCGYhCE34gR0L///8fg3wiQ0IaiHw+AgAgAiAGIA5qNgLkFSACIAggD2o2AuAVIAIgCyARajYC3BUgAiAYIC5qNgLYFSACICggKWo2AtQVIAIgLyA7ajYC0BUgAiAJIBBqNgLMFSACIAwgEmo2AsgVIAIgDSATajYCxBUgAiAUIBVqNgLAFSACIEOnQf///x9xNgLoFSAaIBwpAwA3AwAgHiAgKQMANwMAICIgJCkDADcDACAlICYpAwA3AwAgAiACKQOwFzcDkBYgJyAKQcSGwAAQMSAEQeSHwAAgOiA5QaABEH4QLCAwIAQgBRAxIBYgAyAHEDEgFyAHIAUQMSAKIAQgAxAxIBkoAgAhBiAbKAIAIQggHSgCACEJIB8oAgAhCyAhKAIAIQwgIygCACENIAIoAoQXIQ4gAigCgBchDyACKALsFiEQIAIoAvwWIREgAigC6BYhEiACKALkFiETIAIoAuAWIRQgAigCiBchFSAqICsoAgAiGCACKAL4FiIua0Hw////A2qtICwoAgAiOiACKAL0FiIoa0Hw////AWqtIC0oAgAiKSACKALwFiIva0Hw////A2qtIkNCGoh8IkZCGYh8IkSnQf///x9xNgIAIDEgDCASa0Hw////A2qtIA0gE2tB8P///wFqrSAVIBRrQdD9//8Daq0iR0IaiHwiSEIZiHwiRadB////H3E2AgAgMiALIBFrQfD///8Baq0gREIaiHwiRKdB////D3E2AgAgMyAJIBBrQfD///8Baq0gRUIaiHwiRadB////D3E2AgAgNCAIIA9rQfD///8Daq0gREIZiHwiRKdB////H3E2AgAgNSBGQv///w+DIENC////H4MgRUIZiHwiQ0IaiHw+AgAgNiBDp0H///8fcTYCACA3IAYgDmtB8P///wFqrSBEQhqIfCJDp0H///8PcTYCACA4IEhC////D4MgQ0IZiEITfiBHQv///x+DfCJDQhqIfD4CACACIAYgDmo2AuQVIAIgCCAPajYC4BUgAiALIBFqNgLcFSACIBggLmo2AtgVIAIgKCA6ajYC1BUgAiApIC9qNgLQFSACIAkgEGo2AswVIAIgDCASajYCyBUgAiANIBNqNgLEFSACIBQgFWo2AsAVIAIgQ6dB////H3E2AugVIBogHCkDADcDACAeICApAwA3AwAgIiAkKQMANwMAICUgJikDADcDACACIAIpA7AXNwOQFiAnIApBxIbAABAxIARB5IfAACA9IDlBoAEQfhAsIDAgBCAFEDEgFiADIAcQMSAXIAcgBRAxIAogBCADEDEgGSgCACEGIBsoAgAhCCAdKAIAIQkgHygCACELICEoAgAhDCAjKAIAIQ0gAigChBchDiACKAKAFyEPIAIoAuwWIRAgAigC/BYhESACKALoFiESIAIoAuQWIRMgAigC4BYhFCACKAKIFyEVICogKygCACIYIAIoAvgWIi5rQfD///8Daq0gLCgCACI6IAIoAvQWIj1rQfD///8Baq0gLSgCACIoIAIoAvAWIilrQfD///8Daq0iQ0IaiHwiRkIZiHwiRKdB////H3E2AgAgMSAMIBJrQfD///8Daq0gDSATa0Hw////AWqtIBUgFGtB0P3//wNqrSJHQhqIfCJIQhmIfCJFp0H///8fcTYCACAyIAsgEWtB8P///wFqrSBEQhqIfCJEp0H///8PcTYCACAzIAkgEGtB8P///wFqrSBFQhqIfCJFp0H///8PcTYCACA0IAggD2tB8P///wNqrSBEQhmIfCJEp0H///8fcTYCACA1IEZC////D4MgQ0L///8fgyBFQhmIfCJDQhqIfD4CACA2IEOnQf///x9xNgIAIDcgBiAOa0Hw////AWqtIERCGoh8IkOnQf///w9xNgIAIDggSEL///8PgyBDQhmIQhN+IEdC////H4N8IkNCGoh8PgIAIAIgBiAOajYC5BUgAiAIIA9qNgLgFSACIAsgEWo2AtwVIAIgGCAuajYC2BUgAiA6ID1qNgLUFSACICggKWo2AtAVIAIgCSAQajYCzBUgAiAMIBJqNgLIFSACIA0gE2o2AsQVIAIgFCAVajYCwBUgAiBDp0H///8fcTYC6BUgGiAcKQMANwMAIB4gICkDADcDACAiICQpAwA3AwAgJSAmKQMANwMAIAIgAikDsBc3A5AWICcgCkHEhsAAEDEgBEHkh8AAIEAgOUGgARB+ECwgMCAEIAUQMSAWIAMgBxAxIBcgByAFEDEgCiAEIAMQMSAZKAIAIQMgGygCACEFIB0oAgAhByAfKAIAIRYgISgCACEXICMoAgAhGSACKAKEFyEbIAIoAoAXIR0gAigC7BYhHyACKAL8FiEhIAIoAugWISMgAigC5BYhBiACKALgFiEIIAIoAogXIQkgKiArKAIAIiogAigC+BYiK2tB8P///wNqrSAsKAIAIiwgAigC9BYiC2tB8P///wFqrSAtKAIAIi0gAigC8BYiDGtB8P///wNqrSJDQhqIfCJGQhmIfCJEp0H///8fcTYCACAxIBcgI2tB8P///wNqrSAZIAZrQfD///8Baq0gCSAIa0HQ/f//A2qtIkdCGoh8IkhCGYh8IkWnQf///x9xNgIAIDIgFiAha0Hw////AWqtIERCGoh8IkSnQf///w9xNgIAIDMgByAfa0Hw////AWqtIEVCGoh8IkWnQf///w9xNgIAIDQgBSAda0Hw////A2qtIERCGYh8IkSnQf///x9xNgIAIDUgRkL///8PgyBDQv///x+DIEVCGYh8IkNCGoh8PgIAIDYgQ6dB////H3E2AgAgNyADIBtrQfD///8Baq0gREIaiHwiQ6dB////D3E2AgAgOCBIQv///w+DIENCGYhCE34gR0L///8fg3wiQ0IaiHw+AgAgAiADIBtqNgLkFSACIAUgHWo2AuAVIAIgFiAhajYC3BUgAiAqICtqNgLYFSACIAsgLGo2AtQVIAIgDCAtajYC0BUgAiAHIB9qNgLMFSACIBcgI2o2AsgVIAIgBiAZajYCxBUgAiAIIAlqNgLAFSACIEOnQf///x9xNgLoFSAaIBwpAwA3AwAgHiAgKQMANwMAICIgJCkDADcDACAlICYpAwA3AwAgAiACKQOwFzcDkBYgJyAKQcSGwAAQMSA5QaABEH4aIAQgP0GAChB+GiACQfgLakIANwMAIAJB8AtqQgA3AwAgAkHoC2pCADcDACACQeALakIANwMAIAJB2AtqQgA3AwAgAkHQC2pCADcDACACQcgLakIANwMAIAJCADcDwAsDQCACQcALaiA8aiIDQQFqIAEtAAAiBUEEdjoAACADIAVBD3E6AAAgA0EDaiABQQFqLQAAIgVBBHY6AAAgA0ECaiAFQQ9xOgAAIAFBAmohASA8QQRqIjxBwABHDQALQQAhASACLQDACyEDA0AgAkHAC2ogAWoiBSADIANBCGoiB0HwAXFrOgAAIAVBAWoiAyADLQAAIAfAQQR1aiIHOgAAIAFBPkZFBEAgAyAHIAdBCGoiA0HwAXFrOgAAIAVBAmoiBSAFLQAAIAPAQQR1aiIDOgAAIAFBAmohAQwBCwsgAkHACmogAkH4C2opAwA3AwAgAkG4CmogAkHwC2opAwA3AwAgAkGwCmogAkHoC2oiBykDADcDACACQagKaiACQeALaikDADcDACACQaAKaiACQdgLaikDADcDACACQZgKaiACQdALaikDADcDACACQZAKaiACQcgLaikDADcDACACIAIpA8ALNwOICiACQeAVakIANwMAIAJB2BVqQgA3AwAgAkHQFWpCADcDACACQcgVakIANwMAIAJB8BVqQZyHwAApAgAiQzcDACACQfgVakGkh8AAKQIAIkY3AwAgAkGAFmpBrIfAACkCACJENwMAIAJBiBZqQbSHwAApAgAiRzcDACACQZgWaiBDNwMAIAJBoBZqIEY3AwAgAkGoFmogRDcDACACQbAWaiBHNwMAIAJCADcDwBUgAkGUh8AAKQIAIkM3A+gVIAIgQzcDkBYgAkHYFmpCADcDACACQdAWakIANwMAIAJByBZqQgA3AwAgAkHAFmpCADcDACACQgA3A7gWIAJBwAtqIgEgAkEIaiACLQDHChA2IAJB4BZqIAJBwBVqIAEQLCACQbgMaiEXIAJBkAxqIQogAkGwF2ohASACQYgXaiEFIAJB2BdqIQNBPiEWA0AgAkHAC2oiBiACQeAWaiIEIAMQMSAHIAUgARAxIAogASADEDEgAkHICmoiCCAGQfgAEH4aIAQgCBAoIAYgBCADEDEgByAFIAEQMSAKIAEgAxAxIAJByApqIAJBwAtqQfgAEH4aIAQgCBAoIAYgBCADEDEgByAFIAEQMSAKIAEgAxAxIAJByApqIAJBwAtqQfgAEH4aIAQgCBAoIAYgBCADEDEgByAFIAEQMSAKIAEgAxAxIAJByApqIAJBwAtqQfgAEH4aIAQgCBAoIAYgBCADEDEgByAFIAEQMSAKIAEgAxAxIBcgBCAFEDEgAkHAFWoiCCAGQaABEH4aIAYgAkEIaiACQYgKaiAWai0AABA2IAQgCCAGECwgFkEBayIWQX9HDQALIAAgAkHgFmoiBCADEDEgAEEoaiAFIAEQMSAAQdAAaiABIAMQMSAAQfgAaiAEIAUQMSACQYAYaiQAC5AwAj5/Bn4jAEGAD2siAiQAIAFBLGooAgAhAyABQQhqIhMoAgAhBCABQTBqIiUoAgAhFSABQTRqKAIAIRcgAUEQaiIYKAIAIRkgAUE4aiIWKAIAIRogAUE8aigCACEbIAFBGGoiHCgCACEdIAFBQGsiHigCACEUIAFBxABqKAIAIR8gAUEgaiIgKAIAISMgAUHIAGoiJCgCACEsIAEoAgAhLSABKAIoIS4gASgCBCEvIAEoAgwhMCABKAIUITEgASgCHCEyIAIgASgCJCABQcwAaigCAGo2AoQOIAIgIyAsajYCgA4gAiAfIDJqNgL8DSACIBQgHWo2AvgNIAIgGyAxajYC9A0gAiAZIBpqNgLwDSACIBcgMGo2AuwNIAIgBCAVajYC6A0gAiADIC9qNgLkDSACIC0gLmo2AuANIAJBiA5qIgMgAUEoaiABED8gAkHQDmogAUHwAGoiFCkCADcDACACQcgOaiABQegAaiIdKQIANwMAIAJBwA5qIAFB4ABqIhspAgA3AwAgAkG4DmogAUHYAGoiGikCADcDACACIAEpAlA3A7AOIAJB2A5qIgQgAUH4AGpBxIbAABAxIAIgAkHgDWpBoAEQfiICQaABaiACQeANakGgARB+IQ4gAkHAAmogAkHgDWpBoAEQfiEmIAJB4ANqIAJB4A1qQaABEH4hMyACQYAFaiACQeANakGgARB+ITkgAkGgBmogAkHgDWpBoAEQfiE7IAJBwAdqIAJB4A1qQaABEH4hPSACQeAIaiACQeANakGgARB+IAJBiA1qIhUgJCkCADcDACACQYANaiIXIB4pAgA3AwAgAkH4DGoiGSAWKQIANwMAIAJB8AxqIhYgJSkCADcDACACQZgNaiIlIBopAgA3AwAgAkGgDWoiGiAbKQIANwMAIAJBqA1qIhsgHSkCADcDACACQbANaiIdIBQpAgA3AwAgAiABKQIoNwPoDCACIAEpAlA3A5ANIAJB4AxqICApAgA3AwAgAkHYDGogHCkCADcDACACQdAMaiAYKQIANwMAIAJByAxqIBMpAgA3AwAgAiABKQIANwPADCACQeANaiACQcAMaiI0ECggAkGACmoiNSACQeANaiAEEDEgAkGoCmogAyACQbAOaiIBEDEgAkHQCmogASAEEDEgAkH4CmogAkHgDWogAxAxIAJB4A1qIDUgAhAsIDQgAkHgDWogBBAxIAJB6AxqIhggAyABEDEgAkGQDWoiHCABIAQQMSACQbgNaiITIAJB4A1qIAMQMSACQYwNaiIeKAIAIScgFSgCACEoIAJB9AxqIhQoAgAhKSACQYQNaiIfKAIAISogFigCACErIAJB7AxqIiAoAgAhBSACKALkDCEGIAIoAuAMIQcgAigCzAwhCCACKALcDCEJIAIoAsgMIQogAigCxAwhCyACKALADCEMIAIoAugMIQ0gAkHgC2oiIyAXKAIAIg8gAigC2AwiEGtB8P///wNqrSACQfwMaiIkKAIAIhEgAigC1AwiEmtB8P///wFqrSAZKAIAIiEgAigC0AwiImtB8P///wNqrSJAQhqIfCJDQhmIfCJBp0H///8fcTYCACACQdALaiIsICsgCmtB8P///wNqrSAFIAtrQfD///8Baq0gDSAMa0HQ/f//A2qtIkRCGoh8IkVCGYh8IkKnQf///x9xNgIAIAJB5AtqIi0gKiAJa0Hw////AWqtIEFCGoh8IkGnQf///w9xNgIAIAJB1AtqIi4gKSAIa0Hw////AWqtIEJCGoh8IkKnQf///w9xNgIAIAJB6AtqIi8gKCAHa0Hw////A2qtIEFCGYh8IkGnQf///x9xNgIAIAJB3AtqIjAgQ0L///8PgyBAQv///x+DIEJCGYh8IkBCGoh8PgIAIAJB2AtqIjEgQKdB////H3E2AgAgAkHsC2oiMiAnIAZrQfD///8Baq0gQUIaiHwiQKdB////D3E2AgAgAkHMC2oiNyBFQv///w+DIEBCGYhCE34gREL///8fg3wiQEIaiHw+AgAgAiAGICdqNgLECyACIAcgKGo2AsALIAIgCSAqajYCvAsgAiAPIBBqNgK4CyACIBEgEmo2ArQLIAIgISAiajYCsAsgAiAIIClqNgKsCyACIAogK2o2AqgLIAIgBSALajYCpAsgAiAMIA1qNgKgCyACIECnQf///x9xNgLICyACQZAMaiInIB0pAwA3AwAgAkGIDGoiKCAbKQMANwMAIAJBgAxqIikgGikDADcDACACQfgLaiIqICUpAwA3AwAgAiACKQOQDTcD8AsgAkGYDGoiKyATQcSGwAAQMSACQeANaiA1IA4gAkGgC2oiOEGgARB+ECwgNCACQeANaiAEEDEgGCADIAEQMSAcIAEgBBAxIBMgAkHgDWogAxAxIB4oAgAhBSAVKAIAIQYgFCgCACEHIB8oAgAhCCAWKAIAIQkgICgCACEKIAIoAuQMIQsgAigC4AwhDCACKALMDCENIAIoAtwMIQ4gAigCyAwhDyACKALEDCEQIAIoAsAMIREgAigC6AwhEiAjIBcoAgAiISACKALYDCIia0Hw////A2qtICQoAgAiNiACKALUDCI6a0Hw////AWqtIBkoAgAiPCACKALQDCI/a0Hw////A2qtIkBCGoh8IkNCGYh8IkGnQf///x9xNgIAICwgCSAPa0Hw////A2qtIAogEGtB8P///wFqrSASIBFrQdD9//8Daq0iREIaiHwiRUIZiHwiQqdB////H3E2AgAgLSAIIA5rQfD///8Baq0gQUIaiHwiQadB////D3E2AgAgLiAHIA1rQfD///8Baq0gQkIaiHwiQqdB////D3E2AgAgLyAGIAxrQfD///8Daq0gQUIZiHwiQadB////H3E2AgAgMCBDQv///w+DIEBC////H4MgQkIZiHwiQEIaiHw+AgAgMSBAp0H///8fcTYCACAyIAUgC2tB8P///wFqrSBBQhqIfCJAp0H///8PcTYCACA3IEVC////D4MgQEIZiEITfiBEQv///x+DfCJAQhqIfD4CACACIAUgC2o2AsQLIAIgBiAMajYCwAsgAiAIIA5qNgK8CyACICEgImo2ArgLIAIgNiA6ajYCtAsgAiA8ID9qNgKwCyACIAcgDWo2AqwLIAIgCSAPajYCqAsgAiAKIBBqNgKkCyACIBEgEmo2AqALIAIgQKdB////H3E2AsgLICcgHSkDADcDACAoIBspAwA3AwAgKSAaKQMANwMAICogJSkDADcDACACIAIpA5ANNwPwCyArIBNBxIbAABAxIAJB4A1qIDUgJiA4QaABEH4QLCA0IAJB4A1qIAQQMSAYIAMgARAxIBwgASAEEDEgEyACQeANaiADEDEgHigCACEFIBUoAgAhBiAUKAIAIQcgHygCACEIIBYoAgAhCSAgKAIAIQogAigC5AwhCyACKALgDCEMIAIoAswMIQ0gAigC3AwhDiACKALIDCEPIAIoAsQMIRAgAigCwAwhESACKALoDCESICMgFygCACImIAIoAtgMIiFrQfD///8Daq0gJCgCACIiIAIoAtQMIjZrQfD///8Baq0gGSgCACI6IAIoAtAMIjxrQfD///8Daq0iQEIaiHwiQ0IZiHwiQadB////H3E2AgAgLCAJIA9rQfD///8Daq0gCiAQa0Hw////AWqtIBIgEWtB0P3//wNqrSJEQhqIfCJFQhmIfCJCp0H///8fcTYCACAtIAggDmtB8P///wFqrSBBQhqIfCJBp0H///8PcTYCACAuIAcgDWtB8P///wFqrSBCQhqIfCJCp0H///8PcTYCACAvIAYgDGtB8P///wNqrSBBQhmIfCJBp0H///8fcTYCACAwIENC////D4MgQEL///8fgyBCQhmIfCJAQhqIfD4CACAxIECnQf///x9xNgIAIDIgBSALa0Hw////AWqtIEFCGoh8IkCnQf///w9xNgIAIDcgRUL///8PgyBAQhmIQhN+IERC////H4N8IkBCGoh8PgIAIAIgBSALajYCxAsgAiAGIAxqNgLACyACIAggDmo2ArwLIAIgISAmajYCuAsgAiAiIDZqNgK0CyACIDogPGo2ArALIAIgByANajYCrAsgAiAJIA9qNgKoCyACIAogEGo2AqQLIAIgESASajYCoAsgAiBAp0H///8fcTYCyAsgJyAdKQMANwMAICggGykDADcDACApIBopAwA3AwAgKiAlKQMANwMAIAIgAikDkA03A/ALICsgE0HEhsAAEDEgAkHgDWogNSAzIDhBoAEQfhAsIDQgAkHgDWogBBAxIBggAyABEDEgHCABIAQQMSATIAJB4A1qIAMQMSAeKAIAIQUgFSgCACEGIBQoAgAhByAfKAIAIQggFigCACEJICAoAgAhCiACKALkDCELIAIoAuAMIQwgAigCzAwhDSACKALcDCEOIAIoAsgMIQ8gAigCxAwhECACKALADCERIAIoAugMIRIgIyAXKAIAIiYgAigC2AwiM2tB8P///wNqrSAkKAIAIiEgAigC1AwiImtB8P///wFqrSAZKAIAIjYgAigC0AwiOmtB8P///wNqrSJAQhqIfCJDQhmIfCJBp0H///8fcTYCACAsIAkgD2tB8P///wNqrSAKIBBrQfD///8Baq0gEiARa0HQ/f//A2qtIkRCGoh8IkVCGYh8IkKnQf///x9xNgIAIC0gCCAOa0Hw////AWqtIEFCGoh8IkGnQf///w9xNgIAIC4gByANa0Hw////AWqtIEJCGoh8IkKnQf///w9xNgIAIC8gBiAMa0Hw////A2qtIEFCGYh8IkGnQf///x9xNgIAIDAgQ0L///8PgyBAQv///x+DIEJCGYh8IkBCGoh8PgIAIDEgQKdB////H3E2AgAgMiAFIAtrQfD///8Baq0gQUIaiHwiQKdB////D3E2AgAgNyBFQv///w+DIEBCGYhCE34gREL///8fg3wiQEIaiHw+AgAgAiAFIAtqNgLECyACIAYgDGo2AsALIAIgCCAOajYCvAsgAiAmIDNqNgK4CyACICEgImo2ArQLIAIgNiA6ajYCsAsgAiAHIA1qNgKsCyACIAkgD2o2AqgLIAIgCiAQajYCpAsgAiARIBJqNgKgCyACIECnQf///x9xNgLICyAnIB0pAwA3AwAgKCAbKQMANwMAICkgGikDADcDACAqICUpAwA3AwAgAiACKQOQDTcD8AsgKyATQcSGwAAQMSACQeANaiA1IDkgOEGgARB+ECwgNCACQeANaiAEEDEgGCADIAEQMSAcIAEgBBAxIBMgAkHgDWogAxAxIB4oAgAhBSAVKAIAIQYgFCgCACEHIB8oAgAhCCAWKAIAIQkgICgCACEKIAIoAuQMIQsgAigC4AwhDCACKALMDCENIAIoAtwMIQ4gAigCyAwhDyACKALEDCEQIAIoAsAMIREgAigC6AwhEiAjIBcoAgAiJiACKALYDCIza0Hw////A2qtICQoAgAiOSACKALUDCIha0Hw////AWqtIBkoAgAiIiACKALQDCI2a0Hw////A2qtIkBCGoh8IkNCGYh8IkGnQf///x9xNgIAICwgCSAPa0Hw////A2qtIAogEGtB8P///wFqrSASIBFrQdD9//8Daq0iREIaiHwiRUIZiHwiQqdB////H3E2AgAgLSAIIA5rQfD///8Baq0gQUIaiHwiQadB////D3E2AgAgLiAHIA1rQfD///8Baq0gQkIaiHwiQqdB////D3E2AgAgLyAGIAxrQfD///8Daq0gQUIZiHwiQadB////H3E2AgAgMCBDQv///w+DIEBC////H4MgQkIZiHwiQEIaiHw+AgAgMSBAp0H///8fcTYCACAyIAUgC2tB8P///wFqrSBBQhqIfCJAp0H///8PcTYCACA3IEVC////D4MgQEIZiEITfiBEQv///x+DfCJAQhqIfD4CACACIAUgC2o2AsQLIAIgBiAMajYCwAsgAiAIIA5qNgK8CyACICYgM2o2ArgLIAIgISA5ajYCtAsgAiAiIDZqNgKwCyACIAcgDWo2AqwLIAIgCSAPajYCqAsgAiAKIBBqNgKkCyACIBEgEmo2AqALIAIgQKdB////H3E2AsgLICcgHSkDADcDACAoIBspAwA3AwAgKSAaKQMANwMAICogJSkDADcDACACIAIpA5ANNwPwCyArIBNBxIbAABAxIAJB4A1qIDUgOyA4QaABEH4QLCA0IAJB4A1qIAQQMSAYIAMgARAxIBwgASAEEDEgEyACQeANaiADEDEgHigCACEFIBUoAgAhBiAUKAIAIQcgHygCACEIIBYoAgAhCSAgKAIAIQogAigC5AwhCyACKALgDCEMIAIoAswMIQ0gAigC3AwhDiACKALIDCEPIAIoAsQMIRAgAigCwAwhESACKALoDCESICMgFygCACImIAIoAtgMIjNrQfD///8Daq0gJCgCACI5IAIoAtQMIjtrQfD///8Baq0gGSgCACIhIAIoAtAMIiJrQfD///8Daq0iQEIaiHwiQ0IZiHwiQadB////H3E2AgAgLCAJIA9rQfD///8Daq0gCiAQa0Hw////AWqtIBIgEWtB0P3//wNqrSJEQhqIfCJFQhmIfCJCp0H///8fcTYCACAtIAggDmtB8P///wFqrSBBQhqIfCJBp0H///8PcTYCACAuIAcgDWtB8P///wFqrSBCQhqIfCJCp0H///8PcTYCACAvIAYgDGtB8P///wNqrSBBQhmIfCJBp0H///8fcTYCACAwIENC////D4MgQEL///8fgyBCQhmIfCJAQhqIfD4CACAxIECnQf///x9xNgIAIDIgBSALa0Hw////AWqtIEFCGoh8IkCnQf///w9xNgIAIDcgRUL///8PgyBAQhmIQhN+IERC////H4N8IkBCGoh8PgIAIAIgBSALajYCxAsgAiAGIAxqNgLACyACIAggDmo2ArwLIAIgJiAzajYCuAsgAiA5IDtqNgK0CyACICEgImo2ArALIAIgByANajYCrAsgAiAJIA9qNgKoCyACIAogEGo2AqQLIAIgESASajYCoAsgAiBAp0H///8fcTYCyAsgJyAdKQMANwMAICggGykDADcDACApIBopAwA3AwAgKiAlKQMANwMAIAIgAikDkA03A/ALICsgE0HEhsAAEDEgAkHgDWogNSA9IDhBoAEQfhAsIDQgAkHgDWogBBAxIBggAyABEDEgHCABIAQQMSATIAJB4A1qIAMQMSAeKAIAIQEgFSgCACEDIBQoAgAhBCAfKAIAIRUgFigCACEWICAoAgAhGCACKALkDCEcIAIoAuAMIR4gAigCzAwhFCACKALcDCEfIAIoAsgMISAgAigCxAwhBSACKALADCEGIAIoAugMIQcgIyAXKAIAIhcgAigC2AwiI2tB8P///wNqrSAkKAIAIiQgAigC1AwiCGtB8P///wFqrSAZKAIAIhkgAigC0AwiCWtB8P///wNqrSJAQhqIfCJDQhmIfCJBp0H///8fcTYCACAsIBYgIGtB8P///wNqrSAYIAVrQfD///8Baq0gByAGa0HQ/f//A2qtIkRCGoh8IkVCGYh8IkKnQf///x9xNgIAIC0gFSAfa0Hw////AWqtIEFCGoh8IkGnQf///w9xNgIAIC4gBCAUa0Hw////AWqtIEJCGoh8IkKnQf///w9xNgIAIC8gAyAea0Hw////A2qtIEFCGYh8IkGnQf///x9xNgIAIDAgQ0L///8PgyBAQv///x+DIEJCGYh8IkBCGoh8PgIAIDEgQKdB////H3E2AgAgMiABIBxrQfD///8Baq0gQUIaiHwiQKdB////D3E2AgAgNyBFQv///w+DIEBCGYhCE34gREL///8fg3wiQEIaiHw+AgAgAiABIBxqNgLECyACIAMgHmo2AsALIAIgFSAfajYCvAsgAiAXICNqNgK4CyACIAggJGo2ArQLIAIgCSAZajYCsAsgAiAEIBRqNgKsCyACIBYgIGo2AqgLIAIgBSAYajYCpAsgAiAGIAdqNgKgCyACIECnQf///x9xNgLICyAnIB0pAwA3AwAgKCAbKQMANwMAICkgGikDADcDACAqICUpAwA3AwAgAiACKQOQDTcD8AsgKyATQcSGwAAQMSA4QaABEH4aIAAgAkGAChB+GiACQYAPaiQAC7AsAkJ/EH4jAEHABmsiAiQAAkACQAJAIABFDQAgACgCACIDQX9GDQEgACADQQFqNgIAIAFFDQAgASgCACIDQX9GDQEgASADQQFqNgIAIAAtAAQhAyACQT9qIABBG2opAAA3AAAgAkE5aiAAQRVqKQAANwAAIAJBMWogAEENaikAADcAACACIANB+AFxOgAoIAIgAEEFaikAADcAKSACIABBI2otAABBP3FBwAByOgBHIAJByABqIAFBBGoQPiACQZABakG0h8AAKQIANwMAIAJBiAFqQayHwAApAgA3AwAgAkGAAWpBpIfAACkCADcDACACQfgAakGch8AAKQIANwMAIAJBoAFqQgA3AwAgAkGoAWpCADcDACACQbABakIANwMAIAJBuAFqQgA3AwAgAkGUh8AAKQIANwNwIAJCADcDmAEgAkGYAWohLkH+ASEfIAIoAkghByACKAJMIQggAigCUCEJIAIoAlQhCiACKAJYIQsgAigCXCEMIAIoAmAhDSACKAJkIQ4gAigCaCEPIAIoAmwhEEEBIRRBACEDA0AgAyACQShqIB9BA3ZqLQAAQQEgH0EHcXRxIi9BAEciInNBAXEQdCEDIAIoApABISMgAigCuAEhFSACKAKMASEYIAIoArQBIRkgAigCiAEhGiACKAKwASEbIAIoAoQBIRwgAigCrAEhHSACKAKAASEeIAIoAqgBISAgAigCfCEkIAIoAqQBISUgAigCeCEmIAIoAqABIScgAigCdCEoIAIoApwBISkgAigCcCEqIAIoApgBISsgAigCvAEhLCACQQAgA0H/AXFrIgMgECACKAKUASItc3EiMCAtcyItNgKUASACICwgISAscyADcSIxcyIsNgK8ASACICsgFCArcyADcSIycyIrNgKYASACICogByAqcyADcSIzcyIqNgJwIAIgKSATIClzIANxIjRzIik2ApwBIAIgKCAIIChzIANxIjVzIig2AnQgAiAnIBIgJ3MgA3EiNnMiJzYCoAEgAiAmIAkgJnMgA3EiN3MiJjYCeCACICUgESAlcyADcSI4cyIlNgKkASACICQgCiAkcyADcSI5cyIkNgJ8IAIgICAEICBzIANxIjpzIiA2AqgBIAIgHiALIB5zIANxIjtzIh42AoABIAIgHSAFIB1zIANxIjxzIh02AqwBIAIgHCAMIBxzIANxIj1zIhw2AoQBIAIgGyAGIBtzIANxIj5zIhs2ArABIAIgGiANIBpzIANxIj9zIho2AogBIAIgGSAWIBlzIANxIkBzIhk2ArQBIAIgGCAOIBhzIANxIkFzIhg2AowBIAIgFSAVIBdzIANxIkJzIhU2ArgBIAIgIyAPICNzIANxIkNzIgM2ApABIAIgLCAtajYC5AEgAiADIBVqNgLgASACIBggGWo2AtwBIAIgGiAbajYC2AEgAiAcIB1qNgLUASACIB4gIGo2AtABIAIgJCAlajYCzAEgAiAmICdqNgLIASACICggKWo2AsQBIAIgKiArajYCwAEgAiAaIBtrQfD///8Daq0gHCAda0Hw////AWqtIB4gIGtB8P///wNqrSJEQhqIfCJIQhmIfCJFp0H///8fcTYCgAIgAiAmICdrQfD///8Daq0gKCApa0Hw////AWqtICogK2tB0P3//wNqrSJGQhqIfCJJQhmIfCJHp0H///8fcTYC8AEgAiAYIBlrQfD///8Baq0gRUIaiHwiRadB////D3E2AoQCIAIgJCAla0Hw////AWqtIEdCGoh8IkenQf///w9xNgL0ASACIAMgFWtB8P///wNqrSBFQhmIfCJFp0H///8fcTYCiAIgAiBIQv///w+DIERC////H4MgR0IZiHwiREIaiHw+AvwBIAIgRKdB////H3E2AvgBIAIgLSAsa0Hw////AWqtIEVCGoh8IkSnQf///w9xNgKMAiACIElC////D4MgREIZiEITfiBGQv///x+DfCJEQhqIfD4C7AEgAiBEp0H///8fcTYC6AEgAiAhIDFzIgMgECAwcyIQajYCtAIgAiAXIEJzIhcgDyBDcyIPajYCsAIgAiAWIEBzIhYgDiBBcyIOajYCrAIgAiAGID5zIgYgDSA/cyINajYCqAIgAiAFIDxzIgUgDCA9cyIMajYCpAIgAiAEIDpzIgQgCyA7cyILajYCoAIgAiARIDhzIhEgCiA5cyIKajYCnAIgAiASIDZzIhIgCSA3cyIJajYCmAIgAiATIDRzIhMgCCA1cyIIajYClAIgAiAUIDJzIhQgByAzcyIHajYCkAIgAiAQIANrQfD///8Baq0gDyAXa0Hw////A2qtIA4gFmtB8P///wFqrSANIAZrQfD///8Daq0gDCAFa0Hw////AWqtIAsgBGtB8P///wNqrSJEQhqIfCJIQhmIfCJFQhqIfCJGQhmIfCJJQhqIfCJHp0H///8PcTYC3AIgAiBJp0H///8fcTYC2AIgAiBGp0H///8PcTYC1AIgAiBFp0H///8fcTYC0AIgAiBIQv///w+DIERC////H4MgCiARa0Hw////AWqtIAkgEmtB8P///wNqrSAIIBNrQfD///8Baq0gByAUa0HQ/f//A2qtIkRCGoh8IkhCGYh8IkVCGoh8IkZCGYh8IklCGoh8PgLMAiACIEmnQf///x9xNgLIAiACIEanQf///w9xNgLEAiACIEWnQf///x9xNgLAAiACIEhC////D4MgR0IZiEITfiBEQv///x+DfCJEQhqIfD4CvAIgAiBEp0H///8fcTYCuAIgAkHwBWoiFSACQcABaiIFEDsgAiACKQO4BiACKQOwBiACKQOoBiACKQOgBiACKQOYBiACKQOQBiJEQhqIfCJIQhmIfCJFQhqIfCJGQhmIfCJJQhqIfCJHQhmIQhN+IAIpA/AFIkpC////H4N8IkynQf///x9xIgM2AuACIAIgAikD+AUgSkIaiHwiSkL///8PgyBMQhqIfCJMPgLkAiACIERC////H4MgAikDiAYgAikDgAYgSkIZiHwiREIaiHwiSkIZiHwiTadB////H3EiBzYC8AIgAiBIQv///w+DIE1CGoh8Ikg+AvQCIAIgSqdB////D3EiCDYC7AIgAiBHp0H///8PcSIJNgKEAyACIESnQf///x9xIgo2AugCIAIgSadB////H3EiCzYCgAMgAiBGp0H///8PcSIMNgL8AiACIEWnQf///x9xIg02AvgCIBUgAkHoAWoiBhA7IAIgAikDkAYiREL///8fgyACKQOIBiACKQOABiACKQP4BSACKQPwBSJFQhqIfCJGQhmIfCJJQhqIfCJHQhmIfCJKQhqIIAIpA5gGIERCGoh8IkRC////D4N8Ik0+ApwDIAIgSqdB////H3EiDjYCmAMgAiACKQOgBiBEQhmIfCJEp0H///8fcSIPNgKgAyACIAIpA7gGIAIpA7AGIAIpA6gGIERCGoh8IkRCGYh8IkpCGoh8Ik5CGYhCE34gRUL///8fg3wiRadB////H3EiEDYCiAMgAiBGQv///w+DIEVCGoh8IkU+AowDIAIgR6dB////D3EiBDYClAMgAiBOp0H///8PcSIRNgKsAyACIEmnQf///x9xIhI2ApADIAIgSqdB////H3EiEzYCqAMgAiBEp0H///8PcSIUNgKkAyACIA0gD2tB8P///wNqrSBIIE19QvD///8BfEL/////D4MgByAOa0Hw////A2qtIkRCGoh8IkhCGYh8IkanQf///x9xNgLIAyACIAwgFGtB8P///wFqrSBGQhqIfCJGp0H///8PcTYCzAMgAiALIBNrQfD///8Daq0gRkIZiHwiRqdB////H3E2AtADIAIgCiASa0Hw////A2qtIEwgRX1C8P///wF8Qv////8PgyADIBBrQdD9//8Daq0iRUIaiHwiSUIZiHwiR6dB////H3E2ArgDIAIgCSARa0Hw////AWqtIEZCGoh8IkanQf///w9xNgLUAyACIAggBGtB8P///wFqrSBHQhqIfCJHp0H///8PcTYCvAMgAiBIQv///w+DIERC////H4MgR0IZiHwiREIaiHw+AsQDIAIgRKdB////H3E2AsADIAIgSUL///8PgyBGQhmIQhN+IEVC////H4N8IkRCGoh8PgK0AyACIESnQf///x9xNgKwAyACQdgDaiAFIAJBuAJqEDEgAkGABGogBiACQZACahAxIAIoAtgDIQMgAigCgAQhByACKALcAyEIIAIoAoQEIQkgAigC4AMhCiACKAKIBCELIAIoAuQDIQwgAigCjAQhDSACKALoAyEOIAIoApAEIQ8gAigC7AMhECACKAKUBCEEIAIoAvADIREgAigCmAQhEiACKAL0AyETIAIoApwEIRQgAigC+AMhBSACKAKgBCEGIAIgAigCpAQiFiACKAL8AyIXajYCzAQgAiAFIAZqNgLIBCACIBMgFGo2AsQEIAIgESASajYCwAQgAiAEIBBqNgK8BCACIA4gD2o2ArgEIAIgDCANajYCtAQgAiAKIAtqNgKwBCACIAggCWo2AqwEIAIgAyAHajYCqAQgAiARIBJrQfD///8Daq0gECAEa0Hw////AWqtIA4gD2tB8P///wNqrSJEQhqIfCJIQhmIfCJFp0H///8fcTYC6AQgAiAKIAtrQfD///8Daq0gCCAJa0Hw////AWqtIAMgB2tB0P3//wNqrSJGQhqIfCJJQhmIfCJHp0H///8fcTYC2AQgAiATIBRrQfD///8Baq0gRUIaiHwiRadB////D3E2AuwEIAIgDCANa0Hw////AWqtIEdCGoh8IkenQf///w9xNgLcBCACIAUgBmtB8P///wNqrSBFQhmIfCJFp0H///8fcTYC8AQgAiBIQv///w+DIERC////H4MgR0IZiHwiREIaiHw+AuQEIAIgRKdB////H3E2AuAEIAIgFyAWa0Hw////AWqtIEVCGoh8IkSnQf///w9xNgL0BCACIElC////D4MgREIZiEITfiBGQv///x+DfCJEQhqIfD4C1AQgAiBEp0H///8fcTYC0AQgFSACQagEahA7IAIpA7gGIAIpA7AGIAIpA6gGIAIpA6AGIAIpA5gGIAIpA4gGIUwgAikDgAYhTSACKQP4BSFOIAIpA/AFIUQgAikDkAYhSCAVIAJB0ARqEDsgAiACKQOgBiACKQOYBiACKQOQBiJLQhqIfCJRQhmIfCJPp0H///8fcTYCkAUgAiACKQOABiACKQP4BSACKQPwBSJSQhqIfCJTQhmIfCJQp0H///8fcTYCgAUgAiACKQOoBiBPQhqIfCJPp0H///8PcTYClAUgAiACKQOIBiBQQhqIfCJQp0H///8PcTYChAUgAiACKQOwBiBPQhmIfCJPp0H///8fcTYCmAUgAiBRQv///w+DIEtC////H4MgUEIZiHwiS0IaiHw+AowFIAIgS6dB////H3E2AogFIAIgAikDuAYgT0IaiHwiS6dB////D3E2ApwFIAIgU0L///8PgyBLQhmIQhN+IFJC////H4N8IktCGoh8PgL8BCACIEunQf///x9xNgL4BCACQaAFakG8h8AAIAJBsANqIhYQMSACQfAAaiACQeACaiACQYgDahAxIAIoAqAFIQMgAigCiAMhByACKAKkBSEIIAIoAowDIQkgAigCqAUhCiACKAKQAyELIAIoAqwFIQwgAigClAMhDSACKAKwBSEOIAIoApgDIQ8gAigCtAUhECACKAKcAyEEIAIoArgFIREgAigCoAMhEiACKAK8BSETIAIoAqQDIRQgAigCwAUhBSACKAKoAyEGIAIgAigCrAMgAigCxAVqNgLsBSACIAUgBmo2AugFIAIgEyAUajYC5AUgAiARIBJqNgLgBSACIAQgEGo2AtwFIAIgDiAPajYC2AUgAiAMIA1qNgLUBSACIAogC2o2AtAFIAIgCCAJajYCzAUgAiADIAdqNgLIBSAuIBYgAkHIBWoQMSBIQv///x+DIEwgTSBOIERCGoh8Ik5CGYh8Ik1CGoh8IkxCGYh8IkunQf///x9xIQsgSEIaiHwiSEIZiHwiR0IaiHwiSUIZiHwiRkIaiHwiRUIZiEITfiBEQv///x+DfCJEp0H///8fcSEHIEhC////D4MgS0IaiHynIQwgTkL///8PgyBEQhqIfKchCCBHp0H///8fcSENIE2nQf///x9xIQkgSadB////D3EhDiBMp0H///8PcSEKIEanQf///x9xIQ8gRadB////D3EhECAVIAJByABqIAJB+ARqEDEgAigClAYhISACKAKQBiEXIAIoAowGIRYgAigCiAYhBiACKAKEBiEFIAIoAoAGIQQgAigC/AUhESACKAL4BSESIAIoAvQFIRMgAigC8AUhFCAiIQMgH0EBayIfQX9HDQALIAIoAnAhIiACKAJ0IR8gAigCeCEjIAIoAnwhFSACKAKAASEYIAIoAoQBIRkgAigCiAEhGiACKAKMASEbIAIoApABIRwgAigClAEhHSACKAKYASEeIAJBACAvQQBHEHRB/wFxayIDICEgAigCvAEiIHNxICBzNgK8ASACIBcgAigCuAEiIXMgA3EgIXM2ArgBIAIgFiACKAK0ASIXcyADcSAXczYCtAEgAiAGIAIoArABIhZzIANxIBZzNgKwASACIAUgAigCrAEiBnMgA3EgBnM2AqwBIAIgBCACKAKoASIFcyADcSAFczYCqAEgAiARIAIoAqQBIgRzIANxIARzNgKkASACIBIgAigCoAEiBHMgA3EgBHM2AqABIAIgEyACKAKcASIEcyADcSAEczYCnAEgAiAeIBQgHnMgA3FzNgKYASACIB0gECAdcyADcXM2ApQBIAIgHCAPIBxzIANxczYCkAEgAiAbIA4gG3MgA3FzNgKMASACIBogDSAacyADcXM2AogBIAIgGSAMIBlzIANxczYChAEgAiAYIAsgGHMgA3FzNgKAASACIBUgCiAVcyADcXM2AnwgAiAjIAkgI3MgA3FzNgJ4IAIgHyAIIB9zIANxczYCdCACICIgByAicyADcXM2AnAgAkHwBWoiAyAuEC4gAkHABWogAkGQBmopAwA3AwAgAkG4BWogAkGIBmopAwA3AwAgAkGwBWogAkGABmopAwA3AwAgAkGoBWogAkH4BWopAwA3AwAgAiACKQPwBTcDoAUgAkHoBWogAkG4BmopAwA3AwAgAkHgBWogAkGwBmopAwA3AwAgAkHYBWogAkGoBmopAwA3AwAgAkHQBWogAkGgBmopAwA3AwAgAiACKQOYBjcDyAUgAyACQaAFakEFEDogAkH4BGoiIiADIAJByAVqEDEgAyACQfAAaiAiEDEgAkEIaiADEDkgASABKAIAQQFrNgIAIAAgACgCAEEBazYCAEH0mMAALQAAGkEkECUiAEUNAiAAQQA2AgAgACACKQMINwAEIABBDGogAkEQaikDADcAACAAQRRqIAJBGGopAwA3AAAgAEEcaiACQSBqKQMANwAAIAJBwAZqJAAgAA8LEHsACxB8AAsAC/MoAjN/CH4jAEHgBmsiAiQAAkACQAJAIAEEQCABKAIAIgNBf0YNASABIANBAWo2AgAgAUEMaigCAEEgRw0CIAFBBGooAgAiA0UNAiADLQAFIR0gAy0ABCEeIAMtABUhHyADLQAUISAgAy0ACCEhIAMtAAchIiADLQAGIRMgAy0ACyEjIAMtAAohJCADLQAJIRQgAy0ADyElIAMtAA4hJiADLQANIScgAy0ADCEVIAMtABghKCADLQAXISkgAy0AFiEWIAMtABshKiADLQAaISsgAy0AGSEXIAMtAB8hGCADLQAeISwgAy0AHSEtIAMtABwhGSADKAAAIRAgAiADKAAQIi5B////D3E2AsQCIAIgEEH///8fcTYCsAIgAiAYQRJ0rUKAgPAPgyAtrUL/AYNCAoYgGa1CwAGDQgaIhCAsrUL/AYNCCoaEhD4C1AIgAiAZQRR0rUKAgMAfgyArrUL/AYNCBIYgF61C8AGDQgSIhCAqrUL/AYNCDIaEhD4C0AIgAiAXQRV0rUKAgIAPgyAprUL/AYNCBYYgFq1C+AGDQgOIhCAorUL/AYNCDYaEhD4CzAIgAiAnrUL/AYNCAoYgFa1CwAGDQgaIhCAmrUL/AYNCCoaEICWtQv8Bg0IShoQ+AsACIAIgFUETdK1CgIDgD4MgJK1C/wGDQgOGIBStQuABg0IFiIQgI61C/wGDQguGhIQ+ArwCIAIgFEEVdK1CgICAH4MgIq1C/wGDQgWGIBOtQvgBg0IDiIQgIa1C/wGDQg2GhIQ+ArgCIAIgFkEXdK1CgICAHIMgH61C/wGDQg+GICCtQv8Bg0IHhoSEpyAuQRl2cjYCyAIgAiATQRZ0rUKAgIAOgyAdrUL/AYNCDoYgHq1C/wGDQgaGhISnIBBBGnZyNgK0AiACQdADaiINIAJBsAJqEDsgAiACKQPwAyI1Qv///x+DIAIpA+gDIAIpA+ADIAIpA9gDIAIpA9ADIjhCGoh8IjZCGYh8IjlCGoh8IjpCGYh8IjenQf///x9xIgM2AugCIAIgAikD+AMgNUIaiHwiNUL///8PgyA3QhqIfCI3PgLsAiACIAIpA4AEIDVCGYh8IjWnQf///x9xIgU2AvACIAIgNkL///8PgyACKQOYBCACKQOQBCACKQOIBCA1QhqIfCI1QhmIfCI2QhqIfCI7QhmIQhN+IDhC////H4N8IjhCGoh8Ijw+AtwCIAIgOKdB////H3EiETYC2AIgAiA6p0H///8PcSIGNgLkAiACIDunQf///w9xIgw2AvwCIAIgOadB////H3EiBzYC4AIgAiA2p0H///8fcSIENgL4AiACIDWnQf///w9xIgo2AvQCIAIgBUHw////A2qtIDcgA0Hw////A2qtIjVCGoh8QvD///8BfCI4QhmIfCI2p0H///8fcTYCmAMgAiAKQfD///8Baq0gNkIaiHwiNqdB////D3E2ApwDIAIgBEHw////A2qtIDZCGYh8IjanQf///x9xNgKgAyACIAdB8P///wNqrSA8IBFBz/3//wNqrSI5QhqIfELw////AXwiOkIZiHwiN6dB////H3E2AogDIAIgDEHw////AWqtIDZCGoh8IjanQf///w9xNgKkAyACIAZB8P///wFqrSA3QhqIfCI3p0H///8PcTYCjAMgAiA4Qv///w+DIDVC////H4MgN0IZiHwiNUIaiHw+ApQDIAIgNadB////H3E2ApADIAIgOkL///8PgyA2QhmIQhN+IDlC////H4N8IjVCGoh8PgKEAyACIDWnQf///x9xNgKAAyANIAJB2AJqQeyGwAAQMSACIAIoAvQDNgLMAyACIAIpAuwDNwLEAyACIAIpAuQDNwK8AyACIAIpAtwDNwK0AyACIAIpAtQDNwKsA0EBIREgAiACKALQA0EBajYCqAMgDSACQagDaiIDEDsgAiACKQOABCACKQP4AyACKQPwAyI1QhqIfCI4QhmIfCI2p0H///8fcTYCuAEgAiACKQPgAyACKQPYAyACKQPQAyI5QhqIfCI6QhmIfCI3p0H///8fcTYCqAEgAiACKQOIBCA2QhqIfCI2p0H///8PcTYCvAEgAiACKQPoAyA3QhqIfCI3p0H///8PcTYCrAEgAiACKQOQBCA2QhmIfCI2p0H///8fcTYCwAEgAiA4Qv///w+DIDVC////H4MgN0IZiHwiNUIaiHw+ArQBIAIgNadB////H3E2ArABIAIgAikDmAQgNkIaiHwiNadB////D3E2AsQBIAIgOkL///8PgyA1QhmIQhN+IDlC////H4N8IjVCGoh8PgKkASACIDWnQf///x9xNgKgASACQfAEaiIEIAJBoAFqIgggAxAxIA0gBBA7IAIgAikDgAQgAikD+AMgAikD8AMiNUIaiHwiOEIZiHwiNqdB////H3E2ArgBIAIgAikD4AMgAikD2AMgAikD0AMiOUIaiHwiOkIZiHwiN6dB////H3E2AqgBIAIgAikDiAQgNkIaiHwiNqdB////D3E2ArwBIAIgAikD6AMgN0IaiHwiN6dB////D3E2AqwBIAIgAikDkAQgNkIZiHwiNqdB////H3E2AsABIAIgOEL///8PgyA1Qv///x+DIDdCGYh8IjVCGoh8PgK0ASACIDWnQf///x9xNgKwASACIAIpA5gEIDZCGoh8IjWnQf///w9xNgLEASACIDpC////D4MgNUIZiEITfiA5Qv///x+DfCI1QhqIfD4CpAEgAiA1p0H///8fcTYCoAEgAkGYBWoiBiAIIAMQMSACQegFaiIHIAJBgANqIgUgBBAxIAJBuAZqIgsgBSAGEDEgDSALEC4gAkHAAWogAkHwA2oiMSkDADcDACACQbgBaiACQegDaiIyKQMANwMAIAJBsAFqIAJB4ANqIi8pAwA3AwAgAkGoAWogAkHYA2oiMykDADcDACACIAIpA9ADNwOgASANIAhBAhA6IAJBkAZqIgQgCyANEDEgAkHABWoiGiAHIAQQMSANIBoQOyACIAIpA4AEIAIpA/gDIAIpA/ADIjVCGoh8IjhCGYh8IjanQf///x9xNgK4ASACIAIpA+ADIAIpA9gDIAIpA9ADIjlCGoh8IjpCGYh8IjenQf///x9xNgKoASACIAIpA4gEIDZCGoh8IjanQf///w9xNgK8ASACIAIpA+gDIDdCGoh8IjenQf///w9xNgKsASACIAIpA5AEIDZCGYh8IjanQf///x9xNgLAASACIDhC////D4MgNUL///8fgyA3QhmIfCI1QhqIfD4CtAEgAiA1p0H///8fcTYCsAEgAiACKQOYBCA2QhqIfCI1p0H///8PcTYCxAEgAiA6Qv///w+DIDVCGYhCE34gOUL///8fg3wiNUIaiHw+AqQBIAIgNadB////H3E2AqABIAsgAyAIEDEgCyAFEFohNCACQfD///8DIAIoApgDa61B8P///wEgAigClANrrUHw////AyACKAKQA2utIjVCGoh8IjhCGYh8IjanQf///x9xIgM2AugDIAJB8P///wMgAigCiANrrUHw////ASACKAKEA2utQdD9//8DIAIoAoADa60iOUIaiHwiOkIZiHwiN6dB////H3EiBTYC2AMgAkHw////ASACKAKcA2utIDZCGoh8IjanQf///w9xIgY2AuwDIAJB8P///wEgAigCjANrrSA3QhqIfCI3p0H///8PcSIMNgLcAyACQfD///8DIAIoAqADa60gNkIZiHwiNqdB////H3EiBzYC8AMgAiA1Qv///x+DIDdCGYh8IjWnQf///x9xIgQ2AuADIAIgOEL///8PgyA1QhqIfKciCjYC5AMgAkHw////ASACKAKkA2utIDZCGoh8IjWnQf///w9xIg42AvQDIAIgNUIZiEITfiA5Qv///x+DfCI1p0H///8fcSIPNgLQAyACIDpC////D4MgNUIaiHynIgk2AtQDIAsgDRBaITAgAiAONgL0AyACIAc2AvADIAIgBjYC7AMgAiADNgLoAyACIAo2AuQDIAIgBDYC4AMgAiAMNgLcAyACIAU2AtgDIAIgCTYC1AMgAiAPNgLQAyAIIA1BnIbAABAxIAsgCBBaIQMgCEGchsAAIBoQMSACQcgFaiIFQQAgAyAwchB0Qf8BcWsiAyAFKAIAIgYgAigCqAFzcSAGcyIGNgIAIAJB0AVqIgwgDCgCACIHIAIoArABcyADcSAHcyIHNgIAIAJB2AVqIgQgBCgCACIKIAIoArgBcyADcSAKcyIKNgIAIAIgAigCzAUiDiACKAKsAXMgA3EgDnMiDjYCzAUgAiACKALEBSIPIAIoAqQBcyADcSAPcyIPNgLEBSACIAIoAsAFIgkgAigCoAFzIANxIAlzIgk2AsAFIAIgAigC1AUiCCACKAK0AXMgA3EgCHMiCDYC1AUgAiACKALcBSILIAIoArwBcyADcSALcyILNgLcBSACQeAFaiIbIBsoAgAiEiACKALAAXMgA3EgEnMiEjYCACACIAMgAigC5AUiAyACKALEAXNxIANzIhw2AuQFIA0gGhA5IBtBACACLQDQA0EBcRB0Qf8BcWsiA0Hw////AyASa61B8P///wEgC2utQfD///8DIAprrUHw////ASAIa61B8P///wMgB2utIjVCGoh8IjhCGYh8IjZCGoh8IjlCGYh8IjqnQf///x9xIBJzcSASczYCACAEIDanQf///x9xIApzIANxIApzNgIAIAwgNUL///8fg0Hw////ASAOa61B8P///wMgBmutQfD///8BIA9rrUHQ/f//AyAJa60iNUIaiHwiNkIZiHwiN0IaiHwiO0IZiHwiPKdB////H3EgB3MgA3EgB3M2AgAgBSA3p0H///8fcSAGcyADcSAGczYCACACQfD///8BIBxrrSA6QhqIfCI6p0H///8PcSAccyADcSAcczYC5AUgAiA5p0H///8PcSALcyADcSALczYC3AUgAiAIIDhC////D4MgPEIaiHyncyADcSAIczYC1AUgAiA7p0H///8PcSAOcyADcSAOczYCzAUgAiA6QhmIQhN+IDVC////H4N8IjWnQf///x9xIAlzIANxIAlzNgLABSACIA8gNkL///8PgyA1QhqIfKdzIANxIA9zNgLEBSAwIDRyEHQgAkHzA2ogGykDACI1NwAAIAJB6wNqIAQpAwAiODcAACACQeMDaiAMKQMAIjY3AAAgAkHbA2ogBSkDACI5NwAAIAIgAikDwAUiOjcA0wMgAkHYBmoiBSA1NwMAIAJB0AZqIgYgODcDACACQcgGaiIMIDY3AwAgAkHABmoiByA5NwMAIAIgOjcDuAZBf3NBAXEQdEH/AXFFBEAgB0EAIBhBgAFxQQd2EHRB/wFxayIDQfD///8DIAcoAgAiBGutQfD///8BIAIoArwGIgprrUHQ/f//AyACKAK4BiIOa60iNUIaiHwiOEIZiHwiNqdB////H3EgBHNxIARzNgIAIAZB8P///wMgBigCACIEa61B8P///wEgAigCzAYiD2utQfD///8DIAwoAgAiCWutIjlCGoh8IjpCGYh8IjenQf///x9xIARzIANxIARzNgIAIAwgCSAJIDlC////H4NB8P///wEgAigCxAYiBGutIDZCGoh8IjZCGYh8IjmnQf///x9xcyADcXM2AgAgBUHw////AyAFKAIAIglrrUHw////ASACKALUBiIIa60gN0IaiHwiN0IZiHwiO6dB////H3EgCXMgA3EgCXM2AgAgAiAEIAQgNqdB////D3FzIANxczYCxAYgAiAIIAggN6dB////D3FzIANxczYC1AYgAiAPIA8gOkL///8PgyA5QhqIfKdzIANxczYCzAYgAiAOIA5B8P///wEgAigC3AZrrSA7QhqIfCI2QhmIQhN+IDVC////H4N8IjWnQf///x9xcyADcXM2ArgGIAIgCiAKIDhC////D4MgNUIaiHyncyADcXM2ArwGIAIgAyACKALcBiIDIDanQf///w9xc3EgA3M2AtwGIDEgBSkDADcDACAyIAYpAwA3AwAgLyAMKQMANwMAIDMgBykDADcDACACIAIpA7gGNwPQAyACQYAEaiACQbgCaikDADcDACACQYgEaiACQcACaikDADcDACACQZAEaiACQcgCaikDADcDACACQZgEaiACQdACaikDADcDACACIAIpA7ACNwP4AyACQcAEakG0h8AAKQIANwMAIAJBuARqQayHwAApAgA3AwAgAkGwBGpBpIfAACkCADcDACACQagEakGch8AAKQIANwMAIAJBlIfAACkCADcDoAQgAkHIBGogAkG4BmogAkGwAmoQMSACQZgGaiACQdwDaigCADYCACACIAIpAtQDNwOQBiACKALQAyEFIAJBoAFqIC9BkAEQfhoMBAtBnILAAEEfEAAhEEEAIREMAwsQewALEHwACxBTIRALIAJBmAFqIAJBmAZqKAIANgIAIAIgAikDkAY3A5ABIAIgAkGgAWpBkAEQfiEDIAEgASgCAEEBazYCAAJAAkAgEUUEQEEBIQEMAQtBACEBQfSYwAAtAAAaQcQBECUiAkUNASACIAU2AiQgAiAYOgAjIAIgLDoAIiACIC06ACEgAiAZOgAgIAIgKjoAHyACICs6AB4gAiAXOgAdIAIgKDoAHCACICk6ABsgAiAWOgAaIAIgHzoAGSACICA6ABggAiAuNgIUIAIgJToAEyACICY6ABIgAiAnOgARIAIgFToAECACICM6AA8gAiAkOgAOIAIgFDoADSACICE6AAwgAiAiOgALIAIgEzoACiACIB06AAkgAiAeOgAIIAIgEDYCBCACQQA2AgAgAkEwaiADQZgBaigCADYCACACIAMpA5ABNwIoIAJBNGogA0GQARB+GkEAIRALIAAgATYCCCAAIBA2AgQgACACNgIAIANB4AZqJAAPCwALhTsCNH8jfiMAQcAFayICJAACQAJAAkACQAJAIABFDQAgACgCACIDQX9GDQEgACADQQFqNgIAIAFFDQAgASgCACIDQX9GDQEgAEEEaiEIIAEgA0EBajYCACABQQRqKAIAIQMgAUEMaigCACEEIAJBIGogAEHEAWoQMCACQbABakGBARB/IQUgAkGoAWoiBkIANwMAIAJBmAFqQbCKwAApAwA3AwAgAkGQAWpBqIrAACkDADcDACACQYgBakGgisAAKQMANwMAIAJBgAFqQZiKwAApAwA3AwAgAkH4AGpBkIrAACkDADcDACACQfAAakGIisAAKQMANwMAIAJB6ABqQYCKwAApAwA3AwAgAkG4AWogAkHIAGopAwA3AwAgAkHAAWogAkHQAGopAwA3AwAgAkHIAWogAkHYAGopAwA3AwAgAkIANwOgASACQfiJwAApAwA3A2AgAiACKQNANwOwASACQbACakEgOgAAIARB3wBNBEAgAkHQAWogAyAEEH4aIARBIGohBgwFCyACQdABaiADQeAAEH4aIAZCADcDACACQgE3A6ABIAJB4ABqIAVBARAfIANB4ABqIgkgBEHgAGsiB0GAf3FqIQsgB0H/AHEhBiAHQf8ASw0CDAMLEHsACxB8AAsgAiACKQOgASI2IAdBB3YiB618Ijg3A6ABIAJBqAFqIgogCikDACA2IDhWrXw3AwAgAkHgAGogCSAHEB8LIAUgCyAGEH4aCyACIAY6ALACIAJB+AJqIgYgAkHgAGpB2AEQfhogAkG4AmoiByAGECcgBiAHECAgAkHYAmogBhBBIAJB0AFqQeAAEH8gAkGoAWoiB0IANwMAIAJBmAFqQbCKwAApAwA3AwAgAkGQAWpBqIrAACkDADcDACACQYgBakGgisAAKQMANwMAIAJBgAFqQZiKwAApAwA3AwAgAkH4AGpBkIrAACkDADcDACACQfAAakGIisAAKQMANwMAIAJB6ABqQYCKwAApAwA3AwAgBUEYaiACQfACaikDADcAACAFQRBqIAJB6AJqKQMANwAAIAVBCGogAkHgAmopAwA3AAAgBSACKQPYAjcAACACQgA3A6ABIAJBADoAsAIgAkH4icAAKQMANwNgIAJBIDoAsAIgAkHoAWogCEEYaikAADcDACACQeABaiAIQRBqKQAANwMAIAJB2AFqIAhBCGopAAA3AwAgCCkAADcDACACQcAAOgCwAgJAIARBP00EQCACQfABaiADIAQQfhogBEFAayEDDAELIAJB8AFqIAMpAAA3AwAgA0EIaikAACE2IANBEGopAAAhOCADQRhqKQAAITkgA0EgaikAACE9IANBKGopAAAhOyADQTBqKQAAITcgA0E4aikAACE6IAdCADcDACACQagCaiA6NwMAIAJBoAJqIDc3AwAgAkGYAmogOzcDACACQZACaiA9NwMAIAJBiAJqIDk3AwAgAkGAAmogODcDACACQfgBaiA2NwMAIAJCATcDoAEgAkHgAGogBUEBEB8gA0FAayIIIARB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IBhyIBlBEHRyckEDdCABQR12ckH/////AXFqIgFBHXZqIBxBEHQiBCAbQQh0IBByckEGdCADQRp2ckH/////AXFqIgNBHXZqIB9BEHQiBSAeQQh0IBFyckEJdCAdQRh0IARyQRd2ckH/////AXFqIgRBHXZqICNBEHQiCCAiQQh0ICFyckEMdCAgQRh0IAVyQRR2ckH/////AXFqIgVBHXZqICZBCHQiBiAlckEPdCAkQRh0IAhyQRF2ckH/////AXFqIghBHXZqIBNBCHQiByAockESdCAnQRB0IBJBGHRyIAZyQQ52ckH/////AXFqIgZBHXZqIBRBFXQgKUEQdCAqQRh0ciAHckELdnJqIgdBHXZqICxBCHQgK3IgFUEQdHJqIAdB/////wFxIAZB/////wFxIAhB/////wFxIAVB/////wFxIARB/////wFxIANB/////wFxIAFB/////wFxIA1BH3VqQdKxzARrIgFBH3VqQZbrnO8BayIFQR91akHF+s7vAWsiCEEfdWpBzQJrIgZBH3VqIgdBH3VqIglBH3VqIgtBH3VqIgpBgIDAAEgiAxtqIgQ6ACQgACAEQRB2OgAmIAAgBEEIdjoAJSAAIAFB/////wFxIARBHXZqQdKxzARBACADG2oiAUETdjoAKiAAIAFBC3Y6ACkgACABQQN2OgAoIAAgBEEYdkEfcSABQQV0cjoAJyAAIAVB/////wFxIAFBHXZqQZbrnO8BQQAgAxtqIgRBDnY6AC0gACAEQQZ2OgAsIAAgAUEbdkEDcSAEQQJ0cjoAKyAAIAhB/////wFxIARBHXZqQcX6zu8BQQAgAxtqIgFBEXY6ADEgACABQQl2OgAwIAAgAUEBdjoALyAAIAFBB3QgBEGAgID+AXFBFnZyOgAuIAAgBkH/////AXEgAUEddmpBzQJBACADG2oiA0EUdjoANSAAIANBDHY6ADQgACADQQR2OgAzIAAgAUEZdkEPcSADQQR0cjoAMiAAIAdB/////wFxIANBHXZqIgRBD3Y6ADggACAEQQd2OgA3IAAgA0EcdkEBcSAEQQF0cjoANiAAIAlB/////wFxIARBHXZqIgFBEnY6ADwgACABQQp2OgA7IAAgAUECdjoAOiAAIARBF3ZBP3EgAUEGdHI6ADkgACALQf////8BcSABQR12aiIDQRV2OgBAIAAgA0ENdjoAPyAAIANBBXY6AD4gACAKQYCAQGoiBSADQR12aiIEOgBBIAAgAUEadkEHcSADQQN0cjoAPSAAIARBCHY6AEIgACAEIAVBC3ZBgIDAAHFqQRB2OgBDIAJBwAVqJAAgAA8LAAvFJgIJfwF+AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAQfUBTwRAIABBzf97Tw0UIABBC2oiAEF4cSEFQaSYwAAoAgAiCEUNBUEAIAVrIQICf0EAIAVBgAJJDQAaQR8gBUH///8HSw0AGiAFQQYgAEEIdmciAGt2QQFxIABBAXRrQT5qCyIHQQJ0QYiVwABqKAIAIgENAUEAIQAMAgsCQAJAAkBBoJjAACgCACIBQRAgAEELakF4cSAAQQtJGyIFQQN2IgJ2IgBBA3FFBEAgBUGomMAAKAIATQ0IIAANAUGkmMAAKAIAIgBFDQggAEEAIABrcWhBAnRBiJXAAGooAgAiAygCBEF4cSAFayEBIAMoAhAiAEUEQCADQRRqKAIAIQALIAAEQANAIAAoAgRBeHEgBWsiBCABSSECIAQgASACGyEBIAAgAyACGyEDIAAoAhAiAgR/IAIFIABBFGooAgALIgANAAsLIAMoAhghByADKAIMIgAgA0cNAiADQRRBECADQRRqIgAoAgAiBBtqKAIAIgINA0EAIQAMGQsCQCAAQX9zQQFxIAJqIgBBA3QiA0GglsAAaigCACICQQhqIgYoAgAiBCADQZiWwABqIgNHBEAgBCADNgIMIAMgBDYCCAwBC0GgmMAAIAFBfiAAd3E2AgALIAIgAEEDdCIAQQNyNgIEIAAgAmoiACAAKAIEQQFyNgIEIAYPCwJAQQIgAkEfcSICdCIEQQAgBGtyIAAgAnRxIgBBACAAa3FoIgJBA3QiA0GglsAAaigCACIAQQhqIgYoAgAiBCADQZiWwABqIgNHBEAgBCADNgIMIAMgBDYCCAwBC0GgmMAAIAFBfiACd3E2AgALIAAgBUEDcjYCBCAAIAVqIgMgAkEDdCIBIAVrIgJBAXI2AgQgACABaiACNgIAQaiYwAAoAgAiBEUNGCAEQXhxQZiWwABqIQBBsJjAACgCACEBAn9BoJjAACgCACIFQQEgBEEDdnQiBHEEQCAAKAIIDAELQaCYwAAgBCAFcjYCACAACyEEIAAgATYCCCAEIAE2AgwgASAANgIMIAEgBDYCCAwYCyADKAIIIgIgADYCDCAAIAI2AggMFgsgACADQRBqIAQbIQQDQCAEIQYgAiIAQRRqIgIgAEEQaiACKAIAIgIbIQQgAEEUQRAgAhtqKAIAIgINAAsgBkEANgIADBULQQAhACAFQRkgB0EBdmtBH3FBACAHQR9HG3QhBANAAkAgASgCBEF4cSIGIAVJDQAgBiAFayIGIAJPDQAgASEDIAYiAg0AQQAhAiABIQAMAwsgAUEUaigCACIGIAAgBiABIARBHXZBBHFqQRBqKAIAIgFHGyAAIAYbIQAgBEEBdCEEIAENAAsLIAAgA3JFBEBBACEDIAhBAiAHdCIAQQAgAGtycSIARQ0DIABBACAAa3FoQQJ0QYiVwABqKAIAIQALIABFDQELA0AgACADIAAoAgRBeHEiASAFTyABIAVrIgEgAklxIgQbIQMgASACIAQbIQIgACgCECIBBH8gAQUgAEEUaigCAAsiAA0ACwsgA0UNACAFQaiYwAAoAgAiAE0gAiAAIAVrT3ENACADKAIYIQcgAygCDCIAIANHDQEgA0EUQRAgA0EUaiIAKAIAIgQbaigCACIBDQJBACEADBALQaiYwAAoAgAiASAFTw0CQayYwAAoAgAiACAFSw0HQQAhAiAFQa+ABGoiAEEQdkAAIgFBf0YiBA0OIAFBEHQiBkUNDkG4mMAAQQAgAEGAgHxxIAQbIgRBuJjAACgCAGoiADYCAEG8mMAAQbyYwAAoAgAiASAAIAAgAUkbNgIAQbSYwAAoAgAiAkUNA0GIlsAAIQADQCAAKAIAIgEgACgCBCIDaiAGRg0FIAAoAggiAA0ACwwFCyADKAIIIgEgADYCDCAAIAE2AggMDgsgACADQRBqIAQbIQQDQCAEIQYgASIAQRRqIgEgAEEQaiABKAIAIgEbIQQgAEEUQRAgARtqKAIAIgENAAsgBkEANgIADA0LQbCYwAAoAgAhAAJAIAEgBWsiAkEPTQRAQbCYwABBADYCAEGomMAAQQA2AgAgACABQQNyNgIEIAAgAWoiASABKAIEQQFyNgIEDAELQaiYwAAgAjYCAEGwmMAAIAAgBWoiBDYCACAEIAJBAXI2AgQgACABaiACNgIAIAAgBUEDcjYCBAsgAEEIag8LQcSYwAAoAgAiAEUgACAGS3INBQwICyAAKAIMIAEgAktyDQAgAiAGSQ0BC0HEmMAAQcSYwAAoAgAiACAGIAAgBkkbNgIAIAQgBmohAUGIlsAAIQACQAJAA0AgASAAKAIARwRAIAAoAggiAA0BDAILCyAAKAIMRQ0BC0GIlsAAIQADQAJAIAIgACgCACIBTwRAIAEgACgCBGoiAyACSw0BCyAAKAIIIQAMAQsLQbSYwAAgBjYCAEGsmMAAIARBKGsiADYCACAGIABBAXI2AgQgACAGakEoNgIEQcCYwABBgICAATYCACACIANBIGtBeHFBCGsiACAAIAJBEGpJGyIBQRs2AgRBiJbAACkCACEKIAFBEGpBkJbAACkCADcCACABIAo3AghBjJbAACAENgIAQYiWwAAgBjYCAEGQlsAAIAFBCGo2AgBBlJbAAEEANgIAIAFBHGohAANAIABBBzYCACAAQQRqIgAgA0kNAAsgASACRg0IIAEgASgCBEF+cTYCBCACIAEgAmsiAEEBcjYCBCABIAA2AgAgAEGAAk8EQCACIAAQSQwJCyAAQXhxQZiWwABqIQECf0GgmMAAKAIAIgRBASAAQQN2dCIAcQRAIAEoAggMAQtBoJjAACAAIARyNgIAIAELIQAgASACNgIIIAAgAjYCDCACIAE2AgwgAiAANgIIDAgLIAAgBjYCACAAIAAoAgQgBGo2AgQgBiAFQQNyNgIEIAEgBSAGaiIHayEFQbSYwAAoAgAgAUcEQCABQbCYwAAoAgBGDQMgASgCBCICQQNxQQFHDQUCQCACQXhxIglBgAJPBEAgASgCGCEIAkACQCABIAEoAgwiAEYEQCABQRRBECABQRRqIgAoAgAiBBtqKAIAIgINAUEAIQAMAgsgASgCCCICIAA2AgwgACACNgIIDAELIAAgAUEQaiAEGyEEA0AgBCEDIAIiAEEUaiICIABBEGogAigCACICGyEEIABBFEEQIAIbaigCACICDQALIANBADYCAAsCQCAIRQ0AAkAgASABKAIcQQJ0QYiVwABqIgIoAgBHBEAgCEEQQRQgCCgCECABRhtqIAA2AgAgAEUNAgwBCyACIAA2AgAgAA0AQaSYwABBpJjAACgCAEF+IAEoAhx3cTYCAAwDCyAAIAg2AhggASgCECICBEAgACACNgIQIAIgADYCGAsgAUEUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLDAELIAFBDGooAgAiACABQQhqKAIAIgRHBEAgBCAANgIMIAAgBDYCCAwBC0GgmMAAQaCYwAAoAgBBfiACQQN2d3E2AgALIAUgCWohBSABIAlqIgEoAgQhAgwFC0G0mMAAIAc2AgBBrJjAAEGsmMAAKAIAIAVqIgA2AgAgByAAQQFyNgIEDAULIAAgAyAEajYCBEG0mMAAQbSYwAAoAgAiAEEPakF4cSIBQQhrNgIAQayYwABBrJjAACgCACAEaiICIAAgAWtqQQhqIgQ2AgAgAUEEayAEQQFyNgIAIAAgAmpBKDYCBEHAmMAAQYCAgAE2AgAMBgtBrJjAACAAIAVrIgE2AgBBtJjAAEG0mMAAKAIAIgAgBWoiAjYCACACIAFBAXI2AgQgACAFQQNyNgIEIABBCGohAgwGC0GwmMAAIAc2AgBBqJjAAEGomMAAKAIAIAVqIgA2AgAgByAAQQFyNgIEIAAgB2ogADYCAAwCC0HEmMAAIAY2AgAMAgsgASACQX5xNgIEIAcgBUEBcjYCBCAFIAdqIAU2AgAgBUGAAk8EQCAHIAUQSQwBCyAFQXhxQZiWwABqIQACf0GgmMAAKAIAIgFBASAFQQN2dCICcQRAIAAoAggMAQtBoJjAACABIAJyNgIAIAALIQEgACAHNgIIIAEgBzYCDCAHIAA2AgwgByABNgIICyAGQQhqDwtByJjAAEH/HzYCAEGMlsAAIAQ2AgBBiJbAACAGNgIAQaSWwABBmJbAADYCAEGslsAAQaCWwAA2AgBBoJbAAEGYlsAANgIAQbSWwABBqJbAADYCAEGolsAAQaCWwAA2AgBBvJbAAEGwlsAANgIAQbCWwABBqJbAADYCAEHElsAAQbiWwAA2AgBBuJbAAEGwlsAANgIAQcyWwABBwJbAADYCAEHAlsAAQbiWwAA2AgBB1JbAAEHIlsAANgIAQciWwABBwJbAADYCAEHclsAAQdCWwAA2AgBB0JbAAEHIlsAANgIAQZSWwABBADYCAEHklsAAQdiWwAA2AgBB2JbAAEHQlsAANgIAQeCWwABB2JbAADYCAEHslsAAQeCWwAA2AgBB6JbAAEHglsAANgIAQfSWwABB6JbAADYCAEHwlsAAQeiWwAA2AgBB/JbAAEHwlsAANgIAQfiWwABB8JbAADYCAEGEl8AAQfiWwAA2AgBBgJfAAEH4lsAANgIAQYyXwABBgJfAADYCAEGIl8AAQYCXwAA2AgBBlJfAAEGIl8AANgIAQZCXwABBiJfAADYCAEGcl8AAQZCXwAA2AgBBmJfAAEGQl8AANgIAQaSXwABBmJfAADYCAEGsl8AAQaCXwAA2AgBBoJfAAEGYl8AANgIAQbSXwABBqJfAADYCAEGol8AAQaCXwAA2AgBBvJfAAEGwl8AANgIAQbCXwABBqJfAADYCAEHEl8AAQbiXwAA2AgBBuJfAAEGwl8AANgIAQcyXwABBwJfAADYCAEHAl8AAQbiXwAA2AgBB1JfAAEHIl8AANgIAQciXwABBwJfAADYCAEHcl8AAQdCXwAA2AgBB0JfAAEHIl8AANgIAQeSXwABB2JfAADYCAEHYl8AAQdCXwAA2AgBB7JfAAEHgl8AANgIAQeCXwABB2JfAADYCAEH0l8AAQeiXwAA2AgBB6JfAAEHgl8AANgIAQfyXwABB8JfAADYCAEHwl8AAQeiXwAA2AgBBhJjAAEH4l8AANgIAQfiXwABB8JfAADYCAEGMmMAAQYCYwAA2AgBBgJjAAEH4l8AANgIAQZSYwABBiJjAADYCAEGImMAAQYCYwAA2AgBBnJjAAEGQmMAANgIAQZCYwABBiJjAADYCAEG0mMAAIAY2AgBBmJjAAEGQmMAANgIAQayYwAAgBEEoayIANgIAIAYgAEEBcjYCBCAAIAZqQSg2AgRBwJjAAEGAgIABNgIAC0EAIQJBrJjAACgCACIAIAVNDQBBrJjAACAAIAVrIgE2AgBBtJjAAEG0mMAAKAIAIgAgBWoiAjYCACACIAFBAXI2AgQgACAFQQNyNgIEIABBCGoPCyACDwsCQCAHRQ0AAkAgAyADKAIcQQJ0QYiVwABqIgEoAgBHBEAgB0EQQRQgBygCECADRhtqIAA2AgAgAEUNAgwBCyABIAA2AgAgAA0AQaSYwABBpJjAACgCAEF+IAMoAhx3cTYCAAwBCyAAIAc2AhggAygCECIBBEAgACABNgIQIAEgADYCGAsgA0EUaigCACIBRQ0AIABBFGogATYCACABIAA2AhgLAkAgAkEQTwRAIAMgBUEDcjYCBCADIAVqIgAgAkEBcjYCBCAAIAJqIAI2AgAgAkGAAk8EQCAAIAIQSQwCCyACQXhxQZiWwABqIQECf0GgmMAAKAIAIgRBASACQQN2dCICcQRAIAEoAggMAQtBoJjAACACIARyNgIAIAELIQIgASAANgIIIAIgADYCDCAAIAE2AgwgACACNgIIDAELIAMgAiAFaiIAQQNyNgIEIAAgA2oiACAAKAIEQQFyNgIECyADQQhqDwsCQCAHRQ0AAkAgAyADKAIcQQJ0QYiVwABqIgIoAgBHBEAgB0EQQRQgBygCECADRhtqIAA2AgAgAEUNAgwBCyACIAA2AgAgAA0AQaSYwABBpJjAACgCAEF+IAMoAhx3cTYCAAwBCyAAIAc2AhggAygCECICBEAgACACNgIQIAIgADYCGAsgA0EUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLAkACQCABQRBPBEAgAyAFQQNyNgIEIAMgBWoiBCABQQFyNgIEIAEgBGogATYCAEGomMAAKAIAIgZFDQEgBkF4cUGYlsAAaiEAQbCYwAAoAgAhAgJ/QaCYwAAoAgAiBUEBIAZBA3Z0IgZxBEAgACgCCAwBC0GgmMAAIAUgBnI2AgAgAAshBiAAIAI2AgggBiACNgIMIAIgADYCDCACIAY2AggMAQsgAyABIAVqIgBBA3I2AgQgACADaiIAIAAoAgRBAXI2AgQMAQtBsJjAACAENgIAQaiYwAAgATYCAAsgA0EIag8LQbCYwAAgAzYCAEGomMAAIAI2AgAgBguJHwITfwd+IwBB4B5rIgMkAAJ/AkACQAJAAkACQCAARQ0AIAAoAgAiBEF/Rg0BIAAgBEEBajYCACABRQ0AIAEoAgAiBEF/Rg0BIAEgBEEBajYCACACRQ0AIAIoAgAiBEF/Rg0BIAIgBEEBajYCACABQQxqKAIAIQsgAUEEaigCACEGIANBoBBqIAJBHGopAAAiFjcDACADQZgQaiACQRRqKQAAIhc3AwAgA0GQEGogAkEMaikAACIYNwMAIANBqBBqIAJBJGopAAAiGTcDACADQbAQaiACQSxqKQAAIhs3AwAgA0G4EGoiBCACQTRqKQAANwMAIANBvxBqIgUgAkE7aikAADcAACADIAIpAAQiGjcDiBAgAkHDAGosAAAhCiADQbAGaiIMIBs3AwAgA0GoBmoiCSAZNwMAIANBoAZqIBY3AwAgA0GYBmogFzcDACADQZAGaiAYNwMAIANBvwZqIg0gBSkAADcAACADQbgGaiIFIAQpAwA3AwAgAyAaNwOIBiAKQQBOEHQhByADQZ8CaiANKQAANwAAIANBmAJqIAUpAwA3AwAgA0GQAmogDCkDADcDACADIAkpAwA3A4gCIAMgCjoApwIgA0GIBGogA0GIAmoQKUEAIQRBASEFA0AgA0GIAmogBGotAAAgA0GIBGogBGotAABGEHQgBXEhBSAEQQFqIgRBIEcNAAsgBRB0IAdxEHRB/wFxQQFGBEAgA0G/EGoiBCAJQRdqKQAANwAAIANBuBBqIgUgCUEQaikAADcDACADQShqIAkpAAA3AwAgA0EQaiIMIANBkAZqIg0pAwA3AwAgA0EYaiIHIANBmAZqIg4pAwA3AwAgA0EgaiIIIANBoAZqIg8pAwA3AwAgA0EwaiAJQQhqKQAANwMAIANBOGogBSkDADcDACADQT9qIAQpAAA3AAAgAyADKQOIBjcDCCADIAo6AEcgA0HYBmpBgQEQfyEJIANB0AZqIgVCADcDACADQcAGakGwisAAKQMANwMAIANBuAZqQaiKwAApAwA3AwAgA0GwBmpBoIrAACkDADcDACADQagGakGYisAAKQMANwMAIA9BkIrAACkDADcDACAOQYiKwAApAwA3AwAgDUGAisAAKQMANwMAIANB4AZqIAwpAwA3AwAgA0HoBmogBykDADcDACADQfAGaiAIKQMANwMAIANCADcDyAYgA0H4icAAKQMANwOIBiADIAMpAwg3A9gGIANB2AdqIgpBIDoAACADQfgGaiAAQQRqIgQpAAA3AwAgA0GAB2ogBEEIaikAADcDACADQYgHaiAEQRBqKQAANwMAIANBkAdqIARBGGopAAA3AwAgCkHAADoAACALQT9NBEAgA0GYB2ogBiALEH4aIAtBQGshBAwGCyADQZgHaiAGKQAANwMAIAZBCGopAAAhFiAGQRBqKQAAIRcgBkEYaikAACEYIAZBIGopAAAhGSAGQShqKQAAIRsgBkEwaikAACEaIAZBOGopAAAhHCAFQgA3AwAgA0HQB2ogHDcDACADQcgHaiAaNwMAIANBwAdqIBs3AwAgA0G4B2ogGTcDACADQbAHaiAYNwMAIANBqAdqIBc3AwAgA0GgB2ogFjcDACADQgE3A8gGIANBiAZqIAlBARAfIAZBQGsiBiALQUBqIgVBgH9xaiELIAVB/wBxIQQgBUH/AEsNAwwEC0EADAULEHsACxB8AAsgAyADKQPIBiIWIAVBB3YiBa18Ihc3A8gGIANB0AZqIgogCikDACAWIBdWrXw3AwAgA0GIBmogBiAFEB8LIAkgCyAEEH4aCyADIAQ6ANgHIANBiBBqIgQgA0GIBmpB2AEQfhogA0HIAGoiBSAEECcgA0GYAWogAEHUAGopAgA3AwAgA0GgAWogAEHcAGopAgA3AwAgA0GoAWogAEHkAGopAgA3AwAgA0GwAWogAEHsAGopAgA3AwAgAyAAQcwAaikCADcDkAEgAEHIAGooAgAhBCAAQTBqKAIAIQYgAEFAaygCACEJIABBLGooAgAhCyAAQShqKAIAIQogAEEkaigCACEMIABBPGooAgAhDSAAQThqKAIAIQcgAEE0aigCACEOIAAoAkQhCCADQdgBaiAAQZQBaikCADcDACADQdABaiAAQYwBaikCADcDACADQcgBaiAAQYQBaikCADcDACADQcABaiAAQfwAaikCADcDACADIABB9ABqKQIANwO4ASAAQcABaigCACEPIABBvAFqKAIAIREgAEGoAWooAgAhECAAQbgBaigCACESIABBpAFqKAIAIRMgAEGgAWooAgAhFCAAQZwBaigCACEVIANB+AFqQfD///8DIABBtAFqKAIAa61B8P///wEgAEGwAWooAgBrrUHw////AyAAQawBaigCAGutIhZCGoh8IhdCGYh8IhinQf///x9xNgIAIANB6AFqQfD///8DIBNrrUHw////ASAUa61B0P3//wMgFWutIhlCGoh8IhtCGYh8IhqnQf///x9xNgIAIANB/AFqQfD///8BIBJrrSAYQhqIfCIYp0H///8PcTYCACADQewBakHw////ASAQa60gGkIaiHwiGqdB////D3E2AgAgA0GAAmpB8P///wMgEWutIBhCGYh8IhinQf///x9xNgIAIANB9AFqIBdC////D4MgFkL///8fgyAaQhmIfCIWQhqIfD4CACADQfABaiAWp0H///8fcTYCACADQYQCakHw////ASAPa60gGEIaiHwiFqdB////D3E2AgAgA0HkAWogG0L///8PgyAWQhmIQhN+IBlC////H4N8IhZCGoh8PgIAIANB8P///wMgDWutQfD///8BIAdrrUHw////AyAOa60iF0IaiHwiGEIZiHwiGadB////H3E2AoABIANB8P///wMgC2utQfD///8BIAprrUHQ/f//AyAMa60iG0IaiHwiGkIZiHwiHKdB////H3E2AnAgA0Hw////ASAJa60gGUIaiHwiGadB////D3E2AoQBIANB8P///wEgBmutIBxCGoh8IhynQf///w9xNgJ0IANB8P///wMgCGutIBlCGYh8IhmnQf///x9xNgKIASADIBhC////D4MgF0L///8fgyAcQhmIfCIXQhqIfD4CfCADIBenQf///x9xNgJ4IANB8P///wEgBGutIBlCGoh8IhenQf///w9xNgKMASADIBpC////D4MgF0IZiEITfiAbQv///x+DfCIXQhqIfD4CbCADIBenQf///x9xNgJoIAMgFqdB////H3E2AuABIANBiAJqIAUQSCADQYgEaiADQShqEEhB/wEhBQNAAkAgBSIEIANBiAJqai0AAA0AIANBiARqIARqLQAADQAgBEEBayEFIAQNAQsLIANBiAZqIANB6ABqECEgA0GIEGpB5IfAABAhIANBqBpqQgA3AwAgA0GgGmpCADcDACADQZgaakIANwMAIANBkBpqQgA3AwAgA0G4GmpBnIfAACkCACIWNwMAIANBwBpqQaSHwAApAgAiFzcDACADQcgaakGsh8AAKQIAIhg3AwAgA0HQGmpBtIfAACkCACIZNwMAIANB4BpqIBY3AwAgA0HoGmogFzcDACADQfAaaiAYNwMAIANB+BpqIBk3AwAgA0IANwOIGiADQZSHwAApAgAiFjcDsBogAyAWNwPYGiADQZAeaiEPIANB6B1qIREgA0GYHWohCyADQfAcaiEKIANByBxqIQwgA0HQG2ohBSADQagbaiEJIANB+BtqIQYgA0HYGmohDSADQbAaaiEOA0AgA0GAG2ogA0GIGmoQKAJAAkACQAJAAkACQEF/IANBiAJqIARqLQAAIgdBAEcgB8AiCEEASBtB/wFxDgICAAELIANBoBxqIANBgBtqIhAgBhAxIAwgCSAFEDEgCiAFIAYQMSALIBAgCRAxIAhBAXYhCCAHQQ9NBEAgA0HAHWoiByADQYgGaiAIQaABbGpBoAEQfhogA0GAG2ogA0GgHGogBxAsDAILIAgQVwALIANBoBxqIANBgBtqIgggBhAxIAwgCSAFEDEgCiAFIAYQMSALIAggCRAxQQAgB2siCMBBAXYhByAIQf8BcUEQTw0BIANBwB1qIgggA0GIBmogB0GgAWxqQaABEH4aIANBgBtqIANBoBxqIAgQKwsCQAJAQX8gA0GIBGogBGotAAAiB0EARyAHwCIIQQBIG0H/AXEOAgQAAQsgA0GgHGogA0GAG2oiECAGEDEgDCAJIAUQMSAKIAUgBhAxIAsgECAJEDEgCEEBdiEIIAdBD00EQCADQcAdaiIHIANBiBBqIAhBoAFsakGgARB+GiADQYAbaiADQaAcaiAHECwMBAsgCBBXAAsgA0GgHGogA0GAG2oiCCAGEDEgDCAJIAUQMSAKIAUgBhAxIAsgCCAJEDFBACAHayIIwEEBdiEHIAhB/wFxQRBJDQEgBxBXAAsgBxBXAAsgA0HAHWoiCCADQYgQaiAHQaABbGpBoAEQfhogA0GAG2ogA0GgHGogCBArCyADQcAdaiIHIANBgBtqIAYQMSARIAkgBRAxIA8gBSAGEDEgA0GIGmogB0H4ABB+GiAEBEAgBEEBayEEDAELCyADQcAdaiIFIANBiBpqIgQgDRAxIANB6B1qIA4gDRAxIANBoBxqIA0QOyADQageaiADKQPQHCADKQPIHCADKQPAHCIWQhqIfCIXQhmIfCIYp0H///8fcTYCACADQZgeaiADKQOwHCADKQOoHCADKQOgHCIZQhqIfCIbQhmIfCIap0H///8fcTYCACADQaweaiADKQPYHCAYQhqIfCIYp0H///8PcTYCACADQZweaiADKQO4HCAaQhqIfCIap0H///8PcTYCACADQbAeaiADKQPgHCAYQhmIfCIYp0H///8fcTYCACADQaQeaiAXQv///w+DIBZC////H4MgGkIZiHwiFkIaiHw+AgAgA0GgHmogFqdB////H3E2AgAgA0G0HmogAykD6BwgGEIaiHwiFqdB////D3E2AgAgA0GUHmogG0L///8PgyAWQhmIQhN+IBlC////H4N8IhZCGoh8PgIAIAMgFqdB////H3E2ApAeIANBuB5qIAQgDhAxIANBiBBqIgQgBRBBIANBCGohBUEAIQZBICEJAkADQCAELQAAIgsgBS0AACIKRgRAIARBAWohBCAFQQFqIQUgCUEBayIJDQEMAgsLIAsgCmshBgsgBkULIAIgAigCAEEBazYCACABIAEoAgBBAWs2AgAgACAAKAIAQQFrNgIAIANB4B5qJAALoBcCD38FfiMAQcACayICJAAgAkFAa0IANwMAIAJBOGpCADcDACACQTBqQgA3AwAgAkEoakIANwMAIAJBIGpCADcDACACQRhqQgA3AwAgAkEQakIANwMAIAFB0ABqIgQgAUHQAWotAAAiA2oiB0GAAToAACACQgA3AwggAUHIAGopAwAiEUIChkKAgID4D4MgEUIOiEKAgPwHg4QgEUIeiEKA/gODIBFCCoYiEkI4iISEIRQgASkDQCIRQjaIIhNCOIYgEiAThCISQoD+A4NCKIaEIBJCgID8B4NCGIYgEkKAgID4D4NCCIaEhCARQgKGQoCAgPgPgyARQg6IQoCA/AeDhCARQh6IQoD+A4MgEUIKhiIRQjiIhIQhEyADrSIVQjuGIBEgFUIDhoQiEUKA/gODQiiGhCARQoCA/AeDQhiGIBFCgICA+A+DQgiGhIQhFSADQf8AcyIFBEAgB0EBaiAFEH8aCyAUhCERIBMgFYQhEgJAIANB8ABzQRBPBEAgAUHIAWogEjcAACABQcABaiARNwAAIAEgBEEBEB8MAQsgASAEQQEQHyACQcgAaiIDQfAAEH8aIAJBwAFqIBI3AwAgAiARNwO4ASABIANBARAfC0EAIQMgAUEAOgDQASACIAEpAzgiEUI4hiARQoD+A4NCKIaEIBFCgID8B4NCGIYgEUKAgID4D4NCCIaEhCARQgiIQoCAgPgPgyARQhiIQoCA/AeDhCARQiiIQoD+A4MgEUI4iISEhDcDQCACIAEpAzAiEUI4hiARQoD+A4NCKIaEIBFCgID8B4NCGIYgEUKAgID4D4NCCIaEhCARQgiIQoCAgPgPgyARQhiIQoCA/AeDhCARQiiIQoD+A4MgEUI4iISEhDcDOCACIAEpAygiEUI4hiARQoD+A4NCKIaEIBFCgID8B4NCGIYgEUKAgID4D4NCCIaEhCARQgiIQoCAgPgPgyARQhiIQoCA/AeDhCARQiiIQoD+A4MgEUI4iISEhDcDMCACIAEpAyAiEUI4hiARQoD+A4NCKIaEIBFCgID8B4NCGIYgEUKAgID4D4NCCIaEhCARQgiIQoCAgPgPgyARQhiIQoCA/AeDhCARQiiIQoD+A4MgEUI4iISEhDcDKCACIAEpAxgiEUI4hiARQoD+A4NCKIaEIBFCgID8B4NCGIYgEUKAgID4D4NCCIaEhCARQgiIQoCAgPgPgyARQhiIQoCA/AeDhCARQiiIQoD+A4MgEUI4iISEhDcDICACIAEpAxAiEUI4hiARQoD+A4NCKIaEIBFCgID8B4NCGIYgEUKAgID4D4NCCIaEhCARQgiIQoCAgPgPgyARQhiIQoCA/AeDhCARQiiIQoD+A4MgEUI4iISEhDcDGCACIAEpAwgiEUI4hiARQoD+A4NCKIaEIBFCgID8B4NCGIYgEUKAgID4D4NCCIaEhCARQgiIQoCAgPgPgyARQhiIQoCA/AeDhCARQiiIQoD+A4MgEUI4iISEhDcDECACIAEpAwAiEUI4hiARQoD+A4NCKIaEIBFCgID8B4NCGIYgEUKAgID4D4NCCIaEhCARQgiIQoCAgPgPgyARQhiIQoCA/AeDhCARQiiIQoD+A4MgEUI4iISEhDcDCCACQYABakIANwMAIAJB+ABqQgA3AwAgAkHwAGpCADcDACACQegAakIANwMAIAJB4ABqQgA3AwAgAkHYAGpCADcDACACQdAAakIANwMAIAJCADcDSANAIAJByABqIANqIgQgAkEIaiADaiIBQQNqLQAAQRh0IAQoAgAgAS0AAHIgAUEBai0AAEEIdHIgAUECai0AAEEQdHJyNgIAIANBBGoiA0HAAEcNAAsgAkHQAWoiASACKAJQIgVBBnQgAigCTCIGQRp2ckH/////AXE2AgAgAkHYAWoiAyACKAJYIglBDHQgAigCVCIIQRR2ckH/////AXE2AgAgAkHgAWoiBCACKAJgIgtBEnQgAigCXCIKQQ52ckH/////AXE2AgAgAkHoAWoiByACKAJoIg5BGHQgAigCZCIMQQh2ckH/////AXE2AgAgAiACKAJIIg1B/////wFxNgLIASACIAZBA3QgDUEddnJB/////wFxNgLMASACIAhBCXQgBUEXdnJB/////wFxNgLUASACIApBD3QgCUERdnJB/////wFxNgLcASACIAxBFXQgC0ELdnJB/////wFxNgLkASACQZACaiACKAKEASIGQQ12NgIAIAJB+AFqIgkgAigCcCIIQQF0IAIoAmwiBUEfdnJB/////wFxNgIAIAJBgAJqIgsgAigCeCIKQQd0IAIoAnQiDEEZdnJB/////wFxNgIAIAJBiAJqIg0gAigCgAEiD0ENdCACKAJ8IhBBE3ZyQf////8BcTYCACACIAVBAnZB/////wFxNgL0ASACIAVBG3QgDkEFdnJB/////wFxNgLwASACIAxBBHQgCEEcdnJB/////wFxNgL8ASACIBBBCnQgCkEWdnJB/////wFxNgKEAiACIAZBEHQgD0EQdnJB/////wFxNgKMAiACQZgCaiIMIAJByAFqQdSFwAAQLSAHIAJBuAJqIgUoAgA2AgAgBCACQbACaiIGKQMANwMAIAMgAkGoAmoiCCkDADcDACABIAJBoAJqIgopAwA3AwAgAiACKQOYAjcDyAEgDCACQfABakGwhcAAEC0gCSAKKQMAIhE3AwAgCyAIKQMAIhI3AwAgDSAGKQMAIhQ3AwAgAiACKQOYAiITNwPwASAAIAIoAsgBIBOnaiIGQf////8BcUHtp9fnAWsiCUH/////AXFB7afX5wFBACAHKAIAIAUoAgAgAigC5AEgAigCjAIgBCgCACAUpyACKALcASACKAKEAiADKAIAIBKnIAIoAtQBIAIoAvwBIAEoAgAgEacgAigCzAEgAigC9AEgBkEddmpqIgFBHXZqaiIDQR12amoiBEEddmpqIgdBHXZqaiIFQR12amoiBkEddmpqIghBHXZqakH/////AXEgCEH/////AXEgBkH/////AXEgBUH/////AXEgB0H/////AXEgBEH/////AXEgA0H/////AXEgAUH/////AXEgCUEfdWpB0rHMBGsiAUEfdWpBluuc7wFrIgdBH3VqQcX6zu8BayIFQR91akHNAmsiBkEfdWoiCUEfdWoiCEEfdWoiC0EfdWoiCkGAgMAASCIDG2oiBDoAACAAIARBEHY6AAIgACAEQQh2OgABIAAgAUH/////AXEgBEEddmpB0rHMBEEAIAMbaiIBQRN2OgAGIAAgAUELdjoABSAAIAFBA3Y6AAQgACAEQRh2QR9xIAFBBXRyOgADIAAgB0H/////AXEgAUEddmpBluuc7wFBACADG2oiBEEOdjoACSAAIARBBnY6AAggACABQRt2QQNxIARBAnRyOgAHIAAgBUH/////AXEgBEEddmpBxfrO7wFBACADG2oiAUERdjoADSAAIAFBCXY6AAwgACABQQF2OgALIAAgAUEHdCAEQYCAgP4BcUEWdnI6AAogACAGQf////8BcSABQR12akHNAkEAIAMbaiIDQRR2OgARIAAgA0EMdjoAECAAIANBBHY6AA8gACABQRl2QQ9xIANBBHRyOgAOIAAgCUH/////AXEgA0EddmoiBEEPdjoAFCAAIARBB3Y6ABMgACADQRx2QQFxIARBAXRyOgASIAAgCEH/////AXEgBEEddmoiAUESdjoAGCAAIAFBCnY6ABcgACABQQJ2OgAWIAAgBEEXdkE/cSABQQZ0cjoAFSAAIAtB/////wFxIAFBHXZqIgNBFXY6ABwgACADQQ12OgAbIAAgA0EFdjoAGiAAIApBgIBAaiIHIANBHXZqIgQ6AB0gACABQRp2QQdxIANBA3RyOgAZIAAgBEEIdjoAHiAAIAQgB0ELdkGAgMAAcWpBEHY6AB8gAkHAAmokAAuoFQIafyh+IwBBgAFrIgIkACACQTBqIgMgARA7IAIpA0ghHiACKQNAISIgAikDOCEpIAIpAzAhHCACKQN4ISMgAikDcCEfIAIpA2ghJCACKQNgISggAikDWCEnIAIpA1AhICADIAFBKGoQOyACKQNIISogAikDQCErIAIpAzghLiACKQMwIR0gAikDeCEsIAIpA3AhLSACKQNoIS8gAikDYCEwIAIpA1ghMSACKQNQISUgAyABQdAAahA7IAIpA3ghMiACKQNwITMgAikDaCE0IAIpA2AhNSACKQNIITYgAikDQCE3IAIpAzAhOCACKQM4ITkgAikDUCE6IAIpA1ghOyABQSxqKAIAIQQgAUEwaigCACELIAFBNGooAgAhBSABQThqKAIAIQYgAUE8aigCACEMIAFBQGsoAgAhByABQcQAaigCACEIIAFByABqKAIAIQ0gASgCKCEJIAEoAgAhCiABKAIEIQ4gASgCCCEPIAEoAgwhECABKAIQIREgASgCFCESIAEoAhghEyABKAIcIRQgASgCICEVIAIgAUHMAGooAgAgASgCJGo2AiwgAiANIBVqNgIoIAIgCCAUajYCJCACIAcgE2o2AiAgAiAMIBJqNgIcIAIgBiARajYCGCACIAUgEGo2AhQgAiALIA9qNgIQIAIgBCAOajYCDCACIAkgCmo2AgggAyACQQhqEDsgAikDeCE8IAIpA3AhPSACKQNoIT4gAikDYCE/IAIpA1ghQCACKQNIIUEgAikDQCFCIAIpAzghQyACKQMwISYgAikDUCEhIABBzABqICMgHyAkICggJyAgQhqIfCInQhmIfCIoQhqIfCIkQhmIfCIfQhqIfCIjp0H///8PcSIBICwgLSAvIDAgMSAlQhqIfCIxQhmIfCIwQhqIfCIvQhmIfCItQhqIfCIsp0H///8PcSIEaiILNgIAIABByABqIB+nQf///x9xIgUgLadB////H3EiBmoiDDYCACAAQcQAaiAkp0H///8PcSIHIC+nQf///w9xIghqIg02AgAgAEFAayAop0H///8fcSIJIDCnQf///x9xIgpqIg42AgAgAEE8aiAnQv///w+DICBC////H4MgHiAiICkgHEIaiHwiIEIZiHwiIkIaiHwiHkIZiHwiKUIaiHwiH6cgMUL///8PgyAlQv///x+DICogKyAuIB1CGoh8IiVCGYh8IiRCGoh8IihCGYh8IidCGoh8IiqnaiIPNgIAIABBOGogKadB////H3EiECAnp0H///8fcSIRaiISNgIAIABBNGogHqdB////D3EiEyAop0H///8PcSIUaiIVNgIAIABBMGogIqdB////H3EiAyAkp0H///8fcSIWaiIXNgIAIAAgI0IZiEITfiAcQv///x+DfCIcp0H///8fcSIYICxCGYhCE34gHUL///8fg3wiHadB////H3EiGWoiGjYCKCAAQSxqICBC////D4MgHEIaiHwiHKcgJUL///8PgyAdQhqIfCIgp2oiGzYCACAAQegAaiAKIAlrQfD///8Daq0gKiAffULw////AXxC/////w+DIBEgEGtB8P///wNqrSIdQhqIfCIlQhmIfCIep0H///8fcSIJNgIAIABB7ABqIAggB2tB8P///wFqrSAeQhqIfCIep0H///8PcSIHNgIAIABB8ABqIAYgBWtB8P///wNqrSAeQhmIfCIep0H///8fcSIFNgIAIABB2ABqIBYgA2tB8P///wNqrSAgIBx9QvD///8BfEL/////D4MgGSAYa0HQ/f//A2qtIhxCGoh8IiBCGYh8IiKnQf///x9xIgY2AgAgAEH0AGogBCABa0Hw////AWqtIB5CGoh8Ih6nQf///w9xIgE2AgAgAEHcAGogFCATa0Hw////AWqtICJCGoh8IiKnQf///w9xIgQ2AgAgAEHkAGogJUL///8PgyAdQv///x+DICJCGYh8Ih1CGoh8IiU+AgAgAEHgAGogHadB////H3EiCDYCACAAQdQAaiAgQv///w+DIB5CGYhCE34gHEL///8fg3wiHEIaiHwiID4CACAAIBynQf///x9xIgo2AlAgACAhQv///x+DIEEgQiBDICZCGoh8IhxCGYh8Ih1CGoh8Ih5CGYh8IiKnQf///x9xIBJrQfD///8Daq0iKUIaiCBAICFCGoh8IiFC////D4MgIkIaiHynIA9rQfD///8Baq18IiJCGYggPyAhQhmIfCIhp0H///8fcSAOa0Hw////A2qtfCIjp0H///8fcTYCGCAAID4gIUIaiHwiIadB////D3EgDWtB8P///wFqrSAjQhqIfCIjp0H///8PcTYCHCAAID0gIUIZiHwiIadB////H3EgDGtB8P///wNqrSAjQhmIfCIjp0H///8fcTYCICAAIB2nQf///x9xIBdrQfD///8Daq0gPCAhQhqIfCIdQhmIQhN+ICZC////H4N8IianQf///x9xIBprQdD9//8Daq0iIUIaiCAcQv///w+DICZCGoh8pyAba0Hw////AWqtfCIcQhmIfCImp0H///8fcTYCCCAAQZABaiA6QgGGIh9C/v//H4MgNkIBhiA3QgGGIDlCAYYgOEIBhiIkQhqIfCIoQhmIfCInQhqIfCIqQhmIfCIrp0H///8fcSAIa0Hw////A2qtIi5CGoggO0IBhiAfQhqIfCIfQv///w+DICtCGoh8ICV9QvD///8BfEL/////D4N8IiVCGYggNUIBhiAfQhmIfCIfp0H///8fcSAJa0Hw////A2qtfCIrp0H///8fcTYCACAAQYABaiAnp0H///8fcSAGa0Hw////A2qtIDJCAYYgM0IBhiA0QgGGIB9CGoh8Ih9CGYh8IidCGoh8IixCGYhCE34gJEL+//8fg3wiJKdB////H3EgCmtB0P3//wNqrSItQhqIIChC////D4MgJEIaiHwgIH1C8P///wF8Qv////8Pg3wiIEIZiHwiJKdB////H3E2AgAgACAdp0H///8PcSALa0Hw////AWqtICNCGoh8Ih2nQf///w9xNgIkIAAgHqdB////D3EgFWtB8P///wFqrSAmQhqIfCImp0H///8PcTYCDCAAQZQBaiAfp0H///8PcSAHa0Hw////AWqtICtCGoh8Ih6nQf///w9xNgIAIABBhAFqICqnQf///w9xIARrQfD///8Baq0gJEIaiHwiI6dB////D3E2AgAgACAiQv///w+DIClC////H4MgJkIZiHwiJkIaiHw+AhQgACAmp0H///8fcTYCECAAIBxC////D4MgHUIZiEITfiAhQv///x+DfCIcQhqIfD4CBCAAIBynQf///x9xNgIAIABBmAFqICenQf///x9xIAVrQfD///8Daq0gHkIZiHwiHKdB////H3E2AgAgAEGMAWogJUL///8PgyAuQv///x+DICNCGYh8Ih1CGoh8PgIAIABBiAFqIB2nQf///x9xNgIAIABBnAFqICynQf///w9xIAFrQfD///8Baq0gHEIaiHwiHKdB////D3E2AgAgAEH8AGogIEL///8PgyAcQhmIQhN+IC1C////H4N8IhxCGoh8PgIAIAAgHKdB////H3E2AnggAkGAAWokAAvuFAIafxp+IwBBMGsiBCQAIAEvAAQhAyABLQAGIQUgAS0AGCEGIAEtABYhByABLQAXIQogAS8ACCEIIAEtAAchCyABLwAMIQkgAS0ACyEQIAEtAAohESABLwAQIQwgAS0ADyESIAEtAA4hEyABLQAUIQ0gAS0AFSEOIAEtABMhFCABLQASIRUgAS0AHCEPIAEtABkhFiABLQAaIRcgAS0AGyEYIAEtAAMhGSABLwAAIRogAS0AAiEbIARBCGoiAiABLwAdIAEtAB9BEHRyNgIgIAIgGUEYdCIBQYCAgPgBcSAaIBtBEHRycjYCACACIA9BFXQgFkEIdCIPIBdBEHQgGEEYdHJyQQt2cjYCHCACIA0gDkEIdCIOckEPdCAVQRB0Ig0gFEEYdHJBEXZyQf////8BcTYCFCACIAwgDXJBDHQgE0EQdCIMIBJBGHRyQRR2ckH/////AXE2AhAgAiAJIAxyQQl0IBFBEHQiCSAQQRh0ckEXdnJB/////wFxNgIMIAIgCCAJckEGdCALQRh0IghBGnZyQf////8BcTYCCCACIAYgD3JBEnQgB0EQdCAKQRh0ciAOckEOdnJB/////wFxNgIYIAIgCCADIAVBEHRyckEDdCABQR12ckH/////AXE2AgQgACAEKAIoIgEgBCgCFCICaq0iJ0KC5oXTA34gAa0iLUL/////AX4iKCAEKAIkIgGtIi5C/////wF+Ii8gBCgCICIDrSIpQv//P358fCIwIAQoAgwi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BCgCEBEAAEUNAAtBAQ8LQQEhAyAAQYCAxABGDQIgCCABIAIgBCgCDBEDAA0CQQAhAwNAIAMgBkYEQEEADwsgA0EBaiEDIAggACAEKAIQEQAARQ0ACyADQQFrIAZJDwsMAgsgACgCFCABIAIgAEEYaigCACgCDBEDACEDCyADDwsgACgCFCABIAIgAEEYaigCACgCDBEDAAvhDgIbfwZ+IwBB8AFrIgMkACABQSxqKAIAIQwgAUEwaigCACENIAFBNGooAgAhDiABQThqKAIAIQ8gAUE8aigCACEQIAFBQGsoAgAhESABQcQAaigCACESIAFByABqKAIAIRMgAUHMAGooAgAhFCABKAIEIRUgASgCCCEEIAEoAgwhBSABKAIQIQYgASgCFCEHIAEoAhghCCABKAIcIQkgASgCICEKIAEoAiQhCyADIAEoAgAgASgCKGo2AgAgAyALIBRqNgIkIAMgCiATajYCICADIAkgEmo2AhwgAyAIIBFqNgIYIAMgByAQajYCFCADIAYgD2o2AhAgAyAFIA5qNgIMIAMgBCANajYCCCADIAwgFWo2AgQgA0EoaiIEIAFBKGogARA/IANB0ABqIAMgAkEoahAxIANB+ABqIAQgAhAxIANBoAFqIAFB+ABqIAJB+ABqEDEgA0HIAWogAUHQAGogAkHQAGoQMSADKALgASEMIAMoAsgBIQ0gAygCzAEhDiADKALQASEPIAMoAtQBIRAgAygC2AEhESADKALcASESIAMoAuQBIRMgAygC6AEhFCADKALsASEVIAMoApwBIQEgAygCdCECIAMoApgBIQQgAygCcCEFIAMoAoQBIQYgAygCXCEHIAMoApQBIQggAygCbCEJIAMoAoABIQogAygCWCELIAMoAnwhFiADKAJUIRcgAygCeCEYIAMoAlAhGSAAIAMoAmggAygCkAFrQfD///8Daq0gAygCZCADKAKMAWtB8P///wFqrSADKAJgIAMoAogBa0Hw////A2qtIh5CGoh8IiFCGYh8Ih+nQf///x9xNgIYIAAgCyAKa0Hw////A2qtIBcgFmtB8P///wFqrSAZIBhrQdD9//8Daq0iIkIaiHwiI0IZiHwiIKdB////H3E2AgggACAJIAhrQfD///8Baq0gH0IaiHwiH6dB////D3E2AhwgACAHIAZrQfD///8Baq0gIEIaiHwiIKdB////D3E2AgwgACAFIARrQfD///8Daq0gH0IZiHwiH6dB////H3E2AiAgACAhQv///w+DIB5C////H4MgIEIZiHwiHkIaiHw+AhQgACAep0H///8fcTYCECAAIAIgAWtB8P///wFqrSAfQhqIfCIep0H///8PcTYCJCAAICNC////D4MgHkIZiEITfiAiQv///x+DfCIeQhqIfD4CBCAAIB6nQf///x9xNgIAIAMoAlAhASADKAJ4IQIgAygCVCEEIAMoAnwhBSADKAJYIQYgAygCgAEhByADKAJcIQggAygChAEhCSADKAJgIQogAygCiAEhCyADKAJkIRYgAygCjAEhFyADKAJoIRggAygCkAEhGSADKAJsIRogAygClAEhGyADKAJwIRwgAygCmAEhHSAAQcwAaiADKAKcASADKAJ0ajYCACAAQcgAaiAcIB1qNgIAIABBxABqIBogG2o2AgAgAEFAayAYIBlqNgIAIABBPGogFiAXajYCACAAQThqIAogC2o2AgAgAEE0aiAIIAlqNgIAIABBMGogBiAHajYCACAAQSxqIAQgBWo2AgAgACABIAJqNgIoIAMoAqwBIQQgAygCqAEhBSADKAKkASEGIAMoAqABIQcgAygCuAEhCCADKAK0ASEJIAMoArABIQogAygCvAEhASADKALAASECIABBnAFqIAMoAsQBIgsgFUEBdCIVajYCACAAQZgBaiACIBRBAXQiFGo2AgAgAEGUAWogASATQQF0IhNqNgIAIABBjAFqIBJBAXQiEiADKAK0AWo2AgAgAEGIAWogEUEBdCIRIAMoArABajYCACAAQYQBaiAQQQF0IhAgAygCrAFqNgIAIABBgAFqIA9BAXQiDyADKAKoAWo2AgAgAEH8AGogDkEBdCIOIAMoAqQBajYCACAAIA1BAXQiDSADKAKgAWo2AnggAEGQAWogDEEBdCIMIAMoArgBajYCACAAQegAaiAMIAhrQfD///8Daq0gEiAJa0Hw////AWqtIBEgCmtB8P///wNqrSIeQhqIfCIhQhmIfCIfp0H///8fcTYCACAAQdgAaiAPIAVrQfD///8Daq0gDiAGa0Hw////AWqtIA0gB2tB0P3//wNqrSIiQhqIfCIjQhmIfCIgp0H///8fcTYCACAAQewAaiATIAFrQfD///8Baq0gH0IaiHwiH6dB////D3E2AgAgAEHcAGogECAEa0Hw////AWqtICBCGoh8IiCnQf///w9xNgIAIABB8ABqIBQgAmtB8P///wNqrSAfQhmIfCIfp0H///8fcTYCACAAQeQAaiAhQv///w+DIB5C////H4MgIEIZiHwiHkIaiHw+AgAgAEHgAGogHqdB////H3E2AgAgAEH0AGogFSALa0Hw////AWqtIB9CGoh8Ih6nQf///w9xNgIAIABB1ABqICNC////D4MgHkIZiEITfiAiQv///x+DfCIeQhqIfD4CACAAIB6nQf///x9xNgJQIANB8AFqJAALxQ4CG38GfiMAQfABayIDJAAgAUEsaigCACEEIAFBMGooAgAhBSABQTRqKAIAIQYgAUE4aigCACEHIAFBPGooAgAhCCABQUBrKAIAIQkgAUHEAGooAgAhCiABQcgAaigCACEMIAFBzABqKAIAIQ0gASgCBCEOIAEoAgghDyABKAIMIRAgASgCECERIAEoAhQhEiABKAIYIRMgASgCHCEUIAEoAiAhFSABKAIkIQsgAyABKAIAIAEoAihqNgIAIAMgCyANajYCJCADIAwgFWo2AiAgAyAKIBRqNgIcIAMgCSATajYCGCADIAggEmo2AhQgAyAHIBFqNgIQIAMgBiAQajYCDCADIAUgD2o2AgggAyAEIA5qNgIEIANBKGoiBCABQShqIAEQPyADQdAAaiADIAIQMSADQfgAaiAEIAJBKGoQMSADQaABaiABQfgAaiACQfgAahAxIANByAFqIAFB0ABqIAJB0ABqEDEgAygCyAEhDCADKALMASENIAMoAtABIQ4gAygC1AEhDyADKALYASEQIAMoAtwBIREgAygC4AEhEiADKALkASETIAMoAugBIRQgAygC7AEhFSADKAKcASEBIAMoAnQhAiADKAKYASEEIAMoAnAhBSADKAKEASEGIAMoAlwhByADKAKUASEIIAMoAmwhCSADKAKAASEKIAMoAlghCyADKAJ8IRYgAygCVCEXIAMoAnghGCADKAJQIRkgACADKAJoIAMoApABa0Hw////A2qtIAMoAmQgAygCjAFrQfD///8Baq0gAygCYCADKAKIAWtB8P///wNqrSIeQhqIfCIhQhmIfCIfp0H///8fcTYCGCAAIAsgCmtB8P///wNqrSAXIBZrQfD///8Baq0gGSAYa0HQ/f//A2qtIiJCGoh8IiNCGYh8IiCnQf///x9xNgIIIAAgCSAIa0Hw////AWqtIB9CGoh8Ih+nQf///w9xNgIcIAAgByAGa0Hw////AWqtICBCGoh8IiCnQf///w9xNgIMIAAgBSAEa0Hw////A2qtIB9CGYh8Ih+nQf///x9xNgIgIAAgIUL///8PgyAeQv///x+DICBCGYh8Ih5CGoh8PgIUIAAgHqdB////H3E2AhAgACACIAFrQfD///8Baq0gH0IaiHwiHqdB////D3E2AiQgACAjQv///w+DIB5CGYhCE34gIkL///8fg3wiHkIaiHw+AgQgACAep0H///8fcTYCACADKAJQIQEgAygCeCECIAMoAlQhBCADKAJ8IQUgAygCWCEGIAMoAoABIQcgAygCXCEIIAMoAoQBIQkgAygCYCEKIAMoAogBIQsgAygCZCEWIAMoAowBIRcgAygCaCEYIAMoApABIRkgAygCbCEaIAMoApQBIRsgAygCcCEcIAMoApgBIR0gAEHMAGogAygCnAEgAygCdGo2AgAgAEHIAGogHCAdajYCACAAQcQAaiAaIBtqNgIAIABBQGsgGCAZajYCACAAQTxqIBYgF2o2AgAgAEE4aiAKIAtqNgIAIABBNGogCCAJajYCACAAQTBqIAYgB2o2AgAgAEEsaiAEIAVqNgIAIAAgASACajYCKCADKAKgASEBIAMoAqQBIQIgAygCqAEhBCADKAKsASEFIAMoArABIQYgAygCtAEhByADKAK4ASEIIAMoArwBIQkgAygCwAEhCiAAQfQAaiADKALEASILIBVBAXQiFWo2AgAgAEHwAGogCiAUQQF0IhRqNgIAIABB7ABqIAkgE0EBdCITajYCACAAQegAaiAIIBJBAXQiEmo2AgAgAEHkAGogByARQQF0IhFqNgIAIABB4ABqIAYgEEEBdCIQajYCACAAQdwAaiAFIA9BAXQiD2o2AgAgAEHYAGogBCAOQQF0Ig5qNgIAIABB1ABqIAIgDUEBdCINajYCACAAIAEgDEEBdCIMajYCUCAAQZABaiASIAhrQfD///8Daq0gESAHa0Hw////AWqtIBAgBmtB8P///wNqrSIeQhqIfCIhQhmIfCIfp0H///8fcTYCACAAQYABaiAOIARrQfD///8Daq0gDSACa0Hw////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fiMAQaAGayICJAAgAkHQBWoiBSABEDsgAiACKQOABiACKQP4BSACKQPwBSIIQhqIfCILQhmIfCIJp0H///8fcTYCGCACIAIpA+AFIAIpA9gFIAIpA9AFIgxCGoh8Ig1CGYh8IgqnQf///x9xNgIIIAIgAikDiAYgCUIaiHwiCadB////D3E2AhwgAiACKQPoBSAKQhqIfCIKp0H///8PcTYCDCACIAIpA5AGIAlCGYh8IgmnQf///x9xNgIgIAIgC0L///8PgyAIQv///x+DIApCGYh8IghCGoh8PgIUIAIgCKdB////H3E2AhAgAiACKQOYBiAJQhqIfCIIp0H///8PcTYCJCACIA1C////D4MgCEIZiEITfiAMQv///x+DfCIIQhqIfD4CBCACIAinQf///x9xNgIAIAUgAhA7IAIgAikDgAYgAikD+AUgAikD8AUiCEIaiHwiC0IZiHwiCadB////H3E2AsAFIAIgAikD4AUgAikD2AUgAikD0AUiDEIaiHwiDUIZiHwiCqdB////H3E2ArAFIAIgAikDiAYgCUIaiHwiCadB////D3E2AsQFIAIgAikD6AUgCkIaiHwiCqdB////D3E2ArQFIAIgAikDkAYgCUIZiHwiCadB////H3E2AsgFIAIgC0L///8PgyAIQv///x+DIApCGYh8IghCGoh8PgK8BSACIAinQf///x9xNgK4BSACIAIpA5gGIAlCGoh8IginQf///w9xNgLMBSACIA1C////D4MgCEIZiEITfiAMQv///x+DfCIIQhqIfD4CrAUgAiAIp0H///8fcTYCqAUgBSACQagFaiIGEDsgAiACKQOABiACKQP4BSACKQPwBSIIQhqIfCILQhmIfCIJp0H///8fcTYCQCACIAIpA+AFIAIpA9gFIAIpA9AFIgxCGoh8Ig1CGYh8IgqnQf///x9xNgIwIAIgAikDiAYgCUIaiHwiCadB////D3E2AkQgAiACKQPoBSAKQhqIfCIKp0H///8PcTYCNCACIAIpA5AGIAlCGYh8IgmnQf///x9xNgJIIAIgC0L///8PgyAIQv///x+DIApCGYh8IghCGoh8PgI8IAIgCKdB////H3E2AjggAiACKQOYBiAJQhqIfCIIp0H///8PcTYCTCACIA1C////D4MgCEIZiEITfiAMQv///x+DfCIIQhqI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mMAAKAIARw0BQaiYwAAgADYCAAwCCyAAQcCYwAAoAgAiA00NAUG0mMAAKAIAIgFFDQFBACECAkBBrJjAACgCACIFQSlJDQBBiJbAACEAA0AgASAAKAIAIgdPBEAgByAAKAIEaiABSw0CCyAAKAIIIgANAAsLQZCWwAAoAgAiAARAA0AgAkEBaiECIAAoAggiAA0ACwtByJjAAEH/HyACIAJB/x9NGzYCACADIAVPDQFBwJjAAEF/NgIADwsgAEGAAkkNASACIAAQSUEAIQJByJjAAEHImMAAKAIAQQFrIgA2AgAgAA0AQZCWwAAoAgAiAARAA0AgAkEBaiECIAAoAggiAA0ACwtByJjAAEH/HyACIAJB/x9NGzYCAA8LDwsgAEF4cUGYlsAAaiEBAn9BoJjAACgCACIDQQEgAEEDdnQiAHEEQCABKAIIDAELQaCYwAAgACADcjYCACABCyEAIAEgAjYCCCAAIAI2AgwgAiABNgIMIAIgADYCCAuGCwIJfwx+IwBB4AJrIgIkACACQRBqIgNBgIrAACkDADcDACACQRhqIgRBiIrAACkDADcDACACQSBqIgVBkIrAACkDADcDACACQShqIgZBmIrAACkDADcDACACQTBqIgdBoIrAACkDADcDACACQThqIghBqIrAACkDADcDACACQUBrIglBsIrAACkDADcDACACQfiJwAApAwA3AwggAkGAAmpB4AAQfxogAkHQAGpCADcDACACQfgBaiABQRhqKQAANwMAIAJB8AFqIAFBEGopAAA3AwAgAkHoAWogAUEIaikAADcDACACQgA3A0ggAiABKQAANwPgASACQdgAaiACQeABaiIKQYABEH4hASACQSA6ANgBIAJBgAE6AHggAkH5AGpB3wAQfxogAkHQAWpCgICAgICAwAA3AwAgAkHIAWpCADcDACACQQhqIAFBARAfIAJBADoA2AEgBikDACEMIAcpAwAhDSAIKQMAIQ4gCSkDACEPIAMpAwAhCyAEKQMAIRAgAikDCCERIAJB/QFqIAUpAwAiEkI4hiASQoD+A4NCKIaEIBJCgID8B4NCGIYgEkKAgID4D4NCCIaEhCITQiiIPQAAIAJB9QFqIBBCOIYgEEKA/gODQiiGhCAQQoCA/AeDQhiGIBBCgICA+A+DQgiGhIQiFEIoiD0AACACQe0BaiALQjiGIAtCgP4Dg0IohoQgC0KAgPwHg0IYhiALQoCAgPgPg0IIhoSEIhVCKIg9AAAgAkHlAWogEUI4hiARQoD+A4NCKIaEIBFCgID8B4NCGIYgEUKAgID4D4NCCIaEhCIWQiiIPQAAIAIgEkI4iDwA+AEgAiAQPAD3ASACIBBCOIg8APABIAIgCzwA7wEgAiALQjiIPADoASACIBE8AOcBIAIgEyASQiiIQoD+A4MgEkIIiEKAgID4D4MgEkIYiEKAgPwHg4SEhEIIiD4A+QEgAiAUIBBCKIhCgP4DgyAQQgiIQoCAgPgPgyAQQhiIQoCA/AeDhISEQgiIPgDxASACIBUgC0IoiEKA/gODIAtCCIhCgICA+A+DIAtCGIhCgID8B4OEhIRCCIg+AOkBIAIgFiARQiiIQoD+A4MgEUIIiEKAgID4D4MgEUIYiEKAgPwHg4SEhEIIiD4A4QEgAiARQjiIp0H4AXE6AOABIAIgEkL/AYOnQT9xQcAAcjoA/wEgACAKECkgAEE9aiAPQjiGIA9CgP4Dg0IohoQgD0KAgPwHg0IYhiAPQoCAgPgPg0IIhoSEIgtCKIg9AAAgAEE5aiALIA9CKIhCgP4DgyAPQgiIQoCAgPgPgyAPQhiIQoCA/AeDhISEQgiIPgAAIABBNWogDkI4hiAOQoD+A4NCKIaEIA5CgID8B4NCGIYgDkKAgID4D4NCCIaEhCILQiiIPQAAIABBMWogCyAOQiiIQoD+A4MgDkIIiEKAgID4D4MgDkIYiEKAgPwHg4SEhEIIiD4AACAAQS1qIA1COIYgDUKA/gODQiiGhCANQoCA/AeDQhiGIA1CgICA+A+DQgiGhIQiC0IoiD0AACAAQSlqIAsgDUIoiEKA/gODIA1CCIhCgICA+A+DIA1CGIhCgID8B4OEhIRCCIg+AAAgAEElaiAMQjiGIAxCgP4Dg0IohoQgDEKAgPwHg0IYhiAMQoCAgPgPg0IIhoSEIgtCKIg9AAAgAEEhaiALIAxCKIhCgP4DgyAMQgiIQoCAgPgPgyAMQhiIQoCA/AeDhISEQgiIPgAAIABBP2ogDzwAACAAQThqIA9COIg8AAAgAEE3aiAOPAAAIABBMGogDkI4iDwAACAAQS9qIA08AAAgAEEoaiANQjiIPAAAIABBJ2ogDDwAACAAIAxCOIg8ACAgAkHgAmokAAuXCAIjfg1/IAAgASgCDCImQQF0rSISIAIoAgwiJ60iDn4gASgCBCIoQQF0rSITIAIoAhQiKa0iFH58IAEoAhQiKkEBdK0iFSACKAIEIiutIgt+fCABKAIcIixBAXStIhYgAigCJCItQRNsrSIFfnwgATUCACIDIAIoAhgiLq0iHn58IAEoAiQiL0EBdK0iFyACKAIcIjBBE2ytIgx+fCABNQIIIgYgAigCECIxrSIPfnwgATUCECIHIAIoAggiMq0iDX58IAE1AhgiCCACNQIAIgl+fCABNQIgIgogAigCICIBQRNsrSIEfnwgJq0iGCANfiAorSIZIA9+fCAsrSIaIAR+fCAvrSIbIC5BE2ytIhB+fCADIBR+fCAJICqtIhx+fCAGIA5+fCAHIAt+fCAFIAh+fCAKIAx+fCALIBJ+IA4gE358IAUgFX58IAwgFn58IAMgD358IBcgKUETbK0iHX58IAYgDX58IAcgCX58IAQgCH58IAogEH58IiJCGoh8IiNCGYh8Ih+nQf///x9xNgIYIAAgBSASfiALIBN+fCAMIBV+fCAWIB1+fCADIA1+fCAXICdBE2ytIhF+fCAGIAl+fCAEIAd+fCAIIBB+fCAKIDFBE2ytIiB+fCAQIBx+IAQgGH58IBogIH58IBsgMkETbK0iIX58IAMgC358IAkgGX58IAUgBn58IAcgDH58IAggHX58IAogEX58IAwgEn4gBSATfnwgFSAdfnwgESAWfnwgFyArQRNsrX58IAMgCX58IAQgBn58IAcgEH58IAggIH58IAogIX58IiFCGoh8IiRCGYh8IiWnQf///x9xNgIIIAAgDyAYfiAZIB5+fCANIBx+fCAEIBt+fCADIDCtIhF+fCAJIBp+fCAGIBR+fCAHIA5+fCAIIAt+fCAFIAp+fCAfQhqIfCIfp0H///8PcTYCHCAAIAQgHH4gDSAZfnwgECAafnwgGyAgfnwgAyAOfnwgCSAYfnwgBiALfnwgBSAHfnwgCCAMfnwgCiAdfnwgJUIaiHwiBKdB////D3E2AgwgACASIBR+IBEgE358IA4gFX58IAsgFn58IAMgAa0iDH58IAUgF358IAYgHn58IAcgD358IAggDX58IAkgCn58IB9CGYh8IgWnQf///x9xNgIgIAAgI0L///8PgyAiQv///x+DIARCGYh8IgRCGoh8PgIUIAAgBKdB////H3E2AhAgACAYIB5+IAwgGX58IA8gHH58IA0gGn58IAMgLa1+fCAJIBt+fCAGIBF+fCAHIBR+fCAIIA5+fCAKIAt+fCAFQhqIfCIDp0H///8PcTYCJCAAICRC////D4MgA0IZiEITfiAhQv///x+DfCIDQhqIfD4CBCAAIAOnQf///x9xNgIAC88JAQF/IABBACACQf8BcWsiAiAAKAIAIgMgASgCAHNxIANzNgIAIAAgACgCBCIDIAEoAgRzIAJxIANzNgIEIAAgACgCCCIDIAEoAghzIAJxIANzNgIIIAAgACgCDCIDIAEoAgxzIAJxIANzNgIMIAAgACgCECIDIAEoAhBzIAJxIANzNgIQIAAgACgCFCIDIAEoAhRzIAJxIANzNgIUIAAgACgCGCIDIAEoAhhzIAJxIANzNgIYIAAgACgCHCIDIAEoAhxzIAJxIANzNgIcIAAgACgCICIDIAEoAiBzIAJxIANzNgIgIAAgACgCJCIDIAEoAiRzIAJxIANzNgIkIAAgACgCKCIDIAEoAihzIAJxIANzNgIoIABBLGoiAyADKAIAIgMgAUEsaigCAHMgAnEgA3M2AgAgAEEwaiIDIAMoAgAiAyABQTBqKAIAcyACcSADczYCACAAQTRqIgMgAygCACIDIAFBNGooAgBzIAJxIANzNgIAIABBOGoiAyADKAIAIgMgAUE4aigCAHMgAnEgA3M2AgAgAEE8aiIDIAMoAgAiAyABQTxqKAIAcyACcSADczYCACAAQUBrIgMgAygCACIDIAFBQGsoAgBzIAJxIANzNgIAIABBxABqIgMgAygCACIDIAFBxABqKAIAcyACcSADczYCACAAQcgAaiIDIAMoAgAiAyABQcgAaigCAHMgAnEgA3M2AgAgAEHMAGoiAyADKAIAIgMgAUHMAGooAgBzIAJxIANzNgIAIAAgACgCUCIDIAEoAlBzIAJxIANzNgJQIABB1ABqIgMgAygCACIDIAFB1ABqKAIAcyACcSADczYCACAAQdgAaiIDIAMoAgAiAyABQdgAaigCAHMgAnEgA3M2AgAgAEHcAGoiAyADKAIAIgMgAUHcAGooAgBzIAJxIANzNgIAIABB4ABqIgMgAygCACIDIAFB4ABqKAIAcyACcSADczYCACAAQeQAaiIDIAMoAgAiAyABQeQAaigCAHMgAnEgA3M2AgAgAEHoAGoiAyADKAIAIgMgAUHoAGooAgBzIAJxIANzNgIAIABB7ABqIgMgAygCACIDIAFB7ABqKAIAcyACcSADczYCACAAQfAAaiIDIAMoAgAiAyABQfAAaigCAHMgAnEgA3M2AgAgAEH0AGoiAyADKAIAIgMgAUH0AGooAgBzIAJxIANzNgIAIAAgACgCeCIDIAEoAnhzIAJxIANzNgJ4IABB/ABqIgMgAygCACIDIAFB/ABqKAIAcyACcSADczYCACAAQYABaiIDIAMoAgAiAyABQYABaigCAHMgAnEgA3M2AgAgAEGEAWoiAyADKAIAIgMgAUGEAWooAgBzIAJxIANzNgIAIABBiAFqIgMgAygCACIDIAFBiAFqKAIAcyACcSADczYCACAAQYwBaiIDIAMoAgAiAyABQYwBaigCAHMgAnEgA3M2AgAgAEGQAWoiAyADKAIAIgMgAUGQAWooAgBzIAJxIANzNgIAIABBlAFqIgMgAygCACIDIAFBlAFqKAIAcyACcSADczYCACAAQZgBaiIDIAMoAgAiAyABQZgBaigCAHMgAnEgA3M2AgAgAEGcAWoiACAAKAIAIgAgAUGcAWooAgBzIAJxIABzNgIAC6sJAhZ/Bn4jAEHgA2siASQAAkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIAFBmQNqIABBDWopAAA3AAAgAUGhA2ogAEEVaikAADcAACABQacDaiAAQRtqKQAANwAAIAEgAEEFaikAADcAkQMgASAALQAEQfgBcToAkAMgASAAQSNqLQAAQT9xQcAAcjoArwMgAUEoaiABQZADaiIDECAgAUH8AGooAgAhAiABQdQAaigCACEEIAFBgAFqKAIAIQUgAUHYAGooAgAhBiABQYQBaigCACEHIAFB3ABqKAIAIQggAUGIAWooAgAhCSABQeAAaigCACEKIAFBjAFqKAIAIQsgAUHkAGooAgAhDCABQZABaigCACENIAFB6ABqKAIAIQ4gAUGUAWooAgAhDyABQewAaigCACEQIAFBmAFqKAIAIREgAUHwAGooAgAhEiABKAJ4IRMgASgCUCEUIAEgAUH0AGooAgAiFSABQZwBaigCACIWajYC7AEgASARIBJqNgLoASABIA8gEGo2AuQBIAEgDSAOajYC4AEgASALIAxqNgLcASABIAkgCmo2AtgBIAEgByAIajYC1AEgASAFIAZqNgLQASABIAIgBGo2AswBIAEgEyAUajYCyAEgASANIA5rQfD///8Daq0gCyAMa0Hw////AWqtIAkgCmtB8P///wNqrSIXQhqIfCIaQhmIfCIYp0H///8fcTYCiAIgASAFIAZrQfD///8Daq0gAiAEa0Hw////AWqtIBMgFGtB0P3//wNqrSIbQhqIfCIcQhmIfCIZp0H///8fcTYC+AEgASAPIBBrQfD///8Baq0gGEIaiHwiGKdB////D3E2AowCIAEgByAIa0Hw////AWqtIBlCGoh8IhmnQf///w9xNgL8ASABIBEgEmtB8P///wNqrSAYQhmIfCIYp0H///8fcTYCkAIgASAaQv///w+DIBdC////H4MgGUIZiHwiF0IaiHw+AoQCIAEgF6dB////H3E2AoACIAEgFiAVa0Hw////AWqtIBhCGoh8IhenQf///w9xNgKUAiABIBxC////D4MgF0IZiEITfiAbQv///x+DfCIXQhqIfD4C9AEgASAXp0H///8fcTYC8AEgAyABQfABahAuIAFB4AJqIAFBsANqKQMANwMAIAFB2AJqIAFBqANqKQMANwMAIAFB0AJqIAFBoANqKQMANwMAIAFByAJqIAFBmANqKQMANwMAIAEgASkDkAM3A8ACIAFBiANqIAFB2ANqKQMANwMAIAFBgANqIAFB0ANqKQMANwMAIAFB+AJqIAFByANqKQMANwMAIAFB8AJqIAFBwANqKQMANwMAIAEgASkDuAM3A+gCIAMgAUHAAmpBBRA6IAFBmAJqIgIgAyABQegCahAxIAMgAUHIAWogAhAxIAFBCGogAxA5IAAgACgCAEEBazYCAEH0mMAALQAAGkEkECUiAEUNAiAAQQA2AgAgACABKQMINwAEIABBDGogAUEQaikDADcAACAAQRRqIAFBGGopAwA3AAAgAEEcaiABQSBqKQMANwAAIAFB4ANqJAAgAA8LEHsACxB8AAsAC/AJAQZ/IAAgAWohBAJAAkACQCAAKAIEIgJBAXENACACQQNxRQ0BIAAoAgAiAyABaiEBIAAgA2siAEGwmMAAKAIARgRAIAQoAgRBA3FBA0cNAUGomMAAIAE2AgAgBCAEKAIEQX5xNgIEIAAgAUEBcjYCBCAEIAE2AgAPCwJA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AWogDCkDADcDACADQbgBaiALKQMANwMAIANBsAFqIAopAwA3AwAgA0GoAWogCSkDADcDACADQfgBaiAQKQMANwMAIANBgAJqIA8pAwA3AwAgA0GIAmogDikDADcDACADQZACaiANKQMANwMAIAMgAykDKDcDoAEgAyADKQNQNwPwASADQaACakHw////AyAUKAIAa61B8P///wEgA0H8AGooAgBrrUHQ/f//AyADKAJ4a60iFkIaiHwiGEIZiHwiFadB////H3E2AgAgA0GwAmpB8P///wMgEigCAGutQfD///8BIANBjAFqKAIAa61B8P///wMgEygCAGutIhdCGoh8IhpCGYh8IhmnQf///x9xNgIAIANBpAJqQfD///8BIANBhAFqKAIAa60gFUIaiHwiFadB////D3E2AgAgA0G0AmpB8P///wEgA0GUAWooAgBrrSAZQhqIfCIZp0H///8PcTYCACADQagCaiAXQv///x+DIBVCGYh8IhWnQf///x9xNgIAIANBuAJqQfD///8DIBEoAgBrrSAZQhmIfCIXp0H///8fcTYCACADQawCaiAaQv///w+DIBVCGoh8PgIAIANBvAJqQfD///8BIANBnAFqKAIAa60gF0IaiHwiFadB////D3E2AgAgA0GcAmogGEL///8PgyAVQhmIQhN+IBZC////H4N8IhZCGoh8PgIAIAMgFqdB////H3E2ApgCIANB6AFqIAUpAwA3AwAgA0HgAWogBikDADcDACADQdgBaiAHKQMANwMAIANB0AFqIAgpAwA3AwAgAyADKQMANwPIASADIANBoAFqIAEQMiAAIANBoAEQfhogA0HAAmokAAuPBwEMfyMAQcABayICJAACQAJAIAEEQCABKAIAIgRBf0YNAUEBIQMgASAEQQFqNgIAAkAgAUEMaigCAEHAAEcEQEG7gsAAQRwQACEEIAJBPmogAkH+AGotAAA6AAAgAkEIaiACQcgAaikCADcDACACQRBqIAJB0ABqKQIANwMAIAJBGGogAkHYAGopAgA3AwAgAkEgaiACQeAAaikCADcDACACQShqIAJB6ABqKQIANwMAIAJBMGogAkHwAGopAgA3AwAgAkE4aiACQfgAaigCADYCACACIAIvAHw7ATwgAiACKQJANwMAIAEgASgCAEEBazYCAAwBCyABKAIEIgMo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aiABNgIAIANBAzoAKCADQSA2AhggA0EANgIkIAMgADYCHCADQQA2AhAgA0EANgIIAn8CQAJAIAIoAhAiCkUEQCACQQxqKAIAIgBFDQEgAigCCCEBIABBA3QhBSAAQQFrQf////8BcUEBaiEHIAIoAgAhAANAIABBBGooAgAiBARAIAMoAhwgACgCACAEIAMoAiAoAgwRAwANBAsgASgCACADQQhqIAFBBGooAgARAAANAyABQQhqIQEgAEEIaiEAIAVBCGsiBQ0ACwwBCyACQRRqKAIAIgBFDQAgAEEFdCELIABBAWtB////P3FBAWohByACKAIAIQADQCAAQQRqKAIAIgEEQCADKAIcIAAoAgAgASADKAIgKAIMEQMADQMLIAMgBSAKaiIBQRBqKAIANgIYIAMgAUEcai0AADoAKCADIAFBGGooAgA2AiQgAUEMaigCACEGIAIoAgghCEEAIQlBACEEAkACQAJAIAFBCGooAgBBAWsOAgACAQsgBkEDdCAIaiIMKAIEQQJHDQEgDCgCACgCACEGC0EBIQQLIAMgBjYCDCADIAQ2AgggAUEEaigCACEEAkACQAJAIAEoAgBBAWsOAgACAQsgBEEDdCAIaiIGKAIEQQJHDQEgBigCACgCACEEC0EBIQkLIAMgBDYCFCADIAk2AhAgCCABQRRqKAIAQQN0aiIBKAIAIANBCGogASgCBBEAAA0CIABBCGohACALIAVBIGoiBUcNAAsLIAIoAgQgB0sEQCADKAIcIAIoAgAgB0EDdGoiACgCACAAKAIEIAMoAiAoAgwRAwANAQtBAAwBC0EBCyADQTBqJAAL5gMCCH8CfiMAQUBqIgIkAAJAAkAgAQRAIAEoAgAiBUF/Rg0BQQEhBCABIAVBAWo2AgACQAJAIAFBDGooAgBBIEYEQCABQQRqKAIAIgMNAQsQUyEDIAJBHmogAi0APzoAACACQQhqIAJBKGopAgA3AwAgAkEQaiACQTBqKQIANwMAIAJBGGogAkE4aigCADYCACACIAIvAD07ARwgAiACKQIgNwMAIAEgASgCAEEBazYCAAwBCyACQThqIgQgA0Efai0AADoAACACQShqIANBD2opAAAiCjcDACACQTBqIANBF2opAAAiCzcDACACQR5qIgYgA0ECai0AADoAACACQQhqIgcgCjcDACACQRBqIgggCzcDACACQRhqIgkgBCgCADYCACACIAMpAAciCjcDICACIAMvAAA7ARwgAiAKNwMAIAMoAAMhBCABIAU2AgBBACEDQfSYwAAtAAAaQSQQJSIBRQ0DIAFBADYCACABIAIvARw7AAQgASAENgAHIAEgAikDADcACyABQQZqIAYtAAA6AAAgAUETaiAHKQMANwAAIAFBG2ogCCkDADcAACABQSNqIAktAAA6AABBACEECyAAIAQ2AgggACADNgIEIAAgATYCACACQUBrJAAPCxB7AAsQfAALAAvgAwIYfgF/IAExAAUhCCABMQAEIQkgATEAFSEKIAExABQhCyABMQAIIQwgATEAByENIAExAAYhAiABMQALIQ4gATEACiEPIAExAAkhAyABMQAPIRAgATEADiERIAExAA0hEiABMQAMIQQgATEAGCETIAExABchFCABMQAWIQUgATEAGyEVIAExABohFiABMQAZIQYgATEAHyEXIAExAB4hGCABMQAdIRkgATEAHCEHIAEoAAAhGiAAIAEoABAiAUH///8PcTYCFCAAIBpB////H3E2AgAgACAXQhKGQoCA8A+DIBlCAoYgB0IGiIQgGEIKhoSEPgIkIAAgB0IUhkKAgMAfgyAWQgSGIAZCBIiEIBVCDIaEhD4CICAAIAZCFYZCgICAD4MgFEIFhiAFQgOIhCATQg2GhIQ+AhwgACASQgKGIARCBoiEIBFCCoaEIBBCEoaEPgIQIAAgBEIThkKAgOAPgyAPQgOGIANCBYiEIA5CC4aEhD4CDCAAIANCFYZCgICAH4MgDUIFhiACQgOIhCAMQg2GhIQ+AgggACAFQheGQoCAgByDIApCD4YgC0IHhoSEpyABQRl2cjYCGCAAIAJCFoZCgICADoMgCEIOhiAJQgaGhISnIBpBGnZyNgIEC+EDAgZ+Dn8gAigCJCEJIAEoAiQhCiACKAIgIQsgASgCICEMIAIoAgwhDSABKAIMIQ4gAigCHCEPIAEoAhwhECACKAIIIREgASgCCCESIAIoAgQhEyABKAIEIRQgAigCACEVIAEoAgAhFiAAIAEoAhggAigCGGtB8P///wNqrSABKAIUIAIoAhRrQfD///8Baq0gASgCECACKAIQa0Hw////A2qtIgNCGoh8IgZCGYh8IgSnQf///x9xNgIYIAAgEiARa0Hw////A2qtIBQgE2tB8P///wFqrSAWIBVrQdD9//8Daq0iB0IaiHwiCEIZiHwiBadB////H3E2AgggACAQIA9rQfD///8Baq0gBEIaiHwiBKdB////D3E2AhwgACAOIA1rQfD///8Baq0gBUIaiHwiBadB////D3E2AgwgACAMIAtrQfD///8Daq0gBEIZiHwiBKdB////H3E2AiAgACAGQv///w+DIANC////H4MgBUIZiHwiA0IaiHw+AhQgACADp0H///8fcTYCECAAIAogCWtB8P///wFqrSAEQhqIfCIDp0H///8PcTYCJCAAIAhC////D4MgA0IZiEITfiAHQv///x+DfCIDQhqIfD4CBCAAIAOnQf///x9xNgIAC+cDAQl/IAAgASgCAEH4hcAAKAIAayIDQf////8BcSABKAIgIAEoAhwgASgCGCABKAIUIAEoAhAgASgCDCABKAIIIAEoAgQgA0EfdWpB/IXAACgCAGsiAkEfdWpBgIbAACgCAGsiBEEfdWpBhIbAACgCAGsiBUEfdWpBiIbAACgCAGsiBkEfdWpBjIbAACgCAGsiB0EfdWpBkIbAACgCAGsiCEEfdWpBlIbAACgCAGsiCUEfdWpBmIbAACgCAGsiA0EfdSIBQe2n1+cBcWoiCkH/////AXE2AgAgACACQf////8BcSAKQR12aiABQdKxzARxaiICQf////8BcTYCBCAAIARB/////wFxIAJBHXZqIAFBluuc7wFxaiICQf////8BcTYCCCAAIAVB/////wFxIAJBHXZqIAFBxfrO7wFxaiICQf////8BcTYCDCAAIAZB/////wFxIAJBHXZqIAFBzQJxaiIBQf////8BcTYCECAAIAdB/////wFxIAFBHXZqIgFB/////wFxNgIUIAAgCEH/////AXEgAUEddmoiAUH/////AXE2AhggACAJQf////8BcSABQR12aiIBQf////8BcTYCHCAAIAMgAUEddmogA0ELdkGAgMAAcWpB/////wFxNgIgC94CAQd/IwBB0AFrIgIkACACQYABaiIDIAFB0ABqEC4gAkHQAGogAkGgAWopAwA3AwAgAkHIAGogAkGYAWopAwA3AwAgAkFAayIHIAJBkAFqKQMANwMAIAJBOGoiCCACQYgBaikDADcDACACIAIpA4ABNwMwIAJB+ABqIAJByAFqKQMA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IAUgADYCDCAFQRxqQgE3AgAgBUEBNgIUIAVBtJHAADYCECAFQQE2AiwgBSAFQShqNgIYIAUgBUEMajYCKCAFQRBqQZSSwAAQYwAL5wIBBX8CQEHN/3tBECAAIABBEE0bIgBrIAFNDQAgAEEQIAFBC2pBeHEgAUELSRsiBGpBDGoQJSICRQ0AIAJBCGshAQJAIABBAWsiAyACcUUEQCABIQAMAQsgAkEEayIFKAIAIgZBeHEgAiADakEAIABrcUEIayICIABBACACIAFrQRBNG2oiACABayICayEDIAZBA3EEQCAAIAAoAgRBAXEgA3JBAnI2AgQgACADaiIDIAMoAgRBAXI2AgQgBSAFKAIAQQFxIAJyQQJyNgIAIAEgAmoiAyADKAIEQQFyNgIEIAEgAhA0DAELIAEoAgAhASAAIAM2AgQgACABIAJqNgIACwJAIAAoAgQiAUEDcUUNACABQXhxIgIgBEEQak0NACAAIAFBAXEgBHJBAnI2AgQgACAEaiIBIAIgBGsiBEEDcjYCBCAAIAJqIgIgAigCBEEBcjYCBCABIAQQNAsgAEEIaiEDCyADC/oCAQl/IwBBgAFrIgIkAAJAAkAgAARAIAAoAgAiAUF/Rg0BIAAgAUEBajYCACACQQhqIgMgAEEMaikAADcDACACQRBqIgQgAEEUaikAADcDACACQRhqIgUgAEEcaikAADcDACACQSBqIgYgAEEkaikAADcDACACQShqIgcgAEEsaikAADcDACACQTBqIgggAEE0aikAADcDACACQThqIgkgAEE8aikAADcDACACIAApAAQ3AwBB9JjAAC0AABpBwAAQJSIBRQ0CIAEgAikDADcAACABQThqIAkpAwA3AAAgAUEwaiAIKQMANwAAIAFBKGogBykDADcAACABQSBqIAYpAwA3AAAgAUEYaiAFKQMANwAAIAFBEGogBCkDADcAACABQQhqIAMpAwA3AAAgACAAKAIAQQFrNgIAQfSYwAAtAAAaQRAQJSIARQ0CIABCwICAgIAINwIIIAAgATYCBCAAQQA2AgAgAkGAAWokACAADwsQewALEHwACwAL0gIBAn8jAEEQayICJAAgACgCACEAAkAgAUH/AE0EQCAAKAIIIgMgACgCBEYEfyAAIAMQTyAAKAIIBSADCyAAKAIAaiABOgAAIAAgACgCCEEBajYC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NgIgIAAgAkEYahA8CyACQTBqJAAL+wEBBX8jAEEgayICJAACQAJAIAAEQCAAKAIAIgFBf0YNASAAIAFBAWo2AgAgAkEYaiIDIABBHGopAAA3AwAgAkEQaiIEIABBFGopAAA3AwAgAkEIaiIFIABBDGopAAA3AwBB9JjAAC0AABogAiAAKQAENwMAQSAQJSIBRQ0CIAEgAikDADcAACABQRhqIAMpAwA3AAAgAUEQaiAEKQMANwAAIAFBCGogBSkDADcAACAAIAAoAgBBAWs2AgBB9JjAAC0AABpBEBAlIgBFDQIgAEKggICAgAQ3AgggACABNgIEIABBADYCACACQSBqJAAgAA8LEHsACxB8AAsAC9sBAQZ/IwBB4ANrIgAkACAAQfgBaiIBQgA3AwAgAEHwAWoiA0IANwMAIABB6AFqIgRCADcDACAAQgA3A+ABIABB4AFqIgIQQiAAQYACaiIFIAIQMCAAQcACaiICIAUQICAAIAIQQSAAQSBqIAJBoAEQfhogAEHIAWogBCkDADcDACAAQdABaiADKQMANwMAIABB2AFqIAEpAwA3AwAgACAAKQPgATcDwAFB9JjAAC0AABpB5AEQJSIBRQRAAAsgAUEANgIAIAFBBGogAEHgARB+GiAAQeADaiQAIAELywEBBX8jAEFAaiIAJAAgAEE4aiICQgA3AwAgAEEwaiIDQgA3AwAgAEEoaiIBQgA3AwAgAEIANwMgIABBIGoQQiAAQRhqIgQgAikDADcDACAAQRBqIgIgAykDADcDACAAQQhqIgMgASkDADcDACAAIAApAyA3AwBB9JjAAC0AABpBJBAlIgFFBEAACyABQQA2AgAgASAAKQMANwAEIAFBDGogAykDADcAACABQRRqIAIpAwA3AAAgAUEcaiAEKQMANwAAIABBQGskACABC74BAQJ/IwBBIGsiAyQAAkACQCABIAEgAmoiAUsNAEEIIABBBGooAgAiAkEBdCIEIAEgASAESRsiASABQQhNGyIEQX9zQR92IQECQCACBEAgAyACNgIYIANBATYCFCADIAAoAgA2AhAMAQsgA0EANgIUCyADIAEgBCADQRBqEFAgAygCBCEBIAMoAgBFBEAgACABNgIAIABBBGogBDYCAAwCCyABQYGAgIB4Rg0BIAFFDQAACxBiAAsgA0EgaiQAC7wBAQN/IwBBIGsiAiQAAkACQCABQQFqIgFFDQBBCCAAQQRqKAIAIgRBAXQiAyABIAEgA0kbIgEgAUEITRsiA0F/c0EfdiEBAkAgBARAIAIgBDYCGCACQQE2AhQgAiAAKAIANgIQDAELIAJBADYCFAsgAiABIAMgAkEQahBQIAIoAgQhASACKAIARQRAIAAgATYCACAAQQRqIAM2AgAMAgsgAUGBgICAeEYNASABRQ0AAAsQYgALIAJBIGokAAuwAQACQCABBEACfwJAIAJBAE4EQCADKAIEDQFB9JjAAC0AABogAhAlDAILIABBADYCBAwDCyADQQhqKAIAIgFFBEBB9JjAAC0AABogAhAlDAELIAMoAgAgAUEBIAIQNQsiAQRAIAAgATYCBCAAQQhqIAI2AgAgAEEANgIADwsgAEEBNgIEIABBCGogAjYCACAAQQE2AgAPCyAAQQA2AgQgAEEIaiACNgIACyAAQQE2AgALuwEBAX8CQAJAIAAEQCAAKAIAIgFBf0YNASAAIAFBAWo2AgBB9JjAAC0AABpBIBAlIgFFDQIgAUEYaiAAQdwBaikAADcAACABQRBqIABB1AFqKQAANwAAIAFBCGogAEHMAWopAAA3AAAgASAAQcQBaikAADcAACAAIAAoAgBBAWs2AgBB9JjAAC0AABpBEBAlIgBFDQIgAEKggICAgAQ3AgggACABNgIEIABBADYCACAADwsQewALEHwACwALtAEBAX8CQAJAIAAEQCAAKAIAIgFBf0YNASAAIAFBAWo2AgBB9JjAAC0AABpBIBAlIgFFDQIgASAAKQAENwAAIAFBGGogAEEcaikAADcAACABQRBqIABBFGopAAA3AAAgAUEIaiAAQQxqKQAANwAAIAAgACgCAEEBazYCAEH0mMAALQAAGkEQECUiAEUNAiAAQqCAgICABDcCCCAAIAE2AgQgAEEANgIAIAAPCxB7AAsQfAALAAujAQEEfyMAQUBqIgAkACAAQQA2AgggAEIBNwMAIABBKGpB4IDAADYCACAAQQM6ADAgAEEgNgIgIABBADYCLCAAQQA2AhggAEEANgIQIAAgADYCJCAAQRBqQdeCwABBIBAqRQRAIAAoAgQgACgCACICIAAoAggQACEDBEAgAhAvCyAAQUBrJAAgAw8LQfiAwABBNyAAQThqQbCBwABBjILAABBWAAuJAQEDfyMAQdAAayIBJAACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIAEgAEEEahA+IAFByABqQgA3AwAgAUFAa0IANwMAIAFBOGpCADcDACABQTBqQgA3AwAgAUIANwMoIAEgAUEoahBaIAAgAjYCACABQdAAaiQAQf8BcUUPCxB7AAsQfAALkgEBAX8jAEEQayIGJAACQCABBEAgBiABIAMgBCAFIAIoAhARCQACQCAGKAIEIgMgBigCCCIBTQRAIAYoAgAhBQwBCyAGKAIAIQIgAUUEQCACEC9BBCEFDAELIAIgA0ECdEEEIAFBAnQQNSIFRQ0CCyAAIAE2AgQgACAFNgIAIAZBEGokAA8LQfiQwABBMhB9AAsAC30BAX8jAEFAaiIFJAAgBSABNgIMIAUgADYCCCAFIAM2AhQgBSACNgIQIAVBJGpCAjcCACAFQTxqQQM2AgAgBUECNgIcIAVB0IPAADYCGCAFQQQ2AjQgBSAFQTBqNgIgIAUgBUEQajYCOCAFIAVBCGo2AjAgBUEYaiAEEGMAC28BAX8jAEEwayIBJAAgAUEINgIEIAEgADYCACABQRRqQgI3AgAgAUEsakEFNgIAIAFBAjYCDCABQbyDwAA2AgggAUEFNgIkIAEgAUEgajYCECABIAE2AiggASABQQRqNgIgIAFBCGpB6InAABBjAAtqAQF/IwBBwAFrIgEkAAJAAkAgAARAIAAoAgBBf0YNASABIABBBGpBwAEQfiEBQfSYwAAtAAAaQcQBECUiAEUNAiAAQQA2AgAgAEEEaiABQcABEH4aIAFBwAFqJAAgAA8LEHsACxB8AAsAC10BAX8jAEEgayICJAAgACgCACEAIAJBGGogAUEQaikCADcDACACQRBqIAFBCGopAgA3AwAgAiABKQIANwMIIAIgADYCBCACQQRqQciAwAAgAkEIahA8IAJBIGokAAtZAQF/IwBBQGoiAiQAIAIgABA5IAJBIGogARA5QQAhAEEBIQEDQCAAIAJqLQAAIAJBIGogAGotAABGEHQgAXEhASAAQQFqIgBBIEcNAAsgARB0IAJBQGskAAtWAQF/IwBBIGsiAiQAIAIgADYCBCACQRhqIAFBEGopAgA3AwAgAkEQaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQciAwAAgAkEIahA8IAJBIGokAAttAQF/QYSVwABBhJXAACgCACIBQQFqNgIAAkACQCABQQBIDQBB0JjAAC0AAEEBcQ0AQdCYwABBAToAAEHMmMAAQcyYwAAoAgBBAWo2AgBBgJXAACgCAEEASA0AQdCYwABBADoAACAADQELAAsAC0gAAkAgAWlBAUdBgICAgHggAWsgAElyDQAgAARAQfSYwAAtAAAaAn8gAUEJTwRAIAEgABBDDAELIAAQJQsiAUUNAQsgAQ8LAAtGAQF/IAIgACgCACIAKAIEIAAoAggiA2tLBEAgACADIAIQTiAAKAIIIQMLIAAoAgAgA2ogASACEH4aIAAgAiADajYCCEEAC0EBAX8gAiAAKAIEIAAoAggiA2tLBEAgACADIAIQTiAAKAIIIQMLIAAoAgAgA2ogASACEH4aIAAgAiADajYCCEEACzgBAn8CQCAABEAgACgCAA0BIABBADYCACAAKAIEIQEgACgCCCAAEC8EQCABEC8LDwsQewALEHwACzkAAkACfyACQYCAxABHBEBBASAAIAIgASgCEBEAAA0BGgsgAw0BQQALDwsgACADQQAgASgCDBEDAAs/AQF/IwBBIGsiACQAIABBFGpCADcCACAAQQE2AgwgAEGwgMAANgIIIABB0JLAADYCECAAQQhqQbiAwAAQYwAL6QEBAX8jAEEgayICJAAgAiAANgIUIAJB+ILAADYCDCACQdCSwAA2AgggAkEBOgAYIAIgATYCECMAQRBrIgAkACACQQhqIgEoAgwiAkUEQCMAQSBrIgAkACAAQQxqQgA3AgAgAEEBNgIEIABB0JLAADYCCCAAQSs2AhwgAEGkksAANgIYIAAgAEEYajYCACAAQfiSwAAQYwALIAAgASgCCDYCCCAAIAE2AgQgACACNgIAIAAoAgAiAUEMaigCACECAkACQCABKAIEDgIAAAELIAINACAAKAIELQAQEFwACyAAKAIELQAQEFwACzYBAX9B9JjAAC0AABpBEBAlIgJFBEAACyACIAE2AgwgAiABNgIIIAIgADYCBCACQQA2AgAgAgsjAAJAIAAEQCAAKAIAQX9GDQEgAEEMaigCAA8LEHsACxB8AAsjAAJAIAAEQCAAKAIADQEgAEEANgIAIAAQLw8LEHsACxB8AAsgAAJAIAAEQCAAKAIAQX9GDQEgACgCBA8LEHsACxB8AAseACAAKAIA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czogQ1BVIGlzc3VlIGxpa2VseVJ0bEdlblJhbmRvbTogV2luZG93cyBzeXN0ZW0gZnVuY3Rpb24gZmFpbHVyZVNlY1JhbmRvbUNvcHlCeXRlczogaU9TIFNlY3VyaXR5IGZyYW1ld29yayBmYWlsdXJlZXJybm86IGRpZCBub3QgcmV0dXJuIGEgcG9zaXRpdmUgdmFsdWVnZXRyYW5kb206IHRoaXMgdGFyZ2V0IGlzIG5vdCBzdXBwb3J0ZWQAAAAbAAAAAAAAAAEAAAAeAAAAY3J5cHRvcmV0dXJuIHRoaXNjYW5ub3QgYWNjZXNzIGEgVGhyZWFkIExvY2FsIFN0b3JhZ2UgdmFsdWUgZHVyaW5nIG9yIGFmdGVyIGRlc3RydWN0aW9uABsAAAAAAAAAAQAAAB4AAAAvcnVzdGMvOGVkZTNhYWUyOGZlNmU0ZDUyYjM4MTU3ZDdiZmUwZDNiY2VlZjIyNS9saWJyYXJ5L3N0ZC9zcmMvdGhyZWFkL2xvY2FsLnJzABgIEABPAAAA9gAAABoAAABjbG9zdXJlIGludm9rZWQgcmVjdXJzaXZlbHkgb3IgYWZ0ZXIgYmVpbmcgZHJvcHBlZEVycm9yOiAAAACqCBAABwAAAC91c3IvbG9jYWwvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhbmRfY29yZS0wLjYuNC9zcmMvb3MucnO8CBAAWAAAAD8AAAANAAAAY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZQBBY2Nlc3NFcnJvcmxpYnJhcnkvc3RkL3NyYy9wYW5pY2tpbmcucnMAWwkQABwAAABQAgAAHgAAAG51bGwgcG9pbnRlciBwYXNzZWQgdG8gcnVzdHJlY3Vyc2l2ZSB1c2Ugb2YgYW4gb2JqZWN0IGRldGVjdGVkIHdoaWNoIHdvdWxkIGxlYWQgdG8gdW5zYWZlIGFsaWFzaW5nIGluIHJ1c3QAACcAAAAmAAAAJwAAADIAAAAtAAAALwAAACEAAAAdAAAALQAAACcAAAAnAAAAMQAAAC0AAAAwAAAAZQAAAHYHEABQBxAAdgcQAB4HEADxBhAAwgYQAKEGEACEBhAAVwYQAHYHEAB2BxAAJgYQAPkFEADJBRAAZAUQAEHslMAACwEDAHsJcHJvZHVjZXJzAghsYW5ndWFnZQEEUnVzdAAMcHJvY2Vzc2VkLWJ5AwVydXN0Yx0xLjcxLjAgKDhlZGUzYWFlMiAyMDIzLTA3LTEyKQZ3YWxydXMGMC4xOS4wDHdhc20tYmluZGdlbhIwLjIuODcgKGYwYThhZTNiOSkALA90YXJnZXRfZmVhdHVyZXMCKw9tdXRhYmxlLWdsb2JhbHMrCHNpZ24tZXh0";var kn;async function Ke(){return kn??=await Ae(Ag)}var Gn=I=>I instanceof Uint8Array;var JA=I=>new Uint32Array(I.buffer,I.byteOffset,Math.floor(I.byteLength/4));var Nn=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Nn)throw new Error("Non little-endian hardware is not supported");function Ie(I){if(typeof I!="string")throw new Error(`utf8ToBytes expected string, got ${typeof I}`);return new Uint8Array(new TextEncoder().encode(I))}function ie(I){if(typeof I=="string"&&(I=Ie(I)),!Gn(I))throw new Error(`expected Uint8Array, got ${typeof I}`);return I}var mn=I=>Object.prototype.toString.call(I)==="[object Object]"&&I.constructor===Object;function Ig(I,A){if(A!==void 0&&(typeof A!="object"||!mn(A)))throw new Error("Options should be object or undefined");return Object.assign(I,A)}function yI(I,A){if(!(I instanceof Uint8Array))throw new Error("Uint8Array expected");if(typeof A=="number"&&I.length!==A)throw new Error(`Uint8Array length ${A} expected`)}function ig(I,A){if(I.length!==A.length)throw new Error("equalBytes: Different size of Uint8Arrays");let i=!0;for(let e=0;e0&&!A.includes(I.length))throw new Error(`Expected Uint8Array of length ${A}, not of length=${I.length}`)}function Un(I){if(typeof I!="function"||typeof I.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Re(I.outputLen),Re(I.blockLen)}function Jn(I,A=!0){if(I.destroyed)throw new Error("Hash instance has been destroyed");if(A&&I.finished)throw new Error("Hash#digest() has already been called")}function qn(I,A){eg(I);let i=A.outputLen;if(I.length!(I.byteOffset%4),xe=I=>{let{core:A,rounds:i,counterRight:e,counterLen:t,allow128bitKeys:g,extendNonceFn:o,blockLen:n}=Ig({rounds:20,counterRight:!1,counterLen:8,allow128bitKeys:!0,blockLen:64},I);uA.number(t),uA.number(i),uA.number(n),uA.bool(e),uA.bool(g);let C=n/4;if(n%4!==0)throw new Error("Salsa/ChaCha: blockLen should be aligned to 4 bytes");return(Q,s,c,E,D=0)=>{if(uA.bytes(Q),uA.bytes(s),uA.bytes(c),E||(E=new Uint8Array(c.length)),uA.bytes(E),uA.number(D),D<0||D>=2**32-1)throw new Error("Salsa/ChaCha: counter overflow");if(E.length=2**32-1)throw new Error("Salsa/ChaCha: counter overflow");let q=Math.min(n,y-k);if(q===n&&w&&f){let N=k/4;if(k%4!==0)throw new Error("Salsa/ChaCha: wrong block position");for(let R=0;RI[A++]&255|(I[A++]&255)<<8,gg=class{constructor(A){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,A=ie(A),yI(A,32);let i=cA(A,0),e=cA(A,2),t=cA(A,4),g=cA(A,6),o=cA(A,8),n=cA(A,10),C=cA(A,12),Q=cA(A,14);this.r[0]=i&8191,this.r[1]=(i>>>13|e<<3)&8191,this.r[2]=(e>>>10|t<<6)&7939,this.r[3]=(t>>>7|g<<9)&8191,this.r[4]=(g>>>4|o<<12)&255,this.r[5]=o>>>1&8190,this.r[6]=(o>>>14|n<<2)&8191,this.r[7]=(n>>>11|C<<5)&8065,this.r[8]=(C>>>8|Q<<8)&8191,this.r[9]=Q>>>5&127;for(let s=0;s<8;s++)this.pad[s]=cA(A,16+2*s)}process(A,i,e=!1){let t=e?0:1<<11,{h:g,r:o}=this,n=o[0],C=o[1],Q=o[2],s=o[3],c=o[4],E=o[5],D=o[6],d=o[7],u=o[8],G=o[9],F=cA(A,i+0),p=cA(A,i+2),m=cA(A,i+4),J=cA(A,i+6),K=cA(A,i+8),f=cA(A,i+10),w=cA(A,i+12),y=cA(A,i+14),k=g[0]+(F&8191),U=g[1]+((F>>>13|p<<3)&8191),q=g[2]+((p>>>10|m<<6)&8191),N=g[3]+((m>>>7|J<<9)&8191),R=g[4]+((J>>>4|K<<12)&8191),M=g[5]+(K>>>1&8191),X=g[6]+((K>>>14|f<<2)&8191),Z=g[7]+((f>>>11|w<<5)&8191),eA=g[8]+((w>>>8|y<<8)&8191),AA=g[9]+(y>>>5|t),O=0,oA=O+k*n+U*(5*G)+q*(5*u)+N*(5*d)+R*(5*D);O=oA>>>13,oA&=8191,oA+=M*(5*E)+X*(5*c)+Z*(5*s)+eA*(5*Q)+AA*(5*C),O+=oA>>>13,oA&=8191;let B=O+k*C+U*n+q*(5*G)+N*(5*u)+R*(5*d);O=B>>>13,B&=8191,B+=M*(5*D)+X*(5*E)+Z*(5*c)+eA*(5*s)+AA*(5*Q),O+=B>>>13,B&=8191;let r=O+k*Q+U*C+q*n+N*(5*G)+R*(5*u);O=r>>>13,r&=8191,r+=M*(5*d)+X*(5*D)+Z*(5*E)+eA*(5*c)+AA*(5*s),O+=r>>>13,r&=8191;let a=O+k*s+U*Q+q*C+N*n+R*(5*G);O=a>>>13,a&=8191,a+=M*(5*u)+X*(5*d)+Z*(5*D)+eA*(5*E)+AA*(5*c),O+=a>>>13,a&=8191;let h=O+k*c+U*s+q*Q+N*C+R*n;O=h>>>13,h&=8191,h+=M*(5*G)+X*(5*u)+Z*(5*d)+eA*(5*D)+AA*(5*E),O+=h>>>13,h&=8191;let l=O+k*E+U*c+q*s+N*Q+R*C;O=l>>>13,l&=8191,l+=M*n+X*(5*G)+Z*(5*u)+eA*(5*d)+AA*(5*D),O+=l>>>13,l&=8191;let S=O+k*D+U*E+q*c+N*s+R*Q;O=S>>>13,S&=8191,S+=M*C+X*n+Z*(5*G)+eA*(5*u)+AA*(5*d),O+=S>>>13,S&=8191;let H=O+k*d+U*D+q*E+N*c+R*s;O=H>>>13,H&=8191,H+=M*Q+X*C+Z*n+eA*(5*G)+AA*(5*u),O+=H>>>13,H&=8191;let Y=O+k*u+U*d+q*D+N*E+R*c;O=Y>>>13,Y&=8191,Y+=M*s+X*Q+Z*C+eA*n+AA*(5*G),O+=Y>>>13,Y&=8191;let P=O+k*G+U*u+q*d+N*D+R*E;O=P>>>13,P&=8191,P+=M*c+X*s+Z*Q+eA*C+AA*n,O+=P>>>13,P&=8191,O=(O<<2)+O|0,O=O+oA|0,oA=O&8191,O=O>>>13,B+=O,g[0]=oA,g[1]=B,g[2]=r,g[3]=a,g[4]=h,g[5]=l,g[6]=S,g[7]=H,g[8]=Y,g[9]=P}finalize(){let{h:A,pad:i}=this,e=new Uint16Array(10),t=A[1]>>>13;A[1]&=8191;for(let n=2;n<10;n++)A[n]+=t,t=A[n]>>>13,A[n]&=8191;A[0]+=t*5,t=A[0]>>>13,A[0]&=8191,A[1]+=t,t=A[1]>>>13,A[1]&=8191,A[2]+=t,e[0]=A[0]+5,t=e[0]>>>13,e[0]&=8191;for(let n=1;n<10;n++)e[n]=A[n]+t,t=e[n]>>>13,e[n]&=8191;e[9]-=1<<13;let g=(t^1)-1;for(let n=0;n<10;n++)e[n]&=g;g=~g;for(let n=0;n<10;n++)A[n]=A[n]&g|e[n];A[0]=(A[0]|A[1]<<13)&65535,A[1]=(A[1]>>>3|A[2]<<10)&65535,A[2]=(A[2]>>>6|A[3]<<7)&65535,A[3]=(A[3]>>>9|A[4]<<4)&65535,A[4]=(A[4]>>>12|A[5]<<1|A[6]<<14)&65535,A[5]=(A[6]>>>2|A[7]<<11)&65535,A[6]=(A[7]>>>5|A[8]<<8)&65535,A[7]=(A[8]>>>8|A[9]<<5)&65535;let o=A[0]+i[0];A[0]=o&65535;for(let n=1;n<8;n++)o=(A[n]+i[n]|0)+(o>>>16)|0,A[n]=o&65535}update(A){uA.exists(this);let{buffer:i,blockLen:e}=this;A=ie(A);let t=A.length;for(let g=0;g>>0,A[g++]=e[o]>>>8;return A}digest(){let{buffer:A,outputLen:i}=this;this.digestInto(A);let e=A.slice(0,i);return this.destroy(),e}};function bn(I){let A=(e,t)=>I(t).update(ie(e)).digest(),i=I(new Uint8Array(32));return A.outputLen=i.outputLen,A.blockLen=i.blockLen,A.create=e=>I(e),A}var be=bn(I=>new gg(I));var x=(I,A)=>I<>>32-A;function og(I,A,i,e,t,g=20){let o=I[0],n=A[0],C=A[1],Q=A[2],s=A[3],c=I[1],E=i[0],D=i[1],d=t,u=0,G=I[2],F=A[4],p=A[5],m=A[6],J=A[7],K=I[3],f=o,w=n,y=C,k=Q,U=s,q=c,N=E,R=D,M=d,X=u,Z=G,eA=F,AA=p,O=m,oA=J,B=K;for(let a=0;a{let i=16;return yI(I,32),yI(A,24),{tagLength:i,encrypt:e=>{yI(e);let t=new Uint8Array(32+e.length);t.set(e,32),ZI(I,A,t,t);let g=t.subarray(0,32),o=be(t.subarray(32),g);return t.set(o,16),t.subarray(0,16).fill(0),t.subarray(16)},decrypt:e=>{if(yI(e),e.length<16)throw new Error("Encrypted data should be at least 16 bytes");let t=new Uint8Array(16+e.length);t.set(e,16);let g=ZI(I,A,new Uint8Array(32)),o=be(t.subarray(32),g);if(!ig(t.subarray(16,32),o))throw new Error("Wrong tag");let n=ZI(I,A,t);return n.subarray(0,32).fill(0),g.fill(0),n.subarray(32)}}};function VI(I){if(!Number.isSafeInteger(I))throw new Error(`Wrong integer: ${I}`)}function ng(I){return I instanceof Uint8Array||I!=null&&typeof I=="object"&&I.constructor.name==="Uint8Array"}function PA(...I){let A=g=>g,i=(g,o)=>n=>g(o(n)),e=I.map(g=>g.encode).reduceRight(i,A),t=I.map(g=>g.decode).reduce(i,A);return{encode:e,decode:t}}function ZA(I){return{encode:A=>{if(!Array.isArray(A)||A.length&&typeof A[0]!="number")throw new Error("alphabet.encode input should be an array of numbers");return A.map(i=>{if(VI(i),i<0||i>=I.length)throw new Error(`Digit index outside alphabet: ${i} (alphabet: ${I.length})`);return I[i]})},decode:A=>{if(!Array.isArray(A)||A.length&&typeof A[0]!="string")throw new Error("alphabet.decode input should be array of strings");return A.map(i=>{if(typeof i!="string")throw new Error(`alphabet.decode: not string element=${i}`);let e=I.indexOf(i);if(e===-1)throw new Error(`Unknown letter: "${i}". Allowed: ${I}`);return e})}}}function VA(I=""){if(typeof I!="string")throw new Error("join separator should be string");return{encode:A=>{if(!Array.isArray(A)||A.length&&typeof A[0]!="string")throw new Error("join.encode input should be array of strings");for(let i of A)if(typeof i!="string")throw new Error(`join.encode: non-string input=${i}`);return A.join(I)},decode:A=>{if(typeof A!="string")throw new Error("join.decode input should be string");return A.split(I)}}}function ee(I,A="="){if(VI(I),typeof A!="string")throw new Error("padding chr should be string");return{encode(i){if(!Array.isArray(i)||i.length&&typeof i[0]!="string")throw new Error("padding.encode input should be array of strings");for(let e of i)if(typeof e!="string")throw new Error(`padding.encode: non-string input=${e}`);for(;i.length*I%8;)i.push(A);return i},decode(i){if(!Array.isArray(i)||i.length&&typeof i[0]!="string")throw new Error("padding.encode input should be array of strings");for(let t of i)if(typeof t!="string")throw new Error(`padding.decode: non-string input=${t}`);let e=i.length;if(e*I%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;e>0&&i[e-1]===A;e--)if(!((e-1)*I%8))throw new Error("Invalid padding: string has too much padding");return i.slice(0,e)}}}function rg(I){if(typeof I!="function")throw new Error("normalize fn should be function");return{encode:A=>A,decode:A=>I(A)}}function Cg(I,A,i){if(A<2)throw new Error(`convertRadix: wrong from=${A}, base cannot be less than 2`);if(i<2)throw new Error(`convertRadix: wrong to=${i}, base cannot be less than 2`);if(!Array.isArray(I))throw new Error("convertRadix: data should be array");if(!I.length)return[];let e=0,t=[],g=Array.from(I);for(g.forEach(o=>{if(VI(o),o<0||o>=A)throw new Error(`Wrong integer: ${o}`)});;){let o=0,n=!0;for(let C=e;CA?Bg(A,I%A):I,te=(I,A)=>I+(A-Bg(I,A));function Qg(I,A,i,e){if(!Array.isArray(I))throw new Error("convertRadix2: data should be array");if(A<=0||A>32)throw new Error(`convertRadix2: wrong from=${A}`);if(i<=0||i>32)throw new Error(`convertRadix2: wrong to=${i}`);if(te(A,i)>32)throw new Error(`convertRadix2: carry overflow from=${A} to=${i} carryBits=${te(A,i)}`);let t=0,g=0,o=2**i-1,n=[];for(let C of I){if(VI(C),C>=2**A)throw new Error(`convertRadix2: invalid data word=${C} from=${A}`);if(t=t<32)throw new Error(`convertRadix2: carry overflow pos=${g} from=${A}`);for(g+=A;g>=i;g-=i)n.push((t>>g-i&o)>>>0);t&=2**g-1}if(t=t<=A)throw new Error("Excess padding");if(!e&&t)throw new Error(`Non-zero padding: ${t}`);return e&&g>0&&n.push(t>>>0),n}function Ln(I){return VI(I),{encode:A=>{if(!ng(A))throw new Error("radix.encode input should be Uint8Array");return Cg(Array.from(A),2**8,I)},decode:A=>{if(!Array.isArray(A)||A.length&&typeof A[0]!="number")throw new Error("radix.decode input should be array of numbers");return Uint8Array.from(Cg(A,I,2**8))}}}function EI(I,A=!1){if(VI(I),I<=0||I>32)throw new Error("radix2: bits should be in (0..32]");if(te(8,I)>32||te(I,8)>32)throw new Error("radix2: carry overflow");return{encode:i=>{if(!ng(i))throw new Error("radix2.encode input should be Uint8Array");return Qg(Array.from(i),8,I,!A)},decode:i=>{if(!Array.isArray(i)||i.length&&typeof i[0]!="number")throw new Error("radix2.decode input should be array of numbers");return Uint8Array.from(Qg(i,I,8,A))}}}var mB=PA(EI(4),ZA("0123456789ABCDEF"),VA("")),HB=PA(EI(5),ZA("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),ee(5),VA("")),UB=PA(EI(5),ZA("0123456789ABCDEFGHIJKLMNOPQRSTUV"),ee(5),VA("")),JB=PA(EI(5),ZA("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),VA(""),rg(I=>I.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1"))),qB=PA(EI(6),ZA("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),ee(6),VA("")),MB=PA(EI(6),ZA("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),ee(6),VA("")),YB=PA(EI(6),ZA("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),VA("")),On=I=>PA(Ln(58),ZA(I),VA("")),V=On("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");var KB=PA(ZA("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),VA(""));var RB=PA(EI(4),ZA("0123456789abcdef"),VA(""),rg(I=>{if(typeof I!="string"||I.length%2)throw new TypeError(`hex.decode: expected string, got ${typeof I} with length ${I.length}`);return I.toLowerCase()}));var ge=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function ki(I=32){if(ge&&typeof ge.getRandomValues=="function")return ge.getRandomValues(new Uint8Array(I));throw new Error("crypto.getRandomValues must be defined")}var Xn=new TextEncoder,Pn=new TextDecoder;function FI(I){I=I.replace(/=/g,"");let A=I.length,i=A%4,e=i&&i-1,t=(A>>2)*3+e,g=new Uint8Array(A+3);Xn.encodeInto(I+"===",g);for(let o=0,n=0;o>16,g[n+1]=C>>8&255,g[n+2]=C&255}return new Uint8Array(g.buffer,0,t)}function hI(I){let A=I.length,i=A%3,e=Math.floor(A/3)*4+(i&&i+1),t=Math.ceil(A/3)*4,g=new Uint8Array(t);for(let n=0,C=0;C>18],g[n+1]=Gi[Q>>12&63],g[n+2]=Gi[Q>>6&63],g[n+3]=Gi[Q&63]}let o=Pn.decode(new Uint8Array(g.buffer,0,e));return i===1&&(o+="=="),i===2&&(o+="="),o}var ag="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",WI=new Uint8Array(128);for(let[I,A]of Array.from(ag).entries())WI[A.charCodeAt(0)]=I;WI["=".charCodeAt(0)]=0;var Gi=new Uint8Array(64);for(let[I,A]of Array.from(ag).entries())Gi[I]=A.charCodeAt(0);function oe(I,A,i,e){function t(g){return g instanceof i?g:new i(function(o){o(g)})}return new(i||(i=Promise))(function(g,o){function n(s){try{Q(e.next(s))}catch(c){o(c)}}function C(s){try{Q(e.throw(s))}catch(c){o(c)}}function Q(s){s.done?g(s.value):t(s.value).then(n,C)}Q((e=e.apply(I,A||[])).next())})}var iA=class{constructor(){this.mutex=Promise.resolve()}lock(){let A=()=>{};return this.mutex=this.mutex.then(()=>new Promise(A)),new Promise(i=>{A=i})}dispatch(A){return oe(this,void 0,void 0,function*(){let i=yield this.lock();try{return yield Promise.resolve(A())}finally{i()}})}},Le;function Zn(){return typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:global}var Oe=Zn(),Xe=(Le=Oe.Buffer)!==null&&Le!==void 0?Le:null,Vn=Oe.TextEncoder?new Oe.TextEncoder:null;function sg(I,A){return(I&15)+(I>>6|I>>3&8)<<4|(A&15)+(A>>6|A>>3&8)}function Wn(I,A){let i=A.length>>1;for(let e=0;e>>4;I[e++]=g>9?g+cg:g+Eg,g=A[t]&15,I[e++]=g>9?g+cg:g+Eg}return String.fromCharCode.apply(null,I)}var Pe=Xe!==null?I=>{if(typeof I=="string"){let A=Xe.from(I,"utf8");return new Uint8Array(A.buffer,A.byteOffset,A.length)}if(Xe.isBuffer(I))return new Uint8Array(I.buffer,I.byteOffset,I.length);if(ArrayBuffer.isView(I))return new Uint8Array(I.buffer,I.byteOffset,I.byteLength);throw new Error("Invalid data type!")}:I=>{if(typeof I=="string")return Vn.encode(I);if(ArrayBuffer.isView(I))return new Uint8Array(I.buffer,I.byteOffset,I.byteLength);throw new Error("Invalid data type!")},fg="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ni=new Uint8Array(256);for(let I=0;I>4,t+=1,e[t]=(n&15)<<4|C>>2,t+=1,e[t]=(C&3)<<6|Q&63,t+=1}return e}var ne=16*1024,mi=4,_n=new iA,Ze=new Map;function $n(I,A){return oe(this,void 0,void 0,function*(){let i=null,e=null,t=!1;if(typeof WebAssembly=="undefined")throw new Error("WebAssembly is not supported in this environment!");let g=(f,w=0)=>{e.set(f,w)},o=()=>e,n=()=>i.exports,C=f=>{i.exports.Hash_SetMemorySize(f);let w=i.exports.Hash_GetBuffer(),y=i.exports.memory.buffer;e=new Uint8Array(y,w,f)},Q=()=>new DataView(i.exports.memory.buffer).getUint32(i.exports.STATE_SIZE,!0),s=_n.dispatch(()=>oe(this,void 0,void 0,function*(){if(!Ze.has(I.name)){let w=jn(I.data),y=WebAssembly.compile(w);Ze.set(I.name,y)}let f=yield Ze.get(I.name);i=yield WebAssembly.instantiate(f,{})})),c=()=>oe(this,void 0,void 0,function*(){i||(yield s);let f=i.exports.Hash_GetBuffer(),w=i.exports.memory.buffer;e=new Uint8Array(w,f,ne)}),E=(f=null)=>{t=!0,i.exports.Hash_Init(f)},D=f=>{let w=0;for(;w{if(!t)throw new Error("update() called before init()");let w=Pe(f);D(w)},u=new Uint8Array(A*2),G=(f,w=null)=>{if(!t)throw new Error("digest() called before init()");return t=!1,i.exports.Hash_Final(w),f==="binary"?e.slice(0,A):hg(u,e,A)},F=()=>{if(!t)throw new Error("save() can only be called after init() and before digest()");let f=i.exports.Hash_GetState(),w=Q(),y=i.exports.memory.buffer,k=new Uint8Array(y,f,w),U=new Uint8Array(mi+w);return Wn(U,I.hash),U.set(k,mi),U},p=f=>{if(!(f instanceof Uint8Array))throw new Error("load() expects an Uint8Array generated by save()");let w=i.exports.Hash_GetState(),y=Q(),k=mi+y,U=i.exports.memory.buffer;if(f.length!==k)throw new Error(`Bad state length (expected ${k} bytes, got ${f.length})`);if(!Tn(I.hash,f.subarray(0,mi)))throw new Error("This state was written by an incompatible hash implementation");let q=f.subarray(mi);new Uint8Array(U,w,y).set(q),t=!0},m=f=>typeof f=="string"?f.length!0;break;case"blake2b":case"blake2s":J=(f,w)=>w<=512&&m(f);break;case"blake3":J=(f,w)=>w===0&&m(f);break;case"xxhash64":case"xxhash3":case"xxhash128":J=()=>!1;break}let K=(f,w=null,y=null)=>{if(!J(f,w))return E(w),d(f),G("hex",y);let k=Pe(f);return e.set(k),i.exports.Hash_Calculate(k.length,w,y),hg(u,e,A)};return yield c(),{getMemory:o,writeMemory:g,getExports:n,setMemorySize:C,init:E,update:d,digest:G,save:F,load:p,calculate:K,hashLength:A}})}var XB=new iA;var PB=new iA;var ZB=new DataView(new ArrayBuffer(4));var VB=new iA;var Ar="blake3",Ir="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AAsLIAEpAyAhByABKQMoIQwgASkDMCENIAEpAzghDkEAKQPAiQEQBUEAQQAtAJCKASICQQFqOgCQigEgAkEFdCICQamKAWogCjcDACACQaGKAWogBDcDACACQZmKAWogBTcDACACQZGKAWogBjcDAEEAKQPAiQEgE0IBiHwQBUEAQQAtAJCKASICQQFqOgCQigEgAkEFdCICQamKAWogDjcDACACQaGKAWogDTcDACACQZmKAWogDDcDACACQZGKAWogBzcDAAtBAEEAKQPAiQEgE3wiBDcDwIkBIAMgEmohAyAAIBJrIgBBgAhLDQALIABFDQELQaCJASADIAAQBEEAKQPAiQEQBQsgAUHQAmokAAuGBwIJfwF+IwBBwABrIgMkAAJAAkAgAC0AaCIERQ0AAkBBwAAgBGsiBSACIAUgAkkbIgZFDQAgBkEDcSEHQQAhBQJAIAZBBEkNACAAIARqIQggBkF8cSEJQQAhBQNAIAggBWoiCkEoaiABIAVqIgstAAA6AAAgCkEpaiALQQFqLQAAOgAAIApBKmogC0ECai0AADoAACAKQStqIAtBA2otAAA6AAAgCSAFQQRqIgVHDQALCwJAIAdFDQAgASAFaiEKIAUgBGogAGpBKGohBQNAIAUgCi0AADoAACAKQQFqIQogBUEBaiEFIAdBf2oiBw0ACwsgAC0AaCEECyAAIAQgBmoiBzoAaCABIAZqIQECQCACIAZrIgINAEEAIQIMAgsgAyAAIABBKGpBwAAgACkDICAALQBqIABB6QBqIgUtAAAiCkVyEAIgACADKQMgIAMpAwCFNwMAIAAgAykDKCADKQMIhTcDCCAAIAMpAzAgAykDEIU3AxAgACADKQM4IAMpAxiFNwMYIABBADoAaCAFIApBAWo6AAAgAEHgAGpCADcDACAAQdgAakIANwMAIABB0ABqQgA3AwAgAEHIAGpCADcDACAAQcAAakIANwMAIABBOGpCADcDACAAQTBqQgA3AwAgAEIANwMoC0EAIQcgAkHBAEkNACAAQekAaiIKLQAAIQUgAC0AaiELIAApAyAhDANAIAMgACABQcAAIAwgCyAFQf8BcUVyQf8BcRACIAAgAykDICADKQMAhTcDACAAIAMpAyggAykDCIU3AwggACADKQMwIAMpAxCFNwMQIAAgAykDOCADKQMYhTcDGCAK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DkUNACAFIAdBBnRqIQEgBUGIAWogB0ECdGohAANAIAAgATYCACABQcAAaiEBIABBBGohACAOQX9qIg4NAAsLIAhBAmohAAsgBUGIAWogBkEBQgBBACADQQRyQQBBACAEEAEgACAJTw0AIAQgBkEFdGoiASAFIAZBBnRqIgApAwA3AwAgASAAKQMINwMIIAEgACkDEDcDECABIAApAxg3AxggBkEBaiEGCyAFQeACaiQAIAYLrRAIAn8EfgF/AX4EfwR+BH8EfiMAQfABayIBJAACQCAARQ0AAkBBAC0AkIoBIgINACABQTBqQQApA9CJATcDACABQThqQQApA9iJATcDACABQQApA6CJASIDNwMAIAFBACkDqIkBIgQ3AwggAUEAKQOwiQEiBTcDECABQQApA7iJASIGNwMYIAFBACkDyIkBNwMoQQAtAIqKASECQQAtAImKASEHQQApA8CJASEIQQAtAIiKASEJIAFBwABqQQApA+CJATcDACABQcgAakEAKQPoiQE3AwAgAUHQAGpBACkD8IkBNwMAIAFB2ABqQQApA/iJATcDACABQeAAakEAKQOAigE3AwAgASAJOgBoIAEgCDcDICABIAIgB0VyIgJBAnI6AGkgAUEoaiEKQgAhCEGACSELIAJBCnJB/wFxIQwDQCABQbABaiABIAogCUH/AXEgCCAMEAIgASABKQPQASINIAEpA7ABhTcDcCABIAEpA9gBIg4gASkDuAGFNwN4IAEgASkD4AEiDyABKQPAAYU3A4ABIAEgASkD6AEiECAGhTcDqAEgASAPIAWFNwOgASABIA4gBIU3A5gBIAEgDSADhTcDkAEgASAQIAEpA8gBhTcDiAEgAEHAACAAQcAASRsiEUF/aiESAkACQCARQQdxIhMNACABQfAAaiECIAshByARIRQMAQsgEUH4AHEhFCABQfAAaiECIAshBwNAIAcgAi0AADoAACAHQQFqIQcgAkEBaiECIBNBf2oiEw0ACwsCQCASQQdJDQADQCAHIAIpAAA3AAAgB0EIaiEHIAJBCGohAiAUQXhqIhQNAAsLIAhCAXwhCCALIBFqIQsgACARayIADQAMAgsLAkACQAJAQQAtAImKASIHQQZ0QQBBAC0AiIoBIhFrRg0AIAEgEToAaCABQQApA4CKATcDYCABQQApA/iJATcDWCABQQApA/CJATcDUCABQQApA+iJATcDSCABQQApA+CJATcDQCABQQApA9iJATcDOCABQQApA9CJATcDMCABQQApA8iJATcDKCABQQApA8CJASIINwMgIAFBACkDuIkBIgM3AxggAUEAKQOwiQEiBDcDECABQQApA6iJASIFNwMIIAFBACkDoIkBIgY3AwAgAUEALQCKigEiEyAHRXJBAnIiCzoAaSATQQRyIRNBACkDmIkBIQ1BACkDkIkBIQ5BACkDiIkBIQ9BACkDgIkBIRAMAQtBwAAhESABQcAAOgBoQgAhCCABQgA3AyAgAUEAKQOYiQEiDTcDGCABQQApA5CJASIONwMQIAFBACkDiIkBIg83AwggAUEAKQOAiQEiEDcDACABQQAtAIqKAUEEciITOgBpIAEgAkF+aiICQQV0IgdByYoBaikDADcDYCABIAdBwYoBaikDADcDWCABIAdBuYoBaikDADcDUCABIAdBsYoBaikDADcDSCABIAdBqYoBaikDADcDQCABIAdBoYoBaikDADcDOCABIAdBmYoBaikDADcDMCABIAdBkYoBaikDADcDKCATIQsgECEGIA8hBSAOIQQgDSEDIAJFDQELIAJBf2oiB0EFdCIUQZGKAWopAwAhFSAUQZmKAWopAwAhFiAUQaGKAWopAwAhFyAUQamKAWopAwAhGCABIAM3A4gBIAEgBDcDgAEgASAFNwN4IAEgBjcDcCABQbABaiABQfAAaiABQShqIhQgESAIIAtB/wFxEAIgASATOgBpIAFBwAA6AGggASAYNwNAIAEgFzcDOCABIBY3AzAgASAVNwMoIAFCADcDICABIA03AxggASAONwMQIAEgDzcDCCABIBA3AwAgASABKQPoASABKQPIAYU3A2AgASABKQPgASABKQPAAYU3A1ggASABKQPYASABKQO4AYU3A1AgASABKQPQASABKQOwAYU3A0ggB0UNACACQQV0QemJAWohAiATQf8BcSERA0AgAkFoaikDACEIIAJBcGopAwAhAyACQXhqKQMAIQQgAikDACEFIAEgDTcDiAEgASAONwOAASABIA83A3ggASAQNwNwIAFBsAFqIAFB8ABqIBRBwABCACAREAIgASATOgBpIAFBwAA6AGggASAFNwNAIAEgBDcDOCABIAM3AzAgASAINwMoIAFCADcDICABIA03AxggASAONwMQIAEgDzcDCCABIBA3AwAgASABKQPoASABKQPIAYU3A2AgASABKQPgASABKQPAAYU3A1ggASABKQPYASABKQO4AYU3A1AgASABKQPQASABKQOwAYU3A0ggAkFgaiECIAdBf2oiBw0ACwsgAUEoaiEJQgAhCEGACSELIBNBCHJB/wFxIQoDQCABQbABaiABIAlBwAAgCCAKEAIgASABKQPQASIDIAEpA7ABhTcDcCABIAEpA9gBIgQgASkDuAGFNwN4IAEgASkD4AEiBSABKQPAAYU3A4ABIAEgDSABKQPoASIGhTcDqAEgASAOIAWFNwOgASABIA8gBIU3A5gBIAEgECADhTcDkAEgASAGIAEpA8gBhTcDiAEgAEHAACAAQcAASRsiEUF/aiESAkACQCARQQdxIhMNACABQfAAaiECIAshByARIRQMAQsgEUH4AHEhFCABQfAAaiECIAshBwNAIAcgAi0AADoAACAHQQFqIQcgAkEBaiECIBNBf2oiEw0ACwsCQCASQQdJDQADQCAHIAIpAAA3AAAgB0EIaiEHIAJBCGohAiAUQXhqIhQNAAsLIAhCAXwhCCALIBFqIQsgACARayIADQALCyABQfABaiQAC6MCAQR+AkACQCAAQSBGDQBCq7OP/JGjs/DbACEBQv+kuYjFkdqCm38hAkLy5rvjo6f9p6V/IQNC58yn0NbQ67O7fyEEQQAhAAwBC0EAKQOYCSEBQQApA5AJIQJBACkDiAkhA0EAKQOACSEEQRAhAAtBACAAOgCKigFBAEIANwOAigFBAEIANwP4iQFBAEIANwPwiQFBAEIANwPoiQFBAEIANwPgiQFBAEIANwPYiQFBAEIANwPQiQFBAEIANwPIiQFBAEIANwPAiQFBACABNwO4iQFBACACNwOwiQFBACADNwOoiQFBACAENwOgiQFBACABNwOYiQFBACACNwOQiQFBACADNwOIiQFBACAENwOAiQFBAEEAOgCQigFBAEEAOwGIigELBgAgABADCwYAIAAQBwsGAEGAiQELqwIBBH4CQAJAIAFBIEYNAEKrs4/8kaOz8NsAIQNC/6S5iMWR2oKbfyEEQvLmu+Ojp/2npX8hBULnzKfQ1tDrs7t/IQZBACEBDAELQQApA5gJIQNBACkDkAkhBEEAKQOICSEFQQApA4AJIQZBECEBC0EAIAE6AIqKAUEAQgA3A4CKAUEAQgA3A/iJAUEAQgA3A/CJAUEAQgA3A+iJAUEAQgA3A+CJAUEAQgA3A9iJAUEAQgA3A9CJAUEAQgA3A8iJAUEAQgA3A8CJAUEAIAM3A7iJAUEAIAQ3A7CJAUEAIAU3A6iJAUEAIAY3A6CJAUEAIAM3A5iJAUEAIAQ3A5CJAUEAIAU3A4iJAUEAIAY3A4CJAUEAQQA6AJCKAUEAQQA7AYiKASAAEAMgAhAHCwsLAQBBgAgLBHgHAAA=",ir="540e8b8e",er={name:Ar,data:Ir,hash:ir},WB=new iA;function dg(I){return!Number.isInteger(I)||I<8||I%8!==0?new Error("Invalid variant! Valid values: 8, 16, ..."):null}function wg(I=256,A=null){if(dg(I))return Promise.reject(dg(I));let i=null,e=0;if(A!==null){if(i=Pe(A),i.length!==32)return Promise.reject(new Error("Key length must be exactly 32 bytes"));e=32}let t=I/8,g=t;return $n(er,t).then(o=>{e===32&&o.writeMemory(i),o.init(e);let n={init:e===32?()=>(o.writeMemory(i),o.init(e),n):()=>(o.init(e),n),update:C=>(o.update(C),n),digest:C=>o.digest(C,g),save:()=>o.save(),load:C=>(o.load(C),n),blockSize:64,digestSize:t};return n})}var TB=new iA;var zB=new iA;var jB=new iA;var _B=new iA;var $B=new iA;var AQ=new iA;var IQ=new iA;var iQ=new iA;var eQ=new iA;var tQ=new iA;var gQ=new iA;var oQ=new iA;var nQ=new iA;var rQ=new ArrayBuffer(8);var CQ=new iA;var BQ=new ArrayBuffer(8);var QQ=new iA;var aQ=new ArrayBuffer(8);var sQ=new iA;var cQ=new iA;var EQ=new iA;function DA(I){let A=!1,i=[],e=I;if(e&&e.toJSON&&typeof e.toJSON=="function"&&(e=e.toJSON()),e===void 0)return;if(typeof e=="number")return isFinite(e)?""+e:"null";if(typeof e!="object")return typeof e=="string"&&(e.startsWith("encrypted_U")||e.startsWith("binary_U"))?`"${e}"`:JSON.stringify(e);let t,g;if(Array.isArray(e)){for(g="[",t=0;t{throw new Error(`cojson WASM dependencies not yet loaded; Make sure to import \`cojsonReady\` from \`cojson\` and await it before using any cojson functionality: +var window = globalThis; if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) { var localStorage = {}; } else { var localStorage = globalThis.localStorage; } +var pn=Object.defineProperty;var ln=(I,A)=>{for(var i in A)pn(I,i,{get:A[i],enumerable:!0})};var v,Ag=typeof TextDecoder!="undefined"?new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error("TextDecoder not available")}};typeof TextDecoder!="undefined"&&Ag.decode();var li=null;function Re(){return(li===null||li.byteLength===0)&&(li=new Uint8Array(v.memory.buffer)),li}function Ie(I,A){return I=I>>>0,Ag.decode(Re().subarray(I,I+A))}var eI=new Array(128).fill(void 0);eI.push(void 0,null,!0,!1);var yi=eI.length;function tA(I){yi===eI.length&&eI.push(eI.length+1);let A=yi;return yi=eI[A],eI[A]=I,A}function _(I){return eI[I]}function yn(I){I<132||(eI[I]=yi,yi=I)}function OA(I){let A=_(I);return yn(I),A}function UA(I,A){if(!(I instanceof A))throw new Error(`expected instance of ${A.name}`);return I.ptr}var Fi=null;function IA(){return(Fi===null||Fi.byteLength===0)&&(Fi=new Int32Array(v.memory.buffer)),Fi}var Ig=0;function Fn(I,A){let i=A(I.length*1,1)>>>0;return Re().set(I,i/1),Ig=I.length,i}function tI(I,A){try{return I.apply(this,A)}catch(i){v.__wbindgen_exn_store(tA(i))}}var XA=class{static __wrap(A){A=A>>>0;let i=Object.create(XA.prototype);return i.__wbg_ptr=A,i}__destroy_into_raw(){let A=this.__wbg_ptr;return this.__wbg_ptr=0,A}[Symbol.dispose](){this.free()}free(){let A=this.__destroy_into_raw();v.__wbg_ed25519signature_free(A)}constructor(A){try{let g=v.__wbindgen_add_to_stack_pointer(-16);UA(A,W),v.ed25519signature_from_bytes(g,A.__wbg_ptr);var i=IA()[g/4+0],e=IA()[g/4+1],t=IA()[g/4+2];if(t)throw OA(e);return XA.__wrap(i)}finally{v.__wbindgen_add_to_stack_pointer(16)}}static from_bytes(A){try{let g=v.__wbindgen_add_to_stack_pointer(-16);UA(A,W),v.ed25519signature_from_bytes(g,A.__wbg_ptr);var i=IA()[g/4+0],e=IA()[g/4+1],t=IA()[g/4+2];if(t)throw OA(e);return XA.__wrap(i)}finally{v.__wbindgen_add_to_stack_pointer(16)}}to_bytes(){let A=v.ed25519signature_to_bytes(this.__wbg_ptr);return W.__wrap(A)}},KA=class{static __wrap(A){A=A>>>0;let i=Object.create(KA.prototype);return i.__wbg_ptr=A,i}__destroy_into_raw(){let A=this.__wbg_ptr;return this.__wbg_ptr=0,A}[Symbol.dispose](){this.free()}free(){let A=this.__destroy_into_raw();v.__wbg_ed25519signingkey_free(A)}constructor(){let A=v.ed25519signingkey_new();return KA.__wrap(A)}static random(){let A=v.ed25519signingkey_new();return KA.__wrap(A)}static from_bytes(A){try{let g=v.__wbindgen_add_to_stack_pointer(-16);UA(A,W),v.ed25519signingkey_from_bytes(g,A.__wbg_ptr);var i=IA()[g/4+0],e=IA()[g/4+1],t=IA()[g/4+2];if(t)throw OA(e);return KA.__wrap(i)}finally{v.__wbindgen_add_to_stack_pointer(16)}}to_bytes(){let A=v.ed25519signingkey_to_bytes(this.__wbg_ptr);return W.__wrap(A)}public(){let A=v.ed25519signingkey_public(this.__wbg_ptr);return gI.__wrap(A)}sign(A){UA(A,W);let i=v.ed25519signingkey_sign(this.__wbg_ptr,A.__wbg_ptr);return XA.__wrap(i)}},gI=class{static __wrap(A){A=A>>>0;let i=Object.create(gI.prototype);return i.__wbg_ptr=A,i}__destroy_into_raw(){let A=this.__wbg_ptr;return this.__wbg_ptr=0,A}[Symbol.dispose](){this.free()}free(){let A=this.__destroy_into_raw();v.__wbg_ed25519verifyingkey_free(A)}constructor(A){try{let g=v.__wbindgen_add_to_stack_pointer(-16);UA(A,W),v.ed25519verifyingkey_from_bytes(g,A.__wbg_ptr);var i=IA()[g/4+0],e=IA()[g/4+1],t=IA()[g/4+2];if(t)throw OA(e);return gI.__wrap(i)}finally{v.__wbindgen_add_to_stack_pointer(16)}}static from_bytes(A){try{let g=v.__wbindgen_add_to_stack_pointer(-16);UA(A,W),v.ed25519verifyingkey_from_bytes(g,A.__wbg_ptr);var i=IA()[g/4+0],e=IA()[g/4+1],t=IA()[g/4+2];if(t)throw OA(e);return gI.__wrap(i)}finally{v.__wbindgen_add_to_stack_pointer(16)}}to_bytes(){let A=v.ed25519verifyingkey_to_bytes(this.__wbg_ptr);return W.__wrap(A)}verify(A,i){return UA(A,W),UA(i,XA),v.ed25519verifyingkey_verify(this.__wbg_ptr,A.__wbg_ptr,i.__wbg_ptr)!==0}},W=class{static __wrap(A,i,e){A=A>>>0;let t=Object.create(W.prototype);return t.__wbg_ptr=A,t.__wbg_ptr0=i,t.__wbg_len0=e,t}__destroy_into_raw(){let A=this.__wbg_ptr;return this.__wbg_ptr=0,A}[Symbol.dispose](){this.free()}free(){let A=this.__destroy_into_raw();v.__wbg_memory_free(A)}constructor(A){let i=Fn(A,v.__wbindgen_malloc),e=Ig,t=v.memory_new(i,e);return W.__wrap(t,i,e)}ptr(){return this.__wbg_ptr0??=v.memory_ptr(this.__wbg_ptr)}len(){return this.__wbg_len0??=v.memory_len(this.__wbg_ptr)}freeNextTick(){return setTimeout(()=>this.free(),0),this}get bytes(){return Re().subarray(this.ptr(),this.ptr()+this.len())}copyAndDispose(){let A=this.bytes.slice();return this.free(),A}},RA=class{static __wrap(A){A=A>>>0;let i=Object.create(RA.prototype);return i.__wbg_ptr=A,i}__destroy_into_raw(){let A=this.__wbg_ptr;return this.__wbg_ptr=0,A}[Symbol.dispose](){this.free()}free(){let A=this.__destroy_into_raw();v.__wbg_x25519publickey_free(A)}constructor(A){try{let g=v.__wbindgen_add_to_stack_pointer(-16);UA(A,W),v.x25519publickey_from_bytes(g,A.__wbg_ptr);var i=IA()[g/4+0],e=IA()[g/4+1],t=IA()[g/4+2];if(t)throw OA(e);return RA.__wrap(i)}finally{v.__wbindgen_add_to_stack_pointer(16)}}static from_bytes(A){try{let g=v.__wbindgen_add_to_stack_pointer(-16);UA(A,W),v.x25519publickey_from_bytes(g,A.__wbg_ptr);var i=IA()[g/4+0],e=IA()[g/4+1],t=IA()[g/4+2];if(t)throw OA(e);return RA.__wrap(i)}finally{v.__wbindgen_add_to_stack_pointer(16)}}to_bytes(){let A=v.ed25519verifyingkey_to_bytes(this.__wbg_ptr);return W.__wrap(A)}},Si=class{static __wrap(A){A=A>>>0;let i=Object.create(Si.prototype);return i.__wbg_ptr=A,i}__destroy_into_raw(){let A=this.__wbg_ptr;return this.__wbg_ptr=0,A}[Symbol.dispose](){this.free()}free(){let A=this.__destroy_into_raw();v.__wbg_x25519sharedsecret_free(A)}to_bytes(){let A=v.ed25519verifyingkey_to_bytes(this.__wbg_ptr);return W.__wrap(A)}was_contributory(){return v.x25519sharedsecret_was_contributory(this.__wbg_ptr)!==0}},xA=class{static __wrap(A){A=A>>>0;let i=Object.create(xA.prototype);return i.__wbg_ptr=A,i}__destroy_into_raw(){let A=this.__wbg_ptr;return this.__wbg_ptr=0,A}[Symbol.dispose](){this.free()}free(){let A=this.__destroy_into_raw();v.__wbg_x25519staticsecret_free(A)}constructor(){let A=v.x25519staticsecret_random();return xA.__wrap(A)}static from_bytes(A){try{let g=v.__wbindgen_add_to_stack_pointer(-16);UA(A,W),v.x25519staticsecret_from_bytes(g,A.__wbg_ptr);var i=IA()[g/4+0],e=IA()[g/4+1],t=IA()[g/4+2];if(t)throw OA(e);return xA.__wrap(i)}finally{v.__wbindgen_add_to_stack_pointer(16)}}to_bytes(){let A=v.x25519staticsecret_to_bytes(this.__wbg_ptr);return W.__wrap(A)}diffie_hellman(A){UA(A,RA);let i=v.x25519staticsecret_diffie_hellman(this.__wbg_ptr,A.__wbg_ptr);return Si.__wrap(i)}to_public(){let A=v.x25519staticsecret_to_public(this.__wbg_ptr);return RA.__wrap(A)}};async function Sn(I,A){if(typeof Response=="function"&&I instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(I,A)}catch(e){if(I.headers.get("Content-Type")!="application/wasm")console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",e);else throw e}let i=await I.arrayBuffer();return await WebAssembly.instantiate(i,A)}else{let i=await WebAssembly.instantiate(I,A);return i instanceof WebAssembly.Instance?{instance:i,module:I}:i}}function kn(){let I={};return I.wbg={},I.wbg.__wbindgen_error_new=function(A,i){let e=new Error(Ie(A,i));return tA(e)},I.wbg.__wbindgen_object_clone_ref=function(A){let i=_(A);return tA(i)},I.wbg.__wbg_crypto_c48a774b022d20ac=function(A){let i=_(A).crypto;return tA(i)},I.wbg.__wbindgen_is_object=function(A){let i=_(A);return typeof i=="object"&&i!==null},I.wbg.__wbg_process_298734cf255a885d=function(A){let i=_(A).process;return tA(i)},I.wbg.__wbg_versions_e2e78e134e3e5d01=function(A){let i=_(A).versions;return tA(i)},I.wbg.__wbg_node_1cd7a5d853dbea79=function(A){let i=_(A).node;return tA(i)},I.wbg.__wbindgen_is_string=function(A){return typeof _(A)=="string"},I.wbg.__wbindgen_object_drop_ref=function(A){OA(A)},I.wbg.__wbg_msCrypto_bcb970640f50a1e8=function(A){let i=_(A).msCrypto;return tA(i)},I.wbg.__wbg_newwithlength_f5933855e4f48a19=function(A){let i=new Uint8Array(A>>>0);return tA(i)},I.wbg.__wbg_require_8f08ceecec0f4fee=function(){return tI(function(){let A=module.require;return tA(A)},arguments)},I.wbg.__wbindgen_is_function=function(A){return typeof _(A)=="function"},I.wbg.__wbindgen_string_new=function(A,i){let e=Ie(A,i);return tA(e)},I.wbg.__wbg_call_168da88779e35f61=function(){return tI(function(A,i,e){let t=_(A).call(_(i),_(e));return tA(t)},arguments)},I.wbg.__wbg_self_6d479506f72c6a71=function(){return tI(function(){let A=self.self;return tA(A)},arguments)},I.wbg.__wbg_window_f2557cc78490aceb=function(){return tI(function(){let A=window.window;return tA(A)},arguments)},I.wbg.__wbg_globalThis_7f206bda628d5286=function(){return tI(function(){let A=globalThis.globalThis;return tA(A)},arguments)},I.wbg.__wbg_global_ba75c50d1cf384f4=function(){return tI(function(){let A=global.global;return tA(A)},arguments)},I.wbg.__wbindgen_is_undefined=function(A){return _(A)===void 0},I.wbg.__wbg_newnoargs_b5b063fc6c2f0376=function(A,i){let e=new Function(Ie(A,i));return tA(e)},I.wbg.__wbg_call_97ae9d8645dc388b=function(){return tI(function(A,i){let e=_(A).call(_(i));return tA(e)},arguments)},I.wbg.__wbg_subarray_58ad4efbb5bcb886=function(A,i,e){let t=_(A).subarray(i>>>0,e>>>0);return tA(t)},I.wbg.__wbg_getRandomValues_37fa2ca9e4e07fab=function(){return tI(function(A,i){_(A).getRandomValues(_(i))},arguments)},I.wbg.__wbindgen_memory=function(){let A=v.memory;return tA(A)},I.wbg.__wbg_buffer_3f3d764d4747d564=function(A){let i=_(A).buffer;return tA(i)},I.wbg.__wbg_new_8c3f0052272a457a=function(A){let i=new Uint8Array(_(A));return tA(i)},I.wbg.__wbg_set_83db9690f9353e79=function(A,i,e){_(A).set(_(i),e>>>0)},I.wbg.__wbg_newwithbyteoffsetandlength_d9aa266703cb98be=function(A,i,e){let t=new Uint8Array(_(A),i>>>0,e>>>0);return tA(t)},I.wbg.__wbg_randomFillSync_dc1e9a60c158336d=function(){return tI(function(A,i){_(A).randomFillSync(OA(i))},arguments)},I.wbg.__wbindgen_throw=function(A,i){throw new Error(Ie(A,i))},I}function Gn(I,A){return v=I.exports,ie.__wbindgen_wasm_module=A,Fi=null,li=null,v}async function ie(I){if(v!==void 0)return v;if(typeof I=="undefined")throw new Error;let A=kn();(typeof I=="string"||typeof Request=="function"&&I instanceof Request||typeof URL=="function"&&I instanceof URL)&&(I=fetch(I));let{instance:i,module:e}=await Sn(await I,A);return Gn(i,e)}var ig="data:application/wasm;base64,AGFzbQEAAAABlQEWYAJ/fwF/YAF/AX9gAn9/AGADf39/AX9gA39/fwBgAX8AYAABf2AEf39/fwF/YAR/f39/AGAFf39/f38AYAAAYAV/f39/fwF/YAN+f38Bf2AGf39/f39/AGAGf39/f39/AX9gBX9/fX9/AGAEf31/fwBgBX9/fH9/AGAEf3x/fwBgBX9/fn9/AGAEf35/fwBgAX8BfgK8CB8Dd2JnFF9fd2JpbmRnZW5fZXJyb3JfbmV3AAADd2JnG19fd2JpbmRnZW5fb2JqZWN0X2Nsb25lX3JlZgABA3diZx1fX3diZ19jcnlwdG9fYzQ4YTc3NGIwMjJkMjBhYwABA3diZxRfX3diaW5kZ2VuX2lzX29iamVjdAABA3diZx5fX3diZ19wcm9jZXNzXzI5ODczNGNmMjU1YTg4NWQAAQN3YmcfX193YmdfdmVyc2lvbnNfZTJlNzhlMTM0ZTNlNWQwMQABA3diZxtfX3diZ19ub2RlXzFjZDdhNWQ4NTNkYmVhNzkAAQN3YmcUX193YmluZGdlbl9pc19zdHJpbmcAAQN3YmcaX193YmluZGdlbl9vYmplY3RfZHJvcF9yZWYABQN3YmcfX193YmdfbXNDcnlwdG9fYmNiOTcwNjQwZjUwYTFlOAABA3diZyRfX3diZ19uZXd3aXRobGVuZ3RoX2Y1OTMzODU1ZTRmNDhhMTkAAQN3YmceX193YmdfcmVxdWlyZV84ZjA4Y2VlY2VjMGY0ZmVlAAYDd2JnFl9fd2JpbmRnZW5faXNfZnVuY3Rpb24AAQN3YmcVX193YmluZGdlbl9zdHJpbmdfbmV3AAADd2JnG19fd2JnX2NhbGxfMTY4ZGE4ODc3OWUzNWY2MQADA3diZxtfX3diZ19zZWxmXzZkNDc5NTA2ZjcyYzZhNzEABgN3YmcdX193Ymdfd2luZG93X2YyNTU3Y2M3ODQ5MGFjZWIABgN3YmchX193YmdfZ2xvYmFsVGhpc183ZjIwNmJkYTYyOGQ1Mjg2AAYDd2JnHV9fd2JnX2dsb2JhbF9iYTc1YzUwZDFjZjM4NGY0AAYDd2JnF19fd2JpbmRnZW5faXNfdW5kZWZpbmVkAAEDd2JnIF9fd2JnX25ld25vYXJnc19iNWIwNjNmYzZjMmYwMzc2AAADd2JnG19fd2JnX2NhbGxfOTdhZTlkODY0NWRjMzg4YgAAA3diZx9fX3diZ19zdWJhcnJheV81OGFkNGVmYmI1YmNiODg2AAMDd2JnJl9fd2JnX2dldFJhbmRvbVZhbHVlc18zN2ZhMmNhOWU0ZTA3ZmFiAAIDd2JnEV9fd2JpbmRnZW5fbWVtb3J5AAYDd2JnHV9fd2JnX2J1ZmZlcl8zZjNkNzY0ZDQ3NDdkNTY0AAEDd2JnGl9fd2JnX25ld184YzNmMDA1MjI3MmE0NTdhAAEDd2JnGl9fd2JnX3NldF84M2RiOTY5MGY5MzUzZTc5AAQDd2JnMV9fd2JnX25ld3dpdGhieXRlb2Zmc2V0YW5kbGVuZ3RoX2Q5YWEyNjY3MDNjYjk4YmUAAwN3YmclX193YmdfcmFuZG9tRmlsbFN5bmNfZGMxZTlhNjBjMTU4MzM2ZAACA3diZxBfX3diaW5kZ2VuX3Rocm93AAIDZGMEAgIAAgABAwICAgMEBAQCBQIEBAECBwQCDAIEAgMCAgQCAgUAAQACAAICAAEGBgQCCAEBBgENCQUBAAAABQADAwUHCgIAAQUBAA4LCQ8REwgDBQAAAQAABQAAAQoKAgMAFQUEBQFwAR8fBQMBABEGCQF/AUGAgMAACwfnByUGbWVtb3J5AgAZeDI1NTE5c3RhdGljc2VjcmV0X3JhbmRvbQBNHXgyNTUxOXN0YXRpY3NlY3JldF9mcm9tX2J5dGVzAD0beDI1NTE5c3RhdGljc2VjcmV0X3RvX2J5dGVzAFIheDI1NTE5c3RhdGljc2VjcmV0X2RpZmZpZV9oZWxsbWFuACIceDI1NTE5c3RhdGljc2VjcmV0X3RvX3B1YmxpYwAzFWVkMjU1MTlzaWduaW5na2V5X25ldwBMHGVkMjU1MTlzaWduaW5na2V5X2Zyb21fYnl0ZXMARhplZDI1NTE5c2lnbmluZ2tleV90b19ieXRlcwBRGGVkMjU1MTlzaWduaW5na2V5X3B1YmxpYwBYFmVkMjU1MTlzaWduaW5na2V5X3NpZ24AJB5lZDI1NTE5dmVyaWZ5aW5na2V5X2Zyb21fYnl0ZXMAIxxlZDI1NTE5dmVyaWZ5aW5na2V5X3RvX2J5dGVzAEsaZWQyNTUxOXZlcmlmeWluZ2tleV92ZXJpZnkAJhp4MjU1MTlwdWJsaWNrZXlfZnJvbV9ieXRlcwA9EV9fd2JnX21lbW9yeV9mcmVlAGAKbWVtb3J5X25ldwBkCm1lbW9yeV9wdHIAZwptZW1vcnlfbGVuAGUjeDI1NTE5c2hhcmVkc2VjcmV0X3dhc19jb250cmlidXRvcnkAVBtfX3diZ19lZDI1NTE5c2lnbmF0dXJlX2ZyZWUAZhtlZDI1NTE5c2lnbmF0dXJlX2Zyb21fYnl0ZXMANxllZDI1NTE5c2lnbmF0dXJlX3RvX2J5dGVzAEQYZWQyNTUxOXNpZ25pbmdrZXlfcmFuZG9tAEwXZWQyNTUxOXZlcmlmeWluZ2tleV9uZXcAIxN4MjU1MTlwdWJsaWNrZXlfbmV3AD0UZWQyNTUxOXNpZ25hdHVyZV9uZXcANxh4MjU1MTlwdWJsaWNrZXlfdG9fYnl0ZXMASxt4MjU1MTlzaGFyZWRzZWNyZXRfdG9fYnl0ZXMASx1fX3diZ194MjU1MTlzdGF0aWNzZWNyZXRfZnJlZQBmHl9fd2JnX2VkMjU1MTl2ZXJpZnlpbmdrZXlfZnJlZQBmGl9fd2JnX3gyNTUxOXB1YmxpY2tleV9mcmVlAGYdX193YmdfeDI1NTE5c2hhcmVkc2VjcmV0X2ZyZWUAZhxfX3diZ19lZDI1NTE5c2lnbmluZ2tleV9mcmVlAGYfX193YmluZGdlbl9hZGRfdG9fc3RhY2tfcG9pbnRlcgB6EV9fd2JpbmRnZW5fbWFsbG9jAF0UX193YmluZGdlbl9leG5fc3RvcmUAdwknAQBBAQseSnh1dnlqVWtqaXBva2tsbW5ogQFeRVlxX0dbgQFygAFzCrjeBWO2WAIgfgF/IwBBgAFrIiMkACAjQYABEH8hIyAAKQM4ISEgACkDMCEfIAApAyghHiAAKQMgIRwgACkDGCEiIAApAxAhICAAKQMIIR0gACkDACEEIAIEQCABIAJBB3RqIQIDQCAjIAEpAAAiA0I4hiADQoD+A4NCKIaEIANCgID8B4NCGIYgA0KAgID4D4NCCIaEhCADQgiIQoCAgPgPgyADQhiIQoCA/AeDhCADQiiIQoD+A4MgA0I4iISEhDcDACAjIAEpAAgiA0I4hiADQoD+A4NCKIaEIANCgID8B4NCGIYgA0KAgID4D4NCCIaEhCADQgiIQoCAgPgPgyADQhiIQoCA/AeDhCADQiiIQoD+A4MgA0I4iISE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////H3E2AgAgMiALIBFrQfD///8Baq0gREIaiHwiRKdB////D3E2AgAgMyAJIBBrQfD///8Baq0gRUIaiHwiRadB////D3E2AgAgNCAIIA9rQfD///8Daq0gREIZiHwiRKdB////H3E2AgAgNSBGQv///w+DIENC////H4MgRUIZiHwiQ0IaiHw+AgAgNiBDp0H///8fcTYCACA3IAYgDmtB8P///wFqrSBEQhqIfCJDp0H///8PcTYCACA4IEhC////D4MgQ0IZiEITfiBHQv///x+DfCJDQhqIfD4CACACIAYgDmo2AuQVIAIgCCAPajYC4BUgAiALIBFqNgLcFSACICggKWo2AtgVIAIgLyA7ajYC1BUgAiA+IEJqNgLQFSACIAkgEGo2AswVIAIgDCASajYCyBUgAiANIBNqNgLEFSACIBQgFWo2AsAVIAIgQ6dB////H3E2AugVIBogHCkDADcDACAeICApAwA3AwAgIiAkKQMANwMAICUgJikDADcDACACIAIpA7AXNwOQFiAnIApBxIbAABAxIARB5IfAACAYIDlBoAEQfhAsIDAgBCAFEDEgFiADIAcQMSAXIAcgBRAxIAogBCADEDEgGSgCACEGIBsoAgAhCCAdKAIAIQkgHygCACELICEoAgAhDCAjKAIAIQ0gAigChBchDiACKAKAFyEPIAIoAuwWIRAgAigC/BYhESACKALoFiESIAIoAuQWIRMgAigC4BYhFCACKAKIFyEVICogKygCACIYIAIoAvgWIihrQfD///8Daq0gLCgCACIpIAIoAvQWIi9rQfD///8Baq0gLSgCACI7IAIoAvAWIj5rQfD///8Daq0iQ0IaiHwiRkIZiHwiRKdB////H3E2AgAgMSAMIBJrQfD///8Daq0gDSATa0Hw////AWqtIBUgFGtB0P3//wNqrSJHQhqIfCJIQhmIfCJFp0H///8fcTYCACAyIAsgEWtB8P///wFqrSBEQhqIfCJEp0H///8PcTYCACAzIAkgEGtB8P///wFqrSBFQhqIfCJFp0H///8PcTYCACA0IAggD2tB8P///wNqrSBEQhmIfCJEp0H///8fcTYCACA1IEZC////D4MgQ0L///8fgyBFQhmIfCJDQhqIfD4CACA2IEOnQf///x9xNgIAIDcgBiAOa0Hw////AWqtIERCGoh8IkOnQf///w9xNgIAIDggSEL///8PgyBDQhmIQhN+IEdC////H4N8IkNCGoh8PgIAIAIgBiAOajYC5BUgAiAIIA9qNgLgFSACIAsgEWo2AtwVIAIgGCAoajYC2BUgAiApIC9qNgLUFSACIDsgPmo2AtAVIAIgCSAQajYCzBUgAiAMIBJqNgLIFSACIA0gE2o2AsQVIAIgFCAVajYCwBUgAiBDp0H///8fcTYC6BUgGiAcKQMANwMAIB4gICkDADcDACAiICQpAwA3AwAgJSAmKQMANwMAIAIgAikDsBc3A5AWICcgCkHEhsAAEDEgBEHkh8AAIC4gOUGgARB+ECwgMCAEIAUQMSAWIAMgBxAxIBcgByAFEDEgCiAEIAMQMSAZKAIAIQYgGygCACEIIB0oAgAhCSAfKAIAIQsgISgCACEMICMoAgAhDSACKAKEFyEOIAIoAoAXIQ8gAigC7BYhECACKAL8FiERIAIoAugWIRIgAigC5BYhEyACKALgFiEUIAIoAogXIRUgKiArKAIAIhggAigC+BYiLmtB8P///wNqrSAsKAIAIiggAigC9BYiKWtB8P///wFqrSAtKAIAIi8gAigC8BYiO2tB8P///wNqrSJDQhqIfCJGQhmIfCJEp0H///8fcTYCACAxIAwgEmtB8P///wNqrSANIBNrQfD///8Baq0gFSAUa0HQ/f//A2qtIkdCGoh8IkhCGYh8IkWnQf///x9xNgIAIDIgCyARa0Hw////AWqtIERCGoh8IkSnQf///w9xNgIAIDMgCSAQa0Hw////AWqtIEVCGoh8IkWnQf///w9xNgIAIDQgCCAPa0Hw////A2qtIERCGYh8IkSnQf///x9xNgIAIDUgRkL///8PgyBDQv///x+DIEVCGYh8IkNCGoh8PgIAIDYgQ6dB////H3E2AgAgNyAGIA5rQfD///8Baq0gREIaiHwiQ6dB////D3E2AgAgOCBIQv///w+DIENCGYhCE34gR0L///8fg3wiQ0IaiHw+AgAgAiAGIA5qNgLkFSACIAggD2o2AuAVIAIgCyARajYC3BUgAiAYIC5qNgLYFSACICggKWo2AtQVIAIgLyA7ajYC0BUgAiAJIBBqNgLMFSACIAwgEmo2AsgVIAIgDSATajYCxBUgAiAUIBVqNgLAFSACIEOnQf///x9xNgLoFSAaIBwpAwA3AwAgHiAgKQMANwMAICIgJCkDADcDACAlICYpAwA3AwAgAiACKQOwFzcDkBYgJyAKQcSGwAAQMSAEQeSHwAAgOiA5QaABEH4QLCAwIAQgBRAxIBYgAyAHEDEgFyAHIAUQMSAKIAQgAxAxIBkoAgAhBiAbKAIAIQggHSgCACEJIB8oAgAhCyAhKAIAIQwgIygCACENIAIoAoQXIQ4gAigCgBchDyACKALsFiEQIAIoAvwWIREgAigC6BYhEiACKALkFiETIAIoAuAWIRQgAigCiBchFSAqICsoAgAiGCACKAL4FiIua0Hw////A2qtICwoAgAiOiACKAL0FiIoa0Hw////AWqtIC0oAgAiKSACKALwFiIva0Hw////A2qtIkNCGoh8IkZCGYh8IkSnQf///x9xNgIAIDEgDCASa0Hw////A2qtIA0gE2tB8P///wFqrSAVIBRrQdD9//8Daq0iR0IaiHwiSEIZiHwiRadB////H3E2AgAgMiALIBFrQfD///8Baq0gREIaiHwiRKdB////D3E2AgAgMyAJIBBrQfD///8Baq0gRUIaiHwiRadB////D3E2AgAgNCAIIA9rQfD///8Daq0gREIZiHwiRKdB////H3E2AgAgNSBGQv///w+DIENC////H4MgRUIZiHwiQ0IaiHw+AgAgNiBDp0H///8fcTYCACA3IAYgDmtB8P///wFqrSBEQhqIfCJDp0H///8PcTYCACA4IEhC////D4MgQ0IZiEITfiBHQv///x+DfCJDQhqIfD4CACACIAYgDmo2AuQVIAIgCCAPajYC4BUgAiALIBFqNgLcFSACIBggLmo2AtgVIAIgKCA6ajYC1BUgAiApIC9qNgLQFSACIAkgEGo2AswVIAIgDCASajYCyBUgAiANIBNqNgLEFSACIBQgFWo2AsAVIAIgQ6dB////H3E2AugVIBogHCkDADcDACAeICApAwA3AwAgIiAkKQMANwMAICUgJikDADcDACACIAIpA7AXNwOQFiAnIApBxIbAABAxIARB5IfAACA9IDlBoAEQfhAsIDAgBCAFEDEgFiADIAcQMSAXIAcgBRAxIAogBCADEDEgGSgCACEGIBsoAgAhCCAdKAIAIQkgHygCACELICEoAgAhDCAjKAIAIQ0gAigChBchDiACKAKAFyEPIAIoAuwWIRAgAigC/BYhESACKALoFiESIAIoAuQWIRMgAigC4BYhFCACKAKIFyEVICogKygCACIYIAIoAvgWIi5rQfD///8Daq0gLCgCACI6IAIoAvQWIj1rQfD///8Baq0gLSgCACIoIAIoAvAWIilrQfD///8Daq0iQ0IaiHwiRkIZiHwiRKdB////H3E2AgAgMSAMIBJrQfD///8Daq0gDSATa0Hw////AWqtIBUgFGtB0P3//wNqrSJHQhqIfCJIQhmIfCJFp0H///8fcTYCACAyIAsgEWtB8P///wFqrSBEQhqIfCJEp0H///8PcTYCACAzIAkgEGtB8P///wFqrSBFQhqIfCJFp0H///8PcTYCACA0IAggD2tB8P///wNqrSBEQhmIfCJEp0H///8fcTYCACA1IEZC////D4MgQ0L///8fgyBFQhmIfCJDQhqIfD4CACA2IEOnQf///x9xNgIAIDcgBiAOa0Hw////AWqtIERCGoh8IkOnQf///w9xNgIAIDggSEL///8PgyBDQhmIQhN+IEdC////H4N8IkNCGoh8PgIAIAIgBiAOajYC5BUgAiAIIA9qNgLgFSACIAsgEWo2AtwVIAIgGCAuajYC2BUgAiA6ID1qNgLUFSACICggKWo2AtAVIAIgCSAQajYCzBUgAiAMIBJqNgLIFSACIA0gE2o2AsQVIAIgFCAVajYCwBUgAiBDp0H///8fcTYC6BUgGiAcKQMANwMAIB4gICkDADcDACAiICQpAwA3AwAgJSAmKQMANwMAIAIgAikDsBc3A5AWICcgCkHEhsAAEDEgBEHkh8AAIEAgOUGgARB+ECwgMCAEIAUQMSAWIAMgBxAxIBcgByAFEDEgCiAEIAMQMSAZKAIAIQMgGygCACEFIB0oAgAhByAfKAIAIRYgISgCACEXICMoAgAhGSACKAKEFyEbIAIoAoAXIR0gAigC7BYhHyACKAL8FiEhIAIoAugWISMgAigC5BYhBiACKALgFiEIIAIoAogXIQkgKiArKAIAIiogAigC+BYiK2tB8P///wNqrSAsKAIAIiwgAigC9BYiC2tB8P///wFqrSAtKAIAIi0gAigC8BYiDGtB8P///wNqrSJDQhqIfCJGQhmIfCJEp0H///8fcTYCACAxIBcgI2tB8P///wNqrSAZIAZrQfD///8Baq0gCSAIa0HQ/f//A2qtIkdCGoh8IkhCGYh8IkWnQf///x9xNgIAIDIgFiAha0Hw////AWqtIERCGoh8IkSnQf///w9xNgIAIDMgByAfa0Hw////AWqtIEVCGoh8IkWnQf///w9xNgIAIDQgBSAda0Hw////A2qtIERCGYh8IkSnQf///x9xNgIAIDUgRkL///8PgyBDQv///x+DIEVCGYh8IkNCGoh8PgIAIDYgQ6dB////H3E2AgAgNyADIBtrQfD///8Baq0gREIaiHwiQ6dB////D3E2AgAgOCBIQv///w+DIENCGYhCE34gR0L///8fg3wiQ0IaiHw+AgAgAiADIBtqNgLkFSACIAUgHWo2AuAVIAIgFiAhajYC3BUgAiAqICtqNgLYFSACIAsgLGo2AtQVIAIgDCAtajYC0BUgAiAHIB9qNgLMFSACIBcgI2o2AsgVIAIgBiAZajYCxBUgAiAIIAlqNgLAFSACIEOnQf///x9xNgLoFSAaIBwpAwA3AwAgHiAgKQMANwMAICIgJCkDADcDACAlICYpAwA3AwAgAiACKQOwFzcDkBYgJyAKQcSGwAAQMSA5QaABEH4aIAQgP0GAChB+GiACQfgLakIANwMAIAJB8AtqQgA3AwAgAkHoC2pCADcDACACQeALakIANwMAIAJB2AtqQgA3AwAgAkHQC2pCADcDACACQcgLakIANwMAIAJCADcDwAsDQCACQcALaiA8aiIDQQFqIAEtAAAiBUEEdjoAACADIAVBD3E6AAAgA0EDaiABQQFqLQAAIgVBBHY6AAAgA0ECaiAFQQ9xOgAAIAFBAmohASA8QQRqIjxBwABHDQALQQAhASACLQDACyEDA0AgAkHAC2ogAWoiBSADIANBCGoiB0HwAXFrOgAAIAVBAWoiAyADLQAAIAfAQQR1aiIHOgAAIAFBPkZFBEAgAyAHIAdBCGoiA0HwAXFrOgAAIAVBAmoiBSAFLQAAIAPAQQR1aiIDOgAAIAFBAmohAQwBCwsgAkHACmogAkH4C2opAwA3AwAgAkG4CmogAkHwC2opAwA3AwAgAkGwCmogAkHoC2oiBykDADcDACACQagKaiACQeALaikDADcDACACQaAKaiACQdgLaikDADcDACACQZgKaiACQdALaikDADcDACACQZAKaiACQcgLaikDADcDACACIAIpA8ALNwOICiACQeAVakIANwMAIAJB2BVqQgA3AwAgAkHQFWpCADcDACACQcgVakIANwMAIAJB8BVqQZyHwAApAgAiQzcDACACQfgVakGkh8AAKQIAIkY3AwAgAkGAFmpBrIfAACkCACJENwMAIAJBiBZqQbSHwAApAgAiRzcDACACQZgWaiBDNwMAIAJBoBZqIEY3AwAgAkGoFmogRDcDACACQbAWaiBHNwMAIAJCADcDwBUgAkGUh8AAKQIAIkM3A+gVIAIgQzcDkBYgAkHYFmpCADcDACACQdAWakIANwMAIAJByBZqQgA3AwAgAkHAFmpCADcDACACQgA3A7gWIAJBwAtqIgEgAkEIaiACLQDHChA2IAJB4BZqIAJBwBVqIAEQLCACQbgMaiEXIAJBkAxqIQogAkGwF2ohASACQYgXaiEFIAJB2BdqIQNBPiEWA0AgAkHAC2oiBiACQeAWaiIEIAMQMSAHIAUgARAxIAogASADEDEgAkHICmoiCCAGQfgAEH4aIAQgCBAoIAYgBCADEDEgByAFIAEQMSAKIAEgAxAxIAJByApqIAJBwAtqQfgAEH4aIAQgCBAoIAYgBCADEDEgByAFIAEQMSAKIAEgAxAxIAJByApqIAJBwAtqQfgAEH4aIAQgCBAoIAYgBCADEDEgByAFIAEQMSAKIAEgAxAxIAJByApqIAJBwAtqQfgAEH4aIAQgCBAoIAYgBCADEDEgByAFIAEQMSAKIAEgAxAxIBcgBCAFEDEgAkHAFWoiCCAGQaABEH4aIAYgAkEIaiACQYgKaiAWai0AABA2IAQgCCAGECwgFkEBayIWQX9HDQALIAAgAkHgFmoiBCADEDEgAEEoaiAFIAEQMSAAQdAAaiABIAMQMSAAQfgAaiAEIAUQMSACQYAYaiQAC5AwAj5/Bn4jAEGAD2siAiQAIAFBLGooAgAhAyABQQhqIhMoAgAhBCABQTBqIiUoAgAhFSABQTRqKAIAIRcgAUEQaiIYKAIAIRkgAUE4aiIWKAIAIRogAUE8aigCACEbIAFBGGoiHCgCACEdIAFBQGsiHigCACEUIAFBxABqKAIAIR8gAUEgaiIgKAIAISMgAUHIAGoiJCgCACEsIAEoAgAhLSABKAIoIS4gASgCBCEvIAEoAgwhMCABKAIUITEgASgCHCEyIAIgASgCJCABQcwAaigCAGo2AoQOIAIgIyAsajYCgA4gAiAfIDJqNgL8DSACIBQgHWo2AvgNIAIgGyAxajYC9A0gAiAZIBpqNgLwDSACIBcgMGo2AuwNIAIgBCAVajYC6A0gAiADIC9qNgLkDSACIC0gLmo2AuANIAJBiA5qIgMgAUEoaiABED8gAkHQDmogAUHwAGoiFCkCADcDACACQcgOaiABQegAaiIdKQIANwMAIAJBwA5qIAFB4ABqIhspAgA3AwAgAkG4DmogAUHYAGoiGikCADcDACACIAEpAlA3A7AOIAJB2A5qIgQgAUH4AGpBxIbAABAxIAIgAkHgDWpBoAEQfiICQaABaiACQeANakGgARB+IQ4gAkHAAmogAkHgDWpBoAEQfiEmIAJB4ANqIAJB4A1qQaABEH4hMyACQYAFaiACQeANakGgARB+ITkgAkGgBmogAkHgDWpBoAEQfiE7IAJBwAdqIAJB4A1qQaABEH4hPSACQeAIaiACQeANakGgARB+IAJBiA1qIhUgJCkCADcDACACQYANaiIXIB4pAgA3AwAgAkH4DGoiGSAWKQIANwMAIAJB8AxqIhYgJSkCADcDACACQZgNaiIlIBopAgA3AwAgAkGgDWoiGiAbKQIANwMAIAJBqA1qIhsgHSkCADcDACACQbANaiIdIBQpAgA3AwAgAiABKQIoNwPoDCACIAEpAlA3A5ANIAJB4AxqICApAgA3AwAgAkHYDGogHCkCADcDACACQdAMaiAYKQIANwMAIAJByAxqIBMpAgA3AwAgAiABKQIANwPADCACQeANaiACQcAMaiI0ECggAkGACmoiNSACQeANaiAEEDEgAkGoCmogAyACQbAOaiIBEDEgAkHQCmogASAEEDEgAkH4CmogAkHgDWogAxAxIAJB4A1qIDUgAhAsIDQgAkHgDWogBBAxIAJB6AxqIhggAyABEDEgAkGQDWoiHCABIAQQMSACQbgNaiITIAJB4A1qIAMQMSACQYwNaiIeKAIAIScgFSgCACEoIAJB9AxqIhQoAgAhKSACQYQNaiIfKAIAISogFigCACErIAJB7AxqIiAoAgAhBSACKALkDCEGIAIoAuAMIQcgAigCzAwhCCACKALcDCEJIAIoAsgMIQogAigCxAwhCyACKALADCEMIAIoAugMIQ0gAkHgC2oiIyAXKAIAIg8gAigC2AwiEGtB8P///wNqrSACQfwMaiIkKAIAIhEgAigC1AwiEmtB8P///wFqrSAZKAIAIiEgAigC0AwiImtB8P///wNqrSJAQhqIfCJDQhmIfCJBp0H///8fcTYCACACQdALaiIsICsgCmtB8P///wNqrSAFIAtrQfD///8Baq0gDSAMa0HQ/f//A2qtIkRCGoh8IkVCGYh8IkKnQf///x9xNgIAIAJB5AtqIi0gKiAJa0Hw////AWqtIEFCGoh8IkGnQf///w9xNgIAIAJB1AtqIi4gKSAIa0Hw////AWqtIEJCGoh8IkKnQf///w9xNgIAIAJB6AtqIi8gKCAHa0Hw////A2qtIEFCGYh8IkGnQf///x9xNgIAIAJB3AtqIjAgQ0L///8PgyBAQv///x+DIEJCGYh8IkBCGoh8PgIAIAJB2AtqIjEgQKdB////H3E2AgAgAkHsC2oiMiAnIAZrQfD///8Baq0gQUIaiHwiQKdB////D3E2AgAgAkHMC2oiNyBFQv///w+DIEBCGYhCE34gREL///8fg3wiQEIaiHw+AgAgAiAGICdqNgLECyACIAcgKGo2AsALIAIgCSAqajYCvAsgAiAPIBBqNgK4CyACIBEgEmo2ArQLIAIgISAiajYCsAsgAiAIIClqNgKsCyACIAogK2o2AqgLIAIgBSALajYCpAsgAiAMIA1qNgKgCyACIECnQf///x9xNgLICyACQZAMaiInIB0pAwA3AwAgAkGIDGoiKCAbKQMANwMAIAJBgAxqIikgGikDADcDACACQfgLaiIqICUpAwA3AwAgAiACKQOQDTcD8AsgAkGYDGoiKyATQcSGwAAQMSACQeANaiA1IA4gAkGgC2oiOEGgARB+ECwgNCACQeANaiAEEDEgGCADIAEQMSAcIAEgBBAxIBMgAkHgDWogAxAxIB4oAgAhBSAVKAIAIQYgFCgCACEHIB8oAgAhCCAWKAIAIQkgICgCACEKIAIoAuQMIQsgAigC4AwhDCACKALMDCENIAIoAtwMIQ4gAigCyAwhDyACKALEDCEQIAIoAsAMIREgAigC6AwhEiAjIBcoAgAiISACKALYDCIia0Hw////A2qtICQoAgAiNiACKALUDCI6a0Hw////AWqtIBkoAgAiPCACKALQDCI/a0Hw////A2qtIkBCGoh8IkNCGYh8IkGnQf///x9xNgIAICwgCSAPa0Hw////A2qtIAogEGtB8P///wFqrSASIBFrQdD9//8Daq0iREIaiHwiRUIZiHwiQqdB////H3E2AgAgLSAIIA5rQfD///8Baq0gQUIaiHwiQadB////D3E2AgAgLiAHIA1rQfD///8Baq0gQkIaiHwiQqdB////D3E2AgAgLyAGIAxrQfD///8Daq0gQUIZiHwiQadB////H3E2AgAgMCBDQv///w+DIEBC////H4MgQkIZiHwiQEIaiHw+AgAgMSBAp0H///8fcTYCACAyIAUgC2tB8P///wFqrSBBQhqIfCJAp0H///8PcTYCACA3IEVC////D4MgQEIZiEITfiBEQv///x+DfCJAQhqIfD4CACACIAUgC2o2AsQLIAIgBiAMajYCwAsgAiAIIA5qNgK8CyACICEgImo2ArgLIAIgNiA6ajYCtAsgAiA8ID9qNgKwCyACIAcgDWo2AqwLIAIgCSAPajYCqAsgAiAKIBBqNgKkCyACIBEgEmo2AqALIAIgQKdB////H3E2AsgLICcgHSkDADcDACAoIBspAwA3AwAgKSAaKQMANwMAICogJSkDADcDACACIAIpA5ANNwPwCyArIBNBxIbAABAxIAJB4A1qIDUgJiA4QaABEH4QLCA0IAJB4A1qIAQQMSAYIAMgARAxIBwgASAEEDEgEyACQeANaiADEDEgHigCACEFIBUoAgAhBiAUKAIAIQcgHygCACEIIBYoAgAhCSAgKAIAIQogAigC5AwhCyACKALgDCEMIAIoAswMIQ0gAigC3AwhDiACKALIDCEPIAIoAsQMIRAgAigCwAwhESACKALoDCESICMgFygCACImIAIoAtgMIiFrQfD///8Daq0gJCgCACIiIAIoAtQMIjZrQfD///8Baq0gGSgCACI6IAIoAtAMIjxrQfD///8Daq0iQEIaiHwiQ0IZiHwiQadB////H3E2AgAgLCAJIA9rQfD///8Daq0gCiAQa0Hw////AWqtIBIgEWtB0P3//wNqrSJEQhqIfCJFQhmIfCJCp0H///8fcTYCACAtIAggDmtB8P///wFqrSBBQhqIfCJBp0H///8PcTYCACAuIAcgDWtB8P///wFqrSBCQhqIfCJCp0H///8PcTYCACAvIAYgDGtB8P///wNqrSBBQhmIfCJBp0H///8fcTYCACAwIENC////D4MgQEL///8fgyBCQhmIfCJAQhqIfD4CACAxIECnQf///x9xNgIAIDIgBSALa0Hw////AWqtIEFCGoh8IkCnQf///w9xNgIAIDcgRUL///8PgyBAQhmIQhN+IERC////H4N8IkBCGoh8PgIAIAIgBSALajYCxAsgAiAGIAxqNgLACyACIAggDmo2ArwLIAIgISAmajYCuAsgAiAiIDZqNgK0CyACIDogPGo2ArALIAIgByANajYCrAsgAiAJIA9qNgKoCyACIAogEGo2AqQLIAIgESASajYCoAsgAiBAp0H///8fcTYCyAsgJyAdKQMANwMAICggGykDADcDACApIBopAwA3AwAgKiAlKQMANwMAIAIgAikDkA03A/ALICsgE0HEhsAAEDEgAkHgDWogNSAzIDhBoAEQfhAsIDQgAkHgDWogBBAxIBggAyABEDEgHCABIAQQMSATIAJB4A1qIAMQMSAeKAIAIQUgFSgCACEGIBQoAgAhByAfKAIAIQggFigCACEJICAoAgAhCiACKALkDCELIAIoAuAMIQwgAigCzAwhDSACKALcDCEOIAIoAsgMIQ8gAigCxAwhECACKALADCERIAIoAugMIRIgIyAXKAIAIiYgAigC2AwiM2tB8P///wNqrSAkKAIAIiEgAigC1AwiImtB8P///wFqrSAZKAIAIjYgAigC0AwiOmtB8P///wNqrSJAQhqIfCJDQhmIfCJBp0H///8fcTYCACAsIAkgD2tB8P///wNqrSAKIBBrQfD///8Baq0gEiARa0HQ/f//A2qtIkRCGoh8IkVCGYh8IkKnQf///x9xNgIAIC0gCCAOa0Hw////AWqtIEFCGoh8IkGnQf///w9xNgIAIC4gByANa0Hw////AWqtIEJCGoh8IkKnQf///w9xNgIAIC8gBiAMa0Hw////A2qtIEFCGYh8IkGnQf///x9xNgIAIDAgQ0L///8PgyBAQv///x+DIEJCGYh8IkBCGoh8PgIAIDEgQKdB////H3E2AgAgMiAFIAtrQfD///8Baq0gQUIaiHwiQKdB////D3E2AgAgNyBFQv///w+DIEBCGYhCE34gREL///8fg3wiQEIaiHw+AgAgAiAFIAtqNgLECyACIAYgDGo2AsALIAIgCCAOajYCvAsgAiAmIDNqNgK4CyACICEgImo2ArQLIAIgNiA6ajYCsAsgAiAHIA1qNgKsCyACIAkgD2o2AqgLIAIgCiAQajYCpAsgAiARIBJqNgKgCyACIECnQf///x9xNgLICyAnIB0pAwA3AwAgKCAbKQMANwMAICkgGikDADcDACAqICUpAwA3AwAgAiACKQOQDTcD8AsgKyATQcSGwAAQMSACQeANaiA1IDkgOEGgARB+ECwgNCACQeANaiAEEDEgGCADIAEQMSAcIAEgBBAxIBMgAkHgDWogAxAxIB4oAgAhBSAVKAIAIQYgFCgCACEHIB8oAgAhCCAWKAIAIQkgICgCACEKIAIoAuQMIQsgAigC4AwhDCACKALMDCENIAIoAtwMIQ4gAigCyAwhDyACKALEDCEQIAIoAsAMIREgAigC6AwhEiAjIBcoAgAiJiACKALYDCIza0Hw////A2qtICQoAgAiOSACKALUDCIha0Hw////AWqtIBkoAgAiIiACKALQDCI2a0Hw////A2qtIkBCGoh8IkNCGYh8IkGnQf///x9xNgIAICwgCSAPa0Hw////A2qtIAogEGtB8P///wFqrSASIBFrQdD9//8Daq0iREIaiHwiRUIZiHwiQqdB////H3E2AgAgLSAIIA5rQfD///8Baq0gQUIaiHwiQadB////D3E2AgAgLiAHIA1rQfD///8Baq0gQkIaiHwiQqdB////D3E2AgAgLyAGIAxrQfD///8Daq0gQUIZiHwiQadB////H3E2AgAgMCBDQv///w+DIEBC////H4MgQkIZiHwiQEIaiHw+AgAgMSBAp0H///8fcTYCACAyIAUgC2tB8P///wFqrSBBQhqIfCJAp0H///8PcTYCACA3IEVC////D4MgQEIZiEITfiBEQv///x+DfCJAQhqIfD4CACACIAUgC2o2AsQLIAIgBiAMajYCwAsgAiAIIA5qNgK8CyACICYgM2o2ArgLIAIgISA5ajYCtAsgAiAiIDZqNgKwCyACIAcgDWo2AqwLIAIgCSAPajYCqAsgAiAKIBBqNgKkCyACIBEgEmo2AqALIAIgQKdB////H3E2AsgLICcgHSkDADcDACAoIBspAwA3AwAgKSAaKQMANwMAICogJSkDADcDACACIAIpA5ANNwPwCyArIBNBxIbAABAxIAJB4A1qIDUgOyA4QaABEH4QLCA0IAJB4A1qIAQQMSAYIAMgARAxIBwgASAEEDEgEyACQeANaiADEDEgHigCACEFIBUoAgAhBiAUKAIAIQcgHygCACEIIBYoAgAhCSAgKAIAIQogAigC5AwhCyACKALgDCEMIAIoAswMIQ0gAigC3AwhDiACKALIDCEPIAIoAsQMIRAgAigCwAwhESACKALoDCESICMgFygCACImIAIoAtgMIjNrQfD///8Daq0gJCgCACI5IAIoAtQMIjtrQfD///8Baq0gGSgCACIhIAIoAtAMIiJrQfD///8Daq0iQEIaiHwiQ0IZiHwiQadB////H3E2AgAgLCAJIA9rQfD///8Daq0gCiAQa0Hw////AWqtIBIgEWtB0P3//wNqrSJEQhqIfCJFQhmIfCJCp0H///8fcTYCACAtIAggDmtB8P///wFqrSBBQhqIfCJBp0H///8PcTYCACAuIAcgDWtB8P///wFqrSBCQhqIfCJCp0H///8PcTYCACAvIAYgDGtB8P///wNqrSBBQhmIfCJBp0H///8fcTYCACAwIENC////D4MgQEL///8fgyBCQhmIfCJAQhqIfD4CACAxIECnQf///x9xNgIAIDIgBSALa0Hw////AWqtIEFCGoh8IkCnQf///w9xNgIAIDcgRUL///8PgyBAQhmIQhN+IERC////H4N8IkBCGoh8PgIAIAIgBSALajYCxAsgAiAGIAxqNgLACyACIAggDmo2ArwLIAIgJiAzajYCuAsgAiA5IDtqNgK0CyACICEgImo2ArALIAIgByANajYCrAsgAiAJIA9qNgKoCyACIAogEGo2AqQLIAIgESASajYCoAsgAiBAp0H///8fcTYCyAsgJyAdKQMANwMAICggGykDADcDACApIBopAwA3AwAgKiAlKQMANwMAIAIgAikDkA03A/ALICsgE0HEhsAAEDEgAkHgDWogNSA9IDhBoAEQfhAsIDQgAkHgDWogBBAxIBggAyABEDEgHCABIAQQMSATIAJB4A1qIAMQMSAeKAIAIQEgFSgCACEDIBQoAgAhBCAfKAIAIRUgFigCACEWICAoAgAhGCACKALkDCEcIAIoAuAMIR4gAigCzAwhFCACKALcDCEfIAIoAsgMISAgAigCxAwhBSACKALADCEGIAIoAugMIQcgIyAXKAIAIhcgAigC2AwiI2tB8P///wNqrSAkKAIAIiQgAigC1AwiCGtB8P///wFqrSAZKAIAIhkgAigC0AwiCWtB8P///wNqrSJAQhqIfCJDQhmIfCJBp0H///8fcTYCACAsIBYgIGtB8P///wNqrSAYIAVrQfD///8Baq0gByAGa0HQ/f//A2qtIkRCGoh8IkVCGYh8IkKnQf///x9xNgIAIC0gFSAfa0Hw////AWqtIEFCGoh8IkGnQf///w9xNgIAIC4gBCAUa0Hw////AWqtIEJCGoh8IkKnQf///w9xNgIAIC8gAyAea0Hw////A2qtIEFCGYh8IkGnQf///x9xNgIAIDAgQ0L///8PgyBAQv///x+DIEJCGYh8IkBCGoh8PgIAIDEgQKdB////H3E2AgAgMiABIBxrQfD///8Baq0gQUIaiHwiQKdB////D3E2AgAgNyBFQv///w+DIEBCGYhCE34gREL///8fg3wiQEIaiHw+AgAgAiABIBxqNgLECyACIAMgHmo2AsALIAIgFSAfajYCvAsgAiAXICNqNgK4CyACIAggJGo2ArQLIAIgCSAZajYCsAsgAiAEIBRqNgKsCyACIBYgIGo2AqgLIAIgBSAYajYCpAsgAiAGIAdqNgKgCyACIECnQf///x9xNgLICyAnIB0pAwA3AwAgKCAbKQMANwMAICkgGikDADcDACAqICUpAwA3AwAgAiACKQOQDTcD8AsgKyATQcSGwAAQMSA4QaABEH4aIAAgAkGAChB+GiACQYAPaiQAC7AsAkJ/EH4jAEHABmsiAiQAAkACQAJAIABFDQAgACgCACIDQX9GDQEgACADQQFqNgIAIAFFDQAgASgCACIDQX9GDQEgASADQQFqNgIAIAAtAAQhAyACQT9qIABBG2opAAA3AAAgAkE5aiAAQRVqKQAANwAAIAJBMWogAEENaikAADcAACACIANB+AFxOgAoIAIgAEEFaikAADcAKSACIABBI2otAABBP3FBwAByOgBHIAJByABqIAFBBGoQPiACQZABakG0h8AAKQIANwMAIAJBiAFqQayHwAApAgA3AwAgAkGAAWpBpIfAACkCADcDACACQfgAakGch8AAKQIANwMAIAJBoAFqQgA3AwAgAkGoAWpCADcDACACQbABakIANwMAIAJBuAFqQgA3AwAgAkGUh8AAKQIANwNwIAJCADcDmAEgAkGYAWohLkH+ASEfIAIoAkghByACKAJMIQggAigCUCEJIAIoAlQhCiACKAJYIQsgAigCXCEMIAIoAmAhDSACKAJkIQ4gAigCaCEPIAIoAmwhEEEBIRRBACEDA0AgAyACQShqIB9BA3ZqLQAAQQEgH0EHcXRxIi9BAEciInNBAXEQdCEDIAIoApABISMgAigCuAEhFSACKAKMASEYIAIoArQBIRkgAigCiAEhGiACKAKwASEbIAIoAoQBIRwgAigCrAEhHSACKAKAASEeIAIoAqgBISAgAigCfCEkIAIoAqQBISUgAigCeCEmIAIoAqABIScgAigCdCEoIAIoApwBISkgAigCcCEqIAIoApgBISsgAigCvAEhLCACQQAgA0H/AXFrIgMgECACKAKUASItc3EiMCAtcyItNgKUASACICwgISAscyADcSIxcyIsNgK8ASACICsgFCArcyADcSIycyIrNgKYASACICogByAqcyADcSIzcyIqNgJwIAIgKSATIClzIANxIjRzIik2ApwBIAIgKCAIIChzIANxIjVzIig2AnQgAiAnIBIgJ3MgA3EiNnMiJzYCoAEgAiAmIAkgJnMgA3EiN3MiJjYCeCACICUgESAlcyADcSI4cyIlNgKkASACICQgCiAkcyADcSI5cyIkNgJ8IAIgICAEICBzIANxIjpzIiA2AqgBIAIgHiALIB5zIANxIjtzIh42AoABIAIgHSAFIB1zIANxIjxzIh02AqwBIAIgHCAMIBxzIANxIj1zIhw2AoQBIAIgGyAGIBtzIANxIj5zIhs2ArABIAIgGiANIBpzIANxIj9zIho2AogBIAIgGSAWIBlzIANxIkBzIhk2ArQBIAIgGCAOIBhzIANxIkFzIhg2AowBIAIgFSAVIBdzIANxIkJzIhU2ArgBIAIgIyAPICNzIANxIkNzIgM2ApABIAIgLCAtajYC5AEgAiADIBVqNgLgASACIBggGWo2AtwBIAIgGiAbajYC2AEgAiAcIB1qNgLUASACIB4gIGo2AtABIAIgJCAlajYCzAEgAiAmICdqNgLIASACICggKWo2AsQBIAIgKiArajYCwAEgAiAaIBtrQfD///8Daq0gHCAda0Hw////AWqtIB4gIGtB8P///wNqrSJEQhqIfCJIQhmIfCJFp0H///8fcTYCgAIgAiAmICdrQfD///8Daq0gKCApa0Hw////AWqtICogK2tB0P3//wNqrSJGQhqIfCJJQhmIfCJHp0H///8fcTYC8AEgAiAYIBlrQfD///8Baq0gRUIaiHwiRadB////D3E2AoQCIAIgJCAla0Hw////AWqtIEdCGoh8IkenQf///w9xNgL0ASACIAMgFWtB8P///wNqrSBFQhmIfCJFp0H///8fcTYCiAIgAiBIQv///w+DIERC////H4MgR0IZiHwiREIaiHw+AvwBIAIgRKdB////H3E2AvgBIAIgLSAsa0Hw////AWqtIEVCGoh8IkSnQf///w9xNgKMAiACIElC////D4MgREIZiEITfiBGQv///x+DfCJEQhqIfD4C7AEgAiBEp0H///8fcTYC6AEgAiAhIDFzIgMgECAwcyIQajYCtAIgAiAXIEJzIhcgDyBDcyIPajYCsAIgAiAWIEBzIhYgDiBBcyIOajYCrAIgAiAGID5zIgYgDSA/cyINajYCqAIgAiAFIDxzIgUgDCA9cyIMajYCpAIgAiAEIDpzIgQgCyA7cyILajYCoAIgAiARIDhzIhEgCiA5cyIKajYCnAIgAiASIDZzIhIgCSA3cyIJajYCmAIgAiATIDRzIhMgCCA1cyIIajYClAIgAiAUIDJzIhQgByAzcyIHajYCkAIgAiAQIANrQfD///8Baq0gDyAXa0Hw////A2qtIA4gFmtB8P///wFqrSANIAZrQfD///8Daq0gDCAFa0Hw////AWqtIAsgBGtB8P///wNqrSJEQhqIfCJIQhmIfCJFQhqIfCJGQhmIfCJJQhqIfCJHp0H///8PcTYC3AIgAiBJp0H///8fcTYC2AIgAiBGp0H///8PcTYC1AIgAiBFp0H///8fcTYC0AIgAiBIQv///w+DIERC////H4MgCiARa0Hw////AWqtIAkgEmtB8P///wNqrSAIIBNrQfD///8Baq0gByAUa0HQ/f//A2qtIkRCGoh8IkhCGYh8IkVCGoh8IkZCGYh8IklCGoh8PgLMAiACIEmnQf///x9xNgLIAiACIEanQf///w9xNgLEAiACIEWnQf///x9xNgLAAiACIEhC////D4MgR0IZiEITfiBEQv///x+DfCJEQhqIfD4CvAIgAiBEp0H///8fcTYCuAIgAkHwBWoiFSACQcABaiIFEDsgAiACKQO4BiACKQOwBiACKQOoBiACKQOgBiACKQOYBiACKQOQBiJEQhqIfCJIQhmIfCJFQhqIfCJGQhmIfCJJQhqIfCJHQhmIQhN+IAIpA/AFIkpC////H4N8IkynQf///x9xIgM2AuACIAIgAikD+AUgSkIaiHwiSkL///8PgyBMQhqIfCJMPgLkAiACIERC////H4MgAikDiAYgAikDgAYgSkIZiHwiREIaiHwiSkIZiHwiTadB////H3EiBzYC8AIgAiBIQv///w+DIE1CGoh8Ikg+AvQCIAIgSqdB////D3EiCDYC7AIgAiBHp0H///8PcSIJNgKEAyACIESnQf///x9xIgo2AugCIAIgSadB////H3EiCzYCgAMgAiBGp0H///8PcSIMNgL8AiACIEWnQf///x9xIg02AvgCIBUgAkHoAWoiBhA7IAIgAikDkAYiREL///8fgyACKQOIBiACKQOABiACKQP4BSACKQPwBSJFQhqIfCJGQhmIfCJJQhqIfCJHQhmIfCJKQhqIIAIpA5gGIERCGoh8IkRC////D4N8Ik0+ApwDIAIgSqdB////H3EiDjYCmAMgAiACKQOgBiBEQhmIfCJEp0H///8fcSIPNgKgAyACIAIpA7gGIAIpA7AGIAIpA6gGIERCGoh8IkRCGYh8IkpCGoh8Ik5CGYhCE34gRUL///8fg3wiRadB////H3EiEDYCiAMgAiBGQv///w+DIEVCGoh8IkU+AowDIAIgR6dB////D3EiBDYClAMgAiBOp0H///8PcSIRNgKsAyACIEmnQf///x9xIhI2ApADIAIgSqdB////H3EiEzYCqAMgAiBEp0H///8PcSIUNgKkAyACIA0gD2tB8P///wNqrSBIIE19QvD///8BfEL/////D4MgByAOa0Hw////A2qtIkRCGoh8IkhCGYh8IkanQf///x9xNgLIAyACIAwgFGtB8P///wFqrSBGQhqIfCJGp0H///8PcTYCzAMgAiALIBNrQfD///8Daq0gRkIZiHwiRqdB////H3E2AtADIAIgCiASa0Hw////A2qtIEwgRX1C8P///wF8Qv////8PgyADIBBrQdD9//8Daq0iRUIaiHwiSUIZiHwiR6dB////H3E2ArgDIAIgCSARa0Hw////AWqtIEZCGoh8IkanQf///w9xNgLUAyACIAggBGtB8P///wFqrSBHQhqIfCJHp0H///8PcTYCvAMgAiBIQv///w+DIERC////H4MgR0IZiHwiREIaiHw+AsQDIAIgRKdB////H3E2AsADIAIgSUL///8PgyBGQhmIQhN+IEVC////H4N8IkRCGoh8PgK0AyACIESnQf///x9xNgKwAyACQdgDaiAFIAJBuAJqEDEgAkGABGogBiACQZACahAxIAIoAtgDIQMgAigCgAQhByACKALcAyEIIAIoAoQEIQkgAigC4AMhCiACKAKIBCELIAIoAuQDIQwgAigCjAQhDSACKALoAyEOIAIoApAEIQ8gAigC7AMhECACKAKUBCEEIAIoAvADIREgAigCmAQhEiACKAL0AyETIAIoApwEIRQgAigC+AMhBSACKAKgBCEGIAIgAigCpAQiFiACKAL8AyIXajYCzAQgAiAFIAZqNgLIBCACIBMgFGo2AsQEIAIgESASajYCwAQgAiAEIBBqNgK8BCACIA4gD2o2ArgEIAIgDCANajYCtAQgAiAKIAtqNgKwBCACIAggCWo2AqwEIAIgAyAHajYCqAQgAiARIBJrQfD///8Daq0gECAEa0Hw////AWqtIA4gD2tB8P///wNqrSJEQhqIfCJIQhmIfCJFp0H///8fcTYC6AQgAiAKIAtrQfD///8Daq0gCCAJa0Hw////AWqtIAMgB2tB0P3//wNqrSJGQhqIfCJJQhmIfCJHp0H///8fcTYC2AQgAiATIBRrQfD///8Baq0gRUIaiHwiRadB////D3E2AuwEIAIgDCANa0Hw////AWqtIEdCGoh8IkenQf///w9xNgLcBCACIAUgBmtB8P///wNqrSBFQhmIfCJFp0H///8fcTYC8AQgAiBIQv///w+DIERC////H4MgR0IZiHwiREIaiHw+AuQEIAIgRKdB////H3E2AuAEIAIgFyAWa0Hw////AWqtIEVCGoh8IkSnQf///w9xNgL0BCACIElC////D4MgREIZiEITfiBGQv///x+DfCJEQhqIfD4C1AQgAiBEp0H///8fcTYC0AQgFSACQagEahA7IAIpA7gGIAIpA7AGIAIpA6gGIAIpA6AGIAIpA5gGIAIpA4gGIUwgAikDgAYhTSACKQP4BSFOIAIpA/AFIUQgAikDkAYhSCAVIAJB0ARqEDsgAiACKQOgBiACKQOYBiACKQOQBiJLQhqIfCJRQhmIfCJPp0H///8fcTYCkAUgAiACKQOABiACKQP4BSACKQPwBSJSQhqIfCJTQhmIfCJQp0H///8fcTYCgAUgAiACKQOoBiBPQhqIfCJPp0H///8PcTYClAUgAiACKQOIBiBQQhqIfCJQp0H///8PcTYChAUgAiACKQOwBiBPQhmIfCJPp0H///8fcTYCmAUgAiBRQv///w+DIEtC////H4MgUEIZiHwiS0IaiHw+AowFIAIgS6dB////H3E2AogFIAIgAikDuAYgT0IaiHwiS6dB////D3E2ApwFIAIgU0L///8PgyBLQhmIQhN+IFJC////H4N8IktCGoh8PgL8BCACIEunQf///x9xNgL4BCACQaAFakG8h8AAIAJBsANqIhYQMSACQfAAaiACQeACaiACQYgDahAxIAIoAqAFIQMgAigCiAMhByACKAKkBSEIIAIoAowDIQkgAigCqAUhCiACKAKQAyELIAIoAqwFIQwgAigClAMhDSACKAKwBSEOIAIoApgDIQ8gAigCtAUhECACKAKcAyEEIAIoArgFIREgAigCoAMhEiACKAK8BSETIAIoAqQDIRQgAigCwAUhBSACKAKoAyEGIAIgAigCrAMgAigCxAVqNgLsBSACIAUgBmo2AugFIAIgEyAUajYC5AUgAiARIBJqNgLgBSACIAQgEGo2AtwFIAIgDiAPajYC2AUgAiAMIA1qNgLUBSACIAogC2o2AtAFIAIgCCAJajYCzAUgAiADIAdqNgLIBSAuIBYgAkHIBWoQMSBIQv///x+DIEwgTSBOIERCGoh8Ik5CGYh8Ik1CGoh8IkxCGYh8IkunQf///x9xIQsgSEIaiHwiSEIZiHwiR0IaiHwiSUIZiHwiRkIaiHwiRUIZiEITfiBEQv///x+DfCJEp0H///8fcSEHIEhC////D4MgS0IaiHynIQwgTkL///8PgyBEQhqIfKchCCBHp0H///8fcSENIE2nQf///x9xIQkgSadB////D3EhDiBMp0H///8PcSEKIEanQf///x9xIQ8gRadB////D3EhECAVIAJByABqIAJB+ARqEDEgAigClAYhISACKAKQBiEXIAIoAowGIRYgAigCiAYhBiACKAKEBiEFIAIoAoAGIQQgAigC/AUhESACKAL4BSESIAIoAvQFIRMgAigC8AUhFCAiIQMgH0EBayIfQX9HDQALIAIoAnAhIiACKAJ0IR8gAigCeCEjIAIoAnwhFSACKAKAASEYIAIoAoQBIRkgAigCiAEhGiACKAKMASEbIAIoApABIRwgAigClAEhHSACKAKYASEeIAJBACAvQQBHEHRB/wFxayIDICEgAigCvAEiIHNxICBzNgK8ASACIBcgAigCuAEiIXMgA3EgIXM2ArgBIAIgFiACKAK0ASIXcyADcSAXczYCtAEgAiAGIAIoArABIhZzIANxIBZzNgKwASACIAUgAigCrAEiBnMgA3EgBnM2AqwBIAIgBCACKAKoASIFcyADcSAFczYCqAEgAiARIAIoAqQBIgRzIANxIARzNgKkASACIBIgAigCoAEiBHMgA3EgBHM2AqABIAIgEyACKAKcASIEcyADcSAEczYCnAEgAiAeIBQgHnMgA3FzNgKYASACIB0gECAdcyADcXM2ApQBIAIgHCAPIBxzIANxczYCkAEgAiAbIA4gG3MgA3FzNgKMASACIBogDSAacyADcXM2AogBIAIgGSAMIBlzIANxczYChAEgAiAYIAsgGHMgA3FzNgKAASACIBUgCiAVcyADcXM2AnwgAiAjIAkgI3MgA3FzNgJ4IAIgHyAIIB9zIANxczYCdCACICIgByAicyADcXM2AnAgAkHwBWoiAyAuEC4gAkHABWogAkGQBmopAwA3AwAgAkG4BWogAkGIBmopAwA3AwAgAkGwBWogAkGABmopAwA3AwAgAkGoBWogAkH4BWopAwA3AwAgAiACKQPwBTcDoAUgAkHoBWogAkG4BmopAwA3AwAgAkHgBWogAkGwBmopAwA3AwAgAkHYBWogAkGoBmopAwA3AwAgAkHQBWogAkGgBmopAwA3AwAgAiACKQOYBjcDyAUgAyACQaAFakEFEDogAkH4BGoiIiADIAJByAVqEDEgAyACQfAAaiAiEDEgAkEIaiADEDkgASABKAIAQQFrNgIAIAAgACgCAEEBazYCAEH0mMAALQAAGkEkECUiAEUNAiAAQQA2AgAgACACKQMINwAEIABBDGogAkEQaikDADcAACAAQRRqIAJBGGopAwA3AAAgAEEcaiACQSBqKQMANwAAIAJBwAZqJAAgAA8LEHsACxB8AAsAC/MoAjN/CH4jAEHgBmsiAiQAAkACQAJAIAEEQCABKAIAIgNBf0YNASABIANBAWo2AgAgAUEMaigCAEEgRw0CIAFBBGooAgAiA0UNAiADLQAFIR0gAy0ABCEeIAMtABUhHyADLQAUISAgAy0ACCEhIAMtAAchIiADLQAGIRMgAy0ACyEjIAMtAAohJCADLQAJIRQgAy0ADyElIAMtAA4hJiADLQANIScgAy0ADCEVIAMtABghKCADLQAXISkgAy0AFiEWIAMtABshKiADLQAaISsgAy0AGSEXIAMtAB8hGCADLQAeISwgAy0AHSEtIAMtABwhGSADKAAAIRAgAiADKAAQIi5B////D3E2AsQCIAIgEEH///8fcTYCsAIgAiAYQRJ0rUKAgPAPgyAtrUL/AYNCAoYgGa1CwAGDQgaIhCAsrUL/AYNCCoaEhD4C1AIgAiAZQRR0rUKAgMAfgyArrUL/AYNCBIYgF61C8AGDQgSIhCAqrUL/AYNCDIaEhD4C0AIgAiAXQRV0rUKAgIAPgyAprUL/AYNCBYYgFq1C+AGDQgOIhCAorUL/AYNCDYaEhD4CzAIgAiAnrUL/AYNCAoYgFa1CwAGDQgaIhCAmrUL/AYNCCoaEICWtQv8Bg0IShoQ+AsACIAIgFUETdK1CgIDgD4MgJK1C/wGDQgOGIBStQuABg0IFiIQgI61C/wGDQguGhIQ+ArwCIAIgFEEVdK1CgICAH4MgIq1C/wGDQgWGIBOtQvgBg0IDiIQgIa1C/wGDQg2GhIQ+ArgCIAIgFkEXdK1CgICAHIMgH61C/wGDQg+GICCtQv8Bg0IHhoSEpyAuQRl2cjYCyAIgAiATQRZ0rUKAgIAOgyAdrUL/AYNCDoYgHq1C/wGDQgaGhISnIBBBGnZyNgK0AiACQdADaiINIAJBsAJqEDsgAiACKQPwAyI1Qv///x+DIAIpA+gDIAIpA+ADIAIpA9gDIAIpA9ADIjhCGoh8IjZCGYh8IjlCGoh8IjpCGYh8IjenQf///x9xIgM2AugCIAIgAikD+AMgNUIaiHwiNUL///8PgyA3QhqIfCI3PgLsAiACIAIpA4AEIDVCGYh8IjWnQf///x9xIgU2AvACIAIgNkL///8PgyACKQOYBCACKQOQBCACKQOIBCA1QhqIfCI1QhmIfCI2QhqIfCI7QhmIQhN+IDhC////H4N8IjhCGoh8Ijw+AtwCIAIgOKdB////H3EiETYC2AIgAiA6p0H///8PcSIGNgLkAiACIDunQf///w9xIgw2AvwCIAIgOadB////H3EiBzYC4AIgAiA2p0H///8fcSIENgL4AiACIDWnQf///w9xIgo2AvQCIAIgBUHw////A2qtIDcgA0Hw////A2qtIjVCGoh8QvD///8BfCI4QhmIfCI2p0H///8fcTYCmAMgAiAKQfD///8Baq0gNkIaiHwiNqdB////D3E2ApwDIAIgBEHw////A2qtIDZCGYh8IjanQf///x9xNgKgAyACIAdB8P///wNqrSA8IBFBz/3//wNqrSI5QhqIfELw////AXwiOkIZiHwiN6dB////H3E2AogDIAIgDEHw////AWqtIDZCGoh8IjanQf///w9xNgKkAyACIAZB8P///wFqrSA3QhqIfCI3p0H///8PcTYCjAMgAiA4Qv///w+DIDVC////H4MgN0IZiHwiNUIaiHw+ApQDIAIgNadB////H3E2ApADIAIgOkL///8PgyA2QhmIQhN+IDlC////H4N8IjVCGoh8PgKEAyACIDWnQf///x9xNgKAAyANIAJB2AJqQeyGwAAQMSACIAIoAvQDNgLMAyACIAIpAuwDNwLEAyACIAIpAuQDNwK8AyACIAIpAtwDNwK0AyACIAIpAtQDNwKsA0EBIREgAiACKALQA0EBajYCqAMgDSACQagDaiIDEDsgAiACKQOABCACKQP4AyACKQPwAyI1QhqIfCI4QhmIfCI2p0H///8fcTYCuAEgAiACKQPgAyACKQPYAyACKQPQAyI5QhqIfCI6QhmIfCI3p0H///8fcTYCqAEgAiACKQOIBCA2QhqIfCI2p0H///8PcTYCvAEgAiACKQPoAyA3QhqIfCI3p0H///8PcTYCrAEgAiACKQOQBCA2QhmIfCI2p0H///8fcTYCwAEgAiA4Qv///w+DIDVC////H4MgN0IZiHwiNUIaiHw+ArQBIAIgNadB////H3E2ArABIAIgAikDmAQgNkIaiHwiNadB////D3E2AsQBIAIgOkL///8PgyA1QhmIQhN+IDlC////H4N8IjVCGoh8PgKkASACIDWnQf///x9xNgKgASACQfAEaiIEIAJBoAFqIgggAxAxIA0gBBA7IAIgAikDgAQgAikD+AMgAikD8AMiNUIaiHwiOEIZiHwiNqdB////H3E2ArgBIAIgAikD4AMgAikD2AMgAikD0AMiOUIaiHwiOkIZiHwiN6dB////H3E2AqgBIAIgAikDiAQgNkIaiHwiNqdB////D3E2ArwBIAIgAikD6AMgN0IaiHwiN6dB////D3E2AqwBIAIgAikDkAQgNkIZiHwiNqdB////H3E2AsABIAIgOEL///8PgyA1Qv///x+DIDdCGYh8IjVCGoh8PgK0ASACIDWnQf///x9xNgKwASACIAIpA5gEIDZCGoh8IjWnQf///w9xNgLEASACIDpC////D4MgNUIZiEITfiA5Qv///x+DfCI1QhqIfD4CpAEgAiA1p0H///8fcTYCoAEgAkGYBWoiBiAIIAMQMSACQegFaiIHIAJBgANqIgUgBBAxIAJBuAZqIgsgBSAGEDEgDSALEC4gAkHAAWogAkHwA2oiMSkDADcDACACQbgBaiACQegDaiIyKQMANwMAIAJBsAFqIAJB4ANqIi8pAwA3AwAgAkGoAWogAkHYA2oiMykDADcDACACIAIpA9ADNwOgASANIAhBAhA6IAJBkAZqIgQgCyANEDEgAkHABWoiGiAHIAQQMSANIBoQOyACIAIpA4AEIAIpA/gDIAIpA/ADIjVCGoh8IjhCGYh8IjanQf///x9xNgK4ASACIAIpA+ADIAIpA9gDIAIpA9ADIjlCGoh8IjpCGYh8IjenQf///x9xNgKoASACIAIpA4gEIDZCGoh8IjanQf///w9xNgK8ASACIAIpA+gDIDdCGoh8IjenQf///w9xNgKsASACIAIpA5AEIDZCGYh8IjanQf///x9xNgLAASACIDhC////D4MgNUL///8fgyA3QhmIfCI1QhqIfD4CtAEgAiA1p0H///8fcTYCsAEgAiACKQOYBCA2QhqIfCI1p0H///8PcTYCxAEgAiA6Qv///w+DIDVCGYhCE34gOUL///8fg3wiNUIaiHw+AqQBIAIgNadB////H3E2AqABIAsgAyAIEDEgCyAFEFohNCACQfD///8DIAIoApgDa61B8P///wEgAigClANrrUHw////AyACKAKQA2utIjVCGoh8IjhCGYh8IjanQf///x9xIgM2AugDIAJB8P///wMgAigCiANrrUHw////ASACKAKEA2utQdD9//8DIAIoAoADa60iOUIaiHwiOkIZiHwiN6dB////H3EiBTYC2AMgAkHw////ASACKAKcA2utIDZCGoh8IjanQf///w9xIgY2AuwDIAJB8P///wEgAigCjANrrSA3QhqIfCI3p0H///8PcSIMNgLcAyACQfD///8DIAIoAqADa60gNkIZiHwiNqdB////H3EiBzYC8AMgAiA1Qv///x+DIDdCGYh8IjWnQf///x9xIgQ2AuADIAIgOEL///8PgyA1QhqIfKciCjYC5AMgAkHw////ASACKAKkA2utIDZCGoh8IjWnQf///w9xIg42AvQDIAIgNUIZiEITfiA5Qv///x+DfCI1p0H///8fcSIPNgLQAyACIDpC////D4MgNUIaiHynIgk2AtQDIAsgDRBaITAgAiAONgL0AyACIAc2AvADIAIgBjYC7AMgAiADNgLoAyACIAo2AuQDIAIgBDYC4AMgAiAMNgLcAyACIAU2AtgDIAIgCTYC1AMgAiAPNgLQAyAIIA1BnIbAABAxIAsgCBBaIQMgCEGchsAAIBoQMSACQcgFaiIFQQAgAyAwchB0Qf8BcWsiAyAFKAIAIgYgAigCqAFzcSAGcyIGNgIAIAJB0AVqIgwgDCgCACIHIAIoArABcyADcSAHcyIHNgIAIAJB2AVqIgQgBCgCACIKIAIoArgBcyADcSAKcyIKNgIAIAIgAigCzAUiDiACKAKsAXMgA3EgDnMiDjYCzAUgAiACKALEBSIPIAIoAqQBcyADcSAPcyIPNgLEBSACIAIoAsAFIgkgAigCoAFzIANxIAlzIgk2AsAFIAIgAigC1AUiCCACKAK0AXMgA3EgCHMiCDYC1AUgAiACKALcBSILIAIoArwBcyADcSALcyILNgLcBSACQeAFaiIbIBsoAgAiEiACKALAAXMgA3EgEnMiEjYCACACIAMgAigC5AUiAyACKALEAXNxIANzIhw2AuQFIA0gGhA5IBtBACACLQDQA0EBcRB0Qf8BcWsiA0Hw////AyASa61B8P///wEgC2utQfD///8DIAprrUHw////ASAIa61B8P///wMgB2utIjVCGoh8IjhCGYh8IjZCGoh8IjlCGYh8IjqnQf///x9xIBJzcSASczYCACAEIDanQf///x9xIApzIANxIApzNgIAIAwgNUL///8fg0Hw////ASAOa61B8P///wMgBmutQfD///8BIA9rrUHQ/f//AyAJa60iNUIaiHwiNkIZiHwiN0IaiHwiO0IZiHwiPKdB////H3EgB3MgA3EgB3M2AgAgBSA3p0H///8fcSAGcyADcSAGczYCACACQfD///8BIBxrrSA6QhqIfCI6p0H///8PcSAccyADcSAcczYC5AUgAiA5p0H///8PcSALcyADcSALczYC3AUgAiAIIDhC////D4MgPEIaiHyncyADcSAIczYC1AUgAiA7p0H///8PcSAOcyADcSAOczYCzAUgAiA6QhmIQhN+IDVC////H4N8IjWnQf///x9xIAlzIANxIAlzNgLABSACIA8gNkL///8PgyA1QhqIfKdzIANxIA9zNgLEBSAwIDRyEHQgAkHzA2ogGykDACI1NwAAIAJB6wNqIAQpAwAiODcAACACQeMDaiAMKQMAIjY3AAAgAkHbA2ogBSkDACI5NwAAIAIgAikDwAUiOjcA0wMgAkHYBmoiBSA1NwMAIAJB0AZqIgYgODcDACACQcgGaiIMIDY3AwAgAkHABmoiByA5NwMAIAIgOjcDuAZBf3NBAXEQdEH/AXFFBEAgB0EAIBhBgAFxQQd2EHRB/wFxayIDQfD///8DIAcoAgAiBGutQfD///8BIAIoArwGIgprrUHQ/f//AyACKAK4BiIOa60iNUIaiHwiOEIZiHwiNqdB////H3EgBHNxIARzNgIAIAZB8P///wMgBigCACIEa61B8P///wEgAigCzAYiD2utQfD///8DIAwoAgAiCWutIjlCGoh8IjpCGYh8IjenQf///x9xIARzIANxIARzNgIAIAwgCSAJIDlC////H4NB8P///wEgAigCxAYiBGutIDZCGoh8IjZCGYh8IjmnQf///x9xcyADcXM2AgAgBUHw////AyAFKAIAIglrrUHw////ASACKALUBiIIa60gN0IaiHwiN0IZiHwiO6dB////H3EgCXMgA3EgCXM2AgAgAiAEIAQgNqdB////D3FzIANxczYCxAYgAiAIIAggN6dB////D3FzIANxczYC1AYgAiAPIA8gOkL///8PgyA5QhqIfKdzIANxczYCzAYgAiAOIA5B8P///wEgAigC3AZrrSA7QhqIfCI2QhmIQhN+IDVC////H4N8IjWnQf///x9xcyADcXM2ArgGIAIgCiAKIDhC////D4MgNUIaiHyncyADcXM2ArwGIAIgAyACKALcBiIDIDanQf///w9xc3EgA3M2AtwGIDEgBSkDADcDACAyIAYpAwA3AwAgLyAMKQMANwMAIDMgBykDADcDACACIAIpA7gGNwPQAyACQYAEaiACQbgCaikDADcDACACQYgEaiACQcACaikDADcDACACQZAEaiACQcgCaikDADcDACACQZgEaiACQdACaikDADcDACACIAIpA7ACNwP4AyACQcAEakG0h8AAKQIANwMAIAJBuARqQayHwAApAgA3AwAgAkGwBGpBpIfAACkCADcDACACQagEakGch8AAKQIANwMAIAJBlIfAACkCADcDoAQgAkHIBGogAkG4BmogAkGwAmoQMSACQZgGaiACQdwDaigCADYCACACIAIpAtQDNwOQBiACKALQAyEFIAJBoAFqIC9BkAEQfhoMBAtBnILAAEEfEAAhEEEAIREMAwsQewALEHwACxBTIRALIAJBmAFqIAJBmAZqKAIANgIAIAIgAikDkAY3A5ABIAIgAkGgAWpBkAEQfiEDIAEgASgCAEEBazYCAAJAAkAgEUUEQEEBIQEMAQtBACEBQfSYwAAtAAAaQcQBECUiAkUNASACIAU2AiQgAiAYOgAjIAIgLDoAIiACIC06ACEgAiAZOgAgIAIgKjoAHyACICs6AB4gAiAXOgAdIAIgKDoAHCACICk6ABsgAiAWOgAaIAIgHzoAGSACICA6ABggAiAuNgIUIAIgJToAEyACICY6ABIgAiAnOgARIAIgFToAECACICM6AA8gAiAkOgAOIAIgFDoADSACICE6AAwgAiAiOgALIAIgEzoACiACIB06AAkgAiAeOgAIIAIgEDYCBCACQQA2AgAgAkEwaiADQZgBaigCADYCACACIAMpA5ABNwIoIAJBNGogA0GQARB+GkEAIRALIAAgATYCCCAAIBA2AgQgACACNgIAIANB4AZqJAAPCwALhTsCNH8jfiMAQcAFayICJAACQAJAAkACQAJAIABFDQAgACgCACIDQX9GDQEgACADQQFqNgIAIAFFDQAgASgCACIDQX9GDQEgAEEEaiEIIAEgA0EBajYCACABQQRqKAIAIQMgAUEMaigCACEEIAJBIGogAEHEAWoQMCACQbABakGBARB/IQUgAkGoAWoiBkIANwMAIAJBmAFqQbCKwAApAwA3AwAgAkGQAWpBqIrAACkDADcDACACQYgBakGgisAAKQMANwMAIAJBgAFqQZiKwAApAwA3AwAgAkH4AGpBkIrAACkDADcDACACQfAAakGIisAAKQMANwMAIAJB6ABqQYCKwAApAwA3AwAgAkG4AWogAkHIAGopAwA3AwAgAkHAAWogAkHQAGopAwA3AwAgAkHIAWogAkHYAGopAwA3AwAgAkIANwOgASACQfiJwAApAwA3A2AgAiACKQNANwOwASACQbACakEgOgAAIARB3wBNBEAgAkHQAWogAyAEEH4aIARBIGohBgwFCyACQdABaiADQeAAEH4aIAZCADcDACACQgE3A6ABIAJB4ABqIAVBARAfIANB4ABqIgkgBEHgAGsiB0GAf3FqIQsgB0H/AHEhBiAHQf8ASw0CDAMLEHsACxB8AAsgAiACKQOgASI2IAdBB3YiB618Ijg3A6ABIAJBqAFqIgogCikDACA2IDhWrXw3AwAgAkHgAGogCSAHEB8LIAUgCyAGEH4aCyACIAY6ALACIAJB+AJqIgYgAkHgAGpB2AEQfhogAkG4AmoiByAGECcgBiAHECAgAkHYAmogBhBBIAJB0AFqQeAAEH8gAkGoAWoiB0IANwMAIAJBmAFqQbCKwAApAwA3AwAgAkGQAWpBqIrAACkDADcDACACQYgBakGgisAAKQMANwMAIAJBgAFqQZiKwAApAwA3AwAgAkH4AGpBkIrAACkDADcDACACQfAAakGIisAAKQMANwMAIAJB6ABqQYCKwAApAwA3AwAgBUEYaiACQfACaikDADcAACAFQRBqIAJB6AJqKQMANwAAIAVBCGogAkHgAmopAwA3AAAgBSACKQPYAjcAACACQgA3A6ABIAJBADoAsAIgAkH4icAAKQMANwNgIAJBIDoAsAIgAkHoAWogCEEYaikAADcDACACQeABaiAIQRBqKQAANwMAIAJB2AFqIAhBCGopAAA3AwAgCCkAADcDACACQcAAOgCwAgJAIARBP00EQCACQfABaiADIAQQfhogBEFAayEDDAELIAJB8AFqIAMpAAA3AwAgA0EIaikAACE2IANBEGopAAAhOCADQRhqKQAAITkgA0EgaikAACE9IANBKGopAAAhOyADQTBqKQAAITcgA0E4aikAACE6IAdCADcDACACQagCaiA6NwMAIAJBoAJqIDc3AwAgAkGYAmogOzcDACACQZACaiA9NwMAIAJBiAJqIDk3AwAgAkGAAmogODcDACACQfgBaiA2NwMAIAJCATcDoAEgAkHgAGogBUEBEB8gA0FAayIIIARB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IBhyIBlBEHRyckEDdCABQR12ckH/////AXFqIgFBHXZqIBxBEHQiBCAbQQh0IBByckEGdCADQRp2ckH/////AXFqIgNBHXZqIB9BEHQiBSAeQQh0IBFyckEJdCAdQRh0IARyQRd2ckH/////AXFqIgRBHXZqICNBEHQiCCAiQQh0ICFyckEMdCAgQRh0IAVyQRR2ckH/////AXFqIgVBHXZqICZBCHQiBiAlckEPdCAkQRh0IAhyQRF2ckH/////AXFqIghBHXZqIBNBCHQiByAockESdCAnQRB0IBJBGHRyIAZyQQ52ckH/////AXFqIgZBHXZqIBRBFXQgKUEQdCAqQRh0ciAHckELdnJqIgdBHXZqICxBCHQgK3IgFUEQdHJqIAdB/////wFxIAZB/////wFxIAhB/////wFxIAVB/////wFxIARB/////wFxIANB/////wFxIAFB/////wFxIA1BH3VqQdKxzARrIgFBH3VqQZbrnO8BayIFQR91akHF+s7vAWsiCEEfdWpBzQJrIgZBH3VqIgdBH3VqIglBH3VqIgtBH3VqIgpBgIDAAEgiAxtqIgQ6ACQgACAEQRB2OgAmIAAgBEEIdjoAJSAAIAFB/////wFxIARBHXZqQdKxzARBACADG2oiAUETdjoAKiAAIAFBC3Y6ACkgACABQQN2OgAoIAAgBEEYdkEfcSABQQV0cjoAJyAAIAVB/////wFxIAFBHXZqQZbrnO8BQQAgAxtqIgRBDnY6AC0gACAEQQZ2OgAsIAAgAUEbdkEDcSAEQQJ0cjoAKyAAIAhB/////wFxIARBHXZqQcX6zu8BQQAgAxtqIgFBEXY6ADEgACABQQl2OgAwIAAgAUEBdjoALyAAIAFBB3QgBEGAgID+AXFBFnZyOgAuIAAgBkH/////AXEgAUEddmpBzQJBACADG2oiA0EUdjoANSAAIANBDHY6ADQgACADQQR2OgAzIAAgAUEZdkEPcSADQQR0cjoAMiAAIAdB/////wFxIANBHXZqIgRBD3Y6ADggACAEQQd2OgA3IAAgA0EcdkEBcSAEQQF0cjoANiAAIAlB/////wFxIARBHXZqIgFBEnY6ADwgACABQQp2OgA7IAAgAUECdjoAOiAAIARBF3ZBP3EgAUEGdHI6ADkgACALQf////8BcSABQR12aiIDQRV2OgBAIAAgA0ENdjoAPyAAIANBBXY6AD4gACAKQYCAQGoiBSADQR12aiIEOgBBIAAgAUEadkEHcSADQQN0cjoAPSAAIARBCHY6AEIgACAEIAVBC3ZBgIDAAHFqQRB2OgBDIAJBwAVqJAAgAA8LAAvFJgIJfwF+AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAQfUBTwRAIABBzf97Tw0UIABBC2oiAEF4cSEFQaSYwAAoAgAiCEUNBUEAIAVrIQICf0EAIAVBgAJJDQAaQR8gBUH///8HSw0AGiAFQQYgAEEIdmciAGt2QQFxIABBAXRrQT5qCyIHQQJ0QYiVwABqKAIAIgENAUEAIQAMAgsCQAJAAkBBoJjAACgCACIBQRAgAEELakF4cSAAQQtJGyIFQQN2IgJ2IgBBA3FFBEAgBUGomMAAKAIATQ0IIAANAUGkmMAAKAIAIgBFDQggAEEAIABrcWhBAnRBiJXAAGooAgAiAygCBEF4cSAFayEBIAMoAhAiAEUEQCADQRRqKAIAIQALIAAEQANAIAAoAgRBeHEgBWsiBCABSSECIAQgASACGyEBIAAgAyACGyEDIAAoAhAiAgR/IAIFIABBFGooAgALIgANAAsLIAMoAhghByADKAIMIgAgA0cNAiADQRRBECADQRRqIgAoAgAiBBtqKAIAIgINA0EAIQAMGQsCQCAAQX9zQQFxIAJqIgBBA3QiA0GglsAAaigCACICQQhqIgYoAgAiBCADQZiWwABqIgNHBEAgBCADNgIMIAMgBDYCCAwBC0GgmMAAIAFBfiAAd3E2AgALIAIgAEEDdCIAQQNyNgIEIAAgAmoiACAAKAIEQQFyNgIEIAYPCwJAQQIgAkEfcSICdCIEQQAgBGtyIAAgAnRxIgBBACAAa3FoIgJBA3QiA0GglsAAaigCACIAQQhqIgYoAgAiBCADQZiWwABqIgNHBEAgBCADNgIMIAMgBDYCCAwBC0GgmMAAIAFBfiACd3E2AgALIAAgBUEDcjYCBCAAIAVqIgMgAkEDdCIBIAVrIgJBAXI2AgQgACABaiACNgIAQaiYwAAoAgAiBEUNGCAEQXhxQZiWwABqIQBBsJjAACgCACEBAn9BoJjAACgCACIFQQEgBEEDdnQiBHEEQCAAKAIIDAELQaCYwAAgBCAFcjYCACAACyEEIAAgATYCCCAEIAE2AgwgASAANgIMIAEgBDYCCAwYCyADKAIIIgIgADYCDCAAIAI2AggMFgsgACADQRBqIAQbIQQDQCAEIQYgAiIAQRRqIgIgAEEQaiACKAIAIgIbIQQgAEEUQRAgAhtqKAIAIgINAAsgBkEANgIADBULQQAhACAFQRkgB0EBdmtBH3FBACAHQR9HG3QhBANAAkAgASgCBEF4cSIGIAVJDQAgBiAFayIGIAJPDQAgASEDIAYiAg0AQQAhAiABIQAMAwsgAUEUaigCACIGIAAgBiABIARBHXZBBHFqQRBqKAIAIgFHGyAAIAYbIQAgBEEBdCEEIAENAAsLIAAgA3JFBEBBACEDIAhBAiAHdCIAQQAgAGtycSIARQ0DIABBACAAa3FoQQJ0QYiVwABqKAIAIQALIABFDQELA0AgACADIAAoAgRBeHEiASAFTyABIAVrIgEgAklxIgQbIQMgASACIAQbIQIgACgCECIBBH8gAQUgAEEUaigCAAsiAA0ACwsgA0UNACAFQaiYwAAoAgAiAE0gAiAAIAVrT3ENACADKAIYIQcgAygCDCIAIANHDQEgA0EUQRAgA0EUaiIAKAIAIgQbaigCACIBDQJBACEADBALQaiYwAAoAgAiASAFTw0CQayYwAAoAgAiACAFSw0HQQAhAiAFQa+ABGoiAEEQdkAAIgFBf0YiBA0OIAFBEHQiBkUNDkG4mMAAQQAgAEGAgHxxIAQbIgRBuJjAACgCAGoiADYCAEG8mMAAQbyYwAAoAgAiASAAIAAgAUkbNgIAQbSYwAAoAgAiAkUNA0GIlsAAIQADQCAAKAIAIgEgACgCBCIDaiAGRg0FIAAoAggiAA0ACwwFCyADKAIIIgEgADYCDCAAIAE2AggMDgsgACADQRBqIAQbIQQDQCAEIQYgASIAQRRqIgEgAEEQaiABKAIAIgEbIQQgAEEUQRAgARtqKAIAIgENAAsgBkEANgIADA0LQbCYwAAoAgAhAAJAIAEgBWsiAkEPTQRAQbCYwABBADYCAEGomMAAQQA2AgAgACABQQNyNgIEIAAgAWoiASABKAIEQQFyNgIEDAELQaiYwAAgAjYCAEGwmMAAIAAgBWoiBDYCACAEIAJBAXI2AgQgACABaiACNgIAIAAgBUEDcjYCBAsgAEEIag8LQcSYwAAoAgAiAEUgACAGS3INBQwICyAAKAIMIAEgAktyDQAgAiAGSQ0BC0HEmMAAQcSYwAAoAgAiACAGIAAgBkkbNgIAIAQgBmohAUGIlsAAIQACQAJAA0AgASAAKAIARwRAIAAoAggiAA0BDAILCyAAKAIMRQ0BC0GIlsAAIQADQAJAIAIgACgCACIBTwRAIAEgACgCBGoiAyACSw0BCyAAKAIIIQAMAQsLQbSYwAAgBjYCAEGsmMAAIARBKGsiADYCACAGIABBAXI2AgQgACAGakEoNgIEQcCYwABBgICAATYCACACIANBIGtBeHFBCGsiACAAIAJBEGpJGyIBQRs2AgRBiJbAACkCACEKIAFBEGpBkJbAACkCADcCACABIAo3AghBjJbAACAENgIAQYiWwAAgBjYCAEGQlsAAIAFBCGo2AgBBlJbAAEEANgIAIAFBHGohAANAIABBBzYCACAAQQRqIgAgA0kNAAsgASACRg0IIAEgASgCBEF+cTYCBCACIAEgAmsiAEEBcjYCBCABIAA2AgAgAEGAAk8EQCACIAAQSQwJCyAAQXhxQZiWwABqIQECf0GgmMAAKAIAIgRBASAAQQN2dCIAcQRAIAEoAggMAQtBoJjAACAAIARyNgIAIAELIQAgASACNgIIIAAgAjYCDCACIAE2AgwgAiAANgIIDAgLIAAgBjYCACAAIAAoAgQgBGo2AgQgBiAFQQNyNgIEIAEgBSAGaiIHayEFQbSYwAAoAgAgAUcEQCABQbCYwAAoAgBGDQMgASgCBCICQQNxQQFHDQUCQCACQXhxIglBgAJPBEAgASgCGCEIAkACQCABIAEoAgwiAEYEQCABQRRBECABQRRqIgAoAgAiBBtqKAIAIgINAUEAIQAMAgsgASgCCCICIAA2AgwgACACNgIIDAELIAAgAUEQaiAEGyEEA0AgBCEDIAIiAEEUaiICIABBEGogAigCACICGyEEIABBFEEQIAIbaigCACICDQALIANBADYCAAsCQCAIRQ0AAkAgASABKAIcQQJ0QYiVwABqIgIoAgBHBEAgCEEQQRQgCCgCECABRhtqIAA2AgAgAEUNAgwBCyACIAA2AgAgAA0AQaSYwABBpJjAACgCAEF+IAEoAhx3cTYCAAwDCyAAIAg2AhggASgCECICBEAgACACNgIQIAIgADYCGAsgAUEUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLDAELIAFBDGooAgAiACABQQhqKAIAIgRHBEAgBCAANgIMIAAgBDYCCAwBC0GgmMAAQaCYwAAoAgBBfiACQQN2d3E2AgALIAUgCWohBSABIAlqIgEoAgQhAgwFC0G0mMAAIAc2AgBBrJjAAEGsmMAAKAIAIAVqIgA2AgAgByAAQQFyNgIEDAULIAAgAyAEajYCBEG0mMAAQbSYwAAoAgAiAEEPakF4cSIBQQhrNgIAQayYwABBrJjAACgCACAEaiICIAAgAWtqQQhqIgQ2AgAgAUEEayAEQQFyNgIAIAAgAmpBKDYCBEHAmMAAQYCAgAE2AgAMBgtBrJjAACAAIAVrIgE2AgBBtJjAAEG0mMAAKAIAIgAgBWoiAjYCACACIAFBAXI2AgQgACAFQQNyNgIEIABBCGohAgwGC0GwmMAAIAc2AgBBqJjAAEGomMAAKAIAIAVqIgA2AgAgByAAQQFyNgIEIAAgB2ogADYCAAwCC0HEmMAAIAY2AgAMAgsgASACQX5xNgIEIAcgBUEBcjYCBCAFIAdqIAU2AgAgBUGAAk8EQCAHIAUQSQwBCyAFQXhxQZiWwABqIQACf0GgmMAAKAIAIgFBASAFQQN2dCICcQRAIAAoAggMAQtBoJjAACABIAJyNgIAIAALIQEgACAHNgIIIAEgBzYCDCAHIAA2AgwgByABNgIICyAGQQhqDwtByJjAAEH/HzYCAEGMlsAAIAQ2AgBBiJbAACAGNgIAQaSWwABBmJbAADYCAEGslsAAQaCWwAA2AgBBoJbAAEGYlsAANgIAQbSWwABBqJbAADYCAEGolsAAQaCWwAA2AgBBvJbAAEGwlsAANgIAQbCWwABBqJbAADYCAEHElsAAQbiWwAA2AgBBuJbAAEGwlsAANgIAQcyWwABBwJbAADYCAEHAlsAAQbiWwAA2AgBB1JbAAEHIlsAANgIAQciWwABBwJbAADYCAEHclsAAQdCWwAA2AgBB0JbAAEHIlsAANgIAQZSWwABBADYCAEHklsAAQdiWwAA2AgBB2JbAAEHQlsAANgIAQeCWwABB2JbAADYCAEHslsAAQeCWwAA2AgBB6JbAAEHglsAANgIAQfSWwABB6JbAADYCAEHwlsAAQeiWwAA2AgBB/JbAAEHwlsAANgIAQfiWwABB8JbAADYCAEGEl8AAQfiWwAA2AgBBgJfAAEH4lsAANgIAQYyXwABBgJfAADYCAEGIl8AAQYCXwAA2AgBBlJfAAEGIl8AANgIAQZCXwABBiJfAADYCAEGcl8AAQZCXwAA2AgBBmJfAAEGQl8AANgIAQaSXwABBmJfAADYCAEGsl8AAQaCXwAA2AgBBoJfAAEGYl8AANgIAQbSXwABBqJfAADYCAEGol8AAQaCXwAA2AgBBvJfAAEGwl8AANgIAQbCXwABBqJfAADYCAEHEl8AAQbiXwAA2AgBBuJfAAEGwl8AANgIAQcyXwABBwJfAADYCAEHAl8AAQbiXwAA2AgBB1JfAAEHIl8AANgIAQciXwABBwJfAADYCAEHcl8AAQdCXwAA2AgBB0JfAAEHIl8AANgIAQeSXwABB2JfAADYCAEHYl8AAQdCXwAA2AgBB7JfAAEHgl8AANgIAQeCXwABB2JfAADYCAEH0l8AAQeiXwAA2AgBB6JfAAEHgl8AANgIAQfyXwABB8JfAADYCAEHwl8AAQeiXwAA2AgBBhJjAAEH4l8AANgIAQfiXwABB8JfAADYCAEGMmMAAQYCYwAA2AgBBgJjAAEH4l8AANgIAQZSYwABBiJjAADYCAEGImMAAQYCYwAA2AgBBnJjAAEGQmMAANgIAQZCYwABBiJjAADYCAEG0mMAAIAY2AgBBmJjAAEGQmMAANgIAQayYwAAgBEEoayIANgIAIAYgAEEBcjYCBCAAIAZqQSg2AgRBwJjAAEGAgIABNgIAC0EAIQJBrJjAACgCACIAIAVNDQBBrJjAACAAIAVrIgE2AgBBtJjAAEG0mMAAKAIAIgAgBWoiAjYCACACIAFBAXI2AgQgACAFQQNyNgIEIABBCGoPCyACDwsCQCAHRQ0AAkAgAyADKAIcQQJ0QYiVwABqIgEoAgBHBEAgB0EQQRQgBygCECADRhtqIAA2AgAgAEUNAgwBCyABIAA2AgAgAA0AQaSYwABBpJjAACgCAEF+IAMoAhx3cTYCAAwBCyAAIAc2AhggAygCECIBBEAgACABNgIQIAEgADYCGAsgA0EUaigCACIBRQ0AIABBFGogATYCACABIAA2AhgLAkAgAkEQTwRAIAMgBUEDcjYCBCADIAVqIgAgAkEBcjYCBCAAIAJqIAI2AgAgAkGAAk8EQCAAIAIQSQwCCyACQXhxQZiWwABqIQECf0GgmMAAKAIAIgRBASACQQN2dCICcQRAIAEoAggMAQtBoJjAACACIARyNgIAIAELIQIgASAANgIIIAIgADYCDCAAIAE2AgwgACACNgIIDAELIAMgAiAFaiIAQQNyNgIEIAAgA2oiACAAKAIEQQFyNgIECyADQQhqDwsCQCAHRQ0AAkAgAyADKAIcQQJ0QYiVwABqIgIoAgBHBEAgB0EQQRQgBygCECADRhtqIAA2AgAgAEUNAgwBCyACIAA2AgAgAA0AQaSYwABBpJjAACgCAEF+IAMoAhx3cTYCAAwBCyAAIAc2AhggAygCECICBEAgACACNgIQIAIgADYCGAsgA0EUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLAkACQCABQRBPBEAgAyAFQQNyNgIEIAMgBWoiBCABQQFyNgIEIAEgBGogATYCAEGomMAAKAIAIgZFDQEgBkF4cUGYlsAAaiEAQbCYwAAoAgAhAgJ/QaCYwAAoAgAiBUEBIAZBA3Z0IgZxBEAgACgCCAwBC0GgmMAAIAUgBnI2AgAgAAshBiAAIAI2AgggBiACNgIMIAIgADYCDCACIAY2AggMAQsgAyABIAVqIgBBA3I2AgQgACADaiIAIAAoAgRBAXI2AgQMAQtBsJjAACAENgIAQaiYwAAgATYCAAsgA0EIag8LQbCYwAAgAzYCAEGomMAAIAI2AgAgBguJHwITfwd+IwBB4B5rIgMkAAJ/AkACQAJAAkACQCAARQ0AIAAoAgAiBEF/Rg0BIAAgBEEBajYCACABRQ0AIAEoAgAiBEF/Rg0BIAEgBEEBajYCACACRQ0AIAIoAgAiBEF/Rg0BIAIgBEEBajYCACABQQxqKAIAIQsgAUEEaigCACEGIANBoBBqIAJBHGopAAAiFjcDACADQZgQaiACQRRqKQAAIhc3AwAgA0GQEGogAkEMaikAACIYNwMAIANBqBBqIAJBJGopAAAiGTcDACADQbAQaiACQSxqKQAAIhs3AwAgA0G4EGoiBCACQTRqKQAANwMAIANBvxBqIgUgAkE7aikAADcAACADIAIpAAQiGjcDiBAgAkHDAGosAAAhCiADQbAGaiIMIBs3AwAgA0GoBmoiCSAZNwMAIANBoAZqIBY3AwAgA0GYBmogFzcDACADQZAGaiAYNwMAIANBvwZqIg0gBSkAADcAACADQbgGaiIFIAQpAwA3AwAgAyAaNwOIBiAKQQBOEHQhByADQZ8CaiANKQAANwAAIANBmAJqIAUpAwA3AwAgA0GQAmogDCkDADcDACADIAkpAwA3A4gCIAMgCjoApwIgA0GIBGogA0GIAmoQKUEAIQRBASEFA0AgA0GIAmogBGotAAAgA0GIBGogBGotAABGEHQgBXEhBSAEQQFqIgRBIEcNAAsgBRB0IAdxEHRB/wFxQQFGBEAgA0G/EGoiBCAJQRdqKQAANwAAIANBuBBqIgUgCUEQaikAADcDACADQShqIAkpAAA3AwAgA0EQaiIMIANBkAZqIg0pAwA3AwAgA0EYaiIHIANBmAZqIg4pAwA3AwAgA0EgaiIIIANBoAZqIg8pAwA3AwAgA0EwaiAJQQhqKQAANwMAIANBOGogBSkDADcDACADQT9qIAQpAAA3AAAgAyADKQOIBjcDCCADIAo6AEcgA0HYBmpBgQEQfyEJIANB0AZqIgVCADcDACADQcAGakGwisAAKQMANwMAIANBuAZqQaiKwAApAwA3AwAgA0GwBmpBoIrAACkDADcDACADQagGakGYisAAKQMANwMAIA9BkIrAACkDADcDACAOQYiKwAApAwA3AwAgDUGAisAAKQMANwMAIANB4AZqIAwpAwA3AwAgA0HoBmogBykDADcDACADQfAGaiAIKQMANwMAIANCADcDyAYgA0H4icAAKQMANwOIBiADIAMpAwg3A9gGIANB2AdqIgpBIDoAACADQfgGaiAAQQRqIgQpAAA3AwAgA0GAB2ogBEEIaikAADcDACADQYgHaiAEQRBqKQAANwMAIANBkAdqIARBGGopAAA3AwAgCkHAADoAACALQT9NBEAgA0GYB2ogBiALEH4aIAtBQGshBAwGCyADQZgHaiAGKQAANwMAIAZBCGopAAAhFiAGQRBqKQAAIRcgBkEYaikAACEYIAZBIGopAAAhGSAGQShqKQAAIRsgBkEwaikAACEaIAZBOGopAAAhHCAFQgA3AwAgA0HQB2ogHDcDACADQcgHaiAaNwMAIANBwAdqIBs3AwAgA0G4B2ogGTcDACADQbAHaiAYNwMAIANBqAdqIBc3AwAgA0GgB2ogFjcDACADQgE3A8gGIANBiAZqIAlBARAfIAZBQGsiBiALQUBqIgVBgH9xaiELIAVB/wBxIQQgBUH/AEsNAwwEC0EADAULEHsACxB8AAsgAyADKQPIBiIWIAVBB3YiBa18Ihc3A8gGIANB0AZqIgogCikDACAWIBdWrXw3AwAgA0GIBmogBiAFEB8LIAkgCyAEEH4aCyADIAQ6ANgHIANBiBBqIgQgA0GIBmpB2AEQfhogA0HIAGoiBSAEECcgA0GYAWogAEHUAGopAgA3AwAgA0GgAWogAEHcAGopAgA3AwAgA0GoAWogAEHkAGopAgA3AwAgA0GwAWogAEHsAGopAgA3AwAgAyAAQcwAaikCADcDkAEgAEHIAGooAgAhBCAAQTBqKAIAIQYgAEFAaygCACEJIABBLGooAgAhCyAAQShqKAIAIQogAEEkaigCACEMIABBPGooAgAhDSAAQThqKAIAIQcgAEE0aigCACEOIAAoAkQhCCADQdgBaiAAQZQBaikCADcDACADQdABaiAAQYwBaikCADcDACADQcgBaiAAQYQBaikCADcDACADQcABaiAAQfwAaikCADcDACADIABB9ABqKQIANwO4ASAAQcABaigCACEPIABBvAFqKAIAIREgAEGoAWooAgAhECAAQbgBaigCACESIABBpAFqKAIAIRMgAEGgAWooAgAhFCAAQZwBaigCACEVIANB+AFqQfD///8DIABBtAFqKAIAa61B8P///wEgAEGwAWooAgBrrUHw////AyAAQawBaigCAGutIhZCGoh8IhdCGYh8IhinQf///x9xNgIAIANB6AFqQfD///8DIBNrrUHw////ASAUa61B0P3//wMgFWutIhlCGoh8IhtCGYh8IhqnQf///x9xNgIAIANB/AFqQfD///8BIBJrrSAYQhqIfCIYp0H///8PcTYCACADQewBakHw////ASAQa60gGkIaiHwiGqdB////D3E2AgAgA0GAAmpB8P///wMgEWutIBhCGYh8IhinQf///x9xNgIAIANB9AFqIBdC////D4MgFkL///8fgyAaQhmIfCIWQhqIfD4CACADQfABaiAWp0H///8fcTYCACADQYQCakHw////ASAPa60gGEIaiHwiFqdB////D3E2AgAgA0HkAWogG0L///8PgyAWQhmIQhN+IBlC////H4N8IhZCGoh8PgIAIANB8P///wMgDWutQfD///8BIAdrrUHw////AyAOa60iF0IaiHwiGEIZiHwiGadB////H3E2AoABIANB8P///wMgC2utQfD///8BIAprrUHQ/f//AyAMa60iG0IaiHwiGkIZiHwiHKdB////H3E2AnAgA0Hw////ASAJa60gGUIaiHwiGadB////D3E2AoQBIANB8P///wEgBmutIBxCGoh8IhynQf///w9xNgJ0IANB8P///wMgCGutIBlCGYh8IhmnQf///x9xNgKIASADIBhC////D4MgF0L///8fgyAcQhmIfCIXQhqIfD4CfCADIBenQf///x9xNgJ4IANB8P///wEgBGutIBlCGoh8IhenQf///w9xNgKMASADIBpC////D4MgF0IZiEITfiAbQv///x+DfCIXQhqIfD4CbCADIBenQf///x9xNgJoIAMgFqdB////H3E2AuABIANBiAJqIAUQSCADQYgEaiADQShqEEhB/wEhBQNAAkAgBSIEIANBiAJqai0AAA0AIANBiARqIARqLQAADQAgBEEBayEFIAQNAQsLIANBiAZqIANB6ABqECEgA0GIEGpB5IfAABAhIANBqBpqQgA3AwAgA0GgGmpCADcDACADQZgaakIANwMAIANBkBpqQgA3AwAgA0G4GmpBnIfAACkCACIWNwMAIANBwBpqQaSHwAApAgAiFzcDACADQcgaakGsh8AAKQIAIhg3AwAgA0HQGmpBtIfAACkCACIZNwMAIANB4BpqIBY3AwAgA0HoGmogFzcDACADQfAaaiAYNwMAIANB+BpqIBk3AwAgA0IANwOIGiADQZSHwAApAgAiFjcDsBogAyAWNwPYGiADQZAeaiEPIANB6B1qIREgA0GYHWohCyADQfAcaiEKIANByBxqIQwgA0HQG2ohBSADQagbaiEJIANB+BtqIQYgA0HYGmohDSADQbAaaiEOA0AgA0GAG2ogA0GIGmoQKAJAAkACQAJAAkACQEF/IANBiAJqIARqLQAAIgdBAEcgB8AiCEEASBtB/wFxDgICAAELIANBoBxqIANBgBtqIhAgBhAxIAwgCSAFEDEgCiAFIAYQMSALIBAgCRAxIAhBAXYhCCAHQQ9NBEAgA0HAHWoiByADQYgGaiAIQaABbGpBoAEQfhogA0GAG2ogA0GgHGogBxAsDAILIAgQVwALIANBoBxqIANBgBtqIgggBhAxIAwgCSAFEDEgCiAFIAYQMSALIAggCRAxQQAgB2siCMBBAXYhByAIQf8BcUEQTw0BIANBwB1qIgggA0GIBmogB0GgAWxqQaABEH4aIANBgBtqIANBoBxqIAgQKwsCQAJAQX8gA0GIBGogBGotAAAiB0EARyAHwCIIQQBIG0H/AXEOAgQAAQsgA0GgHGogA0GAG2oiECAGEDEgDCAJIAUQMSAKIAUgBhAxIAsgECAJEDEgCEEBdiEIIAdBD00EQCADQcAdaiIHIANBiBBqIAhBoAFsakGgARB+GiADQYAbaiADQaAcaiAHECwMBAsgCBBXAAsgA0GgHGogA0GAG2oiCCAGEDEgDCAJIAUQMSAKIAUgBhAxIAsgCCAJEDFBACAHayIIwEEBdiEHIAhB/wFxQRBJDQEgBxBXAAsgBxBXAAsgA0HAHWoiCCADQYgQaiAHQaABbGpBoAEQfhogA0GAG2ogA0GgHGogCBArCyADQcAdaiIHIANBgBtqIAYQMSARIAkgBRAxIA8gBSAGEDEgA0GIGmogB0H4ABB+GiAEBEAgBEEBayEEDAELCyADQcAdaiIFIANBiBpqIgQgDRAxIANB6B1qIA4gDRAxIANBoBxqIA0QOyADQageaiADKQPQHCADKQPIHCADKQPAHCIWQhqIfCIXQhmIfCIYp0H///8fcTYCACADQZgeaiADKQOwHCADKQOoHCADKQOgHCIZQhqIfCIbQhmIfCIap0H///8fcTYCACADQaweaiADKQPYHCAYQhqIfCIYp0H///8PcTYCACADQZweaiADKQO4HCAaQhqIfCIap0H///8PcTYCACADQbAeaiADKQPgHCAYQhmIfCIYp0H///8fcTYCACADQaQeaiAXQv///w+DIBZC////H4MgGkIZiHwiFkIaiHw+AgAgA0GgHmogFqdB////H3E2AgAgA0G0HmogAykD6BwgGEIaiHwiFqdB////D3E2AgAgA0GUHmogG0L///8PgyAWQhmIQhN+IBlC////H4N8IhZCGoh8PgIAIAMgFqdB////H3E2ApAeIANBuB5qIAQgDhAxIANBiBBqIgQgBRBBIANBCGohBUEAIQZBICEJAkADQCAELQAAIgsgBS0AACIKRgRAIARBAWohBCAFQQFqIQUgCUEBayIJDQEMAgsLIAsgCmshBgsgBkULIAIgAigCAEEBazYCACABIAEoAgBBAWs2AgAgACAAKAIAQQFrNgIAIANB4B5qJAALoBcCD38FfiMAQcACayICJAAgAkFAa0IANwMAIAJBOGpCADcDACACQTBqQgA3AwAgAkEoakIANwMAIAJBIGpCADcDACACQRhqQgA3AwAgAkEQakIANwMAIAFB0ABqIgQgAUHQAWotAAAiA2oiB0GAAToAACACQgA3AwggAUHIAGopAwAiEUIChkKAgID4D4MgEUIOiEKAgPwHg4QgEUIeiEKA/gODIBFCCoYiEkI4iISEIRQgASkDQCIRQjaIIhNCOIYgEiAThCISQoD+A4NCKIaEIBJCgID8B4NCGIYgEkKAgID4D4NCCIaEhCARQgKGQoCAgPgPgyARQg6IQoCA/AeDhCARQh6IQoD+A4MgEUIKhiIRQjiIhIQhEyADrSIVQjuGIBEgFUIDhoQiEUKA/gODQiiGhCARQoCA/AeDQhiGIBFCgICA+A+DQgiGhIQhFSADQf8AcyIFBEAgB0EBaiAFEH8aCyAUhCERIBMgFYQhEgJAIANB8ABzQRBPBEAgAUHIAWogEjcAACABQcABaiARNwAAIAEgBEEBEB8MAQsgASAEQQEQHyACQcgAaiIDQfAAEH8aIAJBwAFqIBI3AwAgAiARNwO4ASABIANBARAfC0EAIQMgAUEAOgDQASACIAEpAzgiEUI4hiARQoD+A4NCKIaEIBFCgID8B4NCGIYgEUKAgID4D4NCCIaEhCARQgiIQoCAgPgPgyARQhiIQoCA/AeDhCARQiiIQoD+A4MgEUI4iISEhDcDQCACIAEpAzAiEUI4hiARQoD+A4NCKIaEIBFCgID8B4NCGIYgEUKAgID4D4NCCIaEhCARQgiIQoCAgPgPgyARQhiIQoCA/AeDhCARQiiIQoD+A4MgEUI4iISEhDcDOCACIAEpAygiEUI4hiARQoD+A4NCKIaEIBFCgID8B4NCGIYgEUKAgID4D4NCCIaEhCARQgiIQoCAgPgPgyARQhiIQoCA/AeDhCARQiiIQoD+A4MgEUI4iISEhDcDMCACIAEpAyAiEUI4hiARQoD+A4NCKIaEIBFCgID8B4NCGIYgEUKAgID4D4NCCIaEhCARQgiIQoCAgPgPgyARQhiIQoCA/AeDhCARQiiIQoD+A4MgEUI4iISEhDcDKCACIAEpAxgiEUI4hiARQoD+A4NCKIaEIBFCgID8B4NCGIYgEUKAgID4D4NCCIaEhCARQgiIQoCAgPgPgyARQhiIQoCA/AeDhCARQiiIQoD+A4MgEUI4iISEhDcDICACIAEpAxAiEUI4hiARQoD+A4NCKIaEIBFCgID8B4NCGIYgEUKAgID4D4NCCIaEhCARQgiIQoCAgPgPgyARQhiIQoCA/AeDhCARQiiIQoD+A4MgEUI4iISEhDcDGCACIAEpAwgiEUI4hiARQoD+A4NCKIaEIBFCgID8B4NCGIYgEUKAgID4D4NCCIaEhCARQgiIQoCAgPgPgyARQhiIQoCA/AeDhCARQiiIQoD+A4MgEUI4iISEhDcDECACIAEpAwAiEUI4hiARQoD+A4NCKIaEIBFCgID8B4NCGIYgEUKAgID4D4NCCIaEhCARQgiIQoCAgPgPgyARQhiIQoCA/AeDhCARQiiIQoD+A4MgEUI4iISEhDcDCCACQYABakIANwMAIAJB+ABqQgA3AwAgAkHwAGpCADcDACACQegAakIANwMAIAJB4ABqQgA3AwAgAkHYAGpCADcDACACQdAAakIANwMAIAJCADcDSANAIAJByABqIANqIgQgAkEIaiADaiIBQQNqLQAAQRh0IAQoAgAgAS0AAHIgAUEBai0AAEEIdHIgAUECai0AAEEQdHJyNgIAIANBBGoiA0HAAEcNAAsgAkHQAWoiASACKAJQIgVBBnQgAigCTCIGQRp2ckH/////AXE2AgAgAkHYAWoiAyACKAJYIglBDHQgAigCVCIIQRR2ckH/////AXE2AgAgAkHgAWoiBCACKAJgIgtBEnQgAigCXCIKQQ52ckH/////AXE2AgAgAkHoAWoiByACKAJoIg5BGHQgAigCZCIMQQh2ckH/////AXE2AgAgAiACKAJIIg1B/////wFxNgLIASACIAZBA3QgDUEddnJB/////wFxNgLMASACIAhBCXQgBUEXdnJB/////wFxNgLUASACIApBD3QgCUERdnJB/////wFxNgLcASACIAxBFXQgC0ELdnJB/////wFxNgLkASACQZACaiACKAKEASIGQQ12NgIAIAJB+AFqIgkgAigCcCIIQQF0IAIoAmwiBUEfdnJB/////wFxNgIAIAJBgAJqIgsgAigCeCIKQQd0IAIoAnQiDEEZdnJB/////wFxNgIAIAJBiAJqIg0gAigCgAEiD0ENdCACKAJ8IhBBE3ZyQf////8BcTYCACACIAVBAnZB/////wFxNgL0ASACIAVBG3QgDkEFdnJB/////wFxNgLwASACIAxBBHQgCEEcdnJB/////wFxNgL8ASACIBBBCnQgCkEWdnJB/////wFxNgKEAiACIAZBEHQgD0EQdnJB/////wFxNgKMAiACQZgCaiIMIAJByAFqQdSFwAAQLSAHIAJBuAJqIgUoAgA2AgAgBCACQbACaiIGKQMANwMAIAMgAkGoAmoiCCkDADcDACABIAJBoAJqIgopAwA3AwAgAiACKQOYAjcDyAEgDCACQfABakGwhcAAEC0gCSAKKQMAIhE3AwAgCyAIKQMAIhI3AwAgDSAGKQMAIhQ3AwAgAiACKQOYAiITNwPwASAAIAIoAsgBIBOnaiIGQf////8BcUHtp9fnAWsiCUH/////AXFB7afX5wFBACAHKAIAIAUoAgAgAigC5AEgAigCjAIgBCgCACAUpyACKALcASACKAKEAiADKAIAIBKnIAIoAtQBIAIoAvwBIAEoAgAgEacgAigCzAEgAigC9AEgBkEddmpqIgFBHXZqaiIDQR12amoiBEEddmpqIgdBHXZqaiIFQR12amoiBkEddmpqIghBHXZqakH/////AXEgCEH/////AXEgBkH/////AXEgBUH/////AXEgB0H/////AXEgBEH/////AXEgA0H/////AXEgAUH/////AXEgCUEfdWpB0rHMBGsiAUEfdWpBluuc7wFrIgdBH3VqQcX6zu8BayIFQR91akHNAmsiBkEfdWoiCUEfdWoiCEEfdWoiC0EfdWoiCkGAgMAASCIDG2oiBDoAACAAIARBEHY6AAIgACAEQQh2OgABIAAgAUH/////AXEgBEEddmpB0rHMBEEAIAMbaiIBQRN2OgAGIAAgAUELdjoABSAAIAFBA3Y6AAQgACAEQRh2QR9xIAFBBXRyOgADIAAgB0H/////AXEgAUEddmpBluuc7wFBACADG2oiBEEOdjoACSAAIARBBnY6AAggACABQRt2QQNxIARBAnRyOgAHIAAgBUH/////AXEgBEEddmpBxfrO7wFBACADG2oiAUERdjoADSAAIAFBCXY6AAwgACABQQF2OgALIAAgAUEHdCAEQYCAgP4BcUEWdnI6AAogACAGQf////8BcSABQR12akHNAkEAIAMbaiIDQRR2OgARIAAgA0EMdjoAECAAIANBBHY6AA8gACABQRl2QQ9xIANBBHRyOgAOIAAgCUH/////AXEgA0EddmoiBEEPdjoAFCAAIARBB3Y6ABMgACADQRx2QQFxIARBAXRyOgASIAAgCEH/////AXEgBEEddmoiAUESdjoAGCAAIAFBCnY6ABcgACABQQJ2OgAWIAAgBEEXdkE/cSABQQZ0cjoAFSAAIAtB/////wFxIAFBHXZqIgNBFXY6ABwgACADQQ12OgAbIAAgA0EFdjoAGiAAIApBgIBAaiIHIANBHXZqIgQ6AB0gACABQRp2QQdxIANBA3RyOgAZIAAgBEEIdjoAHiAAIAQgB0ELdkGAgMAAcWpBEHY6AB8gAkHAAmokAAuoFQIafyh+IwBBgAFrIgIkACACQTBqIgMgARA7IAIpA0ghHiACKQNAISIgAikDOCEpIAIpAzAhHCACKQN4ISMgAikDcCEfIAIpA2ghJCACKQNgISggAikDWCEnIAIpA1AhICADIAFBKGoQOyACKQNIISogAikDQCErIAIpAzghLiACKQMwIR0gAikDeCEsIAIpA3AhLSACKQNoIS8gAikDYCEwIAIpA1ghMSACKQNQISUgAyABQdAAahA7IAIpA3ghMiACKQNwITMgAikDaCE0IAIpA2AhNSACKQNIITYgAikDQCE3IAIpAzAhOCACKQM4ITkgAikDUCE6IAIpA1ghOyABQSxqKAIAIQQgAUEwaigCACELIAFBNGooAgAhBSABQThqKAIAIQYgAUE8aigCACEMIAFBQGsoAgAhByABQcQAaigCACEIIAFByABqKAIAIQ0gASgCKCEJIAEoAgAhCiABKAIEIQ4gASgCCCEPIAEoAgwhECABKAIQIREgASgCFCESIAEoAhghEyABKAIcIRQgASgCICEVIAIgAUHMAGooAgAgASgCJGo2AiwgAiANIBVqNgIoIAIgCCAUajYCJCACIAcgE2o2AiAgAiAMIBJqNgIcIAIgBiARajYCGCACIAUgEGo2AhQgAiALIA9qNgIQIAIgBCAOajYCDCACIAkgCmo2AgggAyACQQhqEDsgAikDeCE8IAIpA3AhPSACKQNoIT4gAikDYCE/IAIpA1ghQCACKQNIIUEgAikDQCFCIAIpAzghQyACKQMwISYgAikDUCEhIABBzABqICMgHyAkICggJyAgQhqIfCInQhmIfCIoQhqIfCIkQhmIfCIfQhqIfCIjp0H///8PcSIBICwgLSAvIDAgMSAlQhqIfCIxQhmIfCIwQhqIfCIvQhmIfCItQhqIfCIsp0H///8PcSIEaiILNgIAIABByABqIB+nQf///x9xIgUgLadB////H3EiBmoiDDYCACAAQcQAaiAkp0H///8PcSIHIC+nQf///w9xIghqIg02AgAgAEFAayAop0H///8fcSIJIDCnQf///x9xIgpqIg42AgAgAEE8aiAnQv///w+DICBC////H4MgHiAiICkgHEIaiHwiIEIZiHwiIkIaiHwiHkIZiHwiKUIaiHwiH6cgMUL///8PgyAlQv///x+DICogKyAuIB1CGoh8IiVCGYh8IiRCGoh8IihCGYh8IidCGoh8IiqnaiIPNgIAIABBOGogKadB////H3EiECAnp0H///8fcSIRaiISNgIAIABBNGogHqdB////D3EiEyAop0H///8PcSIUaiIVNgIAIABBMGogIqdB////H3EiAyAkp0H///8fcSIWaiIXNgIAIAAgI0IZiEITfiAcQv///x+DfCIcp0H///8fcSIYICxCGYhCE34gHUL///8fg3wiHadB////H3EiGWoiGjYCKCAAQSxqICBC////D4MgHEIaiHwiHKcgJUL///8PgyAdQhqIfCIgp2oiGzYCACAAQegAaiAKIAlrQfD///8Daq0gKiAffULw////AXxC/////w+DIBEgEGtB8P///wNqrSIdQhqIfCIlQhmIfCIep0H///8fcSIJNgIAIABB7ABqIAggB2tB8P///wFqrSAeQhqIfCIep0H///8PcSIHNgIAIABB8ABqIAYgBWtB8P///wNqrSAeQhmIfCIep0H///8fcSIFNgIAIABB2ABqIBYgA2tB8P///wNqrSAgIBx9QvD///8BfEL/////D4MgGSAYa0HQ/f//A2qtIhxCGoh8IiBCGYh8IiKnQf///x9xIgY2AgAgAEH0AGogBCABa0Hw////AWqtIB5CGoh8Ih6nQf///w9xIgE2AgAgAEHcAGogFCATa0Hw////AWqtICJCGoh8IiKnQf///w9xIgQ2AgAgAEHkAGogJUL///8PgyAdQv///x+DICJCGYh8Ih1CGoh8IiU+AgAgAEHgAGogHadB////H3EiCDYCACAAQdQAaiAgQv///w+DIB5CGYhCE34gHEL///8fg3wiHEIaiHwiID4CACAAIBynQf///x9xIgo2AlAgACAhQv///x+DIEEgQiBDICZCGoh8IhxCGYh8Ih1CGoh8Ih5CGYh8IiKnQf///x9xIBJrQfD///8Daq0iKUIaiCBAICFCGoh8IiFC////D4MgIkIaiHynIA9rQfD///8Baq18IiJCGYggPyAhQhmIfCIhp0H///8fcSAOa0Hw////A2qtfCIjp0H///8fcTYCGCAAID4gIUIaiHwiIadB////D3EgDWtB8P///wFqrSAjQhqIfCIjp0H///8PcTYCHCAAID0gIUIZiHwiIadB////H3EgDGtB8P///wNqrSAjQhmIfCIjp0H///8fcTYCICAAIB2nQf///x9xIBdrQfD///8Daq0gPCAhQhqIfCIdQhmIQhN+ICZC////H4N8IianQf///x9xIBprQdD9//8Daq0iIUIaiCAcQv///w+DICZCGoh8pyAba0Hw////AWqtfCIcQhmIfCImp0H///8fcTYCCCAAQZABaiA6QgGGIh9C/v//H4MgNkIBhiA3QgGGIDlCAYYgOEIBhiIkQhqIfCIoQhmIfCInQhqIfCIqQhmIfCIrp0H///8fcSAIa0Hw////A2qtIi5CGoggO0IBhiAfQhqIfCIfQv///w+DICtCGoh8ICV9QvD///8BfEL/////D4N8IiVCGYggNUIBhiAfQhmIfCIfp0H///8fcSAJa0Hw////A2qtfCIrp0H///8fcTYCACAAQYABaiAnp0H///8fcSAGa0Hw////A2qtIDJCAYYgM0IBhiA0QgGGIB9CGoh8Ih9CGYh8IidCGoh8IixCGYhCE34gJEL+//8fg3wiJKdB////H3EgCmtB0P3//wNqrSItQhqIIChC////D4MgJEIaiHwgIH1C8P///wF8Qv////8Pg3wiIEIZiHwiJKdB////H3E2AgAgACAdp0H///8PcSALa0Hw////AWqtICNCGoh8Ih2nQf///w9xNgIkIAAgHqdB////D3EgFWtB8P///wFqrSAmQhqIfCImp0H///8PcTYCDCAAQZQBaiAfp0H///8PcSAHa0Hw////AWqtICtCGoh8Ih6nQf///w9xNgIAIABBhAFqICqnQf///w9xIARrQfD///8Baq0gJEIaiHwiI6dB////D3E2AgAgACAiQv///w+DIClC////H4MgJkIZiHwiJkIaiHw+AhQgACAmp0H///8fcTYCECAAIBxC////D4MgHUIZiEITfiAhQv///x+DfCIcQhqIfD4CBCAAIBynQf///x9xNgIAIABBmAFqICenQf///x9xIAVrQfD///8Daq0gHkIZiHwiHKdB////H3E2AgAgAEGMAWogJUL///8PgyAuQv///x+DICNCGYh8Ih1CGoh8PgIAIABBiAFqIB2nQf///x9xNgIAIABBnAFqICynQf///w9xIAFrQfD///8Baq0gHEIaiHwiHKdB////D3E2AgAgAEH8AGogIEL///8PgyAcQhmIQhN+IC1C////H4N8IhxCGoh8PgIAIAAgHKdB////H3E2AnggAkGAAWokAAvuFAIafxp+IwBBMGsiBCQAIAEvAAQhAyABLQAGIQUgAS0AGCEGIAEtABYhByABLQAXIQogAS8ACCEIIAEtAAchCyABLwAMIQkgAS0ACyEQIAEtAAohESABLwAQIQwgAS0ADyESIAEtAA4hEyABLQAUIQ0gAS0AFSEOIAEtABMhFCABLQASIRUgAS0AHCEPIAEtABkhFiABLQAaIRcgAS0AGyEYIAEtAAMhGSABLwAAIRogAS0AAiEbIARBCGoiAiABLwAdIAEtAB9BEHRyNgIgIAIgGUEYdCIBQYCAgPgBcSAaIBtBEHRycjYCACACIA9BFXQgFkEIdCIPIBdBEHQgGEEYdHJyQQt2cjYCHCACIA0gDkEIdCIOckEPdCAVQRB0Ig0gFEEYdHJBEXZyQf////8BcTYCFCACIAwgDXJBDHQgE0EQdCIMIBJBGHRyQRR2ckH/////AXE2AhAgAiAJIAxyQQl0IBFBEHQiCSAQQRh0ckEXdnJB/////wFxNgIMIAIgCCAJckEGdCALQRh0IghBGnZyQf////8BcTYCCCACIAYgD3JBEnQgB0EQdCAKQRh0ciAOckEOdnJB/////wFxNgIYIAIgCCADIAVBEHRyckEDdCABQR12ckH/////AXE2AgQgACAEKAIoIgEgBCgCFCICaq0iJ0KC5oXTA34gAa0iLUL/////AX4iKCAEKAIkIgGtIi5C/////wF+Ii8gBCgCICIDrSIpQv//P358fCIwIAQoAgwi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BCgCEBEAAEUNAAtBAQ8LQQEhAyAAQYCAxABGDQIgCCABIAIgBCgCDBEDAA0CQQAhAwNAIAMgBkYEQEEADwsgA0EBaiEDIAggACAEKAIQEQAARQ0ACyADQQFrIAZJDwsMAgsgACgCFCABIAIgAEEYaigCACgCDBEDACEDCyADDwsgACgCFCABIAIgAEEYaigCACgCDBEDAAvhDgIbfwZ+IwBB8AFrIgMkACABQSxqKAIAIQwgAUEwaigCACENIAFBNGooAgAhDiABQThqKAIAIQ8gAUE8aigCACEQIAFBQGsoAgAhESABQcQAaigCACESIAFByABqKAIAIRMgAUHMAGooAgAhFCABKAIEIRUgASgCCCEEIAEoAgwhBSABKAIQIQYgASgCFCEHIAEoAhghCCABKAIcIQkgASgCICEKIAEoAiQhCyADIAEoAgAgASgCKGo2AgAgAyALIBRqNgIkIAMgCiATajYCICADIAkgEmo2AhwgAyAIIBFqNgIYIAMgByAQajYCFCADIAYgD2o2AhAgAyAFIA5qNgIMIAMgBCANajYCCCADIAwgFWo2AgQgA0EoaiIEIAFBKGogARA/IANB0ABqIAMgAkEoahAxIANB+ABqIAQgAhAxIANBoAFqIAFB+ABqIAJB+ABqEDEgA0HIAWogAUHQAGogAkHQAGoQMSADKALgASEMIAMoAsgBIQ0gAygCzAEhDiADKALQASEPIAMoAtQBIRAgAygC2AEhESADKALcASESIAMoAuQBIRMgAygC6AEhFCADKALsASEVIAMoApwBIQEgAygCdCECIAMoApgBIQQgAygCcCEFIAMoAoQBIQYgAygCXCEHIAMoApQBIQggAygCbCEJIAMoAoABIQogAygCWCELIAMoAnwhFiADKAJUIRcgAygCeCEYIAMoAlAhGSAAIAMoAmggAygCkAFrQfD///8Daq0gAygCZCADKAKMAWtB8P///wFqrSADKAJgIAMoAogBa0Hw////A2qtIh5CGoh8IiFCGYh8Ih+nQf///x9xNgIYIAAgCyAKa0Hw////A2qtIBcgFmtB8P///wFqrSAZIBhrQdD9//8Daq0iIkIaiHwiI0IZiHwiIKdB////H3E2AgggACAJIAhrQfD///8Baq0gH0IaiHwiH6dB////D3E2AhwgACAHIAZrQfD///8Baq0gIEIaiHwiIKdB////D3E2AgwgACAFIARrQfD///8Daq0gH0IZiHwiH6dB////H3E2AiAgACAhQv///w+DIB5C////H4MgIEIZiHwiHkIaiHw+AhQgACAep0H///8fcTYCECAAIAIgAWtB8P///wFqrSAfQhqIfCIep0H///8PcTYCJCAAICNC////D4MgHkIZiEITfiAiQv///x+DfCIeQhqIfD4CBCAAIB6nQf///x9xNgIAIAMoAlAhASADKAJ4IQIgAygCVCEEIAMoAnwhBSADKAJYIQYgAygCgAEhByADKAJcIQggAygChAEhCSADKAJgIQogAygCiAEhCyADKAJkIRYgAygCjAEhFyADKAJoIRggAygCkAEhGSADKAJsIRogAygClAEhGyADKAJwIRwgAygCmAEhHSAAQcwAaiADKAKcASADKAJ0ajYCACAAQcgAaiAcIB1qNgIAIABBxABqIBogG2o2AgAgAEFAayAYIBlqNgIAIABBPGogFiAXajYCACAAQThqIAogC2o2AgAgAEE0aiAIIAlqNgIAIABBMGogBiAHajYCACAAQSxqIAQgBWo2AgAgACABIAJqNgIoIAMoAqwBIQQgAygCqAEhBSADKAKkASEGIAMoAqABIQcgAygCuAEhCCADKAK0ASEJIAMoArABIQogAygCvAEhASADKALAASECIABBnAFqIAMoAsQBIgsgFUEBdCIVajYCACAAQZgBaiACIBRBAXQiFGo2AgAgAEGUAWogASATQQF0IhNqNgIAIABBjAFqIBJBAXQiEiADKAK0AWo2AgAgAEGIAWogEUEBdCIRIAMoArABajYCACAAQYQBaiAQQQF0IhAgAygCrAFqNgIAIABBgAFqIA9BAXQiDyADKAKoAWo2AgAgAEH8AGogDkEBdCIOIAMoAqQBajYCACAAIA1BAXQiDSADKAKgAWo2AnggAEGQAWogDEEBdCIMIAMoArgBajYCACAAQegAaiAMIAhrQfD///8Daq0gEiAJa0Hw////AWqtIBEgCmtB8P///wNqrSIeQhqIfCIhQhmIfCIfp0H///8fcTYCACAAQdgAaiAPIAVrQfD///8Daq0gDiAGa0Hw////AWqtIA0gB2tB0P3//wNqrSIiQhqIfCIjQhmIfCIgp0H///8fcTYCACAAQewAaiATIAFrQfD///8Baq0gH0IaiHwiH6dB////D3E2AgAgAEHcAGogECAEa0Hw////AWqtICBCGoh8IiCnQf///w9xNgIAIABB8ABqIBQgAmtB8P///wNqrSAfQhmIfCIfp0H///8fcTYCACAAQeQAaiAhQv///w+DIB5C////H4MgIEIZiHwiHkIaiHw+AgAgAEHgAGogHqdB////H3E2AgAgAEH0AGogFSALa0Hw////AWqtIB9CGoh8Ih6nQf///w9xNgIAIABB1ABqICNC////D4MgHkIZiEITfiAiQv///x+DfCIeQhqIfD4CACAAIB6nQf///x9xNgJQIANB8AFqJAALxQ4CG38GfiMAQfABayIDJAAgAUEsaigCACEEIAFBMGooAgAhBSABQTRqKAIAIQYgAUE4aigCACEHIAFBPGooAgAhCCABQUBrKAIAIQkgAUHEAGooAgAhCiABQcgAaigCACEMIAFBzABqKAIAIQ0gASgCBCEOIAEoAgghDyABKAIMIRAgASgCECERIAEoAhQhEiABKAIYIRMgASgCHCEUIAEoAiAhFSABKAIkIQsgAyABKAIAIAEoAihqNgIAIAMgCyANajYCJCADIAwgFWo2AiAgAyAKIBRqNgIcIAMgCSATajYCGCADIAggEmo2AhQgAyAHIBFqNgIQIAMgBiAQajYCDCADIAUgD2o2AgggAyAEIA5qNgIEIANBKGoiBCABQShqIAEQPyADQdAAaiADIAIQMSADQfgAaiAEIAJBKGoQMSADQaABaiABQfgAaiACQfgAahAxIANByAFqIAFB0ABqIAJB0ABqEDEgAygCyAEhDCADKALMASENIAMoAtABIQ4gAygC1AEhDyADKALYASEQIAMoAtwBIREgAygC4AEhEiADKALkASETIAMoAugBIRQgAygC7AEhFSADKAKcASEBIAMoAnQhAiADKAKYASEEIAMoAnAhBSADKAKEASEGIAMoAlwhByADKAKUASEIIAMoAmwhCSADKAKAASEKIAMoAlghCyADKAJ8IRYgAygCVCEXIAMoAnghGCADKAJQIRkgACADKAJoIAMoApABa0Hw////A2qtIAMoAmQgAygCjAFrQfD///8Baq0gAygCYCADKAKIAWtB8P///wNqrSIeQhqIfCIhQhmIfCIfp0H///8fcTYCGCAAIAsgCmtB8P///wNqrSAXIBZrQfD///8Baq0gGSAYa0HQ/f//A2qtIiJCGoh8IiNCGYh8IiCnQf///x9xNgIIIAAgCSAIa0Hw////AWqtIB9CGoh8Ih+nQf///w9xNgIcIAAgByAGa0Hw////AWqtICBCGoh8IiCnQf///w9xNgIMIAAgBSAEa0Hw////A2qtIB9CGYh8Ih+nQf///x9xNgIgIAAgIUL///8PgyAeQv///x+DICBCGYh8Ih5CGoh8PgIUIAAgHqdB////H3E2AhAgACACIAFrQfD///8Baq0gH0IaiHwiHqdB////D3E2AiQgACAjQv///w+DIB5CGYhCE34gIkL///8fg3wiHkIaiHw+AgQgACAep0H///8fcTYCACADKAJQIQEgAygCeCECIAMoAlQhBCADKAJ8IQUgAygCWCEGIAMoAoABIQcgAygCXCEIIAMoAoQBIQkgAygCYCEKIAMoAogBIQsgAygCZCEWIAMoAowBIRcgAygCaCEYIAMoApABIRkgAygCbCEaIAMoApQBIRsgAygCcCEcIAMoApgBIR0gAEHMAGogAygCnAEgAygCdGo2AgAgAEHIAGogHCAdajYCACAAQcQAaiAaIBtqNgIAIABBQGsgGCAZajYCACAAQTxqIBYgF2o2AgAgAEE4aiAKIAtqNgIAIABBNGogCCAJajYCACAAQTBqIAYgB2o2AgAgAEEsaiAEIAVqNgIAIAAgASACajYCKCADKAKgASEBIAMoAqQBIQIgAygCqAEhBCADKAKsASEFIAMoArABIQYgAygCtAEhByADKAK4ASEIIAMoArwBIQkgAygCwAEhCiAAQfQAaiADKALEASILIBVBAXQiFWo2AgAgAEHwAGogCiAUQQF0IhRqNgIAIABB7ABqIAkgE0EBdCITajYCACAAQegAaiAIIBJBAXQiEmo2AgAgAEHkAGogByARQQF0IhFqNgIAIABB4ABqIAYgEEEBdCIQajYCACAAQdwAaiAFIA9BAXQiD2o2AgAgAEHYAGogBCAOQQF0Ig5qNgIAIABB1ABqIAIgDUEBdCINajYCACAAIAEgDEEBdCIMajYCUCAAQZABaiASIAhrQfD///8Daq0gESAHa0Hw////AWqtIBAgBmtB8P///wNqrSIeQhqIfCIhQhmIfCIfp0H///8fcTYCACAAQYABaiAOIARrQfD///8Daq0gDSACa0Hw////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fiMAQaAGayICJAAgAkHQBWoiBSABEDsgAiACKQOABiACKQP4BSACKQPwBSIIQhqIfCILQhmIfCIJp0H///8fcTYCGCACIAIpA+AFIAIpA9gFIAIpA9AFIgxCGoh8Ig1CGYh8IgqnQf///x9xNgIIIAIgAikDiAYgCUIaiHwiCadB////D3E2AhwgAiACKQPoBSAKQhqIfCIKp0H///8PcTYCDCACIAIpA5AGIAlCGYh8IgmnQf///x9xNgIgIAIgC0L///8PgyAIQv///x+DIApCGYh8IghCGoh8PgIUIAIgCKdB////H3E2AhAgAiACKQOYBiAJQhqIfCIIp0H///8PcTYCJCACIA1C////D4MgCEIZiEITfiAMQv///x+DfCIIQhqIfD4CBCACIAinQf///x9xNgIAIAUgAhA7IAIgAikDgAYgAikD+AUgAikD8AUiCEIaiHwiC0IZiHwiCadB////H3E2AsAFIAIgAikD4AUgAikD2AUgAikD0AUiDEIaiHwiDUIZiHwiCqdB////H3E2ArAFIAIgAikDiAYgCUIaiHwiCadB////D3E2AsQFIAIgAikD6AUgCkIaiHwiCqdB////D3E2ArQFIAIgAikDkAYgCUIZiHwiCadB////H3E2AsgFIAIgC0L///8PgyAIQv///x+DIApCGYh8IghCGoh8PgK8BSACIAinQf///x9xNgK4BSACIAIpA5gGIAlCGoh8IginQf///w9xNgLMBSACIA1C////D4MgCEIZiEITfiAMQv///x+DfCIIQhqIfD4CrAUgAiAIp0H///8fcTYCqAUgBSACQagFaiIGEDsgAiACKQOABiACKQP4BSACKQPwBSIIQhqIfCILQhmIfCIJp0H///8fcTYCQCACIAIpA+AFIAIpA9gFIAIpA9AFIgxCGoh8Ig1CGYh8IgqnQf///x9xNgIwIAIgAikDiAYgCUIaiHwiCadB////D3E2AkQgAiACKQPoBSAKQhqIfCIKp0H///8PcTYCNCACIAIpA5AGIAlCGYh8IgmnQf///x9xNgJIIAIgC0L///8PgyAIQv///x+DIApCGYh8IghCGoh8PgI8IAIgCKdB////H3E2AjggAiACKQOYBiAJQhqIfCIIp0H///8PcTYCTCACIA1C////D4MgCEIZiEITfiAMQv///x+DfCIIQhqI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mMAAKAIARw0BQaiYwAAgADYCAAwCCyAAQcCYwAAoAgAiA00NAUG0mMAAKAIAIgFFDQFBACECAkBBrJjAACgCACIFQSlJDQBBiJbAACEAA0AgASAAKAIAIgdPBEAgByAAKAIEaiABSw0CCyAAKAIIIgANAAsLQZCWwAAoAgAiAARAA0AgAkEBaiECIAAoAggiAA0ACwtByJjAAEH/HyACIAJB/x9NGzYCACADIAVPDQFBwJjAAEF/NgIADwsgAEGAAkkNASACIAAQSUEAIQJByJjAAEHImMAAKAIAQQFrIgA2AgAgAA0AQZCWwAAoAgAiAARAA0AgAkEBaiECIAAoAggiAA0ACwtByJjAAEH/HyACIAJB/x9NGzYCAA8LDwsgAEF4cUGYlsAAaiEBAn9BoJjAACgCACIDQQEgAEEDdnQiAHEEQCABKAIIDAELQaCYwAAgACADcjYCACABCyEAIAEgAjYCCCAAIAI2AgwgAiABNgIMIAIgADYCCAuGCwIJfwx+IwBB4AJrIgIkACACQRBqIgNBgIrAACkDADcDACACQRhqIgRBiIrAACkDADcDACACQSBqIgVBkIrAACkDADcDACACQShqIgZBmIrAACkDADcDACACQTBqIgdBoIrAACkDADcDACACQThqIghBqIrAACkDADcDACACQUBrIglBsIrAACkDADcDACACQfiJwAApAwA3AwggAkGAAmpB4AAQfxogAkHQAGpCADcDACACQfgBaiABQRhqKQAANwMAIAJB8AFqIAFBEGopAAA3AwAgAkHoAWogAUEIaikAADcDACACQgA3A0ggAiABKQAANwPgASACQdgAaiACQeABaiIKQYABEH4hASACQSA6ANgBIAJBgAE6AHggAkH5AGpB3wAQfxogAkHQAWpCgICAgICAwAA3AwAgAkHIAWpCADcDACACQQhqIAFBARAfIAJBADoA2AEgBikDACEMIAcpAwAhDSAIKQMAIQ4gCSkDACEPIAMpAwAhCyAEKQMAIRAgAikDCCERIAJB/QFqIAUpAwAiEkI4hiASQoD+A4NCKIaEIBJCgID8B4NCGIYgEkKAgID4D4NCCIaEhCITQiiIPQAAIAJB9QFqIBBCOIYgEEKA/gODQiiGhCAQQoCA/AeDQhiGIBBCgICA+A+DQgiGhIQiFEIoiD0AACACQe0BaiALQjiGIAtCgP4Dg0IohoQgC0KAgPwHg0IYhiALQoCAgPgPg0IIhoSEIhVCKIg9AAAgAkHlAWogEUI4hiARQoD+A4NCKIaEIBFCgID8B4NCGIYgEUKAgID4D4NCCIaEhCIWQiiIPQAAIAIgEkI4iDwA+AEgAiAQPAD3ASACIBBCOIg8APABIAIgCzwA7wEgAiALQjiIPADoASACIBE8AOcBIAIgEyASQiiIQoD+A4MgEkIIiEKAgID4D4MgEkIYiEKAgPwHg4SEhEIIiD4A+QEgAiAUIBBCKIhCgP4DgyAQQgiIQoCAgPgPgyAQQhiIQoCA/AeDhISEQgiIPgDxASACIBUgC0IoiEKA/gODIAtCCIhCgICA+A+DIAtCGIhCgID8B4OEhIRCCIg+AOkBIAIgFiARQiiIQoD+A4MgEUIIiEKAgID4D4MgEUIYiEKAgPwHg4SEhEIIiD4A4QEgAiARQjiIp0H4AXE6AOABIAIgEkL/AYOnQT9xQcAAcjoA/wEgACAKECkgAEE9aiAPQjiGIA9CgP4Dg0IohoQgD0KAgPwHg0IYhiAPQoCAgPgPg0IIhoSEIgtCKIg9AAAgAEE5aiALIA9CKIhCgP4DgyAPQgiIQoCAgPgPgyAPQhiIQoCA/AeDhISEQgiIPgAAIABBNWogDkI4hiAOQoD+A4NCKIaEIA5CgID8B4NCGIYgDkKAgID4D4NCCIaEhCILQiiIPQAAIABBMWogCyAOQiiIQoD+A4MgDkIIiEKAgID4D4MgDkIYiEKAgPwHg4SEhEIIiD4AACAAQS1qIA1COIYgDUKA/gODQiiGhCANQoCA/AeDQhiGIA1CgICA+A+DQgiGhIQiC0IoiD0AACAAQSlqIAsgDUIoiEKA/gODIA1CCIhCgICA+A+DIA1CGIhCgID8B4OEhIRCCIg+AAAgAEElaiAMQjiGIAxCgP4Dg0IohoQgDEKAgPwHg0IYhiAMQoCAgPgPg0IIhoSEIgtCKIg9AAAgAEEhaiALIAxCKIhCgP4DgyAMQgiIQoCAgPgPgyAMQhiIQoCA/AeDhISEQgiIPgAAIABBP2ogDzwAACAAQThqIA9COIg8AAAgAEE3aiAOPAAAIABBMGogDkI4iDwAACAAQS9qIA08AAAgAEEoaiANQjiIPAAAIABBJ2ogDDwAACAAIAxCOIg8ACAgAkHgAmokAAuXCAIjfg1/IAAgASgCDCImQQF0rSISIAIoAgwiJ60iDn4gASgCBCIoQQF0rSITIAIoAhQiKa0iFH58IAEoAhQiKkEBdK0iFSACKAIEIiutIgt+fCABKAIcIixBAXStIhYgAigCJCItQRNsrSIFfnwgATUCACIDIAIoAhgiLq0iHn58IAEoAiQiL0EBdK0iFyACKAIcIjBBE2ytIgx+fCABNQIIIgYgAigCECIxrSIPfnwgATUCECIHIAIoAggiMq0iDX58IAE1AhgiCCACNQIAIgl+fCABNQIgIgogAigCICIBQRNsrSIEfnwgJq0iGCANfiAorSIZIA9+fCAsrSIaIAR+fCAvrSIbIC5BE2ytIhB+fCADIBR+fCAJICqtIhx+fCAGIA5+fCAHIAt+fCAFIAh+fCAKIAx+fCALIBJ+IA4gE358IAUgFX58IAwgFn58IAMgD358IBcgKUETbK0iHX58IAYgDX58IAcgCX58IAQgCH58IAogEH58IiJCGoh8IiNCGYh8Ih+nQf///x9xNgIYIAAgBSASfiALIBN+fCAMIBV+fCAWIB1+fCADIA1+fCAXICdBE2ytIhF+fCAGIAl+fCAEIAd+fCAIIBB+fCAKIDFBE2ytIiB+fCAQIBx+IAQgGH58IBogIH58IBsgMkETbK0iIX58IAMgC358IAkgGX58IAUgBn58IAcgDH58IAggHX58IAogEX58IAwgEn4gBSATfnwgFSAdfnwgESAWfnwgFyArQRNsrX58IAMgCX58IAQgBn58IAcgEH58IAggIH58IAogIX58IiFCGoh8IiRCGYh8IiWnQf///x9xNgIIIAAgDyAYfiAZIB5+fCANIBx+fCAEIBt+fCADIDCtIhF+fCAJIBp+fCAGIBR+fCAHIA5+fCAIIAt+fCAFIAp+fCAfQhqIfCIfp0H///8PcTYCHCAAIAQgHH4gDSAZfnwgECAafnwgGyAgfnwgAyAOfnwgCSAYfnwgBiALfnwgBSAHfnwgCCAMfnwgCiAdfnwgJUIaiHwiBKdB////D3E2AgwgACASIBR+IBEgE358IA4gFX58IAsgFn58IAMgAa0iDH58IAUgF358IAYgHn58IAcgD358IAggDX58IAkgCn58IB9CGYh8IgWnQf///x9xNgIgIAAgI0L///8PgyAiQv///x+DIARCGYh8IgRCGoh8PgIUIAAgBKdB////H3E2AhAgACAYIB5+IAwgGX58IA8gHH58IA0gGn58IAMgLa1+fCAJIBt+fCAGIBF+fCAHIBR+fCAIIA5+fCAKIAt+fCAFQhqIfCIDp0H///8PcTYCJCAAICRC////D4MgA0IZiEITfiAhQv///x+DfCIDQhqIfD4CBCAAIAOnQf///x9xNgIAC88JAQF/IABBACACQf8BcWsiAiAAKAIAIgMgASgCAHNxIANzNgIAIAAgACgCBCIDIAEoAgRzIAJxIANzNgIEIAAgACgCCCIDIAEoAghzIAJxIANzNgIIIAAgACgCDCIDIAEoAgxzIAJxIANzNgIMIAAgACgCECIDIAEoAhBzIAJxIANzNgIQIAAgACgCFCIDIAEoAhRzIAJxIANzNgIUIAAgACgCGCIDIAEoAhhzIAJxIANzNgIYIAAgACgCHCIDIAEoAhxzIAJxIANzNgIcIAAgACgCICIDIAEoAiBzIAJxIANzNgIgIAAgACgCJCIDIAEoAiRzIAJxIANzNgIkIAAgACgCKCIDIAEoAihzIAJxIANzNgIoIABBLGoiAyADKAIAIgMgAUEsaigCAHMgAnEgA3M2AgAgAEEwaiIDIAMoAgAiAyABQTBqKAIAcyACcSADczYCACAAQTRqIgMgAygCACIDIAFBNGooAgBzIAJxIANzNgIAIABBOGoiAyADKAIAIgMgAUE4aigCAHMgAnEgA3M2AgAgAEE8aiIDIAMoAgAiAyABQTxqKAIAcyACcSADczYCACAAQUBrIgMgAygCACIDIAFBQGsoAgBzIAJxIANzNgIAIABBxABqIgMgAygCACIDIAFBxABqKAIAcyACcSADczYCACAAQcgAaiIDIAMoAgAiAyABQcgAaigCAHMgAnEgA3M2AgAgAEHMAGoiAyADKAIAIgMgAUHMAGooAgBzIAJxIANzNgIAIAAgACgCUCIDIAEoAlBzIAJxIANzNgJQIABB1ABqIgMgAygCACIDIAFB1ABqKAIAcyACcSADczYCACAAQdgAaiIDIAMoAgAiAyABQdgAaigCAHMgAnEgA3M2AgAgAEHcAGoiAyADKAIAIgMgAUHcAGooAgBzIAJxIANzNgIAIABB4ABqIgMgAygCACIDIAFB4ABqKAIAcyACcSADczYCACAAQeQAaiIDIAMoAgAiAyABQeQAaigCAHMgAnEgA3M2AgAgAEHoAGoiAyADKAIAIgMgAUHoAGooAgBzIAJxIANzNgIAIABB7ABqIgMgAygCACIDIAFB7ABqKAIAcyACcSADczYCACAAQfAAaiIDIAMoAgAiAyABQfAAaigCAHMgAnEgA3M2AgAgAEH0AGoiAyADKAIAIgMgAUH0AGooAgBzIAJxIANzNgIAIAAgACgCeCIDIAEoAnhzIAJxIANzNgJ4IABB/ABqIgMgAygCACIDIAFB/ABqKAIAcyACcSADczYCACAAQYABaiIDIAMoAgAiAyABQYABaigCAHMgAnEgA3M2AgAgAEGEAWoiAyADKAIAIgMgAUGEAWooAgBzIAJxIANzNgIAIABBiAFqIgMgAygCACIDIAFBiAFqKAIAcyACcSADczYCACAAQYwBaiIDIAMoAgAiAyABQYwBaigCAHMgAnEgA3M2AgAgAEGQAWoiAyADKAIAIgMgAUGQAWooAgBzIAJxIANzNgIAIABBlAFqIgMgAygCACIDIAFBlAFqKAIAcyACcSADczYCACAAQZgBaiIDIAMoAgAiAyABQZgBaigCAHMgAnEgA3M2AgAgAEGcAWoiACAAKAIAIgAgAUGcAWooAgBzIAJxIABzNgIAC6sJAhZ/Bn4jAEHgA2siASQAAkACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIAFBmQNqIABBDWopAAA3AAAgAUGhA2ogAEEVaikAADcAACABQacDaiAAQRtqKQAANwAAIAEgAEEFaikAADcAkQMgASAALQAEQfgBcToAkAMgASAAQSNqLQAAQT9xQcAAcjoArwMgAUEoaiABQZADaiIDECAgAUH8AGooAgAhAiABQdQAaigCACEEIAFBgAFqKAIAIQUgAUHYAGooAgAhBiABQYQBaigCACEHIAFB3ABqKAIAIQggAUGIAWooAgAhCSABQeAAaigCACEKIAFBjAFqKAIAIQsgAUHkAGooAgAhDCABQZABaigCACENIAFB6ABqKAIAIQ4gAUGUAWooAgAhDyABQewAaigCACEQIAFBmAFqKAIAIREgAUHwAGooAgAhEiABKAJ4IRMgASgCUCEUIAEgAUH0AGooAgAiFSABQZwBaigCACIWajYC7AEgASARIBJqNgLoASABIA8gEGo2AuQBIAEgDSAOajYC4AEgASALIAxqNgLcASABIAkgCmo2AtgBIAEgByAIajYC1AEgASAFIAZqNgLQASABIAIgBGo2AswBIAEgEyAUajYCyAEgASANIA5rQfD///8Daq0gCyAMa0Hw////AWqtIAkgCmtB8P///wNqrSIXQhqIfCIaQhmIfCIYp0H///8fcTYCiAIgASAFIAZrQfD///8Daq0gAiAEa0Hw////AWqtIBMgFGtB0P3//wNqrSIbQhqIfCIcQhmIfCIZp0H///8fcTYC+AEgASAPIBBrQfD///8Baq0gGEIaiHwiGKdB////D3E2AowCIAEgByAIa0Hw////AWqtIBlCGoh8IhmnQf///w9xNgL8ASABIBEgEmtB8P///wNqrSAYQhmIfCIYp0H///8fcTYCkAIgASAaQv///w+DIBdC////H4MgGUIZiHwiF0IaiHw+AoQCIAEgF6dB////H3E2AoACIAEgFiAVa0Hw////AWqtIBhCGoh8IhenQf///w9xNgKUAiABIBxC////D4MgF0IZiEITfiAbQv///x+DfCIXQhqIfD4C9AEgASAXp0H///8fcTYC8AEgAyABQfABahAuIAFB4AJqIAFBsANqKQMANwMAIAFB2AJqIAFBqANqKQMANwMAIAFB0AJqIAFBoANqKQMANwMAIAFByAJqIAFBmANqKQMANwMAIAEgASkDkAM3A8ACIAFBiANqIAFB2ANqKQMANwMAIAFBgANqIAFB0ANqKQMANwMAIAFB+AJqIAFByANqKQMANwMAIAFB8AJqIAFBwANqKQMANwMAIAEgASkDuAM3A+gCIAMgAUHAAmpBBRA6IAFBmAJqIgIgAyABQegCahAxIAMgAUHIAWogAhAxIAFBCGogAxA5IAAgACgCAEEBazYCAEH0mMAALQAAGkEkECUiAEUNAiAAQQA2AgAgACABKQMINwAEIABBDGogAUEQaikDADcAACAAQRRqIAFBGGopAwA3AAAgAEEcaiABQSBqKQMANwAAIAFB4ANqJAAgAA8LEHsACxB8AAsAC/AJAQZ/IAAgAWohBAJAAkACQCAAKAIEIgJBAXENACACQQNxRQ0BIAAoAgAiAyABaiEBIAAgA2siAEGwmMAAKAIARgRAIAQoAgRBA3FBA0cNAUGomMAAIAE2AgAgBCAEKAIEQX5xNgIEIAAgAUEBcjYCBCAEIAE2AgAPCwJA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AWogDCkDADcDACADQbgBaiALKQMANwMAIANBsAFqIAopAwA3AwAgA0GoAWogCSkDADcDACADQfgBaiAQKQMANwMAIANBgAJqIA8pAwA3AwAgA0GIAmogDikDADcDACADQZACaiANKQMANwMAIAMgAykDKDcDoAEgAyADKQNQNwPwASADQaACakHw////AyAUKAIAa61B8P///wEgA0H8AGooAgBrrUHQ/f//AyADKAJ4a60iFkIaiHwiGEIZiHwiFadB////H3E2AgAgA0GwAmpB8P///wMgEigCAGutQfD///8BIANBjAFqKAIAa61B8P///wMgEygCAGutIhdCGoh8IhpCGYh8IhmnQf///x9xNgIAIANBpAJqQfD///8BIANBhAFqKAIAa60gFUIaiHwiFadB////D3E2AgAgA0G0AmpB8P///wEgA0GUAWooAgBrrSAZQhqIfCIZp0H///8PcTYCACADQagCaiAXQv///x+DIBVCGYh8IhWnQf///x9xNgIAIANBuAJqQfD///8DIBEoAgBrrSAZQhmIfCIXp0H///8fcTYCACADQawCaiAaQv///w+DIBVCGoh8PgIAIANBvAJqQfD///8BIANBnAFqKAIAa60gF0IaiHwiFadB////D3E2AgAgA0GcAmogGEL///8PgyAVQhmIQhN+IBZC////H4N8IhZCGoh8PgIAIAMgFqdB////H3E2ApgCIANB6AFqIAUpAwA3AwAgA0HgAWogBikDADcDACADQdgBaiAHKQMANwMAIANB0AFqIAgpAwA3AwAgAyADKQMANwPIASADIANBoAFqIAEQMiAAIANBoAEQfhogA0HAAmokAAuPBwEMfyMAQcABayICJAACQAJAIAEEQCABKAIAIgRBf0YNAUEBIQMgASAEQQFqNgIAAkAgAUEMaigCAEHAAEcEQEG7gsAAQRwQACEEIAJBPmogAkH+AGotAAA6AAAgAkEIaiACQcgAaikCADcDACACQRBqIAJB0ABqKQIANwMAIAJBGGogAkHYAGopAgA3AwAgAkEgaiACQeAAaikCADcDACACQShqIAJB6ABqKQIANwMAIAJBMGogAkHwAGopAgA3AwAgAkE4aiACQfgAaigCADYCACACIAIvAHw7ATwgAiACKQJANwMAIAEgASgCAEEBazYCAAwBCyABKAIEIgMoAAMhDSACQf4AaiIGIANBAmotAAA6AAAgAkGIAWoiByADQQ9qKQAANwMAIAJBkAFqIgggA0EXaikAADcDACACQZgBaiIFIANBH2otAAA6AAAgAkGhAWogA0EoaikAADcAACACQakBaiADQTBqKQAANwAAIAJBsQFqIANBOGopAAA3AAAgAiADLwAAOwF8IAIgAykABzcDgAEgAiADKQAgNwCZASACQfgAaiIDIAJBuAFqLQAAOgAAIAJB8ABqIgkgAkGwAWopAwA3AwAgAkHoAGoiCiACQagBaikDADcDACACQeAAaiILIAJBoAFqKQMANwMAIAJB2ABqIgwgBSkDADcDACACQdAAaiIFIAgpAwA3AwAgAkHIAGoiCCAHKQMANwMAIAJBPmoiByAGLQAAOgAAIAIgAikDgAE3A0AgAiACLwF8OwE8IAJBOGoiBiADKAIANgIAIAJBMGoiAyAJKQMANwMAIAJBKGoiCSAKKQMANwMAIAJBIGoiCiALKQMANwMAIAJBGGoiCyAMKQMANwMAIAJBEGoiDCAFKQMANwMAIAJBCGoiBSAIKQMANwMAIAIgAikDQDcDACABIAQ2AgBBACEEQfSYwAAtAAAaQcQAECUiAUUNAyABQQA2AgAgASACLwE8OwAEIAEgDTYAByABIAIpAwA3AAsgAUEGaiAHLQAAOgAAIAFBE2ogBSkDADcAACABQRtqIAwpAwA3AAAgAUEjaiALKQMANwAAIAFBK2ogCikDADcAACABQTNqIAkpAwA3AAAgAUE7aiADKQMANwAAIAFBwwBqIAYtAAA6AABBACEDCyAAIAM2AgggACAENgIEIAAgATYCACACQcABaiQADwsQewALEHwACwAL/AYCC38BfiMAQTBrIggkAEEnIQMCQCAAQpDOAFQEQCAAIQ4MAQsDQCAIQQlqIANqIgRBBGsgAEKQzgCAIg5C8LEDfiAAfKciBUH//wNxQeQAbiIGQQF0QeCDwABqLwAAOwAAIARBAmsgBkGcf2wgBWpB//8DcUEBdEHgg8AAai8AADsAACADQQRrIQMgAEL/wdcvViAOIQANAAsLIA6nIgRB4wBLBEAgA0ECayIDIAhBCWpqIA6nIgVB//8DcUHkAG4iBEGcf2wgBWpB//8DcUEBdEHgg8AAai8AADsAAAsCQCAEQQpPBEAgA0ECayIDIAhBCWpqIARBAXRB4IPAAGovAAA7AAAMAQsgA0EBayIDIAhBCWpqIARBMGo6AAALQScgA2shBgJ/IAEEQEErQYCAxAAgAigCHCIEQQFxIgUbIQEgBSAGagwBCyACKAIcIQRBLSEBQSggA2sLIQUgCEEJaiADaiEJIARBHXRBH3VB0JLAAHEhCgJAIAIoAgBFBEBBASEDIAJBFGooAgAiBCACQRhqKAIAIgIgASAKEGENASAEIAkgBiACKAIMEQMAIQMMAQsCQAJAAkACQCAFIAIoAgQiB0kEQCAEQQhxDQQgByAFayIFIQQgAi0AICIDQQFrDgMBAgEDC0EBIQMgAkEUaigCACIEIAJBGGooAgAiAiABIAoQYQ0EIAQgCSAGIAIoAgwRAwAhAwwEC0EAIQQgBSEDDAELIAVBAXYhAyAFQQFqQQF2IQQLIANBAWohAyACQRhqKAIAIQUgAkEUaigCACEHIAIoAhAhAgJAA0AgA0EBayIDRQ0BIAcgAiAFKAIQEQAARQ0AC0EBIQMMAgtBASEDIAJBgIDEAEYNASAHIAUgASAKEGENASAHIAkgBiAFKAIMEQMADQFBACEDAn8DQCAEIAMgBEYNARogA0EBaiEDIAcgAiAFKAIQEQAARQ0ACyADQQFrCyAESSEDDAELIAIoAhAhDCACQTA2AhAgAi0AICENQQEhAyACQQE6ACAgAkEUaigCACIEIAJBGGooAgAiCyABIAoQYQ0AIAcgBWtBAWohAwJAA0AgA0EBayIDRQ0BIARBMCALKAIQEQAARQ0AC0EBIQMMAQtBASEDIAQgCSAGIAsoAgwRAwANACACIA06ACAgAiAMNgIQQQAhAwsgCEEwaiQAIAMLhAYCCH4JfyAAIAE1AiQgATUCICABNQIcIAE1AhggATUCFCABNQIQIgNCGoh8IgRCGYh8IgVCGoh8IgZCGYh8IgdCGoh8IghCGYhCE34gATUCACICQv///x+DfCIJp0H///8fcSIKQRNqQRp2IAE1AgQgAkIaiHwiAkL///8PgyAJQhqIfKciC2pBGXYgATUCCCACQhmIfCICp0H///8fcSIMakEadiABNQIMIAJCGoh8IgKnQf///w9xIg1qQRl2IANC////H4MgAkIZiHwiAqdB////H3EiDmpBGnYgBEL///8PgyACQhqIfKciD2pBGXYgBadB////H3EiEGpBGnYgBqdB////D3EiEWpBGXYgB6dB////H3EiEmpBGnYgCKdB////D3EiAWpBGXZBE2wgCmoiCjoAACAAIApBEHY6AAIgACAKQQh2OgABIAAgCkEadiALaiILQQ52OgAFIAAgC0EGdjoABCAAIApBGHZBA3EgC0ECdHI6AAMgACALQRl2IAxqIgxBDXY6AAggACAMQQV2OgAHIAAgDEEDdCALQYCAgA5xQRZ2cjoABiAAIAxBGnYgDWoiDUELdjoACyAAIA1BA3Y6AAogACAMQRV2QR9xIA1BBXRyOgAJIAAgDUEZdiAOaiIOQRJ2OgAPIAAgDkEKdjoADiAAIA5BAnY6AA0gACAOQRp2IA9qIg86ABAgACANQRN2QT9xIA5BBnRyOgAMIAAgD0EQdjoAEiAAIA9BCHY6ABEgACAPQRl2IBBqIhBBD3Y6ABUgACAQQQd2OgAUIAAgD0EYdkEBcSAQQQF0cjoAEyAAIBBBGnYgEWoiEUENdjoAGCAAIBFBBXY6ABcgACAQQRd2QQdxIBFBA3RyOgAWIAAgEUEZdiASaiISQQx2OgAbIAAgEkEEdjoAGiAAIBFBFXZBD3EgEkEEdHI6ABkgACASQRp2IAFqIgFBCnY6AB4gACABQQJ2OgAdIAAgAUGAgPAPcUESdjoAHyAAIBJBFHZBP3EgAUEGdHI6ABwLuAUCAX8GfiMAQYABayIDJAAgA0EwaiABEDsgAyADKQNgIAMpA1ggAykDUCIEQhqIfCIHQhmIfCIFp0H///8fcTYCICADIAMpA0AgAykDOCADKQMwIghCGoh8IglCGYh8IganQf///x9xNgIQIAMgAykDaCAFQhqIfCIFp0H///8PcTYCJCADIAMpA0ggBkIaiHwiBqdB////D3E2AhQgAyADKQNwIAVCGYh8IgWnQf///x9xNgIoIAMgB0L///8PgyAEQv///x+DIAZCGYh8IgRCGoh8PgIcIAMgBKdB////H3E2AhggAyADKQN4IAVCGoh8IgSnQf///w9xNgIsIAMgCUL///8PgyAEQhmIQhN+IAhC////H4N8IgRCGoh8PgIMIAMgBKdB////H3E2AgggAkEBayEBA0AgA0EwaiADQQhqEDsgAyADKQNgIAMpA1ggAykDUCIEQhqIfCIHQhmIfCIFp0H///8fcTYCICADIAMpA0AgAykDOCADKQMwIghCGoh8IglCGYh8IganQf///x9xNgIQIAMgAykDaCAFQhqIfCIFp0H///8PcTYCJCADIAMpA0ggBkIaiHwiBqdB////D3E2AhQgAyADKQNwIAVCGYh8IgWnQf///x9xNgIoIAMgB0L///8PgyAEQv///x+DIAZCGYh8IgRCGoh8PgIcIAMgBKdB////H3E2AhggAyADKQN4IAVCGoh8IgSnQf///w9xNgIsIAMgCUL///8PgyAEQhmIQhN+IAhC////H4N8IgRCGoh8PgIMIAMgBKdB////H3E2AgggAUEBayIBDQALIAAgAykDCDcCACAAQSBqIANBKGopAwA3AgAgAEEYaiADQSBqKQMANwIAIABBEGogA0EYaikDADcCACAAQQhqIANBEGopAwA3AgAgA0GAAWokAAutBAIUfgl/IAAgASgCDCIYrSIPIAEoAgAiGUEBdK0iAn4gASgCBCIaQQF0rSIDIAEoAggiG60iB358IAEoAiAiHEETbK0iCCABKAIUIhZBAXStIgp+fCABKAIkIh1BE2ytIgQgASgCECIerSIFfiABKAIcIhdBE2ytIgwgASgCGCIBrSIJfnxCAYZ8NwMYIAAgAUETbK0iECAKfiACIBqtIhR+fCAIIBhBAXStIgZ+fCAEIAd+IAUgDH58QgGGfDcDCCAAIAYgCX4gHkEBdK0iESAWrSINfnwgF60iEiAbQQF0rSILfnwgHK0iDiADfnwgHa0iFSACfnw3A0ggACALIA1+IAUgBn58IAMgCX58IAIgEn58IAQgDn5CAYZ8NwM4IAAgAyAFfiALIA9+fCACIA1+fCAIIBdBAXStIhN+fCAEIAl+QgGGfDcDKCAAIAMgBn4gByAHfnwgAiAFfnwgCCABQQF0rX58IAQgCn4gDCASfnxCAYZ8NwMgIAAgAiAHfiADIBR+fCAJIBB+fCAIIBF+fCAEIAZ+IAogDH58QgGGfDcDECAAIBAgEX4gGa0iByAHfnwgCCALfnwgBiAMfiAWQRNsrSANfnwgAyAEfnxCAYZ8NwMAIAAgCSALfiAFIAV+fCAGIAp+fCADIBN+fCACIA5+fCAEIBV+QgGGfDcDQCAAIAYgD34gBSALfnwgAyAKfnwgAiAJfnwgCCAOfnwgBCATfkIBhnw3AzALgwUBCn8jAEEwayIDJAAgA0EgaiABNgIAIANBAzoAKCADQSA2AhggA0EANgIkIAMgADYCHCADQQA2AhAgA0EANgIIAn8CQAJAIAIoAhAiCkUEQCACQQxqKAIAIgBFDQEgAigCCCEBIABBA3QhBSAAQQFrQf////8BcUEBaiEHIAIoAgAhAANAIABBBGooAgAiBARAIAMoAhwgACgCACAEIAMoAiAoAgwRAwANBAsgASgCACADQQhqIAFBBGooAgARAAANAyABQQhqIQEgAEEIaiEAIAVBCGsiBQ0ACwwBCyACQRRqKAIAIgBFDQAgAEEFdCELIABBAWtB////P3FBAWohByACKAIAIQADQCAAQQRqKAIAIgEEQCADKAIcIAAoAgAgASADKAIgKAIMEQMADQMLIAMgBSAKaiIBQRBqKAIANgIYIAMgAUEcai0AADoAKCADIAFBGGooAgA2AiQgAUEMaigCACEGIAIoAgghCEEAIQlBACEEAkACQAJAIAFBCGooAgBBAWsOAgACAQsgBkEDdCAIaiIMKAIEQQJHDQEgDCgCACgCACEGC0EBIQQLIAMgBjYCDCADIAQ2AgggAUEEaigCACEEAkACQAJAIAEoAgBBAWsOAgACAQsgBEEDdCAIaiIGKAIEQQJHDQEgBigCACgCACEEC0EBIQkLIAMgBDYCFCADIAk2AhAgCCABQRRqKAIAQQN0aiIBKAIAIANBCGogASgCBBEAAA0CIABBCGohACALIAVBIGoiBUcNAAsLIAIoAgQgB0sEQCADKAIcIAIoAgAgB0EDdGoiACgCACAAKAIEIAMoAiAoAgwRAwANAQtBAAwBC0EBCyADQTBqJAAL5gMCCH8CfiMAQUBqIgIkAAJAAkAgAQRAIAEoAgAiBUF/Rg0BQQEhBCABIAVBAWo2AgACQAJAIAFBDGooAgBBIEYEQCABQQRqKAIAIgMNAQsQUyEDIAJBHmogAi0APzoAACACQQhqIAJBKGopAgA3AwAgAkEQaiACQTBqKQIANwMAIAJBGGogAkE4aigCADYCACACIAIvAD07ARwgAiACKQIgNwMAIAEgASgCAEEBazYCAAwBCyACQThqIgQgA0Efai0AADoAACACQShqIANBD2opAAAiCjcDACACQTBqIANBF2opAAAiCzcDACACQR5qIgYgA0ECai0AADoAACACQQhqIgcgCjcDACACQRBqIgggCzcDACACQRhqIgkgBCgCADYCACACIAMpAAciCjcDICACIAMvAAA7ARwgAiAKNwMAIAMoAAMhBCABIAU2AgBBACEDQfSYwAAtAAAaQSQQJSIBRQ0DIAFBADYCACABIAIvARw7AAQgASAENgAHIAEgAikDADcACyABQQZqIAYtAAA6AAAgAUETaiAHKQMANwAAIAFBG2ogCCkDADcAACABQSNqIAktAAA6AABBACEECyAAIAQ2AgggACADNgIEIAAgATYCACACQUBrJAAPCxB7AAsQfAALAAvgAwIYfgF/IAExAAUhCCABMQAEIQkgATEAFSEKIAExABQhCyABMQAIIQwgATEAByENIAExAAYhAiABMQALIQ4gATEACiEPIAExAAkhAyABMQAPIRAgATEADiERIAExAA0hEiABMQAMIQQgATEAGCETIAExABchFCABMQAWIQUgATEAGyEVIAExABohFiABMQAZIQYgATEAHyEXIAExAB4hGCABMQAdIRkgATEAHCEHIAEoAAAhGiAAIAEoABAiAUH///8PcTYCFCAAIBpB////H3E2AgAgACAXQhKGQoCA8A+DIBlCAoYgB0IGiIQgGEIKhoSEPgIkIAAgB0IUhkKAgMAfgyAWQgSGIAZCBIiEIBVCDIaEhD4CICAAIAZCFYZCgICAD4MgFEIFhiAFQgOIhCATQg2GhIQ+AhwgACASQgKGIARCBoiEIBFCCoaEIBBCEoaEPgIQIAAgBEIThkKAgOAPgyAPQgOGIANCBYiEIA5CC4aEhD4CDCAAIANCFYZCgICAH4MgDUIFhiACQgOIhCAMQg2GhIQ+AgggACAFQheGQoCAgByDIApCD4YgC0IHhoSEpyABQRl2cjYCGCAAIAJCFoZCgICADoMgCEIOhiAJQgaGhISnIBpBGnZyNgIEC+EDAgZ+Dn8gAigCJCEJIAEoAiQhCiACKAIgIQsgASgCICEMIAIoAgwhDSABKAIMIQ4gAigCHCEPIAEoAhwhECACKAIIIREgASgCCCESIAIoAgQhEyABKAIEIRQgAigCACEVIAEoAgAhFiAAIAEoAhggAigCGGtB8P///wNqrSABKAIUIAIoAhRrQfD///8Baq0gASgCECACKAIQa0Hw////A2qtIgNCGoh8IgZCGYh8IgSnQf///x9xNgIYIAAgEiARa0Hw////A2qtIBQgE2tB8P///wFqrSAWIBVrQdD9//8Daq0iB0IaiHwiCEIZiHwiBadB////H3E2AgggACAQIA9rQfD///8Baq0gBEIaiHwiBKdB////D3E2AhwgACAOIA1rQfD///8Baq0gBUIaiHwiBadB////D3E2AgwgACAMIAtrQfD///8Daq0gBEIZiHwiBKdB////H3E2AiAgACAGQv///w+DIANC////H4MgBUIZiHwiA0IaiHw+AhQgACADp0H///8fcTYCECAAIAogCWtB8P///wFqrSAEQhqIfCIDp0H///8PcTYCJCAAIAhC////D4MgA0IZiEITfiAHQv///x+DfCIDQhqIfD4CBCAAIAOnQf///x9xNgIAC+cDAQl/IAAgASgCAEH4hcAAKAIAayIDQf////8BcSABKAIgIAEoAhwgASgCGCABKAIUIAEoAhAgASgCDCABKAIIIAEoAgQgA0EfdWpB/IXAACgCAGsiAkEfdWpBgIbAACgCAGsiBEEfdWpBhIbAACgCAGsiBUEfdWpBiIbAACgCAGsiBkEfdWpBjIbAACgCAGsiB0EfdWpBkIbAACgCAGsiCEEfdWpBlIbAACgCAGsiCUEfdWpBmIbAACgCAGsiA0EfdSIBQe2n1+cBcWoiCkH/////AXE2AgAgACACQf////8BcSAKQR12aiABQdKxzARxaiICQf////8BcTYCBCAAIARB/////wFxIAJBHXZqIAFBluuc7wFxaiICQf////8BcTYCCCAAIAVB/////wFxIAJBHXZqIAFBxfrO7wFxaiICQf////8BcTYCDCAAIAZB/////wFxIAJBHXZqIAFBzQJxaiIBQf////8BcTYCECAAIAdB/////wFxIAFBHXZqIgFB/////wFxNgIUIAAgCEH/////AXEgAUEddmoiAUH/////AXE2AhggACAJQf////8BcSABQR12aiIBQf////8BcTYCHCAAIAMgAUEddmogA0ELdkGAgMAAcWpB/////wFxNgIgC94CAQd/IwBB0AFrIgIkACACQYABaiIDIAFB0ABqEC4gAkHQAGogAkGgAWopAwA3AwAgAkHIAGogAkGYAWopAwA3AwAgAkFAayIHIAJBkAFqKQMANwMAIAJBOGoiCCACQYgBaikDADcDACACIAIpA4ABNwMwIAJB+ABqIAJByAFqKQMA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IAUgADYCDCAFQRxqQgE3AgAgBUEBNgIUIAVBtJHAADYCECAFQQE2AiwgBSAFQShqNgIYIAUgBUEMajYCKCAFQRBqQZSSwAAQYwAL5wIBBX8CQEHN/3tBECAAIABBEE0bIgBrIAFNDQAgAEEQIAFBC2pBeHEgAUELSRsiBGpBDGoQJSICRQ0AIAJBCGshAQJAIABBAWsiAyACcUUEQCABIQAMAQsgAkEEayIFKAIAIgZBeHEgAiADakEAIABrcUEIayICIABBACACIAFrQRBNG2oiACABayICayEDIAZBA3EEQCAAIAAoAgRBAXEgA3JBAnI2AgQgACADaiIDIAMoAgRBAXI2AgQgBSAFKAIAQQFxIAJyQQJyNgIAIAEgAmoiAyADKAIEQQFyNgIEIAEgAhA0DAELIAEoAgAhASAAIAM2AgQgACABIAJqNgIACwJAIAAoAgQiAUEDcUUNACABQXhxIgIgBEEQak0NACAAIAFBAXEgBHJBAnI2AgQgACAEaiIBIAIgBGsiBEEDcjYCBCAAIAJqIgIgAigCBEEBcjYCBCABIAQQNAsgAEEIaiEDCyADC/oCAQl/IwBBgAFrIgIkAAJAAkAgAARAIAAoAgAiAUF/Rg0BIAAgAUEBajYCACACQQhqIgMgAEEMaikAADcDACACQRBqIgQgAEEUaikAADcDACACQRhqIgUgAEEcaikAADcDACACQSBqIgYgAEEkaikAADcDACACQShqIgcgAEEsaikAADcDACACQTBqIgggAEE0aikAADcDACACQThqIgkgAEE8aikAADcDACACIAApAAQ3AwBB9JjAAC0AABpBwAAQJSIBRQ0CIAEgAikDADcAACABQThqIAkpAwA3AAAgAUEwaiAIKQMANwAAIAFBKGogBykDADcAACABQSBqIAYpAwA3AAAgAUEYaiAFKQMANwAAIAFBEGogBCkDADcAACABQQhqIAMpAwA3AAAgACAAKAIAQQFrNgIAQfSYwAAtAAAaQRAQJSIARQ0CIABCwICAgIAINwIIIAAgATYCBCAAQQA2AgAgAkGAAWokACAADwsQewALEHwACwAL0gIBAn8jAEEQayICJAAgACgCACEAAkAgAUH/AE0EQCAAKAIIIgMgACgCBEYEfyAAIAMQTyAAKAIIBSADCyAAKAIAaiABOgAAIAAgACgCCEEBajYC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NgIgIAAgAkEYahA8CyACQTBqJAAL+wEBBX8jAEEgayICJAACQAJAIAAEQCAAKAIAIgFBf0YNASAAIAFBAWo2AgAgAkEYaiIDIABBHGopAAA3AwAgAkEQaiIEIABBFGopAAA3AwAgAkEIaiIFIABBDGopAAA3AwBB9JjAAC0AABogAiAAKQAENwMAQSAQJSIBRQ0CIAEgAikDADcAACABQRhqIAMpAwA3AAAgAUEQaiAEKQMANwAAIAFBCGogBSkDADcAACAAIAAoAgBBAWs2AgBB9JjAAC0AABpBEBAlIgBFDQIgAEKggICAgAQ3AgggACABNgIEIABBADYCACACQSBqJAAgAA8LEHsACxB8AAsAC9sBAQZ/IwBB4ANrIgAkACAAQfgBaiIBQgA3AwAgAEHwAWoiA0IANwMAIABB6AFqIgRCADcDACAAQgA3A+ABIABB4AFqIgIQQiAAQYACaiIFIAIQMCAAQcACaiICIAUQICAAIAIQQSAAQSBqIAJBoAEQfhogAEHIAWogBCkDADcDACAAQdABaiADKQMANwMAIABB2AFqIAEpAwA3AwAgACAAKQPgATcDwAFB9JjAAC0AABpB5AEQJSIBRQRAAAsgAUEANgIAIAFBBGogAEHgARB+GiAAQeADaiQAIAELywEBBX8jAEFAaiIAJAAgAEE4aiICQgA3AwAgAEEwaiIDQgA3AwAgAEEoaiIBQgA3AwAgAEIANwMgIABBIGoQQiAAQRhqIgQgAikDADcDACAAQRBqIgIgAykDADcDACAAQQhqIgMgASkDADcDACAAIAApAyA3AwBB9JjAAC0AABpBJBAlIgFFBEAACyABQQA2AgAgASAAKQMANwAEIAFBDGogAykDADcAACABQRRqIAIpAwA3AAAgAUEcaiAEKQMANwAAIABBQGskACABC74BAQJ/IwBBIGsiAyQAAkACQCABIAEgAmoiAUsNAEEIIABBBGooAgAiAkEBdCIEIAEgASAESRsiASABQQhNGyIEQX9zQR92IQECQCACBEAgAyACNgIYIANBATYCFCADIAAoAgA2AhAMAQsgA0EANgIUCyADIAEgBCADQRBqEFAgAygCBCEBIAMoAgBFBEAgACABNgIAIABBBGogBDYCAAwCCyABQYGAgIB4Rg0BIAFFDQAACxBiAAsgA0EgaiQAC7wBAQN/IwBBIGsiAiQAAkACQCABQQFqIgFFDQBBCCAAQQRqKAIAIgRBAXQiAyABIAEgA0kbIgEgAUEITRsiA0F/c0EfdiEBAkAgBARAIAIgBDYCGCACQQE2AhQgAiAAKAIANgIQDAELIAJBADYCFAsgAiABIAMgAkEQahBQIAIoAgQhASACKAIARQRAIAAgATYCACAAQQRqIAM2AgAMAgsgAUGBgICAeEYNASABRQ0AAAsQYgALIAJBIGokAAuwAQACQCABBEACfwJAIAJBAE4EQCADKAIEDQFB9JjAAC0AABogAhAlDAILIABBADYCBAwDCyADQQhqKAIAIgFFBEBB9JjAAC0AABogAhAlDAELIAMoAgAgAUEBIAIQNQsiAQRAIAAgATYCBCAAQQhqIAI2AgAgAEEANgIADwsgAEEBNgIEIABBCGogAjYCACAAQQE2AgAPCyAAQQA2AgQgAEEIaiACNgIACyAAQQE2AgALuwEBAX8CQAJAIAAEQCAAKAIAIgFBf0YNASAAIAFBAWo2AgBB9JjAAC0AABpBIBAlIgFFDQIgAUEYaiAAQdwBaikAADcAACABQRBqIABB1AFqKQAANwAAIAFBCGogAEHMAWopAAA3AAAgASAAQcQBaikAADcAACAAIAAoAgBBAWs2AgBB9JjAAC0AABpBEBAlIgBFDQIgAEKggICAgAQ3AgggACABNgIEIABBADYCACAADwsQewALEHwACwALtAEBAX8CQAJAIAAEQCAAKAIAIgFBf0YNASAAIAFBAWo2AgBB9JjAAC0AABpBIBAlIgFFDQIgASAAKQAENwAAIAFBGGogAEEcaikAADcAACABQRBqIABBFGopAAA3AAAgAUEIaiAAQQxqKQAANwAAIAAgACgCAEEBazYCAEH0mMAALQAAGkEQECUiAEUNAiAAQqCAgICABDcCCCAAIAE2AgQgAEEANgIAIAAPCxB7AAsQfAALAAujAQEEfyMAQUBqIgAkACAAQQA2AgggAEIBNwMAIABBKGpB4IDAADYCACAAQQM6ADAgAEEgNgIgIABBADYCLCAAQQA2AhggAEEANgIQIAAgADYCJCAAQRBqQdeCwABBIBAqRQRAIAAoAgQgACgCACICIAAoAggQACEDBEAgAhAvCyAAQUBrJAAgAw8LQfiAwABBNyAAQThqQbCBwABBjILAABBWAAuJAQEDfyMAQdAAayIBJAACQCAABEAgACgCACICQX9GDQEgACACQQFqNgIAIAEgAEEEahA+IAFByABqQgA3AwAgAUFAa0IANwMAIAFBOGpCADcDACABQTBqQgA3AwAgAUIANwMoIAEgAUEoahBaIAAgAjYCACABQdAAaiQAQf8BcUUPCxB7AAsQfAALkgEBAX8jAEEQayIGJAACQCABBEAgBiABIAMgBCAFIAIoAhARCQACQCAGKAIEIgMgBigCCCIBTQRAIAYoAgAhBQwBCyAGKAIAIQIgAUUEQCACEC9BBCEFDAELIAIgA0ECdEEEIAFBAnQQNSIFRQ0CCyAAIAE2AgQgACAFNgIAIAZBEGokAA8LQfiQwABBMhB9AAsAC30BAX8jAEFAaiIFJAAgBSABNgIMIAUgADYCCCAFIAM2AhQgBSACNgIQIAVBJGpCAjcCACAFQTxqQQM2AgAgBUECNgIcIAVB0IPAADYCGCAFQQQ2AjQgBSAFQTBqNgIgIAUgBUEQajYCOCAFIAVBCGo2AjAgBUEYaiAEEGMAC28BAX8jAEEwayIBJAAgAUEINgIEIAEgADYCACABQRRqQgI3AgAgAUEsakEFNgIAIAFBAjYCDCABQbyDwAA2AgggAUEFNgIkIAEgAUEgajYCECABIAE2AiggASABQQRqNgIgIAFBCGpB6InAABBjAAtqAQF/IwBBwAFrIgEkAAJAAkAgAARAIAAoAgBBf0YNASABIABBBGpBwAEQfiEBQfSYwAAtAAAaQcQBECUiAEUNAiAAQQA2AgAgAEEEaiABQcABEH4aIAFBwAFqJAAgAA8LEHsACxB8AAsAC10BAX8jAEEgayICJAAgACgCACEAIAJBGGogAUEQaikCADcDACACQRBqIAFBCGopAgA3AwAgAiABKQIANwMIIAIgADYCBCACQQRqQciAwAAgAkEIahA8IAJBIGokAAtZAQF/IwBBQGoiAiQAIAIgABA5IAJBIGogARA5QQAhAEEBIQEDQCAAIAJqLQAAIAJBIGogAGotAABGEHQgAXEhASAAQQFqIgBBIEcNAAsgARB0IAJBQGskAAtWAQF/IwBBIGsiAiQAIAIgADYCBCACQRhqIAFBEGopAgA3AwAgAkEQaiABQQhqKQIANwMAIAIgASkCADcDCCACQQRqQciAwAAgAkEIahA8IAJBIGokAAttAQF/QYSVwABBhJXAACgCACIBQQFqNgIAAkACQCABQQBIDQBB0JjAAC0AAEEBcQ0AQdCYwABBAToAAEHMmMAAQcyYwAAoAgBBAWo2AgBBgJXAACgCAEEASA0AQdCYwABBADoAACAADQELAAsAC0gAAkAgAWlBAUdBgICAgHggAWsgAElyDQAgAARAQfSYwAAtAAAaAn8gAUEJTwRAIAEgABBDDAELIAAQJQsiAUUNAQsgAQ8LAAtGAQF/IAIgACgCACIAKAIEIAAoAggiA2tLBEAgACADIAIQTiAAKAIIIQMLIAAoAgAgA2ogASACEH4aIAAgAiADajYCCEEAC0EBAX8gAiAAKAIEIAAoAggiA2tLBEAgACADIAIQTiAAKAIIIQMLIAAoAgAgA2ogASACEH4aIAAgAiADajYCCEEACzgBAn8CQCAABEAgACgCAA0BIABBADYCACAAKAIEIQEgACgCCCAAEC8EQCABEC8LDwsQewALEHwACzkAAkACfyACQYCAxABHBEBBASAAIAIgASgCEBEAAA0BGgsgAw0BQQALDwsgACADQQAgASgCDBEDAAs/AQF/IwBBIGsiACQAIABBFGpCADcCACAAQQE2AgwgAEGwgMAANgIIIABB0JLAADYCECAAQQhqQbiAwAAQYwAL6QEBAX8jAEEgayICJAAgAiAANgIUIAJB+ILAADYCDCACQdCSwAA2AgggAkEBOgAYIAIgATYCECMAQRBrIgAkACACQQhqIgEoAgwiAkUEQCMAQSBrIgAkACAAQQxqQgA3AgAgAEEBNgIEIABB0JLAADYCCCAAQSs2AhwgAEGkksAANgIYIAAgAEEYajYCACAAQfiSwAAQYwALIAAgASgCCDYCCCAAIAE2AgQgACACNgIAIAAoAgAiAUEMaigCACECAkACQCABKAIEDgIAAAELIAINACAAKAIELQAQEFwACyAAKAIELQAQEFwACzYBAX9B9JjAAC0AABpBEBAlIgJFBEAACyACIAE2AgwgAiABNgIIIAIgADYCBCACQQA2AgAgAgsjAAJAIAAEQCAAKAIAQX9GDQEgAEEMaigCAA8LEHsACxB8AAsjAAJAIAAEQCAAKAIADQEgAEEANgIAIAAQLw8LEHsACxB8AAsgAAJAIAAEQCAAKAIAQX9GDQEgACgCBA8LEHsACxB8AAseACAAKAIA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czogQ1BVIGlzc3VlIGxpa2VseVJ0bEdlblJhbmRvbTogV2luZG93cyBzeXN0ZW0gZnVuY3Rpb24gZmFpbHVyZVNlY1JhbmRvbUNvcHlCeXRlczogaU9TIFNlY3VyaXR5IGZyYW1ld29yayBmYWlsdXJlZXJybm86IGRpZCBub3QgcmV0dXJuIGEgcG9zaXRpdmUgdmFsdWVnZXRyYW5kb206IHRoaXMgdGFyZ2V0IGlzIG5vdCBzdXBwb3J0ZWQAAAAbAAAAAAAAAAEAAAAeAAAAY3J5cHRvcmV0dXJuIHRoaXNjYW5ub3QgYWNjZXNzIGEgVGhyZWFkIExvY2FsIFN0b3JhZ2UgdmFsdWUgZHVyaW5nIG9yIGFmdGVyIGRlc3RydWN0aW9uABsAAAAAAAAAAQAAAB4AAAAvcnVzdGMvOGVkZTNhYWUyOGZlNmU0ZDUyYjM4MTU3ZDdiZmUwZDNiY2VlZjIyNS9saWJyYXJ5L3N0ZC9zcmMvdGhyZWFkL2xvY2FsLnJzABgIEABPAAAA9gAAABoAAABjbG9zdXJlIGludm9rZWQgcmVjdXJzaXZlbHkgb3IgYWZ0ZXIgYmVpbmcgZHJvcHBlZEVycm9yOiAAAACqCBAABwAAAC91c3IvbG9jYWwvY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JhbmRfY29yZS0wLjYuNC9zcmMvb3MucnO8CBAAWAAAAD8AAAANAAAAY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZQBBY2Nlc3NFcnJvcmxpYnJhcnkvc3RkL3NyYy9wYW5pY2tpbmcucnMAWwkQABwAAABQAgAAHgAAAG51bGwgcG9pbnRlciBwYXNzZWQgdG8gcnVzdHJlY3Vyc2l2ZSB1c2Ugb2YgYW4gb2JqZWN0IGRldGVjdGVkIHdoaWNoIHdvdWxkIGxlYWQgdG8gdW5zYWZlIGFsaWFzaW5nIGluIHJ1c3QAACcAAAAmAAAAJwAAADIAAAAtAAAALwAAACEAAAAdAAAALQAAACcAAAAnAAAAMQAAAC0AAAAwAAAAZQAAAHYHEABQBxAAdgcQAB4HEADxBhAAwgYQAKEGEACEBhAAVwYQAHYHEAB2BxAAJgYQAPkFEADJBRAAZAUQAEHslMAACwEDAHsJcHJvZHVjZXJzAghsYW5ndWFnZQEEUnVzdAAMcHJvY2Vzc2VkLWJ5AwVydXN0Yx0xLjcxLjAgKDhlZGUzYWFlMiAyMDIzLTA3LTEyKQZ3YWxydXMGMC4xOS4wDHdhc20tYmluZGdlbhIwLjIuODcgKGYwYThhZTNiOSkALA90YXJnZXRfZmVhdHVyZXMCKw9tdXRhYmxlLWdsb2JhbHMrCHNpZ24tZXh0";var mn;async function xe(){return mn??=await ie(ig)}var Nn=I=>I instanceof Uint8Array;var JA=I=>new Uint32Array(I.buffer,I.byteOffset,Math.floor(I.byteLength/4));var Hn=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Hn)throw new Error("Non little-endian hardware is not supported");function ee(I){if(typeof I!="string")throw new Error(`utf8ToBytes expected string, got ${typeof I}`);return new Uint8Array(new TextEncoder().encode(I))}function te(I){if(typeof I=="string"&&(I=ee(I)),!Nn(I))throw new Error(`expected Uint8Array, got ${typeof I}`);return I}var Un=I=>Object.prototype.toString.call(I)==="[object Object]"&&I.constructor===Object;function eg(I,A){if(A!==void 0&&(typeof A!="object"||!Un(A)))throw new Error("Options should be object or undefined");return Object.assign(I,A)}function yI(I,A){if(!(I instanceof Uint8Array))throw new Error("Uint8Array expected");if(typeof A=="number"&&I.length!==A)throw new Error(`Uint8Array length ${A} expected`)}function tg(I,A){if(I.length!==A.length)throw new Error("equalBytes: Different size of Uint8Arrays");let i=!0;for(let e=0;e0&&!A.includes(I.length))throw new Error(`Expected Uint8Array of length ${A}, not of length=${I.length}`)}function qn(I){if(typeof I!="function"||typeof I.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");be(I.outputLen),be(I.blockLen)}function Mn(I,A=!0){if(I.destroyed)throw new Error("Hash instance has been destroyed");if(A&&I.finished)throw new Error("Hash#digest() has already been called")}function Yn(I,A){gg(I);let i=A.outputLen;if(I.length!(I.byteOffset%4),ve=I=>{let{core:A,rounds:i,counterRight:e,counterLen:t,allow128bitKeys:g,extendNonceFn:o,blockLen:n}=eg({rounds:20,counterRight:!1,counterLen:8,allow128bitKeys:!0,blockLen:64},I);uA.number(t),uA.number(i),uA.number(n),uA.bool(e),uA.bool(g);let C=n/4;if(n%4!==0)throw new Error("Salsa/ChaCha: blockLen should be aligned to 4 bytes");return(Q,s,c,E,D=0)=>{if(uA.bytes(Q),uA.bytes(s),uA.bytes(c),E||(E=new Uint8Array(c.length)),uA.bytes(E),uA.number(D),D<0||D>=2**32-1)throw new Error("Salsa/ChaCha: counter overflow");if(E.length=2**32-1)throw new Error("Salsa/ChaCha: counter overflow");let q=Math.min(n,y-k);if(q===n&&w&&f){let m=k/4;if(k%4!==0)throw new Error("Salsa/ChaCha: wrong block position");for(let R=0;RI[A++]&255|(I[A++]&255)<<8,ng=class{constructor(A){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,A=te(A),yI(A,32);let i=cA(A,0),e=cA(A,2),t=cA(A,4),g=cA(A,6),o=cA(A,8),n=cA(A,10),C=cA(A,12),Q=cA(A,14);this.r[0]=i&8191,this.r[1]=(i>>>13|e<<3)&8191,this.r[2]=(e>>>10|t<<6)&7939,this.r[3]=(t>>>7|g<<9)&8191,this.r[4]=(g>>>4|o<<12)&255,this.r[5]=o>>>1&8190,this.r[6]=(o>>>14|n<<2)&8191,this.r[7]=(n>>>11|C<<5)&8065,this.r[8]=(C>>>8|Q<<8)&8191,this.r[9]=Q>>>5&127;for(let s=0;s<8;s++)this.pad[s]=cA(A,16+2*s)}process(A,i,e=!1){let t=e?0:1<<11,{h:g,r:o}=this,n=o[0],C=o[1],Q=o[2],s=o[3],c=o[4],E=o[5],D=o[6],d=o[7],u=o[8],G=o[9],F=cA(A,i+0),p=cA(A,i+2),N=cA(A,i+4),J=cA(A,i+6),K=cA(A,i+8),f=cA(A,i+10),w=cA(A,i+12),y=cA(A,i+14),k=g[0]+(F&8191),U=g[1]+((F>>>13|p<<3)&8191),q=g[2]+((p>>>10|N<<6)&8191),m=g[3]+((N>>>7|J<<9)&8191),R=g[4]+((J>>>4|K<<12)&8191),M=g[5]+(K>>>1&8191),X=g[6]+((K>>>14|f<<2)&8191),Z=g[7]+((f>>>11|w<<5)&8191),eA=g[8]+((w>>>8|y<<8)&8191),AA=g[9]+(y>>>5|t),O=0,oA=O+k*n+U*(5*G)+q*(5*u)+m*(5*d)+R*(5*D);O=oA>>>13,oA&=8191,oA+=M*(5*E)+X*(5*c)+Z*(5*s)+eA*(5*Q)+AA*(5*C),O+=oA>>>13,oA&=8191;let B=O+k*C+U*n+q*(5*G)+m*(5*u)+R*(5*d);O=B>>>13,B&=8191,B+=M*(5*D)+X*(5*E)+Z*(5*c)+eA*(5*s)+AA*(5*Q),O+=B>>>13,B&=8191;let r=O+k*Q+U*C+q*n+m*(5*G)+R*(5*u);O=r>>>13,r&=8191,r+=M*(5*d)+X*(5*D)+Z*(5*E)+eA*(5*c)+AA*(5*s),O+=r>>>13,r&=8191;let a=O+k*s+U*Q+q*C+m*n+R*(5*G);O=a>>>13,a&=8191,a+=M*(5*u)+X*(5*d)+Z*(5*D)+eA*(5*E)+AA*(5*c),O+=a>>>13,a&=8191;let h=O+k*c+U*s+q*Q+m*C+R*n;O=h>>>13,h&=8191,h+=M*(5*G)+X*(5*u)+Z*(5*d)+eA*(5*D)+AA*(5*E),O+=h>>>13,h&=8191;let l=O+k*E+U*c+q*s+m*Q+R*C;O=l>>>13,l&=8191,l+=M*n+X*(5*G)+Z*(5*u)+eA*(5*d)+AA*(5*D),O+=l>>>13,l&=8191;let S=O+k*D+U*E+q*c+m*s+R*Q;O=S>>>13,S&=8191,S+=M*C+X*n+Z*(5*G)+eA*(5*u)+AA*(5*d),O+=S>>>13,S&=8191;let H=O+k*d+U*D+q*E+m*c+R*s;O=H>>>13,H&=8191,H+=M*Q+X*C+Z*n+eA*(5*G)+AA*(5*u),O+=H>>>13,H&=8191;let Y=O+k*u+U*d+q*D+m*E+R*c;O=Y>>>13,Y&=8191,Y+=M*s+X*Q+Z*C+eA*n+AA*(5*G),O+=Y>>>13,Y&=8191;let P=O+k*G+U*u+q*d+m*D+R*E;O=P>>>13,P&=8191,P+=M*c+X*s+Z*Q+eA*C+AA*n,O+=P>>>13,P&=8191,O=(O<<2)+O|0,O=O+oA|0,oA=O&8191,O=O>>>13,B+=O,g[0]=oA,g[1]=B,g[2]=r,g[3]=a,g[4]=h,g[5]=l,g[6]=S,g[7]=H,g[8]=Y,g[9]=P}finalize(){let{h:A,pad:i}=this,e=new Uint16Array(10),t=A[1]>>>13;A[1]&=8191;for(let n=2;n<10;n++)A[n]+=t,t=A[n]>>>13,A[n]&=8191;A[0]+=t*5,t=A[0]>>>13,A[0]&=8191,A[1]+=t,t=A[1]>>>13,A[1]&=8191,A[2]+=t,e[0]=A[0]+5,t=e[0]>>>13,e[0]&=8191;for(let n=1;n<10;n++)e[n]=A[n]+t,t=e[n]>>>13,e[n]&=8191;e[9]-=1<<13;let g=(t^1)-1;for(let n=0;n<10;n++)e[n]&=g;g=~g;for(let n=0;n<10;n++)A[n]=A[n]&g|e[n];A[0]=(A[0]|A[1]<<13)&65535,A[1]=(A[1]>>>3|A[2]<<10)&65535,A[2]=(A[2]>>>6|A[3]<<7)&65535,A[3]=(A[3]>>>9|A[4]<<4)&65535,A[4]=(A[4]>>>12|A[5]<<1|A[6]<<14)&65535,A[5]=(A[6]>>>2|A[7]<<11)&65535,A[6]=(A[7]>>>5|A[8]<<8)&65535,A[7]=(A[8]>>>8|A[9]<<5)&65535;let o=A[0]+i[0];A[0]=o&65535;for(let n=1;n<8;n++)o=(A[n]+i[n]|0)+(o>>>16)|0,A[n]=o&65535}update(A){uA.exists(this);let{buffer:i,blockLen:e}=this;A=te(A);let t=A.length;for(let g=0;g>>0,A[g++]=e[o]>>>8;return A}digest(){let{buffer:A,outputLen:i}=this;this.digestInto(A);let e=A.slice(0,i);return this.destroy(),e}};function Ln(I){let A=(e,t)=>I(t).update(te(e)).digest(),i=I(new Uint8Array(32));return A.outputLen=i.outputLen,A.blockLen=i.blockLen,A.create=e=>I(e),A}var Le=Ln(I=>new ng(I));var x=(I,A)=>I<>>32-A;function rg(I,A,i,e,t,g=20){let o=I[0],n=A[0],C=A[1],Q=A[2],s=A[3],c=I[1],E=i[0],D=i[1],d=t,u=0,G=I[2],F=A[4],p=A[5],N=A[6],J=A[7],K=I[3],f=o,w=n,y=C,k=Q,U=s,q=c,m=E,R=D,M=d,X=u,Z=G,eA=F,AA=p,O=N,oA=J,B=K;for(let a=0;a{let i=16;return yI(I,32),yI(A,24),{tagLength:i,encrypt:e=>{yI(e);let t=new Uint8Array(32+e.length);t.set(e,32),ZI(I,A,t,t);let g=t.subarray(0,32),o=Le(t.subarray(32),g);return t.set(o,16),t.subarray(0,16).fill(0),t.subarray(16)},decrypt:e=>{if(yI(e),e.length<16)throw new Error("Encrypted data should be at least 16 bytes");let t=new Uint8Array(16+e.length);t.set(e,16);let g=ZI(I,A,new Uint8Array(32)),o=Le(t.subarray(32),g);if(!tg(t.subarray(16,32),o))throw new Error("Wrong tag");let n=ZI(I,A,t);return n.subarray(0,32).fill(0),g.fill(0),n.subarray(32)}}};function VI(I){if(!Number.isSafeInteger(I))throw new Error(`Wrong integer: ${I}`)}function Cg(I){return I instanceof Uint8Array||I!=null&&typeof I=="object"&&I.constructor.name==="Uint8Array"}function PA(...I){let A=g=>g,i=(g,o)=>n=>g(o(n)),e=I.map(g=>g.encode).reduceRight(i,A),t=I.map(g=>g.decode).reduce(i,A);return{encode:e,decode:t}}function ZA(I){return{encode:A=>{if(!Array.isArray(A)||A.length&&typeof A[0]!="number")throw new Error("alphabet.encode input should be an array of numbers");return A.map(i=>{if(VI(i),i<0||i>=I.length)throw new Error(`Digit index outside alphabet: ${i} (alphabet: ${I.length})`);return I[i]})},decode:A=>{if(!Array.isArray(A)||A.length&&typeof A[0]!="string")throw new Error("alphabet.decode input should be array of strings");return A.map(i=>{if(typeof i!="string")throw new Error(`alphabet.decode: not string element=${i}`);let e=I.indexOf(i);if(e===-1)throw new Error(`Unknown letter: "${i}". Allowed: ${I}`);return e})}}}function VA(I=""){if(typeof I!="string")throw new Error("join separator should be string");return{encode:A=>{if(!Array.isArray(A)||A.length&&typeof A[0]!="string")throw new Error("join.encode input should be array of strings");for(let i of A)if(typeof i!="string")throw new Error(`join.encode: non-string input=${i}`);return A.join(I)},decode:A=>{if(typeof A!="string")throw new Error("join.decode input should be string");return A.split(I)}}}function ge(I,A="="){if(VI(I),typeof A!="string")throw new Error("padding chr should be string");return{encode(i){if(!Array.isArray(i)||i.length&&typeof i[0]!="string")throw new Error("padding.encode input should be array of strings");for(let e of i)if(typeof e!="string")throw new Error(`padding.encode: non-string input=${e}`);for(;i.length*I%8;)i.push(A);return i},decode(i){if(!Array.isArray(i)||i.length&&typeof i[0]!="string")throw new Error("padding.encode input should be array of strings");for(let t of i)if(typeof t!="string")throw new Error(`padding.decode: non-string input=${t}`);let e=i.length;if(e*I%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;e>0&&i[e-1]===A;e--)if(!((e-1)*I%8))throw new Error("Invalid padding: string has too much padding");return i.slice(0,e)}}}function Bg(I){if(typeof I!="function")throw new Error("normalize fn should be function");return{encode:A=>A,decode:A=>I(A)}}function Qg(I,A,i){if(A<2)throw new Error(`convertRadix: wrong from=${A}, base cannot be less than 2`);if(i<2)throw new Error(`convertRadix: wrong to=${i}, base cannot be less than 2`);if(!Array.isArray(I))throw new Error("convertRadix: data should be array");if(!I.length)return[];let e=0,t=[],g=Array.from(I);for(g.forEach(o=>{if(VI(o),o<0||o>=A)throw new Error(`Wrong integer: ${o}`)});;){let o=0,n=!0;for(let C=e;CA?ag(A,I%A):I,oe=(I,A)=>I+(A-ag(I,A));function sg(I,A,i,e){if(!Array.isArray(I))throw new Error("convertRadix2: data should be array");if(A<=0||A>32)throw new Error(`convertRadix2: wrong from=${A}`);if(i<=0||i>32)throw new Error(`convertRadix2: wrong to=${i}`);if(oe(A,i)>32)throw new Error(`convertRadix2: carry overflow from=${A} to=${i} carryBits=${oe(A,i)}`);let t=0,g=0,o=2**i-1,n=[];for(let C of I){if(VI(C),C>=2**A)throw new Error(`convertRadix2: invalid data word=${C} from=${A}`);if(t=t<32)throw new Error(`convertRadix2: carry overflow pos=${g} from=${A}`);for(g+=A;g>=i;g-=i)n.push((t>>g-i&o)>>>0);t&=2**g-1}if(t=t<=A)throw new Error("Excess padding");if(!e&&t)throw new Error(`Non-zero padding: ${t}`);return e&&g>0&&n.push(t>>>0),n}function Xn(I){return VI(I),{encode:A=>{if(!Cg(A))throw new Error("radix.encode input should be Uint8Array");return Qg(Array.from(A),2**8,I)},decode:A=>{if(!Array.isArray(A)||A.length&&typeof A[0]!="number")throw new Error("radix.decode input should be array of numbers");return Uint8Array.from(Qg(A,I,2**8))}}}function EI(I,A=!1){if(VI(I),I<=0||I>32)throw new Error("radix2: bits should be in (0..32]");if(oe(8,I)>32||oe(I,8)>32)throw new Error("radix2: carry overflow");return{encode:i=>{if(!Cg(i))throw new Error("radix2.encode input should be Uint8Array");return sg(Array.from(i),8,I,!A)},decode:i=>{if(!Array.isArray(i)||i.length&&typeof i[0]!="number")throw new Error("radix2.decode input should be array of numbers");return Uint8Array.from(sg(i,I,8,A))}}}var qB=PA(EI(4),ZA("0123456789ABCDEF"),VA("")),MB=PA(EI(5),ZA("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),ge(5),VA("")),YB=PA(EI(5),ZA("0123456789ABCDEFGHIJKLMNOPQRSTUV"),ge(5),VA("")),KB=PA(EI(5),ZA("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),VA(""),Bg(I=>I.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1"))),RB=PA(EI(6),ZA("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),ge(6),VA("")),xB=PA(EI(6),ZA("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),ge(6),VA("")),bB=PA(EI(6),ZA("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),VA("")),Pn=I=>PA(Xn(58),ZA(I),VA("")),V=Pn("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");var vB=PA(ZA("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),VA(""));var LB=PA(EI(4),ZA("0123456789abcdef"),VA(""),Bg(I=>{if(typeof I!="string"||I.length%2)throw new TypeError(`hex.decode: expected string, got ${typeof I} with length ${I.length}`);return I.toLowerCase()}));var ne=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function ki(I=32){if(ne&&typeof ne.getRandomValues=="function")return ne.getRandomValues(new Uint8Array(I));throw new Error("crypto.getRandomValues must be defined")}var Zn=new TextEncoder,Vn=new TextDecoder;function FI(I){I=I.replace(/=/g,"");let A=I.length,i=A%4,e=i&&i-1,t=(A>>2)*3+e,g=new Uint8Array(A+3);Zn.encodeInto(I+"===",g);for(let o=0,n=0;o>16,g[n+1]=C>>8&255,g[n+2]=C&255}return new Uint8Array(g.buffer,0,t)}function hI(I){let A=I.length,i=A%3,e=Math.floor(A/3)*4+(i&&i+1),t=Math.ceil(A/3)*4,g=new Uint8Array(t);for(let n=0,C=0;C>18],g[n+1]=Gi[Q>>12&63],g[n+2]=Gi[Q>>6&63],g[n+3]=Gi[Q&63]}let o=Vn.decode(new Uint8Array(g.buffer,0,e));return i===1&&(o+="=="),i===2&&(o+="="),o}var cg="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",WI=new Uint8Array(128);for(let[I,A]of Array.from(cg).entries())WI[A.charCodeAt(0)]=I;WI["=".charCodeAt(0)]=0;var Gi=new Uint8Array(64);for(let[I,A]of Array.from(cg).entries())Gi[I]=A.charCodeAt(0);function re(I,A,i,e){function t(g){return g instanceof i?g:new i(function(o){o(g)})}return new(i||(i=Promise))(function(g,o){function n(s){try{Q(e.next(s))}catch(c){o(c)}}function C(s){try{Q(e.throw(s))}catch(c){o(c)}}function Q(s){s.done?g(s.value):t(s.value).then(n,C)}Q((e=e.apply(I,A||[])).next())})}var iA=class{constructor(){this.mutex=Promise.resolve()}lock(){let A=()=>{};return this.mutex=this.mutex.then(()=>new Promise(A)),new Promise(i=>{A=i})}dispatch(A){return re(this,void 0,void 0,function*(){let i=yield this.lock();try{return yield Promise.resolve(A())}finally{i()}})}},Xe;function Wn(){return typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:global}var Pe=Wn(),Ze=(Xe=Pe.Buffer)!==null&&Xe!==void 0?Xe:null,Tn=Pe.TextEncoder?new Pe.TextEncoder:null;function Eg(I,A){return(I&15)+(I>>6|I>>3&8)<<4|(A&15)+(A>>6|A>>3&8)}function zn(I,A){let i=A.length>>1;for(let e=0;e>>4;I[e++]=g>9?g+hg:g+fg,g=A[t]&15,I[e++]=g>9?g+hg:g+fg}return String.fromCharCode.apply(null,I)}var Ve=Ze!==null?I=>{if(typeof I=="string"){let A=Ze.from(I,"utf8");return new Uint8Array(A.buffer,A.byteOffset,A.length)}if(Ze.isBuffer(I))return new Uint8Array(I.buffer,I.byteOffset,I.length);if(ArrayBuffer.isView(I))return new Uint8Array(I.buffer,I.byteOffset,I.byteLength);throw new Error("Invalid data type!")}:I=>{if(typeof I=="string")return Tn.encode(I);if(ArrayBuffer.isView(I))return new Uint8Array(I.buffer,I.byteOffset,I.byteLength);throw new Error("Invalid data type!")},wg="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",mi=new Uint8Array(256);for(let I=0;I>4,t+=1,e[t]=(n&15)<<4|C>>2,t+=1,e[t]=(C&3)<<6|Q&63,t+=1}return e}var Ce=16*1024,Ni=4,Ar=new iA,We=new Map;function Ir(I,A){return re(this,void 0,void 0,function*(){let i=null,e=null,t=!1;if(typeof WebAssembly=="undefined")throw new Error("WebAssembly is not supported in this environment!");let g=(f,w=0)=>{e.set(f,w)},o=()=>e,n=()=>i.exports,C=f=>{i.exports.Hash_SetMemorySize(f);let w=i.exports.Hash_GetBuffer(),y=i.exports.memory.buffer;e=new Uint8Array(y,w,f)},Q=()=>new DataView(i.exports.memory.buffer).getUint32(i.exports.STATE_SIZE,!0),s=Ar.dispatch(()=>re(this,void 0,void 0,function*(){if(!We.has(I.name)){let w=$n(I.data),y=WebAssembly.compile(w);We.set(I.name,y)}let f=yield We.get(I.name);i=yield WebAssembly.instantiate(f,{})})),c=()=>re(this,void 0,void 0,function*(){i||(yield s);let f=i.exports.Hash_GetBuffer(),w=i.exports.memory.buffer;e=new Uint8Array(w,f,Ce)}),E=(f=null)=>{t=!0,i.exports.Hash_Init(f)},D=f=>{let w=0;for(;w{if(!t)throw new Error("update() called before init()");let w=Ve(f);D(w)},u=new Uint8Array(A*2),G=(f,w=null)=>{if(!t)throw new Error("digest() called before init()");return t=!1,i.exports.Hash_Final(w),f==="binary"?e.slice(0,A):dg(u,e,A)},F=()=>{if(!t)throw new Error("save() can only be called after init() and before digest()");let f=i.exports.Hash_GetState(),w=Q(),y=i.exports.memory.buffer,k=new Uint8Array(y,f,w),U=new Uint8Array(Ni+w);return zn(U,I.hash),U.set(k,Ni),U},p=f=>{if(!(f instanceof Uint8Array))throw new Error("load() expects an Uint8Array generated by save()");let w=i.exports.Hash_GetState(),y=Q(),k=Ni+y,U=i.exports.memory.buffer;if(f.length!==k)throw new Error(`Bad state length (expected ${k} bytes, got ${f.length})`);if(!jn(I.hash,f.subarray(0,Ni)))throw new Error("This state was written by an incompatible hash implementation");let q=f.subarray(Ni);new Uint8Array(U,w,y).set(q),t=!0},N=f=>typeof f=="string"?f.length!0;break;case"blake2b":case"blake2s":J=(f,w)=>w<=512&&N(f);break;case"blake3":J=(f,w)=>w===0&&N(f);break;case"xxhash64":case"xxhash3":case"xxhash128":J=()=>!1;break}let K=(f,w=null,y=null)=>{if(!J(f,w))return E(w),d(f),G("hex",y);let k=Ve(f);return e.set(k),i.exports.Hash_Calculate(k.length,w,y),dg(u,e,A)};return yield c(),{getMemory:o,writeMemory:g,getExports:n,setMemorySize:C,init:E,update:d,digest:G,save:F,load:p,calculate:K,hashLength:A}})}var WB=new iA;var TB=new iA;var zB=new DataView(new ArrayBuffer(4));var jB=new iA;var ir="blake3",er="AGFzbQEAAAABMQdgAAF/YAl/f39+f39/f38AYAZ/f39/fn8AYAF/AGADf39/AGABfgBgBX9/fn9/AX8DDg0AAQIDBAUGAwMDAwAEBQQBAQICBg4CfwFBgJgFC38AQYAICwdwCAZtZW1vcnkCAA5IYXNoX0dldEJ1ZmZlcgAACUhhc2hfSW5pdAAIC0hhc2hfVXBkYXRlAAkKSGFzaF9GaW5hbAAKDUhhc2hfR2V0U3RhdGUACw5IYXNoX0NhbGN1bGF0ZQAMClNUQVRFX1NJWkUDAQqcWw0FAEGACQujAwQCfwF+AX8EfiMAQeAAayIJJAACQCABRQ0AIAcgBXIhCiAEQQBHrSELIAdBACACQQFGGyAGciAFciEMA0AgACgCACEHIAlBACkDgIkBNwMAIAlBACkDiIkBNwMIIAlBACkDkIkBNwMQIAlBACkDmIkBNwMYIAlBIGogCSAHQcAAIAMgDBACIAkgCSkDQCAJKQMghSINNwMAIAkgCSkDSCAJKQMohSIONwMIIAkgCSkDUCAJKQMwhSIPNwMQIAkgCSkDWCAJKQM4hSIQNwMYIAdBwABqIQcgAiEEAkADQCAFIQYCQAJAIARBf2oiBA4CAwABCyAKIQYLIAlBIGogCSAHQcAAIAMgBhACIAkgCSkDQCAJKQMghSINNwMAIAkgCSkDSCAJKQMohSIONwMIIAkgCSkDUCAJKQMwhSIPNwMQIAkgCSkDWCAJKQM4hSIQNwMYIAdBwABqIQcMAAsLIAggEDcDGCAIIA83AxAgCCAONwMIIAggDTcDACAIQSBqIQggAEEEaiEAIAMgC3whAyABQX9qIgENAAsLIAlB4ABqJAALhBwCDH4ffyACKQMgIQYgAikDOCEHIAIpAzAhCCACKQMAIQkgAikDKCEKIAIpAxAhCyACKQMIIQwgAikDGCENIAAgASkDACIONwMAIAAgASkDCCIPNwMIIAAgASkDECIQNwMQIAAgD0IgiKcgDaciAmogASkDGCIRQiCIpyISaiITIA1CIIinIgFqIBMgBXNBEHQgE0EQdnIiFEG66r+qemoiFSASc0EUdyIWaiIXIA6nIAmnIhNqIBCnIhJqIhggCUIgiKciBWogGCAEp3NBEHciGEHnzKfQBmoiGSASc0EUdyISaiIaIBhzQRh3IhsgGWoiHCASc0EZdyIdaiAHpyISaiIeIAdCIIinIhhqIB4gD6cgC6ciGWogEaciH2oiICALQiCIpyIhaiAgIANzQRB0ICBBEHZyIiBB8ua74wNqIiIgH3NBFHciH2oiIyAgc0EYdyIkc0EQdyIeIA5CIIinIAynIiBqIBBCIIinIiVqIiYgDEIgiKciA2ogJiAEQiCIp3NBEHciJkGF3Z7be2oiJyAlc0EUdyIlaiIoICZzQRh3IiYgJ2oiJ2oiKSAdc0EUdyIdaiIqIBlqIBcgFHNBGHciKyAVaiIsIBZzQRl3IhYgI2ogCKciFGoiFyAIQiCIpyIVaiAXICZzQRB3IhcgHGoiHCAWc0EUdyIWaiIjIBdzQRh3IiYgHGoiLSAWc0EZdyIuaiIcIBVqICcgJXNBGXciJSAaaiAGpyIWaiIaIAZCIIinIhdqIBogK3NBEHciGiAkICJqIiJqIiQgJXNBFHciJWoiJyAac0EYdyIrIBxzQRB3Ii8gIiAfc0EZdyIfIChqIAqnIhpqIiIgCkIgiKciHGogIiAbc0EQdyIbICxqIiIgH3NBFHciH2oiKCAbc0EYdyIbICJqIiJqIiwgLnNBFHciLmoiMCAnICBqICogHnNBGHciHiApaiInIB1zQRl3Ih1qIikgAmogGyApc0EQdyIbIC1qIikgHXNBFHciHWoiKiAbc0EYdyIbIClqIikgHXNBGXciHWogGGoiLSAWaiAtICMgAWogIiAfc0EZdyIfaiIiIBNqIB4gInNBEHciHiArICRqIiJqIiMgH3NBFHciH2oiJCAec0EYdyIec0EQdyIrICggA2ogIiAlc0EZdyIiaiIlIBpqICYgJXNBEHciJSAnaiImICJzQRR3IiJqIicgJXNBGHciJSAmaiImaiIoIB1zQRR3Ih1qIi0gAWogMCAvc0EYdyIvICxqIiwgLnNBGXciLiAkaiAXaiIkIBJqICQgJXNBEHciJCApaiIlIC5zQRR3IilqIi4gJHNBGHciJCAlaiIlIClzQRl3IilqIjAgEmogJiAic0EZdyIiICpqIAVqIiYgHGogJiAvc0EQdyImIB4gI2oiHmoiIyAic0EUdyIiaiIqICZzQRh3IiYgMHNBEHciLyAeIB9zQRl3Ih4gJ2ogFGoiHyAhaiAfIBtzQRB3IhsgLGoiHyAec0EUdyIeaiInIBtzQRh3IhsgH2oiH2oiLCApc0EUdyIpaiIwICogA2ogLSArc0EYdyIqIChqIiggHXNBGXciHWoiKyAZaiAbICtzQRB3IhsgJWoiJSAdc0EUdyIdaiIrIBtzQRh3IhsgJWoiJSAdc0EZdyIdaiAWaiItIAVqIC0gLiAVaiAfIB5zQRl3Ih5qIh8gIGogKiAfc0EQdyIfICYgI2oiI2oiJiAec0EUdyIeaiIqIB9zQRh3Ih9zQRB3Ii0gJyAaaiAjICJzQRl3IiJqIiMgFGogJCAjc0EQdyIjIChqIiQgInNBFHciImoiJyAjc0EYdyIjICRqIiRqIiggHXNBFHciHWoiLiAVaiAwIC9zQRh3Ii8gLGoiLCApc0EZdyIpICpqIBxqIiogGGogKiAjc0EQdyIjICVqIiUgKXNBFHciKWoiKiAjc0EYdyIjICVqIiUgKXNBGXciKWoiMCAYaiAkICJzQRl3IiIgK2ogAmoiJCAhaiAkIC9zQRB3IiQgHyAmaiIfaiImICJzQRR3IiJqIisgJHNBGHciJCAwc0EQdyIvIB8gHnNBGXciHiAnaiAXaiIfIBNqIB8gG3NBEHciGyAsaiIfIB5zQRR3Ih5qIicgG3NBGHciGyAfaiIfaiIsIClzQRR3IilqIjAgKyAaaiAuIC1zQRh3IisgKGoiKCAdc0EZdyIdaiItIAFqIBsgLXNBEHciGyAlaiIlIB1zQRR3Ih1qIi0gG3NBGHciGyAlaiIlIB1zQRl3Ih1qIAVqIi4gAmogLiAqIBJqIB8gHnNBGXciHmoiHyADaiArIB9zQRB3Ih8gJCAmaiIkaiImIB5zQRR3Ih5qIiogH3NBGHciH3NBEHciKyAnIBRqICQgInNBGXciImoiJCAXaiAjICRzQRB3IiMgKGoiJCAic0EUdyIiaiInICNzQRh3IiMgJGoiJGoiKCAdc0EUdyIdaiIuIBJqIDAgL3NBGHciLyAsaiIsIClzQRl3IikgKmogIWoiKiAWaiAqICNzQRB3IiMgJWoiJSApc0EUdyIpaiIqICNzQRh3IiMgJWoiJSApc0EZdyIpaiIwIBZqICQgInNBGXciIiAtaiAZaiIkIBNqICQgL3NBEHciJCAfICZqIh9qIiYgInNBFHciImoiLSAkc0EYdyIkIDBzQRB3Ii8gHyAec0EZdyIeICdqIBxqIh8gIGogHyAbc0EQdyIbICxqIh8gHnNBFHciHmoiJyAbc0EYdyIbIB9qIh9qIiwgKXNBFHciKWoiMCAvc0EYdyIvICxqIiwgKXNBGXciKSAqIBhqIB8gHnNBGXciHmoiHyAaaiAuICtzQRh3IiogH3NBEHciHyAkICZqIiRqIiYgHnNBFHciHmoiK2ogE2oiLiAFaiAuICcgF2ogJCAic0EZdyIiaiIkIBxqICMgJHNBEHciIyAqIChqIiRqIicgInNBFHciImoiKCAjc0EYdyIjc0EQdyIqIC0gFGogJCAdc0EZdyIdaiIkIBVqIBsgJHNBEHciGyAlaiIkIB1zQRR3Ih1qIiUgG3NBGHciGyAkaiIkaiItIClzQRR3IilqIi4gFmogKyAfc0EYdyIfICZqIiYgHnNBGXciHiAoaiAhaiIoIANqICggG3NBEHciGyAsaiIoIB5zQRR3Ih5qIisgG3NBGHciGyAoaiIoIB5zQRl3Ih5qIiwgFGogMCAkIB1zQRl3Ih1qIAJqIiQgGWogJCAfc0EQdyIfICMgJ2oiI2oiJCAdc0EUdyIdaiInIB9zQRh3Ih8gLHNBEHciLCAjICJzQRl3IiIgJWogAWoiIyAgaiAjIC9zQRB3IiMgJmoiJSAic0EUdyIiaiImICNzQRh3IiMgJWoiJWoiLyAec0EUdyIeaiIwICxzQRh3IiwgL2oiLyAec0EZdyIeICsgHGogJSAic0EZdyIiaiIlICFqIC4gKnNBGHciKiAlc0EQdyIlIB8gJGoiH2oiJCAic0EUdyIiaiIraiATaiIuIBpqIC4gJiAXaiAfIB1zQRl3Ih1qIh8gEmogGyAfc0EQdyIbICogLWoiH2oiJiAdc0EUdyIdaiIqIBtzQRh3IhtzQRB3Ii0gJyAYaiAfIClzQRl3Ih9qIicgBWogIyAnc0EQdyIjIChqIicgH3NBFHciH2oiKCAjc0EYdyIjICdqIidqIikgHnNBFHciHmoiLiAhaiArICVzQRh3IiEgJGoiJCAic0EZdyIiICpqIBVqIiUgA2ogJSAjc0EQdyIjIC9qIiUgInNBFHciImoiKiAjc0EYdyIjICVqIiUgInNBGXciImoiKyATaiAnIB9zQRl3IhMgMGogIGoiHyACaiAfICFzQRB3IiEgGyAmaiIbaiIfIBNzQRR3IhNqIiYgIXNBGHciISArc0EQdyInICggGyAdc0EZdyIbaiAZaiIdIAFqIB0gLHNBEHciHSAkaiIkIBtzQRR3IhtqIiggHXNBGHciHSAkaiIkaiIrICJzQRR3IiJqIiwgJ3NBGHciJyAraiIrICJzQRl3IiIgKiAcaiAkIBtzQRl3IhxqIhsgGGogLiAtc0EYdyIYIBtzQRB3IhsgISAfaiIhaiIfIBxzQRR3IhxqIiRqIBJqIhIgGmogEiAoIBZqICEgE3NBGXciE2oiISACaiAjICFzQRB3IgIgGCApaiIYaiIhIBNzQRR3IhNqIhYgAnNBGHciAnNBEHciEiAmIAVqIBggHnNBGXciBWoiGCAXaiAdIBhzQRB3IhggJWoiFyAFc0EUdyIFaiIaIBhzQRh3IhggF2oiF2oiHSAic0EUdyIeaiIiNgIAIAAgFyAFc0EZdyIFICxqICBqIiAgFGogICAkIBtzQRh3IhRzQRB3IiAgAiAhaiICaiIhIAVzQRR3IgVqIhcgIHNBGHciIDYCMCAAIBYgFCAfaiIUIBxzQRl3IhxqIAFqIgEgFWogASAYc0EQdyIBICtqIhggHHNBFHciFWoiFiABc0EYdyIBIBhqIhggFXNBGXc2AhAgACAXNgIEIAAgAiATc0EZdyICIBpqIANqIhMgGWogEyAnc0EQdyITIBRqIhkgAnNBFHciAmoiAyATc0EYdyITNgI0IAAgIiASc0EYdyISIB1qIhQgHnNBGXc2AhQgACATIBlqIhM2AiAgACAYNgIkIAAgAzYCCCAAIAE2AjggACAgICFqIgEgBXNBGXc2AhggACAUNgIoIAAgFjYCDCAAIBI2AjwgACATIAJzQRl3NgIcIAAgATYCLAulEgsDfwR+An8BfgF/BH4DfwF+An8BfgR/IwBB0AJrIgEkAAJAIABFDQACQAJAQQAtAImKAUEGdEEALQCIigFqIgINAEGACSEDDAELQaCJAUGACUGACCACayICIAAgAiAASRsiAhAEIAAgAmsiAEUNASABQaABakEAKQPQiQE3AwAgAUGoAWpBACkD2IkBNwMAIAFBACkDoIkBIgQ3A3AgAUEAKQOoiQEiBTcDeCABQQApA7CJASIGNwOAASABQQApA7iJASIHNwOIASABQQApA8iJATcDmAFBAC0AiooBIQhBAC0AiYoBIQlBACkDwIkBIQpBAC0AiIoBIQsgAUGwAWpBACkD4IkBNwMAIAFBuAFqQQApA+iJATcDACABQcABakEAKQPwiQE3AwAgAUHIAWpBACkD+IkBNwMAIAFB0AFqQQApA4CKATcDACABIAs6ANgBIAEgCjcDkAEgASAIIAlFckECciIIOgDZASABIAc3A/gBIAEgBjcD8AEgASAFNwPoASABIAQ3A+ABIAEgAUHgAWogAUGYAWogCyAKIAhB/wFxEAIgASkDICEEIAEpAwAhBSABKQMoIQYgASkDCCEHIAEpAzAhDCABKQMQIQ0gASkDOCEOIAEpAxghDyAKEAVBAEIANwOAigFBAEIANwP4iQFBAEIANwPwiQFBAEIANwPoiQFBAEIANwPgiQFBAEIANwPYiQFBAEIANwPQiQFBAEIANwPIiQFBAEEAKQOAiQE3A6CJAUEAQQApA4iJATcDqIkBQQBBACkDkIkBNwOwiQFBAEEAKQOYiQE3A7iJAUEAQQAtAJCKASILQQFqOgCQigFBAEEAKQPAiQFCAXw3A8CJASALQQV0IgtBqYoBaiAOIA+FNwMAIAtBoYoBaiAMIA2FNwMAIAtBmYoBaiAGIAeFNwMAIAtBkYoBaiAEIAWFNwMAQQBBADsBiIoBIAJBgAlqIQMLAkAgAEGBCEkNACABQdQCaiEQQQApA8CJASEEIAFBKGohEQNAIARCCoYhCkIBIABBAXKteUI/hYanIQIDQCACIhJBAXYhAiAKIBJBf2qtg0IAUg0ACyASQQp2rSETAkACQCASQYAISw0AIAFBADsB2AEgAUIANwPQASABQgA3A8gBIAFCADcDwAEgAUIANwO4ASABQgA3A7ABIAFCADcDqAEgAUIANwOgASABQgA3A5gBIAFBACkDgIkBNwNwIAFBACkDiIkBNwN4IAFBACkDkIkBNwOAASABQQAtAIqKAToA2gEgAUEAKQOYiQE3A4gBIAEgBDcDkAEgAUHwAGogAyASEAQgASABKQNwIgQ3AwAgASABKQN4IgU3AwggASABKQOAASIGNwMQIAEgASkDiAEiBzcDGCABIAEpA5gBNwMoIAEgASkDoAE3AzAgASABKQOoATcDOCABLQDaASECIAEtANkBIQsgASkDkAEhCiABIAEtANgBIgg6AGggASAKNwMgIAEgASkDsAE3A0AgASABKQO4ATcDSCABIAEpA8ABNwNQIAEgASkDyAE3A1ggASABKQPQATcDYCABIAIgC0VyQQJyIgI6AGkgASAHNwO4AiABIAY3A7ACIAEgBTcDqAIgASAENwOgAiABQeABaiABQaACaiARIAggCiACQf8BcRACIAEpA4ACIQQgASkD4AEhBSABKQOIAiEGIAEpA+gBIQcgASkDkAIhDCABKQPwASENIAEpA5gCIQ4gASkD+AEhDyAKEAVBAEEALQCQigEiAkEBajoAkIoBIAJBBXQiAkGpigFqIA4gD4U3AwAgAkGhigFqIAwgDYU3AwAgAkGZigFqIAYgB4U3AwAgAkGRigFqIAQgBYU3AwAMAQsCQAJAIAMgEiAEQQAtAIqKASICIAEQBiIUQQJLDQAgASkDGCEKIAEpAxAhBCABKQMIIQUgASkDACEGDAELIAJBBHIhFUEAKQOYiQEhDUEAKQOQiQEhDkEAKQOIiQEhD0EAKQOAiQEhFgNAIBRBfmoiF0EBdiIYQQFqIhlBA3EhCEEAIQkCQCAXQQZJDQAgGUF8cSEaQQAhCSABIQIgECELA0AgCyACQcABajYCACALQXxqIAJBgAFqNgIAIAtBeGogAkHAAGo2AgAgC0F0aiACNgIAIAJBgAJqIQIgC0EQaiELIBogCUEEaiIJRw0ACwsCQCAIRQ0AIAEgCUEGdGohAiABQcgCaiAJQQJ0aiELA0AgCyACNgIAIAJBwABqIQIgC0EEaiELIAhBf2oiCA0ACwsgAUHIAmohCyABQaACaiECIBkhCANAIAsoAgAhCSABIA03A/gBIAEgDjcD8AEgASAPNwPoASABIBY3A+ABIAFB8ABqIAFB4AFqIAlBwABCACAVEAIgASkDkAEhCiABKQNwIQQgASkDmAEhBSABKQN4IQYgASkDoAEhByABKQOAASEMIAJBGGogASkDqAEgASkDiAGFNwMAIAJBEGogByAMhTcDACACQQhqIAUgBoU3AwAgAiAKIASFNwMAIAJBIGohAiALQQRqIQsgCEF/aiIIDQALAkACQCAXQX5xQQJqIBRJDQAgGSEUDAELIAFBoAJqIBlBBXRqIgIgASAZQQZ0aiILKQMANwMAIAIgCykDCDcDCCACIAspAxA3AxAgAiALKQMYNwMYIBhBAmohFAsgASABKQOgAiIGNwMAIAEgASkDqAIiBTcDCCABIAEpA7ACIgQ3AxAgASABKQO4AiIKNwMYIBRBAksNAAsLIAEpAyAhByABKQMoIQwgASkDMCENIAEpAzghDkEAKQPAiQEQBUEAQQAtAJCKASICQQFqOgCQigEgAkEFdCICQamKAWogCjcDACACQaGKAWogBDcDACACQZmKAWogBTcDACACQZGKAWogBjcDAEEAKQPAiQEgE0IBiHwQBUEAQQAtAJCKASICQQFqOgCQigEgAkEFdCICQamKAWogDjcDACACQaGKAWogDTcDACACQZmKAWogDDcDACACQZGKAWogBzcDAAtBAEEAKQPAiQEgE3wiBDcDwIkBIAMgEmohAyAAIBJrIgBBgAhLDQALIABFDQELQaCJASADIAAQBEEAKQPAiQEQBQsgAUHQAmokAAuGBwIJfwF+IwBBwABrIgMkAAJAAkAgAC0AaCIERQ0AAkBBwAAgBGsiBSACIAUgAkkbIgZFDQAgBkEDcSEHQQAhBQJAIAZBBEkNACAAIARqIQggBkF8cSEJQQAhBQNAIAggBWoiCkEoaiABIAVqIgstAAA6AAAgCkEpaiALQQFqLQAAOgAAIApBKmogC0ECai0AADoAACAKQStqIAtBA2otAAA6AAAgCSAFQQRqIgVHDQALCwJAIAdFDQAgASAFaiEKIAUgBGogAGpBKGohBQNAIAUgCi0AADoAACAKQQFqIQogBUEBaiEFIAdBf2oiBw0ACwsgAC0AaCEECyAAIAQgBmoiBzoAaCABIAZqIQECQCACIAZrIgINAEEAIQIMAgsgAyAAIABBKGpBwAAgACkDICAALQBqIABB6QBqIgUtAAAiCkVyEAIgACADKQMgIAMpAwCFNwMAIAAgAykDKCADKQMIhTcDCCAAIAMpAzAgAykDEIU3AxAgACADKQM4IAMpAxiFNwMYIABBADoAaCAFIApBAWo6AAAgAEHgAGpCADcDACAAQdgAakIANwMAIABB0ABqQgA3AwAgAEHIAGpCADcDACAAQcAAakIANwMAIABBOGpCADcDACAAQTBqQgA3AwAgAEIANwMoC0EAIQcgAkHBAEkNACAAQekAaiIKLQAAIQUgAC0AaiELIAApAyAhDANAIAMgACABQcAAIAwgCyAFQf8BcUVyQf8BcRACIAAgAykDICADKQMAhTcDACAAIAMpAyggAykDCIU3AwggACADKQMwIAMpAxCFNwMQIAAgAykDOCADKQMYhTcDGCAK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DkUNACAFIAdBBnRqIQEgBUGIAWogB0ECdGohAANAIAAgATYCACABQcAAaiEBIABBBGohACAOQX9qIg4NAAsLIAhBAmohAAsgBUGIAWogBkEBQgBBACADQQRyQQBBACAEEAEgACAJTw0AIAQgBkEFdGoiASAFIAZBBnRqIgApAwA3AwAgASAAKQMINwMIIAEgACkDEDcDECABIAApAxg3AxggBkEBaiEGCyAFQeACaiQAIAYLrRAIAn8EfgF/AX4EfwR+BH8EfiMAQfABayIBJAACQCAARQ0AAkBBAC0AkIoBIgINACABQTBqQQApA9CJATcDACABQThqQQApA9iJATcDACABQQApA6CJASIDNwMAIAFBACkDqIkBIgQ3AwggAUEAKQOwiQEiBTcDECABQQApA7iJASIGNwMYIAFBACkDyIkBNwMoQQAtAIqKASECQQAtAImKASEHQQApA8CJASEIQQAtAIiKASEJIAFBwABqQQApA+CJATcDACABQcgAakEAKQPoiQE3AwAgAUHQAGpBACkD8IkBNwMAIAFB2ABqQQApA/iJATcDACABQeAAakEAKQOAigE3AwAgASAJOgBoIAEgCDcDICABIAIgB0VyIgJBAnI6AGkgAUEoaiEKQgAhCEGACSELIAJBCnJB/wFxIQwDQCABQbABaiABIAogCUH/AXEgCCAMEAIgASABKQPQASINIAEpA7ABhTcDcCABIAEpA9gBIg4gASkDuAGFNwN4IAEgASkD4AEiDyABKQPAAYU3A4ABIAEgASkD6AEiECAGhTcDqAEgASAPIAWFNwOgASABIA4gBIU3A5gBIAEgDSADhTcDkAEgASAQIAEpA8gBhTcDiAEgAEHAACAAQcAASRsiEUF/aiESAkACQCARQQdxIhMNACABQfAAaiECIAshByARIRQMAQsgEUH4AHEhFCABQfAAaiECIAshBwNAIAcgAi0AADoAACAHQQFqIQcgAkEBaiECIBNBf2oiEw0ACwsCQCASQQdJDQADQCAHIAIpAAA3AAAgB0EIaiEHIAJBCGohAiAUQXhqIhQNAAsLIAhCAXwhCCALIBFqIQsgACARayIADQAMAgsLAkACQAJAQQAtAImKASIHQQZ0QQBBAC0AiIoBIhFrRg0AIAEgEToAaCABQQApA4CKATcDYCABQQApA/iJATcDWCABQQApA/CJATcDUCABQQApA+iJATcDSCABQQApA+CJATcDQCABQQApA9iJATcDOCABQQApA9CJATcDMCABQQApA8iJATcDKCABQQApA8CJASIINwMgIAFBACkDuIkBIgM3AxggAUEAKQOwiQEiBDcDECABQQApA6iJASIFNwMIIAFBACkDoIkBIgY3AwAgAUEALQCKigEiEyAHRXJBAnIiCzoAaSATQQRyIRNBACkDmIkBIQ1BACkDkIkBIQ5BACkDiIkBIQ9BACkDgIkBIRAMAQtBwAAhESABQcAAOgBoQgAhCCABQgA3AyAgAUEAKQOYiQEiDTcDGCABQQApA5CJASIONwMQIAFBACkDiIkBIg83AwggAUEAKQOAiQEiEDcDACABQQAtAIqKAUEEciITOgBpIAEgAkF+aiICQQV0IgdByYoBaikDADcDYCABIAdBwYoBaikDADcDWCABIAdBuYoBaikDADcDUCABIAdBsYoBaikDADcDSCABIAdBqYoBaikDADcDQCABIAdBoYoBaikDADcDOCABIAdBmYoBaikDADcDMCABIAdBkYoBaikDADcDKCATIQsgECEGIA8hBSAOIQQgDSEDIAJFDQELIAJBf2oiB0EFdCIUQZGKAWopAwAhFSAUQZmKAWopAwAhFiAUQaGKAWopAwAhFyAUQamKAWopAwAhGCABIAM3A4gBIAEgBDcDgAEgASAFNwN4IAEgBjcDcCABQbABaiABQfAAaiABQShqIhQgESAIIAtB/wFxEAIgASATOgBpIAFBwAA6AGggASAYNwNAIAEgFzcDOCABIBY3AzAgASAVNwMoIAFCADcDICABIA03AxggASAONwMQIAEgDzcDCCABIBA3AwAgASABKQPoASABKQPIAYU3A2AgASABKQPgASABKQPAAYU3A1ggASABKQPYASABKQO4AYU3A1AgASABKQPQASABKQOwAYU3A0ggB0UNACACQQV0QemJAWohAiATQf8BcSERA0AgAkFoaikDACEIIAJBcGopAwAhAyACQXhqKQMAIQQgAikDACEFIAEgDTcDiAEgASAONwOAASABIA83A3ggASAQNwNwIAFBsAFqIAFB8ABqIBRBwABCACAREAIgASATOgBpIAFBwAA6AGggASAFNwNAIAEgBDcDOCABIAM3AzAgASAINwMoIAFCADcDICABIA03AxggASAONwMQIAEgDzcDCCABIBA3AwAgASABKQPoASABKQPIAYU3A2AgASABKQPgASABKQPAAYU3A1ggASABKQPYASABKQO4AYU3A1AgASABKQPQASABKQOwAYU3A0ggAkFgaiECIAdBf2oiBw0ACwsgAUEoaiEJQgAhCEGACSELIBNBCHJB/wFxIQoDQCABQbABaiABIAlBwAAgCCAKEAIgASABKQPQASIDIAEpA7ABhTcDcCABIAEpA9gBIgQgASkDuAGFNwN4IAEgASkD4AEiBSABKQPAAYU3A4ABIAEgDSABKQPoASIGhTcDqAEgASAOIAWFNwOgASABIA8gBIU3A5gBIAEgECADhTcDkAEgASAGIAEpA8gBhTcDiAEgAEHAACAAQcAASRsiEUF/aiESAkACQCARQQdxIhMNACABQfAAaiECIAshByARIRQMAQsgEUH4AHEhFCABQfAAaiECIAshBwNAIAcgAi0AADoAACAHQQFqIQcgAkEBaiECIBNBf2oiEw0ACwsCQCASQQdJDQADQCAHIAIpAAA3AAAgB0EIaiEHIAJBCGohAiAUQXhqIhQNAAsLIAhCAXwhCCALIBFqIQsgACARayIADQALCyABQfABaiQAC6MCAQR+AkACQCAAQSBGDQBCq7OP/JGjs/DbACEBQv+kuYjFkdqCm38hAkLy5rvjo6f9p6V/IQNC58yn0NbQ67O7fyEEQQAhAAwBC0EAKQOYCSEBQQApA5AJIQJBACkDiAkhA0EAKQOACSEEQRAhAAtBACAAOgCKigFBAEIANwOAigFBAEIANwP4iQFBAEIANwPwiQFBAEIANwPoiQFBAEIANwPgiQFBAEIANwPYiQFBAEIANwPQiQFBAEIANwPIiQFBAEIANwPAiQFBACABNwO4iQFBACACNwOwiQFBACADNwOoiQFBACAENwOgiQFBACABNwOYiQFBACACNwOQiQFBACADNwOIiQFBACAENwOAiQFBAEEAOgCQigFBAEEAOwGIigELBgAgABADCwYAIAAQBwsGAEGAiQELqwIBBH4CQAJAIAFBIEYNAEKrs4/8kaOz8NsAIQNC/6S5iMWR2oKbfyEEQvLmu+Ojp/2npX8hBULnzKfQ1tDrs7t/IQZBACEBDAELQQApA5gJIQNBACkDkAkhBEEAKQOICSEFQQApA4AJIQZBECEBC0EAIAE6AIqKAUEAQgA3A4CKAUEAQgA3A/iJAUEAQgA3A/CJAUEAQgA3A+iJAUEAQgA3A+CJAUEAQgA3A9iJAUEAQgA3A9CJAUEAQgA3A8iJAUEAQgA3A8CJAUEAIAM3A7iJAUEAIAQ3A7CJAUEAIAU3A6iJAUEAIAY3A6CJAUEAIAM3A5iJAUEAIAQ3A5CJAUEAIAU3A4iJAUEAIAY3A4CJAUEAQQA6AJCKAUEAQQA7AYiKASAAEAMgAhAHCwsLAQBBgAgLBHgHAAA=",tr="540e8b8e",gr={name:ir,data:er,hash:tr},_B=new iA;function ug(I){return!Number.isInteger(I)||I<8||I%8!==0?new Error("Invalid variant! Valid values: 8, 16, ..."):null}function Dg(I=256,A=null){if(ug(I))return Promise.reject(ug(I));let i=null,e=0;if(A!==null){if(i=Ve(A),i.length!==32)return Promise.reject(new Error("Key length must be exactly 32 bytes"));e=32}let t=I/8,g=t;return Ir(gr,t).then(o=>{e===32&&o.writeMemory(i),o.init(e);let n={init:e===32?()=>(o.writeMemory(i),o.init(e),n):()=>(o.init(e),n),update:C=>(o.update(C),n),digest:C=>o.digest(C,g),save:()=>o.save(),load:C=>(o.load(C),n),blockSize:64,digestSize:t};return n})}var $B=new iA;var AQ=new iA;var IQ=new iA;var iQ=new iA;var eQ=new iA;var tQ=new iA;var gQ=new iA;var oQ=new iA;var nQ=new iA;var rQ=new iA;var CQ=new iA;var BQ=new iA;var QQ=new iA;var aQ=new ArrayBuffer(8);var sQ=new iA;var cQ=new ArrayBuffer(8);var EQ=new iA;var hQ=new ArrayBuffer(8);var fQ=new iA;var dQ=new iA;var wQ=new iA;function DA(I){let A=!1,i=[],e=I;if(e&&e.toJSON&&typeof e.toJSON=="function"&&(e=e.toJSON()),e===void 0)return;if(typeof e=="number")return isFinite(e)?""+e:"null";if(typeof e!="object")return typeof e=="string"&&(e.startsWith("encrypted_U")||e.startsWith("binary_U"))?`"${e}"`:JSON.stringify(e);let t,g;if(Array.isArray(e)){for(g="[",t=0;t{throw new Error(`cojson WASM dependencies not yet loaded; Make sure to import \`cojsonReady\` from \`cojson\` and await it before using any cojson functionality: import { cojsonReady } from "cojson"; await cojsonReady; -`)},Ve,Dg,pg,We=Promise.all([new Promise(I=>{wg().then(A=>{ug=A,TI=i=>A.init().update(i).digest("binary"),Ve=(i,{context:e})=>A.init().update(e).update(i).digest("binary"),Dg=(i,e)=>(A.load(i).update(e),A.save()),pg=i=>A.load(i).digest("binary"),I()}).catch(A=>console.error("Failed to load cryptography dependencies",A))}),Ke()]),qA=new TextEncoder,lg=new TextDecoder;function tr(){return`signerSecret_z${V.encode(new KA().to_bytes().copyAndDispose())}`}function gr(I){return V.decode(I.substring("signerSecret_z".length))}function or(I){return`signerSecret_z${V.encode(I)}`}function nr(I){return`signer_z${V.encode(KA.from_bytes(new W(V.decode(I.substring("signerSecret_z".length)))).public().to_bytes().copyAndDispose())}`}function yg(I,A){let i=KA.from_bytes(new W(V.decode(I.substring("signerSecret_z".length)))).sign(new W(qA.encode(DA(A)))).to_bytes().copyAndDispose();return`signature_z${V.encode(i)}`}function Te(I,A,i){return new gI(new W(V.decode(i.substring("signer_z".length)))).verify(new W(qA.encode(DA(A))),new XA(new W(V.decode(I.substring("signature_z".length)))))}function rr(){return`sealerSecret_z${V.encode(new xA().to_bytes().copyAndDispose())}`}function Cr(I){return V.decode(I.substring("sealerSecret_z".length))}function Br(I){return`sealerSecret_z${V.encode(I)}`}function Qr(I){return`sealer_z${V.encode(xA.from_bytes(new W(V.decode(I.substring("sealerSecret_z".length)))).to_public().to_bytes().copyAndDispose())}`}function zI(){return`${rr()}/${tr()}`}function Fg(I){let[A,i]=I.split("/");return new Uint8Array([...Cr(A),...gr(i)])}function Sg(I){let A=Br(I.slice(0,32)),i=or(I.slice(32));return`${A}/${i}`}function kA(I){let[A,i]=I.split("/");return`${Qr(A)}/${nr(i)}`}function jI(I){return I.split("/")[1]}function ze(I){return I.split("/")[1]}function WA(I){return I.split("/")[0]}function Hi(I){return I.split("/")[0]}function _I({message:I,from:A,to:i,nOnceMaterial:e}){let t=TI(qA.encode(DA(e))).slice(0,24),g=V.decode(i.substring("sealer_z".length)),o=V.decode(A.substring("sealerSecret_z".length)),n=qA.encode(DA(I)),C=xA.from_bytes(new W(o)).diffie_hellman(RA.from_bytes(new W(g))).to_bytes().copyAndDispose(),Q=ve(C,t).encrypt(n);return`sealed_U${hI(Q)}`}function kg(I,A,i,e){let t=TI(qA.encode(DA(e))).slice(0,24),g=V.decode(A.substring("sealerSecret_z".length)),o=V.decode(i.substring("sealer_z".length)),n=FI(I.substring("sealed_U".length)),C=xA.from_bytes(new W(g)).diffie_hellman(RA.from_bytes(new W(o))).to_bytes().copyAndDispose(),Q=ve(C,t).decrypt(n);try{return JSON.parse(lg.decode(Q))}catch(s){console.error("Failed to decrypt/parse sealed message",s);return}}var $I=class{constructor(A){this.state=A||ug.init().save()}update(A){let i=qA.encode(DA(A));this.state=Dg(this.state,i)}digest(){let A=pg(this.state);return`hash_z${V.encode(A)}`}clone(){return new $I(new Uint8Array(this.state))}},Ui=19;function Gg(I){return`shortHash_z${V.encode(TI(qA.encode(DA(I))).slice(0,Ui))}`}function Ji(){return{secret:`keySecret_z${V.encode(ki(32))}`,id:`key_z${V.encode(ki(12))}`}}function Ng(I,A,i){let e=V.decode(A.substring("keySecret_z".length)),t=TI(qA.encode(DA(i))).slice(0,24),g=qA.encode(DA(I)),o=ZI(e,t,g);return`encrypted_U${hI(o)}`}function mg(I,A,i){return Ng(I,A,i)}function Hg(I){let A={encryptedID:I.toEncrypt.id,encryptingID:I.encrypting.id};return{encryptedID:I.toEncrypt.id,encryptingID:I.encrypting.id,encrypted:Ng(I.toEncrypt.secret,I.encrypting.secret,A)}}function Ug(I,A,i){let e=V.decode(A.substring("keySecret_z".length)),t=TI(qA.encode(DA(i))).slice(0,24),g=FI(I.substring("encrypted_U".length)),o=ZI(e,t,g);return lg.decode(o)}function ar(I,A,i){try{return oI(Ug(I,A,i))}catch(e){console.error("Decryption error",e);return}}function Jg(I,A,i){return Ug(I,A,i)}function qg(I,A){let i={encryptedID:I.encryptedID,encryptingID:I.encryptingID};return ar(I.encrypted,A,i)}function sr(){return`z${V.encode(ki(12))}`}function SI(){return{createdAt:new Date().toISOString(),uniqueness:sr()}}var qi=32;function re(){return ki(qi)}function Ai(I){if(I.length!==qi)throw new Error(`Secret seed needs to be ${qi} bytes long`);return`sealerSecret_z${V.encode(Ve(I,{context:qA.encode("seal")}))}/signerSecret_z${V.encode(Ve(I,{context:qA.encode("sign")}))}`}function rA(I){let A=I.indexOf("_session");return I.slice(0,A)}var je=class{constructor(A){this.type="colist",this.id=A.id,this.core=A,this.afterStart=[],this.beforeEnd=[],this.insertions={},this.deletionsByInsertion={},this.insertions={},this.deletionsByInsertion={},this.afterStart=[],this.beforeEnd=[];for(let{txID:i,changes:e,madeAt:t}of this.core.getValidSortedTransactions())for(let[g,o]of e.entries()){let n=o;if(n.op==="pre"||n.op==="app"){let C=this.insertions[i.sessionID];C||(C={},this.insertions[i.sessionID]=C);let Q=C[i.txIndex];if(Q||(Q={},C[i.txIndex]=Q),Q[g]={madeAt:t,predecessors:[],successors:[],...n},n.op==="pre")if(n.before==="end")this.beforeEnd.push({...i,changeIdx:g});else{let s=this.insertions[n.before.sessionID]?.[n.before.txIndex]?.[n.before.changeIdx];if(!s)continue;s.predecessors.splice(0,0,{...i,changeIdx:g})}else if(n.after==="start")this.afterStart.push({...i,changeIdx:g});else{let s=this.insertions[n.after.sessionID]?.[n.after.txIndex]?.[n.after.changeIdx];if(!s)continue;s.successors.push({...i,changeIdx:g})}}else if(n.op==="del"){let C=this.deletionsByInsertion[n.insertion.sessionID];C||(C={},this.deletionsByInsertion[n.insertion.sessionID]=C);let Q=C[n.insertion.txIndex];Q||(Q={},C[n.insertion.txIndex]=Q);let s=Q[n.insertion.changeIdx];s||(s=[],Q[n.insertion.changeIdx]=s),s.push({madeAt:t,deletionID:{...i,changeIdx:g},...n})}else throw new Error("Unknown list operation "+n.op)}}get headerMeta(){return this.core.header.meta}get group(){return this.core.getGroup()}atTime(A){throw new Error("Not yet implemented")}get(A){let i=this.entries()[A];if(!!i)return i.value}asArray(){return this.entries().map(A=>A.value)}entries(){if(this._cachedEntries)return this._cachedEntries;let A=this.entriesUncached();return this._cachedEntries=A,A}entriesUncached(){let A=[];for(let i of this.afterStart)this.fillArrayFromOpID(i,A);for(let i of this.beforeEnd)this.fillArrayFromOpID(i,A);return A}fillArrayFromOpID(A,i){let e=this.insertions[A.sessionID]?.[A.txIndex]?.[A.changeIdx];if(!e)throw new Error("Missing op "+A);for(let g of e.predecessors)this.fillArrayFromOpID(g,i);(this.deletionsByInsertion[A.sessionID]?.[A.txIndex]?.[A.changeIdx]?.length||0)>0||i.push({value:e.value,madeAt:e.madeAt,opID:A});for(let g of e.successors)this.fillArrayFromOpID(g,i)}toJSON(){return this.asArray()}editAt(A){let i=this.entries()[A];if(!i)return;let e=new Date(i.madeAt),t=rA(i.opID.sessionID),g=i.value;return{by:t,tx:{sessionID:i.opID.sessionID,txIndex:i.opID.txIndex},at:e,value:g}}deletionEdits(){let A=[];for(let i in this.deletionsByInsertion){let e=this.deletionsByInsertion[i];for(let t in e){let g=e[Number(t)];for(let o in g){let n=g[Number(o)];for(let C of n||[]){let Q=new Date(C.madeAt),s=rA(C.deletionID.sessionID);A.push({by:s,tx:C.deletionID,at:Q})}}}}return A}subscribe(A){return this.core.subscribe(i=>{A(i)})}},QA=class extends je{append(A,i,e="private"){let t=this.entries();i=i===void 0&&t.length>0?t.length-1:0;let g;if(t.length>0){let o=t[i];if(!o)throw new Error("Invalid index "+i);g=o.opID}else{if(i!==0)throw new Error("Invalid index "+i);g="start"}return this.core.makeTransaction([{op:"app",value:nI(A)?A.id:A,after:g}],e),new QA(this.core)}prepend(A,i,e="private"){let t=this.entries();i=i===void 0?0:i;let g;if(t.length>0){let o=t[i];if(o)g=o.opID;else{if(i!==t.length)throw new Error("Invalid index "+i);g="end"}}else{if(i!==0)throw new Error("Invalid index "+i);g="end"}return this.core.makeTransaction([{op:"pre",value:nI(A)?A.id:A,before:g}],e),new QA(this.core)}delete(A,i="private"){let t=this.entries()[A];if(!t)throw new Error("Invalid index "+A);return this.core.makeTransaction([{op:"del",insertion:t.opID}],i),new QA(this.core)}mutate(A){let i=new _e(this.core);return A(i),new QA(this.core)}edit(A){return this.mutate(A)}},_e=class extends je{append(A,i,e="private"){let t=QA.prototype.append.call(this,A,i,e);this.afterStart=t.afterStart,this.beforeEnd=t.beforeEnd,this.insertions=t.insertions,this.deletionsByInsertion=t.deletionsByInsertion,this._cachedEntries=void 0}prepend(A,i,e="private"){let t=QA.prototype.prepend.call(this,A,i,e);this.afterStart=t.afterStart,this.beforeEnd=t.beforeEnd,this.insertions=t.insertions,this.deletionsByInsertion=t.deletionsByInsertion,this._cachedEntries=void 0}delete(A,i="private"){let e=QA.prototype.delete.call(this,A,i);this.afterStart=e.afterStart,this.beforeEnd=e.beforeEnd,this.insertions=e.insertions,this.deletionsByInsertion=e.deletionsByInsertion,this._cachedEntries=void 0}};function Ii(I){return I.startsWith("co_")}var Ce=class{constructor(A){this.type="costream",this.id=A.id,this.core=A,this.items={},this.fillFromCoValue()}get headerMeta(){return this.core.header.meta}get group(){return this.core.getGroup()}atTime(A){throw new Error("Not yet implemented")}fillFromCoValue(){this.items={};for(let{txID:A,madeAt:i,changes:e}of this.core.getValidSortedTransactions())for(let t of e){let g=t,o=this.items[A.sessionID];o||(o=[],this.items[A.sessionID]=o),o.push({value:g,madeAt:i,tx:A})}}getSingleStream(){if(Object.keys(this.items).length!==0){if(Object.keys(this.items).length!==1)throw new Error("CoStream.getSingleStream() can only be called when there is exactly one stream");return Object.values(this.items)[0]?.map(A=>A.value)}}sessions(){return Object.keys(this.items)}accounts(){return new Set(this.sessions().map(rA).filter(Ii))}nthItemIn(A,i){let e=this.items[A];if(!e)return;let t=e[i];if(!!t)return{by:rA(A),tx:t.tx,at:new Date(t.madeAt),value:t.value}}lastItemIn(A){let i=this.items[A];if(!!i)return this.nthItemIn(A,i.length-1)}*itemsIn(A){let i=this.items[A];if(!!i)for(let e of i)yield{by:rA(A),tx:e.tx,at:new Date(e.madeAt),value:e.value}}lastItemBy(A){let i;for(let e of Object.keys(this.items))if(e.startsWith(A)){let t=this.lastItemIn(e);if(!t)continue;(!i||t.at>i.at)&&(i={by:t.by,tx:t.tx,at:t.at,value:t.value})}return i}*itemsBy(A){let i=[...Object.keys(this.items).flatMap(e=>e.startsWith(A)?[...this.itemsIn(e)].map(t=>({in:e,...t})):[])];i.sort((e,t)=>e.at.getTime()-t.at.getTime());for(let e of i)yield e}toJSON(){return Object.fromEntries(Object.entries(this.items).map(([A,i])=>[A,i.map(e=>e.value)]))}subscribe(A){return this.core.subscribe(i=>{A(i)})}},bA=class extends Ce{push(A,i="private"){return this.core.makeTransaction([nI(A)?A.id:A],i),new bA(this.core)}mutate(A){let i=new Be(this.core);return A(i),new bA(this.core)}edit(A){return this.mutate(A)}},Be=class extends Ce{push(A,i="private"){this.core.makeTransaction([nI(A)?A.id:A],i),this.fillFromCoValue()}},cr=8,$e=class extends Ce{getBinaryChunks(A){let i=this.getSingleStream();if(!i)return;let e=i[0];if(e?.type!=="start"){console.error("Invalid binary stream start",e);return}if(i[i.length-1]?.type!=="end"&&!A)return;let g=[],o=!1,n=Date.now();for(let C of i.slice(1)){if(C.type==="end"){o=!0;break}if(C.type!=="chunk"){console.error("Invalid binary stream chunk",C);return}let Q=FI(C.chunk.slice(cr));g.push(Q),Date.now()-n>100&&(n=Date.now())}return{mimeType:e.mimeType,fileName:e.fileName,totalSizeBytes:e.totalSizeBytes,chunks:g,finished:o}}},rI=class extends $e{push(A,i="private",e=!0){if(this.core.makeTransaction([A],i),e)return new rI(this.core)}startBinaryStream(A,i="private"){return this.push({type:"start",...A},i,!1)}pushBinaryStreamChunk(A,i="private"){return this.push({type:"chunk",chunk:`binary_U${hI(A)}`},i,!1)}endBinaryStream(A="private"){return this.push({type:"end"},A,!0)}mutate(A){let i=new At(this.core);return A(i),new rI(this.core)}edit(A){return this.mutate(A)}},At=class extends $e{push(A,i="private"){Be.prototype.push.call(this,A,i)}startBinaryStream(A,i="private"){this.push({type:"start",...A},i)}pushBinaryStreamChunk(A,i="private"){this.push({type:"chunk",chunk:`binary_U${hI(A)}`},i)}endBinaryStream(A="private"){this.push({type:"end"},A)}};function nI(I){return I instanceof hA||I instanceof QA||I instanceof bA||I instanceof rI}var It=class{constructor(A,i){this.type="comap",this.atTimeFilter=void 0,this.id=A.id,this.core=A,this.ops={};for(let{txID:e,changes:t,madeAt:g}of A.getValidSortedTransactions(i))for(let[o,n]of t.entries()){let C=n,Q=this.ops[C.key];Q||(Q=[],this.ops[C.key]=Q),Q.push({txID:e,madeAt:g,changeIdx:o,...C})}}get headerMeta(){return this.core.header.meta}get group(){return this.core.getGroup()}atTime(A){let i=Object.create(this);return i.id=this.id,i.type=this.type,i.core=this.core,i.ops=this.ops,i.atTimeFilter=A,i}timeFilteredOps(A){return this.atTimeFilter?this.ops[A]?.filter(i=>i.madeAt<=this.atTimeFilter):this.ops[A]}keys(){let A=Object.keys(this.ops);return this.atTimeFilter?A.filter(i=>this.timeFilteredOps(i)?.length):A}get(A){let i=this.timeFilteredOps(A);if(!i)return;let e=this.atTimeFilter,t=e?i.findLast(g=>g.madeAt<=e):i[i.length-1];if(t?.op!=="del")return t?.value}asObject(){let A={};for(let i of this.keys()){let e=this.get(i);e!==void 0&&(A[i]=e)}return A}toJSON(){return this.asObject()}nthEditAt(A,i){let e=this.timeFilteredOps(A);if(!e||e.length<=i)return;let t=e[i];if(!(this.atTimeFilter&&t.madeAt>this.atTimeFilter))return{by:rA(t.txID.sessionID),tx:t.txID,at:new Date(t.madeAt),value:t.op==="del"?void 0:t.value}}lastEditAt(A){let i=this.timeFilteredOps(A);if(!(!i||i.length===0))return this.nthEditAt(A,i.length-1)}*editsAt(A){let i=this.timeFilteredOps(A);if(!!i)for(let e=0;e{A(i)})}},hA=class extends It{set(...A){if(typeof A[0]=="string"){let[i,e,t="private"]=A;this.core.makeTransaction([{op:"set",key:i,value:nI(e)?e.id:e}],t)}else{let[i,e="private"]=A;for(let[t,g]of Object.entries(i))this.core.makeTransaction([{op:"set",key:t,value:nI(g)?g.id:g}],e)}return new hA(this.core)}delete(A,i="private"){return this.core.makeTransaction([{op:"del",key:A}],i),new hA(this.core)}mutate(A){let i=new it(this.core);return A(i),new this.constructor(this.core)}edit(A){return this.mutate(A)}},it=class extends It{set(A,i,e="private"){let t=hA.prototype.set.call(this,A,i,e);this.ops=t.ops}delete(A,i="private"){let e=hA.prototype.delete.call(this,A,i);this.ops=e.ops}};function Mg(I){return V.decode(I.substring("co_z".length))}function Yg(I){return`co_z${V.encode(I.slice(0,Ui))}`}function Mi(I){return typeof I=="string"&&I.startsWith("sealer_")&&I.includes("/signer_")}var ii="everyone",TA=class extends hA{roleOf(A){return this.roleOfInternal(A)}roleOfInternal(A){return this.get(A)}myRole(){return this.roleOfInternal(this.core.node.account.id)}addMember(A,i){return this.addMemberInternal(A,i)}addMemberInternal(A,i){return this.mutate(e=>{let t=this.core.getCurrentReadKey();if(!t.secret)throw new Error("Can't add member without read key secret");if(A===ii){if(!(i==="reader"||i==="writer"))throw new Error("Can't make everyone something other than reader or writer");if(e.set(A,i,"trusting"),e.get(A)!==i)throw new Error("Failed to set role");e.set(`${t.id}_for_${ii}`,t.secret,"trusting")}else{let g=typeof A=="string"?A:A.id,o=typeof A=="string"?A:A.currentAgentID();if(e.set(g,i,"trusting"),e.get(g)!==i)throw new Error("Failed to set role");e.set(`${t.id}_for_${g}`,_I({message:t.secret,from:this.core.node.account.currentSealerSecret(),to:WA(o),nOnceMaterial:{in:this.id,tx:this.core.nextTransactionID()}}),"trusting")}})}rotateReadKey(){let A=this.keys().filter(g=>{if(g.startsWith("co_")||Mi(g)){let o=this.get(g);return o==="admin"||o==="writer"||o==="reader"}else return!1}),i=this.core.getCurrentReadKey();if(!i.secret)throw new Error("Can't rotate read key secret we don't have access to");let e={id:i.id,secret:i.secret},t=Ji();return this.mutate(g=>{for(let o of A){let n=this.core.node.resolveAccountAgent(o,"Expected to know currently permitted reader");g.set(`${t.id}_for_${o}`,_I({message:t.secret,from:this.core.node.account.currentSealerSecret(),to:WA(n),nOnceMaterial:{in:this.id,tx:this.core.nextTransactionID()}}),"trusting")}g.set(`${e.id}_for_${t.id}`,Hg({encrypting:t,toEncrypt:e}).encrypted,"trusting"),g.set("readKey",t.id,"trusting")})}removeMember(A){return this.removeMemberInternal(A)}removeMemberInternal(A){let i=typeof A=="string"?A:A.id;return this.set(i,"revoked","trusting").rotateReadKey()}createInvite(A){let i=re(),e=Ai(i),t=kA(e);return this.addMemberInternal(t,`${A}Invite`),Er(i)}createMap(A,i,e="private"){let t=this.core.node.createCoValue({type:"comap",ruleset:{type:"ownedByGroup",group:this.id},meta:i||null,...SI()}).getCurrentContent();if(A)for(let[g,o]of Object.entries(A))t=t.set(g,o,e);return t}createList(A,i,e="private"){let t=this.core.node.createCoValue({type:"colist",ruleset:{type:"ownedByGroup",group:this.id},meta:i||null,...SI()}).getCurrentContent();if(A)for(let g of A)t=t.append(g,void 0,e);return t}createStream(A){return this.core.node.createCoValue({type:"costream",ruleset:{type:"ownedByGroup",group:this.id},meta:A||null,...SI()}).getCurrentContent()}createBinaryStream(A={type:"binary"}){return this.core.node.createCoValue({type:"costream",ruleset:{type:"ownedByGroup",group:this.id},meta:A,...SI()}).getCurrentContent()}};function Er(I){return`inviteSecret_z${V.encode(I)}`}function Kg(I){if(!I.startsWith("inviteSecret_z"))throw new Error("Invalid invite secret");return V.decode(I.slice("inviteSecret_z".length))}function Qe(I){let A=kA(I);return{type:"comap",ruleset:{type:"group",initialAdmin:A},meta:{type:"account"},createdAt:null,uniqueness:null}}var MA=class extends TA{currentAgentID(){let A=this.keys().filter(i=>i.startsWith("sealer_"));if(A.length!==1)throw new Error("Expected exactly one agent in account, got "+A.length);return A[0]}},CI=class extends MA{constructor(A,i){super(A);this.agentSecret=i}createGroup(){return this.core.node.createGroup()}async acceptInvite(A,i){return this.core.node.acceptInvite(A,i)}currentAgentID(){return kA(this.agentSecret)}currentSignerID(){return jI(this.currentAgentID())}currentSignerSecret(){return ze(this.agentSecret)}currentSealerID(){return WA(this.currentAgentID())}currentSealerSecret(){return Hi(this.agentSecret)}},kI=class{constructor(A){this.agentSecret=A}get id(){return kA(this.agentSecret)}currentAgentID(){return kA(this.agentSecret)}currentSignerID(){return jI(this.currentAgentID())}currentSignerSecret(){return ze(this.agentSecret)}currentSealerID(){return WA(this.currentAgentID())}currentSealerSecret(){return Hi(this.agentSecret)}};function Rg(I){if(I.type!=="comap")throw new Error("Expected map");return I}function pA(I){let A=Rg(I);if(A.core.header.ruleset.type!=="group")throw new Error("Expected group ruleset in group");if(!(A instanceof TA))throw new Error("Expected group");return A}function xg(I){if(I.header.ruleset.type==="group"){let A=[...I.sessionLogs.entries()].flatMap(([g,o])=>o.transactions.map((n,C)=>({sessionID:g,txIndex:C,tx:n})));A.sort((g,o)=>g.tx.madeAt-o.tx.madeAt);let i=I.header.ruleset.initialAdmin;if(!i)throw new Error("Group must have initialAdmin");let e={},t=[];for(let{sessionID:g,txIndex:o,tx:n}of A){let C=rA(g);if(n.privacy==="private")if(e[C]==="admin"){t.push({txID:{sessionID:g,txIndex:o},tx:n});continue}else{console.warn("Only admins can make private transactions in groups");continue}let Q;try{Q=oI(n.changes)}catch(d){console.warn(I.id,"Invalid JSON in transaction",d,n,JSON.stringify(n.changes,(u,G)=>u==="changes"||u==="encryptedChanges"?G.slice(0,20)+"...":G));continue}let s=Q[0];if(Q.length!==1){console.warn("Group transaction must have exactly one change");continue}if(s.op!=="set"){console.warn("Group transaction must set a role or readKey");continue}if(s.key==="readKey"){if(e[C]!=="admin"){console.warn("Only admins can set readKeys");continue}t.push({txID:{sessionID:g,txIndex:o},tx:n});continue}else if(s.key==="profile"){if(e[C]!=="admin"){console.warn("Only admins can set profile");continue}t.push({txID:{sessionID:g,txIndex:o},tx:n});continue}else if(et(s.key)||hr(s.key)){if(e[C]!=="admin"&&e[C]!=="adminInvite"&&e[C]!=="writerInvite"&&e[C]!=="readerInvite"){console.warn("Only admins can reveal keys");continue}t.push({txID:{sessionID:g,txIndex:o},tx:n});continue}let c=s.key,E=s.value;if(s.value!=="admin"&&s.value!=="writer"&&s.value!=="reader"&&s.value!=="revoked"&&s.value!=="adminInvite"&&s.value!=="writerInvite"&&s.value!=="readerInvite"){console.warn("Group transaction must set a valid role");continue}if(c===ii&&!(s.value==="reader"||s.value==="writer"||s.value==="revoked")){console.warn("Everyone can only be set to reader, writer or revoked");continue}if(!(!e[C]&&C===i&&s.op==="set"&&s.key===C&&s.value==="admin"))if(e[C]==="admin"){if(e[c]==="admin"&&c!==C&&E!=="admin"){console.warn("Admins can only demote themselves.");continue}}else if(e[C]==="adminInvite"){if(s.value!=="admin"){console.warn("AdminInvites can only create admins.");continue}}else if(e[C]==="writerInvite"){if(s.value!=="writer"){console.warn("WriterInvites can only create writers.");continue}}else if(e[C]==="readerInvite"){if(s.value!=="reader"){console.warn("ReaderInvites can only create reader.");continue}}else{console.warn("Group transaction must be made by current admin or invite");continue}e[c]=s.value,t.push({txID:{sessionID:g,txIndex:o},tx:n})}return t}else if(I.header.ruleset.type==="ownedByGroup"){let A=pA(I.node.expectCoValueLoaded(I.header.ruleset.group,"Determining valid transaction in owned object but its group wasn't loaded").getCurrentContent());if(A.type!=="comap")throw new Error("Group must be a map");return[...I.sessionLogs.entries()].flatMap(([i,e])=>{let t=rA(i);return e.transactions.filter(g=>{let o=A.atTime(g.madeAt),n=t===A.id&&o instanceof MA?o.currentAgentID():t,C=o.get(n)||o.get(ii);return C==="admin"||C==="writer"}).map((g,o)=>({txID:{sessionID:i,txIndex:o},tx:g}))})}else{if(I.header.ruleset.type==="unsafeAllowAll")return[...I.sessionLogs.entries()].flatMap(([A,i])=>i.transactions.map((e,t)=>({txID:{sessionID:A,txIndex:t},tx:e})));throw new Error("Unknown ruleset type "+I.header.ruleset.type)}}function et(I){return I.startsWith("key_")&&I.includes("_for_key")}function hr(I){return I.startsWith("key_")&&(I.includes("_for_sealer")||I.includes("_for_co"))||I.includes("_for_everyone")}function bg(I,A){if(I.header.type==="comap")return I.header.ruleset.type==="group"?I.header.meta?.type==="account"&&!A?.ignorePrivateTransactions?new MA(I):new TA(I,A):new hA(I);if(I.header.type==="colist")return new QA(I);if(I.header.type==="costream")return I.header.meta&&I.header.meta.type==="binary"?new rI(I):new bA(I);throw new Error(`Unknown coValue type ${I.header.type}`)}var ei=100*1024;function tt(I){return`co_z${Gg(I).slice("shortHash_z".length)}`}function fI(I){return`${I}_session_z${V.encode(globalThis.crypto.getRandomValues(new Uint8Array(8)))}`}var gt=new WeakMap,GI=class{constructor(A,i,e=new Map){this.listeners=new Set,this._decryptionCache={},this.id=tt(A),this.header=A,this._sessionLogs=e,this.node=i,A.ruleset.type=="ownedByGroup"&&this.node.expectCoValueLoaded(A.ruleset.group).subscribe(t=>{this._cachedContent=void 0;let g=this.getCurrentContent();for(let o of this.listeners)o(g)})}get sessionLogs(){return this._sessionLogs}testWithDifferentAccount(A,i){return this.node.testWithDifferentAccount(A,i).expectCoValueLoaded(this.id)}knownState(){if(this._cachedKnownState)return this._cachedKnownState;{let A=this.knownStateUncached();return this._cachedKnownState=A,A}}knownStateUncached(){return{id:this.id,header:!0,sessions:Object.fromEntries([...this.sessionLogs.entries()].map(([A,i])=>[A,i.transactions.length]))}}get meta(){return this.header?.meta??null}nextTransactionID(){let A=this.header.meta?.type==="account"?this.node.currentSessionID.replace(this.node.account.id,this.node.account.currentAgentID()):this.node.currentSessionID;return{sessionID:A,txIndex:this.sessionLogs.get(A)?.transactions.length||0}}tryAddTransactions(A,i,e,t){let g=jI(this.node.resolveAccountAgent(rA(A),"Expected to know signer of transaction"));if(!g)return console.warn("Unknown agent",rA(A)),!1;let{expectedNewHash:o,newStreamingHash:n}=this.expectedNewHashAfter(A,i);return e&&e!==o?(console.warn("Invalid hash",{expectedNewHash:o,givenExpectedNewHash:e}),!1):Te(t,o,g)?(this.doAddTransactions(A,i,t,o,n),!0):(console.warn("Invalid signature in",this.id,t,o,g),!1)}async tryAddTransactionsAsync(A,i,e,t){this.currentlyAsyncApplyingTxDone&&await this.currentlyAsyncApplyingTxDone;let g;this.currentlyAsyncApplyingTxDone=new Promise(c=>{g=c});let o=jI(await this.node.resolveAccountAgentAsync(rA(A),"Expected to know signer of transaction"));if(!o)return console.warn("Unknown agent",rA(A)),g(),!1;let n=this.sessionLogs.get(A)?.transactions.length??0,{expectedNewHash:C,newStreamingHash:Q}=await this.expectedNewHashAfterAsync(A,i),s=this.sessionLogs.get(A)?.transactions.length??0;if(s!==n){let c=i.length;i=i.slice(s-n),console.warn("Transactions changed while async hashing",{nTxBefore:n,nTxAfter:s,newTransactionLengthBefore:c,remainingNewTransactions:i.length})}return e&&e!==C?(console.warn("Invalid hash",{expectedNewHash:C,givenExpectedNewHash:e}),g(),!1):Te(t,C,o)?(this.doAddTransactions(A,i,t,C,Q),g(),!0):(console.warn("Invalid signature in",this.id,t,C,o),g(),!1)}doAddTransactions(A,i,e,t,g){let o=this.sessionLogs.get(A)?.transactions??[];o.push(...i);let n=this.sessionLogs.get(A)?.signatureAfter??{},C=Object.keys(n).reduce((s,c)=>parseInt(c)>s?parseInt(c):s,-1);if(o.slice(C+1).reduce((s,c)=>s+(c.privacy==="private"?c.encryptedChanges.length:c.changes.length),0)>100*1024&&(n[o.length-1]=e),this._sessionLogs.set(A,{transactions:o,lastHash:t,streamingHash:g,lastSignature:e,signatureAfter:n}),this._cachedContent=void 0,this._cachedKnownState=void 0,this._cachedDependentOn=void 0,this._cachedNewContentSinceEmpty=void 0,this.listeners.size>0){let s=this.getCurrentContent();for(let c of this.listeners)c(s)}}subscribe(A){return this.listeners.add(A),A(this.getCurrentContent()),()=>{this.listeners.delete(A)}}expectedNewHashAfter(A,i){let e=this.sessionLogs.get(A)?.streamingHash.clone()??new $I;for(let g of i)e.update(g);let t=e.clone();return{expectedNewHash:e.digest(),newStreamingHash:t}}async expectedNewHashAfterAsync(A,i){let e=this.sessionLogs.get(A)?.streamingHash.clone()??new $I,t=performance.now();for(let o of i)e.update(o),performance.now()-t>1&&(await new Promise(C=>setTimeout(C,0)),t=performance.now());let g=e.clone();return{expectedNewHash:e.digest(),newStreamingHash:g}}makeTransaction(A,i){let e=Date.now(),t;if(i==="private"){let{secret:Q,id:s}=this.getCurrentReadKey();if(!Q)throw new Error("Can't make transaction without read key secret");let c=mg(A,Q,{in:this.id,tx:this.nextTransactionID()});this._decryptionCache[c]=A,t={privacy:"private",madeAt:e,keyUsed:s,encryptedChanges:c}}else t={privacy:"trusting",madeAt:e,changes:DA(A)};let g=this.header.meta?.type==="account"?this.node.currentSessionID.replace(this.node.account.id,this.node.account.currentAgentID()):this.node.currentSessionID,{expectedNewHash:o}=this.expectedNewHashAfter(g,[t]),n=yg(this.node.account.currentSignerSecret(),o),C=this.tryAddTransactions(g,[t],o,n);return C&&this.node.syncManager.syncCoValue(this),C}getCurrentContent(A){if(!A?.ignorePrivateTransactions&&this._cachedContent)return this._cachedContent;let i=bg(this,A);return A?.ignorePrivateTransactions||(this._cachedContent=i),i}getValidSortedTransactions(A){let e=xg(this).flatMap(({txID:t,tx:g})=>{if(g.privacy==="trusting")return{txID:t,madeAt:g.madeAt,changes:oI(g.changes)};{if(A?.ignorePrivateTransactions)return;let o=this.getReadKey(g.keyUsed);if(o){let n=this._decryptionCache[g.encryptedChanges];if(!n){let C=Jg(g.encryptedChanges,o,{in:this.id,tx:t});n=C&&oI(C),this._decryptionCache[g.encryptedChanges]=n}if(!n){console.error("Failed to decrypt transaction despite having key");return}return{txID:t,madeAt:g.madeAt,changes:n}}else return}}).filter(t=>!!t);return e.sort((t,g)=>t.madeAt-g.madeAt||(t.txID.sessionID0;){n==="first"&&(n=void 0);let Q=n??this.sessionLogs.keys();for(let s of Q){let c=s,E=this.sessionLogs.get(c),D=A?.sessions[c],d=g[c],u=fr(E,D,d),G=d??D??0,F=u===void 0?E.transactions.length:u+1,p=Math.max(0,F-G);if(p===0){n?.delete(c);continue}F=ei&&(e={action:"content",id:this.id,header:void 0,new:{}},t.push(e),o=o-m);let J=e.new[c];J||(J={after:d??D??0,newTransactions:[],lastSignature:"WILL_BE_REPLACED"},e.new[c]=J);for(let K=G;KObject.keys(Q.new).length>0||Q.header);if(C.length!==0)return i&&(this._cachedNewContentSinceEmpty=C),C}getDependedOnCoValues(){if(this._cachedDependentOn)return this._cachedDependentOn;{let A=this.getDependedOnCoValuesUncached();return this._cachedDependentOn=A,A}}getDependedOnCoValuesUncached(){return this.header.ruleset.type==="group"?pA(this.getCurrentContent()).keys().filter(A=>A.startsWith("co_")):this.header.ruleset.type==="ownedByGroup"?[this.header.ruleset.group,...new Set([...this.sessionLogs.keys()].map(A=>rA(A)).filter(A=>Ii(A)&&A!==this.id))]:[]}};function fr(I,A,i){return Object.keys(I.signatureAfter).map(Number).sort((e,t)=>e-t).find(e=>e>=(i??A??-1))}function vg(I){return{id:I,header:!1,sessions:{}}}function Lg(I,A){let i={},e=new Set([...Object.keys(I.sessions),...Object.keys(A.sessions)]);for(let t of e){let g=I.sessions[t],o=A.sessions[t];i[t]=Math.max(g||0,o||0)}return{id:I.id,header:I.header||A.header,sessions:i}}var ot=class{constructor(A){this.peers={},this.requestedSyncs={},this.local=A}peersInPriorityOrder(){return Object.values(this.peers).sort((A,i)=>{let e=A.priority||0;return(i.priority||0)-e})}async loadFromPeers(A,i){for(let e of this.peersInPriorityOrder()){if(e.id===i||e.role!=="server")continue;e.outgoing.write({action:"load",id:A,header:!1,sessions:{}}).catch(o=>{console.error("Error writing to peer",o)});let t=this.local.coValues[A];if(t?.state!=="loading")continue;let g=t.firstPeerState[e.id];if(g?.type!=="waiting")throw new Error("Expected firstPeerState to be waiting "+A);await new Promise(o=>{let n=setTimeout(()=>{this.local.coValues[A]?.state==="loading",o()},1e3);g.done.then(()=>{clearTimeout(n),o()}).catch(C=>{clearTimeout(n),console.error("Error waiting for peer to load",A,"from",e.id,C),o()})})}}async handleSyncMessage(A,i){switch(A.action){case"load":return await this.handleLoad(A,i);case"known":return A.isCorrection?await this.handleCorrection(A,i):await this.handleKnownState(A,i);case"content":return await this.handleNewContent(A,i);case"done":return await this.handleUnsubscribe(A);default:throw new Error(`Unknown message type ${A.action}`)}}async subscribeToIncludingDependencies(A,i){let e=this.local.coValues[A];if(!e)throw new Error("Expected coValue entry on subscribe");if(e.state==="loading"){await this.trySendToPeer(i,{action:"load",id:A,header:!1,sessions:{}});return}let t=e.coValue;for(let g of t.getDependedOnCoValues())await this.subscribeToIncludingDependencies(g,i);i.toldKnownState.has(A)||(i.toldKnownState.add(A),await this.trySendToPeer(i,{action:"load",...t.knownState()}))}async tellUntoldKnownStateIncludingDependencies(A,i,e){let t=this.local.expectCoValueLoaded(A);await Promise.all(t.getDependedOnCoValues().map(g=>this.tellUntoldKnownStateIncludingDependencies(g,i,e||A))),i.toldKnownState.has(A)||(await this.trySendToPeer(i,{action:"known",asDependencyOf:e,...t.knownState()}),i.toldKnownState.add(A))}async sendNewContentIncludingDependencies(A,i){let e=this.local.expectCoValueLoaded(A);await Promise.all(e.getDependedOnCoValues().map(g=>this.sendNewContentIncludingDependencies(g,i)));let t=e.newContentSince(i.optimisticKnownStates[A]);if(t){let g=i.optimisticKnownStates[A]||vg(A);(async()=>{let n=performance.now();for(let[C,Q]of t.entries())await this.trySendToPeer(i,Q),performance.now()-n>10&&(await new Promise(s=>{setTimeout(s,0)}),n=performance.now())})().catch(n=>(console.error("Error sending new content piece, retrying",n),i.optimisticKnownStates[A]=g,this.sendNewContentIncludingDependencies(A,i))),i.optimisticKnownStates[A]=Lg(g,e.knownState())}}addPeer(A){let i={id:A.id,optimisticKnownStates:{},incoming:A.incoming,outgoing:A.outgoing.getWriter(),toldKnownState:new Set,role:A.role,delayOnError:A.delayOnError,priority:A.priority};this.peers[A.id]=i,A.role==="server"&&(async()=>{for(let g of Object.keys(this.local.coValues))await this.subscribeToIncludingDependencies(g,i),i.optimisticKnownStates[g]={id:g,header:!1,sessions:{}}})(),(async()=>{try{for await(let t of i.incoming)try{this.handleSyncMessage(t,i).catch(g=>{console.error(new Date,`Error reading from peer ${A.id}, handling msg`,JSON.stringify(t,(o,n)=>o==="changes"||o==="encryptedChanges"?n.slice(0,20)+"...":n),g)})}catch(g){console.error(new Date,`Error reading from peer ${A.id}, handling msg`,JSON.stringify(t,(o,n)=>o==="changes"||o==="encryptedChanges"?n.slice(0,20)+"...":n),g),i.delayOnError&&await new Promise(o=>{setTimeout(o,i.delayOnError)})}}catch(t){console.error(`Error reading from peer ${A.id}`,t)}console.log("Peer disconnected:",A.id),delete this.peers[A.id]})()}trySendToPeer(A,i){return this.peers[A.id]?new Promise(e=>{let t=Date.now();A.outgoing.write(i).then(()=>{Date.now()-t>1e3||e()}).catch(g=>{console.error(new Error(`Error writing to peer ${A.id}, disconnecting`,{cause:g})),delete this.peers[A.id]})}):Promise.resolve()}async handleLoad(A,i){i.optimisticKnownStates[A.id]=nt(A);let e=this.local.coValues[A.id];if(e||(this.local.loadCoValueCore(A.id,{dontLoadFrom:i.id,dontWaitFor:i.id}).catch(t=>{console.error("Error loading coValue in handleLoad",t)}),e=this.local.coValues[A.id]),e.state==="loading"&&await e.done==="unavailable"){i.optimisticKnownStates[A.id]=nt(A),i.toldKnownState.add(A.id),await this.trySendToPeer(i,{action:"known",id:A.id,header:!1,sessions:{}});return}await this.tellUntoldKnownStateIncludingDependencies(A.id,i),await this.sendNewContentIncludingDependencies(A.id,i)}async handleKnownState(A,i){let e=this.local.coValues[A.id];if(i.optimisticKnownStates[A.id]=Lg(i.optimisticKnownStates[A.id]||vg(A.id),nt(A)),!e)if(A.asDependencyOf)if(this.local.coValues[A.asDependencyOf])this.local.loadCoValueCore(A.id,{dontLoadFrom:i.id}).catch(t=>{console.error(`Error loading coValue ${A.id} to create loading state, as dependency of ${A.asDependencyOf}`,t)}),e=this.local.coValues[A.id];else throw new Error("Expected coValue dependency entry to be created, missing subscribe?");else throw new Error("Expected coValue entry to be created, missing subscribe?");if(e.state==="loading"){let t=i.optimisticKnownStates[A.id]?.header,g=e.firstPeerState[i.id];return g?.type==="waiting"&&g.resolve(),e.firstPeerState[i.id]=t?{type:"available"}:{type:"unavailable"},Object.values(e.firstPeerState).every(o=>o.type==="unavailable")&&e.resolve("unavailable"),[]}await this.tellUntoldKnownStateIncludingDependencies(A.id,i),await this.sendNewContentIncludingDependencies(A.id,i)}async handleNewContent(A,i){let e=this.local.coValues[A.id];if(!e)throw new Error("Expected coValue entry to be created, missing subscribe?");let t,g=i.optimisticKnownStates[A.id];if(!g)throw new Error("Expected optimisticKnownState to be set for coValue we receive new content for");if(e.state==="loading"){if(!A.header)throw new Error("Expected header to be sent in first message");let C=e.firstPeerState[i.id];C?.type==="waiting"&&(C.resolve(),e.firstPeerState[i.id]={type:"available"}),g.header=!0;let Q=new GI(A.header,this.local);t=e.resolve,e={state:"loaded",coValue:Q,onProgress:e.onProgress},this.local.coValues[A.id]=e}let o=e.coValue,n=!1;for(let[C,Q]of Object.entries(A.new)){let s=o.sessionLogs.get(C)?.transactions.length,c=Q.after;if((s||0)80){let m=D.map(J=>J.privacy==="private"?J.encryptedChanges.length:J.changes.length).reduce((J,K)=>J+K,0);console.log(`Adding incoming transactions took ${(G-d).toFixed(2)}ms for ${m} bytes = bandwidth: ${(1e3*m/(G-d)/(1024*1024)).toFixed(2)} MB/s`)}let F=Object.values(i.optimisticKnownStates[A.id]?.sessions||{}).reduce((m,J)=>m+J,0),p=[...o.sessionLogs.values()].reduce((m,J)=>m+J.transactions.length,0);if(e.onProgress?.(p/F),!u){console.error("Failed to add transactions",A.id,JSON.stringify(D,(m,J)=>m==="changes"||m==="encryptedChanges"?J.slice(0,20)+"...":J));continue}g.sessions[C]=Math.max(g.sessions[C]||0,Q.after+Q.newTransactions.length)}t&&t(o),await this.syncCoValue(o),n&&await this.trySendToPeer(i,{action:"known",isCorrection:!0,...o.knownState()})}async handleCorrection(A,i){return i.optimisticKnownStates[A.id]=A,this.sendNewContentIncludingDependencies(A.id,i)}handleUnsubscribe(A){throw new Error("Method not implemented.")}async syncCoValue(A){if(this.requestedSyncs[A.id])return this.requestedSyncs[A.id].nRequestsThisTick++,this.requestedSyncs[A.id].done;{let i=new Promise(t=>{setTimeout(async()=>{delete this.requestedSyncs[A.id],await this.actuallySyncCoValue(A),t()},0)}),e={done:i,nRequestsThisTick:1};return this.requestedSyncs[A.id]=e,i}}async actuallySyncCoValue(A){let i=performance.now();for(let e of this.peersInPriorityOrder())performance.now()-i>5&&(await new Promise(g=>{setTimeout(g,0)}),i=performance.now()),e.optimisticKnownStates[A.id]?(await this.tellUntoldKnownStateIncludingDependencies(A.id,e),await this.sendNewContentIncludingDependencies(A.id,e)):e.role==="server"&&(await this.subscribeToIncludingDependencies(A.id,e),await this.sendNewContentIncludingDependencies(A.id,e))}};function nt(I){return{id:I.id,header:I.header,sessions:I.sessions}}var zA=class{constructor(A,i){this.coValues={},this.syncManager=new ot(this),this.account=A,this.currentSessionID=i}static async withNewlyCreatedAccount({name:A,peersToLoadFrom:i,migration:e,initialAgentSecret:t=zI()}){let g=zI(),n=new zA(new kI(g),fI(kA(g))).createAccount(A,t),C=n.core.node.testWithDifferentAccount(n,fI(n.id)),Q=C.account,s=C.expectProfileLoaded(Q.id,"After creating account");if(i)for(let E of i)C.syncManager.addPeer(E);e&&await e(Q,s,C),C.account=new CI(Q.core,Q.agentSecret);function c(){for(let E of Object.values(C.coValues))E.state==="loaded"&&C.syncManager.syncCoValue(E.coValue)}return c(),setTimeout(c,500),{node:C,accountID:Q.id,accountSecret:Q.agentSecret,sessionID:C.currentSessionID}}static async withLoadedAccount({accountID:A,accountSecret:i,sessionID:e,peersToLoadFrom:t,migration:g}){let o=new zA(new kI(i),fI(A));for(let D of t)o.syncManager.addPeer(D);let C=await o.load(A);if(C==="unavailable")throw new Error("Account unavailable from all peers");let Q=new CI(C.core,i),s=o.testWithDifferentAccount(Q,e);s.syncManager=o.syncManager,s.syncManager.local=s,Q.core.node=s,s.coValues[A]={state:"loaded",coValue:Q.core};let c=C.get("profile");if(!c)throw new Error("Account has no profile");let E=await s.load(c);return g&&(await g(Q,E,s),s.account=new CI(Q.core,Q.agentSecret)),s}createCoValue(A){let i=new GI(A,this);return this.coValues[i.id]={state:"loaded",coValue:i},this.syncManager.syncCoValue(i),i}async loadCoValueCore(A,i={}){let e=this.coValues[A];if(!e){let t=new Set(Object.values(this.syncManager.peers).filter(g=>g.role==="server").map(g=>g.id));i.dontWaitFor&&t.delete(i.dontWaitFor),e=dr(t,i.onProgress),this.coValues[A]=e,this.syncManager.loadFromPeers(A,i.dontLoadFrom).catch(g=>{console.error("Error loading from peers",A,g)})}return e.state==="loaded"?Promise.resolve(e.coValue):e.done}async load(A,i){let e=await this.loadCoValueCore(A,{onProgress:i});return e==="unavailable"?"unavailable":e.getCurrentContent()}subscribe(A,i){let e=!1,t;return this.load(A).then(g=>{if(!e){if(g==="unavailable"){i("unavailable");return}t=g.subscribe(i)}}).catch(g=>{console.error("Error subscribing to ",A,g)}),()=>{console.log("Unsubscribing from "+A),e=!0,t?.()}}async acceptInvite(A,i){let e=await this.load(A);if(e==="unavailable")throw new Error("Trying to accept invite: Group/owned value unavailable from all peers");if(e.core.header.ruleset.type==="ownedByGroup")return this.acceptInvite(e.core.header.ruleset.group,i);if(e.core.header.ruleset.type!=="group")throw new Error("Can only accept invites to groups");let t=pA(e),g=Ai(Kg(i)),o=kA(g),n=await new Promise((s,c)=>{t.subscribe(E=>{let D=E.get(o);D&&s(D)}),setTimeout(()=>c(new Error("Couldn't find invite before timeout")),2e3)});if(!n)throw new Error("No invite found");let C=t.get(this.account.id);if(C==="admin"||C==="writer"&&n==="writerInvite"||C==="writer"&&n==="reader"||C==="reader"&&n==="readerInvite"){console.debug("Not accepting invite that would replace or downgrade role");return}let Q=pA(t.core.testWithDifferentAccount(new kI(g),fI(o)).getCurrentContent());Q.addMemberInternal(this.account,n==="adminInvite"?"admin":n==="writerInvite"?"writer":"reader"),t.core._sessionLogs=Q.core.sessionLogs,t.core._cachedContent=void 0;for(let s of t.core.listeners)s(t.core.getCurrentContent())}expectCoValueLoaded(A,i){let e=this.coValues[A];if(!e)throw new Error(`${i?i+": ":""}Unknown CoValue ${A}`);if(e.state==="loading")throw new Error(`${i?i+": ":""}CoValue ${A} not yet loaded`);return e.coValue}expectProfileLoaded(A,i){let e=this.expectCoValueLoaded(A,i),t=pA(e.getCurrentContent()).get("profile");if(!t)throw new Error(`${i?i+": ":""}Account ${A} has no profile`);return this.expectCoValueLoaded(t,i).getCurrentContent()}createAccount(A,i=zI()){let e=kA(i),t=pA(this.createCoValue(Qe(i)).testWithDifferentAccount(new kI(i),fI(e)).getCurrentContent());t=t.mutate(C=>{C.set(e,"admin","trusting");let Q=Ji(),s=_I({message:Q.secret,from:Hi(i),to:WA(e),nOnceMaterial:{in:t.id,tx:t.core.nextTransactionID()}});C.set(`${Q.id}_for_${e}`,s,"trusting"),C.set("readKey",Q.id,"trusting")});let g=t.createMap({name:A},{type:"profile"},"trusting");t=t.set("profile",g.id,"trusting");let o=this.expectCoValueLoaded(t.id);o._sessionLogs=new Map(t.core.sessionLogs),o._cachedContent=void 0;let n=this.createCoValue(g.core.header);return n._sessionLogs=new Map(g.core.sessionLogs),n._cachedContent=void 0,new CI(o,i)}resolveAccountAgent(A,i){if(Mi(A))return A;let e=this.expectCoValueLoaded(A,i);if(e.header.type!=="comap"||e.header.ruleset.type!=="group"||!e.header.meta||!("type"in e.header.meta)||e.header.meta.type!=="account")throw new Error(`${i?i+": ":""}CoValue ${A} is not an account`);return new MA(e).currentAgentID()}async resolveAccountAgentAsync(A,i){if(Mi(A))return A;let e=await this.loadCoValueCore(A);if(e==="unavailable")throw new Error(`${i?i+": ":""}Account ${A} is unavailable from all peers`);if(e.header.type!=="comap"||e.header.ruleset.type!=="group"||!e.header.meta||!("type"in e.header.meta)||e.header.meta.type!=="account")throw new Error(`${i?i+": ":""}CoValue ${A} is not an account`);return new MA(e).currentAgentID()}createGroup(){let A=this.createCoValue({type:"comap",ruleset:{type:"group",initialAdmin:this.account.id},meta:null,...SI()}),i=pA(A.getCurrentContent());return i=i.mutate(e=>{e.set(this.account.id,"admin","trusting");let t=Ji();e.set(`${t.id}_for_${this.account.id}`,_I({message:t.secret,from:this.account.currentSealerSecret(),to:this.account.currentSealerID(),nOnceMaterial:{in:A.id,tx:A.nextTransactionID()}}),"trusting"),e.set("readKey",t.id,"trusting")}),i}testWithDifferentAccount(A,i){let e=new zA(A,i),t=Object.entries(this.coValues);for(;t.length>0;){let[g,o]=t[t.length-1];if(o.state==="loading"){t.pop();continue}else{if(!o.coValue.getDependedOnCoValues().every(Q=>e.coValues[Q]?.state==="loaded")){t.unshift(t.pop());continue}let C=new GI(o.coValue.header,e,new Map(o.coValue.sessionLogs));e.coValues[g]={state:"loaded",coValue:C},t.pop()}}if(A instanceof CI){let g=new CI(e.expectCoValueLoaded(A.id),A.agentSecret);if(g.core.node!==e)throw new Error("Account's node is not the new node");e.account=g}return e}};function dr(I,A){let i,e=new Promise(t=>{i=t});return{state:"loading",done:e,resolve:i,onProgress:A,firstPeerState:Object.fromEntries([...I].map(t=>{let g,o=new Promise(n=>{g=n});return[t,{type:"waiting",done:o,resolve:g}]}))}}var{ReadableStream:ti,ReadableStreamDefaultReader:Ra,ReadableStreamBYOBReader:xa,ReadableStreamBYOBRequest:ba,ReadableByteStreamController:va,ReadableStreamDefaultController:La,TransformStream:ae,TransformStreamDefaultController:Oa,WritableStream:se,WritableStreamDefaultWriter:Xa,WritableStreamDefaultController:Pa,ByteLengthQueuingStrategy:Za,CountQueuingStrategy:Va,TextEncoderStream:Wa,TextDecoderStream:Ta}=window;if(!ti.prototype[Symbol.asyncIterator]){async function*I(){let A=this.getReader();try{for(;;){let{done:i,value:e}=await A.read();if(i)return;yield e}}finally{A.releaseLock()}}ti.prototype[Symbol.asyncIterator]=I}function Og(I,A,{trace:i=!1,peer1role:e="peer",peer2role:t="peer"}={}){let[g,o]=ce(I+"_in"),[n,C]=ce(I+"_out"),[Q,s]=ce(A+"_in"),[c,E]=ce(A+"_out");return c.pipeThrough(new ae({transform(u,G){i&&console.debug(`${A} -> ${I}`,JSON.stringify(u,(F,p)=>F==="changes"||F==="encryptedChanges"?p.slice(0,20)+"...":p,2)),G.enqueue(u)}})).pipeTo(o),n.pipeThrough(new ae({transform(u,G){i&&console.debug(`${I} -> ${A}`,JSON.stringify(u,(F,p)=>F==="changes"||F==="encryptedChanges"?p.slice(0,20)+"...":p,2)),G.enqueue(u)}})).pipeTo(s),[{id:I,incoming:Q,outgoing:E,role:e},{id:A,incoming:g,outgoing:C,role:t}]}function ce(I){let A=0,i=!1,e,t=new Promise(E=>{e=E}),g,o=new Promise(E=>{g=E}),n=!1;function C(){A>=100?(n=!0,A%100===0&&console.warn(I,"overflowing queue length",A)):n&&(console.debug(I,"ok queue length",A),n=!1)}let Q=new ti({async start(E){e(E.enqueue.bind(E)),g(E.close.bind(E))},cancel(E){console.log("Manually closing reader"),i=!0}}).pipeThrough(new ae({transform(E,D){A-=1,C(),D.enqueue(E)}})),s=Promise.resolve(),c=new se({async write(E){A+=1,C();let D=await t;if(i)throw new Error("Reader closed");await s,s=new Promise(d=>{D(E),d()})},async abort(E){console.debug("Manually closing writer",E),(await o)()}});return[Q,c]}var yA={agentSecretFromBytes:Sg,agentSecretToBytes:Fg,newRandomSessionID:fI,newRandomAgentSecret:zI,connectedPeers:Og,getAgentID:kA,rawCoIDtoBytes:Mg,rawCoIDfromBytes:Yg,newRandomSecretSeed:re,agentSecretFromSecretSeed:Ai,secretSeedLength:qi,shortHashLength:Ui,expectGroup:pA,base64URLtoBytes:FI,bytesToBase64url:hI,parseJSON:oI,accountOrAgentIDfromSessionID:rA,isAccountID:Ii,accountHeaderForInitialAgentSecret:Qe,idforHeader:tt};var wr=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function NI(I,A){return I(A={exports:{}},A.exports),A.exports}var gA=NI(function(I){var A,i;A=wr,i=function(){function e(t){var g=[];if(t.length===0)return"";if(typeof t[0]!="string")throw new TypeError("Url must be a string. Received "+t[0]);if(t[0].match(/^[^/:]+:\/*$/)&&t.length>1){var o=t.shift();t[0]=o+t[0]}t[0].match(/^file:\/\/\//)?t[0]=t[0].replace(/^([^/:]+):\/*/,"$1:///"):t[0]=t[0].replace(/^([^/:]+):\/*/,"$1://");for(var n=0;n0&&(C=C.replace(/^[\/]+/,"")),C=n0?"?":"")+s.join("&")}return function(){return e(typeof arguments[0]=="object"?arguments[0]:[].slice.call(arguments))}},I.exports?I.exports=i():A.urljoin=i()}),Xg=typeof Symbol!="undefined"&&Symbol,Pg={foo:{}},ur=Object,Dr="Function.prototype.bind called on incompatible ",pr=Object.prototype.toString,lr=Math.max,Zg=function(I,A){for(var i=[],e=0;e1&&typeof A!="boolean")throw new oi('"allowMissing" argument must be a boolean');if(Hr(/^%?[^%]*%?$/,I)===null)throw new gi("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var i=qr(I),e=i.length>0?i[0]:"",t=Mr("%"+e+"%",A),g=t.name,o=t.value,n=!1,C=t.alias;C&&(e=C[0],mr(i,Nr([0,1],C)));for(var Q=1,s=!0;Q=i.length){var d=mI(o,c);o=(s=!!d)&&"get"in d&&!("originalValue"in d.get)?d.get:o[c]}else s=Ee(o,c),o=o[c];s&&!n&&(HI[g]=o)}}return o},Bt=NI(function(I){var A=vA("%Function.prototype.apply%"),i=vA("%Function.prototype.call%"),e=vA("%Reflect.apply%",!0)||BI.call(i,A),t=vA("%Object.getOwnPropertyDescriptor%",!0),g=vA("%Object.defineProperty%",!0),o=vA("%Math.max%");if(g)try{g({},"a",{value:1})}catch{g=null}I.exports=function(C){var Q=e(BI,i,arguments);if(t&&g){var s=t(Q,"length");s.configurable&&g(Q,"length",{value:1+o(0,C.length-(arguments.length-1))})}return Q};var n=function(){return e(BI,A,arguments)};g?g(I.exports,"apply",{value:n}):I.exports.apply=n}),Yr=(Bt.apply,Bt(vA("String.prototype.indexOf"))),Ci=function(I,A){var i=vA(I,!!A);return typeof i=="function"&&Yr(I,".prototype.")>-1?Bt(i):i},Bi=function(I){return I&&I.default||I}(Object.freeze({__proto__:null,default:{}})),Qt=typeof Map=="function"&&Map.prototype,at=Object.getOwnPropertyDescriptor&&Qt?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,fe=Qt&&at&&typeof at.get=="function"?at.get:null,jg=Qt&&Map.prototype.forEach,st=typeof Set=="function"&&Set.prototype,ct=Object.getOwnPropertyDescriptor&&st?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,de=st&&ct&&typeof ct.get=="function"?ct.get:null,_g=st&&Set.prototype.forEach,Yi=typeof WeakMap=="function"&&WeakMap.prototype?WeakMap.prototype.has:null,Ki=typeof WeakSet=="function"&&WeakSet.prototype?WeakSet.prototype.has:null,$g=typeof WeakRef=="function"&&WeakRef.prototype?WeakRef.prototype.deref:null,Kr=Boolean.prototype.valueOf,Rr=Object.prototype.toString,xr=Function.prototype.toString,br=String.prototype.match,Et=String.prototype.slice,dI=String.prototype.replace,vr=String.prototype.toUpperCase,Ao=String.prototype.toLowerCase,Io=RegExp.prototype.test,io=Array.prototype.concat,jA=Array.prototype.join,Lr=Array.prototype.slice,eo=Math.floor,ht=typeof BigInt=="function"?BigInt.prototype.valueOf:null,ft=Object.getOwnPropertySymbols,dt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,Qi=typeof Symbol=="function"&&typeof Symbol.iterator=="object",fA=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===Qi||"symbol")?Symbol.toStringTag:null,to=Object.prototype.propertyIsEnumerable,go=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(I){return I.__proto__}:null);function oo(I,A){if(I===1/0||I===-1/0||I!=I||I&&I>-1e3&&I<1e3||Io.call(/e/,A))return A;var i=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof I=="number"){var e=I<0?-eo(-I):eo(I);if(e!==I){var t=String(e),g=Et.call(A,t.length+1);return dI.call(t,i,"$&_")+"."+dI.call(dI.call(g,/([0-9]{3})/g,"$&_"),/_$/,"")}}return dI.call(A,i,"$&_")}var no=Bi.custom,ro=Qo(no)?no:null,Or=function I(A,i,e,t){var g=i||{};if(wI(g,"quoteStyle")&&g.quoteStyle!=="single"&&g.quoteStyle!=="double")throw new TypeError('option "quoteStyle" must be "single" or "double"');if(wI(g,"maxStringLength")&&(typeof g.maxStringLength=="number"?g.maxStringLength<0&&g.maxStringLength!==1/0:g.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var o=!wI(g,"customInspect")||g.customInspect;if(typeof o!="boolean"&&o!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(wI(g,"indent")&&g.indent!==null&&g.indent!==" "&&!(parseInt(g.indent,10)===g.indent&&g.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(wI(g,"numericSeparator")&&typeof g.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var n=g.numericSeparator;if(A===void 0)return"undefined";if(A===null)return"null";if(typeof A=="boolean")return A?"true":"false";if(typeof A=="string")return function N(R,M){if(R.length>M.maxStringLength){var X=R.length-M.maxStringLength,Z="... "+X+" more character"+(X>1?"s":"");return N(Et.call(R,0,M.maxStringLength),M)+Z}return Co(dI.call(dI.call(R,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,Zr),"single",M)}(A,g);if(typeof A=="number"){if(A===0)return 1/0/A>0?"0":"-0";var C=String(A);return n?oo(A,C):C}if(typeof A=="bigint"){var Q=String(A)+"n";return n?oo(A,Q):Q}var s=g.depth===void 0?5:g.depth;if(e===void 0&&(e=0),e>=s&&s>0&&typeof A=="object")return wt(A)?"[Array]":"[Object]";var c=function(N,R){var M;if(N.indent===" ")M=" ";else{if(!(typeof N.indent=="number"&&N.indent>0))return null;M=jA.call(Array(N.indent+1)," ")}return{base:M,prev:jA.call(Array(R+1),M)}}(g,e);if(t===void 0)t=[];else if(ao(t,A)>=0)return"[Circular]";function E(N,R,M){if(R&&(t=Lr.call(t)).push(R),M){var X={depth:g.depth};return wI(g,"quoteStyle")&&(X.quoteStyle=g.quoteStyle),I(N,X,e+1,t)}return I(N,g,e+1,t)}if(typeof A=="function"&&!Bo(A)){var D=function(N){if(N.name)return N.name;var R=br.call(xr.call(N),/^function\s*([\w$]+)/);return R?R[1]:null}(A),d=we(A,E);return"[Function"+(D?": "+D:" (anonymous)")+"]"+(d.length>0?" { "+jA.call(d,", ")+" }":"")}if(Qo(A)){var u=Qi?dI.call(String(A),/^(Symbol\(.*\))_[^)]*$/,"$1"):dt.call(A);return typeof A!="object"||Qi?u:Ri(u)}if(function(N){return!N||typeof N!="object"?!1:typeof HTMLElement!="undefined"&&N instanceof HTMLElement?!0:typeof N.nodeName=="string"&&typeof N.getAttribute=="function"}(A)){for(var G="<"+Ao.call(String(A.nodeName)),F=A.attributes||[],p=0;p"}if(wt(A)){if(A.length===0)return"[]";var m=we(A,E);return c&&!function(N){for(var R=0;R=0)return!1;return!0}(m)?"["+Dt(m,c)+"]":"[ "+jA.call(m,", ")+" ]"}if(function(N){return!(uI(N)!=="[object Error]"||fA&&typeof N=="object"&&fA in N)}(A)){var J=we(A,E);return"cause"in Error.prototype||!("cause"in A)||to.call(A,"cause")?J.length===0?"["+String(A)+"]":"{ ["+String(A)+"] "+jA.call(J,", ")+" }":"{ ["+String(A)+"] "+jA.call(io.call("[cause]: "+E(A.cause),J),", ")+" }"}if(typeof A=="object"&&o){if(ro&&typeof A[ro]=="function"&&Bi)return Bi(A,{depth:s-e});if(o!=="symbol"&&typeof A.inspect=="function")return A.inspect()}if(function(N){if(!fe||!N||typeof N!="object")return!1;try{fe.call(N);try{de.call(N)}catch{return!0}return N instanceof Map}catch{}return!1}(A)){var K=[];return jg&&jg.call(A,function(N,R){K.push(E(R,A,!0)+" => "+E(N,A))}),so("Map",fe.call(A),K,c)}if(function(N){if(!de||!N||typeof N!="object")return!1;try{de.call(N);try{fe.call(N)}catch{return!0}return N instanceof Set}catch{}return!1}(A)){var f=[];return _g&&_g.call(A,function(N){f.push(E(N,A))}),so("Set",de.call(A),f,c)}if(function(N){if(!Yi||!N||typeof N!="object")return!1;try{Yi.call(N,Yi);try{Ki.call(N,Ki)}catch{return!0}return N instanceof WeakMap}catch{}return!1}(A))return ut("WeakMap");if(function(N){if(!Ki||!N||typeof N!="object")return!1;try{Ki.call(N,Ki);try{Yi.call(N,Yi)}catch{return!0}return N instanceof WeakSet}catch{}return!1}(A))return ut("WeakSet");if(function(N){if(!$g||!N||typeof N!="object")return!1;try{return $g.call(N),!0}catch{}return!1}(A))return ut("WeakRef");if(function(N){return!(uI(N)!=="[object Number]"||fA&&typeof N=="object"&&fA in N)}(A))return Ri(E(Number(A)));if(function(N){if(!N||typeof N!="object"||!ht)return!1;try{return ht.call(N),!0}catch{}return!1}(A))return Ri(E(ht.call(A)));if(function(N){return!(uI(N)!=="[object Boolean]"||fA&&typeof N=="object"&&fA in N)}(A))return Ri(Kr.call(A));if(function(N){return!(uI(N)!=="[object String]"||fA&&typeof N=="object"&&fA in N)}(A))return Ri(E(String(A)));if(!function(N){return!(uI(N)!=="[object Date]"||fA&&typeof N=="object"&&fA in N)}(A)&&!Bo(A)){var w=we(A,E),y=go?go(A)===Object.prototype:A instanceof Object||A.constructor===Object,k=A instanceof Object?"":"null prototype",U=!y&&fA&&Object(A)===A&&fA in A?Et.call(uI(A),8,-1):k?"Object":"",q=(y||typeof A.constructor!="function"?"":A.constructor.name?A.constructor.name+" ":"")+(U||k?"["+jA.call(io.call([],U||[],k||[]),": ")+"] ":"");return w.length===0?q+"{}":c?q+"{"+Dt(w,c)+"}":q+"{ "+jA.call(w,", ")+" }"}return String(A)};function Co(I,A,i){var e=(i.quoteStyle||A)==="double"?'"':"'";return e+I+e}function Xr(I){return dI.call(String(I),/"/g,""")}function wt(I){return!(uI(I)!=="[object Array]"||fA&&typeof I=="object"&&fA in I)}function Bo(I){return!(uI(I)!=="[object RegExp]"||fA&&typeof I=="object"&&fA in I)}function Qo(I){if(Qi)return I&&typeof I=="object"&&I instanceof Symbol;if(typeof I=="symbol")return!0;if(!I||typeof I!="object"||!dt)return!1;try{return dt.call(I),!0}catch{}return!1}var Pr=Object.prototype.hasOwnProperty||function(I){return I in this};function wI(I,A){return Pr.call(I,A)}function uI(I){return Rr.call(I)}function ao(I,A){if(I.indexOf)return I.indexOf(A);for(var i=0,e=I.length;i{Dg().then(A=>{pg=A,TI=i=>A.init().update(i).digest("binary"),Te=(i,{context:e})=>A.init().update(e).update(i).digest("binary"),lg=(i,e)=>(A.load(i).update(e),A.save()),yg=i=>A.load(i).digest("binary"),I()}).catch(A=>console.error("Failed to load cryptography dependencies",A))}),xe()]),qA=new TextEncoder,Fg=new TextDecoder;function or(){return`signerSecret_z${V.encode(new KA().to_bytes().copyAndDispose())}`}function nr(I){return V.decode(I.substring("signerSecret_z".length))}function rr(I){return`signerSecret_z${V.encode(I)}`}function Cr(I){return`signer_z${V.encode(KA.from_bytes(new W(V.decode(I.substring("signerSecret_z".length)))).public().to_bytes().copyAndDispose())}`}function Sg(I,A){let i=KA.from_bytes(new W(V.decode(I.substring("signerSecret_z".length)))).sign(new W(qA.encode(DA(A)))).to_bytes().copyAndDispose();return`signature_z${V.encode(i)}`}function je(I,A,i){return new gI(new W(V.decode(i.substring("signer_z".length)))).verify(new W(qA.encode(DA(A))),new XA(new W(V.decode(I.substring("signature_z".length)))))}function Br(){return`sealerSecret_z${V.encode(new xA().to_bytes().copyAndDispose())}`}function Qr(I){return V.decode(I.substring("sealerSecret_z".length))}function ar(I){return`sealerSecret_z${V.encode(I)}`}function sr(I){return`sealer_z${V.encode(xA.from_bytes(new W(V.decode(I.substring("sealerSecret_z".length)))).to_public().to_bytes().copyAndDispose())}`}function zI(){return`${Br()}/${or()}`}function kg(I){let[A,i]=I.split("/");return new Uint8Array([...Qr(A),...nr(i)])}function Gg(I){let A=ar(I.slice(0,32)),i=rr(I.slice(32));return`${A}/${i}`}function kA(I){let[A,i]=I.split("/");return`${sr(A)}/${Cr(i)}`}function jI(I){return I.split("/")[1]}function _e(I){return I.split("/")[1]}function WA(I){return I.split("/")[0]}function Hi(I){return I.split("/")[0]}function _I({message:I,from:A,to:i,nOnceMaterial:e}){let t=TI(qA.encode(DA(e))).slice(0,24),g=V.decode(i.substring("sealer_z".length)),o=V.decode(A.substring("sealerSecret_z".length)),n=qA.encode(DA(I)),C=xA.from_bytes(new W(o)).diffie_hellman(RA.from_bytes(new W(g))).to_bytes().copyAndDispose(),Q=Oe(C,t).encrypt(n);return`sealed_U${hI(Q)}`}function mg(I,A,i,e){let t=TI(qA.encode(DA(e))).slice(0,24),g=V.decode(A.substring("sealerSecret_z".length)),o=V.decode(i.substring("sealer_z".length)),n=FI(I.substring("sealed_U".length)),C=xA.from_bytes(new W(g)).diffie_hellman(RA.from_bytes(new W(o))).to_bytes().copyAndDispose(),Q=Oe(C,t).decrypt(n);try{return JSON.parse(Fg.decode(Q))}catch(s){console.error("Failed to decrypt/parse sealed message",s);return}}var $I=class{constructor(A){this.state=A||pg.init().save()}update(A){let i=qA.encode(DA(A));this.state=lg(this.state,i)}digest(){let A=yg(this.state);return`hash_z${V.encode(A)}`}clone(){return new $I(new Uint8Array(this.state))}},Ui=19;function Ng(I){return`shortHash_z${V.encode(TI(qA.encode(DA(I))).slice(0,Ui))}`}function Ji(){return{secret:`keySecret_z${V.encode(ki(32))}`,id:`key_z${V.encode(ki(12))}`}}function Hg(I,A,i){let e=V.decode(A.substring("keySecret_z".length)),t=TI(qA.encode(DA(i))).slice(0,24),g=qA.encode(DA(I)),o=ZI(e,t,g);return`encrypted_U${hI(o)}`}function Ug(I,A,i){return Hg(I,A,i)}function Jg(I){let A={encryptedID:I.toEncrypt.id,encryptingID:I.encrypting.id};return{encryptedID:I.toEncrypt.id,encryptingID:I.encrypting.id,encrypted:Hg(I.toEncrypt.secret,I.encrypting.secret,A)}}function qg(I,A,i){let e=V.decode(A.substring("keySecret_z".length)),t=TI(qA.encode(DA(i))).slice(0,24),g=FI(I.substring("encrypted_U".length)),o=ZI(e,t,g);return Fg.decode(o)}function cr(I,A,i){try{return oI(qg(I,A,i))}catch(e){console.error("Decryption error",e);return}}function Mg(I,A,i){return qg(I,A,i)}function Yg(I,A){let i={encryptedID:I.encryptedID,encryptingID:I.encryptingID};return cr(I.encrypted,A,i)}function Er(){return`z${V.encode(ki(12))}`}function SI(){return{createdAt:new Date().toISOString(),uniqueness:Er()}}var qi=32;function Be(){return ki(qi)}function Ai(I){if(I.length!==qi)throw new Error(`Secret seed needs to be ${qi} bytes long`);return`sealerSecret_z${V.encode(Te(I,{context:qA.encode("seal")}))}/signerSecret_z${V.encode(Te(I,{context:qA.encode("sign")}))}`}function rA(I){let A=I.indexOf("_session");return I.slice(0,A)}var $e=class{constructor(A){this.type="colist",this.id=A.id,this.core=A,this.afterStart=[],this.beforeEnd=[],this.insertions={},this.deletionsByInsertion={},this.insertions={},this.deletionsByInsertion={},this.afterStart=[],this.beforeEnd=[];for(let{txID:i,changes:e,madeAt:t}of this.core.getValidSortedTransactions())for(let[g,o]of e.entries()){let n=o;if(n.op==="pre"||n.op==="app"){let C=this.insertions[i.sessionID];C||(C={},this.insertions[i.sessionID]=C);let Q=C[i.txIndex];if(Q||(Q={},C[i.txIndex]=Q),Q[g]={madeAt:t,predecessors:[],successors:[],...n},n.op==="pre")if(n.before==="end")this.beforeEnd.push({...i,changeIdx:g});else{let s=this.insertions[n.before.sessionID]?.[n.before.txIndex]?.[n.before.changeIdx];if(!s)continue;s.predecessors.splice(0,0,{...i,changeIdx:g})}else if(n.after==="start")this.afterStart.push({...i,changeIdx:g});else{let s=this.insertions[n.after.sessionID]?.[n.after.txIndex]?.[n.after.changeIdx];if(!s)continue;s.successors.push({...i,changeIdx:g})}}else if(n.op==="del"){let C=this.deletionsByInsertion[n.insertion.sessionID];C||(C={},this.deletionsByInsertion[n.insertion.sessionID]=C);let Q=C[n.insertion.txIndex];Q||(Q={},C[n.insertion.txIndex]=Q);let s=Q[n.insertion.changeIdx];s||(s=[],Q[n.insertion.changeIdx]=s),s.push({madeAt:t,deletionID:{...i,changeIdx:g},...n})}else throw new Error("Unknown list operation "+n.op)}}get headerMeta(){return this.core.header.meta}get group(){return this.core.getGroup()}atTime(A){throw new Error("Not yet implemented")}get(A){let i=this.entries()[A];if(!!i)return i.value}asArray(){return this.entries().map(A=>A.value)}entries(){if(this._cachedEntries)return this._cachedEntries;let A=this.entriesUncached();return this._cachedEntries=A,A}entriesUncached(){let A=[];for(let i of this.afterStart)this.fillArrayFromOpID(i,A);for(let i of this.beforeEnd)this.fillArrayFromOpID(i,A);return A}fillArrayFromOpID(A,i){let e=this.insertions[A.sessionID]?.[A.txIndex]?.[A.changeIdx];if(!e)throw new Error("Missing op "+A);for(let g of e.predecessors)this.fillArrayFromOpID(g,i);(this.deletionsByInsertion[A.sessionID]?.[A.txIndex]?.[A.changeIdx]?.length||0)>0||i.push({value:e.value,madeAt:e.madeAt,opID:A});for(let g of e.successors)this.fillArrayFromOpID(g,i)}toJSON(){return this.asArray()}editAt(A){let i=this.entries()[A];if(!i)return;let e=new Date(i.madeAt),t=rA(i.opID.sessionID),g=i.value;return{by:t,tx:{sessionID:i.opID.sessionID,txIndex:i.opID.txIndex},at:e,value:g}}deletionEdits(){let A=[];for(let i in this.deletionsByInsertion){let e=this.deletionsByInsertion[i];for(let t in e){let g=e[Number(t)];for(let o in g){let n=g[Number(o)];for(let C of n||[]){let Q=new Date(C.madeAt),s=rA(C.deletionID.sessionID);A.push({by:s,tx:C.deletionID,at:Q})}}}}return A}subscribe(A){return this.core.subscribe(i=>{A(i)})}},QA=class extends $e{append(A,i,e="private"){let t=this.entries();i=i===void 0&&t.length>0?t.length-1:0;let g;if(t.length>0){let o=t[i];if(!o)throw new Error("Invalid index "+i);g=o.opID}else{if(i!==0)throw new Error("Invalid index "+i);g="start"}return this.core.makeTransaction([{op:"app",value:nI(A)?A.id:A,after:g}],e),new QA(this.core)}prepend(A,i,e="private"){let t=this.entries();i=i===void 0?0:i;let g;if(t.length>0){let o=t[i];if(o)g=o.opID;else{if(i!==t.length)throw new Error("Invalid index "+i);g="end"}}else{if(i!==0)throw new Error("Invalid index "+i);g="end"}return this.core.makeTransaction([{op:"pre",value:nI(A)?A.id:A,before:g}],e),new QA(this.core)}delete(A,i="private"){let t=this.entries()[A];if(!t)throw new Error("Invalid index "+A);return this.core.makeTransaction([{op:"del",insertion:t.opID}],i),new QA(this.core)}mutate(A){let i=new At(this.core);return A(i),new QA(this.core)}edit(A){return this.mutate(A)}},At=class extends $e{append(A,i,e="private"){let t=QA.prototype.append.call(this,A,i,e);this.afterStart=t.afterStart,this.beforeEnd=t.beforeEnd,this.insertions=t.insertions,this.deletionsByInsertion=t.deletionsByInsertion,this._cachedEntries=void 0}prepend(A,i,e="private"){let t=QA.prototype.prepend.call(this,A,i,e);this.afterStart=t.afterStart,this.beforeEnd=t.beforeEnd,this.insertions=t.insertions,this.deletionsByInsertion=t.deletionsByInsertion,this._cachedEntries=void 0}delete(A,i="private"){let e=QA.prototype.delete.call(this,A,i);this.afterStart=e.afterStart,this.beforeEnd=e.beforeEnd,this.insertions=e.insertions,this.deletionsByInsertion=e.deletionsByInsertion,this._cachedEntries=void 0}};function Ii(I){return I.startsWith("co_")}var Qe=class{constructor(A){this.type="costream",this.id=A.id,this.core=A,this.items={},this.fillFromCoValue()}get headerMeta(){return this.core.header.meta}get group(){return this.core.getGroup()}atTime(A){throw new Error("Not yet implemented")}fillFromCoValue(){this.items={};for(let{txID:A,madeAt:i,changes:e}of this.core.getValidSortedTransactions())for(let t of e){let g=t,o=this.items[A.sessionID];o||(o=[],this.items[A.sessionID]=o),o.push({value:g,madeAt:i,tx:A})}}getSingleStream(){if(Object.keys(this.items).length!==0){if(Object.keys(this.items).length!==1)throw new Error("CoStream.getSingleStream() can only be called when there is exactly one stream");return Object.values(this.items)[0]?.map(A=>A.value)}}sessions(){return Object.keys(this.items)}accounts(){return new Set(this.sessions().map(rA).filter(Ii))}nthItemIn(A,i){let e=this.items[A];if(!e)return;let t=e[i];if(!!t)return{by:rA(A),tx:t.tx,at:new Date(t.madeAt),value:t.value}}lastItemIn(A){let i=this.items[A];if(!!i)return this.nthItemIn(A,i.length-1)}*itemsIn(A){let i=this.items[A];if(!!i)for(let e of i)yield{by:rA(A),tx:e.tx,at:new Date(e.madeAt),value:e.value}}lastItemBy(A){let i;for(let e of Object.keys(this.items))if(e.startsWith(A)){let t=this.lastItemIn(e);if(!t)continue;(!i||t.at>i.at)&&(i={by:t.by,tx:t.tx,at:t.at,value:t.value})}return i}*itemsBy(A){let i=[...Object.keys(this.items).flatMap(e=>e.startsWith(A)?[...this.itemsIn(e)].map(t=>({in:e,...t})):[])];i.sort((e,t)=>e.at.getTime()-t.at.getTime());for(let e of i)yield e}toJSON(){return Object.fromEntries(Object.entries(this.items).map(([A,i])=>[A,i.map(e=>e.value)]))}subscribe(A){return this.core.subscribe(i=>{A(i)})}},bA=class extends Qe{push(A,i="private"){return this.core.makeTransaction([nI(A)?A.id:A],i),new bA(this.core)}mutate(A){let i=new ae(this.core);return A(i),new bA(this.core)}edit(A){return this.mutate(A)}},ae=class extends Qe{push(A,i="private"){this.core.makeTransaction([nI(A)?A.id:A],i),this.fillFromCoValue()}},hr=8,It=class extends Qe{getBinaryChunks(A){let i=this.getSingleStream();if(!i)return;let e=i[0];if(e?.type!=="start"){console.error("Invalid binary stream start",e);return}if(i[i.length-1]?.type!=="end"&&!A)return;let g=[],o=!1,n=Date.now();for(let C of i.slice(1)){if(C.type==="end"){o=!0;break}if(C.type!=="chunk"){console.error("Invalid binary stream chunk",C);return}let Q=FI(C.chunk.slice(hr));g.push(Q),Date.now()-n>100&&(n=Date.now())}return{mimeType:e.mimeType,fileName:e.fileName,totalSizeBytes:e.totalSizeBytes,chunks:g,finished:o}}},rI=class extends It{push(A,i="private",e=!0){if(this.core.makeTransaction([A],i),e)return new rI(this.core)}startBinaryStream(A,i="private"){return this.push({type:"start",...A},i,!1)}pushBinaryStreamChunk(A,i="private"){return this.push({type:"chunk",chunk:`binary_U${hI(A)}`},i,!1)}endBinaryStream(A="private"){return this.push({type:"end"},A,!0)}mutate(A){let i=new it(this.core);return A(i),new rI(this.core)}edit(A){return this.mutate(A)}},it=class extends It{push(A,i="private"){ae.prototype.push.call(this,A,i)}startBinaryStream(A,i="private"){this.push({type:"start",...A},i)}pushBinaryStreamChunk(A,i="private"){this.push({type:"chunk",chunk:`binary_U${hI(A)}`},i)}endBinaryStream(A="private"){this.push({type:"end"},A)}};function nI(I){return I instanceof hA||I instanceof QA||I instanceof bA||I instanceof rI}var et=class{constructor(A,i){this.type="comap",this.atTimeFilter=void 0,this.id=A.id,this.core=A,this.ops={};for(let{txID:e,changes:t,madeAt:g}of A.getValidSortedTransactions(i))for(let[o,n]of t.entries()){let C=n,Q=this.ops[C.key];Q||(Q=[],this.ops[C.key]=Q),Q.push({txID:e,madeAt:g,changeIdx:o,...C})}}get headerMeta(){return this.core.header.meta}get group(){return this.core.getGroup()}atTime(A){let i=Object.create(this);return i.id=this.id,i.type=this.type,i.core=this.core,i.ops=this.ops,i.atTimeFilter=A,i}timeFilteredOps(A){return this.atTimeFilter?this.ops[A]?.filter(i=>i.madeAt<=this.atTimeFilter):this.ops[A]}keys(){let A=Object.keys(this.ops);return this.atTimeFilter?A.filter(i=>this.timeFilteredOps(i)?.length):A}get(A){let i=this.timeFilteredOps(A);if(!i)return;let e=this.atTimeFilter,t=e?i.findLast(g=>g.madeAt<=e):i[i.length-1];if(t?.op!=="del")return t?.value}asObject(){let A={};for(let i of this.keys()){let e=this.get(i);e!==void 0&&(A[i]=e)}return A}toJSON(){return this.asObject()}nthEditAt(A,i){let e=this.timeFilteredOps(A);if(!e||e.length<=i)return;let t=e[i];if(!(this.atTimeFilter&&t.madeAt>this.atTimeFilter))return{by:rA(t.txID.sessionID),tx:t.txID,at:new Date(t.madeAt),value:t.op==="del"?void 0:t.value}}lastEditAt(A){let i=this.timeFilteredOps(A);if(!(!i||i.length===0))return this.nthEditAt(A,i.length-1)}*editsAt(A){let i=this.timeFilteredOps(A);if(!!i)for(let e=0;e{A(i)})}},hA=class extends et{set(...A){if(typeof A[0]=="string"){let[i,e,t="private"]=A;this.core.makeTransaction([{op:"set",key:i,value:nI(e)?e.id:e}],t)}else{let[i,e="private"]=A;for(let[t,g]of Object.entries(i))this.core.makeTransaction([{op:"set",key:t,value:nI(g)?g.id:g}],e)}return new hA(this.core)}delete(A,i="private"){return this.core.makeTransaction([{op:"del",key:A}],i),new hA(this.core)}mutate(A){let i=new tt(this.core);return A(i),new this.constructor(this.core)}edit(A){return this.mutate(A)}},tt=class extends et{set(A,i,e="private"){let t=hA.prototype.set.call(this,A,i,e);this.ops=t.ops}delete(A,i="private"){let e=hA.prototype.delete.call(this,A,i);this.ops=e.ops}};function Kg(I){return V.decode(I.substring("co_z".length))}function Rg(I){return`co_z${V.encode(I.slice(0,Ui))}`}function Mi(I){return typeof I=="string"&&I.startsWith("sealer_")&&I.includes("/signer_")}var ii="everyone",TA=class extends hA{roleOf(A){return this.roleOfInternal(A)}roleOfInternal(A){return this.get(A)}myRole(){return this.roleOfInternal(this.core.node.account.id)}addMember(A,i){return this.addMemberInternal(A,i)}addMemberInternal(A,i){return this.mutate(e=>{let t=this.core.getCurrentReadKey();if(!t.secret)throw new Error("Can't add member without read key secret");if(A===ii){if(!(i==="reader"||i==="writer"))throw new Error("Can't make everyone something other than reader or writer");if(e.set(A,i,"trusting"),e.get(A)!==i)throw new Error("Failed to set role");e.set(`${t.id}_for_${ii}`,t.secret,"trusting")}else{let g=typeof A=="string"?A:A.id,o=typeof A=="string"?A:A.currentAgentID();if(e.set(g,i,"trusting"),e.get(g)!==i)throw new Error("Failed to set role");e.set(`${t.id}_for_${g}`,_I({message:t.secret,from:this.core.node.account.currentSealerSecret(),to:WA(o),nOnceMaterial:{in:this.id,tx:this.core.nextTransactionID()}}),"trusting")}})}rotateReadKey(){let A=this.keys().filter(g=>{if(g.startsWith("co_")||Mi(g)){let o=this.get(g);return o==="admin"||o==="writer"||o==="reader"}else return!1}),i=this.core.getCurrentReadKey();if(!i.secret)throw new Error("Can't rotate read key secret we don't have access to");let e={id:i.id,secret:i.secret},t=Ji();return this.mutate(g=>{for(let o of A){let n=this.core.node.resolveAccountAgent(o,"Expected to know currently permitted reader");g.set(`${t.id}_for_${o}`,_I({message:t.secret,from:this.core.node.account.currentSealerSecret(),to:WA(n),nOnceMaterial:{in:this.id,tx:this.core.nextTransactionID()}}),"trusting")}g.set(`${e.id}_for_${t.id}`,Jg({encrypting:t,toEncrypt:e}).encrypted,"trusting"),g.set("readKey",t.id,"trusting")})}removeMember(A){return this.removeMemberInternal(A)}removeMemberInternal(A){let i=typeof A=="string"?A:A.id;return this.set(i,"revoked","trusting").rotateReadKey()}createInvite(A){let i=Be(),e=Ai(i),t=kA(e);return this.addMemberInternal(t,`${A}Invite`),fr(i)}createMap(A,i,e="private"){let t=this.core.node.createCoValue({type:"comap",ruleset:{type:"ownedByGroup",group:this.id},meta:i||null,...SI()}).getCurrentContent();if(A)for(let[g,o]of Object.entries(A))t=t.set(g,o,e);return t}createList(A,i,e="private"){let t=this.core.node.createCoValue({type:"colist",ruleset:{type:"ownedByGroup",group:this.id},meta:i||null,...SI()}).getCurrentContent();if(A)for(let g of A)t=t.append(g,void 0,e);return t}createStream(A){return this.core.node.createCoValue({type:"costream",ruleset:{type:"ownedByGroup",group:this.id},meta:A||null,...SI()}).getCurrentContent()}createBinaryStream(A={type:"binary"}){return this.core.node.createCoValue({type:"costream",ruleset:{type:"ownedByGroup",group:this.id},meta:A,...SI()}).getCurrentContent()}};function fr(I){return`inviteSecret_z${V.encode(I)}`}function xg(I){if(!I.startsWith("inviteSecret_z"))throw new Error("Invalid invite secret");return V.decode(I.slice("inviteSecret_z".length))}function se(I){let A=kA(I);return{type:"comap",ruleset:{type:"group",initialAdmin:A},meta:{type:"account"},createdAt:null,uniqueness:null}}var MA=class extends TA{currentAgentID(){let A=this.keys().filter(i=>i.startsWith("sealer_"));if(A.length!==1)throw new Error("Expected exactly one agent in account, got "+A.length);return A[0]}},CI=class extends MA{constructor(A,i){super(A);this.agentSecret=i}createGroup(){return this.core.node.createGroup()}async acceptInvite(A,i){return this.core.node.acceptInvite(A,i)}currentAgentID(){return kA(this.agentSecret)}currentSignerID(){return jI(this.currentAgentID())}currentSignerSecret(){return _e(this.agentSecret)}currentSealerID(){return WA(this.currentAgentID())}currentSealerSecret(){return Hi(this.agentSecret)}},kI=class{constructor(A){this.agentSecret=A}get id(){return kA(this.agentSecret)}currentAgentID(){return kA(this.agentSecret)}currentSignerID(){return jI(this.currentAgentID())}currentSignerSecret(){return _e(this.agentSecret)}currentSealerID(){return WA(this.currentAgentID())}currentSealerSecret(){return Hi(this.agentSecret)}};function bg(I){if(I.type!=="comap")throw new Error("Expected map");return I}function pA(I){let A=bg(I);if(A.core.header.ruleset.type!=="group")throw new Error("Expected group ruleset in group");if(!(A instanceof TA))throw new Error("Expected group");return A}function vg(I){if(I.header.ruleset.type==="group"){let A=[...I.sessionLogs.entries()].flatMap(([g,o])=>o.transactions.map((n,C)=>({sessionID:g,txIndex:C,tx:n})));A.sort((g,o)=>g.tx.madeAt-o.tx.madeAt);let i=I.header.ruleset.initialAdmin;if(!i)throw new Error("Group must have initialAdmin");let e={},t=[];for(let{sessionID:g,txIndex:o,tx:n}of A){let C=rA(g);if(n.privacy==="private")if(e[C]==="admin"){t.push({txID:{sessionID:g,txIndex:o},tx:n});continue}else{console.warn("Only admins can make private transactions in groups");continue}let Q;try{Q=oI(n.changes)}catch(d){console.warn(I.id,"Invalid JSON in transaction",d,n,JSON.stringify(n.changes,(u,G)=>u==="changes"||u==="encryptedChanges"?G.slice(0,20)+"...":G));continue}let s=Q[0];if(Q.length!==1){console.warn("Group transaction must have exactly one change");continue}if(s.op!=="set"){console.warn("Group transaction must set a role or readKey");continue}if(s.key==="readKey"){if(e[C]!=="admin"){console.warn("Only admins can set readKeys");continue}t.push({txID:{sessionID:g,txIndex:o},tx:n});continue}else if(s.key==="profile"){if(e[C]!=="admin"){console.warn("Only admins can set profile");continue}t.push({txID:{sessionID:g,txIndex:o},tx:n});continue}else if(gt(s.key)||dr(s.key)){if(e[C]!=="admin"&&e[C]!=="adminInvite"&&e[C]!=="writerInvite"&&e[C]!=="readerInvite"){console.warn("Only admins can reveal keys");continue}t.push({txID:{sessionID:g,txIndex:o},tx:n});continue}let c=s.key,E=s.value;if(s.value!=="admin"&&s.value!=="writer"&&s.value!=="reader"&&s.value!=="revoked"&&s.value!=="adminInvite"&&s.value!=="writerInvite"&&s.value!=="readerInvite"){console.warn("Group transaction must set a valid role");continue}if(c===ii&&!(s.value==="reader"||s.value==="writer"||s.value==="revoked")){console.warn("Everyone can only be set to reader, writer or revoked");continue}if(!(!e[C]&&C===i&&s.op==="set"&&s.key===C&&s.value==="admin"))if(e[C]==="admin"){if(e[c]==="admin"&&c!==C&&E!=="admin"){console.warn("Admins can only demote themselves.");continue}}else if(e[C]==="adminInvite"){if(s.value!=="admin"){console.warn("AdminInvites can only create admins.");continue}}else if(e[C]==="writerInvite"){if(s.value!=="writer"){console.warn("WriterInvites can only create writers.");continue}}else if(e[C]==="readerInvite"){if(s.value!=="reader"){console.warn("ReaderInvites can only create reader.");continue}}else{console.warn("Group transaction must be made by current admin or invite");continue}e[c]=s.value,t.push({txID:{sessionID:g,txIndex:o},tx:n})}return t}else if(I.header.ruleset.type==="ownedByGroup"){let A=pA(I.node.expectCoValueLoaded(I.header.ruleset.group,"Determining valid transaction in owned object but its group wasn't loaded").getCurrentContent());if(A.type!=="comap")throw new Error("Group must be a map");return[...I.sessionLogs.entries()].flatMap(([i,e])=>{let t=rA(i);return e.transactions.filter(g=>{let o=A.atTime(g.madeAt),n=t===A.id&&o instanceof MA?o.currentAgentID():t,C=o.get(n)||o.get(ii);return C==="admin"||C==="writer"}).map((g,o)=>({txID:{sessionID:i,txIndex:o},tx:g}))})}else{if(I.header.ruleset.type==="unsafeAllowAll")return[...I.sessionLogs.entries()].flatMap(([A,i])=>i.transactions.map((e,t)=>({txID:{sessionID:A,txIndex:t},tx:e})));throw new Error("Unknown ruleset type "+I.header.ruleset.type)}}function gt(I){return I.startsWith("key_")&&I.includes("_for_key")}function dr(I){return I.startsWith("key_")&&(I.includes("_for_sealer")||I.includes("_for_co"))||I.includes("_for_everyone")}function Lg(I,A){if(I.header.type==="comap")return I.header.ruleset.type==="group"?I.header.meta?.type==="account"&&!A?.ignorePrivateTransactions?new MA(I):new TA(I,A):new hA(I);if(I.header.type==="colist")return new QA(I);if(I.header.type==="costream")return I.header.meta&&I.header.meta.type==="binary"?new rI(I):new bA(I);throw new Error(`Unknown coValue type ${I.header.type}`)}var ei=100*1024;function ot(I){return`co_z${Ng(I).slice("shortHash_z".length)}`}function fI(I){return`${I}_session_z${V.encode(globalThis.crypto.getRandomValues(new Uint8Array(8)))}`}var nt=new WeakMap,GI=class{constructor(A,i,e=new Map){this.listeners=new Set,this._decryptionCache={},this.id=ot(A),this.header=A,this._sessionLogs=e,this.node=i,A.ruleset.type=="ownedByGroup"&&this.node.expectCoValueLoaded(A.ruleset.group).subscribe(t=>{this._cachedContent=void 0;let g=this.getCurrentContent();for(let o of this.listeners)o(g)})}get sessionLogs(){return this._sessionLogs}testWithDifferentAccount(A,i){return this.node.testWithDifferentAccount(A,i).expectCoValueLoaded(this.id)}knownState(){if(this._cachedKnownState)return this._cachedKnownState;{let A=this.knownStateUncached();return this._cachedKnownState=A,A}}knownStateUncached(){return{id:this.id,header:!0,sessions:Object.fromEntries([...this.sessionLogs.entries()].map(([A,i])=>[A,i.transactions.length]))}}get meta(){return this.header?.meta??null}nextTransactionID(){let A=this.header.meta?.type==="account"?this.node.currentSessionID.replace(this.node.account.id,this.node.account.currentAgentID()):this.node.currentSessionID;return{sessionID:A,txIndex:this.sessionLogs.get(A)?.transactions.length||0}}tryAddTransactions(A,i,e,t){let g=jI(this.node.resolveAccountAgent(rA(A),"Expected to know signer of transaction"));if(!g)return console.warn("Unknown agent",rA(A)),!1;let{expectedNewHash:o,newStreamingHash:n}=this.expectedNewHashAfter(A,i);return e&&e!==o?(console.warn("Invalid hash",{expectedNewHash:o,givenExpectedNewHash:e}),!1):je(t,o,g)?(this.doAddTransactions(A,i,t,o,n),!0):(console.warn("Invalid signature in",this.id,t,o,g),!1)}async tryAddTransactionsAsync(A,i,e,t){this.currentlyAsyncApplyingTxDone&&await this.currentlyAsyncApplyingTxDone;let g;this.currentlyAsyncApplyingTxDone=new Promise(c=>{g=c});let o=jI(await this.node.resolveAccountAgentAsync(rA(A),"Expected to know signer of transaction"));if(!o)return console.warn("Unknown agent",rA(A)),g(),!1;let n=this.sessionLogs.get(A)?.transactions.length??0,{expectedNewHash:C,newStreamingHash:Q}=await this.expectedNewHashAfterAsync(A,i),s=this.sessionLogs.get(A)?.transactions.length??0;if(s!==n){let c=i.length;i=i.slice(s-n),console.warn("Transactions changed while async hashing",{nTxBefore:n,nTxAfter:s,newTransactionLengthBefore:c,remainingNewTransactions:i.length})}return e&&e!==C?(console.warn("Invalid hash",{expectedNewHash:C,givenExpectedNewHash:e}),g(),!1):je(t,C,o)?(this.doAddTransactions(A,i,t,C,Q),g(),!0):(console.warn("Invalid signature in",this.id,t,C,o),g(),!1)}doAddTransactions(A,i,e,t,g){let o=this.sessionLogs.get(A)?.transactions??[];o.push(...i);let n=this.sessionLogs.get(A)?.signatureAfter??{},C=Object.keys(n).reduce((s,c)=>parseInt(c)>s?parseInt(c):s,-1);if(o.slice(C+1).reduce((s,c)=>s+(c.privacy==="private"?c.encryptedChanges.length:c.changes.length),0)>100*1024&&(n[o.length-1]=e),this._sessionLogs.set(A,{transactions:o,lastHash:t,streamingHash:g,lastSignature:e,signatureAfter:n}),this._cachedContent=void 0,this._cachedKnownState=void 0,this._cachedDependentOn=void 0,this._cachedNewContentSinceEmpty=void 0,this.listeners.size>0){let s=this.getCurrentContent();for(let c of this.listeners)c(s)}}subscribe(A){return this.listeners.add(A),A(this.getCurrentContent()),()=>{this.listeners.delete(A)}}expectedNewHashAfter(A,i){let e=this.sessionLogs.get(A)?.streamingHash.clone()??new $I;for(let g of i)e.update(g);let t=e.clone();return{expectedNewHash:e.digest(),newStreamingHash:t}}async expectedNewHashAfterAsync(A,i){let e=this.sessionLogs.get(A)?.streamingHash.clone()??new $I,t=performance.now();for(let o of i)e.update(o),performance.now()-t>1&&(await new Promise(C=>setTimeout(C,0)),t=performance.now());let g=e.clone();return{expectedNewHash:e.digest(),newStreamingHash:g}}makeTransaction(A,i){let e=Date.now(),t;if(i==="private"){let{secret:Q,id:s}=this.getCurrentReadKey();if(!Q)throw new Error("Can't make transaction without read key secret");let c=Ug(A,Q,{in:this.id,tx:this.nextTransactionID()});this._decryptionCache[c]=A,t={privacy:"private",madeAt:e,keyUsed:s,encryptedChanges:c}}else t={privacy:"trusting",madeAt:e,changes:DA(A)};let g=this.header.meta?.type==="account"?this.node.currentSessionID.replace(this.node.account.id,this.node.account.currentAgentID()):this.node.currentSessionID,{expectedNewHash:o}=this.expectedNewHashAfter(g,[t]),n=Sg(this.node.account.currentSignerSecret(),o),C=this.tryAddTransactions(g,[t],o,n);return C&&this.node.syncManager.syncCoValue(this),C}getCurrentContent(A){if(!A?.ignorePrivateTransactions&&this._cachedContent)return this._cachedContent;let i=Lg(this,A);return A?.ignorePrivateTransactions||(this._cachedContent=i),i}getValidSortedTransactions(A){let e=vg(this).flatMap(({txID:t,tx:g})=>{if(g.privacy==="trusting")return{txID:t,madeAt:g.madeAt,changes:oI(g.changes)};{if(A?.ignorePrivateTransactions)return;let o=this.getReadKey(g.keyUsed);if(o){let n=this._decryptionCache[g.encryptedChanges];if(!n){let C=Mg(g.encryptedChanges,o,{in:this.id,tx:t});n=C&&oI(C),this._decryptionCache[g.encryptedChanges]=n}if(!n){console.error("Failed to decrypt transaction despite having key");return}return{txID:t,madeAt:g.madeAt,changes:n}}else return}}).filter(t=>!!t);return e.sort((t,g)=>t.madeAt-g.madeAt||(t.txID.sessionID0;){n==="first"&&(n=void 0);let Q=n??this.sessionLogs.keys();for(let s of Q){let c=s,E=this.sessionLogs.get(c),D=A?.sessions[c],d=g[c],u=wr(E,D,d),G=d??D??0,F=u===void 0?E.transactions.length:u+1,p=Math.max(0,F-G);if(p===0){n?.delete(c);continue}F=ei&&(e={action:"content",id:this.id,header:void 0,new:{}},t.push(e),o=o-N);let J=e.new[c];J||(J={after:d??D??0,newTransactions:[],lastSignature:"WILL_BE_REPLACED"},e.new[c]=J);for(let K=G;KObject.keys(Q.new).length>0||Q.header);if(C.length!==0)return i&&(this._cachedNewContentSinceEmpty=C),C}getDependedOnCoValues(){if(this._cachedDependentOn)return this._cachedDependentOn;{let A=this.getDependedOnCoValuesUncached();return this._cachedDependentOn=A,A}}getDependedOnCoValuesUncached(){return this.header.ruleset.type==="group"?pA(this.getCurrentContent()).keys().filter(A=>A.startsWith("co_")):this.header.ruleset.type==="ownedByGroup"?[this.header.ruleset.group,...new Set([...this.sessionLogs.keys()].map(A=>rA(A)).filter(A=>Ii(A)&&A!==this.id))]:[]}};function wr(I,A,i){return Object.keys(I.signatureAfter).map(Number).sort((e,t)=>e-t).find(e=>e>=(i??A??-1))}function Og(I){return{id:I,header:!1,sessions:{}}}function Xg(I,A){let i={},e=new Set([...Object.keys(I.sessions),...Object.keys(A.sessions)]);for(let t of e){let g=I.sessions[t],o=A.sessions[t];i[t]=Math.max(g||0,o||0)}return{id:I.id,header:I.header||A.header,sessions:i}}var rt=class{constructor(A){this.peers={},this.requestedSyncs={},this.local=A}peersInPriorityOrder(){return Object.values(this.peers).sort((A,i)=>{let e=A.priority||0;return(i.priority||0)-e})}async loadFromPeers(A,i){for(let e of this.peersInPriorityOrder()){if(e.id===i||e.role!=="server")continue;e.outgoing.write({action:"load",id:A,header:!1,sessions:{}}).catch(o=>{console.error("Error writing to peer",o)});let t=this.local.coValues[A];if(t?.state!=="loading")continue;let g=t.firstPeerState[e.id];if(g?.type!=="waiting")throw new Error("Expected firstPeerState to be waiting "+A);await new Promise(o=>{let n=setTimeout(()=>{this.local.coValues[A]?.state==="loading",o()},1e3);g.done.then(()=>{clearTimeout(n),o()}).catch(C=>{clearTimeout(n),console.error("Error waiting for peer to load",A,"from",e.id,C),o()})})}}async handleSyncMessage(A,i){switch(A.action){case"load":return await this.handleLoad(A,i);case"known":return A.isCorrection?await this.handleCorrection(A,i):await this.handleKnownState(A,i);case"content":return await this.handleNewContent(A,i);case"done":return await this.handleUnsubscribe(A);default:throw new Error(`Unknown message type ${A.action}`)}}async subscribeToIncludingDependencies(A,i){let e=this.local.coValues[A];if(!e)throw new Error("Expected coValue entry on subscribe");if(e.state==="loading"){await this.trySendToPeer(i,{action:"load",id:A,header:!1,sessions:{}});return}let t=e.coValue;for(let g of t.getDependedOnCoValues())await this.subscribeToIncludingDependencies(g,i);i.toldKnownState.has(A)||(i.toldKnownState.add(A),await this.trySendToPeer(i,{action:"load",...t.knownState()}))}async tellUntoldKnownStateIncludingDependencies(A,i,e){let t=this.local.expectCoValueLoaded(A);await Promise.all(t.getDependedOnCoValues().map(g=>this.tellUntoldKnownStateIncludingDependencies(g,i,e||A))),i.toldKnownState.has(A)||(await this.trySendToPeer(i,{action:"known",asDependencyOf:e,...t.knownState()}),i.toldKnownState.add(A))}async sendNewContentIncludingDependencies(A,i){let e=this.local.expectCoValueLoaded(A);await Promise.all(e.getDependedOnCoValues().map(g=>this.sendNewContentIncludingDependencies(g,i)));let t=e.newContentSince(i.optimisticKnownStates[A]);if(t){let g=i.optimisticKnownStates[A]||Og(A);(async()=>{let n=performance.now();for(let[C,Q]of t.entries())await this.trySendToPeer(i,Q),performance.now()-n>10&&(await new Promise(s=>{setTimeout(s,0)}),n=performance.now())})().catch(n=>(console.error("Error sending new content piece, retrying",n),i.optimisticKnownStates[A]=g,this.sendNewContentIncludingDependencies(A,i))),i.optimisticKnownStates[A]=Xg(g,e.knownState())}}addPeer(A){let i={id:A.id,optimisticKnownStates:{},incoming:A.incoming,outgoing:A.outgoing.getWriter(),toldKnownState:new Set,role:A.role,delayOnError:A.delayOnError,priority:A.priority};this.peers[A.id]=i,A.role==="server"&&(async()=>{for(let g of Object.keys(this.local.coValues))await this.subscribeToIncludingDependencies(g,i),i.optimisticKnownStates[g]={id:g,header:!1,sessions:{}}})(),(async()=>{try{for await(let t of i.incoming)try{this.handleSyncMessage(t,i).catch(g=>{console.error(new Date,`Error reading from peer ${A.id}, handling msg`,JSON.stringify(t,(o,n)=>o==="changes"||o==="encryptedChanges"?n.slice(0,20)+"...":n),g)})}catch(g){console.error(new Date,`Error reading from peer ${A.id}, handling msg`,JSON.stringify(t,(o,n)=>o==="changes"||o==="encryptedChanges"?n.slice(0,20)+"...":n),g),i.delayOnError&&await new Promise(o=>{setTimeout(o,i.delayOnError)})}}catch(t){console.error(`Error reading from peer ${A.id}`,t)}console.log("Peer disconnected:",A.id),delete this.peers[A.id]})()}trySendToPeer(A,i){return this.peers[A.id]?new Promise(e=>{let t=Date.now();A.outgoing.write(i).then(()=>{Date.now()-t>1e3||e()}).catch(g=>{console.error(new Error(`Error writing to peer ${A.id}, disconnecting`,{cause:g})),delete this.peers[A.id]})}):Promise.resolve()}async handleLoad(A,i){i.optimisticKnownStates[A.id]=Ct(A);let e=this.local.coValues[A.id];if(e||(this.local.loadCoValueCore(A.id,{dontLoadFrom:i.id,dontWaitFor:i.id}).catch(t=>{console.error("Error loading coValue in handleLoad",t)}),e=this.local.coValues[A.id]),e.state==="loading"&&await e.done==="unavailable"){i.optimisticKnownStates[A.id]=Ct(A),i.toldKnownState.add(A.id),await this.trySendToPeer(i,{action:"known",id:A.id,header:!1,sessions:{}});return}await this.tellUntoldKnownStateIncludingDependencies(A.id,i),await this.sendNewContentIncludingDependencies(A.id,i)}async handleKnownState(A,i){let e=this.local.coValues[A.id];if(i.optimisticKnownStates[A.id]=Xg(i.optimisticKnownStates[A.id]||Og(A.id),Ct(A)),!e)if(A.asDependencyOf)if(this.local.coValues[A.asDependencyOf])this.local.loadCoValueCore(A.id,{dontLoadFrom:i.id}).catch(t=>{console.error(`Error loading coValue ${A.id} to create loading state, as dependency of ${A.asDependencyOf}`,t)}),e=this.local.coValues[A.id];else throw new Error("Expected coValue dependency entry to be created, missing subscribe?");else throw new Error("Expected coValue entry to be created, missing subscribe?");if(e.state==="loading"){let t=i.optimisticKnownStates[A.id]?.header,g=e.firstPeerState[i.id];return g?.type==="waiting"&&g.resolve(),e.firstPeerState[i.id]=t?{type:"available"}:{type:"unavailable"},Object.values(e.firstPeerState).every(o=>o.type==="unavailable")&&e.resolve("unavailable"),[]}await this.tellUntoldKnownStateIncludingDependencies(A.id,i),await this.sendNewContentIncludingDependencies(A.id,i)}async handleNewContent(A,i){let e=this.local.coValues[A.id];if(!e)throw new Error("Expected coValue entry to be created, missing subscribe?");let t,g=i.optimisticKnownStates[A.id];if(!g)throw new Error("Expected optimisticKnownState to be set for coValue we receive new content for");if(e.state==="loading"){if(!A.header)throw new Error("Expected header to be sent in first message");let C=e.firstPeerState[i.id];C?.type==="waiting"&&(C.resolve(),e.firstPeerState[i.id]={type:"available"}),g.header=!0;let Q=new GI(A.header,this.local);t=e.resolve,e={state:"loaded",coValue:Q,onProgress:e.onProgress},this.local.coValues[A.id]=e}let o=e.coValue,n=!1;for(let[C,Q]of Object.entries(A.new)){let s=o.sessionLogs.get(C)?.transactions.length,c=Q.after;if((s||0)80){let N=D.map(J=>J.privacy==="private"?J.encryptedChanges.length:J.changes.length).reduce((J,K)=>J+K,0);console.log(`Adding incoming transactions took ${(G-d).toFixed(2)}ms for ${N} bytes = bandwidth: ${(1e3*N/(G-d)/(1024*1024)).toFixed(2)} MB/s`)}let F=Object.values(i.optimisticKnownStates[A.id]?.sessions||{}).reduce((N,J)=>N+J,0),p=[...o.sessionLogs.values()].reduce((N,J)=>N+J.transactions.length,0);if(e.onProgress?.(p/F),!u){console.error("Failed to add transactions",A.id,JSON.stringify(D,(N,J)=>N==="changes"||N==="encryptedChanges"?J.slice(0,20)+"...":J));continue}g.sessions[C]=Math.max(g.sessions[C]||0,Q.after+Q.newTransactions.length)}t&&t(o),await this.syncCoValue(o),n&&await this.trySendToPeer(i,{action:"known",isCorrection:!0,...o.knownState()})}async handleCorrection(A,i){return i.optimisticKnownStates[A.id]=A,this.sendNewContentIncludingDependencies(A.id,i)}handleUnsubscribe(A){throw new Error("Method not implemented.")}async syncCoValue(A){if(this.requestedSyncs[A.id])return this.requestedSyncs[A.id].nRequestsThisTick++,this.requestedSyncs[A.id].done;{let i=new Promise(t=>{setTimeout(async()=>{delete this.requestedSyncs[A.id],await this.actuallySyncCoValue(A),t()},0)}),e={done:i,nRequestsThisTick:1};return this.requestedSyncs[A.id]=e,i}}async actuallySyncCoValue(A){let i=performance.now();for(let e of this.peersInPriorityOrder())performance.now()-i>5&&(await new Promise(g=>{setTimeout(g,0)}),i=performance.now()),e.optimisticKnownStates[A.id]?(await this.tellUntoldKnownStateIncludingDependencies(A.id,e),await this.sendNewContentIncludingDependencies(A.id,e)):e.role==="server"&&(await this.subscribeToIncludingDependencies(A.id,e),await this.sendNewContentIncludingDependencies(A.id,e))}};function Ct(I){return{id:I.id,header:I.header,sessions:I.sessions}}var zA=class{constructor(A,i){this.coValues={},this.syncManager=new rt(this),this.account=A,this.currentSessionID=i}static async withNewlyCreatedAccount({name:A,peersToLoadFrom:i,migration:e,initialAgentSecret:t=zI()}){let g=zI(),n=new zA(new kI(g),fI(kA(g))).createAccount(A,t),C=n.core.node.testWithDifferentAccount(n,fI(n.id)),Q=C.account,s=C.expectProfileLoaded(Q.id,"After creating account");if(i)for(let E of i)C.syncManager.addPeer(E);e&&await e(Q,s,C),C.account=new CI(Q.core,Q.agentSecret);function c(){for(let E of Object.values(C.coValues))E.state==="loaded"&&C.syncManager.syncCoValue(E.coValue)}return c(),setTimeout(c,500),{node:C,accountID:Q.id,accountSecret:Q.agentSecret,sessionID:C.currentSessionID}}static async withLoadedAccount({accountID:A,accountSecret:i,sessionID:e,peersToLoadFrom:t,migration:g}){let o=new zA(new kI(i),fI(A));for(let D of t)o.syncManager.addPeer(D);let C=await o.load(A);if(C==="unavailable")throw new Error("Account unavailable from all peers");let Q=new CI(C.core,i),s=o.testWithDifferentAccount(Q,e);s.syncManager=o.syncManager,s.syncManager.local=s,Q.core.node=s,s.coValues[A]={state:"loaded",coValue:Q.core};let c=C.get("profile");if(!c)throw new Error("Account has no profile");let E=await s.load(c);return g&&(await g(Q,E,s),s.account=new CI(Q.core,Q.agentSecret)),s}createCoValue(A){let i=new GI(A,this);return this.coValues[i.id]={state:"loaded",coValue:i},this.syncManager.syncCoValue(i),i}async loadCoValueCore(A,i={}){let e=this.coValues[A];if(!e){let t=new Set(Object.values(this.syncManager.peers).filter(g=>g.role==="server").map(g=>g.id));i.dontWaitFor&&t.delete(i.dontWaitFor),e=ur(t,i.onProgress),this.coValues[A]=e,this.syncManager.loadFromPeers(A,i.dontLoadFrom).catch(g=>{console.error("Error loading from peers",A,g)})}return e.state==="loaded"?Promise.resolve(e.coValue):e.done}async load(A,i){let e=await this.loadCoValueCore(A,{onProgress:i});return e==="unavailable"?"unavailable":e.getCurrentContent()}subscribe(A,i){let e=!1,t;return this.load(A).then(g=>{if(!e){if(g==="unavailable"){i("unavailable");return}t=g.subscribe(i)}}).catch(g=>{console.error("Error subscribing to ",A,g)}),()=>{console.log("Unsubscribing from "+A),e=!0,t?.()}}async acceptInvite(A,i){let e=await this.load(A);if(e==="unavailable")throw new Error("Trying to accept invite: Group/owned value unavailable from all peers");if(e.core.header.ruleset.type==="ownedByGroup")return this.acceptInvite(e.core.header.ruleset.group,i);if(e.core.header.ruleset.type!=="group")throw new Error("Can only accept invites to groups");let t=pA(e),g=Ai(xg(i)),o=kA(g),n=await new Promise((s,c)=>{t.subscribe(E=>{let D=E.get(o);D&&s(D)}),setTimeout(()=>c(new Error("Couldn't find invite before timeout")),2e3)});if(!n)throw new Error("No invite found");let C=t.get(this.account.id);if(C==="admin"||C==="writer"&&n==="writerInvite"||C==="writer"&&n==="reader"||C==="reader"&&n==="readerInvite"){console.debug("Not accepting invite that would replace or downgrade role");return}let Q=pA(t.core.testWithDifferentAccount(new kI(g),fI(o)).getCurrentContent());Q.addMemberInternal(this.account,n==="adminInvite"?"admin":n==="writerInvite"?"writer":"reader"),t.core._sessionLogs=Q.core.sessionLogs,t.core._cachedContent=void 0;for(let s of t.core.listeners)s(t.core.getCurrentContent())}expectCoValueLoaded(A,i){let e=this.coValues[A];if(!e)throw new Error(`${i?i+": ":""}Unknown CoValue ${A}`);if(e.state==="loading")throw new Error(`${i?i+": ":""}CoValue ${A} not yet loaded`);return e.coValue}expectProfileLoaded(A,i){let e=this.expectCoValueLoaded(A,i),t=pA(e.getCurrentContent()).get("profile");if(!t)throw new Error(`${i?i+": ":""}Account ${A} has no profile`);return this.expectCoValueLoaded(t,i).getCurrentContent()}createAccount(A,i=zI()){let e=kA(i),t=pA(this.createCoValue(se(i)).testWithDifferentAccount(new kI(i),fI(e)).getCurrentContent());t=t.mutate(C=>{C.set(e,"admin","trusting");let Q=Ji(),s=_I({message:Q.secret,from:Hi(i),to:WA(e),nOnceMaterial:{in:t.id,tx:t.core.nextTransactionID()}});C.set(`${Q.id}_for_${e}`,s,"trusting"),C.set("readKey",Q.id,"trusting")});let g=t.createMap({name:A},{type:"profile"},"trusting");t=t.set("profile",g.id,"trusting");let o=this.expectCoValueLoaded(t.id);o._sessionLogs=new Map(t.core.sessionLogs),o._cachedContent=void 0;let n=this.createCoValue(g.core.header);return n._sessionLogs=new Map(g.core.sessionLogs),n._cachedContent=void 0,new CI(o,i)}resolveAccountAgent(A,i){if(Mi(A))return A;let e=this.expectCoValueLoaded(A,i);if(e.header.type!=="comap"||e.header.ruleset.type!=="group"||!e.header.meta||!("type"in e.header.meta)||e.header.meta.type!=="account")throw new Error(`${i?i+": ":""}CoValue ${A} is not an account`);return new MA(e).currentAgentID()}async resolveAccountAgentAsync(A,i){if(Mi(A))return A;let e=await this.loadCoValueCore(A);if(e==="unavailable")throw new Error(`${i?i+": ":""}Account ${A} is unavailable from all peers`);if(e.header.type!=="comap"||e.header.ruleset.type!=="group"||!e.header.meta||!("type"in e.header.meta)||e.header.meta.type!=="account")throw new Error(`${i?i+": ":""}CoValue ${A} is not an account`);return new MA(e).currentAgentID()}createGroup(){let A=this.createCoValue({type:"comap",ruleset:{type:"group",initialAdmin:this.account.id},meta:null,...SI()}),i=pA(A.getCurrentContent());return i=i.mutate(e=>{e.set(this.account.id,"admin","trusting");let t=Ji();e.set(`${t.id}_for_${this.account.id}`,_I({message:t.secret,from:this.account.currentSealerSecret(),to:this.account.currentSealerID(),nOnceMaterial:{in:A.id,tx:A.nextTransactionID()}}),"trusting"),e.set("readKey",t.id,"trusting")}),i}testWithDifferentAccount(A,i){let e=new zA(A,i),t=Object.entries(this.coValues);for(;t.length>0;){let[g,o]=t[t.length-1];if(o.state==="loading"){t.pop();continue}else{if(!o.coValue.getDependedOnCoValues().every(Q=>e.coValues[Q]?.state==="loaded")){t.unshift(t.pop());continue}let C=new GI(o.coValue.header,e,new Map(o.coValue.sessionLogs));e.coValues[g]={state:"loaded",coValue:C},t.pop()}}if(A instanceof CI){let g=new CI(e.expectCoValueLoaded(A.id),A.agentSecret);if(g.core.node!==e)throw new Error("Account's node is not the new node");e.account=g}return e}};function ur(I,A){let i,e=new Promise(t=>{i=t});return{state:"loading",done:e,resolve:i,onProgress:A,firstPeerState:Object.fromEntries([...I].map(t=>{let g,o=new Promise(n=>{g=n});return[t,{type:"waiting",done:o,resolve:g}]}))}}var{ReadableStream:ti,ReadableStreamDefaultReader:La,ReadableStreamBYOBReader:Oa,ReadableStreamBYOBRequest:Xa,ReadableByteStreamController:Pa,ReadableStreamDefaultController:Za,TransformStream:ce,TransformStreamDefaultController:Va,WritableStream:Ee,WritableStreamDefaultWriter:Wa,WritableStreamDefaultController:Ta,ByteLengthQueuingStrategy:za,CountQueuingStrategy:ja,TextEncoderStream:_a,TextDecoderStream:$a}=window;if(!ti.prototype[Symbol.asyncIterator]){async function*I(){let A=this.getReader();try{for(;;){let{done:i,value:e}=await A.read();if(i)return;yield e}}finally{A.releaseLock()}}ti.prototype[Symbol.asyncIterator]=I}function Pg(I,A,{trace:i=!1,peer1role:e="peer",peer2role:t="peer"}={}){let[g,o]=he(I+"_in"),[n,C]=he(I+"_out"),[Q,s]=he(A+"_in"),[c,E]=he(A+"_out");return c.pipeThrough(new ce({transform(u,G){i&&console.debug(`${A} -> ${I}`,JSON.stringify(u,(F,p)=>F==="changes"||F==="encryptedChanges"?p.slice(0,20)+"...":p,2)),G.enqueue(u)}})).pipeTo(o),n.pipeThrough(new ce({transform(u,G){i&&console.debug(`${I} -> ${A}`,JSON.stringify(u,(F,p)=>F==="changes"||F==="encryptedChanges"?p.slice(0,20)+"...":p,2)),G.enqueue(u)}})).pipeTo(s),[{id:I,incoming:Q,outgoing:E,role:e},{id:A,incoming:g,outgoing:C,role:t}]}function he(I){let A=0,i=!1,e,t=new Promise(E=>{e=E}),g,o=new Promise(E=>{g=E}),n=!1;function C(){A>=100?(n=!0,A%100===0&&console.warn(I,"overflowing queue length",A)):n&&(console.debug(I,"ok queue length",A),n=!1)}let Q=new ti({async start(E){e(E.enqueue.bind(E)),g(E.close.bind(E))},cancel(E){console.log("Manually closing reader"),i=!0}}).pipeThrough(new ce({transform(E,D){A-=1,C(),D.enqueue(E)}})),s=Promise.resolve(),c=new Ee({async write(E){A+=1,C();let D=await t;if(i)throw new Error("Reader closed");await s,s=new Promise(d=>{D(E),d()})},async abort(E){console.debug("Manually closing writer",E),(await o)()}});return[Q,c]}var yA={agentSecretFromBytes:Gg,agentSecretToBytes:kg,newRandomSessionID:fI,newRandomAgentSecret:zI,connectedPeers:Pg,getAgentID:kA,rawCoIDtoBytes:Kg,rawCoIDfromBytes:Rg,newRandomSecretSeed:Be,agentSecretFromSecretSeed:Ai,secretSeedLength:qi,shortHashLength:Ui,expectGroup:pA,base64URLtoBytes:FI,bytesToBase64url:hI,parseJSON:oI,accountOrAgentIDfromSessionID:rA,isAccountID:Ii,accountHeaderForInitialAgentSecret:se,idforHeader:ot};var Dr=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function mI(I,A){return I(A={exports:{}},A.exports),A.exports}var gA=mI(function(I){var A,i;A=Dr,i=function(){function e(t){var g=[];if(t.length===0)return"";if(typeof t[0]!="string")throw new TypeError("Url must be a string. Received "+t[0]);if(t[0].match(/^[^/:]+:\/*$/)&&t.length>1){var o=t.shift();t[0]=o+t[0]}t[0].match(/^file:\/\/\//)?t[0]=t[0].replace(/^([^/:]+):\/*/,"$1:///"):t[0]=t[0].replace(/^([^/:]+):\/*/,"$1://");for(var n=0;n0&&(C=C.replace(/^[\/]+/,"")),C=n0?"?":"")+s.join("&")}return function(){return e(typeof arguments[0]=="object"?arguments[0]:[].slice.call(arguments))}},I.exports?I.exports=i():A.urljoin=i()}),Zg=typeof Symbol!="undefined"&&Symbol,Vg={foo:{}},pr=Object,lr="Function.prototype.bind called on incompatible ",yr=Object.prototype.toString,Fr=Math.max,Wg=function(I,A){for(var i=[],e=0;e1&&typeof A!="boolean")throw new oi('"allowMissing" argument must be a boolean');if(Jr(/^%?[^%]*%?$/,I)===null)throw new gi("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var i=Yr(I),e=i.length>0?i[0]:"",t=Kr("%"+e+"%",A),g=t.name,o=t.value,n=!1,C=t.alias;C&&(e=C[0],Ur(i,Hr([0,1],C)));for(var Q=1,s=!0;Q=i.length){var d=NI(o,c);o=(s=!!d)&&"get"in d&&!("originalValue"in d.get)?d.get:o[c]}else s=fe(o,c),o=o[c];s&&!n&&(HI[g]=o)}}return o},at=mI(function(I){var A=vA("%Function.prototype.apply%"),i=vA("%Function.prototype.call%"),e=vA("%Reflect.apply%",!0)||BI.call(i,A),t=vA("%Object.getOwnPropertyDescriptor%",!0),g=vA("%Object.defineProperty%",!0),o=vA("%Math.max%");if(g)try{g({},"a",{value:1})}catch{g=null}I.exports=function(C){var Q=e(BI,i,arguments);if(t&&g){var s=t(Q,"length");s.configurable&&g(Q,"length",{value:1+o(0,C.length-(arguments.length-1))})}return Q};var n=function(){return e(BI,A,arguments)};g?g(I.exports,"apply",{value:n}):I.exports.apply=n}),Rr=(at.apply,at(vA("String.prototype.indexOf"))),Ci=function(I,A){var i=vA(I,!!A);return typeof i=="function"&&Rr(I,".prototype.")>-1?at(i):i},Bi=function(I){return I&&I.default||I}(Object.freeze({__proto__:null,default:{}})),st=typeof Map=="function"&&Map.prototype,ct=Object.getOwnPropertyDescriptor&&st?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,we=st&&ct&&typeof ct.get=="function"?ct.get:null,$g=st&&Map.prototype.forEach,Et=typeof Set=="function"&&Set.prototype,ht=Object.getOwnPropertyDescriptor&&Et?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,ue=Et&&ht&&typeof ht.get=="function"?ht.get:null,Ao=Et&&Set.prototype.forEach,Yi=typeof WeakMap=="function"&&WeakMap.prototype?WeakMap.prototype.has:null,Ki=typeof WeakSet=="function"&&WeakSet.prototype?WeakSet.prototype.has:null,Io=typeof WeakRef=="function"&&WeakRef.prototype?WeakRef.prototype.deref:null,xr=Boolean.prototype.valueOf,br=Object.prototype.toString,vr=Function.prototype.toString,Lr=String.prototype.match,ft=String.prototype.slice,dI=String.prototype.replace,Or=String.prototype.toUpperCase,io=String.prototype.toLowerCase,eo=RegExp.prototype.test,to=Array.prototype.concat,jA=Array.prototype.join,Xr=Array.prototype.slice,go=Math.floor,dt=typeof BigInt=="function"?BigInt.prototype.valueOf:null,wt=Object.getOwnPropertySymbols,ut=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,Qi=typeof Symbol=="function"&&typeof Symbol.iterator=="object",fA=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===Qi||"symbol")?Symbol.toStringTag:null,oo=Object.prototype.propertyIsEnumerable,no=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(I){return I.__proto__}:null);function ro(I,A){if(I===1/0||I===-1/0||I!=I||I&&I>-1e3&&I<1e3||eo.call(/e/,A))return A;var i=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof I=="number"){var e=I<0?-go(-I):go(I);if(e!==I){var t=String(e),g=ft.call(A,t.length+1);return dI.call(t,i,"$&_")+"."+dI.call(dI.call(g,/([0-9]{3})/g,"$&_"),/_$/,"")}}return dI.call(A,i,"$&_")}var Co=Bi.custom,Bo=so(Co)?Co:null,Pr=function I(A,i,e,t){var g=i||{};if(wI(g,"quoteStyle")&&g.quoteStyle!=="single"&&g.quoteStyle!=="double")throw new TypeError('option "quoteStyle" must be "single" or "double"');if(wI(g,"maxStringLength")&&(typeof g.maxStringLength=="number"?g.maxStringLength<0&&g.maxStringLength!==1/0:g.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var o=!wI(g,"customInspect")||g.customInspect;if(typeof o!="boolean"&&o!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(wI(g,"indent")&&g.indent!==null&&g.indent!==" "&&!(parseInt(g.indent,10)===g.indent&&g.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(wI(g,"numericSeparator")&&typeof g.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var n=g.numericSeparator;if(A===void 0)return"undefined";if(A===null)return"null";if(typeof A=="boolean")return A?"true":"false";if(typeof A=="string")return function m(R,M){if(R.length>M.maxStringLength){var X=R.length-M.maxStringLength,Z="... "+X+" more character"+(X>1?"s":"");return m(ft.call(R,0,M.maxStringLength),M)+Z}return Qo(dI.call(dI.call(R,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,Wr),"single",M)}(A,g);if(typeof A=="number"){if(A===0)return 1/0/A>0?"0":"-0";var C=String(A);return n?ro(A,C):C}if(typeof A=="bigint"){var Q=String(A)+"n";return n?ro(A,Q):Q}var s=g.depth===void 0?5:g.depth;if(e===void 0&&(e=0),e>=s&&s>0&&typeof A=="object")return Dt(A)?"[Array]":"[Object]";var c=function(m,R){var M;if(m.indent===" ")M=" ";else{if(!(typeof m.indent=="number"&&m.indent>0))return null;M=jA.call(Array(m.indent+1)," ")}return{base:M,prev:jA.call(Array(R+1),M)}}(g,e);if(t===void 0)t=[];else if(co(t,A)>=0)return"[Circular]";function E(m,R,M){if(R&&(t=Xr.call(t)).push(R),M){var X={depth:g.depth};return wI(g,"quoteStyle")&&(X.quoteStyle=g.quoteStyle),I(m,X,e+1,t)}return I(m,g,e+1,t)}if(typeof A=="function"&&!ao(A)){var D=function(m){if(m.name)return m.name;var R=Lr.call(vr.call(m),/^function\s*([\w$]+)/);return R?R[1]:null}(A),d=De(A,E);return"[Function"+(D?": "+D:" (anonymous)")+"]"+(d.length>0?" { "+jA.call(d,", ")+" }":"")}if(so(A)){var u=Qi?dI.call(String(A),/^(Symbol\(.*\))_[^)]*$/,"$1"):ut.call(A);return typeof A!="object"||Qi?u:Ri(u)}if(function(m){return!m||typeof m!="object"?!1:typeof HTMLElement!="undefined"&&m instanceof HTMLElement?!0:typeof m.nodeName=="string"&&typeof m.getAttribute=="function"}(A)){for(var G="<"+io.call(String(A.nodeName)),F=A.attributes||[],p=0;p"}if(Dt(A)){if(A.length===0)return"[]";var N=De(A,E);return c&&!function(m){for(var R=0;R=0)return!1;return!0}(N)?"["+lt(N,c)+"]":"[ "+jA.call(N,", ")+" ]"}if(function(m){return!(uI(m)!=="[object Error]"||fA&&typeof m=="object"&&fA in m)}(A)){var J=De(A,E);return"cause"in Error.prototype||!("cause"in A)||oo.call(A,"cause")?J.length===0?"["+String(A)+"]":"{ ["+String(A)+"] "+jA.call(J,", ")+" }":"{ ["+String(A)+"] "+jA.call(to.call("[cause]: "+E(A.cause),J),", ")+" }"}if(typeof A=="object"&&o){if(Bo&&typeof A[Bo]=="function"&&Bi)return Bi(A,{depth:s-e});if(o!=="symbol"&&typeof A.inspect=="function")return A.inspect()}if(function(m){if(!we||!m||typeof m!="object")return!1;try{we.call(m);try{ue.call(m)}catch{return!0}return m instanceof Map}catch{}return!1}(A)){var K=[];return $g&&$g.call(A,function(m,R){K.push(E(R,A,!0)+" => "+E(m,A))}),Eo("Map",we.call(A),K,c)}if(function(m){if(!ue||!m||typeof m!="object")return!1;try{ue.call(m);try{we.call(m)}catch{return!0}return m instanceof Set}catch{}return!1}(A)){var f=[];return Ao&&Ao.call(A,function(m){f.push(E(m,A))}),Eo("Set",ue.call(A),f,c)}if(function(m){if(!Yi||!m||typeof m!="object")return!1;try{Yi.call(m,Yi);try{Ki.call(m,Ki)}catch{return!0}return m instanceof WeakMap}catch{}return!1}(A))return pt("WeakMap");if(function(m){if(!Ki||!m||typeof m!="object")return!1;try{Ki.call(m,Ki);try{Yi.call(m,Yi)}catch{return!0}return m instanceof WeakSet}catch{}return!1}(A))return pt("WeakSet");if(function(m){if(!Io||!m||typeof m!="object")return!1;try{return Io.call(m),!0}catch{}return!1}(A))return pt("WeakRef");if(function(m){return!(uI(m)!=="[object Number]"||fA&&typeof m=="object"&&fA in m)}(A))return Ri(E(Number(A)));if(function(m){if(!m||typeof m!="object"||!dt)return!1;try{return dt.call(m),!0}catch{}return!1}(A))return Ri(E(dt.call(A)));if(function(m){return!(uI(m)!=="[object Boolean]"||fA&&typeof m=="object"&&fA in m)}(A))return Ri(xr.call(A));if(function(m){return!(uI(m)!=="[object String]"||fA&&typeof m=="object"&&fA in m)}(A))return Ri(E(String(A)));if(!function(m){return!(uI(m)!=="[object Date]"||fA&&typeof m=="object"&&fA in m)}(A)&&!ao(A)){var w=De(A,E),y=no?no(A)===Object.prototype:A instanceof Object||A.constructor===Object,k=A instanceof Object?"":"null prototype",U=!y&&fA&&Object(A)===A&&fA in A?ft.call(uI(A),8,-1):k?"Object":"",q=(y||typeof A.constructor!="function"?"":A.constructor.name?A.constructor.name+" ":"")+(U||k?"["+jA.call(to.call([],U||[],k||[]),": ")+"] ":"");return w.length===0?q+"{}":c?q+"{"+lt(w,c)+"}":q+"{ "+jA.call(w,", ")+" }"}return String(A)};function Qo(I,A,i){var e=(i.quoteStyle||A)==="double"?'"':"'";return e+I+e}function Zr(I){return dI.call(String(I),/"/g,""")}function Dt(I){return!(uI(I)!=="[object Array]"||fA&&typeof I=="object"&&fA in I)}function ao(I){return!(uI(I)!=="[object RegExp]"||fA&&typeof I=="object"&&fA in I)}function so(I){if(Qi)return I&&typeof I=="object"&&I instanceof Symbol;if(typeof I=="symbol")return!0;if(!I||typeof I!="object"||!ut)return!1;try{return ut.call(I),!0}catch{}return!1}var Vr=Object.prototype.hasOwnProperty||function(I){return I in this};function wI(I,A){return Vr.call(I,A)}function uI(I){return br.call(I)}function co(I,A){if(I.indexOf)return I.indexOf(A);for(var i=0,e=I.length;i1;){var c=s.pop(),E=c.obj[c.prop];if(JI(E)){for(var D=[],d=0;d=48&&C<=57||C>=65&&C<=90||C>=97&&C<=122||t===UI.RFC1738&&(C===40||C===41)?o+=g.charAt(n):C<128?o+=_A[C]:C<2048?o+=_A[192|C>>6]+_A[128|63&C]:C<55296||C>=57344?o+=_A[224|C>>12]+_A[128|C>>6&63]+_A[128|63&C]:(n+=1,C=65536+((1023&C)<<10|1023&g.charCodeAt(n)),o+=_A[240|C>>18]+_A[128|C>>12&63]+_A[128|C>>6&63]+_A[128|63&C])}return o},isBuffer:function(I){return!(!I||typeof I!="object")&&!!(I.constructor&&I.constructor.isBuffer&&I.constructor.isBuffer(I))},isRegExp:function(I){return Object.prototype.toString.call(I)==="[object RegExp]"},maybeMap:function(I,A){if(JI(I)){for(var i=[],e=0;e0?F.join(",")||null:void 0}];else if(QI(C))f=C;else{var y=Object.keys(F);f=Q?y.sort(Q):y}for(var k=t&&QI(F)&&F.length===1?i+"[]":i,U=0;U-1?I.split(","):I},rC=function(I,A,i,e){if(I){var t=i.allowDots?I.replace(/\.([^.[]+)/g,"[$1]"):I,g=/(\[[^[\]]*])/g,o=i.depth>0&&/(\[[^[\]]*])/.exec(t),n=o?t.slice(0,o.index):t,C=[];if(n){if(!i.plainObjects&&Ft.call(Object.prototype,n)&&!i.allowPrototypes)return;C.push(n)}for(var Q=0;i.depth>0&&(o=g.exec(t))!==null&&Q=0;--u){var G,F=s[u];if(F==="[]"&&E.parseArrays)G=[].concat(d);else{G=E.plainObjects?Object.create(null):{};var p=F.charAt(0)==="["&&F.charAt(F.length-1)==="]"?F.slice(1,-1):F,m=parseInt(p,10);E.parseArrays||p!==""?!isNaN(m)&&F!==p&&String(m)===p&&m>=0&&E.parseArrays&&m<=E.arrayLimit?(G=[])[m]=d:p!=="__proto__"&&(G[p]=d):G={0:d}}d=G}return d}(C,A,i,e)}},DI={formats:UI,parse:function(I,A){var i=function(Q){if(!Q)return sA;if(Q.decoder!==null&&Q.decoder!==void 0&&typeof Q.decoder!="function")throw new TypeError("Decoder has to be a function.");if(Q.charset!==void 0&&Q.charset!=="utf-8"&&Q.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var s=Q.charset===void 0?sA.charset:Q.charset;return{allowDots:Q.allowDots===void 0?sA.allowDots:!!Q.allowDots,allowPrototypes:typeof Q.allowPrototypes=="boolean"?Q.allowPrototypes:sA.allowPrototypes,allowSparse:typeof Q.allowSparse=="boolean"?Q.allowSparse:sA.allowSparse,arrayLimit:typeof Q.arrayLimit=="number"?Q.arrayLimit:sA.arrayLimit,charset:s,charsetSentinel:typeof Q.charsetSentinel=="boolean"?Q.charsetSentinel:sA.charsetSentinel,comma:typeof Q.comma=="boolean"?Q.comma:sA.comma,decoder:typeof Q.decoder=="function"?Q.decoder:sA.decoder,delimiter:typeof Q.delimiter=="string"||$A.isRegExp(Q.delimiter)?Q.delimiter:sA.delimiter,depth:typeof Q.depth=="number"||Q.depth===!1?+Q.depth:sA.depth,ignoreQueryPrefix:Q.ignoreQueryPrefix===!0,interpretNumericEntities:typeof Q.interpretNumericEntities=="boolean"?Q.interpretNumericEntities:sA.interpretNumericEntities,parameterLimit:typeof Q.parameterLimit=="number"?Q.parameterLimit:sA.parameterLimit,parseArrays:Q.parseArrays!==!1,plainObjects:typeof Q.plainObjects=="boolean"?Q.plainObjects:sA.plainObjects,strictNullHandling:typeof Q.strictNullHandling=="boolean"?Q.strictNullHandling:sA.strictNullHandling}}(A);if(I===""||I==null)return i.plainObjects?Object.create(null):{};for(var e=typeof I=="string"?function(Q,s){var c,E={__proto__:null},D=s.ignoreQueryPrefix?Q.replace(/^\?/,""):Q,d=s.parameterLimit===1/0?void 0:s.parameterLimit,u=D.split(s.delimiter,d),G=-1,F=s.charset;if(s.charsetSentinel)for(c=0;c-1&&(m=oC(m)?[m]:m),Ft.call(E,p)?E[p]=$A.combine(E[p],m):E[p]=m}return E}(I,i):I,t=i.plainObjects?Object.create(null):{},g=Object.keys(e),o=0;o0?D+E:""}},CC=NI(function(I){function A(i){if(i)return function(e){for(var t in A.prototype)e[t]=A.prototype[t];return e}(i)}I.exports=A,A.prototype.on=A.prototype.addEventListener=function(i,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+i]=this._callbacks["$"+i]||[]).push(e),this},A.prototype.once=function(i,e){function t(){this.off(i,t),e.apply(this,arguments)}return t.fn=e,this.on(i,t),this},A.prototype.off=A.prototype.removeListener=A.prototype.removeAllListeners=A.prototype.removeEventListener=function(i,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var t,g=this._callbacks["$"+i];if(!g)return this;if(arguments.length==1)return delete this._callbacks["$"+i],this;for(var o=0;oD.depthLimit||D.edgesLimit!==void 0&&Q+1>D.edgesLimit)return void ai("[...]",n,C,c);if(s.push(n),Array.isArray(n))for(d=0;dA?1:0}function lo(I,A,i,e){e===void 0&&(e=po());var t,g=function n(C,Q,s,c,E,D,d){var u;if(D+=1,typeof C=="object"&&C!==null){for(u=0;ud.depthLimit||d.edgesLimit!==void 0&&s+1>d.edgesLimit)return void ai("[...]",C,Q,E);if(c.push(C),Array.isArray(C))for(u=0;u0)for(var e=0;e=g.length?{done:!0}:{done:!1,value:g[C++]}},e:function(D){throw D},f:Q}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var s,c=!0,E=!1;return{s:function(){n=n.call(g)},n:function(){var D=n.next();return c=D.done,D},e:function(D){E=!0,s=D},f:function(){try{c||n.return==null||n.return()}finally{if(E)throw s}}}}function t(g,o){(o==null||o>g.length)&&(o=g.length);for(var n=0,C=new Array(o);n=this._maxRetries)return!1;if(this._retryCallback)try{var i=this._retryCallback(I,A);if(i===!0)return!0;if(i===!1)return!1}catch(e){console.error(e)}return!!(A&&A.status&&cC.has(A.status)||I&&(I.code&&sC.has(I.code)||I.timeout&&I.code==="ECONNABORTED"||I.crossDomain))},T.prototype._retry=function(){return this.clearTimeout(),this.req&&(this.req=null,this.req=this.request()),this._aborted=!1,this.timedout=!1,this.timedoutError=null,this._end()},T.prototype.then=function(I,A){var i=this;if(!this._fullfilledPromise){var e=this;this._endCalled&&console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"),this._fullfilledPromise=new Promise(function(t,g){e.on("abort",function(){if(!(i._maxRetries&&i._maxRetries>i._retries))if(i.timedout&&i.timedoutError)g(i.timedoutError);else{var o=new Error("Aborted");o.code="ABORTED",o.status=i.status,o.method=i.method,o.url=i.url,g(o)}}),e.end(function(o,n){o?g(o):t(n)})})}return this._fullfilledPromise.then(I,A)},T.prototype.catch=function(I){return this.then(void 0,I)},T.prototype.use=function(I){return I(this),this},T.prototype.ok=function(I){if(typeof I!="function")throw new Error("Callback required");return this._okCallback=I,this},T.prototype._isResponseOK=function(I){return!!I&&(this._okCallback?this._okCallback(I):I.status>=200&&I.status<300)},T.prototype.get=function(I){return this._header[I.toLowerCase()]},T.prototype.getHeader=T.prototype.get,T.prototype.set=function(I,A){if(pe(I)){for(var i in I)bi(I,i)&&this.set(i,I[i]);return this}return this._header[I.toLowerCase()]=A,this.header[I]=A,this},T.prototype.unset=function(I){return delete this._header[I.toLowerCase()],delete this.header[I],this},T.prototype.field=function(I,A,i){if(I==null)throw new Error(".field(name, val) name can not be empty");if(this._data)throw new Error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()");if(pe(I)){for(var e in I)bi(I,e)&&this.field(e,I[e]);return this}if(Array.isArray(A)){for(var t in A)bi(A,t)&&this.field(I,A[t]);return this}if(A==null)throw new Error(".field(name, val) val can not be empty");return typeof A=="boolean"&&(A=String(A)),i?this._getFormData().append(I,A,i):this._getFormData().append(I,A),this},T.prototype.abort=function(){if(this._aborted)return this;if(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req){if(Bi.gte(process.version,"v13.0.0")&&Bi.lt(process.version,"v14.0.0"))throw new Error("Superagent does not work in v13 properly with abort() due to Node.js core changes");Bi.gte(process.version,"v14.0.0")&&(this.req.destroyed=!0),this.req.abort()}return this.clearTimeout(),this.emit("abort"),this},T.prototype._auth=function(I,A,i,e){switch(i.type){case"basic":this.set("Authorization","Basic ".concat(e("".concat(I,":").concat(A))));break;case"auto":this.username=I,this.password=A;break;case"bearer":this.set("Authorization","Bearer ".concat(I))}return this},T.prototype.withCredentials=function(I){return I===void 0&&(I=!0),this._withCredentials=I,this},T.prototype.redirects=function(I){return this._maxRedirects=I,this},T.prototype.maxResponseSize=function(I){if(typeof I!="number")throw new TypeError("Invalid argument");return this._maxResponseSize=I,this},T.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},T.prototype.send=function(I){var A=pe(I),i=this._header["content-type"];if(this._formData)throw new Error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()");if(A&&!this._data)Array.isArray(I)?this._data=[]:this._isHost(I)||(this._data={});else if(I&&this._data&&this._isHost(this._data))throw new Error("Can't merge these send calls");if(A&&pe(this._data))for(var e in I)bi(I,e)&&(this._data[e]=I[e]);else typeof I=="string"?(i||this.type("form"),(i=this._header["content-type"])&&(i=i.toLowerCase().trim()),this._data=i==="application/x-www-form-urlencoded"?this._data?"".concat(this._data,"&").concat(I):I:(this._data||"")+I):this._data=I;return!A||this._isHost(I)||i||this.type("json"),this},T.prototype.sortQuery=function(I){return this._sort=I===void 0||I,this},T.prototype._finalizeQueryString=function(){var I=this._query.join("&");if(I&&(this.url+=(this.url.includes("?")?"&":"?")+I),this._query.length=0,this._sort){var A=this.url.indexOf("?");if(A>=0){var i=this.url.slice(A+1).split("&");typeof this._sort=="function"?i.sort(this._sort):i.sort(),this.url=this.url.slice(0,A)+"?"+i.join("&")}}},T.prototype._appendQueryString=function(){console.warn("Unsupported")},T.prototype._timeoutError=function(I,A,i){if(!this._aborted){var e=new Error("".concat(I+A,"ms exceeded"));e.timeout=A,e.code="ECONNABORTED",e.errno=i,this.timedout=!0,this.timedoutError=e,this.abort(),this.callback(e)}},T.prototype._setTimeouts=function(){var I=this;this._timeout&&!this._timer&&(this._timer=setTimeout(function(){I._timeoutError("Timeout of ",I._timeout,"ETIME")},this._timeout)),this._responseTimeout&&!this._responseTimeoutTimer&&(this._responseTimeoutTimer=setTimeout(function(){I._timeoutError("Response timeout of ",I._responseTimeout,"ETIMEDOUT")},this._responseTimeout))};var EC=le;function le(){}function hC(I){return function(A){if(Array.isArray(A))return St(A)}(I)||function(A){if(typeof Symbol!="undefined"&&A[Symbol.iterator]!=null||A["@@iterator"]!=null)return Array.from(A)}(I)||So(I)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function So(I,A){if(I){if(typeof I=="string")return St(I,A);var i=Object.prototype.toString.call(I).slice(8,-1);return i==="Object"&&I.constructor&&(i=I.constructor.name),i==="Map"||i==="Set"?Array.from(I):i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?St(I,A):void 0}}function St(I,A){(A==null||A>I.length)&&(A=I.length);for(var i=0,e=new Array(A);i=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(E){throw E},f:C}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var Q,s=!0,c=!1;return{s:function(){o=o.call(t)},n:function(){var E=o.next();return s=E.done,E},e:function(E){c=!0,Q=E},f:function(){try{s||o.return==null||o.return()}finally{if(c)throw Q}}}}(this._defaults);try{for(i.s();!(A=i.n()).done;){var e=A.value;I[e.fn].apply(I,hC(e.args))}}catch(t){i.e(t)}finally{i.f()}};for(vi=kt,Li=NI(function(I,A){function i(f){return(i=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(w){return typeof w}:function(w){return w&&typeof Symbol=="function"&&w.constructor===Symbol&&w!==Symbol.prototype?"symbol":typeof w})(f)}function e(f,w){var y=typeof Symbol!="undefined"&&f[Symbol.iterator]||f["@@iterator"];if(!y){if(Array.isArray(f)||(y=function(M,X){if(!!M){if(typeof M=="string")return t(M,X);var Z=Object.prototype.toString.call(M).slice(8,-1);if(Z==="Object"&&M.constructor&&(Z=M.constructor.name),Z==="Map"||Z==="Set")return Array.from(M);if(Z==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Z))return t(M,X)}}(f))||w&&f&&typeof f.length=="number"){y&&(f=y);var k=0,U=function(){};return{s:U,n:function(){return k>=f.length?{done:!0}:{done:!1,value:f[k++]}},e:function(M){throw M},f:U}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var q,N=!0,R=!1;return{s:function(){y=y.call(f)},n:function(){var M=y.next();return N=M.done,M},e:function(M){R=!0,q=M},f:function(){try{N||y.return==null||y.return()}finally{if(R)throw q}}}}function t(f,w){(w==null||w>f.length)&&(w=f.length);for(var y=0,k=new Array(w);y0||f instanceof Object)?w(f):null)},G.prototype.toError=function(){var f=this.req,w=f.method,y=f.url,k="cannot ".concat(w," ").concat(y," (").concat(this.status,")"),U=new Error(k);return U.status=this.status,U.method=w,U.url=y,U},s.Response=G,CC(F.prototype),n(F.prototype,aC.prototype),F.prototype.type=function(f){return this.set("Content-Type",s.types[f]||f),this},F.prototype.accept=function(f){return this.set("Accept",s.types[f]||f),this},F.prototype.auth=function(f,w,y){arguments.length===1&&(w=""),i(w)==="object"&&w!==null&&(y=w,w=""),y||(y={type:typeof btoa=="function"?"basic":"auto"});var k=y.encoder?y.encoder:function(U){if(typeof btoa=="function")return btoa(U);throw new Error("Cannot use basic auth, btoa is not a function")};return this._auth(f,w,y,k)},F.prototype.query=function(f){return typeof f!="string"&&(f=E(f)),f&&this._query.push(f),this},F.prototype.attach=function(f,w,y){if(w){if(this._data)throw new Error("superagent can't mix .send() and .attach()");this._getFormData().append(f,w,y||w.name)}return this},F.prototype._getFormData=function(){return this._formData||(this._formData=new g.FormData),this._formData},F.prototype.callback=function(f,w){if(this._shouldRetry(f,w))return this._retry();var y=this._callback;this.clearTimeout(),f&&(this._maxRetries&&(f.retries=this._retries-1),this.emit("error",f)),y(f,w)},F.prototype.crossDomainError=function(){var f=new Error(`Request has been terminated -Possible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.`);f.crossDomain=!0,f.status=this.status,f.method=this.method,f.url=this.url,this.callback(f)},F.prototype.agent=function(){return console.warn("This is not supported in browser version of superagent"),this},F.prototype.ca=F.prototype.agent,F.prototype.buffer=F.prototype.ca,F.prototype.write=function(){throw new Error("Streaming is not supported in browser version of superagent")},F.prototype.pipe=F.prototype.write,F.prototype._isHost=function(f){return f&&i(f)==="object"&&!Array.isArray(f)&&Object.prototype.toString.call(f)!=="[object Object]"},F.prototype.end=function(f){this._endCalled&&console.warn("Warning: .end() was called twice. This is not supported in superagent"),this._endCalled=!0,this._callback=f||Q,this._finalizeQueryString(),this._end()},F.prototype._setUploadTimeout=function(){var f=this;this._uploadTimeout&&!this._uploadTimeoutTimer&&(this._uploadTimeoutTimer=setTimeout(function(){f._timeoutError("Upload timeout of ",f._uploadTimeout,"ETIMEDOUT")},this._uploadTimeout))},F.prototype._end=function(){if(this._aborted)return this.callback(new Error("The request has been aborted even before .end() was called"));var f=this;this.xhr=s.getXHR();var w=this.xhr,y=this._formData||this._data;this._setTimeouts(),w.addEventListener("readystatechange",function(){var R=w.readyState;if(R>=2&&f._responseTimeoutTimer&&clearTimeout(f._responseTimeoutTimer),R===4){var M;try{M=w.status}catch{M=0}if(!M)return f.timedout||f._aborted?void 0:f.crossDomainError();f.emit("end")}});var k=function(R,M){M.total>0&&(M.percent=M.loaded/M.total*100,M.percent===100&&clearTimeout(f._uploadTimeoutTimer)),M.direction=R,f.emit("progress",M)};if(this.hasListeners("progress"))try{w.addEventListener("progress",k.bind(null,"download")),w.upload&&w.upload.addEventListener("progress",k.bind(null,"upload"))}catch{}w.upload&&this._setUploadTimeout();try{this.username&&this.password?w.open(this.method,this.url,!0,this.username,this.password):w.open(this.method,this.url,!0)}catch(R){return this.callback(R)}if(this._withCredentials&&(w.withCredentials=!0),!this._formData&&this.method!=="GET"&&this.method!=="HEAD"&&typeof y!="string"&&!this._isHost(y)){var U=this._header["content-type"],q=this._serializer||s.serialize[U?U.split(";")[0]:""];!q&&u(U)&&(q=s.serialize["application/json"]),q&&(y=q(y))}for(var N in this.header)this.header[N]!==null&&C(this.header,N)&&w.setRequestHeader(N,this.header[N]);this._responseType&&(w.responseType=this._responseType),this.emit("request",this),w.send(y===void 0?null:y)},s.agent=function(){return new vi};for(var p=function(){var f=J[m];vi.prototype[f.toLowerCase()]=function(w,y){var k=new s.Request(f,w);return this._setDefaults(k),y&&k.end(y),k}},m=0,J=["GET","POST","OPTIONS","PATCH","PUT","DELETE"];m0?t-4:t;for(i=0;i>16&255,o[n++]=A>>8&255,o[n++]=255&A;return g===2&&(A=GA[I.charCodeAt(i)]<<2|GA[I.charCodeAt(i+1)]>>4,o[n++]=255&A),g===1&&(A=GA[I.charCodeAt(i)]<<10|GA[I.charCodeAt(i+1)]<<4|GA[I.charCodeAt(i+2)]>>2,o[n++]=A>>8&255,o[n++]=255&A),o},mo=function(I){for(var A,i=I.length,e=i%3,t=[],g=0,o=i-e;go?o:g+16383));return e===1?(A=I[i-1],t.push(LA[A>>2]+LA[A<<4&63]+"==")):e===2&&(A=(I[i-2]<<8)+I[i-1],t.push(LA[A>>10]+LA[A>>4&63]+LA[A<<2&63]+"=")),t.join("")},LA=[],GA=[],Ho=typeof Uint8Array!="undefined"?Uint8Array:Array,Fe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",YI=0,Uo=Fe.length;YI0)throw new Error("Invalid string. Length must be a multiple of 4");var i=I.indexOf("=");return i===-1&&(i=A),[i,i===A?0:4-i%4]}function fC(I,A,i){for(var e,t,g=[],o=A;o>18&63]+LA[t>>12&63]+LA[t>>6&63]+LA[63&t]);return g.join("")}GA["-".charCodeAt(0)]=62,GA["_".charCodeAt(0)]=63;var qo={byteLength:Go,toByteArray:No,fromByteArray:mo},dC={encode:function(I){return qo.fromByteArray(function(A){for(var i=new Array(A.length),e=0;e=65&&o<=90||!Q&&o>=48&&o<=57)&&(n+="_"),n+=g[C].toLowerCase(),Q=o>=48&&o<=57,s=o>=65&&o<=90,C++;return n}(t):t]=I(A[t]),e},{}))},toCamelCase:function I(A,i,e){return typeof A!="object"||L.isArray(A)||A===null?A:(i=i||[],e=e||{},Object.keys(A).reduce(function(t,g){var o,n=i.indexOf(g)===-1?(o=g.split("_")).reduce(function(C,Q){return C+Q.charAt(0).toUpperCase()+Q.slice(1)},o.shift()):g;return t[n]=I(A[n]||A[g],[],e),e.keepOriginal&&(t[g]=I(A[g],[],e)),t},{}))},blacklist:function(I,A){return Object.keys(I).reduce(function(i,e){return A.indexOf(e)===-1&&(i[e]=I[e]),i},{})},merge:function(I,A){return{base:A?Nt(I,A):I,with:function(i,e){return i=e?Nt(i,e):i,mt(this.base,i)}}},pick:Nt,getKeysNotIn:function(I,A){var i=[];for(var e in I)A.indexOf(e)===-1&&i.push(e);return i},extend:mt,getOriginFromUrl:function(I){if(I){var A=xo(I);if(!A)return null;var i=A.protocol+"//"+A.hostname;return A.port&&(i+=":"+A.port),i}},getLocationFromUrl:xo,trimUserDetails:function(I){return function(A,i){return i.reduce(pC,A)}(I,["username","email","phoneNumber"])},updatePropertyOn:function I(A,i,e){typeof i=="string"&&(i=i.split("."));var t=i[0];A.hasOwnProperty(t)&&(i.length===1?A[t]=e:I(A[t],i.slice(1),e))}};function si(I){this.request=I,this.method=I.method,this.url=I.url,this.body=I._data,this.headers=I._header}function KI(I){this.request=I}function AI(I){this._sendTelemetry=I._sendTelemetry!==!1||I._sendTelemetry,this._telemetryInfo=I._telemetryInfo||null,this._timesToRetryFailedRequests=I._timesToRetryFailedRequests,this.headers=I.headers||{},this._universalLoginPage=I.universalLoginPage}function ke(){return window}si.prototype.abort=function(){this.request.abort()},si.prototype.getMethod=function(){return this.method},si.prototype.getBody=function(){return this.body},si.prototype.getUrl=function(){return this.url},si.prototype.getHeaders=function(){return this.headers},KI.prototype.set=function(I,A){return this.request=this.request.set(I,A),this},KI.prototype.send=function(I){return this.request=this.request.send(b.trimUserDetails(I)),this},KI.prototype.withCredentials=function(){return this.request=this.request.withCredentials(),this},KI.prototype.end=function(I){return this.request.end(I),new si(this.request)},AI.prototype.setCommonConfiguration=function(I,A){if(A=A||{},this._timesToRetryFailedRequests>0&&(I=I.retry(this._timesToRetryFailedRequests)),A.noHeaders)return I;var i=this.headers;I=I.set("Content-Type","application/json"),A.xRequestLanguage&&(I=I.set("X-Request-Language",A.xRequestLanguage));for(var e=Object.keys(this.headers),t=0;t0&&I.warning("Following parameters are not allowed on the `/authorize` endpoint: ["+i.join(",")+"]"),A}},xI=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function bI(I){var A={exports:{}};return I(A,A.exports),A.exports}var FC=bI(function(I,A){I.exports=function(){function i(r){return typeof r=="function"}var e=Array.isArray?Array.isArray:function(r){return Object.prototype.toString.call(r)==="[object Array]"},t=0,g=void 0,o=void 0,n=function(r,a){d[t]=r,d[t+1]=a,(t+=2)===2&&(o?o(u):J())},C=typeof window!="undefined"?window:void 0,Q=C||{},s=Q.MutationObserver||Q.WebKitMutationObserver,c=typeof self=="undefined"&&typeof process!="undefined"&&{}.toString.call(process)==="[object process]",E=typeof Uint8ClampedArray!="undefined"&&typeof importScripts!="undefined"&&typeof MessageChannel!="undefined";function D(){var r=setTimeout;return function(){return r(u,1)}}var d=new Array(1e3);function u(){for(var r=0;r>>2]|=(J[w>>>2]>>>24-w%4*8&255)<<24-(K+w)%4*8;else for(var y=0;y>>2]=J[y>>>2];return this.sigBytes+=f,this},clamp:function(){var p=this.words,m=this.sigBytes;p[m>>>2]&=4294967295<<32-m%4*8,p.length=e.ceil(m/4)},clone:function(){var p=s.clone.call(this);return p.words=this.words.slice(0),p},random:function(p){for(var m=[],J=0;J>>2]>>>24-f%4*8&255;K.push((w>>>4).toString(16)),K.push((15&w).toString(16))}return K.join("")},parse:function(p){for(var m=p.length,J=[],K=0;K>>3]|=parseInt(p.substr(K,2),16)<<24-K%8*4;return new c.init(J,m/2)}},d=E.Latin1={stringify:function(p){for(var m=p.words,J=p.sigBytes,K=[],f=0;f>>2]>>>24-f%4*8&255));return K.join("")},parse:function(p){for(var m=p.length,J=[],K=0;K>>2]|=(255&p.charCodeAt(K))<<24-K%4*8;return new c.init(J,m)}},u=E.Utf8={stringify:function(p){try{return decodeURIComponent(escape(d.stringify(p)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(p){return d.parse(unescape(encodeURIComponent(p)))}},G=Q.BufferedBlockAlgorithm=s.extend({reset:function(){this._data=new c.init,this._nDataBytes=0},_append:function(p){typeof p=="string"&&(p=u.parse(p)),this._data.concat(p),this._nDataBytes+=p.sigBytes},_process:function(p){var m,J=this._data,K=J.words,f=J.sigBytes,w=this.blockSize,y=f/(4*w),k=(y=p?e.ceil(y):e.max((0|y)-this._minBufferSize,0))*w,U=e.min(4*k,f);if(k){for(var q=0;q>>7)^(k<<14|k>>>18)^k>>>3)+c[y-7]+((U<<15|U>>>17)^(U<<13|U>>>19)^U>>>10)+c[y-16]}var q=G&F^G&p^F&p,N=w+((J<<26|J>>>6)^(J<<21|J>>>11)^(J<<7|J>>>25))+(J&K^~J&f)+s[y]+c[y];w=f,f=K,K=J,J=m+N|0,m=p,p=F,F=G,G=N+(((G<<30|G>>>2)^(G<<19|G>>>13)^(G<<10|G>>>22))+q)|0}u[0]=u[0]+G|0,u[1]=u[1]+F|0,u[2]=u[2]+p|0,u[3]=u[3]+m|0,u[4]=u[4]+J|0,u[5]=u[5]+K|0,u[6]=u[6]+f|0,u[7]=u[7]+w|0},_doFinalize:function(){var D=this._data,d=D.words,u=8*this._nDataBytes,G=8*D.sigBytes;return d[G>>>5]|=128<<24-G%32,d[14+(G+64>>>9<<4)]=e.floor(u/4294967296),d[15+(G+64>>>9<<4)]=u,D.sigBytes=4*d.length,this._process(),this._hash},clone:function(){var D=n.clone.call(this);return D._hash=this._hash.clone(),D}});t.SHA256=n._createHelper(E),t.HmacSHA256=n._createHmacHelper(E)}(Math),i.SHA256)}),kC=bI(function(I,A){var i,e;I.exports=(e=(i=Ut).lib.WordArray,i.enc.Base64={stringify:function(t){var g=t.words,o=t.sigBytes,n=this._map;t.clamp();for(var C=[],Q=0;Q>>2]>>>24-Q%4*8&255)<<16|(g[Q+1>>>2]>>>24-(Q+1)%4*8&255)<<8|g[Q+2>>>2]>>>24-(Q+2)%4*8&255,c=0;c<4&&Q+.75*c>>6*(3-c)&63));var E=n.charAt(64);if(E)for(;C.length%4;)C.push(E);return C.join("")},parse:function(t){var g=t.length,o=this._map,n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var C=0;C>>6-G%4*2;d[u>>>2]|=(F|p)<<24-u%4*8,u++}return e.create(d,u)}(t,g,n)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},i.enc.Base64)}),Oo=bI(function(I,A){I.exports=Ut.enc.Hex}),Xo=bI(function(I,A){(function(){var i;function e(B,r,a){B!=null&&(typeof B=="number"?this.fromNumber(B,r,a):this.fromString(B,r==null&&typeof B!="string"?256:r))}function t(){return new e(null)}var g=typeof navigator!="undefined";g&&navigator.appName=="Microsoft Internet Explorer"?(e.prototype.am=function(B,r,a,h,l,S){for(var H=32767&r,Y=r>>15;--S>=0;){var P=32767&this[B],j=this[B++]>>15,BA=Y*P+j*H;l=((P=H*P+((32767&BA)<<15)+a[h]+(1073741823&l))>>>30)+(BA>>>15)+Y*j+(l>>>30),a[h++]=1073741823&P}return l},i=30):g&&navigator.appName!="Netscape"?(e.prototype.am=function(B,r,a,h,l,S){for(;--S>=0;){var H=r*this[B++]+a[h]+l;l=Math.floor(H/67108864),a[h++]=67108863&H}return l},i=26):(e.prototype.am=function(B,r,a,h,l,S){for(var H=16383&r,Y=r>>14;--S>=0;){var P=16383&this[B],j=this[B++]>>14,BA=Y*P+j*H;l=((P=H*P+((16383&BA)<<14)+a[h]+l)>>28)+(BA>>14)+Y*j,a[h++]=268435455&P}return l},i=28),e.prototype.DB=i,e.prototype.DM=(1<>>16)!=0&&(B=r,a+=16),(r=B>>8)!=0&&(B=r,a+=8),(r=B>>4)!=0&&(B=r,a+=4),(r=B>>2)!=0&&(B=r,a+=2),(r=B>>1)!=0&&(B=r,a+=1),a}function D(B){this.m=B}function d(B){this.m=B,this.mp=B.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>=16,r+=16),(255&B)==0&&(B>>=8,r+=8),(15&B)==0&&(B>>=4,r+=4),(3&B)==0&&(B>>=2,r+=2),(1&B)==0&&++r,r}function J(B){for(var r=0;B!=0;)B&=B-1,++r;return r}function K(){}function f(B){return B}function w(B){this.r2=t(),this.q3=t(),e.ONE.dlShiftTo(2*B.t,this.r2),this.mu=this.r2.divide(B),this.m=B}D.prototype.convert=function(B){return B.s<0||B.compareTo(this.m)>=0?B.mod(this.m):B},D.prototype.revert=function(B){return B},D.prototype.reduce=function(B){B.divRemTo(this.m,null,B)},D.prototype.mulTo=function(B,r,a){B.multiplyTo(r,a),this.reduce(a)},D.prototype.sqrTo=function(B,r){B.squareTo(r),this.reduce(r)},d.prototype.convert=function(B){var r=t();return B.abs().dlShiftTo(this.m.t,r),r.divRemTo(this.m,null,r),B.s<0&&r.compareTo(e.ZERO)>0&&this.m.subTo(r,r),r},d.prototype.revert=function(B){var r=t();return B.copyTo(r),this.reduce(r),r},d.prototype.reduce=function(B){for(;B.t<=this.mt2;)B[B.t++]=0;for(var r=0;r>15)*this.mpl&this.um)<<15)&B.DM;for(B[a=r+this.m.t]+=this.m.am(0,h,B,r,0,this.m.t);B[a]>=B.DV;)B[a]-=B.DV,B[++a]++}B.clamp(),B.drShiftTo(this.m.t,B),B.compareTo(this.m)>=0&&B.subTo(this.m,B)},d.prototype.mulTo=function(B,r,a){B.multiplyTo(r,a),this.reduce(a)},d.prototype.sqrTo=function(B,r){B.squareTo(r),this.reduce(r)},e.prototype.copyTo=function(B){for(var r=this.t-1;r>=0;--r)B[r]=this[r];B.t=this.t,B.s=this.s},e.prototype.fromInt=function(B){this.t=1,this.s=B<0?-1:0,B>0?this[0]=B:B<-1?this[0]=B+this.DV:this.t=0},e.prototype.fromString=function(B,r){var a;if(r==16)a=4;else if(r==8)a=3;else if(r==256)a=8;else if(r==2)a=1;else if(r==32)a=5;else{if(r!=4)return void this.fromRadix(B,r);a=2}this.t=0,this.s=0;for(var h=B.length,l=!1,S=0;--h>=0;){var H=a==8?255&B[h]:s(B,h);H<0?B.charAt(h)=="-"&&(l=!0):(l=!1,S==0?this[this.t++]=H:S+a>this.DB?(this[this.t-1]|=(H&(1<>this.DB-S):this[this.t-1]|=H<=this.DB&&(S-=this.DB))}a==8&&(128&B[0])!=0&&(this.s=-1,S>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==B;)--this.t},e.prototype.dlShiftTo=function(B,r){var a;for(a=this.t-1;a>=0;--a)r[a+B]=this[a];for(a=B-1;a>=0;--a)r[a]=0;r.t=this.t+B,r.s=this.s},e.prototype.drShiftTo=function(B,r){for(var a=B;a=0;--a)r[a+H+1]=this[a]>>l|Y,Y=(this[a]&S)<=0;--a)r[a]=0;r[H]=Y,r.t=this.t+H+1,r.s=this.s,r.clamp()},e.prototype.rShiftTo=function(B,r){r.s=this.s;var a=Math.floor(B/this.DB);if(a>=this.t)r.t=0;else{var h=B%this.DB,l=this.DB-h,S=(1<>h;for(var H=a+1;H>h;h>0&&(r[this.t-a-1]|=(this.s&S)<>=this.DB;if(B.t>=this.DB;h+=this.s}else{for(h+=this.s;a>=this.DB;h-=B.s}r.s=h<0?-1:0,h<-1?r[a++]=this.DV+h:h>0&&(r[a++]=h),r.t=a,r.clamp()},e.prototype.multiplyTo=function(B,r){var a=this.abs(),h=B.abs(),l=a.t;for(r.t=l+h.t;--l>=0;)r[l]=0;for(l=0;l=0;)B[a]=0;for(a=0;a=r.DV&&(B[a+r.t]-=r.DV,B[a+r.t+1]=1)}B.t>0&&(B[B.t-1]+=r.am(a,r[a],B,2*a,0,1)),B.s=0,B.clamp()},e.prototype.divRemTo=function(B,r,a){var h=B.abs();if(!(h.t<=0)){var l=this.abs();if(l.t0?(h.lShiftTo(P,S),l.lShiftTo(P,a)):(h.copyTo(S),l.copyTo(a));var j=S.t,BA=S[j-1];if(BA!=0){var mA=BA*(1<1?S[j-2]>>this.F2:0),lI=this.FV/mA,SA=(1<=0&&(a[a.t++]=1,a.subTo(cI,a)),e.ONE.dlShiftTo(j,cI),cI.subTo(S,S);S.t=0;){var Me=a[--EA]==BA?this.DM:Math.floor(a[EA]*lI+(a[EA-1]+HA)*SA);if((a[EA]+=S.am(0,Me,a,_i,0,j))0&&a.rShiftTo(P,a),H<0&&e.ZERO.subTo(a,a)}}},e.prototype.invDigit=function(){if(this.t<1)return 0;var B=this[0];if((1&B)==0)return 0;var r=3&B;return(r=(r=(r=(r=r*(2-(15&B)*r)&15)*(2-(255&B)*r)&255)*(2-((65535&B)*r&65535))&65535)*(2-B*r%this.DV)%this.DV)>0?this.DV-r:-r},e.prototype.isEven=function(){return(this.t>0?1&this[0]:this.s)==0},e.prototype.exp=function(B,r){if(B>4294967295||B<1)return e.ONE;var a=t(),h=t(),l=r.convert(this),S=E(B)-1;for(l.copyTo(a);--S>=0;)if(r.sqrTo(a,h),(B&1<0)r.mulTo(h,l,a);else{var H=a;a=h,h=H}return r.revert(a)},e.prototype.toString=function(B){if(this.s<0)return"-"+this.negate().toString(B);var r;if(B==16)r=4;else if(B==8)r=3;else if(B==2)r=1;else if(B==32)r=5;else{if(B!=4)return this.toRadix(B);r=2}var a,h=(1<0)for(Y>Y)>0&&(l=!0,S=Q(a));H>=0;)Y>(Y+=this.DB-r)):(a=this[H]>>(Y-=r)&h,Y<=0&&(Y+=this.DB,--H)),a>0&&(l=!0),l&&(S+=Q(a));return l?S:"0"},e.prototype.negate=function(){var B=t();return e.ZERO.subTo(this,B),B},e.prototype.abs=function(){return this.s<0?this.negate():this},e.prototype.compareTo=function(B){var r=this.s-B.s;if(r!=0)return r;var a=this.t;if((r=a-B.t)!=0)return this.s<0?-r:r;for(;--a>=0;)if((r=this[a]-B[a])!=0)return r;return 0},e.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+E(this[this.t-1]^this.s&this.DM)},e.prototype.mod=function(B){var r=t();return this.abs().divRemTo(B,null,r),this.s<0&&r.compareTo(e.ZERO)>0&&B.subTo(r,r),r},e.prototype.modPowInt=function(B,r){var a;return a=B<256||r.isEven()?new D(r):new d(r),this.exp(B,a)},e.ZERO=c(0),e.ONE=c(1),K.prototype.convert=f,K.prototype.revert=f,K.prototype.mulTo=function(B,r,a){B.multiplyTo(r,a)},K.prototype.sqrTo=function(B,r){B.squareTo(r)},w.prototype.convert=function(B){if(B.s<0||B.t>2*this.m.t)return B.mod(this.m);if(B.compareTo(this.m)<0)return B;var r=t();return B.copyTo(r),this.reduce(r),r},w.prototype.revert=function(B){return B},w.prototype.reduce=function(B){for(B.drShiftTo(this.m.t-1,this.r2),B.t>this.m.t+1&&(B.t=this.m.t+1,B.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);B.compareTo(this.r2)<0;)B.dAddOffset(1,this.m.t+1);for(B.subTo(this.r2,B);B.compareTo(this.m)>=0;)B.subTo(this.m,B)},w.prototype.mulTo=function(B,r,a){B.multiplyTo(r,a),this.reduce(a)},w.prototype.sqrTo=function(B,r){B.squareTo(r),this.reduce(r)};var y,k,U,q=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],N=(1<<26)/q[q.length-1];function R(){var B;B=new Date().getTime(),k[U++]^=255&B,k[U++]^=B>>8&255,k[U++]^=B>>16&255,k[U++]^=B>>24&255,U>=oA&&(U-=oA)}if(e.prototype.chunkSize=function(B){return Math.floor(Math.LN2*this.DB/Math.log(B))},e.prototype.toRadix=function(B){if(B==null&&(B=10),this.signum()==0||B<2||B>36)return"0";var r=this.chunkSize(B),a=Math.pow(B,r),h=c(a),l=t(),S=t(),H="";for(this.divRemTo(h,l,S);l.signum()>0;)H=(a+S.intValue()).toString(B).substr(1)+H,l.divRemTo(h,l,S);return S.intValue().toString(B)+H},e.prototype.fromRadix=function(B,r){this.fromInt(0),r==null&&(r=10);for(var a=this.chunkSize(r),h=Math.pow(r,a),l=!1,S=0,H=0,Y=0;Y=a&&(this.dMultiply(h),this.dAddOffset(H,0),S=0,H=0))}S>0&&(this.dMultiply(Math.pow(r,S)),this.dAddOffset(H,0)),l&&e.ZERO.subTo(this,this)},e.prototype.fromNumber=function(B,r,a){if(typeof r=="number")if(B<2)this.fromInt(1);else for(this.fromNumber(B,a),this.testBit(B-1)||this.bitwiseTo(e.ONE.shiftLeft(B-1),G,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(r);)this.dAddOffset(2,0),this.bitLength()>B&&this.subTo(e.ONE.shiftLeft(B-1),this);else{var h=new Array,l=7&B;h.length=1+(B>>3),r.nextBytes(h),l>0?h[0]&=(1<>=this.DB;if(B.t>=this.DB;h+=this.s}else{for(h+=this.s;a>=this.DB;h+=B.s}r.s=h<0?-1:0,h>0?r[a++]=h:h<-1&&(r[a++]=this.DV+h),r.t=a,r.clamp()},e.prototype.dMultiply=function(B){this[this.t]=this.am(0,B-1,this,0,0,this.t),++this.t,this.clamp()},e.prototype.dAddOffset=function(B,r){if(B!=0){for(;this.t<=r;)this[this.t++]=0;for(this[r]+=B;this[r]>=this.DV;)this[r]-=this.DV,++r>=this.t&&(this[this.t++]=0),++this[r]}},e.prototype.multiplyLowerTo=function(B,r,a){var h,l=Math.min(this.t+B.t,r);for(a.s=0,a.t=l;l>0;)a[--l]=0;for(h=a.t-this.t;l=0;)a[h]=0;for(h=Math.max(r-this.t,0);h0)if(r==0)a=this[0]%B;else for(var h=this.t-1;h>=0;--h)a=(r*a+this[h])%B;return a},e.prototype.millerRabin=function(B){var r=this.subtract(e.ONE),a=r.getLowestSetBit();if(a<=0)return!1;var h=r.shiftRight(a);(B=B+1>>1)>q.length&&(B=q.length);for(var l=t(),S=0;S>24},e.prototype.shortValue=function(){return this.t==0?this.s:this[0]<<16>>16},e.prototype.signum=function(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1},e.prototype.toByteArray=function(){var B=this.t,r=new Array;r[0]=this.s;var a,h=this.DB-B*this.DB%8,l=0;if(B-- >0)for(h>h)!=(this.s&this.DM)>>h&&(r[l++]=a|this.s<=0;)h<8?(a=(this[B]&(1<>(h+=this.DB-8)):(a=this[B]>>(h-=8)&255,h<=0&&(h+=this.DB,--B)),(128&a)!=0&&(a|=-256),l==0&&(128&this.s)!=(128&a)&&++l,(l>0||a!=this.s)&&(r[l++]=a);return r},e.prototype.equals=function(B){return this.compareTo(B)==0},e.prototype.min=function(B){return this.compareTo(B)<0?this:B},e.prototype.max=function(B){return this.compareTo(B)>0?this:B},e.prototype.and=function(B){var r=t();return this.bitwiseTo(B,u,r),r},e.prototype.or=function(B){var r=t();return this.bitwiseTo(B,G,r),r},e.prototype.xor=function(B){var r=t();return this.bitwiseTo(B,F,r),r},e.prototype.andNot=function(B){var r=t();return this.bitwiseTo(B,p,r),r},e.prototype.not=function(){for(var B=t(),r=0;r=this.t?this.s!=0:(this[r]&1<1){var BA=t();for(h.sqrTo(H[1],BA);Y<=j;)H[Y]=t(),h.mulTo(BA,H[Y-2],H[Y]),Y+=2}var mA,lI,SA=B.t-1,HA=!0,EA=t();for(l=E(B[SA])-1;SA>=0;){for(l>=P?mA=B[SA]>>l-P&j:(mA=(B[SA]&(1<0&&(mA|=B[SA-1]>>this.DB+l-P)),Y=a;(1&mA)==0;)mA>>=1,--Y;if((l-=Y)<0&&(l+=this.DB,--SA),HA)H[mA].copyTo(S),HA=!1;else{for(;Y>1;)h.sqrTo(S,EA),h.sqrTo(EA,S),Y-=2;Y>0?h.sqrTo(S,EA):(lI=S,S=EA,EA=lI),h.mulTo(EA,H[mA],S)}for(;SA>=0&&(B[SA]&1<=0?(a.subTo(h,a),r&&l.subTo(H,l),S.subTo(Y,S)):(h.subTo(a,h),r&&H.subTo(l,H),Y.subTo(S,Y))}return h.compareTo(e.ONE)!=0?e.ZERO:Y.compareTo(B)>=0?Y.subtract(B):Y.signum()<0?(Y.addTo(B,Y),Y.signum()<0?Y.add(B):Y):Y},e.prototype.pow=function(B){return this.exp(B,new K)},e.prototype.gcd=function(B){var r=this.s<0?this.negate():this.clone(),a=B.s<0?B.negate():B.clone();if(r.compareTo(a)<0){var h=r;r=a,a=h}var l=r.getLowestSetBit(),S=a.getLowestSetBit();if(S<0)return r;for(l0&&(r.rShiftTo(S,r),a.rShiftTo(S,a));r.signum()>0;)(l=r.getLowestSetBit())>0&&r.rShiftTo(l,r),(l=a.getLowestSetBit())>0&&a.rShiftTo(l,a),r.compareTo(a)>=0?(r.subTo(a,r),r.rShiftTo(1,r)):(a.subTo(r,a),a.rShiftTo(1,a));return S>0&&a.lShiftTo(S,a),a},e.prototype.isProbablePrime=function(B){var r,a=this.abs();if(a.t==1&&a[0]<=q[q.length-1]){for(r=0;r>>8,k[U++]=255&M;U=0,R()}function eA(){if(y==null){for(R(),(y=new O).init(k),U=0;U0&&A.length>0))throw new Error("Invalid key data");this.n=new Xo.BigInteger(I,16),this.e=parseInt(A,16)}Vo.prototype.verify=function(I,A){A=A.replace(/[^0-9a-f]|[\s\n]]/gi,"");var i=new Xo.BigInteger(A,16);if(i.bitLength()>this.n.bitLength())throw new Error("Signature does not match with the key modulus.");var e=function(g){for(var o in Po){var n=Po[o],C=n.length;if(g.substring(0,C)===n)return{alg:o,hash:g.substring(C)}}return[]}(i.modPowInt(this.e,this.n).toString(16).replace(/^1f+00/,""));if(e.length===0)return!1;if(!Zo.hasOwnProperty(e.alg))throw new Error("Hashing algorithm is not supported.");var t=Zo[e.alg](I).toString();return e.hash===t};for(Wo=[],NA=[],To=typeof Uint8Array!="undefined"?Uint8Array:Array,Jt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",vI=0;vI<64;++vI)Wo[vI]=Jt[vI],NA[Jt.charCodeAt(vI)]=vI;var Wo,NA,To,Jt,vI;NA["-".charCodeAt(0)]=62,NA["_".charCodeAt(0)]=63;var zo=function(I){var A,i,e=function(Q){var s=Q.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var c=Q.indexOf("=");return c===-1&&(c=s),[c,c===s?0:4-c%4]}(I),t=e[0],g=e[1],o=new To(function(Q,s,c){return 3*(s+c)/4-c}(0,t,g)),n=0,C=g>0?t-4:t;for(i=0;i>16&255,o[n++]=A>>8&255,o[n++]=255&A;return g===2&&(A=NA[I.charCodeAt(i)]<<2|NA[I.charCodeAt(i+1)]>>4,o[n++]=255&A),g===1&&(A=NA[I.charCodeAt(i)]<<10|NA[I.charCodeAt(i+1)]<<4|NA[I.charCodeAt(i+2)]>>2,o[n++]=A>>8&255,o[n++]=255&A),o};function jo(I){var A=I.length%4;return A===0?I:I+new Array(4-A+1).join("=")}function _o(I){return I=jo(I).replace(/\-/g,"+").replace(/_/g,"/"),decodeURIComponent(function(A){for(var i="",e=0;e1){var g=e.shift();e[0]=g+e[0]}e[0]=e[0].match(/^file:\/\/\//)?e[0].replace(/^([^/:]+):\/*/,"$1:///"):e[0].replace(/^([^/:]+):\/*/,"$1://");for(var o=0;o0&&(n=n.replace(/^[\/]+/,"")),n=n.replace(/[\/]+$/,o0?"?":"")+Q.join("&")}(typeof arguments[0]=="object"?arguments[0]:[].slice.call(arguments))}},I.exports?I.exports=i():A.urljoin=i()});function NC(I,A){return A=A||{},new Promise(function(i,e){var t=new XMLHttpRequest,g=[],o=[],n={},C=function(){return{ok:(t.status/100|0)==2,statusText:t.statusText,status:t.status,url:t.responseURL,text:function(){return Promise.resolve(t.responseText)},json:function(){return Promise.resolve(t.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([t.response]))},clone:C,headers:{keys:function(){return g},entries:function(){return o},get:function(s){return n[s.toLowerCase()]},has:function(s){return s.toLowerCase()in n}}}};for(var Q in t.open(A.method||"get",I,!0),t.onload=function(){t.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,function(s,c,E){g.push(c=c.toLowerCase()),o.push([c,E]),n[c]=n[c]?n[c]+","+E:E}),i(C())},t.onerror=e,t.withCredentials=A.credentials=="include",A.headers)t.setRequestHeader(Q,A.headers[Q]);t.send(A.body||null)})}function mC(I){if(I.ok)return I.json();var A=new Error(I.statusText);return A.response=I,Promise.reject(A)}function Mt(I){this.name="ConfigurationError",this.message=I||""}function $(I){this.name="TokenValidationError",this.message=I||""}Mt.prototype=Error.prototype,$.prototype=Error.prototype;var HC=function(){function I(){}var A=I.prototype;return A.get=function(){return null},A.has=function(){return null},A.set=function(){return null},I}();FC.polyfill();var Yt="RS256",Ne=function(I){return typeof I=="number"},UC=function(){return new Date};function LI(I){var A=I||{};if(this.jwksCache=A.jwksCache||new HC,this.expectedAlg=A.expectedAlg||"RS256",this.issuer=A.issuer,this.audience=A.audience,this.leeway=A.leeway===0?0:A.leeway||60,this.jwksURI=A.jwksURI,this.maxAge=A.maxAge,this.__clock=typeof A.__clock=="function"?A.__clock:UC,this.leeway<0||this.leeway>300)throw new Mt("The leeway should be positive and lower than five minutes.");if(Yt!==this.expectedAlg)throw new Mt('Signature algorithm of "'+this.expectedAlg+'" is not supported. Expected the ID token to be signed with "'+Yt+'".')}function $o(I,A){this.plugins=A;for(var i=0;i1){if(!d||typeof d!="string")return i(new $("Authorized Party (azp) claim must be a string present in the ID token when Audience (aud) claim has multiple values"),null);if(d!==p.audience)return i(new $('Authorized Party (azp) claim mismatch in the ID token; expected "'+p.audience+'", found "'+d+'"'),null)}if(!c||!Ne(c))return i(new $("Expiration Time (exp) claim must be a number present in the ID token"),null);if(!D||!Ne(D))return i(new $("Issued At (iat) claim must be a number present in the ID token"),null);var K=c+p.leeway,f=new Date(0);if(f.setUTCSeconds(K),F>f)return i(new $('Expiration Time (exp) claim error in the ID token; current time "'+F+'" is after expiration time "'+f+'"'),null);if(E&&Ne(E)){var w=E-p.leeway,y=new Date(0);if(y.setUTCSeconds(w),FU)return i(new $('Authentication Time (auth_time) claim in the ID token indicates that too much time has passed since the last end-user authentication. Current time "'+F+'" is after last auth time at "'+U+'"'),null)}return i(null,e.payload)})},LI.prototype.getRsaVerifier=function(I,A,i){var e=this,t=I+A;Promise.resolve(this.jwksCache.has(t)).then(function(g){return g?e.jwksCache.get(t):(n=(o={jwksURI:e.jwksURI,iss:I,kid:A}).jwksURI||GC(o.iss,".well-known","jwks.json"),(fetch=="undefined"?NC:fetch)(n).then(mC).then(function(C){var Q,s,c,E=null;for(Q=0;Q-1&&new RegExp("rv:([0-9]{2,2}[.0-9]{0,})").exec(n)!==null&&(o=parseFloat(RegExp.$1)),o>=8}();return typeof window!="undefined"&&window.JSON&&window.JSON.stringify&&window.JSON.parse&&window.postMessage?{open:function(o,n){if(!n)throw"missing required callback argument";var C,Q;o.url||(C="missing required 'url' parameter"),o.relay_url||(C="missing required 'relay_url' parameter"),C&&setTimeout(function(){n(C)},0),o.window_name||(o.window_name=null),o.window_features&&!function(){try{var F=navigator.userAgent;return F.indexOf("Fennec/")!=-1||F.indexOf("Firefox/")!=-1&&F.indexOf("Android")!=-1}catch{}return!1}()||(o.window_features=void 0);var s,c=o.origin||t(o.url);if(c!==t(o.relay_url))return setTimeout(function(){n("invalid arguments: origin of url and relay_url must match")},0);g&&((Q=document.createElement("iframe")).setAttribute("src",o.relay_url),Q.style.display="none",Q.setAttribute("name","__winchan_relay_frame"),document.body.appendChild(Q),s=Q.contentWindow);var E=o.popup||window.open(o.url,o.window_name,o.window_features);o.popup&&(E.location.href=o.url),s||(s=E);var D=setInterval(function(){E&&E.closed&&(u(),n&&(n("User closed the popup window"),n=null))},500),d=JSON.stringify({a:"request",d:o.params});function u(){if(Q&&document.body.removeChild(Q),Q=void 0,D&&(D=clearInterval(D)),e(window,"message",G),e(window,"unload",u),E)try{E.close()}catch{s.postMessage("die",c)}E=s=void 0}function G(F){if(F.origin===c){try{var p=JSON.parse(F.data)}catch(m){if(n)return n(m);throw m}p.a==="ready"?s.postMessage(d,c):p.a==="error"?(u(),n&&(n(p.d),n=null)):p.a==="response"&&(u(),n&&(n(null,p.d),n=null))}}return i(window,"unload",u),i(window,"message",G),{originalPopup:E,close:u,focus:function(){if(E)try{E.focus()}catch{}}}},onOpen:function(o){var n="*",C=g?function(){for(var E=window.opener.frames,D=E.length-1;D>=0;D--)try{if(E[D].location.protocol===window.location.protocol&&E[D].location.host===window.location.host&&E[D].name==="__winchan_relay_frame")return E[D]}catch{}}():window.opener;if(!C)throw"can't find relay frame";function Q(E){E=JSON.stringify(E),g?C.doPost(E,n):C.postMessage(E,n)}function s(E){if(E.data==="die")try{window.close()}catch{}}i(g?C:window,"message",function E(D){var d;try{d=JSON.parse(D.data)}catch{}d&&d.a==="request"&&(e(window,"message",E),n=D.origin,o&&setTimeout(function(){o(n,d.d,function(u){o=void 0,Q({a:"response",d:u})})},0))}),i(g?C:window,"message",s);try{Q({a:"ready"})}catch{i(C,"load",function(D){Q({a:"ready"})})}var c=function(){try{e(g?C:window,"message",s)}catch{}o&&Q({a:"error",d:"client closed window"}),o=void 0;try{window.close()}catch{}};return i(window,"unload",c),{detach:function(){e(window,"unload",c)}}}}:{open:function(o,n,C,Q){setTimeout(function(){Q("unsupported browser")},0)},onOpen:function(o){setTimeout(function(){o("unsupported browser")},0)}}}();I.exports&&(I.exports=A)}),JC={extractOrigin:function(I){/^https?:\/\//.test(I)||(I=window.location.href);var A=/^(https?:\/\/[-_a-zA-Z.0-9:]+)/.exec(I);return A?A[1]:I}};function me(){this._current_popup=null}function aI(I,A){this.baseOptions=A,this.baseOptions.popupOrigin=A.popupOrigin,this.client=I.client,this.webAuth=I,this.transactionManager=new OI(this.baseOptions),this.crossOriginAuthentication=new Pi(I,this.baseOptions),this.warn=new RI({disableWarnings:!!A._disableDeprecationWarnings})}function di(I){this.authenticationUrl=I.authenticationUrl,this.timeout=I.timeout||6e4,this.handler=null,this.postMessageDataType=I.postMessageDataType||!1,this.postMessageOrigin=I.postMessageOrigin||z.getWindow().location.origin||z.getWindow().location.protocol+"//"+z.getWindow().location.hostname+(z.getWindow().location.port?":"+z.getWindow().location.port:"")}function xt(I){this.baseOptions=I,this.request=new AI(I),this.transactionManager=new OI(this.baseOptions)}function He(I,A){this.baseOptions=A,this.client=I,this.baseOptions.universalLoginPage=!0,this.request=new AI(this.baseOptions),this.warn=new RI({disableWarnings:!!A._disableDeprecationWarnings})}me.prototype.calculatePosition=function(I){var A=I.width||500,i=I.height||600,e=z.getWindow(),t=e.screenX!==void 0?e.screenX:e.screenLeft,g=e.screenY!==void 0?e.screenY:e.screenTop,o=e.outerWidth!==void 0?e.outerWidth:e.document.body.clientWidth,n=e.outerHeight!==void 0?e.outerHeight:e.document.body.clientHeight;return{width:A,height:i,left:I.left||t+(o-A)/2,top:I.top||g+(n-i)/2}},me.prototype.preload=function(I){var A=this,i=z.getWindow(),e=this.calculatePosition(I.popupOptions||{}),t=b.merge(e).with(I.popupOptions),g=I.url||"about:blank",o=DI.stringify(t,{encode:!1,delimiter:","});return this._current_popup&&!this._current_popup.closed||(this._current_popup=i.open(g,"auth0_signup_popup",o),this._current_popup.kill=function(){this.close(),A._current_popup=null}),this._current_popup},me.prototype.load=function(I,A,i,e){var t=this,g=this.calculatePosition(i.popupOptions||{}),o=b.merge(g).with(i.popupOptions),n=b.merge({url:I,relay_url:A,window_features:DI.stringify(o,{delimiter:",",encode:!1}),popup:this._current_popup}).with(i),C=en.open(n,function(Q,s){if(!Q||Q.name!=="SyntaxError")return t._current_popup=null,e(Q,s)});return C.focus(),C},aI.prototype.buildPopupHandler=function(){var I=this.baseOptions.plugins.get("popup.getPopupHandler");return I?I.getPopupHandler():new me},aI.prototype.preload=function(I){I=I||{};var A=this.buildPopupHandler();return A.preload(I),A},aI.prototype.getPopupHandler=function(I,A){return I.popupHandler?I.popupHandler:A?this.preload(I):this.buildPopupHandler()},aI.prototype.callback=function(I){var A=this,i=z.getWindow(),e=(I=I||{}).popupOrigin||this.baseOptions.popupOrigin||z.getOrigin();i.opener?en.onOpen(function(t,g,o){if(t!==e)return o({error:"origin_mismatch",error_description:"The popup's origin ("+t+") should match the `popupOrigin` parameter ("+e+")."});A.webAuth.parseHash(I||{},function(n,C){return o(n||C)})}):i.doPost=function(t){i.parent&&i.parent.postMessage(t,e)}},aI.prototype.authorize=function(I,A){var i,e,t={},g=this.baseOptions.plugins.get("popup.authorize"),o=b.merge(this.baseOptions,["clientID","scope","domain","audience","tenant","responseType","redirectUri","_csrf","state","_intstate","nonce","organization","invitation"]).with(b.blacklist(I,["popupHandler"]));return L.check(o,{type:"object",message:"options parameter is not valid"},{responseType:{type:"string",message:"responseType option is required"}}),e=gA(this.baseOptions.rootUrl,"relay.html"),I.owp?o.owp=!0:(t.origin=JC.extractOrigin(o.redirectUri),e=o.redirectUri),I.popupOptions&&(t.popupOptions=b.pick(I.popupOptions,["width","height","top","left"])),g&&(o=g.processParams(o)),(o=this.transactionManager.process(o)).scope=o.scope||"openid profile email",delete o.domain,i=this.client.buildAuthorizeUrl(o),this.getPopupHandler(I).load(i,e,t,nA(A,{keepOriginalCasing:!0}))},aI.prototype.loginWithCredentials=function(I,A){I.realm=I.realm||I.connection,I.popup=!0,I=b.merge(this.baseOptions,["redirectUri","responseType","state","nonce","timeout"]).with(b.blacklist(I,["popupHandler","connection"])),I=this.transactionManager.process(I),this.crossOriginAuthentication.login(I,A)},aI.prototype.passwordlessVerify=function(I,A){var i=this;return this.client.passwordless.verify(b.blacklist(I,["popupHandler"]),function(e){if(e)return A(e);I.username=I.phoneNumber||I.email,I.password=I.verificationCode,delete I.email,delete I.phoneNumber,delete I.verificationCode,delete I.type,i.client.loginWithResourceOwner(I,A)})},aI.prototype.signupAndLogin=function(I,A){var i=this;return this.client.dbConnection.signup(I,function(e){if(e)return A(e);i.loginWithCredentials(I,A)})},di.create=function(I){return new di(I)},di.prototype.login=function(I,A){this.handler=new fi({auth0:this.auth0,url:this.authenticationUrl,eventListenerType:I?"message":"load",callback:this.getCallbackHandler(A,I),timeout:this.timeout,eventValidator:this.getEventValidator(),timeoutCallback:function(){A(null,"#error=timeout&error_description=Timeout+during+authentication+renew.")},usePostMessage:I||!1}),this.handler.init()},di.prototype.getEventValidator=function(){var I=this;return{isValid:function(A){switch(A.event.type){case"message":return A.event.origin===I.postMessageOrigin&&A.event.source===I.handler.iframe.contentWindow&&(I.postMessageDataType===!1||A.event.data.type&&A.event.data.type===I.postMessageDataType);case"load":if(A.sourceObject.contentWindow.location.protocol==="about:")return!1;default:return!0}}}},di.prototype.getCallbackHandler=function(I,A){return function(i){var e;e=A?typeof i.event.data=="object"&&i.event.data.hash?i.event.data.hash:i.event.data:i.sourceObject.contentWindow.location.hash,I(null,e)}},xt.prototype.login=function(I,A){var i,e;return i=gA(this.baseOptions.rootUrl,"usernamepassword","login"),I.username=I.username||I.email,I=b.blacklist(I,["email","onRedirecting"]),e=b.merge(this.baseOptions,["clientID","redirectUri","tenant","responseType","responseMode","scope","audience"]).with(I),e=this.transactionManager.process(e),e=b.toSnakeCase(e,["auth0Client"]),this.request.post(i).send(e).end(nA(A))},xt.prototype.callback=function(I){var A,i=z.getDocument();(A=i.createElement("div")).innerHTML=I,i.body.appendChild(A).children[0].submit()},He.prototype.login=function(I,A){if(z.getWindow().location.host!==this.baseOptions.domain)throw new Error("This method is meant to be used only inside the Universal Login Page.");var i,e=b.merge(this.baseOptions,["clientID","redirectUri","tenant","responseType","responseMode","scope","audience","_csrf","state","_intstate","nonce"]).with(I);return L.check(e,{type:"object",message:"options parameter is not valid"},{responseType:{type:"string",message:"responseType option is required"}}),(i=new xt(this.baseOptions)).login(e,function(t,g){if(t)return A(t);function o(){i.callback(g)}if(typeof I.onRedirecting=="function")return I.onRedirecting(function(){o()});o()})},He.prototype.signupAndLogin=function(I,A){var i=this;return i.client.client.dbConnection.signup(I,function(e){return e?A(e):i.login(I,A)})},He.prototype.getSSOData=function(I,A){var i,e="";return typeof I=="function"&&(A=I,I=!1),L.check(I,{type:"boolean",message:"withActiveDirectories parameter is not valid"}),L.check(A,{type:"function",message:"cb parameter is not valid"}),I&&(e="?"+DI.stringify({ldaps:1,client_id:this.baseOptions.clientID})),i=gA(this.baseOptions.rootUrl,"user","ssodata",e),this.request.get(i,{noHeaders:!0}).withCredentials().end(nA(A))};var bt=function(){},vt=bt,tn={lang:"en",templates:{auth0:function(I){var A=I.type==="code"?"Enter the code shown above":"Solve the formula shown above";return`
+`+A.prev}function De(I,A){var i=Dt(I),e=[];if(i){e.length=I.length;for(var t=0;t1;){var c=s.pop(),E=c.obj[c.prop];if(JI(E)){for(var D=[],d=0;d=48&&C<=57||C>=65&&C<=90||C>=97&&C<=122||t===UI.RFC1738&&(C===40||C===41)?o+=g.charAt(n):C<128?o+=_A[C]:C<2048?o+=_A[192|C>>6]+_A[128|63&C]:C<55296||C>=57344?o+=_A[224|C>>12]+_A[128|C>>6&63]+_A[128|63&C]:(n+=1,C=65536+((1023&C)<<10|1023&g.charCodeAt(n)),o+=_A[240|C>>18]+_A[128|C>>12&63]+_A[128|C>>6&63]+_A[128|63&C])}return o},isBuffer:function(I){return!(!I||typeof I!="object")&&!!(I.constructor&&I.constructor.isBuffer&&I.constructor.isBuffer(I))},isRegExp:function(I){return Object.prototype.toString.call(I)==="[object RegExp]"},maybeMap:function(I,A){if(JI(I)){for(var i=[],e=0;e0?F.join(",")||null:void 0}];else if(QI(C))f=C;else{var y=Object.keys(F);f=Q?y.sort(Q):y}for(var k=t&&QI(F)&&F.length===1?i+"[]":i,U=0;U-1?I.split(","):I},BC=function(I,A,i,e){if(I){var t=i.allowDots?I.replace(/\.([^.[]+)/g,"[$1]"):I,g=/(\[[^[\]]*])/g,o=i.depth>0&&/(\[[^[\]]*])/.exec(t),n=o?t.slice(0,o.index):t,C=[];if(n){if(!i.plainObjects&&kt.call(Object.prototype,n)&&!i.allowPrototypes)return;C.push(n)}for(var Q=0;i.depth>0&&(o=g.exec(t))!==null&&Q=0;--u){var G,F=s[u];if(F==="[]"&&E.parseArrays)G=[].concat(d);else{G=E.plainObjects?Object.create(null):{};var p=F.charAt(0)==="["&&F.charAt(F.length-1)==="]"?F.slice(1,-1):F,N=parseInt(p,10);E.parseArrays||p!==""?!isNaN(N)&&F!==p&&String(N)===p&&N>=0&&E.parseArrays&&N<=E.arrayLimit?(G=[])[N]=d:p!=="__proto__"&&(G[p]=d):G={0:d}}d=G}return d}(C,A,i,e)}},DI={formats:UI,parse:function(I,A){var i=function(Q){if(!Q)return sA;if(Q.decoder!==null&&Q.decoder!==void 0&&typeof Q.decoder!="function")throw new TypeError("Decoder has to be a function.");if(Q.charset!==void 0&&Q.charset!=="utf-8"&&Q.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var s=Q.charset===void 0?sA.charset:Q.charset;return{allowDots:Q.allowDots===void 0?sA.allowDots:!!Q.allowDots,allowPrototypes:typeof Q.allowPrototypes=="boolean"?Q.allowPrototypes:sA.allowPrototypes,allowSparse:typeof Q.allowSparse=="boolean"?Q.allowSparse:sA.allowSparse,arrayLimit:typeof Q.arrayLimit=="number"?Q.arrayLimit:sA.arrayLimit,charset:s,charsetSentinel:typeof Q.charsetSentinel=="boolean"?Q.charsetSentinel:sA.charsetSentinel,comma:typeof Q.comma=="boolean"?Q.comma:sA.comma,decoder:typeof Q.decoder=="function"?Q.decoder:sA.decoder,delimiter:typeof Q.delimiter=="string"||$A.isRegExp(Q.delimiter)?Q.delimiter:sA.delimiter,depth:typeof Q.depth=="number"||Q.depth===!1?+Q.depth:sA.depth,ignoreQueryPrefix:Q.ignoreQueryPrefix===!0,interpretNumericEntities:typeof Q.interpretNumericEntities=="boolean"?Q.interpretNumericEntities:sA.interpretNumericEntities,parameterLimit:typeof Q.parameterLimit=="number"?Q.parameterLimit:sA.parameterLimit,parseArrays:Q.parseArrays!==!1,plainObjects:typeof Q.plainObjects=="boolean"?Q.plainObjects:sA.plainObjects,strictNullHandling:typeof Q.strictNullHandling=="boolean"?Q.strictNullHandling:sA.strictNullHandling}}(A);if(I===""||I==null)return i.plainObjects?Object.create(null):{};for(var e=typeof I=="string"?function(Q,s){var c,E={__proto__:null},D=s.ignoreQueryPrefix?Q.replace(/^\?/,""):Q,d=s.parameterLimit===1/0?void 0:s.parameterLimit,u=D.split(s.delimiter,d),G=-1,F=s.charset;if(s.charsetSentinel)for(c=0;c-1&&(N=rC(N)?[N]:N),kt.call(E,p)?E[p]=$A.combine(E[p],N):E[p]=N}return E}(I,i):I,t=i.plainObjects?Object.create(null):{},g=Object.keys(e),o=0;o0?D+E:""}},QC=mI(function(I){function A(i){if(i)return function(e){for(var t in A.prototype)e[t]=A.prototype[t];return e}(i)}I.exports=A,A.prototype.on=A.prototype.addEventListener=function(i,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+i]=this._callbacks["$"+i]||[]).push(e),this},A.prototype.once=function(i,e){function t(){this.off(i,t),e.apply(this,arguments)}return t.fn=e,this.on(i,t),this},A.prototype.off=A.prototype.removeListener=A.prototype.removeAllListeners=A.prototype.removeEventListener=function(i,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var t,g=this._callbacks["$"+i];if(!g)return this;if(arguments.length==1)return delete this._callbacks["$"+i],this;for(var o=0;oD.depthLimit||D.edgesLimit!==void 0&&Q+1>D.edgesLimit)return void ai("[...]",n,C,c);if(s.push(n),Array.isArray(n))for(d=0;dA?1:0}function Fo(I,A,i,e){e===void 0&&(e=yo());var t,g=function n(C,Q,s,c,E,D,d){var u;if(D+=1,typeof C=="object"&&C!==null){for(u=0;ud.depthLimit||d.edgesLimit!==void 0&&s+1>d.edgesLimit)return void ai("[...]",C,Q,E);if(c.push(C),Array.isArray(C))for(u=0;u0)for(var e=0;e=g.length?{done:!0}:{done:!1,value:g[C++]}},e:function(D){throw D},f:Q}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var s,c=!0,E=!1;return{s:function(){n=n.call(g)},n:function(){var D=n.next();return c=D.done,D},e:function(D){E=!0,s=D},f:function(){try{c||n.return==null||n.return()}finally{if(E)throw s}}}}function t(g,o){(o==null||o>g.length)&&(o=g.length);for(var n=0,C=new Array(o);n=this._maxRetries)return!1;if(this._retryCallback)try{var i=this._retryCallback(I,A);if(i===!0)return!0;if(i===!1)return!1}catch(e){console.error(e)}return!!(A&&A.status&&hC.has(A.status)||I&&(I.code&&EC.has(I.code)||I.timeout&&I.code==="ECONNABORTED"||I.crossDomain))},T.prototype._retry=function(){return this.clearTimeout(),this.req&&(this.req=null,this.req=this.request()),this._aborted=!1,this.timedout=!1,this.timedoutError=null,this._end()},T.prototype.then=function(I,A){var i=this;if(!this._fullfilledPromise){var e=this;this._endCalled&&console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"),this._fullfilledPromise=new Promise(function(t,g){e.on("abort",function(){if(!(i._maxRetries&&i._maxRetries>i._retries))if(i.timedout&&i.timedoutError)g(i.timedoutError);else{var o=new Error("Aborted");o.code="ABORTED",o.status=i.status,o.method=i.method,o.url=i.url,g(o)}}),e.end(function(o,n){o?g(o):t(n)})})}return this._fullfilledPromise.then(I,A)},T.prototype.catch=function(I){return this.then(void 0,I)},T.prototype.use=function(I){return I(this),this},T.prototype.ok=function(I){if(typeof I!="function")throw new Error("Callback required");return this._okCallback=I,this},T.prototype._isResponseOK=function(I){return!!I&&(this._okCallback?this._okCallback(I):I.status>=200&&I.status<300)},T.prototype.get=function(I){return this._header[I.toLowerCase()]},T.prototype.getHeader=T.prototype.get,T.prototype.set=function(I,A){if(ye(I)){for(var i in I)bi(I,i)&&this.set(i,I[i]);return this}return this._header[I.toLowerCase()]=A,this.header[I]=A,this},T.prototype.unset=function(I){return delete this._header[I.toLowerCase()],delete this.header[I],this},T.prototype.field=function(I,A,i){if(I==null)throw new Error(".field(name, val) name can not be empty");if(this._data)throw new Error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()");if(ye(I)){for(var e in I)bi(I,e)&&this.field(e,I[e]);return this}if(Array.isArray(A)){for(var t in A)bi(A,t)&&this.field(I,A[t]);return this}if(A==null)throw new Error(".field(name, val) val can not be empty");return typeof A=="boolean"&&(A=String(A)),i?this._getFormData().append(I,A,i):this._getFormData().append(I,A),this},T.prototype.abort=function(){if(this._aborted)return this;if(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req){if(Bi.gte(process.version,"v13.0.0")&&Bi.lt(process.version,"v14.0.0"))throw new Error("Superagent does not work in v13 properly with abort() due to Node.js core changes");Bi.gte(process.version,"v14.0.0")&&(this.req.destroyed=!0),this.req.abort()}return this.clearTimeout(),this.emit("abort"),this},T.prototype._auth=function(I,A,i,e){switch(i.type){case"basic":this.set("Authorization","Basic ".concat(e("".concat(I,":").concat(A))));break;case"auto":this.username=I,this.password=A;break;case"bearer":this.set("Authorization","Bearer ".concat(I))}return this},T.prototype.withCredentials=function(I){return I===void 0&&(I=!0),this._withCredentials=I,this},T.prototype.redirects=function(I){return this._maxRedirects=I,this},T.prototype.maxResponseSize=function(I){if(typeof I!="number")throw new TypeError("Invalid argument");return this._maxResponseSize=I,this},T.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},T.prototype.send=function(I){var A=ye(I),i=this._header["content-type"];if(this._formData)throw new Error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()");if(A&&!this._data)Array.isArray(I)?this._data=[]:this._isHost(I)||(this._data={});else if(I&&this._data&&this._isHost(this._data))throw new Error("Can't merge these send calls");if(A&&ye(this._data))for(var e in I)bi(I,e)&&(this._data[e]=I[e]);else typeof I=="string"?(i||this.type("form"),(i=this._header["content-type"])&&(i=i.toLowerCase().trim()),this._data=i==="application/x-www-form-urlencoded"?this._data?"".concat(this._data,"&").concat(I):I:(this._data||"")+I):this._data=I;return!A||this._isHost(I)||i||this.type("json"),this},T.prototype.sortQuery=function(I){return this._sort=I===void 0||I,this},T.prototype._finalizeQueryString=function(){var I=this._query.join("&");if(I&&(this.url+=(this.url.includes("?")?"&":"?")+I),this._query.length=0,this._sort){var A=this.url.indexOf("?");if(A>=0){var i=this.url.slice(A+1).split("&");typeof this._sort=="function"?i.sort(this._sort):i.sort(),this.url=this.url.slice(0,A)+"?"+i.join("&")}}},T.prototype._appendQueryString=function(){console.warn("Unsupported")},T.prototype._timeoutError=function(I,A,i){if(!this._aborted){var e=new Error("".concat(I+A,"ms exceeded"));e.timeout=A,e.code="ECONNABORTED",e.errno=i,this.timedout=!0,this.timedoutError=e,this.abort(),this.callback(e)}},T.prototype._setTimeouts=function(){var I=this;this._timeout&&!this._timer&&(this._timer=setTimeout(function(){I._timeoutError("Timeout of ",I._timeout,"ETIME")},this._timeout)),this._responseTimeout&&!this._responseTimeoutTimer&&(this._responseTimeoutTimer=setTimeout(function(){I._timeoutError("Response timeout of ",I._responseTimeout,"ETIMEDOUT")},this._responseTimeout))};var fC=Fe;function Fe(){}function dC(I){return function(A){if(Array.isArray(A))return Gt(A)}(I)||function(A){if(typeof Symbol!="undefined"&&A[Symbol.iterator]!=null||A["@@iterator"]!=null)return Array.from(A)}(I)||Go(I)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function Go(I,A){if(I){if(typeof I=="string")return Gt(I,A);var i=Object.prototype.toString.call(I).slice(8,-1);return i==="Object"&&I.constructor&&(i=I.constructor.name),i==="Map"||i==="Set"?Array.from(I):i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?Gt(I,A):void 0}}function Gt(I,A){(A==null||A>I.length)&&(A=I.length);for(var i=0,e=new Array(A);i=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(E){throw E},f:C}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var Q,s=!0,c=!1;return{s:function(){o=o.call(t)},n:function(){var E=o.next();return s=E.done,E},e:function(E){c=!0,Q=E},f:function(){try{s||o.return==null||o.return()}finally{if(c)throw Q}}}}(this._defaults);try{for(i.s();!(A=i.n()).done;){var e=A.value;I[e.fn].apply(I,dC(e.args))}}catch(t){i.e(t)}finally{i.f()}};for(vi=mt,Li=mI(function(I,A){function i(f){return(i=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(w){return typeof w}:function(w){return w&&typeof Symbol=="function"&&w.constructor===Symbol&&w!==Symbol.prototype?"symbol":typeof w})(f)}function e(f,w){var y=typeof Symbol!="undefined"&&f[Symbol.iterator]||f["@@iterator"];if(!y){if(Array.isArray(f)||(y=function(M,X){if(!!M){if(typeof M=="string")return t(M,X);var Z=Object.prototype.toString.call(M).slice(8,-1);if(Z==="Object"&&M.constructor&&(Z=M.constructor.name),Z==="Map"||Z==="Set")return Array.from(M);if(Z==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Z))return t(M,X)}}(f))||w&&f&&typeof f.length=="number"){y&&(f=y);var k=0,U=function(){};return{s:U,n:function(){return k>=f.length?{done:!0}:{done:!1,value:f[k++]}},e:function(M){throw M},f:U}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var q,m=!0,R=!1;return{s:function(){y=y.call(f)},n:function(){var M=y.next();return m=M.done,M},e:function(M){R=!0,q=M},f:function(){try{m||y.return==null||y.return()}finally{if(R)throw q}}}}function t(f,w){(w==null||w>f.length)&&(w=f.length);for(var y=0,k=new Array(w);y0||f instanceof Object)?w(f):null)},G.prototype.toError=function(){var f=this.req,w=f.method,y=f.url,k="cannot ".concat(w," ").concat(y," (").concat(this.status,")"),U=new Error(k);return U.status=this.status,U.method=w,U.url=y,U},s.Response=G,QC(F.prototype),n(F.prototype,cC.prototype),F.prototype.type=function(f){return this.set("Content-Type",s.types[f]||f),this},F.prototype.accept=function(f){return this.set("Accept",s.types[f]||f),this},F.prototype.auth=function(f,w,y){arguments.length===1&&(w=""),i(w)==="object"&&w!==null&&(y=w,w=""),y||(y={type:typeof btoa=="function"?"basic":"auto"});var k=y.encoder?y.encoder:function(U){if(typeof btoa=="function")return btoa(U);throw new Error("Cannot use basic auth, btoa is not a function")};return this._auth(f,w,y,k)},F.prototype.query=function(f){return typeof f!="string"&&(f=E(f)),f&&this._query.push(f),this},F.prototype.attach=function(f,w,y){if(w){if(this._data)throw new Error("superagent can't mix .send() and .attach()");this._getFormData().append(f,w,y||w.name)}return this},F.prototype._getFormData=function(){return this._formData||(this._formData=new g.FormData),this._formData},F.prototype.callback=function(f,w){if(this._shouldRetry(f,w))return this._retry();var y=this._callback;this.clearTimeout(),f&&(this._maxRetries&&(f.retries=this._retries-1),this.emit("error",f)),y(f,w)},F.prototype.crossDomainError=function(){var f=new Error(`Request has been terminated +Possible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.`);f.crossDomain=!0,f.status=this.status,f.method=this.method,f.url=this.url,this.callback(f)},F.prototype.agent=function(){return console.warn("This is not supported in browser version of superagent"),this},F.prototype.ca=F.prototype.agent,F.prototype.buffer=F.prototype.ca,F.prototype.write=function(){throw new Error("Streaming is not supported in browser version of superagent")},F.prototype.pipe=F.prototype.write,F.prototype._isHost=function(f){return f&&i(f)==="object"&&!Array.isArray(f)&&Object.prototype.toString.call(f)!=="[object Object]"},F.prototype.end=function(f){this._endCalled&&console.warn("Warning: .end() was called twice. This is not supported in superagent"),this._endCalled=!0,this._callback=f||Q,this._finalizeQueryString(),this._end()},F.prototype._setUploadTimeout=function(){var f=this;this._uploadTimeout&&!this._uploadTimeoutTimer&&(this._uploadTimeoutTimer=setTimeout(function(){f._timeoutError("Upload timeout of ",f._uploadTimeout,"ETIMEDOUT")},this._uploadTimeout))},F.prototype._end=function(){if(this._aborted)return this.callback(new Error("The request has been aborted even before .end() was called"));var f=this;this.xhr=s.getXHR();var w=this.xhr,y=this._formData||this._data;this._setTimeouts(),w.addEventListener("readystatechange",function(){var R=w.readyState;if(R>=2&&f._responseTimeoutTimer&&clearTimeout(f._responseTimeoutTimer),R===4){var M;try{M=w.status}catch{M=0}if(!M)return f.timedout||f._aborted?void 0:f.crossDomainError();f.emit("end")}});var k=function(R,M){M.total>0&&(M.percent=M.loaded/M.total*100,M.percent===100&&clearTimeout(f._uploadTimeoutTimer)),M.direction=R,f.emit("progress",M)};if(this.hasListeners("progress"))try{w.addEventListener("progress",k.bind(null,"download")),w.upload&&w.upload.addEventListener("progress",k.bind(null,"upload"))}catch{}w.upload&&this._setUploadTimeout();try{this.username&&this.password?w.open(this.method,this.url,!0,this.username,this.password):w.open(this.method,this.url,!0)}catch(R){return this.callback(R)}if(this._withCredentials&&(w.withCredentials=!0),!this._formData&&this.method!=="GET"&&this.method!=="HEAD"&&typeof y!="string"&&!this._isHost(y)){var U=this._header["content-type"],q=this._serializer||s.serialize[U?U.split(";")[0]:""];!q&&u(U)&&(q=s.serialize["application/json"]),q&&(y=q(y))}for(var m in this.header)this.header[m]!==null&&C(this.header,m)&&w.setRequestHeader(m,this.header[m]);this._responseType&&(w.responseType=this._responseType),this.emit("request",this),w.send(y===void 0?null:y)},s.agent=function(){return new vi};for(var p=function(){var f=J[N];vi.prototype[f.toLowerCase()]=function(w,y){var k=new s.Request(f,w);return this._setDefaults(k),y&&k.end(y),k}},N=0,J=["GET","POST","OPTIONS","PATCH","PUT","DELETE"];N0?t-4:t;for(i=0;i>16&255,o[n++]=A>>8&255,o[n++]=255&A;return g===2&&(A=GA[I.charCodeAt(i)]<<2|GA[I.charCodeAt(i+1)]>>4,o[n++]=255&A),g===1&&(A=GA[I.charCodeAt(i)]<<10|GA[I.charCodeAt(i+1)]<<4|GA[I.charCodeAt(i+2)]>>2,o[n++]=A>>8&255,o[n++]=255&A),o},Uo=function(I){for(var A,i=I.length,e=i%3,t=[],g=0,o=i-e;go?o:g+16383));return e===1?(A=I[i-1],t.push(LA[A>>2]+LA[A<<4&63]+"==")):e===2&&(A=(I[i-2]<<8)+I[i-1],t.push(LA[A>>10]+LA[A>>4&63]+LA[A<<2&63]+"=")),t.join("")},LA=[],GA=[],Jo=typeof Uint8Array!="undefined"?Uint8Array:Array,ke="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",YI=0,qo=ke.length;YI0)throw new Error("Invalid string. Length must be a multiple of 4");var i=I.indexOf("=");return i===-1&&(i=A),[i,i===A?0:4-i%4]}function wC(I,A,i){for(var e,t,g=[],o=A;o>18&63]+LA[t>>12&63]+LA[t>>6&63]+LA[63&t]);return g.join("")}GA["-".charCodeAt(0)]=62,GA["_".charCodeAt(0)]=63;var Yo={byteLength:No,toByteArray:Ho,fromByteArray:Uo},uC={encode:function(I){return Yo.fromByteArray(function(A){for(var i=new Array(A.length),e=0;e=65&&o<=90||!Q&&o>=48&&o<=57)&&(n+="_"),n+=g[C].toLowerCase(),Q=o>=48&&o<=57,s=o>=65&&o<=90,C++;return n}(t):t]=I(A[t]),e},{}))},toCamelCase:function I(A,i,e){return typeof A!="object"||L.isArray(A)||A===null?A:(i=i||[],e=e||{},Object.keys(A).reduce(function(t,g){var o,n=i.indexOf(g)===-1?(o=g.split("_")).reduce(function(C,Q){return C+Q.charAt(0).toUpperCase()+Q.slice(1)},o.shift()):g;return t[n]=I(A[n]||A[g],[],e),e.keepOriginal&&(t[g]=I(A[g],[],e)),t},{}))},blacklist:function(I,A){return Object.keys(I).reduce(function(i,e){return A.indexOf(e)===-1&&(i[e]=I[e]),i},{})},merge:function(I,A){return{base:A?Ht(I,A):I,with:function(i,e){return i=e?Ht(i,e):i,Ut(this.base,i)}}},pick:Ht,getKeysNotIn:function(I,A){var i=[];for(var e in I)A.indexOf(e)===-1&&i.push(e);return i},extend:Ut,getOriginFromUrl:function(I){if(I){var A=vo(I);if(!A)return null;var i=A.protocol+"//"+A.hostname;return A.port&&(i+=":"+A.port),i}},getLocationFromUrl:vo,trimUserDetails:function(I){return function(A,i){return i.reduce(yC,A)}(I,["username","email","phoneNumber"])},updatePropertyOn:function I(A,i,e){typeof i=="string"&&(i=i.split("."));var t=i[0];A.hasOwnProperty(t)&&(i.length===1?A[t]=e:I(A[t],i.slice(1),e))}};function si(I){this.request=I,this.method=I.method,this.url=I.url,this.body=I._data,this.headers=I._header}function KI(I){this.request=I}function AI(I){this._sendTelemetry=I._sendTelemetry!==!1||I._sendTelemetry,this._telemetryInfo=I._telemetryInfo||null,this._timesToRetryFailedRequests=I._timesToRetryFailedRequests,this.headers=I.headers||{},this._universalLoginPage=I.universalLoginPage}function me(){return window}si.prototype.abort=function(){this.request.abort()},si.prototype.getMethod=function(){return this.method},si.prototype.getBody=function(){return this.body},si.prototype.getUrl=function(){return this.url},si.prototype.getHeaders=function(){return this.headers},KI.prototype.set=function(I,A){return this.request=this.request.set(I,A),this},KI.prototype.send=function(I){return this.request=this.request.send(b.trimUserDetails(I)),this},KI.prototype.withCredentials=function(){return this.request=this.request.withCredentials(),this},KI.prototype.end=function(I){return this.request.end(I),new si(this.request)},AI.prototype.setCommonConfiguration=function(I,A){if(A=A||{},this._timesToRetryFailedRequests>0&&(I=I.retry(this._timesToRetryFailedRequests)),A.noHeaders)return I;var i=this.headers;I=I.set("Content-Type","application/json"),A.xRequestLanguage&&(I=I.set("X-Request-Language",A.xRequestLanguage));for(var e=Object.keys(this.headers),t=0;t0&&I.warning("Following parameters are not allowed on the `/authorize` endpoint: ["+i.join(",")+"]"),A}},xI=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function bI(I){var A={exports:{}};return I(A,A.exports),A.exports}var kC=bI(function(I,A){I.exports=function(){function i(r){return typeof r=="function"}var e=Array.isArray?Array.isArray:function(r){return Object.prototype.toString.call(r)==="[object Array]"},t=0,g=void 0,o=void 0,n=function(r,a){d[t]=r,d[t+1]=a,(t+=2)===2&&(o?o(u):J())},C=typeof window!="undefined"?window:void 0,Q=C||{},s=Q.MutationObserver||Q.WebKitMutationObserver,c=typeof self=="undefined"&&typeof process!="undefined"&&{}.toString.call(process)==="[object process]",E=typeof Uint8ClampedArray!="undefined"&&typeof importScripts!="undefined"&&typeof MessageChannel!="undefined";function D(){var r=setTimeout;return function(){return r(u,1)}}var d=new Array(1e3);function u(){for(var r=0;r>>2]|=(J[w>>>2]>>>24-w%4*8&255)<<24-(K+w)%4*8;else for(var y=0;y>>2]=J[y>>>2];return this.sigBytes+=f,this},clamp:function(){var p=this.words,N=this.sigBytes;p[N>>>2]&=4294967295<<32-N%4*8,p.length=e.ceil(N/4)},clone:function(){var p=s.clone.call(this);return p.words=this.words.slice(0),p},random:function(p){for(var N=[],J=0;J>>2]>>>24-f%4*8&255;K.push((w>>>4).toString(16)),K.push((15&w).toString(16))}return K.join("")},parse:function(p){for(var N=p.length,J=[],K=0;K>>3]|=parseInt(p.substr(K,2),16)<<24-K%8*4;return new c.init(J,N/2)}},d=E.Latin1={stringify:function(p){for(var N=p.words,J=p.sigBytes,K=[],f=0;f>>2]>>>24-f%4*8&255));return K.join("")},parse:function(p){for(var N=p.length,J=[],K=0;K>>2]|=(255&p.charCodeAt(K))<<24-K%4*8;return new c.init(J,N)}},u=E.Utf8={stringify:function(p){try{return decodeURIComponent(escape(d.stringify(p)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(p){return d.parse(unescape(encodeURIComponent(p)))}},G=Q.BufferedBlockAlgorithm=s.extend({reset:function(){this._data=new c.init,this._nDataBytes=0},_append:function(p){typeof p=="string"&&(p=u.parse(p)),this._data.concat(p),this._nDataBytes+=p.sigBytes},_process:function(p){var N,J=this._data,K=J.words,f=J.sigBytes,w=this.blockSize,y=f/(4*w),k=(y=p?e.ceil(y):e.max((0|y)-this._minBufferSize,0))*w,U=e.min(4*k,f);if(k){for(var q=0;q>>7)^(k<<14|k>>>18)^k>>>3)+c[y-7]+((U<<15|U>>>17)^(U<<13|U>>>19)^U>>>10)+c[y-16]}var q=G&F^G&p^F&p,m=w+((J<<26|J>>>6)^(J<<21|J>>>11)^(J<<7|J>>>25))+(J&K^~J&f)+s[y]+c[y];w=f,f=K,K=J,J=N+m|0,N=p,p=F,F=G,G=m+(((G<<30|G>>>2)^(G<<19|G>>>13)^(G<<10|G>>>22))+q)|0}u[0]=u[0]+G|0,u[1]=u[1]+F|0,u[2]=u[2]+p|0,u[3]=u[3]+N|0,u[4]=u[4]+J|0,u[5]=u[5]+K|0,u[6]=u[6]+f|0,u[7]=u[7]+w|0},_doFinalize:function(){var D=this._data,d=D.words,u=8*this._nDataBytes,G=8*D.sigBytes;return d[G>>>5]|=128<<24-G%32,d[14+(G+64>>>9<<4)]=e.floor(u/4294967296),d[15+(G+64>>>9<<4)]=u,D.sigBytes=4*d.length,this._process(),this._hash},clone:function(){var D=n.clone.call(this);return D._hash=this._hash.clone(),D}});t.SHA256=n._createHelper(E),t.HmacSHA256=n._createHmacHelper(E)}(Math),i.SHA256)}),mC=bI(function(I,A){var i,e;I.exports=(e=(i=qt).lib.WordArray,i.enc.Base64={stringify:function(t){var g=t.words,o=t.sigBytes,n=this._map;t.clamp();for(var C=[],Q=0;Q>>2]>>>24-Q%4*8&255)<<16|(g[Q+1>>>2]>>>24-(Q+1)%4*8&255)<<8|g[Q+2>>>2]>>>24-(Q+2)%4*8&255,c=0;c<4&&Q+.75*c>>6*(3-c)&63));var E=n.charAt(64);if(E)for(;C.length%4;)C.push(E);return C.join("")},parse:function(t){var g=t.length,o=this._map,n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var C=0;C>>6-G%4*2;d[u>>>2]|=(F|p)<<24-u%4*8,u++}return e.create(d,u)}(t,g,n)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},i.enc.Base64)}),Po=bI(function(I,A){I.exports=qt.enc.Hex}),Zo=bI(function(I,A){(function(){var i;function e(B,r,a){B!=null&&(typeof B=="number"?this.fromNumber(B,r,a):this.fromString(B,r==null&&typeof B!="string"?256:r))}function t(){return new e(null)}var g=typeof navigator!="undefined";g&&navigator.appName=="Microsoft Internet Explorer"?(e.prototype.am=function(B,r,a,h,l,S){for(var H=32767&r,Y=r>>15;--S>=0;){var P=32767&this[B],j=this[B++]>>15,BA=Y*P+j*H;l=((P=H*P+((32767&BA)<<15)+a[h]+(1073741823&l))>>>30)+(BA>>>15)+Y*j+(l>>>30),a[h++]=1073741823&P}return l},i=30):g&&navigator.appName!="Netscape"?(e.prototype.am=function(B,r,a,h,l,S){for(;--S>=0;){var H=r*this[B++]+a[h]+l;l=Math.floor(H/67108864),a[h++]=67108863&H}return l},i=26):(e.prototype.am=function(B,r,a,h,l,S){for(var H=16383&r,Y=r>>14;--S>=0;){var P=16383&this[B],j=this[B++]>>14,BA=Y*P+j*H;l=((P=H*P+((16383&BA)<<14)+a[h]+l)>>28)+(BA>>14)+Y*j,a[h++]=268435455&P}return l},i=28),e.prototype.DB=i,e.prototype.DM=(1<>>16)!=0&&(B=r,a+=16),(r=B>>8)!=0&&(B=r,a+=8),(r=B>>4)!=0&&(B=r,a+=4),(r=B>>2)!=0&&(B=r,a+=2),(r=B>>1)!=0&&(B=r,a+=1),a}function D(B){this.m=B}function d(B){this.m=B,this.mp=B.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>=16,r+=16),(255&B)==0&&(B>>=8,r+=8),(15&B)==0&&(B>>=4,r+=4),(3&B)==0&&(B>>=2,r+=2),(1&B)==0&&++r,r}function J(B){for(var r=0;B!=0;)B&=B-1,++r;return r}function K(){}function f(B){return B}function w(B){this.r2=t(),this.q3=t(),e.ONE.dlShiftTo(2*B.t,this.r2),this.mu=this.r2.divide(B),this.m=B}D.prototype.convert=function(B){return B.s<0||B.compareTo(this.m)>=0?B.mod(this.m):B},D.prototype.revert=function(B){return B},D.prototype.reduce=function(B){B.divRemTo(this.m,null,B)},D.prototype.mulTo=function(B,r,a){B.multiplyTo(r,a),this.reduce(a)},D.prototype.sqrTo=function(B,r){B.squareTo(r),this.reduce(r)},d.prototype.convert=function(B){var r=t();return B.abs().dlShiftTo(this.m.t,r),r.divRemTo(this.m,null,r),B.s<0&&r.compareTo(e.ZERO)>0&&this.m.subTo(r,r),r},d.prototype.revert=function(B){var r=t();return B.copyTo(r),this.reduce(r),r},d.prototype.reduce=function(B){for(;B.t<=this.mt2;)B[B.t++]=0;for(var r=0;r>15)*this.mpl&this.um)<<15)&B.DM;for(B[a=r+this.m.t]+=this.m.am(0,h,B,r,0,this.m.t);B[a]>=B.DV;)B[a]-=B.DV,B[++a]++}B.clamp(),B.drShiftTo(this.m.t,B),B.compareTo(this.m)>=0&&B.subTo(this.m,B)},d.prototype.mulTo=function(B,r,a){B.multiplyTo(r,a),this.reduce(a)},d.prototype.sqrTo=function(B,r){B.squareTo(r),this.reduce(r)},e.prototype.copyTo=function(B){for(var r=this.t-1;r>=0;--r)B[r]=this[r];B.t=this.t,B.s=this.s},e.prototype.fromInt=function(B){this.t=1,this.s=B<0?-1:0,B>0?this[0]=B:B<-1?this[0]=B+this.DV:this.t=0},e.prototype.fromString=function(B,r){var a;if(r==16)a=4;else if(r==8)a=3;else if(r==256)a=8;else if(r==2)a=1;else if(r==32)a=5;else{if(r!=4)return void this.fromRadix(B,r);a=2}this.t=0,this.s=0;for(var h=B.length,l=!1,S=0;--h>=0;){var H=a==8?255&B[h]:s(B,h);H<0?B.charAt(h)=="-"&&(l=!0):(l=!1,S==0?this[this.t++]=H:S+a>this.DB?(this[this.t-1]|=(H&(1<>this.DB-S):this[this.t-1]|=H<=this.DB&&(S-=this.DB))}a==8&&(128&B[0])!=0&&(this.s=-1,S>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==B;)--this.t},e.prototype.dlShiftTo=function(B,r){var a;for(a=this.t-1;a>=0;--a)r[a+B]=this[a];for(a=B-1;a>=0;--a)r[a]=0;r.t=this.t+B,r.s=this.s},e.prototype.drShiftTo=function(B,r){for(var a=B;a=0;--a)r[a+H+1]=this[a]>>l|Y,Y=(this[a]&S)<=0;--a)r[a]=0;r[H]=Y,r.t=this.t+H+1,r.s=this.s,r.clamp()},e.prototype.rShiftTo=function(B,r){r.s=this.s;var a=Math.floor(B/this.DB);if(a>=this.t)r.t=0;else{var h=B%this.DB,l=this.DB-h,S=(1<>h;for(var H=a+1;H>h;h>0&&(r[this.t-a-1]|=(this.s&S)<>=this.DB;if(B.t>=this.DB;h+=this.s}else{for(h+=this.s;a>=this.DB;h-=B.s}r.s=h<0?-1:0,h<-1?r[a++]=this.DV+h:h>0&&(r[a++]=h),r.t=a,r.clamp()},e.prototype.multiplyTo=function(B,r){var a=this.abs(),h=B.abs(),l=a.t;for(r.t=l+h.t;--l>=0;)r[l]=0;for(l=0;l=0;)B[a]=0;for(a=0;a=r.DV&&(B[a+r.t]-=r.DV,B[a+r.t+1]=1)}B.t>0&&(B[B.t-1]+=r.am(a,r[a],B,2*a,0,1)),B.s=0,B.clamp()},e.prototype.divRemTo=function(B,r,a){var h=B.abs();if(!(h.t<=0)){var l=this.abs();if(l.t0?(h.lShiftTo(P,S),l.lShiftTo(P,a)):(h.copyTo(S),l.copyTo(a));var j=S.t,BA=S[j-1];if(BA!=0){var NA=BA*(1<1?S[j-2]>>this.F2:0),lI=this.FV/NA,SA=(1<=0&&(a[a.t++]=1,a.subTo(cI,a)),e.ONE.dlShiftTo(j,cI),cI.subTo(S,S);S.t=0;){var Ke=a[--EA]==BA?this.DM:Math.floor(a[EA]*lI+(a[EA-1]+HA)*SA);if((a[EA]+=S.am(0,Ke,a,Ae,0,j))0&&a.rShiftTo(P,a),H<0&&e.ZERO.subTo(a,a)}}},e.prototype.invDigit=function(){if(this.t<1)return 0;var B=this[0];if((1&B)==0)return 0;var r=3&B;return(r=(r=(r=(r=r*(2-(15&B)*r)&15)*(2-(255&B)*r)&255)*(2-((65535&B)*r&65535))&65535)*(2-B*r%this.DV)%this.DV)>0?this.DV-r:-r},e.prototype.isEven=function(){return(this.t>0?1&this[0]:this.s)==0},e.prototype.exp=function(B,r){if(B>4294967295||B<1)return e.ONE;var a=t(),h=t(),l=r.convert(this),S=E(B)-1;for(l.copyTo(a);--S>=0;)if(r.sqrTo(a,h),(B&1<0)r.mulTo(h,l,a);else{var H=a;a=h,h=H}return r.revert(a)},e.prototype.toString=function(B){if(this.s<0)return"-"+this.negate().toString(B);var r;if(B==16)r=4;else if(B==8)r=3;else if(B==2)r=1;else if(B==32)r=5;else{if(B!=4)return this.toRadix(B);r=2}var a,h=(1<0)for(Y>Y)>0&&(l=!0,S=Q(a));H>=0;)Y>(Y+=this.DB-r)):(a=this[H]>>(Y-=r)&h,Y<=0&&(Y+=this.DB,--H)),a>0&&(l=!0),l&&(S+=Q(a));return l?S:"0"},e.prototype.negate=function(){var B=t();return e.ZERO.subTo(this,B),B},e.prototype.abs=function(){return this.s<0?this.negate():this},e.prototype.compareTo=function(B){var r=this.s-B.s;if(r!=0)return r;var a=this.t;if((r=a-B.t)!=0)return this.s<0?-r:r;for(;--a>=0;)if((r=this[a]-B[a])!=0)return r;return 0},e.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+E(this[this.t-1]^this.s&this.DM)},e.prototype.mod=function(B){var r=t();return this.abs().divRemTo(B,null,r),this.s<0&&r.compareTo(e.ZERO)>0&&B.subTo(r,r),r},e.prototype.modPowInt=function(B,r){var a;return a=B<256||r.isEven()?new D(r):new d(r),this.exp(B,a)},e.ZERO=c(0),e.ONE=c(1),K.prototype.convert=f,K.prototype.revert=f,K.prototype.mulTo=function(B,r,a){B.multiplyTo(r,a)},K.prototype.sqrTo=function(B,r){B.squareTo(r)},w.prototype.convert=function(B){if(B.s<0||B.t>2*this.m.t)return B.mod(this.m);if(B.compareTo(this.m)<0)return B;var r=t();return B.copyTo(r),this.reduce(r),r},w.prototype.revert=function(B){return B},w.prototype.reduce=function(B){for(B.drShiftTo(this.m.t-1,this.r2),B.t>this.m.t+1&&(B.t=this.m.t+1,B.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);B.compareTo(this.r2)<0;)B.dAddOffset(1,this.m.t+1);for(B.subTo(this.r2,B);B.compareTo(this.m)>=0;)B.subTo(this.m,B)},w.prototype.mulTo=function(B,r,a){B.multiplyTo(r,a),this.reduce(a)},w.prototype.sqrTo=function(B,r){B.squareTo(r),this.reduce(r)};var y,k,U,q=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],m=(1<<26)/q[q.length-1];function R(){var B;B=new Date().getTime(),k[U++]^=255&B,k[U++]^=B>>8&255,k[U++]^=B>>16&255,k[U++]^=B>>24&255,U>=oA&&(U-=oA)}if(e.prototype.chunkSize=function(B){return Math.floor(Math.LN2*this.DB/Math.log(B))},e.prototype.toRadix=function(B){if(B==null&&(B=10),this.signum()==0||B<2||B>36)return"0";var r=this.chunkSize(B),a=Math.pow(B,r),h=c(a),l=t(),S=t(),H="";for(this.divRemTo(h,l,S);l.signum()>0;)H=(a+S.intValue()).toString(B).substr(1)+H,l.divRemTo(h,l,S);return S.intValue().toString(B)+H},e.prototype.fromRadix=function(B,r){this.fromInt(0),r==null&&(r=10);for(var a=this.chunkSize(r),h=Math.pow(r,a),l=!1,S=0,H=0,Y=0;Y=a&&(this.dMultiply(h),this.dAddOffset(H,0),S=0,H=0))}S>0&&(this.dMultiply(Math.pow(r,S)),this.dAddOffset(H,0)),l&&e.ZERO.subTo(this,this)},e.prototype.fromNumber=function(B,r,a){if(typeof r=="number")if(B<2)this.fromInt(1);else for(this.fromNumber(B,a),this.testBit(B-1)||this.bitwiseTo(e.ONE.shiftLeft(B-1),G,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(r);)this.dAddOffset(2,0),this.bitLength()>B&&this.subTo(e.ONE.shiftLeft(B-1),this);else{var h=new Array,l=7&B;h.length=1+(B>>3),r.nextBytes(h),l>0?h[0]&=(1<>=this.DB;if(B.t>=this.DB;h+=this.s}else{for(h+=this.s;a>=this.DB;h+=B.s}r.s=h<0?-1:0,h>0?r[a++]=h:h<-1&&(r[a++]=this.DV+h),r.t=a,r.clamp()},e.prototype.dMultiply=function(B){this[this.t]=this.am(0,B-1,this,0,0,this.t),++this.t,this.clamp()},e.prototype.dAddOffset=function(B,r){if(B!=0){for(;this.t<=r;)this[this.t++]=0;for(this[r]+=B;this[r]>=this.DV;)this[r]-=this.DV,++r>=this.t&&(this[this.t++]=0),++this[r]}},e.prototype.multiplyLowerTo=function(B,r,a){var h,l=Math.min(this.t+B.t,r);for(a.s=0,a.t=l;l>0;)a[--l]=0;for(h=a.t-this.t;l=0;)a[h]=0;for(h=Math.max(r-this.t,0);h0)if(r==0)a=this[0]%B;else for(var h=this.t-1;h>=0;--h)a=(r*a+this[h])%B;return a},e.prototype.millerRabin=function(B){var r=this.subtract(e.ONE),a=r.getLowestSetBit();if(a<=0)return!1;var h=r.shiftRight(a);(B=B+1>>1)>q.length&&(B=q.length);for(var l=t(),S=0;S>24},e.prototype.shortValue=function(){return this.t==0?this.s:this[0]<<16>>16},e.prototype.signum=function(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1},e.prototype.toByteArray=function(){var B=this.t,r=new Array;r[0]=this.s;var a,h=this.DB-B*this.DB%8,l=0;if(B-- >0)for(h>h)!=(this.s&this.DM)>>h&&(r[l++]=a|this.s<=0;)h<8?(a=(this[B]&(1<>(h+=this.DB-8)):(a=this[B]>>(h-=8)&255,h<=0&&(h+=this.DB,--B)),(128&a)!=0&&(a|=-256),l==0&&(128&this.s)!=(128&a)&&++l,(l>0||a!=this.s)&&(r[l++]=a);return r},e.prototype.equals=function(B){return this.compareTo(B)==0},e.prototype.min=function(B){return this.compareTo(B)<0?this:B},e.prototype.max=function(B){return this.compareTo(B)>0?this:B},e.prototype.and=function(B){var r=t();return this.bitwiseTo(B,u,r),r},e.prototype.or=function(B){var r=t();return this.bitwiseTo(B,G,r),r},e.prototype.xor=function(B){var r=t();return this.bitwiseTo(B,F,r),r},e.prototype.andNot=function(B){var r=t();return this.bitwiseTo(B,p,r),r},e.prototype.not=function(){for(var B=t(),r=0;r=this.t?this.s!=0:(this[r]&1<1){var BA=t();for(h.sqrTo(H[1],BA);Y<=j;)H[Y]=t(),h.mulTo(BA,H[Y-2],H[Y]),Y+=2}var NA,lI,SA=B.t-1,HA=!0,EA=t();for(l=E(B[SA])-1;SA>=0;){for(l>=P?NA=B[SA]>>l-P&j:(NA=(B[SA]&(1<0&&(NA|=B[SA-1]>>this.DB+l-P)),Y=a;(1&NA)==0;)NA>>=1,--Y;if((l-=Y)<0&&(l+=this.DB,--SA),HA)H[NA].copyTo(S),HA=!1;else{for(;Y>1;)h.sqrTo(S,EA),h.sqrTo(EA,S),Y-=2;Y>0?h.sqrTo(S,EA):(lI=S,S=EA,EA=lI),h.mulTo(EA,H[NA],S)}for(;SA>=0&&(B[SA]&1<=0?(a.subTo(h,a),r&&l.subTo(H,l),S.subTo(Y,S)):(h.subTo(a,h),r&&H.subTo(l,H),Y.subTo(S,Y))}return h.compareTo(e.ONE)!=0?e.ZERO:Y.compareTo(B)>=0?Y.subtract(B):Y.signum()<0?(Y.addTo(B,Y),Y.signum()<0?Y.add(B):Y):Y},e.prototype.pow=function(B){return this.exp(B,new K)},e.prototype.gcd=function(B){var r=this.s<0?this.negate():this.clone(),a=B.s<0?B.negate():B.clone();if(r.compareTo(a)<0){var h=r;r=a,a=h}var l=r.getLowestSetBit(),S=a.getLowestSetBit();if(S<0)return r;for(l0&&(r.rShiftTo(S,r),a.rShiftTo(S,a));r.signum()>0;)(l=r.getLowestSetBit())>0&&r.rShiftTo(l,r),(l=a.getLowestSetBit())>0&&a.rShiftTo(l,a),r.compareTo(a)>=0?(r.subTo(a,r),r.rShiftTo(1,r)):(a.subTo(r,a),a.rShiftTo(1,a));return S>0&&a.lShiftTo(S,a),a},e.prototype.isProbablePrime=function(B){var r,a=this.abs();if(a.t==1&&a[0]<=q[q.length-1]){for(r=0;r>>8,k[U++]=255&M;U=0,R()}function eA(){if(y==null){for(R(),(y=new O).init(k),U=0;U0&&A.length>0))throw new Error("Invalid key data");this.n=new Zo.BigInteger(I,16),this.e=parseInt(A,16)}To.prototype.verify=function(I,A){A=A.replace(/[^0-9a-f]|[\s\n]]/gi,"");var i=new Zo.BigInteger(A,16);if(i.bitLength()>this.n.bitLength())throw new Error("Signature does not match with the key modulus.");var e=function(g){for(var o in Vo){var n=Vo[o],C=n.length;if(g.substring(0,C)===n)return{alg:o,hash:g.substring(C)}}return[]}(i.modPowInt(this.e,this.n).toString(16).replace(/^1f+00/,""));if(e.length===0)return!1;if(!Wo.hasOwnProperty(e.alg))throw new Error("Hashing algorithm is not supported.");var t=Wo[e.alg](I).toString();return e.hash===t};for(zo=[],mA=[],jo=typeof Uint8Array!="undefined"?Uint8Array:Array,Mt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",vI=0;vI<64;++vI)zo[vI]=Mt[vI],mA[Mt.charCodeAt(vI)]=vI;var zo,mA,jo,Mt,vI;mA["-".charCodeAt(0)]=62,mA["_".charCodeAt(0)]=63;var _o=function(I){var A,i,e=function(Q){var s=Q.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var c=Q.indexOf("=");return c===-1&&(c=s),[c,c===s?0:4-c%4]}(I),t=e[0],g=e[1],o=new jo(function(Q,s,c){return 3*(s+c)/4-c}(0,t,g)),n=0,C=g>0?t-4:t;for(i=0;i>16&255,o[n++]=A>>8&255,o[n++]=255&A;return g===2&&(A=mA[I.charCodeAt(i)]<<2|mA[I.charCodeAt(i+1)]>>4,o[n++]=255&A),g===1&&(A=mA[I.charCodeAt(i)]<<10|mA[I.charCodeAt(i+1)]<<4|mA[I.charCodeAt(i+2)]>>2,o[n++]=A>>8&255,o[n++]=255&A),o};function $o(I){var A=I.length%4;return A===0?I:I+new Array(4-A+1).join("=")}function An(I){return I=$o(I).replace(/\-/g,"+").replace(/_/g,"/"),decodeURIComponent(function(A){for(var i="",e=0;e1){var g=e.shift();e[0]=g+e[0]}e[0]=e[0].match(/^file:\/\/\//)?e[0].replace(/^([^/:]+):\/*/,"$1:///"):e[0].replace(/^([^/:]+):\/*/,"$1://");for(var o=0;o0&&(n=n.replace(/^[\/]+/,"")),n=n.replace(/[\/]+$/,o0?"?":"")+Q.join("&")}(typeof arguments[0]=="object"?arguments[0]:[].slice.call(arguments))}},I.exports?I.exports=i():A.urljoin=i()});function HC(I,A){return A=A||{},new Promise(function(i,e){var t=new XMLHttpRequest,g=[],o=[],n={},C=function(){return{ok:(t.status/100|0)==2,statusText:t.statusText,status:t.status,url:t.responseURL,text:function(){return Promise.resolve(t.responseText)},json:function(){return Promise.resolve(t.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([t.response]))},clone:C,headers:{keys:function(){return g},entries:function(){return o},get:function(s){return n[s.toLowerCase()]},has:function(s){return s.toLowerCase()in n}}}};for(var Q in t.open(A.method||"get",I,!0),t.onload=function(){t.getAllResponseHeaders().replace(/^(.*?):[^\S\n]*([\s\S]*?)$/gm,function(s,c,E){g.push(c=c.toLowerCase()),o.push([c,E]),n[c]=n[c]?n[c]+","+E:E}),i(C())},t.onerror=e,t.withCredentials=A.credentials=="include",A.headers)t.setRequestHeader(Q,A.headers[Q]);t.send(A.body||null)})}function UC(I){if(I.ok)return I.json();var A=new Error(I.statusText);return A.response=I,Promise.reject(A)}function Kt(I){this.name="ConfigurationError",this.message=I||""}function $(I){this.name="TokenValidationError",this.message=I||""}Kt.prototype=Error.prototype,$.prototype=Error.prototype;var JC=function(){function I(){}var A=I.prototype;return A.get=function(){return null},A.has=function(){return null},A.set=function(){return null},I}();kC.polyfill();var Rt="RS256",He=function(I){return typeof I=="number"},qC=function(){return new Date};function LI(I){var A=I||{};if(this.jwksCache=A.jwksCache||new JC,this.expectedAlg=A.expectedAlg||"RS256",this.issuer=A.issuer,this.audience=A.audience,this.leeway=A.leeway===0?0:A.leeway||60,this.jwksURI=A.jwksURI,this.maxAge=A.maxAge,this.__clock=typeof A.__clock=="function"?A.__clock:qC,this.leeway<0||this.leeway>300)throw new Kt("The leeway should be positive and lower than five minutes.");if(Rt!==this.expectedAlg)throw new Kt('Signature algorithm of "'+this.expectedAlg+'" is not supported. Expected the ID token to be signed with "'+Rt+'".')}function In(I,A){this.plugins=A;for(var i=0;i1){if(!d||typeof d!="string")return i(new $("Authorized Party (azp) claim must be a string present in the ID token when Audience (aud) claim has multiple values"),null);if(d!==p.audience)return i(new $('Authorized Party (azp) claim mismatch in the ID token; expected "'+p.audience+'", found "'+d+'"'),null)}if(!c||!He(c))return i(new $("Expiration Time (exp) claim must be a number present in the ID token"),null);if(!D||!He(D))return i(new $("Issued At (iat) claim must be a number present in the ID token"),null);var K=c+p.leeway,f=new Date(0);if(f.setUTCSeconds(K),F>f)return i(new $('Expiration Time (exp) claim error in the ID token; current time "'+F+'" is after expiration time "'+f+'"'),null);if(E&&He(E)){var w=E-p.leeway,y=new Date(0);if(y.setUTCSeconds(w),FU)return i(new $('Authentication Time (auth_time) claim in the ID token indicates that too much time has passed since the last end-user authentication. Current time "'+F+'" is after last auth time at "'+U+'"'),null)}return i(null,e.payload)})},LI.prototype.getRsaVerifier=function(I,A,i){var e=this,t=I+A;Promise.resolve(this.jwksCache.has(t)).then(function(g){return g?e.jwksCache.get(t):(n=(o={jwksURI:e.jwksURI,iss:I,kid:A}).jwksURI||NC(o.iss,".well-known","jwks.json"),(fetch=="undefined"?HC:fetch)(n).then(UC).then(function(C){var Q,s,c,E=null;for(Q=0;Q-1&&new RegExp("rv:([0-9]{2,2}[.0-9]{0,})").exec(n)!==null&&(o=parseFloat(RegExp.$1)),o>=8}();return typeof window!="undefined"&&window.JSON&&window.JSON.stringify&&window.JSON.parse&&window.postMessage?{open:function(o,n){if(!n)throw"missing required callback argument";var C,Q;o.url||(C="missing required 'url' parameter"),o.relay_url||(C="missing required 'relay_url' parameter"),C&&setTimeout(function(){n(C)},0),o.window_name||(o.window_name=null),o.window_features&&!function(){try{var F=navigator.userAgent;return F.indexOf("Fennec/")!=-1||F.indexOf("Firefox/")!=-1&&F.indexOf("Android")!=-1}catch{}return!1}()||(o.window_features=void 0);var s,c=o.origin||t(o.url);if(c!==t(o.relay_url))return setTimeout(function(){n("invalid arguments: origin of url and relay_url must match")},0);g&&((Q=document.createElement("iframe")).setAttribute("src",o.relay_url),Q.style.display="none",Q.setAttribute("name","__winchan_relay_frame"),document.body.appendChild(Q),s=Q.contentWindow);var E=o.popup||window.open(o.url,o.window_name,o.window_features);o.popup&&(E.location.href=o.url),s||(s=E);var D=setInterval(function(){E&&E.closed&&(u(),n&&(n("User closed the popup window"),n=null))},500),d=JSON.stringify({a:"request",d:o.params});function u(){if(Q&&document.body.removeChild(Q),Q=void 0,D&&(D=clearInterval(D)),e(window,"message",G),e(window,"unload",u),E)try{E.close()}catch{s.postMessage("die",c)}E=s=void 0}function G(F){if(F.origin===c){try{var p=JSON.parse(F.data)}catch(N){if(n)return n(N);throw N}p.a==="ready"?s.postMessage(d,c):p.a==="error"?(u(),n&&(n(p.d),n=null)):p.a==="response"&&(u(),n&&(n(null,p.d),n=null))}}return i(window,"unload",u),i(window,"message",G),{originalPopup:E,close:u,focus:function(){if(E)try{E.focus()}catch{}}}},onOpen:function(o){var n="*",C=g?function(){for(var E=window.opener.frames,D=E.length-1;D>=0;D--)try{if(E[D].location.protocol===window.location.protocol&&E[D].location.host===window.location.host&&E[D].name==="__winchan_relay_frame")return E[D]}catch{}}():window.opener;if(!C)throw"can't find relay frame";function Q(E){E=JSON.stringify(E),g?C.doPost(E,n):C.postMessage(E,n)}function s(E){if(E.data==="die")try{window.close()}catch{}}i(g?C:window,"message",function E(D){var d;try{d=JSON.parse(D.data)}catch{}d&&d.a==="request"&&(e(window,"message",E),n=D.origin,o&&setTimeout(function(){o(n,d.d,function(u){o=void 0,Q({a:"response",d:u})})},0))}),i(g?C:window,"message",s);try{Q({a:"ready"})}catch{i(C,"load",function(D){Q({a:"ready"})})}var c=function(){try{e(g?C:window,"message",s)}catch{}o&&Q({a:"error",d:"client closed window"}),o=void 0;try{window.close()}catch{}};return i(window,"unload",c),{detach:function(){e(window,"unload",c)}}}}:{open:function(o,n,C,Q){setTimeout(function(){Q("unsupported browser")},0)},onOpen:function(o){setTimeout(function(){o("unsupported browser")},0)}}}();I.exports&&(I.exports=A)}),MC={extractOrigin:function(I){/^https?:\/\//.test(I)||(I=window.location.href);var A=/^(https?:\/\/[-_a-zA-Z.0-9:]+)/.exec(I);return A?A[1]:I}};function Ue(){this._current_popup=null}function aI(I,A){this.baseOptions=A,this.baseOptions.popupOrigin=A.popupOrigin,this.client=I.client,this.webAuth=I,this.transactionManager=new OI(this.baseOptions),this.crossOriginAuthentication=new Pi(I,this.baseOptions),this.warn=new RI({disableWarnings:!!A._disableDeprecationWarnings})}function di(I){this.authenticationUrl=I.authenticationUrl,this.timeout=I.timeout||6e4,this.handler=null,this.postMessageDataType=I.postMessageDataType||!1,this.postMessageOrigin=I.postMessageOrigin||z.getWindow().location.origin||z.getWindow().location.protocol+"//"+z.getWindow().location.hostname+(z.getWindow().location.port?":"+z.getWindow().location.port:"")}function vt(I){this.baseOptions=I,this.request=new AI(I),this.transactionManager=new OI(this.baseOptions)}function Je(I,A){this.baseOptions=A,this.client=I,this.baseOptions.universalLoginPage=!0,this.request=new AI(this.baseOptions),this.warn=new RI({disableWarnings:!!A._disableDeprecationWarnings})}Ue.prototype.calculatePosition=function(I){var A=I.width||500,i=I.height||600,e=z.getWindow(),t=e.screenX!==void 0?e.screenX:e.screenLeft,g=e.screenY!==void 0?e.screenY:e.screenTop,o=e.outerWidth!==void 0?e.outerWidth:e.document.body.clientWidth,n=e.outerHeight!==void 0?e.outerHeight:e.document.body.clientHeight;return{width:A,height:i,left:I.left||t+(o-A)/2,top:I.top||g+(n-i)/2}},Ue.prototype.preload=function(I){var A=this,i=z.getWindow(),e=this.calculatePosition(I.popupOptions||{}),t=b.merge(e).with(I.popupOptions),g=I.url||"about:blank",o=DI.stringify(t,{encode:!1,delimiter:","});return this._current_popup&&!this._current_popup.closed||(this._current_popup=i.open(g,"auth0_signup_popup",o),this._current_popup.kill=function(){this.close(),A._current_popup=null}),this._current_popup},Ue.prototype.load=function(I,A,i,e){var t=this,g=this.calculatePosition(i.popupOptions||{}),o=b.merge(g).with(i.popupOptions),n=b.merge({url:I,relay_url:A,window_features:DI.stringify(o,{delimiter:",",encode:!1}),popup:this._current_popup}).with(i),C=gn.open(n,function(Q,s){if(!Q||Q.name!=="SyntaxError")return t._current_popup=null,e(Q,s)});return C.focus(),C},aI.prototype.buildPopupHandler=function(){var I=this.baseOptions.plugins.get("popup.getPopupHandler");return I?I.getPopupHandler():new Ue},aI.prototype.preload=function(I){I=I||{};var A=this.buildPopupHandler();return A.preload(I),A},aI.prototype.getPopupHandler=function(I,A){return I.popupHandler?I.popupHandler:A?this.preload(I):this.buildPopupHandler()},aI.prototype.callback=function(I){var A=this,i=z.getWindow(),e=(I=I||{}).popupOrigin||this.baseOptions.popupOrigin||z.getOrigin();i.opener?gn.onOpen(function(t,g,o){if(t!==e)return o({error:"origin_mismatch",error_description:"The popup's origin ("+t+") should match the `popupOrigin` parameter ("+e+")."});A.webAuth.parseHash(I||{},function(n,C){return o(n||C)})}):i.doPost=function(t){i.parent&&i.parent.postMessage(t,e)}},aI.prototype.authorize=function(I,A){var i,e,t={},g=this.baseOptions.plugins.get("popup.authorize"),o=b.merge(this.baseOptions,["clientID","scope","domain","audience","tenant","responseType","redirectUri","_csrf","state","_intstate","nonce","organization","invitation"]).with(b.blacklist(I,["popupHandler"]));return L.check(o,{type:"object",message:"options parameter is not valid"},{responseType:{type:"string",message:"responseType option is required"}}),e=gA(this.baseOptions.rootUrl,"relay.html"),I.owp?o.owp=!0:(t.origin=MC.extractOrigin(o.redirectUri),e=o.redirectUri),I.popupOptions&&(t.popupOptions=b.pick(I.popupOptions,["width","height","top","left"])),g&&(o=g.processParams(o)),(o=this.transactionManager.process(o)).scope=o.scope||"openid profile email",delete o.domain,i=this.client.buildAuthorizeUrl(o),this.getPopupHandler(I).load(i,e,t,nA(A,{keepOriginalCasing:!0}))},aI.prototype.loginWithCredentials=function(I,A){I.realm=I.realm||I.connection,I.popup=!0,I=b.merge(this.baseOptions,["redirectUri","responseType","state","nonce","timeout"]).with(b.blacklist(I,["popupHandler","connection"])),I=this.transactionManager.process(I),this.crossOriginAuthentication.login(I,A)},aI.prototype.passwordlessVerify=function(I,A){var i=this;return this.client.passwordless.verify(b.blacklist(I,["popupHandler"]),function(e){if(e)return A(e);I.username=I.phoneNumber||I.email,I.password=I.verificationCode,delete I.email,delete I.phoneNumber,delete I.verificationCode,delete I.type,i.client.loginWithResourceOwner(I,A)})},aI.prototype.signupAndLogin=function(I,A){var i=this;return this.client.dbConnection.signup(I,function(e){if(e)return A(e);i.loginWithCredentials(I,A)})},di.create=function(I){return new di(I)},di.prototype.login=function(I,A){this.handler=new fi({auth0:this.auth0,url:this.authenticationUrl,eventListenerType:I?"message":"load",callback:this.getCallbackHandler(A,I),timeout:this.timeout,eventValidator:this.getEventValidator(),timeoutCallback:function(){A(null,"#error=timeout&error_description=Timeout+during+authentication+renew.")},usePostMessage:I||!1}),this.handler.init()},di.prototype.getEventValidator=function(){var I=this;return{isValid:function(A){switch(A.event.type){case"message":return A.event.origin===I.postMessageOrigin&&A.event.source===I.handler.iframe.contentWindow&&(I.postMessageDataType===!1||A.event.data.type&&A.event.data.type===I.postMessageDataType);case"load":if(A.sourceObject.contentWindow.location.protocol==="about:")return!1;default:return!0}}}},di.prototype.getCallbackHandler=function(I,A){return function(i){var e;e=A?typeof i.event.data=="object"&&i.event.data.hash?i.event.data.hash:i.event.data:i.sourceObject.contentWindow.location.hash,I(null,e)}},vt.prototype.login=function(I,A){var i,e;return i=gA(this.baseOptions.rootUrl,"usernamepassword","login"),I.username=I.username||I.email,I=b.blacklist(I,["email","onRedirecting"]),e=b.merge(this.baseOptions,["clientID","redirectUri","tenant","responseType","responseMode","scope","audience"]).with(I),e=this.transactionManager.process(e),e=b.toSnakeCase(e,["auth0Client"]),this.request.post(i).send(e).end(nA(A))},vt.prototype.callback=function(I){var A,i=z.getDocument();(A=i.createElement("div")).innerHTML=I,i.body.appendChild(A).children[0].submit()},Je.prototype.login=function(I,A){if(z.getWindow().location.host!==this.baseOptions.domain)throw new Error("This method is meant to be used only inside the Universal Login Page.");var i,e=b.merge(this.baseOptions,["clientID","redirectUri","tenant","responseType","responseMode","scope","audience","_csrf","state","_intstate","nonce"]).with(I);return L.check(e,{type:"object",message:"options parameter is not valid"},{responseType:{type:"string",message:"responseType option is required"}}),(i=new vt(this.baseOptions)).login(e,function(t,g){if(t)return A(t);function o(){i.callback(g)}if(typeof I.onRedirecting=="function")return I.onRedirecting(function(){o()});o()})},Je.prototype.signupAndLogin=function(I,A){var i=this;return i.client.client.dbConnection.signup(I,function(e){return e?A(e):i.login(I,A)})},Je.prototype.getSSOData=function(I,A){var i,e="";return typeof I=="function"&&(A=I,I=!1),L.check(I,{type:"boolean",message:"withActiveDirectories parameter is not valid"}),L.check(A,{type:"function",message:"cb parameter is not valid"}),I&&(e="?"+DI.stringify({ldaps:1,client_id:this.baseOptions.clientID})),i=gA(this.baseOptions.rootUrl,"user","ssodata",e),this.request.get(i,{noHeaders:!0}).withCredentials().end(nA(A))};var Lt=function(){},Ot=Lt,on={lang:"en",templates:{auth0:function(I){var A=I.type==="code"?"Enter the code shown above":"Solve the formula shown above";return`
'},recaptcha_v2:function(){return'
'},recaptcha_enterprise:function(){return'
'},hcaptcha:function(){return'
'},friendly_captcha:function(){return'
'},arkose:function(){return'
'},auth0_v2:function(){return'
'},error:function(){return'
Error getting the bot detection challenge. Please contact the system administrator.
'}}};function gn(I,A,i,e){I.innerHTML=A.templates[i.provider](i),I.querySelector(".captcha-reload").addEventListener("click",function(t){t.preventDefault(),e()})}function XI(I){switch(I){case"recaptcha_v2":return window.grecaptcha;case"recaptcha_enterprise":return window.grecaptcha.enterprise;case"hcaptcha":return window.hcaptcha;case"friendly_captcha":return window.friendlyChallenge;case"arkose":return window.arkose;case"auth0_v2":return window.turnstile;default:throw new Error("Unknown captcha provider")}}function on(I,A){var i=window.document.createElement("script");for(var e in A)e.startsWith("data-")?i.dataset[e.replace("data-","")]=A[e]:i[e]=A[e];i.src=I,window.document.body.appendChild(i)}function nn(I){window.document.querySelectorAll('script[src="'+I+'"]').forEach(function(A){A.remove()})}function qC(I,A,i,e){var t=A.provider+"Callback_"+Math.floor(1000001*Math.random()),g={async:!0,defer:!0},o=function(C,Q,s,c,E){switch(C){case"recaptcha_v2":return"https://www.recaptcha.net/recaptcha/api.js?hl="+Q+"&onload="+s;case"recaptcha_enterprise":return"https://www.recaptcha.net/recaptcha/enterprise.js?render=explicit&hl="+Q+"&onload="+s;case"hcaptcha":return"https://js.hcaptcha.com/1/api.js?hl="+Q+"&onload="+s;case"friendly_captcha":return"https://cdn.jsdelivr.net/npm/friendly-challenge@0.9.12/widget.min.js";case"arkose":return"https://"+c+".arkoselabs.com/v2/"+E+"/api.js";case"auth0_v2":return"https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit&onload="+s;default:throw new Error("Unknown captcha provider")}}(A.provider,A.lang,t,A.clientSubdomain,A.siteKey);if(A.provider==="arkose"||A.provider==="auth0_v2"){var n=0;g["data-callback"]=t,g.onerror=function(){if(n<3)return nn(o),on(o,g),void n++;nn(o),e("BYPASS_CAPTCHA")},window[t]=function(C){window.arkose=C,i(C)}}else window[t]=function(){delete window[t],i()},A.provider==="friendly_captcha"&&(g.onload=window[t]);on(o,g)}function rn(I,A,i){var e,t=I.hasAttribute("data-wid")&&I.getAttribute("data-wid");function g(n){I.querySelector('input[name="captcha"]').value=n||""}if(i.provider==="friendly_captcha"&&window.auth0FCInstance)return g(),void window.auth0FCInstance.reset();if(i.provider==="arkose"&&XI(i.provider))return g(),void XI(i.provider).reset();if(t)return g(),void XI(i.provider).reset(t);switch(I.innerHTML=A.templates[i.provider](i),i.provider){case"recaptcha_enterprise":case"recaptcha_v2":e=".recaptcha";break;case"hcaptcha":e=".hcaptcha";break;case"friendly_captcha":e=".friendly-captcha";break;case"arkose":e=".arkose";break;case"auth0_v2":e=".auth0_v2"}var o=I.querySelector(e);qC(0,{lang:A.lang,provider:i.provider,clientSubdomain:i.clientSubdomain,siteKey:i.siteKey},function(n){var C=XI(i.provider);if(i.provider==="arkose"){var Q=0;n.setConfig({onCompleted:function(c){g(c.token),vt()},onError:function(){Q<3?(g(),n.reset(),setTimeout(function(){n.run()},500),Q++):g("BYPASS_CAPTCHA")}})}else if(i.provider==="friendly_captcha")window.auth0FCInstance=new C.WidgetInstance(o,{sitekey:i.siteKey,language:A.lang,doneCallback:function(c){g(c)},errorCallback:function(){g()}});else{var s={callback:g,"expired-callback":function(){g()},"error-callback":function(){g()},sitekey:i.siteKey};i.provider==="auth0_v2"&&(Q=0,s.language=A.lang,s.theme="light",s.retry="never",s["response-field"]=!1,s["error-callback"]=function(){return Q<3?(g(),XI(i.provider).reset(t),Q++):g("BYPASS_CAPTCHA"),!0}),t=C.render(o,s),I.setAttribute("data-wid",t)}},g)}var Cn={render:function(I,A,i,e){function t(g){g=g||bt,I.getChallenge(function(o,n){return o?(A.innerHTML=i.templates.error(o),g(o)):n.required?(A.style.display="",n.provider==="auth0"?gn(A,i,n,t):n.provider!=="recaptcha_v2"&&n.provider!=="recaptcha_enterprise"&&n.provider!=="hcaptcha"&&n.provider!=="friendly_captcha"&&n.provider!=="arkose"&&n.provider!=="auth0_v2"||rn(A,i,n),void(n.provider==="arkose"?g(null,{triggerCaptcha:function(C){XI(n.provider).run(),vt=C}}):g())):(A.style.display="none",void(A.innerHTML=""))})}return i=b.merge(tn).with(i||{}),t(e),{reload:t,getValue:function(){var g=A.querySelector('input[name="captcha"]');if(g)return g.value}}},renderPasswordless:function(I,A,i,e){function t(g){g=g||bt,I.passwordless.getChallenge(function(o,n){return o?(A.innerHTML=i.templates.error(o),g(o)):n.required?(A.style.display="",n.provider==="auth0"?gn(A,i,n,t):n.provider!=="recaptcha_v2"&&n.provider!=="recaptcha_enterprise"&&n.provider!=="hcaptcha"&&n.provider!=="friendly_captcha"&&n.provider!=="arkose"&&n.provider!=="auth0_v2"||rn(A,i,n),void(n.provider==="arkose"?g(null,{triggerCaptcha:function(C){XI(n.provider).run(),vt=C}}):g())):(A.style.display="none",void(A.innerHTML=""))})}return i=b.merge(tn).with(i||{}),t(e),{reload:t,getValue:function(){var g=A.querySelector('input[name="captcha"]');if(g)return g.value}}}};function MC(){return new Date}function CA(I){L.check(I,{type:"object",message:"options parameter is not valid"},{domain:{type:"string",message:"domain option is required"},clientID:{type:"string",message:"clientID option is required"},responseType:{optional:!0,type:"string",message:"responseType is not valid"},responseMode:{optional:!0,type:"string",message:"responseMode is not valid"},redirectUri:{optional:!0,type:"string",message:"redirectUri is not valid"},scope:{optional:!0,type:"string",message:"scope is not valid"},audience:{optional:!0,type:"string",message:"audience is not valid"},popupOrigin:{optional:!0,type:"string",message:"popupOrigin is not valid"},leeway:{optional:!0,type:"number",message:"leeway is not valid"},plugins:{optional:!0,type:"array",message:"plugins is not valid"},maxAge:{optional:!0,type:"number",message:"maxAge is not valid"},stateExpiration:{optional:!0,type:"number",message:"stateExpiration is not valid"},legacySameSiteCookie:{optional:!0,type:"boolean",message:"legacySameSiteCookie option is not valid"},_disableDeprecationWarnings:{optional:!0,type:"boolean",message:"_disableDeprecationWarnings option is not valid"},_sendTelemetry:{optional:!0,type:"boolean",message:"_sendTelemetry option is not valid"},_telemetryInfo:{optional:!0,type:"object",message:"_telemetryInfo option is not valid"},_timesToRetryFailedRequests:{optional:!0,type:"number",message:"_timesToRetryFailedRequests option is not valid"}}),I.overrides&&L.check(I.overrides,{type:"object",message:"overrides option is not valid"},{__tenant:{optional:!0,type:"string",message:"__tenant option is required"},__token_issuer:{optional:!0,type:"string",message:"__token_issuer option is required"},__jwks_uri:{optional:!0,type:"string",message:"__jwks_uri is required"}}),this.baseOptions=I,this.baseOptions.plugins=new $o(this,this.baseOptions.plugins||[]),this.baseOptions._sendTelemetry=this.baseOptions._sendTelemetry!==!1||this.baseOptions._sendTelemetry,this.baseOptions._timesToRetryFailedRequests=I._timesToRetryFailedRequests?parseInt(I._timesToRetryFailedRequests):0,this.baseOptions.tenant=this.baseOptions.overrides&&this.baseOptions.overrides.__tenant||this.baseOptions.domain.split(".")[0],this.baseOptions.token_issuer=this.baseOptions.overrides&&this.baseOptions.overrides.__token_issuer||"https://"+this.baseOptions.domain+"/",this.baseOptions.jwksURI=this.baseOptions.overrides&&this.baseOptions.overrides.__jwks_uri,I.legacySameSiteCookie!==!1&&(this.baseOptions.legacySameSiteCookie=!0),this.transactionManager=new OI(this.baseOptions),this.client=new FA(this.baseOptions),this.redirect=new Rt(this,this.baseOptions),this.popup=new aI(this,this.baseOptions),this.crossOriginAuthentication=new Pi(this,this.baseOptions),this.webMessageHandler=new Kt(this),this._universalLogin=new He(this,this.baseOptions),this.ssodataStorage=new Ge(this.baseOptions)}function Zi(I,A){this.baseOptions=A,this.request=I}function Lt(I,A){this.baseOptions=A,this.request=I}function FA(I,A){arguments.length===2?this.auth0=I:A=I,L.check(A,{type:"object",message:"options parameter is not valid"},{domain:{type:"string",message:"domain option is required"},clientID:{type:"string",message:"clientID option is required"},responseType:{optional:!0,type:"string",message:"responseType is not valid"},responseMode:{optional:!0,type:"string",message:"responseMode is not valid"},redirectUri:{optional:!0,type:"string",message:"redirectUri is not valid"},scope:{optional:!0,type:"string",message:"scope is not valid"},audience:{optional:!0,type:"string",message:"audience is not valid"},_disableDeprecationWarnings:{optional:!0,type:"boolean",message:"_disableDeprecationWarnings option is not valid"},_sendTelemetry:{optional:!0,type:"boolean",message:"_sendTelemetry option is not valid"},_telemetryInfo:{optional:!0,type:"object",message:"_telemetryInfo option is not valid"}}),this.baseOptions=A,this.baseOptions._sendTelemetry=this.baseOptions._sendTelemetry!==!1||this.baseOptions._sendTelemetry,this.baseOptions.rootUrl=this.baseOptions.domain&&this.baseOptions.domain.toLowerCase().indexOf("http")===0?this.baseOptions.domain:"https://"+this.baseOptions.domain,this.request=new AI(this.baseOptions),this.passwordless=new Zi(this.request,this.baseOptions),this.dbConnection=new Lt(this.request,this.baseOptions),this.warn=new RI({disableWarnings:!!A._disableDeprecationWarnings}),this.ssodataStorage=new Ge(this.baseOptions)}function wi(I){L.check(I,{type:"object",message:"options parameter is not valid"},{domain:{type:"string",message:"domain option is required"},token:{type:"string",message:"token option is required"},_sendTelemetry:{optional:!0,type:"boolean",message:"_sendTelemetry option is not valid"},_telemetryInfo:{optional:!0,type:"object",message:"_telemetryInfo option is not valid"}}),this.baseOptions=I,this.baseOptions.headers={Authorization:"Bearer "+this.baseOptions.token},this.request=new AI(this.baseOptions),this.baseOptions.rootUrl=gA("https://"+this.baseOptions.domain,"api","v2")}CA.prototype.parseHash=function(I,A){var i,e;A||typeof I!="function"?I=I||{}:(A=I,I={});var t=I.hash===void 0?z.getWindow().location.hash:I.hash;if(t=t.replace(/^#?\/?/,""),(i=DI.parse(t)).hasOwnProperty("error"))return e=II.buildResponse(i.error,i.error_description),i.state&&(e.state=i.state),A(e);if(!i.hasOwnProperty("access_token")&&!i.hasOwnProperty("id_token")&&!i.hasOwnProperty("refresh_token"))return A(null,null);var g=(this.baseOptions.responseType||I.responseType||"").split(" ");return g.length>0&&g.indexOf("token")!==-1&&!i.hasOwnProperty("access_token")?A(II.buildResponse("invalid_hash","response_type contains `token`, but the parsed hash does not contain an `access_token` property")):g.length>0&&g.indexOf("id_token")!==-1&&!i.hasOwnProperty("id_token")?A(II.buildResponse("invalid_hash","response_type contains `id_token`, but the parsed hash does not contain an `id_token` property")):this.validateAuthenticationResponse(I,i,A)},CA.prototype.validateAuthenticationResponse=function(I,A,i){var e=this;I.__enableIdPInitiatedLogin=I.__enableIdPInitiatedLogin||I.__enableImpersonation;var t=A.state,g=this.transactionManager.getStoredTransaction(t),o=I.state||g&&g.state||null,n=o===t;if(!(!t&&!o&&I.__enableIdPInitiatedLogin)&&!n)return i({error:"invalid_token",errorDescription:"`state` does not match."});var C=I.nonce||g&&g.nonce||null,Q=g&&g.organization,s=I.state||g&&g.appState||null,c=function(E,D){if(E)return i(E);var d;return g&&g.lastUsedConnection&&(D&&(d=D.sub),e.ssodataStorage.set(g.lastUsedConnection,d)),i(null,function(u,G,F){return{accessToken:u.access_token||null,idToken:u.id_token||null,idTokenPayload:F||null,appState:G||null,refreshToken:u.refresh_token||null,state:u.state||null,expiresIn:u.expires_in?parseInt(u.expires_in,10):null,tokenType:u.token_type||null,scope:u.scope||null}}(A,s,D))};return A.id_token?this.validateToken(A.id_token,C,function(E,D){if(!E){if(Q)if(Q.indexOf("org_")===0){if(!D.org_id)return c(II.invalidToken("Organization Id (org_id) claim must be a string present in the ID token"));if(D.org_id!==Q)return c(II.invalidToken('Organization Id (org_id) claim value mismatch in the ID token; expected "'+Q+'", found "'+D.org_id+'"'))}else{if(!D.org_name)return c(II.invalidToken("Organization Name (org_name) claim must be a string present in the ID token"));if(D.org_name!==Q.toLowerCase())return c(II.invalidToken('Organization Name (org_name) claim value mismatch in the ID token; expected "'+Q+'", found "'+D.org_name+'"'))}return A.access_token&&D.at_hash?new LI().validateAccessToken(A.access_token,"RS256",D.at_hash,function(u){return u?c(II.invalidToken(u.message)):c(null,D)}):c(null,D)}if(E.error!=="invalid_token"||E.errorDescription&&E.errorDescription.indexOf("Nonce (nonce) claim value mismatch in the ID token")>-1)return c(E);var d=new LI().decode(A.id_token);return d.header.alg!=="HS256"?c(E):(d.payload.nonce||null)!==C?c({error:"invalid_token",errorDescription:'Nonce (nonce) claim value mismatch in the ID token; expected "'+C+'", found "'+d.payload.nonce+'"'}):A.access_token?e.client.userInfo(A.access_token,function(u,G){return u?c(u):c(null,G)}):c({error:"invalid_token",description:"The id_token cannot be validated because it was signed with the HS256 algorithm and public clients (like a browser) can\u2019t store secrets. Please read the associated doc for possible ways to fix this. Read more: https://auth0.com/docs/errors/libraries/auth0-js/invalid-token#parsing-an-hs256-signed-id-token-without-an-access-token"})}):c(null,null)},CA.prototype.validateToken=function(I,A,i){new LI({issuer:this.baseOptions.token_issuer,jwksURI:this.baseOptions.jwksURI,audience:this.baseOptions.clientID,leeway:this.baseOptions.leeway||60,maxAge:this.baseOptions.maxAge,__clock:this.baseOptions.__clock||MC}).verify(I,A,function(e,t){if(e)return i(II.invalidToken(e.message));i(null,t)})},CA.prototype.renewAuth=function(I,A){var i=!!I.usePostMessage,e=I.postMessageDataType||!1,t=I.postMessageOrigin||z.getWindow().origin,g=I.timeout,o=this,n=b.merge(this.baseOptions,["clientID","redirectUri","responseType","scope","audience","_csrf","state","_intstate","nonce"]).with(I);n.responseType=n.responseType||"token",n.responseMode=n.responseMode||"fragment",n=this.transactionManager.process(n),L.check(n,{type:"object",message:"options parameter is not valid"}),L.check(A,{type:"function",message:"cb parameter is not valid"}),n.prompt="none",n=b.blacklist(n,["usePostMessage","tenant","postMessageDataType","postMessageOrigin"]),di.create({authenticationUrl:this.client.buildAuthorizeUrl(n),postMessageDataType:e,postMessageOrigin:t,timeout:g}).login(i,function(C,Q){if(typeof Q=="object")return A(C,Q);o.parseHash({hash:Q},A)})},CA.prototype.checkSession=function(I,A){var i=b.merge(this.baseOptions,["clientID","responseType","redirectUri","scope","audience","_csrf","state","_intstate","nonce"]).with(I);return i.responseType==="code"?A({error:"error",error_description:"responseType can't be `code`"}):(I.nonce||(i=this.transactionManager.process(i)),i.redirectUri?(L.check(i,{type:"object",message:"options parameter is not valid"}),L.check(A,{type:"function",message:"cb parameter is not valid"}),i=b.blacklist(i,["usePostMessage","tenant","postMessageDataType"]),void this.webMessageHandler.run(i,nA(A,{forceLegacyError:!0,ignoreCasing:!0}))):A({error:"error",error_description:"redirectUri can't be empty"}))},CA.prototype.changePassword=function(I,A){return this.client.dbConnection.changePassword(I,A)},CA.prototype.passwordlessStart=function(I,A){var i=b.merge(this.baseOptions,["responseType","responseMode","redirectUri","scope","audience","_csrf","state","_intstate","nonce"]).with(I.authParams);return I.authParams=this.transactionManager.process(i),this.client.passwordless.start(I,A)},CA.prototype.signup=function(I,A){return this.client.dbConnection.signup(I,A)},CA.prototype.authorize=function(I){var A=b.merge(this.baseOptions,["clientID","responseType","responseMode","redirectUri","scope","audience","_csrf","state","_intstate","nonce","organization","invitation"]).with(I);L.check(A,{type:"object",message:"options parameter is not valid"},{responseType:{type:"string",message:"responseType option is required"}}),(A=this.transactionManager.process(A)).scope=A.scope||"openid profile email",z.redirect(this.client.buildAuthorizeUrl(A))},CA.prototype.signupAndAuthorize=function(I,A){var i=this;return this.client.dbConnection.signup(b.blacklist(I,["popupHandler"]),function(e){if(e)return A(e);I.realm=I.connection,I.username||(I.username=I.email),i.client.login(I,A)})},CA.prototype.login=function(I,A){var i=b.merge(this.baseOptions,["clientID","responseType","redirectUri","scope","audience","_csrf","state","_intstate","nonce","onRedirecting","organization","invitation"]).with(I);i=this.transactionManager.process(i),z.getWindow().location.host===this.baseOptions.domain?(i.connection=i.realm,delete i.realm,this._universalLogin.login(i,A)):this.crossOriginAuthentication.login(i,A)},CA.prototype.passwordlessLogin=function(I,A){var i=b.merge(this.baseOptions,["clientID","responseType","redirectUri","scope","audience","_csrf","state","_intstate","nonce","onRedirecting"]).with(I);if(i=this.transactionManager.process(i),z.getWindow().location.host===this.baseOptions.domain)this.passwordlessVerify(i,A);else{var e=b.extend({credentialType:"http://auth0.com/oauth/grant-type/passwordless/otp",realm:i.connection,username:i.email||i.phoneNumber,otp:i.verificationCode},b.blacklist(i,["connection","email","phoneNumber","verificationCode"]));this.crossOriginAuthentication.login(e,A)}},CA.prototype.crossOriginAuthenticationCallback=function(){this.crossOriginVerification()},CA.prototype.crossOriginVerification=function(){this.crossOriginAuthentication.callback()},CA.prototype.logout=function(I){z.redirect(this.client.buildLogoutUrl(I))},CA.prototype.passwordlessVerify=function(I,A){var i=this,e=b.merge(this.baseOptions,["clientID","responseType","responseMode","redirectUri","scope","audience","_csrf","state","_intstate","nonce","onRedirecting"]).with(I);return L.check(e,{type:"object",message:"options parameter is not valid"},{responseType:{type:"string",message:"responseType option is required"}}),e=this.transactionManager.process(e),this.client.passwordless.verify(e,function(t){if(t)return A(t);function g(){z.redirect(i.client.passwordless.buildVerifyUrl(e))}if(typeof I.onRedirecting=="function")return I.onRedirecting(function(){g()});g()})},CA.prototype.renderCaptcha=function(I,A,i){return Cn.render(this.client,I,A,i)},CA.prototype.renderPasswordlessCaptcha=function(I,A,i){return Cn.renderPasswordless(this.client,I,A,i)},Zi.prototype.buildVerifyUrl=function(I){var A,i;return L.check(I,{type:"object",message:"options parameter is not valid"},{connection:{type:"string",message:"connection option is required"},verificationCode:{type:"string",message:"verificationCode option is required"},phoneNumber:{optional:!1,type:"string",message:"phoneNumber option is required",condition:function(e){return!e.email}},email:{optional:!1,type:"string",message:"email option is required",condition:function(e){return!e.phoneNumber}}}),A=b.merge(this.baseOptions,["clientID","responseType","responseMode","redirectUri","scope","audience","_csrf","state","_intstate","protocol","nonce"]).with(I),this.baseOptions._sendTelemetry&&(A.auth0Client=this.request.getTelemetryData()),A=b.toSnakeCase(A,["auth0Client"]),i=DI.stringify(A),gA(this.baseOptions.rootUrl,"passwordless","verify_redirect","?"+i)},Zi.prototype.start=function(I,A){var i,e;L.check(I,{type:"object",message:"options parameter is not valid"},{connection:{type:"string",message:"connection option is required"},send:{type:"string",message:"send option is required",values:["link","code"],value_message:"send is not valid ([link, code])"},phoneNumber:{optional:!0,type:"string",message:"phoneNumber option is required",condition:function(o){return o.send==="code"||!o.email}},email:{optional:!0,type:"string",message:"email option is required",condition:function(o){return o.send==="link"||!o.phoneNumber}},authParams:{optional:!0,type:"object",message:"authParams option is required"}}),L.check(A,{type:"function",message:"cb parameter is not valid"}),i=gA(this.baseOptions.rootUrl,"passwordless","start");var t=I.xRequestLanguage;delete I.xRequestLanguage,(e=b.merge(this.baseOptions,["clientID","responseType","redirectUri","scope"]).with(I)).scope&&(e.authParams=e.authParams||{},e.authParams.scope=e.authParams.scope||e.scope),e.redirectUri&&(e.authParams=e.authParams||{},e.authParams.redirect_uri=e.authParams.redirectUri||e.redirectUri),e.responseType&&(e.authParams=e.authParams||{},e.authParams.response_type=e.authParams.responseType||e.responseType),delete e.redirectUri,delete e.responseType,delete e.scope,e=b.toSnakeCase(e,["auth0Client","authParams"]);var g=t?{xRequestLanguage:t}:void 0;return this.request.post(i,g).send(e).end(nA(A))},Zi.prototype.verify=function(I,A){var i,e;return L.check(I,{type:"object",message:"options parameter is not valid"},{connection:{type:"string",message:"connection option is required"},verificationCode:{type:"string",message:"verificationCode option is required"},phoneNumber:{optional:!1,type:"string",message:"phoneNumber option is required",condition:function(t){return!t.email}},email:{optional:!1,type:"string",message:"email option is required",condition:function(t){return!t.phoneNumber}}}),L.check(A,{type:"function",message:"cb parameter is not valid"}),e=b.pick(I,["connection","verificationCode","phoneNumber","email","auth0Client","clientID"]),e=b.toSnakeCase(e,["auth0Client"]),i=gA(this.baseOptions.rootUrl,"passwordless","verify"),this.request.post(i).send(e).end(nA(A))},Zi.prototype.getChallenge=function(I){if(L.check(I,{type:"function",message:"cb parameter is not valid"}),!this.baseOptions.state)return I();var A=gA(this.baseOptions.rootUrl,"passwordless","challenge");return this.request.post(A).send({state:this.baseOptions.state}).end(nA(I,{ignoreCasing:!0}))},Lt.prototype.signup=function(I,A){var i,e,t;return L.check(I,{type:"object",message:"options parameter is not valid"},{connection:{type:"string",message:"connection option is required"},email:{type:"string",message:"email option is required"},password:{type:"string",message:"password option is required"}}),L.check(A,{type:"function",message:"cb parameter is not valid"}),i=gA(this.baseOptions.rootUrl,"dbconnections","signup"),t=(e=b.merge(this.baseOptions,["clientID","state"]).with(I)).user_metadata||e.userMetadata,e=b.blacklist(e,["scope","userMetadata","user_metadata"]),e=b.toSnakeCase(e,["auth0Client"]),t&&(e.user_metadata=t),this.request.post(i).send(e).end(nA(A))},Lt.prototype.changePassword=function(I,A){var i,e;return L.check(I,{type:"object",message:"options parameter is not valid"},{connection:{type:"string",message:"connection option is required"},email:{type:"string",message:"email option is required"}}),L.check(A,{type:"function",message:"cb parameter is not valid"}),i=gA(this.baseOptions.rootUrl,"dbconnections","change_password"),e=b.merge(this.baseOptions,["clientID"]).with(I,["email","connection"]),e=b.toSnakeCase(e,["auth0Client"]),this.request.post(i).send(e).end(nA(A))},FA.prototype.buildAuthorizeUrl=function(I){var A,i;return L.check(I,{type:"object",message:"options parameter is not valid"}),A=b.merge(this.baseOptions,["clientID","responseType","responseMode","redirectUri","scope","audience"]).with(I),L.check(A,{type:"object",message:"options parameter is not valid"},{clientID:{type:"string",message:"clientID option is required"},redirectUri:{optional:!0,type:"string",message:"redirectUri option is required"},responseType:{type:"string",message:"responseType option is required"},nonce:{type:"string",message:"nonce option is required",condition:function(e){return e.responseType.indexOf("code")===-1&&e.responseType.indexOf("id_token")!==-1}},scope:{optional:!0,type:"string",message:"scope option is required"},audience:{optional:!0,type:"string",message:"audience option is required"}}),this.baseOptions._sendTelemetry&&(A.auth0Client=this.request.getTelemetryData()),A.connection_scope&&L.isArray(A.connection_scope)&&(A.connection_scope=A.connection_scope.join(",")),A=b.blacklist(A,["username","popupOptions","domain","tenant","timeout","appState"]),A=b.toSnakeCase(A,["auth0Client"]),A=vo.oauthAuthorizeParams(this.warn,A),i=DI.stringify(A),gA(this.baseOptions.rootUrl,"authorize","?"+i)},FA.prototype.buildLogoutUrl=function(I){var A,i;return L.check(I,{optional:!0,type:"object",message:"options parameter is not valid"}),A=b.merge(this.baseOptions,["clientID"]).with(I||{}),this.baseOptions._sendTelemetry&&(A.auth0Client=this.request.getTelemetryData()),A=b.toSnakeCase(A,["auth0Client","returnTo"]),i=DI.stringify(b.blacklist(A,["federated"])),I&&I.federated!==void 0&&I.federated!==!1&&I.federated!=="false"&&(i+="&federated"),gA(this.baseOptions.rootUrl,"v2","logout","?"+i)},FA.prototype.loginWithDefaultDirectory=function(I,A){return L.check(I,{type:"object",message:"options parameter is not valid"},{username:{type:"string",message:"username option is required"},password:{type:"string",message:"password option is required"},scope:{optional:!0,type:"string",message:"scope option is required"},audience:{optional:!0,type:"string",message:"audience option is required"}}),I.grantType="password",this.oauthToken(I,A)},FA.prototype.login=function(I,A){return L.check(I,{type:"object",message:"options parameter is not valid"},{username:{type:"string",message:"username option is required"},password:{type:"string",message:"password option is required"},realm:{type:"string",message:"realm option is required"},scope:{optional:!0,type:"string",message:"scope option is required"},audience:{optional:!0,type:"string",message:"audience option is required"}}),I.grantType="http://auth0.com/oauth/grant-type/password-realm",this.oauthToken(I,A)},FA.prototype.oauthToken=function(I,A){var i,e;return L.check(I,{type:"object",message:"options parameter is not valid"}),L.check(A,{type:"function",message:"cb parameter is not valid"}),i=gA(this.baseOptions.rootUrl,"oauth","token"),e=b.merge(this.baseOptions,["clientID","scope","audience"]).with(I),L.check(e,{type:"object",message:"options parameter is not valid"},{clientID:{type:"string",message:"clientID option is required"},grantType:{type:"string",message:"grantType option is required"},scope:{optional:!0,type:"string",message:"scope option is required"},audience:{optional:!0,type:"string",message:"audience option is required"}}),e=b.toSnakeCase(e,["auth0Client"]),e=vo.oauthTokenParams(this.warn,e),this.request.post(i).send(e).end(nA(A))},FA.prototype.loginWithResourceOwner=function(I,A){var i,e;return L.check(I,{type:"object",message:"options parameter is not valid"},{username:{type:"string",message:"username option is required"},password:{type:"string",message:"password option is required"},connection:{type:"string",message:"connection option is required"},scope:{optional:!0,type:"string",message:"scope option is required"}}),L.check(A,{type:"function",message:"cb parameter is not valid"}),i=gA(this.baseOptions.rootUrl,"oauth","ro"),e=b.merge(this.baseOptions,["clientID","scope"]).with(I,["username","password","scope","connection","device"]),(e=b.toSnakeCase(e,["auth0Client"])).grant_type=e.grant_type||"password",this.request.post(i).send(e).end(nA(A))},FA.prototype.getSSOData=function(I,A){if(this.auth0||(this.auth0=new CA(this.baseOptions)),z.getWindow().location.host===this.baseOptions.domain)return this.auth0._universalLogin.getSSOData(I,A);typeof I=="function"&&(A=I),L.check(A,{type:"function",message:"cb parameter is not valid"});var i=this.baseOptions.clientID,e=this.ssodataStorage.get()||{};this.auth0.checkSession({responseType:"token id_token",scope:"openid profile email",connection:e.lastUsedConnection,timeout:5e3},function(t,g){return t?t.error==="login_required"?A(null,{sso:!1}):(t.error==="consent_required"&&(t.error_description="Consent required. When using `getSSOData`, the user has to be authenticated with the following scope: `openid profile email`."),A(t,{sso:!1})):e.lastUsedSub&&e.lastUsedSub!==g.idTokenPayload.sub?A(t,{sso:!1}):A(null,{lastUsedConnection:{name:e.lastUsedConnection},lastUsedUserID:g.idTokenPayload.sub,lastUsedUsername:g.idTokenPayload.email||g.idTokenPayload.name,lastUsedClientID:i,sessionClients:[i],sso:!0})})},FA.prototype.userInfo=function(I,A){var i;return L.check(I,{type:"string",message:"accessToken parameter is not valid"}),L.check(A,{type:"function",message:"cb parameter is not valid"}),i=gA(this.baseOptions.rootUrl,"userinfo"),this.request.get(i).set("Authorization","Bearer "+I).end(nA(A,{ignoreCasing:!0}))},FA.prototype.getChallenge=function(I){if(L.check(I,{type:"function",message:"cb parameter is not valid"}),!this.baseOptions.state)return I();var A=gA(this.baseOptions.rootUrl,"usernamepassword","challenge");return this.request.post(A).send({state:this.baseOptions.state}).end(nA(I,{ignoreCasing:!0}))},FA.prototype.delegation=function(I,A){var i,e;return L.check(I,{type:"object",message:"options parameter is not valid"},{grant_type:{type:"string",message:"grant_type option is required"}}),L.check(A,{type:"function",message:"cb parameter is not valid"}),i=gA(this.baseOptions.rootUrl,"delegation"),e=b.merge(this.baseOptions,["clientID"]).with(I),e=b.toSnakeCase(e,["auth0Client"]),this.request.post(i).send(e).end(nA(A))},FA.prototype.getUserCountry=function(I){var A;return L.check(I,{type:"function",message:"cb parameter is not valid"}),A=gA(this.baseOptions.rootUrl,"user","geoloc","country"),this.request.get(A).end(nA(I))},wi.prototype.getUser=function(I,A){var i;return L.check(I,{type:"string",message:"userId parameter is not valid"}),L.check(A,{type:"function",message:"cb parameter is not valid"}),i=gA(this.baseOptions.rootUrl,"users",I),this.request.get(i).end(nA(A,{ignoreCasing:!0}))},wi.prototype.patchUserMetadata=function(I,A,i){var e;return L.check(I,{type:"string",message:"userId parameter is not valid"}),L.check(A,{type:"object",message:"userMetadata parameter is not valid"}),L.check(i,{type:"function",message:"cb parameter is not valid"}),e=gA(this.baseOptions.rootUrl,"users",I),this.request.patch(e).send({user_metadata:A}).end(nA(i,{ignoreCasing:!0}))},wi.prototype.patchUserAttributes=function(I,A,i){var e;return L.check(I,{type:"string",message:"userId parameter is not valid"}),L.check(A,{type:"object",message:"user parameter is not valid"}),L.check(i,{type:"function",message:"cb parameter is not valid"}),e=gA(this.baseOptions.rootUrl,"users",I),this.request.patch(e).send(A).end(nA(i,{ignoreCasing:!0}))},wi.prototype.linkUser=function(I,A,i){var e;return L.check(I,{type:"string",message:"userId parameter is not valid"}),L.check(A,{type:"string",message:"secondaryUserToken parameter is not valid"}),L.check(i,{type:"function",message:"cb parameter is not valid"}),e=gA(this.baseOptions.rootUrl,"users",I,"identities"),this.request.post(e).send({link_with:A}).end(nA(i,{ignoreCasing:!0}))};var Ot=class{constructor(A,i,e=window.location.hostname){this.clientID=A.clientID,this.auth0domain=A.domain,this.accessToken=A.accessToken,this.appName=i,this.appHostname=e}async createNode(A,i,e){let t=new FA({clientID:this.clientID,domain:this.auth0domain}),g=await new Promise((Q,s)=>{t.userInfo(this.accessToken,(c,E)=>{c?s(c):Q(E)})}),o=new wi({token:this.accessToken,domain:this.auth0domain}),C=(await new Promise((Q,s)=>{o.getUser(g.sub,(c,E)=>{c?s(c):Q(E.user_metadata)})}))?.jazz_credential;if(C){let Q=JSON.parse(C);return zA.withLoadedAccount({accountID:Q.accountID,accountSecret:Q.accountSecret,sessionID:await A(Q.accountID),peersToLoadFrom:i,migration:e})}else{let Q=g.nickname||g.name||g.email||g.sub,{node:s,accountID:c,accountSecret:E}=await zA.withNewlyCreatedAccount({name:Q,migration:e,peersToLoadFrom:i});return await new Promise((D,d)=>o.patchUserMetadata(g.sub,{jazz_credential:JSON.stringify({accountID:c,accountSecret:E})},u=>{u?d(u):D()})),s}}};var YC=I=>typeof I=="function",KC=I=>typeof I=="object"&&I!==null&&!Array.isArray(I),RC=I=>KC(I)&&YC(I.then),xC=I=>I;var pI;(function(I){I.PENDING="PENDING",I.RESOLVED="RESOLVED",I.REJECTED="REJECTED"})(pI||(pI={}));var wA=class{constructor(A){this.state=pI.PENDING,this.handlers=[],this.resolve=i=>this.setResult(i,pI.RESOLVED),this.reject=i=>this.setResult(i,pI.REJECTED),this.setResult=(i,e)=>{(()=>this.state!==pI.PENDING?null:RC(i)?i.then(this.resolve,this.reject):(this.value=i,this.state=e,this.executeHandlers()))()},this.executeHandlers=()=>{if(this.state===pI.PENDING)return null;this.handlers.forEach(i=>this.state===pI.REJECTED?i.onFail(this.value):i.onSuccess(this.value)),this.handlers=[]},this.attachHandler=i=>{this.handlers=[...this.handlers,i],this.executeHandlers()};try{A(this.resolve,this.reject)}catch(i){this.reject(i)}}then(A,i){return new wA((e,t)=>this.attachHandler({onSuccess:g=>{try{return e(A(g))}catch(o){return t(o)}},onFail:g=>{if(!i)return t(g);try{return e(i(g))}catch(o){return t(o)}}}))}catch(A){return this.then(xC,A)}toString(){return"[object SyncPromise]"}finally(A){return new wA((i,e)=>{let t,g;return this.then(o=>(g=!1,t=o,A()),o=>(g=!0,t=o,A())).then(()=>g?e(t):i(t))})}spread(A){return this.then(i=>Array.isArray(i)?A(...i):A(i))}static resolve(A){return new wA(i=>i(A))}static reject(A){return new wA((i,e)=>e(A))}static all(A){return new wA((i,e)=>{if(!Array.isArray(A))return e(new TypeError("An array must be provided."));if(A.length===0)return i([]);let t=A.length,g=[],o=(n,C)=>(t-=1,g[C]=n,t!==0?null:i(g));return A.forEach((n,C)=>wA.resolve(n).then(Q=>o(Q,C)).catch(e))})}};var ui=class{constructor(A,i,e){this.currentTxID=0,this.db=A,this.fromLocalNode=i.getReader(),this.toLocalNode=e.getWriter(),(async()=>{let t=!1;for(;!t;){let g=await this.fromLocalNode.read();t=g.done,g.value&&await this.handleSyncMessage(g.value)}})()}static async asPeer({trace:A,localNodeName:i="local"}={localNodeName:"local"}){let[e,t]=yA.connectedPeers(i,"storage",{peer1role:"client",peer2role:"server",trace:A});return await ui.open(e.incoming,e.outgoing),{...t,priority:100}}static async open(A,i){let e=new Promise((t,g)=>{let o=indexedDB.open("jazz-storage",4);o.onerror=()=>{g(o.error)},o.onsuccess=()=>{t(o.result)},o.onupgradeneeded=async n=>{let C=o.result;if(n.oldVersion===0){C.createObjectStore("coValues",{autoIncrement:!0,keyPath:"rowID"}).createIndex("coValuesById","id",{unique:!0});let s=C.createObjectStore("sessions",{autoIncrement:!0,keyPath:"rowID"});s.createIndex("sessionsByCoValue","coValue"),s.createIndex("uniqueSessions",["coValue","sessionID"],{unique:!0}),C.createObjectStore("transactions",{keyPath:["ses","idx"]})}n.oldVersion<=1&&C.createObjectStore("signatureAfter",{keyPath:["ses","idx"]})}});return new ui(await e,A,i)}async handleSyncMessage(A){switch(A.action){case"load":await this.handleLoad(A);break;case"content":await this.handleContent(A);break;case"known":await this.handleKnown(A);break;case"done":await this.handleDone(A);break}}makeRequest(A){return new wA((i,e)=>{let t=this.currentTx,g=({stores:o})=>{let n=A(o);n.onerror=()=>{console.error("Error in request",n.error),this.currentTx=void 0,e(n.error)},n.onsuccess=()=>{let C=n.result;i(C);let Q=t.pendingRequests.shift();Q?Q({stores:o}):this.currentTx===t&&(this.currentTx=void 0)}};if(!t||performance.now()-t.startedAt>20){let o=this.db.transaction(["coValues","sessions","transactions","signatureAfter"],"readwrite");t={id:this.currentTxID++,tx:o,stores:{coValues:o.objectStore("coValues"),sessions:o.objectStore("sessions"),transactions:o.objectStore("transactions"),signatureAfter:o.objectStore("signatureAfter")},startedAt:performance.now(),pendingRequests:[]},this.currentTx=t,g(t)}else t.pendingRequests.push(g)})}sendNewContentAfter(A,i){return this.makeRequest(({coValues:e})=>e.index("coValuesById").get(A.id)).then(e=>(e?this.makeRequest(({sessions:t})=>t.index("sessionsByCoValue").getAll(e.rowID)):wA.resolve([])).then(t=>{let g={id:A.id,header:!!e,sessions:{}},o=[{action:"content",id:A.id,header:A.header?void 0:e?.header,new:{}}];return wA.all(t.map(n=>{if(g.sessions[n.sessionID]=n.lastIdx,n.lastIdx>(A.sessions[n.sessionID]||0)){let C=A.sessions[n.sessionID]||0;return this.makeRequest(({signatureAfter:Q})=>Q.getAll(IDBKeyRange.bound([n.rowID,C],[n.rowID,1/0]))).then(Q=>this.makeRequest(({transactions:s})=>s.getAll(IDBKeyRange.bound([n.rowID,C],[n.rowID,1/0]))).then(s=>{bC(s,o,n,Q,A,C)}))}else return wA.resolve()})).then(()=>{let n=vC(e,o,A);return wA.all(n.map(C=>this.sendNewContentAfter({id:C,header:!1,sessions:{}},i||A.id))).then(()=>(setTimeout(async()=>{await this.toLocalNode.write({action:"known",...g,asDependencyOf:i});let C=o.filter(Q=>Q.header||Object.keys(Q.new).length>0);for(let Q of C)await this.toLocalNode.write(Q),await new Promise(s=>setTimeout(s,0))},0),Promise.resolve()))})})).then(()=>{})}handleLoad(A){return this.sendNewContentAfter(A)}handleContent(A){return this.makeRequest(({coValues:i})=>i.index("coValuesById").get(A.id)).then(i=>{if(i?.rowID===void 0){let e=A.header;if(!e)throw console.error("Expected to be sent header first"),this.toLocalNode.write({action:"known",id:A.id,header:!1,sessions:{},isCorrection:!0}),new Error("Expected to be sent header first");return this.makeRequest(({coValues:t})=>t.put({id:A.id,header:e}))}else return wA.resolve(i.rowID)}).then(i=>{this.makeRequest(({sessions:e})=>e.index("sessionsByCoValue").getAll(i)).then(e=>{let t=Object.fromEntries(e.map(n=>[n.sessionID,n])),g={id:A.id,header:!0,sessions:{}},o=!1;return Promise.all(Object.keys(A.new).map(n=>{let C=t[n];if(C&&(g.sessions[C.sessionID]=C.lastIdx),(C?.lastIdx||0)<(A.new[n]?.after||0))o=!0;else return this.putNewTxs(A,n,C,i)})).then(()=>{o&&this.toLocalNode.write({action:"known",...g,isCorrection:o})})})})}putNewTxs(A,i,e,t){let g=A.new[i]?.newTransactions||[],o=(e?.lastIdx||0)-(A.new[i]?.after||0),n=g.slice(o),C=(e?.bytesSinceLastSignature||0)+n.reduce((D,d)=>D+(d.privacy==="private"?d.encryptedChanges.length:d.changes.length),0),Q=(e?.lastIdx||0)+n.length,s=!1;C>ei&&(s=!0,C=0);let c=e?.lastIdx||0,E={coValue:t,sessionID:i,lastIdx:Q,lastSignature:A.new[i].lastSignature,bytesSinceLastSignature:C};return this.makeRequest(({sessions:D})=>D.put(e?.rowID?{rowID:e.rowID,...E}:E)).then(D=>{let d;return s?d=this.makeRequest(({signatureAfter:u})=>u.put({ses:D,idx:Q-1,signature:A.new[i].lastSignature})):d=wA.resolve(),d.then(()=>Promise.all(n.map((u,G)=>this.makeRequest(({transactions:F})=>F.add({ses:D,idx:c+G,tx:u})))))})}handleKnown(A){return this.sendNewContentAfter(A)}handleDone(A){}};function bC(I,A,i,e,t,g){let o=g;for(let n of I){let C=A[A.length-1].new[i.sessionID];C||(C={after:o,lastSignature:"WILL_BE_REPLACED",newTransactions:[]},A[A.length-1].new[i.sessionID]=C),C.newTransactions.push(n.tx),e[0]&&o===e[0].idx?(C.lastSignature=e[0].signature,e.shift(),A.push({action:"content",id:t.id,new:{}})):o===g+I.length-1&&(C.lastSignature=i.lastSignature),o+=1}}function vC(I,A,i){return I?.header.ruleset.type==="group"?A.flatMap(e=>Object.values(e.new)).flatMap(e=>e.newTransactions.flatMap(t=>t.privacy!=="trusting"?[]:yA.parseJSON(t.changes).map(g=>g&&typeof g=="object"&&"op"in g&&g.op==="set"&&"key"in g&&g.key).filter(g=>typeof g=="string"&&g.startsWith("co_")))):I?.header.ruleset.type==="ownedByGroup"?[I?.header.ruleset.group,...new Set(A.flatMap(e=>Object.keys(e).map(t=>yA.accountOrAgentIDfromSessionID(t)).filter(t=>yA.isAccountID(t)&&t!==i.id)))]:[]}var Ue=class{constructor(A,i){this.coValueType="costream",this.id=A.id,this.meta={coValue:A,headerMeta:A.headerMeta,group:A.group},this.perSession=A.sessions().map(e=>{let t=[...A.itemsIn(e)].map(o=>i.defineResolvedRefPropertiesIn({tx:o.tx,at:new Date(o.at)},{by:{value:yA.isAccountID(o.by)?o.by:void 0,enumerable:!0},value:{value:o.value,enumerable:!0}},[A.id])),g=t[t.length-1];return[e,{get last(){return g?.value},get by(){return g?.by},tx:g?.tx,at:g?.at,all:t}]}),this.perAccount=[...A.accounts()].map(e=>{let t=[...A.itemsBy(e)].map(n=>i.defineResolvedRefPropertiesIn({tx:n.tx,at:new Date(n.at)},{by:{value:yA.isAccountID(n.by)?n.by:void 0,enumerable:!0},value:{value:n.value,enumerable:!0}},[A.id])),g=t[t.length-1],o={get last(){return g?.value},get by(){return g?.by},tx:g?.tx,at:g?.at,all:t};return e===i.node.account.id&&(this.me=o),[e,o]})}push(A,i){return this.meta.coValue.push(A,i)}mutate(A){return this.meta.coValue.mutate(A)}};var Je=class extends Array{constructor(A,i){if(!(A instanceof QA))return new Array(A);super();A.asArray().forEach((e,t)=>{Object.defineProperty(this,t,{get:()=>i.subscribeIfCoID(e,[A.id],"idx_"+t),enumerable:!0,configurable:!0})}),Object.defineProperties(this,{id:{value:A.id,enumerable:!1},coValueType:{value:"colist",enumerable:!1},meta:{value:{coValue:A,edits:[...this.keys()].map(e=>{let t=A.editAt(e);return i.defineResolvedRefPropertiesIn({tx:t.tx,at:new Date(t.at)},{by:{value:t.by,enumerable:!0},value:{value:t.value,enumerable:!0}},[A.id])}),deletions:A.deletionEdits().map(e=>i.defineResolvedRefPropertiesIn({tx:e.tx,at:new Date(e.at)},{by:{value:e.by,enumerable:!0}},[A.id])),headerMeta:A.headerMeta,group:A.group},enumerable:!1},mapDeferred:{value:e=>A.asArray().map((t,g)=>e({loaded:typeof t=="string"&&!!i.values[t]?.lastLoaded,id:t,value:()=>i.subscribeIfCoID(t,[A.id],"deferredIdx_"+g)},g)),enumerable:!1}})}append(A,i,e){return this.meta.coValue.append(A,i,e)}prepend(A,i,e){return this.meta.coValue.prepend(A,i,e)}delete(A,i){return this.meta.coValue.delete(A,i)}mutate(A){return this.meta.coValue.mutate(A)}static isArray(A){return Array.isArray(A)}static from(A,i,e){throw new Error("Array method 'from' not supported on ResolvedCoList")}static of(...A){throw new Error("Array method 'of' not supported on ResolvedCoList")}pop(){throw new Error("Array method 'pop' not supported on ResolvedCoList")}push(...A){throw new Error("Array method 'push' not supported on ResolvedCoList")}concat(...A){throw new Error("Array method 'concat' not supported on ResolvedCoList")}reverse(){throw new Error("Array method 'reverse' not supported on ResolvedCoList")}shift(){throw new Error("Array method 'shift' not supported on ResolvedCoList")}sort(A){throw new Error("Array method 'sort' not supported on ResolvedCoList")}splice(A,i){throw new Error("Array method 'splice' not supported on ResolvedCoList")}unshift(...A){throw new Error("Array method 'unshift' not supported on ResolvedCoList")}fill(A,i,e){throw new Error("Array method 'fill' not supported on ResolvedCoList")}copyWithin(A,i,e){throw new Error("Array method 'copyWithin' not supported on ResolvedCoList")}};var Di=class{static newWithKVPairs(A,i){let e=new Di(A,i);for(let t of A.keys()){let g=A.get(t);g!==void 0&&i.defineResolvedRefPropertiesIn(e,{[t]:{value:g,enumerable:!0}},[A.id])}return e}constructor(A,i){Object.defineProperties(this,{id:{value:A.id,enumerable:!1},coValueType:{value:"comap",enumerable:!1},meta:{value:{coValue:A,edits:Object.fromEntries(A.keys().flatMap(e=>{let t=[...A.editsAt(e)].map(n=>i.defineResolvedRefPropertiesIn({tx:n.tx,at:new Date(n.at)},{by:{value:n.by,enumerable:!0},value:{value:n.value,enumerable:!0}},[A.id])),g=t[t.length-1];if(!g)return[];let o={get by(){return g.by},tx:g.tx,at:g.at,get value(){return g.value},all:t};return[[e,o]]})),headerMeta:A.headerMeta,group:A.group},enumerable:!1},as:{value:e=>i.getOrCreateExtension(A.id,e),enumerable:!1}})}get(A){return this[A]}set(...A){return this.meta.coValue.set(...A)}delete(A,i){return this.meta.coValue.delete(A,i)}mutate(A){return this.meta.coValue.mutate(A)}};var pi=class{constructor(A,i){this.coValueType="group";let e=A.get("profile"),t=A.get("root");i.defineResolvedRefPropertiesIn(Object.defineProperties(this,{id:{value:A.id,enumerable:!1},coValueType:{value:"group",enumerable:!1},meta:{value:{coValue:A,group:A,headerMeta:A.headerMeta},enumerable:!1}}),{profile:{value:e,enumerable:!1},root:{value:t,enumerable:!1}},[A.id])}addMember(A,i){return this.meta.group.addMember(A,i)}removeMember(A){return this.meta.group.removeMember(A)}createInvite(A){return this.meta.group.createInvite(A)}createMap(A,i,e="private"){return this.meta.group.createMap(A,i,e)}createList(A,i,e="private"){return this.meta.group.createList(A,i,e)}createStream(A){return this.meta.group.createStream(A)}createBinaryStream(A={type:"binary"}){return this.meta.group.createBinaryStream(A)}};var qe=class extends pi{constructor(A,i){super(A,i);Object.defineProperties(this,{isMe:{value:A.core.node.account.id===A.id,enumerable:!1}})}createGroup(){if(!this.isMe)throw new Error("Only the current user can create a group");return this.meta.group.core.node.account.createGroup()}acceptInvite(A,i){if(!this.isMe)throw new Error("Only the current user can accept an invite");return this.meta.group.core.node.account.acceptInvite(A,i)}};var Bn=class{constructor(A,i){this.values={},this.extensions={},this.node=A,this.onUpdate=i}autoSub(A,i,e){let t=this.values[A];return t||(t={lastLoaded:void 0,lastUpdate:void 0,render:()=>{let o,n=t.lastUpdate;n instanceof hA?n instanceof MA?o=new qe(n,this):n instanceof TA?o=new pi(n,this):o=Di.newWithKVPairs(n,this):n instanceof QA?o=new Je(n,this):n instanceof bA&&(n.headerMeta?.type==="binary"||(o=new Ue(n,this))),t.lastLoaded=o;for(let C of i)this.values[C]?.render()},unsubscribe:this.node.subscribe(A,o=>{o!=="unavailable"&&(t.lastUpdate=o,t.render(),this.onUpdate())})},this.values[A]=t),t.lastLoaded}subscribeIfCoID(A,i,e){return typeof A=="string"&&A.startsWith("co_")?this.autoSub(A,i,e):A}valueOrResolvedRefPropertyDescriptor(A,i,e){return typeof A=="string"&&A.startsWith("co_")?{get:()=>this.autoSub(A,i,e)}:{value:A}}defineResolvedRefPropertiesIn(A,i,e){for(let[t,g]of Object.entries(i))Object.defineProperty(A,t,{...this.valueOrResolvedRefPropertyDescriptor(g.value,e,t),enumerable:g.enumerable});return A}getOrCreateExtension(A,i){let e=`${A}_${i.id}`,t=this.extensions[e];return t||(t={lastOutput:void 0,unsubscribe:i.subscribe(this.node.expectCoValueLoaded(A).getCurrentContent(),this,g=>{t.lastOutput=g,this.values[A]?.render(),this.onUpdate()})},this.extensions[e]=t),t.lastOutput}cleanup(){for(let A of Object.values(this.values))A.unsubscribe?.();for(let A of Object.values(this.extensions))A.unsubscribe()}};function Xt(I,A,i){let e=I==="me"?yA.isAccountID(A.account.id)?A.account.id:void 0:I;if(!e)return()=>{};let t=new Bn(A,()=>{let o=t.values[e]?.lastLoaded;i(o)});t.autoSub(e,[],"");function g(){t.cleanup()}return g}function sI(I,A,i){return new Promise(e=>{let t=Xt(I,i,g=>{if(!g)return;let o=A(g);o&&(t(),e(o))})})}async function Qn({auth:I,syncAddress:A="wss://sync.jazz.tools",reconnectionTimeout:i=500,migration:e}){await We;let t,g=an(A),o=!0,n=i;function C(){console.log("Online, resetting reconnection timeout"),n=i}window.addEventListener("online",C);let Q=await I.createNode(c=>{let E=LC(c);return t=E.done,E.session},[await ui.asPeer(),g],e);async function s(){for(;o;)Object.keys(Q.syncManager.peers).some(c=>c.includes(A))?await new Promise(c=>setTimeout(c,100)):(console.log("Websocket disconnected, trying to reconnect in "+n+"ms"),n=Math.min(n*2,3e4),await new Promise(c=>{setTimeout(c,n),window.addEventListener("online",()=>{console.log("Online, trying to reconnect immediately"),c()},{once:!0})}),Q.syncManager.addPeer(an(A)))}return s(),{node:Q,done:()=>{o=!1,window.removeEventListener("online",C),console.log("Cleaning up node");for(let c of Object.values(Q.syncManager.peers))c.outgoing.close().catch(E=>console.error("Error while closing peer",E));t?.()}}}function LC(I){let A,i=new Promise(g=>{A=g}),e,t=new Promise(g=>{e=g});return async function(){for(let g=0;g<100;g++)for(let o=0;o<2;o++)if(console.debug("Trying to get lock",I+"_"+g),await navigator.locks.request(I+"_"+g,{ifAvailable:!0},async C=>{if(!C)return"noLock";let Q=localStorage[I+"_"+g]||yA.newRandomSessionID(I);return localStorage[I+"_"+g]=Q,console.debug("Got lock",I+"_"+g,Q),e(Q),await i,console.log("Done with lock",I+"_"+g,Q),"sessionFinished"})==="sessionFinished")return;throw new Error("Couldn't get lock on session after 100x2 tries")}(),{session:t,done:A}}function OC(I){return I.binaryType="arraybuffer",new ti({start(A){let i;I.onmessage=t=>{let g=JSON.parse(t.data);if(i&&clearTimeout(i),i=setTimeout(()=>{console.debug("Ping timeout");try{A.close(),I.close()}catch(o){console.error("Error while trying to close ws on ping timeout",o)}},2500),g.type==="ping"){window.jazzPings=window.jazzPings||[],window.jazzPings.push({received:Date.now(),sent:g.time,dc:g.dc});return}A.enqueue(g)};let e=()=>{A.close(),clearTimeout(i)};I.addEventListener("close",e),I.addEventListener("error",()=>{A.error(new Error("The WebSocket errored!")),I.removeEventListener("close",e)})},cancel(){I.close()}})}function an(I){let A=new WebSocket(I),i=OC(A),e=XC(A);return{id:I+"@"+new Date().toISOString(),incoming:i,outgoing:e,role:"server"}}function XC(I){let A=[],i=!1;return new se({start(t){I.addEventListener("error",g=>{t.error(new Error("The WebSocket errored!"+JSON.stringify(g)))}),I.addEventListener("close",()=>{t.error(new Error("The server closed the connection unexpectedly!"))}),I.addEventListener("open",()=>{for(let g of A)I.send(JSON.stringify(g));i=!0})},async write(t){i?I.send(JSON.stringify(t)):A.push(t)},close(){return e(1e3)},abort(t){return e(4e3,t&&t.message)}});function e(t,g){return new Promise((o,n)=>{I.addEventListener("close",C=>{C.wasClean?o():n(new Error("The connection was not closed cleanly"))},{once:!0}),I.close(t,g)})}}function Pt(I){let i=new URL(I).hash.split("/"),e,t,g;if(i[0]==="#"&&i[1]==="invite")return i.length===5?(e=i[2],t=i[3],g=i[4]):i.length===4&&(t=i[2],g=i[3]),!t||!g?void 0:{valueID:t,inviteSecret:g,valueHint:e}}async function sn(I,A,i={type:"binary"},e){let t=A.createBinaryStream(i),g=Date.now(),o=new FileReader,n=new Promise(C=>{o.onload=async()=>{let Q=new Uint8Array(o.result);t.startBinaryStream({mimeType:I.type,totalSizeBytes:I.size,fileName:I instanceof File?I.name:void 0});let s=ei,c=Date.now();for(let D=0;D100&&(e?.(D/Q.length),c=Date.now()),await new Promise(d=>setTimeout(d,0));t=t.endBinaryStream();let E=Date.now();console.debug("Finished creating binary stream in",(E-g)/1e3,"s - Throughput in MB/s",1e3*(I.size/(E-g))/(1024*1024)),e?.(1),C()}});return setTimeout(()=>{o.readAsArrayBuffer(I)}),await n,t}async function cn(I,A,i,e){let t=await A.load(I,e);if(t==="unavailable")return;let g=t.getBinaryChunks(i);if(!!g)return new Blob(g.chunks,{type:g.mimeType})}var jt={};Dn(jt,{basename:()=>iI,blobToString:()=>VC,blobToUint8Array:()=>hn,cleanPath:()=>Vi,dirname:()=>PI,fetchFile:()=>Zt,isPromise:()=>PC,makeDirNode:()=>zi,makeFile:()=>Vt,makeFileNode:()=>fn,mkdir:()=>jC,mkdirAll:()=>_C,nodeAdd:()=>ji,nodeDir:()=>Wt,nodeFileGet:()=>dn,nodeFilePut:()=>wn,nodeReload:()=>WC,nodeRemove:()=>zt,nodeTouch:()=>Tt,readFile:()=>IB,readdir:()=>zC,remove:()=>$C,rename:()=>AB,stat:()=>TC,unixTime:()=>Wi,waitOn:()=>Ti,walk:()=>YA,writeFile:()=>iB});function PC(I){return I instanceof Promise}function Vi(I){return I.replace(/^.\//,"")}function PI(I){I=Vi(I);let A=I.replace(/\\/g,"/").replace(/\/[^\/]*$/,"");return A===iI(I)?"/":A}function iI(I){return I=Vi(I),I.replace(/\\/g,"/").split("/").pop()}function Wi(){return Math.floor(Date.now()/1e3)}function ZC(I){return new Promise(A=>setTimeout(A,I))}function En(I){return typeof I=="string"&&(I=new TextEncoder("utf-8").encode(I)),new Uint8Array(I)}function hn(I){return new Promise((A,i)=>{let e=new FileReader;e.onloadend=function(){A(new Uint8Array(e.result))},e.onerror=function(){i(new Error("Failed to read blob"))},e.readAsArrayBuffer(I)})}function VC(I){return new Promise((A,i)=>{let e=new FileReader;e.onloadend=function(){A(e.result)},e.onerror=function(){i(new Error("Failed to read blob"))},e.readAsText(I)})}async function Ti(I){let A=I(),i=0;for(;!A;)if(await ZC(50),A=I(),i++,i>25)throw new Error("value not resolving");return A}async function Zt(I){let A=await cn(I,window.node);return await hn(A)}async function Vt(I,A){A||(A=window.space.meta.group);let i=new Blob([I],{type:"text/plain"});return await sn(i,A)}async function zi(I,A){A||(A=window.space.meta.group);let i=A.createMap(),e=A.createMap({name:I,isDir:!0,size:0,mtime:Wi(),entries:i});return await sI(e.id,t=>t,window.node)}async function fn(I,A,i){i||(i=window.space.meta.group),A=En(A);let e=await Vt(A,i);return i.createMap({name:I,isDir:!1,size:A.byteLength,mtime:Wi(),fileID:e.id})}async function WC(I){return await sI(I.id,A=>A,window.node)}async function Wt(I){let A=await Ti(()=>I.entries);return Object.keys(A)}async function dn(I){return I.meta?await Zt(I.meta.coValue.get("fileID")):await Zt(I.get("fileID"))}async function wn(I,A){A=En(A);let i=await Vt(A);I.mutate(e=>{e.set("size",A.byteLength),e.set("mtime",Wi()),e.set("fileID",i.id)})}async function ji(I,A){(await Ti(()=>I.entries)).mutate(e=>{e.set(A.get("name"),A.id)}),await Tt(I)}async function Tt(I){I.mutate(A=>{A.set("mtime",Wi())})}async function zt(I,A){(await Ti(()=>I.entries)).mutate(e=>{e.delete(A)}),await Tt(I)}async function YA(I){I=Vi(I);let A=await window.jazz.root();if(I==="."||I===""||I==="/")return A;let i=I.replace(/^\//,"").split("/");for(let e of i){if(!e)continue;if(!A.isDir)break;if(!(await Wt(A)).includes(e))return null;if(A=await Ti(()=>A.entries[e]),A===void 0)return}return A}async function TC(I){let A=await YA(I);return A?A.meta.coValue.toJSON():null}async function zC(I){return await Wt(await YA(I))}async function jC(I){let A=await YA(PI(I));if(!A){console.log("mkdir: no parent dir",PI(I));return}let i=await zi(iI(I));await ji(A,i)}async function _C(I){let A=Vi(I).split("/"),i="",e=[];for(let g of A)i+=`/${g}`,e.push(i);let t=await window.jazz.root();for(let g of e){let o=await YA(g.slice(1));if(o){t=o;continue}let n=await zi(iI(g));await ji(t,n),t=n}}async function $C(I){let A=await YA(PI(I));if(!A)return null;await zt(A,iI(I))}async function AB(I,A){let i=await YA(I);if(!i)return null;iI(I)!==iI(A)&&i.mutate(g=>{g.set("name",iI(A))});let e=await YA(PI(I));if(!e)return null;let t=await YA(PI(A));if(!t)return null;await ji(t,i),await zt(e,iI(I))}async function IB(I){let A=await YA(I);return A?await dn(A):null}async function iB(I,A){let i=await YA(I);if(!i){let e=await YA(PI(I));if(!e)return null;let t=await fn(iI(I),A);return await ji(e,t),!0}return await wn(i,A),!0}function eB(I,A){let e="coValueType"in I?I.meta.coValue.core:I.core;for(;e.header.ruleset.type==="ownedByGroup";)e=e.getGroup().core;if(e.header.ruleset.type!=="group")throw new Error("Can't create invite link for object without group");let t=yA.expectGroup(e.getCurrentContent());return`#/invite/${I.id}/${t.createInvite(A)}`}async function tB(I,A){let i=async()=>{let e=Pt(parent.location.href);if(e){try{await I.acceptInvite(e.valueID,e.inviteSecret)}catch{console.warn("invite not accepted");return}parent.location.hash=e.valueID}if(!(parent.location.hash.slice(1)||void 0)){let g=I.createGroup(),o=g.createMap();A&&await A(o,g),parent.location.hash=o.id}};return parent.addEventListener("hashchange",i),await i(),await sI(parent.location.hash.slice(1),e=>e,I)}async function gB(I,A){let i=async o=>{if(o){await globalThis.sys.call("host.setHash",[o]);return}return(await globalThis.sys.call("host.hash",[])).value},e=location.origin+"/#"+await i(),t=Pt(e);if(t){try{await I.acceptInvite(t.valueID,t.inviteSecret)}catch{console.warn("invite not accepted");return}await i(t.valueID)}if(!(await i()||void 0)){let o=I.createGroup(),n=o.createMap();A&&await A(n,o),await i(n.id)}return await sI(await i(),o=>o,I)}async function oB(I,A,i,e,t){let{node:g,done:o}=await Qn({auth:new Ot({domain:A,clientID:i,accessToken:e},A,I),migration:t});return g}async function rc(I){let A=tB,i=async E=>localStorage.getItem(E);if(I.hostURL&&(A=gB,i=async E=>(await I.sys.call("host.getItem",[E])).value),!await i("jazz:enabled"))return console.warn("jazz not enabled"),null;let t=await i("auth:settings");if(!t)return console.warn("auth settings not found"),null;let g=await i("auth:login");if(!g)return console.warn("auth login not found"),null;let o=JSON.parse(t),n=JSON.parse(g),C=await oB("wanix:"+location.origin.split("//")[1],o.domain,o.clientId,n.access_token,E=>{});globalThis.node=C;let Q=await A(C,async(E,D)=>{let d=await zi("/",D);E.mutate(u=>{u.set("fs",d.id)})});globalThis.space=Q;let s=await sI("me",E=>E.profile?.name,C),c=location.origin+"/"+eB(Q,"admin");I.jazz={node:C,space:Q,username:s,inviteURL:c,fsutil:jt,root:async()=>await sI(Q.id,E=>E?.fs,C)}}export{Xt as autoSub,sI as autoSubResolution,eB as createInviteLinkHash,rc as initJazz,oB as initNode,tB as setupFrameSpace,gB as setupWorkerSpace}; + placeholder="`+A+'" />'},recaptcha_v2:function(){return'
'},recaptcha_enterprise:function(){return'
'},hcaptcha:function(){return'
'},friendly_captcha:function(){return'
'},arkose:function(){return'
'},auth0_v2:function(){return'
'},error:function(){return'
Error getting the bot detection challenge. Please contact the system administrator.
'}}};function nn(I,A,i,e){I.innerHTML=A.templates[i.provider](i),I.querySelector(".captcha-reload").addEventListener("click",function(t){t.preventDefault(),e()})}function XI(I){switch(I){case"recaptcha_v2":return window.grecaptcha;case"recaptcha_enterprise":return window.grecaptcha.enterprise;case"hcaptcha":return window.hcaptcha;case"friendly_captcha":return window.friendlyChallenge;case"arkose":return window.arkose;case"auth0_v2":return window.turnstile;default:throw new Error("Unknown captcha provider")}}function rn(I,A){var i=window.document.createElement("script");for(var e in A)e.startsWith("data-")?i.dataset[e.replace("data-","")]=A[e]:i[e]=A[e];i.src=I,window.document.body.appendChild(i)}function Cn(I){window.document.querySelectorAll('script[src="'+I+'"]').forEach(function(A){A.remove()})}function YC(I,A,i,e){var t=A.provider+"Callback_"+Math.floor(1000001*Math.random()),g={async:!0,defer:!0},o=function(C,Q,s,c,E){switch(C){case"recaptcha_v2":return"https://www.recaptcha.net/recaptcha/api.js?hl="+Q+"&onload="+s;case"recaptcha_enterprise":return"https://www.recaptcha.net/recaptcha/enterprise.js?render=explicit&hl="+Q+"&onload="+s;case"hcaptcha":return"https://js.hcaptcha.com/1/api.js?hl="+Q+"&onload="+s;case"friendly_captcha":return"https://cdn.jsdelivr.net/npm/friendly-challenge@0.9.12/widget.min.js";case"arkose":return"https://"+c+".arkoselabs.com/v2/"+E+"/api.js";case"auth0_v2":return"https://challenges.cloudflare.com/turnstile/v0/api.js?render=explicit&onload="+s;default:throw new Error("Unknown captcha provider")}}(A.provider,A.lang,t,A.clientSubdomain,A.siteKey);if(A.provider==="arkose"||A.provider==="auth0_v2"){var n=0;g["data-callback"]=t,g.onerror=function(){if(n<3)return Cn(o),rn(o,g),void n++;Cn(o),e("BYPASS_CAPTCHA")},window[t]=function(C){window.arkose=C,i(C)}}else window[t]=function(){delete window[t],i()},A.provider==="friendly_captcha"&&(g.onload=window[t]);rn(o,g)}function Bn(I,A,i){var e,t=I.hasAttribute("data-wid")&&I.getAttribute("data-wid");function g(n){I.querySelector('input[name="captcha"]').value=n||""}if(i.provider==="friendly_captcha"&&window.auth0FCInstance)return g(),void window.auth0FCInstance.reset();if(i.provider==="arkose"&&XI(i.provider))return g(),void XI(i.provider).reset();if(t)return g(),void XI(i.provider).reset(t);switch(I.innerHTML=A.templates[i.provider](i),i.provider){case"recaptcha_enterprise":case"recaptcha_v2":e=".recaptcha";break;case"hcaptcha":e=".hcaptcha";break;case"friendly_captcha":e=".friendly-captcha";break;case"arkose":e=".arkose";break;case"auth0_v2":e=".auth0_v2"}var o=I.querySelector(e);YC(0,{lang:A.lang,provider:i.provider,clientSubdomain:i.clientSubdomain,siteKey:i.siteKey},function(n){var C=XI(i.provider);if(i.provider==="arkose"){var Q=0;n.setConfig({onCompleted:function(c){g(c.token),Ot()},onError:function(){Q<3?(g(),n.reset(),setTimeout(function(){n.run()},500),Q++):g("BYPASS_CAPTCHA")}})}else if(i.provider==="friendly_captcha")window.auth0FCInstance=new C.WidgetInstance(o,{sitekey:i.siteKey,language:A.lang,doneCallback:function(c){g(c)},errorCallback:function(){g()}});else{var s={callback:g,"expired-callback":function(){g()},"error-callback":function(){g()},sitekey:i.siteKey};i.provider==="auth0_v2"&&(Q=0,s.language=A.lang,s.theme="light",s.retry="never",s["response-field"]=!1,s["error-callback"]=function(){return Q<3?(g(),XI(i.provider).reset(t),Q++):g("BYPASS_CAPTCHA"),!0}),t=C.render(o,s),I.setAttribute("data-wid",t)}},g)}var Qn={render:function(I,A,i,e){function t(g){g=g||Lt,I.getChallenge(function(o,n){return o?(A.innerHTML=i.templates.error(o),g(o)):n.required?(A.style.display="",n.provider==="auth0"?nn(A,i,n,t):n.provider!=="recaptcha_v2"&&n.provider!=="recaptcha_enterprise"&&n.provider!=="hcaptcha"&&n.provider!=="friendly_captcha"&&n.provider!=="arkose"&&n.provider!=="auth0_v2"||Bn(A,i,n),void(n.provider==="arkose"?g(null,{triggerCaptcha:function(C){XI(n.provider).run(),Ot=C}}):g())):(A.style.display="none",void(A.innerHTML=""))})}return i=b.merge(on).with(i||{}),t(e),{reload:t,getValue:function(){var g=A.querySelector('input[name="captcha"]');if(g)return g.value}}},renderPasswordless:function(I,A,i,e){function t(g){g=g||Lt,I.passwordless.getChallenge(function(o,n){return o?(A.innerHTML=i.templates.error(o),g(o)):n.required?(A.style.display="",n.provider==="auth0"?nn(A,i,n,t):n.provider!=="recaptcha_v2"&&n.provider!=="recaptcha_enterprise"&&n.provider!=="hcaptcha"&&n.provider!=="friendly_captcha"&&n.provider!=="arkose"&&n.provider!=="auth0_v2"||Bn(A,i,n),void(n.provider==="arkose"?g(null,{triggerCaptcha:function(C){XI(n.provider).run(),Ot=C}}):g())):(A.style.display="none",void(A.innerHTML=""))})}return i=b.merge(on).with(i||{}),t(e),{reload:t,getValue:function(){var g=A.querySelector('input[name="captcha"]');if(g)return g.value}}}};function KC(){return new Date}function CA(I){L.check(I,{type:"object",message:"options parameter is not valid"},{domain:{type:"string",message:"domain option is required"},clientID:{type:"string",message:"clientID option is required"},responseType:{optional:!0,type:"string",message:"responseType is not valid"},responseMode:{optional:!0,type:"string",message:"responseMode is not valid"},redirectUri:{optional:!0,type:"string",message:"redirectUri is not valid"},scope:{optional:!0,type:"string",message:"scope is not valid"},audience:{optional:!0,type:"string",message:"audience is not valid"},popupOrigin:{optional:!0,type:"string",message:"popupOrigin is not valid"},leeway:{optional:!0,type:"number",message:"leeway is not valid"},plugins:{optional:!0,type:"array",message:"plugins is not valid"},maxAge:{optional:!0,type:"number",message:"maxAge is not valid"},stateExpiration:{optional:!0,type:"number",message:"stateExpiration is not valid"},legacySameSiteCookie:{optional:!0,type:"boolean",message:"legacySameSiteCookie option is not valid"},_disableDeprecationWarnings:{optional:!0,type:"boolean",message:"_disableDeprecationWarnings option is not valid"},_sendTelemetry:{optional:!0,type:"boolean",message:"_sendTelemetry option is not valid"},_telemetryInfo:{optional:!0,type:"object",message:"_telemetryInfo option is not valid"},_timesToRetryFailedRequests:{optional:!0,type:"number",message:"_timesToRetryFailedRequests option is not valid"}}),I.overrides&&L.check(I.overrides,{type:"object",message:"overrides option is not valid"},{__tenant:{optional:!0,type:"string",message:"__tenant option is required"},__token_issuer:{optional:!0,type:"string",message:"__token_issuer option is required"},__jwks_uri:{optional:!0,type:"string",message:"__jwks_uri is required"}}),this.baseOptions=I,this.baseOptions.plugins=new In(this,this.baseOptions.plugins||[]),this.baseOptions._sendTelemetry=this.baseOptions._sendTelemetry!==!1||this.baseOptions._sendTelemetry,this.baseOptions._timesToRetryFailedRequests=I._timesToRetryFailedRequests?parseInt(I._timesToRetryFailedRequests):0,this.baseOptions.tenant=this.baseOptions.overrides&&this.baseOptions.overrides.__tenant||this.baseOptions.domain.split(".")[0],this.baseOptions.token_issuer=this.baseOptions.overrides&&this.baseOptions.overrides.__token_issuer||"https://"+this.baseOptions.domain+"/",this.baseOptions.jwksURI=this.baseOptions.overrides&&this.baseOptions.overrides.__jwks_uri,I.legacySameSiteCookie!==!1&&(this.baseOptions.legacySameSiteCookie=!0),this.transactionManager=new OI(this.baseOptions),this.client=new FA(this.baseOptions),this.redirect=new bt(this,this.baseOptions),this.popup=new aI(this,this.baseOptions),this.crossOriginAuthentication=new Pi(this,this.baseOptions),this.webMessageHandler=new xt(this),this._universalLogin=new Je(this,this.baseOptions),this.ssodataStorage=new Ne(this.baseOptions)}function Zi(I,A){this.baseOptions=A,this.request=I}function Xt(I,A){this.baseOptions=A,this.request=I}function FA(I,A){arguments.length===2?this.auth0=I:A=I,L.check(A,{type:"object",message:"options parameter is not valid"},{domain:{type:"string",message:"domain option is required"},clientID:{type:"string",message:"clientID option is required"},responseType:{optional:!0,type:"string",message:"responseType is not valid"},responseMode:{optional:!0,type:"string",message:"responseMode is not valid"},redirectUri:{optional:!0,type:"string",message:"redirectUri is not valid"},scope:{optional:!0,type:"string",message:"scope is not valid"},audience:{optional:!0,type:"string",message:"audience is not valid"},_disableDeprecationWarnings:{optional:!0,type:"boolean",message:"_disableDeprecationWarnings option is not valid"},_sendTelemetry:{optional:!0,type:"boolean",message:"_sendTelemetry option is not valid"},_telemetryInfo:{optional:!0,type:"object",message:"_telemetryInfo option is not valid"}}),this.baseOptions=A,this.baseOptions._sendTelemetry=this.baseOptions._sendTelemetry!==!1||this.baseOptions._sendTelemetry,this.baseOptions.rootUrl=this.baseOptions.domain&&this.baseOptions.domain.toLowerCase().indexOf("http")===0?this.baseOptions.domain:"https://"+this.baseOptions.domain,this.request=new AI(this.baseOptions),this.passwordless=new Zi(this.request,this.baseOptions),this.dbConnection=new Xt(this.request,this.baseOptions),this.warn=new RI({disableWarnings:!!A._disableDeprecationWarnings}),this.ssodataStorage=new Ne(this.baseOptions)}function wi(I){L.check(I,{type:"object",message:"options parameter is not valid"},{domain:{type:"string",message:"domain option is required"},token:{type:"string",message:"token option is required"},_sendTelemetry:{optional:!0,type:"boolean",message:"_sendTelemetry option is not valid"},_telemetryInfo:{optional:!0,type:"object",message:"_telemetryInfo option is not valid"}}),this.baseOptions=I,this.baseOptions.headers={Authorization:"Bearer "+this.baseOptions.token},this.request=new AI(this.baseOptions),this.baseOptions.rootUrl=gA("https://"+this.baseOptions.domain,"api","v2")}CA.prototype.parseHash=function(I,A){var i,e;A||typeof I!="function"?I=I||{}:(A=I,I={});var t=I.hash===void 0?z.getWindow().location.hash:I.hash;if(t=t.replace(/^#?\/?/,""),(i=DI.parse(t)).hasOwnProperty("error"))return e=II.buildResponse(i.error,i.error_description),i.state&&(e.state=i.state),A(e);if(!i.hasOwnProperty("access_token")&&!i.hasOwnProperty("id_token")&&!i.hasOwnProperty("refresh_token"))return A(null,null);var g=(this.baseOptions.responseType||I.responseType||"").split(" ");return g.length>0&&g.indexOf("token")!==-1&&!i.hasOwnProperty("access_token")?A(II.buildResponse("invalid_hash","response_type contains `token`, but the parsed hash does not contain an `access_token` property")):g.length>0&&g.indexOf("id_token")!==-1&&!i.hasOwnProperty("id_token")?A(II.buildResponse("invalid_hash","response_type contains `id_token`, but the parsed hash does not contain an `id_token` property")):this.validateAuthenticationResponse(I,i,A)},CA.prototype.validateAuthenticationResponse=function(I,A,i){var e=this;I.__enableIdPInitiatedLogin=I.__enableIdPInitiatedLogin||I.__enableImpersonation;var t=A.state,g=this.transactionManager.getStoredTransaction(t),o=I.state||g&&g.state||null,n=o===t;if(!(!t&&!o&&I.__enableIdPInitiatedLogin)&&!n)return i({error:"invalid_token",errorDescription:"`state` does not match."});var C=I.nonce||g&&g.nonce||null,Q=g&&g.organization,s=I.state||g&&g.appState||null,c=function(E,D){if(E)return i(E);var d;return g&&g.lastUsedConnection&&(D&&(d=D.sub),e.ssodataStorage.set(g.lastUsedConnection,d)),i(null,function(u,G,F){return{accessToken:u.access_token||null,idToken:u.id_token||null,idTokenPayload:F||null,appState:G||null,refreshToken:u.refresh_token||null,state:u.state||null,expiresIn:u.expires_in?parseInt(u.expires_in,10):null,tokenType:u.token_type||null,scope:u.scope||null}}(A,s,D))};return A.id_token?this.validateToken(A.id_token,C,function(E,D){if(!E){if(Q)if(Q.indexOf("org_")===0){if(!D.org_id)return c(II.invalidToken("Organization Id (org_id) claim must be a string present in the ID token"));if(D.org_id!==Q)return c(II.invalidToken('Organization Id (org_id) claim value mismatch in the ID token; expected "'+Q+'", found "'+D.org_id+'"'))}else{if(!D.org_name)return c(II.invalidToken("Organization Name (org_name) claim must be a string present in the ID token"));if(D.org_name!==Q.toLowerCase())return c(II.invalidToken('Organization Name (org_name) claim value mismatch in the ID token; expected "'+Q+'", found "'+D.org_name+'"'))}return A.access_token&&D.at_hash?new LI().validateAccessToken(A.access_token,"RS256",D.at_hash,function(u){return u?c(II.invalidToken(u.message)):c(null,D)}):c(null,D)}if(E.error!=="invalid_token"||E.errorDescription&&E.errorDescription.indexOf("Nonce (nonce) claim value mismatch in the ID token")>-1)return c(E);var d=new LI().decode(A.id_token);return d.header.alg!=="HS256"?c(E):(d.payload.nonce||null)!==C?c({error:"invalid_token",errorDescription:'Nonce (nonce) claim value mismatch in the ID token; expected "'+C+'", found "'+d.payload.nonce+'"'}):A.access_token?e.client.userInfo(A.access_token,function(u,G){return u?c(u):c(null,G)}):c({error:"invalid_token",description:"The id_token cannot be validated because it was signed with the HS256 algorithm and public clients (like a browser) can\u2019t store secrets. Please read the associated doc for possible ways to fix this. Read more: https://auth0.com/docs/errors/libraries/auth0-js/invalid-token#parsing-an-hs256-signed-id-token-without-an-access-token"})}):c(null,null)},CA.prototype.validateToken=function(I,A,i){new LI({issuer:this.baseOptions.token_issuer,jwksURI:this.baseOptions.jwksURI,audience:this.baseOptions.clientID,leeway:this.baseOptions.leeway||60,maxAge:this.baseOptions.maxAge,__clock:this.baseOptions.__clock||KC}).verify(I,A,function(e,t){if(e)return i(II.invalidToken(e.message));i(null,t)})},CA.prototype.renewAuth=function(I,A){var i=!!I.usePostMessage,e=I.postMessageDataType||!1,t=I.postMessageOrigin||z.getWindow().origin,g=I.timeout,o=this,n=b.merge(this.baseOptions,["clientID","redirectUri","responseType","scope","audience","_csrf","state","_intstate","nonce"]).with(I);n.responseType=n.responseType||"token",n.responseMode=n.responseMode||"fragment",n=this.transactionManager.process(n),L.check(n,{type:"object",message:"options parameter is not valid"}),L.check(A,{type:"function",message:"cb parameter is not valid"}),n.prompt="none",n=b.blacklist(n,["usePostMessage","tenant","postMessageDataType","postMessageOrigin"]),di.create({authenticationUrl:this.client.buildAuthorizeUrl(n),postMessageDataType:e,postMessageOrigin:t,timeout:g}).login(i,function(C,Q){if(typeof Q=="object")return A(C,Q);o.parseHash({hash:Q},A)})},CA.prototype.checkSession=function(I,A){var i=b.merge(this.baseOptions,["clientID","responseType","redirectUri","scope","audience","_csrf","state","_intstate","nonce"]).with(I);return i.responseType==="code"?A({error:"error",error_description:"responseType can't be `code`"}):(I.nonce||(i=this.transactionManager.process(i)),i.redirectUri?(L.check(i,{type:"object",message:"options parameter is not valid"}),L.check(A,{type:"function",message:"cb parameter is not valid"}),i=b.blacklist(i,["usePostMessage","tenant","postMessageDataType"]),void this.webMessageHandler.run(i,nA(A,{forceLegacyError:!0,ignoreCasing:!0}))):A({error:"error",error_description:"redirectUri can't be empty"}))},CA.prototype.changePassword=function(I,A){return this.client.dbConnection.changePassword(I,A)},CA.prototype.passwordlessStart=function(I,A){var i=b.merge(this.baseOptions,["responseType","responseMode","redirectUri","scope","audience","_csrf","state","_intstate","nonce"]).with(I.authParams);return I.authParams=this.transactionManager.process(i),this.client.passwordless.start(I,A)},CA.prototype.signup=function(I,A){return this.client.dbConnection.signup(I,A)},CA.prototype.authorize=function(I){var A=b.merge(this.baseOptions,["clientID","responseType","responseMode","redirectUri","scope","audience","_csrf","state","_intstate","nonce","organization","invitation"]).with(I);L.check(A,{type:"object",message:"options parameter is not valid"},{responseType:{type:"string",message:"responseType option is required"}}),(A=this.transactionManager.process(A)).scope=A.scope||"openid profile email",z.redirect(this.client.buildAuthorizeUrl(A))},CA.prototype.signupAndAuthorize=function(I,A){var i=this;return this.client.dbConnection.signup(b.blacklist(I,["popupHandler"]),function(e){if(e)return A(e);I.realm=I.connection,I.username||(I.username=I.email),i.client.login(I,A)})},CA.prototype.login=function(I,A){var i=b.merge(this.baseOptions,["clientID","responseType","redirectUri","scope","audience","_csrf","state","_intstate","nonce","onRedirecting","organization","invitation"]).with(I);i=this.transactionManager.process(i),z.getWindow().location.host===this.baseOptions.domain?(i.connection=i.realm,delete i.realm,this._universalLogin.login(i,A)):this.crossOriginAuthentication.login(i,A)},CA.prototype.passwordlessLogin=function(I,A){var i=b.merge(this.baseOptions,["clientID","responseType","redirectUri","scope","audience","_csrf","state","_intstate","nonce","onRedirecting"]).with(I);if(i=this.transactionManager.process(i),z.getWindow().location.host===this.baseOptions.domain)this.passwordlessVerify(i,A);else{var e=b.extend({credentialType:"http://auth0.com/oauth/grant-type/passwordless/otp",realm:i.connection,username:i.email||i.phoneNumber,otp:i.verificationCode},b.blacklist(i,["connection","email","phoneNumber","verificationCode"]));this.crossOriginAuthentication.login(e,A)}},CA.prototype.crossOriginAuthenticationCallback=function(){this.crossOriginVerification()},CA.prototype.crossOriginVerification=function(){this.crossOriginAuthentication.callback()},CA.prototype.logout=function(I){z.redirect(this.client.buildLogoutUrl(I))},CA.prototype.passwordlessVerify=function(I,A){var i=this,e=b.merge(this.baseOptions,["clientID","responseType","responseMode","redirectUri","scope","audience","_csrf","state","_intstate","nonce","onRedirecting"]).with(I);return L.check(e,{type:"object",message:"options parameter is not valid"},{responseType:{type:"string",message:"responseType option is required"}}),e=this.transactionManager.process(e),this.client.passwordless.verify(e,function(t){if(t)return A(t);function g(){z.redirect(i.client.passwordless.buildVerifyUrl(e))}if(typeof I.onRedirecting=="function")return I.onRedirecting(function(){g()});g()})},CA.prototype.renderCaptcha=function(I,A,i){return Qn.render(this.client,I,A,i)},CA.prototype.renderPasswordlessCaptcha=function(I,A,i){return Qn.renderPasswordless(this.client,I,A,i)},Zi.prototype.buildVerifyUrl=function(I){var A,i;return L.check(I,{type:"object",message:"options parameter is not valid"},{connection:{type:"string",message:"connection option is required"},verificationCode:{type:"string",message:"verificationCode option is required"},phoneNumber:{optional:!1,type:"string",message:"phoneNumber option is required",condition:function(e){return!e.email}},email:{optional:!1,type:"string",message:"email option is required",condition:function(e){return!e.phoneNumber}}}),A=b.merge(this.baseOptions,["clientID","responseType","responseMode","redirectUri","scope","audience","_csrf","state","_intstate","protocol","nonce"]).with(I),this.baseOptions._sendTelemetry&&(A.auth0Client=this.request.getTelemetryData()),A=b.toSnakeCase(A,["auth0Client"]),i=DI.stringify(A),gA(this.baseOptions.rootUrl,"passwordless","verify_redirect","?"+i)},Zi.prototype.start=function(I,A){var i,e;L.check(I,{type:"object",message:"options parameter is not valid"},{connection:{type:"string",message:"connection option is required"},send:{type:"string",message:"send option is required",values:["link","code"],value_message:"send is not valid ([link, code])"},phoneNumber:{optional:!0,type:"string",message:"phoneNumber option is required",condition:function(o){return o.send==="code"||!o.email}},email:{optional:!0,type:"string",message:"email option is required",condition:function(o){return o.send==="link"||!o.phoneNumber}},authParams:{optional:!0,type:"object",message:"authParams option is required"}}),L.check(A,{type:"function",message:"cb parameter is not valid"}),i=gA(this.baseOptions.rootUrl,"passwordless","start");var t=I.xRequestLanguage;delete I.xRequestLanguage,(e=b.merge(this.baseOptions,["clientID","responseType","redirectUri","scope"]).with(I)).scope&&(e.authParams=e.authParams||{},e.authParams.scope=e.authParams.scope||e.scope),e.redirectUri&&(e.authParams=e.authParams||{},e.authParams.redirect_uri=e.authParams.redirectUri||e.redirectUri),e.responseType&&(e.authParams=e.authParams||{},e.authParams.response_type=e.authParams.responseType||e.responseType),delete e.redirectUri,delete e.responseType,delete e.scope,e=b.toSnakeCase(e,["auth0Client","authParams"]);var g=t?{xRequestLanguage:t}:void 0;return this.request.post(i,g).send(e).end(nA(A))},Zi.prototype.verify=function(I,A){var i,e;return L.check(I,{type:"object",message:"options parameter is not valid"},{connection:{type:"string",message:"connection option is required"},verificationCode:{type:"string",message:"verificationCode option is required"},phoneNumber:{optional:!1,type:"string",message:"phoneNumber option is required",condition:function(t){return!t.email}},email:{optional:!1,type:"string",message:"email option is required",condition:function(t){return!t.phoneNumber}}}),L.check(A,{type:"function",message:"cb parameter is not valid"}),e=b.pick(I,["connection","verificationCode","phoneNumber","email","auth0Client","clientID"]),e=b.toSnakeCase(e,["auth0Client"]),i=gA(this.baseOptions.rootUrl,"passwordless","verify"),this.request.post(i).send(e).end(nA(A))},Zi.prototype.getChallenge=function(I){if(L.check(I,{type:"function",message:"cb parameter is not valid"}),!this.baseOptions.state)return I();var A=gA(this.baseOptions.rootUrl,"passwordless","challenge");return this.request.post(A).send({state:this.baseOptions.state}).end(nA(I,{ignoreCasing:!0}))},Xt.prototype.signup=function(I,A){var i,e,t;return L.check(I,{type:"object",message:"options parameter is not valid"},{connection:{type:"string",message:"connection option is required"},email:{type:"string",message:"email option is required"},password:{type:"string",message:"password option is required"}}),L.check(A,{type:"function",message:"cb parameter is not valid"}),i=gA(this.baseOptions.rootUrl,"dbconnections","signup"),t=(e=b.merge(this.baseOptions,["clientID","state"]).with(I)).user_metadata||e.userMetadata,e=b.blacklist(e,["scope","userMetadata","user_metadata"]),e=b.toSnakeCase(e,["auth0Client"]),t&&(e.user_metadata=t),this.request.post(i).send(e).end(nA(A))},Xt.prototype.changePassword=function(I,A){var i,e;return L.check(I,{type:"object",message:"options parameter is not valid"},{connection:{type:"string",message:"connection option is required"},email:{type:"string",message:"email option is required"}}),L.check(A,{type:"function",message:"cb parameter is not valid"}),i=gA(this.baseOptions.rootUrl,"dbconnections","change_password"),e=b.merge(this.baseOptions,["clientID"]).with(I,["email","connection"]),e=b.toSnakeCase(e,["auth0Client"]),this.request.post(i).send(e).end(nA(A))},FA.prototype.buildAuthorizeUrl=function(I){var A,i;return L.check(I,{type:"object",message:"options parameter is not valid"}),A=b.merge(this.baseOptions,["clientID","responseType","responseMode","redirectUri","scope","audience"]).with(I),L.check(A,{type:"object",message:"options parameter is not valid"},{clientID:{type:"string",message:"clientID option is required"},redirectUri:{optional:!0,type:"string",message:"redirectUri option is required"},responseType:{type:"string",message:"responseType option is required"},nonce:{type:"string",message:"nonce option is required",condition:function(e){return e.responseType.indexOf("code")===-1&&e.responseType.indexOf("id_token")!==-1}},scope:{optional:!0,type:"string",message:"scope option is required"},audience:{optional:!0,type:"string",message:"audience option is required"}}),this.baseOptions._sendTelemetry&&(A.auth0Client=this.request.getTelemetryData()),A.connection_scope&&L.isArray(A.connection_scope)&&(A.connection_scope=A.connection_scope.join(",")),A=b.blacklist(A,["username","popupOptions","domain","tenant","timeout","appState"]),A=b.toSnakeCase(A,["auth0Client"]),A=Oo.oauthAuthorizeParams(this.warn,A),i=DI.stringify(A),gA(this.baseOptions.rootUrl,"authorize","?"+i)},FA.prototype.buildLogoutUrl=function(I){var A,i;return L.check(I,{optional:!0,type:"object",message:"options parameter is not valid"}),A=b.merge(this.baseOptions,["clientID"]).with(I||{}),this.baseOptions._sendTelemetry&&(A.auth0Client=this.request.getTelemetryData()),A=b.toSnakeCase(A,["auth0Client","returnTo"]),i=DI.stringify(b.blacklist(A,["federated"])),I&&I.federated!==void 0&&I.federated!==!1&&I.federated!=="false"&&(i+="&federated"),gA(this.baseOptions.rootUrl,"v2","logout","?"+i)},FA.prototype.loginWithDefaultDirectory=function(I,A){return L.check(I,{type:"object",message:"options parameter is not valid"},{username:{type:"string",message:"username option is required"},password:{type:"string",message:"password option is required"},scope:{optional:!0,type:"string",message:"scope option is required"},audience:{optional:!0,type:"string",message:"audience option is required"}}),I.grantType="password",this.oauthToken(I,A)},FA.prototype.login=function(I,A){return L.check(I,{type:"object",message:"options parameter is not valid"},{username:{type:"string",message:"username option is required"},password:{type:"string",message:"password option is required"},realm:{type:"string",message:"realm option is required"},scope:{optional:!0,type:"string",message:"scope option is required"},audience:{optional:!0,type:"string",message:"audience option is required"}}),I.grantType="http://auth0.com/oauth/grant-type/password-realm",this.oauthToken(I,A)},FA.prototype.oauthToken=function(I,A){var i,e;return L.check(I,{type:"object",message:"options parameter is not valid"}),L.check(A,{type:"function",message:"cb parameter is not valid"}),i=gA(this.baseOptions.rootUrl,"oauth","token"),e=b.merge(this.baseOptions,["clientID","scope","audience"]).with(I),L.check(e,{type:"object",message:"options parameter is not valid"},{clientID:{type:"string",message:"clientID option is required"},grantType:{type:"string",message:"grantType option is required"},scope:{optional:!0,type:"string",message:"scope option is required"},audience:{optional:!0,type:"string",message:"audience option is required"}}),e=b.toSnakeCase(e,["auth0Client"]),e=Oo.oauthTokenParams(this.warn,e),this.request.post(i).send(e).end(nA(A))},FA.prototype.loginWithResourceOwner=function(I,A){var i,e;return L.check(I,{type:"object",message:"options parameter is not valid"},{username:{type:"string",message:"username option is required"},password:{type:"string",message:"password option is required"},connection:{type:"string",message:"connection option is required"},scope:{optional:!0,type:"string",message:"scope option is required"}}),L.check(A,{type:"function",message:"cb parameter is not valid"}),i=gA(this.baseOptions.rootUrl,"oauth","ro"),e=b.merge(this.baseOptions,["clientID","scope"]).with(I,["username","password","scope","connection","device"]),(e=b.toSnakeCase(e,["auth0Client"])).grant_type=e.grant_type||"password",this.request.post(i).send(e).end(nA(A))},FA.prototype.getSSOData=function(I,A){if(this.auth0||(this.auth0=new CA(this.baseOptions)),z.getWindow().location.host===this.baseOptions.domain)return this.auth0._universalLogin.getSSOData(I,A);typeof I=="function"&&(A=I),L.check(A,{type:"function",message:"cb parameter is not valid"});var i=this.baseOptions.clientID,e=this.ssodataStorage.get()||{};this.auth0.checkSession({responseType:"token id_token",scope:"openid profile email",connection:e.lastUsedConnection,timeout:5e3},function(t,g){return t?t.error==="login_required"?A(null,{sso:!1}):(t.error==="consent_required"&&(t.error_description="Consent required. When using `getSSOData`, the user has to be authenticated with the following scope: `openid profile email`."),A(t,{sso:!1})):e.lastUsedSub&&e.lastUsedSub!==g.idTokenPayload.sub?A(t,{sso:!1}):A(null,{lastUsedConnection:{name:e.lastUsedConnection},lastUsedUserID:g.idTokenPayload.sub,lastUsedUsername:g.idTokenPayload.email||g.idTokenPayload.name,lastUsedClientID:i,sessionClients:[i],sso:!0})})},FA.prototype.userInfo=function(I,A){var i;return L.check(I,{type:"string",message:"accessToken parameter is not valid"}),L.check(A,{type:"function",message:"cb parameter is not valid"}),i=gA(this.baseOptions.rootUrl,"userinfo"),this.request.get(i).set("Authorization","Bearer "+I).end(nA(A,{ignoreCasing:!0}))},FA.prototype.getChallenge=function(I){if(L.check(I,{type:"function",message:"cb parameter is not valid"}),!this.baseOptions.state)return I();var A=gA(this.baseOptions.rootUrl,"usernamepassword","challenge");return this.request.post(A).send({state:this.baseOptions.state}).end(nA(I,{ignoreCasing:!0}))},FA.prototype.delegation=function(I,A){var i,e;return L.check(I,{type:"object",message:"options parameter is not valid"},{grant_type:{type:"string",message:"grant_type option is required"}}),L.check(A,{type:"function",message:"cb parameter is not valid"}),i=gA(this.baseOptions.rootUrl,"delegation"),e=b.merge(this.baseOptions,["clientID"]).with(I),e=b.toSnakeCase(e,["auth0Client"]),this.request.post(i).send(e).end(nA(A))},FA.prototype.getUserCountry=function(I){var A;return L.check(I,{type:"function",message:"cb parameter is not valid"}),A=gA(this.baseOptions.rootUrl,"user","geoloc","country"),this.request.get(A).end(nA(I))},wi.prototype.getUser=function(I,A){var i;return L.check(I,{type:"string",message:"userId parameter is not valid"}),L.check(A,{type:"function",message:"cb parameter is not valid"}),i=gA(this.baseOptions.rootUrl,"users",I),this.request.get(i).end(nA(A,{ignoreCasing:!0}))},wi.prototype.patchUserMetadata=function(I,A,i){var e;return L.check(I,{type:"string",message:"userId parameter is not valid"}),L.check(A,{type:"object",message:"userMetadata parameter is not valid"}),L.check(i,{type:"function",message:"cb parameter is not valid"}),e=gA(this.baseOptions.rootUrl,"users",I),this.request.patch(e).send({user_metadata:A}).end(nA(i,{ignoreCasing:!0}))},wi.prototype.patchUserAttributes=function(I,A,i){var e;return L.check(I,{type:"string",message:"userId parameter is not valid"}),L.check(A,{type:"object",message:"user parameter is not valid"}),L.check(i,{type:"function",message:"cb parameter is not valid"}),e=gA(this.baseOptions.rootUrl,"users",I),this.request.patch(e).send(A).end(nA(i,{ignoreCasing:!0}))},wi.prototype.linkUser=function(I,A,i){var e;return L.check(I,{type:"string",message:"userId parameter is not valid"}),L.check(A,{type:"string",message:"secondaryUserToken parameter is not valid"}),L.check(i,{type:"function",message:"cb parameter is not valid"}),e=gA(this.baseOptions.rootUrl,"users",I,"identities"),this.request.post(e).send({link_with:A}).end(nA(i,{ignoreCasing:!0}))};var Pt=class{constructor(A,i,e=window.location.hostname){this.clientID=A.clientID,this.auth0domain=A.domain,this.accessToken=A.accessToken,this.appName=i,this.appHostname=e}async createNode(A,i,e){let t=new FA({clientID:this.clientID,domain:this.auth0domain}),g=await new Promise((Q,s)=>{t.userInfo(this.accessToken,(c,E)=>{c?s(c):Q(E)})}),o=new wi({token:this.accessToken,domain:this.auth0domain}),C=(await new Promise((Q,s)=>{o.getUser(g.sub,(c,E)=>{c?s(c):Q(E.user_metadata)})}))?.jazz_credential;if(C){let Q=JSON.parse(C);return zA.withLoadedAccount({accountID:Q.accountID,accountSecret:Q.accountSecret,sessionID:await A(Q.accountID),peersToLoadFrom:i,migration:e})}else{let Q=g.nickname||g.name||g.email||g.sub,{node:s,accountID:c,accountSecret:E}=await zA.withNewlyCreatedAccount({name:Q,migration:e,peersToLoadFrom:i});return await new Promise((D,d)=>o.patchUserMetadata(g.sub,{jazz_credential:JSON.stringify({accountID:c,accountSecret:E})},u=>{u?d(u):D()})),s}}};var RC=I=>typeof I=="function",xC=I=>typeof I=="object"&&I!==null&&!Array.isArray(I),bC=I=>xC(I)&&RC(I.then),vC=I=>I;var pI;(function(I){I.PENDING="PENDING",I.RESOLVED="RESOLVED",I.REJECTED="REJECTED"})(pI||(pI={}));var wA=class{constructor(A){this.state=pI.PENDING,this.handlers=[],this.resolve=i=>this.setResult(i,pI.RESOLVED),this.reject=i=>this.setResult(i,pI.REJECTED),this.setResult=(i,e)=>{(()=>this.state!==pI.PENDING?null:bC(i)?i.then(this.resolve,this.reject):(this.value=i,this.state=e,this.executeHandlers()))()},this.executeHandlers=()=>{if(this.state===pI.PENDING)return null;this.handlers.forEach(i=>this.state===pI.REJECTED?i.onFail(this.value):i.onSuccess(this.value)),this.handlers=[]},this.attachHandler=i=>{this.handlers=[...this.handlers,i],this.executeHandlers()};try{A(this.resolve,this.reject)}catch(i){this.reject(i)}}then(A,i){return new wA((e,t)=>this.attachHandler({onSuccess:g=>{try{return e(A(g))}catch(o){return t(o)}},onFail:g=>{if(!i)return t(g);try{return e(i(g))}catch(o){return t(o)}}}))}catch(A){return this.then(vC,A)}toString(){return"[object SyncPromise]"}finally(A){return new wA((i,e)=>{let t,g;return this.then(o=>(g=!1,t=o,A()),o=>(g=!0,t=o,A())).then(()=>g?e(t):i(t))})}spread(A){return this.then(i=>Array.isArray(i)?A(...i):A(i))}static resolve(A){return new wA(i=>i(A))}static reject(A){return new wA((i,e)=>e(A))}static all(A){return new wA((i,e)=>{if(!Array.isArray(A))return e(new TypeError("An array must be provided."));if(A.length===0)return i([]);let t=A.length,g=[],o=(n,C)=>(t-=1,g[C]=n,t!==0?null:i(g));return A.forEach((n,C)=>wA.resolve(n).then(Q=>o(Q,C)).catch(e))})}};var ui=class{constructor(A,i,e){this.currentTxID=0,this.db=A,this.fromLocalNode=i.getReader(),this.toLocalNode=e.getWriter(),(async()=>{let t=!1;for(;!t;){let g=await this.fromLocalNode.read();t=g.done,g.value&&await this.handleSyncMessage(g.value)}})()}static async asPeer({trace:A,localNodeName:i="local"}={localNodeName:"local"}){let[e,t]=yA.connectedPeers(i,"storage",{peer1role:"client",peer2role:"server",trace:A});return await ui.open(e.incoming,e.outgoing),{...t,priority:100}}static async open(A,i){let e=new Promise((t,g)=>{let o=indexedDB.open("jazz-storage",4);o.onerror=()=>{g(o.error)},o.onsuccess=()=>{t(o.result)},o.onupgradeneeded=async n=>{let C=o.result;if(n.oldVersion===0){C.createObjectStore("coValues",{autoIncrement:!0,keyPath:"rowID"}).createIndex("coValuesById","id",{unique:!0});let s=C.createObjectStore("sessions",{autoIncrement:!0,keyPath:"rowID"});s.createIndex("sessionsByCoValue","coValue"),s.createIndex("uniqueSessions",["coValue","sessionID"],{unique:!0}),C.createObjectStore("transactions",{keyPath:["ses","idx"]})}n.oldVersion<=1&&C.createObjectStore("signatureAfter",{keyPath:["ses","idx"]})}});return new ui(await e,A,i)}async handleSyncMessage(A){switch(A.action){case"load":await this.handleLoad(A);break;case"content":await this.handleContent(A);break;case"known":await this.handleKnown(A);break;case"done":await this.handleDone(A);break}}makeRequest(A){return new wA((i,e)=>{let t=this.currentTx,g=({stores:o})=>{let n=A(o);n.onerror=()=>{console.error("Error in request",n.error),this.currentTx=void 0,e(n.error)},n.onsuccess=()=>{let C=n.result;i(C);let Q=t.pendingRequests.shift();Q?Q({stores:o}):this.currentTx===t&&(this.currentTx=void 0)}};if(!t||performance.now()-t.startedAt>20){let o=this.db.transaction(["coValues","sessions","transactions","signatureAfter"],"readwrite");t={id:this.currentTxID++,tx:o,stores:{coValues:o.objectStore("coValues"),sessions:o.objectStore("sessions"),transactions:o.objectStore("transactions"),signatureAfter:o.objectStore("signatureAfter")},startedAt:performance.now(),pendingRequests:[]},this.currentTx=t,g(t)}else t.pendingRequests.push(g)})}sendNewContentAfter(A,i){return this.makeRequest(({coValues:e})=>e.index("coValuesById").get(A.id)).then(e=>(e?this.makeRequest(({sessions:t})=>t.index("sessionsByCoValue").getAll(e.rowID)):wA.resolve([])).then(t=>{let g={id:A.id,header:!!e,sessions:{}},o=[{action:"content",id:A.id,header:A.header?void 0:e?.header,new:{}}];return wA.all(t.map(n=>{if(g.sessions[n.sessionID]=n.lastIdx,n.lastIdx>(A.sessions[n.sessionID]||0)){let C=A.sessions[n.sessionID]||0;return this.makeRequest(({signatureAfter:Q})=>Q.getAll(IDBKeyRange.bound([n.rowID,C],[n.rowID,1/0]))).then(Q=>this.makeRequest(({transactions:s})=>s.getAll(IDBKeyRange.bound([n.rowID,C],[n.rowID,1/0]))).then(s=>{LC(s,o,n,Q,A,C)}))}else return wA.resolve()})).then(()=>{let n=OC(e,o,A);return wA.all(n.map(C=>this.sendNewContentAfter({id:C,header:!1,sessions:{}},i||A.id))).then(()=>(setTimeout(async()=>{await this.toLocalNode.write({action:"known",...g,asDependencyOf:i});let C=o.filter(Q=>Q.header||Object.keys(Q.new).length>0);for(let Q of C)await this.toLocalNode.write(Q),await new Promise(s=>setTimeout(s,0))},0),Promise.resolve()))})})).then(()=>{})}handleLoad(A){return this.sendNewContentAfter(A)}handleContent(A){return this.makeRequest(({coValues:i})=>i.index("coValuesById").get(A.id)).then(i=>{if(i?.rowID===void 0){let e=A.header;if(!e)throw console.error("Expected to be sent header first"),this.toLocalNode.write({action:"known",id:A.id,header:!1,sessions:{},isCorrection:!0}),new Error("Expected to be sent header first");return this.makeRequest(({coValues:t})=>t.put({id:A.id,header:e}))}else return wA.resolve(i.rowID)}).then(i=>{this.makeRequest(({sessions:e})=>e.index("sessionsByCoValue").getAll(i)).then(e=>{let t=Object.fromEntries(e.map(n=>[n.sessionID,n])),g={id:A.id,header:!0,sessions:{}},o=!1;return Promise.all(Object.keys(A.new).map(n=>{let C=t[n];if(C&&(g.sessions[C.sessionID]=C.lastIdx),(C?.lastIdx||0)<(A.new[n]?.after||0))o=!0;else return this.putNewTxs(A,n,C,i)})).then(()=>{o&&this.toLocalNode.write({action:"known",...g,isCorrection:o})})})})}putNewTxs(A,i,e,t){let g=A.new[i]?.newTransactions||[],o=(e?.lastIdx||0)-(A.new[i]?.after||0),n=g.slice(o),C=(e?.bytesSinceLastSignature||0)+n.reduce((D,d)=>D+(d.privacy==="private"?d.encryptedChanges.length:d.changes.length),0),Q=(e?.lastIdx||0)+n.length,s=!1;C>ei&&(s=!0,C=0);let c=e?.lastIdx||0,E={coValue:t,sessionID:i,lastIdx:Q,lastSignature:A.new[i].lastSignature,bytesSinceLastSignature:C};return this.makeRequest(({sessions:D})=>D.put(e?.rowID?{rowID:e.rowID,...E}:E)).then(D=>{let d;return s?d=this.makeRequest(({signatureAfter:u})=>u.put({ses:D,idx:Q-1,signature:A.new[i].lastSignature})):d=wA.resolve(),d.then(()=>Promise.all(n.map((u,G)=>this.makeRequest(({transactions:F})=>F.add({ses:D,idx:c+G,tx:u})))))})}handleKnown(A){return this.sendNewContentAfter(A)}handleDone(A){}};function LC(I,A,i,e,t,g){let o=g;for(let n of I){let C=A[A.length-1].new[i.sessionID];C||(C={after:o,lastSignature:"WILL_BE_REPLACED",newTransactions:[]},A[A.length-1].new[i.sessionID]=C),C.newTransactions.push(n.tx),e[0]&&o===e[0].idx?(C.lastSignature=e[0].signature,e.shift(),A.push({action:"content",id:t.id,new:{}})):o===g+I.length-1&&(C.lastSignature=i.lastSignature),o+=1}}function OC(I,A,i){return I?.header.ruleset.type==="group"?A.flatMap(e=>Object.values(e.new)).flatMap(e=>e.newTransactions.flatMap(t=>t.privacy!=="trusting"?[]:yA.parseJSON(t.changes).map(g=>g&&typeof g=="object"&&"op"in g&&g.op==="set"&&"key"in g&&g.key).filter(g=>typeof g=="string"&&g.startsWith("co_")))):I?.header.ruleset.type==="ownedByGroup"?[I?.header.ruleset.group,...new Set(A.flatMap(e=>Object.keys(e).map(t=>yA.accountOrAgentIDfromSessionID(t)).filter(t=>yA.isAccountID(t)&&t!==i.id)))]:[]}var qe=class{constructor(A,i){this.coValueType="costream",this.id=A.id,this.meta={coValue:A,headerMeta:A.headerMeta,group:A.group},this.perSession=A.sessions().map(e=>{let t=[...A.itemsIn(e)].map(o=>i.defineResolvedRefPropertiesIn({tx:o.tx,at:new Date(o.at)},{by:{value:yA.isAccountID(o.by)?o.by:void 0,enumerable:!0},value:{value:o.value,enumerable:!0}},[A.id])),g=t[t.length-1];return[e,{get last(){return g?.value},get by(){return g?.by},tx:g?.tx,at:g?.at,all:t}]}),this.perAccount=[...A.accounts()].map(e=>{let t=[...A.itemsBy(e)].map(n=>i.defineResolvedRefPropertiesIn({tx:n.tx,at:new Date(n.at)},{by:{value:yA.isAccountID(n.by)?n.by:void 0,enumerable:!0},value:{value:n.value,enumerable:!0}},[A.id])),g=t[t.length-1],o={get last(){return g?.value},get by(){return g?.by},tx:g?.tx,at:g?.at,all:t};return e===i.node.account.id&&(this.me=o),[e,o]})}push(A,i){return this.meta.coValue.push(A,i)}mutate(A){return this.meta.coValue.mutate(A)}};var Me=class extends Array{constructor(A,i){if(!(A instanceof QA))return new Array(A);super();A.asArray().forEach((e,t)=>{Object.defineProperty(this,t,{get:()=>i.subscribeIfCoID(e,[A.id],"idx_"+t),enumerable:!0,configurable:!0})}),Object.defineProperties(this,{id:{value:A.id,enumerable:!1},coValueType:{value:"colist",enumerable:!1},meta:{value:{coValue:A,edits:[...this.keys()].map(e=>{let t=A.editAt(e);return i.defineResolvedRefPropertiesIn({tx:t.tx,at:new Date(t.at)},{by:{value:t.by,enumerable:!0},value:{value:t.value,enumerable:!0}},[A.id])}),deletions:A.deletionEdits().map(e=>i.defineResolvedRefPropertiesIn({tx:e.tx,at:new Date(e.at)},{by:{value:e.by,enumerable:!0}},[A.id])),headerMeta:A.headerMeta,group:A.group},enumerable:!1},mapDeferred:{value:e=>A.asArray().map((t,g)=>e({loaded:typeof t=="string"&&!!i.values[t]?.lastLoaded,id:t,value:()=>i.subscribeIfCoID(t,[A.id],"deferredIdx_"+g)},g)),enumerable:!1}})}append(A,i,e){return this.meta.coValue.append(A,i,e)}prepend(A,i,e){return this.meta.coValue.prepend(A,i,e)}delete(A,i){return this.meta.coValue.delete(A,i)}mutate(A){return this.meta.coValue.mutate(A)}static isArray(A){return Array.isArray(A)}static from(A,i,e){throw new Error("Array method 'from' not supported on ResolvedCoList")}static of(...A){throw new Error("Array method 'of' not supported on ResolvedCoList")}pop(){throw new Error("Array method 'pop' not supported on ResolvedCoList")}push(...A){throw new Error("Array method 'push' not supported on ResolvedCoList")}concat(...A){throw new Error("Array method 'concat' not supported on ResolvedCoList")}reverse(){throw new Error("Array method 'reverse' not supported on ResolvedCoList")}shift(){throw new Error("Array method 'shift' not supported on ResolvedCoList")}sort(A){throw new Error("Array method 'sort' not supported on ResolvedCoList")}splice(A,i){throw new Error("Array method 'splice' not supported on ResolvedCoList")}unshift(...A){throw new Error("Array method 'unshift' not supported on ResolvedCoList")}fill(A,i,e){throw new Error("Array method 'fill' not supported on ResolvedCoList")}copyWithin(A,i,e){throw new Error("Array method 'copyWithin' not supported on ResolvedCoList")}};var Di=class{static newWithKVPairs(A,i){let e=new Di(A,i);for(let t of A.keys()){let g=A.get(t);g!==void 0&&i.defineResolvedRefPropertiesIn(e,{[t]:{value:g,enumerable:!0}},[A.id])}return e}constructor(A,i){Object.defineProperties(this,{id:{value:A.id,enumerable:!1},coValueType:{value:"comap",enumerable:!1},meta:{value:{coValue:A,edits:Object.fromEntries(A.keys().flatMap(e=>{let t=[...A.editsAt(e)].map(n=>i.defineResolvedRefPropertiesIn({tx:n.tx,at:new Date(n.at)},{by:{value:n.by,enumerable:!0},value:{value:n.value,enumerable:!0}},[A.id])),g=t[t.length-1];if(!g)return[];let o={get by(){return g.by},tx:g.tx,at:g.at,get value(){return g.value},all:t};return[[e,o]]})),headerMeta:A.headerMeta,group:A.group},enumerable:!1},as:{value:e=>i.getOrCreateExtension(A.id,e),enumerable:!1}})}get(A){return this[A]}set(...A){return this.meta.coValue.set(...A)}delete(A,i){return this.meta.coValue.delete(A,i)}mutate(A){return this.meta.coValue.mutate(A)}};var pi=class{constructor(A,i){this.coValueType="group";let e=A.get("profile"),t=A.get("root");i.defineResolvedRefPropertiesIn(Object.defineProperties(this,{id:{value:A.id,enumerable:!1},coValueType:{value:"group",enumerable:!1},meta:{value:{coValue:A,group:A,headerMeta:A.headerMeta},enumerable:!1}}),{profile:{value:e,enumerable:!1},root:{value:t,enumerable:!1}},[A.id])}addMember(A,i){return this.meta.group.addMember(A,i)}removeMember(A){return this.meta.group.removeMember(A)}createInvite(A){return this.meta.group.createInvite(A)}createMap(A,i,e="private"){return this.meta.group.createMap(A,i,e)}createList(A,i,e="private"){return this.meta.group.createList(A,i,e)}createStream(A){return this.meta.group.createStream(A)}createBinaryStream(A={type:"binary"}){return this.meta.group.createBinaryStream(A)}};var Ye=class extends pi{constructor(A,i){super(A,i);Object.defineProperties(this,{isMe:{value:A.core.node.account.id===A.id,enumerable:!1}})}createGroup(){if(!this.isMe)throw new Error("Only the current user can create a group");return this.meta.group.core.node.account.createGroup()}acceptInvite(A,i){if(!this.isMe)throw new Error("Only the current user can accept an invite");return this.meta.group.core.node.account.acceptInvite(A,i)}};var an=class{constructor(A,i){this.values={},this.extensions={},this.node=A,this.onUpdate=i}autoSub(A,i,e){let t=this.values[A];return t||(t={lastLoaded:void 0,lastUpdate:void 0,render:()=>{let o,n=t.lastUpdate;n instanceof hA?n instanceof MA?o=new Ye(n,this):n instanceof TA?o=new pi(n,this):o=Di.newWithKVPairs(n,this):n instanceof QA?o=new Me(n,this):n instanceof bA&&(n.headerMeta?.type==="binary"||(o=new qe(n,this))),t.lastLoaded=o;for(let C of i)this.values[C]?.render()},unsubscribe:this.node.subscribe(A,o=>{o!=="unavailable"&&(t.lastUpdate=o,t.render(),this.onUpdate())})},this.values[A]=t),t.lastLoaded}subscribeIfCoID(A,i,e){return typeof A=="string"&&A.startsWith("co_")?this.autoSub(A,i,e):A}valueOrResolvedRefPropertyDescriptor(A,i,e){return typeof A=="string"&&A.startsWith("co_")?{get:()=>this.autoSub(A,i,e)}:{value:A}}defineResolvedRefPropertiesIn(A,i,e){for(let[t,g]of Object.entries(i))Object.defineProperty(A,t,{...this.valueOrResolvedRefPropertyDescriptor(g.value,e,t),enumerable:g.enumerable});return A}getOrCreateExtension(A,i){let e=`${A}_${i.id}`,t=this.extensions[e];return t||(t={lastOutput:void 0,unsubscribe:i.subscribe(this.node.expectCoValueLoaded(A).getCurrentContent(),this,g=>{t.lastOutput=g,this.values[A]?.render(),this.onUpdate()})},this.extensions[e]=t),t.lastOutput}cleanup(){for(let A of Object.values(this.values))A.unsubscribe?.();for(let A of Object.values(this.extensions))A.unsubscribe()}};function Vi(I,A,i){let e=I==="me"?yA.isAccountID(A.account.id)?A.account.id:void 0:I;if(!e)return()=>{};let t=new an(A,()=>{let o=t.values[e]?.lastLoaded;i(o)});t.autoSub(e,[],"");function g(){t.cleanup()}return g}function sI(I,A,i){return new Promise(e=>{let t=Vi(I,i,g=>{if(!g)return;let o=A(g);o&&(t(),e(o))})})}async function sn({auth:I,syncAddress:A="wss://sync.jazz.tools",reconnectionTimeout:i=500,migration:e}){await ze;let t,g=cn(A),o=!0,n=i;function C(){console.log("Online, resetting reconnection timeout"),n=i}window.addEventListener("online",C);let Q=await I.createNode(c=>{let E=XC(c);return t=E.done,E.session},[await ui.asPeer(),g],e);async function s(){for(;o;)Object.keys(Q.syncManager.peers).some(c=>c.includes(A))?await new Promise(c=>setTimeout(c,100)):(console.log("Websocket disconnected, trying to reconnect in "+n+"ms"),n=Math.min(n*2,3e4),await new Promise(c=>{setTimeout(c,n),window.addEventListener("online",()=>{console.log("Online, trying to reconnect immediately"),c()},{once:!0})}),Q.syncManager.addPeer(cn(A)))}return s(),{node:Q,done:()=>{o=!1,window.removeEventListener("online",C),console.log("Cleaning up node");for(let c of Object.values(Q.syncManager.peers))c.outgoing.close().catch(E=>console.error("Error while closing peer",E));t?.()}}}function XC(I){let A,i=new Promise(g=>{A=g}),e,t=new Promise(g=>{e=g});return async function(){for(let g=0;g<100;g++)for(let o=0;o<2;o++)if(console.debug("Trying to get lock",I+"_"+g),await navigator.locks.request(I+"_"+g,{ifAvailable:!0},async C=>{if(!C)return"noLock";let Q=localStorage[I+"_"+g]||yA.newRandomSessionID(I);return localStorage[I+"_"+g]=Q,console.debug("Got lock",I+"_"+g,Q),e(Q),await i,console.log("Done with lock",I+"_"+g,Q),"sessionFinished"})==="sessionFinished")return;throw new Error("Couldn't get lock on session after 100x2 tries")}(),{session:t,done:A}}function PC(I){return I.binaryType="arraybuffer",new ti({start(A){let i;I.onmessage=t=>{let g=JSON.parse(t.data);if(i&&clearTimeout(i),i=setTimeout(()=>{console.debug("Ping timeout");try{A.close(),I.close()}catch(o){console.error("Error while trying to close ws on ping timeout",o)}},2500),g.type==="ping"){window.jazzPings=window.jazzPings||[],window.jazzPings.push({received:Date.now(),sent:g.time,dc:g.dc});return}A.enqueue(g)};let e=()=>{A.close(),clearTimeout(i)};I.addEventListener("close",e),I.addEventListener("error",()=>{A.error(new Error("The WebSocket errored!")),I.removeEventListener("close",e)})},cancel(){I.close()}})}function cn(I){let A=new WebSocket(I),i=PC(A),e=ZC(A);return{id:I+"@"+new Date().toISOString(),incoming:i,outgoing:e,role:"server"}}function ZC(I){let A=[],i=!1;return new Ee({start(t){I.addEventListener("error",g=>{t.error(new Error("The WebSocket errored!"+JSON.stringify(g)))}),I.addEventListener("close",()=>{t.error(new Error("The server closed the connection unexpectedly!"))}),I.addEventListener("open",()=>{for(let g of A)I.send(JSON.stringify(g));i=!0})},async write(t){i?I.send(JSON.stringify(t)):A.push(t)},close(){return e(1e3)},abort(t){return e(4e3,t&&t.message)}});function e(t,g){return new Promise((o,n)=>{I.addEventListener("close",C=>{C.wasClean?o():n(new Error("The connection was not closed cleanly"))},{once:!0}),I.close(t,g)})}}function Zt(I){let i=new URL(I).hash.split("/"),e,t,g;if(i[0]==="#"&&i[1]==="invite")return i.length===5?(e=i[2],t=i[3],g=i[4]):i.length===4&&(t=i[2],g=i[3]),!t||!g?void 0:{valueID:t,inviteSecret:g,valueHint:e}}async function En(I,A,i={type:"binary"},e){let t=A.createBinaryStream(i),g=Date.now(),o=new FileReader,n=new Promise(C=>{o.onload=async()=>{let Q=new Uint8Array(o.result);t.startBinaryStream({mimeType:I.type,totalSizeBytes:I.size,fileName:I instanceof File?I.name:void 0});let s=ei,c=Date.now();for(let D=0;D100&&(e?.(D/Q.length),c=Date.now()),await new Promise(d=>setTimeout(d,0));t=t.endBinaryStream();let E=Date.now();console.debug("Finished creating binary stream in",(E-g)/1e3,"s - Throughput in MB/s",1e3*(I.size/(E-g))/(1024*1024)),e?.(1),C()}});return setTimeout(()=>{o.readAsArrayBuffer(I)}),await n,t}async function hn(I,A,i,e){let t=await A.load(I,e);if(t==="unavailable")return;let g=t.getBinaryChunks(i);if(!!g)return new Blob(g.chunks,{type:g.mimeType})}var $t={};ln($t,{basename:()=>iI,blobToString:()=>TC,blobToUint8Array:()=>dn,cleanPath:()=>Wi,dirname:()=>PI,fetchFile:()=>Vt,isPromise:()=>VC,makeDirNode:()=>ji,makeFile:()=>Wt,makeFileNode:()=>wn,mkdir:()=>$C,mkdirAll:()=>AB,nodeAdd:()=>_i,nodeDir:()=>Tt,nodeFileGet:()=>un,nodeFilePut:()=>Dn,nodeReload:()=>zC,nodeRemove:()=>jt,nodeTouch:()=>zt,readFile:()=>eB,readdir:()=>_C,remove:()=>IB,rename:()=>iB,stat:()=>jC,unixTime:()=>Ti,unwatch:()=>oB,waitOn:()=>zi,walk:()=>YA,watch:()=>gB,writeFile:()=>tB});function VC(I){return I instanceof Promise}function Wi(I){return I.replace(/^.\//,"")}function PI(I){I=Wi(I);let A=I.replace(/\\/g,"/").replace(/\/[^\/]*$/,"");return A===iI(I)?"/":A}function iI(I){return I=Wi(I),I.replace(/\\/g,"/").split("/").pop()}function Ti(){return Math.floor(Date.now()/1e3)}function WC(I){return new Promise(A=>setTimeout(A,I))}function fn(I){return typeof I=="string"&&(I=new TextEncoder("utf-8").encode(I)),new Uint8Array(I)}function dn(I){return new Promise((A,i)=>{let e=new FileReader;e.onloadend=function(){A(new Uint8Array(e.result))},e.onerror=function(){i(new Error("Failed to read blob"))},e.readAsArrayBuffer(I)})}function TC(I){return new Promise((A,i)=>{let e=new FileReader;e.onloadend=function(){A(e.result)},e.onerror=function(){i(new Error("Failed to read blob"))},e.readAsText(I)})}async function zi(I){let A=I(),i=0;for(;!A;)if(await WC(50),A=I(),i++,i>25)throw new Error("value not resolving");return A}async function Vt(I){let A=await hn(I,window.node);return await dn(A)}async function Wt(I,A){A||(A=window.space.meta.group);let i=new Blob([I],{type:"text/plain"});return await En(i,A)}async function ji(I,A){A||(A=window.space.meta.group);let i=A.createMap(),e=A.createMap({name:I,isDir:!0,size:0,mtime:Ti(),entries:i});return await sI(e.id,t=>t,window.node)}async function wn(I,A,i){i||(i=window.space.meta.group),A=fn(A);let e=await Wt(A,i);return i.createMap({name:I,isDir:!1,size:A.byteLength,mtime:Ti(),fileID:e.id})}async function zC(I){return await sI(I.id,A=>A,window.node)}async function Tt(I){let A=await zi(()=>I.entries);return Object.keys(A)}async function un(I){return I.meta?await Vt(I.meta.coValue.get("fileID")):await Vt(I.get("fileID"))}async function Dn(I,A){A=fn(A);let i=await Wt(A);I.mutate(e=>{e.set("size",A.byteLength),e.set("mtime",Ti()),e.set("fileID",i.id)})}async function _i(I,A){(await zi(()=>I.entries)).mutate(e=>{e.set(A.get("name"),A.id)}),await zt(I)}async function zt(I){I.mutate(A=>{A.set("mtime",Ti())})}async function jt(I,A){(await zi(()=>I.entries)).mutate(e=>{e.delete(A)}),await zt(I)}async function YA(I){I=Wi(I);let A=await window.jazz.root();if(I==="."||I===""||I==="/")return A;let i=I.replace(/^\//,"").split("/");for(let e of i){if(!e)continue;if(!(await Tt(A)).includes(e))return null;if(A=await zi(()=>A.entries[e]),A===void 0)return}return!A.isDir&&!$i[A.id]&&Vi(A.id,globalThis.node,e=>{if(!$i[e.id]){$i[e.id]=e?.meta.coValue.get("mtime");return}if($i[e.id]{g.set("name",iI(A))});let e=await YA(PI(I));if(!e)return null;let t=await YA(PI(A));if(!t)return null;await _i(t,i),await jt(e,iI(I))}async function eB(I){let A=await YA(I);return A?await un(A):null}async function tB(I,A){let i=await YA(I);if(!i){let e=await YA(PI(I));if(!e)return null;let t=await wn(iI(I),A);return await _i(e,t),!0}return await Dn(i,A),!0}var $i={},_t=new EventTarget;function gB(I,A){console.log("WATCH");let i=e=>{console.log("CHANGE"),e.detail.path.startsWith(I)&&(console.log("CHANGE WITH PATH"),A(e))};return _t.addEventListener("change",i),i}function oB(I){_t.removeEventListener("change",I)}function nB(I,A){let e="coValueType"in I?I.meta.coValue.core:I.core;for(;e.header.ruleset.type==="ownedByGroup";)e=e.getGroup().core;if(e.header.ruleset.type!=="group")throw new Error("Can't create invite link for object without group");let t=yA.expectGroup(e.getCurrentContent());return`#/invite/${I.id}/${t.createInvite(A)}`}async function rB(I,A){let i=async()=>{let e=Zt(parent.location.href);if(e){try{await I.acceptInvite(e.valueID,e.inviteSecret)}catch{console.warn("invite not accepted");return}parent.location.hash=e.valueID}if(!(parent.location.hash.slice(1)||void 0)){let g=I.createGroup(),o=g.createMap();A&&await A(o,g),parent.location.hash=o.id}};return parent.addEventListener("hashchange",i),await i(),await sI(parent.location.hash.slice(1),e=>e,I)}async function CB(I,A){let i=async o=>{if(o){await globalThis.sys.call("host.setHash",[o]);return}return(await globalThis.sys.call("host.hash",[])).value},e=location.origin+"/#"+await i(),t=Zt(e);if(t){try{await I.acceptInvite(t.valueID,t.inviteSecret)}catch{console.warn("invite not accepted");return}await i(t.valueID)}if(!(await i()||void 0)){let o=I.createGroup(),n=o.createMap();A&&await A(n,o),await i(n.id)}return await sI(await i(),o=>o,I)}async function BB(I,A,i,e,t){let{node:g,done:o}=await sn({auth:new Pt({domain:A,clientID:i,accessToken:e},A,I),migration:t});return g}async function ac(I){let A,i;if(I.hostURL?(A=CB,i=async E=>(await I.sys.call("host.getItem",[E])).value):(A=rB,i=async E=>I.localStorage.getItem(E)),!await i("jazz:enabled"))return console.warn("jazz not enabled"),null;let t=await i("auth:settings");if(!t)return console.warn("auth settings not found"),null;let g=await i("auth:login");if(!g)return console.warn("auth login not found"),null;let o=JSON.parse(t),n=JSON.parse(g),C=await BB("wanix:"+location.origin.split("//")[1],o.domain,o.clientId,n.access_token,E=>{});globalThis.node=C;let Q=await A(C,async(E,D)=>{let d=await ji("/",D);E.mutate(u=>{u.set("fs",d.id)})});globalThis.space=Q;let s=await sI("me",E=>E.profile?.name,C),c=location.origin+"/"+nB(Q,"admin");I.jazz={node:C,space:Q,username:s,inviteURL:c,fsutil:$t,root:async()=>await sI(Q.id,E=>E?.fs,C)}}export{Vi as autoSub,sI as autoSubResolution,nB as createInviteLinkHash,ac as initJazz,BB as initNode,rB as setupFrameSpace,CB as setupWorkerSpace}; /*! * hash-wasm (https://www.npmjs.com/package/hash-wasm) * (c) Dani Biro