From 61e99a390ebdae51e27954162e1e74c8f439bd98 Mon Sep 17 00:00:00 2001 From: mtongnz Date: Fri, 12 Jan 2024 15:45:04 +1300 Subject: [PATCH 001/794] fix: docker network info display (non dockerman & multiple networks) --- .../include/DockerClient.php | 35 ++++++++++++------- .../include/DockerContainers.php | 14 ++++---- 2 files changed, 31 insertions(+), 18 deletions(-) diff --git a/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php b/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php index cce7b1bbc..66590d152 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php +++ b/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php @@ -1,7 +1,7 @@ $netVals) { + $i = $c['NetworkMode']=='host' ? $host : $netVals['IPAddress']; + $c['Networks'][$netName] = [ 'IPAddress' => $i ]; + } } + $ip = $c['NetworkMode']=='host' ? $host : $ct['NetworkSettings']['Networks'][$c['NetworkMode']]['IPAddress'] ?? null; + $c['Networks'][$c['NetworkMode']] = [ 'IPAddress' => $ip ]; $ports = (isset($ports) && is_array($ports)) ? $ports : []; foreach ($ports as $port => $value) { [$PrivatePort, $Type] = array_pad(explode('/', $port),2,''); - $c['Ports'][] = ['IP' => $ip, 'PrivatePort' => $PrivatePort, 'PublicPort' => $nat ? $value[0]['HostPort'] : $PrivatePort, 'NAT' => $nat, 'Type' => $Type]; + $c['Ports'][$PrivatePort] = ['IP' => $ip, 'PrivatePort' => $PrivatePort, 'PublicPort' => $nat ? $value[0]['HostPort'] : $PrivatePort, 'NAT' => $nat, 'Type' => $Type]; } + ksort($c['Ports']); $this::$containersCache[] = $c; } array_multisort(array_column($this::$containersCache,'Name'), SORT_NATURAL|SORT_FLAG_CASE, $this::$containersCache); @@ -1016,11 +1027,11 @@ class DockerUtil { // Unprocessable input $strRepo = $image; } - } +} // Add :latest tag to image if it's absent if (empty($strTag)) $strTag = 'latest'; - + return array_map('trim', ['strRepo' => $strRepo, 'strTag' => $strTag]); } diff --git a/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php b/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php index 9caf1fc20..722322024 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php +++ b/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php @@ -1,7 +1,7 @@ " : (substr($icon,0,5)=='icon-' ? "" : ""); $wait = var_split($autostart[array_search($name,$names)]??'',1); + $networks = []; + foreach($ct['Networks'] as $netName => $netVals) { + $networks[] = "{$netName}{$netVals['IPAddress']}"; + } $ports = []; foreach ($ct['Ports'] as $port) { - $intern = $running ? ($ct['NetworkMode']=='host' ? $host : _var($port,'IP')) : $null; - $extern = $running ? (_var($port,'NAT') ? $host : $intern) : $null; - $ports[] = sprintf('%s:%s/%s%s:%s', $intern, _var($port,'PrivatePort'), strtoupper(_var($port,'Type')), $extern, _var($port,'PublicPort')); + $ports[] = sprintf('%s:%s%s', _var($port,'PrivatePort'), strtoupper(_var($port,'Type')), _var($port,'PublicPort')); } $paths = []; $ct['Volumes'] = is_array($ct['Volumes']) ? $ct['Volumes'] : []; @@ -136,7 +138,7 @@ foreach ($containers as $ct) { break; } echo "
".compress(_($version),12,0)."
"; - echo "{$ct['NetworkMode']}"; + echo " ".implode(' ',$networks).""; echo "".implode('
',$ports)."
"; echo "".implode('
',$paths)."
"; echo "0%
"; From 3d1b53d0ea91c79338267bb0abc6fedd7564affb Mon Sep 17 00:00:00 2001 From: mtongnz Date: Fri, 12 Jan 2024 15:45:53 +1300 Subject: [PATCH 002/794] style: line up spacing --- emhttp/plugins/dynamix.docker.manager/include/DockerClient.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php b/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php index 66590d152..cb4ad15e1 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php +++ b/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php @@ -920,7 +920,7 @@ class DockerClient { $c['BaseImage'] = $ct['Labels']['BASEIMAGE'] ?? false; $c['Icon'] = $info['Config']['Labels']['net.unraid.docker.icon'] ?? false; $c['Url'] = $info['Config']['Labels']['net.unraid.docker.webui'] ?? false; - $c['Shell'] = $info['Config']['Labels']['net.unraid.docker.shell'] ?? false; + $c['Shell'] = $info['Config']['Labels']['net.unraid.docker.shell'] ?? false; $c['Ports'] = []; $c['Networks'] = []; if ($id) $c['NetworkMode'] = $net.str_replace('/',':',DockerUtil::ctMap($id)?:'/???'); From 064cac111097efb12c4001d3f4e1643df2f37938 Mon Sep 17 00:00:00 2001 From: mtongnz Date: Fri, 12 Jan 2024 15:46:43 +1300 Subject: [PATCH 003/794] fix: suppress error on template fetch --- emhttp/plugins/dynamix.docker.manager/include/DockerClient.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php b/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php index cb4ad15e1..6842b5c8d 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php +++ b/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php @@ -255,7 +255,7 @@ class DockerTemplates { $doc = new DOMDocument(); $doc->load($file['path']); if ($name) { - if ($doc->getElementsByTagName('Name')->item(0)->nodeValue !== $name) continue; + if (@$doc->getElementsByTagName('Name')->item(0)->nodeValue !== $name) continue; } $TemplateRepository = DockerUtil::ensureImageTag($doc->getElementsByTagName('Repository')->item(0)->nodeValue??''); if ($TemplateRepository && $TemplateRepository==$Repository) { From 3dda97319df58158ea41b02348475a8752aa78ea Mon Sep 17 00:00:00 2001 From: mtongnz Date: Fri, 12 Jan 2024 15:51:04 +1300 Subject: [PATCH 004/794] fix: don't return template for containers not managed by dockerman --- .../dynamix.docker.manager/include/DockerClient.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php b/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php index 6842b5c8d..1b4a90ce3 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php +++ b/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php @@ -338,8 +338,12 @@ class DockerTemplates { $tmp['updated'] = var_export($DockerUpdate->getUpdateStatus($image),true); } if (!$com) $tmp['updated'] = 'undef'; - if (empty($tmp['template']) || $reload) $tmp['template'] = $this->getUserTemplate($name); - if ($reload) $DockerUpdate->updateUserTemplate($name); + if ($ct['Manager'] !== 'dockerman') + $tmp['template'] = null; + else if (empty($tmp['template']) || $reload) { + $tmp['template'] = $this->getUserTemplate($name); + if ($reload) $DockerUpdate->updateUserTemplate($name); + } //$this->debug("\n$name"); //foreach ($tmp as $c => $d) $this->debug(sprintf(' %-10s: %s', $c, $d)); } From 083cd984eaeff92cc1c382a45da4be3b3c82e0c3 Mon Sep 17 00:00:00 2001 From: mtongnz Date: Fri, 12 Jan 2024 16:09:52 +1300 Subject: [PATCH 005/794] style: fix bizzare formatting glitches --- .../include/DockerClient.php | 20 +++++++++---------- .../include/DockerContainers.php | 4 ++-- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php b/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php index 1b4a90ce3..25a5757f2 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php +++ b/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php @@ -1,7 +1,7 @@ $strRepo, 'strTag' => $strTag]); } diff --git a/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php b/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php index 722322024..b36a0c0eb 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php +++ b/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php @@ -1,7 +1,7 @@ Date: Sat, 6 Apr 2024 13:04:22 +1300 Subject: [PATCH 006/794] Apply suggestions from code review Co-authored-by: FunkeCoder23 <12570656+FunkeCoder23@users.noreply.github.com> --- .../plugins/dynamix.docker.manager/include/DockerClient.php | 5 +++-- .../dynamix.docker.manager/include/DockerContainers.php | 4 +++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php b/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php index 25a5757f2..34c7a716d 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php +++ b/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php @@ -924,7 +924,8 @@ class DockerClient { $c['BaseImage'] = $ct['Labels']['BASEIMAGE'] ?? false; $c['Icon'] = $info['Config']['Labels']['net.unraid.docker.icon'] ?? false; $c['Url'] = $info['Config']['Labels']['net.unraid.docker.webui'] ?? false; - $c['Shell'] = $info['Config']['Labels']['net.unraid.docker.shell'] ?? false; + $c['Shell'] = $info['Config']['Labels']['net.unraid.docker.shell'] ?? false; + $c['Manager'] = $info['Config']['Labels']['net.unraid.docker.managed'] ?? false; $c['Ports'] = []; $c['Networks'] = []; if ($id) $c['NetworkMode'] = $net.str_replace('/',':',DockerUtil::ctMap($id)?:'/???'); @@ -950,7 +951,7 @@ class DockerClient { $ports = (isset($ports) && is_array($ports)) ? $ports : []; foreach ($ports as $port => $value) { [$PrivatePort, $Type] = array_pad(explode('/', $port),2,''); - $c['Ports'][$PrivatePort] = ['IP' => $ip, 'PrivatePort' => $PrivatePort, 'PublicPort' => $nat ? $value[0]['HostPort'] : $PrivatePort, 'NAT' => $nat, 'Type' => $Type]; + $c['Ports'][$PrivatePort] = ['IP' => $ip, 'PrivatePort' => $PrivatePort, 'PublicPort' => $nat ? $value[0]['HostPort'] : null, 'NAT' => $nat, 'Type' => $Type]; } ksort($c['Ports']); $this::$containersCache[] = $c; diff --git a/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php b/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php index b36a0c0eb..7fc16a22a 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php +++ b/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php @@ -93,7 +93,9 @@ foreach ($containers as $ct) { } $ports = []; foreach ($ct['Ports'] as $port) { - $ports[] = sprintf('%s:%s%s', _var($port,'PrivatePort'), strtoupper(_var($port,'Type')), _var($port,'PublicPort')); + $arrow_style = _var($port,'PublicPort') ? "\"fa fa-arrows-h\"" : ""; + $ports[] = sprintf('%s:%s%s', _var($port,'PrivatePort'), strtoupper(_var($port,'Type')),$arrow_style , _var($port,'PublicPort')); + } $paths = []; $ct['Volumes'] = is_array($ct['Volumes']) ? $ct['Volumes'] : []; From ffabb996fc8ee6b5edc54234b7b038be5260eed4 Mon Sep 17 00:00:00 2001 From: mtongnz Date: Sat, 6 Apr 2024 16:38:02 +1300 Subject: [PATCH 007/794] fix: external ports not showing for non-bridge networks --- .../plugins/dynamix.docker.manager/include/DockerClient.php | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php b/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php index 34c7a716d..a5fe4a61b 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php +++ b/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php @@ -932,15 +932,12 @@ class DockerClient { if (isset($driver[$c['NetworkMode']])) { if ($driver[$c['NetworkMode']]=='bridge') { $ports = &$info['HostConfig']['PortBindings']; - $nat = true; } else { $ports = &$info['Config']['ExposedPorts']; - $nat = false; } } else if (!$id) { $c['NetworkMode'] = DockerUtil::ctMap($c['NetworkMode']); $ports = &$info['Config']['ExposedPorts']; - $nat = false; foreach($ct['NetworkSettings']['Networks'] as $netName => $netVals) { $i = $c['NetworkMode']=='host' ? $host : $netVals['IPAddress']; $c['Networks'][$netName] = [ 'IPAddress' => $i ]; @@ -951,7 +948,8 @@ class DockerClient { $ports = (isset($ports) && is_array($ports)) ? $ports : []; foreach ($ports as $port => $value) { [$PrivatePort, $Type] = array_pad(explode('/', $port),2,''); - $c['Ports'][$PrivatePort] = ['IP' => $ip, 'PrivatePort' => $PrivatePort, 'PublicPort' => $nat ? $value[0]['HostPort'] : null, 'NAT' => $nat, 'Type' => $Type]; + $PublicPort = $info['HostConfig']['PortBindings']["$port"][0]['HostPort'] ?: null; + $c['Ports'][$PrivatePort] = ['IP' => $ip, 'PrivatePort' => $PrivatePort, 'PublicPort' => $PublicPort, 'Type' => $Type]; } ksort($c['Ports']); $this::$containersCache[] = $c; From 694d35b412c8e7bef1e3816d984b9e06156ac456 Mon Sep 17 00:00:00 2001 From: dlandon Date: Tue, 9 Jul 2024 06:21:29 -0500 Subject: [PATCH 008/794] Parity check does not show completed on array operations page. --- emhttp/plugins/dynamix/ArrayOperation.page | 2 +- emhttp/plugins/dynamix/nchan/parity_list | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/emhttp/plugins/dynamix/ArrayOperation.page b/emhttp/plugins/dynamix/ArrayOperation.page index 38db57be2..828aba222 100644 --- a/emhttp/plugins/dynamix/ArrayOperation.page +++ b/emhttp/plugins/dynamix/ArrayOperation.page @@ -383,7 +383,7 @@ devices.on('message', function(msg,meta) { $.each(get,function(k,v) {if ($('#line'+k).length>0) $('#line'+k).html(v);}); // button control if ($('#pauseButton').length>0 && $('#pauseButton').prop('disabled')==false) { - if (!msg && $('#cancelButton').length>0 && $('#cancelButton').val()=="_(Cancel)_") { + if ((get === "") && $('#cancelButton').val()=="_(Cancel)_") { $('#cancelButton').val("_(Done)_").prop('onclick',null).off('click').click(function(){refresh();}); $('#pauseButton').prop('disabled',true); $('#cancelText').html(''); diff --git a/emhttp/plugins/dynamix/nchan/parity_list b/emhttp/plugins/dynamix/nchan/parity_list index 215b43ef2..e6d2210d6 100755 --- a/emhttp/plugins/dynamix/nchan/parity_list +++ b/emhttp/plugins/dynamix/nchan/parity_list @@ -107,6 +107,9 @@ while (true) { file_put_contents($log, "$timestamp|$duration|$speed|$status|$error|$action|$size\n", FILE_APPEND); delete_file($stamps, $resync); + + /* Parity check is completed. */ + $echo = ""; } } @@ -130,7 +133,7 @@ while (true) { $process = 2; } elseif (exec('ps -C btrfs -o cmd=|grep -cv show') > 0) { $process = 3; - } elseif (exec("zpool status|grep -c 'scrub in progress'") > 0) { + } elseif (exec("zpool status 2>/dev/null | grep -c 'scrub in progress'") > 0) { $process = 4; } else { $process = 0; From cfb2daa531a2c7135f23601d6fb2f6b1686cdaaa Mon Sep 17 00:00:00 2001 From: dlandon Date: Tue, 9 Jul 2024 06:37:58 -0500 Subject: [PATCH 009/794] Update help text for PID Limit. --- emhttp/languages/en_US/helptext.txt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/emhttp/languages/en_US/helptext.txt b/emhttp/languages/en_US/helptext.txt index 03e5240bf..7c04a7569 100644 --- a/emhttp/languages/en_US/helptext.txt +++ b/emhttp/languages/en_US/helptext.txt @@ -1008,10 +1008,6 @@ Instead of chevrons indicating more data for Port and Volume mapping, all data i The time in seconds to allow a container to gracefully stop before forcing it to stop :end -:docker_pid_limit_help: -Set a PID Limit to limit the number of PIDs that a docker can use. The default is 2048. Set to zero for unlimited PIDs (not recommended). -:end - :docker_vdisk_type_help: Select where to keep the Docker persistent state. From ed9b8322d4b6f8cf34c5d7aca621f18957cc005d Mon Sep 17 00:00:00 2001 From: dlandon Date: Tue, 9 Jul 2024 14:57:58 -0500 Subject: [PATCH 010/794] Fix clobbering CAs $cfg variable. --- .../dynamix.docker.manager/include/Helpers.php | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/emhttp/plugins/dynamix.docker.manager/include/Helpers.php b/emhttp/plugins/dynamix.docker.manager/include/Helpers.php index 70ee33d7c..f366e76c3 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/Helpers.php +++ b/emhttp/plugins/dynamix.docker.manager/include/Helpers.php @@ -12,11 +12,6 @@ */ ?> Date: Wed, 10 Jul 2024 14:45:49 +0200 Subject: [PATCH 011/794] Fix - Fix PushBits and Pushbullet not showing up --- emhttp/plugins/dynamix/agents/PushBits.xml | 23 ---------------------- 1 file changed, 23 deletions(-) diff --git a/emhttp/plugins/dynamix/agents/PushBits.xml b/emhttp/plugins/dynamix/agents/PushBits.xml index 063054774..fc3ee275d 100644 --- a/emhttp/plugins/dynamix/agents/PushBits.xml +++ b/emhttp/plugins/dynamix/agents/PushBits.xml @@ -37,26 +37,3 @@ ]]> - - Pushbullet - - TOKEN - TITLE - MESSAGE - - - From 73c264e9feceb74c7acc8188841ab75a372773b1 Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Wed, 10 Jul 2024 14:47:06 +0200 Subject: [PATCH 012/794] Fix - Fix PushBits and Pushbullet not showing up --- emhttp/plugins/dynamix/agents/Pushbullet.xml | 24 ++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 emhttp/plugins/dynamix/agents/Pushbullet.xml diff --git a/emhttp/plugins/dynamix/agents/Pushbullet.xml b/emhttp/plugins/dynamix/agents/Pushbullet.xml new file mode 100644 index 000000000..c67efcc85 --- /dev/null +++ b/emhttp/plugins/dynamix/agents/Pushbullet.xml @@ -0,0 +1,24 @@ + + + Pushbullet + + TOKEN + TITLE + MESSAGE + + + From 693a0260afaea9262dfa509e81711904d720874f Mon Sep 17 00:00:00 2001 From: ljm42 Date: Wed, 10 Jul 2024 17:59:15 -0700 Subject: [PATCH 013/794] Make trim consistent between "Run now" and cron job --- emhttp/plugins/dynamix/scripts/ssd_trim | 26 ++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/emhttp/plugins/dynamix/scripts/ssd_trim b/emhttp/plugins/dynamix/scripts/ssd_trim index 3e850d394..a27ebd948 100755 --- a/emhttp/plugins/dynamix/scripts/ssd_trim +++ b/emhttp/plugins/dynamix/scripts/ssd_trim @@ -19,7 +19,7 @@ extract(parse_plugin_cfg('dynamix',true)); // cron operation if ($argc==2 && $argv[1]=='cron') { // trim btrfs, xfs - echo shell_exec("fstrim -va 2>/dev/null"); + xfs_btrfs_trim(false); // trim zfs zfs_trim(false); exit(0); @@ -72,16 +72,24 @@ function zfs_trim($write) { } } +function xfs_btrfs_trim($write) { + exec("findmnt -lnt btrfs,xfs -o target,source|awk '\$2!~\"\\\\[\"{print \$1,\$2}'",$mounts); + foreach ($mounts as $mount) { + [$target,$source] = explode(' ',$mount); + if (is_hdd($source)) continue; + if ($write) write("$target: ... \r"); + $trim = exec("fstrim -v $target 2>/dev/null"); + if ($write) { + if ($trim) write("$trim on $source\r","\n"); else write("\r"); + } else { + if ($trim) echo("$trim on $source\n"); + } + } +} + write(_("TRIM operation started")."\n","\n","\n"); // trim btrfs, xfs -exec("findmnt -lnt btrfs,xfs -o target,source|awk '\$2!~\"\\\\[\"{print \$1,\$2}'",$mounts); -foreach ($mounts as $mount) { - [$target,$source] = explode(' ',$mount); - if (is_hdd($source)) continue; - write("$target: ... \r"); - $trim = exec("fstrim -v $target 2>/dev/null"); - if ($trim) write("$trim on $source\r","\n"); else write("\r"); -} +xfs_btrfs_trim(true); // trim zfs zfs_trim(true); write(_("Finished")."\n",'_DONE_',''); From fb680469ac8fd7ccd010b3b82dc314e6304d3436 Mon Sep 17 00:00:00 2001 From: Tom Mortensen Date: Wed, 10 Jul 2024 22:58:42 -0700 Subject: [PATCH 014/794] fix git glitch which resulted in file not updated --- emhttp/languages/en_US/helptext.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/emhttp/languages/en_US/helptext.txt b/emhttp/languages/en_US/helptext.txt index 75e1d91ef..e4978f58d 100644 --- a/emhttp/languages/en_US/helptext.txt +++ b/emhttp/languages/en_US/helptext.txt @@ -1008,6 +1008,10 @@ Instead of chevrons indicating more data for Port and Volume mapping, all data i The time in seconds to allow a container to gracefully stop before forcing it to stop :end +:docker_pid_limit_help: +Set a PID Limit to limit the number of PIDs that a docker can use. The default is 2048. Set to zero for unlimited PIDs (not recommended). +:end + :docker_vdisk_type_help: Select where to keep the Docker persistent state. From d4968e1b19b4dd2aa833d14265983b8c3b469064 Mon Sep 17 00:00:00 2001 From: Tom Mortensen Date: Wed, 10 Jul 2024 22:59:53 -0700 Subject: [PATCH 015/794] simplify display of file system type on Main --- emhttp/plugins/dynamix/ArrayOperation.page | 14 +++++-------- emhttp/plugins/dynamix/nchan/device_list | 24 ++++++++++++---------- 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/emhttp/plugins/dynamix/ArrayOperation.page b/emhttp/plugins/dynamix/ArrayOperation.page index 828aba222..5f7ab974c 100644 --- a/emhttp/plugins/dynamix/ArrayOperation.page +++ b/emhttp/plugins/dynamix/ArrayOperation.page @@ -18,22 +18,18 @@ Nchan="device_list,disk_load,parity_list" 0; $poolsOnly = (_var($var,'SYS_ARRAY_SLOTS') == 0 ) ? true : false; /* only one of $present, $missing, or $wrong will be true, or all will be false */ $forced = $present = $wrong = false; foreach ($disks as $disk) { - if (!isset($disk['fsType'])) continue; - if (strpos(_var($disk,'fsType'),'luks:')!==false || (_var($disk,'fsType')=='auto' && (strpos(_var($var,'defaultFsType'),'luks:')!==false || _var($disk,'luksState',0)==2 || _var($disk,'luksState',0)==3))) { - $encrypt = true; - if (_var($disk,'luksState',0)==0) $forced = true; - if (_var($disk,'luksState',0)==1) $present = true; - if (_var($disk,'luksState',0)==2) $missing = true; - if (_var($disk,'luksState',0)==3) $wrong = true; - } + if (strpos(_var($disk,'fsType'),'luks:')!==false || (_var($disk,'fsType')=='auto' && strpos(_var($var,'defaultFsType'),'luks:')!==false)) $forced = true; + if (_var($disk,'luksState',0)==1) $present = true; + if (_var($disk,'luksState',0)==2) $missing = true; + if (_var($disk,'luksState',0)==3) $wrong = true; } +$encrypt = $forced || $present || $missing || $wrong; if ($forced && ($present || $missing || $wrong)) $forced = false; function check_encryption() { diff --git a/emhttp/plugins/dynamix/nchan/device_list b/emhttp/plugins/dynamix/nchan/device_list index d1ea88b82..1d5915d03 100755 --- a/emhttp/plugins/dynamix/nchan/device_list +++ b/emhttp/plugins/dynamix/nchan/device_list @@ -119,12 +119,12 @@ function assignment(&$disk) { function vfs_luks($fs) { return str_starts_with($fs,'luks:'); } -function vfs_type(&$disk, $parent=false) { +function vfs_type(&$disk) { global $disks, $pools, $crypto; - $fsType = _var($disk,'fsType'); - $name = _var($disk,'name'); - $type = ($parent || _var($disk,'type')=='Cache' && !in_array($name,$pools)) ? _var($disks[prefix($name)],'fsType') : $fsType; + $fsType = _var($disk,'fsType',''); $luks = ''; + if (empty($fsType)) + return $fsType; if ($crypto) switch (_var($disk,'luksState',0)) { case 0: if (vfs_luks($fsType)) @@ -146,14 +146,14 @@ function vfs_type(&$disk, $parent=false) { $luks = ""._('Device locked: unknown error').""; break; } - return $luks.str_replace('luks:','',$type); + return $luks.str_replace('luks:','',$fsType); } function fs_info(&$disk) { - global $display, $pools; + global $display; $echo = []; - if (empty($disk['fsStatus']) || $disk['fsStatus']=='-') { - return (_var($disk,'type')=='Cache') ? "".vfs_type($disk,true).""._('Device is part of a pool')."" : ""; - } elseif (_var($disk,'fsStatus')=='Mounted') { + if (empty($disk['fsStatus']) || $disk['fsStatus']=='-') + return "".$disk['fsStatus'].""; + if (_var($disk,'fsStatus')=='Mounted') { $echo[] = "".vfs_type($disk).""; $echo[] = "".my_scale(_var($disk,'fsSize',0)*1024,$unit,-1)." $unit"; if ($display['text']%10==0) { @@ -194,7 +194,7 @@ function array_offline(&$disk, $pool='') { if (_var($disk,'type')=='Parity') $warning = $text; } elseif (_var($var,'mdState')=='RECON_DISK') { if (in_array(_var($disk,'status'),$status)) $warning = $text; - } elseif (_var($disk['status'])=='DISK_NEW') { + } elseif (_var($disk['status'])=='DISK_NEW' && _var($var,'mdResyncAction')=='clear') { $warning = $text; } } @@ -209,7 +209,9 @@ function array_offline(&$disk, $pool='') { case 'DISK_NP_MISSING': $echo[] = "".device_info($disk,false)."
"._('Missing').""; $echo[] = "".assignment($disk)."{$disk['idSb']} - ".my_scale(_var($disk,'sizeSb',0)*1024,$unit)." $unit"; - $echo[] = ""; + $echo[] = ""; + $echo[] = "".vfs_type($disk).""; + $echo[] = ""; break; case 'DISK_NP_DSBL': $echo[] = "".device_info($disk,false).""; From f7748f761926eaba596c73ec83142ff5bf6f939a Mon Sep 17 00:00:00 2001 From: Tom Mortensen Date: Wed, 10 Jul 2024 23:00:20 -0700 Subject: [PATCH 016/794] make executable --- emhttp/plugins/dynamix/system/ZFS_cache | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 emhttp/plugins/dynamix/system/ZFS_cache diff --git a/emhttp/plugins/dynamix/system/ZFS_cache b/emhttp/plugins/dynamix/system/ZFS_cache old mode 100644 new mode 100755 From a7f6ac73894cfd0b37708c06d097310b269c40cf Mon Sep 17 00:00:00 2001 From: Tom Mortensen Date: Wed, 10 Jul 2024 23:01:09 -0700 Subject: [PATCH 017/794] maybe needed in future --- etc/rc.d/rc.sysstat | 58 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 etc/rc.d/rc.sysstat diff --git a/etc/rc.d/rc.sysstat b/etc/rc.d/rc.sysstat new file mode 100644 index 000000000..9f78e1774 --- /dev/null +++ b/etc/rc.d/rc.sysstat @@ -0,0 +1,58 @@ +#!/bin/sh +# +# chkconfig: 12345 01 99 +# description: Reset the system activity logs +# +# /etc/rc.d/rc.sysstat +# (C) 2000-2024 Sebastien Godard (sysstat orange.fr) +# +### BEGIN INIT INFO +# Provides: sysstat +# Required-Start: +# Required-Stop: +# Default-Start: 1 2 3 4 5 +# Default-Stop: 0 6 +# Description: Reset the system activity logs +# Short-Description: Reset the system activity logs +### END INIT INFO +#@(#) sysstat-12.7.6 startup script: +#@(#) Insert a dummy record in current daily data file. +#@(#) This indicates that the counters have restarted from 0. + +# Source functions library +[ -r /etc/rc.d/init.d/functions ] && . /etc/rc.d/init.d/functions + +RETVAL=0 +PIDFILE=/var/run/sysstat.pid +[ -z "$UID" ] && UID=`id -u` + +# See how we were called. +case "$1" in + start) + [ $UID -eq 0 ] || exit 4 + echo $$ > $PIDFILE || exit 1 + echo -n "Calling the system activity data collector (sadc)... " + /usr/lib64/sa/sa1 --boot + [ $? -eq 0 ] || RETVAL=1 + rm -f $PIDFILE + echo + ;; + + status) + [ -f $PIDFILE ] || RETVAL=3 + ;; + + stop) + [ $UID -eq 0 ] || exit 4 + ;; + + restart|reload|force-reload|condrestart|try-restart) + ;; + + *) + echo "Usage: sysstat {start|stop|status|restart|reload|force-reload|condrestart|try-restart}" + RETVAL=2 +esac + +exit ${RETVAL} + From bbed6047e35c79bef7a4566e6f987962a3667392 Mon Sep 17 00:00:00 2001 From: Tom Mortensen Date: Fri, 12 Jul 2024 11:53:32 -0700 Subject: [PATCH 018/794] Introduce 'Allocation profile' config setting for specifying pool/subpool data layout Fix: spindown delay setting missing for parity devices --- emhttp/plugins/dynamix/DeviceInfo.page | 31 ++++++++++++++++---------- 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/emhttp/plugins/dynamix/DeviceInfo.page b/emhttp/plugins/dynamix/DeviceInfo.page index a37959a0e..a7cac7575 100755 --- a/emhttp/plugins/dynamix/DeviceInfo.page +++ b/emhttp/plugins/dynamix/DeviceInfo.page @@ -267,7 +267,11 @@ function selectDiskFsProfile(init) { } } else if (($('#diskFsType').val()||'').indexOf('zfs') != -1) { + var subpool = ""; $('#diskFsProfileBTRFS').prop('disabled',true).hide(); + if (subpool.length) { + $('#diskFsType').prop('disabled',true).hide(); + } if (!init) { $('#diskFsProfileZFS').prop('disabled',false); $('#diskFsWidthZFS').prop('disabled',false); @@ -601,7 +605,7 @@ _(Spinup group(s))_: : - + _(Spin down delay)_: : + + + + _(File system status)_: :   - - _(File system type)_: : > @@ -649,7 +658,9 @@ _(File system type)_: - > =2) echo mk_option(_var($disk,'fsProfile'),"raid0", _('raid0'))?> =2) echo mk_option(_var($disk,'fsProfile'),"raid1", _('raid1'))?> @@ -670,8 +681,8 @@ _(File system type)_: -_(File system type)_: -: > > -_(File system type)_: -: > > -_(File system type)_: -: From 5a42314c604fed366eaa75ceb06d9e760c9236fa Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Fri, 12 Jul 2024 14:55:00 -0700 Subject: [PATCH 019/794] fix: AddVM & UpdateVM icon selection styles --- emhttp/plugins/dynamix.vm.manager/include/VMedit.php | 2 +- emhttp/plugins/dynamix.vm.manager/sheets/AddVM.css | 5 +++-- emhttp/plugins/dynamix.vm.manager/sheets/UpdateVM.css | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/emhttp/plugins/dynamix.vm.manager/include/VMedit.php b/emhttp/plugins/dynamix.vm.manager/include/VMedit.php index cb2592dd1..e0265c32b 100644 --- a/emhttp/plugins/dynamix.vm.manager/include/VMedit.php +++ b/emhttp/plugins/dynamix.vm.manager/include/VMedit.php @@ -113,7 +113,7 @@ if (strpos($strSelectedTemplate,"User-") !== false) { - "; + } + // Display TSinfo if data was fetched correctly + echo "
Tailscale
"; + // Display message that container isn't running + } else { + echo "
Tailscale
"; + } + } echo "
".compress(_($version),12,0)."
"; echo ""; echo ""; @@ -211,4 +351,3 @@ foreach ($images as $image) { } echo "\0".implode($docker)."\0".(pgrep('rc.docker')!==false ? 1:0); ?> - diff --git a/emhttp/plugins/dynamix.docker.manager/include/Helpers.php b/emhttp/plugins/dynamix.docker.manager/include/Helpers.php index 71f59bd75..82013ec44 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/Helpers.php +++ b/emhttp/plugins/dynamix.docker.manager/include/Helpers.php @@ -32,37 +32,65 @@ function xml_decode($string) { return strval(html_entity_decode($string, ENT_XML1, 'UTF-8')); } +function generateTSwebui($url, $serve, $webUI) { + if (!isset($webUI)) { + return ''; + } + $webui_url = isset($webUI) ? parse_url($webUI) : ''; + $webui_port = (preg_match('/\[PORT:(\d+)\]/', $webUI, $matches)) ? ':' . $matches[1] : ''; + $webui_path = $webui_url['path'] ?? ''; + $webui_query = isset($webui_url['query']) ? '?' . $webui_url['query'] : ''; + if (!empty($url)) { + if (strpos($url, '[hostname]') !== false || strpos($url, '[noserve]') !== false) { + if ($serve === 'serve' || $serve === 'funnel') { + return 'https://[hostname][magicdns]' . $webui_path . $webui_query; + } elseif ($serve === 'no') { + return 'http://[noserve]' . $webui_port . $webui_path . $webui_query; + } + } + return $url; + } else { + if (!empty($webUI)) { + if ($serve === 'serve' || $serve === 'funnel') { + return 'https://[hostname][magicdns]' . $webui_path . $webui_query; + } elseif ($serve === 'no') { + return 'http://[noserve]' . $webui_port . $webui_path . $webui_query; + } + } + return ''; + } +} + function postToXML($post, $setOwnership=false) { $dom = new domDocument; $dom->appendChild($dom->createElement("Container")); $xml = simplexml_import_dom($dom); - $xml['version'] = 2; - $xml->Name = xml_encode(preg_replace('/\s+/', '', $post['contName'])); - $xml->Repository = xml_encode(trim($post['contRepository'])); - $xml->Registry = xml_encode(trim($post['contRegistry'])); - if (!empty(trim($post['netCONT']))) { - $xml->Network = xml_encode($post['contNetwork'].':'.$post['netCONT']); + $xml['version'] = 2; + $xml->Name = xml_encode(preg_replace('/\s+/', '', $post['contName'])); + $xml->Repository = xml_encode(trim($post['contRepository'])); + $xml->Registry = xml_encode(trim($post['contRegistry'])); + if (isset($post['netCONT']) && !empty(trim($post['netCONT']))) { + $xml->Network = xml_encode($post['contNetwork'].':'.$post['netCONT']); } else { - $xml->Network = xml_encode($post['contNetwork']); + $xml->Network = xml_encode($post['contNetwork']); } - $xml->MyIP = xml_encode($post['contMyIP']); - $xml->Shell = xml_encode($post['contShell']); - $xml->Privileged = strtolower($post['contPrivileged']??'')=='on' ? 'true' : 'false'; - $xml->Support = xml_encode($post['contSupport']); - $xml->Project = xml_encode($post['contProject']); - $xml->Overview = xml_encode($post['contOverview']); - $xml->Category = xml_encode($post['contCategory']); - $xml->WebUI = xml_encode(trim($post['contWebUI'])); - $xml->TemplateURL = xml_encode($post['contTemplateURL']); - $xml->Icon = xml_encode(trim($post['contIcon'])); - $xml->ExtraParams = xml_encode($post['contExtraParams']); - $xml->PostArgs = xml_encode($post['contPostArgs']); - $xml->CPUset = xml_encode($post['contCPUset']); - $xml->DateInstalled = xml_encode(time()); - $xml->DonateText = xml_encode($post['contDonateText']); - $xml->DonateLink = xml_encode($post['contDonateLink']); - $xml->Requires = xml_encode($post['contRequires']); - + $xml->MyIP = xml_encode($post['contMyIP']); + $xml->Shell = xml_encode($post['contShell']); + $xml->Privileged = strtolower($post['contPrivileged']??'')=='on' ? 'true' : 'false'; + $xml->Support = xml_encode($post['contSupport']); + $xml->Project = xml_encode($post['contProject']); + $xml->Overview = xml_encode($post['contOverview']); + $xml->Category = xml_encode($post['contCategory']); + $xml->WebUI = xml_encode(trim($post['contWebUI'])); + $xml->TemplateURL = xml_encode($post['contTemplateURL']); + $xml->Icon = xml_encode(trim($post['contIcon'])); + $xml->ExtraParams = xml_encode($post['contExtraParams']); + $xml->PostArgs = xml_encode($post['contPostArgs']); + $xml->CPUset = xml_encode($post['contCPUset']); + $xml->DateInstalled = xml_encode(time()); + $xml->DonateText = xml_encode($post['contDonateText']); + $xml->DonateLink = xml_encode($post['contDonateLink']); + $xml->Requires = xml_encode($post['contRequires']); $size = is_array($post['confName']??null) ? count($post['confName']) : 0; for ($i = 0; $i < $size; $i++) { $Type = $post['confType'][$i]; @@ -77,6 +105,31 @@ function postToXML($post, $setOwnership=false) { $config['Required'] = xml_encode($post['confRequired'][$i]); $config['Mask'] = xml_encode($post['confMask'][$i]); } + if (isset($post['contTailscale']) && strtolower($post['contTailscale']) == 'on') { + $xml->TailscaleEnabled = 'true'; + $xml->TailscaleIsExitNode = xml_encode($post['TSisexitnode']); + $xml->TailscaleHostname = xml_encode($post['TShostname']); + $xml->TailscaleExitNodeIP = xml_encode($post['TSexitnodeip']); + $xml->TailscaleSSH = xml_encode($post['TSssh']); + $xml->TailscaleUserspaceNetworking = xml_encode($post['TSuserspacenetworking']); + $xml->TailscaleLANAccess = xml_encode($post['TSallowlanaccess']); + $xml->TailscaleServe = xml_encode($post['TSserve']); + $xml->TailscaleWebUI = xml_encode(generateTSwebui($post['TSwebui'], $post['TSserve'], $post['contWebUI'])); + if (isset($post['TSserve']) && strtolower($post['TSserve']) !== 'no') { + $xml->TailscaleServePort = xml_encode($post['TSserveport']); + $xml->TailscaleServeLocalPath = xml_encode($post['TSservelocalpath']); + $xml->TailscaleServeProtocol = xml_encode($post['TSserveprotocol']); + $xml->TailscaleServeProtocolPort = xml_encode($post['TSserveprotocolport']); + $xml->TailscaleServePath = xml_encode($post['TSservepath']); + } + $xml->TailscaleDParams = xml_encode($post['TSdaemonparams']); + $xml->TailscaleParams = xml_encode($post['TSextraparams']); + $xml->TailscaleStateDir = xml_encode($post['TSstatedir']); + $xml->TailscaleRoutes = xml_encode($post['TSroutes']);; + if (isset($post['TStroubleshooting']) && strtolower($post['TStroubleshooting']) === 'on') { + $xml->TailscaleTroubleshooting = 'true'; + } + } $dom = new DOMDocument('1.0'); $dom->preserveWhiteSpace = false; $dom->formatOutput = true; @@ -86,29 +139,48 @@ function postToXML($post, $setOwnership=false) { function xmlToVar($xml) { global $subnet; - $xml = is_file($xml) ? simplexml_load_file($xml) : simplexml_load_string($xml); - $out = []; - $out['Name'] = preg_replace('/\s+/', '', xml_decode($xml->Name)); - $out['Repository'] = xml_decode($xml->Repository); - $out['Registry'] = xml_decode($xml->Registry); - $out['Network'] = xml_decode($xml->Network); - $out['MyIP'] = xml_decode($xml->MyIP ?? ''); - $out['Shell'] = xml_decode($xml->Shell ?? 'sh'); - $out['Privileged'] = xml_decode($xml->Privileged); - $out['Support'] = xml_decode($xml->Support); - $out['Project'] = xml_decode($xml->Project); - $out['Overview'] = stripslashes(xml_decode($xml->Overview)); - $out['Category'] = xml_decode($xml->Category); - $out['WebUI'] = xml_decode($xml->WebUI); - $out['TemplateURL'] = xml_decode($xml->TemplateURL); - $out['Icon'] = xml_decode($xml->Icon); - $out['ExtraParams'] = xml_decode($xml->ExtraParams); - $out['PostArgs'] = xml_decode($xml->PostArgs); - $out['CPUset'] = xml_decode($xml->CPUset); - $out['DonateText'] = xml_decode($xml->DonateText); - $out['DonateLink'] = xml_decode($xml->DonateLink); - $out['Requires'] = xml_decode($xml->Requires); - $out['Config'] = []; + $xml = is_file($xml) ? simplexml_load_file($xml) : simplexml_load_string($xml); + $out = []; + $out['Name'] = preg_replace('/\s+/', '', xml_decode($xml->Name)); + $out['Repository'] = xml_decode($xml->Repository); + $out['Registry'] = xml_decode($xml->Registry); + $out['Network'] = xml_decode($xml->Network); + $out['MyIP'] = xml_decode($xml->MyIP ?? ''); + $out['Shell'] = xml_decode($xml->Shell ?? 'sh'); + $out['Privileged'] = xml_decode($xml->Privileged); + $out['Support'] = xml_decode($xml->Support); + $out['Project'] = xml_decode($xml->Project); + $out['Overview'] = stripslashes(xml_decode($xml->Overview)); + $out['Category'] = xml_decode($xml->Category); + $out['WebUI'] = xml_decode($xml->WebUI); + $out['TemplateURL'] = xml_decode($xml->TemplateURL); + $out['Icon'] = xml_decode($xml->Icon); + $out['ExtraParams'] = xml_decode($xml->ExtraParams); + $out['PostArgs'] = xml_decode($xml->PostArgs); + $out['CPUset'] = xml_decode($xml->CPUset); + $out['DonateText'] = xml_decode($xml->DonateText); + $out['DonateLink'] = xml_decode($xml->DonateLink); + $out['Requires'] = xml_decode($xml->Requires); + $out['TailscaleEnabled'] = xml_decode($xml->TailscaleEnabled ?? ''); + $out['TailscaleIsExitNode'] = xml_decode($xml->TailscaleIsExitNode ?? ''); + $out['TailscaleHostname'] = xml_decode($xml->TailscaleHostname ?? ''); + $out['TailscaleExitNodeIP'] = xml_decode($xml->TailscaleExitNodeIP ?? ''); + $out['TailscaleSSH'] = xml_decode($xml->TailscaleSSH ?? ''); + $out['TailscaleLANAccess'] = xml_decode($xml->TailscaleLANAccess ?? ''); + $out['TailscaleUserspaceNetworking'] = xml_decode($xml->TailscaleUserspaceNetworking ?? ''); + $out['TailscaleServe'] = xml_decode($xml->TailscaleServe ?? ''); + $out['TailscaleServePort'] = xml_decode($xml->TailscaleServePort ?? ''); + $out['TailscaleServeLocalPath'] = xml_decode($xml->TailscaleServeLocalPath ?? ''); + $out['TailscaleServeProtocol'] = xml_decode($xml->TailscaleServeProtocol ?? ''); + $out['TailscaleServeProtocolPort'] = xml_decode($xml->TailscaleServeProtocolPort ?? ''); + $out['TailscaleServePath'] = xml_decode($xml->TailscaleServePath ?? ''); + $out['TailscaleWebUI'] = xml_decode($xml->TailscaleWebUI ?? ''); + $out['TailscaleRoutes'] = xml_decode($xml->TailscaleRoutes ?? ''); + $out['TailscaleDParams'] = xml_decode($xml->TailscaleDParams ?? ''); + $out['TailscaleParams'] = xml_decode($xml->TailscaleParams ?? ''); + $out['TailscaleStateDir'] = xml_decode($xml->TailscaleStateDir ?? ''); + $out['TailscaleTroubleshooting'] = xml_decode($xml->TailscaleTroubleshooting ?? ''); + $out['Config'] = []; if (isset($xml->Config)) { foreach ($xml->Config as $config) { $c = []; @@ -266,7 +338,7 @@ function xmlToCommand($xml, $create_paths=false) { $Variables[] = 'TZ="'.$var['timeZone'].'"'; // Add HOST_OS variable $Variables[] = 'HOST_OS="Unraid"'; - // Add HOST_HOSTNAME variable + // Add HOST_HOSTNAME variable $Variables[] = 'HOST_HOSTNAME="'.$var['NAME'].'"'; // Add HOST_CONTAINERNAME variable $Variables[] = 'HOST_CONTAINERNAME="'.$xml['Name'].'"'; @@ -275,6 +347,68 @@ function xmlToCommand($xml, $create_paths=false) { if (strlen($xml['WebUI'])) $Labels[] = 'net.unraid.docker.webui='.escapeshellarg($xml['WebUI']); if (strlen($xml['Icon'])) $Labels[] = 'net.unraid.docker.icon='.escapeshellarg($xml['Icon']); + // Initialize Tailscale variables + $TS_entrypoint = ''; + $TS_hook = ''; + $TS_hostname = ''; + $TS_hostname_label = ''; + $TS_ssh = ''; + $TS_tundev = ''; + $TS_cap = ''; + $TS_exitnode = ''; + $TS_exitnode_ip = ''; + $TS_lan_access = ''; + $TS_userspace_networking = ''; + $TS_daemon_params = ''; + $TS_extra_params = ''; + $TS_state_dir = ''; + $TS_serve_funnel = ''; + $TS_serve_port = ''; + $TS_serve_local_path = ''; + $TS_serve_protocol = ''; + $TS_serve_protocol_port = ''; + $TS_serve_path = ''; + $TS_web_ui = ''; + $TS_troubleshooting = ''; + $TS_routes = ''; + $TS_postargs = ''; + // Get all information from xml and create variables for cmd + if ($xml['TailscaleEnabled'] == 'true') { + $TS_entrypoint = '--entrypoint=\'/opt/unraid/tailscale\''; + $TS_hook = '-v \'/usr/local/share/docker/tailscale_container_hook\':\'/opt/unraid/tailscale\''; + $TS_hostname = !empty($xml['TailscaleHostname']) ? '-e TAILSCALE_HOSTNAME=' . escapeshellarg($xml['TailscaleHostname']) : ''; + $TS_hostname_label = !empty($xml['TailscaleHostname']) ? '-l net.unraid.docker.tailscale.hostname=' . escapeshellarg($xml['TailscaleHostname']) : ''; + $TS_ssh = !empty($xml['TailscaleSSH']) ? '-e TAILSCALE_USE_SSH=' . escapeshellarg($xml['TailscaleSSH']) : ''; + $TS_daemon_params = !empty($xml['TailscaleDParams']) ? '-e TAILSCALED_PARAMS=' . escapeshellarg($xml['TailscaleDParams']) : ''; + $TS_extra_params = !empty($xml['TailscaleParams']) ? '-e TAILSCALE_PARAMS=' . escapeshellarg($xml['TailscaleParams']) : ''; + $TS_state_dir = !empty($xml['TailscaleStateDir']) ? '-e TAILSCALE_STATE_DIR=' . escapeshellarg($xml['TailscaleStateDir']) : ''; + $TS_userspace_networking = !empty($xml['TailscaleUserspaceNetworking']) ? '-e TAILSCALE_USERSPACE_NETWORKING=' . escapeshellarg($xml['TailscaleUserspaceNetworking']) : ''; + // Only add tun, cap and specific vairables to containers which are defined as Exit Nodes and Userspace Networking disabled + if (_var($xml,'TailscaleIsExitNode') == 'true') { + $TS_tundev = preg_match('/--d(evice)?[= ](\'?\/dev\/net\/tun\'?)/', $xml['ExtraParams']) ? "" : "--device='/dev/net/tun'"; + $TS_cap = preg_match('/--cap\-add=NET_ADMIN/', $xml['ExtraParams']) ? "" : "--cap-add=NET_ADMIN"; + $TS_exitnode = '-e TAILSCALE_EXIT_NODE=true'; + } elseif (_var($xml,'TailscaleUserspaceNetworking') == 'false') { + $TS_tundev = preg_match('/--d(evice)?[= ](\'?\/dev\/net\/tun\'?)/', $xml['ExtraParams']) ? "" : "--device='/dev/net/tun'"; + $TS_cap = preg_match('/--cap\-add=NET_ADMIN/', $xml['ExtraParams']) ? "" : "--cap-add=NET_ADMIN"; + $TS_lan_access = '-e TAILSCALE_ALLOW_LAN_ACCESS=' . escapeshellarg($xml['TailscaleLANAccess']); + $TS_exitnode_ip = !empty($xml['TailscaleExitNodeIP']) ? '-e TAILSCALE_EXIT_NODE_IP=' . escapeshellarg($xml['TailscaleExitNodeIP']) : ''; + } + $TS_serve_funnel = ($xml['TailscaleServe'] == 'funnel') ? '-e TAILSCALE_FUNNEL=true' : ''; + $TS_serve_port = !empty($xml['TailscaleServePort']) ? '-e TAILSCALE_SERVE_PORT=' . escapeshellarg($xml['TailscaleServePort']) : ''; + $TS_serve_local_path = !empty($xml['TailscaleServeLocalPath']) ? '-e TAILSCALE_SERVE_LOCALPATH=' . escapeshellarg($xml['TailscaleServeLocalPath']) : ''; + $TS_serve_protocol = !empty($xml['TailscaleServeProtocol']) ? '-e TAILSCALE_SERVE_PROTOCOL=' . escapeshellarg($xml['TailscaleServeProtocol']) : ''; + $TS_serve_protocol_port = !empty($xml['TailscaleServeProtocolPort']) ? '-e TAILSCALE_SERVE_PROTOCOL_PORT=' . escapeshellarg($xml['TailscaleServeProtocolPort']) : ''; + $TS_serve_path = !empty($xml['TailscaleServePath']) ? '-e TAILSCALE_SERVE_PATH=' . escapeshellarg($xml['TailscaleServePath']) : ''; + $TS_web_ui = !empty($xml['TailscaleWebUI']) ? '-l net.unraid.docker.tailscale.webui=' . escapeshellarg($xml['TailscaleWebUI']) : ''; + $TS_troubleshooting = !empty($xml['TailscaleTroubleshooting']) ? '-e TAILSCALE_TROUBLESHOOTING=' . escapeshellarg($xml['TailscaleTroubleshooting']) : ''; + $TS_routes = !empty($xml['TailscaleRoutes']) ? '-e TAILSCALE_ADVERTISE_ROUTES=' . escapeshellarg($xml['TailscaleRoutes']) : ''; + if (!empty($xml['PostArgs'])) { + $TS_postargs = '-e ORG_POSTARGS=' . escapeshellarg($xml['PostArgs']); + $xml['PostArgs'] = ''; + } + } + foreach ($xml['Config'] as $key => $config) { $confType = strtolower(strval($config['Type'])); $hostConfig = strlen($config['Value']) ? $config['Value'] : $config['Default']; @@ -332,8 +466,8 @@ function xmlToCommand($xml, $create_paths=false) { $pid_limit = ""; } - $cmd = sprintf($docroot.'/plugins/dynamix.docker.manager/scripts/docker create %s %s %s %s %s %s %s %s %s %s %s %s %s %s', - $cmdName, $cmdNetwork, $cmdMyIP, $cmdCPUset, $pid_limit, $cmdPrivileged, implode(' -e ', $Variables), implode(' -l ', $Labels), implode(' -p ', $Ports), implode(' -v ', $Volumes), implode(' --device=', $Devices), $xml['ExtraParams'], escapeshellarg($xml['Repository']), $xml['PostArgs']); + $cmd = sprintf($docroot.'/plugins/dynamix.docker.manager/scripts/docker create %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s', + $cmdName, $TS_entrypoint, $cmdNetwork, $cmdMyIP, $cmdCPUset, $pid_limit, $cmdPrivileged, implode(' -e ', $Variables), $TS_hostname, $TS_exitnode, $TS_exitnode_ip, $TS_lan_access, $TS_routes, $TS_ssh, $TS_userspace_networking, $TS_serve_funnel, $TS_serve_port, $TS_serve_local_path, $TS_serve_protocol, $TS_serve_protocol_port, $TS_serve_path, $TS_daemon_params, $TS_extra_params, $TS_state_dir, $TS_troubleshooting, $TS_postargs, implode(' -l ', $Labels), $TS_web_ui, $TS_hostname_label, implode(' -p ', $Ports), implode(' -v ', $Volumes), $TS_hook, $TS_cap, $TS_tundev, implode(' --device=', $Devices), $xml['ExtraParams'], escapeshellarg($xml['Repository']), $xml['PostArgs']); return [preg_replace('/\s\s+/', ' ', $cmd), $xml['Name'], $xml['Repository']]; } function stopContainer($name, $t=false, $echo=true) { @@ -520,7 +654,7 @@ function setXmlVal(&$xml, $value, $el, $attr=null, $pos=0) { function getAllocations() { global $DockerClient, $host; - + $ports = []; foreach ($DockerClient->getDockerContainers() as $ct) { $list = $port = []; diff --git a/emhttp/plugins/dynamix.docker.manager/javascript/docker.js b/emhttp/plugins/dynamix.docker.manager/javascript/docker.js index a1a3a0d20..71e4b5ff1 100644 --- a/emhttp/plugins/dynamix.docker.manager/javascript/docker.js +++ b/emhttp/plugins/dynamix.docker.manager/javascript/docker.js @@ -1,10 +1,11 @@ var eventURL = '/plugins/dynamix.docker.manager/include/Events.php'; -function addDockerContainerContext(container, image, template, started, paused, update, autostart, webui, shell, id, Support, Project, Registry, donateLink, ReadMe) { +function addDockerContainerContext(container, image, template, started, paused, update, autostart, webui, tswebui, shell, id, Support, Project, Registry, donateLink, ReadMe) { var opts = []; context.settings({right:false,above:false}); if (started && !paused) { if (webui !== '' && webui != '#') opts.push({text:_('WebUI'), icon:'fa-globe', href:webui, target:'_blank'}); + if (tswebui !== '' && tswebui != '#') opts.push({text:_('Tailscale WebUI'), icon:'fa-globe', href:tswebui, target:'_blank'}); opts.push({text:_('Console'), icon:'fa-terminal', action:function(e){e.preventDefault(); openTerminal('docker',container,shell);}}); opts.push({divider:true}); } diff --git a/emhttp/plugins/dynamix.docker.manager/scripts/update_container b/emhttp/plugins/dynamix.docker.manager/scripts/update_container index 501c9a42f..b82feaf5a 100755 --- a/emhttp/plugins/dynamix.docker.manager/scripts/update_container +++ b/emhttp/plugins/dynamix.docker.manager/scripts/update_container @@ -170,6 +170,7 @@ foreach (explode('*',rawurldecode($argv[1])) as $value) { $xml = file_get_contents($tmpl); [$cmd, $Name, $Repository] = xmlToCommand($tmpl); $Registry = getXmlVal($xml, "Registry"); + $TS_Enabled = getXmlVal($xml, "TailscaleEnabled"); $oldImageID = $DockerClient->getImageID($Repository); // pull image if (!pullImage_nchan($Name, $Repository)) continue; @@ -182,14 +183,25 @@ foreach (explode('*',rawurldecode($argv[1])) as $value) { // attempt graceful stop of container first stopContainer_nchan($Name); } - if ( ($argv[2]??null) == "ca_docker_run_override" ) + if ( ($argv[2]??null) == "ca_docker_run_override" ) $startContainer = true; - if ( $startContainer ) $cmd = str_replace('/docker create ', '/docker run -d ', $cmd); - // force kill container if still running after 10 seconds if (empty($_GET['communityApplications'])) removeContainer_nchan($Name); + // Extract real Entrypoint and Cmd from container for Tailscale + if ($TS_Enabled == 'true') { + // Create preliminary base container but don't run it + exec("/usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker create --name '" . escapeshellarg($Name) . "' '" . escapeshellarg($Repository) . "'"); + // Get Entrypoint and Cmd from docker inspect + $containerInfo = $DockerClient->getContainerDetails($Name); + $ts_env = isset($containerInfo['Config']['Entrypoint']) ? '-e ORG_ENTRYPOINT="' . implode(' ', $containerInfo['Config']['Entrypoint']) . '" ' : ''; + $ts_env .= isset($containerInfo['Config']['Cmd']) ? '-e ORG_CMD="' . implode(' ', $containerInfo['Config']['Cmd']) . '" ' : ''; + // Insert Entrypoint and Cmd to docker command + $cmd = str_replace('-l net.unraid.docker.managed=dockerman', $ts_env . '-l net.unraid.docker.managed=dockerman' , $cmd); + // Remove preliminary container + exec("/usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker rm '" . escapeshellarg($Name) . "'"); + } execCommand_nchan($cmd); if ($startContainer) addRoute($Name); // add route for remote WireGuard access $DockerClient->flushCaches(); diff --git a/emhttp/plugins/dynamix/include/DashboardApps.php b/emhttp/plugins/dynamix/include/DashboardApps.php index 05c913926..564ec89d7 100644 --- a/emhttp/plugins/dynamix/include/DashboardApps.php +++ b/emhttp/plugins/dynamix/include/DashboardApps.php @@ -48,12 +48,13 @@ if ($_POST['docker']) { $template = $info['template']; $shell = $info['shell']; $webGui = html_entity_decode($info['url']); + $TSwebGui = html_entity_decode($info['TSurl']); $support = html_entity_decode($info['Support']); $project = html_entity_decode($info['Project']); $registry = html_entity_decode($info['registry']); $donateLink = html_entity_decode($info['DonateLink']); $readme = html_entity_decode($info['ReadMe']); - $menu = sprintf("onclick=\"addDockerContainerContext('%s','%s','%s',%s,%s,%s,%s,'%s','%s','%s','%s','%s','%s','%s','%s')\"", addslashes($name), addslashes($ct['ImageId']), addslashes($template), $running, $paused, $updateStatus, $is_autostart, addslashes($webGui), $shell, $id, addslashes($support), addslashes($project), addslashes($registry), addslashes($donateLink), addslashes($readme)); + $menu = sprintf("onclick=\"addDockerContainerContext('%s','%s','%s',%s,%s,%s,%s,'%s','%s','%s','%s','%s','%s','%s','%s','%s')\"", addslashes($name), addslashes($ct['ImageId']), addslashes($template), $running, $paused, $updateStatus, $is_autostart, addslashes($webGui), addslashes($TSwebGui), $shell, $id, addslashes($support), addslashes($project), addslashes($registry), addslashes($donateLink), addslashes($readme)); $shape = $running ? ($paused ? 'pause' : 'play') : 'square'; $status = $running ? ($paused ? 'paused' : 'started') : 'stopped'; $color = $status=='started' ? 'green-text' : ($status=='paused' ? 'orange-text' : 'red-text'); @@ -96,8 +97,7 @@ if ($_POST['vms']) { if ($vmrcport > 0) { $wsport = $lv->domain_get_ws_port($res); $vmrcprotocol = $lv->domain_get_vmrc_protocol($res) ; - if ($vmrcprotocol == "vnc") $vmrcscale = "&resize=scale"; else $vmrcscale = ""; - $vmrcurl = autov('/plugins/dynamix.vm.manager/'.$vmrcprotocol.'.html',true).$vmrcscale.'&autoconnect=true&host=' . $_SERVER['HTTP_HOST'] ; + $vmrcurl = autov('/plugins/dynamix.vm.manager/'.$vmrcprotocol.'.html',true).'&autoconnect=true&host=' . $_SERVER['HTTP_HOST'] ; if ($vmrcprotocol == "spice") $vmrcurl .= '&vmname='. urlencode($vm) . '&port=/wsproxy/'.$vmrcport.'/' ; else $vmrcurl .= '&port=&path=/wsproxy/' . $wsport . '/'; } elseif ($vmrcport == -1 || $autoport) { $vmrcprotocol = $lv->domain_get_vmrc_protocol($res) ; diff --git a/share/docker/tailscale_container_hook b/share/docker/tailscale_container_hook new file mode 100755 index 000000000..4b113bd58 --- /dev/null +++ b/share/docker/tailscale_container_hook @@ -0,0 +1,313 @@ +#!/bin/sh +# Copyright 2024, Lime Technology +# Copyright 2024, Christoph Hummer +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 2, +# as published by the Free Software Foundation. +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. + +exec_entrypoint() { + echo "Starting container..." + echo + echo "=======================" + echo + eval "exec ${ORG_ENTRYPOINT} ${ORG_CMD} ${ORG_POSTARGS}" +} + +error_handler() { + echo "ERROR: Unraid Docker Hook script throw an error!" + echo " Starting container without Tailscale!" + echo + exec_entrypoint +} + +echo "=======================" +echo +echo "Executing Unraid Docker Hook for Tailscale" +echo + +if [ ! -f /usr/bin/tailscale ] || [ ! -f /usr/bin/tailscaled ]; then + if [ ! -z "${TAILSCALE_EXIT_NODE_IP}" ]; then + if [ ! -c /dev/net/tun ]; then + echo "ERROR: Device /dev/net/tun not found!" + echo " Make sure to pass through /dev/net/tun to the container." + error_handler + fi + INSTALL_IPTABLES="iptables " + fi + + echo "Detecting Package Manager..." + if which apt-get >/dev/null 2>&1; then + echo "Detected Advanced Package Tool!" + PACKAGES_UPDATE="apt-get update" + PACKAGES_INSTALL="apt-get -y install --no-install-recommends" + elif which apk >/dev/null 2>&1; then + echo "Detected Alpine Package Keeper!" + PACKAGES_UPDATE="apk update" + PACKAGES_INSTALL="apk add" + elif which pacman >/dev/null 2>&1; then + echo "Detected pacman Package Manager!" + PACKAGES_INSTALL="pacman -Syu --noconfirm" + else + echo "ERROR: Detection from Package Manager failed!" + error_handler + fi + + if [ "${TAILSCALE_TROUBLESHOOTING}" = "true" ]; then + if which apt-get >/dev/null 2>&1; then + PACKAGES_TROUBLESHOOTING="curl dnsutils iputils-ping " + elif which apk >/dev/null 2>&1; then + PACKAGES_TROUBLESHOOTING="curl bind-tools iputils-ping " + elif which pacman >/dev/null 2>&1; then + PACKAGES_TROUBLESHOOTING="curl dnsutils iputils " + fi + echo "Tailscale Troubleshooting enabled!" + echo "Installing additional packages: $(echo "${PACKAGES_TROUBLESHOOTING}" | sed 's/[[:blank:]]*$//' | sed 's/ /, /g')" + fi + + echo "Installing packages..." + echo "Please wait..." + if [ ! -z "${PACKAGES_UPDATE}" ]; then + UPDATE_LOG=$(${PACKAGES_UPDATE} 2>&1) + fi + INSTALL_LOG=$(${PACKAGES_INSTALL} jq wget ${INSTALL_IPTABLES}${PACKAGES_TROUBLESHOOTING} 2>&1) + INSTALL_RESULT=$? + + if [ "${INSTALL_RESULT}" -eq 0 ]; then + echo "Packages installed!" + unset INSTALL_LOG + else + echo "ERROR: Installing packages!" + echo "${UPDATE_LOG}" + echo "${INSTALL_LOG}" + error_handler + fi + + if [ "${INSTALL_IPTABLES}" = "iptables " ]; then + if ! iptables -L >/dev/null 2>&1; then + echo "ERROR: Cap: NET_ADMIN not available!" + echo " Make sure to add --cap-add=NET_ADMIN to the Extra Parameters" + error_handler + fi + fi + + echo "Tailscale not found, downloading..." + echo "Please wait..." + + TAILSCALE_VERSION=$(wget -qO- 'https://pkgs.tailscale.com/stable/?mode=json' | jq -r '.TarballsVersion') + + if [ -z "${TAILSCALE_VERSION}" ]; then + echo "ERROR: Can't get Tailscale JSON" + error_handler + fi + + if [ ! -d /tmp/tailscale ]; then + mkdir -p /tmp/tailscale + fi + + if wget -q -nc --show-progress --progress=bar:force:noscroll -O /tmp/tailscale/tailscale.tgz "https://pkgs.tailscale.com/stable/tailscale_${TAILSCALE_VERSION}_amd64.tgz" ; then + echo "Download from Tailscale version ${TAILSCALE_VERSION} successful!" + else + echo "ERROR: Download from Tailscale version ${TAILSCALE_VERSION} failed!" + rm -rf /tmp/tailscale + error_handler + fi + + tar -C /tmp/tailscale -xf /tmp/tailscale/tailscale.tgz + cp /tmp/tailscale/tailscale_${TAILSCALE_VERSION}_amd64/tailscale /usr/bin/tailscale + cp /tmp/tailscale/tailscale_${TAILSCALE_VERSION}_amd64/tailscaled /usr/bin/tailscaled + rm -rf /tmp/tailscale + + echo "Installation Done!" +else + echo "Tailscale found, continuing..." +fi + +unset TSD_PARAMS +unset TS_PARAMS + +if [ ! -z "${SERVER_DIR}" ]; then + TSD_STATE_DIR="${SERVER_DIR}/.tailscale_state" + echo "Settings Tailscale state dir to: ${TSD_STATE_DIR}" +elif [ ! -z "${DATA_DIR}" ]; then + TSD_STATE_DIR="${DATA_DIR}/.tailscale_state" + echo "Settings Tailscale state dir to: ${TSD_STATE_DIR}" +else + if [ -z "${TAILSCALE_STATE_DIR}" ]; then + TAILSCALE_STATE_DIR="/config/.tailscale_state" + fi + TSD_STATE_DIR="${TAILSCALE_STATE_DIR}" + echo "Settings Tailscale state dir to: ${TSD_STATE_DIR}" +fi + +if [ ! -d "${TSD_STATE_DIR}" ]; then + mkdir -p ${TSD_STATE_DIR} +fi + +if [ ! -z "${TAILSCALE_EXIT_NODE_IP}" ]; then + echo "Disabling userspace networking! Tailscale DNS available" + echo "Using ${TAILSCALE_EXIT_NODE_IP} as Exit Node! See https://tailscale.com/kb/1103/exit-nodes" + TS_PARAMS=" --exit-node=${TAILSCALE_EXIT_NODE_IP}" + if [ "${TAILSCALE_ALLOW_LAN_ACCESS}" = "true" ]; then + echo "Enabling local LAN Access to the container!" + TS_PARAMS="${TS_PARAMS} --exit-node-allow-lan-access" + fi +else + if [ -z "${TAILSCALE_USERSPACE_NETWORKING}" ] || [ "${TAILSCALE_USERSPACE_NETWORKING}" = "true" ]; then + echo "Enabling userspace networking! Tailscale DNS not available" + TSD_PARAMS="-tun=userspace-networking " + else + if [ ! -c /dev/net/tun ]; then + echo "ERROR: Device /dev/net/tun not found!" + echo " Make sure to pass through /dev/net/tun to the container and add the" + echo " parameter --cap-add=NET_ADMIN to the Extra Parameters!" + error_handler + fi + fi +fi + +if [ ! -z "${TAILSCALE_ADVERTISE_ROUTES}" ]; then + TAILSCALE_ADVERTISE_ROUTES="$(echo ${TAILSCALE_ADVERTISE_ROUTES} | sed 's/ //g')" + echo "Advertising custom routes! See https://tailscale.com/kb/1019/subnets#advertise-subnet-routes" + TS_PARAMS="${TS_PARAMS} --advertise-routes=${TAILSCALE_ADVERTISE_ROUTES}" +fi + +if [ "${TAILSCALE_USE_SSH}" = "true" ]; then + echo "Enabling SSH! See https://tailscale.com/kb/1193/tailscale-ssh" + TS_PARAMS="${TS_PARAMS} --ssh" +fi + +if [ "${TAILSCALE_LOG}" != "false" ]; then + TSD_PARAMS="${TSD_PARAMS} >>/var/log/tailscaled 2>&1 " + TSD_MSG=" with log file location: /var/log/tailscaled" +else + TSD_PARAMS="${TSD_PARAMS} >/dev/null 2>&1 " + TSD_MSG=" with logging disabled" +fi + +if [ ! -z "${TAILSCALE_HOSTNAME}" ]; then + echo "Setting host name to \"${TAILSCALE_HOSTNAME}\"" + TAILSCALE_HOSTNAME="$(echo "$TAILSCALE_HOSTNAME" | tr -d ' ')" + TS_PARAMS="${TS_PARAMS} --hostname=${TAILSCALE_HOSTNAME}" +fi + +if [ "${TAILSCALE_EXIT_NODE}" = "true" ]; then + echo "Configuring container as Exit Node! See https://tailscale.com/kb/1103/exit-nodes" + TS_PARAMS="${TS_PARAMS} --advertise-exit-node" +fi + +if [ ! -z "${TAILSCALED_PARAMS}" ]; then + TSD_PARAMS="${TAILSCALED_PARAMS} ${TSD_PARAMS}" +fi + +if [ ! -z "${TAILSCALE_PARAMS}" ]; then + TS_PARAMS="${TAILSCALE_PARAMS}${TS_PARAMS}" +fi + +echo "Starting tailscaled${TSD_MSG}" +eval tailscaled -statedir=${TSD_STATE_DIR} ${TSD_PARAMS}& + +echo "Starting tailscale" +eval tailscale up ${TS_PARAMS} --reset +EXIT_STATUS="$?" + +if [ "${EXIT_STATUS}" != "0" ]; then + echo "ERROR: Connecting to Tailscale not successful!" + if [ -f /var/log/tailscaled ]; then + echo "Please check the logs:" + tail -20 /var/log/tailscaled + fi + error_handler +fi +unset EXIT_STATUS + +if [ ! -z "${TAILSCALE_SERVE_PORT}" ] && [ "$(tailscale status --json | jq -r '.CurrentTailnet.MagicDNSEnabled')" = "false" ] ; then + echo "ERROR: Enable HTTPS on your Tailscale account to use Tailscale Serve/Funnel." + echo "See: https://tailscale.com/kb/1153/enabling-https" + error_handler +fi + +if [ "${TAILSCALE_EXIT_NODE}" = "true" ]; then + if [ "$(tailscale status --json | jq -r '.Self.ExitNodeOption')" = "false" ]; then + TSIP=$(tailscale status --json | jq -r '.Self.TailscaleIPs[0]') + echo "WARNING: Exit Node not yet approved." + echo " Navigate to https://login.tailscale.com/admin/machines/${TSIP} and approve it." + fi +fi + +KEY_EXPIRY=$(tailscale status --json | jq -r '.Self.KeyExpiry') +if [ "${KEY_EXPIRY}" != "null" ]; then + EXPIRY_EPOCH=$(date -d "${KEY_EXPIRY}" +"%s" 2>/dev/null) + CUR_EPOCH=$(date -u +%s) + DIFF_EPOCH=$((EXPIRY_EPOCH - CUR_EPOCH)) + DIFF_DAYS=$((DIFF_EPOCH / 86400)) + HOST=$(tailscale status --json | jq -r '.Self.HostName') + if [ -n "${DIFF_DAYS}" ] && echo "${DIFF_DAYS}" | grep -Eq '^[0-9]+$'; then + echo "WARNING: Tailscale Key will expire in ${DIFF_DAYS} days." + echo " Navigate to https://login.tailscale.com/admin/machines and 'Disable Key Expiry' for ${HOST}" + else + echo "ERROR: Tailscale Key expired!" + echo " Navigate to https://login.tailscale.com/admin/machines and Renew/Disable Key Expiry for ${HOST}" + fi + echo "See: https://tailscale.com/kb/1028/key-expiry" +fi + +if [ ! -z "${TAILSCALE_ADVERTISE_ROUTES}" ]; then + APPROVED_ROUTES="$(tailscale status --json | jq -r '.Self.PrimaryRoutes')" + IFS=',' + set -- ${TAILSCALE_ADVERTISE_ROUTES} + ROUTES="$@" + for route in ${ROUTES}; do + if ! echo "${APPROVED_ROUTES}" | grep -q "${route}"; then + NOT_APPROVED="$NOT_APPROVED ${route}" + fi + done + if [ ! -z "${NOT_APPROVED}" ]; then + TSIP="$(tailscale status --json | jq -r '.Self.TailscaleIPs[0]')" + echo "WARNING: The following route(s) are not approved:${NOT_APPROVED}" + echo " Navigate to https://login.tailscale.com/admin/machines/${TSIP} and approve it." + fi +fi + +if [ ! -z "${TAILSCALE_SERVE_PORT}" ]; then + if [ ! -z "${TAILSCALE_SERVE_PATH}" ]; then + TAILSCALE_SERVE_PATH="=${TAILSCALE_SERVE_PATH}" + fi + if [ -z "${TAILSCALE_SERVE_PROTOCOL}" ]; then + TAILSCALE_SERVE_PROTOCOL="https" + fi + if [ -z "${TAILSCALE_SERVE_PROTOCOL_PORT}" ]; then + TAILSCALE_SERVE_PROTOCOL_PORT="=443" + fi + if [ "${TAILSCALE_FUNNEL}" = "true" ]; then + echo "Enabling Funnel! See https://tailscale.com/kb/1223/funnel" + eval tailscale funnel --bg --"${TAILSCALE_SERVE_PROTOCOL}"${TAILSCALE_SERVE_PROTOCOL_PORT}${TAILSCALE_SERVE_PATH} http://localhost:"${TAILSCALE_SERVE_PORT}${TAILSCALE_SERVE_LOCALPATH}" | grep -v "To disable the proxy" + else + echo "Enabling Serve! See https://tailscale.com/kb/1312/serve" + eval tailscale serve --bg --"${TAILSCALE_SERVE_PROTOCOL}"${TAILSCALE_SERVE_PROTOCOL_PORT}${TAILSCALE_SERVE_PATH} http://localhost:"${TAILSCALE_SERVE_PORT}${TAILSCALE_SERVE_LOCALPATH}" | grep -v "To disable the proxy" + fi + if [ "${TAILSCALE_SERVE_PROTOCOL}" = "https" ]; then + TS_DNSNAME="$(tailscale status --json | jq -r '.Self.DNSName' | sed 's/\.$//')" + if [ ! -f "${TSD_STATE_DIR}/certs/${TS_DNSNAME}.crt" ] || [ ! -f "${TSD_STATE_DIR}/certs/${TS_DNSNAME}.key" ]; then + if [ ! -d "${TSD_STATE_DIR}/certs" ]; then + mkdir -p "${TSD_STATE_DIR}/certs" + fi + echo "Generating Tailscale certs! This can take some time, please wait..." + timeout 30 tailscale cert --cert-file="${TSD_STATE_DIR}/certs/${TS_DNSNAME}.crt" --key-file="${TSD_STATE_DIR}/certs/${TS_DNSNAME}.key" "${TS_DNSNAME}" >/dev/null 2>&1 + EXIT_STATUS="$?" + if [ "${EXIT_STATUS}" != "0" ]; then + echo "ERROR: Can't generate certificates!" + echo "Please check the logs:" + tail -10 /var/log/tailscaled + else + echo "Done!" + fi + unset EXIT_STATUS + fi + fi +fi + +exec_entrypoint From 70a9cea8859efb39b1f9599907d96c387f76c3be Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Mon, 21 Oct 2024 23:10:41 +0200 Subject: [PATCH 213/794] Fix missing newline in helptext --- emhttp/languages/en_US/helptext.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/emhttp/languages/en_US/helptext.txt b/emhttp/languages/en_US/helptext.txt index b26d3c33b..8321014c2 100644 --- a/emhttp/languages/en_US/helptext.txt +++ b/emhttp/languages/en_US/helptext.txt @@ -271,6 +271,7 @@ devices and verify checksums. *btrfs scrub* will repair corrupted blocks if there is a correct copy available. :end + :info_zfs_scrub_help: **Scrub** runs the *zfs scrub* program which will read all data and metadata blocks from all devices and verify checksums. From 68910922f99c77bc54dea4fe392e8ae620535efa Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Mon, 21 Oct 2024 23:13:23 +0200 Subject: [PATCH 214/794] Fix variable --- emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php b/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php index ef1686989..b2d8da1c3 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php +++ b/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php @@ -181,7 +181,7 @@ if (isset($_GET['updateContainer'])){ } $xml = file_get_contents($tmpl); [$cmd, $Name, $Repository] = xmlToCommand($tmpl); - $Network = getXmlVal($xml, "Network"); + $Registry = getXmlVal($xml, "Registry"); $TS_Enabled = getXmlVal($xml, "TailscaleEnabled"); $oldImageID = $DockerClient->getImageID($Repository); // pull image From 435b8be89ebff3e0fd0732448d47e6d30cf5045e Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Mon, 21 Oct 2024 23:16:53 +0200 Subject: [PATCH 215/794] Remove old variable --- emhttp/plugins/dynamix.docker.manager/include/DockerClient.php | 1 - 1 file changed, 1 deletion(-) diff --git a/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php b/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php index d2c61317b..94324087d 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php +++ b/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php @@ -309,7 +309,6 @@ class DockerTemplates { //$DockerUpdate->verbose = $this->verbose; $info = DockerUtil::loadJSON($dockerManPaths['webui-info']); $autoStart = array_map('var_split', @file($dockerManPaths['autostart-file'],FILE_IGNORE_NEW_LINES) ?: []); - //$TS_dns = $this->getTailscaleDNS(); foreach ($DockerClient->getDockerContainers() as $ct) { $name = $ct['Name']; $image = $ct['Image']; From b8b0986da2ce4acf2f6f876751d0c370154c75ea Mon Sep 17 00:00:00 2001 From: Tom Mortensen Date: Mon, 21 Oct 2024 16:49:41 -0700 Subject: [PATCH 216/794] update .gitignore to incude ./share directory --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index 30f6930f7..058cab56d 100644 --- a/.gitignore +++ b/.gitignore @@ -58,7 +58,6 @@ games/ info/ lib64/ man/ -share/ # Auto-generated when emhttpd/webGUI start emhttp/languages/en_US/helptext.dot From 034f970b0c94d7794836bd4af0dc0d0bea611f1b Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Tue, 22 Oct 2024 05:03:56 +0200 Subject: [PATCH 217/794] Update CreateDocker.php --- .../include/CreateDocker.php | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php b/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php index b2d8da1c3..8e76a5c9d 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php +++ b/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php @@ -182,6 +182,8 @@ if (isset($_GET['updateContainer'])){ $xml = file_get_contents($tmpl); [$cmd, $Name, $Repository] = xmlToCommand($tmpl); $Registry = getXmlVal($xml, "Registry"); + $ExtraParams = getXmlVal($xml, "ExtraParams"); + $Network = getXmlVal($xml, "Network"); $TS_Enabled = getXmlVal($xml, "TailscaleEnabled"); $oldImageID = $DockerClient->getImageID($Repository); // pull image @@ -196,6 +198,24 @@ if (isset($_GET['updateContainer'])){ // attempt graceful stop of container first stopContainer($Name, false, $echo); } + // check if network from another container is specified in xml (Network & ExtraParams) + if (preg_match('/^container:(.*)/', $Network)) { + $Net_Container = str_replace("container:", "", $Network); + } else { + preg_match("/--(net|network)=container:[^\s]+/", $ExtraParams, $NetworkParam); + if (!empty($NetworkParam[0])) { + $Net_Container = explode(':', $NetworkParam[0])[1]; + $Net_Container = str_replace(['"', "'"], '', $Net_Container); + } + } + // check if the container still exists from which the network should be used, if it doesn't exist any more recreate container with network none and don't start it + if (!empty($Net_Container)) { + $Net_Container_ID = $DockerClient->getContainerID($Net_Container); + if (empty($Net_Container_ID)) { + $cmd = str_replace('/docker run -d ', '/docker create ', $cmd); + $cmd = preg_replace("/--(net|network)=(['\"]?)container:[^'\"]+\\2/", "--network=none ", $cmd); + } + } // force kill container if still running after time-out if (empty($_GET['communityApplications'])) removeContainer($Name, $echo); // Extract real Entrypoint and Cmd from container for Tailscale From ba4555cdfda41727738538a92996e644555228be Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Tue, 22 Oct 2024 05:57:12 +0200 Subject: [PATCH 218/794] Fix for php error --- emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php b/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php index 8e76a5c9d..6989cd0ae 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php +++ b/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php @@ -377,7 +377,7 @@ $TS_not_approved = ""; exec("docker exec -i ".$xml['Name']." /bin/sh -c \"tailscale status --peers=false --json\"", $TS_raw); $TS_no_peers = json_decode(implode('', $TS_raw),true); $TS_container = json_decode(implode('', $TS_raw),true); -$TS_container = $TS_container['Self']; +$TS_container = $TS_container['Self']??''; if (!empty($TS_no_peers) && !empty($TS_container)) { // define the direct link to this machine on the Tailscale website if (!empty($TS_container['TailscaleIPs']) && !empty($TS_container['TailscaleIPs'][0])) { From d01196498b1c4a43f3151b4d7112607238f44664 Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Tue, 22 Oct 2024 06:21:01 +0200 Subject: [PATCH 219/794] Fix php error --- emhttp/plugins/dynamix.docker.manager/include/Helpers.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix.docker.manager/include/Helpers.php b/emhttp/plugins/dynamix.docker.manager/include/Helpers.php index 82013ec44..1509705a0 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/Helpers.php +++ b/emhttp/plugins/dynamix.docker.manager/include/Helpers.php @@ -109,7 +109,7 @@ function postToXML($post, $setOwnership=false) { $xml->TailscaleEnabled = 'true'; $xml->TailscaleIsExitNode = xml_encode($post['TSisexitnode']); $xml->TailscaleHostname = xml_encode($post['TShostname']); - $xml->TailscaleExitNodeIP = xml_encode($post['TSexitnodeip']); + $xml->TailscaleExitNodeIP = isset($post['TSexitnodeip']) ? xml_encode($post['TSexitnodeip']) : ''; $xml->TailscaleSSH = xml_encode($post['TSssh']); $xml->TailscaleUserspaceNetworking = xml_encode($post['TSuserspacenetworking']); $xml->TailscaleLANAccess = xml_encode($post['TSallowlanaccess']); From e63b7af06d508eb30c97154163c2848d47e499dd Mon Sep 17 00:00:00 2001 From: root Date: Tue, 22 Oct 2024 07:59:20 +0200 Subject: [PATCH 220/794] CreateDocker.php php error fix --- .../include/CreateDocker.php | 38 +++++++++++-------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php b/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php index 6989cd0ae..69b0d9203 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php +++ b/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php @@ -322,10 +322,12 @@ $bgcolor = strstr('white,azure',$display['theme']) ? '#f2f2f2' : '#1c1c1c'; # Search for existing TAILSCALE_ entries in the Docker template $TS_existing_vars = false; -foreach ($xml["Config"] as $config) { - if (isset($config["Target"]) && strpos($config["Target"], "TAILSCALE_") === 0) { - $TS_existing_vars = true; - break; +if (isset($xml["Config"]) && is_array($xml["Config"])) { + foreach ($xml["Config"] as $config) { + if (isset($config["Target"]) && strpos($config["Target"], "TAILSCALE_") === 0) { + $TS_existing_vars = true; + break; + } } } @@ -374,7 +376,7 @@ $TS_DirectMachineLink = $TS_MachinesLink; $TS_HostNameActual = ""; $TS_not_approved = ""; // Get Tailscale information and create arrays/variables -exec("docker exec -i ".$xml['Name']." /bin/sh -c \"tailscale status --peers=false --json\"", $TS_raw); +!empty($xml) && exec("docker exec -i " . escapeshellarg($xml['Name']) . " /bin/sh -c \"tailscale status --peers=false --json\"", $TS_raw); $TS_no_peers = json_decode(implode('', $TS_raw),true); $TS_container = json_decode(implode('', $TS_raw),true); $TS_container = $TS_container['Self']??''; @@ -871,10 +873,12 @@ $(function() { @@ -1100,8 +1104,9 @@ _(Fixed IP address)_ (_(optional)_): _(Container Network)_: : - :docker_tailscale_lanaccess_help: @@ -1262,7 +1265,7 @@ _(Tailscale Serve)_: -' . $TS_webui_url . ''; ?> +' . $TS_webui_url . ''; ?> :docker_tailscale_serve_mode_help: From c40147643a80d56fa93971326179498259eb9707 Mon Sep 17 00:00:00 2001 From: SimonFair <39065407+SimonFair@users.noreply.github.com> Date: Sat, 26 Oct 2024 13:54:28 +0100 Subject: [PATCH 228/794] Update vm_dashusage --- emhttp/plugins/dynamix/nchan/vm_dashusage | 36 ++++++++++++++++++----- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/emhttp/plugins/dynamix/nchan/vm_dashusage b/emhttp/plugins/dynamix/nchan/vm_dashusage index be0415b81..1b54e658a 100755 --- a/emhttp/plugins/dynamix/nchan/vm_dashusage +++ b/emhttp/plugins/dynamix/nchan/vm_dashusage @@ -12,17 +12,41 @@ */ ?> /dev/null",$dummy,$libvirtd); + $libvirtd = $libvirtd==0; + return $libvirtd; +} + $docroot = '/usr/local/emhttp'; $varroot = '/var/local/emhttp'; $md5_old = -1; require_once "$docroot/webGui/include/Helpers.php"; require_once "$docroot/webGui/include/publish.php"; -require_once "$docroot/plugins/dynamix.vm.manager/include/libvirt_helpers.php"; -global $vmusagestats; -exec("/etc/rc.d/rc.libvirt status >/dev/null",$dummy,$libvirtd); -$libvirtd = $libvirtd==0; -if (!$libvirtd) return; +global $vmusagestats,$var; +$domain_cfgfile = "/boot/config/domain.cfg"; +$domain_cfg = parse_ini_file($domain_cfgfile); +if (!isset($var)){ + $var = @parse_ini_file("$docroot/state/var.ini"); +} + +# Check if array started +if ($var['fsState'] == "Started" ) { + if (!get_libvird_status() && $domain_cfg['SERVICE'] == "enable") { + while(!get_libvird_status()) { + sleep(10); + } + sleep(10); + } elseif ($domain_cfg['SERVICE'] != "enable") { + #Add remove_nchan_pid_entry("webGui/nchan/vm_dashusage"); + return; + } +} else { + #Add remove_nchan_pid_entry("webGui/nchan/vm_dashusage"); + return; +} extract(parse_plugin_cfg('dynamix',true)); get_vm_usage_stats(); @@ -54,8 +78,6 @@ function update_translation($locale) { } } -$domain_cfgfile = "/boot/config/domain.cfg"; -$domain_cfg = parse_ini_file($domain_cfgfile); if (isset($domain_cfg['USAGE']) && $domain_cfg['USAGE'] != 'Y' ) return; if (!isset($domain_cfg['USAGETIMER'])) $timer = 3 ; else $timer = $domain_cfg['USAGETIMER']; From e79a99e8d7f6025427d08a1f64d85399a78ab071 Mon Sep 17 00:00:00 2001 From: SimonFair <39065407+SimonFair@users.noreply.github.com> Date: Sat, 26 Oct 2024 13:56:52 +0100 Subject: [PATCH 229/794] Update vm_dashusage --- emhttp/plugins/dynamix/nchan/vm_dashusage | 2 ++ 1 file changed, 2 insertions(+) diff --git a/emhttp/plugins/dynamix/nchan/vm_dashusage b/emhttp/plugins/dynamix/nchan/vm_dashusage index 1b54e658a..5b9332864 100755 --- a/emhttp/plugins/dynamix/nchan/vm_dashusage +++ b/emhttp/plugins/dynamix/nchan/vm_dashusage @@ -48,6 +48,8 @@ if ($var['fsState'] == "Started" ) { return; } +require_once "$docroot/plugins/dynamix.vm.manager/include/libvirt_helpers.php"; + extract(parse_plugin_cfg('dynamix',true)); get_vm_usage_stats(); sleep(1); From 027f667482e2f5da2bccfbe1b45426861857d454 Mon Sep 17 00:00:00 2001 From: dlandon Date: Sat, 26 Oct 2024 08:27:04 -0500 Subject: [PATCH 230/794] Add warning about server signing to SMB Security page. --- emhttp/languages/en_US/helptext.txt | 19 ++++++++++++++++++- emhttp/plugins/dynamix/SecuritySMB.page | 25 +++++++++++++++++++++++-- 2 files changed, 41 insertions(+), 3 deletions(-) diff --git a/emhttp/languages/en_US/helptext.txt b/emhttp/languages/en_US/helptext.txt index 33d9f9b77..d273d38dd 100644 --- a/emhttp/languages/en_US/helptext.txt +++ b/emhttp/languages/en_US/helptext.txt @@ -269,7 +269,14 @@ For more complete documentation, please refer to the btrfs-balance [Manpage](htt **Scrub** runs the *btrfs scrub* program which will read all data and metadata blocks from all devices and verify checksums. -If *Repair corrupted blocks* is checked, *btrfs scrub* will repair corrupted blocks if there’s a correct copy available. +*btrfs scrub* will repair corrupted blocks if there is a correct copy available. +:end + +:info_zfs_scrub_help: +**Scrub** runs the *zfs scrub* program which will read all data and metadata blocks from all +devices and verify checksums. + +Click the **Upgrade Pool** button to upgrade the ZFS pool to enable the latest ZFS features. :end :info_scrub_cancel_help: @@ -282,6 +289,10 @@ If *Repair corrupted blocks* is checked, *btrfs scrub* will repair corrupted blo The *Options* field is initialized with *--readonly* which specifies check-only. If repair is needed, you should run a second Check pass, setting the *Options* to *--repair*; this will permit *btrfs check* to fix the file system. +WARNING: **Do not use** *--repair* unless you are advised to do so by a developer or an experienced user, +and then only after having accepted that no fsck successfully repair all types of filesystem corruption. +E.g. some other software or hardware bugs can fatally damage a volume. + After starting a Check, you should Refresh to monitor progress and status. Depending on how large the file system is, and what errors might be present, the operation can take **a long time** to finish (hours). Not much info is printed in the window, but you can verify the operation is running by observing the read/write counters @@ -695,6 +706,12 @@ Summary of security modes: **Secure** All users including guests have read access, you select which of your users have write access. **Private** No guest access at all, you select which of your users have read/write, read-only access or no access. + +Windows Server Signing: + +If you are unable to browse SMB shares with Windows 11 version 24H2 or newer, you need to make some changes to accomodate a new feature called Server Signing. Server Signing is enabled in Unraid and you need to make changes to access Public shares. +You can disable it in Windows, or to work with Unraid with Server Signing enabled, the easiest way is to create a user (with a password set) in Unraid with the same name as the Windows account you are using, Windows should then ask you for the credentials. +If you are using a Microsoft account, it may be better to just create a user in Unraid with a simple username and set a password, then in Windows go to Control Panel -> Credential Manager -> Windows credentials -> Add a Windows Credential and add the correct Unraid server name and credentials. :end :smb_secure_access_help: diff --git a/emhttp/plugins/dynamix/SecuritySMB.page b/emhttp/plugins/dynamix/SecuritySMB.page index 5c7a2a24f..b460cb384 100644 --- a/emhttp/plugins/dynamix/SecuritySMB.page +++ b/emhttp/plugins/dynamix/SecuritySMB.page @@ -100,11 +100,11 @@ _(Case-sensitive names)_: _(Security)_: -: - + :smb_security_modes_help: @@ -315,4 +315,25 @@ function writeUserSMB(data,n,i) { writeUserSMB(data,0,i); } } + +function checkPublicSelection(select) { + /* Get reference to the warning message span */ + let warningMessage = document.getElementById("warningMessage"); + + /* Check if 'Public' is selected */ + if (select.value === "public") { + /* Display warning for 'Public' option */ + warningMessage.style.display = "inline"; + } else { + /* Hide warning for other options */ + warningMessage.style.display = "none"; + } +} + +/* Call checkPublicSelection with the initial selection on page load */ +document.addEventListener("DOMContentLoaded", function() { + let smbSecuritySelect = document.querySelector('[name="shareSecurity"]'); + checkPublicSelection(smbSecuritySelect); +}); + From 227c5797d956bee3adf08b252ce8ddad8880b837 Mon Sep 17 00:00:00 2001 From: SimonFair <39065407+SimonFair@users.noreply.github.com> Date: Sat, 26 Oct 2024 15:10:52 +0100 Subject: [PATCH 231/794] Update vm_dashusage --- emhttp/plugins/dynamix/nchan/vm_dashusage | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix/nchan/vm_dashusage b/emhttp/plugins/dynamix/nchan/vm_dashusage index 5b9332864..94da29a75 100755 --- a/emhttp/plugins/dynamix/nchan/vm_dashusage +++ b/emhttp/plugins/dynamix/nchan/vm_dashusage @@ -33,7 +33,7 @@ if (!isset($var)){ } # Check if array started -if ($var['fsState'] == "Started" ) { +if ($var['fsState'] == "Started" || $var['fsState'] == "Starting") { if (!get_libvird_status() && $domain_cfg['SERVICE'] == "enable") { while(!get_libvird_status()) { sleep(10); From 4302afd29f1f982f7668627f54f43d04770fdb4d Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Sun, 27 Oct 2024 15:06:44 +0100 Subject: [PATCH 232/794] Add Accept Routes --- share/docker/tailscale_container_hook | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/share/docker/tailscale_container_hook b/share/docker/tailscale_container_hook index 93d3ea088..c000bca0b 100755 --- a/share/docker/tailscale_container_hook +++ b/share/docker/tailscale_container_hook @@ -175,6 +175,11 @@ if [ ! -z "${TAILSCALE_ADVERTISE_ROUTES}" ]; then TS_PARAMS="${TS_PARAMS} --advertise-routes=${TAILSCALE_ADVERTISE_ROUTES}" fi +if [ "${TAILSCALE_ACCEPT_ROUTES}" = "true" ]; then + echo "Accepting subnet routes! See https://tailscale.com/kb/1019/subnets#use-your-subnet-routes-from-other-devices" + TS_PARAMS="${TS_PARAMS} --accept-routes" +fi + if [ "${TAILSCALE_USE_SSH}" = "true" ]; then echo "Enabling SSH! See https://tailscale.com/kb/1193/tailscale-ssh" TS_PARAMS="${TS_PARAMS} --ssh" From 107ea81c48833fa867670489107f1df80ca37e7c Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Sun, 27 Oct 2024 15:07:35 +0100 Subject: [PATCH 233/794] Update CreateDocker.php --- .../include/CreateDocker.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php b/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php index 2b138059d..70d73cabf 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php +++ b/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php @@ -1336,6 +1336,17 @@ _(Tailscale Advertise Routes)_: +
+_(Tailscale Accept Routes)_: +: + +:docker_tailscale_accept_routes_help: + +
+
_(Tailscale Daemon Parameters)_: : placeholder="_(Leave empty if unsure)_"> @@ -1649,6 +1660,7 @@ function showTSAdvanced(checked) { $('.TSwebui').hide(); $('.TStroubleshooting').hide(); $('.TSroutes').hide(); + $('.TSacceptroutes').hide(); } else { $('.TSdaemonparams').show(); $('.TSextraparams').show(); @@ -1661,6 +1673,7 @@ function showTSAdvanced(checked) { $('.TSwebui').show(); $('.TStroubleshooting').show(); $('.TSroutes').show(); + $('.TSacceptroutes').show(); } } @@ -1694,6 +1707,7 @@ function showTailscale(source) { $('.TSserveport').hide(); $('.TSadvanced').hide(); $('.TSroutes').hide(); + $('.TSacceptroutes').hide(); } else { // reset these vals back to what they were in the XML $('#TSssh').val(''); @@ -1701,6 +1715,7 @@ function showTailscale(source) { $('#TSserve').val(''); $('#TSexitnodeip').val(''); $('#TSuserspacenetworking').val(''); + $('#TSacceptroutes').val(''); $('#TSserve').val('serve'); From 145629d26e604680e6505659ad8e7401d29c3b18 Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Sun, 27 Oct 2024 15:08:12 +0100 Subject: [PATCH 234/794] Update Helpers.php --- emhttp/plugins/dynamix.docker.manager/include/Helpers.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/emhttp/plugins/dynamix.docker.manager/include/Helpers.php b/emhttp/plugins/dynamix.docker.manager/include/Helpers.php index 604e25ef1..57fe2658b 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/Helpers.php +++ b/emhttp/plugins/dynamix.docker.manager/include/Helpers.php @@ -126,6 +126,7 @@ function postToXML($post, $setOwnership=false) { $xml->TailscaleParams = xml_encode($post['TSextraparams']); $xml->TailscaleStateDir = xml_encode($post['TSstatedir']); $xml->TailscaleRoutes = xml_encode($post['TSroutes']);; + $xml->TailscaleAcceptRoutes = xml_encode($post['TSacceptroutes']);; if (isset($post['TStroubleshooting']) && strtolower($post['TStroubleshooting']) === 'on') { $xml->TailscaleTroubleshooting = 'true'; } @@ -176,6 +177,7 @@ function xmlToVar($xml) { $out['TailscaleServePath'] = xml_decode($xml->TailscaleServePath ?? ''); $out['TailscaleWebUI'] = xml_decode($xml->TailscaleWebUI ?? ''); $out['TailscaleRoutes'] = xml_decode($xml->TailscaleRoutes ?? ''); + $out['TailscaleAcceptRoutes'] = xml_decode($xml->TailscaleAcceptRoutes ?? ''); $out['TailscaleDParams'] = xml_decode($xml->TailscaleDParams ?? ''); $out['TailscaleParams'] = xml_decode($xml->TailscaleParams ?? ''); $out['TailscaleStateDir'] = xml_decode($xml->TailscaleStateDir ?? ''); @@ -371,6 +373,7 @@ function xmlToCommand($xml, $create_paths=false) { $TS_web_ui = ''; $TS_troubleshooting = ''; $TS_routes = ''; + $TS_accept_routes =''; $TS_postargs = ''; // Get all information from xml and create variables for cmd if ($xml['TailscaleEnabled'] == 'true') { @@ -403,6 +406,7 @@ function xmlToCommand($xml, $create_paths=false) { $TS_web_ui = !empty($xml['TailscaleWebUI']) ? '-l net.unraid.docker.tailscale.webui=' . escapeshellarg($xml['TailscaleWebUI']) : ''; $TS_troubleshooting = !empty($xml['TailscaleTroubleshooting']) ? '-e TAILSCALE_TROUBLESHOOTING=' . escapeshellarg($xml['TailscaleTroubleshooting']) : ''; $TS_routes = !empty($xml['TailscaleRoutes']) ? '-e TAILSCALE_ADVERTISE_ROUTES=' . escapeshellarg($xml['TailscaleRoutes']) : ''; + $TS_accept_routes = !empty($xml['TailscaleAcceptRoutes']) && $xml['TailscaleAcceptRoutes'] === 'true' ? '-e TAILSCALE_ACCEPT_ROUTES=true' : ''; if (!empty($xml['PostArgs'])) { $TS_postargs = '-e ORG_POSTARGS=' . escapeshellarg($xml['PostArgs']); $xml['PostArgs'] = ''; @@ -466,8 +470,8 @@ function xmlToCommand($xml, $create_paths=false) { $pid_limit = ""; } - $cmd = sprintf($docroot.'/plugins/dynamix.docker.manager/scripts/docker create %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s', - $cmdName, $TS_entrypoint, $cmdNetwork, $cmdMyIP, $cmdCPUset, $pid_limit, $cmdPrivileged, implode(' -e ', $Variables), $TS_hostname, $TS_exitnode, $TS_exitnode_ip, $TS_lan_access, $TS_routes, $TS_ssh, $TS_userspace_networking, $TS_serve_funnel, $TS_serve_port, $TS_serve_local_path, $TS_serve_protocol, $TS_serve_protocol_port, $TS_serve_path, $TS_daemon_params, $TS_extra_params, $TS_state_dir, $TS_troubleshooting, $TS_postargs, implode(' -l ', $Labels), $TS_web_ui, $TS_hostname_label, implode(' -p ', $Ports), implode(' -v ', $Volumes), $TS_hook, $TS_cap, $TS_tundev, implode(' --device=', $Devices), $xml['ExtraParams'], escapeshellarg($xml['Repository']), $xml['PostArgs']); + $cmd = sprintf($docroot.'/plugins/dynamix.docker.manager/scripts/docker create %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s', + $cmdName, $TS_entrypoint, $cmdNetwork, $cmdMyIP, $cmdCPUset, $pid_limit, $cmdPrivileged, implode(' -e ', $Variables), $TS_hostname, $TS_exitnode, $TS_exitnode_ip, $TS_lan_access, $TS_routes, $TS_accept_routes, $TS_ssh, $TS_userspace_networking, $TS_serve_funnel, $TS_serve_port, $TS_serve_local_path, $TS_serve_protocol, $TS_serve_protocol_port, $TS_serve_path, $TS_daemon_params, $TS_extra_params, $TS_state_dir, $TS_troubleshooting, $TS_postargs, implode(' -l ', $Labels), $TS_web_ui, $TS_hostname_label, implode(' -p ', $Ports), implode(' -v ', $Volumes), $TS_hook, $TS_cap, $TS_tundev, implode(' --device=', $Devices), $xml['ExtraParams'], escapeshellarg($xml['Repository']), $xml['PostArgs']); return [preg_replace('/\s\s+/', ' ', $cmd), $xml['Name'], $xml['Repository']]; } function stopContainer($name, $t=false, $echo=true) { From d5c26614828b671002b45189ace5e42bc09cb8fd Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Sun, 27 Oct 2024 15:09:20 +0100 Subject: [PATCH 235/794] Update helptext.txt --- emhttp/languages/en_US/helptext.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/emhttp/languages/en_US/helptext.txt b/emhttp/languages/en_US/helptext.txt index 14295bd35..395bc7c26 100644 --- a/emhttp/languages/en_US/helptext.txt +++ b/emhttp/languages/en_US/helptext.txt @@ -2432,6 +2432,11 @@ If desired, specify any routes that should be passed to the **`--advertise-route For more details see the Subnet routers documentation. :end +:docker_tailscale_accept_routes_help: +When enabled, this will accept your subnet routes from other devices, adding the **`--accept-routes`** parameter when running **`tailscale up`**. +For more details see the Use your subnet routes from other devices documentation. +:end + :docker_tailscale_daemon_extra_params_help: Specify any extra parameters to pass when starting **`tailscaled`**. For more details see the tailscaled documentation. From 9933affbbfb9362419bcc23c477b47530fc1ffa6 Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Mon, 28 Oct 2024 22:07:33 +0100 Subject: [PATCH 236/794] Move TS icon to Network - Move Tailscale information from `Version` to `Network` column --- .../include/DockerContainers.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php b/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php index 72fbb73e5..764691a48 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php +++ b/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php @@ -204,7 +204,7 @@ foreach ($containers as $ct) { case 1: echo "
"._('update ready')."
"; if ($ct['Manager'] == "dockerman") { - echo " "._('apply update').""; + echo " "._('apply update').""; } elseif (!empty($composestack)) { echo "
Compose
"; echo " "._('update available').""; @@ -231,6 +231,7 @@ foreach ($containers as $ct) { break; } // Check if Tailscale for container is enabled by checking if TShostname is set + $TS_status = ''; if (!empty($TShostname)) { if ($running) { // Get stats from container and check if they are not empty @@ -309,18 +310,18 @@ foreach ($containers as $ct) { } } // Display TSinfo if data was fetched correctly - echo "
Tailscale
"; + $TS_status = "
Tailscale
"; } else { // Display message to refresh page if Tailscale in the container wasn't maybe ready to get the data - echo "
Tailscale
"; + $TS_status = "
Tailscale
"; } } else { // Display message that container isn't running - echo "
Tailscale
"; + $TS_status = "
Tailscale
"; } } echo "
".compress(_($version),12,0)."
"; - echo "
"; + echo ""; echo ""; echo ""; echo ""; From c5f1226e8372d5be4b7136a651e79b67ef6081d6 Mon Sep 17 00:00:00 2001 From: Tom Mortensen Date: Mon, 28 Oct 2024 15:31:18 -0700 Subject: [PATCH 237/794] The 'rc.samba reload' command needs to do a 'restart' if the interfaces changed. --- etc/rc.d/rc.samba | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/etc/rc.d/rc.samba b/etc/rc.d/rc.samba index 7da1d1e0b..3eb0bf152 100755 --- a/etc/rc.d/rc.samba +++ b/etc/rc.d/rc.samba @@ -185,19 +185,23 @@ samba_restart(){ samba_start } -samba_reload(){ - killall --ns $$ wsdd2 2>/dev/null - # update settings - samba_settings - # reload services with smbcontrol - smbcontrol all reload-config 2>/dev/null - [[ $USE_WSD == yes ]] && $WSDD2 -d ${WSD2_OPT## } 2>/dev/null -} - samba_update(){ if samba_running && check && [[ "$(this interfaces)" != "$BIND" ]]; then log "Updating $DAEMON..." samba_restart # note we need restart here, not reload in order to update interfaces + return 0 + fi +} + +samba_reload(){ + if ! samba_update ; then + log "Reloading $DAEMON..." + killall --ns $$ wsdd2 2>/dev/null + # update settings + samba_settings + # reload services with smbcontrol + smbcontrol all reload-config 2>/dev/null + [[ $USE_WSD == yes ]] && $WSDD2 -d ${WSD2_OPT## } 2>/dev/null fi } From 0196308a35f00dd52ec4e77d8adae27cdc8b9ffa Mon Sep 17 00:00:00 2001 From: Tom Mortensen Date: Mon, 28 Oct 2024 15:32:16 -0700 Subject: [PATCH 238/794] un-document non-existent 'heartbeat' event --- sbin/emhttp_event | 3 --- 1 file changed, 3 deletions(-) diff --git a/sbin/emhttp_event b/sbin/emhttp_event index f4c3cc4cc..8d1b8f01e 100755 --- a/sbin/emhttp_event +++ b/sbin/emhttp_event @@ -75,9 +75,6 @@ # Note that if array is not Started, emhttp will not spin down any disk, but emhttp will # still poll SMART data (for spun-up devices) and generate this event. -# heartbeat -# Occurs once per second. - # Invoke all 'any_event' scripts that might exist for Dir in /usr/local/emhttp/plugins/* ; do if [ -d $Dir/event/any_event ]; then From dd5c5a190b18178a29de389a81cd835730f2e0d9 Mon Sep 17 00:00:00 2001 From: Tom Mortensen Date: Mon, 28 Oct 2024 15:33:01 -0700 Subject: [PATCH 239/794] Do not let user create 'spares' zfs subpool just yet - functionality is not complete. --- emhttp/plugins/dynamix/CacheDevices.page | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix/CacheDevices.page b/emhttp/plugins/dynamix/CacheDevices.page index 855dd31d2..2160557b1 100644 --- a/emhttp/plugins/dynamix/CacheDevices.page +++ b/emhttp/plugins/dynamix/CacheDevices.page @@ -193,7 +193,7 @@ _(Name)_: - + _(Slots)_: From ec36fd3c8e3eb009759cc25c225a6fa83b877bf9 Mon Sep 17 00:00:00 2001 From: Squidly271 Date: Mon, 28 Oct 2024 19:12:45 -0400 Subject: [PATCH 240/794] Warning for clicking an external link --- .../dynamix/include/DefaultPageLayout.php | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/emhttp/plugins/dynamix/include/DefaultPageLayout.php b/emhttp/plugins/dynamix/include/DefaultPageLayout.php index ee4ab10ff..d8513f31a 100644 --- a/emhttp/plugins/dynamix/include/DefaultPageLayout.php +++ b/emhttp/plugins/dynamix/include/DefaultPageLayout.php @@ -1111,6 +1111,38 @@ $(function() { } $('form').append($('').attr({type:'hidden', name:'csrf_token', value:csrf_token})); }); + +$('body').on("click","a", function(e) { + href = $(this).attr("href").trim(); + target = $(this).attr("target"); + + if ( href ) { + if ( href.indexOf("/") == 0 ) { // all internal links start with "/" + return; + } + if ( href.match('https://[^\.]*.(my)?unraid.net/') || href.indexOf("https://unraid.net/") == 0 || href == "https://unraid.net" ) { + return; + } else { + if (href !== "#" && href.indexOf("javascript") !== 0) { + e.preventDefault(); + swal({ + title: "", + text: "

"+href, + html: true, + type: 'warning', + showCancelButton: true, + showConfirmButton: true, + cancelButtonText: "", + confirmButtonText: "" + },function(isConfirm) { + if (isConfirm) { + window.open(href,target); + } + }); + } + } + } +}); From fcec8111c303325184c16349fb0f1ad27c7f6d0e Mon Sep 17 00:00:00 2001 From: Squidly271 Date: Mon, 28 Oct 2024 19:38:24 -0400 Subject: [PATCH 241/794] Update docker.js --- emhttp/plugins/dynamix.docker.manager/javascript/docker.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix.docker.manager/javascript/docker.js b/emhttp/plugins/dynamix.docker.manager/javascript/docker.js index 71e4b5ff1..033614409 100644 --- a/emhttp/plugins/dynamix.docker.manager/javascript/docker.js +++ b/emhttp/plugins/dynamix.docker.manager/javascript/docker.js @@ -4,7 +4,7 @@ function addDockerContainerContext(container, image, template, started, paused, var opts = []; context.settings({right:false,above:false}); if (started && !paused) { - if (webui !== '' && webui != '#') opts.push({text:_('WebUI'), icon:'fa-globe', href:webui, target:'_blank'}); + if (webui !== '' && webui != '#') opts.push({text:_('WebUI'), icon:'fa-globe', action:function(e){e.preventDefault();window.open(webui,'_blank');}}); if (tswebui !== '' && tswebui != '#') opts.push({text:_('Tailscale WebUI'), icon:'fa-globe', href:tswebui, target:'_blank'}); opts.push({text:_('Console'), icon:'fa-terminal', action:function(e){e.preventDefault(); openTerminal('docker',container,shell);}}); opts.push({divider:true}); From 8dfd63e5a7d4dd9f08f985ac2c7f24dbe76e164f Mon Sep 17 00:00:00 2001 From: Squidly271 Date: Mon, 28 Oct 2024 20:02:00 -0400 Subject: [PATCH 242/794] Update tswebui --- emhttp/plugins/dynamix.docker.manager/javascript/docker.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix.docker.manager/javascript/docker.js b/emhttp/plugins/dynamix.docker.manager/javascript/docker.js index 033614409..d16d23f55 100644 --- a/emhttp/plugins/dynamix.docker.manager/javascript/docker.js +++ b/emhttp/plugins/dynamix.docker.manager/javascript/docker.js @@ -5,7 +5,7 @@ function addDockerContainerContext(container, image, template, started, paused, context.settings({right:false,above:false}); if (started && !paused) { if (webui !== '' && webui != '#') opts.push({text:_('WebUI'), icon:'fa-globe', action:function(e){e.preventDefault();window.open(webui,'_blank');}}); - if (tswebui !== '' && tswebui != '#') opts.push({text:_('Tailscale WebUI'), icon:'fa-globe', href:tswebui, target:'_blank'}); + if (tswebui !== '' && tswebui != '#') opts.push({text:_('Tailscale WebUI'), icon:'fa-globe', action:function(e){e.preventDefault();window.open(tswebui,'_blank');}}); opts.push({text:_('Console'), icon:'fa-terminal', action:function(e){e.preventDefault(); openTerminal('docker',container,shell);}}); opts.push({divider:true}); } From e332dc6c2132c8229642a51159c2a2fee283d1b8 Mon Sep 17 00:00:00 2001 From: Squidly271 Date: Mon, 28 Oct 2024 21:06:06 -0400 Subject: [PATCH 243/794] Popup blocked detection --- emhttp/plugins/dynamix/include/DefaultPageLayout.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix/include/DefaultPageLayout.php b/emhttp/plugins/dynamix/include/DefaultPageLayout.php index d8513f31a..af03c8474 100644 --- a/emhttp/plugins/dynamix/include/DefaultPageLayout.php +++ b/emhttp/plugins/dynamix/include/DefaultPageLayout.php @@ -1136,7 +1136,13 @@ $('body').on("click","a", function(e) { confirmButtonText: "" },function(isConfirm) { if (isConfirm) { - window.open(href,target); + var popupOpen = window.open(href,target); + if ( !popupOpen || popupOpen.closed || typeof popupOpen == "undefined" ) { + var popupWarning = addBannerWarning(""); + setTimeout(function() { + removeBannerWarning(popupWarning);} + ,10000); + } } }); } From 6388c9d6db74bdf29f7e3b0def335da36c0c142a Mon Sep 17 00:00:00 2001 From: Squidly271 Date: Mon, 28 Oct 2024 23:24:22 -0400 Subject: [PATCH 244/794] white list lime-technology.com --- emhttp/plugins/dynamix/include/DefaultPageLayout.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix/include/DefaultPageLayout.php b/emhttp/plugins/dynamix/include/DefaultPageLayout.php index af03c8474..de7a79f3e 100644 --- a/emhttp/plugins/dynamix/include/DefaultPageLayout.php +++ b/emhttp/plugins/dynamix/include/DefaultPageLayout.php @@ -1120,7 +1120,7 @@ $('body').on("click","a", function(e) { if ( href.indexOf("/") == 0 ) { // all internal links start with "/" return; } - if ( href.match('https://[^\.]*.(my)?unraid.net/') || href.indexOf("https://unraid.net/") == 0 || href == "https://unraid.net" ) { + if ( href.match('https://[^\.]*.(my)?unraid.net/') || href.indexOf("https://unraid.net/") == 0 || href == "https://unraid.net" || href.indexOf("http://lime-technology.com/") == 0) { return; } else { if (href !== "#" && href.indexOf("javascript") !== 0) { From c439bc7d3fadd4c4d862dfe5d331b2308bb760de Mon Sep 17 00:00:00 2001 From: dlandon Date: Tue, 29 Oct 2024 06:48:21 -0500 Subject: [PATCH 245/794] Email is now required on feedback form. --- emhttp/plugins/dynamix/scripts/feedback | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/emhttp/plugins/dynamix/scripts/feedback b/emhttp/plugins/dynamix/scripts/feedback index 615a49661..094e731c6 100755 --- a/emhttp/plugins/dynamix/scripts/feedback +++ b/emhttp/plugins/dynamix/scripts/feedback @@ -208,8 +208,8 @@ $(function(){ var tab = '#'+$('input[name=mode]:checked').val(); var panel = tab+'_panel'; var enter = ['#troubleshoot'].includes(tab); - var email = " ("+(enter ? "" : "")+")"; - $('input#email').prop('placeholder',email).prop('required',enter); + var email = " ("+""+")"; + $('input#email').prop('placeholder',email).prop('required','true'); $('#submit_button').prop('disabled',validInput($(tab))); $('.allpanels').not(panel).fadeOut('fast'); $(panel).fadeIn('fast'); From 9d657db258f90935a78a1e1db19711e7209242cc Mon Sep 17 00:00:00 2001 From: SimonFair <39065407+SimonFair@users.noreply.github.com> Date: Tue, 29 Oct 2024 16:42:48 +0000 Subject: [PATCH 246/794] Re apply scaling option for noVNC from dash. --- emhttp/plugins/dynamix/include/DashboardApps.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix/include/DashboardApps.php b/emhttp/plugins/dynamix/include/DashboardApps.php index 564ec89d7..c8e834270 100644 --- a/emhttp/plugins/dynamix/include/DashboardApps.php +++ b/emhttp/plugins/dynamix/include/DashboardApps.php @@ -97,7 +97,8 @@ if ($_POST['vms']) { if ($vmrcport > 0) { $wsport = $lv->domain_get_ws_port($res); $vmrcprotocol = $lv->domain_get_vmrc_protocol($res) ; - $vmrcurl = autov('/plugins/dynamix.vm.manager/'.$vmrcprotocol.'.html',true).'&autoconnect=true&host=' . $_SERVER['HTTP_HOST'] ; + if ($vmrcprotocol == "vnc") $vmrcscale = "&resize=scale"; else $vmrcscale = ""; + $vmrcurl = autov('/plugins/dynamix.vm.manager/'.$vmrcprotocol.'.html',true).$vmrcscale.'&autoconnect=true&host=' . $_SERVER['HTTP_HOST'] ; if ($vmrcprotocol == "spice") $vmrcurl .= '&vmname='. urlencode($vm) . '&port=/wsproxy/'.$vmrcport.'/' ; else $vmrcurl .= '&port=&path=/wsproxy/' . $wsport . '/'; } elseif ($vmrcport == -1 || $autoport) { $vmrcprotocol = $lv->domain_get_vmrc_protocol($res) ; From 6d7fb688db5d2486cd2650dcd3448bb0ef010288 Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Wed, 30 Oct 2024 12:22:44 +0100 Subject: [PATCH 247/794] Update DockerContainers.page - Initialize `tooltipster` for TS_tooltip elements and insert into `head` --- .../plugins/dynamix.docker.manager/DockerContainers.page | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix.docker.manager/DockerContainers.page b/emhttp/plugins/dynamix.docker.manager/DockerContainers.page index 32f6672e9..eb3d8ee61 100644 --- a/emhttp/plugins/dynamix.docker.manager/DockerContainers.page +++ b/emhttp/plugins/dynamix.docker.manager/DockerContainers.page @@ -116,6 +116,12 @@ function loadlist(init) { clearTimeout(timers.docker); var data = d.split(/\0/); $('#docker_list').html(data[0]); + $('#docker_list .TS_tooltip').tooltipster({ + animation: 'fade', + delay: 200, + trigger: 'hover', + contentAsHTML: true + }); $('head').append(' - From c1fc0a0418a638ad1b4909ce7ac7db9ca3ca7a31 Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Wed, 30 Oct 2024 12:25:51 +0100 Subject: [PATCH 248/794] Update DockerContainers.php - Update formatting to support `tooltipster` --- .../include/DockerContainers.php | 44 ++++++++++--------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php b/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php index 764691a48..88b7039eb 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php +++ b/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php @@ -233,6 +233,7 @@ foreach ($containers as $ct) { // Check if Tailscale for container is enabled by checking if TShostname is set $TS_status = ''; if (!empty($TShostname)) { + echo "
"; if ($running) { // Get stats from container and check if they are not empty $TSstats = tailscale_stats($name); @@ -240,27 +241,27 @@ foreach ($containers as $ct) { // Construct TSinfo from TSstats $TSinfo = ''; if (!$TSstats["Self"]["Online"]) { - $TSinfo .= "Online:\t\t❌\nPlease check the logs!"; + $TSinfo .= "
Online:
Please check the logs!
"; } else { $TS_version = explode('-', $TSstats["Version"])[0]; if (!empty($TS_version)) { if (!empty($TS_latest_version)) { if ($TS_version !== $TS_latest_version) { - $TSinfo .= "Version:\t\t" . $TS_version . " ➔ " . $TS_latest_version . " available!\n"; + $TSinfo .= "
Version:" . $TS_version . " ➔ " . $TS_latest_version . " available!
"; } else { - $TSinfo .= "Version:\t\t" . $TS_version . "\n"; + $TSinfo .= "
Version:" . $TS_version . "
"; } } else { - $TSinfo .= "Version:\t\t" . $TS_version . "\n"; + $TSinfo .= "
Version:" . $TS_version . "
"; } } - $TSinfo .= "Online:\t\t✅\n"; + $TSinfo .= "
Online:
"; $TS_DNSName = $TSstats["Self"]["DNSName"]; $TS_HostNameActual = substr($TS_DNSName, 0, strpos($TS_DNSName, '.')); if (strcasecmp($TS_HostNameActual, $TShostname) !== 0 && !empty($TS_DNSName)) { - $TSinfo .= "Hostname:\tReal Hostname ➔ " . $TS_HostNameActual . "\n"; + $TSinfo .= "
Hostname:Real Hostname ➔ " . $TS_HostNameActual . "
"; } else { - $TSinfo .= "Hostname:\t" . $TShostname . "\n"; + $TSinfo .= "
Hostname:" . $TShostname . "
"; } // Map region relay code to cleartext region if TS_derp_list is available if (!empty($TS_derp_list)) { @@ -271,31 +272,31 @@ foreach ($containers as $ct) { } } if (!empty($TSregion)) { - $TSinfo .= "Main Relay:\t" . $TSregion . "\n"; + $TSinfo .= "
Main Relay:" . $TSregion . "
"; } else { - $TSinfo .= "Main Relay:\t" . $TSstats["Self"]["Relay"] . "\n"; + $TSinfo .= "
Main Relay:" . $TSstats["Self"]["Relay"] . "
"; } } else { - $TSinfo .= "Main Relay:\t" . $TSstats["Self"]["Relay"] . "\n"; + $TSinfo .= "
Main Relay:" . $TSstats["Self"]["Relay"] . "
"; } if (!empty($TSstats["Self"]["TailscaleIPs"])) { - $TSinfo .= "Addresses:\t" . implode("\n\t\t\t", $TSstats["Self"]["TailscaleIPs"]) . "\n"; + $TSinfo .= "
Addresses:" . implode("
", $TSstats["Self"]["TailscaleIPs"]) . "
"; } if (!empty($TSstats["Self"]["PrimaryRoutes"])) { - $TSinfo .= "Routes:\t\t" . implode("\n\t\t\t", $TSstats["Self"]["PrimaryRoutes"]) . "\n"; + $TSinfo .= "
Routes:" . implode("
", $TSstats["Self"]["PrimaryRoutes"]) . "
"; } if ($TSstats["Self"]["ExitNodeOption"]) { - $TSinfo .= "Is Exit Node:\t✅\n"; + $TSinfo .= "
Is Exit Node:
"; } else { if (!empty($TSstats["ExitNodeStatus"])) { $TS_exit_node_status = ($TSstats["ExitNodeStatus"]["Online"]) ? "✅" : "❌"; - $TSinfo .= "Exit Node:\t" . strstr($TSstats["ExitNodeStatus"]["TailscaleIPs"][0], '/', true) . " | Status: " . $TS_exit_node_status ."\n"; + $TSinfo .= "
Exit Node:" . strstr($TSstats["ExitNodeStatus"]["TailscaleIPs"][0], '/', true) . " | Status: " . $TS_exit_node_status ."
"; } else { - $TSinfo .= "Is Exit Node:\t❌\n"; + $TSinfo .= "
Is Exit Node:
"; } } if (!empty($TSwebGui)) { - $TSinfo .= "URL:\t\t" . $TSwebGui . "\n"; + $TSinfo .= "
URL:" . $TSwebGui . "
"; } if (!empty($TSstats["Self"]["KeyExpiry"])) { $TS_expiry = new DateTime($TSstats["Self"]["KeyExpiry"]); @@ -303,22 +304,23 @@ foreach ($containers as $ct) { $TS_expiry_formatted = $TS_expiry->format('Y-m-d'); $TS_expiry_diff = $current_Date->diff($TS_expiry); if ($TS_expiry_diff->invert) { - $TSinfo .= "Key Expiry:\t❌ Expired! Renew/Disable key expiry!\n"; + $TSinfo .= "
Key Expiry:❌ Expired! Renew/Disable key expiry!
"; } else { - $TSinfo .= "Key Expiry:\t" . $TS_expiry_formatted . " (" . $TS_expiry_diff->days . " days)\n"; + $TSinfo .= "
Key Expiry:" . $TS_expiry_formatted . " (" . $TS_expiry_diff->days . " days)
"; } } } // Display TSinfo if data was fetched correctly - $TS_status = "
Tailscale
"; + $TS_status = "
Tailscale
"; } else { // Display message to refresh page if Tailscale in the container wasn't maybe ready to get the data - $TS_status = "
Tailscale
"; + $TS_status = "
Tailscale
"; } } else { // Display message that container isn't running - $TS_status = "
Tailscale
"; + $TS_status = "
Tailscale
"; } + echo "
"; } echo "
".compress(_($version),12,0)."
"; echo "
"; From 28cbf0abe18b61456b97a25e6d094fb3b285e361 Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Wed, 30 Oct 2024 12:26:16 +0100 Subject: [PATCH 249/794] Update style-white.css --- emhttp/plugins/dynamix.docker.manager/styles/style-white.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/emhttp/plugins/dynamix.docker.manager/styles/style-white.css b/emhttp/plugins/dynamix.docker.manager/styles/style-white.css index 260009398..8f3da5d04 100644 --- a/emhttp/plugins/dynamix.docker.manager/styles/style-white.css +++ b/emhttp/plugins/dynamix.docker.manager/styles/style-white.css @@ -12,3 +12,7 @@ .ui-dropdownchecklist-indent{padding-left:7px} .ui-dropdownchecklist-text{color:#1c1c1c;font-size:1.3rem} .ui-dropdownchecklist .ui-widget-content .ui-state-default{background:#f2f2f2;border:0px} +.ui-tailscale-container {display: flex;flex-direction: column;margin: 20px auto;width: 100%;} +.ui-tailscale-row {display: flex;justify-content: space-between;min-width: 250px;width: 100%;flex-wrap: nowrap;overflow-x: auto;} +.ui-tailscale-label {flex: 1;} +.ui-tailscale-value {flex: 3;} From c0a33df5aaffd38ac87d90bdf0bb4c81b7c1af49 Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Wed, 30 Oct 2024 12:26:34 +0100 Subject: [PATCH 250/794] Update style-gray.css --- emhttp/plugins/dynamix.docker.manager/styles/style-gray.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/emhttp/plugins/dynamix.docker.manager/styles/style-gray.css b/emhttp/plugins/dynamix.docker.manager/styles/style-gray.css index 064aa4307..5ac67ca68 100644 --- a/emhttp/plugins/dynamix.docker.manager/styles/style-gray.css +++ b/emhttp/plugins/dynamix.docker.manager/styles/style-gray.css @@ -12,3 +12,7 @@ .ui-dropdownchecklist-indent{padding-left:7px} .ui-dropdownchecklist-text{color:#f2f2f2;font-size:1.3rem} .ui-dropdownchecklist .ui-widget-content .ui-state-default{background:#1c1c1c;border:0px} +.ui-tailscale-container {display: flex;flex-direction: column;margin: 20px auto;width: 100%;} +.ui-tailscale-row {display: flex;justify-content: space-between;min-width: 250px;width: 100%;flex-wrap: nowrap;overflow-x: auto;} +.ui-tailscale-label {flex: 1;} +.ui-tailscale-value {flex: 3;} From 575978e1472b4b3147ef1a760f46228c98cd6224 Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Wed, 30 Oct 2024 12:26:52 +0100 Subject: [PATCH 251/794] Update style-black.css --- emhttp/plugins/dynamix.docker.manager/styles/style-black.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/emhttp/plugins/dynamix.docker.manager/styles/style-black.css b/emhttp/plugins/dynamix.docker.manager/styles/style-black.css index 064aa4307..5ac67ca68 100644 --- a/emhttp/plugins/dynamix.docker.manager/styles/style-black.css +++ b/emhttp/plugins/dynamix.docker.manager/styles/style-black.css @@ -12,3 +12,7 @@ .ui-dropdownchecklist-indent{padding-left:7px} .ui-dropdownchecklist-text{color:#f2f2f2;font-size:1.3rem} .ui-dropdownchecklist .ui-widget-content .ui-state-default{background:#1c1c1c;border:0px} +.ui-tailscale-container {display: flex;flex-direction: column;margin: 20px auto;width: 100%;} +.ui-tailscale-row {display: flex;justify-content: space-between;min-width: 250px;width: 100%;flex-wrap: nowrap;overflow-x: auto;} +.ui-tailscale-label {flex: 1;} +.ui-tailscale-value {flex: 3;} From 05119aaa812ddd04e27a16735aa17b5ec4a677e6 Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Wed, 30 Oct 2024 12:27:08 +0100 Subject: [PATCH 252/794] Update style-azure.css --- emhttp/plugins/dynamix.docker.manager/styles/style-azure.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/emhttp/plugins/dynamix.docker.manager/styles/style-azure.css b/emhttp/plugins/dynamix.docker.manager/styles/style-azure.css index 260009398..8f3da5d04 100644 --- a/emhttp/plugins/dynamix.docker.manager/styles/style-azure.css +++ b/emhttp/plugins/dynamix.docker.manager/styles/style-azure.css @@ -12,3 +12,7 @@ .ui-dropdownchecklist-indent{padding-left:7px} .ui-dropdownchecklist-text{color:#1c1c1c;font-size:1.3rem} .ui-dropdownchecklist .ui-widget-content .ui-state-default{background:#f2f2f2;border:0px} +.ui-tailscale-container {display: flex;flex-direction: column;margin: 20px auto;width: 100%;} +.ui-tailscale-row {display: flex;justify-content: space-between;min-width: 250px;width: 100%;flex-wrap: nowrap;overflow-x: auto;} +.ui-tailscale-label {flex: 1;} +.ui-tailscale-value {flex: 3;} From f1a3e391a119cbe5313d688f0b6fc794a20b86c4 Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Wed, 30 Oct 2024 12:36:56 +0100 Subject: [PATCH 253/794] Update DockerContainers.php --- .../dynamix.docker.manager/include/DockerContainers.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php b/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php index 88b7039eb..df4b7b5ef 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php +++ b/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php @@ -311,14 +311,14 @@ foreach ($containers as $ct) { } } // Display TSinfo if data was fetched correctly - $TS_status = "
Tailscale
"; + $TS_status = "
Tailscale
"; } else { // Display message to refresh page if Tailscale in the container wasn't maybe ready to get the data - $TS_status = "
Tailscale
"; + $TS_status = "
Tailscale
"; } } else { // Display message that container isn't running - $TS_status = "
Tailscale
"; + $TS_status = "
Tailscale
"; } echo ""; } From 1c520dcdc4624c62c1a6d191cd9de1c4f54f1501 Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Wed, 30 Oct 2024 16:27:26 +0100 Subject: [PATCH 254/794] remove unnecessary div --- .../plugins/dynamix.docker.manager/include/DockerContainers.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php b/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php index df4b7b5ef..b3e34287f 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php +++ b/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php @@ -233,7 +233,6 @@ foreach ($containers as $ct) { // Check if Tailscale for container is enabled by checking if TShostname is set $TS_status = ''; if (!empty($TShostname)) { - echo "
"; if ($running) { // Get stats from container and check if they are not empty $TSstats = tailscale_stats($name); @@ -320,7 +319,6 @@ foreach ($containers as $ct) { // Display message that container isn't running $TS_status = "
Tailscale
"; } - echo "
"; } echo "
".compress(_($version),12,0)."
"; echo "
"; From 13bb3414b497dbd7db467686c5d6bffe514e44bf Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Wed, 30 Oct 2024 16:27:53 +0100 Subject: [PATCH 255/794] remove unnecessary div --- emhttp/plugins/dynamix.docker.manager/styles/style-gray.css | 1 - 1 file changed, 1 deletion(-) diff --git a/emhttp/plugins/dynamix.docker.manager/styles/style-gray.css b/emhttp/plugins/dynamix.docker.manager/styles/style-gray.css index 5ac67ca68..2beeb7984 100644 --- a/emhttp/plugins/dynamix.docker.manager/styles/style-gray.css +++ b/emhttp/plugins/dynamix.docker.manager/styles/style-gray.css @@ -12,7 +12,6 @@ .ui-dropdownchecklist-indent{padding-left:7px} .ui-dropdownchecklist-text{color:#f2f2f2;font-size:1.3rem} .ui-dropdownchecklist .ui-widget-content .ui-state-default{background:#1c1c1c;border:0px} -.ui-tailscale-container {display: flex;flex-direction: column;margin: 20px auto;width: 100%;} .ui-tailscale-row {display: flex;justify-content: space-between;min-width: 250px;width: 100%;flex-wrap: nowrap;overflow-x: auto;} .ui-tailscale-label {flex: 1;} .ui-tailscale-value {flex: 3;} From 78af653558bcdbc753b2b7eaa214db97e6d593b0 Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Wed, 30 Oct 2024 16:28:00 +0100 Subject: [PATCH 256/794] remove unnecessary div --- emhttp/plugins/dynamix.docker.manager/styles/style-white.css | 1 - 1 file changed, 1 deletion(-) diff --git a/emhttp/plugins/dynamix.docker.manager/styles/style-white.css b/emhttp/plugins/dynamix.docker.manager/styles/style-white.css index 8f3da5d04..136d9270f 100644 --- a/emhttp/plugins/dynamix.docker.manager/styles/style-white.css +++ b/emhttp/plugins/dynamix.docker.manager/styles/style-white.css @@ -12,7 +12,6 @@ .ui-dropdownchecklist-indent{padding-left:7px} .ui-dropdownchecklist-text{color:#1c1c1c;font-size:1.3rem} .ui-dropdownchecklist .ui-widget-content .ui-state-default{background:#f2f2f2;border:0px} -.ui-tailscale-container {display: flex;flex-direction: column;margin: 20px auto;width: 100%;} .ui-tailscale-row {display: flex;justify-content: space-between;min-width: 250px;width: 100%;flex-wrap: nowrap;overflow-x: auto;} .ui-tailscale-label {flex: 1;} .ui-tailscale-value {flex: 3;} From a1d10107b518e285894fab3787c2c16291cdac06 Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Wed, 30 Oct 2024 16:28:09 +0100 Subject: [PATCH 257/794] remove unnecessary div --- emhttp/plugins/dynamix.docker.manager/styles/style-azure.css | 1 - 1 file changed, 1 deletion(-) diff --git a/emhttp/plugins/dynamix.docker.manager/styles/style-azure.css b/emhttp/plugins/dynamix.docker.manager/styles/style-azure.css index 8f3da5d04..136d9270f 100644 --- a/emhttp/plugins/dynamix.docker.manager/styles/style-azure.css +++ b/emhttp/plugins/dynamix.docker.manager/styles/style-azure.css @@ -12,7 +12,6 @@ .ui-dropdownchecklist-indent{padding-left:7px} .ui-dropdownchecklist-text{color:#1c1c1c;font-size:1.3rem} .ui-dropdownchecklist .ui-widget-content .ui-state-default{background:#f2f2f2;border:0px} -.ui-tailscale-container {display: flex;flex-direction: column;margin: 20px auto;width: 100%;} .ui-tailscale-row {display: flex;justify-content: space-between;min-width: 250px;width: 100%;flex-wrap: nowrap;overflow-x: auto;} .ui-tailscale-label {flex: 1;} .ui-tailscale-value {flex: 3;} From 92cc9ba36dd52189ac5174321db38f0000886167 Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Wed, 30 Oct 2024 16:28:16 +0100 Subject: [PATCH 258/794] remove unnecessary div --- emhttp/plugins/dynamix.docker.manager/styles/style-black.css | 1 - 1 file changed, 1 deletion(-) diff --git a/emhttp/plugins/dynamix.docker.manager/styles/style-black.css b/emhttp/plugins/dynamix.docker.manager/styles/style-black.css index 5ac67ca68..2beeb7984 100644 --- a/emhttp/plugins/dynamix.docker.manager/styles/style-black.css +++ b/emhttp/plugins/dynamix.docker.manager/styles/style-black.css @@ -12,7 +12,6 @@ .ui-dropdownchecklist-indent{padding-left:7px} .ui-dropdownchecklist-text{color:#f2f2f2;font-size:1.3rem} .ui-dropdownchecklist .ui-widget-content .ui-state-default{background:#1c1c1c;border:0px} -.ui-tailscale-container {display: flex;flex-direction: column;margin: 20px auto;width: 100%;} .ui-tailscale-row {display: flex;justify-content: space-between;min-width: 250px;width: 100%;flex-wrap: nowrap;overflow-x: auto;} .ui-tailscale-label {flex: 1;} .ui-tailscale-value {flex: 3;} From c47a778de28426be1084f1a5d9cf838542381576 Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Wed, 30 Oct 2024 18:46:51 +0100 Subject: [PATCH 259/794] Update style-azure.css --- emhttp/plugins/dynamix.docker.manager/styles/style-azure.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix.docker.manager/styles/style-azure.css b/emhttp/plugins/dynamix.docker.manager/styles/style-azure.css index 136d9270f..aa3ecf607 100644 --- a/emhttp/plugins/dynamix.docker.manager/styles/style-azure.css +++ b/emhttp/plugins/dynamix.docker.manager/styles/style-azure.css @@ -12,6 +12,6 @@ .ui-dropdownchecklist-indent{padding-left:7px} .ui-dropdownchecklist-text{color:#1c1c1c;font-size:1.3rem} .ui-dropdownchecklist .ui-widget-content .ui-state-default{background:#f2f2f2;border:0px} -.ui-tailscale-row {display: flex;justify-content: space-between;min-width: 250px;width: 100%;flex-wrap: nowrap;overflow-x: auto;} +.ui-tailscale-row {display: flex;justify-content: space-between;min-width: 300px;width: 100%;flex-wrap: nowrap;overflow-x: auto;} .ui-tailscale-label {flex: 1;} .ui-tailscale-value {flex: 3;} From ea843dc67aa0437aad99c01d3b332e0f7ff9e062 Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Wed, 30 Oct 2024 18:46:59 +0100 Subject: [PATCH 260/794] Update style-black.css --- emhttp/plugins/dynamix.docker.manager/styles/style-black.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix.docker.manager/styles/style-black.css b/emhttp/plugins/dynamix.docker.manager/styles/style-black.css index 2beeb7984..d9d61d10a 100644 --- a/emhttp/plugins/dynamix.docker.manager/styles/style-black.css +++ b/emhttp/plugins/dynamix.docker.manager/styles/style-black.css @@ -12,6 +12,6 @@ .ui-dropdownchecklist-indent{padding-left:7px} .ui-dropdownchecklist-text{color:#f2f2f2;font-size:1.3rem} .ui-dropdownchecklist .ui-widget-content .ui-state-default{background:#1c1c1c;border:0px} -.ui-tailscale-row {display: flex;justify-content: space-between;min-width: 250px;width: 100%;flex-wrap: nowrap;overflow-x: auto;} +.ui-tailscale-row {display: flex;justify-content: space-between;min-width: 300px;width: 100%;flex-wrap: nowrap;overflow-x: auto;} .ui-tailscale-label {flex: 1;} .ui-tailscale-value {flex: 3;} From 2d7038c7d4841e6a69f19e6c8121c762b293724f Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Wed, 30 Oct 2024 18:47:06 +0100 Subject: [PATCH 261/794] Update style-gray.css --- emhttp/plugins/dynamix.docker.manager/styles/style-gray.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix.docker.manager/styles/style-gray.css b/emhttp/plugins/dynamix.docker.manager/styles/style-gray.css index 2beeb7984..d9d61d10a 100644 --- a/emhttp/plugins/dynamix.docker.manager/styles/style-gray.css +++ b/emhttp/plugins/dynamix.docker.manager/styles/style-gray.css @@ -12,6 +12,6 @@ .ui-dropdownchecklist-indent{padding-left:7px} .ui-dropdownchecklist-text{color:#f2f2f2;font-size:1.3rem} .ui-dropdownchecklist .ui-widget-content .ui-state-default{background:#1c1c1c;border:0px} -.ui-tailscale-row {display: flex;justify-content: space-between;min-width: 250px;width: 100%;flex-wrap: nowrap;overflow-x: auto;} +.ui-tailscale-row {display: flex;justify-content: space-between;min-width: 300px;width: 100%;flex-wrap: nowrap;overflow-x: auto;} .ui-tailscale-label {flex: 1;} .ui-tailscale-value {flex: 3;} From d1d8e4767f62bc66e03d7811081915152287fefc Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Wed, 30 Oct 2024 18:47:15 +0100 Subject: [PATCH 262/794] Update style-white.css --- emhttp/plugins/dynamix.docker.manager/styles/style-white.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix.docker.manager/styles/style-white.css b/emhttp/plugins/dynamix.docker.manager/styles/style-white.css index 136d9270f..aa3ecf607 100644 --- a/emhttp/plugins/dynamix.docker.manager/styles/style-white.css +++ b/emhttp/plugins/dynamix.docker.manager/styles/style-white.css @@ -12,6 +12,6 @@ .ui-dropdownchecklist-indent{padding-left:7px} .ui-dropdownchecklist-text{color:#1c1c1c;font-size:1.3rem} .ui-dropdownchecklist .ui-widget-content .ui-state-default{background:#f2f2f2;border:0px} -.ui-tailscale-row {display: flex;justify-content: space-between;min-width: 250px;width: 100%;flex-wrap: nowrap;overflow-x: auto;} +.ui-tailscale-row {display: flex;justify-content: space-between;min-width: 300px;width: 100%;flex-wrap: nowrap;overflow-x: auto;} .ui-tailscale-label {flex: 1;} .ui-tailscale-value {flex: 3;} From a4911a1338c8fbd282c40bb25cd0221cc50cacc4 Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Wed, 30 Oct 2024 18:47:39 +0100 Subject: [PATCH 263/794] Update DockerContainers.php --- .../dynamix.docker.manager/include/DockerContainers.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php b/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php index b3e34287f..426bdbab1 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php +++ b/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php @@ -271,12 +271,12 @@ foreach ($containers as $ct) { } } if (!empty($TSregion)) { - $TSinfo .= "
Main Relay:" . $TSregion . "
"; + $TSinfo .= "
DERP Relay:" . $TSregion . "
"; } else { - $TSinfo .= "
Main Relay:" . $TSstats["Self"]["Relay"] . "
"; + $TSinfo .= "
DERP Relay:" . $TSstats["Self"]["Relay"] . "
"; } } else { - $TSinfo .= "
Main Relay:" . $TSstats["Self"]["Relay"] . "
"; + $TSinfo .= "
DERP Relay:" . $TSstats["Self"]["Relay"] . "
"; } if (!empty($TSstats["Self"]["TailscaleIPs"])) { $TSinfo .= "
Addresses:" . implode("
", $TSstats["Self"]["TailscaleIPs"]) . "
"; From ba9caaaff492aaad5c2f323e3907f5bf9bd92903 Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Wed, 30 Oct 2024 21:18:59 +0100 Subject: [PATCH 264/794] Change `Version` to `Tailscale` --- .../dynamix.docker.manager/include/DockerContainers.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php b/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php index 426bdbab1..68925e221 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php +++ b/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php @@ -246,12 +246,12 @@ foreach ($containers as $ct) { if (!empty($TS_version)) { if (!empty($TS_latest_version)) { if ($TS_version !== $TS_latest_version) { - $TSinfo .= "
Version:" . $TS_version . " ➔ " . $TS_latest_version . " available!
"; + $TSinfo .= "
Tailscale:v" . $TS_version . " ➔ v" . $TS_latest_version . " available!
"; } else { - $TSinfo .= "
Version:" . $TS_version . "
"; + $TSinfo .= "
Tailscale:v" . $TS_version . "
"; } } else { - $TSinfo .= "
Version:" . $TS_version . "
"; + $TSinfo .= "
Tailscale:v" . $TS_version . "
"; } } $TSinfo .= "
Online:
"; From 097b3781743d7cc010db7a5e52da3fa63be2d7f5 Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Thu, 31 Oct 2024 07:07:14 +0100 Subject: [PATCH 265/794] Add `USER_HOME` to state dir detection - Make containers with variable `USER_HOME` variable compatible with state dir detection --- share/docker/tailscale_container_hook | 3 +++ 1 file changed, 3 insertions(+) diff --git a/share/docker/tailscale_container_hook b/share/docker/tailscale_container_hook index c000bca0b..9036cdfc6 100755 --- a/share/docker/tailscale_container_hook +++ b/share/docker/tailscale_container_hook @@ -135,6 +135,9 @@ if [ ! -z "${SERVER_DIR}" ]; then elif [ ! -z "${DATA_DIR}" ]; then TSD_STATE_DIR="${DATA_DIR}/.tailscale_state" echo "Settings Tailscale state dir to: ${TSD_STATE_DIR}" +elif [ ! -z "${USER_HOME}" ]; then + TSD_STATE_DIR="${USER_HOME}/.tailscale_state" + echo "Settings Tailscale state dir to: ${TSD_STATE_DIR}" else if [ -z "${TAILSCALE_STATE_DIR}" ]; then TAILSCALE_STATE_DIR="/config/.tailscale_state" From f7cb0f2f0015733751a40b901bf5077dfd8ac992 Mon Sep 17 00:00:00 2001 From: bergware Date: Fri, 1 Nov 2024 21:47:05 +0100 Subject: [PATCH 266/794] NTP enhancements - Add new parameter "NTP interval", this can be useful when you run your own NTP servers - Add pool support, this allows a round-robin selection of NTP servers out of a pool, and improves server availability --- emhttp/plugins/dynamix/DateTime.page | 10 +++++++++ emhttp/plugins/dynamix/sheets/DateTime.css | 1 + etc/rc.d/rc.ntpd | 24 +++++++++++++++++----- 3 files changed, 30 insertions(+), 5 deletions(-) create mode 100644 emhttp/plugins/dynamix/sheets/DateTime.css diff --git a/emhttp/plugins/dynamix/DateTime.page b/emhttp/plugins/dynamix/DateTime.page index d7fdaae60..3c1c13f5a 100644 --- a/emhttp/plugins/dynamix/DateTime.page +++ b/emhttp/plugins/dynamix/DateTime.page @@ -59,6 +59,14 @@ _(Use NTP)_: :use_ntp_help: +_(NTP interval)_: +: _(Use DEFAULT setting when public NTP servers are defined)_ + _(NTP server)_ 1: : @@ -107,12 +115,14 @@ function presetTime(form) { function checkDateTimeSettings(form) { if (form.USE_NTP.value=="yes") { form.newDateTime.disabled=true; + form.display_ntppoll.disabled=false; form.NTP_SERVER1.disabled=false; form.NTP_SERVER2.disabled=false; form.NTP_SERVER3.disabled=false; form.NTP_SERVER4.disabled=false; } else { form.newDateTime.disabled=false; + form.display_ntppoll.disabled=true; form.NTP_SERVER1.disabled=true; form.NTP_SERVER2.disabled=true; form.NTP_SERVER3.disabled=true; diff --git a/emhttp/plugins/dynamix/sheets/DateTime.css b/emhttp/plugins/dynamix/sheets/DateTime.css new file mode 100644 index 000000000..b2eb5cbbe --- /dev/null +++ b/emhttp/plugins/dynamix/sheets/DateTime.css @@ -0,0 +1 @@ +span.ntp{margin-left:40px} diff --git a/etc/rc.d/rc.ntpd b/etc/rc.d/rc.ntpd index 75f76c146..deedfedc9 100755 --- a/etc/rc.d/rc.ntpd +++ b/etc/rc.d/rc.ntpd @@ -13,6 +13,7 @@ NTPD="/usr/sbin/ntpd" OPTIONS="-g -u ntp:ntp" CONF="/etc/ntp.conf" IDENT="/boot/config/ident.cfg" +CONFIG="/boot/config/plugins/dynamix/dynamix.cfg" # run & log functions . /etc/rc.d/rc.runlog @@ -38,11 +39,24 @@ ntpd_build(){ echo "interface listen $NET" >>$CONF done fi - # add configured NTP servers - [[ -n $NTP_SERVER1 ]] && echo "server $NTP_SERVER1 iburst" >>$CONF - [[ -n $NTP_SERVER2 ]] && echo "server $NTP_SERVER2 iburst" >>$CONF - [[ -n $NTP_SERVER3 ]] && echo "server $NTP_SERVER3 iburst" >>$CONF - [[ -n $NTP_SERVER4 ]] && echo "server $NTP_SERVER4 iburst" >>$CONF + # ntp poll interval may be adjusted to predefined values + if [[ -f $CONFIG ]]; then + NTP_POLL=$(grep -Po '^ntppoll="\K[^"]+' $CONFIG) + if [[ -n $NTP_POLL ]]; then + MINPOLL="minpoll $NTP_POLL" + MAXPOLL="maxpoll $NTP_POLL" + fi + fi + # add configured ntp servers or pools + for n in {1..4}; do + NTP="NTP_SERVER$n" + if [[ -n ${!NTP} ]]; then + # use either server or pool peers depending on remote ntp name + # pools use a round-robin mechanism to get a server out of the pool + [[ ${!NTP} =~ "pool" ]] && PEER=pool || PEER=server + echo "$PEER ${!NTP} iburst $MINPOLL $MAXPOLL" >>$CONF + fi + done } ntpd_start(){ From ca85424b7a22a49b6cf1ae5c7dc75c362ac5ddd2 Mon Sep 17 00:00:00 2001 From: Squidly271 Date: Sat, 2 Nov 2024 12:07:34 -0400 Subject: [PATCH 267/794] Update DefaultPageLayout.php --- .../dynamix/include/DefaultPageLayout.php | 81 ++++++++++++------- 1 file changed, 53 insertions(+), 28 deletions(-) diff --git a/emhttp/plugins/dynamix/include/DefaultPageLayout.php b/emhttp/plugins/dynamix/include/DefaultPageLayout.php index de7a79f3e..24bd8d870 100644 --- a/emhttp/plugins/dynamix/include/DefaultPageLayout.php +++ b/emhttp/plugins/dynamix/include/DefaultPageLayout.php @@ -1112,40 +1112,65 @@ $(function() { $('form').append($('').attr({type:'hidden', name:'csrf_token', value:csrf_token})); }); +var gui_pages_available = []; + + gui_pages_available.push(''); + +function isValidURL(url) { + try { + new URL(url); + return true; + } catch (err) { + return false; + } +} + $('body').on("click","a", function(e) { href = $(this).attr("href").trim(); target = $(this).attr("target"); - if ( href ) { - if ( href.indexOf("/") == 0 ) { // all internal links start with "/" + if ( href.match('https://[^\.]*.(my)?unraid.net/') || href.indexOf("https://unraid.net/") == 0 || href == "https://unraid.net" || href.indexOf("http://lime-technology.com") == 0) { return; - } - if ( href.match('https://[^\.]*.(my)?unraid.net/') || href.indexOf("https://unraid.net/") == 0 || href == "https://unraid.net" || href.indexOf("http://lime-technology.com/") == 0) { - return; - } else { - if (href !== "#" && href.indexOf("javascript") !== 0) { - e.preventDefault(); - swal({ - title: "", - text: "

"+href, - html: true, - type: 'warning', - showCancelButton: true, - showConfirmButton: true, - cancelButtonText: "", - confirmButtonText: "" - },function(isConfirm) { - if (isConfirm) { - var popupOpen = window.open(href,target); - if ( !popupOpen || popupOpen.closed || typeof popupOpen == "undefined" ) { - var popupWarning = addBannerWarning(""); - setTimeout(function() { - removeBannerWarning(popupWarning);} - ,10000); - } - } - }); + } + + if (href !== "#" && href.indexOf("javascript") !== 0) { + if ( ! isValidURL(href) ) { + if ( href.indexOf("/") == 0 ) { // all internal links start with "/" + return; } + var baseURLpage = href.split("/"); + if ( gui_pages_available.includes(baseURLpage[0]) ) { + return; + } + } + if ( $(this).hasClass("localURL") ) { + return; + } + e.preventDefault(); + swal({ + title: "", + text: "

"+href+"
", + html: true, + type: 'warning', + showCancelButton: true, + showConfirmButton: true, + cancelButtonText: "", + confirmButtonText: "" + },function(isConfirm) { + if (isConfirm) { + var popupOpen = window.open(href,target); + if ( !popupOpen || popupOpen.closed || typeof popupOpen == "undefined" ) { + var popupWarning = addBannerWarning(""); + setTimeout(function() { + removeBannerWarning(popupWarning);} + ,10000); + } + } + }); } } }); From e90449628065cb00a45e1f53355399b56d6156cb Mon Sep 17 00:00:00 2001 From: Squidly271 Date: Sat, 2 Nov 2024 12:09:26 -0400 Subject: [PATCH 268/794] Update ManagementAccess.page --- emhttp/plugins/dynamix/ManagementAccess.page | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/emhttp/plugins/dynamix/ManagementAccess.page b/emhttp/plugins/dynamix/ManagementAccess.page index de094a7fc..fac57f7fb 100644 --- a/emhttp/plugins/dynamix/ManagementAccess.page +++ b/emhttp/plugins/dynamix/ManagementAccess.page @@ -215,8 +215,8 @@ function show_urls($interface) { $first = true; foreach($urls as $url) { if ($url[0] == $interface) { - $msg = "$url[1]"; - if ($url[2]) $msg .= " "._("redirects to")." $url[2]"; + $msg = "$url[1]"; + if ($url[2]) $msg .= " "._("redirects to")." $url[2]"; if ($url[3]) $msg .= " "._("uses")." ".$url[3]; if ($url[4]) $msg .= " "._("is a self-signed certificate, ignore the browser's warning and proceed to the GUI").""; // 2nd+ urls need leading $linestart @@ -438,11 +438,11 @@ _(Self-signed or user-provided certificate)_: _(Certificate URL)_: -: $cert1URL"?> +: $cert1URL"?> _(Certificate URL)_: -: +: 123 _(Certificate URL)_: @@ -474,7 +474,7 @@ _(Unraid Let's Encrypt certificate)_: : _(Certificate URL)_: -: $cert2Subject"?> +: $cert2Subject"?> _(Certificate issuer)_: : @@ -508,7 +508,7 @@ _(Tailscale Let's Encrypt certificate)_: : _(Certificate URL)_: -: $cert3Subject"?> +: $cert3Subject"?> _(Certificate issuer)_: : From de9e11d47788efc0cee41eb00f7bf5781df6615d Mon Sep 17 00:00:00 2001 From: Squidly271 Date: Sat, 2 Nov 2024 12:12:29 -0400 Subject: [PATCH 269/794] Update ManagementAccess.page --- emhttp/plugins/dynamix/ManagementAccess.page | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix/ManagementAccess.page b/emhttp/plugins/dynamix/ManagementAccess.page index fac57f7fb..483ffe2a1 100644 --- a/emhttp/plugins/dynamix/ManagementAccess.page +++ b/emhttp/plugins/dynamix/ManagementAccess.page @@ -442,7 +442,7 @@ _(Certificate URL)_: _(Certificate URL)_: -: 123 +: _(Certificate URL)_: From 002d8d925548b1dd0887e47d6e43b0101bfe6248 Mon Sep 17 00:00:00 2001 From: Squidly271 Date: Sat, 2 Nov 2024 12:16:56 -0400 Subject: [PATCH 270/794] Update libvirt_helpers.php --- emhttp/plugins/dynamix.vm.manager/include/libvirt_helpers.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix.vm.manager/include/libvirt_helpers.php b/emhttp/plugins/dynamix.vm.manager/include/libvirt_helpers.php index 457de3bfb..e2e9526ba 100644 --- a/emhttp/plugins/dynamix.vm.manager/include/libvirt_helpers.php +++ b/emhttp/plugins/dynamix.vm.manager/include/libvirt_helpers.php @@ -712,7 +712,7 @@ private static $encoding = 'UTF-8'; $domain_cfgfile = "/boot/config/domain.cfg"; $domain_cfg = parse_ini_file($domain_cfgfile); - if ($domain_cfg['DEBUG'] != "yes") { + if ( ($domain_cfg['DEBUG'] ?? false) != "yes") { error_reporting(0); } From 7490f746493c605e9e45515b991df8993cb36492 Mon Sep 17 00:00:00 2001 From: Squidly271 Date: Sun, 3 Nov 2024 09:19:02 -0500 Subject: [PATCH 271/794] Update Credits.page --- emhttp/plugins/dynamix/Credits.page | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/emhttp/plugins/dynamix/Credits.page b/emhttp/plugins/dynamix/Credits.page index a56d6732d..1399ee27c 100644 --- a/emhttp/plugins/dynamix/Credits.page +++ b/emhttp/plugins/dynamix/Credits.page @@ -3,7 +3,7 @@ Title="Credits" Icon="icon-credits" Tag="trophy" --- -**Unraid webGUI** Copyright © 2005-2023, [Lime Technology, Inc.](http://lime-technology.com) +**Unraid webGUI** Copyright © 2005-2023, [Lime Technology, Inc.](https://unraid.net/) **Dynamix** Copyright © 2012-2023, Bergware International. @@ -29,7 +29,7 @@ and may not be used in any other project without written permission from Lime Te * Settings, Tools and Case icons. Copyright © 2018-2020, [Magnus Engø.](http://www.magnusengo.net/) Used with permission. -**Unraid**® is a registered trademark of [Lime Technology, Inc.](http://lime-technology.com) +**Unraid**® is a registered trademark of [Lime Technology, Inc.](https://unraid.net/) This file shall be included in all copies or substantial portions of the Software. @@ -47,6 +47,6 @@ foreach (glob("$plugins/lang-*.xml", GLOB_NOSORT) as $link) { $author = language('Author', $xml_file); $credits[] = "
  • $lang ($local) translation by $author

  • "; } -if (count($credits)) echo '
    Language Translations Copyright © 2020-2023, Lime Technology, Inc.
      '.implode('',$credits).'
    '; +if (count($credits)) echo '
    Language Translations Copyright © 2020-2023, Lime Technology, Inc.
      '.implode('',$credits).'
    '; ?>
    From e9d98f2020f570f995d895f08db03bdc385a236c Mon Sep 17 00:00:00 2001 From: Squidly271 Date: Sun, 3 Nov 2024 09:23:08 -0500 Subject: [PATCH 272/794] Update FlashInfo.page --- emhttp/plugins/dynamix/FlashInfo.page | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/emhttp/plugins/dynamix/FlashInfo.page b/emhttp/plugins/dynamix/FlashInfo.page index 5fdf62048..6113d787a 100644 --- a/emhttp/plugins/dynamix/FlashInfo.page +++ b/emhttp/plugins/dynamix/FlashInfo.page @@ -3,8 +3,8 @@ Title="Flash Device Settings" Tag="usb" ---   -: **_(Blacklisted)_** - _(Contact Support)_ +: **_(Blacklisted)_** - _(Contact Support)_ From 5bf8d722f95dffa30916ae364536c1005a763803 Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Mon, 4 Nov 2024 19:23:20 +0100 Subject: [PATCH 273/794] Fix for tooltipster `click` not working - Tooltip now opens on `hover` and `click` --- .../dynamix.docker.manager/DockerContainers.page | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix.docker.manager/DockerContainers.page b/emhttp/plugins/dynamix.docker.manager/DockerContainers.page index eb3d8ee61..13d6e42c2 100644 --- a/emhttp/plugins/dynamix.docker.manager/DockerContainers.page +++ b/emhttp/plugins/dynamix.docker.manager/DockerContainers.page @@ -119,7 +119,15 @@ function loadlist(init) { $('#docker_list .TS_tooltip').tooltipster({ animation: 'fade', delay: 200, - trigger: 'hover', + trigger: 'custom', + triggerOpen: { + mouseenter: true, + click: true + }, + triggerClose: { + mouseleave: true, + click: true + }, contentAsHTML: true }); $('head').append(' + + + +
    -
    +
    + +

    \ No newline at end of file +i.export{display:none;font-size:1.8rem;position:left;margin-left:1px} + + +
    +
    + +
    +
    +
    _(Save File Name)_:
    +
    +
    _(Save Path)_:
    +
    +
    +
    + +
    +
    +
    _(File for import)_:
    +
    +
    +
    + + + true]; break; +case 'vm-template-save': + $template = $_REQUEST['template']; + $name = $_REQUEST['name']; + $replace = $_REQUEST['replace']; + + if (is_file($name) && $replace == "no"){ + $arrResponse = ['success' => false, 'error' => _("File exists.")]; + } else { + $error = file_put_contents($name,json_encode($template)); + if ($error !== false) $arrResponse = ['success' => true]; + else { + $arrResponse = ['success' => false, 'error' => _("File write failed.")]; + } + } + break; + +case 'vm-template-import': + $template = $_REQUEST['template']; + $name = $_REQUEST['name']; + $replace = $_REQUEST['replace']; + $templateslocation = "/boot/config/plugins/dynamix.vm.manager/savedtemplates.json"; + + if ($template="*file") { + $template=json_decode(file_get_contents($name)); + } + + $namepathinfo = pathinfo($name); + $template_name = $namepathinfo['filename']; + + if (is_file($templateslocation)){ + $ut = json_decode(file_get_contents($templateslocation),true) ; + if (isset($ut[$template_name]) && $replace == "no"){ + $arrResponse = ['success' => false, 'error' => _("Template exists.")]; + } else { + $ut[$template_name] = $template; + $error = file_put_contents($templateslocation,json_encode($ut,JSON_PRETTY_PRINT));; + if ($error !== false) $arrResponse = ['success' => true]; + else { + $arrResponse = ['success' => false, 'error' => _("Tempalte file write failed.")]; + } + } + } + break; + default: $arrResponse = ['error' => _('Unknown action')." '$action'"]; break; diff --git a/emhttp/plugins/dynamix.vm.manager/include/libvirt.php b/emhttp/plugins/dynamix.vm.manager/include/libvirt.php index 042a17ae0..5a0a1784c 100644 --- a/emhttp/plugins/dynamix.vm.manager/include/libvirt.php +++ b/emhttp/plugins/dynamix.vm.manager/include/libvirt.php @@ -847,6 +847,19 @@ if (($gpu['copypaste'] == "yes") && ($strProtocol == "spice")) $vmrcmousemode = "" ; else $vmrcmousemode = "" ; if ($strProtocol == "spice") $virtualaudio = "spice" ; else $virtualaudio = "none" ; + $strEGLHeadless = ""; + $strAccel3d =""; + if ($strModelType == "virtio3d") { + $strModelType = "virtio"; + if (!isset($gpu['render'])) $gpu['render'] = "auto"; + if ($gpu['render'] == "auto") { + $strEGLHeadless = ''; + $strAccel3d = ""; + } else { + $strEGLHeadless = ''; + $strAccel3d =""; + }} + $vmrc = " @@ -854,8 +867,11 @@ $vmrcmousemode + $strEGLHeadless
    _(Icon)_: +
    diff --git a/emhttp/plugins/dynamix.vm.manager/sheets/AddVM.css b/emhttp/plugins/dynamix.vm.manager/sheets/AddVM.css index 9dc9c0085..7e65606bc 100644 --- a/emhttp/plugins/dynamix.vm.manager/sheets/AddVM.css +++ b/emhttp/plugins/dynamix.vm.manager/sheets/AddVM.css @@ -23,14 +23,15 @@ span.advancedview_panel{display:none;line-height:16px;margin-top:1px} .basic{display:none} .advanced{/*Empty placeholder*/} .switch-button-label.off{color:inherit} +.template_img_parent{position:relative} #template_img{cursor:pointer} #template_img:hover{opacity:0.5} #template_img:hover i{opacity:1.0} .template_img_chooser_inner{display:inline-block;width:80px;margin-bottom:15px;margin-right:10px;text-align:center;} .template_img_chooser_inner img{width:48px;height:48px} .template_img_chooser_inner p{text-align:center;line-height:8px;} -#template_img_chooser{width:560px;height:300px;overflow-y:scroll;position:relative} -#template_img_chooser div:hover{background-color:#eee;cursor:pointer;} +#template_img_chooser{width:560px;height:300px;overflow-y:scroll;position:relative;display:grid;grid-template-columns: repeat(6, minmax(0, 1fr));} +#template_img_chooser div:hover{color:#ff8c2f;cursor:pointer;} #form_content{display:none} #vmform .four{overflow:hidden} #vmform .four label{float:left;display:table-cell;width:15%;} diff --git a/emhttp/plugins/dynamix.vm.manager/sheets/UpdateVM.css b/emhttp/plugins/dynamix.vm.manager/sheets/UpdateVM.css index 9dc9c0085..018ef7190 100644 --- a/emhttp/plugins/dynamix.vm.manager/sheets/UpdateVM.css +++ b/emhttp/plugins/dynamix.vm.manager/sheets/UpdateVM.css @@ -23,6 +23,7 @@ span.advancedview_panel{display:none;line-height:16px;margin-top:1px} .basic{display:none} .advanced{/*Empty placeholder*/} .switch-button-label.off{color:inherit} +.template_img_parent{position:relative} #template_img{cursor:pointer} #template_img:hover{opacity:0.5} #template_img:hover i{opacity:1.0} @@ -30,7 +31,7 @@ span.advancedview_panel{display:none;line-height:16px;margin-top:1px} .template_img_chooser_inner img{width:48px;height:48px} .template_img_chooser_inner p{text-align:center;line-height:8px;} #template_img_chooser{width:560px;height:300px;overflow-y:scroll;position:relative} -#template_img_chooser div:hover{background-color:#eee;cursor:pointer;} +#template_img_chooser div:hover{color:#ff8c2f;cursor:pointer;} #form_content{display:none} #vmform .four{overflow:hidden} #vmform .four label{float:left;display:table-cell;width:15%;} From f2abfaf292e9b13d49921d9fc26b01d33240f05f Mon Sep 17 00:00:00 2001 From: SimonFair <39065407+SimonFair@users.noreply.github.com> Date: Sat, 13 Jul 2024 15:33:37 +0100 Subject: [PATCH 020/794] Move restore favorites after plugin installs --- etc/rc.d/rc.local | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/etc/rc.d/rc.local b/etc/rc.d/rc.local index 6a6407628..03b175430 100755 --- a/etc/rc.d/rc.local +++ b/etc/rc.d/rc.local @@ -76,11 +76,6 @@ fi /usr/local/emhttp/webGui/scripts/notify smtp-init /usr/local/emhttp/webGui/scripts/notify cron-init -# restore favorites -if [[ -x /usr/local/emhttp/webGui/scripts/restore_favorites ]]; then - /usr/local/emhttp/webGui/scripts/restore_favorites -fi - # start nchan monitoring -> stop all running nchan processes when no subscribers are connected if [[ -x /usr/local/sbin/monitor_nchan ]]; then /usr/local/sbin/monitor_nchan @@ -177,6 +172,11 @@ for LANGUAGE in $CONFIG/plugins/lang-*.xml; do done shopt -u nullglob +# restore favorites +if [[ -x /usr/local/emhttp/webGui/scripts/restore_favorites ]]; then + /usr/local/emhttp/webGui/scripts/restore_favorites +fi + # Enable persistent bash history PERSISTENT_BASH_HISTORY=$(grep "persist_bash_history" /boot/config/plugins/dynamix/dynamix.cfg 2>/dev/null | cut -d'=' -f2 | sed 's/"//g') if [[ $PERSISTENT_BASH_HISTORY == 1 ]]; then From 93054c2091d08535fccecb3d18f81f20c00e175c Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Mon, 15 Jul 2024 15:47:50 +0200 Subject: [PATCH 021/794] fix path - fix path for generated proxy file --- emhttp/plugins/dynamix/scripts/set_proxy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix/scripts/set_proxy b/emhttp/plugins/dynamix/scripts/set_proxy index 2249b2cd0..3123a2e04 100755 --- a/emhttp/plugins/dynamix/scripts/set_proxy +++ b/emhttp/plugins/dynamix/scripts/set_proxy @@ -19,7 +19,7 @@ $proxy_ini = '/usr/local/emhttp/state/proxy.ini'; $rnd = rand(); /* Comments to beginning of the proxy_sh file. */ -$comments = "#!/bin/bash\n"."# Do not edit. This file is autogenerated by /usr/local/sbin/set_proxy.\n"; +$comments = "#!/bin/bash\n"."# Do not edit. This file is autogenerated by /usr/local/emhttp/plugins/dynamix/scripts/set_proxy.\n"; /* Set verbose if command line switch is set. */ $verbose = false; From da1ef5c0e0e5963fbf2bccdf87906dd20b5db819 Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Mon, 15 Jul 2024 17:22:48 +0200 Subject: [PATCH 022/794] IPv6 forward - Add `IPV6_FORWARD` to rc.docker and set it to `ACCEPT` instead of `DROP` --- etc/rc.d/rc.docker | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/etc/rc.d/rc.docker b/etc/rc.d/rc.docker index 217b4c462..6d115c9c0 100755 --- a/etc/rc.d/rc.docker +++ b/etc/rc.d/rc.docker @@ -86,6 +86,7 @@ MTU=$(ip link show $PORT | grep -Po 'mtu \K\d+') if [[ -n $(ip -6 route show default dev $PORT) ]]; then DOCKER0='fd17::/64' DOCKER_OPTS="--ipv6 --fixed-cidr-v6=$DOCKER0 $DOCKER_OPTS" + IPV6_FORWARD=${IPV6_FORWARD:=accept} # create IPv6 NAT rule for docker0 [[ -z $(ip6tables -t nat -S | grep -o "$DOCKER0") ]] && run ip6tables -t nat -A POSTROUTING -s $DOCKER0 ! -o docker0 -j MASQUERADE else @@ -453,6 +454,11 @@ docker_network_start(){ fi fi done + # create IPv6 forward accept rule + if [[ $IPV6_FORWARD == accept ]]; then + log "creating forward accept rule for IPv6 network" + ip6tables -P FORWARD ACCEPT + fi log "Network started." } From 30492ed2f2966a913f59fd67837907c0fa2b5b8d Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Mon, 15 Jul 2024 17:40:10 +0200 Subject: [PATCH 023/794] Initial Docker overlay2 support - override filesystem type to overlay2 if `DOCKER_BACKINGFS` in docker.cfg is set to `overlay2` --- etc/rc.d/rc.docker | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/etc/rc.d/rc.docker b/etc/rc.d/rc.docker index 217b4c462..e091e00bb 100755 --- a/etc/rc.d/rc.docker +++ b/etc/rc.d/rc.docker @@ -58,14 +58,18 @@ if [[ -f $DOCKER_CFG ]]; then . $DOCKER_CFG fi -# Set storage driver appropriate for backing filesystem, override user setting -BACKINGFS=$(findmnt --output FSTYPE --noheadings $DOCKER_ROOT) -if [[ $BACKINGFS == btrfs ]]; then - DOCKER_OPTS="$DOCKER_OPTS --storage-driver=btrfs" -elif [[ $BACKINGFS == xfs ]]; then +# set storage driver to overlay2 if config value is found, otherwise fall back to native FS driver +if [[ $(awk -F'"' '/^DOCKER_BACKINGFS=/{print $2}' $DOCKER_CFG 2>/dev/null) == overlay2 ]]; then DOCKER_OPTS="$DOCKER_OPTS --storage-driver=overlay2" -elif [[ $BACKINGFS == zfs ]]; then - DOCKER_OPTS="$DOCKER_OPTS --storage-driver=zfs" +else + BACKINGFS=$(findmnt --output FSTYPE --noheadings $DOCKER_ROOT) + if [[ $BACKINGFS == btrfs ]]; then + DOCKER_OPTS="$DOCKER_OPTS --storage-driver=btrfs" + elif [[ $BACKINGFS == xfs ]]; then + DOCKER_OPTS="$DOCKER_OPTS --storage-driver=overlay2" + elif [[ $BACKINGFS == zfs ]]; then + DOCKER_OPTS="$DOCKER_OPTS --storage-driver=zfs" + fi fi # Less verbose logging by default From fe7ab1fc433137ea464d111bf32e5128338f1977 Mon Sep 17 00:00:00 2001 From: SimonFair <39065407+SimonFair@users.noreply.github.com> Date: Mon, 15 Jul 2024 18:41:29 +0100 Subject: [PATCH 024/794] FIX Issue with VM Template formatting for other PCI --- emhttp/plugins/dynamix.vm.manager/include/VMedit.php | 6 +++--- emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php | 3 +-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/emhttp/plugins/dynamix.vm.manager/include/VMedit.php b/emhttp/plugins/dynamix.vm.manager/include/VMedit.php index cb2592dd1..9417b6cb4 100644 --- a/emhttp/plugins/dynamix.vm.manager/include/VMedit.php +++ b/emhttp/plugins/dynamix.vm.manager/include/VMedit.php @@ -113,7 +113,7 @@ if (strpos($strSelectedTemplate,"User-") !== false) { - "; if (_var($disk,'fsStatus')=='Mounted') { - $echo[] = ""; + $echo[] = ""; $echo[] = ""; if ($display['text']%10==0) { $echo[] = ""; @@ -169,7 +169,7 @@ function fs_info(&$disk) { $echo[] = ""; } } else { - $echo[] = ""; + $echo[] = ""; } return implode($echo); } @@ -211,14 +211,14 @@ function array_offline(&$disk, $pool='') { $echo[] = ""; $echo[] = ""; $echo[] = ""; - $echo[] = ""; + $echo[] = ""; $echo[] = ""; break; case 'DISK_NP_DSBL': $echo[] = ""; $echo[] = ""; $echo[] = ""; - $echo[] = ""; + $echo[] = ""; $echo[] = ""; break; case 'DISK_OK': @@ -233,7 +233,7 @@ function array_offline(&$disk, $pool='') { $echo[] = ""; } else { $echo[] = ""; - $echo[] = ""; + $echo[] = ""; $echo[] = ""; } break; @@ -245,7 +245,7 @@ function array_offline(&$disk, $pool='') { $echo[] = ""; } else { $echo[] = ""; - $echo[] = ""; + $echo[] = ""; $echo[] = ""; } break; @@ -268,7 +268,7 @@ function array_online(&$disk, $fstype='') { $sum['count']++; $sum['temp'] += $disk['temp']; } - $sum['power'] += intval(_var($disk,'power',0)); + $sum['power'] += floatval(_var($disk,'power',0)); $sum['numReads'] += _var($disk,'numReads',0); $sum['numWrites'] += _var($disk,'numWrites',0); $sum['numErrors'] += _var($disk,'numErrors',0); @@ -284,14 +284,14 @@ function array_online(&$disk, $fstype='') { $echo[] = ""; $echo[] = ""; $echo[] = ""; - $echo[] = fs_info($disk); + $echo[] = fs_info($disk,true); } break; case 'DISK_NP_DSBL': $echo[] = ""; $echo[] = ""; $echo[] = ""; - $echo[] = fs_info($disk); + $echo[] = fs_info($disk,true); break; case 'DISK_DSBL': default: @@ -301,7 +301,7 @@ function array_online(&$disk, $fstype='') { $echo[] = ""; $echo[] = ""; $echo[] = ""; - $echo[] = fs_info($disk); + $echo[] = fs_info($disk,true); break; } $echo[] = ""; @@ -479,7 +479,7 @@ while (true) { $echo[$a][] = ""; $echo[$a][] = ""; $echo[$a][] = ""; - $echo[$a][] = fs_info($Flash); + $echo[$a][] = fs_info($Flash,true); $echo[$a][] = ""; $echo[$a] = implode($echo[$a]); From 59518d967243893706e86ddc739ac8e7b86c8ac0 Mon Sep 17 00:00:00 2001 From: Tom Mortensen Date: Thu, 17 Oct 2024 13:19:38 -0700 Subject: [PATCH 203/794] Revert "fix: prevent deleting containers that are assigned as a network #1876" --- .../plugins/dynamix.docker.manager/include/DockerClient.php | 6 ------ 1 file changed, 6 deletions(-) diff --git a/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php b/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php index dc60818a2..48b203e4e 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php +++ b/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php @@ -825,12 +825,6 @@ class DockerClient { $id = $id ?: $name; $info = DockerUtil::loadJSON($dockerManPaths['webui-info']); - // Check to see if the container is linked to other containers - $networks = array_map(function ($n) { return $n['NetworkMode']; }, $this->getDockerContainers()); - if (in_array("container:{$name}", $networks)) { - return "Container currently assigned as network for another container."; - } - // Attempt to remove container $this->getDockerJSON("/containers/$id?force=1", 'DELETE', $code); if (isset($info[$name])) { From 84bb44171931ceea9ad9109455b54abe95697b8d Mon Sep 17 00:00:00 2001 From: Tom Mortensen Date: Thu, 17 Oct 2024 15:20:21 -0700 Subject: [PATCH 204/794] really should re-hash any time dirs are removed from PATH --- etc/rc.d/rc.6 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/etc/rc.d/rc.6 b/etc/rc.d/rc.6 index c69dfadad..63d1e4fe1 100755 --- a/etc/rc.d/rc.6 +++ b/etc/rc.d/rc.6 @@ -241,6 +241,8 @@ while IFS= read -r LINE; do [[ " ${EXCLUDE_PATHS[@]} " =~ " $MOUNT_PATH " ]] && continue run /bin/umount -v "$MOUNT_PATH" done <<< "$(/bin/cat /proc/mounts)" +# Update PATH hashes: +hash -r # limetech - shut down the unraid driver if started if /bin/grep -qs 'mdState=STARTED' /proc/mdstat; then From 35f4cb9bf0e1f63cdcc8212117d31e1323eeb87d Mon Sep 17 00:00:00 2001 From: SimonFair <39065407+SimonFair@users.noreply.github.com> Date: Fri, 18 Oct 2024 12:25:40 +0100 Subject: [PATCH 205/794] Force scaling local. --- emhttp/plugins/dynamix.vm.manager/include/VMMachines.php | 3 ++- emhttp/plugins/dynamix.vm.manager/include/VMajax.php | 3 ++- emhttp/plugins/dynamix/include/DashboardApps.php | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/emhttp/plugins/dynamix.vm.manager/include/VMMachines.php b/emhttp/plugins/dynamix.vm.manager/include/VMMachines.php index 846cbe874..4d7b8d0ff 100644 --- a/emhttp/plugins/dynamix.vm.manager/include/VMMachines.php +++ b/emhttp/plugins/dynamix.vm.manager/include/VMMachines.php @@ -81,7 +81,8 @@ foreach ($vms as $vm) { if ($vmrcport > 0) { $wsport = $lv->domain_get_ws_port($res); $vmrcprotocol = $lv->domain_get_vmrc_protocol($res); - $vmrcurl = autov('/plugins/dynamix.vm.manager/'.$vmrcprotocol.'.html',true).'&autoconnect=true&host='._var($_SERVER,'HTTP_HOST'); + if ($vmrcprotocol == "vnc") $vmrcscale = "&scale=auto"; else $vmrcscale = ""; + $vmrcurl = autov('/plugins/dynamix.vm.manager/'.$vmrcprotocol.'.html',true).$vmrcscale.'&autoconnect=true&host='._var($_SERVER,'HTTP_HOST'); if ($vmrcprotocol == "spice") $vmrcurl .= '&vmname='. urlencode($vm) .'&port=/wsproxy/'.$vmrcport.'/'; else $vmrcurl .= '&port=&path=/wsproxy/'.$wsport.'/'; $graphics = strtoupper($vmrcprotocol).":".$vmrcport."\n"; $virtual = true ; diff --git a/emhttp/plugins/dynamix.vm.manager/include/VMajax.php b/emhttp/plugins/dynamix.vm.manager/include/VMajax.php index 7e9b18735..991692a1d 100644 --- a/emhttp/plugins/dynamix.vm.manager/include/VMajax.php +++ b/emhttp/plugins/dynamix.vm.manager/include/VMajax.php @@ -133,7 +133,8 @@ case 'domain-start-console': $vmrcurl = autov('/plugins/dynamix.vm.manager/'.$protocol.'.html',true).'&autoconnect=true&host='._var($_SERVER,'HTTP_HOST'); if ($protocol == "spice") $vmrcurl .= '&vmname='. urlencode($domName) .'&port=/wsproxy/'.$vmrcport.'/'; else $vmrcurl .= '&port=&path=/wsproxy/'.$wsport.'/'; } - $arrResponse['vmrcurl'] = $vmrcurl; + if ($protocol == "vnc") $vmrcscale = "&scale=auto"; else $vmrcscale = ""; + $arrResponse['vmrcurl'] = $vmrcurl.$vmrcscale; break; case 'domain-start-consoleRV': diff --git a/emhttp/plugins/dynamix/include/DashboardApps.php b/emhttp/plugins/dynamix/include/DashboardApps.php index 36edf47a9..685bcfabc 100644 --- a/emhttp/plugins/dynamix/include/DashboardApps.php +++ b/emhttp/plugins/dynamix/include/DashboardApps.php @@ -96,7 +96,8 @@ if ($_POST['vms']) { if ($vmrcport > 0) { $wsport = $lv->domain_get_ws_port($res); $vmrcprotocol = $lv->domain_get_vmrc_protocol($res) ; - $vmrcurl = autov('/plugins/dynamix.vm.manager/'.$vmrcprotocol.'.html',true).'&autoconnect=true&host=' . $_SERVER['HTTP_HOST'] ; + if ($vmrcprotocol == "vnc") $vmrcscale = "&scale=auto"; else $vmrcscale = ""; + $vmrcurl = autov('/plugins/dynamix.vm.manager/'.$vmrcprotocol.'.html',true).$vmrcscale.'&autoconnect=true&host=' . $_SERVER['HTTP_HOST'] ; if ($vmrcprotocol == "spice") $vmrcurl .= '&vmname='. urlencode($vm) . '&port=/wsproxy/'.$vmrcport.'/' ; else $vmrcurl .= '&port=&path=/wsproxy/' . $wsport . '/'; } elseif ($vmrcport == -1 || $autoport) { $vmrcprotocol = $lv->domain_get_vmrc_protocol($res) ; From ba6ae34e8b49630fb2a2d7b236c588382ea15f1e Mon Sep 17 00:00:00 2001 From: dlandon Date: Fri, 18 Oct 2024 18:30:23 -0500 Subject: [PATCH 206/794] Add Update Pool button to zfs devices to update zfs volume to latest version. --- emhttp/plugins/dynamix/DeviceInfo.page | 43 +++++++++++++++- .../plugins/dynamix/include/zfs_upgrade.php | 51 +++++++++++++++++++ 2 files changed, 92 insertions(+), 2 deletions(-) create mode 100644 emhttp/plugins/dynamix/include/zfs_upgrade.php diff --git a/emhttp/plugins/dynamix/DeviceInfo.page b/emhttp/plugins/dynamix/DeviceInfo.page index 92cd59bd0..dce6dc91d 100755 --- a/emhttp/plugins/dynamix/DeviceInfo.page +++ b/emhttp/plugins/dynamix/DeviceInfo.page @@ -111,6 +111,14 @@ function isPool($name) { global $pools; return in_array($name,$pools); } +/* Check to see if a pool has already been upgraded. */ +function is_upgraded_ZFS_pool($pool_name) { + + /* See if the pool is aready upgraded. */ + $upgrade = trim(shell_exec("/usr/sbin/zpool status ".escapeshellarg($pool_name)." | /usr/bin/grep 'Enable all features using.'") ?? ""); + + return ($upgrade ? false : true); +} ?> "> "> @@ -603,7 +611,7 @@ function eraseDisk(name) { text:"

    _(Existing content is permanently lost)_

    ", html:true, type:'input', - inputPlaceholder:"", + inputPlaceholder:"", showCancelButton:true, closeOnConfirm:false, confirmButtonText:"_(Proceed)_", @@ -631,7 +639,7 @@ function deletePool(name) { text:"", html:true, type:'input', - inputPlaceholder:"", + inputPlaceholder:"", showCancelButton:true, closeOnConfirm:false, confirmButtonText:"_(Proceed)_", @@ -653,6 +661,34 @@ function deletePool(name) { } }); } +function upgradeZpool(name) { + swal({ + title:"_(Upgrade ZFS Pool)_?", + text:"_(This operation cannot be reversed)_. _(After upgrading the volume may not be mountable in previous versions of Unraid)_.

    _(The ZFS volume will be upgraded)_

    ", + html:true, + type:'input', + inputPlaceholder:"", + showCancelButton:true, + closeOnConfirm:false, + confirmButtonText:"_(Proceed)_", + cancelButtonText:"_(Cancel)_" + }, + function(confirm){ + if (confirm == "") { + swal.close(); + $('#doneButton').prop('disabled',true); + $('#eraseButton').prop('disabled',true); + $('#deleteButton').prop('disabled',true); + $('div.spinner.fixed').show(); + $.post("/webGui/include/zfs_upgrade.php",{name:name},function(){ + $('div.spinner.fixed').hide(); + refresh(); + }); + } else { + if (confirm.length) swal({title:"_(Incorrect confirmation)_",text:"_(Please try again)_!",type:'error',html:true,confirmButtonText:"_(Ok)_"}); + } + }); +}
    @@ -1090,6 +1126,9 @@ _(zfs pool status)_:   : + + + :info_zfs_scrub_help: diff --git a/emhttp/plugins/dynamix/include/zfs_upgrade.php b/emhttp/plugins/dynamix/include/zfs_upgrade.php new file mode 100644 index 000000000..0396ddb37 --- /dev/null +++ b/emhttp/plugins/dynamix/include/zfs_upgrade.php @@ -0,0 +1,51 @@ + + +/dev/null"; + exec($command, $output, $return_var); + + /* Check if the command was successful */ + if ($return_var === 0) { + my_logger("ZFS pool '$poolName' upgraded successfully."); + } else { + my_logger("Failed to upgrade ZFS pool '$poolName'."); + } + } else { + my_logger("ZFS pool '$poolName' is already upgraded."); + } +} else { + my_logger("No pool name provided."); +} + +?> From 0ee5caf8acacf6f2b88c4d48424de832fb17c273 Mon Sep 17 00:00:00 2001 From: dlandon Date: Fri, 18 Oct 2024 18:31:21 -0500 Subject: [PATCH 207/794] Add zfs update and additional btrfs scrub help text. --- emhttp/languages/en_US/helptext.txt | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/emhttp/languages/en_US/helptext.txt b/emhttp/languages/en_US/helptext.txt index 33d9f9b77..02acad6d0 100644 --- a/emhttp/languages/en_US/helptext.txt +++ b/emhttp/languages/en_US/helptext.txt @@ -269,7 +269,14 @@ For more complete documentation, please refer to the btrfs-balance [Manpage](htt **Scrub** runs the *btrfs scrub* program which will read all data and metadata blocks from all devices and verify checksums. -If *Repair corrupted blocks* is checked, *btrfs scrub* will repair corrupted blocks if there’s a correct copy available. +*btrfs scrub* will repair corrupted blocks if there is a correct copy available. +:end + +:info_zfs_scrub_help: +**Scrub** runs the *zfs scrub* program which will read all data and metadata blocks from all +devices and verify checksums. + +Click the **Upgrade Pool** button to upgrade the ZFS pool to enable the latest ZFS features. :end :info_scrub_cancel_help: @@ -282,6 +289,10 @@ If *Repair corrupted blocks* is checked, *btrfs scrub* will repair corrupted blo The *Options* field is initialized with *--readonly* which specifies check-only. If repair is needed, you should run a second Check pass, setting the *Options* to *--repair*; this will permit *btrfs check* to fix the file system. +WARNING: **Do not use** *--repair* unless you are advised to do so by a developer or an experienced user, +and then only after having accepted that no fsck successfully repair all types of filesystem corruption. +E.g. some other software or hardware bugs can fatally damage a volume. + After starting a Check, you should Refresh to monitor progress and status. Depending on how large the file system is, and what errors might be present, the operation can take **a long time** to finish (hours). Not much info is printed in the window, but you can verify the operation is running by observing the read/write counters From ecb8a8dac2a3169dd3b74c06c38195112de57b5e Mon Sep 17 00:00:00 2001 From: SimonFair <39065407+SimonFair@users.noreply.github.com> Date: Sat, 19 Oct 2024 16:48:09 +0100 Subject: [PATCH 208/794] Additional logging to clones and fix check boxes. --- emhttp/plugins/dynamix.vm.manager/VMMachines.page | 6 ++++-- .../plugins/dynamix.vm.manager/include/libvirt_helpers.php | 3 +++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/emhttp/plugins/dynamix.vm.manager/VMMachines.page b/emhttp/plugins/dynamix.vm.manager/VMMachines.page index e008d710f..1fbdbf65e 100644 --- a/emhttp/plugins/dynamix.vm.manager/VMMachines.page +++ b/emhttp/plugins/dynamix.vm.manager/VMMachines.page @@ -209,6 +209,8 @@ function VMClone(uuid, name){ box.find('#target').val(name + "_clone"); document.getElementById("Free").checked = true; document.getElementById("Overwrite").checked = true; + overwrite = box.find("#Overwrite"); + overwrite.attr("checked:true"); box.dialog({ title: "_(VM Clone)_", height: 'auto', @@ -549,9 +551,9 @@ _(Snapshot Name)_:
    - + - +
    _(Icon)_: +
    @@ -189,13 +189,13 @@ $(function() { }); $('.advancedview').switchButton({ - labels_placement: "left", + labels_placement: "right", on_label: "_(XML View)_", off_label: "_(Form View)_", checked: isVMXMLMode() }); $('.inlineview').switchButton({ - labels_placement: "left", + labels_placement: "right", off_label: "_(Hide inline xml)_", on_label: "_(Show Inline XML)_", checked: isinlineXMLMode() diff --git a/emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php b/emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php index f8a470cc4..ae693f2c0 100644 --- a/emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php +++ b/emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php @@ -1532,7 +1532,6 @@ - + From 8a55228b8e5e0b1d46fc2a49cc0c271a1dd754d1 Mon Sep 17 00:00:00 2001 From: SimonFair <39065407+SimonFair@users.noreply.github.com> Date: Mon, 15 Jul 2024 18:59:56 +0100 Subject: [PATCH 025/794] Update VMedit.php --- emhttp/plugins/dynamix.vm.manager/include/VMedit.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix.vm.manager/include/VMedit.php b/emhttp/plugins/dynamix.vm.manager/include/VMedit.php index 9417b6cb4..4aed72bb8 100644 --- a/emhttp/plugins/dynamix.vm.manager/include/VMedit.php +++ b/emhttp/plugins/dynamix.vm.manager/include/VMedit.php @@ -113,7 +113,7 @@ if (strpos($strSelectedTemplate,"User-") !== false) {
    _(Select)_  _(Boot Order)_
    _(Other PCI Devices)_: @@ -1557,7 +1556,6 @@
    -
    - "; if (_var($disk,'fsStatus')=='Mounted') { $echo[] = ""; From 58c31f4ef6d18248b5bde1de9336d4b46b017033 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 16 Jul 2024 13:57:21 +0200 Subject: [PATCH 029/794] Show Docker RAM usage on Dashboard - Add Docker RAM usage to Dashbaord page - Rename 'Services' to 'System' - Remove 'usage' suffix from Services naming scheme --- .../dynamix.docker.manager/system/Docker | 28 +++++++++++++++++++ emhttp/plugins/dynamix/nchan/update_1 | 2 +- .../plugins/dynamix/system/{VM_usage => VM} | 0 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100755 emhttp/plugins/dynamix.docker.manager/system/Docker rename emhttp/plugins/dynamix/system/{VM_usage => VM} (100%) diff --git a/emhttp/plugins/dynamix.docker.manager/system/Docker b/emhttp/plugins/dynamix.docker.manager/system/Docker new file mode 100755 index 000000000..9aa6220e0 --- /dev/null +++ b/emhttp/plugins/dynamix.docker.manager/system/Docker @@ -0,0 +1,28 @@ +#!/bin/bash +# Get active containers +ACTIVE_CONTAINERS="$(docker ps -q --no-trunc 2>/dev/null)" + +# Exit if no containers are active and return zero +if [ -z "${ACTIVE_CONTAINERS}" ]; then + echo "0" + exit +fi + +# Get all relevant memory entries from containers +for container in ${ACTIVE_CONTAINERS} ; do + CONT_MEMORY="$(cat /sys/fs/cgroup/docker/${container}/memory.stat 2>/dev/null | grep -Ew "anon|kernel|kernel_stack|pagetables|sec_pagetables|percpu|sock|vmalloc|shmem" | awk '{print $2}')" + # Add up memory values + for value in ${CONT_MEMORY} ; do + if [[ ${value} =~ ^[0-9]+$ ]]; then + ((MEMORY_USAGE += value)) + fi + done + unset CONT_MEMORY +done + +# Check if value is a integer and return the value otherwiese return zero +if [[ ${MEMORY_USAGE} =~ ^[0-9]+$ ]]; then + echo "${MEMORY_USAGE}" +else + echo "0" +fi diff --git a/emhttp/plugins/dynamix/nchan/update_1 b/emhttp/plugins/dynamix/nchan/update_1 index 7668a2bf7..d60d21881 100755 --- a/emhttp/plugins/dynamix/nchan/update_1 +++ b/emhttp/plugins/dynamix/nchan/update_1 @@ -59,7 +59,7 @@ while (true) { exec("sensors -uA 2>/dev/null|grep -Po 'fan\d_input: \K\d+'",$fans); [$total,$free] = $memory; $used = $total-$free; - $names = [_('Services'),_('Free')]; + $names = [_('System'),_('Free')]; $bytes = $echo = []; $hooks = array_filter(glob("/usr/local/emhttp/plugins/*/system/*",GLOB_NOSORT),function($file){return is_executable($file);}); foreach ($hooks as $hook) { diff --git a/emhttp/plugins/dynamix/system/VM_usage b/emhttp/plugins/dynamix/system/VM similarity index 100% rename from emhttp/plugins/dynamix/system/VM_usage rename to emhttp/plugins/dynamix/system/VM From cfa547972e22661ccde65c60a72c9dff6b413e41 Mon Sep 17 00:00:00 2001 From: dlandon Date: Tue, 16 Jul 2024 13:24:15 -0500 Subject: [PATCH 030/794] Fix overlapping text on VPN Manager page. --- emhttp/plugins/dynamix/WG0.page | 2 +- emhttp/plugins/dynamix/WGX.page | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/emhttp/plugins/dynamix/WG0.page b/emhttp/plugins/dynamix/WG0.page index 79deb69cf..addd0942e 100644 --- a/emhttp/plugins/dynamix/WG0.page +++ b/emhttp/plugins/dynamix/WG0.page @@ -1425,8 +1425,8 @@ _(Persistent keepalive)_: :wg_persistent_keepalive_help: -_(Data received)_: 0 B_(Data sent)_: 0 B
    _(Last handshake)_: _(unknown)_
    +_(Data received)_: 0 B_(Data sent)_: 0 B
    _(Last handshake)_: _(unknown)_
      diff --git a/emhttp/plugins/dynamix/WGX.page b/emhttp/plugins/dynamix/WGX.page index c670515f6..cfea1fa52 100644 --- a/emhttp/plugins/dynamix/WGX.page +++ b/emhttp/plugins/dynamix/WGX.page @@ -369,8 +369,8 @@ _(Persistent keepalive)_: :wg_persistent_keepalive_help: -_(Data received)_: 0 B_(Data sent)_: 0 B
    _(Last handshake)_: _(unknown)_
    +_(Data received)_: 0 B_(Data sent)_: 0 B
    _(Last handshake)_: _(unknown)_
      From 36f9e7402ca3b5e97efd188831fce7fe4d335597 Mon Sep 17 00:00:00 2001 From: Justin Brown <21961216+jbtwo@users.noreply.github.com> Date: Tue, 16 Jul 2024 19:32:30 -0400 Subject: [PATCH 031/794] fix UPS settings page when config contains empty values --- emhttp/plugins/dynamix.apcupsd/UPSdetails.page | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix.apcupsd/UPSdetails.page b/emhttp/plugins/dynamix.apcupsd/UPSdetails.page index 9eaa96693..5e36b51e0 100644 --- a/emhttp/plugins/dynamix.apcupsd/UPSdetails.page +++ b/emhttp/plugins/dynamix.apcupsd/UPSdetails.page @@ -17,7 +17,10 @@ Tag="battery-3" ?> + diff --git a/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php b/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php index 0aef6fc1b..7d777ec78 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php +++ b/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php @@ -293,7 +293,7 @@ class DockerTemplates { } public function getAllInfo($reload=false,$com=true,$communityApplications=false) { - global $dockerManPaths, $host; + global $driver, $dockerManPaths, $host; $DockerClient = new DockerClient(); $DockerUpdate = new DockerUpdate(); //$DockerUpdate->verbose = $this->verbose; @@ -321,8 +321,18 @@ class DockerTemplates { // non-templated webui, user specified $tmp['url'] = $webui; } else { - $ip = ($ct['NetworkMode']=='host'||!is_null(_var($port,'PublicPort'))) ? $host : _var($port,'IP'); + if ($ct['NetworkMode']=='host') { + $ip = $host; + } elseif ($driver[$ct['NetworkMode']]=='ipvlan' || $driver[$ct['NetworkMode']]=='macvlan') { + $ip = reset($ct['Networks'])['IPAddress']; + } elseif (!is_null(_var($port,'PublicPort'))) { + $ip = $host; + } else { + $ip = _var($port,'IP'); + } $tmp['url'] = $ip ? (strpos($tmp['url'],$ip)!==false ? $tmp['url'] : $this->getControlURL($ct, $ip, $tmp['url'])) : $tmp['url']; + if (strpos($ct['NetworkMode'], 'container:') === 0) + $tmp['url'] = ''; } if ( ($tmp['shell'] ?? false) == false ) $tmp['shell'] = $this->getTemplateValue($image, 'Shell'); @@ -928,32 +938,38 @@ class DockerClient { $c['Ports'] = []; $c['Networks'] = []; if ($id) $c['NetworkMode'] = $net.str_replace('/',':',DockerUtil::ctMap($id)?:'/???'); - if (isset($driver[$c['NetworkMode']])) { - if ($driver[$c['NetworkMode']]=='bridge') { - $ports = &$info['HostConfig']['PortBindings']; - } else { + if ($info['State']['Running']) { + if (isset($driver[$c['NetworkMode']])) { + if ($driver[$c['NetworkMode']]=='bridge') { + $ports = &$info['HostConfig']['PortBindings']; + } elseif ($driver[$c['NetworkMode']]=='host') { + $c['Ports']['host'] = ['host' => '']; + } elseif ($driver[$c['NetworkMode']]=='ipvlan' || $driver[$c['NetworkMode']]=='macvlan') { + $c['Ports']['vlan'] = ['vlan' => '']; + } else { + $ports = &$info['Config']['ExposedPorts']; + } + } else if (!$id) { + $c['NetworkMode'] = DockerUtil::ctMap($c['NetworkMode']); $ports = &$info['Config']['ExposedPorts']; + foreach($ct['NetworkSettings']['Networks'] as $netName => $netVals) { + $i = $c['NetworkMode']=='host' ? $host : $netVals['IPAddress']; + $c['Networks'][$netName] = [ 'IPAddress' => $i ]; + } } - } else if (!$id) { - $c['NetworkMode'] = DockerUtil::ctMap($c['NetworkMode']); - $ports = &$info['Config']['ExposedPorts']; - foreach($ct['NetworkSettings']['Networks'] as $netName => $netVals) { - $i = $c['NetworkMode']=='host' ? $host : $netVals['IPAddress']; - $c['Networks'][$netName] = [ 'IPAddress' => $i ]; + $ip = $c['NetworkMode']=='host' ? $host : $ct['NetworkSettings']['Networks'][$c['NetworkMode']]['IPAddress'] ?? null; + $c['Networks'][$c['NetworkMode']] = [ 'IPAddress' => $ip ]; + $ports = (isset($ports) && is_array($ports)) ? $ports : []; + foreach ($ports as $port => $value) { + [$PrivatePort, $Type] = array_pad(explode('/', $port),2,''); + $PublicPort = $info['HostConfig']['PortBindings']["$port"][0]['HostPort'] ?: null; + $nat = ($driver[$c['NetworkMode']]=='bridge'); + if (array_key_exists($PrivatePort, $c['Ports']) && $Type != $c['Ports'][$PrivatePort]['Type']) + $Type = $c['Ports'][$PrivatePort]['Type'] . '/' . $Type; + $c['Ports'][$PrivatePort] = ['IP' => $ip, 'PrivatePort' => $PrivatePort, 'PublicPort' => $PublicPort, 'NAT' => $nat, 'Type' => $Type, 'Driver' => $driver[$c['NetworkMode']]]; } + ksort($c['Ports']); } - $ip = $c['NetworkMode']=='host' ? $host : $ct['NetworkSettings']['Networks'][$c['NetworkMode']]['IPAddress'] ?? null; - $c['Networks'][$c['NetworkMode']] = [ 'IPAddress' => $ip ]; - $ports = (isset($ports) && is_array($ports)) ? $ports : []; - foreach ($ports as $port => $value) { - [$PrivatePort, $Type] = array_pad(explode('/', $port),2,''); - $PublicPort = $info['HostConfig']['PortBindings']["$port"][0]['HostPort'] ?: null; - $nat = ($driver[$c['NetworkMode']]=='bridge'); - if (array_key_exists($PrivatePort, $c['Ports']) && $Type != $c['Ports'][$PrivatePort]['Type']) - $Type = $c['Ports'][$PrivatePort]['Type'] . '/' . $Type; - $c['Ports'][$PrivatePort] = ['IP' => $ip, 'PrivatePort' => $PrivatePort, 'PublicPort' => $PublicPort, 'NAT' => $nat, 'Type' => $Type, 'Driver' => $driver[$c['NetworkMode']]]; - } - ksort($c['Ports']); $this::$containersCache[] = $c; } array_multisort(array_column($this::$containersCache,'Name'), SORT_NATURAL|SORT_FLAG_CASE, $this::$containersCache); @@ -1101,3 +1117,4 @@ class DockerUtil { } } ?> + diff --git a/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php b/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php index 1a28ab5f0..3e67cb5d2 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php +++ b/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php @@ -96,11 +96,23 @@ foreach ($containers as $ct) { $ports_internal = []; $ports_external = []; foreach ($ct['Ports'] as $port) { + if (strpos($ct['NetworkMode'], 'container:') === 0) + break; if (_var($port,'PublicPort') && _var($port,'Driver') == 'bridge') $ports_external[] = sprintf('%s:%s', $host, strtoupper(_var($port,'PublicPort'))); - if (_var($port,'Driver') == 'ipvlan' || _var($port,'Driver') == 'host') - $ports_external[] = sprintf('%s:%s', _var($port,'IP'), strtoupper(_var($port,'PrivatePort'))); - $ports_internal[] = sprintf('%s:%s', _var($port,'PrivatePort'), strtoupper(_var($port,'Type'))); + if (isset($ct['Networks']['host'])) { + $ports_external[] = sprintf('%s', $netVals['IPAddress']); + $ports_internal[] = sprintf('%s', 'all'); + break; + } + if (isset($ct['Ports']['vlan'])) { + $ports_external[] = sprintf('%s', $netVals['IPAddress']); + $ports_internal[] = sprintf('%s', 'all'); + break; + } + if ((!isset($ct['Networks']['host'])) || (!isset($ct['Networks']['vlan']))) { + $ports_internal[] = sprintf('%s:%s', _var($port,'PrivatePort'), strtoupper(_var($port,'Type'))); + } } $paths = []; $ct['Volumes'] = is_array($ct['Volumes']) ? $ct['Volumes'] : []; @@ -168,3 +180,4 @@ foreach ($images as $image) { } echo "\0".implode($docker)."\0".(pgrep('rc.docker')!==false ? 1:0); ?> + From 202196f7d3e281758e1fb386e5815cba2a6139fa Mon Sep 17 00:00:00 2001 From: suzuki <464033315@qq.com> Date: Sat, 3 Aug 2024 22:17:51 +0800 Subject: [PATCH 075/794] =?UTF-8?q?Fixed=20an=20issue=20where=20routes=20c?= =?UTF-8?q?ould=20not=20be=20saved=20in=20languages=20=E2=80=8B=E2=80=8Bot?= =?UTF-8?q?her=20than=20English?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix https://forums.unraid.net/bug-reports/stable-releases/%E3%80%9061211%E3%80%91%E3%80%90bug%E3%80%91cannot-save-static-route-r3156/ --- emhttp/plugins/dynamix/RoutingTable.page | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/emhttp/plugins/dynamix/RoutingTable.page b/emhttp/plugins/dynamix/RoutingTable.page index ba72d8e3e..7506b63fc 100644 --- a/emhttp/plugins/dynamix/RoutingTable.page +++ b/emhttp/plugins/dynamix/RoutingTable.page @@ -86,11 +86,11 @@ _(Enter route + gateway + metric)_: "?> *_(optional metric (lowest is preferred))_* - + :eth_routing_table_help:   -: +: From 566113f86c5483550d7a2b3dcbcb4edb10202943 Mon Sep 17 00:00:00 2001 From: dlandon Date: Wed, 7 Aug 2024 16:56:09 -0500 Subject: [PATCH 076/794] Sort users in natural order. --- emhttp/plugins/dynamix/SecuritySMB.page | 2 ++ 1 file changed, 2 insertions(+) diff --git a/emhttp/plugins/dynamix/SecuritySMB.page b/emhttp/plugins/dynamix/SecuritySMB.page index bfd254cc5..5c7a2a24f 100644 --- a/emhttp/plugins/dynamix/SecuritySMB.page +++ b/emhttp/plugins/dynamix/SecuritySMB.page @@ -19,6 +19,8 @@ Cond="(($var['shareSMBEnabled']!='no') && (isset($name)?array_key_exists($name,$ require_once "$docroot/webGui/include/InputSecurity.php"; $width = [123,300]; +/* Sort user array by keys in natural order */ +uksort($users, 'strnatcmp'); ?> :smb_security_help: From 8cabad6f0dd3953ded5057514652dfd910d7b5fa Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Thu, 8 Aug 2024 06:58:58 +0200 Subject: [PATCH 077/794] Changes (#2) * Changes - Revert commit #ed5fe721d9cdfeb65148a5f12eebdf35729e1dfb - Fix php errors * Update DockerContainers.page - Change `External IP:Port` to `LAN IP:Port` --- .../DockerContainers.page | 2 +- .../include/DockerClient.php | 62 +++++++++---------- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/emhttp/plugins/dynamix.docker.manager/DockerContainers.page b/emhttp/plugins/dynamix.docker.manager/DockerContainers.page index e0bfb05c6..9a8b8c44e 100644 --- a/emhttp/plugins/dynamix.docker.manager/DockerContainers.page +++ b/emhttp/plugins/dynamix.docker.manager/DockerContainers.page @@ -31,7 +31,7 @@ $cpus = cpu_list(); ">
    _(Icon)_: +
    From 6156a2582f5616b9c66a231b983626e105b79428 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Mon, 15 Jul 2024 13:43:22 -0700 Subject: [PATCH 026/794] fix: UpdateVM.css temlpate img chooser --- emhttp/plugins/dynamix.vm.manager/sheets/UpdateVM.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix.vm.manager/sheets/UpdateVM.css b/emhttp/plugins/dynamix.vm.manager/sheets/UpdateVM.css index 018ef7190..7e65606bc 100644 --- a/emhttp/plugins/dynamix.vm.manager/sheets/UpdateVM.css +++ b/emhttp/plugins/dynamix.vm.manager/sheets/UpdateVM.css @@ -30,7 +30,7 @@ span.advancedview_panel{display:none;line-height:16px;margin-top:1px} .template_img_chooser_inner{display:inline-block;width:80px;margin-bottom:15px;margin-right:10px;text-align:center;} .template_img_chooser_inner img{width:48px;height:48px} .template_img_chooser_inner p{text-align:center;line-height:8px;} -#template_img_chooser{width:560px;height:300px;overflow-y:scroll;position:relative} +#template_img_chooser{width:560px;height:300px;overflow-y:scroll;position:relative;display:grid;grid-template-columns: repeat(6, minmax(0, 1fr));} #template_img_chooser div:hover{color:#ff8c2f;cursor:pointer;} #form_content{display:none} #vmform .four{overflow:hidden} From 32d3f88b4422cf88d58615c6b4bafac5787a6cff Mon Sep 17 00:00:00 2001 From: dlandon Date: Mon, 15 Jul 2024 17:28:20 -0500 Subject: [PATCH 027/794] VPN Manager not showing tunnel status. --- emhttp/plugins/dynamix/WG0.page | 13 ++++++------- emhttp/plugins/dynamix/WGX.page | 6 +++--- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/emhttp/plugins/dynamix/WG0.page b/emhttp/plugins/dynamix/WG0.page index 29419de2d..79deb69cf 100644 --- a/emhttp/plugins/dynamix/WG0.page +++ b/emhttp/plugins/dynamix/WG0.page @@ -1032,14 +1032,13 @@ tstate['wg0'] = ""; var statistics = new NchanSubscriber('/sub/wireguard',{subscriber:'websocket'}); statistics.on('message', function(data) { - var list = []; - var rows = data.split('\0'); + var list = [], n = []; var x = 0; var vtun = ''; // get all existing tunnels $('div[id^="block-wg"]').each(function(){list.push($(this).prop('id').split('-')[1]);}); // update active tunnels - for (var i=0,row; row=rows[i]; i++) { - var info = row.split(';'); + var rows = JSON.parse(data); + for (var i=0,info; info=rows[i]; i++) { if (info[0] != vtun) { vtun = info[0]; // remove tunnel from inactive list @@ -1281,7 +1280,7 @@ _(Local tunnel address IPv6)_:
    _(Local endpoint)_: -: : +: : @@ -1318,7 +1317,7 @@ _(Local tunnel firewall)_: :wg_local_tunnel_firewall_help: _(MTU size)_: -: _(bytes)_ +: _(bytes)_ :wg_mtu_size_help: @@ -1362,7 +1361,7 @@ _(Peer type of access)_: - + > ![]() diff --git a/emhttp/plugins/dynamix/WGX.page b/emhttp/plugins/dynamix/WGX.page index 184c4ecd0..c670515f6 100644 --- a/emhttp/plugins/dynamix/WGX.page +++ b/emhttp/plugins/dynamix/WGX.page @@ -224,7 +224,7 @@ _(Local tunnel address IPv6)_: _(Local endpoint)_: -: : +: : @@ -261,7 +261,7 @@ _(Local tunnel firewall)_: :wg_local_tunnel_firewall_help: _(MTU size)_: -: _(bytes)_ +: _(bytes)_ :wg_mtu_size_help: @@ -305,7 +305,7 @@ _(Peer type of access)_: - + > ![]() From 84b767ddcd8e14989271c93120cb335320b46665 Mon Sep 17 00:00:00 2001 From: dlandon Date: Mon, 15 Jul 2024 17:32:11 -0500 Subject: [PATCH 028/794] Fix php[ warning. --- emhttp/plugins/dynamix/nchan/device_list | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix/nchan/device_list b/emhttp/plugins/dynamix/nchan/device_list index 1d5915d03..e1d4ee083 100755 --- a/emhttp/plugins/dynamix/nchan/device_list +++ b/emhttp/plugins/dynamix/nchan/device_list @@ -151,7 +151,7 @@ function vfs_type(&$disk) { function fs_info(&$disk) { global $display; $echo = []; - if (empty($disk['fsStatus']) || $disk['fsStatus']=='-') + if (empty(_var($disk, 'fsStatus')) || _var($disk, 'fsStatus') == '-') return "
    ".$disk['fsStatus']."".vfs_type($disk)."
    - +
    _(Application)__(Version)__(Network)__(Container IP)__(Container Port)__(External IP:Port)__(Volume Mappings)_ (_(App to Host)_)_(CPU & Memory load)__(Autostart)__(Uptime)_
    _(Application)__(Version)__(Network)__(Container IP)__(Container Port)__(LAN IP:Port)__(Volume Mappings)_ (_(App to Host)_)_(CPU & Memory load)__(Autostart)__(Uptime)_
    diff --git a/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php b/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php index 7d777ec78..f7fcabb99 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php +++ b/emhttp/plugins/dynamix.docker.manager/include/DockerClient.php @@ -323,10 +323,10 @@ class DockerTemplates { } else { if ($ct['NetworkMode']=='host') { $ip = $host; - } elseif ($driver[$ct['NetworkMode']]=='ipvlan' || $driver[$ct['NetworkMode']]=='macvlan') { + } elseif (isset($driver[$ct['NetworkMode']]) && ($driver[$ct['NetworkMode']] == 'ipvlan' || $driver[$ct['NetworkMode']] == 'macvlan')) { $ip = reset($ct['Networks'])['IPAddress']; } elseif (!is_null(_var($port,'PublicPort'))) { - $ip = $host; + $ip = $host; } else { $ip = _var($port,'IP'); } @@ -938,38 +938,39 @@ class DockerClient { $c['Ports'] = []; $c['Networks'] = []; if ($id) $c['NetworkMode'] = $net.str_replace('/',':',DockerUtil::ctMap($id)?:'/???'); - if ($info['State']['Running']) { - if (isset($driver[$c['NetworkMode']])) { - if ($driver[$c['NetworkMode']]=='bridge') { - $ports = &$info['HostConfig']['PortBindings']; - } elseif ($driver[$c['NetworkMode']]=='host') { - $c['Ports']['host'] = ['host' => '']; - } elseif ($driver[$c['NetworkMode']]=='ipvlan' || $driver[$c['NetworkMode']]=='macvlan') { - $c['Ports']['vlan'] = ['vlan' => '']; - } else { - $ports = &$info['Config']['ExposedPorts']; - } - } else if (!$id) { - $c['NetworkMode'] = DockerUtil::ctMap($c['NetworkMode']); + if (isset($driver[$c['NetworkMode']])) { + if ($driver[$c['NetworkMode']]=='bridge') { + $ports = &$info['HostConfig']['PortBindings']; + } elseif ($driver[$c['NetworkMode']]=='host') { + $c['Ports']['host'] = ['host' => '']; + } elseif ($driver[$c['NetworkMode']]=='ipvlan' || $driver[$c['NetworkMode']]=='macvlan') { + $c['Ports']['vlan'] = ['vlan' => '']; + } else { $ports = &$info['Config']['ExposedPorts']; - foreach($ct['NetworkSettings']['Networks'] as $netName => $netVals) { - $i = $c['NetworkMode']=='host' ? $host : $netVals['IPAddress']; - $c['Networks'][$netName] = [ 'IPAddress' => $i ]; - } } - $ip = $c['NetworkMode']=='host' ? $host : $ct['NetworkSettings']['Networks'][$c['NetworkMode']]['IPAddress'] ?? null; - $c['Networks'][$c['NetworkMode']] = [ 'IPAddress' => $ip ]; - $ports = (isset($ports) && is_array($ports)) ? $ports : []; - foreach ($ports as $port => $value) { - [$PrivatePort, $Type] = array_pad(explode('/', $port),2,''); - $PublicPort = $info['HostConfig']['PortBindings']["$port"][0]['HostPort'] ?: null; - $nat = ($driver[$c['NetworkMode']]=='bridge'); - if (array_key_exists($PrivatePort, $c['Ports']) && $Type != $c['Ports'][$PrivatePort]['Type']) - $Type = $c['Ports'][$PrivatePort]['Type'] . '/' . $Type; - $c['Ports'][$PrivatePort] = ['IP' => $ip, 'PrivatePort' => $PrivatePort, 'PublicPort' => $PublicPort, 'NAT' => $nat, 'Type' => $Type, 'Driver' => $driver[$c['NetworkMode']]]; + } else if (!$id) { + $c['NetworkMode'] = DockerUtil::ctMap($c['NetworkMode']); + $ports = &$info['Config']['ExposedPorts']; + foreach($ct['NetworkSettings']['Networks'] as $netName => $netVals) { + $i = $c['NetworkMode']=='host' ? $host : $netVals['IPAddress']; + $c['Networks'][$netName] = [ 'IPAddress' => $i ]; } - ksort($c['Ports']); } + $ip = $c['NetworkMode']=='host' ? $host : $ct['NetworkSettings']['Networks'][$c['NetworkMode']]['IPAddress'] ?? null; + $c['Networks'][$c['NetworkMode']] = [ 'IPAddress' => $ip ]; + $ports = (isset($ports) && is_array($ports)) ? $ports : []; + foreach ($ports as $port => $value) { + if (!isset($info['HostConfig']['PortBindings'][$port])) { + continue; + } + [$PrivatePort, $Type] = array_pad(explode('/', $port),2,''); + $PublicPort = $info['HostConfig']['PortBindings']["$port"][0]['HostPort'] ?: null; + $nat = ($driver[$c['NetworkMode']]=='bridge'); + if (array_key_exists($PrivatePort, $c['Ports']) && $Type != $c['Ports'][$PrivatePort]['Type']) + $Type = $c['Ports'][$PrivatePort]['Type'] . '/' . $Type; + $c['Ports'][$PrivatePort] = ['IP' => $ip, 'PrivatePort' => $PrivatePort, 'PublicPort' => $PublicPort, 'NAT' => $nat, 'Type' => $Type, 'Driver' => $driver[$c['NetworkMode']]]; + } + ksort($c['Ports']); $this::$containersCache[] = $c; } array_multisort(array_column($this::$containersCache,'Name'), SORT_NATURAL|SORT_FLAG_CASE, $this::$containersCache); @@ -1117,4 +1118,3 @@ class DockerUtil { } } ?> - From 17909f889e3c13f955a63c3ea1656626cf77f093 Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Thu, 8 Aug 2024 10:32:38 +0200 Subject: [PATCH 078/794] Fix PHP Warning (#3) - Fix PHP Warnings on Add Container page --- .../dynamix.docker.manager/include/Helpers.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/emhttp/plugins/dynamix.docker.manager/include/Helpers.php b/emhttp/plugins/dynamix.docker.manager/include/Helpers.php index 3064d9066..667e85868 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/Helpers.php +++ b/emhttp/plugins/dynamix.docker.manager/include/Helpers.php @@ -501,9 +501,15 @@ function getAllocations() { $nat = $ip = false; $list['Name'] = $ct['Name']; foreach ($ct['Ports'] as $tmp) { - $nat = $tmp['NAT']; - $ip = $tmp['IP']; - $port[] = $tmp['PublicPort']; + if (isset($tmp['NAT'])) { + $nat = $tmp['NAT']; + } + if (isset($tmp['IP'])) { + $ip = $tmp['IP']; + } + if (isset($tmp['PublicPort'])) { + $port[] = $tmp['PublicPort']; + } } sort($port); $ip = $ct['NetworkMode']=='host'||$nat ? $host : ($ip ?: DockerUtil::myIP($ct['Name']) ?: '0.0.0.0'); From 663665a61b6f32b44855f20b5f77f65e69776d9d Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Fri, 9 Aug 2024 12:37:00 +0200 Subject: [PATCH 079/794] Make VM Settings work when using GRUB --- .../dynamix.vm.manager/VMSettings.page | 78 ++++++++++++++----- 1 file changed, 58 insertions(+), 20 deletions(-) diff --git a/emhttp/plugins/dynamix.vm.manager/VMSettings.page b/emhttp/plugins/dynamix.vm.manager/VMSettings.page index 62956e7d0..12337f911 100644 --- a/emhttp/plugins/dynamix.vm.manager/VMSettings.page +++ b/emhttp/plugins/dynamix.vm.manager/VMSettings.page @@ -30,30 +30,68 @@ if (!$hardware) { function scan($area, $text) { return strpos($area,$text)!==false; } -function detect(&$syslinux, $key) { - $size = count($syslinux); - $menu = $i = 0; - $value = ''; - // find the default section - while ($i < $size) { - if (scan($syslinux[$i],'label ')) { - $n = $i + 1; - // find the current requested setting - while (!scan($syslinux[$n],'label ') && $n < $size) { - if (scan($syslinux[$n],'menu default')) $menu = 1; - if (scan($syslinux[$n],'append')) foreach (explode(' ',$syslinux[$n]) as $cmd) if (scan($cmd,$key)) {$value = explode('=',$cmd)[1]; break;} - $n++; +function detect(&$bootcfg, $bootenv, $key) { + if ($bootenv === 'syslinux') { + $size = count($bootcfg); + $menu = $i = 0; + $value = ''; + // find the default section + while ($i < $size) { + if (scan($bootcfg[$i],'label ')) { + $n = $i + 1; + // find the current requested setting + while (!scan($bootcfg[$n],'label ') && $n < $size) { + if (scan($bootcfg[$n],'menu default')) $menu = 1; + if (scan($bootcfg[$n],'append')) foreach (explode(' ',$bootcfg[$n]) as $cmd) if (scan($cmd,$key)) {$value = explode('=',$cmd)[1]; break;} + $n++; + } + if ($menu) break; else $i = $n - 1; } - if ($menu) break; else $i = $n - 1; + $i++; } - $i++; + } elseif ($bootenv === 'grub') { + $menu_entries = []; + // find the current boot entry + foreach ($bootcfg as $line) { + if (preg_match('/set default=(\d+)/', $line, $match)) { + $bootentry = (int)$match[1]; + break; + } + } + // split boot entries + foreach ($bootcfg as $line) { + if (strpos($line, 'menuentry ') === 0) { + $in_menuentry = true; + $current_entry = $line . "\n"; + } elseif ($in_menuentry) { + $current_entry .= $line . "\n"; + if (trim($line) === "}") { + $menu_entries[] = $current_entry; + $in_menuentry = false; + } + } + } + // search in selected menuentry + $menuentry = explode("\n", $menu_entries[$bootentry]); + foreach (explode(' ', $menu_entries[$bootentry]) as $cmd) { + if (scan($cmd,$key)) { + $value = explode('=',$cmd)[1]; + break; + } + } } - return $value; + return trim($value); +} +if (is_file('/boot/syslinux/syslinux.cfg')) { + $bootcfg = file('/boot/syslinux/syslinux.cfg',FILE_IGNORE_NEW_LINES+FILE_SKIP_EMPTY_LINES); + $bootenv = 'syslinux'; +} elseif (is_file('/boot/grub/grub.cfg')) { + $bootcfg = file('/boot/grub/grub.cfg',FILE_IGNORE_NEW_LINES+FILE_SKIP_EMPTY_LINES); + $bootenv = 'grub'; } -$syslinux = file('/boot/syslinux/syslinux.cfg',FILE_IGNORE_NEW_LINES+FILE_SKIP_EMPTY_LINES); $arrValidNetworks = getValidNetworks(); -$pcie_acs_override = detect($syslinux, 'pcie_acs_override'); -$vfio_allow_unsafe = detect($syslinux, 'allow_unsafe_interrupts'); +$pcie_acs_override = detect($bootcfg, $bootenv, 'pcie_acs_override'); +$vfio_allow_unsafe = detect($bootcfg, $bootenv, 'allow_unsafe_interrupts'); $bgcolor = strstr('white,azure',$display['theme']) ? '#f2f2f2' : '#1c1c1c'; $started = $var['fsState']=='Started'; $libvirt_up = $libvirt_running=='yes'; @@ -321,7 +359,7 @@ $(function(){ if (run) $("#settingsForm").submit(); - if (run) $.post("/plugins/dynamix.vm.manager/include/VMajax.php", {action:'syslinux',pcie:$('#pcie_acs_override').val(),vfio:$('#vfio_allow_unsafe').val()}, function(data){ + if (run) $.post("/plugins/dynamix.vm.manager/include/VMajax.php", {action:'cmdlineoverride',pcie:$('#pcie_acs_override').val(),vfio:$('#vfio_allow_unsafe').val()}, function(data){ $("#settingsForm").submit(); }); From fb2b66b5b06e89a27e87daaa522942e696a60a6d Mon Sep 17 00:00:00 2001 From: Christoph Hummer Date: Fri, 9 Aug 2024 12:38:18 +0200 Subject: [PATCH 080/794] Make VM Settings work with grub --- .../dynamix.vm.manager/include/VMajax.php | 105 ++++++++++++------ 1 file changed, 74 insertions(+), 31 deletions(-) diff --git a/emhttp/plugins/dynamix.vm.manager/include/VMajax.php b/emhttp/plugins/dynamix.vm.manager/include/VMajax.php index f8ac42c14..f08251d98 100644 --- a/emhttp/plugins/dynamix.vm.manager/include/VMajax.php +++ b/emhttp/plugins/dynamix.vm.manager/include/VMajax.php @@ -33,30 +33,60 @@ function scan($line, $text) { return stripos($line,$text)!==false; } -function embed(&$syslinux, $key, $value) { - $size = count($syslinux); - $make = false; - $new = strlen($value) ? "$key=$value" : false; - $i = 0; - while ($i < $size) { - // find sections and exclude safemode - if (scan($syslinux[$i],'label ') && !scan($syslinux[$i],'safe mode') && !scan($syslinux[$i],'safemode')) { - $n = $i + 1; - // find the current requested setting - while (!scan($syslinux[$n],'label ') && $n < $size) { - if (scan($syslinux[$n],'append ')) { - $cmd = preg_split('/\s+/',trim($syslinux[$n])); - // replace the existing setting - for ($c = 1; $c < count($cmd); $c++) if (scan($cmd[$c],$key)) {$make |= ($cmd[$c]!=$new); $cmd[$c] = $new; break;} - // or insert the new setting - if ($c==count($cmd) && $new) {array_splice($cmd,-1,0,$new); $make = true;} - $syslinux[$n] = ' '.str_replace(' ',' ',implode(' ',$cmd)); +function embed(&$bootcfg, $env, $key, $value) { + if ($env === 'syslinux') { + $size = count($bootcfg); + $make = false; + $new = strlen($value) ? "$key=$value" : false; + $i = 0; + while ($i < $size) { + // find sections and exclude safemode + if (scan($bootcfg[$i],'label ') && !scan($bootcfg[$i],'safe mode') && !scan($bootcfg[$i],'safemode')) { + $n = $i + 1; + // find the current requested setting + while (!scan($bootcfg[$n],'label ') && $n < $size) { + if (scan($bootcfg[$n],'append ')) { + $cmd = preg_split('/\s+/',trim($bootcfg[$n])); + // replace the existing setting + for ($c = 1; $c < count($cmd); $c++) if (scan($cmd[$c],$key)) {$make |= ($cmd[$c]!=$new); $cmd[$c] = $new; break;} + // or insert the new setting + if ($c==count($cmd) && $new) {array_splice($cmd,-1,0,$new); $make = true;} + $bootcfg[$n] = ' '.str_replace(' ',' ',implode(' ',$cmd)); + } + $n++; } - $n++; + $i = $n - 1; } - $i = $n - 1; + $i++; + } + } elseif ($env === 'grub') { + $size = count($bootcfg); + $make = false; + $new = strlen($value) ? "$key=$value" : false; + $i = 0; + while ($i < $size) { + // find sections and exclude safemode/memtest + if (scan($bootcfg[$i],'menuentry ') && !scan($bootcfg[$i],'safe mode') && !scan($bootcfg[$i],'safemode') && !scan($bootcfg[$i],'memtest')) { + $n = $i + 1; + // find the current requested setting + while (!scan($bootcfg[$n],'menuentry ') && $n < $size) { + if (scan($bootcfg[$n],'linux ')) { + $cmd = preg_split('/\s+/',trim($bootcfg[$n])); + // replace the existing setting + for ($c = 1; $c < count($cmd); $c++) if (scan($cmd[$c],$key)) {$make |= ($cmd[$c]!=$new); $cmd[$c] = $new; break;} + // or insert the new setting + if ($c == count($cmd) && $new) { + $cmd[] = $new; + $make = true; + } + $bootcfg[$n] = ' ' . str_replace(' ', ' ', implode(' ', $cmd)); + } + $n++; + } + $i = $n - 1; + } + $i++; } - $i++; } return $make; } @@ -536,26 +566,39 @@ case 'hot-detach-usb': //TODO break; -case 'syslinux': - $cfg = '/boot/syslinux/syslinux.cfg'; - $syslinux = file($cfg, FILE_IGNORE_NEW_LINES+FILE_SKIP_EMPTY_LINES); - $m1 = embed($syslinux, 'pcie_acs_override', $_REQUEST['pcie']); - $m2 = embed($syslinux, 'vfio_iommu_type1.allow_unsafe_interrupts', $_REQUEST['vfio']); - if ($m1||$m2) file_put_contents($cfg, implode("\n",$syslinux)."\n"); +case 'cmdlineoverride': + if (is_file('/boot/syslinux/syslinux.cfg')) { + $cfg = '/boot/syslinux/syslinux.cfg'; + $env = 'syslinux'; + $bootcfg = file($cfg, FILE_IGNORE_NEW_LINES+FILE_SKIP_EMPTY_LINES); + } elseif (is_file('/boot/grub/grub.cfg')) { + $cfg = '/boot/grub/grub.cfg'; + $env = 'grub'; + $bootcfg = file($cfg, FILE_IGNORE_NEW_LINES); + } + $m1 = embed($bootcfg, $env, 'pcie_acs_override', $_REQUEST['pcie']); + $m2 = embed($bootcfg, $env, 'vfio_iommu_type1.allow_unsafe_interrupts', $_REQUEST['vfio']); + if ($m1||$m2) file_put_contents($cfg, implode("\n",$bootcfg)."\n"); $arrResponse = ['success' => true, 'modified' => $m1|$m2]; break; case 'reboot': - $cfg = '/boot/syslinux/syslinux.cfg'; - $syslinux = file($cfg, FILE_IGNORE_NEW_LINES+FILE_SKIP_EMPTY_LINES); + if (is_file('/boot/syslinux/syslinux.cfg')) { + $cfg = '/boot/syslinux/syslinux.cfg'; + $env = 'syslinux'; + } elseif (is_file('/boot/grub/grub.cfg')) { + $cfg = '/boot/grub/grub.cfg'; + $env = 'grub'; + } + $bootcfg = file($cfg, FILE_IGNORE_NEW_LINES+FILE_SKIP_EMPTY_LINES); $cmdline = explode(' ',file_get_contents('/proc/cmdline')); $pcie = $vfio = ''; foreach ($cmdline as $cmd) { if (scan($cmd,'pcie_acs_override')) $pcie = explode('=',$cmd)[1]; if (scan($cmd,'allow_unsafe_interrupts')) $vfio = explode('=',$cmd)[1]; } - $m1 = embed($syslinux, 'pcie_acs_override', $pcie); - $m2 = embed($syslinux, 'vfio_iommu_type1.allow_unsafe_interrupts', $vfio); + $m1 = embed($bootcfg, $env, 'pcie_acs_override', $pcie); + $m2 = embed($bootcfg, $env, 'vfio_iommu_type1.allow_unsafe_interrupts', $vfio); $arrResponse = ['success' => true, 'modified' => $m1|$m2]; break; From 654db74167511a6548fc0c9d01b18bb1f31b2493 Mon Sep 17 00:00:00 2001 From: Jonathan Garbee Date: Sat, 10 Aug 2024 14:51:06 +0000 Subject: [PATCH 081/794] feat(user-edit): update allowed ssh key encryptions --- emhttp/plugins/dynamix/UserEdit.page | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix/UserEdit.page b/emhttp/plugins/dynamix/UserEdit.page index c48570ab5..6cdfe1370 100644 --- a/emhttp/plugins/dynamix/UserEdit.page +++ b/emhttp/plugins/dynamix/UserEdit.page @@ -103,7 +103,7 @@ function checkKey(form) { // check syntax of ssh keys var rows = form.text.value.split('\n'); for (var i=0,row; row=rows[i]; i++) { - if (row.search(/^(ssh-ed25519 AAAAC3NzaC1lZDI1NTE5|sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29t|ssh-rsa AAAAB3NzaC1yc2)[0-9A-Za-z+/]+[=]{0,3}(\s.*)?$/)==-1) { + if (row.search(/^(ssh-dss AAAAB3NzaC1kc3|ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNT|sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb2|ssh-ed25519 AAAAC3NzaC1lZDI1NTE5|sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29t|ssh-rsa AAAAB3NzaC1yc2)[0-9A-Za-z+/]+[=]{0,3}(\s.*)?$/)==-1) { swal({title:"_(Invalid Key)_",text:"["+(i+1)+"] "+row.split(' ')[0]+": _(Syntax of the key is incorrect)_!",type:"error",html:true,confirmButtonText:"_(Ok)_"}); return false; } From 2ff8b77c9dabbf8c5e627a9a15bb3dd7cc18265f Mon Sep 17 00:00:00 2001 From: Jonathan Garbee Date: Sat, 10 Aug 2024 15:35:49 +0000 Subject: [PATCH 082/794] fix: replace document write usages --- emhttp/plugins/dynamix/include/.login.php | 7 ++++++- emhttp/plugins/dynamix/include/.set-password.php | 9 ++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/emhttp/plugins/dynamix/include/.login.php b/emhttp/plugins/dynamix/include/.login.php index 8a2700bc1..b2af3d636 100644 --- a/emhttp/plugins/dynamix/include/.login.php +++ b/emhttp/plugins/dynamix/include/.login.php @@ -529,7 +529,12 @@ $theme_dark = in_array($display['theme'], ['black', 'gray']); cookieEnabled = document.cookie.indexOf("cookietest=")!=-1; document.cookie = "cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT"; if (!cookieEnabled) { - document.write("

    "); + const errorElement = document.createElement('p'); + errorElement.classList.add('error'); + errorElement.textContent = ""; + + document.body.textContent = ''; + document.body.appendChild(errorElement); } diff --git a/emhttp/plugins/dynamix/include/.set-password.php b/emhttp/plugins/dynamix/include/.set-password.php index 628532069..402524f5a 100644 --- a/emhttp/plugins/dynamix/include/.set-password.php +++ b/emhttp/plugins/dynamix/include/.set-password.php @@ -347,7 +347,14 @@ $THEME_DARK = in_array($display['theme'],['black','gray']); document.cookie = "cookietest=1"; cookieEnabled = document.cookie.indexOf("cookietest=")!=-1; document.cookie = "cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT"; - if (!cookieEnabled) document.write("

    "); + if (!cookieEnabled) { + const errorElement = document.createElement('p'); + errorElement.classList.add('error'); + errorElement.textContent = ""; + + document.body.textContent = ''; + document.body.appendChild(errorElement); + } // Password toggling const $passToggle = document.querySelector('.js-pass-toggle'); const $passToggleHideSvg = $passToggle.querySelector('.js-pass-toggle-hide'); From 32bb9bb6d958873e170cce78e3ec1b4bb9bb5aa3 Mon Sep 17 00:00:00 2001 From: SimonFair <39065407+SimonFair@users.noreply.github.com> Date: Mon, 12 Aug 2024 17:18:28 +0100 Subject: [PATCH 083/794] Add ZFS Checking This will check VM name does not include characters that are not valid for ZFS. Existing VMs are not modified but will throw error and disable update if invalid characters are found. --- .../dynamix.vm.manager/VMMachines.page | 1 + .../dynamix.vm.manager/include/VMajax.php | 55 +++++++++++++++++++ .../include/libvirt_helpers.php | 22 ++++++++ .../templates/Custom.form.php | 37 ++++++++++++- 4 files changed, 113 insertions(+), 2 deletions(-) diff --git a/emhttp/plugins/dynamix.vm.manager/VMMachines.page b/emhttp/plugins/dynamix.vm.manager/VMMachines.page index 390afbd6d..e008d710f 100644 --- a/emhttp/plugins/dynamix.vm.manager/VMMachines.page +++ b/emhttp/plugins/dynamix.vm.manager/VMMachines.page @@ -489,6 +489,7 @@ $(function() {
    +
    diff --git a/emhttp/plugins/dynamix.vm.manager/include/VMajax.php b/emhttp/plugins/dynamix.vm.manager/include/VMajax.php index f8ac42c14..902fca90b 100644 --- a/emhttp/plugins/dynamix.vm.manager/include/VMajax.php +++ b/emhttp/plugins/dynamix.vm.manager/include/VMajax.php @@ -422,6 +422,61 @@ case 'snap-desc': : ['error' => $lv->get_last_error()]; break; +case 'get_storage_fstype': + $fstype = get_storage_fstype(unscript(_var($_REQUEST,'storage'))); + $arrResponse = ['fstype' => $fstype , 'success' => true] ; + break; + +case 'vm-removal': + requireLibvirt(); + $arrResponse = ($data = getvmsnapshots($domName)) + ? ['success' => true] + : ['error' => $lv->get_last_error()]; + $datartn = $disksrtn = ""; + foreach($data as $snap=>$snapdetail) { + $snapshotdatetime = date("Y-m-d H:i:s",$snapdetail["creationtime"]) ; + $datartn .= "$snap $snapshotdatetime\n" ; + } + $disks = $lv->get_disk_stats($domName); + + foreach($disks as $diskid=>$diskdetail) { + if ($diskid == 0) $pathinfo = pathinfo($diskdetail['file']); + } + + $list = glob($pathinfo['dirname']."/*"); + $uuid = $lv->domain_get_uuid($domName); + + $list2 = glob("/etc/libvirt/qemu/nvram/*$uuid*"); + $listnew = array(); + $list=array_merge($list,$list2); + foreach($list as $key => $listent) + { + $pathinfo = pathinfo($listent); + $listnew[] = "{$pathinfo['basename']} ({$pathinfo['dirname']})"; + } + sort($listnew,SORT_NATURAL); + $listcount = count($listnew); + $snapcount = count($data); + $disksrtn=implode("\n",$listnew); + + + + if (strpos($dirname,'/mnt/user/')===0) { + $realdisk = trim(shell_exec("getfattr --absolute-names --only-values -n system.LOCATION ".escapeshellarg($dirname)." 2>/dev/null")); + if (!empty($realdisk)) { + $dirname = str_replace('/mnt/user/', "/mnt/$realdisk/", $dirname); + } + } + $fstype = trim(shell_exec(" stat -f -c '%T' $dirname")); + $html = ' + + + + +
    '._('VM Being removed').':'.$domName.'
    '._('Remove all files').':
    '._('Files being removed').':
    '._('Snapshots being removed').':
    '; + $arrResponse = ['html' => $html , 'success' => true] ; + break; + case 'disk-create': $disk = $_REQUEST['disk']; $driver = $_REQUEST['driver']; diff --git a/emhttp/plugins/dynamix.vm.manager/include/libvirt_helpers.php b/emhttp/plugins/dynamix.vm.manager/include/libvirt_helpers.php index 5c86937b1..c4b5ce262 100644 --- a/emhttp/plugins/dynamix.vm.manager/include/libvirt_helpers.php +++ b/emhttp/plugins/dynamix.vm.manager/include/libvirt_helpers.php @@ -2823,4 +2823,26 @@ function get_vm_ip($dom) { return $myIP; } +function check_zfs_name($zfsname, $storage="default") { + global $lv,$domain_cfg; + if ($storage == "default") $storage = $domain_cfg['DOMAINDIR']; else $storage = "/mnt/$storage/"; + $storage=transpose_user_path($storage); + $fstype = trim(shell_exec(" stat -f -c '%T' $storage")); + #Check if ZFS. + $allowed_chars = "/^[A-Za-z0-9\-_.:]+$/"; + if ($fstype == "zfs" && !preg_match($allowed_chars, $zfsname)) { + return false; + } else { + return true; + } +} + +function get_storage_fstype($storage="default") { + global $domain_cfg; + if ($storage == "default") $storage = $domain_cfg['DOMAINDIR']; else $storage = "/mnt/$storage/"; + $storage=transpose_user_path($storage); + $fstype = trim(shell_exec(" stat -f -c '%T' $storage")); + return $fstype; +} + ?> diff --git a/emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php b/emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php index ae693f2c0..cedda4793 100644 --- a/emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php +++ b/emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php @@ -334,9 +334,10 @@ + - +
    _(Name)_:
    @@ -377,7 +378,7 @@
    _(Override Storage Location)_: - name="template[storage]" onchange="get_storage_fstype(this)" class="disk_select narrow" id="storage_location" title="_(Location of virtual machine files)_"> "> + + + + - - - - - - - - + + @@ -89,6 +95,8 @@

    no
    VNC

    +
    + Clipboard +

    + Edit clipboard content in the textarea below. +

    -
    - - + title="Full Screen">
    +
    + Settings +
      -
    • - Settings -
    • @@ -267,39 +275,69 @@
    -
    - +
    +
    +
    +
    +
    - -
    - Connect -
    + +
    + +
    + +
    +
    +
    + Server identity +
    +
    + The server has provided the following identifying information: +
    +
    + Fingerprint: + +
    +
    + Please verify that the information is correct and press + "Approve". Otherwise press "Reject". +
    +
    + + +
    +
    +
    +
    -
      -
    • - - -
    • -
    • - - -
    • -
    • - -
    • -
    +
    + Credentials +
    +
    + + +
    +
    + + +
    +
    + +
    @@ -318,7 +356,8 @@ html attributes which attempt to disable text suggestions on the on-screen keyboard. Let's hope Chrome implements the ime-mode style for example --> - +
    ".vfs_type($disk)."".vfs_type($disk,$online)."".my_scale(_var($disk,'fsSize',0)*1024,$unit,-1)." $unit".my_scale(_var($disk,'fsUsed',0)*1024,$unit)." $unit
    ".my_scale(_var($disk,'fsFree',0)*1024,$unit)." $unit
    ".vfs_type($disk).""._(_var($disk,'fsStatus'))."".vfs_type($disk,$online).""._(_var($disk,'fsStatus'))."".device_info($disk,false)."
    "._('Missing')."
    ".assignment($disk)."{$disk['idSb']} - ".my_scale(_var($disk,'sizeSb',0)*1024,$unit)." $unit".vfs_type($disk)."".vfs_type($disk,false)."".device_info($disk,false)."".assignment($disk)."".vfs_type($disk)."".vfs_type($disk,false)."$warning".vfs_type($disk)."".vfs_type($disk,false)."$warning".vfs_type($disk)."".vfs_type($disk,false)."".device_info($disk,true)."".($fstype=='zfs' ? _('Not present') : _('Not installed'))."".device_info($disk,true).""._('Not installed')."".my_diskio($data[0])."".my_number(_var($disk,'numReads',0))."".my_diskio($data[1])."".my_number(_var($disk,'numWrites',0))."".my_number(_var($disk,'numErrors',0))."
    ".my_diskio($data[0])."".my_number(_var($Flash,'numReads',0))."".my_diskio($data[1])."".my_number(_var($Flash,'numWrites',0))."".my_number(_var($Flash,'numErrors',0))."
    _(New VM)_:
    _(Overwrite)_:
    _(Overwrite)_:
    _(Check free space)_:
    _(Check free space)_:
    diff --git a/emhttp/plugins/dynamix.vm.manager/include/libvirt_helpers.php b/emhttp/plugins/dynamix.vm.manager/include/libvirt_helpers.php index afaa9c5d3..457de3bfb 100644 --- a/emhttp/plugins/dynamix.vm.manager/include/libvirt_helpers.php +++ b/emhttp/plugins/dynamix.vm.manager/include/libvirt_helpers.php @@ -1750,6 +1750,9 @@ private static $encoding = 'UTF-8'; $pi = pathinfo($config["disk"][$diskid]["new"]) ; $isdir = is_dir($pi['dirname']) ; if (is_file($config["disk"][$diskid]["new"])) $file_exists = true ; + write("addLog\0".htmlspecialchars("Checking from file:".$file_clone[$diskid]["source"])); + write("addLog\0".htmlspecialchars("Checking to file:".$config["disk"][$diskid]["new"])); + write("addLog\0".htmlspecialchars("File exists value:". ($file_exists ? "True" : "False"))); $file_clone[$diskid]["target"] = $config["disk"][$diskid]["new"] ; } From e36779bd4942dafc408bb6e7a76d880d91dc23d6 Mon Sep 17 00:00:00 2001 From: SimonFair <39065407+SimonFair@users.noreply.github.com> Date: Sun, 20 Oct 2024 15:37:51 +0100 Subject: [PATCH 209/794] Fix Scaling. --- emhttp/plugins/dynamix.vm.manager/include/VMMachines.php | 2 +- emhttp/plugins/dynamix.vm.manager/include/VMajax.php | 2 +- emhttp/plugins/dynamix/include/DashboardApps.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/emhttp/plugins/dynamix.vm.manager/include/VMMachines.php b/emhttp/plugins/dynamix.vm.manager/include/VMMachines.php index 4d7b8d0ff..820a53f79 100644 --- a/emhttp/plugins/dynamix.vm.manager/include/VMMachines.php +++ b/emhttp/plugins/dynamix.vm.manager/include/VMMachines.php @@ -81,7 +81,7 @@ foreach ($vms as $vm) { if ($vmrcport > 0) { $wsport = $lv->domain_get_ws_port($res); $vmrcprotocol = $lv->domain_get_vmrc_protocol($res); - if ($vmrcprotocol == "vnc") $vmrcscale = "&scale=auto"; else $vmrcscale = ""; + if ($vmrcprotocol == "vnc") $vmrcscale = "&resize=scale"; else $vmrcscale = ""; $vmrcurl = autov('/plugins/dynamix.vm.manager/'.$vmrcprotocol.'.html',true).$vmrcscale.'&autoconnect=true&host='._var($_SERVER,'HTTP_HOST'); if ($vmrcprotocol == "spice") $vmrcurl .= '&vmname='. urlencode($vm) .'&port=/wsproxy/'.$vmrcport.'/'; else $vmrcurl .= '&port=&path=/wsproxy/'.$wsport.'/'; $graphics = strtoupper($vmrcprotocol).":".$vmrcport."\n"; diff --git a/emhttp/plugins/dynamix.vm.manager/include/VMajax.php b/emhttp/plugins/dynamix.vm.manager/include/VMajax.php index 991692a1d..26032267f 100644 --- a/emhttp/plugins/dynamix.vm.manager/include/VMajax.php +++ b/emhttp/plugins/dynamix.vm.manager/include/VMajax.php @@ -133,7 +133,7 @@ case 'domain-start-console': $vmrcurl = autov('/plugins/dynamix.vm.manager/'.$protocol.'.html',true).'&autoconnect=true&host='._var($_SERVER,'HTTP_HOST'); if ($protocol == "spice") $vmrcurl .= '&vmname='. urlencode($domName) .'&port=/wsproxy/'.$vmrcport.'/'; else $vmrcurl .= '&port=&path=/wsproxy/'.$wsport.'/'; } - if ($protocol == "vnc") $vmrcscale = "&scale=auto"; else $vmrcscale = ""; + if ($protocol == "vnc") $vmrcscale = "&resize=scale"; else $vmrcscale = ""; $arrResponse['vmrcurl'] = $vmrcurl.$vmrcscale; break; diff --git a/emhttp/plugins/dynamix/include/DashboardApps.php b/emhttp/plugins/dynamix/include/DashboardApps.php index 685bcfabc..05c913926 100644 --- a/emhttp/plugins/dynamix/include/DashboardApps.php +++ b/emhttp/plugins/dynamix/include/DashboardApps.php @@ -96,7 +96,7 @@ if ($_POST['vms']) { if ($vmrcport > 0) { $wsport = $lv->domain_get_ws_port($res); $vmrcprotocol = $lv->domain_get_vmrc_protocol($res) ; - if ($vmrcprotocol == "vnc") $vmrcscale = "&scale=auto"; else $vmrcscale = ""; + if ($vmrcprotocol == "vnc") $vmrcscale = "&resize=scale"; else $vmrcscale = ""; $vmrcurl = autov('/plugins/dynamix.vm.manager/'.$vmrcprotocol.'.html',true).$vmrcscale.'&autoconnect=true&host=' . $_SERVER['HTTP_HOST'] ; if ($vmrcprotocol == "spice") $vmrcurl .= '&vmname='. urlencode($vm) . '&port=/wsproxy/'.$vmrcport.'/' ; else $vmrcurl .= '&port=&path=/wsproxy/' . $wsport . '/'; } elseif ($vmrcport == -1 || $autoport) { From 242d6efd26b453981a99757ea1919dd4b2192951 Mon Sep 17 00:00:00 2001 From: Tom Mortensen Date: Sun, 20 Oct 2024 10:50:00 -0700 Subject: [PATCH 210/794] rc.ntpd: Fix 'update' subcommand rc.nginx: Fix 'update' subcommand rc.libvirt: Fix 'vmlist()' function to ignore 'virsh list' headers rc.library_source: changes to support above --- etc/rc.d/rc.library.source | 4 ++-- etc/rc.d/rc.libvirt | 2 +- etc/rc.d/rc.ntpd | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/etc/rc.d/rc.library.source b/etc/rc.d/rc.library.source index 6efa3bc31..f127fef53 100644 --- a/etc/rc.d/rc.library.source +++ b/etc/rc.d/rc.library.source @@ -30,7 +30,7 @@ this(){ grep -Pom1 "^RPCBIND_OPTS=\"\K[^\"]+" $RPC ;; 'nginx') MAP=(); - for ADDR in $(awk '$1=="listen" && $2~/^[0-9]|\[/ && $0~/http2; #.*$/{print $2}' $SERVERS 2>/dev/null); do + for ADDR in $(awk '$1=="listen" && $2~/^[0-9]|\[/ && !/# lo/{print $2}' $SERVERS 2>/dev/null); do # extract ipv4 / ipv6 address [[ $(ipv $ADDR) == 4 ]] && ADDR=${ADDR%:*} || ADDR=${ADDR#*[} ADDR=${ADDR%]*} MAP+=($ADDR) @@ -151,7 +151,7 @@ check(){ fi for ADDR in ${NET[@]/$NET}; do ADDR=$(unmask $ADDR) - if [[ "avahi show" =~ "$CALLER" ]]; then + if [[ "ntp avahi show" =~ "$CALLER" ]]; then [[ -z $(good $NET) ]] && BIND+=($NET) else [[ -z $(good $ADDR) ]] && BIND+=($ADDR) || continue diff --git a/etc/rc.d/rc.libvirt b/etc/rc.d/rc.libvirt index cd4ce5cef..a32c07b17 100755 --- a/etc/rc.d/rc.libvirt +++ b/etc/rc.d/rc.libvirt @@ -54,7 +54,7 @@ vmlist(){ for ARG in ${@: 1}; do [[ $ARG == all ]] && STATE="$STATE --all" || STATE="$STATE --state-$ARG" done - virsh list --uuid $STATE | grep -v '^$' + virsh list --uuid $STATE | tail -n +3 | grep -v '^$' } waitfor(){ diff --git a/etc/rc.d/rc.ntpd b/etc/rc.d/rc.ntpd index 7bd8993d2..827b2532f 100755 --- a/etc/rc.d/rc.ntpd +++ b/etc/rc.d/rc.ntpd @@ -35,7 +35,7 @@ ntpd_build(){ [[ $IPV6 == no ]] && echo "interface ignore ipv6" >>$CONF # add listen interfaces for NET in $BIND; do - echo "interface listen $(show $NET) # $NET" >>$CONF + echo "interface listen $NET" >>$CONF done fi # add configured NTP servers From 121b6aa8cc7613efab4cb13c8d02411342f201ab Mon Sep 17 00:00:00 2001 From: SimonFair <39065407+SimonFair@users.noreply.github.com> Date: Sun, 20 Oct 2024 21:02:20 +0100 Subject: [PATCH 211/794] Add noVNC scale option to template. --- emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php b/emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php index 54c0e3c15..616cbd878 100644 --- a/emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php +++ b/emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php @@ -154,7 +154,8 @@ $protocol = $lv->domain_get_vmrc_protocol($dom); $reply = ['success' => true]; if ($vmrcport > 0) { - $reply['vmrcurl'] = autov('/plugins/dynamix.vm.manager/'.$protocol.'.html',true).'&autoconnect=true&host=' . $_SERVER['HTTP_HOST'] ; + if ($protocol == "vnc") $vmrcscale = "&resize=scale"; else $vmrcscale = ""; + $reply['vmrcurl'] = autov('/plugins/dynamix.vm.manager/'.$protocol.'.html',true).'&autoconnect=true'.$vmrcscale.'&host=' . $_SERVER['HTTP_HOST'] ; if ($protocol == "spice") $reply['vmrcurl'] .= '&port=/wsproxy/'.$vmrcport.'/'; else $reply['vmrcurl'] .= '&port=&path=/wsproxy/' . $wsport . '/'; } } else { From e289d2ad7c1d93cb1fc38eabc74ce3d92d2c0412 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 21 Oct 2024 23:07:11 +0200 Subject: [PATCH 212/794] Initial Tailscale Docker integration - Remove exclusion from share directory from .gitignore - Add Unraid specific container hook script - Add Tailscale icon - Add helptexts for Tailscale This integration allows users to easily make use of Tailscale in their Docker containers by just clicking a switch on the Docker page. The Tailscale plugin itself is not needed for this integration but for the best user experience it is strongly recommended to install the Tailscale plugin from Community Applications. How this works: 1. Configure Tailscale in the Docker template in Unraid and click Apply 2. Unraid will extract the default Entrypoint and CMD from the container 3. The hook script will be mounted in the container to /opt/unraid/tailscale-hook and the Entrypoint from the container will be modified to /opt/unraid/tailscale-hook 4. The original Entrypoint and CMD from the container, alongside with the other necessary variables for Tailscale will be passed over to the container 5. When the container starts the hook script will be executed, install dependencies (currently Alpine, Arch and Debian based containers are supported), download the newest version from Tailscale and run it 6. After the first start with Tailscale the container will halt and wait for the user to click on the link which is presented in the log from the container to add the container to your Tailnet (alternatively one could also open up a Console from the container and issue `tailscale status` which will also present the link to authenticate the container to your Tailnet) 7. The hook script will pass over the default Entrypoint and CMD which was extracted in step 2 and the container will start as usual These steps will be repeated after Container update, force update from the Docker page and if changes in the template are made. If the container is only Started/Restarted the hook script will detect that Tailscale is installed and only start it, if one wants to update Tailscale inside the container simply hit `force update` on the Docker page in Unraid (with Advanced View Enabled) The integration will show a Tailscale icon on the Docker page for each Tailscale enabled Container and show some basic information from the container (Installed Tailscale Version, Online Status, Hostname, Main Relay, IPs, Exit Node, Auth Expiry,...) When Serve or Funnel is enabled it will also generate `Tailscale WebUI` in the drop down for the container which you can open up if Tailscale is installed from the device you are accessing Unraid. --- emhttp/languages/en_US/helptext.txt | 131 +++- .../images/tailscale.png | Bin 0 -> 306720 bytes .../include/CreateDocker.php | 650 +++++++++++++++++- .../include/DockerClient.php | 51 +- .../include/DockerContainers.php | 143 +++- .../include/Helpers.php | 238 +++++-- .../javascript/docker.js | 3 +- .../scripts/update_container | 18 +- .../plugins/dynamix/include/DashboardApps.php | 6 +- share/docker/tailscale_container_hook | 313 +++++++++ 10 files changed, 1484 insertions(+), 69 deletions(-) create mode 100755 emhttp/plugins/dynamix.docker.manager/images/tailscale.png create mode 100755 share/docker/tailscale_container_hook diff --git a/emhttp/languages/en_US/helptext.txt b/emhttp/languages/en_US/helptext.txt index c1a7ba4e5..b26d3c33b 100644 --- a/emhttp/languages/en_US/helptext.txt +++ b/emhttp/languages/en_US/helptext.txt @@ -271,7 +271,6 @@ devices and verify checksums. *btrfs scrub* will repair corrupted blocks if there is a correct copy available. :end - :info_zfs_scrub_help: **Scrub** runs the *zfs scrub* program which will read all data and metadata blocks from all devices and verify checksums. @@ -2314,6 +2313,136 @@ Generally speaking, it is recommended to leave this setting to its default value IMPORTANT NOTE: If adjusting port mappings, do not modify the settings for the Container port as only the Host port can be adjusted. :end +:docker_container_network_help: +This allows your container to utilize the network configuration of another container. Select the appropriate container from the list.
    This setup can be particularly beneficial if you wish to route your container's traffic through a VPN. +:end + +:docker_tailscale_help: +Enable Tailscale to add this container as a machine on your Tailnet. +:end + +:docker_tailscale_hostname_help: +Provide the hostname for this container. It does not need to match the container name, but it must be unique on your Tailnet. Note that an HTTPS certificate will be generated for this hostname, which means it will be placed in a public ledger, so use a name that you don't mind being public. +For more information see enabling https. +:end + +:docker_tailscale_be_exitnode_help: +Enable this if other machines on your Tailnet should route their Internet traffic through this container, this is most useful for containers that connect to commercial VPN services. +Be sure to authorize this Exit Node in your Tailscale Machines Admin Panel. +For more details, see the Tailscale documentation on Exit Nodes. +:end + +:docker_tailscale_exitnode_ip_help: +Optionally route this container's outgoing Internet traffic through an Exit Node on your Tailnet. Choose the Exit Node or input its Tailscale IP address. +For more details, see Exit Nodes. +:end + +:docker_tailscale_lanaccess_help: +Only applies when this container is using an Exit Node. Enable this to allow the container to access the local network. + +WARNING: Even with this feature enabled, systems on your LAN may not be able to access the container unless they have Tailscale installed. +:end + +:docker_tailscale_userspace_networking_help: +When enabled, this container will operate in a restricted environment. Tailscale DNS will not work, and the container will not be able to initiate connections to other Tailscale machines. However, other machines on your Tailnet will still be able to communicate with this container. + +When disabled, this container will have full access to your Tailnet. Tailscale DNS will work, and the container can fully communicate with other machines on the Tailnet. +However, systems on your LAN may not be able to access the container unless they have Tailscale installed. +:end + +:docker_tailscale_ssh_help: +Tailscale SSH is similar to the Docker "Console" option in the Unraid webgui, except you connect with an SSH client and authenticate via Tailscale. +For more details, see the Tailscale SSH documentation.. +:end + +:docker_tailscale_serve_mode_help: +Enabling Serve will automatically reverse proxy the primary web service from this container and make it available on your Tailnet using https with a valid certificate! + +Note that when accessing the Tailscale WebUI url, no additional authentication layer is added beyond restricting it to your Tailnet - the container is still responsible for managing usernames/passwords that are allowed to access it. Depending on your configuration, direct access to the container may still be possible as well. + +For more details, see the Tailscale Serve documentation. + +If the documentation recommends additional settings for a more complex use case, enable "Tailscale Show Advanced Settings". Support for these advanced settings is not available beyond confirming the commands are passed to Tailscale correctly. + +Funnel is similar to Serve, except that the web service is made available on the open Internet. Use with care as the service will likely be attacked. As with Serve, the container itself is responsible for handling any authentication. + +We recommend reading the Tailscale Funnel documentation. before enabling this feature. + +Note: Enabling Serve or Funnel publishes the Tailscale hostname to a public ledger. +For more details, see the Tailscale Documentation: Enabling HTTPS. +:end + +:docker_tailscale_serve_port_help: +This field should specify the port for the primary web service this container offers. Note: it should specify the port in the container, not a port that was remapped on the host. + +The system attempted to determine the correct port automatically. If it used the wrong value then there is likely an issue with the "Web UI" field for this container, visible by switching from "Basic View" to "Advanced View" in the upper right corner of this page. + +In most cases this port is all you will need to specify in order to Serve the website in this container, although additional options are available below for more complex containers. + +This value is passed to the `` portion of this command which starts serve or funnel:
    +`tailscale [serve|funnel] --bg -- http://localhost:`**``**``
    +For more details see the Tailscale Serve Command Line documentation. +:end + +:docker_tailscale_show_advanced_help: +Here there be dragons! +:end + +:docker_tailscale_serve_local_path_help: +When not specified, this value defaults to an empty string. It is passed to the `` portion of this command which starts serve or funnel:
    +`tailscale [serve|funnel] --bg -- http://localhost:`**``**
    +For more details see the Tailscale Serve Command Line documentation. +:end + +:docker_tailscale_serve_protocol_help: +When not specified, this value defaults to "https". It is passed to the `` portion of this command which starts serve or funnel:
    +`tailscale [serve|funnel] --bg --`**``**`= http://localhost:`
    +For more details see the Tailscale Serve Command Line documentation. +:end + +:docker_tailscale_serve_protocol_port_help: +When not specified, this value defaults to "=443". It is passed to the `` portion of this command which starts serve or funnel:
    +`tailscale [serve|funnel] --bg --`**``**` http://localhost:`
    +For more details see the Tailscale Serve Command Line documentation. +:end + +:docker_tailscale_serve_path_help: +When not specified, this value defaults to an empty string. It is passed to the `` portion of this command which starts serve or funnel:
    +`tailscale [serve|funnel] --bg --`**``** `http://localhost:`
    +For more details see the Tailscale Serve Command Line documentation. +:end + +:docker_tailscale_serve_webui_help: +If Serve is enabled this will be an https url with a proper domain name that is accessible over your Tailnet, no port needed! + +If Funnel is enabled the same url will be available on the Internet. + +If they are disabled then the url will be generated from the container's main "Web UI" field, but modified to use the Tailscale IP. If the wrong port is specified here then switch from "Basic View" to "Advanced View" and review the "Web UI" field for this container. +:end + +:docker_tailscale_advertise_routes_help: +If desired, specify any routes that should be passed to the **`--advertise-routes=`** parameter when running **`tailscale up`**. +For more details see the Subnet routers documentation. +:end + +:docker_tailscale_daemon_extra_params_help: +Specify any extra parameters to pass when starting **`tailscaled`**. +For more details see the tailscaled documentation. +:end + +:docker_tailscale_extra_param_help: +Specify any extra parameters to pass when running **`tailscale up`**. +For more details see the Tailscale CLI documentation. +:end + +:docker_tailscale_statedir_help: +If state directory detection fails on startup, you can specify a persistent directory in the container to override automatic detection. +:end + +:docker_tailscale_troubleshooting_packages_help: +Enable this to install `ping`, `nslookup`, and `curl` into the container to help troubleshoot networking issues. Once the issues are resolved we recommend disabling this to reduce the size of the container. +:end + :docker_privileged_help: For containers that require the use of host-device access directly or need full exposure to host capabilities, this option will need to be selected. For more information, see this link: https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities diff --git a/emhttp/plugins/dynamix.docker.manager/images/tailscale.png b/emhttp/plugins/dynamix.docker.manager/images/tailscale.png new file mode 100755 index 0000000000000000000000000000000000000000..fd4a4fced57e01bcc50d4c2064e3e0e1b52012e9 GIT binary patch literal 306720 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

    +Q$`Ij&Kd zot5{J&#lpT!zXRtYvUjG)Wa@H)UW8C)N>%7WSx8`gMcodV5fS8!7^`d;5Zz3`?)hq zi#4Ad(w3v2-zCv;@gKz%0Wm>`Jblm^eLDXWD1_`dEQSqg^cD$xJvlpbnw~a+yh7D` zEE_mN`z3ZgS^WfA>W@XwH#eLlqPrQ%zw_)FN&Ab7so^neD-%O)UbS&igUE%w#Gx9H ztI>N{Q;)dpo#Lle4^**0dd5lCCIp>`av1gAcat}2JY4c8T+(ZQ|CYwYpd6|i7VUKz z7#Vp0)RvnqtlQK?4R($(q80KZ2qio|g`GaW#An($IP7;QK{vRRViC#hFyVgdwc+My zhMKf#jjBrt-ON_cncr5Gw$ug;N*cVNq zkMn+Zct(spy~*0Q@tD+y2Mc@$(o)lN?#p9EA5{lsg7#kW|QtiaV#1H|h z`)z1goxXlufYSKGP}WM!_d$7clsw2e&woMuRf9QtdK7sw`26`ZU0r4&`UxWPIbKhUbf0wCGxnTAW6-X9FhHnQH~v zcX!UPhD0g$NiO`SCKd`lECx5J{{c~^{CBzer2%wlYi*ZpC8P381rctv#1zmOFbZ~d z;4v;uZ&8~$LA!UN;f|S~;y15WZn%#&?r53H&S+|x(bIF)Cz<3*T@*ztzE6Ld3Vk9Z zZ*U?g%vE^8C@g!usdh*pmZzyTXDr}Q^T;VvEQmxNGGx|&nGJ#gc138T}f)WtI0z_Y?y<@&?dcQW>@dB`ednmwdmBw;YZI_?$G6G(+d#+C*W^NYe z7vG*5vbp8^OZR57ZSYq|I z(Zm-SJc-wj0W+#f6_XGu7o`XhTr%11`McNcIZ!sCk?5nTW`5rSyM0-CQx z*!0GwQ>pXCx$IOcybKQMMBc>UK4nFX2vLlYBSafvS#^!X=CZWavhTI3kU}fl+(^MC zZ+f{CF5LKDv4P%5zoEy8$)K-B%M!-#Uw6^2$j2DB#AwVXi(QG(?k~l_v)f{UE8CE+ z!N5^)PXZ{RKy#;i5In4l1u3~wMFRVOYIH1{-1GQ)@(Y0|<%2xD3%~nw)Rj;uc#AD? z*T4W$-*vxD{_befx^d`899RU>z-mP|ApgQngn!k))J9!02y%Gzw489;=If-JwGWl&rLui2i z2UY?Puci}2UjfyXztZerZwMDV#ug6S4{rVw;({1G$$c2wcTZz zE}Fv#-`9DcLu4{YF_1|agqg0^OdNPGE~A_~$TtU{m&6}>1t0!vz$AoTgc{54*F6?O z;<~#}zjB+3l1gz}urOM+?GFi7pi-(}`jQ=kka?jQ)$jL4q)QSicG{fd#4K5aB)SzN zRNzl)pq~DuIltk3BZqxrfWA5c$cgVi{rexO7Dx-4Mt^?7-4YYR%InV?oQ?}L z@XkVv3*0)oIl0G32)K3%WP3s0cVj150PGdL%-!Q|KUs2`0U7pa&;bijH;JFS`v6q% z^m@LtV?me#TyIJOposBsk46K-q9cMQ%^lzTC_VN!0z9THUXzCQmvk2|uZlwE`L%xy z5l+0;yWsTnOQZE#U19ou;lkq(7c`kx6M( zRTMoNkj9af#fZ#SlsvEW*}QTF*!MD0M$RSGs4U;35g$c6e&Tu)oiz!I-LOxi0Kas6 z?V8G6rctyJGNt<@y<{OW07RrN;K?Ow5cv@*^OH>U1I%z)2~4yQoXiD8b4(Kq3p!Za9c)^d!ON%-mm4w+H&->Gh=h- zyGZ`mC@K7yC@%Wj`sR-1vSkHJxxCc3+`vpD#j@~nj{0?1eWt}Eoqg#bM@rzko;Yf(G<(4!QqpWg*~~%2K8Dwa0gmNQl|?~VcyDya?((tnBdXUDK|plI zId0rKD~hxBIr=tN^q+9ZT4^V9ViU2Qg@vh3U-{eh?>i(%Cg!&*$N4M zO~sKGhL06*Z!H}Z29!C>H@)x;2V&JRh@F47y*c?0b5dd8PT$OJ13NFT>NHn?SP-!2 zNF5I3?3&!%wnue{Am_`)26vlPpVh?Sy{d6;?(2++F6Fq?p*@n_4^omiS*XTRNBCzW zUsfL*>*WPy|Dx}Cv09he?$zd@1-j-!y**}mkB^UpL2WHFb?7NR9R_y(Qc_HNJ-vlA z*zfvs>EHlhoLT45PQ~(wi4jQI;-a>osHo@o`1ms;5<-~J`}xwsMN{^IV|SwT@aNSb zdttJ=n!2B_-gPJbs!7XtC#fG`nvy5eq`A1{!Ou|za7_(b%Nk9@Dk5_~>`yBE3{dUO zxw+9~ij{a(p1T+nm{d;*OO!11Z#mFar|M=9Z1t(79F&|(Vv9mlW3@{}##A!srgA*0 zYI?gC9mAx*@w>I~!zULO2D`!PjnT!^(A|CUX*zMV<6EOlES3CrUia%^<)VCUO8(+& z(>RTrm%iiye_BrNgn^?Ag_ci3AT|X3mAZ!0eo%W8{+~>ia7S7E^PlF44lxk|uRc;5HZa)DU^BTnIIuZ4@IcR?ENPRY`wl3sun64@)4kt05Wk)0(wk18ljkO zoP5IoOzx|FnLzlXBpMBIjH-)X6jkGyK;RIyy7R4F)j>W>9Z&AzTglER9B-7aOqiD5 zgdZr_??Z`joO^98Wq(iVAx}HR=v72z#vOE}FyT=S0Er&TfP-JW;R49!nAwAY0DmGeQ4M8lwG>1kxw z5}ePFRmzkOOgJ2-$mpW#Cu z`k^?st-HgSonT_Ikn4VNadCrO5c>gltdI+E0_`o&dwXF}fc*plwZdniobPY;K@Bzm zH+x7-W=qi@KH25IF1fS^Ibsx|6Xj0TiG1ubnIVU#4!pR!!h~L%fOZ#XY~9`6_m-BI zM@=|Yp{E%)E3*rFb~|ow-E^0m4RNt9oRaRB0^U3@CIfmmzw(~`{Q2|sqVDHUFtE$` z@`XbAZVglhi})M9Xx4A^2z}H|#Z0^s9`lV!mRK!US;2B4_;oHke-i$?ER4)|vT5Ek*KPqvj)g@r( zeF-%vW7-|TJlP+6UkQYZ}mpJf9bk`!UW0$xqQ0Jz@cGrdNH56;y?In&`c zXc&6B?`H!yz*qfZIg{4g0g~4aU3I53X9B5>oIa5+$Vfp#0s@tQR_KE2FJizS2N_MF z+q-0;0X$Dh`jfYAV5`)>ktvGy%x)92z=`$lQxf&}_6BeG_CfW5XJd&rjS#@hf2Nv| zTn2GNvXl6PgnlQ;F?5@f&!sqd6_p49eib4>m4_)dx8@^D=xJ^j28WHjp?e$bqKW_b z!%bZjObnskRq#W!ZD$FibXe&GWd@oW|aPX6^&!^j&fm+ zw43(jMRoZuB zuR>mdbR1+bD$yJvuD(M8-5re}YG=_d5zNg|_a5t<1$W;#zR*4%89sTAji?ggY=_07 zY^DuKVrmJRJJ~HO9l6S}CZ*YPnP5VGcfGlSbkCdqYeA&oTTa@`|FxpbifizRAPN1C z9kIVk^d%!ac-xsX?`RBS&3(7pYazSUx^#iQem*{7UY`aHtTxH%bAeEdXz+6Fj zp!~eNCHvnqIr3S4oPe{-%Vi95QJigfm}gu^21&)VmpG)K^>6TS@A{fQH0!^~pLF@z zH`xS2y-;`1Jr(M)DaU6s9_b4Cq5KgFrkD*r=s%}~n(w&@lhxJ&U$zpUGMLyqcJ+OP zQmX7ie^UyQa%mT~?}2t`g{xcyVU(yTI`0A!f{KT{e z#a_B8#mtr=N?U+`4TLxFC708rdoTOOku;IJ<@ce&o01GdzhRxsspZi>ZiifvpA;}d~M@inlb71)}{^V8{b0UziB@W)BV15m$vi3ca{I{Lb{M#RCj=)saP(W5S> z_NEQkfO3}x26|5yUY%azd%ykGE$e$yx!>{TU`7`hN7lHYDvHx-lS*n_&UN7*N9y6A z!3?d8++qU1=>FuVF?pLH$dp#tw8z1gsf*JEEAN*!b<^uqw;IHzHx#S^()TRT3_e77 z=+Ii&@8=MAGz5=*x45=CR!l`PRMeK8$ z+8q_T@GQ(x@Eff4#<)4}8Z#XW(4@}0(PLksEIHp}eOh~C{Rbw8IR&9J^zzDS{AFlI z%+L{o0C@fB>azGfBf-`*Yx#W7^I4-!!YlK(@Hqi`gj9EXJLBYsso`CY3IX>rVZ>fn(?|?&^L@HW@x{RN;HlH7TyG|0|g5cN}7X0Us zls}KIvj?k<*O+~NPNtVmyV2?Qi0Ex*yAgIPw%<*c&5b2eXl<6&J(rPK{b7kN5rb`p zY&sQCc4N;4`dA*aJ)^k%@wW_0F0Itpo7v4+PIyX;(i06|{BZ{28&`VbEl;Ub1AXev zfe#s^$?{FcV~fV=`=fJKaju@N-x)%+j6-q{+Q`}_a}z#ykI)fKgv6%JtGU*Us}xZ2 zBauM>clR*=0{SnQ|MNJ~|7FIajm~%+y%n|uVdM_NLAv>4E}`zL6kVG`XyN<4a(Ate z{ifze_yfh^JXniRnt=!KfWI~kbM^nMa`1nku;PAp77KO@IxU60Z%Y2V=COANHzy6^ z!9-7C)|z-B*VlgYCE-Sw7h4Ac%b_&FJk%jq-_jxnowx2@Ui6ove5_F7%H1c59?+)J z2UAd5O8d>lMZ#7v^dIYJHBDh;WTb7I9vL1_$<+ZJ-4Li=a*Y6BL-EHll&nRoOoC0- z;E9&laVwfY4xdOb7)$D0@helpjE zF(37%k7>k`2{#+oUn29$R=nt(9?cAudgy5onjip-X z>u}@9!Z9R76{T=HOrcv@>E}sS4SY_IQ>1jVkgy29F(&>!!T(*hV17?Ygeq>bWBp`S zke7CtA>C>3Kw%+5@<_1BwZVJjR%`QIDLy&rVB)5XVr)E`oA25qd->*55$>8PGna#n zI@t4gi7goNV_*x9gGI}@J#y>nKclYL+{U)p0o39l(kq5-iIQA)t@6qxekX86ZcTdG z7bsE(0WUs1VL&@T;Drs+AymfvSmZ48{%o_42*Aq5CS^0*qa;QNT>PL>7^zJn%FiFv zQ^$@%Mn3rMQWNyiP)Gu-$}sE<$MV|z0ZJ7tFDo9om)f8MpzIo;b$)){Ie!akt@rTu zW+)HK`a=7oZFoXNOlW0&1+>)zG4($uXLQAg6fb;CU#~i#BW@<+P?ea);t%3ORXL_* zI}2=#-GGz#N|T|LD~uw*CGoW?iJA;N94f%6xXP1)zY!)XUpU$)h*OeNM31m$X5@w% zZ$Br8jT$43D&v^3f4ugvM^p?~!*Qb4MV~H74kbW#op)_kiB^nQ*p3uVJK>*Xn*5!V z%`cZO24N{P%MPwz@U!o3=9pSfn5jCCE1{HhhPSx=h=}*D&6X3>3vM%HV%Ld*DUsFT zU3)iX0NO480UZ)GK_vRG zM<={OuOO9Q=X<~dF(G&1ApC=oL)?bPy3gDBFa;-VK!~Z;)9|_hId~iDcZZTz7;zYX ziBaK2xS7sE^8cNCD3zJ~N|rEupmN#V%+u1{UEAU~Tb>`lc=-!TS&Fx&zk?b(N`8Nb zks0lQY-i6Lc62koY1?u=j0%-5<=8fn9RH&$^^yT$J@3Y(m z{Wv)}VH~)8d_fm?f|AtFQ-5FL&d+-YSnnW21qvh+X6$aoOgQGNjHJju#V`U4Qp3Lq zhi6GR635iSAbM{jIKki^%cjDaTIN)GeU7lTF}u=H!|KkF01SOz9>%1RiO4=7xO&C7 z%uj;iOggfDpXwQV1+kYb5{-F+F}+z>FV+0ysO4tsZLunzqhDRU7;cyaNZ0agy`NIw zk28A^uj_Ls+JVQMCB}!+@dqlTWk;Pp1#)lM`POp}b=J(M{YDvO6AUmP;2*G=uDK$z z=e}?4<6^=-{VF5ePz5-5FCAJkl@$=0!*lBGQFOYlcz_upt4eJBwih}Zp2OXi> zp}hrAVnhV6Xv8TA}7y3bP(u)XhUW0j_~t z1PT=*m_Ky+e&+Uj{%Ds%p)_fy2^srPFQMD2uz4s9;AVKCeb4BKpth!l-}<9Pq{vI~M-k?&|y%p^M?b+%#h^G_e|3}6W}{;c>DC)K+D z6$+VZexmbZYQwq3L@(J%7M$ttrA+@nFTmm#+;6PFg)QPt&g54QvV9TeB$zZY#itVZ z6;UVKsmJa_){w7V+$w}tPx9?Y;(ITuoNKVXR^2!IMu?n9ZL}U4zmcek6;jQLnAsGn ztqM-1mkX)rv7A}ySeV|{=hTYo{tt?$Q2i?$Ifnc?IEZpIVSc#3jsQ3_ft8IFLlhcT zF{t!I6ttnoPmT(I?=JW=qTlSNDwUDGeirnW`4!Zs15=+PsVHrzt^M};bh~Dv)Z6`4 z2Zsw&g+k^=hXYFA7j3%SW4&qIGV%nMx9I7?+}fhs>LcakbOX#bu3sqiW=hjnTn zFT-UtpOt#AV2o{MeaGu_08Np;K5X-082wE0n7Sy#h=d4NCt}@oZfO(>aEI+vv0uhr zU!d>HST1@LUH(KR%(D04l!A_|bEL(NIOniWe6#e&E?K3Jz`>5ra#V6bcaU5}pn=x^ z$JAE_Rk^)yZ;%iKLPBaL)-gOqe5AtJE>N$KwHuFbnR=Xd_| z&NC7-4j=Blp1ZDC5A}Kp{3C_4isEoAX4j#&w$3;f1&TRK=?&Ouxp7#Ju9XIM*5?^{#ZTwfyl7SQQnh3o5OC$nP2 z3RO{ILjWZ+O>F_f2q?pfDxR{xqQ(LX92ccSczxLE`e$N!sO7l7=CX90caiQy5bbK3B4aSs}9DfP4oEvJnT zj!wwA*f>e~N~GU}P0u(slKoMou2-uo)~UOFRWtRPL5@3ayVO76A)v2HN#Uvj)Z+hk zpOH)QzeS&mX{vtgZu_qG#3=7~qM`}jKEJ{t`xQxgM%tb7;N2H4$olHj)aWUR$Ck+PCf{}`^y1zxdep{oxb18>cAJXZ41!qK6~05&Iti<;pE=_wXg-bHyW z(qC7^l)iO@p8l*xRTTk0(83}??ZWg&XF<(r*>c)8aj`Qr%$}YFV5LYy{kdzzrt$i> zqtAC!KD1fyB3p@4D5zh)_>1^$G68l^r$IZj`mFP{Nn_$|7@2|ld>G=Gb5ifqL1gLV zm$Bpt`@i%s##6Uf1a6%|qS@!$BCB8+afdNI!B2+9AWuQ^2{0^qv4V3YzooKe82-if z$^6!EFF!qJzIHt_>yw!GhQyrVUhJXpl+x4rq^ z@6n0s%9=l9PaA4z{ZC!)rQ`TZ782g(te;BACw>wdC=D2{f{$RP%{wu12E`-3>-h0$@4(ZoT)@9y z0W4X*&?jShULI23L{N~4coHbR@U_8cT0w=J9ihfZZ;od(RDH?`geD2 zTAE^;21Jo>xgp+WF;E4QM&~5kwBnvTxuRP$U8BF|Vo5c;6MO|JsyQAVGblN zUuaY*uz{jdFJE{wdTP>JE_cw{EhKPCfP~eC{%^TyblUjRm5eas_;+KRl~)6ii={O3 zawMoBgR;$%zU{+r`QwkuNAQo>IUYU?-m5N||3)x!oa75zLb&EqX6U7B%_|ZNk*l*k z+q)@i9>@M>pKrz*m?(a|3kSMaN`}Z;S~@!4A!_F4=G@5&Bt``<_b{4P1tApz7IY*M zTW#Gh*uz(a(GD=F#hT4kL`KiraGn;AqCSXew}7z-($A~Db+kXGCuLjjipC#gDbw`!C@9d>qkJ=V6MZ$@;7`S!^3;P^L-GC5nx8 z80976t5sW{X(7LC%C6DgGE+vC9(l&Gyzes!{TkONrq5{wj;&a1btY~#scE`yKk?Tk zJ~t(*t@J?B++I~nW~xu%?7Ovc&spOw;r>cT?dQ_cos(hM)>LL%TBd0Jx=&*2lr>$@pZ=f@ zN_}13KLE_W0~R@Un;6G8=pP}?jg7Fu3}ItPb9HqG;6W529QvU?eXuzo6ZP%~prPtO zv4a(RV2yoib@t;i*Ow-qdFkz_PsxVBSS!<6048A%us61`u^Ap7j@Be%vR`D6mlk>{ zwd}uTweW10m6dhaP3U^=$YQG;!tw}(0Rdy%{qI$mikY0ujDCkpv5c`cYv#B3&4Sq| zdw)Z82ac#EP6NE}?_$igU~4F}>ee==95?7}1a~pfOh-0&URHk{sBPmNEEU_}h9^T2 zig~YCnRzv6H4~)9Kv_wkXx#$^HSK^4j{?+U=b>Sto{M^eYKON-Fc9uP(?ulMcR@k)%T~-Y!V&OfQD3@eq6Sd%vbU~45?(z+;o&36G>zBW$7i+ z)hpzO@#(*W0M4%PPf;{h-a$oqH%{SuUKPN_`5%93J0 zpb%w#oW-x@B9J};d|H6CR7H0JpcY6p1;N_~-XVprt1W90#j4(GCIqp8Y#gZm>dIin zuWj?}Me78&g^C&(B3+5l-9Z-_@|zgNbmo;Lc4irA_^ynlk(zj6ID(~MsT?iuF&hEr z*}w>qyds_4DRNI5m1uCo#6iD2bz9X(C7khkoS zE-baqH8yA~7_ic1M&+^}+5g!lOTX}tY;BkS9Z4UyUH7EjZOXd8+xm%$*K$fPC*E~= z>fNtaLqEgY#++jEP<{Bd&{GbrT@aYT=^VQ9 z)NY$u`>4%-*;Cd}{XMOpwIumGSHo2&4|zJ9YK%x@Lg-Mo`>R|#CPg-Uo`n{)$XU9t zuQ0nP+)Fc=jO6uu&D~O9-Ap@Gv(EFDI)7}fROFmwuS`)H0lm>L3)8|XOHL?0E$&Be zm}%mf*$?|_XW9e#J<7HG*#QUh-@W;(40#bnY#&DQk|q{TPE9ovrrmpO|6OZ6#CHNj zxvln+7xU=J@`6Hxn-SZ)v$4*(pPe8ZDe~a_(k~X(vse&$tA5vXz$C>;WRIo4; z=n~+k-JNc!&bC3@;HRU?0oW)%K|ArK5KQrM1yKl}=X9eR>xE_!W9tP7n$|MfSNV$; z*447XIrlinS(%F@Dmk!oPbv-F=j-eN2jIdtFhFL>oC+ z7`y*A#GiZ>($Z30nUyMFrRNo)Mb>$D7>)9=fpt#Isv^HRNqNB5PV#5gZ;r-r=uLBJ z=`6g3r39yC9D9zZYGzz-CasuGH zZkd90pU~?1_POYbLspTwsQKxyLB zq(g@Q@wt<|{ZfXIy9At&(gj{oRkaK@B(rWpE)UeP2N{4PZQ`G&L9e^}@wkEre@$7h z*VT*M`Yjn;ZuAQ=KAPe=#bHqEFcULFQtf=F$CMi%70%w~wd?E4LP#1iW9H`E6JP6I zlA--bpHoU)M8r}n!#jgGRHrDvW{XpGLp(8uG>GmK>}6uSyJpb_wWsW-H`BEu$~(Cx zNb=lUd?~g|J9XTacc0&>vu^CMM-;D{O2R*tm%RHt#+`rksgIY-qP@gekacCXlDW&tCz4CMk<;g5w+QSoT7q)B?ogqx(6Ds*ZLA)LFT8YmjMCp z-1Nccgq(~la3Q+mum!1%b8-IHVHqhCb*X<6;r1fIJ18V2ViEiwQZll4(}X(O+PM!7 zYY;%AU54;&9bVlaqj^7K;<`v`Oabf@umS_E?$voc+=-8X}V^O-_8ZdFR%4EL-~ z^v71BsNXILU6F1v7bNhSUp;tH@52>TKJ!IFmv1I6J(b{g8dt0%j%xAz~)^+M%j}F#w<%C-o-O9K&DX?q^+n#W=M7tJY z;bdqn5PmjG8#b_Rrs6+eDxgR^Y}VoV>4 z2Ds!E2ha-28cMv%^6T>;+)-QO$K2b)oLeFE)&9q_DmN&x0|r}aZ&9;i9+}+A_!_Sx zL%6{dapdNCFd?FG^O5Qr%SS8-Mean$La}i9nD%7pgZP&%S32c9ips^x+$ht0Gu$UE z6~=m|Ye|0G3FTXgnYE0Yf3a)U-sX%BX=OzcQb-#(?Qz-qFQkAXPsQFfvgZx_BQS5OENe&Kch_}Kjb_i^nB0HDH zcm^KlmuI5KHX)*H8cWQO|3~p^PYCbOcG~*iOia!3(1Rtqu^r8UByyj+4AmPXC%sQx zA=gnTpa&We-ot`O#KJoqz*10IP;aQJ;uPiQ{{rm>$IMw>9S{riE^s*^^D{FYw(xb^ zaR7w>1~x1=A;pE9MAzCwcP;_0Mlc4hAfV*%LE=tt2W`UT0@6a`%+wTGdOIL?0_t}4 zORmR173pG6m15Av&K|~*HVR(V9;7TSU0wKj7ix*9%YYYZ9>P*IJ+43YxA|o3?;*Zf z@B5kXIvE-z{<_ZOiBX@;KYC*CE^b9)-P+rLj9ePPe*f0(K=TooC;zp3zaUcu14T{) zcR@%jdwSGmOi;YE+CWp70Y)|+K>*FTPe)%-HaSvBFvi~Z-r?hkK!F9np+kbu*z;6k zza+LgM@1Pc3>+SbtCVuHB1~SqIAR^e4?Wbq$qc25m%4qDRaIm7?gnN>r8!|nci*n4 zKR!1#$NH85Yb!uh|8k~H(%AEvMO8Yn;}0&}nBVmF^^*RZ2SS=?ujI&sDhvG7_0QL; zO>NBxXe;J@debeC_NAdWvT8o*7Yb!M|~8{DtMGw{o^`-Dc3j6k|FHKMeVTHp2}lLyKOUtSSpM zd7wlAn)KY(79)Zk0N)3AA)0hr_KxnRuhNx1KS1XawnAiHA8ky}q$O);#ez-jD(ERH z-iN>}QYTb#=MfM#|6oTT$g6pXqe~Sbq$KEA)`d$=3CVVj$`FG=sd_K8Y;o^ zgP(v&4y;RqU?#sJ$%L2xHLs0o!AM%(&3bXIP3W-NLi=T`^Tel7%Qu_H5qS9xuXIOJ z4*qW`A=b?43*?2sD{vC%5P_ZB`xH_qi?aB~1tFY{pv&?4XzY9@Z8wRI`J_MZZxM>` zcFixuQf?;P85zspGR&MMi*GMUE&3ovU(%V<)GR-Cs&kSFtUB#9=OR>#Dd9n_NMGLZy5#27P&t$xw& z=W!8c;QHG>sY40}*_q<}*qmLpXOcZgnSEl!VY3GEDHax`jiWaG>m{2Xq*&J{mW8hV zM^N|&Q)lYNx{q-LvS*C@u-wFg0uW4Zc-(EezXe-KTe4EYnH^smSUHS={@9TUy-ym! zUuo(3+Cvv?@IeZwC>ZK~)?RsCmZ@14g}%D?*mf`Gt=#zRbsu?0#>0jI0s%<)vjPyeW(ICDIy6Fer$DaO;!QO$`Wuc`d!q!q~ zM%lPjkmAXNMR*?~QN^|s5Bc#zGWBB$IqtW1lo3|GfBw2hnIbh0zMj`w!_EBInV$*E zWF#NwdnUt(B=I}ftTsASPh@BlrCbh8mW(zREmb7W#`5`aMZKEVy4Kr3CtUY)Mye^w z)*-#|eM2W@3*1K9-d8L;D&i2+coN!Lj&ZB6*_bZ>84>K`*apNzquX^al;?pqC-tTGS_&SZa) z-w$4bBAJ2^Cr3wWOdlYU0r=v~IK`>sIdm=X-B50%0BWH^PD#pM!5__3Z~a?&h#$S_Qd#R_?HwXQKzhR@H6qH{X6UV& zr5Kl_QY!sDCt6m4Pa959NAj~*q*tIfi!nh_Q_G!rgIdL0uBZ2}#~YKBQ4`F{dLl}w zCHXkvVujjkL4hV4zj%A@u08?Ca8{6{=In2F`6;YDcIQdow-VMt9y9_(G>lxEyHSyB zg3h>)Uc_FY-;39cAHKN?HO5(;1|Np#e+xKJKsSDiKG7dx!G&L8-QJi6BHUvv=E6+2 zq<2b6?*D*}58?sHtHKarv$9nIbm*PVQ}3Jy#Df8ABU;Gon%i1YP)NwBm7OY9UHsD9 zl-k}psows+Hn2YWr5r9g!ceszlGr{0(!*OY?1~vE?6++df)3e|-vIDfS)&6q*71}s;$=CRJ&E)RThK>1y+2GZco&AeZ+fUe? zVPOpyx6lof*@kByYMWYGN>Tm9Nu@BhThh}P=H}QM6#K>p@ z4TZRB$|W&6wDO$YSd!+AJ(}Cg?6|syP2OZmZ3X%j{t!y46OE zjTy7l`OT#{{D^1&Jf3+~lcnk%i{pN#3nkqZwbc8*c(-PHZ`t|Tz(!jI!UYsk7yXd? z%MON#g2lFf9#K1nOLp+wn;n*a2@LL8TU$%b^gQ2Q7R5k$q#a?zL4tK4DOoVOH8(vy z{Xj|PAd5T$sqC5mpTr^+3O3p7^E*JPP0W4yv0FLj2Q_+Y zIt_;Gr8pu`OktZCTt@@y6eg|`H;TKQ8YREO4+>+w%S$dgD#|7fdrO6H=;z_TMfg1f zJc%9in2W27KBRqDU>@!X)v-`UuHH)AEO-_+6o&J$N*<^4D#&_v#LrvjCk{^oK~f7% zZuHm0D*kqF%N<+Kekpg3iUy^IQ~S-8iEc#}fgX!eiyadlyy;8*yVoU)qUc(Owm*>X z|9kYQ;Q_13KxK7zJ3pVHNDdCtmpR7okke0}J~3U^NA`AgNj(l+?-~VhfTz|>5E@j_|Kwwk3aBZ zh5^!euH*T|1+9(>`t1nL*x8wLZC%}a1Z*2UBGpHQ=GB_7QvY}Wu8fEf-=!e&&Pry8 z0d>zKxHYHd2_s`xd~6AFn$?S0+{4pX8P!?!zU}ndjWg37_&o9!bj8Xl;ajr|Ie0Za z5#Kl`qZvL3FvY--$3vv*eow#qCC|u0Xa0t*o;RYy`Fr~`rl*{VdyXQEw?|s`1; zqc|Je)vz)?^@J)vN!P~6)Hr?Bg^Zth>PO|pW8)=gE}Z|?sO~xb_WMdI4CyHcL0-(u zAh~vEJ9Jy}pYSUc`rd;FI@4-&J0o$9EvDvd9A_Qq_8%9(*!Z{{>nRpo2`Df@X!46& zW@fa16yYxLR<*Y3MRpr|Gn&>`S5vd=w|)mfT?3}a$Dop5S}y_2VD<8npu4-f4ju8= z-?v;%fBb9uk4q<8@$mhNnLyLzFf{lr7}1A>oV@$MljE@%fY}(!^;(Lt*-$#t7B+>n zjaAe?pYsgEOx^(^fYnFNtG*7y`@gj1{{3|6=rl;h8rN1i9A5@;SR-*!7EuOoe*X&b z6YrzuZxjjjfemdYO>15^`y4$+N|({~;RTEC{3gd=0x~1aw5M@- zFuA1$x6iUGuJ_cmv}R**e0!f`p0a(yYjwLK7ndDy3X?MPds!6mja;6k953&^B7V;D zG?8uu>>G|f$#f$DJt;ByH_q4y_uLx^Q(WIPa-VyPpvl@rQP{gf{X=qEo~Hla4DvAO zpTlxOI3bO{qyhKteMc#5m3`(7Wr{iKXW%!I$@twZ{TCRa8XFo45q^hCIADYQ78TfM zA?D#5AliRhx$!+Do_mNn6=Ewf!HYC}JvR{@3`C#VizkD`5|>65M3LREd^~`}wT!Ew zu~D`dk6EpzK*W#M@!2Y7eqy!*u;mY<1xx01w9K|fp{)F#$LvM2(T-^bo&y(7QTf9>&gOJD@k0c{IQKh9dT_X+WuJep{* z(U3FR*km43Dy=({lNr4{3)-?&x()J1q^F#CRSW-^d`~lCC6azwJ zRe!xbWI4@G;LmPe<*#tL5zUHN$uT&38wlEAC^82`!k4;i1A z=OOmwKG0V)E{pn{xAHGCe{st1K7v$L*0x+#&y|)g>|Fpa(w7x&9s=p>B{+v)krA6H zP4_nUa`{9>69EST!C->(`f#a(siI!wo8A8Ra<7{%WHD`&KmqdrrWt%lRek*j))%4M z%gesDC%vF*-0jc(Ko=7x3NPMr(s~-yLDnX@K0iNy@X1=iyR4Wvx{)@LZp-4a_b@@y z)_LtZ3<>S;9;+F<{^X_FFIhoGS;Q1(ruPjxh6+^`uXH6s`!&hRxEsIg(MvBhMePnJ z6z^BRd87%QkTM*B&X{^J0+CfLw8NIE-3;$tuu_@J zx@ZEkR`{)D)AuUp89iNryrhA%rIkI6zjkSAfws2Cf&yszd74%myGlZ(%AW);9)&vj z<-Uj&l3@$A5-VFE zKYc$2#C2-LS~k|!BuaEEnU4fGdY^f6yyfY3cVc+)h^Q%q8eb-6`myr!)fb!I{^cPv zaka~jQT%bl`O32E-*7&nqMRcf!6P*FK@X=H4$gffzZ@Tlm@KToR>IEHgeU#0q1-Jw z90gZaYHNLLgx~E)d{ig?BlS8C`pxrT`{TD1v=l!~*7KKBSPIJGnG$_}OH+{hT%W$~ zu<$>UFmA0PkR-QTnx6hTDvQu_vN1@@;)ejtc|HKF7-&qy&z3u%AW(oE`p}P8ftCx0=NU3)7(trWp zKE^q?zy<3nG`Q(^+#8<;unQG4Xj+$2~&0PEMpV-`P)scW1niYX7=Z#?7=q) zXMJlsOnLe&Ka$Hnua4gS_Hz5!E%v!apaZH__`g=LZIK-2`j8W7dR(#Z(Z`ha+gdIG zPP^s!EcwyUl(kFH`o6wS1eIs~8pG^H%jb)POt14~GBUDl3vMl7HH-^+Q75%DHIJ5~rSxBX}yTW+}$+I~p7YK0%yo%?Y`*Kf7b_5sL9=yU>23)UMr)gQfSy;>)5m#X7&qG4(n@`g5xN#x@|V z2#2A1XPtR&Lo2}X%@>YTyJNX-ff)0Ba;1oEo2^|%?VWC9*P~+BZp^LSP~G>J4VZYk zH{!_G1475YKMBq7#E!XaF?hC4dI;?8`5i7)y+wr!o-tlt@I0JI-6&Jq%%=o6p#zwcBbJp??gJ#q_^(trat54<9*cvxd zc#uELCMUn2`1}8T7RGp3sEpO$B~g|M!<#`RD@NC)^SCNtmf@&aML~3cIyI^B$eGK_^f{TF^oV1+jC5JfOZ8gIx!oDUlS)458{uP#Xj-p? zKf7aW8X{;8?@XYw4&PU@|Dqnkt5!TkE=r%-SDD>haU}3IalHtXWQYB!3iY}qXMGz- z^CL9TqDHO%`{ZgBC9cW2{3B&W7uvK2<=VE3WpYrpaQ_$QjdQk3)T`#jOjG8|`{|?d zuKMARX9rLOkt++=jg6Jz%^T3;ih@?xuieL1WGZe%E|pm6_fC=wF_Vy^D7!>FmqE-w;;ft&i>TU=-Sg`1;Fr&FN90aNo@;78_)$PU$^5?F zPdUSrC9!lZC}B1{-YqWnEK;ayc{V2ec44ip8FS{>2}YopoSLstAWOWvd(&6F8M7DP zgPmg7h-?lvbMA6`jM%DZ>brfxhe}+3eM63&cHOjGSSsJ$ILW(}5NSZ~vh8HENoV@L z^V37e{NLlGp!EU6`}*?>c#)a|)#E3sbYh*IOpIufxN8XMeS;M1 zj^h(wa`>m@deR_#wk^D9Ws?WDc{EeBnev}V4ZezTR;Y@HIq@YsA3D}mN2Ht%+H}`J zGw;I5=<}PQdXozuYII4WtohrT30AqAtpA**4_5!79r&*ChOBXbAr0 zpQg~^KnOB1v@U-S*Js&>4{l_7pG!ktP*pu1e9i{$@OdY>Z+*?+(`mw~`BetK{uVh4 zY+3t&Vy6CExQOSaN{6FA-4D6y*+$qjDT99dd94!RE7UA|#3-GCvP7^S1Os6-X{fxy zkp8P=h2=iuT_Zbz^l@+*z&Q36LLuPX-yO~GD;F1E?@-XA<`yu-;2Moshxe-_YN(I- zy%BDh!$tpdUTs24wfEb=kc!Yw!O;XJ?rC(ugi_*TRKH8zmi4rL&DiLeGD#6}(jg_v zgx!h8;YRw}m9|?c^_Oz_CKHO8_PK5i@r+8-9o}Akh_q1LR3R-hjKmp#p-VCIF?2lQ zNrR1b9|3e#wVHaS7*89{lD`FzTY!xK7s#nTHv{r4kU#8VTU-vZ`z8t$;ocV zTcG}SufKkaKp*)bzl=N5*C!9O(qwoL4YowYpJg`7&VRr$G>q&+fKT_3mEJVfmB%Ir zl=r=EN4?80o<|*w zVdr!3-4cKDNirBkAeX_=f@eg_*7&;EBVk&$F=z7=_FG+h6Y;aM;iliptX~}SYy>A( z(-Q9_jrQ%X?Z(1}<nPTg>a@B;9hl3lk$lU4=yBI;Tj=XBCqQ3Yo|#YeDanmIHgW!}VHuTmHDW6uA3 z20u)a+IT%2#`Fl}`@K8gd)p`Qw%r40fW*41tLQ!Oz1xi(R(PfhNdg`C8ldyz{3P)K zHtOtvj#UqInh$iYNstrYtJiwoUB6l&47&l-Ezvl=Bwt3zv$I~@Ypc5QJuE{z72V+Y7%>T92(>1=H}e;N!d`4Pj9nyF%SzoIt_phV~qS@@Agc*?LJmWg+@{v zDV6)eM16%%!Ggp$_<75vL1;Icwp91DR_bGxGlP)54}? zkW3TEkaZzr4HZmrG3LM)D7F0iGLdV7k=BKYN#|!_qYO3l!&1cxOZ`;y)x6<`K_o*e zfp09--{y5|q$f9RWkcpwH|>}KLme-@L9edJzJRAReJnJ@tYk<)hI5ccKQTP1UTclw zndC^Y?(a9uuzJhG$Y7lhv7+p)G~Naq0TFi!v|WTka5K>@@fyjOUH=Y4)iX2_6?A_HyW*<|Hec6W9$Mdnt5dwYFOOK2GzLSZ{1GT8b=;VoRYfPM0;E|p$VL`zU5Ax3~Mo$>`TKo zXB)PC3H>PLF;tU`Z zI*BSb6c$@ut^XmuP*_@8$`*mbb(RuyegfM|K-1q<%3gPgD!+99bzMRe(G`XGJBWG> zY@mVu!5*yBWLz0cg~&dD4xp;BkuehrZ`1+mTz~^RI6A5VTBo|9;Z-p}Btif1V2TB_ zkpJL?#hpgO+AJ@ebtgEJ!@Mhgw4883$Put93s9k-Nl>Hw1E&~?k}ERgZcZ7O{n&;F zN@H+@y2%ex*N~Qd=O8=J)7f8O{A||8%8)X%dMzv5n^9zNUgM=muQOuR^iBE6u24ww z+;`Hx7aS?H#v4qs-e2DYth#h^oaj%;XiF3Dxf_Wx74Jq0RdU|({p#h&+l&icesz+6 z6ltHjTGwDmT(>(rKG>O2`|8IBQZ$n3edgr;7uqq_CP)38U0!TS{A`cw+;2PmvE07f zK_l;V+^dZLOR#1^zEF1ab|{tFp{-!s)}<|>R0?Lr4z%4)<>EdyVEJB;<;4fkU^Z#6 zyiEOL=js|XY>{{8t$(n;4}J%hV1V%T0^($DE)DQo#GfEVhZ7S5vU)dcXUVz=f1O~1Wpnlx- zL>8NGcBg)@9CUV8*VWhmP|URShO-4s3c!pBaHjq~d_sTBTGC7Bpn=5#kjDhKht+TK zW!nvwEv~DPu%*qLX2thXBXM`1`MCc=U`Vuxq4l(dB;gRw3`hKqexV{L3u73GlpXrU z#l4^&JJ7q)&sfIy&JdeVkjDwzox)cs_B45}nLK4R$7x`oTUh|#OM+T2L6U^{gtDhh zGe$N*R_nBg@>uaFwJuC((PUj}Rm1iOmX7|;TDj8Dqm$3+wmMo_5xz}S6pG829B5K< zF5I*Dz37VnMdEaoK4&scLQKm$h5EJdCZanjy90721{<#;x2*r0%i0!2w>~_q707Ns zF6N`#l%2(@pbDnOLPatM0gtu>Sc!~vEU93dv07D6Bd~|kLyCdtqIimc)!rH~PT zf!H}XyqkLG8RIh<@8!KW^T9*h&BKGq$(h;kSy#i9haUw#LKINyuiCz-Ey@|*1f}pn zi3F_UkuA|J59-_QTc9ky3mm6!R9G!(Xk*?yiU@w5iT#`bhhUe)H+8uukYFrMXE#{lj&B<5myj2F$FXYl%5DVt_x4~2l2y3}CmGpS|bW1dXc1Et$R^iK7&A}mk z^!rKH#t31!hChpS*JO9Ev_~4~@uK|0pZ*j*l5_ZXVte>n(Djhfq2d5MKYpe05*z!OjQZVx zE%g479PDN@T7KgE(U$r+q%957#GJ<#5bpy|oN^>?!I(eZ4i3Hm9!K^8o@yn<+u&{_ zyw&Q?9j;vXbzS+kuL@)lV2Gwn9<@vlmMkRaRD|2z(Ea$bI;f-L=)WF&HO7FzQzF`U zair|wd>}2hqVnvup&TR)NoLy2=#xwWBOyg7GNxM(B-;))=*EPcAMUGxO?@cOiIhbQ zl^>!+&_t{);OP zGVJ+RSg!TwbA1*Tq4zJWrO{@%YnpokQlukuM3b@laK9RnxWAfHhiw!^($Z8v%VA}u z6O6D=ldLQ1k&^F@s;OQQ>UR12$bMV83Xea@+R9s@3iY0`ljv>{dwU1HY^2BbZ?tj$ z*ChVVie($}*w+lW=UeD#-Sm&8$pinH;HteJ;*ESi*ZMF$-#-bwx8qnkTG$zb9@Ov8 z-9#6^UouUoyVb?h<5UG32c@nRd(iSSLB=*Rp?Z6}yGhmVJT#C+VAJJsduiXS5r?EU zeYag#evFm9dIOgA+-t}d^Gw&Pu;-27I;6|XfdQr3mKIiV5yHrB-->yIm)ww3wXuZ6 zLO@)&TYG5mV2FOCw$zV!1RmACB_jVTcV|rg#J~r~{oODkBdu!q&k(Ty<-a&v)V;m1 zrzk%ODlJbL;NA9$2y?4nk=6_4GZu5oNJlXc!!=ZbpMG3IH{4!}VVH>&?=uL8^`gsK z$L_95p`S>;c#@fSJ!L`_!zQ0}Iu@QoxAL1NFGW$a=TAOk8I}GHF;WH1mN!9Cl8Hq4 z(Tb*qo>8MgXZ&=Q#GxDQZ-wTs$ z!dzHlQoLvX8>d3sA1WLvnPUlEYzQRk zrL!6U%u7H@cx+*{1walvPtRQpLoQ~`wsNZ*xq>h$A4Ip~)ex}HVR>-lrC{R#QcnPh zV2=f(XtN~(56L3%hXDWbgT+3^d%*rfx5dTdRw@L;@sb-S+?;YfUOLS`_K~Lo7axnv z^5ZA8Zc2QH^hj^eJ(Z-odT=-etK$2zSRpe#vPgyLT!$(Yg4(DaZ!@uP*`hV8a(E)7 zGklIE`+ZiCrjcLH;Io@Q+Q%hE;WWw~~ z$a#w{L9MFjxpS*#Wkf*976C9^#1FPw^Z0ha;UXh-V`y0SC$jS8Gis8K_t{7sThf^t zv)a({FRP(K3m;@?w{UD;d&{`M1nKy5yl6U={wtl}dz;rkdq}(^TS1>-L?%EwsJa?- z;o)hWIJmfCGsN`BP*De|n%VoCiuD;1jy!-be7Bse66!_0Z`s6GnI~J(b0XHawu<}{ zdnWm31~Z>O^wNMJHZe9np3v-m@(oC)YjrWoN=wHKi!Ho9f7S-oFQa%IEYU9XZx>NT zOSZQO#1!Q0{X2XR`5?tsS{^wqotKdu__b9X33k-&zxxo=(7(uQ(Bb!4-1L~#9d!9& z+92FyoXAqX50TojSg8GD3UfL}nlQgAscjfpwAT~aE2GrJf$A^b1(z(OOKnNvP zM}iEkY8g83FRwZCPXGPuRf1sMvXM$eLgY$D@Y^Ns5wMN6pkPX6IYNRPjb5-|wO;d#!GZnrl!>3$4N3T&A|=`F$aXF*@WV+&{*N8h|U4nAdVizO=> zQX%5{yoRRnJle&GD|p16&4Z%|c}DivXQ~5L%dfe1c5mLM3&Jid%W0;*{4fm|JLS{$B;4v_XV#4^_Ya?68+NcGKi^!mz%JJJJ9=)3AsV8&?l&LEHCuU`q&;P*Fmtg zJm&}0FZSn368iF+J+ERGx}M`_Jat9+2zf{>>b1Q80?qaH)h8c7-GnE`g%i1coh0^U z;Mb0_3sma%jZ0G)!?x+IMQlw^@^N`vnU>9};uJ2D{~Iw%X>0cLWh2iBw}EXTEzbzG ze0Ndyq4(!g2J&ae)PXjF74yM0No=&!hfom@q~+L1#H-ben*fy0d@%W$)@FWDv*YXG z@BQOhms^wb9|aR{0&Z(1CT0(Yd0;V0AJ`r*=YNXqy(Z^vom8pf^@@gll(TPFQ=Ygi zi^+sK(Zu|wj~ttX(!#ljA5tm(&GCQ7^#SF1YO}D{Yn_7)NE2tu(4+0KHc||flPT*u zBs*RbtVD3(_X*HkuL0XP#4V+4FRRIk!+IeBfsq2`%xPDz%foCD@7o4(J83p5zk9iv z@;yR{y2Lp=A#i^);5V)TRz-dy03P}trb96PJuKUQ5X??a2KUK-FD;!)m1KsT0d+TK z);56YOt=L|O2gp{dcE~wtA1r@L;+}o+BgKp67R?x+z+K7<}kuT+4*z+5XZw%nY@p= zM!iU^23Kilj3dh%ZbcJ8(nN~%g=V)so`jbqx-neq<8qraj~F-vCEqP;JSMe;6(yLw z>qxK(PqMP!Q4v44k#Z-}?qCnCS2j^5pVG(d3-POa-m~C5!v??l!Z_L^~z4dm=mx@mdbD`&e+< z^Z{_r1vP!q9AyW*()B!s4deD7aS(rk$bY2onRw-kX5DFukZ*Jo2abwoax z?vd-RvMiL*VIdl4m7ji_*an!&-u)S;Nu`yqPLJ{o zEJ;(28@QG7wzugRPOv?Z*u12LR+DOnaKy+XbM?mH*?(BfX`W)BfK7x+0D8+?{i=`0 z>5`4&dkJdaOIf6Tpb~2lhE$oHSLgiZaS^xLN`FFmCnh71z4p<^sHy|S%oUZa%BF;U zCDL1iKl)*J^#4D5tBD=Zu*Q!m24H*J*ZvT{ni%TFtgr-NlVk9lymp)9dhNgP*kv8$Itn42E*HzFq zaQ(opov0oMGv2V+k{bYsnbh~Dpi!#6%0ISXwzuNV@;7O&~o;c3)g>&pHP;sk2GbxbYW+}MqVrC$W# zcjKif&A4u^O~3o0-ek{UMk$V#O4Ek}V-gwoRAQ9V@j)SRufsE@)S^jpN2jmF#$&vy z??RVjBEI5;b#!V)%6Q3Y$s{1{c7`ll11JsfPe zFnVkdS^P@>llci0zR`Bs*_JlAaqF85%2-Ix1DguVqa9-;?(K~Z;t-%nkzxfkwY9Yg z2?{=f0LWp?GyI|uUfux1=e?pJLKk~{>$$-Jbs3tYn*(;ifLnUmpOyY}5bGQ;;$9J8 zY=dc}wfLMa7PhoMzMcso6ia=?Cg#Q_BFOVpX+}%7PIZRGzTz359Ye#h$v7e^VYEMG z!W_a({Nc}#JnA9_pI+Dsp)2i6l$ee9WE8?7?WR=vp*ro3q362{DK57y$X{DsX%Wn; z`%$heRLv_lhhANnZl_;wAR`z5$!X}T`=ceBxc9m;Y6ghAc-#st;ru*aTr{`>IBWoP#^P2rd~maJh&=1(O}&0!+*|dvP;s=6 zm_&ECMlbh+LfgNtkG%i*@#7hg=C!<0Q>z8nT7!~=NFkU?EczNFgPD77XP@0S>nzzR{Kt#1bNmQ2s20w;m}%8XFavexXmIh>XtyC=j_0L!EZHNFrgpDSAT+M=w;_rddWf z$)mAQ3{0mwWYKsQ9TOaKS#%vLGLqX;>ogIl(j`-je)5~PLns842Pnq;fP{o9sXsTAp*~^PH7WP}FyX}xKokE9; zl$?A8-0m)+oWsc2R%38!3L=Y~9b6bJqv41RSZF8^KxTTR_ZIS?goKE>?G+amhjp(^ zuCK3ud$0aOqop(Ity_e1GDZD{^pqyMZ~xtg17b z;22eYMlOxcm9w_maeiPm(nIp4E3Pt|-s+>opA3|Q2a{5xC!`9U;X0jE88KN?6w`^u zVcr;a2#)qiv|cwR{EVz!CPbNxc1Nl7_WC}v44gOoDubcL3nP!SVc(Ny(>xV3WaNwT zr>2j1D}Thi!vFFD?uEbxVoFbrd+TSyc6m^x$|m{H^pA2dsvX|rKeiCOa2F13;^Tonqtw@W}1`eWeUhC>szpsJoRE`g{uxydx3=4 zRhbWB4wzNLyFY)1ngSAAcQo~*l#5iyy*C@ih<R`T+!+5EKidpRkGxcgXbUI(-`Til}vg+LWV&IN# z-W_A8GTxI*n@&)xJ?=e5lCX9ikI3vd`SAq3$7q`TH_q-IM>d^r6O}()4i4{r&Bow8 z2))q}4JwM@+dCEB8m5(JuG8%LblWB^_3v71LE}H59RF7Evl}tf+rhmoh$I5$|6}Sc z`3WFbN(=ST2D;19-ys?p}==D^@> z;Jk96{b%Dd{{)aB0SIQf-fnJ_@rK{K=aS{`vx%~3;gKe7e4l{noVf!f1nNr-RiRd3 zuLc)(Ats#3Xnz7%Ko_uVPK;vSICE2l`n&2BMVZvNUT9SAhnqzy+)FyI8AGe*B4R?g zwk+~ro$MUH-jXSNGMA6rsB$`=CH>K7@)QR+XPR`$N_;XIfU4-0wG{Nk`7>l}caD}& z7qXye&zG3s%JR!=e$YXBIn~*l)ZgF4B_ya|$MMp=h!G{mnR9nnDt>;*LaT^4bK#A) zZ$QM*vrfjnPLAOl2aj@E@h~UdE-`iK2VwhZ(m|=yR=S;UcKy)G^&wtUwdBL1oVX?9 zN`iUAa9F-!o44h^=n=@Iw*IXHiK4+y5uk}!Ff(q&u08K}(--s*5-bz|!SRz{LV}CS zMJS^VbmSmCK*3_xu|xzDqQ8MB1PV=mm0&)t59P6L#sB{K+00XmaO0(omG&T)J7_tz zp4B4g=Y==udX@r(U;`wmCkNS(UBH*BPG%Hb{v7`pVU}XyQMlb^>vz6mQeE=W~pFCDA$x6bN6lr9YRTsHhk? z)RK*LsM5fX9*UvMUa=ZU#^)ldh!EVzpD&feVwGicF5GrJzgB71+(qx$5h?N~xM91G zraGD%HtvHuZO)v+oc~Huwa2z?=l#ou zkgVxK*y7OCl%cqTwXrh>3k0y4I1oT9^OXLk24l%<_9}P5jD+Q3nU1DZN!vGSVI^b$o%~3xE)P~Y5pkra{UV`$iH&Dkx+2W%4 zzFG8F!7eqwkTf~MOM^DPElyP)xz|~7@mBhrxTHIMxb>r(@B1QFW^o_0f6678cce#w zHPh*83bE<2W{%{`X}HwAtVbLd?>;ehJ9L3?^xiJ2j)zp1=rK2m zZGGKna!?^(g?X|QUZ_Wzz;tH3#rVZ+S}J=@+b2?L=Hv7NpQFg!U6@g+LgJI=bQou{ z;99{N=x;M%m-|;z3ex*m7p1r#Nq~d;Foo4jWbRw98*>0+EE%#A5}jRp_-@*)NJwpt z6)Dw0%0S^Z4CqV95TF|AH+kL99b%mRZQB402I6nPWECr+sjG*E5kL%@?>U{(4i0#2 zb~nL)3<$(C7NT7UeI<#OH8(T!)KU$&MZ6o|c_;P>{}Ry1&hEF^1qFg=)@Q6lFZ|7* zbO=)8>Wy;W5LIaTb>@D*M84QQij*eAN zgDMgK^$aCB8F{IGr_WmEJ(2ayZrp73r!}P1oj&_7 z1ljnv_<6203=KHg3sDz6CcClUj*slr|H&CMFM9XqstN9DUEom>{BvGj5-Y=i#ja7& zWO_6;-d-V`i|v(w9&ufbQbZNdfF;k*(7(ZHfH$fyA?$K21`3MVSu7cJdLNo5=MxW} zUSQtZgKF0Qu%I=>bKneq3hWNV8}7AFmVo>T{AMT)i7z4NUxA-n0cZu^dzA0&#M{!^ zSbfXTRmfx1e(Mo5f;8y+p__k(%coe;Pv4r$c-=EF(m7(Jc)bzv?!AsczV;$Pl_F&V z3-%qMTm^5W$l1_EPn7faNsFiXba<(+*T?sJ*>QXFoYm)s7a;=x7Exg9bFxJC&U*3a zw$y<;-g^4unj@Nc3-KOB%__0usbik{@T*k&_>lOh3lnqkXCr3Uw?kTW0}G0>cWCu0M^K;RV> z%B_uP=-eG;)hcB-XevAE5_w3^$XGo;f476Off4k@_Ow$;<8lXpf|I~Y7L@qr8sK_H zK0AOi!898~L&Iqhsek*rg$k6YTga|g>k^oP)2s|YAS4>p0RGsl$IHSi8|ZDX*5?V5 zsGfQpdY~rhK!#levfkdJO$oR07nUX@4m;CrNx?90);YaZ#kV20m|1B72hm^9@AV{f z)j!+2?xbD2e^b2Xpu8C0s2J}q&P}tW*lKi)vR84Z{NP~M?s&GE(AnR|#QLsi^(j;O zC%W=T8Z-Oqbywv!=eoTL%<5zJRVzhJZnKQ3syvV5RUg|Ds;j4EWQ4kvV%|R!#Xc<1#Z~1GVgx^^u2_h15D!*?Gy7c1w4& z8+-ZMKWovLPxaZbdz`L+_M67Ks;inbG-Y~kWfQhI6EFoWq?sFF@&CLYXA&Rh(sFW1 z*FjG-rL~&L%=_k?qdGLwMYj^p&@C_?AHC1QY-GhXRQT^b2mfi1@ee}{vn6=wbj0UG z-=kH(a9@HgGQj?Nh?I^tnfydic^uRZ5PqfUsVUl~_cD+kkV3=TGODlwv+7UGZeI}5 zO*6)81VXb9{Mpg`GiZ8eBST&-qltm|*`~@AaHen7UC%a^;AXDiF^4zBJQf3l#uuQb zf3GJl0)h??WmF4L@4V9JM9c5d3_$Bjg@gRWkOL&hX*7AINx@@)1v9}V!-dZ}B9K(SqRVS~7#l1Lgi$?2B_eOIe1|IUV_h+QcE=Ty}=M z-@_iAEgMO}UM8t(F&r5-=l$Coy>*gokwR=xy|Q|=li>IhLK@^t=`M!3yd3D(1Bbi( zVPmAx4-(O^;u4WVu6dna5q4TRjv?*-56{O*R=vp`?=AjqM!1%4WfY<#kAW|*>4+-zAaB^~5m8KafQbMca zSwiTjjg+}Or2`XuO%I=@h}Z#3{t(2B^z>N~IScT&f2Z= zb}@Y<%*rKJ4n(`!t6YZF82p{D8#X{O$Zy z1S;?|E$A+ejdL5-f2%2yea4F>qr2vs?S0c1FMfz zRr2*K-wx8Fcktg3ING)Vb4GE?C1zN;3C%{{N$m5 zpp-(_dVcx`P;1*mbRn_fHjZC6XgEVMoKT=|CmHbaczfwSH|PfErDa4Ug+Nha>0E}H zdMUqHMmGA0rsh_)dTGTo-T+yxE!_0xa8!I zrOF`m0IT~Y9PnZQ%M~!>dA0m=q6)~H*BSzV{X)1Z>Cw8=dTdEC=0UMiD$&NeCrtw2 zPgP#Io(2SNArr2p_^(t3nYCE43kzuhhm1uJkt0~*mG>VTy~4@Pd0mcB$0)Bym7o zzy-LEop7(+-@g?(=8>3n2_$RBlvAk*8j~UO${MlL@jx!=^#N(t?e(7!)bT$1BHuKz zN0aAbR-77l;f_pVr@4o*rSr<&?-I+?ca9$HId~8z=92JIJooZuowKoR@p4|^GSRs^ z5#YY2RZ87-m~Re$JdNN#?olLJpcAw>f45T;w^e0QKQ@!5xwD z)~a5$P|-YpEDX76p@vG9c9u6~^!vsiWUM*AiM z#8710wSSNA|9*N))r0CnH(wYG%ZDle#+du=)cy9B>i$J;s+m1_5#S@LxJl(*+QRkp z^?L!&Wa{otHa9R4531rx^2iob^hnfT7g~kDzU$t%#QoFkhX_F@`cngKg5-l%lZ|m@ z(QiQ41<>9XtYCy#RX0m-CI0Q|G)h#VH&S-m}6Ke9y-@?5HLv{7XSq~QOx0wyGJ>O`!G1w(0J9G#OF|40CGx$DN(i;&c*5>NBOX z>4|2;TPv)lq9XHfq^vV-J6+u^LrzZ?E=OA^8afb1sAY z%;v_%xW+~y$Zr?nE)S9E9mmj>&y3)%!+-!&(YmIl4iFhWta;x>L3~8-$3;!okWUC! zZi?qWy9Tja7(2@#Ta<_yf(A;s*M0h%4N$^`OA)%xpFe#nbOSFtauzTYHvsE=^S99% zAWR1c+rVKH=n?>(JUTvJ&dYgNzT#1~DXgI$aL?m~UQ+0Mslt9Tb|>W75~Ycy{}a#8 zXDin~l8Y+fp-b7v>e<9OtC#}zYx_BIAB^(rO!<>a~ukjaDw?;}wg&y@` z-0K?j;kEqyv$4U@${#ppmq$eRa&UetkgS&~GLhvE3zV9UkupY&Y~F${yTi~I$|~7U zy}$Zf8A2G65b?&%KAs1}t68 zAPF=T9-u@^{@Wge*l=L7_Pyu(W~8i|RmnOi*B3v24A)^@+18%(*aL+c_TzC0Q)lN| zFEA_|0*DRy;({79PfvhFg2LAWc$FfK_m?+a?m+0T3&W)$3np@-7Y%xoCO!AY?Pob% zriausho=lnY|@j`9tn^tg0UyL`dMoodv;6TF+cb{>OA8kIdet|iN*a7j zZySX%hB>VI7r7f;IP#*bf}y$@Nb>TsOPwfteM5V!`MqzLWRNioU+TF1t2Mf(|0|5a z_iZaCw3bX4Bc@RF_Iwz2=qPwk{+s;w-_QI_ab_!S1Tl@k^ry3{tLyK^#t+0`%&AhB zgwN>QQI~zVOP@iMQLt?NH<&t^HC|5NzR${pwYQtCmCJVXWHI}Z;XuBA zxW7fFNny|P*#4hZ>n(iRfj5Dk&&ZOkSwl!8EDqCx-1I$L4qR#=6AVjowh3GWg6whQ zg%RGl(`x@6_xX_jZc;&Ls=xQ>gsZ(REQjjq)>GUq1KxGV0|DJlI1u2=p^fkxU@S?r zATf*vPF}Z9Aod;}dI+Eb`w^d0uY03Vy6yneklFZ+I~Zdu>~+VV^2ldlaj~z`e0Uvn ziUI8#Q4Dy>D1BB{uLlzYY;9~-^*g|r;-GssTlZUcbvn^^W>S~A0n}f)P`*iZYYE3F zxlFr-4SH$}KWEyDr4f3yxSB^x{Bg$l$=BmoD6j5qtJGE{ZuSMg;{V|IEq6s8-K#Rd zW?FzI$bzfKsv}5eP$&aI2$5%13M})q{dB8vh#u&NAy1A#^VFT@T>vKp(UCQd?@Dc= z8$l?gYqopGYD~zRZjHG&DN`Al^}zjJ5SN|Ki2?OC*!z9-jhXTr4@CJIAKFY64ut}G zvCla2xAJc`$4$Li%IqxB?xR1?W|~xs=u6l9pEo}fFb8q@$gox>Xre(WEC&REXjzn4 zDC%_~8bGEX0VDbVvGs~F3JCv_f7V<;h*ScJ-mw2jiV3e^4-=>KdzAFlVte-ILmmdR zAy21%{{{_@ERY#cJscK=>HYaDu4}6@qPL>~*#%w$2*9lJ-cmUEu8uCtG$hi0R8 z#Vb~sssz77A1OA9S?6m!WyISv5rTdaD$EpuH=}32)mpQf zF25lA-K{Z6ky`zfMyBR7C#i0>)&1&x2WMl|WqsXeztF&$vz~Z64>F26m9`zTo2nh| z@i*DSdJ8<`q6-#URjpA6!OUmYd=I0pWy@6X=yLGaKYP>L_#beV;&-c!t<7B=7-CyF zTLiCveddn`UU5_Qt)LzVnl?cX9VU<)6F_Z&?3?)i^97h9lWm_n<`)o<{~%st@FlVA zEUV!M4}L6L^I0p3%JX6JYDd7~U^+|as$q0JyJAIz*m3jC^`fak9Z)xaEy)pN3u07%6 zd|&S%a7wGdEyQa6N~0#_RE`X zcTDzC@y!0mwG4Y+>rG&P)?fw=jWj9gx^3R{?rpGJmo_NLz21&+#me^v3 z>bE(dACl_G^St!KSNnW<^!DdG++imrj^rH6LR&q!FVmGIUS7vA2`S3+>9nIB-fk#0 zGDQWh?@GzPuXZ5GeHB%5RAfvT{+CyBK9{M`@!0m)y02^n<7}L)idKM$ZNgvw=jopw z6gp|Hg3P=|dD918$P->tGzssIU!AC$8BsHgrcl^tZXF;lG4JlI32^pY ztT;t_zkSAwx5VBpC+lQ8KQQ{HThGJuWd_EBrk6RzzoF)Q1;Jgr06Z@e{q^=3cCl>O z`8#?xVi?`0Hc`_X8m3wLKmjrMx(f0kYwLrO0_H}AI(R3O*TeNzu_+^%0hkE+?B!KL zkEj?av#AkWbNIAEy!}8LB33sh<&uO0v07vXNjR<6ci>o$3jsiEN~BEA-Qj!WthxEW z*Hq6F%`n);j0eT#ZVhL4%=8=(cXGHTa#J2~sc!JL^dcUkv79uGTv0!99`OI_`aR~^ z%1de4F;QP6TCcl4>VfMdERTh`d8%JnF^*blw-(1)VWfk{OoUL&8{*%&bg9yfWW{QI zy~+0rO`Ce`41A`{Q%VKz^d#oF1wV3RRSkEtei+yDcj+Q(ekZnkzaD`eVDcwqPN@-X zE5~-$Fl%&%)wa$gXSNDY@Q@%_mBRR&nnt{@sZw9#pYLzz?JX$d^rXTyeh!Zf#Zb={ zKC1Bf*9#&l79Jf{{x3H2#ye(TWDohS^0ELC6iq~BD!DU3yQiR@ko02^NWu%J5cf~{ z`v(WTpcy_MknF-0=)<_L)QPJ83w9^hLD+5=|Z4`K%#+jM|ig} z0yT()CLIMqnNe4Da?ZvRtge4UK_rhcqn#F$+c#E5tokndp;=tx#ktQfyJIu_4g29CQi(s6sOe-`(p0C2mq^eI`!qkoyz-s zlq1Etbf)t?53s@jk>)N)R?5OU_-q%^Mw&jJ19zE8a5+Mv;l2Y-sup1r^GYHHk$$x$ z{-ET*?C7krf3&@w?*J2=_R-<_-WKsu3Tp7mv%UvF!IpWb}vrM~?5P^F9h zsUK7o5&zfQrQ5*154U^>lbwI5+^DaNA!}%IIf!dc z$(6vkD(oQ3a`K63M=B3BUQ)KwPWUK&YonUDe@!sWTtCN@lgc5yYL$oUmu(V5-jnp) z99>k;O5?4X?2*q#N4Rl=yN=F}J&HO$Uj4gj$gn0jY6*1q$CwW}A@5T>p8lh! zp#`VAm#4=ok^w*HfdfxO=*+{^6d{NJnAM9x^VbGISmqWNy8yTfAQpC39@U8MoTCf3 z3vAsKE}fj{745ENXqB=xaX1DQdI(H-*2n#ruq`^B)IPu&=x@- zRz7tuV>?P0kE)V0^K%}zJ2m`XChffTg_Y2EE8z%!yP-fwbn z&7~kGGi0srcQn%@a}d)=e=U1mtfUBi+)Zd2 z0#il&fg^qSYLDV!bs{xsCFQ;bBUdw8DC;F1FYP^Dr5$aX{8T7H^~E@~;QMxN$=mqc zM>KV4A=CXLAG2|+aBF8@yg2U*M3%RSQ^Up9#H;(vVe?4b$xwutYntGvvYU%s>t92ZTA=LS5~~O+#X%6@TdrcsW?O;#l{I z5GC*&Yw<(`*})<8sL%iPeP)IO-!x#Q;hlI=s$R!Icw9TuAhrQX7ziA?UYE1x{a~^7K<0Q3g}RU|@?t>x%jlm8sVkvQF^Fo6 z=9y&L;oKb0N}i1vV-HHdhh1LQpuF6M-;_%?P^!z_hp03>zc&1pZ-pl5{7ZtU*b@CS zKM(G>agD~&n$(IS-0KJ)JcOJoXbTKVHg&tnFWFLj5*fB}i8Sc6i;`KM&_^lc*V9;J z4&&*fL_&*MPMqnE$VX2cWmR`y7Zho3kH1cFt*8*`v7%%WY^RqIfN-gCP_b1Ar*}k@ zar|Ypy?j->#{5@aKa=~O3v2WVzW);j{fD1Ylqa}1jfgS#{ADTw|L(n31*r0;hZqI3v)NYYd1azE*868PfKYeh12e~0Zdc)c ze#wf51qC`yp0~V)UPi9Ku$0d{)O3J8 zqbEo^oDbiR1j%tvXZ}Dxt@Dgl?!2NyijbiEY-qu8FKwMmhKY9q)dtEwHaU@pPHVYt zl|X!QV9ocU!-{OZq>d`)toK#e=bZ1k&l$h33(At-QLrf}yfjNgYQL*dDECwo zF2AR^68@mAhb*KX`%``f|4B`0gVcu*$P1yGbL`9V`*`X)vEv1Y3bGB^AiSyWjS(5Q zh?|cA5{onEzx-aLeq_@Zqp^qhRDj1?C1`sG@cvTTutfZtQs{r8Rru56AAVBX2z1+gU-+>E#!E17R z0x1Kz9T<&vOi|Fr!F%U{k$f*mAJ+j=b!j&Gy1mjLD5rjowJ+It%3EQh*wX8G<_cUW zSX#*^1llh{9BRJ4pCCq#_4pkU5f`A~^VdvOknoHZnPrRE2lqW2-gv}&dEYg^fnT$s zs{@Qv41@blH)L|XSuuH@>+&k80z(R~x0zt}o8qq--v}!OC@JqGnHeFDbNKRWCX+*= zs`wG+=vVmBQE+-2wCsPZ#}F-*7-gGKImJg*b&fKe+{ZfHc{qH+yWbD3?We9%@Zw7q zQ`?uyG_NTW;rJTygU+U1n5-=*Z{r3(Pb5R9Q#Ha%lN_!bwUfY!mP~cle+p~EmzWPQ znia!2r}2ot2M2NBVuZ^O|8%sLNmQ<9f?fx8@aRl!#=Od#1yK>)J5*<35&aSOQOF9J zuh?b6C}c5T#--8Xyd5~cmg%t_98&vi_Dx(GwtDFY3HfsZ%W?p#1D4Qjg6i%mDIycG zQd*}}`uFGE1Dt7cGr!q_!-GUK=J~s_|I~ho7!izN_{wPG=p=``@O6FDCk%;e#ptcG zA5GY*lRMeBwP4M|JPK~3vLM&Zg{hkw`*3B-ddj}u-b)8el?o@G?qf2%C3nZfXlNj1 zC{d1lNTd=uW+J;x@e4%V9KAPMLS6Tb=K-~e>91c-tlP@_bECNGmUbxB zV^q=ot6PE;=gM~7RWnxB26wQh`?V2{z{u`&r`l~TW4LegdE}C76Pxa zwSJR*xM3I^i$<6L+VCs&YGAo%afo{fRC({?(aR|q%GQ@*Rum$kU&!1juT$mHqW(@M z8ZXj(FH|C27if0D3XZfK^saFl@cFoPr+aFN`0JpB0lep+9N-hOll(zdwDw)f}U44Kj0`&?{9&uDR9KQHf3FF9Gq->ps(ScPt*G2q-zB1?`B|Gm*1laU+x%#E0U zScKd{e2gnsFwIvZ&nc_>i+*61(ZBkcikynJBE!jz##=g1r7kUgkF2d;DX79-)-M9N z^KjWuQZWZl*OhDHb0cXDBrf>^$39m2S5MKpyrWif*kL84PvD~YuETgzelWm}593Wq z{=-Nuf z{{`M2Ez6n7px8hGe@j{$p_&X~=~qx&8fogBmE%%yNMEbFgWJx=*4FeT@i`D@H$WD{ zNf`x5{ZFwvz$J6=HQ;<=Akn~#MT4tFR7PFZ)GQIih^v5e0qSp>^t*Oo{nZUOoi+VY zKmebkGf|*}`mFG?yIO(4y?czrIS$E?DZcZZ5FZMxRAw%-l(2 zebbVvq?z~@4_7YI|DpLj!fW8+HeB<;OFyE2h+~+{q`Olfn7i2BwVn9VERZ>jECvP? z6#x&KIZQK0up-%w$66rfE(3M$Q7Fd*NWWuNfc_~o{av`_%u9~3E%nA z?A-Ah$>LwzMX;)+nFmC7&->u8 zAAAZ_YMT;N6K58PKO!j9m9qns^I;mESBDf`YaH(;2@AHq(Lf+hiBEn0sWkkaN~<+x zSPcPUS`aG4Xj~e^*(?xX3KH_!Tm^_85N-t}P>TTO(^t1+M^}X_pP_sK#eOC(fd!dD zi{!O2AxU>lA~?}s#i@dEB31GovIL61un6NCm1)^Oew^cN9MA12m3Ea)%YpEfmwPVu zxEM$I%`~g*Ok#c^RK~7@Q90DaK5rT}ym))p6Jz4)wPb!sDauLHJFq{n8bwpcIcs8j z^|_%z3;94^Xg(S#+(%y=Rq0dtNG7$|4JvJxZ3FsKq-|O;SqdG&7f9&1Wu#)Y1f(hc z7%XBuNh!ZbH4=Nw=((PAc{T1VKMX9oo5d(rXcaM!<@^qnbFMT$n%>f`s}E|t%)McW z*ZE3W@iOMvw{AR%l^-FXXgMpH2#=^7n=al=wEN8*&R%qsm(R$LYJYaq5p9XSqb5YM zXIo#((^E$FUuy;P7?IPiA2eb=$?CEj{93_1QQ^Vg_6 z>k`27Pl8sEGNYWyzN}WLdH`+jwYt}d3Su^H^xLod&=(l>MH(eb9 zy9L1DaHqe45287+RtYmGl~q@-Z+n02rCO)#m$_DN`oQ(mAKM_3@_5zF1wE~r9w|^_ zne=0>FBX;bvh;0ItpUcUJgtENOqrock#fAch6U%lEo+%2zG_Am*2*gl*C z7xgKV7&OTa_2<=sbo6B3us<}i-9(@8+}9@|ccZ9FwMDzO2?j|htCoadcF*1F5cN)d zyLpQjSs(11Bz2BYy}|97qOKO;g5u8fpe0f!ZPdDHIG9HP`|mT0kA%TL=WpH^Pd>&% z0v)1caz@|WqJ{o(FZJSb0oIqIYnW3Z{*u>k#Ll+ST^SPs9;3CgI0icty?~5>qLOau zbSJ3O`9ho8aK%QCt`v?uZOgUd)zvR9uPz^&fk5qz;{FPW=sC)7C~MjihH;VWqIB6F zBsIZI(^SaWsH+xoMMKrWg=N>*`#&`(;RER<5?kR9B(RR$PY=O=byDAVX$*SGZPSWN ztFEu`-tZYGzR+n>zIjK&aG)X6EzepMnrw%6Zz|4!vpay4%^oE0Y0Mz|BQKdh|3wky zAQFRQyKCWTFd6anNo-WpP{^wu@5pjKUM8WKj@Q{SSUolCcLbz)RFiZ{%!^$Qk+8uV z^SkkrrIXURkYNhgR6wLRUE^9S_+Zv+OYDhZu-*Pv*i9>H+5Ux_1C7ojEu2vhj}}9U zz$B?x$%-0Jok^QLZ)?2opeLk0FfiHd{>U5V&c1Mj;PNF=_2hZ`=YUxQw!SCJ!&R-V zhFC$84+mMFsCW>(G`h-`VCE4Nw72dbi>|CKJnj-HwH3^3-dv46Nr>o*!8hT1A!TPY z+q6mpds4`s#wtNnA$8*Q!+d+kbgEFvsYVRn z`d1KNs*B`HN!oLiah*CQACfoIsoA6Xv>vqYAA9$$uC19OX^3WsS+1OEg*P*@k(~Nv zDz%t)eW+i#dQwoIgoJ+F!t3>2szwKSJ=(n*{Ur7g6K2~m$AUq}J0z~R(-`N$B_C$u z-1RKozq4J+aG;D$&*lvAy}1JmsJtq0CeFd|Enbup$w$cfaJegj zjCO7ebm)>rb=TF^K_CNWTtJeV*t^ie0qLua+6raWi?z3r>nWGxr1-sec1o```_jmoRcM7g5Xpoi2 zpWiFbXEhByrI$R;9>dQuThmolb8|$m$tv&+g?5MAh-4B$f{)k)NuR)2T`*S;g$GZB z#$RYsn^61ZA*+&aD`rPqwYQ;Hcr+$0$9XL~nZ$~<#I{y1BFLyhC+tcm`FxChqh_bE zo@u<1tKC4_QvX?oNT{U2j!w!@^1)Cuw<;UW8$(?{#3*gu(fgPskoT?p$HayKzw?jx zS#NOLp_KbQ1Tl4$O0Up!Y>4i9%dHyAy)5Z^3nN#IlYVE3vQ$edo)+Zy((w`@R;4Qy zg!HySX%rdl-&P@Og$@=w_R2@y2Fu4`R@K}$X&i%NlGaL z+sVsBQL|ZUi2z-WsNAy2i|*hTAOqwP4`)^2>fv7k-jIRUYza%+v!Or#P zvnYN^%X!fs&X`n%7cF_r(rN6~^|C~@zH>Q_2uS`GV z&l6rWAw21Mq^i97`uBNXL%hbWEMt4{RYR+ZDCdG+pc&l&cdfZZ4X0pDm_-ui^-yMy;^SX2-YE0zWg%xwE5d{X@QKd11 zpxZ@EE`$STCq#9#xliR^%F=bZIfs>Yw6p-OR@?V~{xW0UKzsc9ycI0&>_-2DrEmlJ5+x(DuFpT>%p(?ou`No!pU9Rjp z)l_#t6*R!J4b}Q?14>U)|FNf#Kf2+G7NHE;xrPjDO}2IZ3pe+-(D=h0g;E0(3{I&r zE!_xmw&u63Sy4y}1(Wnug0I-;<&rCM^om#N#9`Zl&a=UaWE+pZI|p-(`QdAv1xP$L zHk0@^;%d`wUnSD#wUeg;V_cVTOdCn$on;P{PqJEt?($(6;XY1$D*jWi%Jx5B0K%yt};@ry{+X%D`m^ri-D&zN@On zgBSOq`jVDhckSlBWvyRkKF%fJa$tpT$sq!A{{BUV0Q34M7B<#%lp$^quy{y5z-nWjGD76p(>DL65D!Jm*Xh!$nKLt3 zvGUaA5vx-~U9_2KmWEVxqUjaiUrwC2$SVC9H(FeCh~rq|WCy*yWu2qkPbS$%B}=?~;}w3` z47v+NvmRd(cr1jIbd@!r!>lS)FXV4zQ+Zp6(F%h`D(zg;mg|76M%jbqLwEUGj)Cf+ z$mEO443z^Z>I)^?FLz_?2@FOPNy;(EDnf~9qCsB8Y}p#RukcdwoSHXZj9+2gF&I1F zMg9ZFB;>G%`X@tAnQ)BZcg$MS?Uh;YwO>hoV76o4_K#CZ&h!p z0x(wSFms~ue8U8}3%Ocep!hsDcZ};p%Z$zs$>@)xEF>7)zcRY;^&~I}1Y0F3Iig+K|9(jcDWfheTqon<8swO*H?VFe^kA z4`*(Y@ed!mA+Evw|g8pDF4 z;Fm>r5OZwLRe!R2vBcGdkOit&9Yppc@P@VM7Hen~Ye07kOK0@Y@2(yAD5J`&s{8SDA15_oL z!4BN8-zivJrmFoM7?#v-{&9gmSUSt(?XPw0NEr+tD_e@fS1I%){e9ikRnP77J&SRv z-5U~NSoXRUgCgkcd!IC4uQxI;TBoj8AbpQ(N)tycxT6&*q}{OdjE_qdmiSvag7=#* zWusg&W|M~IrhtDJ<5AD0h}t?%?Q{zYjx?3r`;CCnIT}rNheVg{I@JX;`o=P!bz|1* z;kjO^O^KgbGfDGCESleOy?gbr)2NpczS!Oq-bwqB#8wO-Vfu`mE_c@G+5DT@I^R_e z{P#|LwC#qeUt@OzchRHag#Hbfwz_(`7ON#U!>Q$wCz!f4JtQC~B$NYSTgxNfP=EhN z1qGp$qF#!?21uKDhp+YeaXozZQKChqLPmtWqwgy!D<46)lNA?0Nx?!ey`k;>^5&Vq zh1)B_&Atjp=@k(T10G*A@vlBlM@N>w1S1jPWM8%}3)kb0UWVCA;e4_PenbEEAh)Eq zfVi*DO2Gj%S=1E5yPWUPl?eLyAA%S=^{MnL`#hTLg66N z)OblK$+%jkJe6wrCpLpoA~P(ZQ8e$_Y~1zaRq{R4^G{_V;r9mpSj^QTk30MES&AK4 z5_3JcGRoyQm|%m*y4#)Q2~ImHQg&9lMT)v#J|ar7#St6M zz82gAI+vBn%NRi6v}hz2o~W1o{mp!Vb?pPK)#2e>vs;4vJPtzC`5}9!3=Su0+@ChDxJy%dhlJsJn|m7v ztsB`nYE5Xo@_>}Z6`dWAKwi>m48^dU`-=Ic`o9ZhY54yZtTj}+yOl?1CG%aPQ}@(o zXjDM~;@oZ9z?Q=mxS0Sf%1!>{BR44y#0|_8edT@`4z9RAXK13ZI|u0iJn!Y>XTM`R}VNLte7FmOlDYqwQW)uHTH3GyvZF1 zC{%HI)=7av_(M)b`=O+JAMpn8f0Qv3LG~q)IHf}OpTVaRt;Hpy8y#L#{3Iu<^@CUd~}z%k|m*=KwGr7b^mq@OH2KvEV|>t zCl{BEH4~m8=*v-r>}9<%8O9XFB&X`v#Wx#9jJ1*-x}R~4Mjk$~YpXPrE2nxyT5ojB zfx92v{`Vic51~Pp?FaA#;fE3h4D7iI!G|9eE%^nqcdUOdY4w31BxwR#vOWq^-hw05 zn4V4nS~9eWUsImJbApqAO%lHVms-{9S!-L{#4q|pAdLdF()VVQs_8xT#amo4+j_lA zZ@2Rm*#0XSDXB$wWonmz)Rk=_GWy4gX@4K;pFu*@0Ipee7VKCvt?h_BCC%I*Ww8ux_p{nTyo}xke3c6y{QZ zc+SI^*AyRqK!50mLWdFGEXS1x+=^wEYvt?g*^WY8tZzE$anirQ?1cX8ghA9QHyX9$ z0Bd`!hy5Q*o>qm9oIVBU3WUnhk-qkb65*1RJzA(FZsgyLyPUoe&GzyvXffZ=8ylb7 zHMJ*PH5eL~Qi_(3ZmR!$T0kJqPG9s=9_ir=+rRH3%RKxRyU0=nD&<5?r1$90HJJWN zX2qQlDHZwtJr+b=UD|@33|Y*-?f2s#NkpF$7xKs}Abb3cAmh`*Y?;r;o{l|jv_Lv~ z1x(;ReEJmjwf#G2R(*EV{7B{a(N2Fw?&#DM1B59~ST;6$-{UPhDvI>##ZvsvbG{z0 zHrEOIK>6M1Bvwt@paq7FfMs_I7XoEAY9j^)O*uh?$cn@-gTB4!bOm9|+Xhyj!aVg3 ze2zaTb}Z`(Aw-XMKBz%Dyb93d<~`2~i7pEy*gw=f3>5WjhkTVVq)41P`u}M9?r^H# z|Nlca*+s|>Awt<46tbfvS=l99_BaaJJ0vrbBH4Q!dvDpTs#*vI5itw^85&nm(9|3SE-bRc99M2+ zgZ537G%@UExMEdZ+54lACl^m}S+(N57PevH(^g@$3kOmxZCQ;gf<#1i{#9S^=)s=L z1^#{m`->e^rqvRZoz9|q5!6gzxMS)6ye;rFT-4C<^PakI9R97)g15qX-yb$SSM=Yp z7yFsO>h|zL@IBj|+~n3Q_41F2fq@axiZmNG#?^;;rOAIE?{?PNp0*_nJQwWOeK=XZ zv%C{z7e#RTYM%Zh;{%{Lde=x8@7pP>avxTtc@8B!Fcud1rS z9Iz%Cqg!WM##hDsIw)F|2PInI#3r8X3Wa&QF7W`XDI6z-U!-W}rcaq1cjqNW7WY}aw-uaHS`an>uq;|G{@22WOh0~`WxnB^C6o)(U~0OV)I zStWloOl~**0T)-jlkofsZ?K_CiQ*$>Q-jHFMBTxtqyUpfskzJ)3(liE7A0mJH2rvD zs|BAL@h=r|!)-a8sVvrY^YE;gRWY}p)8H##yK%{JnH8oqtHeTBwSvq*PhZJNSP=r!Y!_`f7luJ>4C z{JLl-nAW@*wO%}1%xGz>`R>2OcP(vyoeARks)qg8l;a^VOl_4flCN!OG^B5$%2FVAUEy%h_=)AldRr|a7M*xSG=HS5V! zA>``N6#mc2(7W2RFgypzKfN{JvQcYdK{t8QwEcsGuFQ;_*kmCv9n9@kK?bb zJK@enefgv1gQB)!7q-|SAJJ+maWk~@K{W%^m4DTLs}}rUIS+~Zbs#5ZQINoambT!- zPY$k!{X>02Z;r6e)!$c~Z!yDh{C|wxH8M1;dSQK4RD?)H)_@NktS_5z=88O^iCT5_ z@*;sf0M;wXG*G9(U~q5Bo|WNyNotic3^QxuPXZJaoXsBX9J0O4#Rzwpy^psx;5-8+x zkQ(0adhpDOni%1N2wMvDm_@jPn$X~j1J4~yEuGQ$f$GwMAt{}x4~7jZ{Rcvvg%erR2ShI4~LNCHL8MW){K zuX=?gd=AaB^cSpVO%gY`R3zk)Opwt3!8^C1#Zi#1X-sS{R?__5bnALGWI^|pj4Byy6i zMJz>7)etAE=y+0<-v2}A_4ShMBax%dzZ_@gUo=nF`6cn5JjYR^Q45kjdrHS&JvDD| zN1<7*(O`3BWB>bEPf|oEPwx=*u-|KgAQ=sl68}Iq=VLYepOHDIQw@fui@r9^lwGMt zmP=ngIf)0WM01=>E-LL*knL#`O580Xk?mHX&mO}DymX=waV}L*`x&Germs(==x)z# zPURfw!lX17j;6p~7Z4NrUk`rOhX-$7b>(xYX!jsQY)KfxvuEPt7~=V+J=1pOfzUja5v&r0x=`_v&%XW60uT0#(9bx;fctUbqILGY8A4g++zUe!~+If_7 zM%`Ocl&gzt!Cl<2C^e&wd%;T^?&bfngGSa$O4>tL;QX4Ej}5*y`?SkWD2Zo1T%BFP zsx*#G*Pd)4f!g)1|MoZ*{`I#CDt*PmS-Dl%KJftu?KZ1qs}Y~6o@sXUW43rtp0FqH zw^nbIy@?)r7{TIt{opfZLde*dExcgR2v0#{(9YSwnD#{leM@+#y84&@fjOI_sKV5t z|5nKX9Blq!Y?9c*PGq!iirpVa_`M!s3%~)$A?K8la~;4OvhM5U)qPXjdw?ES?$U3r z_6pg#!pCZXA`&OFzFtPQfJpXH=k2;v3`YKyK+^NX9GAcgrW@?vJc$}YoPENhI1Vd` zs+?6E_XL$CqIF;N4cd<=KCqXqJS>zajC(K|X?F@x5BKfu;Y$7@>qS zLAg_${VvII<31Ijp}0D|0EmCKilX@=vk?qV{6H)yUT>XEX#+N(O1r}w2WHh*F z#L_gca2($siXMN#1n+9M9hMlEzH1u+0ofAFM9OPJ8_l@Ujt~AY-JLJ$$Dj1Kiu!5y z0MB3kQK?2bovhyRD8U_z$Lg%ryqOji-LU}GJ^PG2b$!s()A-0Pcg%RhqG4Ja29GGb z6wr(KJGp+{Pc_e($6lM|uHgENnRBtrd71C8dGv$RdM5ZLvy^g* zLdFZY!{;#DWxWCq=ch?9Vk0SRftn;Xz)(o@|GG%{-qo$ScZU3o(BjuU*n1-lC`!Sk z9!ha11&aTn)l9%Hovw9$>)x;b2+r5lhKnf<4c~xw>-YFO${@nNk=OVAPiODlBz>-{ z2#)>)OBF@!f3N)+gX$@^X#3)>H9gyWujwBX!G4!P1?QV&0nRq zy>rPq7C+$TQmU~I`?aX2X9~rZTOLdaKNZxs=#mA$MTM+d>VpgHwKTK2I6cUv$b3_& zYe`IbpPtP8z)PS^&ij_wkC9bh(KIvB3{z*(Cg<{I3*jc4@-P}orv}LuoGrzgG@_UW zTE#s&%p22`R4IT1`*g=W9ox0s;jvm@u zL#A#f>FutZ{7a&s_w~L7^S=I9z1`ZHMxBf1YTC8R!~~DbZTf3#$@)P7R+&Sgw3WA^ zp&wDu-X|!Jw^(Mj{f%_EPY&&sl zdBzkkA9tx=`57Vm)Z$N3sd>X|u|tr4+hpPVX=!Oq9G>yI_+>-FA)*6Wk+TFPpif&D zj=w8t>#kgbl^F{B%H!QU_9}bH{|`(a$gVCaC6EI;_$%%Swhp8TN27WsPHwLUMZW`b zxYAIdr{+&M=o1JtnaBtdP8;x^dhG$342xX3p@4U=`yO`u509T>Q{yU`sk$6XlkL5c z_;SY*r-=8dsWB?{0~ILV#uBSZJoR>=6fyij*M-Xp)*zgn9!BlWfZ#59jYQTv6AMdU zHfJUZNq(w$xq5yaU*aU!R^->%Ox@eTgPp{VhQ5b1Pzep{KKzjnv4>f)(&j_&g{tqa zc<5%+V`NP8a84n#$l z(jbmTEHTzT94SQ*u7SX28YrHVlS ztjFFA$X^*uy}j+dM+yVa%4Y6@r2)c1c*;u=8$+db3vX|)$g|#3Pd2O*V!9-idu}0u z6B|09^6MHs{?D)0xB}ruSsXE(!J6s?oW(or@};4;BbwcsBx|c5<4(D!ZA@=`U4@lr ziE?^SQxu0Yaw@)<=&gV9ek@4qg7y4v+Rxtu%i+B&f|B!7^!aLG*9KF|>7y&1w#GD= zw)e96)oxV$!z&1zRSHrn9rtHt!?Gewe*5`j3di}bo{!cItyR*xpYH@akXYfA z13`&+%vQjs)ZY8XK3iv%lDMI8KU++aG<>G+!(~9gektAwA<~!vBJ%5;EF@2SY<+8b z#W@JbB<8!~;b0;JH~b7e$9(^x(bX|J((nQ~-U>~cAW&`af;=0*)+W^(1C1DeB4CD8 z9_NFZ2n>-*@7DfpZg1Px17SJ9ob@ADdrdV$tck)wjdg_>;$+fCDp?}u1T$p3U*Ph1 z*BcXOuGQ~>OVkE{UUaqNg;1q`u!BsKHDL~2b}2(a{K(9higAU*RN!2Z1+Il@86TmS z3Fad^lJn6=TFF)?+mCnd_gKXFnzB87xQ#C<;oMh+>n3=~fM*#;7%Hbr^pN$3upJMr z#C;c337;qq<>P9UD&((O+Sn9sLv|!4t+!*J=YVZy3Bw$jvuhW!X3Jaz6IXVx6^G~#z z9b#JhIW&saqBs{Dtw^0kr(pm;cebV63iaE!jP#|5Y3t^oG@=ltGZU_^SP_Ao)P|ab zbSTBH^w<1bVYGZ7WcyB>$X^y#d;Z_Xnmek)g;44#^BZ8c2ZS*by>Kpn)d%7Va2w-7 z5+9e@%xz`yBr0nE2BE8);DCdUHbx!}Vm`WsoUk1NbP3R$bgo88v)+2+t`cdQ`5>wB za8}B*dL27E3%?2Lhr!HFW#pts*VOP? z9ocV;gnoipSL$z0o@tAR6BYpPq|BW^9wJo4cEFBcj*05AjE%UGtZSaB&STfO`QjrR8q@ z1t96)2Bh@J%E}sNOFUW+2bjxqa7V%BKee!x6Z-Xw4dn9x>hBPpI(4lrizlpELT}e_ z4qIBn1ARLxr<;8}{qqtbo~B0qc))x5(~g@BnJqj|?pG_7d<@QzT_>LZ@jG0mSt`zumJwgJLBzthFzK!IYnEGg|FTI6U5fXzRlLD@5M$WXh2Mzod14*bK^@^TcwB6(x zF20*j!s2(vhCR|^S)8ATwVVW>HZe=w95#$8yMCy$go!<^B7uh8MXgfK_D;RU#U~s*@_2i#Mfmmd)y~FEvIN%Pt2*hB z9NTgdi$aa?ZH$c#=@sJ00*VdY#TE+LM)2On;8JUPok>NlnP8%z`!WZj8skO@j_G;dKN14(5E*R{|KMCbqs1 zI&OP^a*L`UsmIcYR#D^eRfy2EROC6}R%jKq!NA4E<>l6EjcHQuKKkPiMJV=U%H8Sl zdqoJn>(dYW?9_kptLf2>cGwMj{7ki@7T_fR)@MJIH7ZTd$dn@V@HqhsLyv_{5~tH^ zUtR)s`NmMT14+D4@ggObSPNTg%6qVIb1^UcHIG~BBwSAS6Y_*{UOM1psJk^1N=O30q1VO*wYA$>hQNQj#YGmS~!1t)LbNo%E z9qRFQCP?>BQP!B7jvG<^k~asEU+rJL3!VG!>|1+NiUP)tzSRs~zu}W26NxEXk(1JI zDbC89g71lqzB^1BSO^SJd0h{_#&rAk;z>cu**OKGaohxP+nz&!JCbgnqW{BsG!Qta zL7#G^s$5P5cpLaX@6ed5vE*W0$e&=TK2t7#7&upfl(5h0??H)oFWOMN7>eL)|D+^a zcT&VqXIt=j3IwGzF$X_sVL#kJtFRSW#>kea4c?W79J1731T(&?fQ|la^5d$>>Ra`( z&xn-9r_neuO!)Q!E69W%&-N29Q@%DQlTT37Ykz?3{j2i?%pm%$B&lj$KN=wd8F!US zyry{b)#$q!yKf&hrtk_nR6C;!!1=?oSNMWY!Fz=p1}H}cG6G;`$M-*9Tx^zFTh_q$ zH5z|z2pA(U7YM|ZdjI+JPAp@9SPn=8W^Brx0aeWtmWB5e#uJ{!qnEE+Tv>auckTVi z)KZg}LL?u__VD&wz1HlNqZFdg9G3nTl#5oyC25_*CT14eWPIF%_nk=H{6gd>hV1Er zbQog)G;EA|+7-&$%?MwMy--L}Z(3d)akJ7ZT@E~|2_(ieXvghy?AclR{{0^Qxh@)@Vf4cJ$@ zKKNCk5&D&}&F4(MWn^|%i#nYhN~G(8cc6u_<#wvFzil@JtGnNs|9tLYi3OF=>?}F? z3B}VFx*|f}RLX4#FNq;5tnZ)+H@`0**6up>+es88b0|1Kgtc&>_`@T*FQ`0XUdIF# zCs$BNT1&^p6`$IrN$#od#%@-6Vxt?j&cwj8 z>^Y<8r&(K(d;BFe0|J7xaTw6QyskIC$l?KQgb_vXBZQOFf_FVL7(Oc#?dayVO58XG z=&LtClj`#*`NV`c6WI4g!9Mq@H(sgV^W3}0AI&@82xh^OQbxK8lO6^ZlSm3u8^b71 zJEUKX@0QR74veV9@PFsJ^$khcDR|xKpB3e(W|(kj;)Me1v1(Y8 z4Kl=`n92MW+{f2)=IVjXfwutQql18X?Pq9R19B!DM>2`S%+0_bc&I^j|8+asbHUL!FggK5IoSSffkdbH@Q-~nzSST za=0DGBQFp3pu1mFx_WVb1MLlNqcadjguK~EHIQ0+(O>PVP3x08(B}?)@Q^2{M%9*vZpJvk%${58CDfjJc3bb*~ zp9NQt)dlL~wRbOxT2$go)_dvU4?5yjQ+UA%KN#F)Y)i`jY0VK4ct3@I)0sfG{BdLa z$05!P4Vr4+oA<`|Q75Zj-o9>Z$*_-h#rJ>k2{c<3cKC1 zXh)XJF^q1lskF27x%0hc0fxk^C!Ng)P(0PO95ngyku131V2AKs_IU~Kxk?7N+gIZ5 z?k7I?mR@(zc?BFDZ}8XLudk93zd@b8}r?mXd1td%!o)qJeBPJ>8(g!^4`ny?_u5u=^vcs^oAo3H?E~ zMasaMy|;JD&F~=LOu(P&(EdHX1q!8yr}0i#QnmrY%h`;UaC+~?Y|qzOh98Kcp4d^@ zIV+L6q_E|cfUC2u?*AL4~cF# zsBn#<4`$SO68cCb@9%;Ib9J$O=Ixy0ehdD}zBGMiblkZR$uG(u7oXg()i{bsXM%i)E^A;B=daD+`a>(-e{zEk|zW4 zg%duue9kxxK}E{Z5oON3@p_zb5m8niRO`O?F$BEe02jLxCjJX$9EtFi0RE!C+D+wO zAh5k*(ABS#A?p*eF!rLeT*L3Wu==)1FR~9YWP);-vOLo|qFVAD$2btDgH~dS3lz6g zSo)=^vva$%aYBk6q7S35KkdtRAog{p7iU%>{6oZr^`%}ZdU0>F#+XjAn4Mkg@jG?} zUETDMO&|pXnJfS%SQHcxfHl&I+5cMydH^8B|24i<{U7=QYf49 zFY0R?wxk!9Y#a%+d2-z_uVg>!-xKY|yD{+`@qwLpUr$;zNX3Wb_hqz~tCATT#BTt#V*GQ`FV9G#Xbd9M1)72wW11 zm`i(h+?Jb8Y74M9@~ru@bygi%AdGKM?Ov9>=-cDu#4~)AW`blnQ*|d*!-yoc=GTQJ zY8e5%4@90=dn!X-Y>?O0Gv zaTO_f%Tvy4KQ&2bi$$%v0k3#l2KJXU-~3-SsYWwXyAy;KX`vS>-K9py9XBM4n}0RXva*96Te+P zQV`3$N6+@|Su!=P{`Qfj-PDUMK7;#=RMj^)Lx}GJ($G$zhx&96q6I$S3U{do_`Ug+ z;`a0%wz(6=n*!X_mgW;mp#>F#PcFp8>TIHyEq#A1GARZlAEme%@<~Z;kX9=$?8j$p zXY=>C4OeuL^8nuHM1gCW&|E-j>bI z%(U5*AAp@K7l9`LNM`0gG&UHS2AJ9=* zZdJXmGby@Y(Og1dYxYXqS<*WEJF0XP2bV#gUYvZGWvDdkj58?2H&5_aj5%k%b+SUc z=vF9udB6%m;*$yLnV5-g=~2A&SRnO%Sa&*m9fR7S`TZh)FmDOkSwV>ZYwln{ z1OlK-WPuSqR%lggd%B6~D5AVoE4+hP$Cx19u8Y~vHnKox%D)ryljh+SWhR;yx#KMe zTc)l0lDZ}6&Kb)Q;n~?xp`)YYz6^>Y;aSq5L&aqy8tJyf019atX*|Pf*9azD z`m+rsr5~NZdvFI!p&`*jI8MEFM+bBb<|+5Gk}$9#j~BwAugaD2mW9D+B@TF+X8kpP z>w)wI;D3=HdoOwYBWNWel{oV9x^WyW^>r53bDh>t4As5AK5ZVyT9SMSKJB|>jk=jL z#Z%8fn^CkdjU1)Bd4rz>s(WIQ^@VJ^Y+hR850NhU`!S7r>5umori`ih=l;+-CgOQF zi%V2JxuGH$-?TZ@pmxUpoL5laXA4$M@+Mr*oVkNHjqGC-?Xl?$|5IDOXc|54?0-)= zv)u<9tio8Ed&oMc|&zEVy zjKL_VG8Nj{d3UxPA1%ZXSxRHGt=wJci4DpcY~V(_r&8X^35m8ryo}s}q$E14KXj+5mRJS1qHb~4tRQmWLF}LSz;LYd#Lf>N>4Dw5lIF=#< zD&a?AFZRqq8;H58H;-2w#v1h2;OFhV&^Hkgi_0MtWQJYAynl!diV(;1e{Ri4nnGy2 z9WUg0d5AF1U_HN%V)6Lee;**G?_a&&CCia_Jv=E)ncHI@WEI>JQZ7pyddqd!jGa~GJ>Ok% zKA$Le>`>vqBqlZuE=`yLVq>Mr!t^uotts~I5XJkS^(_^JQQ-|fl(g3)WMgZJH6^vP zTVMJ}zs{m`Wi1`u6kH||k{!{kHO@F6gFJHl)miTKq}zQaw(PjBs6u;#4 z?4y)Za&nlBeGW@IuvnN)Mn^#2rwr+-H14J%z6Y4Ci526|XQ=5z2RQT+4Hp-OQL<(_;4Z=S59JT>Ri8Y{Nf>1=f%mgWpCUMD^Fi9(WK1nrTw6GKlvc_&sMtr zG^}`^MO0~dw%%ho(-_+o;#(!Vz6%r&b2Y^)_R)Xg66a1Nt^AbeOg$IE8M9Z7d;5hT zPmMwp3r&1ngD_fjBbx-Dc#;>kLGdZTFh@lB$y}dmJIF(M=gIb}J=kzwe5{H4TUrO0 zZ2+!v)yr`pND-p2*O`y#OEKn6-#9&p87cVsW1^FVBK(6-Lkxj$YsL2FpU=so51;*= z)GCtP#L5V*97RFdtI+Ha8+mlpb9f)TWKR6yv%+|YhkFHHes%ox_mhV( zq%Vr2lt{EIH88oVKzMheR#5l1AO*_lUA=V1Cg%bQzHF~D19~Rq*Nah3Pk-c>^aQ;& z7q)VyXVQ24B@A(I>$nf_RL&8ZNfY~zR^XE-n;38Qn8HhB!xv3xZq%lHmGCc(wozhE zMxT{mwIQ%opBWbhgHsNk(&r-t>~BE*@MmssWO7npTQ}iw7EG-BhvT?){2y*Y9=u{x z&g=Ha1ai;I!|1+y(`(Lhn@{id#}AyeYpn;{{DNdztJwk@nopakMHMa+*rI zjn66Tas4aT-kY*4pQv4aWH$9SpnTn)^a2mDiOV_Ai>LojX+81g^!#ijZ2!j&cY<+rfzr;AAwQIJ(nbS&5|QGb)h^HCYX z36Rb~9)?k30g=^b&<^eHl1uxqg>jFtNMLu8s_9THu0{N?8O(sJhc0#x0NGCjUa0c@ z=|v7c!(5tSUCoSw5UwYjhy5ix4S-s>nvpTc|H^(Dew;KqSJ8JU=;z)pWfF&I><3SU zXc{4nq3Jyv4$DXFO`|jFmE-G(TeNO7uF26)4r4fOwni@#K!k$(Dl!p8XHzl+K$@vYd?2D!tK(El-UHx(BEP(hpt?A@27xHFv2c;-w}QnX=Kg*cWjlyNuw z)heb%Q`M>yI2l8T`n-qF@?O4>CB;&bB6i(2j z0s9$)xWgCaw*CYJA9Yi-md$G(n-0Yug%nS>QEB*&uNhqCQ~E}GxOs5I!|ZM zN=y5x8hK;crIK1{?B9l}d+lwj*0Rwnc&Q`!gYmOJ^!_}lSlvWLYP=#;NQcT0nk=5x z1|5)>|xasHQEQ687K*MO$-g0p51B*M@RepwN=GS$Z+m2Khkc=4z8l8`{Ca?DL!VAY_)~*%$tShqIH2}nT5r-A6){~+1r%pf=au2g@P0?(T)1Fim zj!Mg3FZ$hA(HJT%N8o z_39h~ay$D_V0eZo5+Hy;EH(uY7KS4Fwydy0$mXbgaP79&HiG{s07yx$c$XH0m;UF= z#V1WBl5>p}#@+A^_SL6ikag|dONY6d(2UFN4-DQSkffOCN@xBdOGnS-{`nfjA`4yD zdX}1|@fo3mopvwE;Gmeh4WZm!i}!w@L9|YACoR`d`^`*zRH=()MM@nG3QM8K&6#x_t&*5u{+ul{D6U;p7s zmNLYAvm~rQhk2u0>y`BT459>?MLKdKyCc~-%)5YIjo;VI4Su=&Wt)f_GK$j5V%ej> zp+V66vfB5Hr`Wa-q(~iBqg>{VEzd)z&bq2xeEFFA#Y0F zNp646xSVRbetSfE$x51e34{oGuCLX*sXv|WAf|zBPUSXHpL>`(8g8Jzl}FV6`(cc0 z+b>96p*pw9<>a@j?i?(VAv+h`(b*PODfGjctU`kJyEt^q_wlmma*rhj?y(PBLWysT zprDpTgf#Pl7IvA=^rCXjWUD9{n$WD>a>fQ6@6m(B%^q|UfrNJT*5)_{5Ql{+P+>m= ziJI8+N{;}QYXs6nnL$}WJV5! zrTw9Jjrc3L*Fr{XxoSG^eY>jdR;sDSh9{A1zPHcuTR7Cr;=j@=AlRVk1Au$Tp05Z3 z5>*l#R1D_?6_MT&ywAHjV`406an7V0*_+}XdDWBjB<6M^DIP7O2^Z;D`U$)D9S+gc zhXdrLSdSDm3pwH0dUo`p=oSy#A^2DG<+JD|H52448tUjnXs@F;+At$G(Bm$L?pF|- z+HDJHF97=KzIwcgDP8_qm|g6$J7rT2;O#E|k&VwFmuJ2{cWoe}7D%GR*$;qV7{oC+ z5(4KfUgN2k3{aor`M=1&0kRhz-JbGnq8-p$TrY&1ct3S?C|GTZUn+)7yvODZ#{uS9clr@l7}Pg1ZLO+2Y!oN#*> z`%9d!6d!tJ!YC+(^Br?7;J-&om6xY(;fg^ZF?zb8TC$#jV7x3o)=qZnoNb$yI>M_x zJ!uKfy=AnNK{4M`@)SGQi?lqoJUdl^?7`0fF9p986~SdgN%>^-bhhF;%HvKK|2v|ZA;vFI{bwn9vUW@T zni75-|C{0Xz(kLex!_0ys{)1!faZKH+?uKePz+Vu8pH5=$sB-eyI8|O1&j;RRTLV= z|Iqj3#xl#dZdQD;Ah`~O4i%1gNrtUR+a0`(H_1NIoB;wC-e?J8dN%3P?;0;wIhm?S zrLs~VJSqN?;yV^lQWU#AK%9>=5~Qr~Bb>VDI4_c4fPrVG--f;sjbXQMs74b}p zWvXrq6RmVlix?_)SvC0^cZJIc47=UCk(wM8JXa7V$aTcb{Ml!4k|Gci~lk zzy(v!eZ~)hHw16xOxh}eEdiT9I{FKy2vbvejz`@TxMc^q9k}Qx;`w)%)ZIzD7ykHb zrey5IP?qilw>p)tPVzy{Hx%Rat(S~Y=6AegX?A#6->QAe!;#f58pni4dr1i^I@iVNe-*OdLYGEkhQIPQ-HFPyP zhmhr8JuW10gmA^KEXFk)J=+p=S+QILA``JL=u`+g?Vj}pensb`hzb%@;ba&LOhf6~ z+1|cdU-T;1LqBn*a{zZdUY^cYf%Q4igsgwU>!8n3k5lS#8(XMe9+Hm?Z87h`4&NG6 zaXRS5Z{{EnJx(wpR*B~^${C7znI^s|DKw%xr*Xc1@*Z7iv98UdHXdDVgvrDzKhrQ$@n~qeGQwIW!)6w`1Gh0R6Dd!!bEtD zyPtH#RxJClg4n&~u!PioQ4PPE#$1}>bh%^MS+1Sp-W6xK$&pSnIJr-xq^0ppx(835 z)_~NnTUgNZ^u%LP4Oj&R?t+)s%G9N9Rwk7%+hDf3#ts|~zb_#t{oc3gsV|?6SC3D$ zNbn9&zcerwgJwJR;+jubM4$k9meVM58kvU>|GqHx(5rRFIlZi0p~t5h4aeRCV#PUp zutmP2H)_{R{4(M&YWl{13KQ^!*n^}FkagmFD6IhN+atsg*Q4dHLn9sf9oo@+cs)SAs*=E`K8#b{ zTK&6zn_K>^cgi9gO;70TO?C>>a(wzlSQnR7o&!^msVb>KS!J=r#~8IwKOM*o?dh(^ zP#UCA%ke}KA}a7%qZq?O#suf|&XadyPE^G`aEm?Jeb2hMS+eUjU)>O66l3RW;ciIa zQ`lC%s62{H=k)wI7GE0#XAJ+|=|wa57pW6XSMQAeb;;)E&D!whvA3B})WLG=pYYRB zbaY`JFDl#w18{KfRR~OY+F{SExHv{R>_qK(m5gSrh;A_2z3YG@yGvRH{iycH-%YP! zMke+?3QRFqh^7BhL61wI&9HM=^wo=bzA7Hm?HAhlxnMYEVv8?~){qMuYu#c=hk`r9 z=SGpxIW^W?M#bdqxAil`)*51rb&A5Bv`;=WKaXVg!f}#E3?z4u!+^@YUP?yh*ysJk z>?hhwKe(alE8QDYYDx=C^|@M+Vs>WKrECimPc=T)d|3}1g|)l6)fyEqHt1wsntkQ- zIZ$($B_Mv37vPiR-(mKh|E)zZUZ>$AC3ehlpU!FQda@ep=kzAg4?)2UA{j+&@HpI# zz2QI4l}KVv+@~ss=J0D>c9z0)8}@M<>$APrPYLq`dn!wo!?MDDbtw~P5{T28ZYg2d&!clh6lfS`DthD#u5t-IRY{b^FFTDvUh*;ZuV zasIww^;9dO+p#~_;TixW7{ogFA(6i)Z`BoHQ_j7_(>1wz4v_c>Dyo`-1}6%jI>Ygzh|HRs_;FW{4_jj$UWG` zyR9+2R3#-WmL&cz^+Au2Hd)mtKCYCpHmw(87@EU+fXITA6cCt zUUBa70MW^<(Oeia(bhbYuW{myb z4oN@3N+ix;=2S&09ykMc(G`;?gS-t15jH?*2nZg)EEI4$B<*LMYfQI>d9;oV%|57L zx=8))AO&rm+=dFH5!hatxg*S;KVwMBuli!LR#6ZR5r3Ng$EbEJRSY;AxL_dJ76%4o zzQAVffbWr6Z~M1e2&U8jFtZzvi#;KGIEEJUpCBB8On-yBvmo1&gRnZxtMg%M@GO!OIto^%b!$KpTQw&qZfN~vn6 zV)#irMkhaV)sT85fn7PSB~ejhsB zgFkfx-M;bJGy8bihz4(6Z1Q0g!mt}z_xIj$LfO4dTRTr*3{vV43LvB)gPi8V(GF7w zC;2EAJB;5NRG9+m_bIhvF<>!yBLaQiV4SX#hMIqRR(7AeMuP^yIo-~z@!2&6IjlUE_^`&ZeRRT9QG5?ZJ8zfq5dhNXT3A4t?`9kP>zVo+=6DChe)=5m@<(zt2|eO6F+!4@(X>2Y=*r@uB-gTXC&jyq`&1 z?!MCeT_bUs5NVpqHQ}5iy6!be7s(F|e`12PcXxMP>)ahF&)qPHO3Yk?FX>)=CB$%+ zBsI?vIGfVDM$dVIk@>)AH3NdF~q#rjX@l)-V=eV%)A`4#7vJ{ zVw63-B04`s1UO~vk8FK`=B{78${_vVL=8vM(zi%r0FHJv}uv1Wvx;utMg@?Xu z%;?2yT$l1Oo}~HHwJ;(3D6s9$mO}%3hDgFUMLgH=gX#^0poOfKlf96WVj6Um3!kha zDv8#fzAH-g@6DX?t?-!eAJ2xDgZMPe@u@AxLWN~_7m1}dO;7xdC6&~_>`WYcgg9wC znAs`X{aG}++`PsFvaxc|Po^%RojGizRVlg^J_Cmk=OYx&)Q(5Euywkq+q+ zrAwq^=pm#YK$@Xbq+x(z?)UchUjI+?W#*chbDy)%-fOMBcHTLu89!mu#OWYkr2 z2Qy~*uO!e3IUGC@J+VsgiUweJ##?2Vj*YJpc5YsrCD;wfi~O=-+4RS74dtLf5FuRh z$_hvewB_bz%iH_|x_4uE6{tK~x-~#O!Lma=)uViV^acbN{3WmqQumsm9Vjc+(7T59 zQ3t#2FUacE&ZB@j6Ztdib&*U(8RH@yW|9}rKgf6#q@3ArJk1)GiYh^MOa2z3vrgkn zoG~TpUkvmd>Nn>Zb8)U25Yvw)v|`=cUnOo-agWIwDeO4dO)w}h3+r5WGdQZO*e6&s z+BBaTA{vPHJNpr$cvM{zr_PlgzMV1gQkbd;I1$F+o-;yBIG3!+@0Ky>Ox&`8ZWF1+ zq3$criKo(8T@OhDMnWorjS<+F`c<_bwlh?-UpV}hXl=8n=e?8w{IP|(YewPuSghN~ zlvB@^0(M|zk&iF;HvgASbYeQ0Ayz`9A)A+pxc)$PS@y7N}%~Un!=Q|7qG1> z&WBxd4KnY*?YG0xQ8$nQ*x-fL!IU)MIy;Ke5OV8*W`C~qyUe|DTL%I$#uZ$5=#gVuws^G-+kI_F>{I}1&CFKy-f-&6!d_;Xe;+uT1?698? zl=qW`d;Le6_gqcaXX?aEOKtJZhu#&Ddtu2g<3kgRS~u@0V{dJ3Ut|V8Q$%XT)|3+r z_tr@qFA&YAd}oWjn^Ylx_B+YCU;Qr9H$Ztp`LU$>rQfv7L18N>dk?(%^Y&e=><#kW zdm-&zu&-w^?v@)G)@#_-eq)G`?W6pPnanE}?ANeZuai|Q5(@a-{F?P6o_+t$Sw&B` zhmZ<3t^)ZP^7mdoaLtf4s^jkFFLwgGMb{WT3%u0TO;|T|Ub1y+srZ zv&E1#?%1?x#f0|yHhzI_t8v17)j`YxF@S*Zr4MVz@~klcrS?Ex?V8`lU0(!_a`Ze7 z3gz{AjJ9T{N(zolj4lnLA&Vg#cMy}!93OXrdmc-0_}0>I`ahwlLLRD6^lu4eO1+dE&Kb?Ko}(xhGHX5;tPZ1x6jj zZtoM%aJkU{4Q}yU!2FcsnxmPi-Ol>_HuCO!WYe{q!VhnGpwm|VB!7#o7Z`F@2UmMU z5LKh@JSRH?IO^ulOL10EOKl(*msx?ay^-vg_%h=#keluR44r;4sB$;H^}bflI8x3?GPu_V2`Y|(VIBX`1m@+e5;Sq zruogWU3JMAL!%O__e%PRT1z&S+x5oqgRdq%b+$?)Jf4${{!%3EuRW3w-IBWq+0brB zNNL?V5k5=sed8fp$d$%VVTQ)XLDP+&7Ms_dTn2+vQbGL(BOiN7ehX=ooAxp zB$$i8t2%U#0AnjaZ7Xj~_Pssrcwq=| z=a;?~X>E)l1NhWW9qN<%ZI!_I{d4iqUopSpX1P-S@qTyFU3J7vcy%)0Us*eKCb4N; zyTtXwZ<{3M7C&P6<7lzcRBUjDxJhQz9+(mJa0|TRT@T&YnmkIB(H13I8;BFN`w{!1 zoQl1GjF8CX{0UZI-%&UtOG(-^_OEv%qH9FDfaK!(piQU1yJTT!+Ug?*>mSZsQ1dEr zXoToM_ejX>>?%Y25FdS(zY`MMS5fmFGvB5GsX9PoOjMWn{=f1&V}|c0wVqUcjNX}| zuh_k+sseWD(fK*QcE4C1*GJHR#S1XiqrZtnbignT%KCS)33_B!pv@rFfpo69_Uo~Tola6h*yRQ8WB4Qad{V>VBl z$1YY>yxJe^$R{F&f4P#(61ytm51uO>z41G@u^^pJD6sgCe>u`YH=~s}BiL0f>MOa4 z^N$XCPnI3X&X}Lt<}fIHJhB10^07-LccJx7Y@mp$gFx zm@yjq{_2Mf<8_;0t1LhQ`yOR%l?x&18sKoY%MMt_Z3N|qWw3t)-S)Av}g`K#O zK6*}^p?a#OK`tamul|guz}FB0Ng;|C0%-0J%tS@xng0Lol7hz5&VZ_X%Uzj@zW!WU3rzsN~&7Iw|yCG%_q^LFNKt1GriyVO3+!CnYh6jfX21y@m!?N?O(v5b+No zlibgqe6PsI+eO~ItC*m@%Zc^B)OcKf?KcYTd-e8!JjcsKMH%32NQ#i_RUhDjf@Y5H&euBRtU%UULp6*cB2DV@HdsR(UCU0RK*wPd8Sz2s?O1$DaRuHs;i+Rs z_xUPqPj9;YlC{Ej>^Sn58jO^`6V0U}RIN*C&+4L89&|Hza8RUVeN4;jrDM}N2|Jqn z-u10nhnIbD-G5PWV)SiDl&=t#eXhbI-gJ#PwX`s8c$ZHf>yMdm-XfTGbu^vUY zyV+6OXtl8+BH|{Oi;~6P2N!fyq9G%t7*B--fncN;^6Ed){3KGSZz;L;C#A@z8D#5C z83gbQMETG!X4zh2$)WHFG=1H3p?f%=o@<3Z@guF>wTH-Ekg}dW4c~XL8=OEGTZy|b zN=A*;-a|Qv1z^R@BNQ+2Vmd1&SD)%RalNEzqeyoqKVt1nbY>c=)k&Nm!t8U%vn$BL zRCgSAY{uLz<=LLla~~$UGom>ftRA{RtAl12skH_7x?RR9uuFSIL2^0II=tq zW^gs_n1j*DqM{+?p1t$))TTwje*<0~a?mG%h`rx5=%=OM!kc=Et-{T*aC9Y}Ki)R) zJODD%cH0o`I*4E1=KpB{u#CqZ;5xq^Q=xRC*2}l$h|#eL$9L(T;rAhxt@^}Y#v|42 zAilWf66_L_LW`?obARC;+<2((V)R&w`pwos>BCndD1!GYiS>0F^hzsoPqg_wA|oF) zd9+9NyL4k#*fy!?xislbvAQn72J{vg2g~bfBTw;w3h2)dW%1^Vkuk2vvEQ7+ML!lX zJUq2eOu-wdnU6)N>9zmZE32cT!A8lRr*!4r{P!vQiE>!PdPUG*;d48-k?VxTLzLU- zTT-?Qq%Kr}Zv))q>44QAL@K^_@j_I7A5>}~TwXR07#!{cEKY$bU0uZ_pbP`xKsTto zF?bk3p-J_L$?KXU?pd^kSEeU;8G_FW7O1zce>!!6-toUP`WL}x&4IS+TRY^{+Sn=> zQ~GUfhEI=EXf3Wzx1MouSk}z)jBF+A>gs|I!2k;7Rqg#U>}}!as-z`dw)!Lk`dW^Y zSun7l(VLNp#hBTkGkJ9&%lsfZvEXc@lO>}0sbqVfb9w8cf6gI0#cHy-2xU;D_md3w za0c(u8f`=C+o#9}yp>puo2m}%qE5=2b5Xo#mqZm?iCjHTeFga;&bz`622MsKb=-l! zhX+-1bj@$Fn8q}d%2FJ-4AB7#b)S#GlU`Lj(hPIy6OsxyTEq;z>PcZo>IUb{@9z`# zg-aP-K0^4xgLtA;PYpCDObcpxqik)|7KaT!JtXG_Gu|%ex&zR0;gW`y258y<)_aWW z&X)Q^&$qs#Z_SbTz?|DU5(&PJ=PCS~5WKy!pGpM)o{mdJ8R2qI$p@!L zr;h>u^?(duaO!X$R^>49dL4L!Nh=wI`Qc)gw+CT+ehBnI2KX&IKt(n1YX__YSBnxy zq~ab^)kWuM2I&3dPms~18UQCB+HtJkh3KmG_OII3S+oDh&#nCsS-hhZ{Zz%egh&cG zNBSLZ=t`?K4`-~Dj?bNQ;E_x*erd^rkHg@W8#P1z%Z9J{Fe3B8%ZLs8t}+N0b9p0^ zN$ZrA=!^Q08$WHdJr8$j%Dtoo+Ab}Ok$a@Z!~-W$NsesZ4v}-tr|ECpD_P_jb-{RA zxb=?cT7+JS8o4u|@2rw)n^=Asu!Xqt$T(V+szoHTem>AL{h*r=%Oa=zw|+Qdn2qQ} zrdit-E>a>IB4JYzXQL)MT4u2-M$ks^K4^=oscj8P{F+U%9l|!Ag{nE9f}5d%wUT^L z?vVMn3AAr~GC526&aWFzCUF822GhixiR-UkPF^g4{+;o)ZXVj+YD_$Xdgnj{kYzJm zTs|GAkF5i*OsCtnb;!Y#4d!5hU3I%=m{Iyfid8^yEB=2eiYf3q0%o%<#<70dR=*qq zpUux(-SXti9v!Hx+tDztn4uFJ+1ukg@|9x-#T1jE&2~)m7%rvSlzZ5mbO1>V7TF}5 z$>^u0Ir&#{r*pT_eowd*%HlYCbI!HJb2g1a3vTriZxw(2$A=}sr1yY8fstt^n6K;` zV=Z1PLhw5$BSE)PR1uWhjWmcrFnD4i$NVNjc`KwVO#xRoxW@Q8 z?!+0SD=STIW{&sDK|f*vU3^kZ8qr6Te^RLaIjS!Ug>~GkW+c=+!6v*Z%@P%s`ItOh zxYBxFtDL8L;?NYc;p>OCyH#45Dgm<+w;>?qRFh`l!=Af1Fuj`p_ajh%=mR>Af%632 zqYpsTDWJADAYWX zWeA>#_!pj|hTsb)_y_Qp3#<7tyE*FvZOid$5f{c>(b3@ikLI@ac6+uw$ZM)K&zEzf zJ6+*h$?a7%09Vh;UVW3Js?#7r*M?CTqCw_!mps11294!A# zvitikuA3Q;9&9>tnYk;mpFxJAnfR@5^4T}ix7crA&~B>}-WSAU-Gp-8a$u&e5j0WV zEBPUxknz$d`M!`IHAvsP^y8yWkRvN%z$Kos@eJbUlco2T0Y7IbER9nD@=d`f^XJTi?@o1sXNxflM!UWQ?ye3=RIO7vR_Oq=bO zVZcP6%v0>l6q^y;xPkamCh6POAH0_`lAcP8)8*gHF}fvICo zIDc$IFLO`{A??pFj`gpuSy+k#>Pps)5W7EPe5i*9PV2L$}7sl||pf@r7g!EGL>BuQfqW~Dj-qRhMeL>)=iDR3 zcy7*cJwi*DKxZ^@Yx@1Hj4BF*q$I3a?pmw^vB`xaLNfei!U(Uk?pYA2d9X*@s+aS9 zSxtfat#jW^IO;mE?*XU#ITwu?aVNQpfj?eATPzucC2JhsyU&CMxAtTaJ3Oq5FbVZ= zsU|W)Z~&8z1lJ`GQ3AfU|!K=0PHCN}&rK8e4e zn~`5p2|oKMFlz=_XJFjyU^}VfKco}gwBy&t>e6Jk;w*U%R@V*=dn<65E-37@b9f~{ z|8v<@&LRCeNGKS2<}A4Z+RAyc7LZbq$6)pQdDK7ok`$pzU66qDF%r^J`PH>{9`^%h zr>;t>Jz`rvLXVYy6B*f;p%sI+9SG~UskgTFcOESIARm)%&uA22(BbK8QKM{F`UFfV#f+|o4*y=uUotNGz^lY?E)(AFS7d|cDE-#R_RuM#;baa2{6n}NmkWt|JI`g2XZUUJDq{g}p!aXg|j(B+2@T}JX z%WLC2R|L>o2_&%PLPp_1kAaKJy$jenbb%Iuq6KsBvBSINV~Cw0f^`Qv{wf<5*RNXv zP^18E-!U-s92M0?urSCq#%RJ#1{%T9zKt5{46*obO=gM;3Uv4X((kh>XO8QJOkm@! z_EapE7T=B=WgF}bM6`x?iEe#bGA89<={{CAZg^MxWK;F)SUGiiL{Wvu3$EWBVwLXJ z4@$JU?F~ZHoljypCmKHdTAKM;H{#7$RMqXPBgDOPbb6pU9FcQ*}XytR>F`xL(Sl_+hQP@8<7+d?qRoO;V} zd(U4sL|cbmzwfK3DSm@&ox&%W)zB|=c@nDLR@w6JaH<$>| z{*?egrH42)mjYMf8q&09g1Mt6^CW8PCH;|&-Fv}#VG zqti#YfDI_-VSa9|$5j*jE-pq>GCS__?>P@obhKmreJcy9ohRZMGWQ)3XGlIuPliI; zKb?Wa{I6z)bpzchaEjw6pPUqx+KJ(Piv7s>Le-)yj*tXTnyr3_s+QpoLx1TjYbV{^iwHOw98^w9?H%Up=i*;gD4v%VGDEHZka}QyAGYi= zp@bW8+gUR2{5}66Cr44gZMUi_3>>Kz6J07NCr86!ixMOz>Fzu#J9@t#J%%vye6*qA zOpb6*UHI^zH_S%hm9m^Udvpa0Th~3Er=j0o{})xt|M-kZ@LuzCTF#26;zj*w$#-C?Dz^KENq`0W}*ORbbfwrzrQQWrX1)! z=GSd7Bz4-A!(Eo@S%$b~<-e?_{RF)CegzI79~ii^wTVY}T9 z8WZs)%EOY47ZSa;P5fHzDm#b`{dqnXQg2wx()F;`NNaXQU;9t;A1>X-tj~0(BGn7} z-k`)&e)xq|LC7QB)!t^Z2L!>=16beaM32+xY9EhZZ^|DSRuL+NNwkGQr%Ya0+sVZc z*+C-w*)?x*)g%*pOK4DR{gQ;ni<_}PPxF^Lz4z>>6LClwfyfzEwpi` z?M>W7WXBPqs)dD{l<(MIXHa7CR$6yg;J?gFT{|-U;?5DPBvZspqjA0E@AR=G>&<=6 z%^3kRG6Ojk*omrrW^b@92IO=iKDJt`^5WUbS(E-Kj_B6}zzPPT8_GI>+u@@~rRf~b zA65Q!;+Tuzjq$}CR*Uo0tKvLFPM?G#FSn;I>1(x5?Jmb=3;SugtrmHZ-1qfTT*NLk z)XE=C+E8ziBJhHgF_&n==uq>F#FR$?dhabyiMoSN0E(?=QU4YZK%>#wYmke9D;nUz z1{(^9g87U0z}96lZz&Hz7pP;WZNRJ?D3$62exqRLyY1ctW_t&#`Aq19fBczSGv*-s zQ8K8t1vxm=nprgF?zTE*%}Mi6ECS>#hZ7h)kylGs3Sfzb#x8L1V!Q47?tJ*r7@J4= z$5f=T_LJY-c<~XwgsFckjAFt_o}}YYXjO!LGQUg?&`TzDD0svXl}!j-RgVV+tSeTFb1P$ zk@S4VB?53?Gm+uk^VC2K)01RTSe1Zz=LcYZ$a$5oe^V6wl`RT|IMl!P6XV7}d4OU4 zZ&y@kXz>l$L-(f6T=m*Y6zIOHbz6ttAb@se%$E_a(Vcp^HE6m?qi` zmJ0YB3zNOy+T7fvQ0*Jp(mSH|1*@c{#VTjXY}XD;8Y-2)?ZGqBcRCsu$OXs@ak;>$V7N>6Vu+tNV?s>v$BeS5L^F*;O!CT5*dDrxBx1s@aYpKQeR~Coo2#ZHIwN-a+ znoDt%$rk&!jAW%2*iA+aJBny7m5>J*bKcsC(!9dv@2W8f(+WKqo#Q@1hB^_RH@K(R zt;`iKq_aemh$|^%#^78gH|^j8K6?RMx7xBsZz0qs6Aw@b9N%cbh-D=mCS|t{c%8vb z1l;XUdPt+YNyVLW9%LZ&m)skB_{vfxQwUcH@Zi!+iUNqAx$Z|AsJXGP9YPiL7O zf_EFHmFOK#x{G8I;{o2y+zTG3MOW4Cq$O<2ztm1_>G=DlxS~prL9O7P`-#C0&HXZm5Aw=hTXQ4`jO#!=|4HVQy@nKQ*(R+pI zLtnX-L*Mn}=vL6VF?9C8NA&Gn3`CZ*C|-5!u5_Q9&HU9#!DQ$L_FqPkz^3kM&$YRU z1}a`69Bpptp{xiTaY?xObB=HJGCwD~6m#6`SJ?NoHW(4ME5FB)i&{^d@U^a9D@gzC zOLM%EqHvuutgL(RP2IC6IC)!Oe$TgXfd%HtLH_$U7X!I~Ynh8v8W+!deuFs!#6U)r zM@8C$ve#b)4z0MTL;K=xiVm^uU~UXZk&<5aXo{1f7=G6o;zytLJ>I18G>k7guEJW( zGe7^kAaBCY!A{FR`PUk-k1{zZ;13#{3jW=yg(|H^KyT~|yUMw1cyPMZDoT*VkyS=d7?(oh@AhZF;egfz8< z5H7L%z6&NIL)vsK(%080;EWbnzz)beCtk=P*; z*DCrxN^Yxia;B?hSNOb&s(epE{**}WikYL0%v`d>=ZE?b_xktG#OL-j!{zY}H=Gt{ z=7wjv#4L}^>3$g$p9KYzV^l&}*FYZrW+evT1_CF8X3-VxD(EO0XwmBX4Y_>j+61u^ z-TXAz-9XDer@~Os-~|Mt4=kbW%+eBg#`5by+{|hm(6ig3xpuqMYK=c}`|p=|i^sq9 zYCQma&|oaOWh_v9{8Y8wTaHQZVW`)VP8!O*l>TYHY`A|2E`F_LlbN6-IAC z%9(5IU-Fq%VNxdLVs@Gf;TEz8(Z<8aQ34_I4T{oZ{pU2RA2KB{@~ntC3fC#Yrbc(>EHRW zFD%f`ro^8V(c^!cgC+pFr2~t)`n)|o_4dS0AlFuD_~~ui(7s_pppddcBp$zZo$i(! z99BEkaSHRqv3jIGaHEHYRe_?1FyS|?c9;tDsoI);cu?p+hDZUp{PtMmSopz#&~-^4 zd@Bp&EnrpXFS*~Hyr3rX;&So8;%}f2ZjU)TqWtSCM@_}e6ym!M+BZz!9rscw+Z)Gx zPsSwQ6QCcW-%ETBP@!`Wf`b3nDo1a|16%{v^prI8eeXJ*Kq0d6&c4r#qUZb&G zw62PW>{O=>6Qd0ics$T4C%~oC)UE3r?tmY^E)?CtsWI_a7Nt_8hZ5uv)nqQ-tuD60 zYTDtBE9sEVL{~aoJ*dR`*m>lpB^UG!^6BvG3DjFI4<_x^Aqt=dcl)5us~Q&s zohw{`BxG%36lEOneX0*iy6<+B4Qty_?16uHO3{Kb7CnwZd+n?2e#J#sBs}6PI0*ii zbVy6yIJTH4TjV@YA;Ywpog#;^t_=SXpJO-qj|sye-ws+!Zk|yeH}i^}83x#=LW58b zZoWO%tEL4NCP5(+)x0qTg42Z-Ez+M0RHZUr&P%<<2~PWXXAo&8XIsSYzF+(%QiUz!q+&p|HBS*6sndDg5) zx9WJ>s6DS|+}=*aBQbQjOA!g|*A29Dv1iRiN`tV&&`uQ1@eEN?pG@x+n_KA@{!jQH zycH>xwUdc$T&I3*n7Rk&*a&lrSKo%Y%GM0T_RTaU77K*BGm7O58sPQ`-VT^DV0tSc z&V=tq)G@t59$656lbmgy#>@i-d2MvUDcoELN&>tZbGg3q2N}5~^!PbRhdSygeie9M z1Kd>oxyJk14~?I4k3OmK@YTo6e5qPGZ#e+^V4mbeqYm}MY%W2@XusKGU8z-|^&d>* z^BbTJFEBSLoxD>P5AxXE+beT!GP4w*=Xw|2HuJ9k;35l5Zqlr(csSOtgT_?9Nt;vc zM1&b1?^=@#ESMQFs@PJqC%h&<#OZqQl-1Q3{r2;u{ZbhD%ya~&NZC6h6AO`U$(Owz z`A@Xzf0en1hxmIc?8+qjSJ<8Sca*Ez=>+`2H|ryUD+pXXL$Io(;FQ#1*>^_ zej!u~=r4{X63voV99mDxU{4 zvn|{YJG1v*hs$2dpqgavufhKGEM7q40siB(mHRFy5VQzrN;(a5&mzcIH$z_Kc8$V8 zA$dIY zC`_U=PC#8s(i2qS5h1*jMXn`i*tsjx1;~svzY{l9ucGMC?w@1s!btxx7I3%u7yY?X z@g7~%8Ixvr25#yiN)kG#q06a%IW?ym{M~zju8is4n4$qPjqH~L7H2hz z^*Diep!aQ9l)S47I(!pW=C`ybjp3K$MXX8#Eg2RFI0emy_)$LU%Jh9IEnqryd5LY!-pnZtHP5yTIi_*MYwMzTjEK_ClEXhO#+ z%3pDEPL*O)5+4jA-8jujOM%dEZGK@RjCf**%=xJJJiSF!+V(2bwNoVY!PV`H)}`tjNN;YWEWV`xyxg_SA# zDtJ5?Ipr+*6{H8-ma9vJKs9gDMc{MLcX)lvb4ay!W*t1n3PR<`$L}5sp1jDgaj0!i z<22<-*njY1E?IR>W5bMG&xLJ(EvHiKf#;SBiR#QFS0c@(G;27)pIwJ}ER4|5!1A`z zeHSLn>Vf2pGLwWOepq7ko63$ra_@Ej)HUI>nu<51k2^Br+#1&n`JRi~xCb5Cq+w~^ z$U5(dNl5Ep&&N9gUDK9d1AY~ML2X;66NJPxV^SS};c2M0drjV0o~X;B7#>5y$C@dc=p z8;9C0-UCTN4crC=v;{gu0Qkzl`VbvEoP`1&UAwgaj2OC&{fyxOl29ichO;OCrv*Tj z!~juxpkxWY!ajWnw%J91M;G)Tn0|W;p6M+=KIiOF2e7QAnF`=l?Cp|dxyQKCsWh?> z@JMC7%Bb5;@JZ1{`b$c4ozeSOgf9`S+NlJ}_@Z8{v3xPs#~KbD7IX#+Ml?8|T|%{b z?Y@krMJuhD))@VM(^ol9lz4Fcl$K)v$Q7D@ez2?#F4)N(vLJ4)F7c@0?{KwT-59dcvf zZ!wT}cNC+8XU4Ixnb)6T(>CkS`Is6cC9s@feiCel7Mlx-1`7TPq7W}KP=M<`JXOJQ z>zJi zbDY28t6WaOgYf+r5!U^k4EzPw_N=Ho4scG%RH**@8LkhhZYO%$&ToHJ!&JY{VJv8 zA;cb072(PaN53?3gk=jJh3R^HZasc)rJF7~kdnv&A+~=ySpDWehuhf z;=_Y}oTe_&G?=s0Nxt{(FpA>L@zY8UtQPB!%h}P5H4AvqH7=|^dbHHa^ZOBqhEIar zGB`krD(Nqn^ez2M`asNX?+OW{@FN_VDLxMte(wJCMT%~b!GPTt+iz7OlWXCqx(HjBJb^I5s4!e`P_Z>|z>awv0Rv~$-ea)E_2+gTk)ldUJmPJfq>EIxhm|$D;K4M)cSft+G^syi zRZ3xvnCDGlVpq^tA;aWvyW{3RrNtxg2$fBLefaCE-Il>xPUAg+ZQ5V|%Pueb0Odzl zy<=tC$g&E5)it=|UT+B&V7-8Ez04qdtS&F3FzDxo*NK%@7RoRCC=)pJWky3n0H<~g zgFc)39r8_Z>qCsf%EWZ`3DW*@@L%l#L%T_4Q{9yfK{Me`G{f)TTjqzoA%o)sEnsa2 z^Sa14L(?RsCSdDbR|T*$o!+@N-D;}-_iqROoOh0hK7aQTq(4Cg`Mk4ayJ;1h$7u>v zhFhG|e{WsmB38$W-`SS$@*eiGhNlPR{1Gt-HOhS#*jr^Yqj4DC7ad9!Vx+{wLBJkQ z^e9r5G=#8I%+i{hZ>UCxw7urdZKP0h*0xuVFZIxa3KFHXH5bl>b42YrM`~cL?*!Kdxml zRot&~UbBL;Usjs*fp7gFqYUL?5+dF?lgZD^`wu+MAa0m^Di)p_y_@i#)1X&NAV_J< zJNv5di|D`L@cwQeQic1V$wz}ir=^Fp@NsSQf@0&@dVk`v(gjJ#iOT2=gz zof0_DpYt6@PO2G1psoWL8Y#GP_l=w7S(q#9(XZl}ItQ$Hcic)i>NMO}Am!%IWzm>F(PPI(P6AdlQj5Mj1<dbL7sl*4s5^9_)=Xvcu+PiJl?%p!THgv*e7n7wT@ z^yiHm!zdZ1%3>X!3^JUfZ9*ES$o4LfMvA;9fM}Z2zBxf!^ulKz&AI9W5GKIt)!kLE z&)qCmv1>C)X;t;*Z3pHYPyc#gGCtbB#hjR`4kOeb0x#)2s&S~FH=OkeG+Gmy?u+tD zr?DXZB~oJZV@mM&zbj&%`*96*RAbVe_qO;w1%Ki1Kl*Fz6r(1?xtpqq?Q72d+DW$#Rq^Ms5y~^wzJ3!m6T(+FhmOFRJobKc zer>Ydvos+sS_d7vi+8EnK;8*F&wQ>>2RSFxTDe)98v`6VGErAaS?G=CvicGxiY(nzcJCK~aOZ+V>&a3o%pe@iYg$TQwh});Y+n9STP$qX!Y_U~bo=ZRM_s(LT0S@-T{K47$4P=-!u{ zK;NAg1N#ya7=n9&?0lR0OoM9ebaNRTt|2Aya}g|F$n8(SuA%XrGgpx2{2#RhdXwiz zM^m-d;v|n)=!7WKK4cA30>Xykx=J4K@V>+MZGY_dtUVtGlB}7iBzeD2Br{O{d3+V+ zH`R}a;tvje#d=~l*6*FZ5N_xW!wzC}_9mF&p?7DrGBhTAZC3Rr#~yD{VLv-GhCB0) zb}>?>PE{1$@ygAXoj=f)G(t&F@*>vKnJFdcEzwX9RMV1yA2zNf?5P!}tVaLG23_fN z>f=Sse!WK&y%582J?pY2N~l>qX!-jB3()c(h5eM8uajBiFhz>6BG6VNY}^XyFbHQheREynjS#2`ck4M;$=gcz1t)*i0q#Y_5`o zalt7ub?q=I{Hepw9w7tqA&-E(FL(ZG1psZ1(FA&qV()$!M_U@ zo%s-D%w7jd67}Nv6?iaE3gG?L-aWM4NYo1e+0hmOwt{{~3SN&ptbNQnwVF@$ZvICZ zAPS+mKqp|5knb$kA{%5k))RyS$Pf<*nH;XG3ICcAMj_3915pD&lMxUT4Vo*2@WO?4 zK~c)(tpXJlsCN3cQ~vNDwZ~iiP~*wwhDI7WZZf_-;rf5ofkDcjUMXMnaX$P-L|P&7 zNM$fL$EOEgzo9|>StnhoCR~MkV?skdhfHX$e3kcBy!0s~--OU0cQc)Z2LCXZml1Ma zfZM4a+#M-IP<73Hb3uG#<5@|4|B>5~VS20V_zY$C4Hu(L+K)8tNf=(Br`(FUr96FX za_1++g9VX$4+q>ObWMWlXaR5$eA}3?*;`lib?9CS`F@F7GP7sR8ZuiAW09YI z;zo2%h;ccwUWd-bbxP*_=wx)#I2A6l^3h9eqQW!;58?*)BQYsI;FU_CN#9D+Cg zk(!2zekfzLxX|FK-nUo&ZbQ25Pi&`fMRA@Qwa$l}2c*5xtD6NjrSGpnt`_%CsnEtX zcCwZ)z6o8pqvtzd-A2jG0vdDS@x2!2c9wltUJ2itD zFW|_dDn-MMJrLl?!1cT}HIPsG#l6e>oK=1E|3}yZvWr`cI@*qAQ&n%a7EEPRUB0+A zRsORQbSuU*MMQ1?>k>2(C|;sXtrlPX2Uc=!^+tlQ#<)X$^@w`|eqIA@Dhw(fBouTK1c$*FF~w@r86`#X|KP3pJQ@9p~QWtFh|^lV@{8KjqO!|Fl-^j?t+Yq-@6G7jXzWUJdOCD9*%_e%gA z4S#?*f!>?AV`OV-S$uU6M$b4$G7k_Tod|*d~garyAG0a0?~XUgON7LUxZ* zYH6*li*hVYS>=&tXMO%X>xm7#RlM*&l*jC^UUNN|(Bf&*=6;jK(~EwhqTIbPbDPSD zV=mHIMPK;Y=tWr`-z3NJggXm|h+}gu*~5+I%9Nb~a!-zkfU}6K_OKg!fO2wC%B{lp zepjLiPCZ|yrXZ3zh1D>uM=+mu7il7$#xL-Wx9HnhA>NnR z*DoA7-+l$bSNf?K;GNSk#OJe})xKi@s14Zy$d0GY3k}rcH<1_4XP|QL1Mu`q-3ADj z4+C4bSE0ZkQS&?4?genOSFi?}X2Jg% zrlq}U*5DselYKJ|x)|g{|EYWFr8aL=k>>qR5UqEjB%qW!#WbcnfFeookNc>9GwK z_@!5;HfX9=7>I|Pn}V&{@qB#2agGh4BJ!sr&w9?1d@2K%&Se^S*Y$qAkg{+Xzz z5ahEvo+7ct&($J3eyXZ)03$aRNlBGfG05UYosuORJeNdcY=}Az&TCJtR8}UOcqWpy zPV$GB=7C^k8E4eo?33i5kGqf4(321$n0*g|EnqM~Z5MeNo+INPU762{pb2NeBO;x7 z?xtkiG&NeYn(d^c`2)Vb^zsLG5YCSb_nDy$b=63OV3#`U*H(%AuI|wdLT}-((+tc* zR)%*za48a<|Hso?M@7}WVZ(Iy&@Iv_(jh34DlI8UigXJ|jWkGyfYKqUbP2-HAq^su z14BtS%)l_`JJ0WX-}f)pn#G(o>zuRqzVGY4!jV z;n#)$hEax0z88b8AU>j0Pof>#hWq!!j)JU?sC53DM{jKfv6Rb;OTi3c<68Eum#2R` zzoY93#tD;;c{d=LEO}bcdb`E}dn9o#R>zSzCNvMOaiGBeSjBP_z4HlrG0q5FDUIGc z3;ixTR(l`hgaPMgK#ijD^3Up+#CX_Gw&qKc{{&G=mF&7tn|h%B+W!r_TlS#~7Y-a? z*d*A4s;V|DxDJPAgZ_c9si{F^Q-ncPRWfJ%Z|Db4B&CVk5bs!`^-I=Izm9!qa7&_= z*B>`_Zohmp5+01xSN~_ETBX9|iie3p%ri9|VqO1ZgLB~>9-zu0nWm^?pDOSr;Wv>8 z{gfzP0dl}B`k|`|{ohOdq|oMGEG_I{299~h4>N&qEXAwn$8XC*;4yUjKhM_13A%LZ zGa)g}vu)3ar|jyJvZhsH4?Pug3kFA?WOCf_6*!j~38nW8rq2Jwmql}1d){j1Zl6+| zC?Dt$gKn@bNhincf6x$WP(t^oOa48=%1!IcX8-z8=lk0$PM}BTNB0&=>TU_W!@7ci z%@omDZM{PPp(x-sr*(_;%OYALNoEe(euJ#CcM~AO11tdI zfL0G^tC%CnIsJ>P<)oIx(}E>~FwyQ+mpkQc7_Eb_vwe8fqK zPmH_X5G7|@Xg>VHZD{-JMnfT;;x|!7uCI#5HHYC-i_|wg`<*W+$url6EL^kG#N;OO zx=c7SubvR_xPGGG}KRuMmEf>NYHlQK;dtZ$8f?l!L0$| zUtY}jtlhBxj-Vq)%v08taA>M9+>~7vkP3>b=T;(u z)?kYtpshTuPn099crm+Os8)>&4P@37IRa;c0sY--8*-t)MC|nqMadL%&hS%!;Xlb! z7Od;;Mr=g)VZr40UB8az>y^OHG7czOd>AyBW3aRoZ_Z#KdJ?uYx-}Or7Zy=%h@)=G znT1);6d(RBP1gJGqq?E5tImTomX6Hz%_dDpdMr&*2g9fA{~qFHf0+_o4p5n|OPXy> z4TGMFe?=2TFCJI>WuUdajxPEQmNJyu8b05}5RcVw7ncm_TsR4<)LOyLdhes?gEvx{ znk?_gw8{f>aj-bX&O#hhtqW4eP1qZSnB$}pjS@enJ2{*@UazM4R60Z@7-C)zN1ohB zq4xt!0|vKwlIT#BAsRHw)YI_So%u-EJ)rh==h=^^95P6cM|$^r?*8Qh+)vQZ!*GAI1{%=nVY7YIB(r zkC=_;Hx`9Aw82Hem8)rs^v83kvL0x~bm2umH0?IzHpttzaFesX;1) zh?M*r*3)UG^-5#Q^!Z?AUI`-Gwmub_A=ijm zX2GfYVhmsOnrR)ZH)DpHc`=Dr+;M*cAZ4gfWplvM*m=?=O(OhDn+ zeXa8F4^W4nLRpON$QK(OGjxm-GB~lZ6#r45xhOs%ul8YWfBOILT(cG?3{KZ?m{fSV zKz)b-#WVQz%`iVGd`E}H$ud*qsH}-T*D19wZPvdp^}+iV$4iRK=Or#{)Q7coPZrc; zFP=k6sv*u#RBf)Dzd15$>Lh{U-&$IpJul8t759FnZZv!W`&_xCWc zVl{F$zpOu9@1$UXDcwF>{3K=(*t^`XDB-nEvGE!<%^ltzIvDn`dO~pf3SaYVkJ;#9 z4lx6yQR+oiBn(VP;G{%Too{N+X!#ivQ$a#pUNr6oVqR^$!MMRSQ+v2pGe-MX$XLL$ zNF7bt1)3>X#A#r(QGc3BzMy?bg2@TLz)klEflv`6L4kVS?eq7bu)#?>=M=g0C z(_W}@V2@Qp=!gzDs50#}V)0LlaFfF0=+hMUo>=fi>$u%3_Rj*Bw72XdtE8klTimNn z9I6Y>UKG3TksS4{MKik^*6wAtPYlu>y`^ zDyhh=1RE_xnclRJl4%e!|D~aeYNnW|bJ*x1%CUVxv1Pu1Q>jlz{c?hVMOt&ZT6QkD z@!iV*^92}X58xe5Q_&G#ZC!luqoKBoOo)J|sG$}o@yZQPorv9}^lKEZBVW`h(kL_0 z?CJ7OVusX(6wCdz?~u{!A<82 zpJ}4@%<^9sYulzqU{q}Zy&lI5Sx@PY=llILH{qoDQ(=_~EyTlDkO!K4?$H2h#X#1= zT|f>P$h4}1e*4J18{9hw4eyYgD4`R08ViS0&xD!G;pRCbCFtt(TCXxP4%#jRb{OwT z?LwIW`U1)d3=}V4FZ6uk%S83yA`u{WWjEHURPv7VHRXSf3LQJZc#cf7==5R@Q-@mop#`8(5LpM;6o1LI;(A4=Y-Jq8yY#w$_X7ECj(buS0 z1zL*PV@ObF()gjj&fBWgLnPn4x+C7m?*5_DsYVk$)RN2mb-clC9JWNR^b{(MgkqLF z3VZ)^XK9_>vc*>HhKl~QDf4+DiIibcZpCa2}}WS^=bfCFyF1#O^x3Fk?vg0pb)4p-rtbT(Q7$+ zk$>9!H)AIR0o;BEOt{#lPf$JH;=`aK03sN^ujD&SNzb=JfU1GsyEoR#{vN<9Cn4SZK9c zTs&NO@>xYdVjQ1k`YL8}NearC{!(pzF0BCnUXw_zN%8dlV~ZjVgC{t}&JPT5nqk>1 z_w#+0O=ut_ywTvxM+RSvvdg@-`C8+pZ<}I*Pn||~L77}yXpt-AmhM}RL*rY_crERk zw_Mfo9?CA(+JnGxd&ET0%dtkmamES5S|96K*a^asz_;mR&&%!r92=C2=$? zuS1QRlrtm)+(|9nI6j!;<#ZI}Ulj)7agrhx63ZTe)+ufdO0 zUR=VX18%qfGXM#i5gXt-;c)%Q1I!I6gcD6k4H2|R&4KwQcjYHwZJi_v?|d$=pIZ&; zU9H$A4cZ6NXLoJi9wQ>}!EZth^-8LL}_Lxzc*BPWG z=5^LNqIci1%UchrD^C8EXw%6OA82dgzZDtB4JNmQ330wCuVkCjIM?1 zI6@7!8Txsg59Ib_x05Y6qg$SsY-e-&gg=*`?}~M%l-7TxF4$kR=47>!94E%}(CSp> z5%cMOgsDn@*ZWJB4K&KQU&b$ zpm=gsv=r1_gK6F%d$P7WE1V#cp9e~o5-XsSsZ&-o8Q@}`Xu>kUC;B0uW`0f1B=*i( z8BchC*h?-#IzQ?6$OE#3w-6%jJx)#kCQpk-D_gypI?)o&k9lN$f8V@#!7R>GVo>Pe z=8q8>=l{T4(z}Qr9NybK`N5qI`)ro5>|(dUyuZ zBlukZtn9OO+}&RM+126r7dBA&@s1j!75OKJyfXmhjo`Qhy;-b&20Xb7<;b%>^iA65 zdfT!V2N_((#^7&8YDD~A-6Y*?GPlV`ULUotK|5D7JaQ935(DB1U?5g@<8kI2ghE6C zyhSLg9kZ`RtBJ^_*47Q>0?wH1!OEx`U7PJPw#TQ>X;e_Fz=hySgMGsRne>@rwb8e$D3ktrntA9V;Z%snRs5prmB? zHeY_*=N`?-B+Ey^11*u_f9c;BBNd1SneoyqX2%R{$zHORAIwJD771dd@DNpDJ=vkq zW@eDT$qz1`d)+Z^k%Z&m@SO4ar9fCx+=FgTd!?}+rmk)t$zkH;7fA#K$%b0Bq*~LK zZet7{Pihe_NpDg#PdcB56U($t!H1^bPlfaqsDSEGFoomRbfk71Z?)a@o@OA*LL2gmJ{| z=h)8+p)sD)IpWkK?yVb#exqEyT)loVdLC?`=0Xsz+Sj=7A`yBQhR0SNOE|2UqB%2vr>vHnXmK* z-%!~hNGea*4(zTBoP7&p zOClI42XVhnohHHb8lCK$yd-Z-{%p5%yR zUH9wYamYM6-53J3q`P2rKmi{QS6bI`N0K~D7At0Jjx}71MuHWhRhmVd|L)B@B7Ip@ zQ*Mv6mwi|&jZ41XC!Q&*h)5f?#}TcceeaTt-x+*skKd;j`Q#Wx%t`P{wki5;#CT2a zX}9fjNrULKei4BWuF9ylNMXw=tAQmF8`~#&oMybx{!gC4Vgtd?)jShE?t6XJR%r}Q zn?1h9d=IFMANLY1=EwQ?%I8x`UG;hfq6E8$33q@Pf>Y9KozpFJ)SCUSIie~%fsMVG zRf4ME9l}!-aZfl`fT>020R#v|NK61zl4l&744>Y?uNfu2r<|$ z1VB6dh^sz+w#&g~`f2yjv)7vrDc=}k%H;aguKSe-4*k#_U)?Y;`@8b>YOCzn(%|=U!fm$2k;Li?thkYLI@;>`+?5)S9xzWP zztZaqRqSajMPMkL$bu`h2153&ZkWk51eKJ}Qgl>mI4tIgR&8Hk;Rd78 zu>2)Tmy*}(Qm)wnim5l*JwjKR)hbkKyx64^5D8kY?&Ys`K^z^X(e*DBguP|mL!z^N z@n7lFZ~eW__E_TAe>*Z#zpdQm7JP+!DZ^5!^x75vZT?CYR2YKo7rGT*aeO@p`}`&m z@>XWEU~$@L^v{*!iwJ;s9|CBc!xmh32Y^t0Z;#;M$`&t1m_AUXzX|^~3n-mPqVrl)alg4T@f zMw6VnViu_uV$t_0l`d^j!N{E!ThX2_2(XH|_Z!L_%F5OD9-Qy~XSb3v?$Ea~rIQeS z7dokEq2NnmLb_;dy_~8ynmEm7E^=nvIfv&! ztjqjKU*xm;dESPaYG<9rzr2*Xxl+RyMz|~PY!W^FDk4(` z5ffbyh*pZ7nZM%5KzOvehQH18jQeRfgwPxeY)yIP5&@;L#~m2ouwB z$g&}&I7rDSW%Eh-R4g)30i?I@tP5lUf$Rv}4Qb`H3UrRQwb&x9EhEx{(WKYDRCi{6 zFdIp!kh}#9i~=n;krMgmL5#^mhB%GTK6$0eEw6u8R3+XBHQrTX2=I!If#WR#`WMBy zr`&iE;<31q_3J;m&v#>!m4SgMwPn!!4HX>9!?k>UM@P;O^#-w)uo}+R8t`U(F?;2) z)be7TP9}U}5PHw6H?rCIHC__Ro_1Wk^6{&mX@5>T^Q?-NxNVLkOVM;b#=6W&q5F2|DJpRdGk`dAY-aPFgb!~68DP^@5 zP0#0lr_|GP&~$??JiGSkyQD2P59Z73B7a5(U}0AJX9gD^Zf(lN+M0W`T_8WlXeZ^inbA2p z2Qc>Jy-80(a`7=~9DwacC?P9^#_bCd#)3Izte&uH!I17w4y6O7)<2%|gOKx|eJOtr zc-L3(=m$sn|M`U9-sRtR?SKx4A#ljMJVNOWt=kh_%l(l7%+tV6M?bJl2n(mYzLc)D z{qtn2l+b89P#nPvV|Y|KBst6&9xF^7UG1V>MU)sN8rxbgLhA;zLri+dFTAj!N&js- zbfTmv9A>(v0q@v zJk~$F&Bvg#lwX}lP>`H1tO{?HhWzEQxlpz9$+(md-xhObNS_`*1odz8R#4D#=ajr2tjTiD;ZWhr z5z4hS+SV`7l_}USXe@ccXg_R;&@JNrnfS#kCy7&N3IGT*L}Vx5kHJI49yl$;a(|#SFw!GyO>Dxhq1#1eZ zi@WKI0t2bV1e}lqK`cMBS;C)vBI%0pV5bQo!#2jl`{Xd1DE}lAZ_adkP*M+T*m&rf z=M7`-+R0M01*-sa=^u{ttYnVx8d+uD#ES)4e6?l1aKbsAXBhr`-m?O0>kKm-lglAF z#+MFRQ#cV+fx4#awv?`toW4p=^*^Y(S}vfET4W;~%XxG3jD#hDku{A*x#Ne0T7 z{7$p2h<$T2`F1)vk@ugF;s|7Z$mE=#l|frN#j`Iitox?~nskI+_4!#C+l7~~O5JeF zCKWyZ)T?w(da;yU;kZ^AsnT_a`2{rg)xexLg?v}&-51PKC|@Ek2BfH))V`ixYV{~0 zQpae^tSRTy{z1psIzLkY9xF8sDTn>&hbfy&odW3Hi; zAp%=I9iE<;J6oQ!$x?sLds(GF5Hm{4QbL56#S)uL0>K8$-@T)=;(*&t>Pk>Nr-LV8HC{cqDn`K)ld^PW?? zMz6C@+L7T7!`sVe+IS@I244MZF+uzaPvm2FEmIJDbA%|ADZ+ds=IPAbq!zsyj#$R3 zZ+%b~yZ^~|x)PNPfJ9%hem$XksO*q2uNh8(jS|j(gTc4##e%yV#549W5Y@2W-78x_ zw(Uym@MR0Hf=-C5?2BI(*9tEgr#*I6Tg`-7&@PBXrC~d*4E=>i2f%p&@bDD)i~_C! zBy^NPx+rnv%!2kX<#+AORS^j}pZ60noEGNxihp{Yd>G18U`H7cE1v$M_&4E26shG) z`0q+o!JaZc2DpO*CArV%(8=6$NP4k$gOxXrR@Y$iyD=fBkLJ5xIP0Jz4mtmcK~Yv^ zcCQt$|JI_iGCSu_JTOXWKoN29HO_wk;=Q?Ca|Dw&eSC0_w476K9kYesC=0Ht+Yp{}Sm{lF-D7xDdQ@_Woi$E)9m&-K z=5aj1D>K;o-yA02X>P2M#U-y`qgzrcwxDpLFZIyB(hlrxBQ+bv90ABj-vRVxt@y5s z!HjL`X}sF6j~}uhalQ&}CZrwYGNfy>hZKt*H#EHSAV+&?O2$qg<+)p<6DHp zQ1))Z+s|^(9EELR!!QB4Ug(qy0(26w0&eElC5o%$PLf?6If8_>4zF&GrBocNfTKZP zz-7xR5;*Z+tyzZ`v~^4Kw+<8uvYD*10sU<8I{(Mi*}50B-G_HFp%l;q{w+nEdb33=MU!jV*7j74IM1#p`l2 zX9|(u{0YH6T!@-tq?nshpvRiCTWi1*p}$JnOY_OwXbrX4pZo*Inyht*lrx+jqPXs&KX67{S2wIDZlmx285?mHif?1w$%r#xI=RCkMs zVn((~jymw8E%A4sV8q{o@!Mx=4fre+UVt|q1{HZ`hfcqtN7mYk3S~(e zVKl@tUPv+eAe2vFX8Q~yu>;z%R&10TtI?M~S{y&`fqf}ZyE8ee!9w9m-^j=}0UN=? zXuqR?wiPhf_}R^%v+jOOfUZQKc4xoNu}p4Gw77SGmhLr3vN)ln$DOS*erY-spPcgS zqi)_)J+O2v`U5RnpTA#v90dB;7wbmkgBlbNk>_GQqWY*=Zl(Op9`@7`=BQgtaUEGA z1Yuw3vhpZeax=NYy3{&(jDj6>-sQ6nd5HuR!^#A3xlUfqSj~5J0LPbhe{WSg#Ju3c zR}y;C0@w|~abcRTak(_dVkKw;+p86>lYhm^Qhz2lpizGOFrL-d-^d|2A7b|D(+XX< z(Hh>j5AmgfxorQ&Voe`QO*^|(J`tq2sfz6>93lYi3fm zFXjoA9t-`Jp{KZaIa&)`P=@L`|sS087q;7&@nPzi?OA3&u+2R+krLU zdJOt%@6S4HKaxWiP5D?GEwd#V>zsfq?Ynk-0>4eSB+%6TXDrYjGU#x8LBy-Uv%_zds zSnt#YLPnaw*ALm6Xrsudgrq#mP}IhOKa+mQaD`3a>Y^=W^44@rM)2V;+g+&C9(W)=1H6Y`AwMwKV;+uBS% z%qFbj>yLk(c%2GFYwe;`6m|J3zKgL=qD-hRKkGyQa1H=WsX7;yJ%uBN0s{(KBv@|I ztu4NY0lwPxB!>MUa-c76cMZ1S`Tl*JNry?KtunTuj-zWpre!_HTYxmGc20Q^I7dU9 zXKSTDNN?Tiqyfg0YC)1s3hJ0a&Ifc1b3+}QmIO}P^{pvmt(}c*p^XSy8VB{Up!sZ3 z_g**k_!PCAm$eCo+I(F>x)&c(o3ENtxwiZ!pryn>Il%anK`8b?d(Dek?)}S~mnPAR zl<}fi9rCm{vmKG7vCH=_`3DwkOg8Ch*L|_FiESgeM@}o^kJn1gJxP3}doStuOgyrmNk;Q^IG&hWulVYGoTp(-^cf)^rPD}b> zvqw6!1S0vt|CACE`T z$N8+G_`nk|ONejBcTBGwxzuddc1pIot`MRfUb|v^WH7p(4 z*DoFFyt{K0z^tiYotqmIPHU{#SIY)>X) z>Yfbv9%V4L@w$HA(su8M5&=$RFR74Hm@r+%c!I8oge{Wzeg5Z#Z0Ev-yTD0XHle0fr_3T=-(SK$y29psAZ11)l23t?5wTGbtFw8E zGMy)!mHWmhI_s2oGhhC%F8~U!@-6??${@jD)J&@8%w|Ojl-`6VwBFQl>^cTlDFDDd z@biz&DWd2K4r?Uq(=s}0leBVr{F2EAZ_n+0is7T4Y1D`HimAe1Zp066cJ33>p>y%} z^xmAyUp+Wc?^D@2JXJQ*QqBKR1~`dgr3!TWOW)6%7P_JHhb3AV*H0Lt8ugf?!B|idnpzwraM7=l!+pfKWJ* zSO_Nh6iD6xd=(K9l%aCTy4VE$F&~~bb-p_Y(k}|Y5N`mwalo(g-2mTZ zD&RA&S@r8KBAFC+`aB@XA5WRghYj;QmLrig0`Q;(V3S~^PSyOo_{+fWI(Y#j6_qQ; z*A1_0nK=?eq1=BXWfrY)$~_xbE-xs>|K5*_cdC`hu=~%=L-Dn>*lS@Cly7oztGINWS`6p2E}F|EO5 z2T2{N_G3Ce5p}grmVq~+Xfzavpgh@|6B>dL&ndpaoX3@j#x))TrhqsG3IWfepeRuA z55o*6+JaErUnm@fZ+!0j2IuAL!S;V@|!22Fu=vl zWSR-eQ{k{0A38y?XF9_KycZDgXG8;FF7Km60RIg}kn@qZN`b<$vLNo*zJ^P!cXoUR zhB=X3j=X2*zS{2xTyX@m={1FKVsigxKCLs%AI4%QkjMRq5+Gys;k**4>o(N5ACE;4 z=;(RS8^PZjr_%8DsMO=z;AMBkbHQc@S;lW2JSK+^*90{ytz*1-j2A6UIPcFtzGo)& zr(L(+ss80V@o07*zB1d$mo)m0pDS!Q8P1$pBtu^>(<0@CV~N~7Ja!0&8hDk&C0IV! zSo{?<{>EHh=4@AV)qv_rVHUy~^T*HpKq0qb zJe`ci;ymu-u3guVsbVO4zdh3V1km0F#>dG+!3LMuhwBtp_aOeg*Tkg`&C@z>AQSil z*Llp9{|TsH(T)Evq+#%IT)SU4223=X67w2SL^p<j;0DlL~e0*q1meHFAayoHFL(o{MUWc5?>CSgE?uAXZ1kdh5Xmk{_M}6Gi+r zLpqU7v3g-A?OE}$qqCtZ(^49A!> znv|B|qZKBVmUY0ywBb?x3!UTB8cgUME!RCgSUB&2x?M(}1E|Kg=hrhdz$<@4E~&0@ zel;-sGH57rp&vTCux7Rtbj_gvh=~;-VEK<+kRBFArf0+qx>TMoed%B0_}d&mZ%*D_ zQzz?ddeuwXI#TkI=h z`N#Jt`8?Fgh(qhFluiucdYsF~Elb5rk0;+ri0cHXf86-j9$4RsOwkTB*u_gabw3-( zFYk30mtjGR7EY*t+`X4edza?+h&Oz{+6Ai{^ck@==yjw)t{+R8WE34e4tC#wbm;9q zO!|4EcDE=@9@!&$VbwX)ENymKZ0mMsNXD=H8IT?(Z5{Qp4YJ%$A1x0EeE<32PX!qU zR*8mnVIHaCQL-x~v}vN6?`U({k{7ojhTG(JRn;-}Cvmlhc6Z9JF;+^QO)+nRx)9!L zKdQN35Z{@qZo)Rv38!#jbQu!*E`&U+^mGIT_tf%*4%%*KN4i_hi6Z3e6wbJk0cCaY z`*$LuVg>SCAO}&5Y3vE6wxi8 z-Sd?ffnvbDLpgo`A@=-}5SM}8$1im0)p%=R+8cx8(~>r(Lb%pc-=$2Pr7Ok-P9In$=VesLFDEZL-5j3?Xz|42^9DH==Ck5!}h zQgz`?rQPReH25V~qzr+YC{3l-P`}t={KR3`0@8sWi!OMgOd6uV&CNB|hZstZG|RZD z@ih%`V%#Q9UifvK@Y>(WzNcwOg)v|w*wZ4IDI1;lD=II-B30#Za`>^Si&hCYj$G<6P%ojiFXE+Yqc>vVNtkVq)% zLO`@Y@wM zj-$zc{%dN~ipm6Iv^wDKCKKn$F~GU~mf=Rat|nwPP0Rqr;o{rRT5unK!U#$mzaAWe zBB`pnT=?jH~DLRm)~~eQ`X0wzbKEAWXyGLq8m( z_jCsC6rF!$e!g{NI+b@vBh1>*;GSJ~O;R8~DK-Or^p7C%2F=yCYO};;t)1hq&xAYz zNweN6$WnjAvCMHDnx(lPU09R#r*zD*NGeEcqoX>p8C~4au!wAFmUk7YmMW+V-Y~9o#RT0)L6=HC6 z9(qj5M{$tEFw72YjKq0l>53kn(nJ8t78vCp-~3DE(HaP7-`9XC_|i~<(~%X8Rpf;l zSdEW-qwvkWLx-ILXCplM{~G$5e1Gv_b4TmCIG<_gns$cJa%w zRK2ZxmoB7n5EYtTbniqDyC(fdhazZ+L1H6Ait{V2+X~GngsEG=+2$@<_}-t=`U%(3 zt}GgO4CBzuam344{NF1~4QEVd-ZpD{&672qU@wGicpsD&>#;un-6Q?#K$8{nEIDr- z%C8tF^tk?wEcjF?Fp~^XS^bGvjI!+9>*0#T7L6$nx`}w-l>ysdv|KrfP)4y44{eh zxZ=h@?KYG@zlKU?kmEf7emVYVYwHe$?F@o)ewq~rS@CU2PE^&>F?$@qQ1gLWIxp2Y z#lB8Ds<)=*vt;37(am$bmZa8a&*s#+e@Qp8$p_JdjZxDH(dR3jDR`I{2ur^#RLNao zzyAp*ndDhr-}26zY>Mm$ET2fyXqxQTSSk?)`ZdR_5E1odr4(VTIOiY|2m=!~orAGy zd|K+0_!nuoV-ZIsL&>v+`nF2=P0Fcr?Rwanc>Wz#PZbNL&YHB9YR^oErT+W$p# zisYSfnS*Ek8#K%YO~!pRUn3Eww2O6Sshp7x&uG7?gpAc7g2Gw7xH|s;I+iUrmcDl~--xmk zR1CP;M!j~@vuWZ}#);ZJpd3ThZQE=>Kl9>zV{naST#i-W# z=rB?E6~AqXc*_#IcD64J;Zdh^>>f7OQ(%@g)$ovjzo?`vR-t>zSYTFWWCB1kzaE>t zZMGs!A^$z#MtnHZiIW}_bjuTZx+-?Em1RYN0fte~AfI@vpVuCL5051E-9I3V-j@%`-Gmu>P@7I)A7ZL|F$P@;vzad>(Rv_hHVt*<6%9eoj)mnvjwmJ*$GO zhvbV=*5D4#=DsbxlfuK7%%Og`S4i2Q`UPX0^*c$G;(jgNGfgT@?L2vxOF!EPw-gMhxzju2zQ+bQXvcC2z@b zMWOt}k%ExStp*J$C?fpt8- z_2tQ7E1++GnpNjHm>v;;!=CP9vOG0F+KHfI8#6h3CR`b2&w25I-Qf}cJql)B6;7kH z5|;hV(ti$5V)*#`hb3IQPEV(zT^s$Jg$Cp=TFn{bzO^_s$gSOvmEa_Yk?ARHhk7Th z@Oml7W?Mqf2jcpXG1B#O30MLS zRQVHbq6ynqyDU-+x{b2($oAfnCS9jSV~fH`)Y8feNINGZ&YAMRJP9^P5mhgD>W$IO z2L}(cFZCuz+0el03E(TgzBTt8kv@1lrezxgyzg$2j!G6MXtrq&c#3eD$~#Q0xFuf) zd}YUi+k-!P3l6s>9=Lfq9vXB#lC(PR*KP$Xz*e+ad3ct|yWkttWWA{{wM!k715JRH zPlKE6b5{Frh7!k1XUZq>KLkqqZeUF4f-+(-9{^8RR7@N|D9x)@l~nTX4RDU0$BRzd zY#MYNTO2i#D=}>b2DY)GJ+|GzES-@2s4yS6fSKv##(^66KzLbDRPhfqP;L8u5Ud$oY6qXhbtg{`y zQ8{>8pU@SFEakDr{+nBEj}_6Xk#dk;dvG; z8_J|89V9ToV72BCyIoOK+7-iF9I5%^CH)O~YVCnA`qL|kkv8(Z^`45?PR6^3`8QCf zM;)sqi3~hRetqfWB zXC$w``(QiV>`Gj3g;bTNDC+vr%{G2kCds2pxht|1w<`PpsQSvNIJThM!8JGx?(PIa za0?{3I|PRbuEAl@;1VE6aCZyAf;$8Y8r&rWcV}L6?|0w#-s;87TJvL=)2FLy*WOii zdP18oo36euth7#sn45n8tI%k#bUp0F|;Yu#Y;@|brb>jkxp@zj}f$o_jz zy>iJ6dJf-?g?C_l6sPN9FpQ3;xYadJ5&ovphuuUvVIxh_nV&yl(JijTSaT}6RGTo5 zaoFZ*xQf^=oq~ni{IbT+l99~$;LaK+J;dHJ~8zKOzmB? zaKTQ(pm0tA1N9D95KbUs@R{w*Lky zV;np;lGIQlp7V(2hW*Tf47x;w(x1v`gJ1-59N1YoN?h0I5IPtc&wdd6;?^u*cvHgr zwh8~c^t|*-F8WmtqrGWEv>=U#Nn%|s-bZZAS$(JiCNl}IpST< z+r~K};kJyC$b?Y=6`WhT?pvu3zG~NpK&$^9DeTGdcyoK0ZMeJv zY^Zb(bHduP;8c8&>;dL}3-$Ahfs7}qKqX(bc;LRhKd|`rnv))jc?=)c#&sGvuz>}m z>+mt3Y8-$8#`3c`#R$3G>;a{<=+&)yMxo&un`_O0>9FMnw14#ZcQ%e%-7B0g*C0jTv<#B7Z4h&Pl|7DH)cX#FMjE%z<~I#Qry zlA(oKM=j{(Cc@N+qAP2_4nLt`5L=4aVWS{P9YFb$-6gG22NGbmGO6=jJ=eCO4Q7gtj zn_;@j#&+zQ9mofFg*=bwnanRoZp3e36z9;djJ|h!&p^@%w&GWzeX)FzIH=yh|T4kinYAd?(hJ~*b@`egB*lm zR2vGuNY?%D$4+RRQ z-`%UF0lct2JJE2@dW}e?G8onWk{E-o<8Zj!<1`!}ToX(m_k z*)Df>RMo)mX#xa;n1eXe7LBtLdhYP)3~9IT){5KP3hr+s7i}K(nCE@3dMl=qH%TGw z^b2HH-vfpbZ5PhPI7z3A(zFzAEjR9TrxTb6%mk@aWe-X9^UlK`RL^5VI=qi27WnRQEt%KH;pKeJ9B@eqg*Ts)X`zl^=I< zGf@pF(Y(MNrn*2{o!B`605}!&0Zkfl@sMbLhSXHU2+8;?qQoj>F`}_9HDcJ}cGO3x z%i_^gfoTw!9bUW_u=;dG_pH&}>Scy})_Wi0b-Kc8aErfhn?4*ZSinCT;ZPrwLK})F z>5lmX1%`FCHTS)vf?`T;PkE2VaF|Y-h;FJ+vbBK=u6!kDH#IgKf}t1p`%mJ*uqn4* zN9etQ$kS!Dv(LTdSsU!><7S6JC)3h&tjYpDtVa-CZbKw{)7*S>4VoW(cvE_|dcGJ9 zllfcps9flK2jn(Su8-|&!0rLAat3kDO@vZqif_~db>EzcD6A)tO1M^p9IG5f9D1KE zy|pX|4GK~ZQJx|DHS>mqAWKCFR#PZ)K+>O(IEIQ)aN%>FT4HdK?JS<7_*U~R|fI-@835Eb>jdpk~!FK_GinI z$^g3fs6PZqK@4b2StouoLaVEqu>um?O$L;%ol;Cwynvp3zZiEiZ2XAMCEn3}>Q=#l z3=?z-h8f2JjP7sG(+ytoVl>CLOYOV$GzoX;i-(^~F`yR;)|*j+Kd2Gfu$Ro5-6nod zR{=8+y*KXu`5xmj-$`HH7x1)iD@1Ur_Wi3ZYy5MZn4uEcxAcRR_9~?5iNs~NfNYEm ztFEd(orh$btBdXRT2g|&%@NgGI(ck{4Qu>P9^0x}-TE`F>Q0YTc42%K@R+?Pssrce;Njz6BYpq>h0VPwh>mFD^pg zvlHR(yi>`zXbBnc();P$3=FYmPZMzh*`QsAHhkIlonfZ|VlvCUtB$>RSE(Fs=Y1rT|OhU;! zbQwSAeN}c~SV$NUV2bF}uZZRvEx5JgH%6DS=vR~lb#!C^#?%jI_rNyYdM_`1O@U0x z7iHy$_^NXu?P863+tnDuXtc2%ELP$-d^_H+wA@FoByx}bv>&=wO)1*Fn+=V1p*8%l z{P~LhuOX&u$pSvo81@f?HT8b#Q{tfhPkcns30vecnZ5F zf+6WYY3Yf$Uo?GmKR6SSUViv#Fbvz{UT>s&B%%B+7EMt9|=ho zb{EVB3S(#5@C#NH-z|(wa}>@)ev~ww35wpYP0ka|HHT0y9K76tzE_TZqqX?g_q}gu ztk&v9+f`KURo*0f`JdkKDEj?I{%;a2#UT`t*!S<6M+eRhG*8&}x0YxU7>`tXAXhC7 zKt^y&_OQGPqc~b^QK>BFhI?pv0g27*;@ExJih^C1$uSJtL;IGPAu$oOzrVWK7X|jb zI%xJo$&btIf=<1DSoYS>N|hWXMe_D?$&BHu@+nX}nVYm!6_Gu%0!bT=>-~ zOK_x@*#jt1z?&^Wq`x}CXa zGi%3v0;7AzI>J!{2|)^#-^B#1MZfY0bRe@uO)CsS!A(0lI=W&5Z66(B0W2rTNr1dY zzw#%al5VB8Oo0)|`&X}5WsV##>1EkMrhB)w^bVVRh(C@*BojZP;YZ}0X|^qbHHUj? zMHNIDd&!n2fVJI>HS>4e_aU#w(Kw@zIjA_ zTywV-M*g5Njow{8`i&m%>j(j_%a4Z0=Chj_V&s;;&V7kHN%q@E_>ic>v@B4B)x4a`e z^OE1V3&siY?5Jtwb+K*S;~w?k%n~0M9gTsReF)x5hGp3dFz(Ke#N@TAj6sr3iKFaP zF(KqY1}$)V?Cah5BxL=?`xA_jne{l@e7cCi;x93QG@0xUpAryU>pF{H`#pG!3xWM4 z-MK%Utfm*}s-<_q0F8a>^rq__U{$bF3Mr6BSkF4h1beM%!J+ZFLa}Z>N&P20$f(Vm zfn9#7i1OBSwkG-+`(tt^HLPC;~&tB@89wVjH_pvLJ;t$xKH zw;fJcoyl_Ha=$nj%Kj2sGBh%NRSEJW62JaD8D6K$ZUL9cfN_SIYmpKp>j!Z*BxhJ{ z%g@NWIgrmy1!v-Kv_=gCKj4>3qc&S|@4`c_(iQ5Iujuis8CY%D{fY)2II;DlJulansHVVw-ky94Ua1@mt4JCSdsx;x9< zvMk@ff4_dU=U_?CfFyMQrp0y_(;>Iq2K2*a%oT<+5-%S8Sg=G7EO1V^~Hs4dCf@vY|KU)jq2cp%9V;i9keM>=fP800z|A#4obqd??D z%IFWgA~TtR2=mxN#4%A3WyA%i;3Z8ev`VIXd22H|>yuPRFq;1$^*y?YT6pg5M!9xg z?UH=O(V?c)q0+@3tm+nu9KsMI?mC#B*)HgMIfB^i6F`Jm^Fs4LQN^xDh8R>;?e7SF zU%rk0d^>_suz{RPbg2b8o|1w*AXvjPXhn0nYlshOS*8GFn%%_NMT4cKr40e4qefMf zF|@w8o8vyW6QH)!XAK5q`&HG|f$;1)3QHZYvjP%LDE$AA`Osd#@@cG3Vwh zQN!jZmdhys&FJ*(FS@a|*bIZf&hW!u_c~Tv2)M}q?Du9z0X6vkdjC}1I2AnRoce+E z0mcHP^?ykL1Pel+Ee9aa%^KY49{d;*CAEQ%JyqX`hsEwr%CbXPI+w#vR44Ewfo#Yr zRn}|^hHVe*7~l!BZXA1ESNoEq-~){It%X6BNT5sM5ElXR3$tJTkouq4yd;Gqaar+* z@Zu4us;2>axaoefjTvmR59mUS3vM6sqQ+1?a|)3atCMH2=z^OVWF$dM0pptSUA!0{ z_#+Yxq&}NwPP|5zV~}M?N$7=qdLRxSxAF+L6G=>j$fXu2vo&^|8c5y8SCAfixp!ko zv(%7au;uc#bRk9uCpPZV3Ty_|5G@!)71gj(rndT~^gM7hgM?07>O3=vgY4WI^SeY$ zKBq~*VNJmSwHZzAKltq`lG&CzpxDDR=)isMac{}&*n}HlYD~?B5~D+BYJEPUm?XC> zE}H_P=A}*8vV)klAMkE2syB1va*_5M&Q|jzIEuiyw3hVw4z=F^<*3g@%l_*9^|^Mr z*QAVB{jx)?pDhMljh4}SL+LcFAqNkX!3WVh;8ypTb}uhexK|sk?_3c9N|fRN8jo~s zRckCv1mkE(Lr6k$t z4F(j&oYTZQYUu7B9yp-;pT*WfX4iiS-CHQyo0@BRhH3BUr~uH50t*a75sqr60S(><>8S8)mVan>` zAy2867d10G)Nwa~=mLxZh0HZ^)p564kOBHYZbxgPH<$YCO##yJC97YN+wbC#(g&ku z@n(jYREY4AsqQl$EODHn_2V4BZi@6?vB5J0XngEf+?7Uc{UzV2Qstsg4hfoV>q9GS z(92Rct#68?#%H=ISk`Fmt#CR@!O_&^6yWSzp-)lQ7wP2gK9}G#rZ+-($@MA*LH(;> zUMta*ROoBWg4$H{A=T`9<~$<0D3%wPM~-XI-t#r+vyt6z!hAn_#;Bu<-9OavK3p&4 z+=j1jKH!PfkG>v+ilYXoFwQ8`1>9FL0mbk$H!FAzT~I%Y2c7#R_!!4*m{0@@?fK1g z1QEu$vrbH+m_M_X`1a{4w%PM{FK$Eq#FaGQ0(#b|K{fMsPR`CWv_XCDErg)C<7@9e z=JFZVkm4kD5xAF|C7p82TD8pa7fAtdv~Y-a6;B3{>N1M_!bi@(sBhczWWhoX)kb{4 zY`NM^-|qZ1x=7uL$pT$0`O|`)h+b|r22#4!^6zefRr%mI^(y8}`tn_i71bfZ5Enu@c@WU z{07QM`3w>SyPsc!VLbf+VBmxG#d_Rur5@iP#Lw7-UV6U=8nOXlI8-j1|0gLx8tmz7 zWa~07x$r~!n}o@&Fq2TXJP$30rk)BZ8>u}4I?>cl!aJ?tZ+;3Q7>D3h88TMSfayYh zs5CQ93tnfL)D{jy>k4&ewXs68%t!lfG9->7vq6F+57C;d zdvZ^zsjbc((v=jHZi+&XYwhBgtCjsy;W5S2wJ^e zzk*DXZG4p~z9K>>B{E$Oha!^J8w45xNg5s+Q_MUZQ||6q5bt$Z%Ryhwnx^u3R=3QX z7?OvZ-%*?5eUj1TP;T`2h7d7w`k4tx?emZpUuo!YIq^G`Q1a4Y zy*&~E+Yc09X-$4wgwR&l{l<#+MWwL%_qjT510^$(uMYEuEqZ-4YdMH;Qzl? zA0FUNjH%-{Pv;T{nE~DwDPS&cV45KxD2B>47Ro4+3)H!h=aYRo*%>r&xC0U-o>N1~ z#n(VH3DluL+xn}1H6j^KM1aitq=Rq-C-NmRFavG4UL~pwPs4F23NOtz*Z@MW8Id*; z>dhh%iBy=7Fw`qk=joWu;f&{6JN3w_YffoH0k$19^qsNVCCPi|O!U&S*p}^hN@~yE z^EPZX7JO_$aGoc@AHGXJLLi0lH5sAa=%cqJ>XW{+&PZ8>ycDC)$yYDXncM?0GlQu> zII)|owmn*LB=)d8p_;BNgnKer3?wZMlx{S2!GH@|Z}NZd0W1d4`Ch@PznDRp+Mk>N z26m8q3H{sVaZHI777Xyi_mk@Yn@xMh$@(KorCvgOG%OOOh*1xbM#3!qw}ew5>ulCk z)sT7u8C-Y{c|XY(lj@UcG|ic9t!fK~kAZa3_@DItO0AkI78@%uidBxOyFMpa>e5-XYS3IB&A-M0IVgDfJ zyCyfx*1Kt~N57bwA;tf}yj<%m*C|5YxMOK#Y7HijRMsu~Qb|z?M%2#B-tX>Prn2TX zwGBb}!Q2C*Gq;MS)(dLb*wH&26z;2;*j+3yQq1O%lbTn7oEXT8|JO=@T!P>!O0!sA zNuK2)M>PXv(y__~6pJ8&h+3A93X-dUCekqR2TAR6tx^xPzJ!hAzl6Kw+Q=oO|>1(Af59q7a7q4oMz$0QP6~t;yI4tYU zn6!QJQATjWnAtMwt!&H$)a*TxpZYaQIuQMouVih0x1jnnH&uAnSy8-`caC=zn=B_( z9}Sa9;gNKf4V8BVUy$&9T^2*gkRE*q2SL(~j zflMuNDTz zmFh$mKxZ;s8T_&2DLwQ%YMtd#Oe!N6yiq54ORVLv(&^?y*5OoOkD26+I@$RF<2!@v zyMR%5f}Uyv=FIl0RcFG>Q-6EovN%@z|M3sv>97BZpyD^!XO1VZ7aQV0fsN%eb$})T zj~&a%MT-B3oo_w5|1^ zq07&Sl_ms8EjJ@E3&n!pXxXJe=J!kdqqTTHR}!yTM&G()RN#F^4>VX0&CmdO9xNvt zIt!pIRh3on%y`Znd?u2pdo`BuDGe)z(6(Ma>1(RE*(jdT=j5bBYQ~tDG(HCVM@X`~vhgPw(}pRgx@CmfA#+rHoME5QtHkxfU*z zgFzxVkYw|(4C=HP*qSjXq`~MWV**P^*ac0FI%N57#)0R?&_{8ax_cbpBlUl$LjEb zS_{pu+*3XV|6Q=4aOL=*vzfOl9gY?!O6KKarHATOg)UD{_%DNs*(9vPA0G zuQ`BG%l`MT5*WIEdYU?p0gYw02#YCWkgJK2jrgOq0!EoX6=sQm-WM9jBxZ81Do|$S zFK146L(f-SM(pU1T4(B51o*XzGk)EnD;Woa+fClR1XE(d8Y3R|w!9%U9(Yc;w5kMb z6WZs&`?=e%w}Iex($31XHOD<&H?)ld^$C z0mAVw*Z%uv&l2F|8W&IXr%=^Y%(|814h%zf_)SRyZ~W~YO}JR#JW?av6IL ze`6aNe(#u;*ADMhV@jjdyrG4*eTI8$AGM`0ImFK@9n0%Yhy0Q)Nje9|nJ!xU_vExYHl$Unya42logE8hu04k&g2^_!D9?DZZ6u z7z|bOU-ZZXC_w*V%I48EDBY}(@0$lMnhp5U)MTKX1VjXKYknSd3q(y|j`LW@OK%U4 zut$I6Gwh!u3U4uXNNMsyWps69no|QcW$8(?CWXmVBL1#&#&ufIN^}2EEKD4vjn|AC zX0MM|{HeZxFm$AIG?$Ag~cyT#&$YZ zp3%XZg}SkVzelaSq69U0qWvf&S_N*SKV#`L%wENMxZKdv)(fnP%f^syPZ+d*ZxuEm&4Y9kt3avq;!# z!FwM~UeXgD$h#lzX7{~3Mv8}wprS~2R4>lLvuNXBDA#wWML(Q}H3*d^sZRbNG8^I* zrU93B-jdtWh!C6$nuM5htfcUCA@H1Igcy%A5ZZDkvC_YA7@FWxs4uxWeO`7K zG(-gR$^8ETmFpcAPrrpjN)+B*4oD9JUU2@<{kiFbwGHr(p!3YGI|aUt$b*H9D&10v zliI&-O=X2*M~Jx7rP2HqQp&UfgMEtk3WHpbdOi!j<`0d&BebgJCexKjaD?n-<5A=( zEz!grRp`pGpB4^fqLbN5M7>)(W6S*-=zCpq)Vi}lt{wr<*wOC@tT~(E88ejwA>#RRB!>;3dSVt# z*tS1MMu*08{mG~(j2F3pSc&i9v~- zpQ@SVM3@V|+k0t8Myv-K7tr?1m*;Tt-CObCCQ_is;1N1&ciR0z4BBHQLWwQD-)o=s zmVj*qZHw8E&s6KKxdzU@XShR%@2HyUB9FqpUzaMpJ>ccSbL!W%8`Q@CqCoHpa{RfG zyKaU>A1+J&?F76uLg+>n56!J|sI@=GXSx%^UFIL7oQl&sOA)QJ8#s?Mer?ShV@%A9 z&#SW=2NwNIBS249{UTkEVRc^59|QGoGCF?BQx*kF$Ja7G96@YSKJS?Fi4zD?o~jp5_~<;%Z4xa z{DySd2qvoVbDQ6S%fKHqn+RWVO08h!LgmB=Y!o`TiHJnTK8I|+y)l$-E&;O%(+_W& zIe(`VV`CbXP-V`FlnG3jkW~JWXf5wBrDvG1JC4!h#hm5A36Cn%2N8Qgw^cpnR!bRY zIcEAj{WJ+>AbMP#kI6xY*sYto_@&B~AcPk)ayHu~w>EIc4cF~H=lFm2mwfo2C;mB$ z;$090Vjt}B49YK;5_d1tfDxcmM>?1E9goxxNwQRlHC^djlByB0s61o&j+DLA%f!sW zIi7p=8s>57i}VIuPa{nPy~H-dntAarL!j|fp3IXDC%!p4?Qr(v$>H*QT*$_ab`#>k zR+`-J@nL3taj%>J^W+60myA#Ss%yID9Cw7rJSKSD(|=C`xg07FwI6arhXW}fO3lWB zzpzo>aY*Ufr3j@yhUjsvuvPZq^zB)Pn1K;!aNUWy^CABw=%MSPUQ&=8 z>n{JLNX`xEoC%IUg5sJUUrsH(le*LJIS>q{CLz2@E043?0`DR{jKrG9CeJk)K% zqT&4b7~+?_48x{u`-fw$@9(>lkh~jYP&Re z+*EhNjdtQcA$RPW257+*4DRgc?QuNgNN=OCnF0_h?&qi)W)tzEOhJu%>|F{m=AfW< zrgT3&WcAcm?veH^b>|D>KZo{g{8st8zTKUsmGu3%@@V6^xZ0Kp;);>sI9H7!j~~Re z$mqJIqALnL4Zl}{9s6+lQ0(tpM+IW~aJ3cn#`h!Jv3PK~?tUW4VP413C~K zv?9J9`Mt}&73O@@YAKY|l1ZZ9g~g4|yjVL|Fa{9E)stEk9Gh6Wj}+<){}wY8&R z>~%&#Q8+mf%qDmr*3~oFxryv1&8h|6<-aHE8j+J*)Vtw(d~d1|XKc9w>q$Ux>Ti(p zB92sgS@pD+Xty^zf8lYD>(?I1%b)rAb4X(0PdS(J6u^x>xK;2q7~s0uz4Hg{y6nqT zaHu<@eH#9G_=XtAdEoS{wdI9_*UNc}qHV7Eb19Xo77``81LV$jQPbNTl)hSzb_tJGxMvAGJ-$(2+fk)e|pXojM-qBC=f zG>aq17?U6x#oM|c`JJ$Bvdyq!lx$jz&F%JJeQE7vnCi0WNmJZ$zru26_r z({ZU$F5t(FuVlUac{tfts~TQIWL!Sn=y0js%sA577s{}=`RW%355v$q_y*yg0;hDy zEhER=7fTDDrn`hk`uvzLjplh4Ei=i?27cRJiYCMQXD4d3pYo{6t`(1_ih>yzClZUj z&+m0B&g@e9&y()hpm~0Ve_V1W;5T@UGWJ7HslhCbl^xq~`2$LnA$gB#|6|0BB)}?P zM{8zVc6d#+goFF)!2c2e})=ztT2G{tDUz)l$hAX`GiS@g#x!@ zoL|}qCffud)NJz#*fzvV5=@J!nbE$Yp>*Q3fmneic@B%O$||4AYzybZq>e>P{(M*S z*)7Np@2v%WQ>N?ipM8=xMUj3`rKS(jV| zqIcr*4_J~c#a3%$eqJV-7^NEr58ijY4@_-xyTA@ZCpTX{yY2kge^FY42N1Vmw&&s& zmHj^lr5?b~NVH^?jvb_${RY*<{~!c?YB2(|v#U8Gu14x$uARy+p-dn^C5>Wehkp&m zHuTFz>ycdV?sCb<@B=0gJPtQr+3y}!(U|#)eGY(S_PZ+I{>__d0+oYS-xka{- zV3=C>TE~DX082<8AmU!YzijIF6v2g7F}a6}#1iz2}RK@}s!r2(UL^eY86 zHf(nGf!Gvs+u5{8uJ|*ZP97`hhQ$8Wm6^zm@#4R99SY#PM9Gk0`IY}d&{bL(N7Kh4 zX3(DmHBcwu!}5~80n*Oh^j%&fzDz-<90_9pPJ`#nzKp4Ze#!glaEk#t)sNZ83enV6 zQ=xw$jH+BsR^~ICXutEO;7sxDIGIUgMcd@PvuXB6WxY<%$L--F8e5d!QSW73}(2kH&_WG|49NHb}&1LvBc=W3XpI?xAYGdcKr_6Jj z4$zLpb9GZ9UunW4&h-u7cEtt2&o?$X4}B(8x&iOzFiQ5X+6GO zGw5>3ex*-e|IFUlW>59|EE0(whcIoV_D|Ch>dglzt>IA4+OK|twYHB7-7w^|+my%+ zaGx54>1DsK(o3mY?I7frZ_GD@+H@_0`n!89E`5onHYfcO>FE~8A(aBk&eY-AUQR=O zHy@F#`w`5iTvr!qcgXJC-hul{2T~5XSg7#0`@abq_s2wX#4PS_ND!qRS7!b8%5MGF z1;=H*c%nlweNHDDyPyrv0Q*^~dsHJ)oC@(qPz4UrsDFRp-V!R76pux}{)(Dx0=q4~O*|g)A z`G12umFnb;1V~ziTqPTOkl=oiY%v_fZT%tCXc*so|EsF+XeiC^qf1RSC0ndsbktAV zj;I_@Od?rFrwD*{+vd8HZ=~2i8fInDai2aT?ATvJI{p}}78^*!_hr<1Gw?10vtisk z)6WJtdj8)ha_L{$WffT3rS0?5gtvee^ptHEYjM_dfJ=u1YI9$7!gr#jQVFVIqr=1J zY-RQE!3tR4Nl$mlPNF6drxI&o7eF2GDUDtA#{*ZR@1^k}p8f zIQ(=NK0Grp=egL;qF$dQ&&-8%7O&*4+RisULza`#WV&l$K13JO$IqwttliLL!7PvW zt&K1O=SqUZ<31rHM>2VxVv!-=`?1nD;Wvpt<~v+%liEO2xYow5>5AG{bdFfM$5TXp zakgWAhUUkI0^?p*5$uPU+N|Pc#iN4%ys>Z`}qu%fT~|>T+kHXkV`WGl6;bawOqhRPPB4azCBN5goRVTw$j=g$rF;y z)YM72RAVm)&UU+VLm%|Lte+``=vv`is6d|>=Q!GMrq8i??boh(_}0e0hRQ=M{V^o) zPou6F1URUB<|!A^3#K1n2H1gMxJ5M2MIL|RpG%$*?+4xcLf7$T9Df2Pdrb3mJ%2-~ zUvU(R#3{+rA_mz%M7hwRH1haKuP+uQ z^nztHLJJE-@32~WSzerXfR z+kTAO01RUo+0Irc`x5V}y*eb)wdVDKB3w5@aKAC;kPur?>}Y(SI|ZZJ&5oUsmIyD| zZ){comG5rIy9|RDtNac6AVW=B90W72J`*8WQCm5wei#=-23- z-`;v^7rHo(6cU934#IPpnbD-*-bz=42h-{Y}|A%i=eHn}p5%ua5c8 zl14XSHuc?nN>@&I>XAV0BS6IK+BGhI1E~T;`HUfn zD7JVYZ51St`;DV6(#Z7ic2K5L)rhv%hhF4$O%tx)^2CvmT3pBnzhiF#+I#C(ZjS%zUcS|<$^j!n#MOCxYNMm=jF zx^O*x)r|X)^`Oy#Z$|T%@N?Cd1hh#uGcy@l#?q6poVrVm5|x&UfZs^t*}SNum6s ztm@hFUUN~=M|cnPM>w?5ER-6>j#e4FUTSMjJDp9(JU-u1-(hn}JCU2?AOGU9`^O*J z&&x}X23#i;7_MNj)d33fj)5$Cw>6{(0t5;On0difNbsnrUSLGfjUY+8m;n|dmzzDw z^GyH5hgp@Q!u}x;v_d<#RcBbO;vdJZc=ks{#W4*QCxYRQ^j_bN)@p3d5T|2=)SSd+ zQ`G9GZiQKNvp~yHgA)?0!tue(9_z6CU>rfc(3#piqi=nlA#?9EP|h*bmZzj$Ez3I? zX}9h&R3H4l>a$s?dr4p0*G>b{&aXW#SaJ3lQdMYFyLKaa^xr2QU6)*VPR9+ua{~^9 zD)zMbSm=#$ku^LwtZBr%%^m4-#$OXT;Fl{Z zQVBTf6%DV6fSH3Ks=U)Tj~1bP+PBKpYn2}lb%pLWNSAGl;j_5d1Ym3uUB2I1_6@kJ zAN!bxXvB((bhOyD74at1KbEwrn(W%sxVS&jReNC}%Q~c^mu?SqU@kc|-;}RBjmgAp z4_uQ=a2cNJvLeriNi2OBuYlkJ)34qa|NL!mi%}h>EwV`Oqc8fl%@-+}k<6{qi;V1W z71`AYyvlja{AZqYGw+P>orp=Pcm#~`IoLr@#BaH89KDfY<0T{yj=s-J25QUtZ@A|5 zLFygo#FRX!H>?v#ARp%SfAYs4ic^}PB;Xn5ABSVT6Vr@s4UvE&{*Bida3&282UNeH ztHOhauLCqmEF3u*vAY&EtJ&sg(KKCguAPmK&TOCQqegVeJkYj9)+mXjV9`2CgW87(Kn^QxY|^grkM z{(Ug)`!j-}T4jWBa8L1lvHq%jLB?a*v5EoucW#b795qliUq}G(VHn_zAMYiRAvA0K z#&>GF0_!#fRr_P#+GKL`*5#)BX`>vvWpu5ULbgeo3XrhjqBoaX4o4!0WT|WM!iEYg z(l6bu+|cpW>qgOWaU~y@m{tcu=RfL&3^67kNIJglcLhT^%E0?YIE>2-9*0hXt^>5E#{pzm?J=v9U z*Ipt~hWPR6TY~?!&&!V|*)i3RkxvIiiyfq?|H zw1u2xGVg6kyUVeP;%k;_RHA|yGk$mVU(qX|QWK??9NRHyrGn9JMM_XX+?DrZSXC}4<;5pvU5^esqpf9XfzK(<3sPf-nE2yPECr@=xS zd3)E-c}9WSYvMDK{S{+8u_3N{<+E?DMBhC7?*W7;3%J1Vt(GHJD3`JkSDEWksJr15 zCYW$ctlwwHY(mV~U!Z@aa#h*15g4bjz;vS-t0jLJUwno#z7{9h*DnC=A{(&Y@oW^B zt4{*ZwNZK2Ve}g)q;Hvh(}o3f0X}ONKP)umSpb6IQ0}TQ>FbxjV|q0o)>Y#IkY9UC zq~aKA+SH`ZQGmv}M)x=AaO?T4@4JuJ*FM*YeYUM$Bv$P$v5Ol2bOJU@ER!I=DzE1$IAV-|_?z*tW~m?_g?8)G)0W@dI1+EHtTf(X$~!`DTbFK= zqH4hgR^gw2h$^#gPq?N!iY#j+4}ZgV^ z?_2m*T9Tf)V~jmE!yg}v_muaX7kDnC+#G*`3aX$|?!><}kxel4g#A@{?-+xBIFoN&mcT4dL=*yxDL3FTaKBpRQ zs=w1R3GcIQ+Hejfbf^PN^4Umj09A&c>>;f*b9w>fM2d*p7#$r^hMx_{c z=q?OQR(dba3e4ID;XGPTZl3A}2%U2ya7)vScM7PAIs_(}8h@OG|8sAs{RD4kFz4Mz zhY~B^;qd4Yk7t)jp>?u9qBv_1$>iy;YdN#38;4WpdM6r}N2)K^E%xPYl^Xj%i0sl> zay?n_`^%8}>ya--uB(j5HT`1(@%C7VaHNc{f@9=jucp>iBfHZUQ0H@FBm9fI<+9i^ zs@AXCPaXvw4T;Hu6|U{4r~<@_St28Xjd(W-AOF^YMU=EROn5;ro*)2v-4(jFCw(|3 z0YdAyXGOMc4_L1_Rh&=js7ewrmh!~76-)#$cVRtn7bbTA3<4T^fQrwbt85iw$?B$?IK`VbMgiS}2OoESI2iO~T)g!; zPq7Lv(T5b6kK6Jm(q;PPHl!(9AIQ^oP>P553PoxP52mz+emtJMBaXsNln@7VHw9JB zALTXA#?`9ZbY1=GGX`r&HM&m+CYp)uPi)8zQ_3Ih>!SK@!Bs~<%V>S2qvGfHf>qVL zAOQsZv)m@Py3`R0rX0R=@9v(3R*U0*_w@F;Lgk+gr?&;3>&5+BE~KtYO4!Vwmr5FX zz>tbIBlC{clppd00D<{OC9aJB@yyhPL2!4-r2FJ$;0Ng2jtsAHW!y!@IBE3&Nww54 zB^q`m)%@j=Qbsw&uXy*~_tMA-46-s&8*VSH5>_14{`5tdB@P=XSI z7L~)l|7b>>uyW(Nj+2w|cZ9%ZUE!nrsa@IMdlBXv+bdDle@jfL9y~UYVau~N>uchN z&$_!fS2Zl_km?~$$Y>ZU`O|g-pyr4BZ0hkq0)X^FA$3oY27vfi5x{O=`h)EkW4%Bsr0%=Qy=X9_RjwmscMUqtbF(@F^bZb`{6khhTQE?Y*WvmE{-WVmX^fDe z6G(}L()I=w_r%>$4dJ zgguWm=5t@!P~~^WK0mdZ##aSTBHw_S{VVrU&Xm-?;sc`K5P=-Dv2pIQHb`zZ#JR~t zl~RNYuZDW4p;_R>gi&Cg-Nbn*;YlEUw_z-leU$o>K*(!3Wu~y*2E4u(K!AM>%+o@F zjn6&9NAa6Dpkol|?&CN!ehC96J){-Mfh4Lg|5itD0Cw91M4&>kFjb&N8A#bey#bZ2 z4-zBKbCU4$mQ_E27t`g&=Mh5!?C}zp8fT1dJzGfP+Pshk-=H|m?k#n=fH4p0k_mFE z(YkOK{%1WngaFh@9aP&yNWgcAq@YirrMFR2?8;JsN6psXSWVxY3P5a%i~g`1r{1y| zB{i3zn=R40)5D8`H?t16I`%3B4$qV&3brTM_E?7AVkonJ%K~@9A*n#%H%+veU)u-1 zAg6_ibO;R(3oWCtbp|0TBz-sG0?yPNy!@|9paYlxpM>CjKWuzuu~**R5E8UH)Ot%7 z|E1tHf6g_cvp!k-u9A<2R^6XdDXk?>Qo3(VY1ZEd)e&MyBxsQ^e+BattTdQnBcF_X zV249cXrQq*ecvy>ROz43Y9Mb~&5N!){KH3IF^Kymu22Gq z{w24JXdd3Hbu#mWkgNuoH(EO^%k(^&rq-{{_Rz5)hy^7DK#^cu--U*;J6ucQ@1NfV$a`)1scI}8s_UVwd{ER1UZ6Yg#>#LAD?l4sqQVbv-1?;X ze`xv&peWn#?WK|KZV(hu5b17Ek?u}Wx*L{mqy;3EmXb~h>F(}s*(DcP*ze)}egAoe z8CZ50?t4#O=bY>C@4phT@eJ)@{iS4*G~|6!(hvgGC|P2C{cgWGMA@bbHs_;0ow3$r zgyiAI`{Tfxe8WML~1h-E_>!Mxw zq8%$J*taB>!j4vXx((}0_h`;Y7ppixov0|%sKV5 zK2N3JZ|4UF+I@J0q<3tGr5I8dlm^SJ>%!*ahpR@V_r2-L?C`~~8KcPaR2;@*jZd+R zg&Y&M$(c{5zA#gW%D|^WvHcnv! za|E7Zek$M>5(JMJU)jX1SDur!$Ps|Jy>C`MyM6uuqp$L^ED#y1yLSAg(k3*HBZ{BW z&pf-JIrt=%%-#|l$d`m=&MqMs??JkB#i2xjQn)n-Rs-nSJ#8AYhGwH`00p? zD8xTga)exiDe`9w$fh!QyAo_#QUh{TYChs(ysmJSqk^*G7?iG_ml z1n79WTYqD#MUuYLu>QO-VcS5;+0LvCu?`ZQNwrIRYc)%vzGXm)x+7eFd0A%X7N3X( z7g0;$+Qxrod19TZRQ@^o_vshT*{aUpC3yI#Io50Mt6t_sexAgit<`SbMvB2GIkGI^ zi<6DV5|^q;vdN*E#X!s5Tei}}%^O*ixRLddZ@!ozW^WLlGAGj`rPgG5+>W%bw;0hN z(?Sa$Ft8_ZFXw|#7ltFk5m1-^sVFYuzGO2u!xpwat@{g1gCNS5iaPtgZ#?YMjFX(4 zObj%xmwEDMR{N0LE_Iby52j-yG2&v1HWiqL>auAORI{W~9 !ad^i+k4mnUiTS@? zfN|!OqG#yeTns6u%G%Vzhd^cP*yG|<=_0IoYEhU+JWN~6Z~tPAFKjBa$Ur)pa~r~x zk38&kx~ORIMVpBGO9+p}aq&uBzS14OA&iq@uS$jbrl?zT44Wh~8kuf<^QWxV(#BX9 z$#ad#^c&x36()>N|5<T*pemDncIr@Ghb34$rs*^)eMS&lIap+A)T^9FIm zQ&40WJ{Ek&n`dweuR!sC&B4!(7Mfsqt?pxa_Bka6rX}_UbD@*CSQt|S!KC^N<(48h z34Ak`$=X$Ws}iyyG_XjhlH%kqrV~1eI-rs^q^d|9_c$DH%WZOh*X41Fz7dKjA9LyZ z49MvC@sp&^*FA}_mB!P@yYw%i88|lL$CimFM&okD$fvgxC~|W2?A==7?Ps1=Z$qlM z6w%Kr_x~#K8-BD_-LuTGhdUlvWC)>pb&;V+ZE@^ZQGF>XaOTBk+;ui+Do-B)8L==J zms90HkMC_1c!KdNQ)_&2Tl|oT(ty6SQ2nW4A@oG{1fDcoB+Ub*VeOrc$`1bS(t{+*_Q9YKO3cw|Z;2+j+ejK-OXO0F(hK_y;nYGcPqx3&2 zEk*|Us>rS1NHP5W_%SGyd*y>JB*hoT9R54kd&lFGl_1z1^s~j*Pfv5G<}0;jMH{Yc zhB~calQ<9jFNKf=Yg*Ts%l2%!ul#QsUW=_!3^RThl~`mf9RuRPv{F>-4fD&NQJ4SH zCWWJqdJlJ%jGt{ZKaMlSEbJz~nf<~~!A5gGdiu47RoT-Q<8AErD|(3S){G*sy!AST ze{>oGNFM0+$&4yc{CYD1i3gMs{HbEIV_+SUYeO|iB|UMES-t8&C=F~&{OWu2Pl}%1 z0uR7_5&_rIem3cD6loAMf%}D}Z)k5Or+{cT3jH66wD$`CO?r~o$YvLd0Qdb1jP|7l zH}?(7w}KUEUb~7x9BI&FFEmOG#gP64?Q_@HQ$dAOkDWDM#&o3F&s9d57ai|bsKtWi zsr>a5RWO2C+(zwyLVCO(?b_V?-*aqc*_T+4Bp7z)HW-r)=fcmEEv%}4_O zq>BT(24YYGDP6wI*Z20@mGznWT+SKMNytyw5{&ifv{l;hXBBOnN ziIg%vMcq0!ZBo%?U}<>B6dD+1XA=vj$?SxV$koNGgbEx(w3EyQamKOrK&Zd6FA3Icuk-_P$F5U zB)-sd*82N{{5J*e^Mq;by25eW%J_O2Oy|8kH?C6e_k}Nxy)*1wObsfBybH1~ul!tXijxcGfJsMAjzA1YdU>CXifmyW_gkCA6sKyv681jnJj zysaMsxsgfEnD&X9RjxDXrR)Wgj%|2z`Xud+-ftWYz{d0OdMBSfh$_&dIhm@Y)dZFQ zjXx|P%V1V@o<+kPPl$t(oey^nqdyD1HDxBCO6cYe+=c(9jr*vnK4k2jJy0O*{X&o} zIZEy;i(}Q)m@KQ7cas}3+<3W~GgXPio;qgWmne~O%r`&twGm9mPz3KLAN-#4N!2v1 zyTKlSF#$ZCJ?ut~>QRgu7a@0#kAj#!oT&pWB}-4l5a8000tZ{q+HDhn9eG41O7!N> z3Gtao4inkeg_`tW$QUR74|8}mo~Jbip6}yyNnWV9+6mj12X|9y$CYHo^fCPLErMM4 z2d0JO3*$xN=By}qlJqR$KkCbeB`)Ao<=M__G-NgVp#RgMp;&cBk4r(-JY~d9$T6X1 zkX`XG(f6Kw8Ss2A-jq1j=mug?;6Y&W!L9Yy=^xAH*t=z{3eN6-uQ~v8-Myb` zC-r3=Sy4ei=a zBszyL^`qlxL-*L&OlI-p)Yrzlf}+08N#>ZEh0tw`CbiajtiI*VfrQ%D#3)wTc1zi` z{1DRFeybr1X66&^pGBqV^RC@s_$oxDTmU}5^aZBy-_ax{o}7i*ri6tYNK)GGG_

    hzPE}-490HaN65d4+G7l`5&rqw%r`j=5#4xGV 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 + $ts_env = isset($containerInfo['Config']['Entrypoint']) ? '-e ORG_ENTRYPOINT="' . implode(' ', $containerInfo['Config']['Entrypoint']) . '" ' : ''; + $ts_env .= isset($containerInfo['Config']['Cmd']) ? '-e ORG_CMD="' . implode(' ', $containerInfo['Config']['Cmd']) . '" ' : ''; + // Insert Entrypoint and Cmd to docker command + $cmd = str_replace('-l net.unraid.docker.managed=dockerman', $ts_env . '-l net.unraid.docker.managed=dockerman' , $cmd); + // Remove preliminary container + exec("/usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker rm '" . escapeshellarg($Name) . "'"); + } if ($startContainer) $cmd = str_replace('/docker create ', '/docker run -d ', $cmd); execCommand($cmd); if ($startContainer) addRoute($Name); // add route for remote WireGuard access - echo '

    '; + echo '

    '; goto END; } @@ -168,7 +181,8 @@ if (isset($_GET['updateContainer'])){ } $xml = file_get_contents($tmpl); [$cmd, $Name, $Repository] = xmlToCommand($tmpl); - $Registry = getXmlVal($xml, "Registry"); + $Network = getXmlVal($xml, "Network"); + $TS_Enabled = getXmlVal($xml, "TailscaleEnabled"); $oldImageID = $DockerClient->getImageID($Repository); // pull image if ($echo && !pullImage($Name, $Repository)) continue; @@ -184,6 +198,19 @@ if (isset($_GET['updateContainer'])){ } // force kill container if still running after time-out if (empty($_GET['communityApplications'])) removeContainer($Name, $echo); + // Extract real Entrypoint and Cmd from container for Tailscale + if ($TS_Enabled == 'true') { + // Create preliminary base container but don't run it + exec("/usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker create --name '" . escapeshellarg($Name) . "' '" . escapeshellarg($Repository) . "'"); + // Get Entrypoint and Cmd from docker inspect + $containerInfo = $DockerClient->getContainerDetails($Name); + $ts_env = isset($containerInfo['Config']['Entrypoint']) ? '-e ORG_ENTRYPOINT="' . implode(' ', $containerInfo['Config']['Entrypoint']) . '" ' : ''; + $ts_env .= isset($containerInfo['Config']['Cmd']) ? '-e ORG_CMD="' . implode(' ', $containerInfo['Config']['Cmd']) . '" ' : ''; + // Insert Entrypoint and Cmd to docker command + $cmd = str_replace('-l net.unraid.docker.managed=dockerman', $ts_env . '-l net.unraid.docker.managed=dockerman' , $cmd); + // Remove preliminary container + exec("/usr/local/emhttp/plugins/dynamix.docker.manager/scripts/docker rm '" . escapeshellarg($Name) . "'"); + } execCommand($cmd, $echo); if ($startContainer) addRoute($Name); // add route for remote WireGuard access $DockerClient->flushCaches(); @@ -272,6 +299,153 @@ $authoring = $authoringMode ? 'advanced' : 'noshow'; $disableEdit = $authoringMode ? 'false' : 'true'; $showAdditionalInfo = ''; $bgcolor = strstr('white,azure',$display['theme']) ? '#f2f2f2' : '#1c1c1c'; + +# Search for existing TAILSCALE_ entries in the Docker template +$TS_existing_vars = false; +foreach ($xml["Config"] as $config) { + if (isset($config["Target"]) && strpos($config["Target"], "TAILSCALE_") === 0) { + $TS_existing_vars = true; + break; + } +} + +# Look for Exit Nodes if Tailscale plugin is installed +$ts_exit_nodes = []; +$ts_en_check = false; +if (file_exists('/usr/local/sbin/tailscale') && exec('pgrep --ns $$ -f "/usr/local/sbin/tailscaled"')) { + exec('tailscale exit-node list', $ts_exit_node_list, $retval); + if ($retval === 0) { + foreach ($ts_exit_node_list as $line) { + if (!empty(trim($line))) { + if (preg_match('/^(\d+\.\d+\.\d+\.\d+)\s+(.+)$/', trim($line), $matches)) { + $parts = preg_split('/\s+/', $matches[2]); + $ts_exit_nodes[] = [ + 'ip' => $matches[1], + 'hostname' => $parts[0], + 'country' => $parts[1], + 'city' => $parts[2], + 'status' => $parts[3] + ]; + $ts_en_check = true; + } + } + } + } +} + +# Try to detect port from WebUI and set webui_url +$TSwebuiport = ''; +$webui_url = ''; +if (empty($xml['TailscalePort'])) { + if (!empty($xml['WebUI'])) { + $webui_url = parse_url($xml['WebUI']); + preg_match('/:(\d+)\]/', $webui_url['host'], $matches); + $TSwebuiport = $matches[1]; + } +} + +$TS_raw = []; +$TS_container_raw = []; +$TS_HostNameWarning = ""; +$TS_HTTPSDisabledWarning = ""; +$TS_ExitNodeNeedsApproval = false; +$TS_MachinesLink = "https://login.tailscale.com/admin/machines/"; +$TS_DirectMachineLink = $TS_MachinesLink; +$TS_HostNameActual = ""; +$TS_not_approved = ""; +// Get Tailscale information and create arrays/variables +exec("docker exec -i ".$xml['Name']." /bin/sh -c \"tailscale status --peers=false --json\"", $TS_raw); +$TS_no_peers = json_decode(implode('', $TS_raw),true); +$TS_container = json_decode(implode('', $TS_raw),true); +$TS_container = $TS_container['Self']; +if (!empty($TS_no_peers) && !empty($TS_container)) { + // define the direct link to this machine on the Tailscale website + if (!empty($TS_container['TailscaleIPs']) && !empty($TS_container['TailscaleIPs'][0])) { + $TS_DirectMachineLink = $TS_MachinesLink.$TS_container['TailscaleIPs'][0]; + } + // warn if MagicDNS or HTTPS is disabled + if (empty($TS_no_peers['CurrentTailnet']['MagicDNSEnabled']) || !$TS_no_peers['CurrentTailnet']['MagicDNSEnabled'] || empty($TS_no_peers['CertDomains']) || empty($TS_no_peers['CertDomains'][0])) { + $TS_HTTPSDisabledWarning = "
    Enable HTTPS on your Tailscale account to use Tailscale Serve/Funnel."; + } + // In $TS_container, 'HostName' is what the user requested, need to parse 'DNSName' to find the actual HostName in use + $TS_DNSName = _var($TS_container,'DNSName',''); + $TS_HostNameActual = substr($TS_DNSName, 0, strpos($TS_DNSName, '.')); + // compare the actual HostName in use to the one in the XML file + if (strcasecmp($TS_HostNameActual, _var($xml, 'TailscaleHostname')) !== 0 && !empty($TS_DNSName)) { + // they are different, show a warning + $TS_HostNameWarning = "Warning: the actual Tailscale hostname is '".$TS_HostNameActual."'"; + } + // If this is an Exit Node, show warning if it still needs approval + if (_var($xml,'TailscaleIsExitNode') == 'true' && _var($TS_container, 'ExitNodeOption') === false) { + $TS_ExitNodeNeedsApproval = true; + } + //Check for key expiry + if(!empty($TS_container['KeyExpiry'])) { + $TS_expiry = new DateTime($TS_container['KeyExpiry']); + $current_Date = new DateTime(); + $TS_expiry_diff = $current_Date->diff($TS_expiry); + } + // Check for non approved routes + if(!empty($xml['TailscaleRoutes'])) { + $TS_advertise_routes = str_replace(' ', '', $xml['TailscaleRoutes']); + if (empty($TS_container['PrimaryRoutes'])) { + $TS_container['PrimaryRoutes'] = []; + } + $routes = explode(',', $TS_advertise_routes); + foreach ($routes as $route) { + if (!in_array($route, $TS_container['PrimaryRoutes'])) { + $TS_not_approved .= " " . $route; + } + } + } + // Check for exit nodes if ts_en_check was not already done + if (!$ts_en_check) { + exec("docker exec -i ".$xml['Name']." /bin/sh -c \"tailscale exit-node list\"", $ts_exit_node_list, $retval); + if ($retval === 0) { + foreach ($ts_exit_node_list as $line) { + if (!empty(trim($line))) { + if (preg_match('/^(\d+\.\d+\.\d+\.\d+)\s+(.+)$/', trim($line), $matches)) { + $parts = preg_split('/\s+/', $matches[2]); + $ts_exit_nodes[] = [ + 'ip' => $matches[1], + 'hostname' => $parts[0], + 'country' => $parts[1], + 'city' => $parts[2], + 'status' => $parts[3] + ]; + } + } + } + } + } + // Construct WebUI URL on container template page + // Check if webui_url, Tailscale WebUI and MagicDNS are not empty and make sure that MagicDNS is enabled + if (!empty($webui_url) && !empty($xml['TailscaleWebUI']) && (!empty($TS_no_peers['CurrentTailnet']['MagicDNSEnabled']) || $TS_no_peers['CurrentTailnet']['MagicDNSEnabled'])) { + // Check if serve or funnel are enabled by checking for [hostname] and replace string with TS_DNSName + if (!empty($xml['TailscaleWebUI']) && strpos($xml['TailscaleWebUI'], '[hostname]') !== false && isset($TS_DNSName)) { + $TS_webui_url = str_replace("[hostname][magicdns]", rtrim($TS_DNSName, '.'), $xml['TailscaleWebUI']); + // Check if serve is disabled, construct url with port, path and query if present and replace [noserve] with url + } elseif (strpos($xml['TailscaleWebUI'], '[noserve]') !== false && isset($TS_container['TailscaleIPs'])) { + $ipv4 = ''; + foreach ($TS_container['TailscaleIPs'] as $ip) { + if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) { + $ipv4 = $ip; + break; + } + } + if (!empty($ipv4)) { + $webui_url = isset($xml['WebUI']) ? parse_url($xml['WebUI']) : ''; + $webui_port = (preg_match('/\[PORT:(\d+)\]/', $xml['WebUI'], $matches)) ? ':' . $matches[1] : ''; + $webui_path = $webui_url['path'] ?? ''; + $webui_query = isset($webui_url['query']) ? '?' . $webui_url['query'] : ''; + $TS_webui_url = 'http://' . $ipv4 . $webui_port . $webui_path . $webui_query; + } + // Check if TailscaleWebUI in the xml is custom and display instead + } elseif (strpos($xml['TailscaleWebUI'], '[hostname]') === false && strpos($xml['TailscaleWebUI'], '[noserve]') === false) { + $TS_webui_url = $xml['TailscaleWebUI']; + } + } +} ?> "> "> @@ -675,6 +849,16 @@ $(function() { }); }); + + +
    @@ -715,7 +899,7 @@ _(Template)_:
    _(Name)_: -: +: :docker_client_name_help: @@ -903,9 +1087,263 @@ _(Container Network)_: } } ?> -:docker_container_network_help: + +:docker_container_network_help: +
    + +

    + + +
    +_(WARNING)_: +: _(Existing TAILSCALE variables found, please remove any existing modifications in the Template for Tailscale before using this function!)_ +
    + + + +
    +_(First deployment)_: +:

    _(After deploying the container, open the log and follow the link to register the container to your Tailnet!)_

    +
    + + +
    +_(Recommendation)_: +:

    _(For the best experience with Tailscale, install "Tailscale (Plugin)" from)_ Community Applications.

    +
    + + + + +
    +_(Use Tailscale)_: +: onchange="showTailscale(this)"> + +:docker_tailscale_help: + +
    + +
    +_(NOTE)_: +: _(This option will install Tailscale and dependencies into the container.)_ +
    + + +
    +Warning: +: Exit Node not yet approved. Navigate to the Tailscale website and approve it. +
    + + + +
    +_(Warning)_: +invert):?> +: Tailscale Key expired! Renew/Disable key expiry for ''. + +: Tailscale Key will expire in days?> days! Disable Key Expiry for ''. + + +
    + + + +
    +_(Warning)_: +: The following route(s) are not approved: +
    + + +
    +_(Tailscale Hostname)_: +: placeholder="_(Hostname for the container)_"> + +:docker_tailscale_hostname_help: + +
    + +
    +_(Be a Tailscale Exit Node)_: +: + + +:docker_tailscale_be_exitnode_help: + +
    + +
    +_(Use a Tailscale Exit Node)_: + +: placeholder="_(IP/Hostname from Exit Node)_" onchange="processExitNodeoptions(this)"> + +: + + + + +:docker_tailscale_exitnode_ip_help: + +
    + +
    +_(Tailscale Allow LAN Access)_: +: + + +:docker_tailscale_lanaccess_help: + +
    + +
    +_(Tailscale Userspace Networking)_: +: + + +:docker_tailscale_userspace_networking_help: + +
    + +
    +_(Enable Tailscale SSH)_: +: + +:docker_tailscale_ssh_help: + +
    + +
    +_(Tailscale Serve)_: +: +' . $TS_webui_url . ''; ?> + +:docker_tailscale_serve_mode_help: + +
    + +
    +_(Tailscale Serve Port)_: +: + +:docker_tailscale_serve_port_help: + +
    + +
    +_(Tailscale Show Advanced Settings)_: +: + +:docker_tailscale_show_advanced_help: + +
    + +
    +_(Tailscale Serve Local Path)_: +: placeholder="_(Leave empty if unsure)_"> + +:docker_tailscale_serve_local_path_help: + +
    + +
    +_(Tailscale Serve Protocol)_: +: placeholder="_(Leave empty if unsure, defaults to https)_"> + +:docker_tailscale_serve_protocol_help: + +
    + +
    +_(Tailscale Serve Protocol Port)_: +: placeholder="_(Leave empty if unsure, defaults to =443)_"> + +:docker_tailscale_serve_protocol_port_help: + +
    + +
    +_(Tailscale Serve Path)_: +: placeholder="_(Leave empty if unsure)_"> + +:docker_tailscale_serve_path_help: + +
    + +
    +_(Tailscale WebUI)_: +: +> + +:docker_tailscale_serve_webui_help: + +
    + +
    +_(Tailscale Advertise Routes)_: +: placeholder="_(Leave empty if unsure)_"> + +:docker_tailscale_advertise_routes_help: + +
    + +
    +_(Tailscale Daemon Parameters)_: +: placeholder="_(Leave empty if unsure)_"> + +:docker_tailscale_daemon_extra_params_help: + +
    + +
    +_(Tailscale Extra Parameters)_: +: placeholder="_(Leave empty if unsure)_"> + +:docker_tailscale_extra_param_help: + +
    + +
    +_(Tailscale State Directory)_: +: placeholder="_(Leave empty if unsure)_"> + +:docker_tailscale_statedir_help: + +
    + +
    +_(Tailscale Install Troubleshooting Packages)_: +: > + +:docker_tailscale_troubleshooting_packages_help: + +
    + +
    +
    +
    + _(Console shell command)_: :
    ".implode('
    ',$networks)."
    ".implode('
    ',$network_ips)."
    ".implode('
    ',$networks)."
    ".implode('
    ',$networks).$TS_status."
    ".implode('
    ',$network_ips)."
    ".implode('
    ',$ports_internal)."
    ".implode('
    ',$ports_external)."
    ".implode('
    ',$networks).$TS_status."
    ".implode('
    ',$networks).$TS_status."
    @@ -1249,9 +1250,19 @@ @@ -1274,6 +1285,10 @@ + + >
    _(Graphics Card)_:
    _(VM Console Video Driver)_: - + + >_(Render GPU)_: +
    _(Graphics ROM Needed?)_: _(GPU is primary adapater, vbios may be required.)_
    @@ -1350,6 +1365,7 @@ + _(Graphics ROM Needed?)_: _(GPU is primary adapater, vbios may be required.)_ @@ -2084,6 +2100,19 @@ function AutoportChange(autoport) { } } +function VMConsoleDriverChange(driver) { + if (driver.value != "virtio3d") { + document.getElementById("vncrender").style.visibility="hidden"; + document.getElementById("vncrendertext").style.visibility="hidden"; + + } else { + document.getElementById("vncrender").style.display="inline"; + document.getElementById("vncrender").style.visibility="visible"; + document.getElementById("vncrendertext").style.display="inline"; + document.getElementById("vncrendertext").style.visibility="visible"; + } +} + function ProtocolChange(protocol) { var autoport = document.getElementById("autoport").value ; if (autoport == "yes") { @@ -2391,6 +2420,7 @@ $(function() { }) ; $("#vmform").on("change", ".gpu", function changeGPUEvent() { + const ValidGPUs = ; var myvalue = $(this).val(); var mylabel = $(this).children('option:selected').text(); var myindex = $(this).closest('table').data('index'); @@ -2402,6 +2432,13 @@ $(function() { slideDownRows($vnc_sections.not(isVMAdvancedMode() ? '.basic' : '.advanced')); var MultiSel = document.getElementById("GPUMultiSel0") ; MultiSel.disabled = true ; + if (document.getElementById("vncmodel").value == "virtio3d") { + $("#vncrender").show(); + $("#vncrendertext").show(); + } else { + $("#vncrender").hide(); + $("#vncrendertext").hide(); + } } else { slideUpRows($vnc_sections); $vnc_sections.filter('.advanced').removeClass('advanced').addClass('wasadvanced'); @@ -2410,6 +2447,11 @@ $(function() { } } + if (mylabel == "None") $("#gpubootvga"+myindex).hide(); + if (myvalue != 'virtual' && myvalue != '' && myvalue !="nogpu") { + if (ValidGPUs[myvalue].bootvga == "1") $("#gpubootvga"+myindex).show(); else $("#gpubootvga"+myindex).hide(); + } + $romfile = $(this).closest('table').find('.romfile'); if (myvalue == 'virtual' || myvalue == '' || myvalue =="nogpu") { slideUpRows($romfile.not(isVMAdvancedMode() ? '.basic' : '.advanced')); From 08987bc2f1c6e6a2202405aa5852a260935282c0 Mon Sep 17 00:00:00 2001 From: SimonFair <39065407+SimonFair@users.noreply.github.com> Date: Sat, 14 Dec 2024 11:12:49 +0000 Subject: [PATCH 336/794] Add driver and rendernode to VMMachines view --- emhttp/plugins/dynamix.vm.manager/include/VMMachines.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/emhttp/plugins/dynamix.vm.manager/include/VMMachines.php b/emhttp/plugins/dynamix.vm.manager/include/VMMachines.php index 820a53f79..48c8b7290 100644 --- a/emhttp/plugins/dynamix.vm.manager/include/VMMachines.php +++ b/emhttp/plugins/dynamix.vm.manager/include/VMMachines.php @@ -78,18 +78,22 @@ foreach ($vms as $vm) { $vmrcurl = ''; $graphics = ''; $virtual = false ; + if (isset($arrConfig['gpu'][0]['model'])) {$vrtdriver=" "._("Driver").strtoupper(":{$arrConfig['gpu'][0]['model']} "); $vrtmodel =$arrConfig['gpu'][0]['model'];} else $vrtdriver = ""; + if (isset($arrConfig['gpu'][0]['render']) && $vrtmodel == "virtio3d") { + if (isset($arrConfig['gpu'][0]['render']) && $arrConfig['gpu'][0]['render'] == "auto") $vrtdriver .= "
    "._("RenderGPU").":"._("Auto"); else $vrtdriver .= "
    "._("RenderGPU").":{$arrValidGPUDevices[$arrConfig['gpu'][0]['render']]['name']}"; + } if ($vmrcport > 0) { $wsport = $lv->domain_get_ws_port($res); $vmrcprotocol = $lv->domain_get_vmrc_protocol($res); if ($vmrcprotocol == "vnc") $vmrcscale = "&resize=scale"; else $vmrcscale = ""; $vmrcurl = autov('/plugins/dynamix.vm.manager/'.$vmrcprotocol.'.html',true).$vmrcscale.'&autoconnect=true&host='._var($_SERVER,'HTTP_HOST'); if ($vmrcprotocol == "spice") $vmrcurl .= '&vmname='. urlencode($vm) .'&port=/wsproxy/'.$vmrcport.'/'; else $vmrcurl .= '&port=&path=/wsproxy/'.$wsport.'/'; - $graphics = strtoupper($vmrcprotocol).":".$vmrcport."\n"; + $graphics = strtoupper($vmrcprotocol).':'._($auto)."$vrtdriver\n"; $virtual = true ; } elseif ($vmrcport == -1 || $autoport) { $vmrcprotocol = $lv->domain_get_vmrc_protocol($res); if ($autoport == "yes") $auto = "auto"; else $auto="manual"; - $graphics = strtoupper($vmrcprotocol).':'._($auto)."\n"; + $graphics = strtoupper($vmrcprotocol).':'._($auto)."$vrtdriver\n"; $virtual = true ; } if (!empty($arrConfig['gpu'])) { From ff945bb6ce31c955228ef0a2c38fb365bc3d38b7 Mon Sep 17 00:00:00 2001 From: bergware Date: Sat, 14 Dec 2024 15:37:28 +0100 Subject: [PATCH 337/794] Date and Time enhancements - Support Precision Time Protocol (PTP) - time accuracy in nanoseconds - PTP requires a local time server which supports the PTP protocol - Show only the applicable fields for the selected time sync value (animated) - Add 'hints' to help the user in configuration - Do not restart time service when only date/time format is updated Note for Tom: to make PTP work the package "linuxptp-4.2-x86_64-1_BW.txz" needs to be installed with stock Unraid --- emhttp/plugins/dynamix/DateTime.page | 250 ++++++++++++++---- .../plugins/dynamix/include/DashboardApps.php | 58 ++-- .../plugins/dynamix/include/StartStopPTP.php | 4 + emhttp/plugins/dynamix/sheets/DateTime.css | 4 +- etc/rc.d/rc.M | 7 +- etc/rc.d/rc.library.source | 10 +- etc/rc.d/rc.ntpd | 43 +-- etc/rc.d/rc.ptpd | 130 +++++++++ 8 files changed, 416 insertions(+), 90 deletions(-) create mode 100644 emhttp/plugins/dynamix/include/StartStopPTP.php create mode 100644 etc/rc.d/rc.ptpd diff --git a/emhttp/plugins/dynamix/DateTime.page b/emhttp/plugins/dynamix/DateTime.page index 3c1c13f5a..212de12b3 100644 --- a/emhttp/plugins/dynamix/DateTime.page +++ b/emhttp/plugins/dynamix/DateTime.page @@ -4,8 +4,8 @@ Icon="icon-clock" Tag="clock-o" --- - + _(Current date and time)_: : _(Date format)_: : _(Time format)_: : _(Time zone)_: : :timezone_help: -_(Use NTP)_: -: + + + -:use_ntp_help: - +
    _(NTP interval)_: -: _(Use DEFAULT setting when public NTP servers are defined)_ +: + _(Use DEFAULT setting when public NTP servers are defined)_ _(NTP server)_ 1: : - -:ntp_server1_help: + _(Input a NTP server name, NTP pool name or IP address)_ _(NTP server)_ 2: : -:ntp_server2_help: - _(NTP server)_ 3: : -:ntp_server3_help: - _(NTP server)_ 4: : -:ntp_server4_help: +
    +
    +_(PTP profile)_: +: PTPv2 (IEEE 1588) +_(PTP transport)_: +: + +_(PTP mode)_: +: + +
    +_(PTP server)_ 1: +: + _(Input a IPv4 address)__(Input a IPv6 address)__(Input a MAC address)_ + +_(PTP server)_ 2: +: + +_(PTP server)_ 3: +: + +_(PTP server)_ 4: +: + +
    +_(PTP interface)_: +: + +_(PTP clock)_: +: + +
    +
    _(New date and time)_: -: "> +: "> + _(Input the correct date and time manually)_ :current_time_help: +
      -: +: diff --git a/emhttp/plugins/dynamix/include/DashboardApps.php b/emhttp/plugins/dynamix/include/DashboardApps.php index 871d29abb..d2ac16a03 100644 --- a/emhttp/plugins/dynamix/include/DashboardApps.php +++ b/emhttp/plugins/dynamix/include/DashboardApps.php @@ -1,6 +1,6 @@ 0) { $wsport = $lv->domain_get_ws_port($res); - $vmrcprotocol = $lv->domain_get_vmrc_protocol($res) ; + $vmrcprotocol = $lv->domain_get_vmrc_protocol($res); if ($vmrcprotocol == "vnc") $vmrcscale = "&resize=scale"; else $vmrcscale = ""; - $vmrcurl = autov('/plugins/dynamix.vm.manager/'.$vmrcprotocol.'.html',true).$vmrcscale.'&autoconnect=true&host=' . $_SERVER['HTTP_HOST'] ; - if ($vmrcprotocol == "spice") $vmrcurl .= '&vmname='. urlencode($vm) . '&port=/wsproxy/'.$vmrcport.'/' ; else $vmrcurl .= '&port=&path=/wsproxy/' . $wsport . '/'; + $vmrcurl = autov('/plugins/dynamix.vm.manager/'.$vmrcprotocol.'.html',true).$vmrcscale.'&autoconnect=true&host=' . $_SERVER['HTTP_HOST']; + if ($vmrcprotocol == "spice") $vmrcurl .= '&vmname='. urlencode($vm) . '&port=/wsproxy/'.$vmrcport.'/'; else $vmrcurl .= '&port=&path=/wsproxy/' . $wsport . '/'; } elseif ($vmrcport == -1 || $autoport) { - $vmrcprotocol = $lv->domain_get_vmrc_protocol($res) ; - if ($autoport == "yes") $auto = "auto" ; else $auto="manual" ; + $vmrcprotocol = $lv->domain_get_vmrc_protocol($res); + $auto = ($autoport == "yes") ? "auto" : "manual"; } elseif (!empty($arrConfig['gpu'])) { $arrValidGPUDevices = getValidGPUDevices(); foreach ($arrConfig['gpu'] as $arrGPU) { foreach ($arrValidGPUDevices as $arrDev) { if ($arrGPU['id'] == $arrDev['id']) { if (count(array_filter($arrValidGPUDevices, function($v) use ($arrDev) { return $v['name'] == $arrDev['name']; })) > 1) { - $vmrcprotocol = "VGA" ; + $vmrcprotocol = "VGA"; } else { - $vmrcprotocol = "VGA" ; + $vmrcprotocol = "VGA"; } } } } - } + } $template = $lv->_get_single_xpath_result($res, '//domain/metadata/*[local-name()=\'vmtemplate\']/@name'); if (empty($template)) $template = 'Custom'; $log = (is_file("/var/log/libvirt/qemu/$vm.log") ? "libvirt/qemu/$vm.log" : ''); - if (!isset($domain_cfg["CONSOLE"])) $vmrcconsole = "web" ; else $vmrcconsole = $domain_cfg["CONSOLE"] ; - if (!isset($domain_cfg["RDPOPT"])) $vmrcconsole .= ";no" ; else $vmrcconsole .= ";".$domain_cfg["RDPOPT"] ; + if (!isset($domain_cfg["CONSOLE"])) $vmrcconsole = "web"; else $vmrcconsole = $domain_cfg["CONSOLE"]; + if (!isset($domain_cfg["RDPOPT"])) $vmrcconsole .= ";no"; else $vmrcconsole .= ";".$domain_cfg["RDPOPT"]; $WebUI = html_entity_decode($arrConfig["template"]["webui"]); $menu = sprintf("onclick=\"addVMContext('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')\"", addslashes($vm), addslashes($uuid), addslashes($template), $state, addslashes($vmrcurl), strtoupper($vmrcprotocol), addslashes($log),addslashes($fstype), $vmrcconsole,false,addslashes(str_replace('"',"'",$WebUI))); $icon = $lv->domain_get_icon_url($res); @@ -153,7 +181,7 @@ if ($_POST['vms']) { #Build VM Usage array. $menuusage = sprintf("onclick=\"addVMContext('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')\"", addslashes($vm), addslashes($uuid), addslashes($template), $state, addslashes($vmrcurl), strtoupper($vmrcprotocol), addslashes($log),addslashes($fstype), $vmrcconsole,true,addslashes(str_replace('"',"'",$WebUI))); $vmusagehtml[] = "$image$vm
    "._($status)."
    "; - $vmusagehtml[] = "

    "._("Loading")."...."; + $vmusagehtml[] = "

    "._("Loading")."...."; $vmusagehtml[] = "
    "._("Loading")."...."; $vmusagehtml[] = "
    "._("Loading")."...."; $vmusagehtml[] = "
    "._("Loading")."...."; diff --git a/emhttp/plugins/dynamix/include/StartStopPTP.php b/emhttp/plugins/dynamix/include/StartStopPTP.php new file mode 100644 index 000000000..553a8a0fe --- /dev/null +++ b/emhttp/plugins/dynamix/include/StartStopPTP.php @@ -0,0 +1,4 @@ + diff --git a/emhttp/plugins/dynamix/sheets/DateTime.css b/emhttp/plugins/dynamix/sheets/DateTime.css index b2eb5cbbe..b3012f111 100644 --- a/emhttp/plugins/dynamix/sheets/DateTime.css +++ b/emhttp/plugins/dynamix/sheets/DateTime.css @@ -1 +1,3 @@ -span.ntp{margin-left:40px} +div.extra,span.ipv4,span.ipv6,span.mac{display:none} +select,input[type=text]{margin-right:40px} +select[name=timeZone]{max-width:166px} diff --git a/etc/rc.d/rc.M b/etc/rc.d/rc.M index 2ae1f5dc8..632ca2e8a 100755 --- a/etc/rc.d/rc.M +++ b/etc/rc.d/rc.M @@ -11,7 +11,7 @@ # Heavily modified by Patrick Volkerding # # LimeTech - modified for Unraid OS -# Bergware - modified for Unraid OS, October 2023 +# Bergware - modified for Unraid OS, December 2024 # run & log functions . /etc/rc.d/rc.runlog @@ -108,6 +108,11 @@ fi # Mount any additional filesystem types that haven't already been mounted: mount -a -v 2>/dev/null | grep -v -e "already mounted" -e "ignored" | cut -f 1 -d : | tr -d ' ' | while read DEV; do mount | grep "$DEV "; done +# Start the Precision Time Protocol daemon: +if [[ -x /etc/rc.d/rc.ptpd ]]; then + /etc/rc.d/rc.ptpd start +fi + # Start the Network Time Protocol daemon: if [[ -x /etc/rc.d/rc.ntpd ]]; then /etc/rc.d/rc.ntpd start diff --git a/etc/rc.d/rc.library.source b/etc/rc.d/rc.library.source index a37043f06..3dc4bfdbf 100644 --- a/etc/rc.d/rc.library.source +++ b/etc/rc.d/rc.library.source @@ -4,12 +4,20 @@ # # Library used by nfsd, ntpd, rpc, samba, nginx, sshd, avahidaemon, show_interfaces # -# Bergware - created for Unraid OS, December 2023 +# Bergware - created for Unraid OS, December 2024 WIREGUARD="/etc/wireguard" NETWORK_INI="/var/local/emhttp/network.ini" NETWORK_EXTRA="/boot/config/network-extra.cfg" +var(){ + if [[ $# -eq 3 ]]; then + [[ -r "$3" ]] && sed -n "/^\[$1\]\$/,/^\[/p" "$3" | grep -Pom1 "^$2=\"\K[^\"]+" + elif [[ $# -eq 2 ]]; then + [[ -r "$2" ]] && grep -Pom1 "^$1=\"\K[^\"]+" "$2" + fi +} + ipv(){ local t=${1//[^:]} [[ ${#t} -le 1 ]] && echo 4 || echo 6 diff --git a/etc/rc.d/rc.ntpd b/etc/rc.d/rc.ntpd index deedfedc9..532c4a033 100755 --- a/etc/rc.d/rc.ntpd +++ b/etc/rc.d/rc.ntpd @@ -5,15 +5,15 @@ # Start/stop/restart ntpd. # # LimeTech - modified to initialize ntp.conf file from config -# Bergware - modified for Unraid OS, October 2023 +# Bergware - modified for Unraid OS, December 2024 DAEMON="NTP server daemon" CALLER="ntp" NTPD="/usr/sbin/ntpd" OPTIONS="-g -u ntp:ntp" CONF="/etc/ntp.conf" +CFG="/boot/config/plugins/dynamix/dynamix.cfg" IDENT="/boot/config/ident.cfg" -CONFIG="/boot/config/plugins/dynamix/dynamix.cfg" # run & log functions . /etc/rc.d/rc.runlog @@ -39,24 +39,25 @@ ntpd_build(){ echo "interface listen $NET" >>$CONF done fi + NTP_POLL=$(var NTP POLL $CFG) # ntp poll interval may be adjusted to predefined values - if [[ -f $CONFIG ]]; then - NTP_POLL=$(grep -Po '^ntppoll="\K[^"]+' $CONFIG) - if [[ -n $NTP_POLL ]]; then - MINPOLL="minpoll $NTP_POLL" - MAXPOLL="maxpoll $NTP_POLL" - fi + if [[ -n $NTP_POLL ]]; then + MINPOLL="minpoll $NTP_POLL" + MAXPOLL="maxpoll $NTP_POLL" + fi + # allow ntp to use ptp as sync source + if [[ $(var PTP SYNC $CFG) != yes ]]; then + # add configured ntp servers or pools + for n in {1..4}; do + NTP="NTP_SERVER$n" + if [[ -n ${!NTP} ]]; then + # use either server or pool peers depending on remote ntp name + # pools use a round-robin mechanism to get a server out of the pool + [[ ${!NTP} =~ "pool" ]] && PEER=pool || PEER=server + echo "$PEER ${!NTP} iburst $MINPOLL $MAXPOLL" >>$CONF + fi + done fi - # add configured ntp servers or pools - for n in {1..4}; do - NTP="NTP_SERVER$n" - if [[ -n ${!NTP} ]]; then - # use either server or pool peers depending on remote ntp name - # pools use a round-robin mechanism to get a server out of the pool - [[ ${!NTP} =~ "pool" ]] && PEER=pool || PEER=server - echo "$PEER ${!NTP} iburst $MINPOLL $MAXPOLL" >>$CONF - fi - done } ntpd_start(){ @@ -64,7 +65,7 @@ ntpd_start(){ local REPLY # read Unraid settings [[ -r $IDENT ]] && . <(fromdos <$IDENT) - # if ntp not enabled, don't start ntp + # if time sync not enabled, don't start ntp if [[ $USE_NTP != yes ]]; then REPLY="Service not enabled" elif ntpd_running; then @@ -90,7 +91,7 @@ ntpd_stop(){ kill -HUP $(cat /var/run/ntpd.pid) rm -f /var/run/ntpd.pid else - killall --ns $$ -HUP -q ntpd + killall --ns $$ -HUP -q ntpd fi if ! ntpd_running; then REPLY="Stopped"; else REPLY="Failed"; fi fi @@ -107,7 +108,7 @@ ntpd_restart(){ } ntpd_reload(){ - killall --ns $$ -HUP -q ntpd + killall --ns $$ -HUP -q ntpd . <(fromdos <$IDENT) ntpd_build $NTPD $OPTIONS 2>/dev/null diff --git a/etc/rc.d/rc.ptpd b/etc/rc.d/rc.ptpd new file mode 100644 index 000000000..692d7529d --- /dev/null +++ b/etc/rc.d/rc.ptpd @@ -0,0 +1,130 @@ +#!/bin/bash +# +# script: rc.ptpd +# +# Start/stop/restart services ptp4l and phc2sys. +# +# Bergware - created for Unraid OS, December 2024 + +DAEMON="PTP server daemon" +CALLER="ptp" +PTPD="/usr/sbin/ptp4l" +PHC="/usr/sbin/phc2sys" +OPTIONS1="-s -l 5 -f /etc/ptp4l.conf" +OPTIONS2="-a -r -l 5" +CONF="/etc/ptp4l.conf" +CFG="/boot/config/plugins/dynamix/dynamix.cfg" +IDENT="/boot/config/ident.cfg" + +# run & log functions +. /etc/rc.d/rc.runlog + +# library functions +. /etc/rc.d/rc.library.source + +ptpd_running(){ + sleep 0.1 + [[ $(pgrep -cf $PTPD) -gt 0 ]] +} + +ptpd_build(){ + echo "[global]" >$CONF + TRANSPORT=$(var PTP TRANSPORT $CFG) + echo "network_transport $TRANSPORT" >>$CONF + echo "time_stamping $(var PTP CLOCK $CFG)" >>$CONF + [[ $(var PTP MODE $CFG) == unicast ]] && UNICAST=1 || UNICAST=0 + if [[ $UNICAST == 1 ]]; then + echo "unicast_req_duration 60" >>$CONF + echo "" >>$CONF + echo "[unicast_master_table]" >>$CONF + echo "table_id 1" >>$CONF + echo "logQueryInterval 1" >>$CONF + for n in {1..4}; do + PTP=$(var PTP "SERVER$n" $CFG) + [[ -n $PTP ]] && echo "$TRANSPORT $PTP" >>$CONF + done + fi + echo "" >>$CONF + echo "[$(var PTP PORT $CFG)]" >>$CONF + [[ $UNICAST == 1 ]] && echo "unicast_master_table 1" >>$CONF +} + +ptpd_start(){ + log "Starting $DAEMON..." + local REPLY + # read Unraid settings + [[ -r $IDENT ]] && . <(fromdos <$IDENT) + # if time sync not enabled, don't start ptp + if [[ $USE_NTP != yes ]]; then + REPLY="Service not enabled" + elif [[ $(var PTP SYNC $CFG) == yes || $FORCE == yes ]]; then + if ptpd_running; then + REPLY="Already started" + else + # generate our config file + ptpd_build + $PTPD $OPTIONS1 &>/dev/null & + if ptpd_running; then + $PHC $OPTIONS2 &>/dev/null & + REPLY="Started" + else + REPLY="Failed" + fi + fi + else + REPLY="Not started" + fi + log "$DAEMON... $REPLY." +} + +ptpd_stop(){ + log "Stopping $DAEMON..." + local REPLY + if ! ptpd_running; then + REPLY="Already stopped" + else + pkill -f $PTPD 2>/dev/null + pkill -f $PHC 2>/dev/null + if ! ptpd_running; then REPLY="Stopped"; else REPLY="Failed"; fi + fi + log "$DAEMON... $REPLY." +} + +ptpd_restart(){ + log "Restarting $DAEMON..." + ptpd_stop + sleep 1 + ptpd_start +} + +ptpd_status(){ + if ptpd_running; then + echo "$DAEMON is currently running." + else + echo "$DAEMON is not running." + exit 1 + fi +} + +case "$1" in +'start') + ptpd_start + ;; +'forcestart') + FORCE=yes + ptpd_start + ;; +'stop') + ptpd_stop + ;; +'restart') + ptpd_restart + ;; +'status') + ptpd_status + ;; +*) + echo "Usage: $BASENAME start|forcestart|stop|restart|status" + exit 1 +esac +exit 0 From 051529b33ee0ecd1deec5007383d69a5d36ce6a3 Mon Sep 17 00:00:00 2001 From: bergware Date: Sat, 14 Dec 2024 15:38:51 +0100 Subject: [PATCH 338/794] Make script executable --- etc/rc.d/rc.ptpd | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 etc/rc.d/rc.ptpd diff --git a/etc/rc.d/rc.ptpd b/etc/rc.d/rc.ptpd old mode 100644 new mode 100755 From a3d2aa5b61f02967a726c389f62098c4c051546a Mon Sep 17 00:00:00 2001 From: Squidly271 Date: Sat, 14 Dec 2024 09:44:57 -0500 Subject: [PATCH 339/794] Switch CA Install URL to new repository --- emhttp/plugins/dynamix/Apps.page | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix/Apps.page b/emhttp/plugins/dynamix/Apps.page index 7e4d064cc..bf8efacaf 100644 --- a/emhttp/plugins/dynamix/Apps.page +++ b/emhttp/plugins/dynamix/Apps.page @@ -23,7 +23,7 @@ function installPlugin(file) {
    _(Click **Install** to download and install the **Community Applications** plugin)_
    - +   : From bb4b76e70027cbd7fdf2201e7b181fbc781b809d Mon Sep 17 00:00:00 2001 From: SimonFair <39065407+SimonFair@users.noreply.github.com> Date: Sat, 14 Dec 2024 17:29:12 +0000 Subject: [PATCH 340/794] Fix for qcow2 file additions. --- emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php | 1 + 1 file changed, 1 insertion(+) diff --git a/emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php b/emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php index 616cbd878..610bd2ab9 100644 --- a/emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php +++ b/emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php @@ -2217,6 +2217,7 @@ $(function() { $disk_file_sections.filter('.advanced').removeClass('advanced').addClass('wasadvanced'); $disk_input.attr('name', $disk_input.attr('name').replace('new', 'image')); + if (info.isfile) $table.find('.disk_driver').val(info.format); } else { $disk_file_sections.filter('.wasadvanced').removeClass('wasadvanced').addClass('advanced'); slideDownRows($disk_file_sections.not(isVMAdvancedMode() ? '.basic' : '.advanced')); From 827db046c491bee76c1219e5e5488274154fe738 Mon Sep 17 00:00:00 2001 From: dlandon Date: Sat, 14 Dec 2024 16:49:29 -0600 Subject: [PATCH 341/794] Only do 'lsof' command on disks and shares; add timeout so it doesn't hang. --- emhttp/plugins/dynamix/nchan/update_1 | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/emhttp/plugins/dynamix/nchan/update_1 b/emhttp/plugins/dynamix/nchan/update_1 index d60d21881..43e0340f4 100755 --- a/emhttp/plugins/dynamix/nchan/update_1 +++ b/emhttp/plugins/dynamix/nchan/update_1 @@ -28,6 +28,10 @@ require_once "$docroot/webGui/include/Translations.php"; // remember current language $locale_init = $locale; +/* Parse the ini files */ +$shares = parse_ini_file('state/shares.ini', true); +$disks = parse_ini_file('state/disks.ini', true); + function update_translation($locale) { global $docroot,$language; $language = []; @@ -91,10 +95,25 @@ while (true) { } // add fans information if (count($fans)) $echo['fan'] = array_map(function($fan){return "$fan RPM";},$fans); + // add streams information - exec('LANG="en_US.UTF8" lsof -Fn /mnt/* 2>/dev/null|awk -F/ \'$1=="n" && $2=="mnt" && $5!="" {print $4"/"$5"/"$6"/"$7}\'|sort -u|awk -F/ \'{print $1}\'',$lsof); - $share = array_keys(parse_ini_file("$varroot/shares.ini",true)); - $count = array_count_values($lsof); + /* Extract keys from both ini files */ + $paths = array_merge(array_keys($shares), array_keys($disks)); + + /* Construct the list of paths */ + $mnt_paths = array_map(function($key) { + return '/mnt/'.escapeshellarg($key); + }, $paths); + + /* Combine paths into the command */ + $mnt_list = implode(' ', $mnt_paths); + + /* Build and execute the modified command */ + $command = 'LANG="en_US.UTF8" timeout 3 lsof -Fn '.$mnt_list.' 2>/dev/null | awk -F/ \'$1=="n" && $2=="mnt" && $5!="" {print $4"/"$5"/"$6"/"$7}\' | sort -u | awk -F/ \'{print $1}\''; + exec($command, $lsof); + + $share = array_keys($shares); + $count = array_count_values($lsof ?? array()); foreach ($share as $name) $echo['stream'][] = $count[$name]??0; $echo = json_encode($echo); $md5_new = md5($echo,true); From 51e9caf2c2c9d48da82587f76aa39a9bf18e8249 Mon Sep 17 00:00:00 2001 From: dlandon Date: Sat, 14 Dec 2024 17:03:19 -0600 Subject: [PATCH 342/794] Change password fields to type='password' and store passwords properly to allow use of special characters. --- emhttp/plugins/dynamix/OutgoingProxy.page | 62 +++++++------- .../plugins/dynamix/include/OutgoingProxy.php | 56 ++++++------- .../dynamix/include/OutgoingProxyLib.php | 81 ++++++++++--------- emhttp/plugins/dynamix/scripts/outgoingproxy | 7 +- 4 files changed, 107 insertions(+), 99 deletions(-) diff --git a/emhttp/plugins/dynamix/OutgoingProxy.page b/emhttp/plugins/dynamix/OutgoingProxy.page index da0ad530b..bd3d709dc 100644 --- a/emhttp/plugins/dynamix/OutgoingProxy.page +++ b/emhttp/plugins/dynamix/OutgoingProxy.page @@ -15,15 +15,15 @@ Tag="icon-network" * all copies or substantial portions of the Software. */ -$opmPlugin = "dynamix"; -require_once("plugins/".$opmPlugin."/include/OutgoingProxyLib.php"); +require_once("plugins/dynamix/include/OutgoingProxyLib.php"); /* Parse the plugin config file. */ $cfg = parse_plugin_config(); /* Pid file used to track the Running/Stopped status. */ -$opm_pid = "OutgoingProxy"; -$pid_file = "/var/run/".$opm_pid.".pid"; +$opm_pid = "OutgoingProxy"; +$pid_file = OPM_PID_FILE; + $cfg['proxy_active'] = $cfg['proxy_active'] ?? "0"; if ($cfg['proxy_active'] != "0") { file_put_contents($pid_file, "running"); @@ -32,9 +32,9 @@ if ($cfg['proxy_active'] != "0") { } /* Be sure proxy_mames are defined */ -$cfg['proxy_name_1'] = $cfg['proxy_name_1'] ?? ""; -$cfg['proxy_name_2'] = $cfg['proxy_name_2'] ?? ""; -$cfg['proxy_name_3'] = $cfg['proxy_name_3'] ?? ""; +$cfg['proxy_name_1'] = htmlspecialchars($cfg['proxy_name_1']) ?? ""; +$cfg['proxy_name_2'] = htmlspecialchars($cfg['proxy_name_2']) ?? ""; +$cfg['proxy_name_3'] = htmlspecialchars($cfg['proxy_name_3']) ?? ""; /* Parse the url, user, and password from the full url for proxy 1. */ $url_array = get_proxy_info($cfg['proxy_url_1'] ?? "", $cfg['proxy_user_1'] ?? "", $cfg['proxy_pass_1'] ?? ""); @@ -59,23 +59,20 @@ $proxy_3_url = $url_array['full_url']; ?> - - + +

    _(Enable Outgoing Proxy)_

    _(Select Proxy)_: : +: :outgoing_proxy_name_plug: > Outgoing Proxy name for this Proxy. :end _(URL)_: -: +: :outgoing_proxy_url_plug: > Outgoing Proxy URL for this Proxy. The URL can be entered with or without credentials. The credentials will be parsed from the URL. @@ -109,14 +106,14 @@ _(URL)_: :end _(User)_: -: +: :outgoing_proxy_user_plug: > Outgoing Proxy User Name for this Proxy. :end _(Password)_: -: +: :outgoing_proxy_password_plug: > Outgoing Proxy Password for this Proxy. @@ -124,14 +121,14 @@ _(Password)_:

    _(Outgoing Proxy)_ 2

    _(Name)_: -: +: :outgoing_proxy_name_plug: > Outgoing Proxy name for this Proxy. :end _(URL)_: -: +: :outgoing_proxy_url_plug: > Outgoing Proxy URL for this Proxy. The URL can be entered with or without credentials. The credentials will be parsed from the URL. @@ -140,14 +137,14 @@ _(URL)_: :end _(User)_: -: +: :outgoing_proxy_user_plug: > Outgoing Proxy User Name for this Proxy. :end _(Password)_: -: +: :outgoing_proxy_password_plug: > Outgoing Proxy Password for this Proxy. @@ -155,14 +152,14 @@ _(Password)_:

    _(Outgoing Proxy)_ 3

    _(Name)_: -: +: :outgoing_proxy_name_plug: > Outgoing Proxy name for this Proxy. :end _(URL)_: -: +: :outgoing_proxy_url_plug: > Outgoing Proxy URL for this Proxy. The URL can be entered with or without credentials. The credentials will be parsed from the URL. @@ -171,14 +168,14 @@ _(URL)_: :end _(User)_: -: +: :outgoing_proxy_user_plug: > Outgoing Proxy User Name for this Proxy. :end _(Password)_: -: +: :outgoing_proxy_password_plug: > Outgoing Proxy Password for this Proxy. @@ -190,13 +187,20 @@ _(Password)_: diff --git a/emhttp/plugins/dynamix/include/OutgoingProxy.php b/emhttp/plugins/dynamix/include/OutgoingProxy.php index 4ea3c6209..68386886b 100644 --- a/emhttp/plugins/dynamix/include/OutgoingProxy.php +++ b/emhttp/plugins/dynamix/include/OutgoingProxy.php @@ -9,42 +9,42 @@ * all copies or substantial portions of the Software. */ -$opmPlugin = "dynamix"; -require_once("plugins/".$opmPlugin."/include/OutgoingProxyLib.php"); +require_once("plugins/dynamix/include/OutgoingProxyLib.php"); -switch ($_POST['action']) { +function get_proxy_status($proxy_url, $proxy_active, $index) { + if (!$proxy_url) { + return ""; + } + + return proxy_online($proxy_url) + ? ($proxy_active == $index ? "Active" : "") + : ($proxy_active == $index ? "Offline" : "Not Available"); +} + +$action = htmlspecialchars($_POST['action'] ?? '', ENT_QUOTES, 'UTF-8'); + +switch ($action) { case 'proxy_status': - /* Get the active proxy. */ - $proxy_active = urldecode($_POST['proxy_active']); + /* Sanitize inputs. */ + $proxy_active = htmlspecialchars($_POST['proxy_active'] ?? '', ENT_QUOTES, 'UTF-8'); + $proxy_urls = [ + '1' => filter_var($_POST['proxy_1_url'] ?? '', FILTER_SANITIZE_URL), + '2' => filter_var($_POST['proxy_2_url'] ?? '', FILTER_SANITIZE_URL), + '3' => filter_var($_POST['proxy_3_url'] ?? '', FILTER_SANITIZE_URL), + ]; - /* Get the proxy 1 status. */ - $proxy_1_url = urldecode($_POST['proxy_1_url']); - if ($proxy_1_url) { - $proxy_1_status = proxy_online($proxy_1_url) ? ($proxy_active == "1" ? "Active" : "") : ($proxy_active == "1" ? "Offline" : "Not Available"); - } else { - $proxy_1_status = ""; + /* Generate response. */ + $response = []; + foreach ($proxy_urls as $key => $url) { + $response["proxy_status_{$key}"] = get_proxy_status($url, $proxy_active, $key); } - /* Get the proxy 2 status. */ - $proxy_2_url = urldecode($_POST['proxy_2_url']); - if ($proxy_2_url) { - $proxy_2_status = proxy_online($proxy_2_url) ? ($proxy_active == "2" ? "Active" : "") : ($proxy_active == "2" ? "Offline" : "Not Available"); - } else { - $proxy_2_status = ""; - } - /* Get the proxy 3 status. */ - $proxy_3_url = urldecode($_POST['proxy_3_url']); - if ($proxy_3_url) { - $proxy_3_status = proxy_online($proxy_3_url) ? ($proxy_active == "3" ? "Active" : "") : ($proxy_active == "3" ? "Offline" : "Not Available"); - } else { - $proxy_3_status = ""; - } - - echo json_encode(array( 'proxy_status_1' => $proxy_1_status, 'proxy_status_2' => $proxy_2_status, 'proxy_status_3' => $proxy_3_status )); + /* Output response as JSON. */ + echo json_encode($response); break; default: - outgoingproxy_log("Undefined POST action - ".$_POST['action']."."); + outgoingproxy_log("Undefined POST action - " . htmlspecialchars($action, ENT_QUOTES, 'UTF-8') . "."); break; } ?> diff --git a/emhttp/plugins/dynamix/include/OutgoingProxyLib.php b/emhttp/plugins/dynamix/include/OutgoingProxyLib.php index 0bdd8ac6c..4cc3e207a 100644 --- a/emhttp/plugins/dynamix/include/OutgoingProxyLib.php +++ b/emhttp/plugins/dynamix/include/OutgoingProxyLib.php @@ -9,38 +9,39 @@ * all copies or substantial portions of the Software. */ -$opmPlugin = "dynamix"; +/* Base paths */ +define('BASE_RUN_PATH', '/var/run'); +define('PLUGIN_SCRIPTS_PATH', '/plugins/dynamix/scripts'); +define('PLUGIN_INCLUDE_PATH', '/plugins/dynamix/include'); + +/* Specific paths */ +define('OPM_PID_FILE', BASE_RUN_PATH . '/OutgoingProxy.pid'); +define('OUTGOING_PROXY_SCRIPT', PLUGIN_SCRIPTS_PATH . '/outgoingproxy'); +define('OUTGOING_PROXY_INCLUDE', PLUGIN_INCLUDE_PATH . '/OutgoingProxy.php'); /* UI config file location. */ -$plg_config_file = "/boot/config/plugins/".$opmPlugin."/outgoingproxy.cfg"; +define('PLG_CONFIG_FILE', '/boot/config/plugins/dynamix/outgoingproxy.cfg'); /* Outgoing Proxy Manager logging tag. */ -$opm_log = "Outgoing Proxy Manager"; +DEFINE('OPM_LOG', '"Outgoing Proxy Manager"'); /* Outgoing Proxy logging. */ function outgoingproxy_log($m) { - global $opm_log; - $m = print_r($m,true); $m = str_replace("\n", " ", $m); $m = str_replace('"', "'", $m); - exec("/usr/bin/logger"." ".escapeshellarg($m)." -t ".escapeshellarg($opm_log)); + exec("/usr/bin/logger"." ".escapeshellarg($m)." -t ".OPM_LOG); } /* Parse plugin config file. */ function parse_plugin_config() { - global $plg_config_file; - - $cfg = is_file($plg_config_file) ? @parse_ini_file($plg_config_file, true) : array(); + $cfg = is_file(PLG_CONFIG_FILE) ? @parse_ini_file(PLG_CONFIG_FILE, true) : array(); return($cfg); } /* Write values to plugin config file. */ function write_plugin_config($config) { - global $plg_config_file; - - /* Rewrite config file. */ /* Convert the array to an INI string. */ $iniString = ''; foreach ($config as $key => $value) { @@ -48,7 +49,7 @@ function write_plugin_config($config) { } /* Write the INI string to a file. */ - file_put_contents($plg_config_file, $iniString); + file_put_contents(PLG_CONFIG_FILE, $iniString); } /* Check to see if the proxy is online and available. */ @@ -153,39 +154,43 @@ function set_config($variable, $value) { write_plugin_config($config); } -/* Encrypt data. */ function encrypt_data($data) { - $key = get_config("key"); - if ((! $key) || strlen($key) != 32) { - $key = substr(base64_encode(openssl_random_pseudo_bytes(32)), 0, 32); - set_config("key", $key); - } - $iv = get_config("iv"); - if ((! $iv) || strlen($iv) != 16) { - $iv = substr(base64_encode(openssl_random_pseudo_bytes(16)), 0, 16); - set_config("iv", $iv); - } + $key = get_config("key"); + if (!$key || strlen($key) != 32) { + $key = substr(base64_encode(openssl_random_pseudo_bytes(32)), 0, 32); + set_config("key", $key); + } + $iv = get_config("iv"); + if (!$iv || strlen($iv) != 16) { + $iv = substr(base64_encode(openssl_random_pseudo_bytes(16)), 0, 16); + set_config("iv", $iv); + } - /* Encrypt the data using aes256. */ - $value = trim(openssl_encrypt($data, 'aes256', $key, $options=0, $iv)); + /* Encrypt the data using aes-256-cbc (ensure mode and padding are specified). */ + $encrypted = openssl_encrypt($data, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv); - return $value; + /* Base64 encode the encrypted data. */ + $value = base64_encode($encrypted); + + return $value; } -/* Decrypt data. */ function decrypt_data($data) { - $key = get_config("key"); - $iv = get_config("iv"); + $key = get_config("key"); + $iv = get_config("iv"); - /* Decrypt the data using aes256. */ - $value = openssl_decrypt($data, 'aes256', $key, $options=0, $iv); + /* Base64 decode before decryption. */ + $encrypted_data = base64_decode(stripslashes($data)); - /* Make sure the data is UTF-8 encoded. */ - if (! mb_check_encoding($value, 'UTF-8')) { - outgoingproxy_log("Warning: Data is not UTF-8 encoded"); - $value = ""; - } + /* Decrypt the data using aes-256-cbc. */ + $decrypted = openssl_decrypt($encrypted_data, 'aes-256-cbc', $key, OPENSSL_RAW_DATA, $iv); - return $value; + /* Ensure the decrypted data is UTF-8 encoded. */ + if (!mb_check_encoding($decrypted, 'UTF-8')) { + unassigned_log("Warning: Data is not UTF-8 encoded"); + $decrypted = ""; + } + + return $decrypted; } ?> diff --git a/emhttp/plugins/dynamix/scripts/outgoingproxy b/emhttp/plugins/dynamix/scripts/outgoingproxy index 5962acb08..0c1e69acb 100755 --- a/emhttp/plugins/dynamix/scripts/outgoingproxy +++ b/emhttp/plugins/dynamix/scripts/outgoingproxy @@ -10,8 +10,7 @@ * all copies or substantial portions of the Software. */ -$opmPlugin = "dynamix"; -require_once("plugins/".$opmPlugin."/include/OutgoingProxyLib.php"); +require_once("plugins/dynamix/include/OutgoingProxyLib.php"); /* Save settings and update config. */ function apply() { @@ -63,7 +62,7 @@ function apply() { $cfg_pass = $cfg[$proxy_pass] ?? ""; $cfg[$proxy_pass] = $cfg_pass ? $cfg_pass : urldecode($pass); $encodedPass = (strpos($cfg[$proxy_pass], '%') === false) ? urlencode($cfg[$proxy_pass]) : $cfg[$proxy_pass]; - $cfg[$proxy_pass] = encrypt_data($cfg[$proxy_pass]); + $cfg[$proxy_pass] = addslashes(encrypt_data($cfg[$proxy_pass])); } else { /* The string does not contain 'http://' and/or a port designation at the end */ $cfg[$proxy_url] = ""; @@ -81,7 +80,7 @@ function apply() { } /* Write the INI string to the plugin config file. */ - file_put_contents($plg_config_file, $iniString); + file_put_contents(PLG_CONFIG_FILE, $iniString); /* Let things settle. */ sleep(1); From 8616faad598a363be56d0f21586de33408c0a7a8 Mon Sep 17 00:00:00 2001 From: SimonFair <39065407+SimonFair@users.noreply.github.com> Date: Sun, 15 Dec 2024 09:14:11 +0000 Subject: [PATCH 343/794] Add support to detect auto gpu in use. --- emhttp/plugins/dynamix.vm.manager/include/libvirt.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/emhttp/plugins/dynamix.vm.manager/include/libvirt.php b/emhttp/plugins/dynamix.vm.manager/include/libvirt.php index 5a0a1784c..0c5f3a083 100644 --- a/emhttp/plugins/dynamix.vm.manager/include/libvirt.php +++ b/emhttp/plugins/dynamix.vm.manager/include/libvirt.php @@ -2221,6 +2221,8 @@ $var = $tmp[0]; unset($tmp); + + if (!str_contains($var,"pci")) $var = trim(shell_exec("udevadm info -q symlink -r $var")); $var = str_replace(['/dev/dri/by-path/pci-0000:','-render'],['',''],$var); return $var; } From 3839ea4ee2f84f51b75f015cb8a4ef7b9857b297 Mon Sep 17 00:00:00 2001 From: SimonFair <39065407+SimonFair@users.noreply.github.com> Date: Sun, 15 Dec 2024 09:25:36 +0000 Subject: [PATCH 344/794] Fix for menu popup if double quotes in name. --- emhttp/plugins/dynamix.vm.manager/include/VMMachines.php | 2 +- emhttp/plugins/dynamix/include/DashboardApps.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/emhttp/plugins/dynamix.vm.manager/include/VMMachines.php b/emhttp/plugins/dynamix.vm.manager/include/VMMachines.php index 820a53f79..04de17132 100644 --- a/emhttp/plugins/dynamix.vm.manager/include/VMMachines.php +++ b/emhttp/plugins/dynamix.vm.manager/include/VMMachines.php @@ -113,7 +113,7 @@ foreach ($vms as $vm) { unset($dom); if (!isset($domain_cfg["CONSOLE"])) $vmrcconsole = "web" ; else $vmrcconsole = $domain_cfg["CONSOLE"] ; if (!isset($domain_cfg["RDPOPT"])) $vmrcconsole .= ";no" ; else $vmrcconsole .= ";".$domain_cfg["RDPOPT"] ; - $menu = sprintf("onclick=\"addVMContext('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s', '%s')\"", addslashes($vm),addslashes($uuid),addslashes($template),$state,addslashes($vmrcurl),strtoupper($vmrcprotocol),addslashes($log),addslashes($fstype), $vmrcconsole,false,addslashes(str_replace('"',"'",$WebUI))); + $menu = sprintf("onclick=\"addVMContext('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s', '%s')\"", htmlentities($vm, ENT_QUOTES),addslashes($uuid),addslashes($template),$state,addslashes($vmrcurl),strtoupper($vmrcprotocol),htmlentities($log,ENT_QUOTES),addslashes($fstype), $vmrcconsole,false,addslashes(str_replace('"',"'",$WebUI))); $kvm[] = "kvm.push({id:'$uuid',state:'$state'});"; switch ($state) { case 'running': diff --git a/emhttp/plugins/dynamix/include/DashboardApps.php b/emhttp/plugins/dynamix/include/DashboardApps.php index 871d29abb..919573871 100644 --- a/emhttp/plugins/dynamix/include/DashboardApps.php +++ b/emhttp/plugins/dynamix/include/DashboardApps.php @@ -126,7 +126,7 @@ if ($_POST['vms']) { if (!isset($domain_cfg["CONSOLE"])) $vmrcconsole = "web" ; else $vmrcconsole = $domain_cfg["CONSOLE"] ; if (!isset($domain_cfg["RDPOPT"])) $vmrcconsole .= ";no" ; else $vmrcconsole .= ";".$domain_cfg["RDPOPT"] ; $WebUI = html_entity_decode($arrConfig["template"]["webui"]); - $menu = sprintf("onclick=\"addVMContext('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')\"", addslashes($vm), addslashes($uuid), addslashes($template), $state, addslashes($vmrcurl), strtoupper($vmrcprotocol), addslashes($log),addslashes($fstype), $vmrcconsole,false,addslashes(str_replace('"',"'",$WebUI))); + $menu = sprintf("onclick=\"addVMContext('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')\"", htmlentities($log,ENT_QUOTES), addslashes($uuid), addslashes($template), $state, addslashes($vmrcurl), strtoupper($vmrcprotocol), htmlentities($log,ENT_QUOTES),addslashes($fstype), $vmrcconsole,false,addslashes(str_replace('"',"'",$WebUI))); $icon = $lv->domain_get_icon_url($res); switch ($state) { case 'running': From b454a9b7330d99444491585d63d076ce222a4b99 Mon Sep 17 00:00:00 2001 From: dlandon Date: Sun, 15 Dec 2024 06:11:25 -0600 Subject: [PATCH 345/794] Only do lsof on valid mount points. --- emhttp/plugins/dynamix/nchan/update_1 | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/emhttp/plugins/dynamix/nchan/update_1 b/emhttp/plugins/dynamix/nchan/update_1 index 43e0340f4..dd6ad1cb1 100755 --- a/emhttp/plugins/dynamix/nchan/update_1 +++ b/emhttp/plugins/dynamix/nchan/update_1 @@ -98,12 +98,19 @@ while (true) { // add streams information /* Extract keys from both ini files */ - $paths = array_merge(array_keys($shares), array_keys($disks)); + $paths = array_keys($disks); + + /* Validate and filter accessible mount points */ + $valid_paths = array_filter($paths, function($key) { + $mnt_path = '/mnt/' . $key; + /* Check if the directory exists and is a valid mount point */ + return is_dir($mnt_path) && trim(shell_exec("mountpoint -q " . escapeshellarg($mnt_path) . " && echo 1")) === '1'; + }); /* Construct the list of paths */ $mnt_paths = array_map(function($key) { return '/mnt/'.escapeshellarg($key); - }, $paths); + }, $valid_paths); /* Combine paths into the command */ $mnt_list = implode(' ', $mnt_paths); From f23caceceeb36aae6ec9b88ea29350992f458c2e Mon Sep 17 00:00:00 2001 From: Squidly271 Date: Sun, 15 Dec 2024 19:50:01 -0500 Subject: [PATCH 346/794] Fix PHP8 warning --- emhttp/plugins/dynamix.apcupsd/include/UPSstatus.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/emhttp/plugins/dynamix.apcupsd/include/UPSstatus.php b/emhttp/plugins/dynamix.apcupsd/include/UPSstatus.php index a4a479922..18eb58313 100644 --- a/emhttp/plugins/dynamix.apcupsd/include/UPSstatus.php +++ b/emhttp/plugins/dynamix.apcupsd/include/UPSstatus.php @@ -1,6 +1,6 @@ 0 ? "$power W" : "$power W"; } - if ($power && isset($load)) $status[5] = ($load<90 ? "" : "").round($power*$load/100)." W (".$status[5].")"; + if ( ($power??false) && isset($load)) $status[5] = ($load<90 ? "" : "").round($power*$load/100)." W (".$status[5].")"; elseif (isset($load)) $status[5] = ($load<90 ? "" : "").$status[5].""; $status[6] = isset($output) ? ((!$volt || ($minv<$output && $output<$maxv) ? "" : "").$status[6].(isset($freq) ? " ~ $freq Hz" : "")."") : $status[6]; } From 21c4f704982c6789270adcf387dd9111e9a68aca Mon Sep 17 00:00:00 2001 From: Derek Kaser <11674153+dkaser@users.noreply.github.com> Date: Mon, 16 Dec 2024 04:39:20 +0000 Subject: [PATCH 347/794] fix: stop knfsd by setting threads to 0 --- etc/rc.d/rc.nfsd | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/etc/rc.d/rc.nfsd b/etc/rc.d/rc.nfsd index a06726753..3f47beea0 100755 --- a/etc/rc.d/rc.nfsd +++ b/etc/rc.d/rc.nfsd @@ -105,9 +105,7 @@ nfsd_stop(){ REPLY="Already stopped" else killall --ns $$ rpc.mountd 2>/dev/null - killall --ns $$ nfsd 2>/dev/null - sleep 1 - killall --ns $$ -9 nfsd 2>/dev/null + run $NFSD 0 killall --ns $$ rpc.rquotad 2>/dev/null run $EXPORTFS -au if ! nfsd_running; then REPLY="Stopped"; else REPLY="Failed"; fi From f3c1fec95b02f0c9f6e81148f959580420468cc0 Mon Sep 17 00:00:00 2001 From: Derek Kaser <11674153+dkaser@users.noreply.github.com> Date: Mon, 16 Dec 2024 04:39:34 +0000 Subject: [PATCH 348/794] fix: restart nfsd if interfaces change --- etc/rc.d/rc.nfsd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/etc/rc.d/rc.nfsd b/etc/rc.d/rc.nfsd index 3f47beea0..ec4831f97 100755 --- a/etc/rc.d/rc.nfsd +++ b/etc/rc.d/rc.nfsd @@ -128,7 +128,7 @@ nfsd_reload(){ nfsd_update(){ if nfsd_running && check && [[ "$(this)" != "-H ${BIND// / -H }" ]]; then log "Updating $DAEMON..." - nfsd_reload + nfsd_restart fi } From a6905bc3ad85efe5591b4202bc572e8162517e6e Mon Sep 17 00:00:00 2001 From: dlandon Date: Mon, 16 Dec 2024 06:56:52 -0600 Subject: [PATCH 349/794] Use $varroot for the shares.ini file. --- emhttp/plugins/dynamix/nchan/update_1 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/emhttp/plugins/dynamix/nchan/update_1 b/emhttp/plugins/dynamix/nchan/update_1 index dd6ad1cb1..f26c3bc8a 100755 --- a/emhttp/plugins/dynamix/nchan/update_1 +++ b/emhttp/plugins/dynamix/nchan/update_1 @@ -29,7 +29,7 @@ require_once "$docroot/webGui/include/Translations.php"; $locale_init = $locale; /* Parse the ini files */ -$shares = parse_ini_file('state/shares.ini', true); +$shares = parse_ini_file($varroot.'/shares.ini', true); $disks = parse_ini_file('state/disks.ini', true); function update_translation($locale) { @@ -97,7 +97,6 @@ while (true) { if (count($fans)) $echo['fan'] = array_map(function($fan){return "$fan RPM";},$fans); // add streams information - /* Extract keys from both ini files */ $paths = array_keys($disks); /* Validate and filter accessible mount points */ From e27e33cc73d3c1195205a43add9694838aa6b244 Mon Sep 17 00:00:00 2001 From: dlandon Date: Mon, 16 Dec 2024 13:48:15 -0600 Subject: [PATCH 350/794] Revert "Use $varroot for the shares.ini file." This reverts commit a6905bc3ad85efe5591b4202bc572e8162517e6e. --- emhttp/plugins/dynamix/nchan/update_1 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix/nchan/update_1 b/emhttp/plugins/dynamix/nchan/update_1 index f26c3bc8a..dd6ad1cb1 100755 --- a/emhttp/plugins/dynamix/nchan/update_1 +++ b/emhttp/plugins/dynamix/nchan/update_1 @@ -29,7 +29,7 @@ require_once "$docroot/webGui/include/Translations.php"; $locale_init = $locale; /* Parse the ini files */ -$shares = parse_ini_file($varroot.'/shares.ini', true); +$shares = parse_ini_file('state/shares.ini', true); $disks = parse_ini_file('state/disks.ini', true); function update_translation($locale) { @@ -97,6 +97,7 @@ while (true) { if (count($fans)) $echo['fan'] = array_map(function($fan){return "$fan RPM";},$fans); // add streams information + /* Extract keys from both ini files */ $paths = array_keys($disks); /* Validate and filter accessible mount points */ From 746b732de1d96dffc2a4f63de3992f1aadf52396 Mon Sep 17 00:00:00 2001 From: dlandon Date: Mon, 16 Dec 2024 17:39:12 -0600 Subject: [PATCH 351/794] Change sanitation to where variables are used in drop down. --- emhttp/plugins/dynamix/OutgoingProxy.page | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/emhttp/plugins/dynamix/OutgoingProxy.page b/emhttp/plugins/dynamix/OutgoingProxy.page index bd3d709dc..bae4eac28 100644 --- a/emhttp/plugins/dynamix/OutgoingProxy.page +++ b/emhttp/plugins/dynamix/OutgoingProxy.page @@ -32,9 +32,9 @@ if ($cfg['proxy_active'] != "0") { } /* Be sure proxy_mames are defined */ -$cfg['proxy_name_1'] = htmlspecialchars($cfg['proxy_name_1']) ?? ""; -$cfg['proxy_name_2'] = htmlspecialchars($cfg['proxy_name_2']) ?? ""; -$cfg['proxy_name_3'] = htmlspecialchars($cfg['proxy_name_3']) ?? ""; +$cfg['proxy_name_1'] = $cfg['proxy_name_1'] ?? ""; +$cfg['proxy_name_2'] = $cfg['proxy_name_2'] ?? ""; +$cfg['proxy_name_3'] = $cfg['proxy_name_3'] ?? ""; /* Parse the url, user, and password from the full url for proxy 1. */ $url_array = get_proxy_info($cfg['proxy_url_1'] ?? "", $cfg['proxy_user_1'] ?? "", $cfg['proxy_pass_1'] ?? ""); @@ -68,13 +68,13 @@ _(Select Proxy)_: : From ac882976c7ea6a6d80251f89d662ab359c0f98f9 Mon Sep 17 00:00:00 2001 From: dlandon Date: Tue, 17 Dec 2024 06:26:06 -0600 Subject: [PATCH 352/794] Last set of changes did not stick. --- emhttp/plugins/dynamix/ShareEdit.page | 42 ++++++++++++++++++--------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/emhttp/plugins/dynamix/ShareEdit.page b/emhttp/plugins/dynamix/ShareEdit.page index 093ad9ff6..126757e1b 100644 --- a/emhttp/plugins/dynamix/ShareEdit.page +++ b/emhttp/plugins/dynamix/ShareEdit.page @@ -57,7 +57,7 @@ if ((! $share['cachePool']) && ($share['cachePool2'])) { } /* Check for non existent pool device. */ -if ($share['cachePool'] && !in_array($share['cachePool'], $pools)) { +if (($share['cachePool'] && !in_array($share['cachePool'], $pools)) || ($poolsOnly && !$share['cachePool'])) { $poolDefined = false; $share['useCache'] = $share['cachePool2'] ? "yes" : ($poolsOnly ? "no" : "yes"); } else { @@ -457,7 +457,7 @@ _(Excluded disk(s))_: -
    +
    _(Secondary storage)_: : @@ -541,14 +541,10 @@ _(Mover action)_:   : -
    -_(Delete)_ +
    + :
    -
    -  -: -
    @@ -633,7 +629,7 @@ function updateScreen(cache, slow) { const moverNoActionText = ""; const moverAction1Text = ""; const moverAction2Text = ""; - + switch (cache) { case 'no': $('#primary option:eq(' + z(0) + ')').prop('selected', true); @@ -762,9 +758,18 @@ function updateScreen(cache, slow) { break; } + /* If primary is "Array", remove secondary storage selection as it does not apply when primary is array. */ + if (primaryDropdown.selectedIndex === 0) { + $('#secondaryStorage').hide(slow); + $('#moverAction').hide(slow); + } else { + $('#secondaryStorage').show(slow); + $('#moverAction').show(slow); + } + /* Check secondary dropdown index and show/hide moreSettings2 */ if (secondaryDropdown.selectedIndex === 1) { - $('#moreSettings2').show('slow'); + $('#moreSettings2').show(slow); } else { $('#moreSettings2').hide(slow); } @@ -1078,7 +1083,7 @@ function writeShare(data, n, i) { } }); toggleButton('writeshare', true); - $('div.spinner.fixed').show('slow'); + $('div.spinner.fixed').show(slow); writeShare(newData, 0, i); } } @@ -1131,7 +1136,7 @@ document.addEventListener('DOMContentLoaded', function() { let cachePoolOption = document.getElementById('cachePoolOption'); let messageSpan = document.getElementById('cachePoolMessage'); - messageSpan.textContent = `${_('Warning: Configured Pool')} '${cachePoolCapitalized}' ${_('is missing')}.`; + messageSpan.textContent = `${_('Warning: Configured Pool')} '${cachePoolCapitalized || _('Array')}' ${_('is missing')}.`; messageSpan.style.display = 'inline'; cachePoolOption.selected = true; @@ -1297,13 +1302,24 @@ function handleDeleteClick(button) { $(function() { + + $.post('/webGui/include/ShareList.php', { scan: "" }, function(e) { if (e == 1) { $('.empty').show(); $('.full').hide(); + /* Enable delete checkbox and update tooltip. */ + $('input[name="confirmDelete"]').prop('disabled', false).attr('title', ''); + $('#deleteLabel').attr('title', ''); } else { $('.full1').hide(); $('.full2').show(); + /* Disable delete checkbox and update tooltip. */ + $('input[name="confirmDelete"]').prop('disabled', true).attr('title', ''); + $('#deleteLabel').attr('title', ''); } }); From c6ba70208114b17e10aa240a6ac33d3f4e4828d5 Mon Sep 17 00:00:00 2001 From: dlandon Date: Tue, 17 Dec 2024 06:52:11 -0600 Subject: [PATCH 353/794] Update ShareList.php --- emhttp/plugins/dynamix/include/ShareList.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/emhttp/plugins/dynamix/include/ShareList.php b/emhttp/plugins/dynamix/include/ShareList.php index 20b64fb85..148d53e7e 100644 --- a/emhttp/plugins/dynamix/include/ShareList.php +++ b/emhttp/plugins/dynamix/include/ShareList.php @@ -214,8 +214,8 @@ foreach ($shares as $name => $share) { $share_valid = true; } - /* When there is no array, all pools are treated as 'only' cache. */ - if (($poolsOnly) && (! $share['cachePool2'])) { + /* When there is no array, all pools are treated as 'only' cache. If useCache is "no" with an array, this is invalid and useCache has to be 'only'. */ + if ((($poolsOnly) && (! $share['cachePool2'])) || ((! $poolsOnly) && ($share['cachePool']) && ($share['useCache'] == "no"))) { $share['useCache'] = 'only'; } From f38ce017b9ea602dc382fb9f7dc79de393d51a21 Mon Sep 17 00:00:00 2001 From: Christoph Date: Tue, 17 Dec 2024 22:57:19 +0100 Subject: [PATCH 354/794] Make Tailscale State dir persistent in xml --- emhttp/plugins/dynamix.docker.manager/include/Helpers.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix.docker.manager/include/Helpers.php b/emhttp/plugins/dynamix.docker.manager/include/Helpers.php index 57fe2658b..6623f604a 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/Helpers.php +++ b/emhttp/plugins/dynamix.docker.manager/include/Helpers.php @@ -124,13 +124,13 @@ function postToXML($post, $setOwnership=false) { } $xml->TailscaleDParams = xml_encode($post['TSdaemonparams']); $xml->TailscaleParams = xml_encode($post['TSextraparams']); - $xml->TailscaleStateDir = xml_encode($post['TSstatedir']); $xml->TailscaleRoutes = xml_encode($post['TSroutes']);; $xml->TailscaleAcceptRoutes = xml_encode($post['TSacceptroutes']);; if (isset($post['TStroubleshooting']) && strtolower($post['TStroubleshooting']) === 'on') { $xml->TailscaleTroubleshooting = 'true'; } } + $xml->TailscaleStateDir = xml_encode($post['TSstatedir']); $dom = new DOMDocument('1.0'); $dom->preserveWhiteSpace = false; $dom->formatOutput = true; From 7383c3a555f0105c7d379ed665c4b19fe071883c Mon Sep 17 00:00:00 2001 From: Christoph Date: Tue, 17 Dec 2024 22:58:51 +0100 Subject: [PATCH 355/794] Fix visual bug with tailscale --- emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php | 1 + 1 file changed, 1 insertion(+) diff --git a/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php b/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php index d08e80c4c..52bb59997 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php +++ b/emhttp/plugins/dynamix.docker.manager/include/CreateDocker.php @@ -1717,6 +1717,7 @@ function showTailscale(source) { $('.TSadvanced').hide(); $('.TSroutes').hide(); $('.TSacceptroutes').hide(); + $('.TStroubleshooting').hide(); } else { // reset these vals back to what they were in the XML $('#TSssh').val(''); From 6554bd233aaba06a5dc802a0c0727d1cdc1fcde2 Mon Sep 17 00:00:00 2001 From: Tom Mortensen Date: Tue, 17 Dec 2024 20:42:15 -0800 Subject: [PATCH 356/794] latest change --- emhttp/plugins/dynamix/ShareEdit.page | 6 ------ 1 file changed, 6 deletions(-) diff --git a/emhttp/plugins/dynamix/ShareEdit.page b/emhttp/plugins/dynamix/ShareEdit.page index 2b9c22096..126757e1b 100644 --- a/emhttp/plugins/dynamix/ShareEdit.page +++ b/emhttp/plugins/dynamix/ShareEdit.page @@ -56,11 +56,6 @@ if ((! $share['cachePool']) && ($share['cachePool2'])) { $share['cachePool2'] = ""; } -/* If useCache is "no" with an array, this is invalid and useCache has to be 'only'. */ -if ((! $poolsOnly) && ($share['useCache'] == "no")) { - $share['useCache'] = 'only'; -} - /* Check for non existent pool device. */ if (($share['cachePool'] && !in_array($share['cachePool'], $pools)) || ($poolsOnly && !$share['cachePool'])) { $poolDefined = false; @@ -645,7 +640,6 @@ function updateScreen(cache, slow) { secondaryDropdown.options[i].disabled = true; } secondaryDropdown.selectedIndex = 0; - checkRequiredSecondary = false; if (poolsOnly) { $('#moverDirection2').hide(); From 8591914a185bb476e931ddcd665014903b66744e Mon Sep 17 00:00:00 2001 From: SimonFair <39065407+SimonFair@users.noreply.github.com> Date: Thu, 19 Dec 2024 08:03:39 +0000 Subject: [PATCH 357/794] Fix Templates CSS --- emhttp/plugins/dynamix.vm.manager/VMTemplates.page | 2 +- emhttp/plugins/dynamix.vm.manager/sheets/VMTemplates-azure.css | 2 +- emhttp/plugins/dynamix.vm.manager/sheets/VMTemplates-black.css | 2 +- emhttp/plugins/dynamix.vm.manager/sheets/VMTemplates-gray.css | 2 +- emhttp/plugins/dynamix.vm.manager/sheets/VMTemplates-white.css | 2 +- emhttp/plugins/dynamix.vm.manager/sheets/VMTemplates.css | 3 --- 6 files changed, 5 insertions(+), 8 deletions(-) diff --git a/emhttp/plugins/dynamix.vm.manager/VMTemplates.page b/emhttp/plugins/dynamix.vm.manager/VMTemplates.page index aa9987861..ce12319e6 100644 --- a/emhttp/plugins/dynamix.vm.manager/VMTemplates.page +++ b/emhttp/plugins/dynamix.vm.manager/VMTemplates.page @@ -46,7 +46,7 @@ Markdown="false" - +
    diff --git a/emhttp/plugins/dynamix.vm.manager/sheets/VMTemplates-azure.css b/emhttp/plugins/dynamix.vm.manager/sheets/VMTemplates-azure.css index 795f64a94..f5548270d 100644 --- a/emhttp/plugins/dynamix.vm.manager/sheets/VMTemplates-azure.css +++ b/emhttp/plugins/dynamix.vm.manager/sheets/VMTemplates-azure.css @@ -1 +1 @@ -.fileTree{background:#f2f2f2;width:300px;max-height:150px;overflow-y:scroll;overflow-x:hidden;position:relative;z-index:100;display:none} \ No newline at end of file +.fileTree{background:#f2f2f2;width:300px;max-height:150px;overflow-y:scroll;overflow-x:hidden;position:absolute;z-index:100;display:none} \ No newline at end of file diff --git a/emhttp/plugins/dynamix.vm.manager/sheets/VMTemplates-black.css b/emhttp/plugins/dynamix.vm.manager/sheets/VMTemplates-black.css index e708a6b28..bc79e2b47 100644 --- a/emhttp/plugins/dynamix.vm.manager/sheets/VMTemplates-black.css +++ b/emhttp/plugins/dynamix.vm.manager/sheets/VMTemplates-black.css @@ -1,2 +1,2 @@ -.fileTree{background:#1c1c1c;width:300px;max-height:150px;overflow-y:scroll;overflow-x:hidden;position:relative;z-index:100;display:none} +.fileTree{background:#1c1c1c;width:300px;max-height:150px;overflow-y:scroll;overflow-x:hidden;position:absolute;z-index:100;display:none} diff --git a/emhttp/plugins/dynamix.vm.manager/sheets/VMTemplates-gray.css b/emhttp/plugins/dynamix.vm.manager/sheets/VMTemplates-gray.css index e708a6b28..bc79e2b47 100644 --- a/emhttp/plugins/dynamix.vm.manager/sheets/VMTemplates-gray.css +++ b/emhttp/plugins/dynamix.vm.manager/sheets/VMTemplates-gray.css @@ -1,2 +1,2 @@ -.fileTree{background:#1c1c1c;width:300px;max-height:150px;overflow-y:scroll;overflow-x:hidden;position:relative;z-index:100;display:none} +.fileTree{background:#1c1c1c;width:300px;max-height:150px;overflow-y:scroll;overflow-x:hidden;position:absolute;z-index:100;display:none} diff --git a/emhttp/plugins/dynamix.vm.manager/sheets/VMTemplates-white.css b/emhttp/plugins/dynamix.vm.manager/sheets/VMTemplates-white.css index bb0fe6cd1..e93340e20 100644 --- a/emhttp/plugins/dynamix.vm.manager/sheets/VMTemplates-white.css +++ b/emhttp/plugins/dynamix.vm.manager/sheets/VMTemplates-white.css @@ -1,2 +1,2 @@ -.fileTree{background:#f2f2f2;width:300px;max-height:150px;overflow-y:scroll;overflow-x:hidden;position:relative;z-index:100;display:none} +.fileTree{background:#f2f2f2;width:300px;max-height:150px;overflow-y:scroll;overflow-x:hidden;position:absolute;z-index:100;display:none} diff --git a/emhttp/plugins/dynamix.vm.manager/sheets/VMTemplates.css b/emhttp/plugins/dynamix.vm.manager/sheets/VMTemplates.css index d3b144267..90565f4fd 100644 --- a/emhttp/plugins/dynamix.vm.manager/sheets/VMTemplates.css +++ b/emhttp/plugins/dynamix.vm.manager/sheets/VMTemplates.css @@ -3,6 +3,3 @@ .vmtemplate img{width:48px;height:48px} .vmtemplate p{text-align:center;margin-top:8px;line-height:12px} div.template,div#dialogWindow,input#upload{display:none} -#resetsort{margin-left:12px;display:inline-block;width:32px} -.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button[disabled]{cursor:default;color:#808080;background:-webkit-gradient(linear,left top,right top,from(#404040),to(#808080)) 0 0 no-repeat,-webkit-gradient(linear,left top,right top,from(#404040),to(#808080)) 0 100% no-repeat,-webkit-gradient(linear,left bottom,left top,from(#404040),to(#404040)) 0 100% no-repeat,-webkit-gradient(linear,left bottom,left top,from(#808080),to(#808080)) 100% 100% no-repeat;background:linear-gradient(90deg,#404040 0,#808080) 0 0 no-repeat,linear-gradient(90deg,#404040 0,#808080) 0 100% no-repeat,linear-gradient(0deg,#404040 0,#404040) 0 100% no-repeat,linear-gradient(0deg,#808080 0,#808080) 100% 100% no-repeat;background-size:100% 2px,100% 2px,2px 100%,2px 100%} -.dropdown-menu{z-index:10001} From 1af5d0de5d6259b07b330605881edf73438f814e Mon Sep 17 00:00:00 2001 From: Tom Mortensen Date: Fri, 20 Dec 2024 11:55:26 -0800 Subject: [PATCH 358/794] improve shutdown clean-up --- etc/rc.d/rc.6 | 10 +++++++++- etc/rc.d/rc.local | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/etc/rc.d/rc.6 b/etc/rc.d/rc.6 index 63d1e4fe1..8368d0f93 100755 --- a/etc/rc.d/rc.6 +++ b/etc/rc.d/rc.6 @@ -259,13 +259,21 @@ fi # This never hurts: /bin/sync -# now remount /boot read-only log "Remounting /boot read-only:" run /bin/mount -v -o remount,ro /boot +log "Remounting /lib read-only:" +run /bin/mount -v -o remount,ro /lib + +log "Remounting /usr read-only:" +run /bin/mount -v -o remount,ro /usr + log "Remounting root filesystem read-only:" run /bin/mount -v -n -o remount,ro / +# Update PATH hashes: +hash -r + # sleep 3 fixes problems with some hard drives that don't # otherwise finish syncing before reboot or poweroff /bin/sleep 3 diff --git a/etc/rc.d/rc.local b/etc/rc.d/rc.local index ffcf5a987..4249f8d0b 100755 --- a/etc/rc.d/rc.local +++ b/etc/rc.d/rc.local @@ -68,7 +68,7 @@ fi # upgrade network configuration (if needed) and (re)generates our welcome text if [[ -x /usr/local/sbin/create_network_ini ]]; then - /usr/local/sbin/create_network_ini init &>/dev/null & + /usr/local/sbin/create_network_ini init & fi # Needed by dynamix From f4bda545c912e6fcdf5ff4debd2eb2793beb6723 Mon Sep 17 00:00:00 2001 From: SimonFair <39065407+SimonFair@users.noreply.github.com> Date: Fri, 20 Dec 2024 19:59:59 +0000 Subject: [PATCH 359/794] Add Display Options --- .../dynamix.vm.manager/include/libvirt.php | 27 +++++++++- .../include/libvirt_helpers.php | 50 +++++++++++++++++++ 2 files changed, 76 insertions(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix.vm.manager/include/libvirt.php b/emhttp/plugins/dynamix.vm.manager/include/libvirt.php index 0c5f3a083..25e63c2fd 100644 --- a/emhttp/plugins/dynamix.vm.manager/include/libvirt.php +++ b/emhttp/plugins/dynamix.vm.manager/include/libvirt.php @@ -860,6 +860,12 @@ $strAccel3d =""; }} + $strDisplayOptions = ""; + if ($strModelType == "qxl") { + if (empty($gpu['DisplayOptions'])) $gpu['DisplayOptions'] ="ram='65536' vram='16384' vgamem='16384' heads='1' primary='yes'"; + $strDisplayOptions = $gpu['DisplayOptions']; + } + $vmrc = " @@ -869,7 +875,7 @@ $strEGLHeadless
    -
    +
    _(Secondary storage)_: : @@ -541,14 +544,10 @@ _(Mover action)_:   : -
    -_(Delete)_ +
    + :
    -
    -  -: -
    @@ -633,7 +632,7 @@ function updateScreen(cache, slow) { const moverNoActionText = ""; const moverAction1Text = ""; const moverAction2Text = ""; - + switch (cache) { case 'no': $('#primary option:eq(' + z(0) + ')').prop('selected', true); @@ -762,9 +761,18 @@ function updateScreen(cache, slow) { break; } + /* If primary is "Array", remove secondary storage selection as it does not apply when primary is array. */ + if (primaryDropdown.selectedIndex === 0) { + $('#secondaryStorage').hide(slow); + $('#moverAction').hide(slow); + } else { + $('#secondaryStorage').show(slow); + $('#moverAction').show(slow); + } + /* Check secondary dropdown index and show/hide moreSettings2 */ if (secondaryDropdown.selectedIndex === 1) { - $('#moreSettings2').show('slow'); + $('#moreSettings2').show(slow); } else { $('#moreSettings2').hide(slow); } @@ -1078,7 +1086,7 @@ function writeShare(data, n, i) { } }); toggleButton('writeshare', true); - $('div.spinner.fixed').show('slow'); + $('div.spinner.fixed').show(slow); writeShare(newData, 0, i); } } @@ -1131,7 +1139,7 @@ document.addEventListener('DOMContentLoaded', function() { let cachePoolOption = document.getElementById('cachePoolOption'); let messageSpan = document.getElementById('cachePoolMessage'); - messageSpan.textContent = `${_('Warning: Configured Pool')} '${cachePoolCapitalized}' ${_('is missing')}.`; + messageSpan.textContent = `${_('Warning: Configured Pool')} '${cachePoolCapitalized || _('Array')}' ${_('is missing')}.`; messageSpan.style.display = 'inline'; cachePoolOption.selected = true; @@ -1297,13 +1305,24 @@ function handleDeleteClick(button) { $(function() { + + $.post('/webGui/include/ShareList.php', { scan: "" }, function(e) { if (e == 1) { $('.empty').show(); $('.full').hide(); + /* Enable delete checkbox and update tooltip. */ + $('input[name="confirmDelete"]').prop('disabled', false).attr('title', ''); + $('#deleteLabel').attr('title', ''); } else { $('.full1').hide(); $('.full2').show(); + /* Disable delete checkbox and update tooltip. */ + $('input[name="confirmDelete"]').prop('disabled', true).attr('title', ''); + $('#deleteLabel').attr('title', ''); } }); diff --git a/emhttp/plugins/dynamix/include/ShareList.php b/emhttp/plugins/dynamix/include/ShareList.php index 20b64fb85..c6c1e9f03 100644 --- a/emhttp/plugins/dynamix/include/ShareList.php +++ b/emhttp/plugins/dynamix/include/ShareList.php @@ -188,6 +188,11 @@ define('LUKS_STATUS_UNENCRYPTED', 2); // Build table $row = 0; foreach ($shares as $name => $share) { + /* Correct a situation in previous Unraid versions where an array only share has a useCache defined. */ + if ((!$poolsOnly) && ($share['useCache'] == "no")) { + $share['cachePool'] = ""; + } + /* Is cachePool2 defined? If it is we need to show the cache pool 2 device name instead of 'Array'. */ if ($share['cachePool2']) { $array = compress(my_disk($share['cachePool2'],$display['raw'])); From f9ce52faaf9ee6b12420c3422cc91febaa3680ad Mon Sep 17 00:00:00 2001 From: SimonFair <39065407+SimonFair@users.noreply.github.com> Date: Sat, 21 Dec 2024 16:15:15 +0000 Subject: [PATCH 362/794] Custom CPUs --- .../dynamix.vm.manager/include/libvirt.php | 65 ++++++++++++++++++- .../include/libvirt_helpers.php | 23 +++---- .../templates/Custom.form.php | 53 ++++++++++++++- 3 files changed, 126 insertions(+), 15 deletions(-) diff --git a/emhttp/plugins/dynamix.vm.manager/include/libvirt.php b/emhttp/plugins/dynamix.vm.manager/include/libvirt.php index 25e63c2fd..081b3da68 100644 --- a/emhttp/plugins/dynamix.vm.manager/include/libvirt.php +++ b/emhttp/plugins/dynamix.vm.manager/include/libvirt.php @@ -55,6 +55,22 @@ return ($tmp) ? $tmp : $this->_set_last_error(); } + function get_domain_capabilities($emulatorbin, $arch, $machine, $virttype, $xpath) { + + #@conn [resource]: resource for connection + #@emulatorbin [string]: optional path to emulator + #@arch [string]: optional domain architecture + #@machine [string]: optional machine type + #@virttype [string]: optional virtualization type + #@flags [int] : extra flags; not used yet, so callers should always pass 0 + #@xpath [string]: optional xPath query to be applied on the result + #Returns: : domain capabilities XML from the connection or FALSE for error + + $tmp = libvirt_connect_get_domain_capabilities($this->conn, $emulatorbin, $arch, $machine, $virttype, 0, $xpath); + return ($tmp) ? $tmp : $this->_set_last_error(); + } + + function get_machine_types($arch = 'x86_64' /* or 'i686' */) { $tmp = libvirt_connect_get_machine_types($this->conn); @@ -383,6 +399,10 @@ $cpucache = ''; $cpufeatures = ''; $cpumigrate = ''; + $cpucheck = ''; + $cpumatch = '' ; + $cpucustom = '' ; + $cpufallback = '' ; if (!empty($domain['cpumode']) && $domain['cpumode'] == 'host-passthrough') { $cpumode .= "mode='host-passthrough'"; $cpucache = ""; @@ -406,8 +426,17 @@ if (!empty($domain['cpumigrate'])) $cpumigrate = " migratable='".$domain['cpumigrate']."'" ; } + # + #Skylake-Client-noTSX-IBRS + if (!empty($domain['cpumode']) && $domain['cpumode'] == 'custom') { + if (!empty($domain['cpucustom']['match'])) $cpumatch = " match='".$domain['cpucustom']['match'].'"'; + if (!empty($domain['cpucustom']['check'])) $cpucheck = " check='".$domain['cpucustom']['check'].'"'; + if (!empty($domain['cpucustom']['fallback'])) $cpufallback = " fallback='".$domain['cpucustom']['fallback'].'"'; + if (!empty($domain['cpucustom']['model'])) $cpucustom = "".$domain['cpucustom']['model'].""; + } - $cpustr = " + $cpustr = " + $cpucustom $cpucache $cpufeatures @@ -2327,6 +2356,40 @@ return $var; } + # + # Skylake-Client-noTSX-IBRS + + function domain_get_cpu_custom($domain) { + $tmp = $this->get_xpath($domain, '//domain/cpu/@match', false); + if (!$tmp) + $tmp[0] = ''; + + $var['match'] = trim($tmp[0]); + unset($tmp); + + $tmp = $this->get_xpath($domain, '//domain/cpu/@check', false); + if (!$tmp) + $tmp[0] = ''; + + $var['check'] = trim($tmp[0]); + unset($tmp); + + $tmp = $this->get_xpath($domain, '//domain/cpu/model/@fallback', false); + if (!$tmp) + $tmp[0] = ''; + + $var['fallback'] = trim($tmp[0]); + unset($tmp); + + $tmp = $this->get_xpath($domain, '//domain/cpu/model', false); + if (!$tmp) + $tmp[0] = ''; + + $var['model'] = trim($tmp[0]); + unset($tmp); + + return $var; + } function domain_get_cpu_migrate($domain) { $tmp = $this->get_xpath($domain, '//domain/cpu/@migratable', false); diff --git a/emhttp/plugins/dynamix.vm.manager/include/libvirt_helpers.php b/emhttp/plugins/dynamix.vm.manager/include/libvirt_helpers.php index 01475f37f..819e021b3 100644 --- a/emhttp/plugins/dynamix.vm.manager/include/libvirt_helpers.php +++ b/emhttp/plugins/dynamix.vm.manager/include/libvirt_helpers.php @@ -712,47 +712,47 @@ private static $encoding = 'UTF-8'; $arrDisplayOptions = [ "H1.16M" => [ - "text" => "1 Screen 16Mb Memory", + "text" => "1 Display 16Mb Memory", "qxlxml" => "ram='65536' vram='16384' vgamem='16384' heads='1' primary='yes'", ], "H1.32M" => [ - "text" => "1 Screen 32Mb Memory", + "text" => "1 Display 32Mb Memory", "qxlxml" => "ram='65536' vram='32768' vgamem='32768' heads='1' primary='yes'", ], "H1.64M" => [ - "text" => "1 Screen 64Mb Memory", + "text" => "1 Display 64Mb Memory", "qxlxml" => "ram='65536' vram='65536' vram64='65535' vgamem='65536' heads='1' primary='yes'", ], "H1.128M" => [ - "text" => "1 Screen 128Mb Memory", + "text" => "1 Display 128Mb Memory", "qxlxml"=> "ram='65536' vram='131072' vram64='131072' vgamem='65536' heads='1' primary='yes'", ], "H1.256M" => [ - "text" => "1 Screen 256Mb Memory", + "text" => "1 Display 256Mb Memory", "qxlxml" => "ram='65536' vram='262144' vram64='262144' vgamem='65536' heads='1' primary='yes'", ], "H2.64M" => [ - "text" => "2 Screens 64Mb Memory", + "text" => "2 Displays 64Mb Memory", "qxlxml" => "ram='65536' vram='65536' vram64='65535' vgamem='65536' heads='2' primary='yes'", ], "H2.128M" => [ - "text" => "2 Screens 128Mb Memory", + "text" => "2 Displays 128Mb Memory", "qxlxml" => "ram='65536' vram='131072'vram64='131072' vgamem='65536' heads='2' primary='yes'", ], "H2.256M" => [ - "text" => "2 Screens 256Mb Memory", + "text" => "2 Displays 256Mb Memory", "qxlxml" => "ram='65536' vram='262144'vram64='262144' vgamem='65536' heads='2' primary='yes'", ], "H4.64M" => [ - "text" => "4 Screens 64Mb Memory", + "text" => "4 Displays 64Mb Memory", "qxlxml" => "ram='65536' vram='65536' vram64='65535' vgamem='65536' heads='4' primary='yes'", ], "H4.128M" => [ - "text" => "4 Screens 128Mb Memory", + "text" => "4 Displays 128Mb Memory", "qxlxml" => "ram='65536' vram='131072'vram64='131072' vgamem='65536' heads='4' primary='yes'", ], "H4.256M" => [ - "text" => "4 Screens 256Mb Memory", + "text" => "4 Displays 256Mb Memory", "qxlxml"=> "ram='65536' vram='262144' vram64='262144' vgamem='65536' heads='4' primary='yes'", ], ]; @@ -1453,6 +1453,7 @@ private static $encoding = 'UTF-8'; 'maxmem' => $lv->domain_get_memory($res), 'password' => '', //TODO? 'cpumode' => $lv->domain_get_cpu_type($res), + 'cpucustom' => $lv->domain_get_cpu_custom($res), 'cpumigrate' => $lv->domain_get_cpu_migrate($res), 'vcpus' => $dom['nrVirtCpu'], 'vcpu' => $lv->domain_get_vcpu_pins($res), diff --git a/emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php b/emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php index 61bcbaeb9..63755ce27 100644 --- a/emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php +++ b/emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php @@ -464,11 +464,11 @@ _(CPU)_ _(Mode)_: - >_(Migratable)_: + >_(Migratable)_: - hidden class="narrow" title="_(define if migratable)_"> + + + + + + +
    _(CPU Custom)_ _(Model)_: + get_domain_capabilities(null,"x86_64",null,null,null))->xpath("//domainCapabilities/cpu/mode[@name='custom']") ; + $arrValidCustomTypes = json_decode(json_encode($new[0]), true)['model']; ?> + + >_(Match)_: + + >_(Check)_: + + >_(Fallback)_: + +
    @@ -2432,11 +2476,14 @@ $(function() { if (myvalue == "custom") { document.getElementById("domain_cpumigrate_text").style.visibility="hidden"; document.getElementById("domain_cpumigrate").style.visibility="hidden"; + document.getElementById("domain_cpucustom").style.display="inline"; + document.getElementById("domain_cpucustom").style.visibility="visible"; } else { document.getElementById("domain_cpumigrate_text").style.display="inline"; document.getElementById("domain_cpumigrate_text").style.visibility="visible"; document.getElementById("domain_cpumigrate").style.display="inline"; document.getElementById("domain_cpumigrate").style.visibility="visible"; + document.getElementById("domain_cpucustom").style.visibility="hidden"; } }) ; From 257603c2a0db7dbd078f9b1cb1c565507b2ef076 Mon Sep 17 00:00:00 2001 From: SimonFair <39065407+SimonFair@users.noreply.github.com> Date: Sat, 21 Dec 2024 17:28:15 +0000 Subject: [PATCH 363/794] Fix clone on dashboard --- emhttp/plugins/dynamix/include/DashboardApps.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix/include/DashboardApps.php b/emhttp/plugins/dynamix/include/DashboardApps.php index 919573871..630765aab 100644 --- a/emhttp/plugins/dynamix/include/DashboardApps.php +++ b/emhttp/plugins/dynamix/include/DashboardApps.php @@ -126,7 +126,7 @@ if ($_POST['vms']) { if (!isset($domain_cfg["CONSOLE"])) $vmrcconsole = "web" ; else $vmrcconsole = $domain_cfg["CONSOLE"] ; if (!isset($domain_cfg["RDPOPT"])) $vmrcconsole .= ";no" ; else $vmrcconsole .= ";".$domain_cfg["RDPOPT"] ; $WebUI = html_entity_decode($arrConfig["template"]["webui"]); - $menu = sprintf("onclick=\"addVMContext('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')\"", htmlentities($log,ENT_QUOTES), addslashes($uuid), addslashes($template), $state, addslashes($vmrcurl), strtoupper($vmrcprotocol), htmlentities($log,ENT_QUOTES),addslashes($fstype), $vmrcconsole,false,addslashes(str_replace('"',"'",$WebUI))); + $menu = sprintf("onclick=\"addVMContext('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')\"", htmlentities($vm,ENT_QUOTES), addslashes($uuid), addslashes($template), $state, addslashes($vmrcurl), strtoupper($vmrcprotocol), htmlentities($log,ENT_QUOTES),addslashes($fstype), $vmrcconsole,false,addslashes(str_replace('"',"'",$WebUI))); $icon = $lv->domain_get_icon_url($res); switch ($state) { case 'running': From f56f8a3f5d8ec6cac0f1c6c0132bc2261cd84d27 Mon Sep 17 00:00:00 2001 From: dlandon Date: Tue, 24 Dec 2024 14:40:43 -0600 Subject: [PATCH 364/794] Default to first pool when array is missing on a share that was originally an array. --- emhttp/plugins/dynamix/ShareEdit.page | 3 +-- emhttp/plugins/dynamix/include/ShareList.php | 9 +++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/emhttp/plugins/dynamix/ShareEdit.page b/emhttp/plugins/dynamix/ShareEdit.page index 197d05127..5511b8928 100644 --- a/emhttp/plugins/dynamix/ShareEdit.page +++ b/emhttp/plugins/dynamix/ShareEdit.page @@ -63,7 +63,6 @@ if ((!$poolsOnly) && ($share['useCache'] == "no")) { /* Check for non existent pool device. */ if (($share['cachePool'] && !in_array($share['cachePool'], $pools))) { - $share['useCache'] = $share['cachePool2'] ? "yes" : ($poolsOnly ? "no" : "yes"); $poolDefined = false; } else { @@ -1329,7 +1328,7 @@ $(function() { initDropdown(true); - $('#tab1').bind({ + $('#tab1').on({ click: function() { initDropdown(true); } diff --git a/emhttp/plugins/dynamix/include/ShareList.php b/emhttp/plugins/dynamix/include/ShareList.php index 79e6cba3e..aa633dbc7 100644 --- a/emhttp/plugins/dynamix/include/ShareList.php +++ b/emhttp/plugins/dynamix/include/ShareList.php @@ -187,10 +187,15 @@ define('LUKS_STATUS_UNENCRYPTED', 2); // Build table $row = 0; + +/* Get the first pool if needed. */ +$firstPool = $pools_check[0] ?? ""; foreach ($shares as $name => $share) { /* Correct a situation in previous Unraid versions where an array only share has a useCache defined. */ if ((!$poolsOnly) && ($share['useCache'] == "no")) { $share['cachePool'] = ""; + } else if (($poolsOnly) && (!$share['cachePool'])) { + $share['cachePool'] = $firstPool; } /* Is cachePool2 defined? If it is we need to show the cache pool 2 device name instead of 'Array'. */ @@ -219,8 +224,8 @@ foreach ($shares as $name => $share) { $share_valid = true; } - /* When there is no array, all pools are treated as 'only' cache. If useCache is "no" with an array, this is invalid and useCache has to be 'only'. */ - if ((($poolsOnly) && (! $share['cachePool2'])) || ((! $poolsOnly) && ($share['cachePool']) && ($share['useCache'] == "no"))) { + /* When there is no array, all pools are treated as 'only' cache. */ + if (($poolsOnly) && (! $share['cachePool2'])) { $share['useCache'] = 'only'; } From ae1b1d78efcea3367e93b2c9b47d504e8739875e Mon Sep 17 00:00:00 2001 From: Christoph Date: Thu, 26 Dec 2024 07:54:53 +0100 Subject: [PATCH 365/794] Add aspm status to `diagnostics` --- emhttp/plugins/dynamix/scripts/diagnostics | 1 + 1 file changed, 1 insertion(+) diff --git a/emhttp/plugins/dynamix/scripts/diagnostics b/emhttp/plugins/dynamix/scripts/diagnostics index 8df1c793c..0318212d6 100755 --- a/emhttp/plugins/dynamix/scripts/diagnostics +++ b/emhttp/plugins/dynamix/scripts/diagnostics @@ -438,6 +438,7 @@ file_put_contents("/$diag/system/loads.txt",$cpuload.implode("\r\n",$loadTxt)); run("lscpu 2>/dev/null|todos >".escapeshellarg("/$diag/system/lscpu.txt")); run("lsscsi -vgl 2>/dev/null|todos >".escapeshellarg("/$diag/system/lsscsi.txt")); run("lspci -knn 2>/dev/null|todos >".escapeshellarg("/$diag/system/lspci.txt")); +run("lspci -vv 2>/dev/null| awk '/ASPM/{print $0}' RS=|grep -P '(^[a-z0-9:.]+|ASPM |Disabled;|Enabled;)'|todos >".escapeshellarg("/$diag/system/aspm-status.txt")); run("lsusb 2>/dev/null|todos >".escapeshellarg("/$diag/system/lsusb.txt")); run("free -mth 2>/dev/null|todos >".escapeshellarg("/$diag/system/memory.txt")); run("lsof -Pni 2>/dev/null|todos >".escapeshellarg("/$diag/system/lsof.txt")); From 1d76e504ef37bc359a01097303d2de9feff6f51b Mon Sep 17 00:00:00 2001 From: SimonFair <39065407+SimonFair@users.noreply.github.com> Date: Thu, 26 Dec 2024 16:18:05 +0000 Subject: [PATCH 366/794] Fix typo. --- emhttp/plugins/dynamix.vm.manager/VMUsageStats.page | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix.vm.manager/VMUsageStats.page b/emhttp/plugins/dynamix.vm.manager/VMUsageStats.page index 9d82042ec..953ca1582 100644 --- a/emhttp/plugins/dynamix.vm.manager/VMUsageStats.page +++ b/emhttp/plugins/dynamix.vm.manager/VMUsageStats.page @@ -1,5 +1,5 @@ Menu="VMs:0" -Title="VM Usage Statisics" +Title="VM Usage Statistics" Nchan="vm_usage:stop" Cond="exec(\"grep -o '^USAGE=.Y' /boot/config/domain.cfg 2>/dev/null\") && is_file('/var/run/libvirt/libvirtd.pid')" --- From 861491b5c8bae4c3437129f11e05c00c13045758 Mon Sep 17 00:00:00 2001 From: SimonFair <39065407+SimonFair@users.noreply.github.com> Date: Thu, 26 Dec 2024 16:47:18 +0000 Subject: [PATCH 367/794] Fix units in display --- emhttp/plugins/dynamix.vm.manager/nchan/vm_usage | 8 ++++---- emhttp/plugins/dynamix/nchan/vm_dashusage | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/emhttp/plugins/dynamix.vm.manager/nchan/vm_usage b/emhttp/plugins/dynamix.vm.manager/nchan/vm_usage index 887ec80c3..194e3f4e4 100755 --- a/emhttp/plugins/dynamix.vm.manager/nchan/vm_usage +++ b/emhttp/plugins/dynamix.vm.manager/nchan/vm_usage @@ -77,11 +77,11 @@ while (true) { $echodata .= "$vm" ; $echodata .= "".$vmdata['cpuguest']."%
    "; $echodata .= "".$vmdata['cpuhost']."%
    "; - $echodata .= my_scale($vmdata['mem']*1024,$unit)."$unit / ".my_scale($vmdata['curmem']*1024,$unit)."$unit"; + $echodata .= my_scale($vmdata['mem']*1024,$unit,null,null,1024)."$unit / ".my_scale($vmdata['curmem']*1024,$unit,null,null,1024)."$unit"; if ($vmdata['curmem'] === $vmdata['maxmem']) $echodata .= " "; - else $echodata .= " / " .my_scale($vmdata['maxmem']*1024,$unit)."$unit "; - $echodata .= _("Read").": ".my_scale($vmdata['rdrate']/$timer,$unit)."$unit/s
    "._("Write").": ".my_scale($vmdata['wrrate']/$timer,$unit)."$unit/s"; - $echodata .= _("RX").": ".my_scale($vmdata['rxrate']/$timer,$unit)."$unit/s
    "._("TX").": ".my_scale($vmdata['txrate']/$timer,$unit)."$unit/s"; + else $echodata .= " / " .my_scale($vmdata['maxmem']*1024,$unit,null,null,1024)."$unit "; + $echodata .= _("Read").": ".my_scale($vmdata['rdrate']/$timer,$unit,null,null,1024)."$unit/s
    "._("Write").": ".my_scale($vmdata['wrrate']/$timer,$unit,null,null,1024)."$unit/s"; + $echodata .= _("RX").": ".my_scale($vmdata['rxrate']/$timer,$unit,null,null,1024)."$unit/s
    "._("TX").": ".my_scale($vmdata['txrate']/$timer,$unit,null,null,1024)."$unit/s"; } $echo = $echodata ; } diff --git a/emhttp/plugins/dynamix/nchan/vm_dashusage b/emhttp/plugins/dynamix/nchan/vm_dashusage index 290408fef..90979e36e 100755 --- a/emhttp/plugins/dynamix/nchan/vm_dashusage +++ b/emhttp/plugins/dynamix/nchan/vm_dashusage @@ -101,11 +101,11 @@ while (true) { $vmencode = $lv->domain_get_uuid($vm); $echo[$vmencode ]['gcpu'] = ""._("Guest CPU").": ".$vmdata['cpuguest']."%
      
    "; $echo[$vmencode ]['hcpu'] = ""._("Host CPU").": ".$vmdata['cpuhost']."%
      
    "; - $echo[$vmencode ]['mem'] = "Mem: ".my_scale($vmdata['mem']*1024,$unit)."$unit / ".my_scale($vmdata['curmem']*1024,$unit)."$unit"; + $echo[$vmencode ]['mem'] = "Mem: ".my_scale($vmdata['mem']*1024,$unit,null,null,1024)."$unit / ".my_scale($vmdata['curmem']*1024,$unit,null,null,1024)."$unit"; if ($vmdata['maxmem'] == $vmdata['curmem']) $echo[$vmencode ]['mem'] .="  "; - else $echo[$vmencode ]['mem'] .= " / ".my_scale($vmdata['maxmem']*1024,$unit)."$unit  "; - $echo[$vmencode ]['disk'] = "Disk: "._("Rd").": ".my_scale($vmdata['rdrate']/$timer,$unit)."$unit/s "._("Wr").": ".my_scale($vmdata['wrrate']/$timer,$unit)."$unit/s  "; - $echo[$vmencode ]['net'] = "Net: "._("RX").": ".my_scale($vmdata['rxrate']/$timer,$unit)."$unit/s "._("TX").": ".my_scale($vmdata['txrate']/$timer,$unit)."$unit/s  "; + else $echo[$vmencode ]['mem'] .= " / ".my_scale($vmdata['maxmem']*1024,$unit,null,null,1024)."$unit  "; + $echo[$vmencode ]['disk'] = "Disk: "._("Rd").": ".my_scale($vmdata['rdrate']/$timer,$unit,null,null,1024)."$unit/s "._("Wr").": ".my_scale($vmdata['wrrate']/$timer,$unit,null,null,1024)."$unit/s  "; + $echo[$vmencode ]['net'] = "Net: "._("RX").": ".my_scale($vmdata['rxrate']/$timer,$unit,null,null,1024)."$unit/s "._("TX").": ".my_scale($vmdata['txrate']/$timer,$unit,null,null,1024)."$unit/s  "; } } From 6f6bf3ee21550d015b9fc42c2e3818e832c11f6f Mon Sep 17 00:00:00 2001 From: dlandon Date: Fri, 27 Dec 2024 06:18:00 -0600 Subject: [PATCH 368/794] Fix JS error. --- emhttp/plugins/dynamix/SecurityNFS.page | 60 ++++++++++++------------- 1 file changed, 29 insertions(+), 31 deletions(-) diff --git a/emhttp/plugins/dynamix/SecurityNFS.page b/emhttp/plugins/dynamix/SecurityNFS.page index ef329f743..cd936c6b3 100644 --- a/emhttp/plugins/dynamix/SecurityNFS.page +++ b/emhttp/plugins/dynamix/SecurityNFS.page @@ -82,6 +82,8 @@ _(Security)_: _(Rule)_: : +:nfs_security_rules_help: +   : @@ -91,45 +93,41 @@ _(Rule)_: $(function() { /* Initialize dropdown for NFS and check for hostList cookie. */ initDropdownNFS(false); + if ($.cookie('hostList') != null) { - var host = $('input[name="shareHostListNFS"]'); - host.val($.cookie('hostList')); - setTimeout(function() { - host.trigger('change'); - }, 100); + var host = $('textarea[name="shareHostListNFS"]'); + if (host.length) { + host.val($.cookie('hostList')); + setTimeout(function() { + host.trigger('change'); + }, 100); + } $.removeCookie('hostList'); } - - /* Conditionally bind click event to tabs if tabbed interface is used. */ - - $('#tab').bind({click:function() { - initDropdownNFS(true); - }}); - -}); - -/* Add an event listener to update the text area to make all rules into a single line before being submitted. */ -document.addEventListener("DOMContentLoaded", function() { + /* Add submit listener to nfsHostListForm if it exists */ var form = document.getElementById('nfsHostListForm'); - form.addEventListener('submit', function(event) { - var textarea = document.querySelector('textarea[name="shareHostListNFS"]'); - - /* Split the content into lines. */ - var lines = textarea.value.split('\n'); - - /* Filter out empty lines or lines that contain only whitespace, and remove carriage returns and excessive spaces within lines. */ - var cleanedLines = lines.map(function(line) { - /* Remove carriage returns and spaces within each line. */ - return line.replace(/[\r\s]+/g, ''); - }).filter(function(line) { - /* Keep only non-empty lines. */ - return line.length > 0; + if (form) { + form.addEventListener('submit', function(event) { + var textarea = document.querySelector('textarea[name="shareHostListNFS"]'); + if (textarea) { + var lines = textarea.value.split('\n'); + var cleanedLines = lines.map(function(line) { + return line.replace(/[\r\s]+/g, ''); + }).filter(function(line) { + return line.length > 0; + }); + textarea.value = cleanedLines.join(' '); + } }); + } - /* Join the remaining lines with a single space. */ - textarea.value = cleanedLines.join(' '); + /* Conditionally bind click event to tabs */ + + $('#tab').on('click', function() { + initDropdownNFS(true); }); + }); /* Function to initialize or reset the NFS dropdown */ From 0a66c5407a5ac9868bef8997adf5c4bc08b1e11c Mon Sep 17 00:00:00 2001 From: bergware Date: Fri, 27 Dec 2024 22:30:58 +0100 Subject: [PATCH 369/794] Date and Time enhancements - Add PTP support for bonded interfaces --- emhttp/plugins/dynamix/DateTime.page | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/emhttp/plugins/dynamix/DateTime.page b/emhttp/plugins/dynamix/DateTime.page index 212de12b3..dbc1e0d19 100644 --- a/emhttp/plugins/dynamix/DateTime.page +++ b/emhttp/plugins/dynamix/DateTime.page @@ -20,9 +20,12 @@ $validIP4 = "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01] $validIP6 = "^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|(:|([0-9a-fA-F]{1,4}:)+):(([0-9a-fA-F]{1,4}:)*[0-9a-fA-F]{1,4})?)$"; $validMAC = "^([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}$"; $tmzones = file("$docroot/webGui/include/timezones.key",FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES); -$hwclock = []; +$hwclock = $members = []; -exec("ls --indicator-style=none /sys/class/net|grep -P '^eth[0-9]*$'",$ports); +exec("ls --indicator-style=none /sys/class/net|grep -P '^bond[0-9]*$'",$ports); +foreach ($ports as $bond) $members = array_merge($members,explode(' ',exec("cat /sys/class/net/$bond/bonding/slaves"))); +exec("ls --indicator-style=none /sys/class/net|grep -P '^eth[0-9]*$'",$eth); +foreach ($eth as $port) if (empty($members) || !in_array($port,$members)) $ports[] = $port; foreach ($ports as $port) $hwclock[$port] = exec("ethtool -T $port|grep -Pom1 '^PTP Hardware Clock: \K.+'")=='none' ? 'disabled' : ''; ?>
    From 9981a9792c144088faf721063cc0a600c2ef66dc Mon Sep 17 00:00:00 2001 From: bergware Date: Sat, 28 Dec 2024 10:27:20 +0100 Subject: [PATCH 370/794] Date and Time enhancements - Add PTP support for bonded interfaces --- emhttp/plugins/dynamix/DateTime.page | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix/DateTime.page b/emhttp/plugins/dynamix/DateTime.page index dbc1e0d19..45fecb11f 100644 --- a/emhttp/plugins/dynamix/DateTime.page +++ b/emhttp/plugins/dynamix/DateTime.page @@ -23,8 +23,8 @@ $tmzones = file("$docroot/webGui/include/timezones.key",FILE_IGNORE_NEW_LINES|F $hwclock = $members = []; exec("ls --indicator-style=none /sys/class/net|grep -P '^bond[0-9]*$'",$ports); -foreach ($ports as $bond) $members = array_merge($members,explode(' ',exec("cat /sys/class/net/$bond/bonding/slaves"))); exec("ls --indicator-style=none /sys/class/net|grep -P '^eth[0-9]*$'",$eth); +foreach ($ports as $bond) $members = array_merge($members,explode(' ',exec("cat /sys/class/net/$bond/bonding/slaves"))); foreach ($eth as $port) if (empty($members) || !in_array($port,$members)) $ports[] = $port; foreach ($ports as $port) $hwclock[$port] = exec("ethtool -T $port|grep -Pom1 '^PTP Hardware Clock: \K.+'")=='none' ? 'disabled' : ''; ?> From fd7fe624f53a011f120e02fbf4ca161a0815bc39 Mon Sep 17 00:00:00 2001 From: bergware Date: Sat, 28 Dec 2024 12:06:15 +0100 Subject: [PATCH 371/794] Date and Time enhancements - Disable PTP for bridge interfaces (unsupported) --- emhttp/plugins/dynamix/DateTime.page | 29 ++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/emhttp/plugins/dynamix/DateTime.page b/emhttp/plugins/dynamix/DateTime.page index 45fecb11f..ba0cb122a 100644 --- a/emhttp/plugins/dynamix/DateTime.page +++ b/emhttp/plugins/dynamix/DateTime.page @@ -20,12 +20,24 @@ $validIP4 = "^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01] $validIP6 = "^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|(:|([0-9a-fA-F]{1,4}:)+):(([0-9a-fA-F]{1,4}:)*[0-9a-fA-F]{1,4})?)$"; $validMAC = "^([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}$"; $tmzones = file("$docroot/webGui/include/timezones.key",FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES); -$hwclock = $members = []; +$system = "/sys/class/net"; +$hwclock = $ports = $member = []; -exec("ls --indicator-style=none /sys/class/net|grep -P '^bond[0-9]*$'",$ports); -exec("ls --indicator-style=none /sys/class/net|grep -P '^eth[0-9]*$'",$eth); -foreach ($ports as $bond) $members = array_merge($members,explode(' ',exec("cat /sys/class/net/$bond/bonding/slaves"))); -foreach ($eth as $port) if (empty($members) || !in_array($port,$members)) $ports[] = $port; +exec("ls --indicator-style=none $system|grep -P '^(br|bond|eth)[0-9]*$'",$net); +foreach ($net as $port) { + switch (preg_replace('/[0-9]+$/','',$port)) { + case 'br': + $member = array_merge($member,explode(' ',exec("ls --indicator-style=none $system/$port/brif"))); + break; + case 'bond': + if (!file_exists($system.'/'.str_replace('bond','br',$port))) $ports[] = $port; + $member = array_merge($member,explode(' ',exec("cat $system/$port/bonding/slaves"))); + break; + case 'eth': + if (!in_array($port,$member)) $ports[] = $port; + break; + } +} foreach ($ports as $port) $hwclock[$port] = exec("ethtool -T $port|grep -Pom1 '^PTP Hardware Clock: \K.+'")=='none' ? 'disabled' : ''; ?> @@ -64,7 +76,7 @@ _(Time zone)_: _(Time sync)_: : @@ -126,6 +138,7 @@ _(PTP server)_ 4:
    _(PTP interface)_: : - + @@ -282,7 +295,7 @@ $(function() { oldDate = form.display_date.selectedIndex; oldTime = form.display_time.selectedIndex; oldZone = form.timeZone.selectedIndex; - form.USE_NTP.selectedIndex = ; + form.USE_NTP.selectedIndex = ; updatePage(form); }); From ff8e70d627e4cebee1f3bc49a2d98c3b4920931f Mon Sep 17 00:00:00 2001 From: bergware Date: Sat, 28 Dec 2024 13:22:28 +0100 Subject: [PATCH 372/794] Date and Time enhancements - Give warning when no suitable interfaces are present for PTP --- emhttp/plugins/dynamix/DateTime.page | 27 +++++++++++++++------- emhttp/plugins/dynamix/sheets/DateTime.css | 2 +- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/emhttp/plugins/dynamix/DateTime.page b/emhttp/plugins/dynamix/DateTime.page index ba0cb122a..e109c9e5d 100644 --- a/emhttp/plugins/dynamix/DateTime.page +++ b/emhttp/plugins/dynamix/DateTime.page @@ -23,16 +23,16 @@ $tmzones = file("$docroot/webGui/include/timezones.key",FILE_IGNORE_NEW_LINES|F $system = "/sys/class/net"; $hwclock = $ports = $member = []; -exec("ls --indicator-style=none $system|grep -P '^(br|bond|eth)[0-9]*$'",$net); +exec("ls --indicator-style=none $system|grep -P '^(bond|br|eth)[0-9]*$'",$net); foreach ($net as $port) { switch (preg_replace('/[0-9]+$/','',$port)) { - case 'br': - $member = array_merge($member,explode(' ',exec("ls --indicator-style=none $system/$port/brif"))); - break; case 'bond': if (!file_exists($system.'/'.str_replace('bond','br',$port))) $ports[] = $port; $member = array_merge($member,explode(' ',exec("cat $system/$port/bonding/slaves"))); break; + case 'br': + $member = array_merge($member,explode(' ',exec("ls --indicator-style=none $system/$port/brif"))); + break; case 'eth': if (!in_array($port,$member)) $ports[] = $port; break; @@ -76,9 +76,10 @@ _(Time zone)_: _(Time sync)_: : + _(No suitable interfaces found for PTP)_
    _(NTP interval)_: @@ -146,7 +147,7 @@ _(PTP interface)_: _(PTP clock)_: : @@ -218,7 +219,7 @@ function dispatch(form) { let index = form.USE_NTP.selectedIndex; let cmd = index==1 ? (ptpd ? 'restart' : 'start') : 'stop'; save['#cfg'] = "/boot/config/plugins/dynamix/dynamix.cfg"; - save.PTP_SYNC = index==1 ? 'yes' : 'no'; + save.PTP_SYNC = index==1 ? 'yes' : 'no'; $(form).find('select[name^="display_"],select[name="NTP_POLL"],select[name^="PTP_"],input[name^="display_"],input[name^="PTP_"]').each(function(){ save[$(this).attr('name')] = $(this).val(); // exclude setting for emhttpd @@ -256,6 +257,7 @@ function updatePage(form,step) { // ntp $('#ptp-setup,#manual-setup').hide(step); $('#ntp-setup').show(step); + $('#noports').hide(); form.newDateTime.disabled=true; form.NTP_SERVER1.disabled=false; form.NTP_SERVER2.disabled=false; @@ -265,6 +267,11 @@ function updatePage(form,step) { // ptp $('#ntp-setup,#manual-setup').hide(step); $('#ptp-setup').show(step); + + $('#noports').show(); + + $('#noports').hide(); + if (form.PTP_MODE.selectedIndex==0) $('#unicast').hide(step); else $('#unicast').show(step); form.newDateTime.disabled=true; form.NTP_SERVER1.disabled=true; @@ -281,6 +288,7 @@ function updatePage(form,step) { // manual $('#ntp-setup,#ptp-setup').hide(step); $('#manual-setup').show(step); + $('#noports').hide(); form.newDateTime.disabled=false; form.NTP_SERVER1.disabled=true; form.NTP_SERVER2.disabled=true; @@ -295,7 +303,10 @@ $(function() { oldDate = form.display_date.selectedIndex; oldTime = form.display_time.selectedIndex; oldZone = form.timeZone.selectedIndex; - form.USE_NTP.selectedIndex = ; + form.USE_NTP.selectedIndex = ; + + if (form.USE_NTP.selectedIndex==1) $('#noports').show(); + updatePage(form); }); diff --git a/emhttp/plugins/dynamix/sheets/DateTime.css b/emhttp/plugins/dynamix/sheets/DateTime.css index b3012f111..22a0368b9 100644 --- a/emhttp/plugins/dynamix/sheets/DateTime.css +++ b/emhttp/plugins/dynamix/sheets/DateTime.css @@ -1,3 +1,3 @@ -div.extra,span.ipv4,span.ipv6,span.mac{display:none} +div.extra,span.ipv4,span.ipv6,span.mac,span#noports{display:none} select,input[type=text]{margin-right:40px} select[name=timeZone]{max-width:166px} From 14e36a9c553deeb0d5b223aa2a603fe2a2dc54c4 Mon Sep 17 00:00:00 2001 From: bergware Date: Sat, 28 Dec 2024 14:17:22 +0100 Subject: [PATCH 373/794] Date and Time enhancements - Add Time State information --- emhttp/plugins/dynamix/DateTime.page | 4 ++++ emhttp/plugins/dynamix/sheets/DateTime.css | 1 - 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix/DateTime.page b/emhttp/plugins/dynamix/DateTime.page index e109c9e5d..c2b9d1c6a 100644 --- a/emhttp/plugins/dynamix/DateTime.page +++ b/emhttp/plugins/dynamix/DateTime.page @@ -73,6 +73,9 @@ _(Time zone)_: :timezone_help: +_(Time state)_: +: + _(Time sync)_: : @@ -311,6 +311,6 @@ $(function() { if (form.USE_NTP.selectedIndex==1) $('#noports').show(); updatePage(form); - setInterval(function(){$.post('/webGui/include/DashboardApps.php',{ntp:'ntp'},function(ntp){$('#timeState').html(' '+ntp);});},2000); + setInterval(function(){$.post('/webGui/include/DashboardApps.php',{ntp:'ntp'},function(ntp){$('#timeState').html(ntp);});},2000); }); From 72e7a1ad5f093f4916c283bf572429129373d2eb Mon Sep 17 00:00:00 2001 From: bergware Date: Sat, 28 Dec 2024 16:41:12 +0100 Subject: [PATCH 375/794] Docker: translation corrections --- .../include/DockerContainers.php | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php b/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php index 0cdacd6c7..012897c17 100644 --- a/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php +++ b/emhttp/plugins/dynamix.docker.manager/include/DockerContainers.php @@ -240,27 +240,27 @@ foreach ($containers as $ct) { // Construct TSinfo from TSstats $TSinfo = ''; if (!$TSstats["Self"]["Online"]) { - $TSinfo .= "
    "._("Online:")."
    "._("Please check the logs!")."
    "; + $TSinfo .= "
    "._("Online").":
    "._("Please check the logs")."!
    "; } else { $TS_version = explode('-', $TSstats["Version"])[0]; if (!empty($TS_version)) { if (!empty($TS_latest_version)) { if ($TS_version !== $TS_latest_version) { - $TSinfo .= "
    "._("Tailscale:")."v" . $TS_version . " ➔ v" . $TS_latest_version . " "._("available!")."
    "; + $TSinfo .= "
    "._("Tailscale").":v" . $TS_version . " ➔ v" . $TS_latest_version . " "._("available")."!
    "; } else { - $TSinfo .= "
    "._("Tailscale:")."v" . $TS_version . "
    "; + $TSinfo .= "
    "._("Tailscale").":v" . $TS_version . "
    "; } } else { - $TSinfo .= "
    ".("Tailscale:")."v" . $TS_version . "
    "; + $TSinfo .= "
    ".("Tailscale").":v" . $TS_version . "
    "; } } - $TSinfo .= "
    "._("Online:")."
    "; + $TSinfo .= "
    "._("Online").":
    "; $TS_DNSName = $TSstats["Self"]["DNSName"]; $TS_HostNameActual = substr($TS_DNSName, 0, strpos($TS_DNSName, '.')); if (strcasecmp($TS_HostNameActual, $TShostname) !== 0 && !empty($TS_DNSName)) { - $TSinfo .= "
    "._("Hostname:").""._("Real Hostname")." ➔ " . $TS_HostNameActual . "
    "; + $TSinfo .= "
    "._("Hostname").":"._("Real Hostname")." ➔ " . $TS_HostNameActual . "
    "; } else { - $TSinfo .= "
    "._("Hostname:")."" . $TShostname . "
    "; + $TSinfo .= "
    "._("Hostname").":" . $TShostname . "
    "; } // Map region relay code to cleartext region if TS_derp_list is available if (!empty($TS_derp_list)) { @@ -271,31 +271,31 @@ foreach ($containers as $ct) { } } if (!empty($TSregion)) { - $TSinfo .= "
    "._("DERP Relay:")."" . $TSregion . "
    "; + $TSinfo .= "
    "._("DERP Relay").":" . $TSregion . "
    "; } else { - $TSinfo .= "
    "._("DERP Relay:")."" . $TSstats["Self"]["Relay"] . "
    "; + $TSinfo .= "
    "._("DERP Relay").":" . $TSstats["Self"]["Relay"] . "
    "; } } else { $TSinfo .= "
    "._("DERP Relay").":" . $TSstats["Self"]["Relay"] . "
    "; } if (!empty($TSstats["Self"]["TailscaleIPs"])) { - $TSinfo .= "
    "._("Addresses:")."" . implode("
    ", $TSstats["Self"]["TailscaleIPs"]) . "
    "; + $TSinfo .= "
    "._("Addresses").":" . implode("
    ", $TSstats["Self"]["TailscaleIPs"]) . "
    "; } if (!empty($TSstats["Self"]["PrimaryRoutes"])) { - $TSinfo .= "
    "._("Routes:")."" . implode("
    ", $TSstats["Self"]["PrimaryRoutes"]) . "
    "; + $TSinfo .= "
    "._("Routes").":" . implode("
    ", $TSstats["Self"]["PrimaryRoutes"]) . "
    "; } if ($TSstats["Self"]["ExitNodeOption"]) { - $TSinfo .= "
    "._("Is Exit Node:")."
    "; + $TSinfo .= "
    "._("Is Exit Node").":
    "; } else { if (!empty($TSstats["ExitNodeStatus"])) { $TS_exit_node_status = ($TSstats["ExitNodeStatus"]["Online"]) ? "✅" : "❌"; - $TSinfo .= "
    "._("Exit Node:")."" . strstr($TSstats["ExitNodeStatus"]["TailscaleIPs"][0], '/', true) . " | Status: " . $TS_exit_node_status ."
    "; + $TSinfo .= "
    "._("Exit Node").":" . strstr($TSstats["ExitNodeStatus"]["TailscaleIPs"][0], '/', true) . " | Status: " . $TS_exit_node_status ."
    "; } else { - $TSinfo .= "
    "._("Is Exit Node:")."
    "; + $TSinfo .= "
    "._("Is Exit Node").":
    "; } } if (!empty($TSwebGui)) { - $TSinfo .= "
    "._("URL:")."" . $TSwebGui . "
    "; + $TSinfo .= "
    "._("URL").":" . $TSwebGui . "
    "; } if (!empty($TSstats["Self"]["KeyExpiry"])) { $TS_expiry = new DateTime($TSstats["Self"]["KeyExpiry"]); @@ -303,9 +303,9 @@ foreach ($containers as $ct) { $TS_expiry_formatted = $TS_expiry->format('Y-m-d'); $TS_expiry_diff = $current_Date->diff($TS_expiry); if ($TS_expiry_diff->invert) { - $TSinfo .= "
    "._("Key Expiry:")."❌ "._("Expired! Renew/Disable key expiry!")."
    "; + $TSinfo .= "
    "._("Key Expiry").":❌ "._("Expired! Renew/Disable key expiry!")."
    "; } else { - $TSinfo .= "
    "._("Key Expiry:")."" . $TS_expiry_formatted . " (" . $TS_expiry_diff->days . " days)
    "; + $TSinfo .= "
    "._("Key Expiry").":" . $TS_expiry_formatted . " (" . $TS_expiry_diff->days . " days)
    "; } } } @@ -313,7 +313,7 @@ foreach ($containers as $ct) { $TS_status = "
    Tailscale
    "; } else { // Display message to refresh page if Tailscale in the container wasn't maybe ready to get the data - $TS_status = "
    Tailscale
    "; + $TS_status = "
    Tailscale
    "; } } else { // Display message that container isn't running From 08a6c70743d108e98780dc647173552f28067580 Mon Sep 17 00:00:00 2001 From: bergware Date: Sat, 28 Dec 2024 22:29:34 +0100 Subject: [PATCH 376/794] Date and Time enhancements - Better time state handling --- emhttp/plugins/dynamix/DateTime.page | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/emhttp/plugins/dynamix/DateTime.page b/emhttp/plugins/dynamix/DateTime.page index 19ec80e0f..b3a5af9e1 100644 --- a/emhttp/plugins/dynamix/DateTime.page +++ b/emhttp/plugins/dynamix/DateTime.page @@ -74,7 +74,7 @@ _(Time zone)_: :timezone_help: _(Time state)_: -: - +: _(Time sync)_: : class="narrow" title="_(define if migratable)_"> @@ -539,8 +539,8 @@ } ?> - - _(Max)_ _(Memory)_: + + _(Max)_ _(Memory)_: >_(Enable USB boot)_: @@ -1046,7 +1046,7 @@ $arrShare) { $strLabel = ($i > 0) ? appendOrdinalSuffix($i + 1) : ''; @@ -1062,11 +1062,11 @@ _(Unraid Share)_: @@ -1181,7 +1181,7 @@ ?> _(Multifunction)_: @@ -1202,10 +1202,10 @@ @@ -1404,7 +1404,7 @@ 'network' => $domain_bridge, 'mac' => "", 'model' => 'virtio-net' - ] ; + ]; } foreach ($arrConfig['nic'] as $i => $arrNic) { $strLabel = ($i > 0) ? appendOrdinalSuffix($i + 1) : ''; @@ -1543,7 +1543,7 @@ />         />      style="width: 50px;" name="usbboot[]" title="_(Boot order)_" value="" > ()
    - + $arrDev) { $bootdisable = $extra = $pciboot = ''; - if ($arrDev["typeid"] != "0108" && substr($arrDev["typeid"],0,2) != "02") $bootdisable = ' disabled="disabled"' ; + if ($arrDev["typeid"] != "0108" && substr($arrDev["typeid"],0,2) != "02") $bootdisable = ' disabled="disabled"'; if (count($pcidevice=array_filter($arrConfig['pci'], function($arr) use ($arrDev) { return ($arr['id'] == $arrDev['id']); }))) { $extra .= ' checked="checked"'; - foreach ($pcidevice as $pcikey => $pcidev) $pciboot = $pcidev["boot"]; ; + foreach ($pcidevice as $pcikey => $pcidev) $pciboot = $pcidev["boot"]; } elseif (!in_array($arrDev['driver'], ['pci-stub', 'vfio-pci'])) { //$extra .= ' disabled="disabled"'; @@ -1637,7 +1637,7 @@ _(QEMU Command Line)_: @@ -1654,8 +1654,8 @@ _(Clocks)_ _(Clocks Offset)_: - - id="clockoffset" class="narrow" title="_(Clock Offset)_" > - $arrTimer) { - if ($i =="offset") continue ; - if ($clockcount == 0) $clocksourcetext = _("Timer Source").":" ;else $clocksourcetext = "" ; + if ($i =="offset") continue; + if ($clockcount == 0) $clocksourcetext = _("Timer Source").":"; else $clocksourcetext = ""; ?> : _(Present)_: - id="clock[][present]" class="narrow" title="_(Clock Offset)_" > _(Tickpolicy)_: - id="clock[][tickpolicy]" class="narrow" title="_(Clock Offset)_" > @@ -1777,15 +1777,15 @@

    Grab
    - All grabs all input devices instead of just one + All grabs all input devices instead of just one

    Repeat
    - Repeat with value 'on'/'off' to enable/disable auto-repeat events + Repeat with value 'on'/'off' to enable/disable auto-repeat events

    -

    +

    GrabToggle
    GrabToggle with values ctrl-ctrl, alt-alt, shift-shift, meta-meta, scrolllock or ctrl-scrolllock to change the grab key combination

    @@ -1867,7 +1867,7 @@ _(Other XML)_: @@ -1919,15 +1919,15 @@ function ShareChange(share) { var text = share.options[share.selectedIndex].text; var strArray = text.split(":"); var index = share.name.indexOf("]") + 1; - var name = share.name.substr(0,index) ; + var name = share.name.substr(0,index); if (strArray[0] === "User") { - var path = "/mnt/user/" + strArray[1] ; + var path = "/mnt/user/" + strArray[1]; } else { - var path = "/mnt/" + strArray[1] ; + var path = "/mnt/" + strArray[1]; } if (strArray[0] != "Manual") { - document.getElementById(name+"[target]").value = strArray[1] ; - document.getElementById(name+"[source]").value = path ; + document.getElementById(name+"[target]").value = strArray[1]; + document.getElementById(name+"[source]").value = path; document.getElementById(name+"[target]").setAttribute("disabled","disabled"); document.getElementById(name+"[source]").setAttribute("disabled","disabled"); } else { @@ -1939,7 +1939,7 @@ function ShareChange(share) { function BusChange(bus) { var value = bus.value; var index = bus.name.indexOf("]") + 1; - var name = bus.name.substr(0,index) ; + var name = bus.name.substr(0,index); if (value == "virtio" || value == "usb" ) { document.getElementById(name+"[rotatetext]").style.visibility="hidden"; document.getElementById(name+"[rotation]").style.visibility="hidden"; @@ -1954,7 +1954,7 @@ function BusChange(bus) { function updateSSDCheck(ssd) { var value = ssd.value; var index = ssd.name.indexOf("]") + 1; - var name = ssd.name.substr(0,index) ; + var name = ssd.name.substr(0,index); if (document.getElementById(name+"[rotation]").checked) ssd.value = "1"; else ssd.value = "0"; } @@ -1983,12 +1983,12 @@ function QEMUChgCmd(qemu) { function HypervChgNew(hyperv) { var value = hyperv.value; if (value == "0") { - var clockdefault = "windows" ; - document.getElementById("clock[rtc][present]").value = "" ; - document.getElementById("clock[pit][present]").value = "" ; + var clockdefault = "windows"; + document.getElementById("clock[rtc][present]").value = ""; + document.getElementById("clock[pit][present]").value = ""; } else { - var clockdefault = "hyperv" ; - document.getElementById("clock[rtc][present]").value = "" ; + var clockdefault = "hyperv"; + document.getElementById("clock[rtc][present]").value = ""; document.getElementById("clock[pit][present]").value = ""; } } @@ -2003,16 +2003,16 @@ function SetBootorderfields(usbbootvalue) { } var bootelements = document.getElementsByClassName("pcibootorder"); const bootpcidevs = $arrDev) { - if ($arrDev["typeid"] != "0108" && substr($arrDev["typeid"],0,2) != "02") $devlist[$arrDev['id']] = "N" ; else $devlist[$arrDev['id']] = "Y" ; + if ($arrDev["typeid"] != "0108" && substr($arrDev["typeid"],0,2) != "02") $devlist[$arrDev['id']] = "N"; else $devlist[$arrDev['id']] = "Y"; } - echo json_encode($devlist) ; + echo json_encode($devlist); ?> for(var i = 0; i < bootelements.length; i++) { - let bootpciid = bootelements[i].name.split('[') ; - bootpciid= bootpciid[1].replace(']', '') ; + let bootpciid = bootelements[i].name.split('['); + bootpciid= bootpciid[1].replace(']', ''); if (usbbootvalue == "Yes") { bootelements[i].value = ""; @@ -2056,8 +2056,8 @@ function get_storage_fstype(item) { function USBBootChange(usbboot) { // Remove all boot orders if changed to Yes - var value = usbboot.value ; - SetBootorderfields(value) ; + var value = usbboot.value; + SetBootorderfields(value); } function AutoportChange(autoport) { @@ -2067,7 +2067,7 @@ function AutoportChange(autoport) { document.getElementById("wsport").style.visibility="hidden"; document.getElementById("WSPorttext").style.visibility="hidden"; } else { - var protocol = document.getElementById("protocol").value ; + var protocol = document.getElementById("protocol").value; document.getElementById("port").style.display="inline"; document.getElementById("port").style.visibility="visible"; document.getElementById("Porttext").style.display="inline"; @@ -2085,7 +2085,7 @@ function AutoportChange(autoport) { } function ProtocolChange(protocol) { - var autoport = document.getElementById("autoport").value ; + var autoport = document.getElementById("autoport").value; if (autoport == "yes") { document.getElementById("port").style.visibility="hidden"; document.getElementById("Porttext").style.visibility="hidden"; @@ -2154,7 +2154,7 @@ $(function() { hintOptions: {schemaInfo: getLibvirtSchema()} }); - SetBootorderfields("") ; + SetBootorderfields(""); function resetForm() { $("#vmform .domain_vcpu").change(); // restore the cpu checkbox disabled states @@ -2198,7 +2198,7 @@ $(function() { var $disk_serial = $table.find('.disk_serial'); var $disk_driver = $table.find('.disk_driver').val(); var $disk_ext = "img"; - if ($disk_driver == "raw") $disk_ext = "img"; + if ($disk_driver == "raw") $disk_ext = "img"; else if(disk_select != 'manual') $disk_ext = $disk_driver; if (disk_select == 'manual') { @@ -2281,7 +2281,7 @@ $(function() { if (disk_select !== '') { // Auto disk serial - var auto_serial = 'vdisk' + (index+1) ; + var auto_serial = 'vdisk' + (index+1); $disk_serial.val(auto_serial); } @@ -2336,7 +2336,7 @@ $(function() { $("#vmform").on("spawn_section", function spawnSectionEvent(evt, section, sectiondata) { if (sectiondata.category == 'vDisk') { regenerateDiskPreview(sectiondata.index); - setDiskserial(sectiondata.index) ; + setDiskserial(sectiondata.index); } if (sectiondata.category == 'Graphics_Card') { $(section).find(".gpu").change(); @@ -2377,8 +2377,8 @@ $(function() { $("#vmform").on("change", ".cpu", function changeCPUEvent() { var myvalue = $(this).val(); var mylabel = $(this).children('option:selected').text(); - var cpumigrate = document.getElementById("domain_cpumigrate_text") ; - var cpumigrate_text = document.getElementById("domain_cpumigrate") ; + var cpumigrate = document.getElementById("domain_cpumigrate_text"); + var cpumigrate_text = document.getElementById("domain_cpumigrate"); if (myvalue == "custom") { document.getElementById("domain_cpumigrate_text").style.visibility="hidden"; document.getElementById("domain_cpumigrate").style.visibility="hidden"; @@ -2389,7 +2389,7 @@ $(function() { document.getElementById("domain_cpumigrate").style.visibility="visible"; } - }) ; + }); $("#vmform").on("change", ".gpu", function changeGPUEvent() { var myvalue = $(this).val(); @@ -2401,13 +2401,13 @@ $(function() { if (myvalue == 'virtual') { $vnc_sections.filter('.wasadvanced').removeClass('wasadvanced').addClass('advanced'); slideDownRows($vnc_sections.not(isVMAdvancedMode() ? '.basic' : '.advanced')); - var MultiSel = document.getElementById("GPUMultiSel0") ; - MultiSel.disabled = true ; + var MultiSel = document.getElementById("GPUMultiSel0"); + MultiSel.disabled = true; } else { slideUpRows($vnc_sections); $vnc_sections.filter('.advanced').removeClass('advanced').addClass('wasadvanced'); - var MultiSel = document.getElementById("GPUMultiSel0") ; - if (myvalue=="nogpu") MultiSel.disabled = true ; else MultiSel.disabled = false ; + var MultiSel = document.getElementById("GPUMultiSel0"); + if (myvalue=="nogpu") MultiSel.disabled = true; else MultiSel.disabled = false; } } @@ -2515,7 +2515,6 @@ $(function() { form.append(''); var createVmInput = form.find('input[name="createvm"],input[name="updatevm"]'); createVmInput.remove(); - $("#vmform .disk_select option:selected").not("[value='manual']").closest('table').each(function () { var v = $(this).find('.disk_preview').html(); @@ -2568,13 +2567,12 @@ $(function() { showCancelButton: true, closeOnConfirm: false, //animation: "slide-from-top", - inputPlaceholder: _("Leaving blank will use OS name.")_ + inputPlaceholder: "_(Leaving blank will use OS name)_." }, function(inputValue){ + postdata=postdata+"&templatename="+inputValue; - postdata=postdata+"&templatename="+inputValue; - $.post("/plugins/dynamix.vm.manager/templates/Custom.form.php", postdata, function( data ) { if (data.success) { if (data.vmrcurl) { @@ -2628,7 +2626,6 @@ $(function() { var $button = $(this); var $panel = $('.xmlview'); - editor.save(); $panel.find('input').prop('disabled', false); // enable all inputs otherwise they wont post @@ -2649,25 +2646,22 @@ $(function() { showCancelButton: true, closeOnConfirm: false, //animation: "slide-from-top", - inputPlaceholder: _("Leaving blank will use OS name.")_ - }, - function(inputValue){ - - - postdata=postdata+"&templatename="+inputValue; - - $.post("/plugins/dynamix.vm.manager/templates/Custom.form.php", postdata, function( data ) { - if (data.success) { - done(); - } - if (data.error) { - swal({title:"_(VM creation error)_",text:data.error,type:"error",confirmButtonText:"_(Ok)_"}); - $panel.find('input').prop('disabled', false); - $button.val($button.attr('readyvalue')); - resetForm(); - } - }, "json"); - }); + inputPlaceholder: "_(Leaving blank will use OS name)_." + }, + function(inputValue){ + postdata=postdata+"&templatename="+inputValue; + $.post("/plugins/dynamix.vm.manager/templates/Custom.form.php", postdata, function( data ) { + if (data.success) { + done(); + } + if (data.error) { + swal({title:"_(VM creation error)_",text:data.error,type:"error",confirmButtonText:"_(Ok)_"}); + $panel.find('input').prop('disabled', false); + $button.val($button.attr('readyvalue')); + resetForm(); + } + }, "json"); + }); }); // Fire events below once upon showing page diff --git a/emhttp/plugins/dynamix.vm.manager/templates/Custom.formold.php b/emhttp/plugins/dynamix.vm.manager/templates/Custom.formold.php index 10b2b95ca..681b423ff 100644 --- a/emhttp/plugins/dynamix.vm.manager/templates/Custom.formold.php +++ b/emhttp/plugins/dynamix.vm.manager/templates/Custom.formold.php @@ -42,7 +42,7 @@ if (is_file($templateslocation)){ $arrAllTemplates["User-templates"] = ""; - $ut = json_decode(file_get_contents($templateslocation),true) ; + $ut = json_decode(file_get_contents($templateslocation),true); $arrAllTemplates = array_merge($arrAllTemplates, $ut); } @@ -152,7 +152,7 @@ $protocol = $lv->domain_get_vmrc_protocol($dom); $reply = ['success' => true]; if ($vmrcport > 0) { - $reply['vmrcurl'] = autov('/plugins/dynamix.vm.manager/'.$protocol.'.html',true).'&autoconnect=true&host=' . $_SERVER['HTTP_HOST'] ; + $reply['vmrcurl'] = autov('/plugins/dynamix.vm.manager/'.$protocol.'.html',true).'&autoconnect=true&host=' . $_SERVER['HTTP_HOST']; if ($protocol == "spice") $reply['vmrcurl'] .= '&port=/wsproxy/'.$vmrcport.'/'; else $reply['vmrcurl'] .= '&port=&path=/wsproxy/' . $wsport . '/'; } } else { @@ -185,9 +185,9 @@ // hot-attach any new usb devices foreach ($arrNewUSBIDs as $strNewUSBID) { - if (strpos($strNewUSBID,"#remove")) continue ; - $remove = explode('#', $strNewUSBID) ; - $strNewUSBID2 = $remove[0] ; + if (strpos($strNewUSBID,"#remove")) continue; + $remove = explode('#', $strNewUSBID); + $strNewUSBID2 = $remove[0]; foreach ($arrExistingConfig['usb'] as $arrExistingUSB) { if ($strNewUSBID2 == $arrExistingUSB['id']) continue 2; } @@ -240,7 +240,7 @@ // XML view $xml = $_POST['xmldesc']; $arrExistingConfig = custom::createArray('domain',$xml); - $newuuid = $arrExistingConfig['uuid'] ; + $newuuid = $arrExistingConfig['uuid']; $xml = str_replace($olduuid,$newuuid,$xml); } else { // form view @@ -250,7 +250,7 @@ array_update_recursive($arrExistingConfig, $arrUpdatedConfig); $arrConfig = array_replace_recursive($arrExistingConfig, $arrUpdatedConfig); $xml = custom::createXML('domain',$arrConfig)->saveXML(); - $xml = $lv->appendqemucmdline($xml,$_POST["qemucmdline"]) ; + $xml = $lv->appendqemucmdline($xml,$_POST["qemucmdline"]); } else { echo json_encode(['error' => $error]); exit; @@ -283,24 +283,24 @@ $strXML = $lv->domain_get_xml($dom); $boolNew = false; $arrConfig = array_replace_recursive($arrConfigDefaults, domain_to_config($uuid)); - $arrVMUSBs = getVMUSBs($strXML) ; + $arrVMUSBs = getVMUSBs($strXML); } else { // edit new VM $boolRunning = false; $strXML = ''; $boolNew = true; $arrConfig = $arrConfigDefaults; - $arrVMUSBs = getVMUSBs($strXML) ; + $arrVMUSBs = getVMUSBs($strXML); } // Add any custom metadata field defaults (e.g. os) if (!$arrConfig['template']['os']) { $arrConfig['template']['os'] = ($arrConfig['domain']['clock']=='localtime' ? 'windows' : 'linux'); } $os_type = ((empty($arrConfig['template']['os']) || stripos($arrConfig['template']['os'], 'windows') === false) ? 'other' : 'windows'); - if (isset($arrConfig['clocks'])) $arrClocks = json_decode($arrConfig['clocks'],true) ; else { + if (isset($arrConfig['clocks'])) $arrClocks = json_decode($arrConfig['clocks'],true); else { if ($os_type == "windows") { - if ($arrConfig['domain']['hyperv'] == 1) $arrClocks = $arrDefaultClocks['hyperv'] ; else $arrClocks = $arrDefaultClocks['windows'] ; - } else $arrClocks = $arrDefaultClocks['other'] ; + if ($arrConfig['domain']['hyperv'] == 1) $arrClocks = $arrDefaultClocks['hyperv']; else $arrClocks = $arrDefaultClocks['windows']; + } else $arrClocks = $arrDefaultClocks['other']; } if (strpos($arrConfig['template']['name'],"User-") !== false) { @@ -356,7 +356,7 @@ @@ -407,10 +407,9 @@

    - @@ -425,7 +424,7 @@ @@ -493,8 +492,8 @@ } ?> - - _(Max)_ _(Memory)_: + + _(Max)_ _(Memory)_:
    @@ -567,8 +566,8 @@ >_(Enable USB boot)_: @@ -778,9 +777,7 @@ } } } - } - echo mk_option($default_option, 'manual', _('Manual')); ?>
    @@ -932,9 +929,7 @@ } } } - } - echo mk_option('', 'manual', _('Manual')); ?>
    @@ -980,7 +975,7 @@ $arrShare) { $strLabel = ($i > 0) ? appendOrdinalSuffix($i + 1) : ''; @@ -996,11 +991,11 @@ _(Unraid Share)_: @@ -1114,7 +1109,7 @@ ?> _(Multifunction)_: @@ -1128,10 +1123,10 @@ @@ -1164,11 +1159,11 @@ >_(VM Console Port)_: - > + > >_(VM Console WS Port)_: - > + > @@ -1329,7 +1324,7 @@ 'network' => $domain_bridge, 'mac' => "", 'model' => 'virtio-net' - ] ; + ]; } foreach ($arrConfig['nic'] as $i => $arrNic) { $strLabel = ($i > 0) ? appendOrdinalSuffix($i + 1) : ''; @@ -1419,9 +1414,7 @@
    _(Machine)_:
    @@ -1559,7 +1548,7 @@ @@ -1576,8 +1565,8 @@ - $arrTimer) { - if ($i =="offset") continue ; - if ($clockcount == 0) $clocksourcetext = _("Timer Source").":" ;else $clocksourcetext = "" ; + if ($i =="offset") continue; + if ($clockcount == 0) $clocksourcetext = _("Timer Source").":"; else $clocksourcetext = ""; ?> @@ -1678,8 +1667,6 @@ - -
    _(QEMU Command Line)_:
    _(Clocks)_
    _(Clocks Offset)_: - - id="clockoffset" class="narrow" title="_(Clock Offset)_" >
    : _(Present)_: - id="clock[][present]" class="narrow" title="_(Clock Offset)_" > _(Tickpolicy)_: - id="clock[][tickpolicy]" class="narrow" title="_(Clock Offset)_" >
    @@ -1696,15 +1683,15 @@

    Grab
    - All grabs all input devices instead of just one + All grabs all input devices instead of just one

    Repeat
    - Repeat with value 'on'/'off' to enable/disable auto-repeat events + Repeat with value 'on'/'off' to enable/disable auto-repeat events

    -

    +

    GrabToggle
    GrabToggle with values ctrl-ctrl, alt-alt, shift-shift, meta-meta, scrolllock or ctrl-scrolllock to change the grab key combination

    @@ -1758,7 +1745,6 @@ - @@ -1819,82 +1805,82 @@ - + _(Enable disk shares)_: : " class="narrow" placeholder="40960" > +: >Maximum: :shares_fuse_file_descriptors_io_help: From 00c51606b0c95bf290df03713c9dc2b6d8fba33f Mon Sep 17 00:00:00 2001 From: dlandon Date: Tue, 7 Jan 2025 16:29:43 -0600 Subject: [PATCH 406/794] Revert "Check for value exceeding max files allowed." This reverts commit 1517f9d1577d8b78b9e73bf036e761875f970f4e. --- emhttp/plugins/dynamix/ShareSettings.page | 109 +++++++--------------- 1 file changed, 36 insertions(+), 73 deletions(-) diff --git a/emhttp/plugins/dynamix/ShareSettings.page b/emhttp/plugins/dynamix/ShareSettings.page index f0f1190cd..8f0f10ae4 100644 --- a/emhttp/plugins/dynamix/ShareSettings.page +++ b/emhttp/plugins/dynamix/ShareSettings.page @@ -20,85 +20,48 @@ Tag="share-alt" $disabled = _var($var,'fsState')!='Stopped' ? 'disabled' : ''; $disks = array_filter($disks,'my_disks'); $width = [166,300]; - -/* Fetch the file-max value from the system. */ -$fileMax = (int) file_get_contents('/proc/sys/fs/file-max'); ?> - + _(Enable disk shares)_: : >Maximum: +: " class="narrow" placeholder="40960" > :shares_fuse_file_descriptors_io_help: From 567fa0accd86d7e11e2e9475ea9034464f84fedb Mon Sep 17 00:00:00 2001 From: dlandon Date: Tue, 7 Jan 2025 17:08:46 -0600 Subject: [PATCH 407/794] Cut down on changes on original code. --- emhttp/plugins/dynamix/ShareSettings.page | 36 +++++++++++++++++++++-- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/emhttp/plugins/dynamix/ShareSettings.page b/emhttp/plugins/dynamix/ShareSettings.page index 8f0f10ae4..2fd64e280 100644 --- a/emhttp/plugins/dynamix/ShareSettings.page +++ b/emhttp/plugins/dynamix/ShareSettings.page @@ -20,6 +20,9 @@ Tag="share-alt" $disabled = _var($var,'fsState')!='Stopped' ? 'disabled' : ''; $disks = array_filter($disks,'my_disks'); $width = [166,300]; + +/* Fetch the file-max value from the system. */ +$fileMax = (int) file_get_contents('/proc/sys/fs/file-max'); ?> - + _(Enable disk shares)_: : " class="narrow" placeholder="40960" > +: >Maximum: :shares_fuse_file_descriptors_io_help: From 772717016489b4dcb326e1ac39ed1aa594c80cc2 Mon Sep 17 00:00:00 2001 From: Zack Spear Date: Tue, 7 Jan 2025 16:56:52 -0800 Subject: [PATCH 408/794] refactor(wc): changelog opens external link --- .../unraid-components.client-CQOXNcK4.js | 28 ------------------- .../unraid-components.client-DJyu2ziO.js | 28 +++++++++++++++++++ .../unraid-components/manifest.json | 4 +-- 3 files changed, 30 insertions(+), 30 deletions(-) delete mode 100644 emhttp/plugins/dynamix.my.servers/unraid-components/_nuxt/unraid-components.client-CQOXNcK4.js create mode 100644 emhttp/plugins/dynamix.my.servers/unraid-components/_nuxt/unraid-components.client-DJyu2ziO.js diff --git a/emhttp/plugins/dynamix.my.servers/unraid-components/_nuxt/unraid-components.client-CQOXNcK4.js b/emhttp/plugins/dynamix.my.servers/unraid-components/_nuxt/unraid-components.client-CQOXNcK4.js deleted file mode 100644 index 864a21748..000000000 --- a/emhttp/plugins/dynamix.my.servers/unraid-components/_nuxt/unraid-components.client-CQOXNcK4.js +++ /dev/null @@ -1,28 +0,0 @@ -function eee(eee,tee){const ree=Object.create(null),oee=eee.split(",");for(let i=0;i!!ree[eee]}const tee={},ree=[],oee=()=>{},NO=()=>!1,nee=/^on[^a-z]/,aee=eee=>nee.test(eee),iee=eee=>eee.startsWith("onUpdate:"),see=Object.assign,lee=(eee,el)=>{const i=eee.indexOf(el);i>-1&&eee.splice(i,1)},cee=Object.prototype.hasOwnProperty,pee=(eee,tee)=>cee.call(eee,tee),dee=Array.isArray,uee=eee=>"[object Map]"===xee(eee),hee=eee=>"[object Set]"===xee(eee),gee=eee=>"[object Date]"===xee(eee),wee=eee=>"function"==typeof eee,fee=eee=>"string"==typeof eee,bee=eee=>"symbol"==typeof eee,mee=eee=>null!==eee&&"object"==typeof eee,vee=eee=>mee(eee)&&wee(eee.then)&&wee(eee.catch),yee=Object.prototype.toString,xee=eee=>yee.call(eee),kee=eee=>xee(eee).slice(8,-1),_ee=eee=>"[object Object]"===xee(eee),Eee=eee=>fee(eee)&&"NaN"!==eee&&"-"!==eee[0]&&""+parseInt(eee,10)===eee,Tee=eee(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),See=fn=>{const eee=Object.create(null);return tee=>eee[tee]||(eee[tee]=fn(tee))},Iee=/-(\w)/g,Oee=See((eee=>eee.replace(Iee,((_,c)=>c?c.toUpperCase():"")))),Nee=/\B([A-Z])/g,Aee=See((eee=>eee.replace(Nee,"-$1").toLowerCase())),Ree=See((eee=>eee.charAt(0).toUpperCase()+eee.slice(1))),Dee=See((eee=>eee?`on${Ree(eee)}`:"")),Cee=(eee,tee)=>!Object.is(eee,tee),Lee=(eee,tee)=>{for(let i=0;i{Object.defineProperty(eee,tee,{configurable:!0,enumerable:!1,value:ree})},zee=eee=>{const n=parseFloat(eee);return isNaN(n)?eee:n},Mee=eee=>{const n=fee(eee)?Number(eee):NaN;return isNaN(n)?eee:n};let Pee;const Uee=()=>Pee||(Pee="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{});function jee(eee){if(dee(eee)){const tee={};for(let i=0;i{if(eee){const ree=eee.split(Vee);ree.length>1&&(tee[ree[0].trim()]=ree[1].trim())}})),tee}function Yee(eee){let tee="";if(fee(eee))tee=eee;else if(dee(eee))for(let i=0;iWee(eee,tee)))}const Hee=eee=>fee(eee)?eee:null==eee?"":dee(eee)||mee(eee)&&(eee.toString===yee||!wee(eee.toString))?JSON.stringify(eee,Xee,2):String(eee),Xee=(eee,tee)=>tee&&tee.__v_isRef?Xee(eee,tee.value):uee(tee)?{[`Map(${tee.size})`]:[...tee.entries()].reduce(((eee,[tee,ree])=>(eee[`${tee} =>`]=ree,eee)),{})}:hee(tee)?{[`Set(${tee.size})`]:[...tee.values()]}:!mee(tee)||dee(tee)||_ee(tee)?tee:String(tee);let Zee;class Jee{constructor(eee=!1){this.detached=eee,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Zee,!eee&&Zee&&(this.index=(Zee.scopes||(Zee.scopes=[])).push(this)-1)}get active(){return this._active}run(fn){if(this._active){const eee=Zee;try{return Zee=this,fn()}finally{Zee=eee}}}on(){Zee=this}off(){Zee=this.parent}stop(eee){if(this._active){let i,l;for(i=0,l=this.effects.length;i{const tee=new Set(eee);return tee.w=0,tee.n=0,tee},nte=eee=>(eee.w<e)>0,ate=eee=>(eee.n<e)>0,ite=new WeakMap;let ste=0,lte=1;const cte=30;let pte;const dte=Symbol(""),ute=Symbol("");class hte{constructor(fn,eee=null,tee){this.fn=fn,this.scheduler=eee,this.active=!0,this.deps=[],this.parent=void 0,function(eee,tee=Zee){tee&&tee.active&&tee.effects.push(eee)}(this,tee)}run(){if(!this.active)return this.fn();let eee=pte,tee=wte;for(;eee;){if(eee===this)return;eee=eee.parent}try{return this.parent=pte,pte=this,wte=!0,lte=1<<++ste,ste<=cte?(({deps:eee})=>{if(eee.length)for(let i=0;i{const{deps:tee}=eee;if(tee.length){let ree=0;for(let i=0;i{("length"===ree||ree>=eee)&&see.push(tee)}))}else switch(void 0!==ree&&see.push(iee.get(ree)),tee){case"add":dee(eee)?Eee(ree)&&see.push(iee.get("length")):(see.push(iee.get(dte)),uee(eee)&&see.push(iee.get(ute)));break;case"delete":dee(eee)||(see.push(iee.get(dte)),uee(eee)&&see.push(iee.get(ute)));break;case"set":uee(eee)&&see.push(iee.get(dte))}if(1===see.length)see[0]&&kte(see[0]);else{const eee=[];for(const tee of see)tee&&eee.push(...tee);kte(ote(eee))}}function kte(eee,tee){const ree=dee(eee)?eee:[...eee];for(const oee of ree)oee.computed&&_te(oee);for(const oee of ree)oee.computed||_te(oee)}function _te(eee,tee){(eee!==pte||eee.allowRecurse)&&(eee.scheduler?eee.scheduler():eee.run())}const Ete=eee("__proto__,__v_isRef,__isVue"),Tte=new Set(Object.getOwnPropertyNames(Symbol).filter((eee=>"arguments"!==eee&&"caller"!==eee)).map((eee=>Symbol[eee])).filter(bee)),Ste=Dte(),Ite=Dte(!1,!0),Ote=Dte(!0),Nte=Ate();function Ate(){const eee={};return["includes","indexOf","lastIndexOf"].forEach((tee=>{eee[tee]=function(...eee){const ree=wre(this);for(let i=0,l=this.length;i{eee[tee]=function(...eee){bte();const ree=wre(this)[tee].apply(this,eee);return mte(),ree}})),eee}function Rte(eee){const tee=wre(this);return vte(tee,0,eee),tee.hasOwnProperty(eee)}function Dte(eee=!1,tee=!1){return function(ree,oee,nee){if("__v_isReactive"===oee)return!eee;if("__v_isReadonly"===oee)return eee;if("__v_isShallow"===oee)return tee;if("__v_raw"===oee&&nee===(eee?tee?sre:ire:tee?are:nre).get(ree))return ree;const aee=dee(ree);if(!eee){if(aee&&pee(Nte,oee))return Reflect.get(Nte,oee,nee);if("hasOwnProperty"===oee)return Rte}const iee=Reflect.get(ree,oee,nee);return(bee(oee)?Tte.has(oee):Ete(oee))?iee:(eee||vte(ree,0,oee),tee?iee:xre(iee)?aee&&Eee(oee)?iee:iee.value:mee(iee)?eee?cre(iee):lre(iee):iee)}}function Cte(eee=!1){return function(tee,ree,oee,nee){let aee=tee[ree];if(ure(aee)&&xre(aee)&&!xre(oee))return!1;if(!eee&&(hre(oee)||ure(oee)||(aee=wre(aee),oee=wre(oee)),!dee(tee)&&xre(aee)&&!xre(oee)))return aee.value=oee,!0;const iee=dee(tee)&&Eee(ree)?Number(ree)!0,deleteProperty:(eee,tee)=>!0},zte=see({},Lte,{get:Ite,set:Cte(!0)}),Mte=eee=>eee,Pte=v=>Reflect.getPrototypeOf(v);function Ute(eee,tee,ree=!1,oee=!1){const nee=wre(eee=eee.__v_raw),aee=wre(tee);ree||(tee!==aee&&vte(nee,0,tee),vte(nee,0,aee));const{has:iee}=Pte(nee),see=oee?Mte:ree?mre:bre;return iee.call(nee,tee)?see(eee.get(tee)):iee.call(nee,aee)?see(eee.get(aee)):void(eee!==nee&&eee.get(tee))}function jte(eee,tee=!1){const ree=this.__v_raw,oee=wre(ree),nee=wre(eee);return tee||(eee!==nee&&vte(oee,0,eee),vte(oee,0,nee)),eee===nee?ree.has(eee):ree.has(eee)||ree.has(nee)}function $te(eee,tee=!1){return eee=eee.__v_raw,!tee&&vte(wre(eee),0,dte),Reflect.get(eee,"size",eee)}function Vte(eee){eee=wre(eee);const tee=wre(this);return Pte(tee).has.call(tee,eee)||(tee.add(eee),xte(tee,"add",eee,eee)),this}function qte(eee,tee){tee=wre(tee);const ree=wre(this),{has:oee,get:nee}=Pte(ree);let aee=oee.call(ree,eee);aee||(eee=wre(eee),aee=oee.call(ree,eee));const iee=nee.call(ree,eee);return ree.set(eee,tee),aee?Cee(tee,iee)&&xte(ree,"set",eee,tee):xte(ree,"add",eee,tee),this}function Bte(eee){const tee=wre(this),{has:ree,get:oee}=Pte(tee);let nee=ree.call(tee,eee);nee||(eee=wre(eee),nee=ree.call(tee,eee)),oee&&oee.call(tee,eee);const aee=tee.delete(eee);return nee&&xte(tee,"delete",eee,void 0),aee}function Yte(){const eee=wre(this),tee=0!==eee.size,ree=eee.clear();return tee&&xte(eee,"clear",void 0,void 0),ree}function Gte(eee,tee){return function(ree,oee){const nee=this,aee=nee.__v_raw,iee=wre(aee),see=tee?Mte:eee?mre:bre;return!eee&&vte(iee,0,dte),aee.forEach(((eee,tee)=>ree.call(oee,see(eee),see(tee),nee)))}}function Qte(eee,tee,ree){return function(...oee){const nee=this.__v_raw,aee=wre(nee),iee=uee(aee),see="entries"===eee||eee===Symbol.iterator&&iee,lee="keys"===eee&&iee,cee=nee[eee](...oee),pee=ree?Mte:tee?mre:bre;return!tee&&vte(aee,0,lee?ute:dte),{next(){const{value:eee,done:tee}=cee.next();return tee?{value:eee,done:tee}:{value:see?[pee(eee[0]),pee(eee[1])]:pee(eee),done:tee}},[Symbol.iterator](){return this}}}}function Wte(eee){return function(...tee){return"delete"!==eee&&this}}function Kte(){const eee={get(eee){return Ute(this,eee)},get size(){return $te(this)},has:jte,add:Vte,set:qte,delete:Bte,clear:Yte,forEach:Gte(!1,!1)},tee={get(eee){return Ute(this,eee,!1,!0)},get size(){return $te(this)},has:jte,add:Vte,set:qte,delete:Bte,clear:Yte,forEach:Gte(!1,!0)},ree={get(eee){return Ute(this,eee,!0)},get size(){return $te(this,!0)},has(eee){return jte.call(this,eee,!0)},add:Wte("add"),set:Wte("set"),delete:Wte("delete"),clear:Wte("clear"),forEach:Gte(!0,!1)},oee={get(eee){return Ute(this,eee,!0,!0)},get size(){return $te(this,!0)},has(eee){return jte.call(this,eee,!0)},add:Wte("add"),set:Wte("set"),delete:Wte("delete"),clear:Wte("clear"),forEach:Gte(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((nee=>{eee[nee]=Qte(nee,!1,!1),ree[nee]=Qte(nee,!0,!1),tee[nee]=Qte(nee,!1,!0),oee[nee]=Qte(nee,!0,!0)})),[eee,ree,tee,oee]}const[Hte,Xte,Zte,Jte]=Kte();function ere(eee,tee){const ree=tee?eee?Jte:Zte:eee?Xte:Hte;return(tee,oee,nee)=>"__v_isReactive"===oee?!eee:"__v_isReadonly"===oee?eee:"__v_raw"===oee?tee:Reflect.get(pee(ree,oee)&&oee in tee?ree:tee,oee,nee)}const tre={get:ere(!1,!1)},rre={get:ere(!1,!0)},ore={get:ere(!0,!1)},nre=new WeakMap,are=new WeakMap,ire=new WeakMap,sre=new WeakMap;function lre(eee){return ure(eee)?eee:pre(eee,!1,Lte,tre,nre)}function cre(eee){return pre(eee,!0,Fte,ore,ire)}function pre(eee,tee,ree,oee,nee){if(!mee(eee))return eee;if(eee.__v_raw&&(!tee||!eee.__v_isReactive))return eee;const aee=nee.get(eee);if(aee)return aee;const iee=(see=eee).__v_skip||!Object.isExtensible(see)?0:function(eee){switch(eee){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(kee(see));var see;if(0===iee)return eee;const lee=new Proxy(eee,2===iee?oee:ree);return nee.set(eee,lee),lee}function dre(eee){return ure(eee)?dre(eee.__v_raw):!(!eee||!eee.__v_isReactive)}function ure(eee){return!(!eee||!eee.__v_isReadonly)}function hre(eee){return!(!eee||!eee.__v_isShallow)}function gre(eee){return dre(eee)||ure(eee)}function wre(eee){const tee=eee&&eee.__v_raw;return tee?wre(tee):eee}function fre(eee){return Fee(eee,"__v_skip",!0),eee}const bre=eee=>mee(eee)?lre(eee):eee,mre=eee=>mee(eee)?cre(eee):eee;function vre(eee){wte&&pte&&yte((eee=wre(eee)).dep||(eee.dep=ote()))}function yre(eee,tee){const ree=(eee=wre(eee)).dep;ree&&kte(ree)}function xre(r){return!(!r||!0!==r.__v_isRef)}function kre(eee){return Ere(eee,!1)}function _re(eee){return Ere(eee,!0)}function Ere(eee,tee){return xre(eee)?eee:new Tre(eee,tee)}class Tre{constructor(eee,tee){this.__v_isShallow=tee,this.dep=void 0,this.__v_isRef=!0,this._rawValue=tee?eee:wre(eee),this._value=tee?eee:bre(eee)}get value(){return vre(this),this._value}set value(eee){const tee=this.__v_isShallow||hre(eee)||ure(eee);eee=tee?eee:wre(eee),Cee(eee,this._rawValue)&&(this._rawValue=eee,this._value=tee?eee:bre(eee),yre(this))}}function Sre(eee){return xre(eee)?eee.value:eee}const Ire={get:(eee,tee,ree)=>Sre(Reflect.get(eee,tee,ree)),set:(eee,tee,ree,oee)=>{const nee=eee[tee];return xre(nee)&&!xre(ree)?(nee.value=ree,!0):Reflect.set(eee,tee,ree,oee)}};function Ore(eee){return dre(eee)?eee:new Proxy(eee,Ire)}function Nre(eee){const tee=dee(eee)?new Array(eee.length):{};for(const ree in eee)tee[ree]=Cre(eee,ree);return tee}class Are{constructor(eee,tee,ree){this._object=eee,this._key=tee,this._defaultValue=ree,this.__v_isRef=!0}get value(){const eee=this._object[this._key];return void 0===eee?this._defaultValue:eee}set value(eee){this._object[this._key]=eee}get dep(){return function(eee,tee){var _a;return null==(_a=ite.get(eee))?void 0:_a.get(tee)}(wre(this._object),this._key)}}class Rre{constructor(eee){this._getter=eee,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Dre(eee,tee,ree){return xre(eee)?eee:wee(eee)?new Rre(eee):mee(eee)&&arguments.length>1?Cre(eee,tee,ree):kre(eee)}function Cre(eee,tee,ree){const oee=eee[tee];return xre(oee)?oee:new Are(eee,tee,ree)}class Lre{constructor(eee,tee,ree,oee){this._setter=tee,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new hte(eee,(()=>{this._dirty||(this._dirty=!0,yre(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!oee,this.__v_isReadonly=ree}get value(){const eee=wre(this);return vre(eee),!eee._dirty&&eee._cacheable||(eee._dirty=!1,eee._value=eee.effect.run()),eee._value}set value(eee){this._setter(eee)}}function Fre(fn,eee,tee,ree){let oee;try{oee=ree?fn(...ree):fn()}catch(nee){Mre(nee,eee,tee)}return oee}function zre(fn,eee,tee,ree){if(wee(fn)){const oee=Fre(fn,eee,tee,ree);return oee&&vee(oee)&&oee.catch((ree=>{Mre(ree,eee,tee)})),oee}const oee=[];for(let i=0;i>>1;Zre(jre[ree])Zre(a)-Zre(b))),Bre=0;Brenull==eee.id?1/0:eee.id,Jre=(a,b)=>{const eee=Zre(a)-Zre(b);if(0===eee){if(a.pre&&!b.pre)return-1;if(b.pre&&!a.pre)return 1}return eee};function eoe(eee){Ure=!1,Pre=!0,jre.sort(Jre);try{for($re=0;$refee(a)?a.trim():a))),ree&&(aee=oee.map(zee))}let lee,cee=nee[lee=Dee(ree)]||nee[lee=Dee(Oee(ree))];!cee&&iee&&(cee=nee[lee=Dee(Aee(ree))]),cee&&zre(cee,eee,6,aee);const pee=nee[lee+"Once"];if(pee){if(eee.emitted){if(eee.emitted[lee])return}else eee.emitted={};eee.emitted[lee]=!0,zre(pee,eee,6,aee)}}function roe(eee,tee,ree=!1){const oee=tee.emitsCache,nee=oee.get(eee);if(void 0!==nee)return nee;const aee=eee.emits;let iee={},lee=!1;if(!wee(eee)){const oee=eee=>{const ree=roe(eee,tee,!0);ree&&(lee=!0,see(iee,ree))};!ree&&tee.mixins.length&&tee.mixins.forEach(oee),eee.extends&&oee(eee.extends),eee.mixins&&eee.mixins.forEach(oee)}return aee||lee?(dee(aee)?aee.forEach((eee=>iee[eee]=null)):see(iee,aee),mee(eee)&&oee.set(eee,iee),iee):(mee(eee)&&oee.set(eee,null),null)}function ooe(eee,tee){return!(!eee||!aee(tee))&&(tee=tee.slice(2).replace(/Once$/,""),pee(eee,tee[0].toLowerCase()+tee.slice(1))||pee(eee,Aee(tee))||pee(eee,tee))}let noe=null,aoe=null;function ioe(eee){const tee=noe;return noe=eee,aoe=eee&&eee.type.__scopeId||null,tee}function soe(fn,eee=noe,tee){if(!eee)return fn;if(fn._n)return fn;const ree=(...tee)=>{ree._d&&Yne(-1);const oee=ioe(eee);let nee;try{nee=fn(...tee)}finally{ioe(oee),ree._d&&Yne(1)}return nee};return ree._n=!0,ree._c=!0,ree._d=!0,ree}function loe(eee){const{type:tee,vnode:ree,proxy:oee,withProxy:nee,props:aee,propsOptions:[see],slots:lee,attrs:cee,emit:pee,render:dee,renderCache:uee,data:hee,setupState:gee,ctx:wee,inheritAttrs:fee}=eee;let bee,mee;const vee=ioe(eee);try{if(4&ree.shapeFlag){const eee=nee||oee;bee=iae(dee.call(eee,eee,uee,aee,gee,hee,wee)),mee=cee}else{const eee=tee;0,bee=iae(eee.length>1?eee(aee,{attrs:cee,slots:lee,emit:pee}):eee(aee,null)),mee=tee.props?cee:coe(cee)}}catch(xee){$ne.length=0,Mre(xee,eee,1),bee=tae(Une)}let yee=bee;if(mee&&!1!==fee){const eee=Object.keys(mee),{shapeFlag:tee}=yee;eee.length&&7&tee&&(see&&eee.some(iee)&&(mee=poe(mee,see)),yee=rae(yee,mee))}return ree.dirs&&(yee=rae(yee),yee.dirs=yee.dirs?yee.dirs.concat(ree.dirs):ree.dirs),ree.transition&&(yee.transition=ree.transition),bee=yee,ioe(vee),bee}const coe=eee=>{let tee;for(const ree in eee)("class"===ree||"style"===ree||aee(ree))&&((tee||(tee={}))[ree]=eee[ree]);return tee},poe=(eee,tee)=>{const ree={};for(const oee in eee)iee(oee)&&oee.slice(9)in tee||(ree[oee]=eee[oee]);return ree};function doe(eee,tee,ree){const oee=Object.keys(tee);if(oee.length!==Object.keys(eee).length)return!0;for(let i=0;ieee.value,hee=hre(eee)):dre(eee)?(pee=()=>eee,nee=!0):dee(eee)?(gee=!0,hee=eee.some((s=>dre(s)||hre(s))),pee=()=>eee.map((s=>xre(s)?s.value:dre(s)?moe(s):wee(s)?Fre(s,cee,2):void 0))):pee=wee(eee)?cb?()=>Fre(eee,cee,2):()=>{if(!cee||!cee.isUnmounted)return uee&&uee(),zre(eee,cee,3,[bee])}:oee,cb&&nee){const eee=pee;pee=()=>moe(eee())}let fee,bee=fn=>{uee=xee.onStop=()=>{Fre(fn,cee,4)}};if(kae){if(bee=oee,cb?ree&&zre(cb,cee,3,[pee(),gee?[]:void 0,bee]):pee(),"sync"!==aee)return oee;{const eee=Oae();fee=eee.__watcherHandles||(eee.__watcherHandles=[])}}let mee=gee?new Array(eee.length).fill(hoe):hoe;const vee=()=>{if(xee.active)if(cb){const eee=xee.run();(nee||hee||(gee?eee.some(((v,i)=>Cee(v,mee[i]))):Cee(eee,mee)))&&(uee&&uee(),zre(cb,cee,3,[eee,mee===hoe?void 0:gee&&mee[0]===hoe?[]:mee,bee]),mee=eee)}else xee.run()};let yee;vee.allowRecurse=!!cb,"sync"===aee?yee=vee:"post"===aee?yee=()=>Cne(vee,cee&&cee.suspense):(vee.pre=!0,cee&&(vee.id=cee.uid),yee=()=>Wre(vee));const xee=new hte(pee,yee);cb?ree?vee():mee=xee.run():"post"===aee?Cne(xee.run.bind(xee),cee&&cee.suspense):xee.run();const kee=()=>{xee.stop(),cee&&cee.scope&&lee(cee.scope.effects,xee)};return fee&&fee.push(kee),kee}function foe(eee,tee,ree){const oee=this.proxy,nee=fee(eee)?eee.includes(".")?boe(oee,eee):()=>oee[eee]:eee.bind(oee,oee);let cb;wee(tee)?cb=tee:(cb=tee.handler,ree=tee);const aee=hae;mae(this);const iee=woe(nee,cb.bind(oee),ree);return aee?mae(aee):vae(),iee}function boe(eee,tee){const ree=tee.split(".");return()=>{let tee=eee;for(let i=0;i{moe(v,tee)}));else if(_ee(eee))for(const ree in eee)moe(eee[ree],tee);return eee}function voe(eee,ree){const oee=noe;if(null===oee)return eee;const nee=Tae(oee)||oee.proxy,aee=eee.dirs||(eee.dirs=[]);for(let i=0;isee({name:eee.name},tee,{setup:eee}))():eee}const koe=i=>!!i.type.__asyncLoader,_oe=eee=>eee.type.__isKeepAlive;function Eoe(eee,tee){Soe(eee,"a",tee)}function Toe(eee,tee){Soe(eee,"da",tee)}function Soe(eee,tee,ree=hae){const oee=eee.__wdc||(eee.__wdc=()=>{let tee=ree;for(;tee;){if(tee.isDeactivated)return;tee=tee.parent}return eee()});if(Ooe(tee,oee,ree),ree){let eee=ree.parent;for(;eee&&eee.parent;)_oe(eee.parent.vnode)&&Ioe(oee,tee,ree,eee),eee=eee.parent}}function Ioe(eee,tee,ree,oee){const nee=Ooe(tee,eee,oee,!0);Foe((()=>{lee(oee[tee],nee)}),ree)}function Ooe(eee,tee,ree=hae,oee=!1){if(ree){const nee=ree[eee]||(ree[eee]=[]),aee=tee.__weh||(tee.__weh=(...oee)=>{if(ree.isUnmounted)return;bte(),mae(ree);const nee=zre(tee,ree,eee,oee);return vae(),mte(),nee});return oee?nee.unshift(aee):nee.push(aee),aee}}const Noe=eee=>(tee,ree=hae)=>(!kae||"sp"===eee)&&Ooe(eee,((...eee)=>tee(...eee)),ree),Aoe=Noe("bm"),Roe=Noe("m"),Doe=Noe("bu"),Coe=Noe("u"),Loe=Noe("bum"),Foe=Noe("um"),zoe=Noe("sp"),Moe=Noe("rtg"),Poe=Noe("rtc");function Uoe(eee,tee=hae){Ooe("ec",eee,tee)}const joe=Symbol.for("v-ndc");function $oe(eee){return fee(eee)?function(eee,tee,ree=!0,oee=!1){const nee=noe||hae;if(nee){const ree=nee.type;{const eee=function(eee,tee=!0){return wee(eee)?eee.displayName||eee.name:eee.name||tee&&eee.__name}(ree,!1);if(eee&&(eee===tee||eee===Oee(tee)||eee===Ree(Oee(tee))))return ree}const aee=Voe(nee[eee]||ree[eee],tee)||Voe(nee.appContext[eee],tee);return!aee&&oee?ree:aee}}("components",eee,!1)||eee:eee||joe}function Voe(eee,tee){return eee&&(eee[tee]||eee[Oee(tee)]||eee[Ree(Oee(tee))])}function qoe(eee,tee,ree,oee){let nee;const aee=ree;if(dee(eee)||fee(eee)){nee=new Array(eee.length);for(let i=0,l=eee.length;itee(eee,i,void 0,aee)));else{const ree=Object.keys(eee);nee=new Array(ree.length);for(let i=0,l=ree.length;i{const tee=ree.fn(...eee);return tee&&(tee.key=ree.key),tee}:ree.fn)}return eee}function Yoe(eee,tee,ree={},oee,nee){if(noe.isCE||noe.parent&&koe(noe.parent)&&noe.parent.isCE)return"default"!==tee&&(ree.name=tee),tae("slot",ree,oee);let aee=eee[tee];aee&&aee._c&&(aee._d=!1),qne();const iee=aee&&Goe(aee(ree)),see=Wne(Mne,{key:ree.key||iee&&iee.key||`_${tee}`},iee||[],iee&&1===eee._?64:-2);return see.scopeId&&(see.slotScopeIds=[see.scopeId+"-s"]),aee&&aee._c&&(aee._d=!0),see}function Goe(eee){return eee.some((eee=>!Kne(eee)||eee.type!==Une&&!(eee.type===Mne&&!Goe(eee.children))))?eee:null}const Qoe=i=>i?yae(i)?Tae(i)||i.proxy:Qoe(i.parent):null,Woe=see(Object.create(null),{$:i=>i,$el:i=>i.vnode.el,$data:i=>i.data,$props:i=>i.props,$attrs:i=>i.attrs,$slots:i=>i.slots,$refs:i=>i.refs,$parent:i=>Qoe(i.parent),$root:i=>Qoe(i.root),$emit:i=>i.emit,$options:i=>rne(i),$forceUpdate:i=>i.f||(i.f=()=>Wre(i.update)),$nextTick:i=>i.n||(i.n=Qre.bind(i.proxy)),$watch:i=>foe.bind(i)}),Koe=(eee,ree)=>eee!==tee&&!eee.__isScriptSetup&&pee(eee,ree),Hoe={get({_:eee},ree){const{ctx:oee,setupState:nee,data:aee,props:iee,accessCache:see,type:lee,appContext:cee}=eee;let dee;if("$"!==ree[0]){const n=see[ree];if(void 0!==n)switch(n){case 1:return nee[ree];case 2:return aee[ree];case 4:return oee[ree];case 3:return iee[ree]}else{if(Koe(nee,ree))return see[ree]=1,nee[ree];if(aee!==tee&&pee(aee,ree))return see[ree]=2,aee[ree];if((dee=eee.propsOptions[0])&&pee(dee,ree))return see[ree]=3,iee[ree];if(oee!==tee&&pee(oee,ree))return see[ree]=4,oee[ree];Zoe&&(see[ree]=0)}}const uee=Woe[ree];let hee,gee;return uee?("$attrs"===ree&&vte(eee,0,ree),uee(eee)):(hee=lee.__cssModules)&&(hee=hee[ree])?hee:oee!==tee&&pee(oee,ree)?(see[ree]=4,oee[ree]):(gee=cee.config.globalProperties,pee(gee,ree)?gee[ree]:void 0)},set({_:eee},ree,oee){const{data:nee,setupState:aee,ctx:iee}=eee;return Koe(aee,ree)?(aee[ree]=oee,!0):nee!==tee&&pee(nee,ree)?(nee[ree]=oee,!0):!pee(eee.props,ree)&&(("$"!==ree[0]||!(ree.slice(1)in eee))&&(iee[ree]=oee,!0))},has({_:{data:eee,setupState:ree,accessCache:oee,ctx:nee,appContext:aee,propsOptions:iee}},see){let lee;return!!oee[see]||eee!==tee&&pee(eee,see)||Koe(ree,see)||(lee=iee[0])&&pee(lee,see)||pee(nee,see)||pee(Woe,see)||pee(aee.config.globalProperties,see)},defineProperty(eee,tee,ree){return null!=ree.get?eee._.accessCache[tee]=0:pee(ree,"value")&&this.set(eee,tee,ree.value,null),Reflect.defineProperty(eee,tee,ree)}};function Xoe(eee){return dee(eee)?eee.reduce(((eee,p)=>(eee[p]=null,eee)),{}):eee}let Zoe=!0;function Joe(eee){const tee=rne(eee),ree=eee.proxy,nee=eee.ctx;Zoe=!1,tee.beforeCreate&&ene(tee.beforeCreate,eee,"bc");const{data:aee,computed:iee,methods:see,watch:lee,provide:cee,inject:pee,created:uee,beforeMount:hee,mounted:gee,beforeUpdate:fee,updated:bee,activated:vee,deactivated:yee,beforeDestroy:xee,beforeUnmount:kee,destroyed:_ee,unmounted:Eee,render:Tee,renderTracked:See,renderTriggered:Iee,errorCaptured:Oee,serverPrefetch:Nee,expose:Aee,inheritAttrs:Ree,components:Dee,directives:Cee,filters:Lee}=tee;if(pee&&function(eee,tee,ree=oee){dee(eee)&&(eee=ine(eee));for(const oee in eee){const ree=eee[oee];let nee;nee=mee(ree)?"default"in ree?wne(ree.from||oee,ree.default,!0):wne(ree.from||oee):wne(ree),xre(nee)?Object.defineProperty(tee,oee,{enumerable:!0,configurable:!0,get:()=>nee.value,set:v=>nee.value=v}):tee[oee]=nee}}(pee,nee,null),see)for(const oee in see){const eee=see[oee];wee(eee)&&(nee[oee]=eee.bind(ree))}if(aee){const tee=aee.call(ree,ree);mee(tee)&&(eee.data=lre(tee))}if(Zoe=!0,iee)for(const dee in iee){const eee=iee[dee],tee=wee(eee)?eee.bind(ree,ree):wee(eee.get)?eee.get.bind(ree,ree):oee,aee=!wee(eee)&&wee(eee.set)?eee.set.bind(ree):oee,c=Sae({get:tee,set:aee});Object.defineProperty(nee,dee,{enumerable:!0,configurable:!0,get:()=>c.value,set:v=>c.value=v})}if(lee)for(const oee in lee)tne(lee[oee],nee,ree,oee);if(cee){const eee=wee(cee)?cee.call(ree):cee;Reflect.ownKeys(eee).forEach((tee=>{gne(tee,eee[tee])}))}function Fee(eee,tee){dee(tee)?tee.forEach((tee=>eee(tee.bind(ree)))):tee&&eee(tee.bind(ree))}if(uee&&ene(uee,eee,"c"),Fee(Aoe,hee),Fee(Roe,gee),Fee(Doe,fee),Fee(Coe,bee),Fee(Eoe,vee),Fee(Toe,yee),Fee(Uoe,Oee),Fee(Poe,See),Fee(Moe,Iee),Fee(Loe,kee),Fee(Foe,Eee),Fee(zoe,Nee),dee(Aee))if(Aee.length){const tee=eee.exposed||(eee.exposed={});Aee.forEach((eee=>{Object.defineProperty(tee,eee,{get:()=>ree[eee],set:tee=>ree[eee]=tee})}))}else eee.exposed||(eee.exposed={});Tee&&eee.render===oee&&(eee.render=Tee),null!=Ree&&(eee.inheritAttrs=Ree),Dee&&(eee.components=Dee),Cee&&(eee.directives=Cee)}function ene(eee,tee,ree){zre(dee(eee)?eee.map((h2=>h2.bind(tee.proxy))):eee.bind(tee.proxy),tee,ree)}function tne(eee,tee,ree,oee){const nee=oee.includes(".")?boe(ree,oee):()=>ree[oee];if(fee(eee)){const ree=tee[eee];wee(ree)&&goe(nee,ree)}else if(wee(eee))goe(nee,eee.bind(ree));else if(mee(eee))if(dee(eee))eee.forEach((r=>tne(r,tee,ree,oee)));else{const oee=wee(eee.handler)?eee.handler.bind(ree):tee[eee.handler];wee(oee)&&goe(nee,oee,eee)}}function rne(eee){const tee=eee.type,{mixins:ree,extends:oee}=tee,{mixins:nee,optionsCache:aee,config:{optionMergeStrategies:iee}}=eee.appContext,see=aee.get(tee);let lee;return see?lee=see:nee.length||ree||oee?(lee={},nee.length&&nee.forEach((m=>one(lee,m,iee,!0))),one(lee,tee,iee)):lee=tee,mee(tee)&&aee.set(tee,lee),lee}function one(to,eee,tee,ree=!1){const{mixins:oee,extends:nee}=eee;nee&&one(to,nee,tee,!0),oee&&oee.forEach((m=>one(to,m,tee,!0)));for(const aee in eee)if(ree&&"expose"===aee);else{const ree=nne[aee]||tee&&tee[aee];to[aee]=ree?ree(to[aee],eee[aee]):eee[aee]}return to}const nne={data:ane,props:cne,emits:cne,methods:lne,computed:lne,beforeCreate:sne,created:sne,beforeMount:sne,mounted:sne,beforeUpdate:sne,updated:sne,beforeDestroy:sne,beforeUnmount:sne,destroyed:sne,unmounted:sne,activated:sne,deactivated:sne,errorCaptured:sne,serverPrefetch:sne,components:lne,directives:lne,watch:function(to,eee){if(!to)return eee;if(!eee)return to;const tee=see(Object.create(null),to);for(const ree in eee)tee[ree]=sne(to[ree],eee[ree]);return tee},provide:ane,inject:function(to,eee){return lne(ine(to),ine(eee))}};function ane(to,eee){return eee?to?function(){return see(wee(to)?to.call(this,this):to,wee(eee)?eee.call(this,this):eee)}:eee:to}function ine(eee){if(dee(eee)){const tee={};for(let i=0;i(aee.has(eee)||(eee&&wee(eee.install)?(aee.add(eee),eee.install(lee,...tee)):wee(eee)&&(aee.add(eee),eee(lee,...tee))),lee),mixin:eee=>(nee.mixins.includes(eee)||nee.mixins.push(eee),lee),component:(eee,tee)=>tee?(nee.components[eee]=tee,lee):nee.components[eee],directive:(eee,tee)=>tee?(nee.directives[eee]=tee,lee):nee.directives[eee],mount(aee,see,cee){if(!iee){const pee=tae(ree,oee);return pee.appContext=nee,see&&tee?tee(pee,aee):eee(pee,aee,cee),iee=!0,lee._container=aee,aee.__vue_app__=lee,Tae(pee.component)||pee.component.proxy}},unmount(){iee&&(eee(null,lee._container),delete lee._container.__vue_app__)},provide:(eee,tee)=>(nee.provides[eee]=tee,lee),runWithContext(fn){hne=lee;try{return fn()}finally{hne=null}}};return lee}}let hne=null;function gne(eee,tee){if(hae){let ree=hae.provides;const oee=hae.parent&&hae.parent.provides;oee===ree&&(ree=hae.provides=Object.create(oee)),ree[eee]=tee}else;}function wne(eee,tee,ree=!1){const oee=hae||noe;if(oee||hne){const nee=oee?null==oee.parent?oee.vnode.appContext&&oee.vnode.appContext.provides:oee.parent.provides:hne._context.provides;if(nee&&eee in nee)return nee[eee];if(arguments.length>1)return ree&&wee(tee)?tee.call(oee&&oee.proxy):tee}}function fne(){return!!(hae||noe||hne)}function bne(eee,tee,ree,oee=!1){const nee={},aee={};Fee(aee,Xne,1),eee.propsDefaults=Object.create(null),mne(eee,tee,nee,aee);for(const iee in eee.propsOptions[0])iee in nee||(nee[iee]=void 0);ree?eee.props=oee?nee:pre(nee,!1,zte,rre,are):eee.type.props?eee.props=nee:eee.props=aee,eee.attrs=aee}function mne(eee,ree,oee,nee){const[aee,iee]=eee.propsOptions;let see,lee=!1;if(ree)for(let tee in ree){if(Tee(tee))continue;const cee=ree[tee];let dee;aee&&pee(aee,dee=Oee(tee))?iee&&iee.includes(dee)?(see||(see={}))[dee]=cee:oee[dee]=cee:ooe(eee.emitsOptions,tee)||tee in nee&&cee===nee[tee]||(nee[tee]=cee,lee=!0)}if(iee){const ree=wre(oee),nee=see||tee;for(let i=0;i{hee=!0;const[tee,ree]=yne(eee,oee,!0);see(cee,tee),ree&&uee.push(...ree)};!nee&&oee.mixins.length&&oee.mixins.forEach(tee),eee.extends&&tee(eee.extends),eee.mixins&&eee.mixins.forEach(tee)}if(!lee&&!hee)return mee(eee)&&aee.set(eee,ree),ree;if(dee(lee))for(let i=0;i-1,oee[1]=ree<0||tee-1||pee(oee,"default"))&&uee.push(eee)}}}const gee=[cee,uee];return mee(eee)&&aee.set(eee,gee),gee}function xne(eee){return"$"!==eee[0]}function kne(eee){const tee=eee&&eee.toString().match(/^\s*(function|class) (\w+)/);return tee?tee[2]:null===eee?"null":""}function _ne(a,b){return kne(a)===kne(b)}function Ene(eee,tee){return dee(tee)?tee.findIndex((t=>_ne(t,eee))):wee(tee)&&_ne(tee,eee)?0:-1}const Tne=eee=>"_"===eee[0]||"$stable"===eee,Sne=eee=>dee(eee)?eee.map(iae):[iae(eee)],Ine=(eee,tee,ree)=>{if(tee._n)return tee;const oee=soe(((...eee)=>Sne(tee(...eee))),ree);return oee._c=!1,oee},One=(eee,tee,ree)=>{const oee=eee._ctx;for(const nee in eee){if(Tne(nee))continue;const ree=eee[nee];if(wee(ree))tee[nee]=Ine(0,ree,oee);else if(null!=ree){const eee=Sne(ree);tee[nee]=()=>eee}}},Nne=(eee,tee)=>{const ree=Sne(tee);eee.slots.default=()=>ree},Ane=(eee,tee)=>{if(32&eee.vnode.shapeFlag){const ree=tee._;ree?(eee.slots=wre(tee),Fee(tee,"_",ree)):One(tee,eee.slots={})}else eee.slots={},tee&&Nne(eee,tee);Fee(eee.slots,Xne,1)},Rne=(eee,ree,oee)=>{const{vnode:nee,slots:aee}=eee;let iee=!0,lee=tee;if(32&nee.shapeFlag){const eee=ree._;eee?oee&&1===eee?iee=!1:(see(aee,ree),oee||1!==eee||delete aee._):(iee=!ree.$stable,One(ree,aee)),lee=ree}else ree&&(Nne(eee,ree),lee={default:1});if(iee)for(const tee in aee)Tne(tee)||tee in lee||delete aee[tee]};function Dne(eee,ree,oee,nee,aee=!1){if(dee(eee))return void eee.forEach(((r,i)=>Dne(r,ree&&(dee(ree)?ree[i]:ree),oee,nee,aee)));if(koe(nee)&&!aee)return;const iee=4&nee.shapeFlag?Tae(nee.component)||nee.component.proxy:nee.el,see=aee?null:iee,{i:cee,r:uee}=eee,hee=ree&&ree.r,gee=cee.refs===tee?cee.refs={}:cee.refs,bee=cee.setupState;if(null!=hee&&hee!==uee&&(fee(hee)?(gee[hee]=null,pee(bee,hee)&&(bee[hee]=null)):xre(hee)&&(hee.value=null)),wee(uee))Fre(uee,cee,12,[see,gee]);else{const tee=fee(uee),ree=xre(uee);if(tee||ree){const nee=()=>{if(eee.f){const ree=tee?pee(bee,uee)?bee[uee]:gee[uee]:uee.value;aee?dee(ree)&&lee(ree,iee):dee(ree)?ree.includes(iee)||ree.push(iee):tee?(gee[uee]=[iee],pee(bee,uee)&&(bee[uee]=gee[uee])):(uee.value=[iee],eee.k&&(gee[eee.k]=uee.value))}else tee?(gee[uee]=see,pee(bee,uee)&&(bee[uee]=see)):ree&&(uee.value=see,eee.k&&(gee[eee.k]=see))};see?(nee.id=-1,Cne(nee,oee)):nee()}}}const Cne=function(fn,eee){var cb;eee&&eee.pendingBranch?dee(fn)?eee.effects.push(...fn):eee.effects.push(fn):(dee(cb=fn)?Vre.push(...cb):qre&&qre.includes(cb,cb.allowRecurse?Bre+1:Bre)||Vre.push(cb),Kre())};function Lne(eee){return function(eee,nee){Uee().__VUE__=!0;const{insert:aee,remove:iee,patchProp:see,createElement:lee,createText:cee,createComment:dee,setText:uee,setElementText:hee,parentNode:gee,nextSibling:wee,setScopeId:fee=oee,insertStaticContent:bee}=eee,mee=(n1,n2,eee,tee=null,ree=null,oee=null,nee=!1,aee=null,iee=!!n2.dynamicChildren)=>{if(n1===n2)return;n1&&!Hne(n1,n2)&&(tee=Zee(n1),Qee(n1,ree,oee,!0),n1=null),-2===n2.patchFlag&&(iee=!1,n2.dynamicChildren=null);const{type:see,ref:lee,shapeFlag:cee}=n2;switch(see){case Pne:yee(n1,n2,eee,tee);break;case Une:xee(n1,n2,eee,tee);break;case jne:null==n1&&kee(n2,eee,tee,nee);break;case Mne:zee(n1,n2,eee,tee,ree,oee,nee,aee,iee);break;default:1&cee?See(n1,n2,eee,tee,ree,oee,nee,aee,iee):6&cee?Mee(n1,n2,eee,tee,ree,oee,nee,aee,iee):(64&cee||128&cee)&&see.process(n1,n2,eee,tee,ree,oee,nee,aee,iee,tte)}null!=lee&&ree&&Dne(lee,n1&&n1.ref,oee,n2||n1,!n2)},yee=(n1,n2,eee,tee)=>{if(null==n1)aee(n2.el=cee(n2.children),eee,tee);else{const el=n2.el=n1.el;n2.children!==n1.children&&uee(el,n2.children)}},xee=(n1,n2,eee,tee)=>{null==n1?aee(n2.el=dee(n2.children||""),eee,tee):n2.el=n1.el},kee=(n2,eee,tee,ree)=>{[n2.el,n2.anchor]=bee(n2.children,eee,tee,ree,n2.el,n2.anchor)},_ee=({el:el,anchor:eee},tee,ree)=>{let oee;for(;el&&el!==eee;)oee=wee(el),aee(el,tee,ree),el=oee;aee(eee,tee,ree)},Eee=({el:el,anchor:eee})=>{let tee;for(;el&&el!==eee;)tee=wee(el),iee(el),el=tee;iee(eee)},See=(n1,n2,eee,tee,ree,oee,nee,aee,iee)=>{nee=nee||"svg"===n2.type,null==n1?Iee(n2,eee,tee,ree,oee,nee,aee,iee):Dee(n1,n2,ree,oee,nee,aee,iee)},Iee=(eee,tee,ree,oee,nee,iee,cee,pee)=>{let el,dee;const{type:uee,props:gee,shapeFlag:wee,transition:fee,dirs:bee}=eee;if(el=eee.el=lee(eee.type,iee,gee&&gee.is,gee),8&wee?hee(el,eee.children):16&wee&&Ree(eee.children,el,null,oee,nee,iee&&"foreignObject"!==uee,cee,pee),bee&&yoe(eee,null,oee,"created"),Nee(el,eee,eee.scopeId,cee,oee),gee){for(const tee in gee)"value"===tee||Tee(tee)||see(el,tee,null,gee[tee],iee,eee.children,oee,nee,Xee);"value"in gee&&see(el,"value",null,gee.value),(dee=gee.onVnodeBeforeMount)&&pae(dee,oee,eee)}bee&&yoe(eee,null,oee,"beforeMount");const mee=(!nee||nee&&!nee.pendingBranch)&&fee&&!fee.persisted;mee&&fee.beforeEnter(el),aee(el,tee,ree),((dee=gee&&gee.onVnodeMounted)||mee||bee)&&Cne((()=>{dee&&pae(dee,oee,eee),mee&&fee.enter(el),bee&&yoe(eee,null,oee,"mounted")}),nee)},Nee=(el,eee,tee,ree,oee)=>{if(tee&&fee(el,tee),ree)for(let i=0;i{for(let i=lee;i{const el=n2.el=n1.el;let{patchFlag:iee,dynamicChildren:lee,dirs:cee}=n2;iee|=16&n1.patchFlag;const pee=n1.props||tee,dee=n2.props||tee;let uee;eee&&Fne(eee,!1),(uee=dee.onVnodeBeforeUpdate)&&pae(uee,eee,n2,n1),cee&&yoe(n2,n1,eee,"beforeUpdate"),eee&&Fne(eee,!0);const gee=oee&&"foreignObject"!==n2.type;if(lee?Cee(n1.dynamicChildren,lee,el,eee,ree,gee,nee):aee||qee(n1,n2,el,null,eee,ree,gee,nee,!1),iee>0){if(16&iee)Fee(el,n2,pee,dee,eee,ree,oee);else if(2&iee&&pee.class!==dee.class&&see(el,"class",null,dee.class,oee),4&iee&&see(el,"style",pee.style,dee.style,oee),8&iee){const tee=n2.dynamicProps;for(let i=0;i{uee&&pae(uee,eee,n2,n1),cee&&yoe(n2,n1,eee,"updated")}),ree)},Cee=(eee,tee,ree,oee,nee,aee,iee)=>{for(let i=0;i{if(ree!==oee){if(ree!==tee)for(const tee in ree)Tee(tee)||tee in oee||see(el,tee,ree[tee],null,iee,eee.children,nee,aee,Xee);for(const tee in oee){if(Tee(tee))continue;const lee=oee[tee],cee=ree[tee];lee!==cee&&"value"!==tee&&see(el,tee,cee,lee,iee,eee.children,nee,aee,Xee)}"value"in oee&&see(el,"value",ree.value,oee.value)}},zee=(n1,n2,eee,tee,ree,oee,nee,iee,see)=>{const lee=n2.el=n1?n1.el:cee(""),pee=n2.anchor=n1?n1.anchor:cee("");let{patchFlag:dee,dynamicChildren:uee,slotScopeIds:hee}=n2;hee&&(iee=iee?iee.concat(hee):hee),null==n1?(aee(lee,eee,tee),aee(pee,eee,tee),Ree(n2.children,eee,pee,ree,oee,nee,iee,see)):dee>0&&64&dee&&uee&&n1.dynamicChildren?(Cee(n1.dynamicChildren,uee,eee,ree,oee,nee,iee),(null!=n2.key||ree&&n2===ree.subTree)&&zne(n1,n2,!0)):qee(n1,n2,eee,pee,ree,oee,nee,iee,see)},Mee=(n1,n2,eee,tee,ree,oee,nee,aee,iee)=>{n2.slotScopeIds=aee,null==n1?512&n2.shapeFlag?ree.ctx.activate(n2,eee,tee,nee,iee):Pee(n2,eee,tee,ree,oee,nee,iee):jee(n1,n2,iee)},Pee=(eee,ree,oee,nee,aee,iee,see)=>{const lee=eee.component=function(eee,ree,oee){const nee=eee.type,aee=(ree?ree.appContext:eee.appContext)||dae,iee={uid:uae++,vnode:eee,type:nee,parent:ree,appContext:aee,root:null,next:null,subTree:null,effect:null,update:null,scope:new Jee(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:ree?ree.provides:Object.create(aee.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:yne(nee,aee),emitsOptions:roe(nee,aee),emit:null,emitted:null,propsDefaults:tee,inheritAttrs:nee.inheritAttrs,ctx:tee,data:tee,props:tee,attrs:tee,slots:tee,refs:tee,setupState:tee,setupContext:null,attrsProxy:null,slotsProxy:null,suspense:oee,suspenseId:oee?oee.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};iee.ctx={_:iee},iee.root=ree?ree.root:iee,iee.emit=toe.bind(null,iee),eee.ce&&eee.ce(iee);return iee}(eee,nee,aee);if(_oe(eee)&&(lee.ctx.renderer=tte),function(eee,tee=!1){kae=tee;const{props:ree,children:oee}=eee.vnode,nee=yae(eee);bne(eee,ree,nee,tee),Ane(eee,oee);const aee=nee?function(eee,tee){const ree=eee.type;eee.accessCache=Object.create(null),eee.proxy=fre(new Proxy(eee.ctx,Hoe));const{setup:oee}=ree;if(oee){const ree=eee.setupContext=oee.length>1?function(eee){const tee=tee=>{eee.exposed=tee||{}};return{get attrs(){return function(eee){return eee.attrsProxy||(eee.attrsProxy=new Proxy(eee.attrs,{get:(tee,ree)=>(vte(eee,0,"$attrs"),tee[ree])}))}(eee)},slots:eee.slots,emit:eee.emit,expose:tee}}(eee):null;mae(eee),bte();const nee=Fre(oee,eee,0,[eee.props,ree]);if(mte(),vae(),vee(nee)){if(nee.then(vae,vae),tee)return nee.then((ree=>{_ae(eee,ree,tee)})).catch((e=>{Mre(e,eee,0)}));eee.asyncDep=nee}else _ae(eee,nee,tee)}else Eae(eee,tee)}(eee,tee):void 0;kae=!1}(lee),lee.asyncDep){if(aee&&aee.registerDep(lee,$ee),!eee.el){const eee=lee.subTree=tae(Une);xee(null,eee,ree,oee)}}else $ee(lee,eee,ree,oee,aee,iee,see)},jee=(n1,n2,eee)=>{const tee=n2.component=n1.component;if(function(eee,tee,ree){const{props:oee,children:nee,component:aee}=eee,{props:iee,children:see,patchFlag:lee}=tee,cee=aee.emitsOptions;if(tee.dirs||tee.transition)return!0;if(!(ree&&lee>=0))return!(!nee&&!see||see&&see.$stable)||oee!==iee&&(oee?!iee||doe(oee,iee,cee):!!iee);if(1024&lee)return!0;if(16&lee)return oee?doe(oee,iee,cee):!!iee;if(8&lee){const eee=tee.dynamicProps;for(let i=0;i$re&&jre.splice(i,1)}(tee.update),tee.update()}else n2.el=n1.el,tee.vnode=n2},$ee=(eee,tee,ree,oee,nee,aee,iee)=>{const see=()=>{if(eee.isMounted){let tee,{next:ree,bu:bu,u:u,parent:oee,vnode:see}=eee,lee=ree;Fne(eee,!1),ree?(ree.el=see.el,Vee(eee,ree,iee)):ree=see,bu&&Lee(bu),(tee=ree.props&&ree.props.onVnodeBeforeUpdate)&&pae(tee,oee,ree,see),Fne(eee,!0);const cee=loe(eee),pee=eee.subTree;eee.subTree=cee,mee(pee,cee,gee(pee.el),Zee(pee),eee,nee,aee),ree.el=cee.el,null===lee&&function({vnode:eee,parent:tee},el){for(;tee&&tee.subTree===eee;)(eee=tee.vnode).el=el,tee=tee.parent}(eee,cee.el),u&&Cne(u,nee),(tee=ree.props&&ree.props.onVnodeUpdated)&&Cne((()=>pae(tee,oee,ree,see)),nee)}else{let iee;const{el:el,props:see}=tee,{bm:bm,m:m,parent:lee}=eee,cee=koe(tee);if(Fne(eee,!1),bm&&Lee(bm),!cee&&(iee=see&&see.onVnodeBeforeMount)&&pae(iee,lee,tee),Fne(eee,!0),el&&ote){const ree=()=>{eee.subTree=loe(eee),ote(el,eee.subTree,eee,nee,null)};cee?tee.type.__asyncLoader().then((()=>!eee.isUnmounted&&ree())):ree()}else{const iee=eee.subTree=loe(eee);mee(null,iee,ree,oee,eee,nee,aee),tee.el=iee.el}if(m&&Cne(m,nee),!cee&&(iee=see&&see.onVnodeMounted)){const eee=tee;Cne((()=>pae(iee,lee,eee)),nee)}(256&tee.shapeFlag||lee&&koe(lee.vnode)&&256&lee.vnode.shapeFlag)&&eee.a&&Cne(eee.a,nee),eee.isMounted=!0,tee=ree=oee=null}},lee=eee.effect=new hte(see,(()=>Wre(cee)),eee.scope),cee=eee.update=()=>lee.run();cee.id=eee.uid,Fne(eee,!0),cee()},Vee=(eee,tee,ree)=>{tee.component=eee;const oee=eee.vnode.props;eee.vnode=tee,eee.next=null,function(eee,tee,ree,oee){const{props:nee,attrs:aee,vnode:{patchFlag:iee}}=eee,see=wre(nee),[lee]=eee.propsOptions;let cee=!1;if(!(oee||iee>0)||16&iee){let oee;mne(eee,tee,nee,aee)&&(cee=!0);for(const aee in see)tee&&(pee(tee,aee)||(oee=Aee(aee))!==aee&&pee(tee,oee))||(lee?!ree||void 0===ree[aee]&&void 0===ree[oee]||(nee[aee]=vne(lee,see,aee,void 0,eee,!0)):delete nee[aee]);if(aee!==see)for(const eee in aee)tee&&pee(tee,eee)||(delete aee[eee],cee=!0)}else if(8&iee){const ree=eee.vnode.dynamicProps;for(let i=0;i{const c1=n1&&n1.children,see=n1?n1.shapeFlag:0,c2=n2.children,{patchFlag:lee,shapeFlag:cee}=n2;if(lee>0){if(128&lee)return void Yee(c1,c2,eee,tee,ree,oee,nee,aee,iee);if(256&lee)return void Bee(c1,c2,eee,tee,ree,oee,nee,aee,iee)}8&cee?(16&see&&Xee(c1,ree,oee),c2!==c1&&hee(eee,c2)):16&see?16&cee?Yee(c1,c2,eee,tee,ree,oee,nee,aee,iee):Xee(c1,ree,oee,!0):(8&see&&hee(eee,""),16&cee&&Ree(c2,eee,tee,ree,oee,nee,aee,iee))},Bee=(c1,c2,eee,tee,oee,nee,aee,iee,see)=>{c2=c2||ree;const lee=(c1=c1||ree).length,cee=c2.length,pee=Math.min(lee,cee);let i;for(i=0;icee?Xee(c1,oee,nee,!0,!1,pee):Ree(c2,eee,tee,oee,nee,aee,iee,see,pee)},Yee=(c1,c2,eee,tee,oee,nee,aee,iee,see)=>{let i=0;const l2=c2.length;let e1=c1.length-1,e2=l2-1;for(;i<=e1&&i<=e2;){const n1=c1[i],n2=c2[i]=see?sae(c2[i]):iae(c2[i]);if(!Hne(n1,n2))break;mee(n1,n2,eee,null,oee,nee,aee,iee,see),i++}for(;i<=e1&&i<=e2;){const n1=c1[e1],n2=c2[e2]=see?sae(c2[e2]):iae(c2[e2]);if(!Hne(n1,n2))break;mee(n1,n2,eee,null,oee,nee,aee,iee,see),e1--,e2--}if(i>e1){if(i<=e2){const ree=e2+1,lee=reee2)for(;i<=e1;)Qee(c1[i],oee,nee,!0),i++;else{const s1=i,s2=i,lee=new Map;for(i=s2;i<=e2;i++){const eee=c2[i]=see?sae(c2[i]):iae(c2[i]);null!=eee.key&&lee.set(eee.key,i)}let j,cee=0;const pee=e2-s2+1;let dee=!1,uee=0;const hee=new Array(pee);for(i=0;i=pee){Qee(tee,oee,nee,!0);continue}let ree;if(null!=tee.key)ree=lee.get(tee.key);else for(j=s2;j<=e2;j++)if(0===hee[j-s2]&&Hne(tee,c2[j])){ree=j;break}void 0===ree?Qee(tee,oee,nee,!0):(hee[ree-s2]=i+1,ree>=uee?uee=ree:dee=!0,mee(tee,c2[ree],eee,null,oee,nee,aee,iee,see),cee++)}const gee=dee?function(eee){const p=eee.slice(),tee=[0];let i,j,u,v,c;const ree=eee.length;for(i=0;i>1,eee[tee[c]]0&&(p[i]=tee[u-1]),tee[u]=i)}}u=tee.length,v=tee[u-1];for(;u-- >0;)tee[u]=v,v=p[v];return tee}(hee):ree;for(j=gee.length-1,i=pee-1;i>=0;i--){const ree=s2+i,lee=c2[ree],cee=ree+1{const{el:el,type:iee,transition:see,children:lee,shapeFlag:cee}=eee;if(6&cee)return void Gee(eee.component.subTree,tee,ree,oee);if(128&cee)return void eee.suspense.move(tee,ree,oee);if(64&cee)return void iee.move(eee,tee,ree,tte);if(iee===Mne){aee(el,tee,ree);for(let i=0;isee.enter(el)),nee);else{const{leave:eee,delayLeave:oee,afterLeave:nee}=see,iee=()=>aee(el,tee,ree),lee=()=>{eee(el,(()=>{iee(),nee&&nee()}))};oee?oee(el,iee,lee):lee()}else aee(el,tee,ree)},Qee=(eee,tee,ree,oee=!1,nee=!1)=>{const{type:aee,props:iee,ref:see,children:lee,dynamicChildren:cee,shapeFlag:pee,patchFlag:dee,dirs:uee}=eee;if(null!=see&&Dne(see,null,ree,eee,!0),256&pee)return void tee.ctx.deactivate(eee);const hee=1&pee&&uee,gee=!koe(eee);let wee;if(gee&&(wee=iee&&iee.onVnodeBeforeUnmount)&&pae(wee,tee,eee),6&pee)Hee(eee.component,ree,oee);else{if(128&pee)return void eee.suspense.unmount(ree,oee);hee&&yoe(eee,null,tee,"beforeUnmount"),64&pee?eee.type.remove(eee,tee,ree,nee,tte,oee):cee&&(aee!==Mne||dee>0&&64&dee)?Xee(cee,tee,ree,!1,!0):(aee===Mne&&384&dee||!nee&&16&pee)&&Xee(lee,tee,ree),oee&&Wee(eee)}(gee&&(wee=iee&&iee.onVnodeUnmounted)||hee)&&Cne((()=>{wee&&pae(wee,tee,eee),hee&&yoe(eee,null,tee,"unmounted")}),ree)},Wee=eee=>{const{type:tee,el:el,anchor:ree,transition:oee}=eee;if(tee===Mne)return void Kee(el,ree);if(tee===jne)return void Eee(eee);const nee=()=>{iee(el),oee&&!oee.persisted&&oee.afterLeave&&oee.afterLeave()};if(1&eee.shapeFlag&&oee&&!oee.persisted){const{leave:tee,delayLeave:ree}=oee,aee=()=>tee(el,nee);ree?ree(eee.el,nee,aee):aee()}else nee()},Kee=(eee,tee)=>{let ree;for(;eee!==tee;)ree=wee(eee),iee(eee),eee=ree;iee(tee)},Hee=(eee,tee,ree)=>{const{bum:oee,scope:nee,update:aee,subTree:iee,um:um}=eee;oee&&Lee(oee),nee.stop(),aee&&(aee.active=!1,Qee(iee,eee,tee,ree)),um&&Cne(um,tee),Cne((()=>{eee.isUnmounted=!0}),tee),tee&&tee.pendingBranch&&!tee.isUnmounted&&eee.asyncDep&&!eee.asyncResolved&&eee.suspenseId===tee.pendingId&&(tee.deps--,0===tee.deps&&tee.resolve())},Xee=(eee,tee,ree,oee=!1,nee=!1,aee=0)=>{for(let i=aee;i6&eee.shapeFlag?Zee(eee.component.subTree):128&eee.shapeFlag?eee.suspense.next():wee(eee.anchor||eee.el),ete=(eee,tee,ree)=>{null==eee?tee._vnode&&Qee(tee._vnode,null,null,!0):mee(tee._vnode||null,eee,tee,null,null,null,ree),Hre(),Xre(),tee._vnode=eee},tte={p:mee,um:Qee,m:Gee,r:Wee,mt:Pee,mc:Ree,pc:qee,pbc:Cee,n:Zee,o:eee};let rte,ote;return{render:ete,hydrate:rte,createApp:une(ete,rte)}}(eee)}function Fne({effect:eee,update:tee},ree){eee.allowRecurse=tee.allowRecurse=ree}function zne(n1,n2,eee=!1){const tee=n1.children,ree=n2.children;if(dee(tee)&&dee(ree))for(let i=0;i0?Vne||ree:null,$ne.pop(),Vne=$ne[$ne.length-1]||null,Bne>0&&Vne&&Vne.push(eee),eee}function Qne(eee,tee,ree,oee,nee,aee){return Gne(eae(eee,tee,ree,oee,nee,aee,!0))}function Wne(eee,tee,ree,oee,nee){return Gne(tae(eee,tee,ree,oee,nee,!0))}function Kne(eee){return!!eee&&!0===eee.__v_isVNode}function Hne(n1,n2){return n1.type===n2.type&&n1.key===n2.key}const Xne="__vInternal",Zne=({key:eee})=>null!=eee?eee:null,Jne=({ref:eee,ref_key:tee,ref_for:ree})=>("number"==typeof eee&&(eee=""+eee),null!=eee?fee(eee)||xre(eee)||wee(eee)?{i:noe,r:eee,k:tee,f:!!ree}:eee:null);function eae(eee,tee=null,ree=null,oee=0,nee=null,aee=(eee===Mne?0:1),iee=!1,see=!1){const lee={__v_isVNode:!0,__v_skip:!0,type:eee,props:tee,key:tee&&Zne(tee),ref:tee&&Jne(tee),scopeId:aoe,slotScopeIds:null,children:ree,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:aee,patchFlag:oee,dynamicProps:nee,dynamicChildren:null,appContext:null,ctx:noe};return see?(lae(lee,ree),128&aee&&eee.normalize(lee)):ree&&(lee.shapeFlag|=fee(ree)?8:16),Bne>0&&!iee&&Vne&&(lee.patchFlag>0||6&aee)&&32!==lee.patchFlag&&Vne.push(lee),lee}const tae=function(eee,tee=null,ree=null,oee=0,nee=null,aee=!1){eee&&eee!==joe||(eee=Une);if(Kne(eee)){const oee=rae(eee,tee,!0);return ree&&lae(oee,ree),Bne>0&&!aee&&Vne&&(6&oee.shapeFlag?Vne[Vne.indexOf(eee)]=oee:Vne.push(oee)),oee.patchFlag|=-2,oee}iee=eee,wee(iee)&&"__vccOpts"in iee&&(eee=eee.__vccOpts);var iee;if(tee){tee=function(eee){return eee?gre(eee)||Xne in eee?see({},eee):eee:null}(tee);let{class:eee,style:ree}=tee;eee&&!fee(eee)&&(tee.class=Yee(eee)),mee(ree)&&(gre(ree)&&!dee(ree)&&(ree=see({},ree)),tee.style=jee(ree))}const lee=fee(eee)?1:(eee=>eee.__isSuspense)(eee)?128:(eee=>eee.__isTeleport)(eee)?64:mee(eee)?4:wee(eee)?2:0;return eae(eee,tee,ree,oee,nee,lee,aee,!0)};function rae(eee,tee,ree=!1){const{props:oee,ref:nee,patchFlag:aee,children:iee}=eee,see=tee?cae(oee||{},tee):oee;return{__v_isVNode:!0,__v_skip:!0,type:eee.type,props:see,key:see&&Zne(see),ref:tee&&tee.ref?ree&&nee?dee(nee)?nee.concat(Jne(tee)):[nee,Jne(tee)]:Jne(tee):nee,scopeId:eee.scopeId,slotScopeIds:eee.slotScopeIds,children:iee,target:eee.target,targetAnchor:eee.targetAnchor,staticCount:eee.staticCount,shapeFlag:eee.shapeFlag,patchFlag:tee&&eee.type!==Mne?-1===aee?16:16|aee:aee,dynamicProps:eee.dynamicProps,dynamicChildren:eee.dynamicChildren,appContext:eee.appContext,dirs:eee.dirs,transition:eee.transition,component:eee.component,suspense:eee.suspense,ssContent:eee.ssContent&&rae(eee.ssContent),ssFallback:eee.ssFallback&&rae(eee.ssFallback),el:eee.el,anchor:eee.anchor,ctx:eee.ctx,ce:eee.ce}}function oae(eee=" ",tee=0){return tae(Pne,null,eee,tee)}function nae(eee,tee){const ree=tae(jne,null,eee);return ree.staticCount=tee,ree}function aae(eee="",tee=!1){return tee?(qne(),Wne(Une,null,eee)):tae(Une,null,eee)}function iae(eee){return null==eee||"boolean"==typeof eee?tae(Une):dee(eee)?tae(Mne,null,eee.slice()):"object"==typeof eee?sae(eee):tae(Pne,null,String(eee))}function sae(eee){return null===eee.el&&-1!==eee.patchFlag||eee.memo?eee:rae(eee)}function lae(eee,tee){let ree=0;const{shapeFlag:oee}=eee;if(null==tee)tee=null;else if(dee(tee))ree=16;else if("object"==typeof tee){if(65&oee){const ree=tee.default;return void(ree&&(ree._c&&(ree._d=!1),lae(eee,ree()),ree._c&&(ree._d=!0)))}{ree=32;const oee=tee._;oee||Xne in tee?3===oee&&noe&&(1===noe.slots._?tee._=1:(tee._=2,eee.patchFlag|=1024)):tee._ctx=noe}}else wee(tee)?(tee={default:tee,_ctx:noe},ree=32):(tee=String(tee),64&oee?(ree=16,tee=[oae(tee)]):ree=8);eee.children=tee,eee.shapeFlag|=ree}function cae(...eee){const tee={};for(let i=0;ihae||noe;let wae,fae,bae="__VUE_INSTANCE_SETTERS__";(fae=Uee()[bae])||(fae=Uee()[bae]=[]),fae.push((i=>hae=i)),wae=eee=>{fae.length>1?fae.forEach((s=>s(eee))):fae[0](eee)};const mae=eee=>{wae(eee),eee.scope.on()},vae=()=>{hae&&hae.scope.off(),wae(null)};function yae(eee){return 4&eee.vnode.shapeFlag}let xae,kae=!1;function _ae(eee,tee,ree){wee(tee)?eee.type.__ssrInlineRender?eee.ssrRender=tee:eee.render=tee:mee(tee)&&(eee.setupState=Ore(tee)),Eae(eee,ree)}function Eae(eee,tee,ree){const nee=eee.type;if(!eee.render){if(!tee&&xae&&!nee.render){const tee=nee.template||rne(eee).template;if(tee){const{isCustomElement:ree,compilerOptions:oee}=eee.appContext.config,{delimiters:aee,compilerOptions:iee}=nee,lee=see(see({isCustomElement:ree,delimiters:aee},oee),iee);nee.render=xae(tee,lee)}}eee.render=nee.render||oee}mae(eee),bte(),Joe(eee),mte(),vae()}function Tae(eee){if(eee.exposed)return eee.exposeProxy||(eee.exposeProxy=new Proxy(Ore(fre(eee.exposed)),{get:(tee,ree)=>ree in tee?tee[ree]:ree in Woe?Woe[ree](eee):void 0,has:(eee,tee)=>tee in eee||tee in Woe}))}const Sae=(eee,tee)=>function(eee,tee,ree=!1){let nee,aee;const iee=wee(eee);return iee?(nee=eee,aee=oee):(nee=eee.get,aee=eee.set),new Lre(nee,aee,iee||!aee,ree)}(eee,0,kae);function h(eee,tee,ree){const l=arguments.length;return 2===l?mee(tee)&&!dee(tee)?Kne(tee)?tae(eee,null,[tee]):tae(eee,tee):tae(eee,null,tee):(l>3?ree=Array.prototype.slice.call(arguments,2):3===l&&Kne(ree)&&(ree=[ree]),tae(eee,tee,ree))}const Iae=Symbol.for("v-scx"),Oae=()=>wne(Iae),Nae="3.3.4",Aae="undefined"!=typeof document?document:null,Rae=Aae&&Aae.createElement("template"),Dae={insert:(eee,tee,ree)=>{tee.insertBefore(eee,ree||null)},remove:eee=>{const tee=eee.parentNode;tee&&tee.removeChild(eee)},createElement:(eee,tee,is,ree)=>{const el=tee?Aae.createElementNS("http://www.w3.org/2000/svg",eee):Aae.createElement(eee,is?{is:is}:void 0);return"select"===eee&&ree&&null!=ree.multiple&&el.setAttribute("multiple",ree.multiple),el},createText:eee=>Aae.createTextNode(eee),createComment:eee=>Aae.createComment(eee),setText:(eee,tee)=>{eee.nodeValue=tee},setElementText:(el,eee)=>{el.textContent=eee},parentNode:eee=>eee.parentNode,nextSibling:eee=>eee.nextSibling,querySelector:eee=>Aae.querySelector(eee),setScopeId(el,id){el.setAttribute(id,"")},insertStaticContent(eee,tee,ree,oee,nee,aee){const iee=ree?ree.previousSibling:tee.lastChild;if(nee&&(nee===aee||nee.nextSibling))for(;tee.insertBefore(nee.cloneNode(!0),ree),nee!==aee&&(nee=nee.nextSibling););else{Rae.innerHTML=oee?`${eee}`:eee;const nee=Rae.content;if(oee){const eee=nee.firstChild;for(;eee.firstChild;)nee.appendChild(eee.firstChild);nee.removeChild(eee)}tee.insertBefore(nee,ree)}return[iee?iee.nextSibling:tee.firstChild,ree?ree.previousSibling:tee.lastChild]}};const Cae=/\s*!important$/;function Lae(eee,tee,ree){if(dee(ree))ree.forEach((v=>Lae(eee,tee,v)));else if(null==ree&&(ree=""),tee.startsWith("--"))eee.setProperty(tee,ree);else{const oee=function(eee,tee){const ree=zae[tee];if(ree)return ree;let oee=Oee(tee);if("filter"!==oee&&oee in eee)return zae[tee]=oee;oee=Ree(oee);for(let i=0;i{if(e._vts){if(e._vts<=ree.attached)return}else e._vts=Date.now();zre(function(e,eee){if(dee(eee)){const tee=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{tee.call(e),e._stopped=!0},eee.map((fn=>e2=>!e2._stopped&&fn&&fn(e2)))}return eee}(e,ree.value),tee,5,[e])};return ree.value=eee,ree.attached=qae(),ree}(ree,oee);Pae(el,tee,aee,iee)}else aee&&(!function(el,eee,tee,ree){el.removeEventListener(eee,tee,ree)}(el,tee,aee,iee),nee[eee]=void 0)}}const jae=/(?:Once|Passive|Capture)$/;let $ae=0;const Vae=Promise.resolve(),qae=()=>$ae||(Vae.then((()=>$ae=0)),$ae=Date.now());const Bae=/^on[a-z]/;const Yae="undefined"!=typeof HTMLElement?HTMLElement:class{};class Gae extends Yae{constructor(eee,tee={},ree){super(),this._def=eee,this._props=tee,this._instance=null,this._connected=!1,this._resolved=!1,this._numberProps=null,this.shadowRoot&&ree?ree(this._createVNode(),this.shadowRoot):(this.attachShadow({mode:"open"}),this._def.__asyncLoader||this._resolveProps(this._def))}connectedCallback(){this._connected=!0,this._instance||(this._resolved?this._update():this._resolveDef())}disconnectedCallback(){this._connected=!1,Qre((()=>{this._connected||(sie(null,this.shadowRoot),this._instance=null)}))}_resolveDef(){this._resolved=!0;for(let i=0;i{for(const m of eee)this._setAttr(m.attributeName)})).observe(this,{attributes:!0});const eee=(eee,tee=!1)=>{const{props:ree,styles:oee}=eee;let nee;if(ree&&!dee(ree))for(const aee in ree){const eee=ree[aee];(eee===Number||eee&&eee.type===Number)&&(aee in this._props&&(this._props[aee]=Mee(this._props[aee])),(nee||(nee=Object.create(null)))[Oee(aee)]=!0)}this._numberProps=nee,tee&&this._resolveProps(eee),this._applyStyles(oee),this._update()},tee=this._def.__asyncLoader;tee?tee().then((tee=>eee(tee,!0))):eee(this._def)}_resolveProps(eee){const{props:tee}=eee,ree=dee(tee)?tee:Object.keys(tee||{});for(const oee of Object.keys(this))"_"!==oee[0]&&ree.includes(oee)&&this._setProp(oee,this[oee],!0,!1);for(const oee of ree.map(Oee))Object.defineProperty(this,oee,{get(){return this._getProp(oee)},set(eee){this._setProp(oee,eee)}})}_setAttr(eee){let tee=this.getAttribute(eee);const ree=Oee(eee);this._numberProps&&this._numberProps[ree]&&(tee=Mee(tee)),this._setProp(ree,tee,!1)}_getProp(eee){return this._props[eee]}_setProp(eee,tee,ree=!0,oee=!0){tee!==this._props[eee]&&(this._props[eee]=tee,oee&&this._instance&&this._update(),ree&&(!0===tee?this.setAttribute(Aee(eee),""):"string"==typeof tee||"number"==typeof tee?this.setAttribute(Aee(eee),tee+""):tee||this.removeAttribute(Aee(eee))))}_update(){sie(this._createVNode(),this.shadowRoot)}_createVNode(){const eee=tae(this._def,see({},this._props));return this._instance||(eee.ce=eee=>{this._instance=eee,eee.isCE=!0;const tee=(eee,tee)=>{this.dispatchEvent(new CustomEvent(eee,{detail:tee}))};eee.emit=(eee,...ree)=>{tee(eee,ree),Aee(eee)!==eee&&tee(Aee(eee),ree)};let ree=this;for(;ree=ree&&(ree.parentNode||ree.host);)if(ree instanceof Gae){eee.parent=ree._instance,eee.provides=ree._instance.provides;break}}),eee}_applyStyles(eee){eee&&eee.forEach((eee=>{const s=document.createElement("style");s.textContent=eee,this.shadowRoot.appendChild(s)}))}}const Qae=eee=>{const fn=eee.props["onUpdate:modelValue"]||!1;return dee(fn)?eee=>Lee(fn,eee):fn};function Wae(e){e.target.composing=!0}function Kae(e){const eee=e.target;eee.composing&&(eee.composing=!1,eee.dispatchEvent(new Event("input")))}const Hae={created(el,{modifiers:{lazy:eee,trim:tee,number:ree}},oee){el._assign=Qae(oee);const nee=ree||oee.props&&"number"===oee.props.type;Pae(el,eee?"change":"input",(e=>{if(e.target.composing)return;let eee=el.value;tee&&(eee=eee.trim()),nee&&(eee=zee(eee)),el._assign(eee)})),tee&&Pae(el,"change",(()=>{el.value=el.value.trim()})),eee||(Pae(el,"compositionstart",Wae),Pae(el,"compositionend",Kae),Pae(el,"change",Kae))},mounted(el,{value:eee}){el.value=null==eee?"":eee},beforeUpdate(el,{value:eee,modifiers:{lazy:tee,trim:ree,number:oee}},nee){if(el._assign=Qae(nee),el.composing)return;if(document.activeElement===el&&"range"!==el.type){if(tee)return;if(ree&&el.value.trim()===eee)return;if((oee||"number"===el.type)&&zee(el.value)===eee)return}const aee=null==eee?"":eee;el.value!==aee&&(el.value=aee)}},Xae={deep:!0,created(el,{value:eee,modifiers:{number:tee}},ree){const oee=hee(eee);Pae(el,"change",(()=>{const eee=Array.prototype.filter.call(el.options,(o=>o.selected)).map((o=>tee?zee(Jae(o)):Jae(o)));el._assign(el.multiple?oee?new Set(eee):eee:eee[0])})),el._assign=Qae(ree)},mounted(el,{value:eee}){Zae(el,eee)},beforeUpdate(el,eee,tee){el._assign=Qae(tee)},updated(el,{value:eee}){Zae(el,eee)}};function Zae(el,eee){const tee=el.multiple;if(!tee||dee(eee)||hee(eee)){for(let i=0,l=el.options.length;i-1:ree.selected=eee.has(oee);else if(Wee(Jae(ree),eee))return void(el.selectedIndex!==i&&(el.selectedIndex=i))}tee||-1===el.selectedIndex||(el.selectedIndex=-1)}}function Jae(el){return"_value"in el?el._value:el.value}const eie=["ctrl","shift","alt","meta"],tie={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,eee)=>eie.some((m=>e[`${m}Key`]&&!eee.includes(m)))},rie={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},oie={beforeMount(el,{value:eee},{transition:tee}){el._vod="none"===el.style.display?"":el.style.display,tee&&eee?tee.beforeEnter(el):nie(el,eee)},mounted(el,{value:eee},{transition:tee}){tee&&eee&&tee.enter(el)},updated(el,{value:eee,oldValue:tee},{transition:ree}){!eee!=!tee&&(ree?eee?(ree.beforeEnter(el),nie(el,!0),ree.enter(el)):ree.leave(el,(()=>{nie(el,!1)})):nie(el,eee))},beforeUnmount(el,{value:eee}){nie(el,eee)}};function nie(el,eee){el.style.display=eee?el._vod:"none"}const aie=see({patchProp:(el,eee,tee,ree,oee=!1,nee,see,lee,cee)=>{"class"===eee?function(el,eee,tee){const ree=el._vtc;ree&&(eee=(eee?[eee,...ree]:[...ree]).join(" ")),null==eee?el.removeAttribute("class"):tee?el.setAttribute("class",eee):el.className=eee}(el,ree,oee):"style"===eee?function(el,eee,tee){const ree=el.style,oee=fee(tee);if(tee&&!oee){if(eee&&!fee(eee))for(const oee in eee)null==tee[oee]&&Lae(ree,oee,"");for(const eee in tee)Lae(ree,eee,tee[eee])}else{const nee=ree.display;oee?eee!==tee&&(ree.cssText=tee):eee&&el.removeAttribute("style"),"_vod"in el&&(ree.display=nee)}}(el,tee,ree):aee(eee)?iee(eee)||Uae(el,eee,0,ree,see):("."===eee[0]?(eee=eee.slice(1),1):"^"===eee[0]?(eee=eee.slice(1),0):function(el,eee,tee,ree){if(ree)return"innerHTML"===eee||"textContent"===eee||!!(eee in el&&Bae.test(eee)&&wee(tee));if("spellcheck"===eee||"draggable"===eee||"translate"===eee)return!1;if("form"===eee)return!1;if("list"===eee&&"INPUT"===el.tagName)return!1;if("type"===eee&&"TEXTAREA"===el.tagName)return!1;if(Bae.test(eee)&&fee(tee))return!1;return eee in el}(el,eee,ree,oee))?function(el,eee,tee,ree,oee,nee,aee){if("innerHTML"===eee||"textContent"===eee)return ree&&aee(ree,oee,nee),void(el[eee]=null==tee?"":tee);const iee=el.tagName;if("value"===eee&&"PROGRESS"!==iee&&!iee.includes("-")){el._value=tee;const ree=null==tee?"":tee;return("OPTION"===iee?el.getAttribute("value"):el.value)!==ree&&(el.value=ree),void(null==tee&&el.removeAttribute(eee))}let see=!1;if(""===tee||null==tee){const ree=typeof el[eee];"boolean"===ree?tee=Qee(tee):null==tee&&"string"===ree?(tee="",see=!0):"number"===ree&&(tee=0,see=!0)}try{el[eee]=tee}catch(e){}see&&el.removeAttribute(eee)}(el,eee,ree,nee,see,lee,cee):("true-value"===eee?el._trueValue=ree:"false-value"===eee&&(el._falseValue=ree),function(el,eee,tee,ree,oee){if(ree&&eee.startsWith("xlink:"))null==tee?el.removeAttributeNS(Mae,eee.slice(6,eee.length)):el.setAttributeNS(Mae,eee,tee);else{const ree=Gee(eee);null==tee||ree&&!Qee(tee)?el.removeAttribute(eee):el.setAttribute(eee,ree?"":tee)}}(el,eee,ree,oee))}},Dae);let iie;const sie=(...eee)=>{(iie||(iie=Lne(aie))).render(...eee)},lie="undefined"!=typeof window,cie=(eee,tee=!1)=>tee?Symbol.for(eee):Symbol(eee),pie=(eee,tee,ree)=>die({l:eee,k:tee,s:ree}),die=eee=>JSON.stringify(eee).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),uie=eee=>"number"==typeof eee&&isFinite(eee),hie=eee=>"[object Date]"===Nie(eee),gie=eee=>"[object RegExp]"===Nie(eee),wie=eee=>Aie(eee)&&0===Object.keys(eee).length,fie=Object.assign; -/*! - * shared v9.13.1 - * (c) 2024 kazuya kawaguchi - * Released under the MIT License. - */let bie;const mie=()=>bie||(bie="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{});function vie(eee){return eee.replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}const yie=Object.prototype.hasOwnProperty;function xie(eee,tee){return yie.call(eee,tee)}const kie=Array.isArray,_ie=eee=>"function"==typeof eee,Eie=eee=>"string"==typeof eee,Tie=eee=>"boolean"==typeof eee,Sie=eee=>null!==eee&&"object"==typeof eee,Iie=eee=>Sie(eee)&&_ie(eee.then)&&_ie(eee.catch),Oie=Object.prototype.toString,Nie=eee=>Oie.call(eee),Aie=eee=>{if(!Sie(eee))return!1;const tee=Object.getPrototypeOf(eee);return null===tee||tee.constructor===Object};function Rie(eee){let tee=eee;return()=>++tee}function Die(eee,tee){"undefined"!=typeof console&&(console.warn("[intlify] "+eee),tee&&console.warn(tee.stack))}const Cie=eee=>!Sie(eee)||kie(eee);function Lie(eee,tee){if(Cie(eee)||Cie(tee))throw new Error("Invalid value");const ree=[{src:eee,des:tee}];for(;ree.length;){const{src:eee,des:tee}=ree.pop();Object.keys(eee).forEach((oee=>{Cie(eee[oee])||Cie(tee[oee])?tee[oee]=eee[oee]:ree.push({src:eee[oee],des:tee[oee]})}))}} -/*! - * message-compiler v9.13.1 - * (c) 2024 kazuya kawaguchi - * Released under the MIT License. - */function Fie(eee,tee,ree){return{start:eee,end:tee}}const zie=/\{([0-9a-zA-Z]+)\}/g;function Mie(eee,...tee){return 1===tee.length&&jie(tee[0])&&(tee=tee[0]),tee&&tee.hasOwnProperty||(tee={}),eee.replace(zie,((eee,ree)=>tee.hasOwnProperty(ree)?tee[ree]:""))}const Pie=Object.assign,Uie=eee=>"string"==typeof eee,jie=eee=>null!==eee&&"object"==typeof eee;function $ie(eee,tee=""){return eee.reduce(((eee,ree,oee)=>0===oee?eee+ree:eee+tee+ree),"")}const Vie={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},qie={[Vie.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};const Bie={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},Yie={[Bie.EXPECTED_TOKEN]:"Expected token: '{0}'",[Bie.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Bie.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Bie.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Bie.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Bie.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Bie.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Bie.EMPTY_PLACEHOLDER]:"Empty placeholder",[Bie.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Bie.INVALID_LINKED_FORMAT]:"Invalid linked format",[Bie.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Bie.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Bie.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Bie.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Bie.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Bie.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Gie(eee,tee,ree={}){const{domain:oee,messages:nee,args:aee}=ree,iee=Mie((nee||Yie)[eee]||"",...aee||[]),see=new SyntaxError(String(iee));return see.code=eee,tee&&(see.location=tee),see.domain=oee,see}function Qie(eee){throw eee}const Wie=" ",Kie="\r",Hie="\n",Xie=String.fromCharCode(8232),Zie=String.fromCharCode(8233);function Jie(eee){const tee=eee;let ree=0,oee=1,nee=1,aee=0;const iee=eee=>tee[eee]===Kie&&tee[eee+1]===Hie,see=eee=>tee[eee]===Zie,lee=eee=>tee[eee]===Xie,cee=eee=>iee(eee)||(eee=>tee[eee]===Hie)(eee)||see(eee)||lee(eee),pee=eee=>iee(eee)||see(eee)||lee(eee)?Hie:tee[eee];function dee(){return aee=0,cee(ree)&&(oee++,nee=0),iee(ree)&&ree++,ree++,nee++,tee[ree]}return{index:()=>ree,line:()=>oee,column:()=>nee,peekOffset:()=>aee,charAt:pee,currentChar:()=>pee(ree),currentPeek:()=>pee(ree+aee),next:dee,peek:function(){return iee(ree+aee)&&aee++,aee++,tee[ree+aee]},reset:function(){ree=0,oee=1,nee=1,aee=0},resetPeek:function(eee=0){aee=eee},skipToPeek:function(){const eee=ree+aee;for(;eee!==ree;)dee();aee=0}}}const ese=void 0,tse="'",rse="tokenizer";function ose(eee,tee={}){const ree=!1!==tee.location,oee=Jie(eee),nee=()=>oee.index(),aee=()=>{return eee=oee.line(),tee=oee.column(),ree=oee.index(),{line:eee,column:tee,offset:ree};var eee,tee,ree},iee=aee(),see=nee(),lee={currentType:14,offset:see,startLoc:iee,endLoc:iee,lastType:14,lastOffset:see,lastStartLoc:iee,lastEndLoc:iee,braceNest:0,inLinked:!1,text:""},cee=()=>lee,{onError:pee}=tee;function dee(eee,tee,oee,...nee){const aee=cee();if(tee.column+=oee,tee.offset+=oee,pee){const oee=Gie(eee,ree?Fie(aee.startLoc,tee):null,{domain:rse,args:nee});pee(oee)}}function uee(eee,tee,oee){eee.endLoc=aee(),eee.currentType=tee;const nee={type:tee};return ree&&(nee.loc=Fie(eee.startLoc,eee.endLoc)),null!=oee&&(nee.value=oee),nee}const hee=eee=>uee(eee,14);function gee(eee,ch){return eee.currentChar()===ch?(eee.next(),ch):(dee(Bie.EXPECTED_TOKEN,aee(),0,ch),"")}function wee(eee){let tee="";for(;eee.currentPeek()===Wie||eee.currentPeek()===Hie;)tee+=eee.currentPeek(),eee.peek();return tee}function fee(eee){const tee=wee(eee);return eee.skipToPeek(),tee}function bee(ch){if(ch===ese)return!1;const cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||95===cc}function mee(eee,tee){const{currentType:ree}=tee;if(2!==ree)return!1;wee(eee);const oee=function(ch){if(ch===ese)return!1;const cc=ch.charCodeAt(0);return cc>=48&&cc<=57}("-"===eee.currentPeek()?eee.peek():eee.currentPeek());return eee.resetPeek(),oee}function vee(eee){wee(eee);const tee="|"===eee.currentPeek();return eee.resetPeek(),tee}function yee(eee,tee=!0){const fn=(tee=!1,ree="",oee=!1)=>{const ch=eee.currentPeek();return"{"===ch?"%"!==ree&&tee:"@"!==ch&&ch?"%"===ch?(eee.peek(),fn(tee,"%",!0)):"|"===ch?!("%"!==ree&&!oee)||!(ree===Wie||ree===Hie):ch===Wie?(eee.peek(),fn(!0,Wie,oee)):ch!==Hie||(eee.peek(),fn(!0,Hie,oee)):"%"===ree||tee},ree=fn();return tee&&eee.resetPeek(),ree}function xee(eee,fn){const ch=eee.currentChar();return ch===ese?ese:fn(ch)?(eee.next(),ch):null}function kee(ch){const cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||cc>=48&&cc<=57||95===cc||36===cc}function _ee(eee){return xee(eee,kee)}function Eee(ch){const cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||cc>=48&&cc<=57||95===cc||36===cc||45===cc}function Tee(eee){return xee(eee,Eee)}function See(ch){const cc=ch.charCodeAt(0);return cc>=48&&cc<=57}function Iee(eee){return xee(eee,See)}function Oee(ch){const cc=ch.charCodeAt(0);return cc>=48&&cc<=57||cc>=65&&cc<=70||cc>=97&&cc<=102}function Nee(eee){return xee(eee,Oee)}function Aee(eee){let ch="",tee="";for(;ch=Iee(eee);)tee+=ch;return tee}function Ree(eee){let tee="";for(;;){const ch=eee.currentChar();if("{"===ch||"}"===ch||"@"===ch||"|"===ch||!ch)break;if("%"===ch){if(!yee(eee))break;tee+=ch,eee.next()}else if(ch===Wie||ch===Hie)if(yee(eee))tee+=ch,eee.next();else{if(vee(eee))break;tee+=ch,eee.next()}else tee+=ch,eee.next()}return tee}function Dee(ch){return ch!==tse&&ch!==Hie}function Cee(eee){const ch=eee.currentChar();switch(ch){case"\\":case"'":return eee.next(),`\\${ch}`;case"u":return Lee(eee,ch,4);case"U":return Lee(eee,ch,6);default:return dee(Bie.UNKNOWN_ESCAPE_SEQUENCE,aee(),0,ch),""}}function Lee(eee,tee,ree){gee(eee,tee);let oee="";for(let i=0;i=1&&dee(Bie.NOT_ALLOW_NEST_PLACEHOLDER,aee(),0),eee.next(),ree=uee(tee,2,"{"),fee(eee),tee.braceNest++,ree;case"}":return tee.braceNest>0&&2===tee.currentType&&dee(Bie.EMPTY_PLACEHOLDER,aee(),0),eee.next(),ree=uee(tee,3,"}"),tee.braceNest--,tee.braceNest>0&&fee(eee),tee.inLinked&&0===tee.braceNest&&(tee.inLinked=!1),ree;case"@":return tee.braceNest>0&&dee(Bie.UNTERMINATED_CLOSING_BRACE,aee(),0),ree=Pee(eee,tee)||hee(tee),tee.braceNest=0,ree;default:{let oee=!0,nee=!0,iee=!0;if(vee(eee))return tee.braceNest>0&&dee(Bie.UNTERMINATED_CLOSING_BRACE,aee(),0),ree=uee(tee,1,zee(eee)),tee.braceNest=0,tee.inLinked=!1,ree;if(tee.braceNest>0&&(5===tee.currentType||6===tee.currentType||7===tee.currentType))return dee(Bie.UNTERMINATED_CLOSING_BRACE,aee(),0),tee.braceNest=0,Uee(eee,tee);if(oee=function(eee,tee){const{currentType:ree}=tee;if(2!==ree)return!1;wee(eee);const oee=bee(eee.currentPeek());return eee.resetPeek(),oee}(eee,tee))return ree=uee(tee,5,function(eee){fee(eee);let ch="",tee="";for(;ch=Tee(eee);)tee+=ch;return eee.currentChar()===ese&&dee(Bie.UNTERMINATED_CLOSING_BRACE,aee(),0),tee}(eee)),fee(eee),ree;if(nee=mee(eee,tee))return ree=uee(tee,6,function(eee){fee(eee);let tee="";return"-"===eee.currentChar()?(eee.next(),tee+=`-${Aee(eee)}`):tee+=Aee(eee),eee.currentChar()===ese&&dee(Bie.UNTERMINATED_CLOSING_BRACE,aee(),0),tee}(eee)),fee(eee),ree;if(iee=function(eee,tee){const{currentType:ree}=tee;if(2!==ree)return!1;wee(eee);const oee=eee.currentPeek()===tse;return eee.resetPeek(),oee}(eee,tee))return ree=uee(tee,7,function(eee){fee(eee),gee(eee,"'");let ch="",tee="";for(;ch=xee(eee,Dee);)tee+="\\"===ch?Cee(eee):ch;const ree=eee.currentChar();return ree===Hie||ree===ese?(dee(Bie.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,aee(),0),ree===Hie&&(eee.next(),gee(eee,"'")),tee):(gee(eee,"'"),tee)}(eee)),fee(eee),ree;if(!oee&&!nee&&!iee)return ree=uee(tee,13,function(eee){fee(eee);let ch="",tee="";for(;ch=xee(eee,Fee);)tee+=ch;return tee}(eee)),dee(Bie.INVALID_TOKEN_IN_PLACEHOLDER,aee(),0,ree.value),fee(eee),ree;break}}return ree}function Pee(eee,tee){const{currentType:ree}=tee;let oee=null;const ch=eee.currentChar();switch(8!==ree&&9!==ree&&12!==ree&&10!==ree||ch!==Hie&&ch!==Wie||dee(Bie.INVALID_LINKED_FORMAT,aee(),0),ch){case"@":return eee.next(),oee=uee(tee,8,"@"),tee.inLinked=!0,oee;case".":return fee(eee),eee.next(),uee(tee,9,".");case":":return fee(eee),eee.next(),uee(tee,10,":");default:return vee(eee)?(oee=uee(tee,1,zee(eee)),tee.braceNest=0,tee.inLinked=!1,oee):function(eee,tee){const{currentType:ree}=tee;if(8!==ree)return!1;wee(eee);const oee="."===eee.currentPeek();return eee.resetPeek(),oee}(eee,tee)||function(eee,tee){const{currentType:ree}=tee;if(8!==ree&&12!==ree)return!1;wee(eee);const oee=":"===eee.currentPeek();return eee.resetPeek(),oee}(eee,tee)?(fee(eee),Pee(eee,tee)):function(eee,tee){const{currentType:ree}=tee;if(9!==ree)return!1;wee(eee);const oee=bee(eee.currentPeek());return eee.resetPeek(),oee}(eee,tee)?(fee(eee),uee(tee,12,function(eee){let ch="",tee="";for(;ch=_ee(eee);)tee+=ch;return tee}(eee))):function(eee,tee){const{currentType:ree}=tee;if(10!==ree)return!1;const fn=()=>{const ch=eee.currentPeek();return"{"===ch?bee(eee.peek()):!("@"===ch||"%"===ch||"|"===ch||":"===ch||"."===ch||ch===Wie||!ch)&&(ch===Hie?(eee.peek(),fn()):yee(eee,!1))},oee=fn();return eee.resetPeek(),oee}(eee,tee)?(fee(eee),"{"===ch?Mee(eee,tee)||oee:uee(tee,11,function(eee){const fn=tee=>{const ch=eee.currentChar();return"{"!==ch&&"%"!==ch&&"@"!==ch&&"|"!==ch&&"("!==ch&&")"!==ch&&ch?ch===Wie?tee:(tee+=ch,eee.next(),fn(tee)):tee};return fn("")}(eee))):(8===ree&&dee(Bie.INVALID_LINKED_FORMAT,aee(),0),tee.braceNest=0,tee.inLinked=!1,Uee(eee,tee))}}function Uee(eee,tee){let ree={type:14};if(tee.braceNest>0)return Mee(eee,tee)||hee(tee);if(tee.inLinked)return Pee(eee,tee)||hee(tee);switch(eee.currentChar()){case"{":return Mee(eee,tee)||hee(tee);case"}":return dee(Bie.UNBALANCED_CLOSING_BRACE,aee(),0),eee.next(),uee(tee,3,"}");case"@":return Pee(eee,tee)||hee(tee);default:{if(vee(eee))return ree=uee(tee,1,zee(eee)),tee.braceNest=0,tee.inLinked=!1,ree;const{isModulo:oee,hasSpace:nee}=function(eee){const tee=wee(eee),ree="%"===eee.currentPeek()&&"{"===eee.peek();return eee.resetPeek(),{isModulo:ree,hasSpace:tee.length>0}}(eee);if(oee)return nee?uee(tee,0,Ree(eee)):uee(tee,4,function(eee){fee(eee);const ch=eee.currentChar();return"%"!==ch&&dee(Bie.EXPECTED_TOKEN,aee(),0,ch),eee.next(),"%"}(eee));if(yee(eee))return uee(tee,0,Ree(eee));break}}return ree}return{nextToken:function(){const{currentType:eee,offset:tee,startLoc:ree,endLoc:iee}=lee;return lee.lastType=eee,lee.lastOffset=tee,lee.lastStartLoc=ree,lee.lastEndLoc=iee,lee.offset=nee(),lee.startLoc=aee(),oee.currentChar()===ese?uee(lee,14):Uee(oee,lee)},currentOffset:nee,currentPosition:aee,context:cee}}const nse="parser",ase=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function ise(eee,tee,ree){switch(eee){case"\\\\":return"\\";case"\\'":return"'";default:{const eee=parseInt(tee||ree,16);return eee<=55295||eee>=57344?String.fromCodePoint(eee):"�"}}}function sse(eee={}){const tee=!1!==eee.location,{onError:ree,onWarn:oee}=eee;function nee(eee,oee,nee,aee,...iee){const see=eee.currentPosition();if(see.offset+=aee,see.column+=aee,ree){const eee=Gie(oee,tee?Fie(nee,see):null,{domain:nse,args:iee});ree(eee)}}function aee(eee,ree,nee,aee,...iee){const see=eee.currentPosition();if(see.offset+=aee,see.column+=aee,oee){const eee=tee?Fie(nee,see):null;oee(function(eee,tee,...ree){const oee=Mie(qie[eee],...ree||[]),nee={message:String(oee),code:eee};return tee&&(nee.location=tee),nee}(ree,eee,iee))}}function iee(eee,ree,oee){const nee={type:eee};return tee&&(nee.start=ree,nee.end=ree,nee.loc={start:oee,end:oee}),nee}function see(eee,ree,oee,nee){tee&&(eee.end=ree,eee.loc&&(eee.loc.end=oee))}function lee(eee,tee){const ree=eee.context(),oee=iee(3,ree.offset,ree.startLoc);return oee.value=tee,see(oee,eee.currentOffset(),eee.currentPosition()),oee}function cee(eee,tee){const ree=eee.context(),{lastOffset:oee,lastStartLoc:nee}=ree,aee=iee(5,oee,nee);return aee.index=parseInt(tee,10),eee.nextToken(),see(aee,eee.currentOffset(),eee.currentPosition()),aee}function pee(eee,tee,ree){const oee=eee.context(),{lastOffset:nee,lastStartLoc:aee}=oee,lee=iee(4,nee,aee);return lee.key=tee,!0===ree&&(lee.modulo=!0),eee.nextToken(),see(lee,eee.currentOffset(),eee.currentPosition()),lee}function dee(eee,tee){const ree=eee.context(),{lastOffset:oee,lastStartLoc:nee}=ree,aee=iee(9,oee,nee);return aee.value=tee.replace(ase,ise),eee.nextToken(),see(aee,eee.currentOffset(),eee.currentPosition()),aee}function uee(eee){const tee=eee.context(),ree=iee(6,tee.offset,tee.startLoc);let oee=eee.nextToken();if(9===oee.type){const tee=function(eee){const tee=eee.nextToken(),ree=eee.context(),{lastOffset:oee,lastStartLoc:aee}=ree,lee=iee(8,oee,aee);return 12!==tee.type?(nee(eee,Bie.UNEXPECTED_EMPTY_LINKED_MODIFIER,ree.lastStartLoc,0),lee.value="",see(lee,oee,aee),{nextConsumeToken:tee,node:lee}):(null==tee.value&&nee(eee,Bie.UNEXPECTED_LEXICAL_ANALYSIS,ree.lastStartLoc,0,lse(tee)),lee.value=tee.value||"",see(lee,eee.currentOffset(),eee.currentPosition()),{node:lee})}(eee);ree.modifier=tee.node,oee=tee.nextConsumeToken||eee.nextToken()}switch(10!==oee.type&&nee(eee,Bie.UNEXPECTED_LEXICAL_ANALYSIS,tee.lastStartLoc,0,lse(oee)),oee=eee.nextToken(),2===oee.type&&(oee=eee.nextToken()),oee.type){case 11:null==oee.value&&nee(eee,Bie.UNEXPECTED_LEXICAL_ANALYSIS,tee.lastStartLoc,0,lse(oee)),ree.key=function(eee,tee){const ree=eee.context(),oee=iee(7,ree.offset,ree.startLoc);return oee.value=tee,see(oee,eee.currentOffset(),eee.currentPosition()),oee}(eee,oee.value||"");break;case 5:null==oee.value&&nee(eee,Bie.UNEXPECTED_LEXICAL_ANALYSIS,tee.lastStartLoc,0,lse(oee)),ree.key=pee(eee,oee.value||"");break;case 6:null==oee.value&&nee(eee,Bie.UNEXPECTED_LEXICAL_ANALYSIS,tee.lastStartLoc,0,lse(oee)),ree.key=cee(eee,oee.value||"");break;case 7:null==oee.value&&nee(eee,Bie.UNEXPECTED_LEXICAL_ANALYSIS,tee.lastStartLoc,0,lse(oee)),ree.key=dee(eee,oee.value||"");break;default:{nee(eee,Bie.UNEXPECTED_EMPTY_LINKED_KEY,tee.lastStartLoc,0);const aee=eee.context(),lee=iee(7,aee.offset,aee.startLoc);return lee.value="",see(lee,aee.offset,aee.startLoc),ree.key=lee,see(ree,aee.offset,aee.startLoc),{nextConsumeToken:oee,node:ree}}}return see(ree,eee.currentOffset(),eee.currentPosition()),{node:ree}}function hee(eee){const tee=eee.context(),ree=iee(2,1===tee.currentType?eee.currentOffset():tee.offset,1===tee.currentType?tee.endLoc:tee.startLoc);ree.items=[];let oee=null,hee=null;do{const iee=oee||eee.nextToken();switch(oee=null,iee.type){case 0:null==iee.value&&nee(eee,Bie.UNEXPECTED_LEXICAL_ANALYSIS,tee.lastStartLoc,0,lse(iee)),ree.items.push(lee(eee,iee.value||""));break;case 6:null==iee.value&&nee(eee,Bie.UNEXPECTED_LEXICAL_ANALYSIS,tee.lastStartLoc,0,lse(iee)),ree.items.push(cee(eee,iee.value||""));break;case 4:hee=!0;break;case 5:null==iee.value&&nee(eee,Bie.UNEXPECTED_LEXICAL_ANALYSIS,tee.lastStartLoc,0,lse(iee)),ree.items.push(pee(eee,iee.value||"",!!hee)),hee&&(aee(eee,Vie.USE_MODULO_SYNTAX,tee.lastStartLoc,0,lse(iee)),hee=null);break;case 7:null==iee.value&&nee(eee,Bie.UNEXPECTED_LEXICAL_ANALYSIS,tee.lastStartLoc,0,lse(iee)),ree.items.push(dee(eee,iee.value||""));break;case 8:{const tee=uee(eee);ree.items.push(tee.node),oee=tee.nextConsumeToken||null;break}}}while(14!==tee.currentType&&1!==tee.currentType);return see(ree,1===tee.currentType?tee.lastOffset:eee.currentOffset(),1===tee.currentType?tee.lastEndLoc:eee.currentPosition()),ree}function gee(eee){const tee=eee.context(),{offset:ree,startLoc:oee}=tee,aee=hee(eee);return 14===tee.currentType?aee:function(eee,tee,ree,oee){const aee=eee.context();let lee=0===oee.items.length;const cee=iee(1,tee,ree);cee.cases=[],cee.cases.push(oee);do{const tee=hee(eee);lee||(lee=0===tee.items.length),cee.cases.push(tee)}while(14!==aee.currentType);return lee&&nee(eee,Bie.MUST_HAVE_MESSAGES_IN_PLURAL,ree,0),see(cee,eee.currentOffset(),eee.currentPosition()),cee}(eee,ree,oee,aee)}return{parse:function(ree){const oee=ose(ree,Pie({},eee)),aee=oee.context(),lee=iee(0,aee.offset,aee.startLoc);return tee&&lee.loc&&(lee.loc.source=ree),lee.body=gee(oee),eee.onCacheKey&&(lee.cacheKey=eee.onCacheKey(ree)),14!==aee.currentType&&nee(oee,Bie.UNEXPECTED_LEXICAL_ANALYSIS,aee.lastStartLoc,0,ree[aee.offset]||""),see(lee,oee.currentOffset(),oee.currentPosition()),lee}}}function lse(eee){if(14===eee.type)return"EOF";const tee=(eee.value||"").replace(/\r?\n/gu,"\\n");return tee.length>10?tee.slice(0,9)+"…":tee}function cse(eee,tee){for(let i=0;iree,helper:eee=>(ree.helpers.add(eee),eee)}}(eee);ree.helper("normalize"),eee.body&&pse(eee.body,ree);const oee=ree.context();eee.helpers=Array.from(oee.helpers)}function use(eee){if(1===eee.items.length){const tee=eee.items[0];3!==tee.type&&9!==tee.type||(eee.static=tee.value,delete tee.value)}else{const tee=[];for(let i=0;i1){eee.push(`${ree("plural")}([`),eee.indent(oee());const nee=tee.cases.length;for(let i=0;i{const ree=Uie(tee.mode)?tee.mode:"normal",oee=Uie(tee.filename)?tee.filename:"message.intl",nee=!!tee.sourceMap,aee=null!=tee.breakLineCode?tee.breakLineCode:"arrow"===ree?";":"\n",iee=tee.needIndent?tee.needIndent:"arrow"!==ree,see=eee.helpers||[],lee=function(eee,tee){const{sourceMap:ree,filename:oee,breakLineCode:nee,needIndent:aee}=tee,iee=!1!==tee.location,see={filename:oee,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:nee,needIndent:aee,indentLevel:0};function lee(eee,tee){see.code+=eee}function cee(n,eee=!0){const tee=eee?nee:"";lee(aee?tee+" ".repeat(n):tee)}return iee&&eee.loc&&(see.source=eee.loc.source),{context:()=>see,push:lee,indent:function(eee=!0){const tee=++see.indentLevel;eee&&cee(tee)},deindent:function(eee=!0){const tee=--see.indentLevel;eee&&cee(tee)},newline:function(){cee(see.indentLevel)},helper:eee=>`_${eee}`,needIndent:()=>see.needIndent}}(eee,{mode:ree,filename:oee,sourceMap:nee,breakLineCode:aee,needIndent:iee});lee.push("normal"===ree?"function __msg__ (ctx) {":"(ctx) => {"),lee.indent(iee),see.length>0&&(lee.push(`const { ${$ie(see.map((s=>`${s}: _${s}`)),", ")} } = ctx`),lee.newline()),lee.push("return "),fse(lee,eee),lee.deindent(iee),lee.push("}"),delete eee.helpers;const{code:cee,map:pee}=lee.context();return{ast:eee,code:cee,map:pee?pee.toJSON():void 0}};function mse(eee,tee={}){const ree=Pie({},tee),oee=!!ree.jit,nee=!!ree.minify,aee=null==ree.optimize||ree.optimize,iee=sse(ree).parse(eee);return oee?(aee&&function(eee){const tee=eee.body;2===tee.type?use(tee):tee.cases.forEach((c=>use(c)))}(iee),nee&&gse(iee),{ast:iee,code:""}):(dse(iee,ree),bse(iee,ree))} -/*! - * core-base v9.13.1 - * (c) 2024 kazuya kawaguchi - * Released under the MIT License. - */const vse=[];vse[0]={w:[0],i:[3,0],"[":[4],o:[7]},vse[1]={w:[1],".":[2],"[":[4],o:[7]},vse[2]={w:[2],i:[3,0],0:[3,0]},vse[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]},vse[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]},vse[5]={"'":[4,0],o:8,l:[5,0]},vse[6]={'"':[4,0],o:8,l:[6,0]};const yse=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function xse(ch){if(null==ch)return"o";switch(ch.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return ch;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function kse(eee){const tee=eee.trim();return("0"!==eee.charAt(0)||!isNaN(parseInt(eee)))&&(ree=tee,yse.test(ree)?function(eee){const a=eee.charCodeAt(0);return a!==eee.charCodeAt(eee.length-1)||34!==a&&39!==a?eee:eee.slice(1,-1)}(tee):"*"+tee);var ree}const _se=new Map;function Ese(eee,tee){return Sie(eee)?eee[tee]:null}const Tse=eee=>eee,Sse=eee=>"",Ise="text",Ose=eee=>0===eee.length?"":function(eee,tee=""){return eee.reduce(((eee,ree,oee)=>0===oee?eee+ree:eee+tee+ree),"")}(eee),Nse=eee=>null==eee?"":kie(eee)||Aie(eee)&&eee.toString===Oie?JSON.stringify(eee,null,2):String(eee);function Ase(eee,tee){return eee=Math.abs(eee),2===tee?eee?eee>1?1:0:1:eee?Math.min(eee,2):0}function Rse(eee={}){const tee=eee.locale,ree=function(eee){const tee=uie(eee.pluralIndex)?eee.pluralIndex:-1;return eee.named&&(uie(eee.named.count)||uie(eee.named.n))?uie(eee.named.count)?eee.named.count:uie(eee.named.n)?eee.named.n:tee:tee}(eee),oee=Sie(eee.pluralRules)&&Eie(tee)&&_ie(eee.pluralRules[tee])?eee.pluralRules[tee]:Ase,nee=Sie(eee.pluralRules)&&Eie(tee)&&_ie(eee.pluralRules[tee])?Ase:void 0,aee=eee.list||[],iee=eee.named||{};uie(eee.pluralIndex)&&function(eee,tee){tee.count||(tee.count=eee),tee.n||(tee.n=eee)}(ree,iee);function see(tee){const ree=_ie(eee.messages)?eee.messages(tee):!!Sie(eee.messages)&&eee.messages[tee];return ree||(eee.parent?eee.parent.message(tee):Sse)}const lee=Aie(eee.processor)&&_ie(eee.processor.normalize)?eee.processor.normalize:Ose,cee=Aie(eee.processor)&&_ie(eee.processor.interpolate)?eee.processor.interpolate:Nse,pee={list:eee=>aee[eee],named:eee=>iee[eee],plural:eee=>eee[oee(ree,eee.length,nee)],linked:(tee,...ree)=>{const[oee,nee]=ree;let aee="text",iee="";1===ree.length?Sie(oee)?(iee=oee.modifier||iee,aee=oee.type||aee):Eie(oee)&&(iee=oee||iee):2===ree.length&&(Eie(oee)&&(iee=oee||iee),Eie(nee)&&(aee=nee||aee));const lee=see(tee)(pee),cee="vnode"===aee&&kie(lee)&&iee?lee[0]:lee;return iee?(dee=iee,eee.modifiers?eee.modifiers[dee]:Tse)(cee,aee):cee;var dee},message:see,type:Aie(eee.processor)&&Eie(eee.processor.type)?eee.processor.type:Ise,interpolate:cee,normalize:lee,values:fie({},aee,iee)};return pee}let Dse=null;const Cse=Lse("function:translate");function Lse(eee){return tee=>Dse&&Dse.emit(eee,tee)}const Fse=Vie.__EXTEND_POINT__,zse=Rie(Fse),Mse={NOT_FOUND_KEY:Fse,FALLBACK_TO_TRANSLATE:zse(),CANNOT_FORMAT_NUMBER:zse(),FALLBACK_TO_NUMBER_FORMAT:zse(),CANNOT_FORMAT_DATE:zse(),FALLBACK_TO_DATE_FORMAT:zse(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:zse(),__EXTEND_POINT__:zse()},Pse=Bie.__EXTEND_POINT__,Use=Rie(Pse),jse={INVALID_ARGUMENT:Pse,INVALID_DATE_ARGUMENT:Use(),INVALID_ISO_DATE_ARGUMENT:Use(),NOT_SUPPORT_NON_STRING_MESSAGE:Use(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:Use(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:Use(),NOT_SUPPORT_LOCALE_TYPE:Use(),__EXTEND_POINT__:Use()};function $se(eee){return Gie(eee,null,void 0)}function Vse(eee,tee){return null!=tee.locale?Bse(tee.locale):Bse(eee.locale)}let qse;function Bse(eee){if(Eie(eee))return eee;if(_ie(eee)){if(eee.resolvedOnce&&null!=qse)return qse;if("Function"===eee.constructor.name){const tee=eee();if(Iie(tee))throw $se(jse.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return qse=tee}throw $se(jse.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}throw $se(jse.NOT_SUPPORT_LOCALE_TYPE)}function Yse(eee,tee,ree){return[...new Set([ree,...kie(tee)?tee:Sie(tee)?Object.keys(tee):Eie(tee)?[tee]:[ree]])]}function Gse(eee,tee,ree){const oee=Eie(ree)?ree:Zse,nee=eee;nee.__localeChainCache||(nee.__localeChainCache=new Map);let aee=nee.__localeChainCache.get(oee);if(!aee){aee=[];let eee=[ree];for(;kie(eee);)eee=Qse(aee,eee,tee);const iee=kie(tee)||!Aie(tee)?tee:tee.default?tee.default:null;eee=Eie(iee)?[iee]:iee,kie(eee)&&Qse(aee,eee,!1),nee.__localeChainCache.set(oee,aee)}return aee}function Qse(eee,tee,ree){let oee=!0;for(let i=0;i`${eee.charAt(0).toLocaleUpperCase()}${eee.substr(1)}`;let tle,rle,ole;function nle(eee){tle=eee}let ale=null;const ile=eee=>{ale=eee},sle=()=>ale;let lle=null;const cle=eee=>{lle=eee},ple=()=>lle;let dle=0;function ule(eee={}){const tee=_ie(eee.onWarn)?eee.onWarn:Die,ree=Eie(eee.version)?eee.version:Hse,oee=Eie(eee.locale)||_ie(eee.locale)?eee.locale:Zse,nee=_ie(oee)?Zse:oee,aee=kie(eee.fallbackLocale)||Aie(eee.fallbackLocale)||Eie(eee.fallbackLocale)||!1===eee.fallbackLocale?eee.fallbackLocale:nee,iee=Aie(eee.messages)?eee.messages:{[nee]:{}},see=Aie(eee.datetimeFormats)?eee.datetimeFormats:{[nee]:{}},lee=Aie(eee.numberFormats)?eee.numberFormats:{[nee]:{}},cee=fie({},eee.modifiers||{},{upper:(eee,tee)=>"text"===tee&&Eie(eee)?eee.toUpperCase():"vnode"===tee&&Sie(eee)&&"__v_isVNode"in eee?eee.children.toUpperCase():eee,lower:(eee,tee)=>"text"===tee&&Eie(eee)?eee.toLowerCase():"vnode"===tee&&Sie(eee)&&"__v_isVNode"in eee?eee.children.toLowerCase():eee,capitalize:(eee,tee)=>"text"===tee&&Eie(eee)?ele(eee):"vnode"===tee&&Sie(eee)&&"__v_isVNode"in eee?ele(eee.children):eee}),pee=eee.pluralRules||{},dee=_ie(eee.missing)?eee.missing:null,uee=!Tie(eee.missingWarn)&&!gie(eee.missingWarn)||eee.missingWarn,hee=!Tie(eee.fallbackWarn)&&!gie(eee.fallbackWarn)||eee.fallbackWarn,gee=!!eee.fallbackFormat,wee=!!eee.unresolving,fee=_ie(eee.postTranslation)?eee.postTranslation:null,bee=Aie(eee.processor)?eee.processor:null,mee=!Tie(eee.warnHtmlMessage)||eee.warnHtmlMessage,vee=!!eee.escapeParameter,yee=_ie(eee.messageCompiler)?eee.messageCompiler:tle,xee=_ie(eee.messageResolver)?eee.messageResolver:rle||Ese,kee=_ie(eee.localeFallbacker)?eee.localeFallbacker:ole||Yse,_ee=Sie(eee.fallbackContext)?eee.fallbackContext:void 0,Eee=eee,Tee=Sie(Eee.__datetimeFormatters)?Eee.__datetimeFormatters:new Map,See=Sie(Eee.__numberFormatters)?Eee.__numberFormatters:new Map,Iee=Sie(Eee.__meta)?Eee.__meta:{};dle++;const Oee={version:ree,cid:dle,locale:oee,fallbackLocale:aee,messages:iee,modifiers:cee,pluralRules:pee,missing:dee,missingWarn:uee,fallbackWarn:hee,fallbackFormat:gee,unresolving:wee,postTranslation:fee,processor:bee,warnHtmlMessage:mee,escapeParameter:vee,messageCompiler:yee,messageResolver:xee,localeFallbacker:kee,fallbackContext:_ee,onWarn:tee,__meta:Iee};return Oee.datetimeFormats=see,Oee.numberFormats=lee,Oee.__datetimeFormatters=Tee,Oee.__numberFormatters=See,__INTLIFY_PROD_DEVTOOLS__&&function(eee,tee,ree){Dse&&Dse.emit("i18n:init",{timestamp:Date.now(),i18n:eee,version:tee,meta:ree})}(Oee,ree,Iee),Oee}function hle(eee,tee,ree,oee,nee){const{missing:aee,onWarn:iee}=eee;if(null!==aee){const oee=aee(eee,ree,tee,nee);return Eie(oee)?oee:tee}return tee}function gle(eee,tee,ree){eee.__localeChainCache=new Map,eee.localeFallbacker(eee,ree,tee)}function wle(eee,tee){const ree=tee.indexOf(eee);if(-1===ree)return!1;for(let i=ree+1;ifunction(eee,tee){const ree=tee.b||tee.body;if(1===(ree.t||ree.type)){const tee=ree,oee=tee.c||tee.cases;return eee.plural(oee.reduce(((tee,c)=>[...tee,ble(eee,c)]),[]))}return ble(eee,ree)}(tee,eee)}function ble(eee,tee){const ree=tee.s||tee.static;if(ree)return"text"===eee.type?ree:eee.normalize([ree]);{const ree=(tee.i||tee.items).reduce(((tee,c)=>[...tee,mle(eee,c)]),[]);return eee.normalize(ree)}}function mle(eee,tee){const ree=tee.t||tee.type;switch(ree){case 3:{const eee=tee;return eee.v||eee.value}case 9:{const eee=tee;return eee.v||eee.value}case 4:{const ree=tee;return eee.interpolate(eee.named(ree.k||ree.key))}case 5:{const ree=tee;return eee.interpolate(eee.list(null!=ree.i?ree.i:ree.index))}case 6:{const ree=tee,oee=ree.m||ree.modifier;return eee.linked(mle(eee,ree.k||ree.key),oee?mle(eee,oee):void 0,eee.type)}case 7:{const eee=tee;return eee.v||eee.value}case 8:{const eee=tee;return eee.v||eee.value}default:throw new Error(`unhandled node type on format message part: ${ree}`)}}const vle=eee=>eee;let yle=Object.create(null);const xle=eee=>Sie(eee)&&(0===eee.t||0===eee.type)&&("b"in eee||"body"in eee);function kle(eee,tee={}){let ree=!1;const oee=tee.onError||Qie;return tee.onError=eee=>{ree=!0,oee(eee)},{...mse(eee,tee),detectError:ree}}const _le=(eee,tee)=>{if(!Eie(eee))throw $se(jse.NOT_SUPPORT_NON_STRING_MESSAGE);{!Tie(tee.warnHtmlMessage)||tee.warnHtmlMessage;const ree=(tee.onCacheKey||vle)(eee),oee=yle[ree];if(oee)return oee;const{code:nee,detectError:aee}=kle(eee,tee),iee=new Function(`return ${nee}`)();return aee?iee:yle[ree]=iee}};const Ele=()=>"",Tle=eee=>_ie(eee);function Sle(eee,...tee){const{fallbackFormat:ree,postTranslation:oee,unresolving:nee,messageCompiler:aee,fallbackLocale:iee,messages:see}=eee,[lee,cee]=Nle(...tee),pee=Tie(cee.missingWarn)?cee.missingWarn:eee.missingWarn,dee=Tie(cee.fallbackWarn)?cee.fallbackWarn:eee.fallbackWarn,uee=Tie(cee.escapeParameter)?cee.escapeParameter:eee.escapeParameter,hee=!!cee.resolvedMessage,gee=Eie(cee.default)||Tie(cee.default)?Tie(cee.default)?aee?lee:()=>lee:cee.default:ree?aee?lee:()=>lee:"",wee=ree||""!==gee,fee=Vse(eee,cee);uee&&function(eee){kie(eee.list)?eee.list=eee.list.map((eee=>Eie(eee)?vie(eee):eee)):Sie(eee.named)&&Object.keys(eee.named).forEach((tee=>{Eie(eee.named[tee])&&(eee.named[tee]=vie(eee.named[tee]))}))}(cee);let[bee,mee,vee]=hee?[lee,fee,see[fee]||{}]:Ile(eee,lee,fee,iee,dee,pee),yee=bee,xee=lee;if(hee||Eie(yee)||xle(yee)||Tle(yee)||wee&&(yee=gee,xee=yee),!(hee||(Eie(yee)||xle(yee)||Tle(yee))&&Eie(mee)))return nee?Xse:lee;let kee=!1;const _ee=Tle(yee)?yee:Ole(eee,lee,mee,yee,xee,(()=>{kee=!0}));if(kee)return yee;const Eee=function(eee,tee,ree,oee){const{modifiers:nee,pluralRules:aee,messageResolver:iee,fallbackLocale:see,fallbackWarn:lee,missingWarn:cee,fallbackContext:pee}=eee,dee=oee=>{let nee=iee(ree,oee);if(null==nee&&pee){const[,,eee]=Ile(pee,oee,tee,see,lee,cee);nee=iee(eee,oee)}if(Eie(nee)||xle(nee)){let ree=!1;const aee=Ole(eee,oee,tee,nee,oee,(()=>{ree=!0}));return ree?Ele:aee}return Tle(nee)?nee:Ele},uee={locale:tee,modifiers:nee,pluralRules:aee,messages:dee};eee.processor&&(uee.processor=eee.processor);oee.list&&(uee.list=oee.list);oee.named&&(uee.named=oee.named);uie(oee.plural)&&(uee.pluralIndex=oee.plural);return uee}(eee,mee,vee,cee),Tee=function(eee,tee,ree){const oee=tee(ree);return oee}(0,_ee,Rse(Eee)),See=oee?oee(Tee,lee):Tee;if(__INTLIFY_PROD_DEVTOOLS__){const tee={timestamp:Date.now(),key:Eie(lee)?lee:Tle(yee)?yee.key:"",locale:mee||(Tle(yee)?yee.locale:""),format:Eie(yee)?yee:Tle(yee)?yee.source:"",message:See};tee.meta=fie({},eee.__meta,sle()||{}),Cse(tee)}return See}function Ile(eee,tee,ree,oee,nee,aee){const{messages:iee,onWarn:see,messageResolver:lee,localeFallbacker:cee}=eee,pee=cee(eee,oee,ree);let dee,uee={},hee=null;for(let i=0;ioee;return eee.locale=ree,eee.key=tee,eee}const lee=iee(oee,function(eee,tee,ree,oee,nee,aee){return{locale:tee,key:ree,warnHtmlMessage:nee,onError:eee=>{throw aee&&aee(eee),eee},onCacheKey:eee=>pie(tee,ree,eee)}}(0,ree,nee,0,see,aee));return lee.locale=ree,lee.key=tee,lee.source=oee,lee}function Nle(...eee){const[tee,ree,oee]=eee,nee={};if(!(Eie(tee)||uie(tee)||Tle(tee)||xle(tee)))throw $se(jse.INVALID_ARGUMENT);const aee=uie(tee)?String(tee):(Tle(tee),tee);return uie(ree)?nee.plural=ree:Eie(ree)?nee.default=ree:Aie(ree)&&!wie(ree)?nee.named=ree:kie(ree)&&(nee.list=ree),uie(oee)?nee.plural=oee:Eie(oee)?nee.default=oee:Aie(oee)&&fie(nee,oee),[aee,nee]}function Ale(eee,...tee){const{datetimeFormats:ree,unresolving:oee,fallbackLocale:nee,onWarn:aee,localeFallbacker:iee}=eee,{__datetimeFormatters:see}=eee,[lee,cee,pee,dee]=Dle(...tee);Tie(pee.missingWarn)?pee.missingWarn:eee.missingWarn;Tie(pee.fallbackWarn)?pee.fallbackWarn:eee.fallbackWarn;const uee=!!pee.part,hee=Vse(eee,pee),gee=iee(eee,nee,hee);if(!Eie(lee)||""===lee)return new Intl.DateTimeFormat(hee,dee).format(cee);let wee,fee={},bee=null;for(let i=0;i{Rle.includes(eee)?see[eee]=ree[eee]:aee[eee]=ree[eee]})),Eie(oee)?aee.locale=oee:Aie(oee)&&(see=oee),Aie(nee)&&(see=nee),[aee.key||"",iee,aee,see]}function Cle(eee,tee,ree){const oee=eee;for(const nee in ree){const id=`${tee}__${nee}`;oee.__datetimeFormatters.has(id)&&oee.__datetimeFormatters.delete(id)}}function Lle(eee,...tee){const{numberFormats:ree,unresolving:oee,fallbackLocale:nee,onWarn:aee,localeFallbacker:iee}=eee,{__numberFormatters:see}=eee,[lee,cee,pee,dee]=zle(...tee);Tie(pee.missingWarn)?pee.missingWarn:eee.missingWarn;Tie(pee.fallbackWarn)?pee.fallbackWarn:eee.fallbackWarn;const uee=!!pee.part,hee=Vse(eee,pee),gee=iee(eee,nee,hee);if(!Eie(lee)||""===lee)return new Intl.NumberFormat(hee,dee).format(cee);let wee,fee={},bee=null;for(let i=0;i{Fle.includes(eee)?iee[eee]=ree[eee]:aee[eee]=ree[eee]})),Eie(oee)?aee.locale=oee:Aie(oee)&&(iee=oee),Aie(nee)&&(iee=nee),[aee.key||"",see,aee,iee]}function Mle(eee,tee,ree){const oee=eee;for(const nee in ree){const id=`${tee}__${nee}`;oee.__numberFormatters.has(id)&&oee.__numberFormatters.delete(id)}}"boolean"!=typeof __INTLIFY_PROD_DEVTOOLS__&&(mie().__INTLIFY_PROD_DEVTOOLS__=!1),"boolean"!=typeof __INTLIFY_JIT_COMPILATION__&&(mie().__INTLIFY_JIT_COMPILATION__=!1),"boolean"!=typeof __INTLIFY_DROP_MESSAGE_COMPILER__&&(mie().__INTLIFY_DROP_MESSAGE_COMPILER__=!1); -/*! - * vue-i18n v9.13.1 - * (c) 2024 kazuya kawaguchi - * Released under the MIT License. - */ -const Ple="9.13.1";const Ule=Mse.__EXTEND_POINT__,jle=Rie(Ule);jle(),jle(),jle(),jle(),jle(),jle(),jle(),jle(),jle();const $le=jse.__EXTEND_POINT__,Vle=Rie($le),qle={UNEXPECTED_RETURN_TYPE:$le,INVALID_ARGUMENT:Vle(),MUST_BE_CALL_SETUP_TOP:Vle(),NOT_INSTALLED:Vle(),NOT_AVAILABLE_IN_LEGACY_MODE:Vle(),REQUIRED_VALUE:Vle(),INVALID_VALUE:Vle(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Vle(),NOT_INSTALLED_WITH_PROVIDE:Vle(),UNEXPECTED_ERROR:Vle(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Vle(),BRIDGE_SUPPORT_VUE_2_ONLY:Vle(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Vle(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Vle(),__EXTEND_POINT__:Vle()};function Ble(eee,...tee){return Gie(eee,null,void 0)}const Yle=cie("__translateVNode"),Gle=cie("__datetimeParts"),Qle=cie("__numberParts"),Wle=cie("__setPluralRules"),Kle=cie("__injectWithOption"),Hle=cie("__dispose");function Xle(eee){if(!Sie(eee))return eee;for(const tee in eee)if(xie(eee,tee))if(tee.includes(".")){const ree=tee.split("."),oee=ree.length-1;let nee=eee,aee=!1;for(let i=0;i{if("locale"in eee&&"resource"in eee){const{locale:tee,resource:ree}=eee;tee?(iee[tee]=iee[tee]||{},Lie(ree,iee[tee])):Lie(ree,iee)}else Eie(eee)&&Lie(JSON.parse(eee),iee)})),null==nee&&aee)for(const see in iee)xie(iee,see)&&Xle(iee[see]);return iee}function Jle(eee){return eee.type}function ece(gl,eee,tee){let ree=Sie(eee.messages)?eee.messages:{};"__i18nGlobal"in tee&&(ree=Zle(gl.locale.value,{messages:ree,__i18n:tee.__i18nGlobal}));const oee=Object.keys(ree);if(oee.length&&oee.forEach((eee=>{gl.mergeLocaleMessage(eee,ree[eee])})),Sie(eee.datetimeFormats)){const tee=Object.keys(eee.datetimeFormats);tee.length&&tee.forEach((tee=>{gl.mergeDateTimeFormat(tee,eee.datetimeFormats[tee])}))}if(Sie(eee.numberFormats)){const tee=Object.keys(eee.numberFormats);tee.length&&tee.forEach((tee=>{gl.mergeNumberFormat(tee,eee.numberFormats[tee])}))}}function tce(eee){return tae(Pne,null,eee,0)}const rce="__INTLIFY_META__",oce=()=>[],nce=()=>!1;let ice=0;function sce(eee){return(tee,ree,oee,nee)=>eee(ree,oee,gae()||void 0,nee)}const lce=()=>{const eee=gae();let tee=null;return eee&&(tee=Jle(eee)[rce])?{[rce]:tee}:null};function cce(eee={},tee){const{__root:ree,__injectWithOption:oee}=eee,nee=void 0===ree,aee=eee.flatJson,iee=lie?kre:_re,see=!!eee.translateExistCompatible;let lee=!Tie(eee.inheritLocale)||eee.inheritLocale;const cee=iee(ree&&lee?ree.locale.value:Eie(eee.locale)?eee.locale:Zse),pee=iee(ree&&lee?ree.fallbackLocale.value:Eie(eee.fallbackLocale)||kie(eee.fallbackLocale)||Aie(eee.fallbackLocale)||!1===eee.fallbackLocale?eee.fallbackLocale:cee.value),dee=iee(Zle(cee.value,eee)),uee=iee(Aie(eee.datetimeFormats)?eee.datetimeFormats:{[cee.value]:{}}),hee=iee(Aie(eee.numberFormats)?eee.numberFormats:{[cee.value]:{}});let gee=ree?ree.missingWarn:!Tie(eee.missingWarn)&&!gie(eee.missingWarn)||eee.missingWarn,wee=ree?ree.fallbackWarn:!Tie(eee.fallbackWarn)&&!gie(eee.fallbackWarn)||eee.fallbackWarn,fee=ree?ree.fallbackRoot:!Tie(eee.fallbackRoot)||eee.fallbackRoot,bee=!!eee.fallbackFormat,mee=_ie(eee.missing)?eee.missing:null,vee=_ie(eee.missing)?sce(eee.missing):null,yee=_ie(eee.postTranslation)?eee.postTranslation:null,xee=ree?ree.warnHtmlMessage:!Tie(eee.warnHtmlMessage)||eee.warnHtmlMessage,kee=!!eee.escapeParameter;const _ee=ree?ree.modifiers:Aie(eee.modifiers)?eee.modifiers:{};let Eee,Tee=eee.pluralRules||ree&&ree.pluralRules;Eee=(()=>{nee&&cle(null);const tee={version:Ple,locale:cee.value,fallbackLocale:pee.value,messages:dee.value,modifiers:_ee,pluralRules:Tee,missing:null===vee?void 0:vee,missingWarn:gee,fallbackWarn:wee,fallbackFormat:bee,unresolving:!0,postTranslation:null===yee?void 0:yee,warnHtmlMessage:xee,escapeParameter:kee,messageResolver:eee.messageResolver,messageCompiler:eee.messageCompiler,__meta:{framework:"vue"}};tee.datetimeFormats=uee.value,tee.numberFormats=hee.value,tee.__datetimeFormatters=Aie(Eee)?Eee.__datetimeFormatters:void 0,tee.__numberFormatters=Aie(Eee)?Eee.__numberFormatters:void 0;const ree=ule(tee);return nee&&cle(ree),ree})(),gle(Eee,cee.value,pee.value);const See=Sae({get:()=>cee.value,set:eee=>{cee.value=eee,Eee.locale=cee.value}}),Iee=Sae({get:()=>pee.value,set:eee=>{pee.value=eee,Eee.fallbackLocale=pee.value,gle(Eee,cee.value,eee)}}),Oee=Sae((()=>dee.value)),Nee=Sae((()=>uee.value)),Aee=Sae((()=>hee.value));const Ree=(fn,eee,tee,oee,aee,iee)=>{let see;cee.value,pee.value,dee.value,uee.value,hee.value;try{__INTLIFY_PROD_DEVTOOLS__&&ile(lce()),nee||(Eee.fallbackContext=ree?ple():void 0),see=fn(Eee)}finally{__INTLIFY_PROD_DEVTOOLS__,nee||(Eee.fallbackContext=void 0)}if("translate exists"!==tee&&uie(see)&&see===Xse||"translate exists"===tee&&!see){const[tee,nee]=eee();return ree&&fee?oee(ree):aee(tee)}if(iee(see))return see;throw Ble(qle.UNEXPECTED_RETURN_TYPE)};function t(...eee){return Ree((tee=>Reflect.apply(Sle,null,[tee,...eee])),(()=>Nle(...eee)),"translate",(tee=>Reflect.apply(tee.t,tee,[...eee])),(eee=>eee),(eee=>Eie(eee)))}const Dee={normalize:function(eee){return eee.map((eee=>Eie(eee)||uie(eee)||Tie(eee)?tce(String(eee)):eee))},interpolate:eee=>eee,type:"vnode"};function Cee(eee){return dee.value[eee]||{}}ice++,ree&&lie&&(goe(ree.locale,(eee=>{lee&&(cee.value=eee,Eee.locale=eee,gle(Eee,cee.value,pee.value))})),goe(ree.fallbackLocale,(eee=>{lee&&(pee.value=eee,Eee.fallbackLocale=eee,gle(Eee,cee.value,pee.value))})));const Lee={id:ice,locale:See,fallbackLocale:Iee,get inheritLocale(){return lee},set inheritLocale(eee){lee=eee,eee&&ree&&(cee.value=ree.locale.value,pee.value=ree.fallbackLocale.value,gle(Eee,cee.value,pee.value))},get availableLocales(){return Object.keys(dee.value).sort()},messages:Oee,get modifiers(){return _ee},get pluralRules(){return Tee||{}},get isGlobal(){return nee},get missingWarn(){return gee},set missingWarn(eee){gee=eee,Eee.missingWarn=gee},get fallbackWarn(){return wee},set fallbackWarn(eee){wee=eee,Eee.fallbackWarn=wee},get fallbackRoot(){return fee},set fallbackRoot(eee){fee=eee},get fallbackFormat(){return bee},set fallbackFormat(eee){bee=eee,Eee.fallbackFormat=bee},get warnHtmlMessage(){return xee},set warnHtmlMessage(eee){xee=eee,Eee.warnHtmlMessage=eee},get escapeParameter(){return kee},set escapeParameter(eee){kee=eee,Eee.escapeParameter=eee},t:t,getLocaleMessage:Cee,setLocaleMessage:function(eee,tee){if(aee){const ree={[eee]:tee};for(const eee in ree)xie(ree,eee)&&Xle(ree[eee]);tee=ree[eee]}dee.value[eee]=tee,Eee.messages=dee.value},mergeLocaleMessage:function(eee,tee){dee.value[eee]=dee.value[eee]||{};const ree={[eee]:tee};if(aee)for(const oee in ree)xie(ree,oee)&&Xle(ree[oee]);Lie(tee=ree[eee],dee.value[eee]),Eee.messages=dee.value},getPostTranslationHandler:function(){return _ie(yee)?yee:null},setPostTranslationHandler:function(eee){yee=eee,Eee.postTranslation=eee},getMissingHandler:function(){return mee},setMissingHandler:function(eee){null!==eee&&(vee=sce(eee)),mee=eee,Eee.missing=vee},[Wle]:function(eee){Tee=eee,Eee.pluralRules=Tee}};return Lee.datetimeFormats=Nee,Lee.numberFormats=Aee,Lee.rt=function(...eee){const[tee,ree,oee]=eee;if(oee&&!Sie(oee))throw Ble(qle.INVALID_ARGUMENT);return t(tee,ree,fie({resolvedMessage:!0},oee||{}))},Lee.te=function(eee,tee){return Ree((()=>{if(!eee)return!1;const ree=Cee(Eie(tee)?tee:cee.value),oee=Eee.messageResolver(ree,eee);return see?null!=oee:xle(oee)||Tle(oee)||Eie(oee)}),(()=>[eee]),"translate exists",(ree=>Reflect.apply(ree.te,ree,[eee,tee])),nce,(eee=>Tie(eee)))},Lee.tm=function(eee){const tee=function(eee){let tee=null;const ree=Gse(Eee,pee.value,cee.value);for(let i=0;iReflect.apply(Ale,null,[tee,...eee])),(()=>Dle(...eee)),"datetime format",(tee=>Reflect.apply(tee.d,tee,[...eee])),(()=>Jse),(eee=>Eie(eee)))},Lee.n=function(...eee){return Ree((tee=>Reflect.apply(Lle,null,[tee,...eee])),(()=>zle(...eee)),"number format",(tee=>Reflect.apply(tee.n,tee,[...eee])),(()=>Jse),(eee=>Eie(eee)))},Lee.getDateTimeFormat=function(eee){return uee.value[eee]||{}},Lee.setDateTimeFormat=function(eee,tee){uee.value[eee]=tee,Eee.datetimeFormats=uee.value,Cle(Eee,eee,tee)},Lee.mergeDateTimeFormat=function(eee,tee){uee.value[eee]=fie(uee.value[eee]||{},tee),Eee.datetimeFormats=uee.value,Cle(Eee,eee,tee)},Lee.getNumberFormat=function(eee){return hee.value[eee]||{}},Lee.setNumberFormat=function(eee,tee){hee.value[eee]=tee,Eee.numberFormats=hee.value,Mle(Eee,eee,tee)},Lee.mergeNumberFormat=function(eee,tee){hee.value[eee]=fie(hee.value[eee]||{},tee),Eee.numberFormats=hee.value,Mle(Eee,eee,tee)},Lee[Kle]=oee,Lee[Yle]=function(...eee){return Ree((tee=>{let ree;const oee=tee;try{oee.processor=Dee,ree=Reflect.apply(Sle,null,[oee,...eee])}finally{oee.processor=null}return ree}),(()=>Nle(...eee)),"translate",(tee=>tee[Yle](...eee)),(eee=>[tce(eee)]),(eee=>kie(eee)))},Lee[Gle]=function(...eee){return Ree((tee=>Reflect.apply(Ale,null,[tee,...eee])),(()=>Dle(...eee)),"datetime format",(tee=>tee[Gle](...eee)),oce,(eee=>Eie(eee)||kie(eee)))},Lee[Qle]=function(...eee){return Ree((tee=>Reflect.apply(Lle,null,[tee,...eee])),(()=>zle(...eee)),"number format",(tee=>tee[Qle](...eee)),oce,(eee=>Eie(eee)||kie(eee)))},Lee}function pce(eee={},tee){{const tee=cce(function(eee){const tee=Eie(eee.locale)?eee.locale:Zse,ree=Eie(eee.fallbackLocale)||kie(eee.fallbackLocale)||Aie(eee.fallbackLocale)||!1===eee.fallbackLocale?eee.fallbackLocale:tee,oee=_ie(eee.missing)?eee.missing:void 0,nee=!Tie(eee.silentTranslationWarn)&&!gie(eee.silentTranslationWarn)||!eee.silentTranslationWarn,aee=!Tie(eee.silentFallbackWarn)&&!gie(eee.silentFallbackWarn)||!eee.silentFallbackWarn,iee=!Tie(eee.fallbackRoot)||eee.fallbackRoot,see=!!eee.formatFallbackMessages,lee=Aie(eee.modifiers)?eee.modifiers:{},cee=eee.pluralizationRules,pee=_ie(eee.postTranslation)?eee.postTranslation:void 0,dee=!Eie(eee.warnHtmlInMessage)||"off"!==eee.warnHtmlInMessage,uee=!!eee.escapeParameterHtml,hee=!Tie(eee.sync)||eee.sync;let gee=eee.messages;if(Aie(eee.sharedMessages)){const tee=eee.sharedMessages;gee=Object.keys(tee).reduce(((eee,ree)=>{const oee=eee[ree]||(eee[ree]={});return fie(oee,tee[ree]),eee}),gee||{})}const{__i18n:wee,__root:fee,__injectWithOption:bee}=eee,mee=eee.datetimeFormats,vee=eee.numberFormats,yee=eee.flatJson,xee=eee.translateExistCompatible;return{locale:tee,fallbackLocale:ree,messages:gee,flatJson:yee,datetimeFormats:mee,numberFormats:vee,missing:oee,missingWarn:nee,fallbackWarn:aee,fallbackRoot:iee,fallbackFormat:see,modifiers:lee,pluralRules:cee,postTranslation:pee,warnHtmlMessage:dee,escapeParameter:uee,messageResolver:eee.messageResolver,inheritLocale:hee,translateExistCompatible:xee,__i18n:wee,__root:fee,__injectWithOption:bee}}(eee)),{__extender:ree}=eee,oee={id:tee.id,get locale(){return tee.locale.value},set locale(eee){tee.locale.value=eee},get fallbackLocale(){return tee.fallbackLocale.value},set fallbackLocale(eee){tee.fallbackLocale.value=eee},get messages(){return tee.messages.value},get datetimeFormats(){return tee.datetimeFormats.value},get numberFormats(){return tee.numberFormats.value},get availableLocales(){return tee.availableLocales},get formatter(){return{interpolate:()=>[]}},set formatter(eee){},get missing(){return tee.getMissingHandler()},set missing(eee){tee.setMissingHandler(eee)},get silentTranslationWarn(){return Tie(tee.missingWarn)?!tee.missingWarn:tee.missingWarn},set silentTranslationWarn(eee){tee.missingWarn=Tie(eee)?!eee:eee},get silentFallbackWarn(){return Tie(tee.fallbackWarn)?!tee.fallbackWarn:tee.fallbackWarn},set silentFallbackWarn(eee){tee.fallbackWarn=Tie(eee)?!eee:eee},get modifiers(){return tee.modifiers},get formatFallbackMessages(){return tee.fallbackFormat},set formatFallbackMessages(eee){tee.fallbackFormat=eee},get postTranslation(){return tee.getPostTranslationHandler()},set postTranslation(eee){tee.setPostTranslationHandler(eee)},get sync(){return tee.inheritLocale},set sync(eee){tee.inheritLocale=eee},get warnHtmlInMessage(){return tee.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(eee){tee.warnHtmlMessage="off"!==eee},get escapeParameterHtml(){return tee.escapeParameter},set escapeParameterHtml(eee){tee.escapeParameter=eee},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(eee){},get pluralizationRules(){return tee.pluralRules||{}},__composer:tee,t(...eee){const[ree,oee,nee]=eee,aee={};let iee=null,see=null;if(!Eie(ree))throw Ble(qle.INVALID_ARGUMENT);const lee=ree;return Eie(oee)?aee.locale=oee:kie(oee)?iee=oee:Aie(oee)&&(see=oee),kie(nee)?iee=nee:Aie(nee)&&(see=nee),Reflect.apply(tee.t,tee,[lee,iee||see||{},aee])},rt:(...eee)=>Reflect.apply(tee.rt,tee,[...eee]),tc(...eee){const[ree,oee,nee]=eee,aee={plural:1};let iee=null,see=null;if(!Eie(ree))throw Ble(qle.INVALID_ARGUMENT);const lee=ree;return Eie(oee)?aee.locale=oee:uie(oee)?aee.plural=oee:kie(oee)?iee=oee:Aie(oee)&&(see=oee),Eie(nee)?aee.locale=nee:kie(nee)?iee=nee:Aie(nee)&&(see=nee),Reflect.apply(tee.t,tee,[lee,iee||see||{},aee])},te:(eee,ree)=>tee.te(eee,ree),tm:eee=>tee.tm(eee),getLocaleMessage:eee=>tee.getLocaleMessage(eee),setLocaleMessage(eee,ree){tee.setLocaleMessage(eee,ree)},mergeLocaleMessage(eee,ree){tee.mergeLocaleMessage(eee,ree)},d:(...eee)=>Reflect.apply(tee.d,tee,[...eee]),getDateTimeFormat:eee=>tee.getDateTimeFormat(eee),setDateTimeFormat(eee,ree){tee.setDateTimeFormat(eee,ree)},mergeDateTimeFormat(eee,ree){tee.mergeDateTimeFormat(eee,ree)},n:(...eee)=>Reflect.apply(tee.n,tee,[...eee]),getNumberFormat:eee=>tee.getNumberFormat(eee),setNumberFormat(eee,ree){tee.setNumberFormat(eee,ree)},mergeNumberFormat(eee,ree){tee.mergeNumberFormat(eee,ree)},getChoiceIndex:(eee,tee)=>-1};return oee.__extender=ree,oee}}const dce={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:eee=>"parent"===eee||"global"===eee,default:"parent"},i18n:{type:Object}};function uce(eee){return Mne}const hce=xoe({name:"i18n-t",props:fie({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:eee=>uie(eee)||!isNaN(eee)}},dce),setup(eee,tee){const{slots:ree,attrs:oee}=tee,nee=eee.i18n||_ce({useScope:eee.scope,__useComponent:!0});return()=>{const aee=Object.keys(ree).filter((eee=>"_"!==eee)),iee={};eee.locale&&(iee.locale=eee.locale),void 0!==eee.plural&&(iee.plural=Eie(eee.plural)?+eee.plural:eee.plural);const see=function({slots:eee},tee){if(1===tee.length&&"default"===tee[0])return(eee.default?eee.default():[]).reduce(((eee,tee)=>[...eee,...tee.type===Mne?tee.children:[tee]]),[]);return tee.reduce(((tee,ree)=>{const oee=eee[ree];return oee&&(tee[ree]=oee()),tee}),{})}(tee,aee),lee=nee[Yle](eee.keypath,see,iee),cee=fie({},oee);return h(Eie(eee.tag)||Sie(eee.tag)?eee.tag:uce(),cee,lee)}}});function gce(eee,tee,ree,oee){const{slots:nee,attrs:aee}=tee;return()=>{const tee={part:!0};let iee={};eee.locale&&(tee.locale=eee.locale),Eie(eee.format)?tee.key=eee.format:Sie(eee.format)&&(Eie(eee.format.key)&&(tee.key=eee.format.key),iee=Object.keys(eee.format).reduce(((tee,oee)=>ree.includes(oee)?fie({},tee,{[oee]:eee.format[oee]}):tee),{}));const see=oee(eee.value,tee,iee);let lee=[tee.key];kie(see)?lee=see.map(((eee,tee)=>{const ree=nee[eee.type],oee=ree?ree({[eee.type]:eee.value,index:tee,parts:see}):[eee.value];var aee;return kie(aee=oee)&&!Eie(aee[0])&&(oee[0].key=`${eee.type}-${tee}`),oee})):Eie(see)&&(lee=[see]);const cee=fie({},aee);return h(Eie(eee.tag)||Sie(eee.tag)?eee.tag:uce(),cee,lee)}}const wce=xoe({name:"i18n-n",props:fie({value:{type:Number,required:!0},format:{type:[String,Object]}},dce),setup(eee,tee){const ree=eee.i18n||_ce({useScope:eee.scope,__useComponent:!0});return gce(eee,tee,Fle,((...eee)=>ree[Qle](...eee)))}}),fce=xoe({name:"i18n-d",props:fie({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},dce),setup(eee,tee){const ree=eee.i18n||_ce({useScope:eee.scope,__useComponent:!0});return gce(eee,tee,Rle,((...eee)=>ree[Gle](...eee)))}});function bce(eee){if(Eie(eee))return{path:eee};if(Aie(eee)){if(!("path"in eee))throw Ble(qle.REQUIRED_VALUE);return eee}throw Ble(qle.INVALID_VALUE)}function mce(eee){const{path:tee,locale:ree,args:oee,choice:nee,plural:aee}=eee,iee={},see=oee||{};return Eie(ree)&&(iee.locale=ree),uie(nee)&&(iee.plural=nee),uie(aee)&&(iee.plural=aee),[tee,see,iee]}function vce(eee,tee,...ree){const oee=Aie(ree[0])?ree[0]:{},nee=!!oee.useI18nComponentName;(!Tie(oee.globalInstall)||oee.globalInstall)&&([nee?"i18n":hce.name,"I18nT"].forEach((tee=>eee.component(tee,hce))),[wce.name,"I18nN"].forEach((tee=>eee.component(tee,wce))),[fce.name,"I18nD"].forEach((tee=>eee.component(tee,fce)))),eee.directive("t",function(eee){const tee=tee=>{const{instance:ree,modifiers:oee,value:nee}=tee;if(!ree||!ree.$)throw Ble(qle.UNEXPECTED_ERROR);const aee=function(eee,tee){const ree=eee;if("composition"===eee.mode)return ree.__getInstance(tee)||eee.global;{const oee=ree.__getInstance(tee);return null!=oee?oee.__composer:eee.global.__composer}}(eee,ree.$),iee=bce(nee);return[Reflect.apply(aee.t,aee,[...mce(iee)]),aee]};return{created:(el,ree)=>{const[oee,nee]=tee(ree);lie&&eee.global===nee&&(el.__i18nWatcher=goe(nee.locale,(()=>{ree.instance&&ree.instance.$forceUpdate()}))),el.__composer=nee,el.textContent=oee},unmounted:el=>{lie&&el.__i18nWatcher&&(el.__i18nWatcher(),el.__i18nWatcher=void 0,delete el.__i18nWatcher),el.__composer&&(el.__composer=void 0,delete el.__composer)},beforeUpdate:(el,{value:eee})=>{if(el.__composer){const tee=el.__composer,ree=bce(eee);el.textContent=Reflect.apply(tee.t,tee,[...mce(ree)])}},getSSRProps:eee=>{const[ree]=tee(eee);return{textContent:ree}}}}(tee))}function yce(g,eee){g.locale=eee.locale||g.locale,g.fallbackLocale=eee.fallbackLocale||g.fallbackLocale,g.missing=eee.missing||g.missing,g.silentTranslationWarn=eee.silentTranslationWarn||g.silentFallbackWarn,g.silentFallbackWarn=eee.silentFallbackWarn||g.silentFallbackWarn,g.formatFallbackMessages=eee.formatFallbackMessages||g.formatFallbackMessages,g.postTranslation=eee.postTranslation||g.postTranslation,g.warnHtmlInMessage=eee.warnHtmlInMessage||g.warnHtmlInMessage,g.escapeParameterHtml=eee.escapeParameterHtml||g.escapeParameterHtml,g.sync=eee.sync||g.sync,g.__composer[Wle](eee.pluralizationRules||g.pluralizationRules);const tee=Zle(g.locale,{messages:eee.messages,__i18n:eee.__i18n});return Object.keys(tee).forEach((eee=>g.mergeLocaleMessage(eee,tee[eee]))),eee.datetimeFormats&&Object.keys(eee.datetimeFormats).forEach((tee=>g.mergeDateTimeFormat(tee,eee.datetimeFormats[tee]))),eee.numberFormats&&Object.keys(eee.numberFormats).forEach((tee=>g.mergeNumberFormat(tee,eee.numberFormats[tee]))),g}const xce=cie("global-vue-i18n");function kce(eee={},tee){const ree=__VUE_I18N_LEGACY_API__&&Tie(eee.legacy)?eee.legacy:__VUE_I18N_LEGACY_API__,oee=!Tie(eee.globalInjection)||eee.globalInjection,nee=!__VUE_I18N_LEGACY_API__||!ree||!!eee.allowComposition,aee=new Map,[iee,see]=function(eee,tee,ree){const oee=ete();{const ree=__VUE_I18N_LEGACY_API__&&tee?oee.run((()=>pce(eee))):oee.run((()=>cce(eee)));if(null==ree)throw Ble(qle.UNEXPECTED_ERROR);return[oee,ree]}}(eee,ree),lee=cie("");{const eee={get mode(){return __VUE_I18N_LEGACY_API__&&ree?"legacy":"composition"},get allowComposition(){return nee},async install(tee,...nee){if(tee.__VUE_I18N_SYMBOL__=lee,tee.provide(tee.__VUE_I18N_SYMBOL__,eee),Aie(nee[0])){const tee=nee[0];eee.__composerExtend=tee.__composerExtend,eee.__vueI18nExtend=tee.__vueI18nExtend}let aee=null;!ree&&oee&&(aee=function(eee,tee){const ree=Object.create(null);Ece.forEach((eee=>{const oee=Object.getOwnPropertyDescriptor(tee,eee);if(!oee)throw Ble(qle.UNEXPECTED_ERROR);const nee=xre(oee.value)?{get:()=>oee.value.value,set(eee){oee.value.value=eee}}:{get:()=>oee.get&&oee.get()};Object.defineProperty(ree,eee,nee)})),eee.config.globalProperties.$i18n=ree,Tce.forEach((ree=>{const oee=Object.getOwnPropertyDescriptor(tee,ree);if(!oee||!oee.value)throw Ble(qle.UNEXPECTED_ERROR);Object.defineProperty(eee.config.globalProperties,`$${ree}`,oee)}));const oee=()=>{delete eee.config.globalProperties.$i18n,Tce.forEach((tee=>{delete eee.config.globalProperties[`$${tee}`]}))};return oee}(tee,eee.global)),__VUE_I18N_FULL_INSTALL__&&vce(tee,eee,...nee),__VUE_I18N_LEGACY_API__&&ree&&tee.mixin(function(eee,tee,ree){return{beforeCreate(){const oee=gae();if(!oee)throw Ble(qle.UNEXPECTED_ERROR);const nee=this.$options;if(nee.i18n){const oee=nee.i18n;if(nee.__i18n&&(oee.__i18n=nee.__i18n),oee.__root=tee,this===this.$root)this.$i18n=yce(eee,oee);else{oee.__injectWithOption=!0,oee.__extender=ree.__vueI18nExtend,this.$i18n=pce(oee);const eee=this.$i18n;eee.__extender&&(eee.__disposer=eee.__extender(this.$i18n))}}else if(nee.__i18n)if(this===this.$root)this.$i18n=yce(eee,nee);else{this.$i18n=pce({__i18n:nee.__i18n,__injectWithOption:!0,__extender:ree.__vueI18nExtend,__root:tee});const eee=this.$i18n;eee.__extender&&(eee.__disposer=eee.__extender(this.$i18n))}else this.$i18n=eee;nee.__i18nGlobal&&ece(tee,nee,nee),this.$t=(...eee)=>this.$i18n.t(...eee),this.$rt=(...eee)=>this.$i18n.rt(...eee),this.$tc=(...eee)=>this.$i18n.tc(...eee),this.$te=(eee,tee)=>this.$i18n.te(eee,tee),this.$d=(...eee)=>this.$i18n.d(...eee),this.$n=(...eee)=>this.$i18n.n(...eee),this.$tm=eee=>this.$i18n.tm(eee),ree.__setInstance(oee,this.$i18n)},mounted(){},unmounted(){const eee=gae();if(!eee)throw Ble(qle.UNEXPECTED_ERROR);const tee=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,tee.__disposer&&(tee.__disposer(),delete tee.__disposer,delete tee.__extender),ree.__deleteInstance(eee),delete this.$i18n}}}(see,see.__composer,eee));const iee=tee.unmount;tee.unmount=()=>{aee&&aee(),eee.dispose(),iee()}},get global(){return see},dispose(){iee.stop()},__instances:aee,__getInstance:function(eee){return aee.get(eee)||null},__setInstance:function(eee,tee){aee.set(eee,tee)},__deleteInstance:function(eee){aee.delete(eee)}};return eee}}function _ce(eee={}){const tee=gae();if(null==tee)throw Ble(qle.MUST_BE_CALL_SETUP_TOP);if(!tee.isCE&&null!=tee.appContext.app&&!tee.appContext.app.__VUE_I18N_SYMBOL__)throw Ble(qle.NOT_INSTALLED);const ree=function(eee){{const tee=wne(eee.isCE?xce:eee.appContext.app.__VUE_I18N_SYMBOL__);if(!tee)throw Ble(eee.isCE?qle.NOT_INSTALLED_WITH_PROVIDE:qle.UNEXPECTED_ERROR);return tee}}(tee),gl=function(eee){return"composition"===eee.mode?eee.global:eee.global.__composer}(ree),oee=Jle(tee),nee=function(eee,tee){return wie(eee)?"__i18n"in tee?"local":"global":eee.useScope?eee.useScope:"local"}(eee,oee);if(__VUE_I18N_LEGACY_API__&&"legacy"===ree.mode&&!eee.__useComponent){if(!ree.allowComposition)throw Ble(qle.NOT_AVAILABLE_IN_LEGACY_MODE);return function(eee,tee,ree,oee={}){const nee="local"===tee,aee=_re(null);if(nee&&eee.proxy&&!eee.proxy.$options.i18n&&!eee.proxy.$options.__i18n)throw Ble(qle.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const iee=Tie(oee.inheritLocale)?oee.inheritLocale:!Eie(oee.locale),see=kre(!nee||iee?ree.locale.value:Eie(oee.locale)?oee.locale:Zse),lee=kre(!nee||iee?ree.fallbackLocale.value:Eie(oee.fallbackLocale)||kie(oee.fallbackLocale)||Aie(oee.fallbackLocale)||!1===oee.fallbackLocale?oee.fallbackLocale:see.value),cee=kre(Zle(see.value,oee)),pee=kre(Aie(oee.datetimeFormats)?oee.datetimeFormats:{[see.value]:{}}),dee=kre(Aie(oee.numberFormats)?oee.numberFormats:{[see.value]:{}}),uee=nee?ree.missingWarn:!Tie(oee.missingWarn)&&!gie(oee.missingWarn)||oee.missingWarn,hee=nee?ree.fallbackWarn:!Tie(oee.fallbackWarn)&&!gie(oee.fallbackWarn)||oee.fallbackWarn,gee=nee?ree.fallbackRoot:!Tie(oee.fallbackRoot)||oee.fallbackRoot,wee=!!oee.fallbackFormat,fee=_ie(oee.missing)?oee.missing:null,bee=_ie(oee.postTranslation)?oee.postTranslation:null,mee=nee?ree.warnHtmlMessage:!Tie(oee.warnHtmlMessage)||oee.warnHtmlMessage,vee=!!oee.escapeParameter,yee=nee?ree.modifiers:Aie(oee.modifiers)?oee.modifiers:{},xee=oee.pluralRules||nee&&ree.pluralRules;function kee(){return[see.value,lee.value,cee.value,pee.value,dee.value]}const _ee=Sae({get:()=>aee.value?aee.value.locale.value:see.value,set:eee=>{aee.value&&(aee.value.locale.value=eee),see.value=eee}}),Eee=Sae({get:()=>aee.value?aee.value.fallbackLocale.value:lee.value,set:eee=>{aee.value&&(aee.value.fallbackLocale.value=eee),lee.value=eee}}),Tee=Sae((()=>aee.value?aee.value.messages.value:cee.value)),See=Sae((()=>pee.value)),Iee=Sae((()=>dee.value));function Oee(){return aee.value?aee.value.getPostTranslationHandler():bee}function Nee(eee){aee.value&&aee.value.setPostTranslationHandler(eee)}function Aee(){return aee.value?aee.value.getMissingHandler():fee}function Ree(eee){aee.value&&aee.value.setMissingHandler(eee)}function Dee(fn){return kee(),fn()}function t(...eee){return aee.value?Dee((()=>Reflect.apply(aee.value.t,null,[...eee]))):Dee((()=>""))}function rt(...eee){return aee.value?Reflect.apply(aee.value.rt,null,[...eee]):""}function d(...eee){return aee.value?Dee((()=>Reflect.apply(aee.value.d,null,[...eee]))):Dee((()=>""))}function n(...eee){return aee.value?Dee((()=>Reflect.apply(aee.value.n,null,[...eee]))):Dee((()=>""))}function tm(eee){return aee.value?aee.value.tm(eee):{}}function te(eee,tee){return!!aee.value&&aee.value.te(eee,tee)}function Cee(eee){return aee.value?aee.value.getLocaleMessage(eee):{}}function Lee(eee,tee){aee.value&&(aee.value.setLocaleMessage(eee,tee),cee.value[eee]=tee)}function Fee(eee,tee){aee.value&&aee.value.mergeLocaleMessage(eee,tee)}function zee(eee){return aee.value?aee.value.getDateTimeFormat(eee):{}}function Mee(eee,tee){aee.value&&(aee.value.setDateTimeFormat(eee,tee),pee.value[eee]=tee)}function Pee(eee,tee){aee.value&&aee.value.mergeDateTimeFormat(eee,tee)}function Uee(eee){return aee.value?aee.value.getNumberFormat(eee):{}}function jee(eee,tee){aee.value&&(aee.value.setNumberFormat(eee,tee),dee.value[eee]=tee)}function $ee(eee,tee){aee.value&&aee.value.mergeNumberFormat(eee,tee)}const Vee={get id(){return aee.value?aee.value.id:-1},locale:_ee,fallbackLocale:Eee,messages:Tee,datetimeFormats:See,numberFormats:Iee,get inheritLocale(){return aee.value?aee.value.inheritLocale:iee},set inheritLocale(eee){aee.value&&(aee.value.inheritLocale=eee)},get availableLocales(){return aee.value?aee.value.availableLocales:Object.keys(cee.value)},get modifiers(){return aee.value?aee.value.modifiers:yee},get pluralRules(){return aee.value?aee.value.pluralRules:xee},get isGlobal(){return!!aee.value&&aee.value.isGlobal},get missingWarn(){return aee.value?aee.value.missingWarn:uee},set missingWarn(eee){aee.value&&(aee.value.missingWarn=eee)},get fallbackWarn(){return aee.value?aee.value.fallbackWarn:hee},set fallbackWarn(eee){aee.value&&(aee.value.missingWarn=eee)},get fallbackRoot(){return aee.value?aee.value.fallbackRoot:gee},set fallbackRoot(eee){aee.value&&(aee.value.fallbackRoot=eee)},get fallbackFormat(){return aee.value?aee.value.fallbackFormat:wee},set fallbackFormat(eee){aee.value&&(aee.value.fallbackFormat=eee)},get warnHtmlMessage(){return aee.value?aee.value.warnHtmlMessage:mee},set warnHtmlMessage(eee){aee.value&&(aee.value.warnHtmlMessage=eee)},get escapeParameter(){return aee.value?aee.value.escapeParameter:vee},set escapeParameter(eee){aee.value&&(aee.value.escapeParameter=eee)},t:t,getPostTranslationHandler:Oee,setPostTranslationHandler:Nee,getMissingHandler:Aee,setMissingHandler:Ree,rt:rt,d:d,n:n,tm:tm,te:te,getLocaleMessage:Cee,setLocaleMessage:Lee,mergeLocaleMessage:Fee,getDateTimeFormat:zee,setDateTimeFormat:Mee,mergeDateTimeFormat:Pee,getNumberFormat:Uee,setNumberFormat:jee,mergeNumberFormat:$ee};function qee(eee){eee.locale.value=see.value,eee.fallbackLocale.value=lee.value,Object.keys(cee.value).forEach((tee=>{eee.mergeLocaleMessage(tee,cee.value[tee])})),Object.keys(pee.value).forEach((tee=>{eee.mergeDateTimeFormat(tee,pee.value[tee])})),Object.keys(dee.value).forEach((tee=>{eee.mergeNumberFormat(tee,dee.value[tee])})),eee.escapeParameter=vee,eee.fallbackFormat=wee,eee.fallbackRoot=gee,eee.fallbackWarn=hee,eee.missingWarn=uee,eee.warnHtmlMessage=mee}return Aoe((()=>{if(null==eee.proxy||null==eee.proxy.$i18n)throw Ble(qle.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const ree=aee.value=eee.proxy.$i18n.__composer;"global"===tee?(see.value=ree.locale.value,lee.value=ree.fallbackLocale.value,cee.value=ree.messages.value,pee.value=ree.datetimeFormats.value,dee.value=ree.numberFormats.value):nee&&qee(ree)})),Vee}(tee,nee,gl,eee)}if("global"===nee)return ece(gl,eee,oee),gl;if("parent"===nee){let oee=function(eee,tee,ree=!1){let oee=null;const nee=tee.root;let aee=function(eee,tee=!1){if(null==eee)return null;return tee&&eee.vnode.ctx||eee.parent}(tee,ree);for(;null!=aee;){const tee=eee;if("composition"===eee.mode)oee=tee.__getInstance(aee);else if(__VUE_I18N_LEGACY_API__){const eee=tee.__getInstance(aee);null!=eee&&(oee=eee.__composer,ree&&oee&&!oee[Kle]&&(oee=null))}if(null!=oee)break;if(nee===aee)break;aee=aee.parent}return oee}(ree,tee,eee.__useComponent);return null==oee&&(oee=gl),oee}const aee=ree;let iee=aee.__getInstance(tee);if(null==iee){const ree=fie({},eee);"__i18n"in oee&&(ree.__i18n=oee.__i18n),gl&&(ree.__root=gl),iee=cce(ree),aee.__composerExtend&&(iee[Hle]=aee.__composerExtend(iee)),function(eee,tee,ree){Roe((()=>{}),tee),Foe((()=>{const oee=ree;eee.__deleteInstance(tee);const nee=oee[Hle];nee&&(nee(),delete oee[Hle])}),tee)}(aee,tee,iee),aee.__setInstance(tee,iee)}return iee}const Ece=["locale","fallbackLocale","availableLocales"],Tce=["t","rt","d","n","tm","te"];var Sce;if("boolean"!=typeof __VUE_I18N_FULL_INSTALL__&&(mie().__VUE_I18N_FULL_INSTALL__=!0),"boolean"!=typeof __VUE_I18N_LEGACY_API__&&(mie().__VUE_I18N_LEGACY_API__=!0),"boolean"!=typeof __INTLIFY_JIT_COMPILATION__&&(mie().__INTLIFY_JIT_COMPILATION__=!1),"boolean"!=typeof __INTLIFY_DROP_MESSAGE_COMPILER__&&(mie().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),"boolean"!=typeof __INTLIFY_PROD_DEVTOOLS__&&(mie().__INTLIFY_PROD_DEVTOOLS__=!1),__INTLIFY_JIT_COMPILATION__?nle((function(eee,tee){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&Eie(eee)){!Tie(tee.warnHtmlMessage)||tee.warnHtmlMessage;const ree=(tee.onCacheKey||vle)(eee),oee=yle[ree];if(oee)return oee;const{ast:nee,detectError:aee}=kle(eee,{...tee,location:!1,jit:!0}),iee=fle(nee);return aee?iee:yle[ree]=iee}{const tee=eee.cacheKey;if(tee){return yle[tee]||(yle[tee]=fle(eee))}return fle(eee)}})):nle(_le),function(eee){rle=eee}((function(eee,tee){if(!Sie(eee))return null;let ree=_se.get(tee);if(ree||(ree=function(eee){const tee=[];let c,ree,oee,nee,aee,iee,see,lee=-1,cee=0,pee=0;const dee=[];function uee(){const tee=eee[lee+1];if(5===cee&&"'"===tee||6===cee&&'"'===tee)return lee++,oee="\\"+tee,dee[0](),!0}for(dee[0]=()=>{void 0===ree?ree=oee:ree+=oee},dee[1]=()=>{void 0!==ree&&(tee.push(ree),ree=void 0)},dee[2]=()=>{dee[0](),pee++},dee[3]=()=>{if(pee>0)pee--,cee=4,dee[0]();else{if(pee=0,void 0===ree)return!1;if(ree=kse(ree),!1===ree)return!1;dee[1]()}};null!==cee;)if(lee++,c=eee[lee],"\\"!==c||!uee()){if(nee=xse(c),see=vse[cee],aee=see[nee]||see.l||8,8===aee)return;if(cee=aee[0],void 0!==aee[1]&&(iee=dee[aee[1]],iee&&(oee=c,!1===iee())))return;if(7===cee)return tee}}(tee),ree&&_se.set(tee,ree)),!ree)return null;const oee=ree.length;let nee=eee,i=0;for(;iIt is not possible to use a Trial key with an existing Unraid OS installation.

    You may purchase a license key corresponding to this USB Flash device to continue using this installation.

    ":"

    It is not possible to use a Trial key with an existing Unraid OS installation.

    You may purchase a license key corresponding to this USB Flash device to continue using this installation.

    ","

    Please refresh the page to ensure you load your latest configuration

    ":"

    Please refresh the page to ensure you load your latest configuration

    ","

    Register for Connect by signing in to your Unraid.net account

    ":"

    Register for Connect by signing in to your Unraid.net account

    ","

    The license key file does not correspond to the USB Flash boot device. Please copy the correct key file to the /config directory on your USB Flash boot device or choose Purchase Key.

    Your Unraid registration key is ineligible for replacement as it has been replaced within the last 12 months.

    ":"

    The license key file does not correspond to the USB Flash boot device. Please copy the correct key file to the /config directory on your USB Flash boot device or choose Purchase Key.

    Your Unraid registration key is ineligible for replacement as it has been replaced within the last 12 months.

    ","

    The license key file does not correspond to the USB Flash boot device. Please copy the correct key file to the /config directory on your USB Flash boot device or choose Purchase Key.

    Your Unraid registration key is ineligible for replacement as it is blacklisted.

    ":"

    The license key file does not correspond to the USB Flash boot device. Please copy the correct key file to the /config directory on your USB Flash boot device or choose Purchase Key.

    Your Unraid registration key is ineligible for replacement as it is blacklisted.

    ","

    The license key file does not correspond to the USB Flash boot device. Please copy the correct key file to the /config directory on your USB Flash boot device.

    You may also attempt to Purchase or Replace your key.

    ":"

    The license key file does not correspond to the USB Flash boot device. Please copy the correct key file to the /config directory on your USB Flash boot device.

    You may also attempt to Purchase or Replace your key.

    ","

    There are multiple license key files present on your USB flash device and none of them correspond to the USB Flash boot device. Please remove all key files, except the one you want to replace, from the /config directory on your USB Flash boot device.

    Alternately you may purchase a license key for this USB flash device.

    If you want to replace one of your license keys with a new key bound to this USB Flash device, please first remove all other key files first.

    ":"

    There are multiple license key files present on your USB flash device and none of them correspond to the USB Flash boot device. Please remove all key files, except the one you want to replace, from the /config directory on your USB Flash boot device.

    Alternately you may purchase a license key for this USB flash device.

    If you want to replace one of your license keys with a new key bound to this USB Flash device, please first remove all other key files first.

    ","

    There is a physical problem accessing your USB Flash boot device

    ":"

    There is a physical problem accessing your USB Flash boot device

    ","

    There is a problem with your USB Flash device

    ":"

    There is a problem with your USB Flash device

    ","

    This USB Flash boot device has been blacklisted. This can occur as a result of transferring your license key to a replacement USB Flash device, and you are currently booted from your old USB Flash device.

    A USB Flash device may also be blacklisted if we discover the serial number is not unique – this is common with USB card readers.

    ":"

    This USB Flash boot device has been blacklisted. This can occur as a result of transferring your license key to a replacement USB Flash device, and you are currently booted from your old USB Flash device.

    A USB Flash device may also be blacklisted if we discover the serial number is not unique – this is common with USB card readers.

    ","

    This USB Flash device has an invalid GUID. Please try a different USB Flash device

    ":"

    This USB Flash device has an invalid GUID. Please try a different USB Flash device

    ","

    To continue using Unraid OS you may purchase a license key. Alternately, you may request a Trial extension.

    ":"

    To continue using Unraid OS you may purchase a license key. Alternately, you may request a Trial extension.

    ","

    To support more storage devices as your server grows, click Upgrade Key.

    ":"

    To support more storage devices as your server grows, click Upgrade Key.

    ","

    You have used all your Trial extensions. To continue using Unraid OS you may purchase a license key.

    ":"

    You have used all your Trial extensions. To continue using Unraid OS you may purchase a license key.

    ","

    Your Trial key includes all the functionality and device support of an Unleashed key.

    After your Trial has reached expiration, your server still functions normally until the next time you Stop the array or reboot your server.

    At that point you may either purchase a license key or request a Trial extension.

    ":"

    Your Trial key includes all the functionality and device support of an Unleashed key.

    After your Trial has reached expiration, your server still functions normally until the next time you Stop the array or reboot your server.

    At that point you may either purchase a license key or request a Trial extension.

    ","

    Your license key file is corrupted or missing. The key file should be located in the /config directory on your USB Flash boot device.

    If you do not have a backup copy of your license key file you may attempt to recover your key.

    If this was an expired Trial installation, you may purchase a license key.

    ":"

    Your license key file is corrupted or missing. The key file should be located in the /config directory on your USB Flash boot device.

    If you do not have a backup copy of your license key file you may attempt to recover your key.

    If this was an expired Trial installation, you may purchase a license key.

    ","

    Your license key file is corrupted or missing. The key file should be located in the /config directory on your USB Flash boot device.

    You may attempt to recover your key with your Unraid.net account.

    If this was an expired Trial installation, you may purchase a license key.

    ":"

    Your license key file is corrupted or missing. The key file should be located in the /config directory on your USB Flash boot device.

    You may attempt to recover your key with your Unraid.net account.

    If this was an expired Trial installation, you may purchase a license key.

    ","

    Your server will not be usable until you purchase a Registration key or install a free 30 day Trial key. A Trial key provides all the functionality of an Unleashed Registration key.

    Registration keys are bound to your USB Flash boot device serial number (GUID). Please use a high quality name brand device at least 1GB in size.

    Note: USB memory card readers are generally not supported because most do not present unique serial numbers.

    Important:

    • Please make sure your server time is accurate to within 5 minutes
    • Please make sure there is a DNS server specified
    ":"

    Your server will not be usable until you purchase a Registration key or install a free 30 day Trial key. A Trial key provides all the functionality of an Unleashed Registration key.

    Registration keys are bound to your USB Flash boot device serial number (GUID). Please use a high quality name brand device at least 1GB in size.

    Note: USB memory card readers are generally not supported because most do not present unique serial numbers.

    Important:

    • Please make sure your server time is accurate to within 5 minutes
    • Please make sure there is a DNS server specified
    ","

    Your Trial key requires an internet connection.

    Please check Settings > Network

    ":"

    Your Trial key requires an internet connection.

    Please check Settings > Network

    ","

    Your Unraid registration key is ineligible for replacement as it has been replaced within the last 12 months.

    ":"

    Your Unraid registration key is ineligible for replacement as it has been replaced within the last 12 months.

    ","A Trial key provides all the functionality of an Unleashed Registration key":"A Trial key provides all the functionality of an Unleashed Registration key.","A valid GUID is required to check for OS updates.":"A valid GUID is required to check for OS updates.","A valid keyfile and USB Flash boot device are required to check for OS updates.":"A valid keyfile and USB Flash boot device are required to check for OS updates.","A valid keyfile is required to check for OS updates.":"A valid keyfile is required to check for OS updates.","A valid OS version is required to check for OS updates.":"A valid OS version is required to check for OS updates.","Acklowledge that you have made a Flash Backup to enable this action":"Acklowledge that you have made a Flash Backup to enable this action",ago:"ago","All you need is an active internet connection, an Unraid.net account, and the Connect plugin. Get started by installing the plugin.":"All you need is an active internet connection, an Unraid.net account, and the Connect plugin. Get started by installing the plugin.","Attached Storage Devices":"Attached Storage Devices","Backing up...this may take a few minutes":"Backing up...this may take a few minutes",Basic:"Basic","Begin downgrade to {0}":"Begin downgrade to {0}",Beta:"Beta","Blacklisted USB Flash GUID":"Blacklisted USB Flash GUID",BLACKLISTED:"BLACKLISTED","Calculating OS Update Eligibility…":"Calculating OS Update Eligibility…","Calculating trial expiration…":"Calculating trial expiration…","Callback redirect type not present or incorrect":"Callback redirect type not present or incorrect","Cancel {0}":"Cancel {0}",Cancel:"Cancel","Cannot access your USB Flash boot device":"Cannot access your USB Flash boot device","Cannot validate Unraid Trial key":"Cannot validate Unraid Trial key","Check Eligibility":"Check Eligibility","check for OS updates":"check for OS updates","Check for OS Updates":"Check for OS Updates","Check for Prereleases":"Check for Prereleases","Check for Update":"Check for Update","Checking WAN IPs…":"Checking WAN IPs…","Checking...":"Checking...","Checkout the Connect Documentation":"Checkout the Connect Documentation","Click to close modal":"Click to close modal","Click to Copy LAN IP {0}":"Click to Copy LAN IP {0}","Close Dropdown":"Close Dropdown","Close Modal":"Close Modal",Close:"Close","Configure Connect Features":"Configure Connect Features","Confirm and start update":"Confirm and start update","Confirm to Install Unraid OS {0}":"Confirm to Install Unraid OS {0}",Connected:"Connected","Contact Support":"Contact Support",Continue:"Continue",Copied:"Copied","Copy Key URL":"Copy Key URL","Copy your Key URL: {0}":"Copy your Key URL: {0}","Create Flash Backup":"Create Flash Backup","Current Version {0}":"Current Version {0}","Current Version: Unraid {0}":"Current Version: Unraid {0}","Customizable Dashboard Tiles":"Customizable Dashboard Tiles",day:"{n} day | {n} days","Deep Linking":"Deep Linking","DNS issue, unable to resolve wanip4.unraid.net":"DNS issue, unable to resolve wanip4.unraid.net","Downgrade Unraid OS to {0}":"Downgrade Unraid OS to {0}","Downgrade Unraid OS":"Downgrade Unraid OS","Downgrades are only recommended if you're unable to solve a critical issue.":"Downgrades are only recommended if you're unable to solve a critical issue.","Download Diagnostics":"Download Diagnostics","Download the Diagnostics zip then please open a bug report on our forums with a description of the issue along with your diagnostics.":"Download the Diagnostics zip then please open a bug report on our forums with a description of the issue along with your diagnostics.","Download unraid-api Logs":"Download unraid-api Logs","Dynamic Remote Access":"Dynamic Remote Access","Eligible for free feature updates for {0}":"Eligible for free feature updates for {0}","Eligible for free feature updates until {0}":"Eligible for free feature updates until {0}",Eligible:"Eligible","Enable update notifications":"Enable update notifications","Enhance your experience with Unraid Connect":"Enhance your experience with Unraid Connect","Enhance your Unraid experience with Connect":"Enhance your Unraid experience with Connect","Enhance your Unraid experience":"Enhance your Unraid experience","Error creating a trial key. Please try again later.":"Error creating a trial key. Please try again later.","Error Parsing Changelog • {0}":"Error Parsing Changelog • {0}",Error:"Error","Expired {0}":"Expired {0}",Expired:"Expired","Expires at {0}":"Expires at {0}","Expires in {0}":"Expires in {0}","Extend License to Enable OS Updates":"Extend License to Enable OS Updates","Extend License to Update":"Extend License to Update","Extend License":"Extend License","Extend Trial":"Extend Trial","Extending your free trial by 15 days":"Extending your free trial by 15 days","Extension Installed":"Extension Installed","Failed to {0} {1} Key":"Failed to {0} {1} Key","Failed to install key":"Failed to install key","Failed to update Connect account configuration":"Failed to update Connect account configuration","Fetching & parsing changelog…":"Fetching & parsing changelog…","Fix Error":"Fix Error","Flash Backup is not available. Navigate to {0}/Main/Settings/Flash to try again then come back to this page.":"Flash Backup is not available. Navigate to {0}/Main/Settings/Flash to try again then come back to this page.","Flash GUID Error":"Flash GUID Error","Flash GUID required to check replacement status":"Flash GUID required to check replacement status","Flash GUID":"Flash GUID","Flash Product":"Flash Product","Flash Vendor":"Flash Vendor","Get a Lifetime Key":"Get a Lifetime Key","Get an overview of your server's state, storage space, apps and VMs status, and more.":"Get an overview of your server's state, storage space, apps and VMs status, and more.","Get Started":"Get Started","Go to Connect plugin settings":"Go to Connect plugin settings","Go to Connect":"Go to Connect","Go to Management Access Now":"Go to Management Access Now","Go to Settings > Notifications to enable automatic OS update notifications for future releases.":"Go to Settings > Notifications to enable automatic OS update notifications for future releases.","Go to Tools > Management Access to activate the Flash Backup feature and ensure your backup is up-to-date.":"Go to Tools > Management Access to activate the Flash Backup feature and ensure your backup is up-to-date.","Go to Tools > Management Access to ensure your backup is up-to-date.":"Go to Tools > Management Access to ensure your backup is up-to-date.","Go to Tools > Registration to fix":"Go to Tools > Registration to fix","Go to Tools > Registration to Learn More":"Go to Tools > Registration to Learn More","Go to Tools > Update OS for more options.":"Go to Tools > Update OS for more options.","Go to Tools > Update":"Go to Tools > Update",hour:"{n} hour | {n} hours","I have made a Flash Backup":"I have made a Flash Backup","If you are asked to supply logs, please open a support request on our Contact Page and reply to the email message you receive with your logs attached.":"If you are asked to supply logs, please open a support request on our Contact Page and reply to the email message you receive with your logs attached.","Ignore this message if you are currently connected via Remote Access or VPN.":"Ignore this message if you are currently connected via Remote Access or VPN.","Ignore this release until next reboot":"Ignore this release until next reboot","Ignored Releases":"Ignored Releases","In the rare event you need to downgrade we ask that you please provide us with Diagnostics so we can investigate your issue.":"In the rare event you need to downgrade we ask that you please provide us with Diagnostics so we can investigate your issue.","Ineligible as of {0}":"Ineligible as of {0}","Ineligible for feature updates released after {0}":"Ineligible for feature updates released after {0}","Ineligible for Unraid OS updates":"Ineligible for Unraid OS updates",Ineligible:"Ineligible","Ineligible for self-replacement":"Ineligible for self-replacement","Install Connect":"Install Connect","Install Extended":"Install Extended","Install Recovered":"Install Recovered","Install Replaced":"Install Replaced","Install Unraid OS {0}":"Install Unraid OS {0}",Install:"Install",Installed:"Installed","Installing Connect":"Installing Connect","Installing Extended Trial":"Installing Extended Trial","Installing Extended":"Installing Extended","Installing Recovered":"Installing Recovered","Installing Replaced":"Installing Replaced",Installing:"Installing","Introducing Unraid Connect":"Introducing Unraid Connect","Invalid API Key Format":"Invalid API Key Format","Invalid API Key":"Invalid API Key","Invalid installation":"Invalid installation","It's highly recommended to review the changelog before continuing your update":"It's highly recommended to review the changelog before continuing your update","Key ineligible for {0}":"Key ineligible for {0}","Key ineligible for future releases":"Key ineligible for future releases","Key ineligible for new updates":"Key ineligible for new updates","Keyfile required to check replacement status":"Keyfile required to check replacement status","LAN IP {0}":"LAN IP {0}","LAN IP Copied":"LAN IP Copied","LAN IP":"LAN IP","Last checked: {0}":"Last checked: {0}","Learn more about the error":"Learn more about the error","Learn more and fix":"Learn more and fix","Learn more and link your key to your account":"Learn more and link your key to your account","Learn more":"Learn more","Learn More":"Learn More","Let's Unleash your Hardware!":"Let's Unleash your Hardware!","License key actions":"License key actions","License key type":"License key type","License Management":"License Management",Lifetime:"Lifetime","Link Key":"Link Key",Linked:"Linked","Linked to Unraid.net account":"Linked to Unraid.net account",Loading:"Loading","Manage Unraid.net Account in new tab":"Manage Unraid.net Account in new tab","Manage Unraid.net Account":"Manage Unraid.net Account","Manage your license keys at any time via the My Keys section.":"Manage your license keys at any time via the My Keys section.","Manage Your Server Within Connect":"Manage Your Server Within Connect",minute:"{n} minute | {n} minutes","Missing key file":"Missing key file",month:"{n} month | {n} months","More options":"More options","Multiple License Keys Present":"Multiple License Keys Present","Never ever be left without a backup of your config. If you need to change flash drives, generate a backup from Connect and be up and running in minutes.":"Never ever be left without a backup of your config. If you need to change flash drives, generate a backup from Connect and be up and running in minutes.","New Version: {0}":"New Version: {0}","No downgrade available":"No downgrade available","No Flash":"No Flash","No Keyfile":"No Keyfile","No thanks":"No thanks","No USB flash configuration data":"No USB flash configuration data","Not Linked":"Not Linked","On January 1st, 2023 SSL certificates for unraid.net were deprecated. You MUST provision a new SSL certificate to use our new myunraid.net domain. You can do this on the Settings > Management Access page.":"On January 1st, 2023 SSL certificates for unraid.net were deprecated. You MUST provision a new SSL certificate to use our new myunraid.net domain. You can do this on the Settings > Management Access page.","Online Flash Backup":"Online Flash Backup","Open a bug report":"Open a bug report","Open Dropdown":"Open Dropdown","Opens Connect in new tab":"Opens Connect in new tab","Original release date {0}":"Original release date {0}","OS Update Eligibility Expiration":"OS Update Eligibility Expiration","OS Update Eligibility Expired":"OS Update Eligibility Expired","OS Update Eligibility":"OS Update Eligibility","Pay your annual fee to continue receiving OS updates.":"Pay your annual fee to continue receiving OS updates.","Performing actions":"Performing actions","Please confirm the update details below":"Please confirm the update details below","Please finish the initiated downgrade to enable updates.":"Please finish the initiated downgrade to enable updates.","Please finish the initiated update to enable a downgrade.":"Please finish the initiated update to enable a downgrade.","Please fix any errors and try again.":"Please fix any errors and try again.","Please keep this window open while we perform some actions":"Please keep this window open while we perform some actions","Please keep this window open":"Please keep this window open","Please sign out then sign back in to refresh your API key.":"Please sign out then sign back in to refresh your API key.","Please wait while the page reloads to install your trial key":"Please wait while the page reloads to install your trial key","Plus more on the way":"Plus more on the way",Plus:"Plus",Pro:"Pro","Purchase Key":"Purchase Key",Purchase:"Purchase","Ready to Install Key":"Ready to Install Key","Ready to update Connect account configuration":"Ready to update Connect account configuration","Real-time Monitoring":"Real-time Monitoring","Reboot Now to Downgrade to {0}":"Reboot Now to Downgrade to {0}","Reboot Now to Downgrade":"Reboot Now to Downgrade","Reboot Now to Update to {0}":"Reboot Now to Update to {0}","Reboot Now to Update":"Reboot Now to Update","Reboot Required for Downgrade to {0}":"Reboot Required for Downgrade to {0}","Reboot Required for Downgrade":"Reboot Required for Downgrade","Reboot Required for Update to {0}":"Reboot Required for Update to {0}","Reboot Required for Update":"Reboot Required for Update","Rebooting will likely solve this.":"Rebooting will likely solve this.","Receive the latest and greatest for Unraid OS. Whether it new features, security patches, or bug fixes – keeping your server up-to-date ensures the best experience that Unraid has to offer.":"Receive the latest and greatest for Unraid OS. Whether it new features, security patches, or bug fixes – keeping your server up-to-date ensures the best experience that Unraid has to offer.","Recover Key":"Recover Key",Recovered:"Recovered","Redeem Activation Code":"Redeem Activation Code",Refresh:"Refresh","Registered on":"Registered on","Registered to":"Registered to","Registration key / USB Flash GUID mismatch":"Registration key / USB Flash GUID mismatch","Release date {0}":"Release date {0}","Release requires verification to update":"Release requires verification to update","Reload Page":"Reload Page",Reload:"Reload","Remark: Unraid's WAN IPv4 {0} does not match your client's WAN IPv4 {1}.":"Remark: Unraid's WAN IPv4 {0} does not match your client's WAN IPv4 {1}.","Remark: your WAN IPv4 is {0}":"Remark: your WAN IPv4 is {0}","Remove from ignore list":"Remove from ignore list",Remove:"Remove","Renew Key":"Renew Key","Renew your license key now":"Renew your license key now","Replace Key":"Replace Key",Replaced:"Replaced","Requires the local unraid-api to be running successfully":"Requires the local unraid-api to be running successfully","Restarting unraid-api…":"Restarting unraid-api…",second:"{n} second | {n} seconds","Server Up Since {0}":"Server Up Since {0}","Servers equipped with a myunraid.net certificate can be managed directly from within the Connect web UI. Manage multiple servers from your phone, tablet, laptop, or PC in the same browser window.":"Servers equipped with a myunraid.net certificate can be managed directly from within the Connect web UI. Manage multiple servers from your phone, tablet, laptop, or PC in the same browser window.","Set custom server tiles how you like and automatically display your server's banner image on your Connect Dashboard.":"Set custom server tiles how you like and automatically display your server's banner image on your Connect Dashboard.",Settings:"Settings","Sign In Failed":"Sign In Failed","Sign In requires the local unraid-api to be running":"Sign In requires the local unraid-api to be running","Sign In to utilize Unraid Connect":"Sign In to utilize Unraid Connect","Sign In to your Unraid.net account to get started":"Sign In to your Unraid.net account to get started","Sign In with Unraid.net Account":"Sign In with Unraid.net Account","Sign In":"Sign In","Sign Out Failed":"Sign Out Failed","Sign Out of Unraid.net":"Sign Out of Unraid.net","Sign Out requires the local unraid-api to be running":"Sign Out requires the local unraid-api to be running","Signing in {0}…":"Signing in {0}…","Signing In":"Signing In","Signing out {0}…":"Signing out {0}…","Signing Out":"Signing Out","Something went wrong":"Something went wrong","SSL certificates for unraid.net deprecated":"SSL certificates for unraid.net deprecated","Stale Server":"Stale Server",Stale:"Stale","Start Free 30 Day Trial":"Start Free 30 Day Trial",Starter:"Starter","Starting your free 30 day trial":"Starting your free 30 day trial","Success!":"Success!","Thank you for choosing Unraid OS!":"Thank you for choosing Unraid OS!","Thank you for installing Connect!":"Thank you for installing Connect!","Thank you for purchasing an Unraid {0} Key!":"Thank you for purchasing an Unraid {0} Key!","Thank you for upgrading to an Unraid {0} Key!":"Thank you for upgrading to an Unraid {0} Key!","The Connect dashboard links to relevant sections of the webgui, allowing quick access to those settings and server sections.":"The Connect dashboard links to relevant sections of the webgui, allowing quick access to those settings and server sections.","The logs may contain sensitive information so do not post them publicly.":"The logs may contain sensitive information so do not post them publicly.","The primary method of support for Unraid Connect is through our forums and Discord.":"The primary method of support for Unraid Connect is through our forums and Discord.","Then go to Tools > Registration to manually install it":"Then go to Tools > Registration to manually install it","This may indicate a complex network that will not work with this Remote Access solution.":"This may indicate a complex network that will not work with this Remote Access solution.","This update will require a reboot":"This update will require a reboot","Toggle on/off server accessibility with dynamic remote access. Automatically turn on UPnP and open a random WAN port on your router at the click of a button and close off access in seconds.":"Toggle on/off server accessibility with dynamic remote access. Automatically turn on UPnP and open a random WAN port on your router at the click of a button and close off access in seconds.","Too Many Devices":"Too Many Devices","Transfer License to New Flash":"Transfer License to New Flash","Trial Expired, see options below":"Trial Expired, see options below","Trial Expired":"Trial Expired","Trial Key Created":"Trial Key Created","Trial Key Creation Failed":"Trial Key Creation Failed","Trial Key Expired {0}":"Trial Key Expired {0}","Trial Key Expired at {0}":"Trial Key Expired at {0}","Trial Key Expires at {0}":"Trial Key Expires at {0}","Trial Key Expires in {0}":"Trial Key Expires in {0}","Trial Requires Internet Connection":"Trial Requires Internet Connection",Trial:"Trial","Unable to check for OS updates":"Unable to check for OS updates","Unable to fetch client WAN IPv4":"Unable to fetch client WAN IPv4","Unable to open release notes":"Unable to open release notes","Unknown error":"Unknown error",Unknown:"Unknown",Unleashed:"Unleashed",unlimited:"unlimited","Unraid {0} Available":"Unraid {0} Available","Unraid {0} Update Available":"Unraid {0} Update Available","Unraid {0}":"Unraid {0}","Unraid Connect Error":"Unraid Connect Error","Unraid Connect Forums":"Unraid Connect Forums","Unraid Connect Install Failed":"Unraid Connect Install Failed","Unraid Contact Page":"Unraid Contact Page","Unraid Discord":"Unraid Discord","Unraid logo animating with a wave like effect":"Unraid logo animating with a wave like effect","Unraid OS {0} Released":"Unraid OS {0} Released","Unraid OS {0} Update Available":"Unraid OS {0} Update Available","Unraid OS is up-to-date":"Unraid OS is up-to-date","Unraid OS Update Available":"Unraid OS Update Available","unraid-api is offline":"unraid-api is offline","Up-to-date with eligible releases":"Up-to-date with eligible releases","Up-to-date":"Up-to-date","Update Available":"Update Available","Update Released":"Update Released","Update Unraid OS confirmation required":"Update Unraid OS confirmation required","Update Unraid OS":"Update Unraid OS","Updates Expire":"Updates Expire","Updating 3rd party drivers":"Updating 3rd party drivers","Upgrade Key":"Upgrade Key",Upgrade:"Upgrade","Uptime {0}":"Uptime {0}","USB Flash device error":"USB Flash device error","USB Flash has no serial number":"USB Flash has no serial number","Verify to Update":"Verify to Update","Version available for restore {0}":"Version available for restore {0}","Version: {0}":"Version: {0}","View Available Updates":"View Available Updates","View Changelog & Update":"View Changelog & Update","View Changelog for {0}":"View Changelog for {0}","View Changelog on Docs":"View Changelog on Docs","View Changelog to Start Update":"View Changelog to Start Update","View Changelog":"View Changelog","View on Docs":"View on Docs","View release notes":"View release notes","We recommend backing up your USB Flash Boot Device before starting the update.":"We recommend backing up your USB Flash Boot Device before starting the update.",year:"{n} year | {n} years","You are still eligible to access OS updates that were published on or before {1}.":"You are still eligible to access OS updates that were published on or before {1}.","You can also manually create a new backup by clicking the Create Flash Backup button.":"You can also manually create a new backup by clicking the Create Flash Backup button.","You can manually create a backup by clicking the Create Flash Backup button.":"You can manually create a backup by clicking the Create Flash Backup button.","You have already activated the Flash Backup feature via the Unraid Connect plugin.":"You have already activated the Flash Backup feature via the Unraid Connect plugin.","You have exceeded the number of devices allowed for your license. Please remove a device before adding another.":"You have exceeded the number of devices allowed for your license. Please remove a device before adding another.","You have not activated the Flash Backup feature via the Unraid Connect plugin.":"You have not activated the Flash Backup feature via the Unraid Connect plugin.","You may still update to releases dated prior to your update expiration date.":"You may still update to releases dated prior to your update expiration date.","You're one step closer to enhancing your Unraid experience":"You're one step closer to enhancing your Unraid experience","Your {0} Key has been replaced!":"Your {0} Key has been replaced!","Your {0} license included one year of free updates at the time of purchase. You are now eligible to extend your license and access the latest OS updates. You are still eligible to access OS updates that were published on or before {1}.":"Your {0} license included one year of free updates at the time of purchase. You are now eligible to extend your license and access the latest OS updates. You are still eligible to access OS updates that were published on or before {1}.","Your {0} license included one year of free updates at the time of purchase. You are now eligible to extend your license and access the latest OS updates.":"Your {0} license included one year of free updates at the time of purchase. You are now eligible to extend your license and access the latest OS updates.","Your free Trial key provides all the functionality of an Unleashed Registration key":"Your free Trial key provides all the functionality of an Unleashed Registration key","Your license key is not eligible for Unraid OS {0}":"Your license key is not eligible for Unraid OS {0}","Your license key's OS update eligibility has expired. Please renew your license key to enable updates released after your expiration date.":"Your license key's OS update eligibility has expired. Please renew your license key to enable updates released after your expiration date.","Your Trial has expired":"Your Trial has expired","Your Trial key has been extended!":"Your Trial key has been extended!"},Nce="en_US",Ace=(eee,tee)=>{const ree=eee.__vccOpts||eee;for(const[oee,nee]of tee)ree[oee]=nee;return ree},Rce=Ace(xoe({__name:"I18nHost.ce",setup(eee){Ice.VITE_ALLOW_CONSOLE_LOGS||(console.log=()=>{},console.debug=()=>{},console.info=()=>{});let tee="",ree={},oee=!1;const nee=window.LOCALE_DATA||null;if(nee)try{ree=JSON.parse(decodeURIComponent(nee)),tee=Object.keys(ree)[0],oee=tee!==Nce}catch(iee){console.error("[I18nHost] error parsing messages",iee)}const aee=kce({legacy:!1,locale:oee?tee:Nce,fallbackLocale:Nce,messages:{en_US:Oce,...oee?ree:{}}});return gne(xce,aee),(eee,tee)=>Yoe(eee.$slots,"default")}}),[["styles",[""]]]),Dce={key:0,class:"absolute -top-[2px] -right-[2px] -bottom-[2px] -left-[2px] -z-10 bg-gradient-to-r from-unraid-red to-orange opacity-100 transition-all rounded-md group-hover:opacity-60 group-focus:opacity-60"},Cce={key:1,class:"absolute -top-[2px] -right-[2px] -bottom-[2px] -left-[2px] -z-10 bg-gradient-to-r from-unraid-red to-orange opacity-0 transition-all rounded-md group-hover:opacity-100 group-focus:opacity-100"},Lce=xoe({__name:"Button",props:{btnStyle:{default:"fill"},btnType:{default:"button"},class:{default:void 0},click:{type:Function,default:void 0},disabled:{type:Boolean},download:{type:Boolean},external:{type:Boolean},href:{default:void 0},icon:{default:void 0},iconRight:{default:void 0},iconRightHoverDisplay:{type:Boolean,default:!1},noPadding:{type:Boolean,default:!1},size:{default:"16px"},text:{default:""},title:{default:""}},emits:["click"],setup(eee){const tee=eee,ree=Sae((()=>{let eee="",ree="",oee="";switch(tee.btnStyle){case"black":eee="text-white bg-black border-black transition hover:text-black focus:text-black hover:bg-grey focus:bg-grey hover:border-grey focus:border-grey";break;case"fill":eee="text-white bg-transparent border-transparent";break;case"gray":eee="text-black bg-grey transition hover:text-white focus:text-white hover:bg-grey-mid focus:bg-grey-mid hover:border-grey-mid focus:border-grey-mid";break;case"outline":eee="text-orange bg-transparent border-orange hover:text-white focus:text-white";break;case"outline-black":eee="text-black bg-transparent border-black hover:text-black focus:text-black hover:bg-grey focus:bg-grey hover:border-grey focus:border-grey";break;case"outline-white":eee="text-white bg-transparent border-white hover:text-black focus:text-black hover:bg-white focus:bg-white";break;case"underline":eee="opacity-75 underline border-transparent transition hover:text-alpha hover:bg-beta hover:border-beta focus:text-alpha focus:bg-beta focus:border-beta hover:opacity-100 focus:opacity-100";break;case"underline-hover-red":eee="opacity-75 underline border-transparent transition hover:text-white hover:bg-unraid-red hover:border-unraid-red focus:text-white focus:bg-unraid-red focus:border-unraid-red hover:opacity-100 focus:opacity-100";break;case"white":eee="text-black bg-white transition hover:bg-grey focus:bg-grey"}switch(tee.size){case"12px":ree=`text-12px ${tee.noPadding?"p-0":"p-8px"} gap-4px`,oee="w-12px";break;case"14px":ree=`text-14px ${tee.noPadding?"p-0":"p-8px"} gap-8px`,oee="w-14px";break;case"16px":ree=`text-16px ${tee.noPadding?"p-0":"p-12px"} gap-8px`,oee="w-16px";break;case"18px":ree=`text-18px ${tee.noPadding?"p-0":"p-12px"} gap-8px`,oee="w-18px";break;case"20px":ree=`text-20px ${tee.noPadding?"p-0":"p-16px"} gap-8px`,oee="w-20px";break;case"24px":ree=`text-24px ${tee.noPadding?"p-0":"p-16px"} gap-8px`,oee="w-24px"}return{button:"none"===tee.btnStyle?`${ree} ${tee.class}`:`${ree} ${eee} group text-center font-semibold leading-none relative z-0 flex flex-row items-center justify-center border-2 border-solid shadow-none cursor-pointer rounded-md hover:shadow-md focus:shadow-md disabled:opacity-25 disabled:hover:opacity-25 disabled:focus:opacity-25 disabled:cursor-not-allowed ${tee.class}`,icon:`${oee} fill-current flex-shrink-0`}}));return(eee,tee)=>(qne(),Wne($oe(eee.href?"a":"button"),{disabled:eee.disabled??null,href:eee.href,rel:eee.external?"noopener noreferrer":"",target:eee.external?"_blank":"",type:eee.href?"":eee.btnType,class:Yee(ree.value.button),title:eee.title,onClick:tee[0]||(tee[0]=tee=>eee.click??eee.$emit("click"))},{default:soe((()=>["fill"===eee.btnStyle?(qne(),Qne("div",Dce)):aae("",!0),"outline"===eee.btnStyle?(qne(),Qne("div",Cce)):aae("",!0),eee.icon?(qne(),Wne($oe(eee.icon),{key:2,class:Yee(ree.value.icon)},null,8,["class"])):aae("",!0),oae(" "+Hee(eee.text)+" ",1),Yoe(eee.$slots,"default"),eee.iconRight?(qne(),Wne($oe(eee.iconRight),{key:3,class:Yee([ree.value.icon,eee.iconRightHoverDisplay&&"opacity-0 group-hover:opacity-100 group-focus:opacity-100 transition-all"])},null,8,["class"])):aae("",!0)])),_:3},8,["disabled","href","rel","target","type","class","title"]))}}); -/*! - * pinia v2.1.7 - * (c) 2023 Eduardo San Martin Morote - * @license MIT - */ -let Fce;const zce=eee=>Fce=eee,Mce=Symbol();function Pce(o){return o&&"object"==typeof o&&"[object Object]"===Object.prototype.toString.call(o)&&"function"!=typeof o.toJSON}var Uce,jce;function $ce(){const eee=ete(!0),tee=eee.run((()=>kre({})));let _p=[],ree=[];const oee=fre({install(eee){zce(oee),oee._a=eee,eee.provide(Mce,oee),eee.config.globalProperties.$pinia=oee,ree.forEach((eee=>_p.push(eee))),ree=[]},use(eee){return this._a?_p.push(eee):ree.push(eee),this},_p:_p,_a:null,_e:eee,_s:new Map,state:tee});return oee}(jce=Uce||(Uce={})).direct="direct",jce.patchObject="patch object",jce.patchFunction="patch function";const Vce=()=>{};function qce(eee,tee,ree,oee=Vce){eee.push(tee);const nee=()=>{const ree=eee.indexOf(tee);ree>-1&&(eee.splice(ree,1),oee())};return!ree&&tte()&&rte(nee),nee}function Bce(eee,...tee){eee.slice().forEach((eee=>{eee(...tee)}))}const Yce=fn=>fn();function Gce(eee,tee){eee instanceof Map&&tee instanceof Map&&tee.forEach(((tee,ree)=>eee.set(ree,tee))),eee instanceof Set&&tee instanceof Set&&tee.forEach(eee.add,eee);for(const ree in tee){if(!tee.hasOwnProperty(ree))continue;const oee=tee[ree],nee=eee[ree];Pce(nee)&&Pce(oee)&&eee.hasOwnProperty(ree)&&!xre(oee)&&!dre(oee)?eee[ree]=Gce(nee,oee):eee[ree]=oee}return eee}const Qce=Symbol();const{assign:Wce}=Object;function Kce(o){return!(!xre(o)||!o.effect)}function Hce(eee,tee,ree={},oee,nee,aee){let iee;const see=Wce({actions:{}},ree),lee={deep:!0};let cee,pee,dee,uee=[],hee=[];const gee=oee.state.value[eee];let wee;function fee(tee){let ree;cee=pee=!1,"function"==typeof tee?(tee(oee.state.value[eee]),ree={type:Uce.patchFunction,storeId:eee,events:dee}):(Gce(oee.state.value[eee],tee),ree={type:Uce.patchObject,payload:tee,storeId:eee,events:dee});const nee=wee=Symbol();Qre().then((()=>{wee===nee&&(cee=!0)})),pee=!0,Bce(uee,ree,oee.state.value[eee])}aee||gee||(oee.state.value[eee]={}),kre({});const bee=aee?function(){const{state:eee}=ree,tee=eee?eee():{};this.$patch((eee=>{Wce(eee,tee)}))}:Vce;function mee(tee,ree){return function(){zce(oee);const nee=Array.from(arguments),aee=[],iee=[];let see;Bce(hee,{args:nee,name:tee,store:vee,after:function(eee){aee.push(eee)},onError:function(eee){iee.push(eee)}});try{see=ree.apply(this&&this.$id===eee?this:vee,nee)}catch(lee){throw Bce(iee,lee),lee}return see instanceof Promise?see.then((eee=>(Bce(aee,eee),eee))).catch((eee=>(Bce(iee,eee),Promise.reject(eee)))):(Bce(aee,see),see)}}const vee=lre({_p:oee,$id:eee,$onAction:qce.bind(null,hee),$patch:fee,$reset:bee,$subscribe(tee,ree={}){const nee=qce(uee,tee,ree.detached,(()=>aee())),aee=iee.run((()=>goe((()=>oee.state.value[eee]),(oee=>{("sync"===ree.flush?pee:cee)&&tee({storeId:eee,type:Uce.direct,events:dee},oee)}),Wce({},lee,ree))));return nee},$dispose:function(){iee.stop(),uee=[],hee=[],oee._s.delete(eee)}});oee._s.set(eee,vee);const yee=(oee._a&&oee._a.runWithContext||Yce)((()=>oee._e.run((()=>(iee=ete()).run(tee)))));for(const kee in yee){const tee=yee[kee];if(xre(tee)&&!Kce(tee)||dre(tee))aee||(!gee||Pce(xee=tee)&&xee.hasOwnProperty(Qce)||(xre(tee)?tee.value=gee[kee]:Gce(tee,gee[kee])),oee.state.value[eee][kee]=tee);else if("function"==typeof tee){const eee=mee(kee,tee);yee[kee]=eee,see.actions[kee]=tee}}var xee;return Wce(vee,yee),Wce(wre(vee),yee),Object.defineProperty(vee,"$state",{get:()=>oee.state.value[eee],set:eee=>{fee((tee=>{Wce(tee,eee)}))}}),oee._p.forEach((eee=>{Wce(vee,iee.run((()=>eee({store:vee,app:oee._a,pinia:oee,options:see}))))})),gee&&aee&&ree.hydrate&&ree.hydrate(vee.$state,gee),cee=!0,pee=!0,vee}function Xce(eee,tee,ree){let id,oee;const nee="function"==typeof tee;function aee(eee,ree){const aee=fne();(eee=eee||(aee?wne(Mce,null):null))&&zce(eee),(eee=Fce)._s.has(id)||(nee?Hce(id,tee,oee,eee):function(id,eee,tee,ree){const{state:oee,actions:nee,getters:aee}=eee,iee=tee.state.value[id];let see;see=Hce(id,(function(){iee||(tee.state.value[id]=oee?oee():{});const eee=Nre(tee.state.value[id]);return Wce(eee,nee,Object.keys(aee||{}).reduce(((eee,ree)=>(eee[ree]=fre(Sae((()=>{zce(tee);const eee=tee._s.get(id);return aee[ree].call(eee,eee)}))),eee)),{}))}),eee,tee,0,!0)}(id,oee,eee));return eee._s.get(id)}return"string"==typeof eee?(id=eee,oee=nee?ree:tee):(oee=eee,id=eee.id),aee.$id=id,aee}function Zce(eee){{eee=wre(eee);const tee={};for(const ree in eee){const oee=eee[ree];(xre(oee)||dre(oee))&&(tee[ree]=Dre(eee,ree))}return tee}}var Jce="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function epe(x){return x&&x.__esModule&&Object.prototype.hasOwnProperty.call(x,"default")?x.default:x}function tpe(n){if(n.__esModule)return n;var f=n.default;if("function"==typeof f){var a=function a(){return this instanceof a?Reflect.construct(f,arguments,this.constructor):f.apply(this,arguments)};a.prototype=f.prototype}else a={};return Object.defineProperty(a,"__esModule",{value:!0}),Object.keys(n).forEach((function(k){var d=Object.getOwnPropertyDescriptor(n,k);Object.defineProperty(a,k,d.get?d:{enumerable:!0,get:function(){return n[k]}})})),a}var rpe={exports:{}};rpe.exports=function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",c="month",f="quarter",h="year",d="date",l="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return"["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)console.error("SEMVER",...eee):()=>{};var spe={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},lpe={exports:{}};!function(eee,tee){const{MAX_SAFE_COMPONENT_LENGTH:ree,MAX_SAFE_BUILD_LENGTH:oee,MAX_LENGTH:nee}=spe,aee=ipe,re=(tee=eee.exports={}).re=[],iee=tee.safeRe=[],see=tee.src=[],t=tee.t={};let R=0;const lee="[a-zA-Z0-9-]",cee=[["\\s",1],["\\d",nee],[lee,oee]],pee=(eee,tee,ree)=>{const oee=(eee=>{for(const[tee,ree]of cee)eee=eee.split(`${tee}*`).join(`${tee}{0,${ree}}`).split(`${tee}+`).join(`${tee}{1,${ree}}`);return eee})(tee),nee=R++;aee(eee,nee,tee),t[eee]=nee,see[nee]=tee,re[nee]=new RegExp(tee,ree?"g":void 0),iee[nee]=new RegExp(oee,ree?"g":void 0)};pee("NUMERICIDENTIFIER","0|[1-9]\\d*"),pee("NUMERICIDENTIFIERLOOSE","\\d+"),pee("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${lee}*`),pee("MAINVERSION",`(${see[t.NUMERICIDENTIFIER]})\\.(${see[t.NUMERICIDENTIFIER]})\\.(${see[t.NUMERICIDENTIFIER]})`),pee("MAINVERSIONLOOSE",`(${see[t.NUMERICIDENTIFIERLOOSE]})\\.(${see[t.NUMERICIDENTIFIERLOOSE]})\\.(${see[t.NUMERICIDENTIFIERLOOSE]})`),pee("PRERELEASEIDENTIFIER",`(?:${see[t.NUMERICIDENTIFIER]}|${see[t.NONNUMERICIDENTIFIER]})`),pee("PRERELEASEIDENTIFIERLOOSE",`(?:${see[t.NUMERICIDENTIFIERLOOSE]}|${see[t.NONNUMERICIDENTIFIER]})`),pee("PRERELEASE",`(?:-(${see[t.PRERELEASEIDENTIFIER]}(?:\\.${see[t.PRERELEASEIDENTIFIER]})*))`),pee("PRERELEASELOOSE",`(?:-?(${see[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${see[t.PRERELEASEIDENTIFIERLOOSE]})*))`),pee("BUILDIDENTIFIER",`${lee}+`),pee("BUILD",`(?:\\+(${see[t.BUILDIDENTIFIER]}(?:\\.${see[t.BUILDIDENTIFIER]})*))`),pee("FULLPLAIN",`v?${see[t.MAINVERSION]}${see[t.PRERELEASE]}?${see[t.BUILD]}?`),pee("FULL",`^${see[t.FULLPLAIN]}$`),pee("LOOSEPLAIN",`[v=\\s]*${see[t.MAINVERSIONLOOSE]}${see[t.PRERELEASELOOSE]}?${see[t.BUILD]}?`),pee("LOOSE",`^${see[t.LOOSEPLAIN]}$`),pee("GTLT","((?:<|>)?=?)"),pee("XRANGEIDENTIFIERLOOSE",`${see[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),pee("XRANGEIDENTIFIER",`${see[t.NUMERICIDENTIFIER]}|x|X|\\*`),pee("XRANGEPLAIN",`[v=\\s]*(${see[t.XRANGEIDENTIFIER]})(?:\\.(${see[t.XRANGEIDENTIFIER]})(?:\\.(${see[t.XRANGEIDENTIFIER]})(?:${see[t.PRERELEASE]})?${see[t.BUILD]}?)?)?`),pee("XRANGEPLAINLOOSE",`[v=\\s]*(${see[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${see[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${see[t.XRANGEIDENTIFIERLOOSE]})(?:${see[t.PRERELEASELOOSE]})?${see[t.BUILD]}?)?)?`),pee("XRANGE",`^${see[t.GTLT]}\\s*${see[t.XRANGEPLAIN]}$`),pee("XRANGELOOSE",`^${see[t.GTLT]}\\s*${see[t.XRANGEPLAINLOOSE]}$`),pee("COERCEPLAIN",`(^|[^\\d])(\\d{1,${ree}})(?:\\.(\\d{1,${ree}}))?(?:\\.(\\d{1,${ree}}))?`),pee("COERCE",`${see[t.COERCEPLAIN]}(?:$|[^\\d])`),pee("COERCEFULL",see[t.COERCEPLAIN]+`(?:${see[t.PRERELEASE]})?`+`(?:${see[t.BUILD]})?(?:$|[^\\d])`),pee("COERCERTL",see[t.COERCE],!0),pee("COERCERTLFULL",see[t.COERCEFULL],!0),pee("LONETILDE","(?:~>?)"),pee("TILDETRIM",`(\\s*)${see[t.LONETILDE]}\\s+`,!0),tee.tildeTrimReplace="$1~",pee("TILDE",`^${see[t.LONETILDE]}${see[t.XRANGEPLAIN]}$`),pee("TILDELOOSE",`^${see[t.LONETILDE]}${see[t.XRANGEPLAINLOOSE]}$`),pee("LONECARET","(?:\\^)"),pee("CARETTRIM",`(\\s*)${see[t.LONECARET]}\\s+`,!0),tee.caretTrimReplace="$1^",pee("CARET",`^${see[t.LONECARET]}${see[t.XRANGEPLAIN]}$`),pee("CARETLOOSE",`^${see[t.LONECARET]}${see[t.XRANGEPLAINLOOSE]}$`),pee("COMPARATORLOOSE",`^${see[t.GTLT]}\\s*(${see[t.LOOSEPLAIN]})$|^$`),pee("COMPARATOR",`^${see[t.GTLT]}\\s*(${see[t.FULLPLAIN]})$|^$`),pee("COMPARATORTRIM",`(\\s*)${see[t.GTLT]}\\s*(${see[t.LOOSEPLAIN]}|${see[t.XRANGEPLAIN]})`,!0),tee.comparatorTrimReplace="$1$2$3",pee("HYPHENRANGE",`^\\s*(${see[t.XRANGEPLAIN]})\\s+-\\s+(${see[t.XRANGEPLAIN]})\\s*$`),pee("HYPHENRANGELOOSE",`^\\s*(${see[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${see[t.XRANGEPLAINLOOSE]})\\s*$`),pee("STAR","(<|>)?=?\\s*\\*"),pee("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),pee("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(lpe,lpe.exports);var cpe=lpe.exports;const ppe=Object.freeze({loose:!0}),dpe=Object.freeze({});var upe=eee=>eee?"object"!=typeof eee?ppe:eee:dpe;const hpe=/^[0-9]+$/,gpe=(a,b)=>{const eee=hpe.test(a),tee=hpe.test(b);return eee&&tee&&(a=+a,b=+b),a===b?0:eee&&!tee?-1:tee&&!eee?1:agpe(b,a)};const fpe=ipe,{MAX_LENGTH:bpe,MAX_SAFE_INTEGER:mpe}=spe,{safeRe:re,t:vpe}=cpe,ype=upe,{compareIdentifiers:xpe}=wpe;var kpe=class eee{constructor(tee,ree){if(ree=ype(ree),tee instanceof eee){if(tee.loose===!!ree.loose&&tee.includePrerelease===!!ree.includePrerelease)return tee;tee=tee.version}else if("string"!=typeof tee)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof tee}".`);if(tee.length>bpe)throw new TypeError(`version is longer than ${bpe} characters`);fpe("SemVer",tee,ree),this.options=ree,this.loose=!!ree.loose,this.includePrerelease=!!ree.includePrerelease;const m=tee.trim().match(ree.loose?re[vpe.LOOSE]:re[vpe.FULL]);if(!m)throw new TypeError(`Invalid Version: ${tee}`);if(this.raw=tee,this.major=+m[1],this.minor=+m[2],this.patch=+m[3],this.major>mpe||this.major<0)throw new TypeError("Invalid major version");if(this.minor>mpe||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>mpe||this.patch<0)throw new TypeError("Invalid patch version");m[4]?this.prerelease=m[4].split(".").map((id=>{if(/^[0-9]+$/.test(id)){const eee=+id;if(eee>=0&&eee=0;)"number"==typeof this.prerelease[i]&&(this.prerelease[i]++,i=-2);if(-1===i){if(tee===this.prerelease.join(".")&&!1===ree)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(eee)}}if(tee){let oee=[tee,eee];!1===ree&&(oee=[tee]),0===xpe(this.prerelease[0],tee)?isNaN(this.prerelease[1])&&(this.prerelease=oee):this.prerelease=oee}break}default:throw new Error(`invalid increment argument: ${eee}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};const _pe=kpe;var Epe=(eee,tee,ree=!1)=>{if(eee instanceof _pe)return eee;try{return new _pe(eee,tee)}catch(er){if(!ree)return null;throw er}};const Tpe=Epe;var Spe=(eee,tee)=>{const ree=Tpe(eee,tee);return ree&&ree.prerelease.length?ree.prerelease:null};const Ipe=epe(Spe);function Ope(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M12 2.25a.75.75 0 0 1 .75.75v11.69l3.22-3.22a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 0 1-1.06 0l-4.5-4.5a.75.75 0 1 1 1.06-1.06l3.22 3.22V3a.75.75 0 0 1 .75-.75Zm-9 13.5a.75.75 0 0 1 .75.75v2.25a1.5 1.5 0 0 0 1.5 1.5h13.5a1.5 1.5 0 0 0 1.5-1.5V16.5a.75.75 0 0 1 1.5 0v2.25a3 3 0 0 1-3 3H5.25a3 3 0 0 1-3-3V16.5a.75.75 0 0 1 .75-.75Z","clip-rule":"evenodd"})])}function Npe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M4.755 10.059a7.5 7.5 0 0 1 12.548-3.364l1.903 1.903h-3.183a.75.75 0 1 0 0 1.5h4.992a.75.75 0 0 0 .75-.75V4.356a.75.75 0 0 0-1.5 0v3.18l-1.9-1.9A9 9 0 0 0 3.306 9.67a.75.75 0 1 0 1.45.388Zm15.408 3.352a.75.75 0 0 0-.919.53 7.5 7.5 0 0 1-12.548 3.364l-1.902-1.903h3.183a.75.75 0 0 0 0-1.5H2.984a.75.75 0 0 0-.75.75v4.992a.75.75 0 0 0 1.5 0v-3.18l1.9 1.9a9 9 0 0 0 15.059-4.035.75.75 0 0 0-.53-.918Z","clip-rule":"evenodd"})])}function Ape(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M7.5 3.75A1.5 1.5 0 0 0 6 5.25v13.5a1.5 1.5 0 0 0 1.5 1.5h6a1.5 1.5 0 0 0 1.5-1.5V15a.75.75 0 0 1 1.5 0v3.75a3 3 0 0 1-3 3h-6a3 3 0 0 1-3-3V5.25a3 3 0 0 1 3-3h6a3 3 0 0 1 3 3V9A.75.75 0 0 1 15 9V5.25a1.5 1.5 0 0 0-1.5-1.5h-6Zm10.72 4.72a.75.75 0 0 1 1.06 0l3 3a.75.75 0 0 1 0 1.06l-3 3a.75.75 0 1 1-1.06-1.06l1.72-1.72H9a.75.75 0 0 1 0-1.5h10.94l-1.72-1.72a.75.75 0 0 1 0-1.06Z","clip-rule":"evenodd"})])}function Rpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M3.75 12a.75.75 0 0 1 .75-.75h13.19l-5.47-5.47a.75.75 0 0 1 1.06-1.06l6.75 6.75a.75.75 0 0 1 0 1.06l-6.75 6.75a.75.75 0 1 1-1.06-1.06l5.47-5.47H4.5a.75.75 0 0 1-.75-.75Z","clip-rule":"evenodd"})])}function Dpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M15.75 2.25H21a.75.75 0 0 1 .75.75v5.25a.75.75 0 0 1-1.5 0V4.81L8.03 17.03a.75.75 0 0 1-1.06-1.06L19.19 3.75h-3.44a.75.75 0 0 1 0-1.5Zm-10.5 4.5a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h10.5a1.5 1.5 0 0 0 1.5-1.5V10.5a.75.75 0 0 1 1.5 0v8.25a3 3 0 0 1-3 3H5.25a3 3 0 0 1-3-3V8.25a3 3 0 0 1 3-3h8.25a.75.75 0 0 1 0 1.5H5.25Z","clip-rule":"evenodd"})])}function Cpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M15 3.75A5.25 5.25 0 0 0 9.75 9v10.19l4.72-4.72a.75.75 0 1 1 1.06 1.06l-6 6a.75.75 0 0 1-1.06 0l-6-6a.75.75 0 1 1 1.06-1.06l4.72 4.72V9a6.75 6.75 0 0 1 13.5 0v3a.75.75 0 0 1-1.5 0V9c0-2.9-2.35-5.25-5.25-5.25Z","clip-rule":"evenodd"})])}function Lpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M3 6.75A.75.75 0 0 1 3.75 6h16.5a.75.75 0 0 1 0 1.5H3.75A.75.75 0 0 1 3 6.75ZM3 12a.75.75 0 0 1 .75-.75h16.5a.75.75 0 0 1 0 1.5H3.75A.75.75 0 0 1 3 12Zm8.25 5.25a.75.75 0 0 1 .75-.75h8.25a.75.75 0 0 1 0 1.5H12a.75.75 0 0 1-.75-.75Z","clip-rule":"evenodd"})])}function Fpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M3 6.75A.75.75 0 0 1 3.75 6h16.5a.75.75 0 0 1 0 1.5H3.75A.75.75 0 0 1 3 6.75ZM3 12a.75.75 0 0 1 .75-.75h16.5a.75.75 0 0 1 0 1.5H3.75A.75.75 0 0 1 3 12Zm0 5.25a.75.75 0 0 1 .75-.75h16.5a.75.75 0 0 1 0 1.5H3.75a.75.75 0 0 1-.75-.75Z","clip-rule":"evenodd"})])}function zpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{d:"M5.85 3.5a.75.75 0 0 0-1.117-1 9.719 9.719 0 0 0-2.348 4.876.75.75 0 0 0 1.479.248A8.219 8.219 0 0 1 5.85 3.5ZM19.267 2.5a.75.75 0 1 0-1.118 1 8.22 8.22 0 0 1 1.987 4.124.75.75 0 0 0 1.48-.248A9.72 9.72 0 0 0 19.266 2.5Z"}),eae("path",{"fill-rule":"evenodd",d:"M12 2.25A6.75 6.75 0 0 0 5.25 9v.75a8.217 8.217 0 0 1-2.119 5.52.75.75 0 0 0 .298 1.206c1.544.57 3.16.99 4.831 1.243a3.75 3.75 0 1 0 7.48 0 24.583 24.583 0 0 0 4.83-1.244.75.75 0 0 0 .298-1.205 8.217 8.217 0 0 1-2.118-5.52V9A6.75 6.75 0 0 0 12 2.25ZM9.75 18c0-.034 0-.067.002-.1a25.05 25.05 0 0 0 4.496 0l.002.1a2.25 2.25 0 1 1-4.5 0Z","clip-rule":"evenodd"})])}function Mpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm13.36-1.814a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094l3.75-5.25Z","clip-rule":"evenodd"})])}function Ppe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M19.916 4.626a.75.75 0 0 1 .208 1.04l-9 13.5a.75.75 0 0 1-1.154.114l-6-6a.75.75 0 0 1 1.06-1.06l5.353 5.353 8.493-12.74a.75.75 0 0 1 1.04-.207Z","clip-rule":"evenodd"})])}function Upe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M11.47 13.28a.75.75 0 0 0 1.06 0l7.5-7.5a.75.75 0 0 0-1.06-1.06L12 11.69 5.03 4.72a.75.75 0 0 0-1.06 1.06l7.5 7.5Z","clip-rule":"evenodd"}),eae("path",{"fill-rule":"evenodd",d:"M11.47 19.28a.75.75 0 0 0 1.06 0l7.5-7.5a.75.75 0 1 0-1.06-1.06L12 17.69l-6.97-6.97a.75.75 0 0 0-1.06 1.06l7.5 7.5Z","clip-rule":"evenodd"})])}function jpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M10.5 3A1.501 1.501 0 0 0 9 4.5h6A1.5 1.5 0 0 0 13.5 3h-3Zm-2.693.178A3 3 0 0 1 10.5 1.5h3a3 3 0 0 1 2.694 1.678c.497.042.992.092 1.486.15 1.497.173 2.57 1.46 2.57 2.929V19.5a3 3 0 0 1-3 3H6.75a3 3 0 0 1-3-3V6.257c0-1.47 1.073-2.756 2.57-2.93.493-.057.989-.107 1.487-.15Z","clip-rule":"evenodd"})])}function $pe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{d:"M17.004 10.407c.138.435-.216.842-.672.842h-3.465a.75.75 0 0 1-.65-.375l-1.732-3c-.229-.396-.053-.907.393-1.004a5.252 5.252 0 0 1 6.126 3.537ZM8.12 8.464c.307-.338.838-.235 1.066.16l1.732 3a.75.75 0 0 1 0 .75l-1.732 3c-.229.397-.76.5-1.067.161A5.23 5.23 0 0 1 6.75 12a5.23 5.23 0 0 1 1.37-3.536ZM10.878 17.13c-.447-.098-.623-.608-.394-1.004l1.733-3.002a.75.75 0 0 1 .65-.375h3.465c.457 0 .81.407.672.842a5.252 5.252 0 0 1-6.126 3.539Z"}),eae("path",{"fill-rule":"evenodd",d:"M21 12.75a.75.75 0 1 0 0-1.5h-.783a8.22 8.22 0 0 0-.237-1.357l.734-.267a.75.75 0 1 0-.513-1.41l-.735.268a8.24 8.24 0 0 0-.689-1.192l.6-.503a.75.75 0 1 0-.964-1.149l-.6.504a8.3 8.3 0 0 0-1.054-.885l.391-.678a.75.75 0 1 0-1.299-.75l-.39.676a8.188 8.188 0 0 0-1.295-.47l.136-.77a.75.75 0 0 0-1.477-.26l-.136.77a8.36 8.36 0 0 0-1.377 0l-.136-.77a.75.75 0 1 0-1.477.26l.136.77c-.448.121-.88.28-1.294.47l-.39-.676a.75.75 0 0 0-1.3.75l.392.678a8.29 8.29 0 0 0-1.054.885l-.6-.504a.75.75 0 1 0-.965 1.149l.6.503a8.243 8.243 0 0 0-.689 1.192L3.8 8.216a.75.75 0 1 0-.513 1.41l.735.267a8.222 8.222 0 0 0-.238 1.356h-.783a.75.75 0 0 0 0 1.5h.783c.042.464.122.917.238 1.356l-.735.268a.75.75 0 0 0 .513 1.41l.735-.268c.197.417.428.816.69 1.191l-.6.504a.75.75 0 0 0 .963 1.15l.601-.505c.326.323.679.62 1.054.885l-.392.68a.75.75 0 0 0 1.3.75l.39-.679c.414.192.847.35 1.294.471l-.136.77a.75.75 0 0 0 1.477.261l.137-.772a8.332 8.332 0 0 0 1.376 0l.136.772a.75.75 0 1 0 1.477-.26l-.136-.771a8.19 8.19 0 0 0 1.294-.47l.391.677a.75.75 0 0 0 1.3-.75l-.393-.679a8.29 8.29 0 0 0 1.054-.885l.601.504a.75.75 0 0 0 .964-1.15l-.6-.503c.261-.375.492-.774.69-1.191l.735.267a.75.75 0 1 0 .512-1.41l-.734-.267c.115-.439.195-.892.237-1.356h.784Zm-2.657-3.06a6.744 6.744 0 0 0-1.19-2.053 6.784 6.784 0 0 0-1.82-1.51A6.705 6.705 0 0 0 12 5.25a6.8 6.8 0 0 0-1.225.11 6.7 6.7 0 0 0-2.15.793 6.784 6.784 0 0 0-2.952 3.489.76.76 0 0 1-.036.098A6.74 6.74 0 0 0 5.251 12a6.74 6.74 0 0 0 3.366 5.842l.009.005a6.704 6.704 0 0 0 2.18.798l.022.003a6.792 6.792 0 0 0 2.368-.004 6.704 6.704 0 0 0 2.205-.811 6.785 6.785 0 0 0 1.762-1.484l.009-.01.009-.01a6.743 6.743 0 0 0 1.18-2.066c.253-.707.39-1.469.39-2.263a6.74 6.74 0 0 0-.408-2.309Z","clip-rule":"evenodd"})])}function Vpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12ZM12 8.25a.75.75 0 0 1 .75.75v3.75a.75.75 0 0 1-1.5 0V9a.75.75 0 0 1 .75-.75Zm0 8.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z","clip-rule":"evenodd"})])}function qpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003ZM12 8.25a.75.75 0 0 1 .75.75v3.75a.75.75 0 0 1-1.5 0V9a.75.75 0 0 1 .75-.75Zm0 8.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z","clip-rule":"evenodd"})])}function Bpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{d:"M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z"}),eae("path",{"fill-rule":"evenodd",d:"M1.323 11.447C2.811 6.976 7.028 3.75 12.001 3.75c4.97 0 9.185 3.223 10.675 7.69.12.362.12.752 0 1.113-1.487 4.471-5.705 7.697-10.677 7.697-4.97 0-9.186-3.223-10.675-7.69a1.762 1.762 0 0 1 0-1.113ZM17.25 12a5.25 5.25 0 1 1-10.5 0 5.25 5.25 0 0 1 10.5 0Z","clip-rule":"evenodd"})])}function Ype(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M19.5 21a3 3 0 0 0 3-3V9a3 3 0 0 0-3-3h-5.379a.75.75 0 0 1-.53-.22L11.47 3.66A2.25 2.25 0 0 0 9.879 3H4.5a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h15Zm-6.75-10.5a.75.75 0 0 0-1.5 0v4.19l-1.72-1.72a.75.75 0 0 0-1.06 1.06l3 3a.75.75 0 0 0 1.06 0l3-3a.75.75 0 1 0-1.06-1.06l-1.72 1.72V10.5Z","clip-rule":"evenodd"})])}function Gpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{d:"M21.721 12.752a9.711 9.711 0 0 0-.945-5.003 12.754 12.754 0 0 1-4.339 2.708 18.991 18.991 0 0 1-.214 4.772 17.165 17.165 0 0 0 5.498-2.477ZM14.634 15.55a17.324 17.324 0 0 0 .332-4.647c-.952.227-1.945.347-2.966.347-1.021 0-2.014-.12-2.966-.347a17.515 17.515 0 0 0 .332 4.647 17.385 17.385 0 0 0 5.268 0ZM9.772 17.119a18.963 18.963 0 0 0 4.456 0A17.182 17.182 0 0 1 12 21.724a17.18 17.18 0 0 1-2.228-4.605ZM7.777 15.23a18.87 18.87 0 0 1-.214-4.774 12.753 12.753 0 0 1-4.34-2.708 9.711 9.711 0 0 0-.944 5.004 17.165 17.165 0 0 0 5.498 2.477ZM21.356 14.752a9.765 9.765 0 0 1-7.478 6.817 18.64 18.64 0 0 0 1.988-4.718 18.627 18.627 0 0 0 5.49-2.098ZM2.644 14.752c1.682.971 3.53 1.688 5.49 2.099a18.64 18.64 0 0 0 1.988 4.718 9.765 9.765 0 0 1-7.478-6.816ZM13.878 2.43a9.755 9.755 0 0 1 6.116 3.986 11.267 11.267 0 0 1-3.746 2.504 18.63 18.63 0 0 0-2.37-6.49ZM12 2.276a17.152 17.152 0 0 1 2.805 7.121c-.897.23-1.837.353-2.805.353-.968 0-1.908-.122-2.805-.353A17.151 17.151 0 0 1 12 2.276ZM10.122 2.43a18.629 18.629 0 0 0-2.37 6.49 11.266 11.266 0 0 1-3.746-2.504 9.754 9.754 0 0 1 6.116-3.985Z"})])}function Qpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M4.5 3.75a3 3 0 0 0-3 3v10.5a3 3 0 0 0 3 3h15a3 3 0 0 0 3-3V6.75a3 3 0 0 0-3-3h-15Zm4.125 3a2.25 2.25 0 1 0 0 4.5 2.25 2.25 0 0 0 0-4.5Zm-3.873 8.703a4.126 4.126 0 0 1 7.746 0 .75.75 0 0 1-.351.92 7.47 7.47 0 0 1-3.522.877 7.47 7.47 0 0 1-3.522-.877.75.75 0 0 1-.351-.92ZM15 8.25a.75.75 0 0 0 0 1.5h3.75a.75.75 0 0 0 0-1.5H15ZM14.25 12a.75.75 0 0 1 .75-.75h3.75a.75.75 0 0 1 0 1.5H15a.75.75 0 0 1-.75-.75Zm.75 2.25a.75.75 0 0 0 0 1.5h3.75a.75.75 0 0 0 0-1.5H15Z","clip-rule":"evenodd"})])}function Wpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm8.706-1.442c1.146-.573 2.437.463 2.126 1.706l-.709 2.836.042-.02a.75.75 0 0 1 .67 1.34l-.04.022c-1.147.573-2.438-.463-2.127-1.706l.71-2.836-.042.02a.75.75 0 1 1-.671-1.34l.041-.022ZM12 9a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z","clip-rule":"evenodd"})])}function Kpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M15.75 1.5a6.75 6.75 0 0 0-6.651 7.906c.067.39-.032.717-.221.906l-6.5 6.499a3 3 0 0 0-.878 2.121v2.818c0 .414.336.75.75.75H6a.75.75 0 0 0 .75-.75v-1.5h1.5A.75.75 0 0 0 9 19.5V18h1.5a.75.75 0 0 0 .53-.22l2.658-2.658c.19-.189.517-.288.906-.22A6.75 6.75 0 1 0 15.75 1.5Zm0 3a.75.75 0 0 0 0 1.5A2.25 2.25 0 0 1 18 8.25a.75.75 0 0 0 1.5 0 3.75 3.75 0 0 0-3.75-3.75Z","clip-rule":"evenodd"})])}function Hpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M19.449 8.448 16.388 11a4.52 4.52 0 0 1 0 2.002l3.061 2.55a8.275 8.275 0 0 0 0-7.103ZM15.552 19.45 13 16.388a4.52 4.52 0 0 1-2.002 0l-2.55 3.061a8.275 8.275 0 0 0 7.103 0ZM4.55 15.552 7.612 13a4.52 4.52 0 0 1 0-2.002L4.551 8.45a8.275 8.275 0 0 0 0 7.103ZM8.448 4.55 11 7.612a4.52 4.52 0 0 1 2.002 0l2.55-3.061a8.275 8.275 0 0 0-7.103 0Zm8.657-.86a9.776 9.776 0 0 1 1.79 1.415 9.776 9.776 0 0 1 1.414 1.788 9.764 9.764 0 0 1 0 10.211 9.777 9.777 0 0 1-1.415 1.79 9.777 9.777 0 0 1-1.788 1.414 9.764 9.764 0 0 1-10.212 0 9.776 9.776 0 0 1-1.788-1.415 9.776 9.776 0 0 1-1.415-1.788 9.764 9.764 0 0 1 0-10.212 9.774 9.774 0 0 1 1.415-1.788A9.774 9.774 0 0 1 6.894 3.69a9.764 9.764 0 0 1 10.211 0ZM14.121 9.88a2.985 2.985 0 0 0-1.11-.704 3.015 3.015 0 0 0-2.022 0 2.985 2.985 0 0 0-1.11.704c-.326.325-.56.705-.704 1.11a3.015 3.015 0 0 0 0 2.022c.144.405.378.785.704 1.11.325.326.705.56 1.11.704.652.233 1.37.233 2.022 0a2.985 2.985 0 0 0 1.11-.704c.326-.325.56-.705.704-1.11a3.016 3.016 0 0 0 0-2.022 2.985 2.985 0 0 0-.704-1.11Z","clip-rule":"evenodd"})])}function Xpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M19.902 4.098a3.75 3.75 0 0 0-5.304 0l-4.5 4.5a3.75 3.75 0 0 0 1.035 6.037.75.75 0 0 1-.646 1.353 5.25 5.25 0 0 1-1.449-8.45l4.5-4.5a5.25 5.25 0 1 1 7.424 7.424l-1.757 1.757a.75.75 0 1 1-1.06-1.06l1.757-1.757a3.75 3.75 0 0 0 0-5.304Zm-7.389 4.267a.75.75 0 0 1 1-.353 5.25 5.25 0 0 1 1.449 8.45l-4.5 4.5a5.25 5.25 0 1 1-7.424-7.424l1.757-1.757a.75.75 0 1 1 1.06 1.06l-1.757 1.757a3.75 3.75 0 1 0 5.304 5.304l4.5-4.5a3.75 3.75 0 0 0-1.035-6.037.75.75 0 0 1-.354-1Z","clip-rule":"evenodd"})])}function Zpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm11.378-3.917c-.89-.777-2.366-.777-3.255 0a.75.75 0 0 1-.988-1.129c1.454-1.272 3.776-1.272 5.23 0 1.513 1.324 1.513 3.518 0 4.842a3.75 3.75 0 0 1-.837.552c-.676.328-1.028.774-1.028 1.152v.75a.75.75 0 0 1-1.5 0v-.75c0-1.279 1.06-2.107 1.875-2.502.182-.088.351-.199.503-.331.83-.727.83-1.857 0-2.584ZM12 18a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z","clip-rule":"evenodd"})])}function Jpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{d:"M5.507 4.048A3 3 0 0 1 7.785 3h8.43a3 3 0 0 1 2.278 1.048l1.722 2.008A4.533 4.533 0 0 0 19.5 6h-15c-.243 0-.482.02-.715.056l1.722-2.008Z"}),eae("path",{"fill-rule":"evenodd",d:"M1.5 10.5a3 3 0 0 1 3-3h15a3 3 0 1 1 0 6h-15a3 3 0 0 1-3-3Zm15 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2.25.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM4.5 15a3 3 0 1 0 0 6h15a3 3 0 1 0 0-6h-15Zm11.25 3.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM19.5 18a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z","clip-rule":"evenodd"})])}function ede(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M12.516 2.17a.75.75 0 0 0-1.032 0 11.209 11.209 0 0 1-7.877 3.08.75.75 0 0 0-.722.515A12.74 12.74 0 0 0 2.25 9.75c0 5.942 4.064 10.933 9.563 12.348a.749.749 0 0 0 .374 0c5.499-1.415 9.563-6.406 9.563-12.348 0-1.39-.223-2.73-.635-3.985a.75.75 0 0 0-.722-.516l-.143.001c-2.996 0-5.717-1.17-7.734-3.08Zm3.094 8.016a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094l3.75-5.25Z","clip-rule":"evenodd"})])}function tde(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M11.484 2.17a.75.75 0 0 1 1.032 0 11.209 11.209 0 0 0 7.877 3.08.75.75 0 0 1 .722.515 12.74 12.74 0 0 1 .635 3.985c0 5.942-4.064 10.933-9.563 12.348a.749.749 0 0 1-.374 0C6.314 20.683 2.25 15.692 2.25 9.75c0-1.39.223-2.73.635-3.985a.75.75 0 0 1 .722-.516l.143.001c2.996 0 5.718-1.17 7.734-3.08ZM12 8.25a.75.75 0 0 1 .75.75v3.75a.75.75 0 0 1-1.5 0V9a.75.75 0 0 1 .75-.75ZM12 15a.75.75 0 0 0-.75.75v.008c0 .414.336.75.75.75h.008a.75.75 0 0 0 .75-.75v-.008a.75.75 0 0 0-.75-.75H12Z","clip-rule":"evenodd"})])}function rde(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M18.685 19.097A9.723 9.723 0 0 0 21.75 12c0-5.385-4.365-9.75-9.75-9.75S2.25 6.615 2.25 12a9.723 9.723 0 0 0 3.065 7.097A9.716 9.716 0 0 0 12 21.75a9.716 9.716 0 0 0 6.685-2.653Zm-12.54-1.285A7.486 7.486 0 0 1 12 15a7.486 7.486 0 0 1 5.855 2.812A8.224 8.224 0 0 1 12 20.25a8.224 8.224 0 0 1-5.855-2.438ZM15.75 9a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z","clip-rule":"evenodd"})])}function ode(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M7.5 6a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM3.751 20.105a8.25 8.25 0 0 1 16.498 0 .75.75 0 0 1-.437.695A18.683 18.683 0 0 1 12 22.5c-2.786 0-5.433-.608-7.812-1.7a.75.75 0 0 1-.437-.695Z","clip-rule":"evenodd"})])}function nde(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M12 6.75a5.25 5.25 0 0 1 6.775-5.025.75.75 0 0 1 .313 1.248l-3.32 3.319c.063.475.276.934.641 1.299.365.365.824.578 1.3.64l3.318-3.319a.75.75 0 0 1 1.248.313 5.25 5.25 0 0 1-5.472 6.756c-1.018-.086-1.87.1-2.309.634L7.344 21.3A3.298 3.298 0 1 1 2.7 16.657l8.684-7.151c.533-.44.72-1.291.634-2.309A5.342 5.342 0 0 1 12 6.75ZM4.117 19.125a.75.75 0 0 1 .75-.75h.008a.75.75 0 0 1 .75.75v.008a.75.75 0 0 1-.75.75h-.008a.75.75 0 0 1-.75-.75v-.008Z","clip-rule":"evenodd"}),eae("path",{d:"m10.076 8.64-2.201-2.2V4.874a.75.75 0 0 0-.364-.643l-3.75-2.25a.75.75 0 0 0-.916.113l-.75.75a.75.75 0 0 0-.113.916l2.25 3.75a.75.75 0 0 0 .643.364h1.564l2.062 2.062 1.575-1.297Z"}),eae("path",{"fill-rule":"evenodd",d:"m12.556 17.329 4.183 4.182a3.375 3.375 0 0 0 4.773-4.773l-3.306-3.305a6.803 6.803 0 0 1-1.53.043c-.394-.034-.682-.006-.867.042a.589.589 0 0 0-.167.063l-3.086 3.748Zm3.414-1.36a.75.75 0 0 1 1.06 0l1.875 1.876a.75.75 0 1 1-1.06 1.06L15.97 17.03a.75.75 0 0 1 0-1.06Z","clip-rule":"evenodd"})])}function ade(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M12 2.25c-5.385 0-9.75 4.365-9.75 9.75s4.365 9.75 9.75 9.75 9.75-4.365 9.75-9.75S17.385 2.25 12 2.25Zm-1.72 6.97a.75.75 0 1 0-1.06 1.06L10.94 12l-1.72 1.72a.75.75 0 1 0 1.06 1.06L12 13.06l1.72 1.72a.75.75 0 1 0 1.06-1.06L13.06 12l1.72-1.72a.75.75 0 1 0-1.06-1.06L12 10.94l-1.72-1.72Z","clip-rule":"evenodd"})])}function ide(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M5.47 5.47a.75.75 0 0 1 1.06 0L12 10.94l5.47-5.47a.75.75 0 1 1 1.06 1.06L13.06 12l5.47 5.47a.75.75 0 1 1-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 0 1-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 0 1 0-1.06Z","clip-rule":"evenodd"})])}function sde(eee,tee,ree){var oee,nee=ree||{},aee=nee.noTrailing,iee=void 0!==aee&&aee,see=nee.noLeading,lee=void 0!==see&&see,cee=nee.debounceMode,pee=void 0===cee?void 0:cee,dee=!1,uee=0;function hee(){oee&&clearTimeout(oee)}function gee(){for(var ree=arguments.length,nee=new Array(ree),aee=0;aeeeee?lee?(uee=Date.now(),iee||(oee=setTimeout(pee?wee:gee,eee))):gee():!0!==iee&&(oee=setTimeout(pee?wee:gee,void 0===pee?eee-cee:eee)))}return gee.cancel=function(eee){var tee=(eee||{}).upcomingOnly,ree=void 0!==tee&&tee;hee(),dee=!ree},gee}var lde=function(d,b){return lde=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)Object.prototype.hasOwnProperty.call(b,p)&&(d[p]=b[p])},lde(d,b)};function cde(d,b){if("function"!=typeof b&&null!==b)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");function __(){this.constructor=d}lde(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}var pde=function(){return pde=Object.assign||function(t){for(var s,i=1,n=arguments.length;i=0;i--)(d=eee[i])&&(r=(c<3?d(r):c>3?d(tee,ree,r):d(tee,ree))||r);return c>3&&r&&Object.defineProperty(tee,ree,r),r}function hde(eee,tee){return function(ree,oee){tee(ree,oee,eee)}}function gde(eee,tee){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(eee,tee)}function wde(eee,tee,P,ree){return new(P||(P=Promise))((function(oee,nee){function aee(eee){try{see(ree.next(eee))}catch(e){nee(e)}}function iee(eee){try{see(ree.throw(eee))}catch(e){nee(e)}}function see(eee){var tee;eee.done?oee(eee.value):(tee=eee.value,tee instanceof P?tee:new P((function(eee){eee(tee)}))).then(aee,iee)}see((ree=ree.apply(eee,tee||[])).next())}))}function fde(eee,tee){var f,y,t,g,_={label:0,sent:function(){if(1&t[0])throw t[1];return t[1]},trys:[],ops:[]};return g={next:ree(0),throw:ree(1),return:ree(2)},"function"==typeof Symbol&&(g[Symbol.iterator]=function(){return this}),g;function ree(n){return function(v){return function(op){if(f)throw new TypeError("Generator is already executing.");for(;g&&(g=0,op[0]&&(_=0)),_;)try{if(f=1,y&&(t=2&op[0]?y.return:op[0]?y.throw||((t=y.return)&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;switch(y=0,t&&(op=[2&op[0],t.value]),op[0]){case 0:case 1:t=op;break;case 4:return _.label++,{value:op[1],done:!1};case 5:_.label++,y=op[1],op=[0];continue;case 7:op=_.ops.pop(),_.trys.pop();continue;default:if(!(t=_.trys,(t=t.length>0&&t[t.length-1])||6!==op[0]&&2!==op[0])){_=0;continue}if(3===op[0]&&(!t||op[1]>t[0]&&op[1]=o.length&&(o=void 0),{value:o&&o[i++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")}function yde(o,n){var m="function"==typeof Symbol&&o[Symbol.iterator];if(!m)return o;var r,e,i=m.call(o),ar=[];try{for(;(void 0===n||n-- >0)&&!(r=i.next()).done;)ar.push(r.value)}catch(eee){e={error:eee}}finally{try{r&&!r.done&&(m=i.return)&&m.call(i)}finally{if(e)throw e.error}}return ar}function xde(){for(var ar=[],i=0;i1||nee(n,v)}))})}function nee(n,v){try{!function(r){r.value instanceof Ede?Promise.resolve(r.value.v).then(aee,iee):see(q[0][2],r)}(g[n](v))}catch(e){see(q[0][3],e)}}function aee(eee){nee("next",eee)}function iee(eee){nee("throw",eee)}function see(f,v){f(v),q.shift(),q.length&&nee(q[0][0],q[0][1])}}function Sde(o){var i,p;return i={},eee("next"),eee("throw",(function(e){throw e})),eee("return"),i[Symbol.iterator]=function(){return this},i;function eee(n,f){i[n]=o[n]?function(v){return(p=!p)?{value:Ede(o[n](v)),done:!1}:f?f(v):v}:f}}function Ide(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,m=o[Symbol.asyncIterator];return m?m.call(o):(o=vde(o),i={},eee("next"),eee("throw"),eee("return"),i[Symbol.asyncIterator]=function(){return this},i);function eee(n){i[n]=o[n]&&function(v){return new Promise((function(eee,tee){(function(eee,tee,d,v){Promise.resolve(v).then((function(v){eee({value:v,done:d})}),tee)})(eee,tee,(v=o[n](v)).done,v.value)}))}}}function Ode(eee,tee){return Object.defineProperty?Object.defineProperty(eee,"raw",{value:tee}):eee.raw=tee,eee}var Nde=Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v};function Ade(eee){if(eee&&eee.__esModule)return eee;var tee={};if(null!=eee)for(var k in eee)"default"!==k&&Object.prototype.hasOwnProperty.call(eee,k)&&bde(tee,eee,k);return Nde(tee,eee),tee}function Rde(eee){return eee&&eee.__esModule?eee:{default:eee}}function Dde(eee,tee,ree,f){if("a"===ree&&!f)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof tee?eee!==tee||!f:!tee.has(eee))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===ree?f:"a"===ree?f.call(eee):f?f.value:tee.get(eee)}function Cde(eee,tee,ree,oee,f){if("m"===oee)throw new TypeError("Private method is not writable");if("a"===oee&&!f)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof tee?eee!==tee||!f:!tee.has(eee))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===oee?f.call(eee,ree):f?f.value=ree:tee.set(eee,ree),ree}function Lde(eee,tee){if(null===tee||"object"!=typeof tee&&"function"!=typeof tee)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof eee?tee===eee:eee.has(tee)}function Fde(eee,tee,ree){if(null!=tee){if("object"!=typeof tee&&"function"!=typeof tee)throw new TypeError("Object expected.");var oee;if(ree){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");oee=tee[Symbol.asyncDispose]}if(void 0===oee){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");oee=tee[Symbol.dispose]}if("function"!=typeof oee)throw new TypeError("Object not disposable.");eee.stack.push({value:tee,dispose:oee,async:ree})}else ree&&eee.stack.push({async:!0});return tee}var zde="function"==typeof SuppressedError?SuppressedError:function(eee,tee,ree){var e=new Error(ree);return e.name="SuppressedError",e.error=eee,e.suppressed=tee,e};function Mde(eee){function tee(e){eee.error=eee.hasError?new zde(e,eee.error,"An error was suppressed during disposal."):e,eee.hasError=!0}return function ree(){for(;eee.stack.length;){var oee=eee.stack.pop();try{var nee=oee.dispose&&oee.dispose.call(oee.value);if(oee.async)return Promise.resolve(nee).then(ree,(function(e){return tee(e),ree()}))}catch(e){tee(e)}}if(eee.hasError)throw eee.error}()}const Pde={__extends:cde,__assign:pde,__rest:dde,__decorate:ude,__param:hde,__metadata:gde,__awaiter:wde,__generator:fde,__createBinding:bde,__exportStar:mde,__values:vde,__read:yde,__spread:xde,__spreadArrays:kde,__spreadArray:_de,__await:Ede,__asyncGenerator:Tde,__asyncDelegator:Sde,__asyncValues:Ide,__makeTemplateObject:Ode,__importStar:Ade,__importDefault:Rde,__classPrivateFieldGet:Dde,__classPrivateFieldSet:Cde,__classPrivateFieldIn:Lde,__addDisposableResource:Fde,__disposeResources:Mde},Ude=Object.freeze(Object.defineProperty({__proto__:null,__addDisposableResource:Fde,get __assign(){return pde},__asyncDelegator:Sde,__asyncGenerator:Tde,__asyncValues:Ide,__await:Ede,__awaiter:wde,__classPrivateFieldGet:Dde,__classPrivateFieldIn:Lde,__classPrivateFieldSet:Cde,__createBinding:bde,__decorate:ude,__disposeResources:Mde,__esDecorate:function(eee,tee,ree,oee,nee,aee){function iee(f){if(void 0!==f&&"function"!=typeof f)throw new TypeError("Function expected");return f}for(var _,see=oee.kind,lee="getter"===see?"get":"setter"===see?"set":"value",cee=!tee&&eee?oee.static?eee:eee.prototype:null,pee=tee||(cee?Object.getOwnPropertyDescriptor(cee,oee.name):{}),dee=!1,i=ree.length-1;i>=0;i--){var uee={};for(var p in oee)uee[p]="access"===p?{}:oee[p];for(var p in oee.access)uee.access[p]=oee.access[p];uee.addInitializer=function(f){if(dee)throw new TypeError("Cannot add initializers after decoration has completed");aee.push(iee(f||null))};var hee=(0,ree[i])("accessor"===see?{get:pee.get,set:pee.set}:pee[lee],uee);if("accessor"===see){if(void 0===hee)continue;if(null===hee||"object"!=typeof hee)throw new TypeError("Object expected");(_=iee(hee.get))&&(pee.get=_),(_=iee(hee.set))&&(pee.set=_),(_=iee(hee.init))&&nee.unshift(_)}else(_=iee(hee))&&("field"===see?nee.unshift(_):pee[lee]=_)}cee&&Object.defineProperty(cee,oee.name,pee),dee=!0},__exportStar:mde,__extends:cde,__generator:fde,__importDefault:Rde,__importStar:Ade,__makeTemplateObject:Ode,__metadata:gde,__param:hde,__propKey:function(x){return"symbol"==typeof x?x:"".concat(x)},__read:yde,__rest:dde,__runInitializers:function(eee,tee,ree){for(var oee=arguments.length>2,i=0;i=Yde)return(console[eee]||console.log).apply(console,arguments)}}!function(eee){eee.debug=Gde("debug"),eee.log=Gde("log"),eee.warn=Gde("warn"),eee.error=Gde("error")}(qde||(qde={}));const Qde=qde,Wde=Object.freeze(Object.defineProperty({__proto__:null,InvariantError:Vde,default:Qde,get invariant(){return qde},setVerbosity:function(eee){var tee=Bde[Yde];return Yde=Math.max(0,Bde.indexOf(eee)),tee}},Symbol.toStringTag,{value:"Module"}));var Kde="3.10.4";function Hde(eee){try{return eee()}catch(_a){}}const Xde=Hde((function(){return globalThis}))||Hde((function(){return window}))||Hde((function(){return self}))||Hde((function(){return global}))||Hde((function(){return Hde.constructor("return this")()}));var Zde=new Map;function Jde(eee){var tee=Zde.get(eee)||1;return Zde.set(eee,tee+1),"".concat(eee,":").concat(tee,":").concat(Math.random().toString(36).slice(2))}function eue(eee,tee){void 0===tee&&(tee=0);var ree=Jde("stringifyForDisplay");return JSON.stringify(eee,(function(eee,tee){return void 0===tee?ree:tee}),tee).split(JSON.stringify(ree)).join("")}function tue(fn){return function(eee){for(var tee=[],_i=1;_i=tee)break;ree=nee.index+nee[0].length,oee+=1}return{line:oee,column:tee+1-ree}}function bue(eee){return mue(eee.source,fue(eee.source,eee.start))}function mue(eee,tee){const ree=eee.locationOffset.column-1,oee="".padStart(ree)+eee.body,nee=tee.line-1,aee=eee.locationOffset.line-1,iee=tee.line+aee,see=1===tee.line?ree:0,lee=tee.column+see,cee=`${eee.name}:${iee}:${lee}\n`,pee=oee.split(/\r\n|[\n\r]/g),dee=pee[nee];if(dee.length>120){const eee=Math.floor(lee/80),tee=lee%80,ree=[];for(let i=0;i["|",eee])),["|","^".padStart(tee)],["|",ree[eee+1]]])}return cee+vue([[iee-1+" |",pee[nee-1]],[`${iee} |`,dee],["|","^".padStart(lee)],[`${iee+1} |`,pee[nee+1]]])}function vue(eee){const tee=eee.filter((([_,eee])=>void 0!==eee)),ree=Math.max(...tee.map((([eee])=>eee.length)));return tee.map((([eee,tee])=>eee.padStart(ree)+(tee?" "+tee:""))).join("\n")}class yue extends Error{constructor(eee,...tee){var ree,oee,nee;const{nodes:aee,source:iee,positions:see,path:lee,originalError:cee,extensions:pee}=function(eee){const tee=eee[0];return null==tee||"kind"in tee||"length"in tee?{nodes:tee,source:eee[1],positions:eee[2],path:eee[3],originalError:eee[4],extensions:eee[5]}:tee}(tee);super(eee),this.name="GraphQLError",this.path=null!=lee?lee:void 0,this.originalError=null!=cee?cee:void 0,this.nodes=xue(Array.isArray(aee)?aee:aee?[aee]:void 0);const dee=xue(null===(ree=this.nodes)||void 0===ree?void 0:ree.map((eee=>eee.loc)).filter((eee=>null!=eee)));this.source=null!=iee?iee:null==dee||null===(oee=dee[0])||void 0===oee?void 0:oee.source,this.positions=null!=see?see:null==dee?void 0:dee.map((eee=>eee.start)),this.locations=see&&iee?see.map((eee=>fue(iee,eee))):null==dee?void 0:dee.map((eee=>fue(eee.source,eee.start)));const uee=hue(null==cee?void 0:cee.extensions)?null==cee?void 0:cee.extensions:void 0;this.extensions=null!==(nee=null!=pee?pee:uee)&&void 0!==nee?nee:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),null!=cee&&cee.stack?Object.defineProperty(this,"stack",{value:cee.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,yue):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let eee=this.message;if(this.nodes)for(const tee of this.nodes)tee.loc&&(eee+="\n\n"+bue(tee.loc));else if(this.source&&this.locations)for(const tee of this.locations)eee+="\n\n"+mue(this.source,tee);return eee}toJSON(){const eee={message:this.message};return null!=this.locations&&(eee.locations=this.locations),null!=this.path&&(eee.path=this.path),null!=this.extensions&&Object.keys(this.extensions).length>0&&(eee.extensions=this.extensions),eee}}function xue(eee){return void 0===eee||0===eee.length?void 0:eee}function kue(eee,tee,ree){return new yue(`Syntax Error: ${ree}`,{source:eee,positions:[tee]})}class _ue{constructor(eee,tee,ree){this.start=eee.start,this.end=tee.end,this.startToken=eee,this.endToken=tee,this.source=ree}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}}class Eue{constructor(eee,tee,ree,oee,nee,aee){this.kind=eee,this.start=tee,this.end=ree,this.line=oee,this.column=nee,this.value=aee,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}}const Tue={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},Sue=new Set(Object.keys(Tue));function Iue(eee){const tee=null==eee?void 0:eee.kind;return"string"==typeof tee&&Sue.has(tee)}var Oue,Nue,Aue,Rue;function Due(eee){return 9===eee||32===eee}function Cue(eee){return eee>=48&&eee<=57}function Lue(eee){return eee>=97&&eee<=122||eee>=65&&eee<=90}function Fue(eee){return Lue(eee)||95===eee}function zue(eee){return Lue(eee)||Cue(eee)||95===eee}function Mue(eee){var tee;let ree=Number.MAX_SAFE_INTEGER,oee=null,nee=-1;for(let i=0;i0===i?eee:eee.slice(ree))).slice(null!==(tee=oee)&&void 0!==tee?tee:0,nee+1)}function Pue(eee){let i=0;for(;i1&&oee.slice(1).every((eee=>0===eee.length||Due(eee.charCodeAt(0)))),iee=ree.endsWith('\\"""'),see=eee.endsWith('"')&&!iee,lee=eee.endsWith("\\"),cee=see||lee,pee=!(null!=tee&&tee.minimize)&&(!nee||eee.length>70||cee||aee||iee);let dee="";const uee=nee&&Due(eee.charCodeAt(0));return(pee&&!uee||aee)&&(dee+="\n"),dee+=ree,(pee||cee)&&(dee+="\n"),'"""'+dee+'"""'}!function(eee){eee.QUERY="query",eee.MUTATION="mutation",eee.SUBSCRIPTION="subscription"}(Oue||(Oue={})),function(eee){eee.QUERY="QUERY",eee.MUTATION="MUTATION",eee.SUBSCRIPTION="SUBSCRIPTION",eee.FIELD="FIELD",eee.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",eee.FRAGMENT_SPREAD="FRAGMENT_SPREAD",eee.INLINE_FRAGMENT="INLINE_FRAGMENT",eee.VARIABLE_DEFINITION="VARIABLE_DEFINITION",eee.SCHEMA="SCHEMA",eee.SCALAR="SCALAR",eee.OBJECT="OBJECT",eee.FIELD_DEFINITION="FIELD_DEFINITION",eee.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",eee.INTERFACE="INTERFACE",eee.UNION="UNION",eee.ENUM="ENUM",eee.ENUM_VALUE="ENUM_VALUE",eee.INPUT_OBJECT="INPUT_OBJECT",eee.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"}(Nue||(Nue={})),function(eee){eee.NAME="Name",eee.DOCUMENT="Document",eee.OPERATION_DEFINITION="OperationDefinition",eee.VARIABLE_DEFINITION="VariableDefinition",eee.SELECTION_SET="SelectionSet",eee.FIELD="Field",eee.ARGUMENT="Argument",eee.FRAGMENT_SPREAD="FragmentSpread",eee.INLINE_FRAGMENT="InlineFragment",eee.FRAGMENT_DEFINITION="FragmentDefinition",eee.VARIABLE="Variable",eee.INT="IntValue",eee.FLOAT="FloatValue",eee.STRING="StringValue",eee.BOOLEAN="BooleanValue",eee.NULL="NullValue",eee.ENUM="EnumValue",eee.LIST="ListValue",eee.OBJECT="ObjectValue",eee.OBJECT_FIELD="ObjectField",eee.DIRECTIVE="Directive",eee.NAMED_TYPE="NamedType",eee.LIST_TYPE="ListType",eee.NON_NULL_TYPE="NonNullType",eee.SCHEMA_DEFINITION="SchemaDefinition",eee.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",eee.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",eee.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",eee.FIELD_DEFINITION="FieldDefinition",eee.INPUT_VALUE_DEFINITION="InputValueDefinition",eee.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",eee.UNION_TYPE_DEFINITION="UnionTypeDefinition",eee.ENUM_TYPE_DEFINITION="EnumTypeDefinition",eee.ENUM_VALUE_DEFINITION="EnumValueDefinition",eee.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",eee.DIRECTIVE_DEFINITION="DirectiveDefinition",eee.SCHEMA_EXTENSION="SchemaExtension",eee.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",eee.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",eee.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",eee.UNION_TYPE_EXTENSION="UnionTypeExtension",eee.ENUM_TYPE_EXTENSION="EnumTypeExtension",eee.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"}(Aue||(Aue={})),function(eee){eee.SOF="",eee.EOF="",eee.BANG="!",eee.DOLLAR="$",eee.AMP="&",eee.PAREN_L="(",eee.PAREN_R=")",eee.SPREAD="...",eee.COLON=":",eee.EQUALS="=",eee.AT="@",eee.BRACKET_L="[",eee.BRACKET_R="]",eee.BRACE_L="{",eee.PIPE="|",eee.BRACE_R="}",eee.NAME="Name",eee.INT="Int",eee.FLOAT="Float",eee.STRING="String",eee.BLOCK_STRING="BlockString",eee.COMMENT="Comment"}(Rue||(Rue={}));class $ue{constructor(eee){const tee=new Eue(Rue.SOF,0,0,0,0);this.source=eee,this.lastToken=tee,this.token=tee,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){this.lastToken=this.token;return this.token=this.lookahead()}lookahead(){let eee=this.token;if(eee.kind!==Rue.EOF)do{if(eee.next)eee=eee.next;else{const tee=Kue(this,eee.end);eee.next=tee,tee.prev=eee,eee=tee}}while(eee.kind===Rue.COMMENT);return eee}}function Vue(eee){return eee===Rue.BANG||eee===Rue.DOLLAR||eee===Rue.AMP||eee===Rue.PAREN_L||eee===Rue.PAREN_R||eee===Rue.SPREAD||eee===Rue.COLON||eee===Rue.EQUALS||eee===Rue.AT||eee===Rue.BRACKET_L||eee===Rue.BRACKET_R||eee===Rue.BRACE_L||eee===Rue.PIPE||eee===Rue.BRACE_R}function que(eee){return eee>=0&&eee<=55295||eee>=57344&&eee<=1114111}function Bue(eee,tee){return Yue(eee.charCodeAt(tee))&&Gue(eee.charCodeAt(tee+1))}function Yue(eee){return eee>=55296&&eee<=56319}function Gue(eee){return eee>=56320&&eee<=57343}function Que(eee,tee){const ree=eee.source.body.codePointAt(tee);if(void 0===ree)return Rue.EOF;if(ree>=32&&ree<=126){const eee=String.fromCodePoint(ree);return'"'===eee?"'\"'":`"${eee}"`}return"U+"+ree.toString(16).toUpperCase().padStart(4,"0")}function Wue(eee,tee,ree,oee,nee){const aee=eee.line,iee=1+ree-eee.lineStart;return new Eue(tee,ree,oee,aee,iee,nee)}function Kue(eee,tee){const ree=eee.source.body,oee=ree.length;let nee=tee;for(;nee=48&&eee<=57?eee-48:eee>=65&&eee<=70?eee-55:eee>=97&&eee<=102?eee-87:-1}function nhe(eee,tee){const ree=eee.source.body;switch(ree.charCodeAt(tee+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:"\n",size:2};case 114:return{value:"\r",size:2};case 116:return{value:"\t",size:2}}throw kue(eee.source,tee,`Invalid character escape sequence: "${ree.slice(tee,tee+2)}".`)}function ahe(eee,tee){const ree=eee.source.body,oee=ree.length;let nee=eee.lineStart,aee=tee+3,iee=aee,see="";const lee=[];for(;aeelhe)return"[Array]";const ree=Math.min(she,eee.length),oee=eee.length-ree,nee=[];for(let i=0;i1&&nee.push(`... ${oee} more items`);return"["+nee.join(", ")+"]"}(eee,ree);return function(eee,tee){const ree=Object.entries(eee);if(0===ree.length)return"{}";if(tee.length>lhe)return"["+function(eee){const tee=Object.prototype.toString.call(eee).replace(/^\[object /,"").replace(/]$/,"");if("Object"===tee&&"function"==typeof eee.constructor){const tee=eee.constructor.name;if("string"==typeof tee&&""!==tee)return tee}return tee}(eee)+"]";const oee=ree.map((([eee,ree])=>eee+": "+phe(ree,tee)));return"{ "+oee.join(", ")+" }"}(eee,ree)}(eee,tee);default:return String(eee)}}const dhe=globalThis.process?function(eee,tee){return eee instanceof tee}:function(eee,tee){if(eee instanceof tee)return!0;if("object"==typeof eee&&null!==eee){var ree;const oee=tee.prototype[Symbol.toStringTag];if(oee===(Symbol.toStringTag in eee?eee[Symbol.toStringTag]:null===(ree=eee.constructor)||void 0===ree?void 0:ree.name)){const tee=che(eee);throw new Error(`Cannot use ${oee} "${tee}" from another module or realm.\n\nEnsure that there is only one instance of "graphql" in the node_modules\ndirectory. If different versions of "graphql" are the dependencies of other\nrelied on modules, use "resolutions" to ensure only one version is installed.\n\nhttps://yarnpkg.com/en/docs/selective-version-resolutions\n\nDuplicate "graphql" modules cannot be used at the same time since different\nversions may have different capabilities and behavior. The data from one\nversion used in the function from another could produce confusing and\nspurious results.`)}}return!1};class uhe{constructor(eee,tee="GraphQL request",ree={line:1,column:1}){"string"==typeof eee||due(!1,`Body must be a string. Received: ${che(eee)}.`),this.body=eee,this.name=tee,this.locationOffset=ree,this.locationOffset.line>0||due(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||due(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}}function hhe(eee){return dhe(eee,uhe)}function ghe(eee,tee){return new fhe(eee,tee).parseDocument()}function whe(eee,tee){const ree=new fhe(eee,tee);ree.expectToken(Rue.SOF);const oee=ree.parseValueLiteral(!1);return ree.expectToken(Rue.EOF),oee}class fhe{constructor(eee,tee={}){const ree=hhe(eee)?eee:new uhe(eee);this._lexer=new $ue(ree),this._options=tee,this._tokenCounter=0}parseName(){const eee=this.expectToken(Rue.NAME);return this.node(eee,{kind:Aue.NAME,value:eee.value})}parseDocument(){return this.node(this._lexer.token,{kind:Aue.DOCUMENT,definitions:this.many(Rue.SOF,this.parseDefinition,Rue.EOF)})}parseDefinition(){if(this.peek(Rue.BRACE_L))return this.parseOperationDefinition();const eee=this.peekDescription(),tee=eee?this._lexer.lookahead():this._lexer.token;if(tee.kind===Rue.NAME){switch(tee.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(eee)throw kue(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(tee.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(tee)}parseOperationDefinition(){const eee=this._lexer.token;if(this.peek(Rue.BRACE_L))return this.node(eee,{kind:Aue.OPERATION_DEFINITION,operation:Oue.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});const tee=this.parseOperationType();let ree;return this.peek(Rue.NAME)&&(ree=this.parseName()),this.node(eee,{kind:Aue.OPERATION_DEFINITION,operation:tee,name:ree,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){const eee=this.expectToken(Rue.NAME);switch(eee.value){case"query":return Oue.QUERY;case"mutation":return Oue.MUTATION;case"subscription":return Oue.SUBSCRIPTION}throw this.unexpected(eee)}parseVariableDefinitions(){return this.optionalMany(Rue.PAREN_L,this.parseVariableDefinition,Rue.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:Aue.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(Rue.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(Rue.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){const eee=this._lexer.token;return this.expectToken(Rue.DOLLAR),this.node(eee,{kind:Aue.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:Aue.SELECTION_SET,selections:this.many(Rue.BRACE_L,this.parseSelection,Rue.BRACE_R)})}parseSelection(){return this.peek(Rue.SPREAD)?this.parseFragment():this.parseField()}parseField(){const eee=this._lexer.token,tee=this.parseName();let ree,oee;return this.expectOptionalToken(Rue.COLON)?(ree=tee,oee=this.parseName()):oee=tee,this.node(eee,{kind:Aue.FIELD,alias:ree,name:oee,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(Rue.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(eee){const tee=eee?this.parseConstArgument:this.parseArgument;return this.optionalMany(Rue.PAREN_L,tee,Rue.PAREN_R)}parseArgument(eee=!1){const tee=this._lexer.token,ree=this.parseName();return this.expectToken(Rue.COLON),this.node(tee,{kind:Aue.ARGUMENT,name:ree,value:this.parseValueLiteral(eee)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){const eee=this._lexer.token;this.expectToken(Rue.SPREAD);const tee=this.expectOptionalKeyword("on");return!tee&&this.peek(Rue.NAME)?this.node(eee,{kind:Aue.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(eee,{kind:Aue.INLINE_FRAGMENT,typeCondition:tee?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){const eee=this._lexer.token;return this.expectKeyword("fragment"),!0===this._options.allowLegacyFragmentVariables?this.node(eee,{kind:Aue.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(eee,{kind:Aue.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if("on"===this._lexer.token.value)throw this.unexpected();return this.parseName()}parseValueLiteral(eee){const tee=this._lexer.token;switch(tee.kind){case Rue.BRACKET_L:return this.parseList(eee);case Rue.BRACE_L:return this.parseObject(eee);case Rue.INT:return this.advanceLexer(),this.node(tee,{kind:Aue.INT,value:tee.value});case Rue.FLOAT:return this.advanceLexer(),this.node(tee,{kind:Aue.FLOAT,value:tee.value});case Rue.STRING:case Rue.BLOCK_STRING:return this.parseStringLiteral();case Rue.NAME:switch(this.advanceLexer(),tee.value){case"true":return this.node(tee,{kind:Aue.BOOLEAN,value:!0});case"false":return this.node(tee,{kind:Aue.BOOLEAN,value:!1});case"null":return this.node(tee,{kind:Aue.NULL});default:return this.node(tee,{kind:Aue.ENUM,value:tee.value})}case Rue.DOLLAR:if(eee){if(this.expectToken(Rue.DOLLAR),this._lexer.token.kind===Rue.NAME){const eee=this._lexer.token.value;throw kue(this._lexer.source,tee.start,`Unexpected variable "$${eee}" in constant value.`)}throw this.unexpected(tee)}return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){const eee=this._lexer.token;return this.advanceLexer(),this.node(eee,{kind:Aue.STRING,value:eee.value,block:eee.kind===Rue.BLOCK_STRING})}parseList(eee){return this.node(this._lexer.token,{kind:Aue.LIST,values:this.any(Rue.BRACKET_L,(()=>this.parseValueLiteral(eee)),Rue.BRACKET_R)})}parseObject(eee){return this.node(this._lexer.token,{kind:Aue.OBJECT,fields:this.any(Rue.BRACE_L,(()=>this.parseObjectField(eee)),Rue.BRACE_R)})}parseObjectField(eee){const tee=this._lexer.token,ree=this.parseName();return this.expectToken(Rue.COLON),this.node(tee,{kind:Aue.OBJECT_FIELD,name:ree,value:this.parseValueLiteral(eee)})}parseDirectives(eee){const tee=[];for(;this.peek(Rue.AT);)tee.push(this.parseDirective(eee));return tee}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(eee){const tee=this._lexer.token;return this.expectToken(Rue.AT),this.node(tee,{kind:Aue.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(eee)})}parseTypeReference(){const eee=this._lexer.token;let tee;if(this.expectOptionalToken(Rue.BRACKET_L)){const ree=this.parseTypeReference();this.expectToken(Rue.BRACKET_R),tee=this.node(eee,{kind:Aue.LIST_TYPE,type:ree})}else tee=this.parseNamedType();return this.expectOptionalToken(Rue.BANG)?this.node(eee,{kind:Aue.NON_NULL_TYPE,type:tee}):tee}parseNamedType(){return this.node(this._lexer.token,{kind:Aue.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(Rue.STRING)||this.peek(Rue.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){const eee=this._lexer.token,tee=this.parseDescription();this.expectKeyword("schema");const ree=this.parseConstDirectives(),oee=this.many(Rue.BRACE_L,this.parseOperationTypeDefinition,Rue.BRACE_R);return this.node(eee,{kind:Aue.SCHEMA_DEFINITION,description:tee,directives:ree,operationTypes:oee})}parseOperationTypeDefinition(){const eee=this._lexer.token,tee=this.parseOperationType();this.expectToken(Rue.COLON);const ree=this.parseNamedType();return this.node(eee,{kind:Aue.OPERATION_TYPE_DEFINITION,operation:tee,type:ree})}parseScalarTypeDefinition(){const eee=this._lexer.token,tee=this.parseDescription();this.expectKeyword("scalar");const ree=this.parseName(),oee=this.parseConstDirectives();return this.node(eee,{kind:Aue.SCALAR_TYPE_DEFINITION,description:tee,name:ree,directives:oee})}parseObjectTypeDefinition(){const eee=this._lexer.token,tee=this.parseDescription();this.expectKeyword("type");const ree=this.parseName(),oee=this.parseImplementsInterfaces(),nee=this.parseConstDirectives(),aee=this.parseFieldsDefinition();return this.node(eee,{kind:Aue.OBJECT_TYPE_DEFINITION,description:tee,name:ree,interfaces:oee,directives:nee,fields:aee})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(Rue.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(Rue.BRACE_L,this.parseFieldDefinition,Rue.BRACE_R)}parseFieldDefinition(){const eee=this._lexer.token,tee=this.parseDescription(),ree=this.parseName(),oee=this.parseArgumentDefs();this.expectToken(Rue.COLON);const nee=this.parseTypeReference(),aee=this.parseConstDirectives();return this.node(eee,{kind:Aue.FIELD_DEFINITION,description:tee,name:ree,arguments:oee,type:nee,directives:aee})}parseArgumentDefs(){return this.optionalMany(Rue.PAREN_L,this.parseInputValueDef,Rue.PAREN_R)}parseInputValueDef(){const eee=this._lexer.token,tee=this.parseDescription(),ree=this.parseName();this.expectToken(Rue.COLON);const oee=this.parseTypeReference();let nee;this.expectOptionalToken(Rue.EQUALS)&&(nee=this.parseConstValueLiteral());const aee=this.parseConstDirectives();return this.node(eee,{kind:Aue.INPUT_VALUE_DEFINITION,description:tee,name:ree,type:oee,defaultValue:nee,directives:aee})}parseInterfaceTypeDefinition(){const eee=this._lexer.token,tee=this.parseDescription();this.expectKeyword("interface");const ree=this.parseName(),oee=this.parseImplementsInterfaces(),nee=this.parseConstDirectives(),aee=this.parseFieldsDefinition();return this.node(eee,{kind:Aue.INTERFACE_TYPE_DEFINITION,description:tee,name:ree,interfaces:oee,directives:nee,fields:aee})}parseUnionTypeDefinition(){const eee=this._lexer.token,tee=this.parseDescription();this.expectKeyword("union");const ree=this.parseName(),oee=this.parseConstDirectives(),nee=this.parseUnionMemberTypes();return this.node(eee,{kind:Aue.UNION_TYPE_DEFINITION,description:tee,name:ree,directives:oee,types:nee})}parseUnionMemberTypes(){return this.expectOptionalToken(Rue.EQUALS)?this.delimitedMany(Rue.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){const eee=this._lexer.token,tee=this.parseDescription();this.expectKeyword("enum");const ree=this.parseName(),oee=this.parseConstDirectives(),nee=this.parseEnumValuesDefinition();return this.node(eee,{kind:Aue.ENUM_TYPE_DEFINITION,description:tee,name:ree,directives:oee,values:nee})}parseEnumValuesDefinition(){return this.optionalMany(Rue.BRACE_L,this.parseEnumValueDefinition,Rue.BRACE_R)}parseEnumValueDefinition(){const eee=this._lexer.token,tee=this.parseDescription(),ree=this.parseEnumValueName(),oee=this.parseConstDirectives();return this.node(eee,{kind:Aue.ENUM_VALUE_DEFINITION,description:tee,name:ree,directives:oee})}parseEnumValueName(){if("true"===this._lexer.token.value||"false"===this._lexer.token.value||"null"===this._lexer.token.value)throw kue(this._lexer.source,this._lexer.token.start,`${bhe(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){const eee=this._lexer.token,tee=this.parseDescription();this.expectKeyword("input");const ree=this.parseName(),oee=this.parseConstDirectives(),nee=this.parseInputFieldsDefinition();return this.node(eee,{kind:Aue.INPUT_OBJECT_TYPE_DEFINITION,description:tee,name:ree,directives:oee,fields:nee})}parseInputFieldsDefinition(){return this.optionalMany(Rue.BRACE_L,this.parseInputValueDef,Rue.BRACE_R)}parseTypeSystemExtension(){const eee=this._lexer.lookahead();if(eee.kind===Rue.NAME)switch(eee.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(eee)}parseSchemaExtension(){const eee=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");const tee=this.parseConstDirectives(),ree=this.optionalMany(Rue.BRACE_L,this.parseOperationTypeDefinition,Rue.BRACE_R);if(0===tee.length&&0===ree.length)throw this.unexpected();return this.node(eee,{kind:Aue.SCHEMA_EXTENSION,directives:tee,operationTypes:ree})}parseScalarTypeExtension(){const eee=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");const tee=this.parseName(),ree=this.parseConstDirectives();if(0===ree.length)throw this.unexpected();return this.node(eee,{kind:Aue.SCALAR_TYPE_EXTENSION,name:tee,directives:ree})}parseObjectTypeExtension(){const eee=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");const tee=this.parseName(),ree=this.parseImplementsInterfaces(),oee=this.parseConstDirectives(),nee=this.parseFieldsDefinition();if(0===ree.length&&0===oee.length&&0===nee.length)throw this.unexpected();return this.node(eee,{kind:Aue.OBJECT_TYPE_EXTENSION,name:tee,interfaces:ree,directives:oee,fields:nee})}parseInterfaceTypeExtension(){const eee=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");const tee=this.parseName(),ree=this.parseImplementsInterfaces(),oee=this.parseConstDirectives(),nee=this.parseFieldsDefinition();if(0===ree.length&&0===oee.length&&0===nee.length)throw this.unexpected();return this.node(eee,{kind:Aue.INTERFACE_TYPE_EXTENSION,name:tee,interfaces:ree,directives:oee,fields:nee})}parseUnionTypeExtension(){const eee=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");const tee=this.parseName(),ree=this.parseConstDirectives(),oee=this.parseUnionMemberTypes();if(0===ree.length&&0===oee.length)throw this.unexpected();return this.node(eee,{kind:Aue.UNION_TYPE_EXTENSION,name:tee,directives:ree,types:oee})}parseEnumTypeExtension(){const eee=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");const tee=this.parseName(),ree=this.parseConstDirectives(),oee=this.parseEnumValuesDefinition();if(0===ree.length&&0===oee.length)throw this.unexpected();return this.node(eee,{kind:Aue.ENUM_TYPE_EXTENSION,name:tee,directives:ree,values:oee})}parseInputObjectTypeExtension(){const eee=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");const tee=this.parseName(),ree=this.parseConstDirectives(),oee=this.parseInputFieldsDefinition();if(0===ree.length&&0===oee.length)throw this.unexpected();return this.node(eee,{kind:Aue.INPUT_OBJECT_TYPE_EXTENSION,name:tee,directives:ree,fields:oee})}parseDirectiveDefinition(){const eee=this._lexer.token,tee=this.parseDescription();this.expectKeyword("directive"),this.expectToken(Rue.AT);const ree=this.parseName(),oee=this.parseArgumentDefs(),nee=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");const aee=this.parseDirectiveLocations();return this.node(eee,{kind:Aue.DIRECTIVE_DEFINITION,description:tee,name:ree,arguments:oee,repeatable:nee,locations:aee})}parseDirectiveLocations(){return this.delimitedMany(Rue.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){const eee=this._lexer.token,tee=this.parseName();if(Object.prototype.hasOwnProperty.call(Nue,tee.value))return tee;throw this.unexpected(eee)}node(eee,tee){return!0!==this._options.noLocation&&(tee.loc=new _ue(eee,this._lexer.lastToken,this._lexer.source)),tee}peek(eee){return this._lexer.token.kind===eee}expectToken(eee){const tee=this._lexer.token;if(tee.kind===eee)return this.advanceLexer(),tee;throw kue(this._lexer.source,tee.start,`Expected ${mhe(eee)}, found ${bhe(tee)}.`)}expectOptionalToken(eee){return this._lexer.token.kind===eee&&(this.advanceLexer(),!0)}expectKeyword(eee){const tee=this._lexer.token;if(tee.kind!==Rue.NAME||tee.value!==eee)throw kue(this._lexer.source,tee.start,`Expected "${eee}", found ${bhe(tee)}.`);this.advanceLexer()}expectOptionalKeyword(eee){const tee=this._lexer.token;return tee.kind===Rue.NAME&&tee.value===eee&&(this.advanceLexer(),!0)}unexpected(eee){const tee=null!=eee?eee:this._lexer.token;return kue(this._lexer.source,tee.start,`Unexpected ${bhe(tee)}.`)}any(eee,tee,ree){this.expectToken(eee);const oee=[];for(;!this.expectOptionalToken(ree);)oee.push(tee.call(this));return oee}optionalMany(eee,tee,ree){if(this.expectOptionalToken(eee)){const eee=[];do{eee.push(tee.call(this))}while(!this.expectOptionalToken(ree));return eee}return[]}many(eee,tee,ree){this.expectToken(eee);const oee=[];do{oee.push(tee.call(this))}while(!this.expectOptionalToken(ree));return oee}delimitedMany(eee,tee){this.expectOptionalToken(eee);const ree=[];do{ree.push(tee.call(this))}while(this.expectOptionalToken(eee));return ree}advanceLexer(){const{maxTokens:eee}=this._options,tee=this._lexer.advance();if(void 0!==eee&&tee.kind!==Rue.EOF&&(++this._tokenCounter,this._tokenCounter>eee))throw kue(this._lexer.source,tee.start,`Document contains more that ${eee} tokens. Parsing aborted.`)}}function bhe(eee){const tee=eee.value;return mhe(eee.kind)+(null!=tee?` "${tee}"`:"")}function mhe(eee){return Vue(eee)?`"${eee}"`:eee}const vhe=5;function yhe(eee,tee){const[ree,oee]=tee?[eee,tee]:[void 0,eee];let nee=" Did you mean ";ree&&(nee+=ree+" ");const aee=oee.map((x=>`"${x}"`));switch(aee.length){case 0:return"";case 1:return nee+aee[0]+"?";case 2:return nee+aee[0]+" or "+aee[1]+"?"}const iee=aee.slice(0,vhe),see=iee.pop();return nee+iee.join(", ")+", or "+see+"?"}function xhe(x){return x}function khe(eee,tee){const ree=Object.create(null);for(const oee of eee)ree[tee(oee)]=oee;return ree}function _he(eee,tee,ree){const oee=Object.create(null);for(const nee of eee)oee[tee(nee)]=ree(nee);return oee}function Ehe(eee,fn){const tee=Object.create(null);for(const ree of Object.keys(eee))tee[ree]=fn(eee[ree],ree);return tee}function The(eee,tee){let ree=0,oee=0;for(;ree0);let see=0;do{++oee,see=10*see+aee-She,aee=tee.charCodeAt(oee)}while(Ohe(aee)&&see>0);if(ieesee)return 1}else{if(neeaee)return 1;++ree,++oee}}return eee.length-tee.length}const She=48,Ihe=57;function Ohe(eee){return!isNaN(eee)&&She<=eee&&eee<=Ihe}function Nhe(eee,tee){const ree=Object.create(null),oee=new Ahe(eee),nee=Math.floor(.4*eee.length)+1;for(const aee of tee){const eee=oee.measure(aee,nee);void 0!==eee&&(ree[aee]=eee)}return Object.keys(ree).sort(((a,b)=>{const eee=ree[a]-ree[b];return 0!==eee?eee:The(a,b)}))}class Ahe{constructor(eee){this._input=eee,this._inputLowerCase=eee.toLowerCase(),this._inputArray=Rhe(this._inputLowerCase),this._rows=[new Array(eee.length+1).fill(0),new Array(eee.length+1).fill(0),new Array(eee.length+1).fill(0)]}measure(eee,tee){if(this._input===eee)return 0;const ree=eee.toLowerCase();if(this._inputLowerCase===ree)return 1;let a=Rhe(ree),b=this._inputArray;if(a.lengthtee)return;const aee=this._rows;for(let j=0;j<=nee;j++)aee[0][j]=j;for(let i=1;i<=oee;i++){const eee=aee[(i-1)%3],ree=aee[i%3];let oee=ree[0]=i;for(let j=1;j<=nee;j++){const tee=a[i-1]===b[j-1]?0:1;let nee=Math.min(eee[j]+1,ree[j-1]+1,eee[j-1]+tee);if(i>1&&j>1&&a[i-1]===b[j-2]&&a[i-2]===b[j-1]){const eee=aee[(i-2)%3][j-2];nee=Math.min(nee,eee+1)}neetee)return}const iee=aee[oee%3][nee];return iee<=tee?iee:void 0}}function Rhe(eee){const tee=eee.length,ree=new Array(tee);for(let i=0;ieee.value},Variable:{leave:eee=>"$"+eee.name},Document:{leave:eee=>Vhe(eee.definitions,"\n\n")},OperationDefinition:{leave(eee){const tee=Bhe("(",Vhe(eee.variableDefinitions,", "),")"),ree=Vhe([eee.operation,Vhe([eee.name,tee]),Vhe(eee.directives," ")]," ");return("query"===ree?"":ree+" ")+eee.selectionSet}},VariableDefinition:{leave:({variable:eee,type:tee,defaultValue:ree,directives:oee})=>eee+": "+tee+Bhe(" = ",ree)+Bhe(" ",Vhe(oee," "))},SelectionSet:{leave:({selections:eee})=>qhe(eee)},Field:{leave({alias:eee,name:tee,arguments:ree,directives:oee,selectionSet:nee}){const aee=Bhe("",eee,": ")+tee;let iee=aee+Bhe("(",Vhe(ree,", "),")");return iee.length>80&&(iee=aee+Bhe("(\n",Yhe(Vhe(ree,"\n")),"\n)")),Vhe([iee,Vhe(oee," "),nee]," ")}},Argument:{leave:({name:eee,value:tee})=>eee+": "+tee},FragmentSpread:{leave:({name:eee,directives:tee})=>"..."+eee+Bhe(" ",Vhe(tee," "))},InlineFragment:{leave:({typeCondition:eee,directives:tee,selectionSet:ree})=>Vhe(["...",Bhe("on ",eee),Vhe(tee," "),ree]," ")},FragmentDefinition:{leave:({name:eee,typeCondition:tee,variableDefinitions:ree,directives:oee,selectionSet:nee})=>`fragment ${eee}${Bhe("(",Vhe(ree,", "),")")} on ${tee} ${Bhe("",Vhe(oee," ")," ")}`+nee},IntValue:{leave:({value:eee})=>eee},FloatValue:{leave:({value:eee})=>eee},StringValue:{leave:({value:eee,block:tee})=>tee?jue(eee):`"${eee.replace(Che,Lhe)}"`},BooleanValue:{leave:({value:eee})=>eee?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:eee})=>eee},ListValue:{leave:({values:eee})=>"["+Vhe(eee,", ")+"]"},ObjectValue:{leave:({fields:eee})=>"{"+Vhe(eee,", ")+"}"},ObjectField:{leave:({name:eee,value:tee})=>eee+": "+tee},Directive:{leave:({name:eee,arguments:tee})=>"@"+eee+Bhe("(",Vhe(tee,", "),")")},NamedType:{leave:({name:eee})=>eee},ListType:{leave:({type:eee})=>"["+eee+"]"},NonNullType:{leave:({type:eee})=>eee+"!"},SchemaDefinition:{leave:({description:eee,directives:tee,operationTypes:ree})=>Bhe("",eee,"\n")+Vhe(["schema",Vhe(tee," "),qhe(ree)]," ")},OperationTypeDefinition:{leave:({operation:eee,type:tee})=>eee+": "+tee},ScalarTypeDefinition:{leave:({description:eee,name:tee,directives:ree})=>Bhe("",eee,"\n")+Vhe(["scalar",tee,Vhe(ree," ")]," ")},ObjectTypeDefinition:{leave:({description:eee,name:tee,interfaces:ree,directives:oee,fields:nee})=>Bhe("",eee,"\n")+Vhe(["type",tee,Bhe("implements ",Vhe(ree," & ")),Vhe(oee," "),qhe(nee)]," ")},FieldDefinition:{leave:({description:eee,name:tee,arguments:ree,type:oee,directives:nee})=>Bhe("",eee,"\n")+tee+(Ghe(ree)?Bhe("(\n",Yhe(Vhe(ree,"\n")),"\n)"):Bhe("(",Vhe(ree,", "),")"))+": "+oee+Bhe(" ",Vhe(nee," "))},InputValueDefinition:{leave:({description:eee,name:tee,type:ree,defaultValue:oee,directives:nee})=>Bhe("",eee,"\n")+Vhe([tee+": "+ree,Bhe("= ",oee),Vhe(nee," ")]," ")},InterfaceTypeDefinition:{leave:({description:eee,name:tee,interfaces:ree,directives:oee,fields:nee})=>Bhe("",eee,"\n")+Vhe(["interface",tee,Bhe("implements ",Vhe(ree," & ")),Vhe(oee," "),qhe(nee)]," ")},UnionTypeDefinition:{leave:({description:eee,name:tee,directives:ree,types:oee})=>Bhe("",eee,"\n")+Vhe(["union",tee,Vhe(ree," "),Bhe("= ",Vhe(oee," | "))]," ")},EnumTypeDefinition:{leave:({description:eee,name:tee,directives:ree,values:oee})=>Bhe("",eee,"\n")+Vhe(["enum",tee,Vhe(ree," "),qhe(oee)]," ")},EnumValueDefinition:{leave:({description:eee,name:tee,directives:ree})=>Bhe("",eee,"\n")+Vhe([tee,Vhe(ree," ")]," ")},InputObjectTypeDefinition:{leave:({description:eee,name:tee,directives:ree,fields:oee})=>Bhe("",eee,"\n")+Vhe(["input",tee,Vhe(ree," "),qhe(oee)]," ")},DirectiveDefinition:{leave:({description:eee,name:tee,arguments:ree,repeatable:oee,locations:nee})=>Bhe("",eee,"\n")+"directive @"+tee+(Ghe(ree)?Bhe("(\n",Yhe(Vhe(ree,"\n")),"\n)"):Bhe("(",Vhe(ree,", "),")"))+(oee?" repeatable":"")+" on "+Vhe(nee," | ")},SchemaExtension:{leave:({directives:eee,operationTypes:tee})=>Vhe(["extend schema",Vhe(eee," "),qhe(tee)]," ")},ScalarTypeExtension:{leave:({name:eee,directives:tee})=>Vhe(["extend scalar",eee,Vhe(tee," ")]," ")},ObjectTypeExtension:{leave:({name:eee,interfaces:tee,directives:ree,fields:oee})=>Vhe(["extend type",eee,Bhe("implements ",Vhe(tee," & ")),Vhe(ree," "),qhe(oee)]," ")},InterfaceTypeExtension:{leave:({name:eee,interfaces:tee,directives:ree,fields:oee})=>Vhe(["extend interface",eee,Bhe("implements ",Vhe(tee," & ")),Vhe(ree," "),qhe(oee)]," ")},UnionTypeExtension:{leave:({name:eee,directives:tee,types:ree})=>Vhe(["extend union",eee,Vhe(tee," "),Bhe("= ",Vhe(ree," | "))]," ")},EnumTypeExtension:{leave:({name:eee,directives:tee,values:ree})=>Vhe(["extend enum",eee,Vhe(tee," "),qhe(ree)]," ")},InputObjectTypeExtension:{leave:({name:eee,directives:tee,fields:ree})=>Vhe(["extend input",eee,Vhe(tee," "),qhe(ree)]," ")}};function Vhe(eee,tee=""){var ree;return null!==(ree=null==eee?void 0:eee.filter((x=>x)).join(tee))&&void 0!==ree?ree:""}function qhe(eee){return Bhe("{\n",Yhe(Vhe(eee,"\n")),"\n}")}function Bhe(eee,tee,ree=""){return null!=tee&&""!==tee?eee+tee+ree:""}function Yhe(eee){return Bhe(" ",eee.replace(/\n/g,"\n "))}function Ghe(eee){var tee;return null!==(tee=null==eee?void 0:eee.some((eee=>eee.includes("\n"))))&&void 0!==tee&&tee}function Qhe(eee,tee){switch(eee.kind){case Aue.NULL:return null;case Aue.INT:return parseInt(eee.value,10);case Aue.FLOAT:return parseFloat(eee.value);case Aue.STRING:case Aue.ENUM:case Aue.BOOLEAN:return eee.value;case Aue.LIST:return eee.values.map((eee=>Qhe(eee,tee)));case Aue.OBJECT:return _he(eee.fields,(eee=>eee.name.value),(eee=>Qhe(eee.value,tee)));case Aue.VARIABLE:return null==tee?void 0:tee[eee.name.value]}}function Whe(eee){if(null!=eee||due(!1,"Must provide name."),"string"==typeof eee||due(!1,"Expected name to be a string."),0===eee.length)throw new yue("Expected name to be a non-empty string.");for(let i=1;iaee(Qhe(eee,tee)),this.extensions=Dhe(eee.extensions),this.astNode=eee.astNode,this.extensionASTNodes=null!==(nee=eee.extensionASTNodes)&&void 0!==nee?nee:[],null==eee.specifiedByURL||"string"==typeof eee.specifiedByURL||due(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${che(eee.specifiedByURL)}.`),null==eee.serialize||"function"==typeof eee.serialize||due(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),eee.parseLiteral&&("function"==typeof eee.parseValue&&"function"==typeof eee.parseLiteral||due(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}class _ge{constructor(eee){var tee;this.name=Whe(eee.name),this.description=eee.description,this.isTypeOf=eee.isTypeOf,this.extensions=Dhe(eee.extensions),this.astNode=eee.astNode,this.extensionASTNodes=null!==(tee=eee.extensionASTNodes)&&void 0!==tee?tee:[],this._fields=()=>Tge(eee),this._interfaces=()=>Ege(eee),null==eee.isTypeOf||"function"==typeof eee.isTypeOf||due(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${che(eee.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return"function"==typeof this._fields&&(this._fields=this._fields()),this._fields}getInterfaces(){return"function"==typeof this._interfaces&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:Oge(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function Ege(eee){var tee;const ree=yge(null!==(tee=eee.interfaces)&&void 0!==tee?tee:[]);return Array.isArray(ree)||due(!1,`${eee.name} interfaces must be an Array or a function which returns an Array.`),ree}function Tge(eee){const tee=xge(eee.fields);return Ige(tee)||due(!1,`${eee.name} fields must be an object with field names as keys or a function which returns such an object.`),Ehe(tee,((tee,ree)=>{var oee;Ige(tee)||due(!1,`${eee.name}.${ree} field config must be an object.`),null==tee.resolve||"function"==typeof tee.resolve||due(!1,`${eee.name}.${ree} field resolver must be a function if provided, but got: ${che(tee.resolve)}.`);const nee=null!==(oee=tee.args)&&void 0!==oee?oee:{};return Ige(nee)||due(!1,`${eee.name}.${ree} args must be an object with argument names as keys.`),{name:Whe(ree),description:tee.description,type:tee.type,args:Sge(nee),resolve:tee.resolve,subscribe:tee.subscribe,deprecationReason:tee.deprecationReason,extensions:Dhe(tee.extensions),astNode:tee.astNode}}))}function Sge(eee){return Object.entries(eee).map((([eee,tee])=>({name:Whe(eee),description:tee.description,type:tee.type,defaultValue:tee.defaultValue,deprecationReason:tee.deprecationReason,extensions:Dhe(tee.extensions),astNode:tee.astNode})))}function Ige(eee){return hue(eee)&&!Array.isArray(eee)}function Oge(eee){return Ehe(eee,(eee=>({description:eee.description,type:eee.type,args:Nge(eee.args),resolve:eee.resolve,subscribe:eee.subscribe,deprecationReason:eee.deprecationReason,extensions:eee.extensions,astNode:eee.astNode})))}function Nge(eee){return _he(eee,(eee=>eee.name),(eee=>({description:eee.description,type:eee.type,defaultValue:eee.defaultValue,deprecationReason:eee.deprecationReason,extensions:eee.extensions,astNode:eee.astNode})))}function Age(eee){return ige(eee.type)&&void 0===eee.defaultValue}class Rge{constructor(eee){var tee;this.name=Whe(eee.name),this.description=eee.description,this.resolveType=eee.resolveType,this.extensions=Dhe(eee.extensions),this.astNode=eee.astNode,this.extensionASTNodes=null!==(tee=eee.extensionASTNodes)&&void 0!==tee?tee:[],this._fields=Tge.bind(void 0,eee),this._interfaces=Ege.bind(void 0,eee),null==eee.resolveType||"function"==typeof eee.resolveType||due(!1,`${this.name} must provide "resolveType" as a function, but got: ${che(eee.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return"function"==typeof this._fields&&(this._fields=this._fields()),this._fields}getInterfaces(){return"function"==typeof this._interfaces&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:Oge(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}class Dge{constructor(eee){var tee;this.name=Whe(eee.name),this.description=eee.description,this.resolveType=eee.resolveType,this.extensions=Dhe(eee.extensions),this.astNode=eee.astNode,this.extensionASTNodes=null!==(tee=eee.extensionASTNodes)&&void 0!==tee?tee:[],this._types=Cge.bind(void 0,eee),null==eee.resolveType||"function"==typeof eee.resolveType||due(!1,`${this.name} must provide "resolveType" as a function, but got: ${che(eee.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return"function"==typeof this._types&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function Cge(eee){const tee=yge(eee.types);return Array.isArray(tee)||due(!1,`Must provide Array of types or a function which returns such an array for Union ${eee.name}.`),tee}class Lge{constructor(eee){var tee,ree,oee;this.name=Whe(eee.name),this.description=eee.description,this.extensions=Dhe(eee.extensions),this.astNode=eee.astNode,this.extensionASTNodes=null!==(tee=eee.extensionASTNodes)&&void 0!==tee?tee:[],this._values=(ree=this.name,Ige(oee=eee.values)||due(!1,`${ree} values must be an object with value names as keys.`),Object.entries(oee).map((([eee,tee])=>(Ige(tee)||due(!1,`${ree}.${eee} must refer to an object with a "value" key representing an internal value but got: ${che(tee)}.`),{name:Khe(eee),description:tee.description,value:void 0!==tee.value?tee.value:eee,deprecationReason:tee.deprecationReason,extensions:Dhe(tee.extensions),astNode:tee.astNode})))),this._valueLookup=new Map(this._values.map((eee=>[eee.value,eee]))),this._nameLookup=khe(this._values,(eee=>eee.name))}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(eee){return this._nameLookup[eee]}serialize(eee){const tee=this._valueLookup.get(eee);if(void 0===tee)throw new yue(`Enum "${this.name}" cannot represent value: ${che(eee)}`);return tee.name}parseValue(eee){if("string"!=typeof eee){const tee=che(eee);throw new yue(`Enum "${this.name}" cannot represent non-string value: ${tee}.`+Fge(this,tee))}const tee=this.getValue(eee);if(null==tee)throw new yue(`Value "${eee}" does not exist in "${this.name}" enum.`+Fge(this,eee));return tee.value}parseLiteral(eee,tee){if(eee.kind!==Aue.ENUM){const tee=jhe(eee);throw new yue(`Enum "${this.name}" cannot represent non-enum value: ${tee}.`+Fge(this,tee),{nodes:eee})}const ree=this.getValue(eee.value);if(null==ree){const tee=jhe(eee);throw new yue(`Value "${tee}" does not exist in "${this.name}" enum.`+Fge(this,tee),{nodes:eee})}return ree.value}toConfig(){const eee=_he(this.getValues(),(eee=>eee.name),(eee=>({description:eee.description,value:eee.value,deprecationReason:eee.deprecationReason,extensions:eee.extensions,astNode:eee.astNode})));return{name:this.name,description:this.description,values:eee,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function Fge(eee,tee){return yhe("the enum value",Nhe(tee,eee.getValues().map((eee=>eee.name))))}class zge{constructor(eee){var tee;this.name=Whe(eee.name),this.description=eee.description,this.extensions=Dhe(eee.extensions),this.astNode=eee.astNode,this.extensionASTNodes=null!==(tee=eee.extensionASTNodes)&&void 0!==tee?tee:[],this._fields=Mge.bind(void 0,eee)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return"function"==typeof this._fields&&(this._fields=this._fields()),this._fields}toConfig(){const eee=Ehe(this.getFields(),(eee=>({description:eee.description,type:eee.type,defaultValue:eee.defaultValue,deprecationReason:eee.deprecationReason,extensions:eee.extensions,astNode:eee.astNode})));return{name:this.name,description:this.description,fields:eee,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function Mge(eee){const tee=xge(eee.fields);return Ige(tee)||due(!1,`${eee.name} fields must be an object with field names as keys or a function which returns such an object.`),Ehe(tee,((tee,ree)=>(!("resolve"in tee)||due(!1,`${eee.name}.${ree} field has a resolve property, but Input Types cannot define resolvers.`),{name:Whe(ree),description:tee.description,type:tee.type,defaultValue:tee.defaultValue,deprecationReason:tee.deprecationReason,extensions:Dhe(tee.extensions),astNode:tee.astNode})))}function Pge(eee){return ige(eee.type)&&void 0===eee.defaultValue}function Uge(eee,tee){return eee===tee||(ige(eee)&&ige(tee)||!(!age(eee)||!age(tee)))&&Uge(eee.ofType,tee.ofType)}function jge(eee,tee,ree){return tee===ree||(ige(ree)?!!ige(tee)&&jge(eee,tee.ofType,ree.ofType):ige(tee)?jge(eee,tee.ofType,ree):age(ree)?!!age(tee)&&jge(eee,tee.ofType,ree.ofType):!age(tee)&&(dge(ree)&&(ege(tee)||Zhe(tee))&&eee.isSubType(ree,tee)))}function $ge(eee,tee,ree){return tee===ree||(dge(tee)?dge(ree)?eee.getPossibleTypes(tee).some((tee=>eee.isSubType(ree,tee))):eee.isSubType(tee,ree):!!dge(ree)&&eee.isSubType(ree,tee))}const Vge=2147483647,qge=-2147483648,Bge=new kge({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(eee){const tee=Xge(eee);if("boolean"==typeof tee)return tee?1:0;let ree=tee;if("string"==typeof tee&&""!==tee&&(ree=Number(tee)),"number"!=typeof ree||!Number.isInteger(ree))throw new yue(`Int cannot represent non-integer value: ${che(tee)}`);if(ree>Vge||reeVge||eeeVge||teeeee.name===tee))}function Xge(eee){if(hue(eee)){if("function"==typeof eee.valueOf){const tee=eee.valueOf();if(!hue(tee))return tee}if("function"==typeof eee.toJSON)return eee.toJSON()}return eee}function Zge(eee){return dhe(eee,Jge)}class Jge{constructor(eee){var tee,ree;this.name=Whe(eee.name),this.description=eee.description,this.locations=eee.locations,this.isRepeatable=null!==(tee=eee.isRepeatable)&&void 0!==tee&&tee,this.extensions=Dhe(eee.extensions),this.astNode=eee.astNode,Array.isArray(eee.locations)||due(!1,`@${eee.name} locations must be an Array.`);const oee=null!==(ree=eee.args)&&void 0!==ree?ree:{};hue(oee)&&!Array.isArray(oee)||due(!1,`@${eee.name} args must be an object with argument names as keys.`),this.args=Sge(oee)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:Nge(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}}const ewe=new Jge({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[Nue.FIELD,Nue.FRAGMENT_SPREAD,Nue.INLINE_FRAGMENT],args:{if:{type:new hge(Qge),description:"Included when true."}}}),twe=new Jge({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[Nue.FIELD,Nue.FRAGMENT_SPREAD,Nue.INLINE_FRAGMENT],args:{if:{type:new hge(Qge),description:"Skipped when true."}}}),rwe="No longer supported",owe=new Jge({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[Nue.FIELD_DEFINITION,Nue.ARGUMENT_DEFINITION,Nue.INPUT_FIELD_DEFINITION,Nue.ENUM_VALUE],args:{reason:{type:Gge,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:rwe}}}),nwe=new Jge({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[Nue.SCALAR],args:{url:{type:new hge(Gge),description:"The URL that specifies the behavior of this scalar."}}}),awe=Object.freeze([ewe,twe,owe,nwe]);function iwe(eee){return awe.some((({name:tee})=>tee===eee.name))}function swe(eee){return"object"==typeof eee&&"function"==typeof(null==eee?void 0:eee[Symbol.iterator])}function lwe(eee,tee){if(ige(tee)){const ree=lwe(eee,tee.ofType);return(null==ree?void 0:ree.kind)===Aue.NULL?null:ree}if(null===eee)return{kind:Aue.NULL};if(void 0===eee)return null;if(age(tee)){const ree=tee.ofType;if(swe(eee)){const tee=[];for(const oee of eee){const eee=lwe(oee,ree);null!=eee&&tee.push(eee)}return{kind:Aue.LIST,values:tee}}return lwe(eee,ree)}if(nge(tee)){if(!hue(eee))return null;const ree=[];for(const oee of Object.values(tee.getFields())){const tee=lwe(eee[oee.name],oee.type);tee&&ree.push({kind:Aue.OBJECT_FIELD,name:{kind:Aue.NAME,value:oee.name},value:tee})}return{kind:Aue.OBJECT,fields:ree}}if(cge(tee)){const ree=tee.serialize(eee);if(null==ree)return null;if("boolean"==typeof ree)return{kind:Aue.BOOLEAN,value:ree};if("number"==typeof ree&&Number.isFinite(ree)){const eee=String(ree);return cwe.test(eee)?{kind:Aue.INT,value:eee}:{kind:Aue.FLOAT,value:eee}}if("string"==typeof ree)return oge(tee)?{kind:Aue.ENUM,value:ree}:tee===Wge&&cwe.test(ree)?{kind:Aue.INT,value:ree}:{kind:Aue.STRING,value:ree};throw new TypeError(`Cannot convert value to AST: ${che(ree)}.`)}gue(!1,"Unexpected input type: "+che(tee))}const cwe=/^-?(?:0|[1-9][0-9]*)$/,pwe=new _ge({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:Gge,resolve:eee=>eee.description},types:{description:"A list of all types supported by this server.",type:new hge(new uge(new hge(hwe))),resolve:eee=>Object.values(eee.getTypeMap())},queryType:{description:"The type that query operations will be rooted at.",type:new hge(hwe),resolve:eee=>eee.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:hwe,resolve:eee=>eee.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:hwe,resolve:eee=>eee.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new hge(new uge(new hge(dwe))),resolve:eee=>eee.getDirectives()}})}),dwe=new _ge({name:"__Directive",description:"A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.",fields:()=>({name:{type:new hge(Gge),resolve:eee=>eee.name},description:{type:Gge,resolve:eee=>eee.description},isRepeatable:{type:new hge(Qge),resolve:eee=>eee.isRepeatable},locations:{type:new hge(new uge(new hge(uwe))),resolve:eee=>eee.locations},args:{type:new hge(new uge(new hge(wwe))),args:{includeDeprecated:{type:Qge,defaultValue:!1}},resolve:(eee,{includeDeprecated:tee})=>tee?eee.args:eee.args.filter((eee=>null==eee.deprecationReason))}})}),uwe=new Lge({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:Nue.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:Nue.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:Nue.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:Nue.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:Nue.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:Nue.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:Nue.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:Nue.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:Nue.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:Nue.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:Nue.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:Nue.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:Nue.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:Nue.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:Nue.UNION,description:"Location adjacent to a union definition."},ENUM:{value:Nue.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:Nue.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:Nue.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:Nue.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),hwe=new _ge({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new hge(mwe),resolve:eee=>Xhe(eee)?bwe.SCALAR:Zhe(eee)?bwe.OBJECT:ege(eee)?bwe.INTERFACE:rge(eee)?bwe.UNION:oge(eee)?bwe.ENUM:nge(eee)?bwe.INPUT_OBJECT:age(eee)?bwe.LIST:ige(eee)?bwe.NON_NULL:void gue(!1,`Unexpected type: "${che(eee)}".`)},name:{type:Gge,resolve:eee=>"name"in eee?eee.name:void 0},description:{type:Gge,resolve:eee=>"description"in eee?eee.description:void 0},specifiedByURL:{type:Gge,resolve:eee=>"specifiedByURL"in eee?eee.specifiedByURL:void 0},fields:{type:new uge(new hge(gwe)),args:{includeDeprecated:{type:Qge,defaultValue:!1}},resolve(eee,{includeDeprecated:tee}){if(Zhe(eee)||ege(eee)){const ree=Object.values(eee.getFields());return tee?ree:ree.filter((eee=>null==eee.deprecationReason))}}},interfaces:{type:new uge(new hge(hwe)),resolve(eee){if(Zhe(eee)||ege(eee))return eee.getInterfaces()}},possibleTypes:{type:new uge(new hge(hwe)),resolve(eee,tee,ree,{schema:oee}){if(dge(eee))return oee.getPossibleTypes(eee)}},enumValues:{type:new uge(new hge(fwe)),args:{includeDeprecated:{type:Qge,defaultValue:!1}},resolve(eee,{includeDeprecated:tee}){if(oge(eee)){const ree=eee.getValues();return tee?ree:ree.filter((eee=>null==eee.deprecationReason))}}},inputFields:{type:new uge(new hge(wwe)),args:{includeDeprecated:{type:Qge,defaultValue:!1}},resolve(eee,{includeDeprecated:tee}){if(nge(eee)){const ree=Object.values(eee.getFields());return tee?ree:ree.filter((eee=>null==eee.deprecationReason))}}},ofType:{type:hwe,resolve:eee=>"ofType"in eee?eee.ofType:void 0}})}),gwe=new _ge({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new hge(Gge),resolve:eee=>eee.name},description:{type:Gge,resolve:eee=>eee.description},args:{type:new hge(new uge(new hge(wwe))),args:{includeDeprecated:{type:Qge,defaultValue:!1}},resolve:(eee,{includeDeprecated:tee})=>tee?eee.args:eee.args.filter((eee=>null==eee.deprecationReason))},type:{type:new hge(hwe),resolve:eee=>eee.type},isDeprecated:{type:new hge(Qge),resolve:eee=>null!=eee.deprecationReason},deprecationReason:{type:Gge,resolve:eee=>eee.deprecationReason}})}),wwe=new _ge({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new hge(Gge),resolve:eee=>eee.name},description:{type:Gge,resolve:eee=>eee.description},type:{type:new hge(hwe),resolve:eee=>eee.type},defaultValue:{type:Gge,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(eee){const{type:tee,defaultValue:ree}=eee,oee=lwe(ree,tee);return oee?jhe(oee):null}},isDeprecated:{type:new hge(Qge),resolve:eee=>null!=eee.deprecationReason},deprecationReason:{type:Gge,resolve:eee=>eee.deprecationReason}})}),fwe=new _ge({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new hge(Gge),resolve:eee=>eee.name},description:{type:Gge,resolve:eee=>eee.description},isDeprecated:{type:new hge(Qge),resolve:eee=>null!=eee.deprecationReason},deprecationReason:{type:Gge,resolve:eee=>eee.deprecationReason}})});var bwe;!function(eee){eee.SCALAR="SCALAR",eee.OBJECT="OBJECT",eee.INTERFACE="INTERFACE",eee.UNION="UNION",eee.ENUM="ENUM",eee.INPUT_OBJECT="INPUT_OBJECT",eee.LIST="LIST",eee.NON_NULL="NON_NULL"}(bwe||(bwe={}));const mwe=new Lge({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:bwe.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:bwe.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:bwe.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:bwe.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:bwe.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:bwe.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:bwe.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:bwe.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),vwe={name:"__schema",type:new hge(pwe),description:"Access the current type schema of this server.",args:[],resolve:(eee,tee,ree,{schema:oee})=>oee,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},ywe={name:"__type",type:hwe,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new hge(Gge),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(eee,{name:tee},ree,{schema:oee})=>oee.getType(tee),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},xwe={name:"__typename",type:new hge(Gge),description:"The name of the current Object type at runtime.",args:[],resolve:(eee,tee,ree,{parentType:oee})=>oee.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},kwe=Object.freeze([pwe,dwe,uwe,hwe,gwe,wwe,fwe,mwe]);function _we(eee){return kwe.some((({name:tee})=>eee.name===tee))}function Ewe(eee){return dhe(eee,Swe)}function Twe(eee){if(!Ewe(eee))throw new Error(`Expected ${che(eee)} to be a GraphQL schema.`);return eee}class Swe{constructor(eee){var tee,ree;this.__validationErrors=!0===eee.assumeValid?[]:void 0,hue(eee)||due(!1,"Must provide configuration object."),!eee.types||Array.isArray(eee.types)||due(!1,`"types" must be Array if provided but got: ${che(eee.types)}.`),!eee.directives||Array.isArray(eee.directives)||due(!1,`"directives" must be Array if provided but got: ${che(eee.directives)}.`),this.description=eee.description,this.extensions=Dhe(eee.extensions),this.astNode=eee.astNode,this.extensionASTNodes=null!==(tee=eee.extensionASTNodes)&&void 0!==tee?tee:[],this._queryType=eee.query,this._mutationType=eee.mutation,this._subscriptionType=eee.subscription,this._directives=null!==(ree=eee.directives)&&void 0!==ree?ree:awe;const oee=new Set(eee.types);if(null!=eee.types)for(const nee of eee.types)oee.delete(nee),Iwe(nee,oee);null!=this._queryType&&Iwe(this._queryType,oee),null!=this._mutationType&&Iwe(this._mutationType,oee),null!=this._subscriptionType&&Iwe(this._subscriptionType,oee);for(const nee of this._directives)if(Zge(nee))for(const eee of nee.args)Iwe(eee.type,oee);Iwe(pwe,oee),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(const nee of oee){if(null==nee)continue;const eee=nee.name;if(eee||due(!1,"One of the provided types for building the Schema is missing a name."),void 0!==this._typeMap[eee])throw new Error(`Schema must contain uniquely named types but contains multiple types named "${eee}".`);if(this._typeMap[eee]=nee,ege(nee)){for(const tee of nee.getInterfaces())if(ege(tee)){let eee=this._implementationsMap[tee.name];void 0===eee&&(eee=this._implementationsMap[tee.name]={objects:[],interfaces:[]}),eee.interfaces.push(nee)}}else if(Zhe(nee))for(const tee of nee.getInterfaces())if(ege(tee)){let eee=this._implementationsMap[tee.name];void 0===eee&&(eee=this._implementationsMap[tee.name]={objects:[],interfaces:[]}),eee.objects.push(nee)}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(eee){switch(eee){case Oue.QUERY:return this.getQueryType();case Oue.MUTATION:return this.getMutationType();case Oue.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(eee){return this.getTypeMap()[eee]}getPossibleTypes(eee){return rge(eee)?eee.getTypes():this.getImplementations(eee).objects}getImplementations(eee){const tee=this._implementationsMap[eee.name];return null!=tee?tee:{objects:[],interfaces:[]}}isSubType(eee,tee){let ree=this._subTypeMap[eee.name];if(void 0===ree){if(ree=Object.create(null),rge(eee))for(const tee of eee.getTypes())ree[tee.name]=!0;else{const tee=this.getImplementations(eee);for(const eee of tee.objects)ree[eee.name]=!0;for(const eee of tee.interfaces)ree[eee.name]=!0}this._subTypeMap[eee.name]=ree}return void 0!==ree[tee.name]}getDirectives(){return this._directives}getDirective(eee){return this.getDirectives().find((tee=>tee.name===eee))}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:void 0!==this.__validationErrors}}}function Iwe(eee,tee){const ree=vge(eee);if(!tee.has(ree))if(tee.add(ree),rge(ree))for(const oee of ree.getTypes())Iwe(oee,tee);else if(Zhe(ree)||ege(ree)){for(const eee of ree.getInterfaces())Iwe(eee,tee);for(const eee of Object.values(ree.getFields())){Iwe(eee.type,tee);for(const ree of eee.args)Iwe(ree.type,tee)}}else if(nge(ree))for(const oee of Object.values(ree.getFields()))Iwe(oee.type,tee);return tee}function Owe(eee){if(Twe(eee),eee.__validationErrors)return eee.__validationErrors;const tee=new Awe(eee);!function(eee){const tee=eee.schema,ree=tee.getQueryType();if(ree){if(!Zhe(ree)){var oee;eee.reportError(`Query root type must be Object type, it cannot be ${che(ree)}.`,null!==(oee=Rwe(tee,Oue.QUERY))&&void 0!==oee?oee:ree.astNode)}}else eee.reportError("Query root type must be provided.",tee.astNode);const nee=tee.getMutationType();var aee;nee&&!Zhe(nee)&&eee.reportError(`Mutation root type must be Object type if provided, it cannot be ${che(nee)}.`,null!==(aee=Rwe(tee,Oue.MUTATION))&&void 0!==aee?aee:nee.astNode);const iee=tee.getSubscriptionType();var see;iee&&!Zhe(iee)&&eee.reportError(`Subscription root type must be Object type if provided, it cannot be ${che(iee)}.`,null!==(see=Rwe(tee,Oue.SUBSCRIPTION))&&void 0!==see?see:iee.astNode)}(tee),function(eee){for(const ree of eee.schema.getDirectives())if(Zge(ree)){Dwe(eee,ree);for(const oee of ree.args){var tee;if(Dwe(eee,oee),sge(oee.type)||eee.reportError(`The type of @${ree.name}(${oee.name}:) must be Input Type but got: ${che(oee.type)}.`,oee.astNode),Age(oee)&&null!=oee.deprecationReason)eee.reportError(`Required argument @${ree.name}(${oee.name}:) cannot be deprecated.`,[Vwe(oee.astNode),null===(tee=oee.astNode)||void 0===tee?void 0:tee.type])}}else eee.reportError(`Expected directive but got: ${che(ree)}.`,null==ree?void 0:ree.astNode)}(tee),function(eee){const tee=function(eee){const tee=Object.create(null),ree=[],oee=Object.create(null);return nee;function nee(aee){if(tee[aee.name])return;tee[aee.name]=!0,oee[aee.name]=ree.length;const iee=Object.values(aee.getFields());for(const tee of iee)if(ige(tee.type)&&nge(tee.type.ofType)){const aee=tee.type.ofType,iee=oee[aee.name];if(ree.push(tee),void 0===iee)nee(aee);else{const tee=ree.slice(iee),oee=tee.map((eee=>eee.name)).join(".");eee.reportError(`Cannot reference Input Object "${aee.name}" within itself through a series of non-null fields: "${oee}".`,tee.map((eee=>eee.astNode)))}ree.pop()}oee[aee.name]=void 0}}(eee),ree=eee.schema.getTypeMap();for(const oee of Object.values(ree))mge(oee)?(_we(oee)||Dwe(eee,oee),Zhe(oee)||ege(oee)?(Cwe(eee,oee),Lwe(eee,oee)):rge(oee)?Mwe(eee,oee):oge(oee)?Pwe(eee,oee):nge(oee)&&(Uwe(eee,oee),tee(oee))):eee.reportError(`Expected GraphQL named type but got: ${che(oee)}.`,oee.astNode)}(tee);const ree=tee.getErrors();return eee.__validationErrors=ree,ree}function Nwe(eee){const tee=Owe(eee);if(0!==tee.length)throw new Error(tee.map((eee=>eee.message)).join("\n\n"))}class Awe{constructor(eee){this._errors=[],this.schema=eee}reportError(eee,tee){const ree=Array.isArray(tee)?tee.filter(Boolean):tee;this._errors.push(new yue(eee,{nodes:ree}))}getErrors(){return this._errors}}function Rwe(eee,tee){var ree;return null===(ree=[eee.astNode,...eee.extensionASTNodes].flatMap((eee=>{var tee;return null!==(tee=null==eee?void 0:eee.operationTypes)&&void 0!==tee?tee:[]})).find((eee=>eee.operation===tee)))||void 0===ree?void 0:ree.type}function Dwe(eee,tee){tee.name.startsWith("__")&&eee.reportError(`Name "${tee.name}" must not begin with "__", which is reserved by GraphQL introspection.`,tee.astNode)}function Cwe(eee,tee){const ree=Object.values(tee.getFields());0===ree.length&&eee.reportError(`Type ${tee.name} must define one or more fields.`,[tee.astNode,...tee.extensionASTNodes]);for(const iee of ree){var oee;if(Dwe(eee,iee),!lge(iee.type))eee.reportError(`The type of ${tee.name}.${iee.name} must be Output Type but got: ${che(iee.type)}.`,null===(oee=iee.astNode)||void 0===oee?void 0:oee.type);for(const ree of iee.args){const oee=ree.name;var nee,aee;if(Dwe(eee,ree),!sge(ree.type))eee.reportError(`The type of ${tee.name}.${iee.name}(${oee}:) must be Input Type but got: ${che(ree.type)}.`,null===(nee=ree.astNode)||void 0===nee?void 0:nee.type);if(Age(ree)&&null!=ree.deprecationReason)eee.reportError(`Required argument ${tee.name}.${iee.name}(${oee}:) cannot be deprecated.`,[Vwe(ree.astNode),null===(aee=ree.astNode)||void 0===aee?void 0:aee.type])}}}function Lwe(eee,tee){const ree=Object.create(null);for(const oee of tee.getInterfaces())ege(oee)?tee!==oee?ree[oee.name]?eee.reportError(`Type ${tee.name} can only implement ${oee.name} once.`,jwe(tee,oee)):(ree[oee.name]=!0,zwe(eee,tee,oee),Fwe(eee,tee,oee)):eee.reportError(`Type ${tee.name} cannot implement itself because it would create a circular reference.`,jwe(tee,oee)):eee.reportError(`Type ${che(tee)} must only implement Interface types, it cannot implement ${che(oee)}.`,jwe(tee,oee))}function Fwe(eee,tee,ree){const oee=tee.getFields();for(const lee of Object.values(ree.getFields())){const cee=lee.name,pee=oee[cee];if(pee){var nee,aee;if(!jge(eee.schema,pee.type,lee.type))eee.reportError(`Interface field ${ree.name}.${cee} expects type ${che(lee.type)} but ${tee.name}.${cee} is type ${che(pee.type)}.`,[null===(nee=lee.astNode)||void 0===nee?void 0:nee.type,null===(aee=pee.astNode)||void 0===aee?void 0:aee.type]);for(const oee of lee.args){const nee=oee.name,aee=pee.args.find((eee=>eee.name===nee));var iee,see;if(aee){if(!Uge(oee.type,aee.type))eee.reportError(`Interface field argument ${ree.name}.${cee}(${nee}:) expects type ${che(oee.type)} but ${tee.name}.${cee}(${nee}:) is type ${che(aee.type)}.`,[null===(iee=oee.astNode)||void 0===iee?void 0:iee.type,null===(see=aee.astNode)||void 0===see?void 0:see.type])}else eee.reportError(`Interface field argument ${ree.name}.${cee}(${nee}:) expected but ${tee.name}.${cee} does not provide it.`,[oee.astNode,pee.astNode])}for(const oee of pee.args){const nee=oee.name;!lee.args.find((eee=>eee.name===nee))&&Age(oee)&&eee.reportError(`Object field ${tee.name}.${cee} includes required argument ${nee} that is missing from the Interface field ${ree.name}.${cee}.`,[oee.astNode,lee.astNode])}}else eee.reportError(`Interface field ${ree.name}.${cee} expected but ${tee.name} does not provide it.`,[lee.astNode,tee.astNode,...tee.extensionASTNodes])}}function zwe(eee,tee,ree){const oee=tee.getInterfaces();for(const nee of ree.getInterfaces())oee.includes(nee)||eee.reportError(nee===tee?`Type ${tee.name} cannot implement ${ree.name} because it would create a circular reference.`:`Type ${tee.name} must implement ${nee.name} because it is implemented by ${ree.name}.`,[...jwe(ree,nee),...jwe(tee,ree)])}function Mwe(eee,tee){const ree=tee.getTypes();0===ree.length&&eee.reportError(`Union type ${tee.name} must define one or more member types.`,[tee.astNode,...tee.extensionASTNodes]);const oee=Object.create(null);for(const nee of ree)oee[nee.name]?eee.reportError(`Union type ${tee.name} can only include type ${nee.name} once.`,$we(tee,nee.name)):(oee[nee.name]=!0,Zhe(nee)||eee.reportError(`Union type ${tee.name} can only include Object types, it cannot include ${che(nee)}.`,$we(tee,String(nee))))}function Pwe(eee,tee){const ree=tee.getValues();0===ree.length&&eee.reportError(`Enum type ${tee.name} must define one or more values.`,[tee.astNode,...tee.extensionASTNodes]);for(const oee of ree)Dwe(eee,oee)}function Uwe(eee,tee){const ree=Object.values(tee.getFields());0===ree.length&&eee.reportError(`Input Object type ${tee.name} must define one or more fields.`,[tee.astNode,...tee.extensionASTNodes]);for(const aee of ree){var oee,nee;if(Dwe(eee,aee),!sge(aee.type))eee.reportError(`The type of ${tee.name}.${aee.name} must be Input Type but got: ${che(aee.type)}.`,null===(oee=aee.astNode)||void 0===oee?void 0:oee.type);if(Pge(aee)&&null!=aee.deprecationReason)eee.reportError(`Required input field ${tee.name}.${aee.name} cannot be deprecated.`,[Vwe(aee.astNode),null===(nee=aee.astNode)||void 0===nee?void 0:nee.type])}}function jwe(eee,tee){const{astNode:ree,extensionASTNodes:oee}=eee;return(null!=ree?[ree,...oee]:oee).flatMap((eee=>{var tee;return null!==(tee=eee.interfaces)&&void 0!==tee?tee:[]})).filter((eee=>eee.name.value===tee.name))}function $we(eee,tee){const{astNode:ree,extensionASTNodes:oee}=eee;return(null!=ree?[ree,...oee]:oee).flatMap((eee=>{var tee;return null!==(tee=eee.types)&&void 0!==tee?tee:[]})).filter((eee=>eee.name.value===tee))}function Vwe(eee){var tee;return null==eee||null===(tee=eee.directives)||void 0===tee?void 0:tee.find((eee=>eee.name.value===owe.name))}function qwe(eee,tee){switch(tee.kind){case Aue.LIST_TYPE:{const ree=qwe(eee,tee.type);return ree&&new uge(ree)}case Aue.NON_NULL_TYPE:{const ree=qwe(eee,tee.type);return ree&&new hge(ree)}case Aue.NAMED_TYPE:return eee.getType(tee.name.value)}}class Bwe{constructor(eee,tee,ree){this._schema=eee,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=null!=ree?ree:Ywe,tee&&(sge(tee)&&this._inputTypeStack.push(tee),pge(tee)&&this._parentTypeStack.push(tee),lge(tee)&&this._typeStack.push(tee))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(eee){const tee=this._schema;switch(eee.kind){case Aue.SELECTION_SET:{const eee=vge(this.getType());this._parentTypeStack.push(pge(eee)?eee:void 0);break}case Aue.FIELD:{const ree=this.getParentType();let oee,nee;ree&&(oee=this._getFieldDef(tee,ree,eee),oee&&(nee=oee.type)),this._fieldDefStack.push(oee),this._typeStack.push(lge(nee)?nee:void 0);break}case Aue.DIRECTIVE:this._directive=tee.getDirective(eee.name.value);break;case Aue.OPERATION_DEFINITION:{const ree=tee.getRootType(eee.operation);this._typeStack.push(Zhe(ree)?ree:void 0);break}case Aue.INLINE_FRAGMENT:case Aue.FRAGMENT_DEFINITION:{const ree=eee.typeCondition,oee=ree?qwe(tee,ree):vge(this.getType());this._typeStack.push(lge(oee)?oee:void 0);break}case Aue.VARIABLE_DEFINITION:{const ree=qwe(tee,eee.type);this._inputTypeStack.push(sge(ree)?ree:void 0);break}case Aue.ARGUMENT:{var ree;let tee,oee;const nee=null!==(ree=this.getDirective())&&void 0!==ree?ree:this.getFieldDef();nee&&(tee=nee.args.find((tee=>tee.name===eee.name.value)),tee&&(oee=tee.type)),this._argument=tee,this._defaultValueStack.push(tee?tee.defaultValue:void 0),this._inputTypeStack.push(sge(oee)?oee:void 0);break}case Aue.LIST:{const eee=bge(this.getInputType()),tee=age(eee)?eee.ofType:eee;this._defaultValueStack.push(void 0),this._inputTypeStack.push(sge(tee)?tee:void 0);break}case Aue.OBJECT_FIELD:{const tee=vge(this.getInputType());let ree,oee;nge(tee)&&(oee=tee.getFields()[eee.name.value],oee&&(ree=oee.type)),this._defaultValueStack.push(oee?oee.defaultValue:void 0),this._inputTypeStack.push(sge(ree)?ree:void 0);break}case Aue.ENUM:{const tee=vge(this.getInputType());let ree;oge(tee)&&(ree=tee.getValue(eee.value)),this._enumValue=ree;break}}}leave(eee){switch(eee.kind){case Aue.SELECTION_SET:this._parentTypeStack.pop();break;case Aue.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case Aue.DIRECTIVE:this._directive=null;break;case Aue.OPERATION_DEFINITION:case Aue.INLINE_FRAGMENT:case Aue.FRAGMENT_DEFINITION:this._typeStack.pop();break;case Aue.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case Aue.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case Aue.LIST:case Aue.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case Aue.ENUM:this._enumValue=null}}}function Ywe(eee,tee,ree){const oee=ree.name.value;return oee===vwe.name&&eee.getQueryType()===tee?vwe:oee===ywe.name&&eee.getQueryType()===tee?ywe:oee===xwe.name&&pge(tee)?xwe:Zhe(tee)||ege(tee)?tee.getFields()[oee]:void 0}function Gwe(eee,tee){return{enter(...ree){const oee=ree[0];eee.enter(oee);const fn=Uhe(tee,oee.kind).enter;if(fn){const nee=fn.apply(tee,ree);return void 0!==nee&&(eee.leave(oee),Iue(nee)&&eee.enter(nee)),nee}},leave(...ree){const oee=ree[0],fn=Uhe(tee,oee.kind).leave;let nee;return fn&&(nee=fn.apply(tee,ree)),eee.leave(oee),nee}}}function Qwe(eee){return eee.kind===Aue.OPERATION_DEFINITION||eee.kind===Aue.FRAGMENT_DEFINITION}function Wwe(eee){return eee.kind===Aue.VARIABLE||eee.kind===Aue.INT||eee.kind===Aue.FLOAT||eee.kind===Aue.STRING||eee.kind===Aue.BOOLEAN||eee.kind===Aue.NULL||eee.kind===Aue.ENUM||eee.kind===Aue.LIST||eee.kind===Aue.OBJECT}function Kwe(eee){return eee.kind===Aue.SCHEMA_DEFINITION||Hwe(eee)||eee.kind===Aue.DIRECTIVE_DEFINITION}function Hwe(eee){return eee.kind===Aue.SCALAR_TYPE_DEFINITION||eee.kind===Aue.OBJECT_TYPE_DEFINITION||eee.kind===Aue.INTERFACE_TYPE_DEFINITION||eee.kind===Aue.UNION_TYPE_DEFINITION||eee.kind===Aue.ENUM_TYPE_DEFINITION||eee.kind===Aue.INPUT_OBJECT_TYPE_DEFINITION}function Xwe(eee){return eee.kind===Aue.SCHEMA_EXTENSION||Zwe(eee)}function Zwe(eee){return eee.kind===Aue.SCALAR_TYPE_EXTENSION||eee.kind===Aue.OBJECT_TYPE_EXTENSION||eee.kind===Aue.INTERFACE_TYPE_EXTENSION||eee.kind===Aue.UNION_TYPE_EXTENSION||eee.kind===Aue.ENUM_TYPE_EXTENSION||eee.kind===Aue.INPUT_OBJECT_TYPE_EXTENSION}function Jwe(eee){return{Document(tee){for(const ree of tee.definitions)if(!Qwe(ree)){const tee=ree.kind===Aue.SCHEMA_DEFINITION||ree.kind===Aue.SCHEMA_EXTENSION?"schema":'"'+ree.name.value+'"';eee.reportError(new yue(`The ${tee} definition is not executable.`,{nodes:ree}))}return!1}}}function efe(eee){return{Field(tee){const ree=eee.getParentType();if(ree){if(!eee.getFieldDef()){const oee=eee.getSchema(),nee=tee.name.value;let aee=yhe("to use an inline fragment on",function(eee,tee,ree){if(!dge(tee))return[];const oee=new Set,nee=Object.create(null);for(const iee of eee.getPossibleTypes(tee))if(iee.getFields()[ree]){oee.add(iee),nee[iee.name]=1;for(const eee of iee.getInterfaces()){var aee;eee.getFields()[ree]&&(oee.add(eee),nee[eee.name]=(null!==(aee=nee[eee.name])&&void 0!==aee?aee:0)+1)}}return[...oee].sort(((tee,ree)=>{const oee=nee[ree.name]-nee[tee.name];return 0!==oee?oee:ege(tee)&&eee.isSubType(tee,ree)?-1:ege(ree)&&eee.isSubType(ree,tee)?1:The(tee.name,ree.name)})).map((x=>x.name))}(oee,ree,nee));""===aee&&(aee=yhe(function(eee,tee){if(Zhe(eee)||ege(eee)){return Nhe(tee,Object.keys(eee.getFields()))}return[]}(ree,nee))),eee.reportError(new yue(`Cannot query field "${nee}" on type "${ree.name}".`+aee,{nodes:tee}))}}}}}function tfe(eee){return{InlineFragment(tee){const ree=tee.typeCondition;if(ree){const tee=qwe(eee.getSchema(),ree);if(tee&&!pge(tee)){const tee=jhe(ree);eee.reportError(new yue(`Fragment cannot condition on non composite type "${tee}".`,{nodes:ree}))}}},FragmentDefinition(tee){const ree=qwe(eee.getSchema(),tee.typeCondition);if(ree&&!pge(ree)){const ree=jhe(tee.typeCondition);eee.reportError(new yue(`Fragment "${tee.name.value}" cannot condition on non composite type "${ree}".`,{nodes:tee.typeCondition}))}}}}function rfe(eee){return{...ofe(eee),Argument(tee){const ree=eee.getArgument(),oee=eee.getFieldDef(),nee=eee.getParentType();if(!ree&&oee&&nee){const ree=tee.name.value,aee=Nhe(ree,oee.args.map((eee=>eee.name)));eee.reportError(new yue(`Unknown argument "${ree}" on field "${nee.name}.${oee.name}".`+yhe(aee),{nodes:tee}))}}}}function ofe(eee){const tee=Object.create(null),ree=eee.getSchema(),oee=ree?ree.getDirectives():awe;for(const iee of oee)tee[iee.name]=iee.args.map((eee=>eee.name));const nee=eee.getDocument().definitions;for(const iee of nee)if(iee.kind===Aue.DIRECTIVE_DEFINITION){var aee;const eee=null!==(aee=iee.arguments)&&void 0!==aee?aee:[];tee[iee.name.value]=eee.map((eee=>eee.name.value))}return{Directive(ree){const oee=ree.name.value,nee=tee[oee];if(ree.arguments&&nee)for(const tee of ree.arguments){const ree=tee.name.value;if(!nee.includes(ree)){const aee=Nhe(ree,nee);eee.reportError(new yue(`Unknown argument "${ree}" on directive "@${oee}".`+yhe(aee),{nodes:tee}))}}return!1}}}function nfe(eee){const tee=Object.create(null),ree=eee.getSchema(),oee=ree?ree.getDirectives():awe;for(const aee of oee)tee[aee.name]=aee.locations;const nee=eee.getDocument().definitions;for(const aee of nee)aee.kind===Aue.DIRECTIVE_DEFINITION&&(tee[aee.name.value]=aee.locations.map((eee=>eee.value)));return{Directive(ree,oee,nee,aee,iee){const see=ree.name.value,lee=tee[see];if(!lee)return void eee.reportError(new yue(`Unknown directive "@${see}".`,{nodes:ree}));const cee=function(eee){const tee=eee[eee.length-1];switch("kind"in tee||gue(!1),tee.kind){case Aue.OPERATION_DEFINITION:return function(eee){switch(eee){case Oue.QUERY:return Nue.QUERY;case Oue.MUTATION:return Nue.MUTATION;case Oue.SUBSCRIPTION:return Nue.SUBSCRIPTION}}(tee.operation);case Aue.FIELD:return Nue.FIELD;case Aue.FRAGMENT_SPREAD:return Nue.FRAGMENT_SPREAD;case Aue.INLINE_FRAGMENT:return Nue.INLINE_FRAGMENT;case Aue.FRAGMENT_DEFINITION:return Nue.FRAGMENT_DEFINITION;case Aue.VARIABLE_DEFINITION:return Nue.VARIABLE_DEFINITION;case Aue.SCHEMA_DEFINITION:case Aue.SCHEMA_EXTENSION:return Nue.SCHEMA;case Aue.SCALAR_TYPE_DEFINITION:case Aue.SCALAR_TYPE_EXTENSION:return Nue.SCALAR;case Aue.OBJECT_TYPE_DEFINITION:case Aue.OBJECT_TYPE_EXTENSION:return Nue.OBJECT;case Aue.FIELD_DEFINITION:return Nue.FIELD_DEFINITION;case Aue.INTERFACE_TYPE_DEFINITION:case Aue.INTERFACE_TYPE_EXTENSION:return Nue.INTERFACE;case Aue.UNION_TYPE_DEFINITION:case Aue.UNION_TYPE_EXTENSION:return Nue.UNION;case Aue.ENUM_TYPE_DEFINITION:case Aue.ENUM_TYPE_EXTENSION:return Nue.ENUM;case Aue.ENUM_VALUE_DEFINITION:return Nue.ENUM_VALUE;case Aue.INPUT_OBJECT_TYPE_DEFINITION:case Aue.INPUT_OBJECT_TYPE_EXTENSION:return Nue.INPUT_OBJECT;case Aue.INPUT_VALUE_DEFINITION:{const tee=eee[eee.length-3];return"kind"in tee||gue(!1),tee.kind===Aue.INPUT_OBJECT_TYPE_DEFINITION?Nue.INPUT_FIELD_DEFINITION:Nue.ARGUMENT_DEFINITION}default:gue(!1,"Unexpected kind: "+che(tee.kind))}}(iee);cee&&!lee.includes(cee)&&eee.reportError(new yue(`Directive "@${see}" may not be used on ${cee}.`,{nodes:ree}))}}}function afe(eee){return{FragmentSpread(tee){const ree=tee.name.value;eee.getFragment(ree)||eee.reportError(new yue(`Unknown fragment "${ree}".`,{nodes:tee.name}))}}}function ife(eee){const tee=eee.getSchema(),ree=tee?tee.getTypeMap():Object.create(null),oee=Object.create(null);for(const aee of eee.getDocument().definitions)Hwe(aee)&&(oee[aee.name.value]=!0);const nee=[...Object.keys(ree),...Object.keys(oee)];return{NamedType(tee,_1,aee,_2,iee){const see=tee.name.value;if(!ree[see]&&!oee[see]){var lee;const ree=null!==(lee=iee[2])&&void 0!==lee?lee:aee,oee=null!=ree&&("kind"in(cee=ree)&&(Kwe(cee)||Xwe(cee)));if(oee&&sfe.includes(see))return;const pee=Nhe(see,oee?sfe.concat(nee):nee);eee.reportError(new yue(`Unknown type "${see}".`+yhe(pee),{nodes:tee}))}var cee}}}const sfe=[...Kge,...kwe].map((eee=>eee.name));function lfe(eee){let tee=0;return{Document(eee){tee=eee.definitions.filter((eee=>eee.kind===Aue.OPERATION_DEFINITION)).length},OperationDefinition(ree){!ree.name&&tee>1&&eee.reportError(new yue("This anonymous operation must be the only defined operation.",{nodes:ree}))}}}function cfe(eee){var tee,ree,oee;const nee=eee.getSchema(),aee=null!==(tee=null!==(ree=null!==(oee=null==nee?void 0:nee.astNode)&&void 0!==oee?oee:null==nee?void 0:nee.getQueryType())&&void 0!==ree?ree:null==nee?void 0:nee.getMutationType())&&void 0!==tee?tee:null==nee?void 0:nee.getSubscriptionType();let iee=0;return{SchemaDefinition(tee){aee?eee.reportError(new yue("Cannot define a new schema within a schema extension.",{nodes:tee})):(iee>0&&eee.reportError(new yue("Must provide only one schema definition.",{nodes:tee})),++iee)}}}function pfe(eee){const tee=Object.create(null),ree=[],oee=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition:eee=>(nee(eee),!1)};function nee(aee){if(tee[aee.name.value])return;const iee=aee.name.value;tee[iee]=!0;const see=eee.getFragmentSpreads(aee.selectionSet);if(0!==see.length){oee[iee]=ree.length;for(const tee of see){const aee=tee.name.value,iee=oee[aee];if(ree.push(tee),void 0===iee){const tee=eee.getFragment(aee);tee&&nee(tee)}else{const tee=ree.slice(iee),oee=tee.slice(0,-1).map((s=>'"'+s.name.value+'"')).join(", ");eee.reportError(new yue(`Cannot spread fragment "${aee}" within itself`+(""!==oee?` via ${oee}.`:"."),{nodes:tee}))}ree.pop()}oee[iee]=void 0}}}function dfe(eee){let tee=Object.create(null);return{OperationDefinition:{enter(){tee=Object.create(null)},leave(ree){const oee=eee.getRecursiveVariableUsages(ree);for(const{node:nee}of oee){const oee=nee.name.value;!0!==tee[oee]&&eee.reportError(new yue(ree.name?`Variable "$${oee}" is not defined by operation "${ree.name.value}".`:`Variable "$${oee}" is not defined.`,{nodes:[nee,ree]}))}}},VariableDefinition(eee){tee[eee.variable.name.value]=!0}}}function ufe(eee){const tee=[],ree=[];return{OperationDefinition:eee=>(tee.push(eee),!1),FragmentDefinition:eee=>(ree.push(eee),!1),Document:{leave(){const oee=Object.create(null);for(const ree of tee)for(const tee of eee.getRecursivelyReferencedFragments(ree))oee[tee.name.value]=!0;for(const tee of ree){const ree=tee.name.value;!0!==oee[ree]&&eee.reportError(new yue(`Fragment "${ree}" is never used.`,{nodes:tee}))}}}}}function hfe(eee){let tee=[];return{OperationDefinition:{enter(){tee=[]},leave(ree){const oee=Object.create(null),nee=eee.getRecursiveVariableUsages(ree);for(const{node:eee}of nee)oee[eee.name.value]=!0;for(const aee of tee){const tee=aee.variable.name.value;!0!==oee[tee]&&eee.reportError(new yue(ree.name?`Variable "$${tee}" is never used in operation "${ree.name.value}".`:`Variable "$${tee}" is never used.`,{nodes:aee}))}}},VariableDefinition(eee){tee.push(eee)}}}function gfe(eee){switch(eee.kind){case Aue.OBJECT:return{...eee,fields:(tee=eee.fields,tee.map((eee=>({...eee,value:gfe(eee.value)}))).sort(((eee,tee)=>The(eee.name.value,tee.name.value))))};case Aue.LIST:return{...eee,values:eee.values.map(gfe)};case Aue.INT:case Aue.FLOAT:case Aue.STRING:case Aue.BOOLEAN:case Aue.NULL:case Aue.ENUM:case Aue.VARIABLE:return eee}var tee}function wfe(eee){return Array.isArray(eee)?eee.map((([eee,tee])=>`subfields "${eee}" conflict because `+wfe(tee))).join(" and "):eee}function ffe(eee){const tee=new Sfe,ree=new Map;return{SelectionSet(oee){const nee=function(eee,tee,ree,oee,nee){const aee=[],[iee,see]=_fe(eee,tee,oee,nee);if(function(eee,tee,ree,oee,nee){for(const[aee,iee]of Object.entries(nee))if(iee.length>1)for(let i=0;i[eee.value,tee])));return ree.every((eee=>{const tee=eee.value,ree=nee.get(eee.name.value);return void 0!==ree&&xfe(tee)===xfe(ree)}))}(lee,dee))return[[nee,"they have differing arguments"],[lee],[dee]]}const gee=null==cee?void 0:cee.type,wee=null==uee?void 0:uee.type;if(gee&&wee&&kfe(gee,wee))return[[nee,`they return conflicting types "${che(gee)}" and "${che(wee)}"`],[lee],[dee]];const fee=lee.selectionSet,bee=dee.selectionSet;if(fee&&bee){const oee=function(eee,tee,ree,oee,nee,aee,iee,see){const lee=[],[cee,pee]=_fe(eee,tee,nee,aee),[dee,uee]=_fe(eee,tee,iee,see);vfe(eee,lee,tee,ree,oee,cee,dee);for(const hee of uee)bfe(eee,lee,tee,ree,oee,cee,hee);for(const hee of pee)bfe(eee,lee,tee,ree,oee,dee,hee);for(const hee of pee)for(const nee of uee)mfe(eee,lee,tee,ree,oee,hee,nee);return lee}(eee,tee,ree,hee,vge(gee),fee,vge(wee),bee);return function(eee,tee,ree,oee){if(eee.length>0)return[[tee,eee.map((([eee])=>eee))],[ree,...eee.map((([,eee])=>eee)).flat()],[oee,...eee.map((([,,eee])=>eee)).flat()]]}(oee,nee,lee,dee)}}function xfe(eee){return jhe(gfe(eee))}function kfe(eee,tee){return age(eee)?!age(tee)||kfe(eee.ofType,tee.ofType):!!age(tee)||(ige(eee)?!ige(tee)||kfe(eee.ofType,tee.ofType):!!ige(tee)||!(!cge(eee)&&!cge(tee))&&eee!==tee)}function _fe(eee,tee,ree,oee){const nee=tee.get(oee);if(nee)return nee;const aee=Object.create(null),iee=Object.create(null);Tfe(eee,ree,oee,aee,iee);const see=[aee,Object.keys(iee)];return tee.set(oee,see),see}function Efe(eee,tee,ree){const oee=tee.get(ree.selectionSet);if(oee)return oee;const nee=qwe(eee.getSchema(),ree.typeCondition);return _fe(eee,tee,nee,ree.selectionSet)}function Tfe(eee,tee,ree,oee,nee){for(const aee of ree.selections)switch(aee.kind){case Aue.FIELD:{const eee=aee.name.value;let ree;(Zhe(tee)||ege(tee))&&(ree=tee.getFields()[eee]);const nee=aee.alias?aee.alias.value:eee;oee[nee]||(oee[nee]=[]),oee[nee].push([tee,aee,ree]);break}case Aue.FRAGMENT_SPREAD:nee[aee.name.value]=!0;break;case Aue.INLINE_FRAGMENT:{const ree=aee.typeCondition,iee=ree?qwe(eee.getSchema(),ree):tee;Tfe(eee,iee,aee.selectionSet,oee,nee);break}}}class Sfe{constructor(){this._data=new Map}has(a,b,eee){var tee;const[ree,oee]=aeee.name.value)));for(const aee of oee.args)if(!nee.has(aee.name)&&Age(aee)){const ree=che(aee.type);eee.reportError(new yue(`Field "${oee.name}" argument "${aee.name}" of type "${ree}" is required, but it was not provided.`,{nodes:tee}))}}}}}function Rfe(eee){var tee;const ree=Object.create(null),oee=eee.getSchema(),nee=null!==(tee=null==oee?void 0:oee.getDirectives())&&void 0!==tee?tee:awe;for(const see of nee)ree[see.name]=khe(see.args.filter(Age),(eee=>eee.name));const aee=eee.getDocument().definitions;for(const see of aee)if(see.kind===Aue.DIRECTIVE_DEFINITION){var iee;const eee=null!==(iee=see.arguments)&&void 0!==iee?iee:[];ree[see.name.value]=khe(eee.filter(Dfe),(eee=>eee.name.value))}return{Directive:{leave(tee){const oee=tee.name.value,nee=ree[oee];if(nee){var aee;const ree=null!==(aee=tee.arguments)&&void 0!==aee?aee:[],iee=new Set(ree.map((eee=>eee.name.value)));for(const[aee,see]of Object.entries(nee))if(!iee.has(aee)){const ree=Hhe(see.type)?che(see.type):jhe(see.type);eee.reportError(new yue(`Directive "@${oee}" argument "${aee}" of type "${ree}" is required, but it was not provided.`,{nodes:tee}))}}}}}}function Dfe(eee){return eee.type.kind===Aue.NON_NULL_TYPE&&null==eee.defaultValue}function Cfe(eee){return{Field(tee){const ree=eee.getType(),oee=tee.selectionSet;if(ree)if(cge(vge(ree))){if(oee){const nee=tee.name.value,aee=che(ree);eee.reportError(new yue(`Field "${nee}" must not have a selection since type "${aee}" has no subfields.`,{nodes:oee}))}}else if(!oee){const oee=tee.name.value,nee=che(ree);eee.reportError(new yue(`Field "${oee}" of type "${nee}" must have a selection of subfields. Did you mean "${oee} { ... }"?`,{nodes:tee}))}}}}function Lfe(eee){return eee.map((eee=>"number"==typeof eee?"["+eee.toString()+"]":"."+eee)).join("")}function Ffe(eee,tee,ree){return{prev:eee,key:tee,typename:ree}}function zfe(eee){const tee=[];let ree=eee;for(;ree;)tee.push(ree.key),ree=ree.prev;return tee.reverse()}function Mfe(eee,tee,ree=Pfe){return Ufe(eee,tee,ree,void 0)}function Pfe(eee,tee,ree){let oee="Invalid value "+che(tee);throw eee.length>0&&(oee+=` at "value${Lfe(eee)}"`),ree.message=oee+": "+ree.message,ree}function Ufe(eee,tee,ree,oee){if(ige(tee))return null!=eee?Ufe(eee,tee.ofType,ree,oee):void ree(zfe(oee),eee,new yue(`Expected non-nullable type "${che(tee)}" not to be null.`));if(null==eee)return null;if(age(tee)){const nee=tee.ofType;return swe(eee)?Array.from(eee,((eee,tee)=>{const aee=Ffe(oee,tee,void 0);return Ufe(eee,nee,ree,aee)})):[Ufe(eee,nee,ree,oee)]}if(nge(tee)){if(!hue(eee))return void ree(zfe(oee),eee,new yue(`Expected type "${tee.name}" to be an object.`));const nee={},aee=tee.getFields();for(const iee of Object.values(aee)){const aee=eee[iee.name];if(void 0!==aee)nee[iee.name]=Ufe(aee,iee.type,ree,Ffe(oee,iee.name,tee.name));else if(void 0!==iee.defaultValue)nee[iee.name]=iee.defaultValue;else if(ige(iee.type)){const tee=che(iee.type);ree(zfe(oee),eee,new yue(`Field "${iee.name}" of required type "${tee}" was not provided.`))}}for(const iee of Object.keys(eee))if(!aee[iee]){const nee=Nhe(iee,Object.keys(tee.getFields()));ree(zfe(oee),eee,new yue(`Field "${iee}" is not defined by type "${tee.name}".`+yhe(nee)))}return nee}if(cge(tee)){let aee;try{aee=tee.parseValue(eee)}catch(nee){return void ree(zfe(oee),eee,nee instanceof yue?nee:new yue(`Expected type "${tee.name}". `+nee.message,{originalError:nee}))}return void 0===aee&&ree(zfe(oee),eee,new yue(`Expected type "${tee.name}".`)),aee}gue(!1,"Unexpected input type: "+che(tee))}function jfe(eee,tee,ree){if(eee){if(eee.kind===Aue.VARIABLE){const oee=eee.name.value;if(null==ree||void 0===ree[oee])return;const nee=ree[oee];if(null===nee&&ige(tee))return;return nee}if(ige(tee)){if(eee.kind===Aue.NULL)return;return jfe(eee,tee.ofType,ree)}if(eee.kind===Aue.NULL)return null;if(age(tee)){const oee=tee.ofType;if(eee.kind===Aue.LIST){const tee=[];for(const nee of eee.values)if($fe(nee,ree)){if(ige(oee))return;tee.push(null)}else{const eee=jfe(nee,oee,ree);if(void 0===eee)return;tee.push(eee)}return tee}const nee=jfe(eee,oee,ree);if(void 0===nee)return;return[nee]}if(nge(tee)){if(eee.kind!==Aue.OBJECT)return;const oee=Object.create(null),nee=khe(eee.fields,(eee=>eee.name.value));for(const eee of Object.values(tee.getFields())){const tee=nee[eee.name];if(!tee||$fe(tee.value,ree)){if(void 0!==eee.defaultValue)oee[eee.name]=eee.defaultValue;else if(ige(eee.type))return;continue}const aee=jfe(tee.value,eee.type,ree);if(void 0===aee)return;oee[eee.name]=aee}return oee}if(cge(tee)){let nee;try{nee=tee.parseLiteral(eee,ree)}catch(oee){return}if(void 0===nee)return;return nee}gue(!1,"Unexpected input type: "+che(tee))}}function $fe(eee,tee){return eee.kind===Aue.VARIABLE&&(null==tee||void 0===tee[eee.name.value])}function Vfe(eee,tee,ree,oee){const nee=[],aee=null==oee?void 0:oee.maxErrors;try{const oee=function(eee,tee,ree,oee){const nee={};for(const aee of tee){const tee=aee.variable.name.value,iee=qwe(eee,aee.type);if(!sge(iee)){const eee=jhe(aee.type);oee(new yue(`Variable "$${tee}" expected value of type "${eee}" which cannot be used as an input type.`,{nodes:aee.type}));continue}if(!Yfe(ree,tee)){if(aee.defaultValue)nee[tee]=jfe(aee.defaultValue,iee);else if(ige(iee)){const eee=che(iee);oee(new yue(`Variable "$${tee}" of required type "${eee}" was not provided.`,{nodes:aee}))}continue}const see=ree[tee];if(null===see&&ige(iee)){const eee=che(iee);oee(new yue(`Variable "$${tee}" of non-null type "${eee}" must not be null.`,{nodes:aee}))}else nee[tee]=Mfe(see,iee,((eee,ree,nee)=>{let iee=`Variable "$${tee}" got invalid value `+che(ree);eee.length>0&&(iee+=` at "${tee}${Lfe(eee)}"`),oee(new yue(iee+"; "+nee.message,{nodes:aee,originalError:nee}))}))}return nee}(eee,tee,ree,(eee=>{if(null!=aee&&nee.length>=aee)throw new yue("Too many errors processing variables, error limit reached. Execution aborted.");nee.push(eee)}));if(0===nee.length)return{coerced:oee}}catch(iee){nee.push(iee)}return{errors:nee}}function qfe(eee,tee,ree){var oee;const nee={},aee=khe(null!==(oee=tee.arguments)&&void 0!==oee?oee:[],(eee=>eee.name.value));for(const iee of eee.args){const eee=iee.name,oee=iee.type,see=aee[eee];if(!see){if(void 0!==iee.defaultValue)nee[eee]=iee.defaultValue;else if(ige(oee))throw new yue(`Argument "${eee}" of required type "${che(oee)}" was not provided.`,{nodes:tee});continue}const lee=see.value;let cee=lee.kind===Aue.NULL;if(lee.kind===Aue.VARIABLE){const tee=lee.name.value;if(null==ree||!Yfe(ree,tee)){if(void 0!==iee.defaultValue)nee[eee]=iee.defaultValue;else if(ige(oee))throw new yue(`Argument "${eee}" of required type "${che(oee)}" was provided the variable "$${tee}" which was not provided a runtime value.`,{nodes:lee});continue}cee=null==ree[tee]}if(cee&&ige(oee))throw new yue(`Argument "${eee}" of non-null type "${che(oee)}" must not be null.`,{nodes:lee});const pee=jfe(lee,oee,ree);if(void 0===pee)throw new yue(`Argument "${eee}" has invalid value ${jhe(lee)}.`,{nodes:lee});nee[eee]=pee}return nee}function Bfe(eee,tee,ree){var oee;const nee=null===(oee=tee.directives)||void 0===oee?void 0:oee.find((tee=>tee.name.value===eee.name));if(nee)return qfe(eee,nee,ree)}function Yfe(eee,tee){return Object.prototype.hasOwnProperty.call(eee,tee)}function Gfe(eee,tee,ree,oee,nee){const aee=new Map;return Qfe(eee,tee,ree,oee,nee,aee,new Set),aee}function Qfe(eee,tee,ree,oee,nee,aee,iee){for(const lee of nee.selections)switch(lee.kind){case Aue.FIELD:{if(!Wfe(ree,lee))continue;const eee=(see=lee).alias?see.alias.value:see.name.value,tee=aee.get(eee);void 0!==tee?tee.push(lee):aee.set(eee,[lee]);break}case Aue.INLINE_FRAGMENT:if(!Wfe(ree,lee)||!Kfe(eee,lee,oee))continue;Qfe(eee,tee,ree,oee,lee.selectionSet,aee,iee);break;case Aue.FRAGMENT_SPREAD:{const nee=lee.name.value;if(iee.has(nee)||!Wfe(ree,lee))continue;iee.add(nee);const see=tee[nee];if(!see||!Kfe(eee,see,oee))continue;Qfe(eee,tee,ree,oee,see.selectionSet,aee,iee);break}}var see}function Wfe(eee,tee){const ree=Bfe(twe,tee,eee);if(!0===(null==ree?void 0:ree.if))return!1;const oee=Bfe(ewe,tee,eee);return!1!==(null==oee?void 0:oee.if)}function Kfe(eee,tee,ree){const oee=tee.typeCondition;if(!oee)return!0;const nee=qwe(eee,oee);return nee===ree||!!dge(nee)&&eee.isSubType(nee,ree)}function Hfe(eee){return{OperationDefinition(tee){if("subscription"===tee.operation){const ree=eee.getSchema(),oee=ree.getSubscriptionType();if(oee){const nee=tee.name?tee.name.value:null,aee=Object.create(null),iee=eee.getDocument(),see=Object.create(null);for(const eee of iee.definitions)eee.kind===Aue.FRAGMENT_DEFINITION&&(see[eee.name.value]=eee);const lee=Gfe(ree,see,aee,oee,tee.selectionSet);if(lee.size>1){const tee=[...lee.values()].slice(1).flat();eee.reportError(new yue(null!=nee?`Subscription "${nee}" must select only one top level field.`:"Anonymous Subscription must select only one top level field.",{nodes:tee}))}for(const tee of lee.values()){tee[0].name.value.startsWith("__")&&eee.reportError(new yue(null!=nee?`Subscription "${nee}" must not select an introspection top level field.`:"Anonymous Subscription must not select an introspection top level field.",{nodes:tee}))}}}}}}function Xfe(eee,tee){const ree=new Map;for(const oee of eee){const eee=tee(oee),nee=ree.get(eee);void 0===nee?ree.set(eee,[oee]):nee.push(oee)}return ree}function Zfe(eee){return{DirectiveDefinition(eee){var tee;const oee=null!==(tee=eee.arguments)&&void 0!==tee?tee:[];return ree(`@${eee.name.value}`,oee)},InterfaceTypeDefinition:tee,InterfaceTypeExtension:tee,ObjectTypeDefinition:tee,ObjectTypeExtension:tee};function tee(eee){var tee;const oee=eee.name.value,nee=null!==(tee=eee.fields)&&void 0!==tee?tee:[];for(const iee of nee){var aee;ree(`${oee}.${iee.name.value}`,null!==(aee=iee.arguments)&&void 0!==aee?aee:[])}return!1}function ree(tee,ree){const oee=Xfe(ree,(eee=>eee.name.value));for(const[nee,aee]of oee)aee.length>1&&eee.reportError(new yue(`Argument "${tee}(${nee}:)" can only be defined once.`,{nodes:aee.map((eee=>eee.name))}));return!1}}function Jfe(eee){return{Field:tee,Directive:tee};function tee(tee){var ree;const oee=Xfe(null!==(ree=tee.arguments)&&void 0!==ree?ree:[],(eee=>eee.name.value));for(const[nee,aee]of oee)aee.length>1&&eee.reportError(new yue(`There can be only one argument named "${nee}".`,{nodes:aee.map((eee=>eee.name))}))}}function ebe(eee){const tee=Object.create(null),ree=eee.getSchema();return{DirectiveDefinition(oee){const nee=oee.name.value;if(null==ree||!ree.getDirective(nee))return tee[nee]?eee.reportError(new yue(`There can be only one directive named "@${nee}".`,{nodes:[tee[nee],oee.name]})):tee[nee]=oee.name,!1;eee.reportError(new yue(`Directive "@${nee}" already exists in the schema. It cannot be redefined.`,{nodes:oee.name}))}}}function tbe(eee){const tee=Object.create(null),ree=eee.getSchema(),oee=ree?ree.getDirectives():awe;for(const see of oee)tee[see.name]=!see.isRepeatable;const nee=eee.getDocument().definitions;for(const see of nee)see.kind===Aue.DIRECTIVE_DEFINITION&&(tee[see.name.value]=!see.repeatable);const aee=Object.create(null),iee=Object.create(null);return{enter(ree){if(!("directives"in ree)||!ree.directives)return;let oee;if(ree.kind===Aue.SCHEMA_DEFINITION||ree.kind===Aue.SCHEMA_EXTENSION)oee=aee;else if(Hwe(ree)||Zwe(ree)){const eee=ree.name.value;oee=iee[eee],void 0===oee&&(iee[eee]=oee=Object.create(null))}else oee=Object.create(null);for(const nee of ree.directives){const ree=nee.name.value;tee[ree]&&(oee[ree]?eee.reportError(new yue(`The directive "@${ree}" can only be used once at this location.`,{nodes:[oee[ree],nee]})):oee[ree]=nee)}}}}function rbe(eee){const tee=eee.getSchema(),ree=tee?tee.getTypeMap():Object.create(null),oee=Object.create(null);return{EnumTypeDefinition:nee,EnumTypeExtension:nee};function nee(tee){var nee;const aee=tee.name.value;oee[aee]||(oee[aee]=Object.create(null));const iee=null!==(nee=tee.values)&&void 0!==nee?nee:[],see=oee[aee];for(const oee of iee){const tee=oee.name.value,nee=ree[aee];oge(nee)&&nee.getValue(tee)?eee.reportError(new yue(`Enum value "${aee}.${tee}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:oee.name})):see[tee]?eee.reportError(new yue(`Enum value "${aee}.${tee}" can only be defined once.`,{nodes:[see[tee],oee.name]})):see[tee]=oee.name}return!1}}function obe(eee){const tee=eee.getSchema(),ree=tee?tee.getTypeMap():Object.create(null),oee=Object.create(null);return{InputObjectTypeDefinition:nee,InputObjectTypeExtension:nee,InterfaceTypeDefinition:nee,InterfaceTypeExtension:nee,ObjectTypeDefinition:nee,ObjectTypeExtension:nee};function nee(tee){var nee;const aee=tee.name.value;oee[aee]||(oee[aee]=Object.create(null));const iee=null!==(nee=tee.fields)&&void 0!==nee?nee:[],see=oee[aee];for(const oee of iee){const tee=oee.name.value;nbe(ree[aee],tee)?eee.reportError(new yue(`Field "${aee}.${tee}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:oee.name})):see[tee]?eee.reportError(new yue(`Field "${aee}.${tee}" can only be defined once.`,{nodes:[see[tee],oee.name]})):see[tee]=oee.name}return!1}}function nbe(eee,tee){return!!(Zhe(eee)||ege(eee)||nge(eee))&&null!=eee.getFields()[tee]}function abe(eee){const tee=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition(ree){const oee=ree.name.value;return tee[oee]?eee.reportError(new yue(`There can be only one fragment named "${oee}".`,{nodes:[tee[oee],ree.name]})):tee[oee]=ree.name,!1}}}function ibe(eee){const tee=[];let ree=Object.create(null);return{ObjectValue:{enter(){tee.push(ree),ree=Object.create(null)},leave(){const eee=tee.pop();eee||gue(!1),ree=eee}},ObjectField(tee){const oee=tee.name.value;ree[oee]?eee.reportError(new yue(`There can be only one input field named "${oee}".`,{nodes:[ree[oee],tee.name]})):ree[oee]=tee.name}}}function sbe(eee){const tee=Object.create(null);return{OperationDefinition(ree){const oee=ree.name;return oee&&(tee[oee.value]?eee.reportError(new yue(`There can be only one operation named "${oee.value}".`,{nodes:[tee[oee.value],oee]})):tee[oee.value]=oee),!1},FragmentDefinition:()=>!1}}function lbe(eee){const tee=eee.getSchema(),ree=Object.create(null),oee=tee?{query:tee.getQueryType(),mutation:tee.getMutationType(),subscription:tee.getSubscriptionType()}:{};return{SchemaDefinition:nee,SchemaExtension:nee};function nee(tee){var nee;const aee=null!==(nee=tee.operationTypes)&&void 0!==nee?nee:[];for(const iee of aee){const tee=iee.operation,nee=ree[tee];oee[tee]?eee.reportError(new yue(`Type for ${tee} already defined in the schema. It cannot be redefined.`,{nodes:iee})):nee?eee.reportError(new yue(`There can be only one ${tee} type in schema.`,{nodes:[nee,iee]})):ree[tee]=iee}return!1}}function cbe(eee){const tee=Object.create(null),ree=eee.getSchema();return{ScalarTypeDefinition:oee,ObjectTypeDefinition:oee,InterfaceTypeDefinition:oee,UnionTypeDefinition:oee,EnumTypeDefinition:oee,InputObjectTypeDefinition:oee};function oee(oee){const nee=oee.name.value;if(null==ree||!ree.getType(nee))return tee[nee]?eee.reportError(new yue(`There can be only one type named "${nee}".`,{nodes:[tee[nee],oee.name]})):tee[nee]=oee.name,!1;eee.reportError(new yue(`Type "${nee}" already exists in the schema. It cannot also be defined in this type definition.`,{nodes:oee.name}))}}function pbe(eee){return{OperationDefinition(tee){var ree;const oee=Xfe(null!==(ree=tee.variableDefinitions)&&void 0!==ree?ree:[],(eee=>eee.variable.name.value));for(const[nee,aee]of oee)aee.length>1&&eee.reportError(new yue(`There can be only one variable named "$${nee}".`,{nodes:aee.map((eee=>eee.variable.name))}))}}}function dbe(eee){return{ListValue(tee){if(!age(bge(eee.getParentInputType())))return ube(eee,tee),!1},ObjectValue(tee){const ree=vge(eee.getInputType());if(!nge(ree))return ube(eee,tee),!1;const oee=khe(tee.fields,(eee=>eee.name.value));for(const nee of Object.values(ree.getFields())){if(!oee[nee.name]&&Pge(nee)){const oee=che(nee.type);eee.reportError(new yue(`Field "${ree.name}.${nee.name}" of required type "${oee}" was not provided.`,{nodes:tee}))}}},ObjectField(tee){const ree=vge(eee.getParentInputType());if(!eee.getInputType()&&nge(ree)){const oee=Nhe(tee.name.value,Object.keys(ree.getFields()));eee.reportError(new yue(`Field "${tee.name.value}" is not defined by type "${ree.name}".`+yhe(oee),{nodes:tee}))}},NullValue(tee){const ree=eee.getInputType();ige(ree)&&eee.reportError(new yue(`Expected value of type "${che(ree)}", found ${jhe(tee)}.`,{nodes:tee}))},EnumValue:tee=>ube(eee,tee),IntValue:tee=>ube(eee,tee),FloatValue:tee=>ube(eee,tee),StringValue:tee=>ube(eee,tee),BooleanValue:tee=>ube(eee,tee)}}function ube(eee,tee){const ree=eee.getInputType();if(!ree)return;const oee=vge(ree);if(cge(oee))try{if(void 0===oee.parseLiteral(tee,void 0)){const oee=che(ree);eee.reportError(new yue(`Expected value of type "${oee}", found ${jhe(tee)}.`,{nodes:tee}))}}catch(nee){const oee=che(ree);nee instanceof yue?eee.reportError(nee):eee.reportError(new yue(`Expected value of type "${oee}", found ${jhe(tee)}; `+nee.message,{nodes:tee,originalError:nee}))}else{const oee=che(ree);eee.reportError(new yue(`Expected value of type "${oee}", found ${jhe(tee)}.`,{nodes:tee}))}}function hbe(eee){return{VariableDefinition(tee){const ree=qwe(eee.getSchema(),tee.type);if(void 0!==ree&&!sge(ree)){const ree=tee.variable.name.value,oee=jhe(tee.type);eee.reportError(new yue(`Variable "$${ree}" cannot be non-input type "${oee}".`,{nodes:tee.type}))}}}}function gbe(eee){let tee=Object.create(null);return{OperationDefinition:{enter(){tee=Object.create(null)},leave(ree){const oee=eee.getRecursiveVariableUsages(ree);for(const{node:nee,type:aee,defaultValue:iee}of oee){const ree=nee.name.value,oee=tee[ree];if(oee&&aee){const tee=eee.getSchema(),see=qwe(tee,oee.type);if(see&&!wbe(tee,see,oee.defaultValue,aee,iee)){const tee=che(see),iee=che(aee);eee.reportError(new yue(`Variable "$${ree}" of type "${tee}" used in position expecting type "${iee}".`,{nodes:[oee,nee]}))}}}}},VariableDefinition(eee){tee[eee.variable.name.value]=eee}}}function wbe(eee,tee,ree,oee,nee){if(ige(oee)&&!ige(tee)){if(!(null!=ree&&ree.kind!==Aue.NULL)&&!(void 0!==nee))return!1;return jge(eee,tee,oee.ofType)}return jge(eee,tee,oee)}const fbe=Object.freeze([Jwe,sbe,lfe,Hfe,ife,tfe,hbe,Cfe,efe,abe,afe,ufe,Ife,pfe,pbe,dfe,hfe,nfe,tbe,rfe,Jfe,dbe,Afe,gbe,ffe,ibe]),bbe=Object.freeze([cfe,lbe,cbe,rbe,obe,Zfe,ebe,ife,nfe,tbe,Ofe,ofe,Jfe,ibe,Rfe]);class mbe{constructor(eee,tee){this._ast=eee,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=tee}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(eee){this._onError(eee)}getDocument(){return this._ast}getFragment(eee){let tee;if(this._fragments)tee=this._fragments;else{tee=Object.create(null);for(const eee of this.getDocument().definitions)eee.kind===Aue.FRAGMENT_DEFINITION&&(tee[eee.name.value]=eee);this._fragments=tee}return tee[eee]}getFragmentSpreads(eee){let tee=this._fragmentSpreads.get(eee);if(!tee){tee=[];const ree=[eee];let oee;for(;oee=ree.pop();)for(const eee of oee.selections)eee.kind===Aue.FRAGMENT_SPREAD?tee.push(eee):eee.selectionSet&&ree.push(eee.selectionSet);this._fragmentSpreads.set(eee,tee)}return tee}getRecursivelyReferencedFragments(eee){let tee=this._recursivelyReferencedFragments.get(eee);if(!tee){tee=[];const ree=Object.create(null),oee=[eee.selectionSet];let nee;for(;nee=oee.pop();)for(const eee of this.getFragmentSpreads(nee)){const nee=eee.name.value;if(!0!==ree[nee]){ree[nee]=!0;const eee=this.getFragment(nee);eee&&(tee.push(eee),oee.push(eee.selectionSet))}}this._recursivelyReferencedFragments.set(eee,tee)}return tee}}class vbe extends mbe{constructor(eee,tee,ree){super(eee,ree),this._schema=tee}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}}class ybe extends mbe{constructor(eee,tee,ree,oee){super(tee,oee),this._schema=eee,this._typeInfo=ree,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(eee){let tee=this._variableUsages.get(eee);if(!tee){const ree=[],oee=new Bwe(this._schema);Mhe(eee,Gwe(oee,{VariableDefinition:()=>!1,Variable(eee){ree.push({node:eee,type:oee.getInputType(),defaultValue:oee.getDefaultValue()})}})),tee=ree,this._variableUsages.set(eee,tee)}return tee}getRecursiveVariableUsages(eee){let tee=this._recursiveVariableUsages.get(eee);if(!tee){tee=this.getVariableUsages(eee);for(const ree of this.getRecursivelyReferencedFragments(eee))tee=tee.concat(this.getVariableUsages(ree));this._recursiveVariableUsages.set(eee,tee)}return tee}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}}function xbe(eee,tee,ree=fbe,oee,nee=new Bwe(eee)){var aee;const iee=null!==(aee=null==oee?void 0:oee.maxErrors)&&void 0!==aee?aee:100;tee||due(!1,"Must provide document."),Nwe(eee);const see=Object.freeze({}),lee=[],cee=new ybe(eee,tee,nee,(eee=>{if(lee.length>=iee)throw lee.push(new yue("Too many validation errors, error limit reached. Validation aborted.")),see;lee.push(eee)})),pee=Phe(ree.map((eee=>eee(cee))));try{Mhe(tee,Gwe(nee,pee))}catch(e){if(e!==see)throw e}return lee}function kbe(eee,tee,ree=bbe){const oee=[],nee=new vbe(eee,tee,(eee=>{oee.push(eee)}));return Mhe(eee,Phe(ree.map((eee=>eee(nee))))),oee}function _be(eee){return Promise.all(Object.values(eee)).then((tee=>{const ree=Object.create(null);for(const[i,oee]of Object.keys(eee).entries())ree[oee]=tee[i];return ree}))}class Ebe extends Error{constructor(eee){super("Unexpected error value: "+che(eee)),this.name="NonErrorThrown",this.thrownValue=eee}}function Tbe(eee,tee,ree){var oee;const nee=(aee=eee)instanceof Error?aee:new Ebe(aee);var aee,iee;return iee=nee,Array.isArray(iee.path)?nee:new yue(nee.message,{nodes:null!==(oee=nee.nodes)&&void 0!==oee?oee:tee,source:nee.source,positions:nee.positions,path:ree,originalError:nee})}const Sbe=function(fn){let eee;return function(a1,a2,a3){void 0===eee&&(eee=new WeakMap);let tee=eee.get(a1);void 0===tee&&(tee=new WeakMap,eee.set(a1,tee));let ree=tee.get(a2);void 0===ree&&(ree=new WeakMap,tee.set(a2,ree));let oee=ree.get(a3);return void 0===oee&&(oee=fn(a1,a2,a3),ree.set(a3,oee)),oee}}(((eee,tee,ree)=>function(eee,tee,ree,oee,nee){const aee=new Map,iee=new Set;for(const see of nee)see.selectionSet&&Qfe(eee,tee,ree,oee,see.selectionSet,aee,iee);return aee}(eee.schema,eee.fragments,eee.variableValues,tee,ree)));function Ibe(eee){arguments.length<2||due(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");const{schema:tee,document:ree,variableValues:oee,rootValue:nee}=eee;Abe(tee,ree,oee);const aee=Rbe(eee);if(!("schema"in aee))return{errors:aee};try{const{operation:eee}=aee,tee=function(eee,tee,ree){const oee=eee.schema.getRootType(tee.operation);if(null==oee)throw new yue(`Schema is not configured to execute ${tee.operation} operation.`,{nodes:tee});const nee=Gfe(eee.schema,eee.fragments,eee.variableValues,oee,tee.selectionSet),aee=void 0;switch(tee.operation){case Oue.QUERY:return Dbe(eee,oee,ree,aee,nee);case Oue.MUTATION:return function(eee,tee,ree,oee,nee){return function(eee,tee,ree){let oee=ree;for(const nee of eee)oee=uue(oee)?oee.then((eee=>tee(eee,nee))):tee(oee,nee);return oee}(nee.entries(),((nee,[aee,iee])=>{const see=Ffe(oee,aee,tee.name),lee=Cbe(eee,tee,ree,iee,see);return void 0===lee?nee:uue(lee)?lee.then((eee=>(nee[aee]=eee,nee))):(nee[aee]=lee,nee)}),Object.create(null))}(eee,oee,ree,aee,nee);case Oue.SUBSCRIPTION:return Dbe(eee,oee,ree,aee,nee)}}(aee,eee,nee);return uue(tee)?tee.then((eee=>Nbe(eee,aee.errors)),(eee=>(aee.errors.push(eee),Nbe(null,aee.errors)))):Nbe(tee,aee.errors)}catch(iee){return aee.errors.push(iee),Nbe(null,aee.errors)}}function Obe(eee){const tee=Ibe(eee);if(uue(tee))throw new Error("GraphQL execution failed to complete synchronously.");return tee}function Nbe(eee,tee){return 0===tee.length?{data:eee}:{errors:tee,data:eee}}function Abe(eee,tee,ree){tee||due(!1,"Must provide document."),Nwe(eee),null==ree||hue(ree)||due(!1,"Variables must be provided as an Object where each property is a variable value. Perhaps look to see if an unparsed JSON string was provided.")}function Rbe(eee){var tee,ree;const{schema:oee,document:nee,rootValue:aee,contextValue:iee,variableValues:see,operationName:lee,fieldResolver:cee,typeResolver:pee,subscribeFieldResolver:dee}=eee;let uee;const hee=Object.create(null);for(const wee of nee.definitions)switch(wee.kind){case Aue.OPERATION_DEFINITION:if(null==lee){if(void 0!==uee)return[new yue("Must provide operation name if query contains multiple operations.")];uee=wee}else(null===(tee=wee.name)||void 0===tee?void 0:tee.value)===lee&&(uee=wee);break;case Aue.FRAGMENT_DEFINITION:hee[wee.name.value]=wee}if(!uee)return null!=lee?[new yue(`Unknown operation named "${lee}".`)]:[new yue("Must provide an operation.")];const gee=Vfe(oee,null!==(ree=uee.variableDefinitions)&&void 0!==ree?ree:[],null!=see?see:{},{maxErrors:50});return gee.errors?gee.errors:{schema:oee,fragments:hee,rootValue:aee,contextValue:iee,operation:uee,variableValues:gee.coerced,fieldResolver:null!=cee?cee:$be,typeResolver:null!=pee?pee:jbe,subscribeFieldResolver:null!=dee?dee:$be,errors:[]}}function Dbe(eee,tee,ree,oee,nee){const aee=Object.create(null);let iee=!1;try{for(const[see,lee]of nee.entries()){const nee=Cbe(eee,tee,ree,lee,Ffe(oee,see,tee.name));void 0!==nee&&(aee[see]=nee,uue(nee)&&(iee=!0))}}catch(see){if(iee)return _be(aee).finally((()=>{throw see}));throw see}return iee?_be(aee):aee}function Cbe(eee,tee,ree,oee,nee){var aee;const iee=Vbe(eee.schema,tee,oee[0]);if(!iee)return;const see=iee.type,lee=null!==(aee=iee.resolve)&&void 0!==aee?aee:eee.fieldResolver,cee=Lbe(eee,iee,oee,tee,nee);try{const tee=qfe(iee,oee[0],eee.variableValues),aee=lee(ree,tee,eee.contextValue,cee);let pee;return pee=uue(aee)?aee.then((tee=>zbe(eee,see,oee,cee,nee,tee))):zbe(eee,see,oee,cee,nee,aee),uue(pee)?pee.then(void 0,(tee=>Fbe(Tbe(tee,oee,zfe(nee)),see,eee))):pee}catch(pee){return Fbe(Tbe(pee,oee,zfe(nee)),see,eee)}}function Lbe(eee,tee,ree,oee,nee){return{fieldName:tee.name,fieldNodes:ree,returnType:tee.type,parentType:oee,path:nee,schema:eee.schema,fragments:eee.fragments,rootValue:eee.rootValue,operation:eee.operation,variableValues:eee.variableValues}}function Fbe(eee,tee,ree){if(ige(tee))throw eee;return ree.errors.push(eee),null}function zbe(eee,tee,ree,oee,nee,aee){if(aee instanceof Error)throw aee;if(ige(tee)){const iee=zbe(eee,tee.ofType,ree,oee,nee,aee);if(null===iee)throw new Error(`Cannot return null for non-nullable field ${oee.parentType.name}.${oee.fieldName}.`);return iee}return null==aee?null:age(tee)?function(eee,tee,ree,oee,nee,aee){if(!swe(aee))throw new yue(`Expected Iterable, but did not find one for field "${oee.parentType.name}.${oee.fieldName}".`);const iee=tee.ofType;let see=!1;const lee=Array.from(aee,((tee,aee)=>{const lee=Ffe(nee,aee,void 0);try{let nee;return nee=uue(tee)?tee.then((tee=>zbe(eee,iee,ree,oee,lee,tee))):zbe(eee,iee,ree,oee,lee,tee),uue(nee)?(see=!0,nee.then(void 0,(tee=>Fbe(Tbe(tee,ree,zfe(lee)),iee,eee)))):nee}catch(cee){return Fbe(Tbe(cee,ree,zfe(lee)),iee,eee)}}));return see?Promise.all(lee):lee}(eee,tee,ree,oee,nee,aee):cge(tee)?function(eee,tee){const ree=eee.serialize(tee);if(null==ree)throw new Error(`Expected \`${che(eee)}.serialize(${che(tee)})\` to return non-nullable value, returned: ${che(ree)}`);return ree}(tee,aee):dge(tee)?function(eee,tee,ree,oee,nee,aee){var iee;const see=null!==(iee=tee.resolveType)&&void 0!==iee?iee:eee.typeResolver,lee=eee.contextValue,cee=see(aee,lee,oee,tee);if(uue(cee))return cee.then((iee=>Pbe(eee,Mbe(iee,eee,tee,ree,oee,aee),ree,oee,nee,aee)));return Pbe(eee,Mbe(cee,eee,tee,ree,oee,aee),ree,oee,nee,aee)}(eee,tee,ree,oee,nee,aee):Zhe(tee)?Pbe(eee,tee,ree,oee,nee,aee):void gue(!1,"Cannot complete value of unexpected output type: "+che(tee))}function Mbe(eee,tee,ree,oee,nee,aee){if(null==eee)throw new yue(`Abstract type "${ree.name}" must resolve to an Object type at runtime for field "${nee.parentType.name}.${nee.fieldName}". Either the "${ree.name}" type should provide a "resolveType" function or each possible type should provide an "isTypeOf" function.`,oee);if(Zhe(eee))throw new yue("Support for returning GraphQLObjectType from resolveType was removed in graphql-js@16.0.0 please return type name instead.");if("string"!=typeof eee)throw new yue(`Abstract type "${ree.name}" must resolve to an Object type at runtime for field "${nee.parentType.name}.${nee.fieldName}" with value ${che(aee)}, received "${che(eee)}".`);const iee=tee.schema.getType(eee);if(null==iee)throw new yue(`Abstract type "${ree.name}" was resolved to a type "${eee}" that does not exist inside the schema.`,{nodes:oee});if(!Zhe(iee))throw new yue(`Abstract type "${ree.name}" was resolved to a non-object type "${eee}".`,{nodes:oee});if(!tee.schema.isSubType(ree,iee))throw new yue(`Runtime Object type "${iee.name}" is not a possible type for "${ree.name}".`,{nodes:oee});return iee}function Pbe(eee,tee,ree,oee,nee,aee){const iee=Sbe(eee,tee,ree);if(tee.isTypeOf){const see=tee.isTypeOf(aee,eee.contextValue,oee);if(uue(see))return see.then((oee=>{if(!oee)throw Ube(tee,aee,ree);return Dbe(eee,tee,aee,nee,iee)}));if(!see)throw Ube(tee,aee,ree)}return Dbe(eee,tee,aee,nee,iee)}function Ube(eee,tee,ree){return new yue(`Expected value of type "${eee.name}" but got: ${che(tee)}.`,{nodes:ree})}const jbe=function(eee,tee,ree,oee){if(hue(eee)&&"string"==typeof eee.__typename)return eee.__typename;const nee=ree.schema.getPossibleTypes(oee),aee=[];for(let i=0;i{for(let i=0;i0)return{errors:cee};let pee;try{pee=ghe(ree)}catch(kue){return{errors:[kue]}}const dee=xbe(tee,pee);return dee.length>0?{errors:dee}:Ibe({schema:tee,document:pee,rootValue:oee,contextValue:nee,variableValues:aee,operationName:iee,fieldResolver:see,typeResolver:lee})}function Bbe(eee){return"function"==typeof(null==eee?void 0:eee[Symbol.asyncIterator])}async function Ybe(...eee){const tee=function(eee){const tee=eee[0];return tee&&"document"in tee?tee:{schema:tee,document:eee[1],rootValue:eee[2],contextValue:eee[3],variableValues:eee[4],operationName:eee[5],subscribeFieldResolver:eee[6]}}(eee),{schema:ree,document:oee,variableValues:nee}=tee;Abe(ree,oee,nee);const aee=Rbe(tee);if(!("schema"in aee))return{errors:aee};try{const eee=await async function(eee){const{schema:tee,fragments:ree,operation:oee,variableValues:nee,rootValue:aee}=eee,iee=tee.getSubscriptionType();if(null==iee)throw new yue("Schema is not configured to execute subscription operation.",{nodes:oee});const see=Gfe(tee,ree,nee,iee,oee.selectionSet),[lee,cee]=[...see.entries()][0],pee=Vbe(tee,iee,cee[0]);if(!pee){const eee=cee[0].name.value;throw new yue(`The subscription field "${eee}" is not defined.`,{nodes:cee})}const dee=Ffe(void 0,lee,iee.name),uee=Lbe(eee,pee,cee,iee,dee);try{var hee;const tee=qfe(pee,cee[0],nee),ree=eee.contextValue,oee=null!==(hee=pee.subscribe)&&void 0!==hee?hee:eee.subscribeFieldResolver,iee=await oee(aee,tee,ree,uee);if(iee instanceof Error)throw iee;return iee}catch(gee){throw Tbe(gee,cee,zfe(dee))}}(aee);if(!Bbe(eee))throw new Error(`Subscription field must return Async Iterable. Received: ${che(eee)}.`);return eee}catch(iee){if(iee instanceof yue)return{errors:[iee]};throw iee}}function Gbe(eee){const tee={descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,...eee},ree=tee.descriptions?"description":"",oee=tee.specifiedByUrl?"specifiedByURL":"",nee=tee.directiveIsRepeatable?"isRepeatable":"";function aee(eee){return tee.inputValueDeprecation?eee:""}return`\n query IntrospectionQuery {\n __schema {\n ${tee.schemaDescription?ree:""}\n queryType { name }\n mutationType { name }\n subscriptionType { name }\n types {\n ...FullType\n }\n directives {\n name\n ${ree}\n ${nee}\n locations\n args${aee("(includeDeprecated: true)")} {\n ...InputValue\n }\n }\n }\n }\n\n fragment FullType on __Type {\n kind\n name\n ${ree}\n ${oee}\n fields(includeDeprecated: true) {\n name\n ${ree}\n args${aee("(includeDeprecated: true)")} {\n ...InputValue\n }\n type {\n ...TypeRef\n }\n isDeprecated\n deprecationReason\n }\n inputFields${aee("(includeDeprecated: true)")} {\n ...InputValue\n }\n interfaces {\n ...TypeRef\n }\n enumValues(includeDeprecated: true) {\n name\n ${ree}\n isDeprecated\n deprecationReason\n }\n possibleTypes {\n ...TypeRef\n }\n }\n\n fragment InputValue on __InputValue {\n name\n ${ree}\n type { ...TypeRef }\n defaultValue\n ${aee("isDeprecated")}\n ${aee("deprecationReason")}\n }\n\n fragment TypeRef on __Type {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n `}function Qbe(eee,tee,ree){var oee,nee,aee,iee;const see=[],lee=Object.create(null),cee=[];let pee;const dee=[];for(const Aee of tee.definitions)if(Aee.kind===Aue.SCHEMA_DEFINITION)pee=Aee;else if(Aee.kind===Aue.SCHEMA_EXTENSION)dee.push(Aee);else if(Hwe(Aee))see.push(Aee);else if(Zwe(Aee)){const eee=Aee.name.value,tee=lee[eee];lee[eee]=tee?tee.concat([Aee]):[Aee]}else Aee.kind===Aue.DIRECTIVE_DEFINITION&&cee.push(Aee);if(0===Object.keys(lee).length&&0===see.length&&0===cee.length&&0===dee.length&&null==pee)return eee;const uee=Object.create(null);for(const Aee of eee.types)uee[Aee.name]=bee(Aee);for(const Aee of see){var hee;const eee=Aee.name.value;uee[eee]=null!==(hee=Wbe[eee])&&void 0!==hee?hee:Nee(Aee)}const gee={query:eee.query&&fee(eee.query),mutation:eee.mutation&&fee(eee.mutation),subscription:eee.subscription&&fee(eee.subscription),...pee&&yee([pee]),...yee(dee)};return{description:null===(oee=pee)||void 0===oee||null===(nee=oee.description)||void 0===nee?void 0:nee.value,...gee,types:Object.values(uee),directives:[...eee.directives.map((function(eee){const tee=eee.toConfig();return new Jge({...tee,args:Ehe(tee.args,vee)})})),...cee.map((function(eee){var tee;return new Jge({name:eee.name.value,description:null===(tee=eee.description)||void 0===tee?void 0:tee.value,locations:eee.locations.map((({value:eee})=>eee)),isRepeatable:eee.repeatable,args:Eee(eee.arguments),astNode:eee})}))],extensions:Object.create(null),astNode:null!==(aee=pee)&&void 0!==aee?aee:eee.astNode,extensionASTNodes:eee.extensionASTNodes.concat(dee),assumeValid:null!==(iee=null==ree?void 0:ree.assumeValid)&&void 0!==iee&&iee};function wee(eee){return age(eee)?new uge(wee(eee.ofType)):ige(eee)?new hge(wee(eee.ofType)):fee(eee)}function fee(eee){return uee[eee.name]}function bee(eee){return _we(eee)||Hge(eee)?eee:Xhe(eee)?function(eee){var tee;const ree=eee.toConfig(),oee=null!==(tee=lee[ree.name])&&void 0!==tee?tee:[];let nee=ree.specifiedByURL;for(const iee of oee){var aee;nee=null!==(aee=Hbe(iee))&&void 0!==aee?aee:nee}return new kge({...ree,specifiedByURL:nee,extensionASTNodes:ree.extensionASTNodes.concat(oee)})}(eee):Zhe(eee)?function(eee){var tee;const ree=eee.toConfig(),oee=null!==(tee=lee[ree.name])&&void 0!==tee?tee:[];return new _ge({...ree,interfaces:()=>[...eee.getInterfaces().map(fee),...Iee(oee)],fields:()=>({...Ehe(ree.fields,mee),..._ee(oee)}),extensionASTNodes:ree.extensionASTNodes.concat(oee)})}(eee):ege(eee)?function(eee){var tee;const ree=eee.toConfig(),oee=null!==(tee=lee[ree.name])&&void 0!==tee?tee:[];return new Rge({...ree,interfaces:()=>[...eee.getInterfaces().map(fee),...Iee(oee)],fields:()=>({...Ehe(ree.fields,mee),..._ee(oee)}),extensionASTNodes:ree.extensionASTNodes.concat(oee)})}(eee):rge(eee)?function(eee){var tee;const ree=eee.toConfig(),oee=null!==(tee=lee[ree.name])&&void 0!==tee?tee:[];return new Dge({...ree,types:()=>[...eee.getTypes().map(fee),...Oee(oee)],extensionASTNodes:ree.extensionASTNodes.concat(oee)})}(eee):oge(eee)?function(eee){var tee;const ree=eee.toConfig(),oee=null!==(tee=lee[eee.name])&&void 0!==tee?tee:[];return new Lge({...ree,values:{...ree.values,...See(oee)},extensionASTNodes:ree.extensionASTNodes.concat(oee)})}(eee):nge(eee)?function(eee){var tee;const ree=eee.toConfig(),oee=null!==(tee=lee[ree.name])&&void 0!==tee?tee:[];return new zge({...ree,fields:()=>({...Ehe(ree.fields,(eee=>({...eee,type:wee(eee.type)}))),...Tee(oee)}),extensionASTNodes:ree.extensionASTNodes.concat(oee)})}(eee):void gue(!1,"Unexpected type: "+che(eee))}function mee(eee){return{...eee,type:wee(eee.type),args:eee.args&&Ehe(eee.args,vee)}}function vee(eee){return{...eee,type:wee(eee.type)}}function yee(eee){const tee={};for(const oee of eee){var ree;const eee=null!==(ree=oee.operationTypes)&&void 0!==ree?ree:[];for(const ree of eee)tee[ree.operation]=xee(ree.type)}return tee}function xee(eee){var tee;const ree=eee.name.value,oee=null!==(tee=Wbe[ree])&&void 0!==tee?tee:uee[ree];if(void 0===oee)throw new Error(`Unknown type: "${ree}".`);return oee}function kee(eee){return eee.kind===Aue.LIST_TYPE?new uge(kee(eee.type)):eee.kind===Aue.NON_NULL_TYPE?new hge(kee(eee.type)):xee(eee)}function _ee(eee){const tee=Object.create(null);for(const nee of eee){var ree;const eee=null!==(ree=nee.fields)&&void 0!==ree?ree:[];for(const ree of eee){var oee;tee[ree.name.value]={type:kee(ree.type),description:null===(oee=ree.description)||void 0===oee?void 0:oee.value,args:Eee(ree.arguments),deprecationReason:Kbe(ree),astNode:ree}}}return tee}function Eee(eee){const tee=null!=eee?eee:[],ree=Object.create(null);for(const nee of tee){var oee;const eee=kee(nee.type);ree[nee.name.value]={type:eee,description:null===(oee=nee.description)||void 0===oee?void 0:oee.value,defaultValue:jfe(nee.defaultValue,eee),deprecationReason:Kbe(nee),astNode:nee}}return ree}function Tee(eee){const tee=Object.create(null);for(const nee of eee){var ree;const eee=null!==(ree=nee.fields)&&void 0!==ree?ree:[];for(const ree of eee){var oee;const eee=kee(ree.type);tee[ree.name.value]={type:eee,description:null===(oee=ree.description)||void 0===oee?void 0:oee.value,defaultValue:jfe(ree.defaultValue,eee),deprecationReason:Kbe(ree),astNode:ree}}}return tee}function See(eee){const tee=Object.create(null);for(const nee of eee){var ree;const eee=null!==(ree=nee.values)&&void 0!==ree?ree:[];for(const ree of eee){var oee;tee[ree.name.value]={description:null===(oee=ree.description)||void 0===oee?void 0:oee.value,deprecationReason:Kbe(ree),astNode:ree}}}return tee}function Iee(eee){return eee.flatMap((eee=>{var tee,ree;return null!==(tee=null===(ree=eee.interfaces)||void 0===ree?void 0:ree.map(xee))&&void 0!==tee?tee:[]}))}function Oee(eee){return eee.flatMap((eee=>{var tee,ree;return null!==(tee=null===(ree=eee.types)||void 0===ree?void 0:ree.map(xee))&&void 0!==tee?tee:[]}))}function Nee(eee){var tee;const ree=eee.name.value,oee=null!==(tee=lee[ree])&&void 0!==tee?tee:[];switch(eee.kind){case Aue.OBJECT_TYPE_DEFINITION:{var nee;const tee=[eee,...oee];return new _ge({name:ree,description:null===(nee=eee.description)||void 0===nee?void 0:nee.value,interfaces:()=>Iee(tee),fields:()=>_ee(tee),astNode:eee,extensionASTNodes:oee})}case Aue.INTERFACE_TYPE_DEFINITION:{var aee;const tee=[eee,...oee];return new Rge({name:ree,description:null===(aee=eee.description)||void 0===aee?void 0:aee.value,interfaces:()=>Iee(tee),fields:()=>_ee(tee),astNode:eee,extensionASTNodes:oee})}case Aue.ENUM_TYPE_DEFINITION:{var iee;const tee=[eee,...oee];return new Lge({name:ree,description:null===(iee=eee.description)||void 0===iee?void 0:iee.value,values:See(tee),astNode:eee,extensionASTNodes:oee})}case Aue.UNION_TYPE_DEFINITION:{var see;const tee=[eee,...oee];return new Dge({name:ree,description:null===(see=eee.description)||void 0===see?void 0:see.value,types:()=>Oee(tee),astNode:eee,extensionASTNodes:oee})}case Aue.SCALAR_TYPE_DEFINITION:var cee;return new kge({name:ree,description:null===(cee=eee.description)||void 0===cee?void 0:cee.value,specifiedByURL:Hbe(eee),astNode:eee,extensionASTNodes:oee});case Aue.INPUT_OBJECT_TYPE_DEFINITION:{var pee;const tee=[eee,...oee];return new zge({name:ree,description:null===(pee=eee.description)||void 0===pee?void 0:pee.value,fields:()=>Tee(tee),astNode:eee,extensionASTNodes:oee})}}}}const Wbe=khe([...Kge,...kwe],(eee=>eee.name));function Kbe(eee){const tee=Bfe(owe,eee);return null==tee?void 0:tee.reason}function Hbe(eee){const tee=Bfe(nwe,eee);return null==tee?void 0:tee.url}function Xbe(eee,tee){null!=eee&&eee.kind===Aue.DOCUMENT||due(!1,"Must provide valid Document AST."),!0!==(null==tee?void 0:tee.assumeValid)&&!0!==(null==tee?void 0:tee.assumeValidSDL)&&function(eee){const tee=kbe(eee);if(0!==tee.length)throw new Error(tee.map((eee=>eee.message)).join("\n\n"))}(eee);const ree=Qbe({description:void 0,types:[],directives:[],extensions:Object.create(null),extensionASTNodes:[],assumeValid:!1},eee,tee);if(null==ree.astNode)for(const nee of ree.types)switch(nee.name){case"Query":ree.query=nee;break;case"Mutation":ree.mutation=nee;break;case"Subscription":ree.subscription=nee}const oee=[...ree.directives,...awe.filter((eee=>ree.directives.every((tee=>tee.name!==eee.name))))];return new Swe({...ree,directives:oee})}function Zbe(eee,tee){const ree=Object.create(null);for(const oee of Object.keys(eee).sort(The))ree[oee]=tee(eee[oee]);return ree}function Jbe(eee){return eme(eee,(eee=>eee.name))}function eme(eee,tee){return eee.slice().sort(((eee,ree)=>The(tee(eee),tee(ree))))}function tme(eee){return!Hge(eee)&&!_we(eee)}function rme(eee,tee,ree){const oee=eee.getDirectives().filter(tee),nee=Object.values(eee.getTypeMap()).filter(ree);return[ome(eee),...oee.map((eee=>function(eee){return dme(eee)+"directive @"+eee.name+lme(eee.args)+(eee.isRepeatable?" repeatable":"")+" on "+eee.locations.join(" | ")}(eee))),...nee.map((eee=>nme(eee)))].filter(Boolean).join("\n\n")}function ome(eee){if(null==eee.description&&function(eee){const tee=eee.getQueryType();if(tee&&"Query"!==tee.name)return!1;const ree=eee.getMutationType();if(ree&&"Mutation"!==ree.name)return!1;const oee=eee.getSubscriptionType();if(oee&&"Subscription"!==oee.name)return!1;return!0}(eee))return;const tee=[],ree=eee.getQueryType();ree&&tee.push(` query: ${ree.name}`);const oee=eee.getMutationType();oee&&tee.push(` mutation: ${oee.name}`);const nee=eee.getSubscriptionType();return nee&&tee.push(` subscription: ${nee.name}`),dme(eee)+`schema {\n${tee.join("\n")}\n}`}function nme(eee){return Xhe(eee)?function(eee){return dme(eee)+`scalar ${eee.name}`+function(eee){if(null==eee.specifiedByURL)return"";return` @specifiedBy(url: ${jhe({kind:Aue.STRING,value:eee.specifiedByURL})})`}(eee)}(eee):Zhe(eee)?function(eee){return dme(eee)+`type ${eee.name}`+ame(eee)+ime(eee)}(eee):ege(eee)?function(eee){return dme(eee)+`interface ${eee.name}`+ame(eee)+ime(eee)}(eee):rge(eee)?function(eee){const tee=eee.getTypes(),ree=tee.length?" = "+tee.join(" | "):"";return dme(eee)+"union "+eee.name+ree}(eee):oge(eee)?function(eee){const tee=eee.getValues().map(((eee,i)=>dme(eee," ",!i)+" "+eee.name+pme(eee.deprecationReason)));return dme(eee)+`enum ${eee.name}`+sme(tee)}(eee):nge(eee)?function(eee){const tee=Object.values(eee.getFields()).map(((f,i)=>dme(f," ",!i)+" "+cme(f)));return dme(eee)+`input ${eee.name}`+sme(tee)}(eee):void gue(!1,"Unexpected type: "+che(eee))}function ame(eee){const tee=eee.getInterfaces();return tee.length?" implements "+tee.map((i=>i.name)).join(" & "):""}function ime(eee){const tee=Object.values(eee.getFields()).map(((f,i)=>dme(f," ",!i)+" "+f.name+lme(f.args," ")+": "+String(f.type)+pme(f.deprecationReason)));return sme(tee)}function sme(eee){return 0!==eee.length?" {\n"+eee.join("\n")+"\n}":""}function lme(eee,tee=""){return 0===eee.length?"":eee.every((eee=>!eee.description))?"("+eee.map(cme).join(", ")+")":"(\n"+eee.map(((eee,i)=>dme(eee," "+tee,!i)+" "+tee+cme(eee))).join("\n")+"\n"+tee+")"}function cme(eee){const tee=lwe(eee.defaultValue,eee.type);let ree=eee.name+": "+String(eee.type);return tee&&(ree+=` = ${jhe(tee)}`),ree+pme(eee.deprecationReason)}function pme(eee){if(null==eee)return"";if(eee!==rwe){return` @deprecated(reason: ${jhe({kind:Aue.STRING,value:eee})})`}return" @deprecated"}function dme(eee,tee="",ree=!0){const{description:oee}=eee;if(null==oee)return"";return(tee&&!ree?"\n"+tee:tee)+jhe({kind:Aue.STRING,value:oee,block:Uue(oee)}).replace(/\n/g,"\n"+tee)+"\n"}function ume(eee,tee,ree){if(!eee.has(ree)){eee.add(ree);const oee=tee[ree];if(void 0!==oee)for(const ree of oee)ume(eee,tee,ree)}}function hme(eee){const tee=[];return Mhe(eee,{FragmentSpread(eee){tee.push(eee.name.value)}}),tee}function gme(eee){if("string"==typeof eee||due(!1,"Expected name to be a string."),eee.startsWith("__"))return new yue(`Name "${eee}" must not begin with "__", which is reserved by GraphQL introspection.`);try{Whe(eee)}catch(tee){return tee}}var wme,fme;function bme(eee,tee){return[...vme(eee,tee),...mme(eee,tee)]}function mme(eee,tee){const ree=[],oee=Ame(eee.getDirectives(),tee.getDirectives());for(const nee of oee.removed)ree.push({type:wme.DIRECTIVE_REMOVED,description:`${nee.name} was removed.`});for(const[nee,aee]of oee.persisted){const eee=Ame(nee.args,aee.args);for(const tee of eee.added)Age(tee)&&ree.push({type:wme.REQUIRED_DIRECTIVE_ARG_ADDED,description:`A required arg ${tee.name} on directive ${nee.name} was added.`});for(const tee of eee.removed)ree.push({type:wme.DIRECTIVE_ARG_REMOVED,description:`${tee.name} was removed from ${nee.name}.`});nee.isRepeatable&&!aee.isRepeatable&&ree.push({type:wme.DIRECTIVE_REPEATABLE_REMOVED,description:`Repeatable flag was removed from ${nee.name}.`});for(const tee of nee.locations)aee.locations.includes(tee)||ree.push({type:wme.DIRECTIVE_LOCATION_REMOVED,description:`${tee} was removed from ${nee.name}.`})}return ree}function vme(eee,tee){const ree=[],oee=Ame(Object.values(eee.getTypeMap()),Object.values(tee.getTypeMap()));for(const nee of oee.removed)ree.push({type:wme.TYPE_REMOVED,description:Hge(nee)?`Standard scalar ${nee.name} was removed because it is not referenced anymore.`:`${nee.name} was removed.`});for(const[nee,aee]of oee.persisted)oge(nee)&&oge(aee)?ree.push(...kme(nee,aee)):rge(nee)&&rge(aee)?ree.push(...xme(nee,aee)):nge(nee)&&nge(aee)?ree.push(...yme(nee,aee)):Zhe(nee)&&Zhe(aee)||ege(nee)&&ege(aee)?ree.push(...Eme(nee,aee),..._me(nee,aee)):nee.constructor!==aee.constructor&&ree.push({type:wme.TYPE_CHANGED_KIND,description:`${nee.name} changed from ${Ome(nee)} to ${Ome(aee)}.`});return ree}function yme(eee,tee){const ree=[],oee=Ame(Object.values(eee.getFields()),Object.values(tee.getFields()));for(const nee of oee.added)Pge(nee)?ree.push({type:wme.REQUIRED_INPUT_FIELD_ADDED,description:`A required field ${nee.name} on input type ${eee.name} was added.`}):ree.push({type:fme.OPTIONAL_INPUT_FIELD_ADDED,description:`An optional field ${nee.name} on input type ${eee.name} was added.`});for(const nee of oee.removed)ree.push({type:wme.FIELD_REMOVED,description:`${eee.name}.${nee.name} was removed.`});for(const[nee,aee]of oee.persisted){Ime(nee.type,aee.type)||ree.push({type:wme.FIELD_CHANGED_KIND,description:`${eee.name}.${nee.name} changed type from ${String(nee.type)} to ${String(aee.type)}.`})}return ree}function xme(eee,tee){const ree=[],oee=Ame(eee.getTypes(),tee.getTypes());for(const nee of oee.added)ree.push({type:fme.TYPE_ADDED_TO_UNION,description:`${nee.name} was added to union type ${eee.name}.`});for(const nee of oee.removed)ree.push({type:wme.TYPE_REMOVED_FROM_UNION,description:`${nee.name} was removed from union type ${eee.name}.`});return ree}function kme(eee,tee){const ree=[],oee=Ame(eee.getValues(),tee.getValues());for(const nee of oee.added)ree.push({type:fme.VALUE_ADDED_TO_ENUM,description:`${nee.name} was added to enum type ${eee.name}.`});for(const nee of oee.removed)ree.push({type:wme.VALUE_REMOVED_FROM_ENUM,description:`${nee.name} was removed from enum type ${eee.name}.`});return ree}function _me(eee,tee){const ree=[],oee=Ame(eee.getInterfaces(),tee.getInterfaces());for(const nee of oee.added)ree.push({type:fme.IMPLEMENTED_INTERFACE_ADDED,description:`${nee.name} added to interfaces implemented by ${eee.name}.`});for(const nee of oee.removed)ree.push({type:wme.IMPLEMENTED_INTERFACE_REMOVED,description:`${eee.name} no longer implements interface ${nee.name}.`});return ree}function Eme(eee,tee){const ree=[],oee=Ame(Object.values(eee.getFields()),Object.values(tee.getFields()));for(const nee of oee.removed)ree.push({type:wme.FIELD_REMOVED,description:`${eee.name}.${nee.name} was removed.`});for(const[nee,aee]of oee.persisted){ree.push(...Tme(eee,nee,aee));Sme(nee.type,aee.type)||ree.push({type:wme.FIELD_CHANGED_KIND,description:`${eee.name}.${nee.name} changed type from ${String(nee.type)} to ${String(aee.type)}.`})}return ree}function Tme(eee,tee,ree){const oee=[],nee=Ame(tee.args,ree.args);for(const aee of nee.removed)oee.push({type:wme.ARG_REMOVED,description:`${eee.name}.${tee.name} arg ${aee.name} was removed.`});for(const[aee,iee]of nee.persisted){if(Ime(aee.type,iee.type)){if(void 0!==aee.defaultValue)if(void 0===iee.defaultValue)oee.push({type:fme.ARG_DEFAULT_VALUE_CHANGE,description:`${eee.name}.${tee.name} arg ${aee.name} defaultValue was removed.`});else{const ree=Nme(aee.defaultValue,aee.type),nee=Nme(iee.defaultValue,iee.type);ree!==nee&&oee.push({type:fme.ARG_DEFAULT_VALUE_CHANGE,description:`${eee.name}.${tee.name} arg ${aee.name} has changed defaultValue from ${ree} to ${nee}.`})}}else oee.push({type:wme.ARG_CHANGED_KIND,description:`${eee.name}.${tee.name} arg ${aee.name} has changed type from ${String(aee.type)} to ${String(iee.type)}.`})}for(const aee of nee.added)Age(aee)?oee.push({type:wme.REQUIRED_ARG_ADDED,description:`A required arg ${aee.name} on ${eee.name}.${tee.name} was added.`}):oee.push({type:fme.OPTIONAL_ARG_ADDED,description:`An optional arg ${aee.name} on ${eee.name}.${tee.name} was added.`});return oee}function Sme(eee,tee){return age(eee)?age(tee)&&Sme(eee.ofType,tee.ofType)||ige(tee)&&Sme(eee,tee.ofType):ige(eee)?ige(tee)&&Sme(eee.ofType,tee.ofType):mge(tee)&&eee.name===tee.name||ige(tee)&&Sme(eee,tee.ofType)}function Ime(eee,tee){return age(eee)?age(tee)&&Ime(eee.ofType,tee.ofType):ige(eee)?ige(tee)&&Ime(eee.ofType,tee.ofType)||!ige(tee)&&Ime(eee.ofType,tee):mge(tee)&&eee.name===tee.name}function Ome(eee){return Xhe(eee)?"a Scalar type":Zhe(eee)?"an Object type":ege(eee)?"an Interface type":rge(eee)?"a Union type":oge(eee)?"an Enum type":nge(eee)?"an Input type":void gue(!1,"Unexpected type: "+che(eee))}function Nme(eee,tee){const ree=lwe(eee,tee);return null!=ree||gue(!1),jhe(gfe(ree))}function Ame(eee,tee){const ree=[],oee=[],nee=[],aee=khe(eee,(({name:eee})=>eee)),iee=khe(tee,(({name:eee})=>eee));for(const see of eee){const eee=iee[see.name];void 0===eee?oee.push(see):nee.push([see,eee])}for(const see of tee)void 0===aee[see.name]&&ree.push(see);return{added:ree,persisted:nee,removed:oee}}!function(eee){eee.TYPE_REMOVED="TYPE_REMOVED",eee.TYPE_CHANGED_KIND="TYPE_CHANGED_KIND",eee.TYPE_REMOVED_FROM_UNION="TYPE_REMOVED_FROM_UNION",eee.VALUE_REMOVED_FROM_ENUM="VALUE_REMOVED_FROM_ENUM",eee.REQUIRED_INPUT_FIELD_ADDED="REQUIRED_INPUT_FIELD_ADDED",eee.IMPLEMENTED_INTERFACE_REMOVED="IMPLEMENTED_INTERFACE_REMOVED",eee.FIELD_REMOVED="FIELD_REMOVED",eee.FIELD_CHANGED_KIND="FIELD_CHANGED_KIND",eee.REQUIRED_ARG_ADDED="REQUIRED_ARG_ADDED",eee.ARG_REMOVED="ARG_REMOVED",eee.ARG_CHANGED_KIND="ARG_CHANGED_KIND",eee.DIRECTIVE_REMOVED="DIRECTIVE_REMOVED",eee.DIRECTIVE_ARG_REMOVED="DIRECTIVE_ARG_REMOVED",eee.REQUIRED_DIRECTIVE_ARG_ADDED="REQUIRED_DIRECTIVE_ARG_ADDED",eee.DIRECTIVE_REPEATABLE_REMOVED="DIRECTIVE_REPEATABLE_REMOVED",eee.DIRECTIVE_LOCATION_REMOVED="DIRECTIVE_LOCATION_REMOVED"}(wme||(wme={})),function(eee){eee.VALUE_ADDED_TO_ENUM="VALUE_ADDED_TO_ENUM",eee.TYPE_ADDED_TO_UNION="TYPE_ADDED_TO_UNION",eee.OPTIONAL_INPUT_FIELD_ADDED="OPTIONAL_INPUT_FIELD_ADDED",eee.OPTIONAL_ARG_ADDED="OPTIONAL_ARG_ADDED",eee.IMPLEMENTED_INTERFACE_ADDED="IMPLEMENTED_INTERFACE_ADDED",eee.ARG_DEFAULT_VALUE_CHANGE="ARG_DEFAULT_VALUE_CHANGE"}(fme||(fme={}));const Rme=Object.freeze(Object.defineProperty({__proto__:null,BREAK:zhe,get BreakingChangeType(){return wme},DEFAULT_DEPRECATION_REASON:rwe,get DangerousChangeType(){return fme},get DirectiveLocation(){return Nue},ExecutableDefinitionsRule:Jwe,FieldsOnCorrectTypeRule:efe,FragmentsOnCompositeTypesRule:tfe,GRAPHQL_MAX_INT:Vge,GRAPHQL_MIN_INT:qge,GraphQLBoolean:Qge,GraphQLDeprecatedDirective:owe,GraphQLDirective:Jge,GraphQLEnumType:Lge,GraphQLError:yue,GraphQLFloat:Yge,GraphQLID:Wge,GraphQLIncludeDirective:ewe,GraphQLInputObjectType:zge,GraphQLInt:Bge,GraphQLInterfaceType:Rge,GraphQLList:uge,GraphQLNonNull:hge,GraphQLObjectType:_ge,GraphQLScalarType:kge,GraphQLSchema:Swe,GraphQLSkipDirective:twe,GraphQLSpecifiedByDirective:nwe,GraphQLString:Gge,GraphQLUnionType:Dge,get Kind(){return Aue},KnownArgumentNamesRule:rfe,KnownDirectivesRule:nfe,KnownFragmentNamesRule:afe,KnownTypeNamesRule:ife,Lexer:$ue,Location:_ue,LoneAnonymousOperationRule:lfe,LoneSchemaDefinitionRule:cfe,NoDeprecatedCustomRule:function(eee){return{Field(tee){const ree=eee.getFieldDef(),oee=null==ree?void 0:ree.deprecationReason;if(ree&&null!=oee){const nee=eee.getParentType();null!=nee||gue(!1),eee.reportError(new yue(`The field ${nee.name}.${ree.name} is deprecated. ${oee}`,{nodes:tee}))}},Argument(tee){const ree=eee.getArgument(),oee=null==ree?void 0:ree.deprecationReason;if(ree&&null!=oee){const nee=eee.getDirective();if(null!=nee)eee.reportError(new yue(`Directive "@${nee.name}" argument "${ree.name}" is deprecated. ${oee}`,{nodes:tee}));else{const nee=eee.getParentType(),aee=eee.getFieldDef();null!=nee&&null!=aee||gue(!1),eee.reportError(new yue(`Field "${nee.name}.${aee.name}" argument "${ree.name}" is deprecated. ${oee}`,{nodes:tee}))}}},ObjectField(tee){const ree=vge(eee.getParentInputType());if(nge(ree)){const oee=ree.getFields()[tee.name.value],nee=null==oee?void 0:oee.deprecationReason;null!=nee&&eee.reportError(new yue(`The input field ${ree.name}.${oee.name} is deprecated. ${nee}`,{nodes:tee}))}},EnumValue(tee){const ree=eee.getEnumValue(),oee=null==ree?void 0:ree.deprecationReason;if(ree&&null!=oee){const nee=vge(eee.getInputType());null!=nee||gue(!1),eee.reportError(new yue(`The enum value "${nee.name}.${ree.name}" is deprecated. ${oee}`,{nodes:tee}))}}}},NoFragmentCyclesRule:pfe,NoSchemaIntrospectionCustomRule:function(eee){return{Field(tee){const ree=vge(eee.getType());ree&&_we(ree)&&eee.reportError(new yue(`GraphQL introspection has been disabled, but the requested query contained the field "${tee.name.value}".`,{nodes:tee}))}}},NoUndefinedVariablesRule:dfe,NoUnusedFragmentsRule:ufe,NoUnusedVariablesRule:hfe,get OperationTypeNode(){return Oue},OverlappingFieldsCanBeMergedRule:ffe,PossibleFragmentSpreadsRule:Ife,PossibleTypeExtensionsRule:Ofe,ProvidedRequiredArgumentsRule:Afe,ScalarLeafsRule:Cfe,SchemaMetaFieldDef:vwe,SingleFieldSubscriptionsRule:Hfe,Source:uhe,Token:Eue,get TokenKind(){return Rue},TypeInfo:Bwe,get TypeKind(){return bwe},TypeMetaFieldDef:ywe,TypeNameMetaFieldDef:xwe,UniqueArgumentDefinitionNamesRule:Zfe,UniqueArgumentNamesRule:Jfe,UniqueDirectiveNamesRule:ebe,UniqueDirectivesPerLocationRule:tbe,UniqueEnumValueNamesRule:rbe,UniqueFieldDefinitionNamesRule:obe,UniqueFragmentNamesRule:abe,UniqueInputFieldNamesRule:ibe,UniqueOperationNamesRule:sbe,UniqueOperationTypesRule:lbe,UniqueTypeNamesRule:cbe,UniqueVariableNamesRule:pbe,ValidationContext:ybe,ValuesOfCorrectTypeRule:dbe,VariablesAreInputTypesRule:hbe,VariablesInAllowedPositionRule:gbe,__Directive:dwe,__DirectiveLocation:uwe,__EnumValue:fwe,__Field:gwe,__InputValue:wwe,__Schema:pwe,__Type:hwe,__TypeKind:mwe,assertAbstractType:function(eee){if(!dge(eee))throw new Error(`Expected ${che(eee)} to be a GraphQL abstract type.`);return eee},assertCompositeType:function(eee){if(!pge(eee))throw new Error(`Expected ${che(eee)} to be a GraphQL composite type.`);return eee},assertDirective:function(eee){if(!Zge(eee))throw new Error(`Expected ${che(eee)} to be a GraphQL directive.`);return eee},assertEnumType:function(eee){if(!oge(eee))throw new Error(`Expected ${che(eee)} to be a GraphQL Enum type.`);return eee},assertEnumValueName:Khe,assertInputObjectType:function(eee){if(!nge(eee))throw new Error(`Expected ${che(eee)} to be a GraphQL Input Object type.`);return eee},assertInputType:function(eee){if(!sge(eee))throw new Error(`Expected ${che(eee)} to be a GraphQL input type.`);return eee},assertInterfaceType:tge,assertLeafType:function(eee){if(!cge(eee))throw new Error(`Expected ${che(eee)} to be a GraphQL leaf type.`);return eee},assertListType:function(eee){if(!age(eee))throw new Error(`Expected ${che(eee)} to be a GraphQL List type.`);return eee},assertName:Whe,assertNamedType:function(eee){if(!mge(eee))throw new Error(`Expected ${che(eee)} to be a GraphQL named type.`);return eee},assertNonNullType:function(eee){if(!ige(eee))throw new Error(`Expected ${che(eee)} to be a GraphQL Non-Null type.`);return eee},assertNullableType:fge,assertObjectType:Jhe,assertOutputType:function(eee){if(!lge(eee))throw new Error(`Expected ${che(eee)} to be a GraphQL output type.`);return eee},assertScalarType:function(eee){if(!Xhe(eee))throw new Error(`Expected ${che(eee)} to be a GraphQL Scalar type.`);return eee},assertSchema:Twe,assertType:function(eee){if(!Hhe(eee))throw new Error(`Expected ${che(eee)} to be a GraphQL type.`);return eee},assertUnionType:function(eee){if(!rge(eee))throw new Error(`Expected ${che(eee)} to be a GraphQL Union type.`);return eee},assertValidName:function(eee){const tee=gme(eee);if(tee)throw tee;return eee},assertValidSchema:Nwe,assertWrappingType:function(eee){if(!gge(eee))throw new Error(`Expected ${che(eee)} to be a GraphQL wrapping type.`);return eee},astFromValue:lwe,buildASTSchema:Xbe,buildClientSchema:function(eee,tee){hue(eee)&&hue(eee.__schema)||due(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${che(eee)}.`);const ree=eee.__schema,oee=_he(ree.types,(eee=>eee.name),(eee=>function(eee){if(null!=eee&&null!=eee.name&&null!=eee.kind)switch(eee.kind){case bwe.SCALAR:return new kge({name:(oee=eee).name,description:oee.description,specifiedByURL:oee.specifiedByURL});case bwe.OBJECT:return new _ge({name:(ree=eee).name,description:ree.description,interfaces:()=>uee(ree),fields:()=>hee(ree)});case bwe.INTERFACE:return new Rge({name:(tee=eee).name,description:tee.description,interfaces:()=>uee(tee),fields:()=>hee(tee)});case bwe.UNION:return function(eee){if(!eee.possibleTypes){const tee=che(eee);throw new Error(`Introspection result missing possibleTypes: ${tee}.`)}return new Dge({name:eee.name,description:eee.description,types:()=>eee.possibleTypes.map(pee)})}(eee);case bwe.ENUM:return function(eee){if(!eee.enumValues){const tee=che(eee);throw new Error(`Introspection result missing enumValues: ${tee}.`)}return new Lge({name:eee.name,description:eee.description,values:_he(eee.enumValues,(eee=>eee.name),(eee=>({description:eee.description,deprecationReason:eee.deprecationReason})))})}(eee);case bwe.INPUT_OBJECT:return function(eee){if(!eee.inputFields){const tee=che(eee);throw new Error(`Introspection result missing inputFields: ${tee}.`)}return new zge({name:eee.name,description:eee.description,fields:()=>wee(eee.inputFields)})}(eee)}var tee;var ree;var oee;const nee=che(eee);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${nee}.`)}(eee)));for(const bee of[...Kge,...kwe])oee[bee.name]&&(oee[bee.name]=bee);const nee=ree.queryType?pee(ree.queryType):null,aee=ree.mutationType?pee(ree.mutationType):null,iee=ree.subscriptionType?pee(ree.subscriptionType):null,see=ree.directives?ree.directives.map((function(eee){if(!eee.args){const tee=che(eee);throw new Error(`Introspection result missing directive args: ${tee}.`)}if(!eee.locations){const tee=che(eee);throw new Error(`Introspection result missing directive locations: ${tee}.`)}return new Jge({name:eee.name,description:eee.description,isRepeatable:eee.isRepeatable,locations:eee.locations.slice(),args:wee(eee.args)})})):[];return new Swe({description:ree.description,query:nee,mutation:aee,subscription:iee,types:Object.values(oee),directives:see,assumeValid:null==tee?void 0:tee.assumeValid});function lee(eee){if(eee.kind===bwe.LIST){const tee=eee.ofType;if(!tee)throw new Error("Decorated type deeper than introspection query.");return new uge(lee(tee))}if(eee.kind===bwe.NON_NULL){const tee=eee.ofType;if(!tee)throw new Error("Decorated type deeper than introspection query.");const ree=lee(tee);return new hge(fge(ree))}return cee(eee)}function cee(eee){const tee=eee.name;if(!tee)throw new Error(`Unknown type reference: ${che(eee)}.`);const ree=oee[tee];if(!ree)throw new Error(`Invalid or incomplete schema, unknown type: ${tee}. Ensure that a full introspection query is used in order to build a client schema.`);return ree}function pee(eee){return Jhe(cee(eee))}function dee(eee){return tge(cee(eee))}function uee(eee){if(null===eee.interfaces&&eee.kind===bwe.INTERFACE)return[];if(!eee.interfaces){const tee=che(eee);throw new Error(`Introspection result missing interfaces: ${tee}.`)}return eee.interfaces.map(dee)}function hee(eee){if(!eee.fields)throw new Error(`Introspection result missing fields: ${che(eee)}.`);return _he(eee.fields,(eee=>eee.name),gee)}function gee(eee){const tee=lee(eee.type);if(!lge(tee)){const eee=che(tee);throw new Error(`Introspection must provide output type for fields, but received: ${eee}.`)}if(!eee.args){const tee=che(eee);throw new Error(`Introspection result missing field args: ${tee}.`)}return{description:eee.description,deprecationReason:eee.deprecationReason,type:tee,args:wee(eee.args)}}function wee(eee){return _he(eee,(eee=>eee.name),fee)}function fee(eee){const tee=lee(eee.type);if(!sge(tee)){const eee=che(tee);throw new Error(`Introspection must provide input type for arguments, but received: ${eee}.`)}const ree=null!=eee.defaultValue?jfe(whe(eee.defaultValue),tee):void 0;return{description:eee.description,type:tee,defaultValue:ree,deprecationReason:eee.deprecationReason}}},buildSchema:function(eee,tee){return Xbe(ghe(eee,{noLocation:null==tee?void 0:tee.noLocation,allowLegacyFragmentVariables:null==tee?void 0:tee.allowLegacyFragmentVariables}),{assumeValidSDL:null==tee?void 0:tee.assumeValidSDL,assumeValid:null==tee?void 0:tee.assumeValid})},coerceInputValue:Mfe,concatAST:function(eee){const tee=[];for(const ree of eee)tee.push(...ree.definitions);return{kind:Aue.DOCUMENT,definitions:tee}},createSourceEventStream:Ybe,defaultFieldResolver:$be,defaultTypeResolver:jbe,doTypesOverlap:$ge,execute:Ibe,executeSync:Obe,extendSchema:function(eee,tee,ree){Twe(eee),null!=tee&&tee.kind===Aue.DOCUMENT||due(!1,"Must provide valid Document AST."),!0!==(null==ree?void 0:ree.assumeValid)&&!0!==(null==ree?void 0:ree.assumeValidSDL)&&function(eee,tee){const ree=kbe(eee,tee);if(0!==ree.length)throw new Error(ree.map((eee=>eee.message)).join("\n\n"))}(tee,eee);const oee=eee.toConfig(),nee=Qbe(oee,tee,ree);return oee===nee?eee:new Swe(nee)},findBreakingChanges:function(eee,tee){return bme(eee,tee).filter((eee=>eee.type in wme))},findDangerousChanges:function(eee,tee){return bme(eee,tee).filter((eee=>eee.type in fme))},formatError:function(eee){return eee.toJSON()},getArgumentValues:qfe,getDirectiveValues:Bfe,getEnterLeaveForKind:Uhe,getIntrospectionQuery:Gbe,getLocation:fue,getNamedType:vge,getNullableType:bge,getOperationAST:function(eee,tee){let ree=null;for(const nee of eee.definitions){var oee;if(nee.kind===Aue.OPERATION_DEFINITION)if(null==tee){if(ree)return null;ree=nee}else if((null===(oee=nee.name)||void 0===oee?void 0:oee.value)===tee)return nee}return ree},getOperationRootType:function(eee,tee){if("query"===tee.operation){const ree=eee.getQueryType();if(!ree)throw new yue("Schema does not define the required query root type.",{nodes:tee});return ree}if("mutation"===tee.operation){const ree=eee.getMutationType();if(!ree)throw new yue("Schema is not configured for mutations.",{nodes:tee});return ree}if("subscription"===tee.operation){const ree=eee.getSubscriptionType();if(!ree)throw new yue("Schema is not configured for subscriptions.",{nodes:tee});return ree}throw new yue("Can only have query, mutation and subscription operations.",{nodes:tee})},getVariableValues:Vfe,getVisitFn:function(eee,tee,ree){const{enter:oee,leave:nee}=Uhe(eee,tee);return ree?nee:oee},graphql:function(eee){return new Promise((tee=>tee(qbe(eee))))},graphqlSync:function(eee){const tee=qbe(eee);if(uue(tee))throw new Error("GraphQL execution failed to complete synchronously.");return tee},introspectionFromSchema:function(eee,tee){const ree=Obe({schema:eee,document:ghe(Gbe({specifiedByUrl:!0,directiveIsRepeatable:!0,schemaDescription:!0,inputValueDeprecation:!0,...tee}))});return!ree.errors&&ree.data||gue(!1),ree.data},introspectionTypes:kwe,isAbstractType:dge,isCompositeType:pge,isConstValueNode:function eee(tee){return Wwe(tee)&&(tee.kind===Aue.LIST?tee.values.some(eee):tee.kind===Aue.OBJECT?tee.fields.some((tee=>eee(tee.value))):tee.kind!==Aue.VARIABLE)},isDefinitionNode:function(eee){return Qwe(eee)||Kwe(eee)||Xwe(eee)},isDirective:Zge,isEnumType:oge,isEqualType:Uge,isExecutableDefinitionNode:Qwe,isInputObjectType:nge,isInputType:sge,isInterfaceType:ege,isIntrospectionType:_we,isLeafType:cge,isListType:age,isNamedType:mge,isNonNullType:ige,isNullableType:wge,isObjectType:Zhe,isOutputType:lge,isRequiredArgument:Age,isRequiredInputField:Pge,isScalarType:Xhe,isSchema:Ewe,isSelectionNode:function(eee){return eee.kind===Aue.FIELD||eee.kind===Aue.FRAGMENT_SPREAD||eee.kind===Aue.INLINE_FRAGMENT},isSpecifiedDirective:iwe,isSpecifiedScalarType:Hge,isType:Hhe,isTypeDefinitionNode:Hwe,isTypeExtensionNode:Zwe,isTypeNode:function(eee){return eee.kind===Aue.NAMED_TYPE||eee.kind===Aue.LIST_TYPE||eee.kind===Aue.NON_NULL_TYPE},isTypeSubTypeOf:jge,isTypeSystemDefinitionNode:Kwe,isTypeSystemExtensionNode:Xwe,isUnionType:rge,isValidNameError:gme,isValueNode:Wwe,isWrappingType:gge,lexicographicSortSchema:function(eee){const tee=eee.toConfig(),ree=_he(Jbe(tee.types),(eee=>eee.name),(function(eee){if(Xhe(eee)||_we(eee))return eee;if(Zhe(eee)){const tee=eee.toConfig();return new _ge({...tee,interfaces:()=>lee(tee.interfaces),fields:()=>see(tee.fields)})}if(ege(eee)){const tee=eee.toConfig();return new Rge({...tee,interfaces:()=>lee(tee.interfaces),fields:()=>see(tee.fields)})}if(rge(eee)){const tee=eee.toConfig();return new Dge({...tee,types:()=>lee(tee.types)})}if(oge(eee)){const tee=eee.toConfig();return new Lge({...tee,values:Zbe(tee.values,(eee=>eee))})}if(nge(eee)){const tee=eee.toConfig();return new zge({...tee,fields:()=>Zbe(tee.fields,(eee=>({...eee,type:oee(eee.type)})))})}gue(!1,"Unexpected type: "+che(eee))}));return new Swe({...tee,types:Object.values(ree),directives:Jbe(tee.directives).map((function(eee){const tee=eee.toConfig();return new Jge({...tee,locations:eme(tee.locations,(x=>x)),args:iee(tee.args)})})),query:aee(tee.query),mutation:aee(tee.mutation),subscription:aee(tee.subscription)});function oee(eee){return age(eee)?new uge(oee(eee.ofType)):ige(eee)?new hge(oee(eee.ofType)):nee(eee)}function nee(eee){return ree[eee.name]}function aee(eee){return eee&&nee(eee)}function iee(eee){return Zbe(eee,(eee=>({...eee,type:oee(eee.type)})))}function see(eee){return Zbe(eee,(eee=>({...eee,type:oee(eee.type),args:eee.args&&iee(eee.args)})))}function lee(eee){return Jbe(eee).map(nee)}},locatedError:Tbe,parse:ghe,parseConstValue:function(eee,tee){const ree=new fhe(eee,tee);ree.expectToken(Rue.SOF);const oee=ree.parseConstValueLiteral();return ree.expectToken(Rue.EOF),oee},parseType:function(eee,tee){const ree=new fhe(eee,tee);ree.expectToken(Rue.SOF);const oee=ree.parseTypeReference();return ree.expectToken(Rue.EOF),oee},parseValue:whe,print:jhe,printError:function(eee){return eee.toString()},printIntrospectionSchema:function(eee){return rme(eee,iwe,_we)},printLocation:bue,printSchema:function(eee){return rme(eee,(n=>!iwe(n)),tme)},printSourceLocation:mue,printType:nme,resolveObjMapThunk:xge,resolveReadonlyArrayThunk:yge,responsePathAsArray:zfe,separateOperations:function(eee){const tee=[],ree=Object.create(null);for(const nee of eee.definitions)switch(nee.kind){case Aue.OPERATION_DEFINITION:tee.push(nee);break;case Aue.FRAGMENT_DEFINITION:ree[nee.name.value]=hme(nee.selectionSet)}const oee=Object.create(null);for(const nee of tee){const tee=new Set;for(const eee of hme(nee.selectionSet))ume(tee,ree,eee);oee[nee.name?nee.name.value:""]={kind:Aue.DOCUMENT,definitions:eee.definitions.filter((eee=>eee===nee||eee.kind===Aue.FRAGMENT_DEFINITION&&tee.has(eee.name.value)))}}return oee},specifiedDirectives:awe,specifiedRules:fbe,specifiedScalarTypes:Kge,stripIgnoredCharacters:function(eee){const tee=hhe(eee)?eee:new uhe(eee),ree=tee.body,oee=new $ue(tee);let nee="",aee=!1;for(;oee.advance().kind!==Rue.EOF;){const eee=oee.token,tee=eee.kind,iee=!Vue(eee.kind);aee&&(iee||eee.kind===Rue.SPREAD)&&(nee+=" ");const see=ree.slice(eee.start,eee.end);tee===Rue.BLOCK_STRING?nee+=jue(eee.value,{minimize:!0}):nee+=see,aee=iee}return nee},subscribe:async function(eee){arguments.length<2||due(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");const tee=await Ybe(eee);return Bbe(tee)?function(eee,tee){const ree=eee[Symbol.asyncIterator]();async function oee(eee){if(eee.done)return eee;try{return{value:await tee(eee.value),done:!1}}catch(oee){if("function"==typeof ree.return)try{await ree.return()}catch(_e){}throw oee}}return{next:async()=>oee(await ree.next()),return:async()=>"function"==typeof ree.return?oee(await ree.return()):{value:void 0,done:!0},async throw(eee){if("function"==typeof ree.throw)return oee(await ree.throw(eee));throw eee},[Symbol.asyncIterator](){return this}}}(tee,(tee=>Ibe({...eee,rootValue:tee}))):tee},syntaxError:kue,typeFromAST:qwe,validate:xbe,validateSchema:Owe,valueFromAST:jfe,valueFromASTUntyped:Qhe,version:"16.8.1",versionInfo:pue,visit:Mhe,visitInParallel:Phe,visitWithTypeInfo:Gwe},Symbol.toStringTag,{value:"Module"}));function Dme(_a,eee){var tee=_a.directives;return!tee||!tee.length||Lme(tee).every((function(_a){var tee=_a.directive,ree=_a.ifArgument,oee=!1;return"Variable"===ree.value.kind?(oee=eee&&eee[ree.value.name.value],rue(void 0!==oee,68,tee.name.value)):oee=ree.value.value,"skip"===tee.name.value?!oee:oee}))}function Cme(eee,tee,ree){var oee=new Set(eee),nee=oee.size;return Mhe(tee,{Directive:function(eee){if(oee.delete(eee.name.value)&&(!ree||!oee.size))return zhe}}),ree?!oee.size:oee.sizeObject.create(null),{forEach:zme,slice:Mme}=Array.prototype,{hasOwnProperty:Pme}=Object.prototype;let Ume=class eee{constructor(eee=!0,tee=Fme){this.weakness=eee,this.makeData=tee}lookup(){return this.lookupArray(arguments)}lookupArray(eee){let tee=this;return zme.call(eee,(eee=>tee=tee.getChildTrie(eee))),Pme.call(tee,"data")?tee.data:tee.data=this.makeData(Mme.call(eee))}peek(){return this.peekArray(arguments)}peekArray(eee){let tee=this;for(let i=0,ree=eee.length;tee&&i=0}))||!1,Qme=Yme&&!Gme;function Wme(eee){return null!==eee&&"object"==typeof eee}function Kme(eee){return null!==eee&&"object"==typeof eee&&(Object.getPrototypeOf(eee)===Object.prototype||null===Object.getPrototypeOf(eee))}function Hme(eee,tee){var ree=tee,oee=[];return eee.definitions.forEach((function(eee){if("OperationDefinition"===eee.kind)throw oue(72,eee.operation,eee.name?" named '".concat(eee.name.value,"'"):"");"FragmentDefinition"===eee.kind&&oee.push(eee)})),void 0===ree&&(rue(1===oee.length,73,oee.length),ree=oee[0].name.value),pde(pde({},eee),{definitions:_de([{kind:"OperationDefinition",operation:"query",selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:ree}}]}}],eee.definitions,!0)})}function Xme(eee){void 0===eee&&(eee=[]);var tee={};return eee.forEach((function(eee){tee[eee.name.value]=eee})),tee}function Zme(eee,tee){switch(eee.kind){case"InlineFragment":return eee;case"FragmentSpread":var ree=eee.name.value;if("function"==typeof tee)return tee(ree);var oee=tee&&tee[ree];return rue(oee,74,ree),oee||null;default:return null}}function Jme(){}class eve{constructor(eee=1/0,tee=Jme){this.max=eee,this.dispose=tee,this.map=new Map,this.newest=null,this.oldest=null}has(eee){return this.map.has(eee)}get(eee){const tee=this.getNode(eee);return tee&&tee.value}get size(){return this.map.size}getNode(eee){const tee=this.map.get(eee);if(tee&&tee!==this.newest){const{older:eee,newer:ree}=tee;ree&&(ree.older=eee),eee&&(eee.newer=ree),tee.older=this.newest,tee.older.newer=tee,tee.newer=null,this.newest=tee,tee===this.oldest&&(this.oldest=ree)}return tee}set(eee,tee){let ree=this.getNode(eee);return ree?ree.value=tee:(ree={key:eee,value:tee,newer:null,older:this.newest},this.newest&&(this.newest.newer=ree),this.newest=ree,this.oldest=this.oldest||ree,this.map.set(eee,ree),ree.value)}clean(){for(;this.oldest&&this.map.size>this.max;)this.delete(this.oldest.key)}delete(eee){const tee=this.map.get(eee);return!!tee&&(tee===this.newest&&(this.newest=tee.older),tee===this.oldest&&(this.oldest=tee.newer),tee.newer&&(tee.newer.older=tee.older),tee.older&&(tee.older.newer=tee.newer),this.map.delete(eee),this.dispose(tee.value,eee),!0)}}function tve(){}const rve=tve,ove="undefined"!=typeof WeakRef?WeakRef:function(eee){return{deref:()=>eee}},nve="undefined"!=typeof WeakMap?WeakMap:Map,ave="undefined"!=typeof FinalizationRegistry?FinalizationRegistry:function(){return{register:tve,unregister:tve}};class ive{constructor(eee=1/0,tee=rve){this.max=eee,this.dispose=tee,this.map=new nve,this.newest=null,this.oldest=null,this.unfinalizedNodes=new Set,this.finalizationScheduled=!1,this.size=0,this.finalize=()=>{const eee=this.unfinalizedNodes.values();for(let i=0;i<10024;i++){const tee=eee.next().value;if(!tee)break;this.unfinalizedNodes.delete(tee);const ree=tee.key;delete tee.key,tee.keyRef=new ove(ree),this.registry.register(ree,tee,tee)}this.unfinalizedNodes.size>0?queueMicrotask(this.finalize):this.finalizationScheduled=!1},this.registry=new ave(this.deleteNode.bind(this))}has(eee){return this.map.has(eee)}get(eee){const tee=this.getNode(eee);return tee&&tee.value}getNode(eee){const tee=this.map.get(eee);if(tee&&tee!==this.newest){const{older:eee,newer:ree}=tee;ree&&(ree.older=eee),eee&&(eee.newer=ree),tee.older=this.newest,tee.older.newer=tee,tee.newer=null,this.newest=tee,tee===this.oldest&&(this.oldest=ree)}return tee}set(eee,tee){let ree=this.getNode(eee);return ree?ree.value=tee:(ree={key:eee,value:tee,newer:null,older:this.newest},this.newest&&(this.newest.newer=ree),this.newest=ree,this.oldest=this.oldest||ree,this.scheduleFinalization(ree),this.map.set(eee,ree),this.size++,ree.value)}clean(){for(;this.oldest&&this.size>this.max;)this.deleteNode(this.oldest)}deleteNode(eee){eee===this.newest&&(this.newest=eee.older),eee===this.oldest&&(this.oldest=eee.newer),eee.newer&&(eee.newer.older=eee.older),eee.older&&(eee.older.newer=eee.newer),this.size--;const tee=eee.key||eee.keyRef&&eee.keyRef.deref();this.dispose(eee.value,tee),eee.keyRef?this.registry.unregister(eee):this.unfinalizedNodes.delete(eee),tee&&this.map.delete(tee)}delete(eee){const tee=this.map.get(eee);return!!tee&&(this.deleteNode(tee),!0)}scheduleFinalization(eee){this.unfinalizedNodes.add(eee),this.finalizationScheduled||(this.finalizationScheduled=!0,queueMicrotask(this.finalize))}}var sve=new WeakSet;function lve(eee){eee.size<=(eee.max||-1)||sve.has(eee)||(sve.add(eee),setTimeout((function(){eee.clean(),sve.delete(eee)}),100))}var cve=function(eee,tee){var ree=new ive(eee,tee);return ree.set=function(eee,tee){var ree=ive.prototype.set.call(this,eee,tee);return lve(this),ree},ree},pve=function(eee,tee){var ree=new eve(eee,tee);return ree.set=function(eee,tee){var ree=eve.prototype.set.call(this,eee,tee);return lve(this),ree},ree},dve=Symbol.for("apollo.cacheSize"),uve=pde({},Xde[dve]),hve={};function gve(eee,tee){hve[eee]=tee}var wve=!1!==globalThis.__DEV__?function(){var eee=this.config.fragments;return pde(pde({},bve.apply(this)),{addTypenameDocumentTransform:yve(this.addTypenameTransform),inMemoryCache:{executeSelectionSet:mve(this.storeReader.executeSelectionSet),executeSubSelectedArray:mve(this.storeReader.executeSubSelectedArray),maybeBroadcastWatch:mve(this.maybeBroadcastWatch)},fragmentRegistry:{findFragmentSpreads:mve(null==eee?void 0:eee.findFragmentSpreads),lookup:mve(null==eee?void 0:eee.lookup),transform:mve(null==eee?void 0:eee.transform)}})}:void 0,fve=!1!==globalThis.__DEV__?bve:void 0;function bve(){return{cache:{fragmentQueryDocuments:mve(this.getFragmentDoc)}}}function mve(f){return function(f){return!!f&&"dirtyKey"in f}(f)?f.size:void 0}function vve(eee){return null!=eee}function yve(eee){return xve(eee).map((function(eee){return{cache:eee}}))}function xve(eee){return eee?_de(_de([mve(null==eee?void 0:eee.performWork)],xve(null==eee?void 0:eee.left),!0),xve(null==eee?void 0:eee.right),!0).filter(vve):[]}var kve,_ve=Object.assign((function(eee){return JSON.stringify(eee,Eve)}),{reset:function(){kve=new pve(uve.canonicalStringify||1e3)}});function Eve(eee,tee){if(tee&&"object"==typeof tee){var ree=Object.getPrototypeOf(tee);if(ree===Object.prototype||null===ree){var oee=Object.keys(tee);if(oee.every(Tve))return tee;var nee=JSON.stringify(oee),aee=kve.get(nee);if(!aee){oee.sort();var iee=JSON.stringify(oee);aee=kve.get(iee)||oee,kve.set(nee,aee),kve.set(iee,aee)}var see=Object.create(ree);return aee.forEach((function(eee){see[eee]=tee[eee]})),see}}return tee}function Tve(eee,i,tee){return 0===i||tee[i-1]<=eee}function Sve(id){return{__ref:String(id)}}function Ive(eee){return Boolean(eee&&"object"==typeof eee&&"string"==typeof eee.__ref)}function Ove(eee,tee,ree,oee){if(function(eee){return"IntValue"===eee.kind}(ree)||function(eee){return"FloatValue"===eee.kind}(ree))eee[tee.value]=Number(ree.value);else if(function(eee){return"BooleanValue"===eee.kind}(ree)||function(eee){return"StringValue"===eee.kind}(ree))eee[tee.value]=ree.value;else if(function(eee){return"ObjectValue"===eee.kind}(ree)){var nee={};ree.fields.map((function(eee){return Ove(nee,eee.name,eee.value,oee)})),eee[tee.value]=nee}else if(function(eee){return"Variable"===eee.kind}(ree)){var aee=(oee||{})[ree.name.value];eee[tee.value]=aee}else if(function(eee){return"ListValue"===eee.kind}(ree))eee[tee.value]=ree.values.map((function(eee){var ree={};return Ove(ree,tee,eee,oee),ree[tee.value]}));else if(function(eee){return"EnumValue"===eee.kind}(ree))eee[tee.value]=ree.value;else{if(!function(eee){return"NullValue"===eee.kind}(ree))throw oue(83,tee.value,ree.kind);eee[tee.value]=null}}function Nve(eee,tee){var ree=null;eee.directives&&(ree={},eee.directives.forEach((function(eee){ree[eee.name.value]={},eee.arguments&&eee.arguments.forEach((function(_a){var oee=_a.name,nee=_a.value;return Ove(ree[eee.name.value],oee,nee,tee)}))})));var oee=null;return eee.arguments&&eee.arguments.length&&(oee={},eee.arguments.forEach((function(_a){var eee=_a.name,ree=_a.value;return Ove(oee,eee,ree,tee)}))),Dve(eee.name.value,oee,ree)}!1!==globalThis.__DEV__&&gve("canonicalStringify",(function(){return kve.size})),_ve.reset();var Ave=["connection","include","skip","client","rest","export","nonreactive"],Rve=_ve,Dve=Object.assign((function(eee,tee,ree){if(tee&&ree&&ree.connection&&ree.connection.key){if(ree.connection.filter&&ree.connection.filter.length>0){var oee=ree.connection.filter?ree.connection.filter:[];oee.sort();var nee={};return oee.forEach((function(eee){nee[eee]=tee[eee]})),"".concat(ree.connection.key,"(").concat(Rve(nee),")")}return ree.connection.key}var aee=eee;if(tee){var iee=Rve(tee);aee+="(".concat(iee,")")}return ree&&Object.keys(ree).forEach((function(eee){-1===Ave.indexOf(eee)&&(ree[eee]&&Object.keys(ree[eee]).length?aee+="@".concat(eee,"(").concat(Rve(ree[eee]),")"):aee+="@".concat(eee))})),aee}),{setStringify:function(s){var eee=Rve;return Rve=s,eee}});function Cve(eee,tee){if(eee.arguments&&eee.arguments.length){var ree={};return eee.arguments.forEach((function(_a){var eee=_a.name,oee=_a.value;return Ove(ree,eee,oee,tee)})),ree}return null}function Lve(eee){return eee.alias?eee.alias.value:eee.name.value}function Fve(eee,tee,ree){for(var oee,_i=0,_a=tee.selections;_i<_a.length;_i++){if(zve(aee=_a[_i])){if("__typename"===aee.name.value)return eee[Lve(aee)]}else oee?oee.push(aee):oee=[aee]}if("string"==typeof eee.__typename)return eee.__typename;if(oee)for(var _b=0,nee=oee;_bObject.create(null),{forEach:Gve,slice:Qve}=Array.prototype,{hasOwnProperty:Wve}=Object.prototype;class Kve{constructor(eee=!0,tee=Yve){this.weakness=eee,this.makeData=tee}lookup(...eee){return this.lookupArray(eee)}lookupArray(eee){let tee=this;return Gve.call(eee,(eee=>tee=tee.getChildTrie(eee))),Wve.call(tee,"data")?tee.data:tee.data=this.makeData(Qve.call(eee))}peek(...eee){return this.peekArray(eee)}peekArray(eee){let tee=this;for(let i=0,ree=eee.length;tee&&iglobalThis))||eye((()=>global))||Object.create(null),oye=rye[tye]||Array[tye]||function(eee){try{Object.defineProperty(rye,tye,{value:eee,enumerable:!1,writable:!1,configurable:!0})}finally{return eee}}(class{constructor(){this.id=["slot",Jve++,Date.now(),Math.random().toString(36).slice(2)].join(":")}hasValue(){for(let eee=Xve;eee;eee=eee.parent)if(this.id in eee.slots){const tee=eee.slots[this.id];if(tee===Zve)break;return eee!==Xve&&(Xve.slots[this.id]=tee),!0}return Xve&&(Xve.slots[this.id]=Zve),!1}getValue(){if(this.hasValue())return Xve.slots[this.id]}withValue(eee,tee,ree,oee){const nee={__proto__:null,[this.id]:eee},aee=Xve;Xve={parent:aee,slots:nee};try{return tee.apply(oee,ree)}finally{Xve=aee}}static bind(eee){const tee=Xve;return function(){const ree=Xve;try{return Xve=tee,eee.apply(this,arguments)}finally{Xve=ree}}}static noContext(eee,tee,ree){if(!Xve)return eee.apply(ree,tee);{const oee=Xve;try{return Xve=null,eee.apply(ree,tee)}finally{Xve=oee}}}}),nye=new oye,{hasOwnProperty:aye}=Object.prototype,iye=Array.from||function(eee){const tee=[];return eee.forEach((eee=>tee.push(eee))),tee};function sye(eee){const{unsubscribe:tee}=eee;"function"==typeof tee&&(eee.unsubscribe=void 0,tee())}const lye=[],cye=100;function pye(eee,tee){if(!eee)throw new Error(tee||"assertion failure")}function dye(a,b){const eee=a.length;return eee>0&&eee===b.length&&a[eee-1]===b[eee-1]}function uye(eee){switch(eee.length){case 0:throw new Error("unknown value");case 1:return eee[0];case 2:throw eee[1]}}function hye(eee){return eee.slice(0)}class gye{constructor(fn){this.fn=fn,this.parents=new Set,this.childValues=new Map,this.dirtyChildren=null,this.dirty=!0,this.recomputing=!1,this.value=[],this.deps=null,++gye.count}peek(){if(1===this.value.length&&!bye(this))return wye(this),this.value[0]}recompute(eee){return pye(!this.recomputing,"already recomputing"),wye(this),bye(this)?function(eee,tee){Eye(eee),nye.withValue(eee,fye,[eee,tee]),function(eee,tee){if("function"==typeof eee.subscribe)try{sye(eee),eee.unsubscribe=eee.subscribe.apply(null,tee)}catch(e){return eee.setDirty(),!1}return!0}(eee,tee)&&function(eee){if(eee.dirty=!1,bye(eee))return;vye(eee)}(eee);return uye(eee.value)}(this,eee):uye(this.value)}setDirty(){this.dirty||(this.dirty=!0,mye(this),sye(this))}dispose(){this.setDirty(),Eye(this),yye(this,((eee,tee)=>{eee.setDirty(),Tye(eee,this)}))}forget(){this.dispose()}dependOn(eee){eee.add(this),this.deps||(this.deps=lye.pop()||new Set),this.deps.add(eee)}forgetDeps(){this.deps&&(iye(this.deps).forEach((eee=>eee.delete(this))),this.deps.clear(),lye.push(this.deps),this.deps=null)}}function wye(eee){const tee=nye.getValue();if(tee)return eee.parents.add(tee),tee.childValues.has(eee)||tee.childValues.set(eee,[]),bye(eee)?xye(tee,eee):kye(tee,eee),tee}function fye(eee,tee){eee.recomputing=!0;const{normalizeResult:ree}=eee;let oee;ree&&1===eee.value.length&&(oee=hye(eee.value)),eee.value.length=0;try{if(eee.value[0]=eee.fn.apply(null,tee),ree&&oee&&!dye(oee,eee.value))try{eee.value[0]=ree(eee.value[0],oee[0])}catch(_a){}}catch(e){eee.value[1]=e}eee.recomputing=!1}function bye(eee){return eee.dirty||!(!eee.dirtyChildren||!eee.dirtyChildren.size)}function mye(eee){yye(eee,xye)}function vye(eee){yye(eee,kye)}function yye(eee,tee){const ree=eee.parents.size;if(ree){const oee=iye(eee.parents);for(let i=0;i0&&eee.childValues.forEach(((tee,ree)=>{Tye(eee,ree)})),eee.forgetDeps(),pye(null===eee.dirtyChildren)}function Tye(eee,tee){tee.parents.delete(eee),eee.childValues.delete(tee),_ye(eee,tee)}gye.count=0;const Sye={setDirty:!0,dispose:!0,forget:!0};function Iye(eee){const tee=new Map;function ree(eee){const ree=nye.getValue();if(ree){let oee=tee.get(eee);oee||tee.set(eee,oee=new Set),ree.dependOn(oee)}}return ree.dirty=function(eee,ree){const oee=tee.get(eee);if(oee){const m=ree&&aye.call(Sye,ree)?ree:"setDirty";iye(oee).forEach((eee=>eee[m]())),tee.delete(eee),sye(oee)}},ree}let Oye;function Nye(...eee){return(Oye||(Oye=new Kve("function"==typeof WeakMap))).lookupArray(eee)}const Aye=new Set;function Rye(eee,{max:tee=Math.pow(2,16),keyArgs:ree,makeCacheKey:oee=Nye,normalizeResult:nee,subscribe:aee,cache:iee=eve}=Object.create(null)){const see="function"==typeof iee?new iee(tee,(eee=>eee.dispose())):iee,lee=function(){const tee=oee.apply(null,ree?ree.apply(null,arguments):arguments);if(void 0===tee)return eee.apply(null,arguments);let iee=see.get(tee);iee||(see.set(tee,iee=new gye(eee)),iee.normalizeResult=nee,iee.subscribe=aee,iee.forget=()=>see.delete(tee));const lee=iee.recompute(Array.prototype.slice.call(arguments));return see.set(tee,iee),Aye.add(see),nye.hasValue()||(Aye.forEach((eee=>eee.clean())),Aye.clear()),lee};function cee(eee){const tee=eee&&see.get(eee);tee&&tee.setDirty()}function pee(eee){const tee=eee&&see.get(eee);if(tee)return tee.peek()}function dee(eee){return!!eee&&see.delete(eee)}return Object.defineProperty(lee,"size",{get:()=>see.size,configurable:!1,enumerable:!1}),Object.freeze(lee.options={max:tee,keyArgs:ree,makeCacheKey:oee,normalizeResult:nee,subscribe:aee,cache:see}),lee.dirtyKey=cee,lee.dirty=function(){cee(oee.apply(null,arguments))},lee.peekKey=pee,lee.peek=function(){return pee(oee.apply(null,arguments))},lee.forgetKey=dee,lee.forget=function(){return dee(oee.apply(null,arguments))},lee.makeCacheKey=oee,lee.getKey=ree?function(){return oee.apply(null,ree.apply(null,arguments))}:oee,Object.freeze(lee)}function Dye(eee){return eee}var Cye,Lye=function(){function eee(eee,tee){void 0===tee&&(tee=Object.create(null)),this.resultCache=Vme?new WeakSet:new Set,this.transform=eee,tee.getCacheKey&&(this.getCacheKey=tee.getCacheKey),this.cached=!1!==tee.cache,this.resetCache()}return eee.prototype.getCacheKey=function(eee){return[eee]},eee.identity=function(){return new eee(Dye,{cache:!1})},eee.split=function(tee,ree,oee){return void 0===oee&&(oee=eee.identity()),Object.assign(new eee((function(eee){return(tee(eee)?ree:oee).transformDocument(eee)}),{cache:!1}),{left:ree,right:oee})},eee.prototype.resetCache=function(){var tee=this;if(this.cached){var ree=new Ume($me);this.performWork=Rye(eee.prototype.performWork.bind(this),{makeCacheKey:function(eee){var oee=tee.getCacheKey(eee);if(oee)return rue(Array.isArray(oee),67),ree.lookupArray(oee)},max:uve["documentTransform.cache"],cache:ive})}},eee.prototype.performWork=function(eee){return Mve(eee),this.transform(eee)},eee.prototype.transformDocument=function(eee){if(this.resultCache.has(eee))return eee;var tee=this.performWork(eee);return this.resultCache.add(tee),tee},eee.prototype.concat=function(tee){var ree=this;return Object.assign(new eee((function(eee){return tee.transformDocument(ree.transformDocument(eee))}),{cache:!1}),{left:this,right:tee})},eee}(),Fye=Object.assign((function(eee){var tee=Cye.get(eee);return tee||(tee=jhe(eee),Cye.set(eee,tee)),tee}),{reset:function(){Cye=new cve(uve.print||2e3)}});Fye.reset(),!1!==globalThis.__DEV__&&gve("print",(function(){return Cye?Cye.size:0}));var zye=Array.isArray;function Mye(eee){return Array.isArray(eee)&&eee.length>0}var Pye={kind:Aue.FIELD,name:{kind:Aue.NAME,value:"__typename"}};function Uye(op,eee){return!op||op.selectionSet.selections.every((function(tee){return tee.kind===Aue.FRAGMENT_SPREAD&&Uye(eee[tee.name.value],eee)}))}function jye(eee){return Uye(Pve(eee)||Vve(eee),Xme(jve(eee)))?null:eee}function $ye(eee){var tee=new Map;return function(ree){void 0===ree&&(ree=eee);var oee=tee.get(ree);return oee||tee.set(ree,oee={variables:new Set,fragmentSpreads:new Set}),oee}}function Vye(eee,tee){Mve(tee);for(var ree=$ye(""),oee=$ye(""),nee=function(eee){for(var p=0,tee=void 0;p=0;--i)tee.definitions[i].kind===Aue.OPERATION_DEFINITION&&++aee;var iee,see,lee,cee=(iee=eee,see=new Map,lee=new Map,iee.forEach((function(eee){eee&&(eee.name?see.set(eee.name,eee):eee.test&&lee.set(eee.test,eee))})),function(eee){var tee=see.get(eee.name.value);return!tee&&lee.size&&lee.forEach((function(ree,oee){oee(eee)&&(tee=ree)})),tee}),pee=function(eee){return Mye(eee)&&eee.map(cee).some((function(eee){return eee&&eee.remove}))},dee=new Map,uee=!1,hee={enter:function(eee){if(pee(eee.directives))return uee=!0,null}},gee=Mhe(tee,{Field:hee,InlineFragment:hee,VariableDefinition:{enter:function(){return!1}},Variable:{enter:function(eee,tee,ree,oee,aee){var iee=nee(aee);iee&&iee.variables.add(eee.name.value)}},FragmentSpread:{enter:function(eee,tee,ree,oee,aee){if(pee(eee.directives))return uee=!0,null;var iee=nee(aee);iee&&iee.fragmentSpreads.add(eee.name.value)}},FragmentDefinition:{enter:function(eee,tee,ree,oee){dee.set(JSON.stringify(oee),eee)},leave:function(eee,tee,ree,nee){return eee===dee.get(JSON.stringify(nee))?eee:aee>0&&eee.selectionSet.selections.every((function(eee){return eee.kind===Aue.FIELD&&"__typename"===eee.name.value}))?(oee(eee.name.value).removed=!0,uee=!0,null):void 0}},Directive:{leave:function(eee){if(cee(eee))return uee=!0,null}}});if(!uee)return tee;var wee=function(eee){return eee.transitiveVars||(eee.transitiveVars=new Set(eee.variables),eee.removed||eee.fragmentSpreads.forEach((function(tee){wee(oee(tee)).transitiveVars.forEach((function(tee){eee.transitiveVars.add(tee)}))}))),eee},fee=new Set;gee.definitions.forEach((function(eee){eee.kind===Aue.OPERATION_DEFINITION?wee(ree(eee.name&&eee.name.value)).fragmentSpreads.forEach((function(eee){fee.add(eee)})):eee.kind!==Aue.FRAGMENT_DEFINITION||0!==aee||oee(eee.name.value).removed||fee.add(eee.name.value)})),fee.forEach((function(eee){wee(oee(eee)).fragmentSpreads.forEach((function(eee){fee.add(eee)}))}));var bee={enter:function(eee){if(tee=eee.name.value,!fee.has(tee)||oee(tee).removed)return null;var tee}};return jye(Mhe(gee,{FragmentSpread:bee,FragmentDefinition:bee,OperationDefinition:{leave:function(eee){if(eee.variableDefinitions){var tee=wee(ree(eee.name&&eee.name.value)).transitiveVars;if(tee.size1)for(var oee=new Xye,i=1;i=o.length?{done:!0}:{done:!1,value:o[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function txe(eee,tee){(null==tee||tee>eee.length)&&(tee=eee.length);for(var i=0,ree=new Array(tee);i1,ree=!1,oee=arguments[1];return new C((function(nee){return eee.subscribe({next:function(eee){var aee=!ree;if(ree=!0,!aee||tee)try{oee=fn(oee,eee)}catch(e){return nee.error(e)}else oee=eee},error:function(e){nee.error(e)},complete:function(){if(!ree&&!tee)return nee.error(new TypeError("Cannot reduce an empty sequence"));nee.next(oee),nee.complete()}})}))},tee.concat=function(){for(var eee=this,tee=arguments.length,ree=new Array(tee),oee=0;oee=0&&ree.splice(i,1),nee()}});ree.push(oee)},error:function(e){tee.error(e)},complete:function(){nee()}});function nee(){oee.closed&&0===ree.length&&tee.complete()}return function(){ree.forEach((function(s){return s.unsubscribe()})),oee.unsubscribe()}}))},tee[lxe]=function(){return this},eee.from=function(x){var C="function"==typeof this?this:eee;if(null==x)throw new TypeError(x+" is not an object");var tee=pxe(x,lxe);if(tee){var ree=tee.call(x);if(Object(ree)!==ree)throw new TypeError(ree+" is not an object");return uxe(ree)&&ree.constructor===C?ree:new C((function(eee){return ree.subscribe(eee)}))}if(axe("iterator")&&(tee=pxe(x,sxe)))return new C((function(eee){gxe((function(){if(!eee.closed){for(var ree,oee=exe(tee.call(x));!(ree=oee()).done;){var nee=ree.value;if(eee.next(nee),eee.closed)return}eee.complete()}}))}));if(Array.isArray(x))return new C((function(eee){gxe((function(){if(!eee.closed){for(var i=0;i=0;--i){var nee=tee[i],aee=!isNaN(+nee)?[]:{};aee[nee]=eee,eee=aee}ree=oee.merge(ree,eee)})),ree},mergeOptions:function(eee,tee){return zxe(eee,tee,tee.variables&&{variables:zxe(pde(pde({},eee&&eee.variables),tee.variables))})},offsetLimitPagination:function(eee){return void 0===eee&&(eee=!1),{keyArgs:eee,merge:function(eee,tee,_a){var ree=_a.args,oee=eee?eee.slice(0):[];if(tee)if(ree)for(var _b=ree.offset,nee=void 0===_b?0:_b,i=0;i1&&nee===aee&&(nee="");var _b=eee.pageInfo||{},iee=_b.startCursor,see=_b.endCursor;return pde(pde({},Zye(eee)),{edges:oee,pageInfo:pde(pde({},eee.pageInfo),{startCursor:iee||nee,endCursor:see||aee})})},merge:function(eee,tee,_a){var ree=_a.args,oee=_a.isReference,nee=_a.readField;if(eee||(eee={edges:[],pageInfo:{hasPreviousPage:!1,hasNextPage:!0,startCursor:"",endCursor:""}}),!tee)return eee;var aee=tee.edges?tee.edges.map((function(eee){return oee(eee=pde({},eee))&&(eee.cursor=nee("cursor",eee)),eee})):[];if(tee.pageInfo){var iee=tee.pageInfo,see=iee.startCursor,lee=iee.endCursor,cee=aee[0],pee=aee[aee.length-1];cee&&see&&(cee.cursor=see),pee&&lee&&(pee.cursor=lee);var dee=cee&&cee.cursor;dee&&!see&&(tee=Wye(tee,{pageInfo:{startCursor:dee}}));var uee=pee&&pee.cursor;uee&&!lee&&(tee=Wye(tee,{pageInfo:{endCursor:uee}}))}var hee=eee.edges,gee=[];if(ree&&ree.after)(wee=hee.findIndex((function(eee){return eee.cursor===ree.after})))>=0&&(hee=hee.slice(0,wee+1));else if(ree&&ree.before){var wee;gee=(wee=hee.findIndex((function(eee){return eee.cursor===ree.before})))<0?hee:hee.slice(wee),hee=[]}else tee.edges&&(hee=[]);var fee=_de(_de(_de([],hee,!0),aee,!0),gee,!0),bee=pde(pde({},tee.pageInfo),eee.pageInfo);if(tee.pageInfo){var _b=tee.pageInfo,mee=_b.hasPreviousPage,vee=_b.hasNextPage,yee=(see=_b.startCursor,lee=_b.endCursor,dde(_b,["hasPreviousPage","hasNextPage","startCursor","endCursor"]));Object.assign(bee,yee),hee.length||(void 0!==mee&&(bee.hasPreviousPage=mee),void 0!==see&&(bee.startCursor=see)),gee.length||(void 0!==vee&&(bee.hasNextPage=vee),void 0!==lee&&(bee.endCursor=lee))}return pde(pde(pde({},Zye(eee)),Zye(tee)),{edges:fee,pageInfo:bee})}}},removeArgumentsFromDocument:function(eee,tee){var ree=function(eee){return function(tee){return eee.some((function(eee){return tee.value&&tee.value.kind===Aue.VARIABLE&&tee.value.name&&(eee.name===tee.value.name.value||eee.test&&eee.test(tee))}))}}(eee);return jye(Mhe(tee,{OperationDefinition:{enter:function(tee){return pde(pde({},tee),{variableDefinitions:tee.variableDefinitions?tee.variableDefinitions.filter((function(tee){return!eee.some((function(eee){return eee.name===tee.variable.name.value}))})):[]})}},Field:{enter:function(tee){if(eee.some((function(eee){return eee.remove}))){var oee=0;if(tee.arguments&&tee.arguments.forEach((function(eee){ree(eee)&&(oee+=1)})),1===oee)return null}}},Argument:{enter:function(eee){if(ree(eee))return null}}}))},removeClientSetsFromDocument:Yye,removeConnectionDirectiveFromDocument:function(eee){return Vye([Bye],Mve(eee))},removeDirectivesFromDocument:Vye,removeFragmentSpreadFromDocument:function(eee,tee){function ree(tee){if(eee.some((function(eee){return eee.name===tee.name.value})))return null}return jye(Mhe(tee,{FragmentSpread:{enter:ree},FragmentDefinition:{enter:ree}}))},resultKeyNameFromField:Lve,shouldInclude:Dme,storeKeyNameFromField:Nve,stringifyForDisplay:eue,stripTypename:function(eee){return Mxe(eee,"__typename")},valueToObjectRepresentation:Ove,wrapPromiseWithState:function(eee){if(kxe(eee))return eee;var tee=eee;return tee.status="pending",tee.then((function(eee){if("pending"===tee.status){var ree=tee;ree.status="fulfilled",ree.value=eee}}),(function(eee){if("pending"===tee.status){var ree=tee;ree.status="rejected",ree.reason=eee}})),eee}},Symbol.toStringTag,{value:"Module"}));function jxe(eee){return new xxe((function(tee){tee.error(eee)}))}var $xe=function(eee,tee,ree){var oee=new Error(ree);throw oee.name="ServerError",oee.response=eee,oee.statusCode=eee.status,oee.result=tee,oee};function Vxe(eee){for(var tee=["query","operationName","variables","extensions","context"],_i=0,_a=Object.keys(eee);_i<_a.length;_i++){var ree=_a[_i];if(tee.indexOf(ree)<0)throw oue(43,ree)}return eee}function qxe(eee,tee){var ree=pde({},eee);return Object.defineProperty(tee,"setContext",{enumerable:!1,value:function(eee){ree=pde(pde({},ree),"function"==typeof eee?eee(ree):eee)}}),Object.defineProperty(tee,"getContext",{enumerable:!1,value:function(){return pde({},ree)}}),tee}function Bxe(eee){var tee={variables:eee.variables||{},extensions:eee.extensions||{},operationName:eee.operationName,query:eee.query};return tee.operationName||(tee.operationName="string"!=typeof tee.query?Uve(tee.query)||void 0:""),tee}function Yxe(eee,tee){var ree=pde({},eee),oee=new Set(Object.keys(eee));return Mhe(tee,{Variable:function(eee,tee,ree){ree&&"VariableDefinition"!==ree.kind&&oee.delete(eee.name.value)}}),oee.forEach((function(eee){delete ree[eee]})),ree}const Gxe=Object.freeze(Object.defineProperty({__proto__:null,createOperation:qxe,filterOperationVariables:Yxe,fromError:jxe,fromPromise:function(eee){return new xxe((function(tee){eee.then((function(eee){tee.next(eee),tee.complete()})).catch(tee.error.bind(tee))}))},throwServerError:$xe,toPromise:function(eee){var tee=!1;return new Promise((function(ree,oee){eee.subscribe({next:function(eee){tee?!1!==globalThis.__DEV__&&rue.warn(42):(tee=!0,ree(eee))},error:oee})}))},transformOperation:Bxe,validateOperation:Vxe},Symbol.toStringTag,{value:"Module"}));function Qxe(op,eee){return eee?eee(op):xxe.of()}function Wxe(eee){return"function"==typeof eee?new Hxe(eee):eee}function Kxe(eee){return eee.request.length<=1}var Hxe=function(){function eee(eee){eee&&(this.request=eee)}return eee.empty=function(){return new eee((function(){return xxe.of()}))},eee.from=function(tee){return 0===tee.length?eee.empty():tee.map(Wxe).reduce((function(x,y){return x.concat(y)}))},eee.split=function(tee,ree,oee){var nee,aee=Wxe(ree),iee=Wxe(oee||new eee(Qxe));return nee=Kxe(aee)&&Kxe(iee)?new eee((function(eee){return tee(eee)?aee.request(eee)||xxe.of():iee.request(eee)||xxe.of()})):new eee((function(eee,ree){return tee(eee)?aee.request(eee,ree)||xxe.of():iee.request(eee,ree)||xxe.of()})),Object.assign(nee,{left:aee,right:iee})},eee.execute=function(eee,tee){return eee.request(qxe(tee.context,Bxe(Vxe(tee))))||xxe.of()},eee.concat=function(tee,ree){var oee=Wxe(tee);if(Kxe(oee))return!1!==globalThis.__DEV__&&rue.warn(35,oee),oee;var nee,aee=Wxe(ree);return nee=Kxe(aee)?new eee((function(eee){return oee.request(eee,(function(op){return aee.request(op)||xxe.of()}))||xxe.of()})):new eee((function(eee,tee){return oee.request(eee,(function(op){return aee.request(op,tee)||xxe.of()}))||xxe.of()})),Object.assign(nee,{left:oee,right:aee})},eee.prototype.split=function(tee,ree,oee){return this.concat(eee.split(tee,ree,oee||new eee(Qxe)))},eee.prototype.concat=function(tee){return eee.concat(this,tee)},eee.prototype.request=function(eee,tee){throw oue(36)},eee.prototype.onError=function(eee,tee){if(tee&&tee.error)return tee.error(eee),!1;throw eee},eee.prototype.setOnError=function(fn){return this.onError=fn,this},eee}(),Xxe=Hxe.empty,Zxe=Hxe.from,Jxe=Hxe.split,eke=Hxe.concat,tke=Hxe.execute;const rke=Object.freeze(Object.defineProperty({__proto__:null,ApolloLink:Hxe,concat:eke,empty:Xxe,execute:tke,from:Zxe,split:Jxe},Symbol.toStringTag,{value:"Module"}));function oke(eee){var tee=null,ree=null,oee=!1,nee=[],aee=[];function iee(eee){if(!ree){if(aee.length){var tee=aee.shift();if(Array.isArray(tee)&&tee[0])return tee[0]({value:eee,done:!1})}nee.push(eee)}}function see(eee){ree=eee,aee.slice().forEach((function(tee){tee[1](eee)})),!tee||tee()}function lee(){oee=!0,aee.slice().forEach((function(eee){eee[0]({value:void 0,done:!0})})),!tee||tee()}tee=function(){tee=null,eee.removeListener("data",iee),eee.removeListener("error",see),eee.removeListener("end",lee),eee.removeListener("finish",lee),eee.removeListener("close",lee)},eee.on("data",iee),eee.on("error",see),eee.on("end",lee),eee.on("finish",lee),eee.on("close",lee);var cee={next:function(){return new Promise((function(eee,tee){return ree?tee(ree):nee.length?eee({value:nee.shift(),done:!1}):oee?eee({value:void 0,done:!0}):void aee.push([eee,tee])}))}};return Bme&&(cee[Symbol.asyncIterator]=function(){return this}),cee}function nke(eee){var tee={next:function(){return eee.read()}};return Bme&&(tee[Symbol.asyncIterator]=function(){return this}),tee}function ake(eee){var tee,ree,oee,nee=eee;if(eee.body&&(nee=eee.body),function(eee){return!(!Bme||!eee[Symbol.asyncIterator])}(nee))return function(eee){var _a,tee=eee[Symbol.asyncIterator]();return(_a={next:function(){return tee.next()}})[Symbol.asyncIterator]=function(){return this},_a}(nee);if(function(eee){return!!eee.getReader}(nee))return nke(nee.getReader());if(function(eee){return!!eee.stream}(nee))return nke(nee.stream().getReader());if(function(eee){return!!eee.arrayBuffer}(nee))return tee=nee.arrayBuffer(),ree=!1,oee={next:function(){return ree?Promise.resolve({value:void 0,done:!0}):(ree=!0,new Promise((function(eee,ree){tee.then((function(tee){eee({value:tee,done:!1})})).catch(ree)})))}},Bme&&(oee[Symbol.asyncIterator]=function(){return this}),oee;if(function(eee){return!!eee.pipe}(nee))return oke(nee);throw new Error("Unknown body type for responseIterator. Please pass a streamable response.")}var ike=Symbol();function ske(eee){return eee.hasOwnProperty("graphQLErrors")}var lke=function(eee){function tee(_a){var ree=_a.graphQLErrors,oee=_a.protocolErrors,nee=_a.clientErrors,aee=_a.networkError,iee=_a.errorMessage,see=_a.extraInfo,lee=eee.call(this,iee)||this;return lee.name="ApolloError",lee.graphQLErrors=ree||[],lee.protocolErrors=oee||[],lee.clientErrors=nee||[],lee.networkError=aee||null,lee.message=iee||function(eee){var tee=_de(_de(_de([],eee.graphQLErrors,!0),eee.clientErrors,!0),eee.protocolErrors,!0);return eee.networkError&&tee.push(eee.networkError),tee.map((function(eee){return Wme(eee)&&eee.message||"Error message not found."})).join("\n")}(lee),lee.extraInfo=see,lee.__proto__=tee.prototype,lee}return cde(tee,eee),tee}(Error);const cke=Object.freeze(Object.defineProperty({__proto__:null,ApolloError:lke,PROTOCOL_ERRORS_SYMBOL:ike,graphQLResultHasProtocolErrors:function(eee){return!!eee.extensions&&Array.isArray(eee.extensions[ike])},isApolloError:ske},Symbol.toStringTag,{value:"Module"}));var pke=Object.prototype.hasOwnProperty;function dke(eee){var tee={};return eee.split("\n").forEach((function(eee){var i=eee.indexOf(":");if(i>-1){var ree=eee.slice(0,i).trim().toLowerCase(),oee=eee.slice(i+1).trim();tee[ree]=oee}})),tee}function uke(eee,tee){if(eee.status>=300){$xe(eee,function(){try{return JSON.parse(tee)}catch(eee){return tee}}(),"Response not successful: Received status code ".concat(eee.status))}try{return JSON.parse(tee)}catch(oee){var ree=oee;throw ree.name="ServerParseError",ree.response=eee,ree.statusCode=eee.status,ree.bodyText=tee,ree}}function hke(eee){return function(tee){return tee.text().then((function(eee){return uke(tee,eee)})).then((function(ree){return Array.isArray(ree)||pke.call(ree,"data")||pke.call(ree,"errors")||$xe(tee,ree,"Server response was missing for query '".concat(Array.isArray(eee)?eee.map((function(op){return op.operationName})):eee.operationName,"'.")),ree}))}}var gke=function(p,eee){var tee;try{tee=JSON.stringify(p)}catch(e){var ree=oue(39,eee,e.message);throw ree.parseError=e,ree}return tee},wke={http:{includeQuery:!0,includeExtensions:!1,preserveHeaderCase:!1},headers:{accept:"*/*","content-type":"application/json"},options:{method:"POST"}},fke=function(eee,tee){return tee(eee)};function bke(eee,tee){for(var ree=[],_i=2;_i-1;){if(gee=void 0,_b=[see.slice(0,bi),see.slice(bi+iee.length)],see=_b[1],i=(gee=_b[0]).indexOf("\r\n\r\n"),wee=dke(gee.slice(0,i)),(fee=wee["content-type"])&&-1===fee.toLowerCase().indexOf("application/json"))throw new Error("Unsupported patch content type: application/json is required.");if(bee=gee.slice(i))if(mee=uke(eee,bee),Object.keys(mee).length>1||"data"in mee||"incremental"in mee||"errors"in mee||"payload"in mee)if(Lxe(mee)){if(vee={},"payload"in mee){if(1===Object.keys(mee).length&&null===mee.payload)return[2];vee=pde({},mee.payload)}"errors"in mee&&(vee=pde(pde({},vee),{extensions:pde(pde({},"extensions"in vee?vee.extensions:null),(_c={},_c[ike]=mee.errors,_c))})),tee(vee)}else tee(mee);else if(1===Object.keys(mee).length&&"hasNext"in mee&&!mee.hasNext)return[2];bi=see.indexOf(iee)}return[3,1];case 3:return[2]}}))}))}(tee,aee):hke(eee)(tee).then(aee)})).then((function(){wee=void 0,tee.complete()})).catch((function(eee){wee=void 0,function(eee,tee){eee.result&&eee.result.errors&&eee.result.data&&tee.next(eee.result),tee.error(eee)}(eee,tee)})),function(){wee&&wee.abort()}}))}))},_ke=function(eee){function tee(tee){void 0===tee&&(tee={});var ree=eee.call(this,kke(tee).request)||this;return ree.options=tee,ree}return cde(tee,eee),tee}(Hxe);const Eke=Object.freeze(Object.defineProperty({__proto__:null,HttpLink:_ke,checkFetcher:mke,createHttpLink:kke,createSignalIfSupported:function(){if("undefined"==typeof AbortController)return{controller:!1,signal:!1};var eee=new AbortController;return{controller:eee,signal:eee.signal}},defaultPrinter:fke,fallbackHttpConfig:wke,parseAndCheckHttpResponse:hke,rewriteURIForGET:yke,selectHttpOptionsAndBody:function(eee,tee){for(var ree=[],_i=2;_i=0&&eee.indexOf(tee,ree)===ree}(eee,Cke)}}return!1}function Rke(eee){return Object.keys(eee).filter(Dke,eee)}function Dke(eee){return void 0!==this[eee]}const Cke="{ [native code] }";function Lke(a,b){let eee=Oke.get(a);if(eee){if(eee.has(b))return!0}else Oke.set(a,eee=new Set);return eee.add(b),!1}const Fke=Object.freeze(Object.defineProperty({__proto__:null,default:Nke,equal:Nke},Symbol.toStringTag,{value:"Module"}));function zke(eee,_a,_b,tee){var ree=_a.data,oee=dde(_a,["data"]),nee=_b.data;return Nke(oee,dde(_b,["data"]))&&Mke(qve(eee).selectionSet,ree,nee,{fragmentMap:Xme(jve(eee)),variables:tee})}function Mke(eee,tee,ree,oee){if(tee===ree)return!0;var nee=new Set;return eee.selections.every((function(eee){if(nee.has(eee))return!0;if(nee.add(eee),!Dme(eee,oee.variables))return!0;if(Pke(eee))return!0;if(zve(eee)){var aee=Lve(eee),iee=tee&&tee[aee],see=ree&&ree[aee],lee=eee.selectionSet;if(!lee)return Nke(iee,see);var cee=Array.isArray(iee),pee=Array.isArray(see);if(cee!==pee)return!1;if(cee&&pee){var dee=iee.length;if(see.length!==dee)return!1;for(var i=0;i=0;--i)iee.missing=((_a={})[iee.path[i]]=iee.missing,_a)}else iee.missing=iee.path;return iee.__proto__=tee.prototype,iee}return cde(tee,eee),tee}(Error),qke=Object.prototype.hasOwnProperty;function Bke(eee){return null==eee}function Yke(_a,eee){var tee=_a.__typename,id=_a.id,ree=_a._id;if("string"==typeof tee&&(eee&&(eee.keyObject=Bke(id)?Bke(ree)?void 0:{_id:ree}:{id:id}),Bke(id)&&!Bke(ree)&&(id=ree),!Bke(id)))return"".concat(tee,":").concat("number"==typeof id||"string"==typeof id?id:JSON.stringify(id))}var Gke={dataIdFromObject:Yke,addTypename:!0,resultCaching:!0,canonizeResults:!1};function Qke(eee){var tee=eee.canonizeResults;return void 0===tee?Gke.canonizeResults:tee}var Wke=/^[_a-z][_0-9a-z]*/i;function Kke(eee){var tee=eee.match(Wke);return tee?tee[0]:eee}function Hke(eee,tee,ree){return!!Wme(tee)&&(zye(tee)?tee.every((function(tee){return Hke(eee,tee,ree)})):eee.selections.every((function(eee){if(zve(eee)&&Dme(eee,ree)){var oee=Lve(eee);return qke.call(tee,oee)&&(!eee.selectionSet||Hke(eee.selectionSet,tee[oee],ree))}return!0})))}function Xke(eee){return Wme(eee)&&!Ive(eee)&&!zye(eee)}function Zke(eee,tee){var ree=Xme(jve(eee));return{fragmentMap:ree,lookupFragment:function(eee){var oee=ree[eee];return!oee&&tee&&(oee=tee.lookup(eee)),oee||null}}}var Jke=Object.create(null),e_e=function(){return Jke},t_e=Object.create(null),r_e=function(){function eee(eee,tee){var ree=this;this.policies=eee,this.group=tee,this.data=Object.create(null),this.rootIds=Object.create(null),this.refs=Object.create(null),this.getFieldValue=function(eee,tee){return Ixe(Ive(eee)?ree.get(eee.__ref,tee):eee&&eee[tee])},this.canRead=function(eee){return Ive(eee)?ree.has(eee.__ref):"object"==typeof eee},this.toReference=function(eee,tee){if("string"==typeof eee)return Sve(eee);if(Ive(eee))return eee;var id=ree.policies.identify(eee)[0];if(id){var oee=Sve(id);return tee&&ree.merge(id,eee),oee}}}return eee.prototype.toObject=function(){return pde({},this.data)},eee.prototype.has=function(eee){return void 0!==this.lookup(eee,!0)},eee.prototype.get=function(eee,tee){if(this.group.depend(eee,tee),qke.call(this.data,eee)){var ree=this.data[eee];if(ree&&qke.call(ree,tee))return ree[tee]}return"__typename"===tee&&qke.call(this.policies.rootTypenamesById,eee)?this.policies.rootTypenamesById[eee]:this instanceof i_e?this.parent.get(eee,tee):void 0},eee.prototype.lookup=function(eee,tee){return tee&&this.group.depend(eee,"__exists"),qke.call(this.data,eee)?this.data[eee]:this instanceof i_e?this.parent.lookup(eee,tee):this.policies.rootTypenamesById[eee]?Object.create(null):void 0},eee.prototype.merge=function(eee,tee){var ree,oee=this;Ive(eee)&&(eee=eee.__ref),Ive(tee)&&(tee=tee.__ref);var nee="string"==typeof eee?this.lookup(ree=eee):eee,aee="string"==typeof tee?this.lookup(ree=tee):tee;if(aee){rue("string"==typeof ree,1);var iee=new Xye(l_e).merge(nee,aee);if(this.data[ree]=iee,iee!==nee&&(delete this.refs[ree],this.group.caching)){var see=Object.create(null);nee||(see.__exists=1),Object.keys(aee).forEach((function(eee){if(!nee||nee[eee]!==iee[eee]){see[eee]=1;var tee=Kke(eee);tee===eee||oee.policies.hasKeyArgs(iee.__typename,tee)||(see[tee]=1),void 0!==iee[eee]||oee instanceof i_e||delete iee[eee]}})),!see.__typename||nee&&nee.__typename||this.policies.rootTypenamesById[ree]!==iee.__typename||delete see.__typename,Object.keys(see).forEach((function(eee){return oee.group.dirty(ree,eee)}))}}},eee.prototype.modify=function(eee,tee){var ree=this,oee=this.lookup(eee);if(oee){var nee=Object.create(null),aee=!1,iee=!0,see={DELETE:Jke,INVALIDATE:t_e,isReference:Ive,toReference:this.toReference,canRead:this.canRead,readField:function(tee,oee){return ree.policies.readField("string"==typeof tee?{fieldName:tee,from:oee||Sve(eee)}:tee,{store:ree})}};if(Object.keys(oee).forEach((function(lee){var cee=Kke(lee),pee=oee[lee];if(void 0!==pee){var dee="function"==typeof tee?tee:tee[lee]||tee[cee];if(dee){var uee=dee===e_e?Jke:dee(Ixe(pee),pde(pde({},see),{fieldName:cee,storeFieldName:lee,storage:ree.getStorage(eee,lee)}));if(uee===t_e)ree.group.dirty(eee,lee);else if(uee===Jke&&(uee=void 0),uee!==pee&&(nee[lee]=uee,aee=!0,pee=uee,!1!==globalThis.__DEV__)){var hee=function(eee){if(void 0===ree.lookup(eee.__ref))return!1!==globalThis.__DEV__&&rue.warn(2,eee),!0};if(Ive(uee))hee(uee);else if(Array.isArray(uee))for(var gee=!1,wee=void 0,_i=0,fee=uee;_i0){var tee=--this.rootIds[eee];return tee||delete this.rootIds[eee],tee}return 0},eee.prototype.getRootIdSet=function(eee){return void 0===eee&&(eee=new Set),Object.keys(this.rootIds).forEach(eee.add,eee),this instanceof i_e?this.parent.getRootIdSet(eee):Object.keys(this.policies.rootTypenamesById).forEach(eee.add,eee),eee},eee.prototype.gc=function(){var eee=this,tee=this.getRootIdSet(),ree=this.toObject();tee.forEach((function(id){qke.call(ree,id)&&(Object.keys(eee.findChildRefIds(id)).forEach(tee.add,tee),delete ree[id])}));var oee=Object.keys(ree);if(oee.length){for(var nee=this;nee instanceof i_e;)nee=nee.parent;oee.forEach((function(id){return nee.delete(id)}))}return oee},eee.prototype.findChildRefIds=function(eee){if(!qke.call(this.refs,eee)){var tee=this.refs[eee]=Object.create(null),ree=this.data[eee];if(!ree)return tee;var oee=new Set([ree]);oee.forEach((function(eee){Ive(eee)&&(tee[eee.__ref]=!0),Wme(eee)&&Object.keys(eee).forEach((function(tee){var ree=eee[tee];Wme(ree)&&oee.add(ree)}))}))}return this.refs[eee]},eee.prototype.makeCacheKey=function(){return this.group.keyMaker.lookupArray(arguments)},eee}(),o_e=function(){function eee(eee,tee){void 0===tee&&(tee=null),this.caching=eee,this.parent=tee,this.d=null,this.resetCaching()}return eee.prototype.resetCaching=function(){this.d=this.caching?Iye():null,this.keyMaker=new Ume($me)},eee.prototype.depend=function(eee,tee){if(this.d){this.d(n_e(eee,tee));var ree=Kke(tee);ree!==tee&&this.d(n_e(eee,ree)),this.parent&&this.parent.depend(eee,tee)}},eee.prototype.dirty=function(eee,tee){this.d&&this.d.dirty(n_e(eee,tee),"__exists"===tee?"forget":"setDirty")},eee}();function n_e(eee,tee){return tee+"#"+eee}function a_e(eee,tee){c_e(eee)&&eee.group.depend(tee,"__exists")}!function(eee){var tee=function(eee){function tee(_a){var tee=_a.policies,_b=_a.resultCaching,ree=void 0===_b||_b,oee=_a.seed,nee=eee.call(this,tee,new o_e(ree))||this;return nee.stump=new s_e(nee),nee.storageTrie=new Ume($me),oee&&nee.replace(oee),nee}return cde(tee,eee),tee.prototype.addLayer=function(eee,tee){return this.stump.addLayer(eee,tee)},tee.prototype.removeLayer=function(){return this},tee.prototype.getStorage=function(){return this.storageTrie.lookupArray(arguments)},tee}(eee);eee.Root=tee}(r_e||(r_e={}));var i_e=function(eee){function tee(id,tee,ree,oee){var nee=eee.call(this,tee.policies,oee)||this;return nee.id=id,nee.parent=tee,nee.replay=ree,nee.group=oee,ree(nee),nee}return cde(tee,eee),tee.prototype.addLayer=function(eee,ree){return new tee(eee,this,ree,this.group)},tee.prototype.removeLayer=function(eee){var tee=this,ree=this.parent.removeLayer(eee);return eee===this.id?(this.group.caching&&Object.keys(this.data).forEach((function(eee){var oee=tee.data[eee],nee=ree.lookup(eee);nee?oee?oee!==nee&&Object.keys(oee).forEach((function(ree){Nke(oee[ree],nee[ree])||tee.group.dirty(eee,ree)})):(tee.group.dirty(eee,"__exists"),Object.keys(nee).forEach((function(ree){tee.group.dirty(eee,ree)}))):tee.delete(eee)})),ree):ree===this.parent?this:ree.addLayer(this.id,this.replay)},tee.prototype.toObject=function(){return pde(pde({},this.parent.toObject()),this.data)},tee.prototype.findChildRefIds=function(tee){var ree=this.parent.findChildRefIds(tee);return qke.call(this.data,tee)?pde(pde({},ree),eee.prototype.findChildRefIds.call(this,tee)):ree},tee.prototype.getStorage=function(){for(var p=this.parent;p.parent;)p=p.parent;return p.getStorage.apply(p,arguments)},tee}(r_e),s_e=function(eee){function tee(tee){return eee.call(this,"EntityStore.Stump",tee,(function(){}),new o_e(tee.group.caching,tee.group))||this}return cde(tee,eee),tee.prototype.removeLayer=function(){return this},tee.prototype.merge=function(eee,tee){return this.parent.merge(eee,tee)},tee}(i_e);function l_e(eee,tee,ree){var oee=eee[ree],nee=tee[ree];return Nke(oee,nee)?oee:nee}function c_e(eee){return!!(eee instanceof r_e&&eee.group.caching)}var p_e=function(){function eee(){this.known=new(Vme?WeakSet:Set),this.pool=new Ume($me),this.passes=new WeakMap,this.keysByJSON=new Map,this.empty=this.admit({})}return eee.prototype.isKnown=function(eee){return Wme(eee)&&this.known.has(eee)},eee.prototype.pass=function(eee){if(Wme(eee)){var tee=function(eee){return Wme(eee)?zye(eee)?eee.slice(0):pde({__proto__:Object.getPrototypeOf(eee)},eee):eee}(eee);return this.passes.set(tee,eee),tee}return eee},eee.prototype.admit=function(eee){var tee=this;if(Wme(eee)){var ree=this.passes.get(eee);if(ree)return ree;switch(Object.getPrototypeOf(eee)){case Array.prototype:if(this.known.has(eee))return eee;var oee=eee.map(this.admit,this);return(see=this.pool.lookupArray(oee)).array||(this.known.add(see.array=oee),!1!==globalThis.__DEV__&&Object.freeze(oee)),see.array;case null:case Object.prototype:if(this.known.has(eee))return eee;var nee=Object.getPrototypeOf(eee),aee=[nee],iee=this.sortedKeys(eee);aee.push(iee.json);var see,lee=aee.length;if(iee.sorted.forEach((function(ree){aee.push(tee.admit(eee[ree]))})),!(see=this.pool.lookupArray(aee)).object){var cee=see.object=Object.create(nee);this.known.add(cee),iee.sorted.forEach((function(eee,i){cee[eee]=aee[lee+i]})),!1!==globalThis.__DEV__&&Object.freeze(cee)}return see.object}}return eee},eee.prototype.sortedKeys=function(eee){var tee=Object.keys(eee),ree=this.pool.lookupArray(tee);if(!ree.keys){tee.sort();var oee=JSON.stringify(tee);(ree.keys=this.keysByJSON.get(oee))||this.keysByJSON.set(oee,ree.keys={sorted:tee,json:oee})}return ree.keys},eee}();function d_e(eee){return[eee.selectionSet,eee.objectOrReference,eee.context,eee.context.canonizeResults]}var u_e=function(){function eee(eee){var tee=this;this.knownResults=new($me?WeakMap:Map),this.config=zxe(eee,{addTypename:!1!==eee.addTypename,canonizeResults:Qke(eee)}),this.canon=eee.canon||new p_e,this.executeSelectionSet=Rye((function(eee){var _a,ree=eee.context.canonizeResults,oee=d_e(eee);oee[3]=!ree;var nee=(_a=tee.executeSelectionSet).peek.apply(_a,oee);return nee?ree?pde(pde({},nee),{result:tee.canon.admit(nee.result)}):nee:(a_e(eee.context.store,eee.enclosingRef.__ref),tee.execSelectionSetImpl(eee))}),{max:this.config.resultCacheMaxSize||uve["inMemoryCache.executeSelectionSet"]||5e4,keyArgs:d_e,makeCacheKey:function(eee,tee,ree,oee){if(c_e(ree.store))return ree.store.makeCacheKey(eee,Ive(tee)?tee.__ref:tee,ree.varString,oee)}}),this.executeSubSelectedArray=Rye((function(eee){return a_e(eee.context.store,eee.enclosingRef.__ref),tee.execSubSelectedArrayImpl(eee)}),{max:this.config.resultCacheMaxSize||uve["inMemoryCache.executeSubSelectedArray"]||1e4,makeCacheKey:function(_a){var eee=_a.field,tee=_a.array,ree=_a.context;if(c_e(ree.store))return ree.store.makeCacheKey(eee,tee,ree.varString)}})}return eee.prototype.resetCanon=function(){this.canon=new p_e},eee.prototype.diffQueryAgainstStore=function(_a){var eee=_a.store,tee=_a.query,_b=_a.rootId,ree=void 0===_b?"ROOT_QUERY":_b,oee=_a.variables,_c=_a.returnPartialData,nee=void 0===_c||_c,_d=_a.canonizeResults,aee=void 0===_d?this.config.canonizeResults:_d,iee=this.config.cache.policies;oee=pde(pde({},Bve($ve(tee))),oee);var see,lee=Sve(ree),cee=this.executeSelectionSet({selectionSet:qve(tee).selectionSet,objectOrReference:lee,enclosingRef:lee,context:pde({store:eee,query:tee,policies:iee,variables:oee,varString:_ve(oee),canonizeResults:aee},Zke(tee,this.config.fragments))});if(cee.missing&&(see=[new Vke(h_e(cee.missing),cee.missing,tee,oee)],!nee))throw see[0];return{result:cee.result,complete:!see,missing:see}},eee.prototype.isFresh=function(eee,tee,ree,oee){if(c_e(oee.store)&&this.knownResults.get(eee)===ree){var nee=this.executeSelectionSet.peek(ree,tee,oee,this.canon.isKnown(eee));if(nee&&eee===nee.result)return!0}return!1},eee.prototype.execSelectionSetImpl=function(_a){var eee=this,tee=_a.selectionSet,ree=_a.objectOrReference,oee=_a.enclosingRef,nee=_a.context;if(Ive(ree)&&!nee.policies.rootTypenamesById[ree.__ref]&&!nee.store.has(ree.__ref))return{result:this.canon.empty,missing:"Dangling reference to missing ".concat(ree.__ref," object")};var aee,iee=nee.variables,see=nee.policies,lee=nee.store.getFieldValue(ree,"__typename"),cee=[],pee=new Xye;function dee(eee,tee){var _a;return eee.missing&&(aee=pee.merge(aee,((_a={})[tee]=eee.missing,_a))),eee.result}this.config.addTypename&&"string"==typeof lee&&!see.rootIdsByTypename[lee]&&cee.push({__typename:lee});var uee=new Set(tee.selections);uee.forEach((function(tee){var _a,_b;if(Dme(tee,iee))if(zve(tee)){var hee=see.readField({fieldName:tee.name.value,field:tee,variables:nee.variables,from:ree},nee),gee=Lve(tee);void 0===hee?qye.added(tee)||(aee=pee.merge(aee,((_a={})[gee]="Can't find field '".concat(tee.name.value,"' on ").concat(Ive(ree)?ree.__ref+" object":"object "+JSON.stringify(ree,null,2)),_a))):zye(hee)?hee.length>0&&(hee=dee(eee.executeSubSelectedArray({field:tee,array:hee,enclosingRef:oee,context:nee}),gee)):tee.selectionSet?null!=hee&&(hee=dee(eee.executeSelectionSet({selectionSet:tee.selectionSet,objectOrReference:hee,enclosingRef:Ive(hee)?hee:oee,context:nee}),gee)):nee.canonizeResults&&(hee=eee.canon.pass(hee)),void 0!==hee&&cee.push(((_b={})[gee]=hee,_b))}else{var wee=Zme(tee,nee.lookupFragment);if(!wee&&tee.kind===Aue.FRAGMENT_SPREAD)throw oue(9,tee.name.value);wee&&see.fragmentMatches(wee,lee)&&wee.selectionSet.selections.forEach(uee.add,uee)}}));var hee={result:Kye(cee),missing:aee},gee=nee.canonizeResults?this.canon.admit(hee):Ixe(hee);return gee.result&&this.knownResults.set(gee.result,tee),gee},eee.prototype.execSubSelectedArrayImpl=function(_a){var eee,tee=this,ree=_a.field,oee=_a.array,nee=_a.enclosingRef,aee=_a.context,iee=new Xye;function see(tee,i){var _a;return tee.missing&&(eee=iee.merge(eee,((_a={})[i]=tee.missing,_a))),tee.result}return ree.selectionSet&&(oee=oee.filter(aee.store.canRead)),oee=oee.map((function(eee,i){return null===eee?null:zye(eee)?see(tee.executeSubSelectedArray({field:ree,array:eee,enclosingRef:nee,context:aee}),i):ree.selectionSet?see(tee.executeSelectionSet({selectionSet:ree.selectionSet,objectOrReference:eee,enclosingRef:Ive(eee)?eee:nee,context:aee}),i):(!1!==globalThis.__DEV__&&function(eee,tee,ree){if(!tee.selectionSet){var oee=new Set([ree]);oee.forEach((function(ree){Wme(ree)&&(rue(!Ive(ree),10,function(eee,tee){return Ive(tee)?eee.get(tee.__ref,"__typename"):tee&&tee.__typename}(eee,ree),tee.name.value),Object.values(ree).forEach(oee.add,oee))}))}}(aee.store,ree,eee),eee)})),{result:aee.canonizeResults?this.canon.admit(oee):oee,missing:eee}},eee}();function h_e(eee){try{JSON.stringify(eee,(function(_,eee){if("string"==typeof eee)throw eee;return eee}))}catch(tee){return tee}}var g_e=new oye,w_e=new WeakMap;function f_e(eee){var tee=w_e.get(eee);return tee||w_e.set(eee,tee={vars:new Set,dep:Iye()}),tee}function b_e(eee){f_e(eee).vars.forEach((function(rv){return rv.forgetCache(eee)}))}function m_e(eee){var tee=new Set,ree=new Set,rv=function(nee){if(arguments.length>0){if(eee!==nee){eee=nee,tee.forEach((function(eee){f_e(eee).dep.dirty(rv),function(eee){eee.broadcastWatches&&eee.broadcastWatches()}(eee)}));var aee=Array.from(ree);ree.clear(),aee.forEach((function(tee){return tee(eee)}))}}else{var iee=g_e.getValue();iee&&(oee(iee),f_e(iee).dep(rv))}return eee};rv.onNextChange=function(eee){return ree.add(eee),function(){ree.delete(eee)}};var oee=rv.attachCache=function(eee){return tee.add(eee),f_e(eee).vars.add(rv),rv};return rv.forgetCache=function(eee){return tee.delete(eee)},rv}var v_e=Object.create(null);function y_e(eee){var tee=JSON.stringify(eee);return v_e[tee]||(v_e[tee]=Object.create(null))}function x_e(eee){var tee=y_e(eee);return tee.keyFieldsFn||(tee.keyFieldsFn=function(tee,ree){var oee=function(eee,tee){return ree.readField(tee,eee)},nee=ree.keyObject=__e(eee,(function(eee){var nee=S_e(ree.storeObject,eee,oee);return void 0===nee&&tee!==ree.storeObject&&qke.call(tee,eee[0])&&(nee=S_e(tee,eee,T_e)),rue(void 0!==nee,4,eee.join("."),tee),nee}));return"".concat(ree.typename,":").concat(JSON.stringify(nee))})}function k_e(eee){var tee=y_e(eee);return tee.keyArgsFn||(tee.keyArgsFn=function(tee,_a){var ree=_a.field,oee=_a.variables,nee=_a.fieldName,aee=__e(eee,(function(eee){var nee=eee[0],aee=nee.charAt(0);if("@"!==aee)if("$"!==aee){if(tee)return S_e(tee,eee)}else{var iee=nee.slice(1);if(oee&&qke.call(oee,iee)){var see=eee.slice(0);return see[0]=iee,S_e(oee,see)}}else if(ree&&Mye(ree.directives)){var lee=nee.slice(1),d=ree.directives.find((function(d){return d.name.value===lee})),cee=d&&Cve(d,oee);return cee&&S_e(cee,eee.slice(1))}})),iee=JSON.stringify(aee);return(tee||"{}"!==iee)&&(nee+=":"+iee),nee})}function __e(eee,tee){var ree=new Xye;return E_e(eee).reduce((function(eee,oee){var _a,nee=tee(oee);if(void 0!==nee){for(var i=oee.length-1;i>=0;--i)(_a={})[oee[i]]=nee,nee=_a;eee=ree.merge(eee,nee)}return eee}),Object.create(null))}function E_e(eee){var tee=y_e(eee);if(!tee.paths){var ree=tee.paths=[],oee=[];eee.forEach((function(s,i){zye(s)?(E_e(s).forEach((function(p){return ree.push(oee.concat(p))})),oee.length=0):(oee.push(s),zye(eee[i+1])||(ree.push(oee.slice(0)),oee.length=0))}))}return tee.paths}function T_e(eee,tee){return eee[tee]}function S_e(eee,tee,ree){return ree=ree||T_e,I_e(tee.reduce((function eee(tee,oee){return zye(tee)?tee.map((function(tee){return eee(tee,oee)})):tee&&ree(tee,oee)}),eee))}function I_e(eee){return Wme(eee)?zye(eee)?eee.map(I_e):__e(Object.keys(eee).sort(),(function(tee){return S_e(eee,tee)})):eee}function O_e(eee){return void 0!==eee.args?eee.args:eee.field?Cve(eee.field,eee.variables):null}var N_e=function(){},A_e=function(eee,tee){return tee.fieldName},R_e=function(eee,tee,_a){return(0,_a.mergeObjects)(eee,tee)},D_e=function(_,eee){return eee},C_e=function(){function eee(eee){this.config=eee,this.typePolicies=Object.create(null),this.toBeAdded=Object.create(null),this.supertypeMap=new Map,this.fuzzySubtypes=new Map,this.rootIdsByTypename=Object.create(null),this.rootTypenamesById=Object.create(null),this.usingPossibleTypes=!1,this.config=pde({dataIdFromObject:Yke},eee),this.cache=this.config.cache,this.setRootTypename("Query"),this.setRootTypename("Mutation"),this.setRootTypename("Subscription"),eee.possibleTypes&&this.addPossibleTypes(eee.possibleTypes),eee.typePolicies&&this.addTypePolicies(eee.typePolicies)}return eee.prototype.identify=function(eee,tee){var _a,ree=this,oee=tee&&(tee.typename||(null===(_a=tee.storeObject)||void 0===_a?void 0:_a.__typename))||eee.__typename;if(oee===this.rootTypenamesById.ROOT_QUERY)return["ROOT_QUERY"];for(var id,nee=tee&&tee.storeObject||eee,aee=pde(pde({},tee),{typename:oee,storeObject:nee,readField:tee&&tee.readField||function(){var eee=F_e(arguments,nee);return ree.readField(eee,{store:ree.cache.data,variables:eee.variables})}}),iee=oee&&this.getTypePolicy(oee),see=iee&&iee.keyFn||this.config.dataIdFromObject;see;){var lee=see(pde(pde({},eee),nee),aee);if(!zye(lee)){id=lee;break}see=x_e(lee)}return id=id?String(id):void 0,aee.keyObject?[id,aee.keyObject]:[id]},eee.prototype.addTypePolicies=function(eee){var tee=this;Object.keys(eee).forEach((function(ree){var _a=eee[ree],oee=_a.queryType,nee=_a.mutationType,aee=_a.subscriptionType,iee=dde(_a,["queryType","mutationType","subscriptionType"]);oee&&tee.setRootTypename("Query",ree),nee&&tee.setRootTypename("Mutation",ree),aee&&tee.setRootTypename("Subscription",ree),qke.call(tee.toBeAdded,ree)?tee.toBeAdded[ree].push(iee):tee.toBeAdded[ree]=[iee]}))},eee.prototype.updateTypePolicy=function(eee,tee){var ree=this,oee=this.getTypePolicy(eee),nee=tee.keyFields,aee=tee.fields;function iee(eee,tee){eee.merge="function"==typeof tee?tee:!0===tee?R_e:!1===tee?D_e:eee.merge}iee(oee,tee.merge),oee.keyFn=!1===nee?N_e:zye(nee)?x_e(nee):"function"==typeof nee?nee:oee.keyFn,aee&&Object.keys(aee).forEach((function(tee){var oee=ree.getFieldPolicy(eee,tee,!0),nee=aee[tee];if("function"==typeof nee)oee.read=nee;else{var see=nee.keyArgs,lee=nee.read,cee=nee.merge;oee.keyFn=!1===see?A_e:zye(see)?k_e(see):"function"==typeof see?see:oee.keyFn,"function"==typeof lee&&(oee.read=lee),iee(oee,cee)}oee.read&&oee.merge&&(oee.keyFn=oee.keyFn||A_e)}))},eee.prototype.setRootTypename=function(eee,tee){void 0===tee&&(tee=eee);var ree="ROOT_"+eee.toUpperCase(),oee=this.rootTypenamesById[ree];tee!==oee&&(rue(!oee||oee===eee,5,eee),oee&&delete this.rootIdsByTypename[oee],this.rootIdsByTypename[tee]=ree,this.rootTypenamesById[ree]=tee)},eee.prototype.addPossibleTypes=function(eee){var tee=this;this.usingPossibleTypes=!0,Object.keys(eee).forEach((function(ree){tee.getSupertypeSet(ree,!0),eee[ree].forEach((function(eee){tee.getSupertypeSet(eee,!0).add(ree);var oee=eee.match(Wke);oee&&oee[0]===eee||tee.fuzzySubtypes.set(eee,new RegExp(eee))}))}))},eee.prototype.getTypePolicy=function(eee){var tee=this;if(!qke.call(this.typePolicies,eee)){var ree=this.typePolicies[eee]=Object.create(null);ree.fields=Object.create(null);var oee=this.supertypeMap.get(eee);!oee&&this.fuzzySubtypes.size&&(oee=this.getSupertypeSet(eee,!0),this.fuzzySubtypes.forEach((function(ree,nee){if(ree.test(eee)){var aee=tee.supertypeMap.get(nee);aee&&aee.forEach((function(eee){return oee.add(eee)}))}}))),oee&&oee.size&&oee.forEach((function(eee){var _a=tee.getTypePolicy(eee),oee=_a.fields,nee=dde(_a,["fields"]);Object.assign(ree,nee),Object.assign(ree.fields,oee)}))}var nee=this.toBeAdded[eee];return nee&&nee.length&&nee.splice(0).forEach((function(ree){tee.updateTypePolicy(eee,ree)})),this.typePolicies[eee]},eee.prototype.getFieldPolicy=function(eee,tee,ree){if(eee){var oee=this.getTypePolicy(eee).fields;return oee[tee]||ree&&(oee[tee]=Object.create(null))}},eee.prototype.getSupertypeSet=function(eee,tee){var ree=this.supertypeMap.get(eee);return!ree&&tee&&this.supertypeMap.set(eee,ree=new Set),ree},eee.prototype.fragmentMatches=function(eee,tee,ree,oee){var nee=this;if(!eee.typeCondition)return!0;if(!tee)return!1;var aee=eee.typeCondition.name.value;if(tee===aee)return!0;if(this.usingPossibleTypes&&this.supertypeMap.has(aee))for(var iee=this.getSupertypeSet(tee,!0),see=[iee],lee=function(eee){var tee=nee.getSupertypeSet(eee,!1);tee&&tee.size&&see.indexOf(tee)<0&&see.push(tee)},cee=!(!ree||!this.fuzzySubtypes.size),pee=!1,i=0;i1?aee:tee}:(oee=pde({},nee),qke.call(oee,"from")||(oee.from=tee)),!1!==globalThis.__DEV__&&void 0===oee.from&&!1!==globalThis.__DEV__&&rue.warn(7,eue(Array.from(eee))),void 0===oee.variables&&(oee.variables=ree),oee}function z_e(eee){return function(tee,ree){if(zye(tee)||zye(ree))throw oue(8);if(Wme(tee)&&Wme(ree)){var oee=eee.getFieldValue(tee,"__typename"),nee=eee.getFieldValue(ree,"__typename");if(oee&&nee&&oee!==nee)return ree;if(Ive(tee)&&Xke(ree))return eee.merge(tee.__ref,ree),tee;if(Xke(tee)&&Ive(ree))return eee.merge(tee,ree.__ref),ree;if(Xke(tee)&&Xke(ree))return pde(pde({},tee),ree)}return ree}}function M_e(eee,tee,ree){var oee="".concat(tee).concat(ree),nee=eee.flavors.get(oee);return nee||eee.flavors.set(oee,nee=eee.clientOnly===tee&&eee.deferred===ree?eee:pde(pde({},eee),{clientOnly:tee,deferred:ree})),nee}var P_e=function(){function eee(eee,tee,ree){this.cache=eee,this.reader=tee,this.fragments=ree}return eee.prototype.writeToStore=function(eee,_a){var tee=this,ree=_a.query,oee=_a.result,nee=_a.dataId,aee=_a.variables,iee=_a.overwrite,see=Pve(ree),lee=new Xye;aee=pde(pde({},Bve(see)),aee);var cee=pde(pde({store:eee,written:Object.create(null),merge:function(eee,tee){return lee.merge(eee,tee)},variables:aee,varString:_ve(aee)},Zke(ree,this.fragments)),{overwrite:!!iee,incomingById:new Map,clientOnly:!1,deferred:!1,flavors:new Map}),pee=this.processSelectionSet({result:oee||Object.create(null),dataId:nee,selectionSet:see.selectionSet,mergeTree:{map:new Map},context:cee});if(!Ive(pee))throw oue(11,oee);return cee.incomingById.forEach((function(_a,ree){var oee=_a.storeObject,nee=_a.mergeTree,aee=_a.fieldNodeSet,iee=Sve(ree);if(nee&&nee.map.size){var see=tee.applyMerges(nee,iee,oee,cee);if(Ive(see))return;oee=see}if(!1!==globalThis.__DEV__&&!cee.overwrite){var lee=Object.create(null);aee.forEach((function(eee){eee.selectionSet&&(lee[eee.name.value]=!0)}));Object.keys(oee).forEach((function(eee){(function(eee){return!0===lee[Kke(eee)]})(eee)&&!function(eee){var tee=nee&&nee.map.get(eee);return Boolean(tee&&tee.info&&tee.info.merge)}(eee)&&function(eee,tee,ree,oee){var nee=function(eee){var tee=oee.getFieldValue(eee,ree);return"object"==typeof tee&&tee},aee=nee(eee);if(!aee)return;var iee=nee(tee);if(!iee)return;if(Ive(aee))return;if(Nke(aee,iee))return;if(Object.keys(aee).every((function(eee){return void 0!==oee.getFieldValue(iee,eee)})))return;var see=oee.getFieldValue(eee,"__typename")||oee.getFieldValue(tee,"__typename"),lee=Kke(ree),cee="".concat(see,".").concat(lee);if(B_e.has(cee))return;B_e.add(cee);var pee=[];zye(aee)||zye(iee)||[aee,iee].forEach((function(eee){var tee=oee.getFieldValue(eee,"__typename");"string"!=typeof tee||pee.includes(tee)||pee.push(tee)}));!1!==globalThis.__DEV__&&rue.warn(14,lee,see,pee.length?"either ensure all objects of type "+pee.join(" and ")+" have an ID or a custom merge function, or ":"",cee,pde({},aee),pde({},iee))}(iee,oee,eee,cee.store)}))}eee.merge(ree,oee)})),eee.retain(pee.__ref),pee},eee.prototype.processSelectionSet=function(_a){var eee=this,tee=_a.dataId,ree=_a.result,oee=_a.selectionSet,nee=_a.context,aee=_a.mergeTree,iee=this.cache.policies,see=Object.create(null),lee=tee&&iee.rootTypenamesById[tee]||Fve(ree,oee,nee.fragmentMap)||tee&&nee.store.get(tee,"__typename");"string"==typeof lee&&(see.__typename=lee);var cee=function(){var eee=F_e(arguments,see,nee.variables);if(Ive(eee.from)){var tee=nee.incomingById.get(eee.from.__ref);if(tee){var ree=iee.readField(pde(pde({},eee),{from:tee.storeObject}),nee);if(void 0!==ree)return ree}}return iee.readField(eee,nee)},pee=new Set;this.flattenFields(oee,ree,nee,lee).forEach((function(tee,oee){var _a,nee=Lve(oee),dee=ree[nee];if(pee.add(oee),void 0!==dee){var uee=iee.getStoreFieldName({typename:lee,fieldName:oee.name.value,field:oee,variables:tee.variables}),hee=j_e(aee,uee),gee=eee.processFieldValue(dee,oee,oee.selectionSet?M_e(tee,!1,!1):tee,hee),wee=void 0;oee.selectionSet&&(Ive(gee)||Xke(gee))&&(wee=cee("__typename",gee));var fee=iee.getMergeFunction(lee,oee.name.value,wee);fee?hee.info={field:oee,typename:lee,merge:fee}:q_e(aee,uee),see=tee.merge(see,((_a={})[uee]=gee,_a))}else!1===globalThis.__DEV__||tee.clientOnly||tee.deferred||qye.added(oee)||iee.getReadFunction(lee,oee.name.value)||!1!==globalThis.__DEV__&&rue.error(12,Lve(oee),ree)}));try{var _b=iee.identify(ree,{typename:lee,selectionSet:oee,fragmentMap:nee.fragmentMap,storeObject:see,readField:cee}),id=_b[0],dee=_b[1];tee=tee||id,dee&&(see=nee.merge(see,dee))}catch(e){if(!tee)throw e}if("string"==typeof tee){var uee=Sve(tee),hee=nee.written[tee]||(nee.written[tee]=[]);if(hee.indexOf(oee)>=0)return uee;if(hee.push(oee),this.reader&&this.reader.isFresh(ree,uee,oee,nee))return uee;var gee=nee.incomingById.get(tee);return gee?(gee.storeObject=nee.merge(gee.storeObject,see),gee.mergeTree=$_e(gee.mergeTree,aee),pee.forEach((function(eee){return gee.fieldNodeSet.add(eee)}))):nee.incomingById.set(tee,{storeObject:see,mergeTree:V_e(aee)?void 0:aee,fieldNodeSet:pee}),uee}return see},eee.prototype.processFieldValue=function(eee,tee,ree,oee){var nee=this;return tee.selectionSet&&null!==eee?zye(eee)?eee.map((function(eee,i){var aee=nee.processFieldValue(eee,tee,ree,j_e(oee,i));return q_e(oee,i),aee})):this.processSelectionSet({result:eee,selectionSet:tee.selectionSet,context:ree,mergeTree:oee}):!1!==globalThis.__DEV__?Exe(eee):eee},eee.prototype.flattenFields=function(eee,tee,ree,oee){void 0===oee&&(oee=Fve(tee,eee,ree.fragmentMap));var nee=new Map,aee=this.cache.policies,iee=new Ume(!1);return function eee(see,lee){var cee=iee.lookup(see,lee.clientOnly,lee.deferred);cee.visited||(cee.visited=!0,see.selections.forEach((function(iee){if(Dme(iee,ree.variables)){var see=lee.clientOnly,cee=lee.deferred;if(see&&cee||!Mye(iee.directives)||iee.directives.forEach((function(eee){var tee=eee.name.value;if("client"===tee&&(see=!0),"defer"===tee){var oee=Cve(eee,ree.variables);oee&&!1===oee.if||(cee=!0)}})),zve(iee)){var pee=nee.get(iee);pee&&(see=see&&pee.clientOnly,cee=cee&&pee.deferred),nee.set(iee,M_e(ree,see,cee))}else{var dee=Zme(iee,ree.lookupFragment);if(!dee&&iee.kind===Aue.FRAGMENT_SPREAD)throw oue(13,iee.name.value);dee&&aee.fragmentMatches(dee,oee,tee,ree.variables)&&eee(dee.selectionSet,M_e(ree,see,cee))}}})))}(eee,ree),nee},eee.prototype.applyMerges=function(eee,tee,ree,oee,nee){var _a,aee=this;if(eee.map.size&&!Ive(ree)){var iee,see=zye(ree)||!Ive(tee)&&!Xke(tee)?void 0:tee,lee=ree;see&&!nee&&(nee=[Ive(see)?see.__ref:see]);var cee=function(eee,tee){return zye(eee)?"number"==typeof tee?eee[tee]:void 0:oee.store.getFieldValue(eee,String(tee))};eee.map.forEach((function(eee,tee){var ree=cee(see,tee),pee=cee(lee,tee);if(void 0!==pee){nee&&nee.push(tee);var dee=aee.applyMerges(eee,ree,pee,oee,nee);dee!==pee&&(iee=iee||new Map).set(tee,dee),nee&&rue(nee.pop()===tee)}})),iee&&(ree=zye(lee)?lee.slice(0):pde({},lee),iee.forEach((function(eee,tee){ree[tee]=eee})))}return eee.info?this.cache.policies.runMergeFunction(tee,ree,eee.info,oee,nee&&(_a=oee.store).getStorage.apply(_a,nee)):ree},eee}(),U_e=[];function j_e(_a,eee){var tee=_a.map;return tee.has(eee)||tee.set(eee,U_e.pop()||{map:new Map}),tee.get(eee)}function $_e(eee,tee){if(eee===tee||!tee||V_e(tee))return eee;if(!eee||V_e(eee))return tee;var ree=eee.info&&tee.info?pde(pde({},eee.info),tee.info):eee.info||tee.info,oee=eee.map.size&&tee.map.size,nee={info:ree,map:oee?new Map:eee.map.size?eee.map:tee.map};if(oee){var aee=new Set(tee.map.keys());eee.map.forEach((function(eee,ree){nee.map.set(ree,$_e(eee,tee.map.get(ree))),aee.delete(ree)})),aee.forEach((function(ree){nee.map.set(ree,$_e(tee.map.get(ree),eee.map.get(ree)))}))}return nee}function V_e(eee){return!eee||!(eee.info||eee.map.size)}function q_e(_a,eee){var tee=_a.map,ree=tee.get(eee);ree&&V_e(ree)&&(U_e.push(ree),tee.delete(eee))}var B_e=new Set;var Y_e=function(eee){function tee(tee){void 0===tee&&(tee={});var ree=eee.call(this)||this;return ree.watches=new Set,ree.addTypenameTransform=new Lye(qye),ree.assumeImmutableResults=!0,ree.makeVar=m_e,ree.txCount=0,ree.config=function(eee){return zxe(Gke,eee)}(tee),ree.addTypename=!!ree.config.addTypename,ree.policies=new C_e({cache:ree,dataIdFromObject:ree.config.dataIdFromObject,possibleTypes:ree.config.possibleTypes,typePolicies:ree.config.typePolicies}),ree.init(),ree}return cde(tee,eee),tee.prototype.init=function(){var eee=this.data=new r_e.Root({policies:this.policies,resultCaching:this.config.resultCaching});this.optimisticData=eee.stump,this.resetResultCache()},tee.prototype.resetResultCache=function(eee){var tee=this,ree=this.storeReader,oee=this.config.fragments;this.storeWriter=new P_e(this,this.storeReader=new u_e({cache:this,addTypename:this.addTypename,resultCacheMaxSize:this.config.resultCacheMaxSize,canonizeResults:Qke(this.config),canon:eee?void 0:ree&&ree.canon,fragments:oee}),oee),this.maybeBroadcastWatch=Rye((function(c,eee){return tee.broadcastWatch(c,eee)}),{max:this.config.resultCacheMaxSize||uve["inMemoryCache.maybeBroadcastWatch"]||5e3,makeCacheKey:function(c){var eee=c.optimistic?tee.optimisticData:tee.data;if(c_e(eee)){var ree=c.optimistic,id=c.id,oee=c.variables;return eee.makeCacheKey(c.query,c.callback,_ve({optimistic:ree,id:id,variables:oee}))}}}),new Set([this.data.group,this.optimisticData.group]).forEach((function(eee){return eee.resetCaching()}))},tee.prototype.restore=function(eee){return this.init(),eee&&this.data.replace(eee),this},tee.prototype.extract=function(eee){return void 0===eee&&(eee=!1),(eee?this.optimisticData:this.data).extract()},tee.prototype.read=function(eee){var _a=eee.returnPartialData,tee=void 0!==_a&&_a;try{return this.storeReader.diffQueryAgainstStore(pde(pde({},eee),{store:eee.optimistic?this.optimisticData:this.data,config:this.config,returnPartialData:tee})).result||null}catch(e){if(e instanceof Vke)return null;throw e}},tee.prototype.write=function(eee){try{return++this.txCount,this.storeWriter.writeToStore(this.data,eee)}finally{--this.txCount||!1===eee.broadcast||this.broadcastWatches()}},tee.prototype.modify=function(eee){if(qke.call(eee,"id")&&!eee.id)return!1;var tee=eee.optimistic?this.optimisticData:this.data;try{return++this.txCount,tee.modify(eee.id||"ROOT_QUERY",eee.fields)}finally{--this.txCount||!1===eee.broadcast||this.broadcastWatches()}},tee.prototype.diff=function(eee){return this.storeReader.diffQueryAgainstStore(pde(pde({},eee),{store:eee.optimistic?this.optimisticData:this.data,rootId:eee.id||"ROOT_QUERY",config:this.config}))},tee.prototype.watch=function(eee){var tee=this;return this.watches.size||function(eee){f_e(eee).vars.forEach((function(rv){return rv.attachCache(eee)}))}(this),this.watches.add(eee),eee.immediate&&this.maybeBroadcastWatch(eee),function(){tee.watches.delete(eee)&&!tee.watches.size&&b_e(tee),tee.maybeBroadcastWatch.forget(eee)}},tee.prototype.gc=function(eee){var _a;_ve.reset(),Fye.reset(),this.addTypenameTransform.resetCache(),null===(_a=this.config.fragments)||void 0===_a||_a.resetCaches();var tee=this.optimisticData.gc();return eee&&!this.txCount&&(eee.resetResultCache?this.resetResultCache(eee.resetResultIdentities):eee.resetResultIdentities&&this.storeReader.resetCanon()),tee},tee.prototype.retain=function(eee,tee){return(tee?this.optimisticData:this.data).retain(eee)},tee.prototype.release=function(eee,tee){return(tee?this.optimisticData:this.data).release(eee)},tee.prototype.identify=function(eee){if(Ive(eee))return eee.__ref;try{return this.policies.identify(eee)[0]}catch(e){!1!==globalThis.__DEV__&&rue.warn(e)}},tee.prototype.evict=function(eee){if(!eee.id){if(qke.call(eee,"id"))return!1;eee=pde(pde({},eee),{id:"ROOT_QUERY"})}try{return++this.txCount,this.optimisticData.evict(eee,this.data)}finally{--this.txCount||!1===eee.broadcast||this.broadcastWatches()}},tee.prototype.reset=function(eee){var tee=this;return this.init(),_ve.reset(),eee&&eee.discardWatches?(this.watches.forEach((function(eee){return tee.maybeBroadcastWatch.forget(eee)})),this.watches.clear(),b_e(this)):this.broadcastWatches(),Promise.resolve()},tee.prototype.removeOptimistic=function(eee){var tee=this.optimisticData.removeLayer(eee);tee!==this.optimisticData&&(this.optimisticData=tee,this.broadcastWatches())},tee.prototype.batch=function(eee){var tee,ree=this,oee=eee.update,_a=eee.optimistic,nee=void 0===_a||_a,aee=eee.removeOptimistic,iee=eee.onWatchUpdated,see=function(eee){var _a=ree,nee=_a.data,aee=_a.optimisticData;++ree.txCount,eee&&(ree.data=ree.optimisticData=eee);try{return tee=oee(ree)}finally{--ree.txCount,ree.data=nee,ree.optimisticData=aee}},lee=new Set;return iee&&!this.txCount&&this.broadcastWatches(pde(pde({},eee),{onWatchUpdated:function(eee){return lee.add(eee),!1}})),"string"==typeof nee?this.optimisticData=this.optimisticData.addLayer(nee,see):!1===nee?see(this.data):see(),"string"==typeof aee&&(this.optimisticData=this.optimisticData.removeLayer(aee)),iee&&lee.size?(this.broadcastWatches(pde(pde({},eee),{onWatchUpdated:function(eee,tee){var ree=iee.call(this,eee,tee);return!1!==ree&&lee.delete(eee),ree}})),lee.size&&lee.forEach((function(eee){return ree.maybeBroadcastWatch.dirty(eee)}))):this.broadcastWatches(eee),tee},tee.prototype.performTransaction=function(eee,tee){return this.batch({update:eee,optimistic:tee||null!==tee})},tee.prototype.transformDocument=function(eee){return this.addTypenameToDocument(this.addFragmentsToDocument(eee))},tee.prototype.broadcastWatches=function(eee){var tee=this;this.txCount||this.watches.forEach((function(c){return tee.maybeBroadcastWatch(c,eee)}))},tee.prototype.addFragmentsToDocument=function(eee){var tee=this.config.fragments;return tee?tee.transform(eee):eee},tee.prototype.addTypenameToDocument=function(eee){return this.addTypename?this.addTypenameTransform.transformDocument(eee):eee},tee.prototype.broadcastWatch=function(c,eee){var tee=c.lastDiff,ree=this.diff(c);eee&&(c.optimistic&&"string"==typeof eee.optimistic&&(ree.fromOptimisticTransaction=!0),eee.onWatchUpdated&&!1===eee.onWatchUpdated.call(this,c,ree,tee))||tee&&Nke(tee.result,ree.result)||c.callback(c.lastDiff=ree,tee)},tee}($ke);!1!==globalThis.__DEV__&&(Y_e.prototype.getMemoryInternals=wve);var G_e=function(){function eee(){for(var eee=[],_i=0;_i{if(id){const tee=bEe(eee,id);return tee||bEe(ree,id)}const tee=fEe(eee,oee);return tee||fEe(ree,ree.default)}}else tee=id=>id?bEe(ree,id):fEe(ree,ree.default);function oee(id=eee){const ree=tee(id);if(!ree)throw new Error(`Apollo client with id ${null!=id?id:"default"} not found. Use an app.runWithContext() or provideApolloClient() if you are outside of a component setup.`);return ree}return{resolveClient:oee,get client(){return oee()}}}var vEe={};function yEe(eee){return xre(eee)?eee:"function"==typeof eee?Sae(eee):kre(eee)}function xEe(){const eee=[];function tee(fn){const tee=eee.indexOf(fn);-1!==tee&&eee.splice(tee,1)}return{on:function(fn){return eee.push(fn),{off:()=>tee(fn)}},off:tee,trigger:function(...tee){for(const fn of eee)fn(...tee)},getCount:function(){return eee.length}}}var kEe="undefined"==typeof window,_Ee={queries:kre(0),mutations:kre(0),subscriptions:kre(0),components:new Map};function EEe(eee,tee){if(kEe)return;const{tracking:ree}=function(){const vm=gae();if(!vm)return{};let eee;return _Ee.components.has(vm)?eee=_Ee.components.get(vm):(_Ee.components.set(vm,eee={queries:kre(0),mutations:kre(0),subscriptions:kre(0)}),Foe((()=>{_Ee.components.delete(vm)}))),{tracking:eee}}();goe(eee,((eee,oee)=>{if(null!=oee&&eee!==oee){const oee=eee?1:-1;ree&&(ree[tee].value+=oee),_Ee[tee].value+=oee}}),{immediate:!0}),Loe((()=>{eee.value&&(ree&&ree[tee].value--,_Ee[tee].value--)}))}function TEe(eee){return eee instanceof Error?ske(eee)?eee:new lke({networkError:eee,errorMessage:eee.message}):new lke({networkError:Object.assign(new Error,{originalError:eee}),errorMessage:String(eee)})}function SEe(eee,tee,ree){return function(eee,tee,ree={},oee=!1){var _a;const vm=gae(),nee=kre(),aee=yEe(eee),iee=yEe(tee),see=(hee=ree,xre(hee)?hee:"function"==typeof hee?Sae(hee):hee?lre(hee):hee),lee=_re(),cee=xEe(),pee=_re(null),dee=xEe(),uee=kre(!1);var hee;vm&&function(eee){EEe(eee,"queries")}(uee);const gee=kre();let wee,fee,bee,mee=!1;const vee=()=>{mee=!0,wee&&wee()},yee=eee=>{bee=eee,fee&&fee(eee)},xee=()=>{wee=void 0,fee=void 0,mee=!1,bee=void 0};vm&&(null==(_a=zoe)||_a((()=>{var eee;if(Wee.value&&(!kEe||!1!==(null==(eee=nee.value)?void 0:eee.prefetch)))return new Promise(((eee,tee)=>{wee=()=>{xee(),eee()},fee=eee=>{xee(),tee(eee)},mee?wee():bee&&fee(bee)})).finally(Pee)})));const{resolveClient:kee}=mEe();function _ee(){var eee;return kee(null==(eee=nee.value)?void 0:eee.clientId)}const Eee=_re();let Tee,See=!1,Iee=!1,Oee=!0;function Nee(){var eee,_b,_c,_d,_e;if(See||!Wee.value||kEe&&!1===(null==(eee=nee.value)?void 0:eee.prefetch)||!Yee)return void vee();kEe&&(Hee(aee.value),Jee(iee.value),Kee(Sre(see))),See=!0,pee.value=null,uee.value=!0;const tee=_ee();if(Eee.value=tee.watchQuery({query:Yee,variables:null!=Xee?Xee:{},...nee.value,...kEe&&"no-cache"!==(null==(_b=nee.value)?void 0:_b.fetchPolicy)?{fetchPolicy:"network-only"}:{}}),Aee(),!kEe&&(Oee||!(null==(_c=nee.value)?void 0:_c.keepPreviousResult))&&("no-cache"!==(null==(_d=nee.value)?void 0:_d.fetchPolicy)||nee.value.notifyOnNetworkStatusChange)){const eee=Eee.value.getCurrentResult(!1);!eee.loading||eee.partial||(null==(_e=nee.value)?void 0:_e.notifyOnNetworkStatusChange)?(Dee(eee),Iee=!eee.loading):eee.error&&(Lee(eee.error),Iee=!0)}if(!kEe)for(const ree of rte)nte(ree);Oee=!1}function Aee(){Tee&&!Tee.closed||Eee.value&&(Iee=!1,Tee=Eee.value.subscribe({next:Dee,error:Lee}))}function Ree(){var eee,_b,_c,_d;const tee=kee(null==(eee=nee.value)?void 0:eee.clientId);return(null==(_b=nee.value)?void 0:_b.errorPolicy)||(null==(_d=null==(_c=tee.defaultOptions)?void 0:_c.watchQuery)?void 0:_d.errorPolicy)}function Dee(eee){var tee;if(Iee)return void(Iee=!1);pee.value=null,Cee(eee);const ree=Ree();ree&&"all"===ree&&!eee.error&&(null==(tee=eee.errors)?void 0:tee.length)&&Fee(function(eee){return new lke({graphQLErrors:eee,errorMessage:`GraphQL response contains errors: ${eee.map((e=>e.message)).join(" | ")}`})}(eee.errors)),vee()}function Cee(eee){lee.value=eee.data&&0===Object.keys(eee.data).length?void 0:eee.data,uee.value=eee.loading,gee.value=eee.networkStatus,Qre((()=>{cee.trigger(eee,{client:_ee()})}))}function Lee(eee){if(Iee)return void(Iee=!1);const tee=TEe(eee),ree=Ree();ree&&"none"!==ree&&Cee(Eee.value.getCurrentResult()),Fee(tee),yee(tee),zee()}function Fee(eee){pee.value=eee,uee.value=!1,gee.value=8,Qre((()=>{dee.trigger(eee,{client:_ee()})}))}function zee(){if(!Eee.value)return;const eee=Eee.value.getLastError(),tee=Eee.value.getLastResult();Eee.value.resetLastResults(),Aee(),Object.assign(Eee.value,{lastError:eee,lastResult:tee})}let Mee=[];function Pee(){vee(),See&&(See=!1,uee.value=!1,Mee.forEach((eee=>eee())),Mee=[],Eee.value&&(Eee.value.stopPolling(),Eee.value=null),Tee&&(Tee.unsubscribe(),Tee=void 0))}let Uee,jee=!1;function $ee(){See&&!jee&&(jee=!0,Qre((()=>{See&&(Pee(),Nee()),jee=!1})))}let Vee=!1;function qee(){var eee,_b,tee,ree;nee.value?((null==(eee=nee.value)?void 0:eee.throttle)?Uee=sde(nee.value.throttle,$ee):(null==(_b=nee.value)?void 0:_b.debounce)?(tee=nee.value.debounce,Uee=sde(tee,$ee,{debounceMode:!1!==(void 0!==(ree={}.atBegin)&&ree)})):Uee=$ee,Vee=!0):Uee=$ee}function Bee(){See&&!jee&&(Vee||qee(),Uee())}let Yee=aee.value;const Gee=kre(oee),Qee=Sae((()=>!nee.value||null==nee.value.enabled||nee.value.enabled)),Wee=Sae((()=>Qee.value&&!Gee.value&&!!aee.value));function Kee(eee){!nee.value||nee.value.throttle===eee.throttle&&nee.value.debounce===eee.debounce||qee(),nee.value=eee,Bee()}function Hee(eee){Yee=eee,Bee()}let Xee,Zee;function Jee(eee){const tee=JSON.stringify([eee,Wee.value]);tee!==Zee&&(Xee=eee,Bee()),Zee=tee}function ete(eee=void 0){if(Eee.value)return eee&&(Xee=eee),pee.value=null,uee.value=!0,Eee.value.refetch(eee).then((eee=>{var tee;const ree=null==(tee=Eee.value)?void 0:tee.getCurrentResult();return ree&&Cee(ree),eee}))}function tte(eee){if(Eee.value)return pee.value=null,uee.value=!0,Eee.value.fetchMore(eee).then((eee=>{var tee;const ree=null==(tee=Eee.value)?void 0:tee.getCurrentResult();return ree&&Cee(ree),eee}))}goe((()=>Sre(see)),Kee,{deep:!0,immediate:!0}),goe(aee,Hee),goe((()=>Wee.value?iee.value:void 0),Jee,{deep:!0,immediate:!0});const rte=[];function ote(eee){if(kEe)return;goe(yEe(eee),((eee,tee,ree)=>{const oee=rte.findIndex((eee=>eee.options===tee));-1!==oee&&rte.splice(oee,1);const nee={options:eee,unsubscribeFns:[]};rte.push(nee),nte(nee),ree((()=>{nee.unsubscribeFns.forEach((fn=>fn())),nee.unsubscribeFns=[]}))}),{immediate:!0})}function nte(eee){if(!See)return;if(!Eee.value)throw new Error("Query is not defined");const tee=Eee.value.subscribeToMore(eee.options);Mee.push(tee),eee.unsubscribeFns.push(tee)}goe(Wee,(eee=>{eee?Qre((()=>{Nee()})):Pee()})),Wee.value&&Nee();return vm&&Loe((()=>{Pee(),rte.length=0})),{result:lee,loading:uee,networkStatus:gee,error:pee,start:Nee,stop:Pee,restart:Bee,forceDisabled:Gee,document:aee,variables:iee,options:see,query:Eee,refetch:ete,fetchMore:tte,subscribeToMore:ote,onResult:cee.on,onError:dee.on}}(eee,tee,ree)}function IEe(eee,tee={}){const vm=gae(),ree=kre(!1);vm&&function(eee){EEe(eee,"mutations")}(ree);const oee=_re(null),nee=kre(!1),aee=xEe(),iee=xEe(),{resolveClient:see}=mEe();return vm&&Loe((()=>{ree.value=!1})),{mutate:async function(lee,cee={}){let pee,dee;pee="function"==typeof eee?eee():xre(eee)?eee.value:eee,dee="function"==typeof tee?tee():xre(tee)?tee.value:tee;const uee=see(dee.clientId);oee.value=null,ree.value=!0,nee.value=!0;try{const eee=await uee.mutate({mutation:pee,...dee,...cee,variables:(null!=lee?lee:dee.variables)?{...dee.variables,...lee}:void 0});return ree.value=!1,aee.trigger(eee,{client:uee}),eee}catch(e){const eee=TEe(e);if(oee.value=eee,ree.value=!1,iee.trigger(eee,{client:uee}),"always"===dee.throws||"never"!==dee.throws&&!iee.getCount())throw eee}return null},loading:ree,error:oee,called:nee,onDone:aee.on,onError:iee.on}}var OEe=(eee=>(eee.Always="ALWAYS",eee.Disabled="DISABLED",eee.Dynamic="DYNAMIC",eee))(OEe||{}),NEe=(eee=>(eee.Static="STATIC",eee.Upnp="UPNP",eee))(NEe||{});const AEe={"\n mutation ConnectSignIn($input: ConnectSignInInput!) {\n connectSignIn(input: $input)\n }\n":{kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"ConnectSignIn"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"input"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"ConnectSignInInput"}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"connectSignIn"},arguments:[{kind:"Argument",name:{kind:"Name",value:"input"},value:{kind:"Variable",name:{kind:"Name",value:"input"}}}]}]}}]},"\n mutation SignOut {\n connectSignOut\n }\n":{kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"SignOut"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"connectSignOut"}}]}}]},"\n fragment PartialCloud on Cloud {\n error\n apiKey {\n valid\n error\n }\n cloud {\n status\n error\n }\n minigraphql {\n status\n error\n }\n relay {\n status\n error\n }\n }\n":{kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"PartialCloud"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Cloud"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"error"}},{kind:"Field",name:{kind:"Name",value:"apiKey"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"valid"}},{kind:"Field",name:{kind:"Name",value:"error"}}]}},{kind:"Field",name:{kind:"Name",value:"cloud"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"status"}},{kind:"Field",name:{kind:"Name",value:"error"}}]}},{kind:"Field",name:{kind:"Name",value:"minigraphql"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"status"}},{kind:"Field",name:{kind:"Name",value:"error"}}]}},{kind:"Field",name:{kind:"Name",value:"relay"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"status"}},{kind:"Field",name:{kind:"Name",value:"error"}}]}}]}}]},"\n query serverState {\n cloud {\n ...PartialCloud\n }\n config {\n error\n valid\n }\n info {\n os {\n hostname\n }\n }\n owner {\n avatar\n username\n }\n registration {\n state\n expiration\n keyFile {\n contents\n }\n updateExpiration\n }\n vars {\n regGen\n regState\n configError\n configValid\n }\n }\n":{kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"serverState"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"cloud"},selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"PartialCloud"}}]}},{kind:"Field",name:{kind:"Name",value:"config"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"error"}},{kind:"Field",name:{kind:"Name",value:"valid"}}]}},{kind:"Field",name:{kind:"Name",value:"info"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"os"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"hostname"}}]}}]}},{kind:"Field",name:{kind:"Name",value:"owner"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"avatar"}},{kind:"Field",name:{kind:"Name",value:"username"}}]}},{kind:"Field",name:{kind:"Name",value:"registration"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"state"}},{kind:"Field",name:{kind:"Name",value:"expiration"}},{kind:"Field",name:{kind:"Name",value:"keyFile"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"contents"}}]}},{kind:"Field",name:{kind:"Name",value:"updateExpiration"}}]}},{kind:"Field",name:{kind:"Name",value:"vars"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"regGen"}},{kind:"Field",name:{kind:"Name",value:"regState"}},{kind:"Field",name:{kind:"Name",value:"configError"}},{kind:"Field",name:{kind:"Name",value:"configValid"}}]}}]}},{kind:"FragmentDefinition",name:{kind:"Name",value:"PartialCloud"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Cloud"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"error"}},{kind:"Field",name:{kind:"Name",value:"apiKey"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"valid"}},{kind:"Field",name:{kind:"Name",value:"error"}}]}},{kind:"Field",name:{kind:"Name",value:"cloud"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"status"}},{kind:"Field",name:{kind:"Name",value:"error"}}]}},{kind:"Field",name:{kind:"Name",value:"minigraphql"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"status"}},{kind:"Field",name:{kind:"Name",value:"error"}}]}},{kind:"Field",name:{kind:"Name",value:"relay"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"status"}},{kind:"Field",name:{kind:"Name",value:"error"}}]}}]}}]},"\n query getExtraAllowedOrigins {\n extraAllowedOrigins\n }\n":{kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"getExtraAllowedOrigins"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"extraAllowedOrigins"}}]}}]},"\n query getRemoteAccess {\n remoteAccess {\n accessType\n forwardType\n port\n }\n }\n":{kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"getRemoteAccess"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"remoteAccess"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"accessType"}},{kind:"Field",name:{kind:"Name",value:"forwardType"}},{kind:"Field",name:{kind:"Name",value:"port"}}]}}]}}]},"\n mutation setAdditionalAllowedOrigins($input: AllowedOriginInput!) {\n setAdditionalAllowedOrigins(input: $input)\n }\n":{kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"setAdditionalAllowedOrigins"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"input"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"AllowedOriginInput"}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"setAdditionalAllowedOrigins"},arguments:[{kind:"Argument",name:{kind:"Name",value:"input"},value:{kind:"Variable",name:{kind:"Name",value:"input"}}}]}]}}]},"\n mutation setupRemoteAccess($input: SetupRemoteAccessInput!) {\n setupRemoteAccess(input: $input)\n }\n":{kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"setupRemoteAccess"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"input"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"SetupRemoteAccessInput"}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"setupRemoteAccess"},arguments:[{kind:"Argument",name:{kind:"Name",value:"input"},value:{kind:"Variable",name:{kind:"Name",value:"input"}}}]}]}}]}};function REe(eee){return AEe[eee]??{}}REe("\n fragment PartialCloud on Cloud {\n error\n apiKey {\n valid\n error\n }\n cloud {\n status\n error\n }\n minigraphql {\n status\n error\n }\n relay {\n status\n error\n }\n }\n");const DEe=REe("\n query serverState {\n cloud {\n ...PartialCloud\n }\n config {\n error\n valid\n }\n info {\n os {\n hostname\n }\n }\n owner {\n avatar\n username\n }\n registration {\n state\n expiration\n keyFile {\n contents\n }\n updateExpiration\n }\n vars {\n regGen\n regState\n configError\n configValid\n }\n }\n");const CEe="Content-Type",LEe=Symbol(),FEe=Symbol();function zEe(eee={}){var _a;return null===(_a=Object.entries(eee).find((([k])=>k.toLowerCase()===CEe.toLowerCase())))||void 0===_a?void 0:_a[1]}function MEe(eee){return/^application\/.*json.*/.test(eee)}const PEe=function(eee,tee,ree=!1){return Object.entries(tee).reduce(((tee,[oee,nee])=>{const aee=eee[oee];return Array.isArray(aee)&&Array.isArray(nee)?tee[oee]=ree?[...aee,...nee]:nee:tee[oee]="object"==typeof aee&&"object"==typeof nee?PEe(aee,nee,ree):nee,tee}),{...eee})},UEe={options:{},errorType:"text",polyfills:{},polyfill(p,eee=!0,tee=!1,...ree){const oee=this.polyfills[p]||("undefined"!=typeof self?self[p]:null)||("undefined"!=typeof global?global[p]:null);if(eee&&!oee)throw new Error(p+" is not defined");return tee&&oee?new oee(...ree):oee}};class jEe extends Error{}const $Ee=eee=>{const tee=Object.create(null);eee=eee._addons.reduce(((w,ree)=>ree.beforeRequest&&ree.beforeRequest(w,eee._options,tee)||w),eee);const{_url:ree,_options:oee,_config:nee,_catchers:aee,_resolvers:iee,_middlewares:see,_addons:lee}=eee,cee=new Map(aee),pee=PEe(nee.options,oee);let dee=ree;const uee=(eee=>tee=>eee.reduceRight(((eee,tee)=>tee(eee)),tee)||tee)(see)(((eee,tee)=>(dee=eee,nee.polyfill("fetch")(eee,tee))))(ree,pee),hee=new Error,gee=uee.catch((eee=>{throw{[LEe]:eee}})).then((eee=>{if(!eee.ok){const tee=new jEe;if(tee.cause=hee,tee.stack=tee.stack+"\nCAUSE: "+hee.stack,tee.response=eee,tee.url=dee,"opaque"===eee.type)throw tee;return eee.text().then((ree=>{var _a;if(tee.message=ree,"json"===nee.errorType||"application/json"===(null===(_a=eee.headers.get("Content-Type"))||void 0===_a?void 0:_a.split(";")[0]))try{tee.json=JSON.parse(ree)}catch(e){}throw tee.text=ree,tee.status=eee.status,tee}))}return eee})),wee=tee=>tee.catch((tee=>{const ree=tee.hasOwnProperty(LEe),oee=ree?tee[LEe]:tee,nee=(null==oee?void 0:oee.status)&&cee.get(oee.status)||cee.get(null==oee?void 0:oee.name)||ree&&cee.has(LEe)&&cee.get(LEe);if(nee)return nee(oee,eee);const aee=cee.get(FEe);if(aee)return aee(oee,eee);throw oee})),fee=eee=>cb=>wee(eee?gee.then((_=>_&&_[eee]())).then((_=>cb?cb(_):_)):gee.then((_=>cb?cb(_):_))),bee={_wretchReq:eee,_fetchReq:uee,_sharedState:tee,res:fee(null),json:fee("json"),blob:fee("blob"),formData:fee("formData"),arrayBuffer:fee("arrayBuffer"),text:fee("text"),error(eee,cb){return cee.set(eee,cb),this},badRequest(cb){return this.error(400,cb)},unauthorized(cb){return this.error(401,cb)},forbidden(cb){return this.error(403,cb)},notFound(cb){return this.error(404,cb)},timeout(cb){return this.error(408,cb)},internalError(cb){return this.error(500,cb)},fetchError(cb){return this.error(LEe,cb)}},mee=lee.reduce(((eee,tee)=>({...eee,..."function"==typeof tee.resolver?tee.resolver(eee):tee.resolver})),bee);return iee.reduce(((tee,r)=>r(tee,eee)),mee)},VEe={_url:"",_options:{},_config:UEe,_catchers:new Map,_resolvers:[],_deferred:[],_middlewares:[],_addons:[],addon(eee){return{...this,_addons:[...this._addons,eee],...eee.wretch}},errorType(eee){return{...this,_config:{...this._config,errorType:eee}}},polyfills(eee,tee=!1){return{...this,_config:{...this._config,polyfills:tee?eee:PEe(this._config.polyfills,eee)}}},url(eee,tee=!1){if(tee)return{...this,_url:eee};const ree=this._url.split("?");return{...this,_url:ree.length>1?ree[0]+eee+"?"+ree[1]:this._url+eee}},options(eee,tee=!1){return{...this,_options:tee?eee:PEe(this._options,eee)}},headers(eee){const tee=eee?Array.isArray(eee)?Object.fromEntries(eee):"entries"in eee?Object.fromEntries(eee.entries()):eee:{};return{...this,_options:PEe(this._options,{headers:tee})}},accept(eee){return this.headers({Accept:eee})},content(eee){return this.headers({[CEe]:eee})},auth(eee){return this.headers({Authorization:eee})},catcher(eee,tee){const ree=new Map(this._catchers);return ree.set(eee,tee),{...this,_catchers:ree}},catcherFallback(eee){return this.catcher(FEe,eee)},resolve(eee,tee=!1){return{...this,_resolvers:tee?[eee]:[...this._resolvers,eee]}},defer(eee,tee=!1){return{...this,_deferred:tee?[eee]:[...this._deferred,eee]}},middlewares(eee,tee=!1){return{...this,_middlewares:tee?eee:[...this._middlewares,...eee]}},fetch(eee=this._options.method,tee="",ree=null){let oee=this.url(tee).options({method:eee});const nee=zEe(oee._options.headers),aee="object"==typeof ree&&(!oee._options.headers||!nee||MEe(nee));return oee=ree?aee?oee.json(ree,nee):oee.body(ree):oee,$Ee(oee._deferred.reduce(((eee,tee)=>tee(eee,eee._url,eee._options)),oee))},get(eee=""){return this.fetch("GET",eee)},delete(eee=""){return this.fetch("DELETE",eee)},put(eee,tee=""){return this.fetch("PUT",tee,eee)},post(eee,tee=""){return this.fetch("POST",tee,eee)},patch(eee,tee=""){return this.fetch("PATCH",tee,eee)},head(eee=""){return this.fetch("HEAD",eee)},opts(eee=""){return this.fetch("OPTIONS",eee)},body(eee){return{...this,_options:{...this._options,body:eee}}},json(eee,tee){const ree=zEe(this._options.headers);return this.content(tee||MEe(ree)&&ree||"application/json").body(JSON.stringify(eee))}};function qEe(eee="",tee={}){return{...VEe,_url:eee,_options:tee}}function BEe(eee,tee=!1,ree,oee=ree.polyfill("FormData",!0,!0),nee=[]){return Object.entries(eee).forEach((([eee,aee])=>{let iee=nee.reduce(((eee,tee)=>eee?`${eee}[${tee}]`:tee),null);if(iee=iee?`${iee}[${eee}]`:eee,aee instanceof Array||globalThis.FileList&&aee instanceof FileList)for(const tee of aee)oee.append(iee,tee);else!tee||"object"!=typeof aee||tee instanceof Array&&tee.includes(eee)?oee.append(iee,aee):null!==aee&&BEe(aee,tee,ree,oee,[...nee,eee])})),oee}qEe.default=qEe,qEe.options=function(eee,tee=!1){UEe.options=tee?eee:PEe(UEe.options,eee)},qEe.errorType=function(eee){UEe.errorType=eee},qEe.polyfills=function(eee,tee=!1){UEe.polyfills=tee?eee:PEe(UEe.polyfills,eee)},qEe.WretchError=jEe;const YEe={wretch:{formData(eee,tee=!1){return this.body(BEe(eee,tee,this._config))}}};function GEe(eee,tee){return encodeURIComponent(eee)+"="+encodeURIComponent("object"==typeof tee?JSON.stringify(tee):""+tee)}const QEe={wretch:{formUrl(eee){return this.body("string"==typeof eee?eee:(tee=eee,Object.keys(tee).map((eee=>{const ree=tee[eee];return ree instanceof Array?ree.map((v=>GEe(eee,v))).join("&"):GEe(eee,ree)})).join("&"))).content("application/x-www-form-urlencoded");var tee}}};function WEe(eee){return void 0!==eee?eee:""}const KEe=(eee,qp,tee,ree)=>{let oee;if("string"==typeof qp)oee=qp;else{const eee=ree.polyfill("URLSearchParams",!0,!0);for(const tee in qp){const ree=qp[tee];if(qp[tee]instanceof Array)for(const oee of ree)eee.append(tee,WEe(oee));else eee.append(tee,WEe(ree))}oee=eee.toString()}const nee=eee.split("?");return oee?tee||nee.length<2?nee[0]+"?"+oee:eee+"&"+oee:tee?nee[0]:eee},HEe={wretch:{query(qp,eee=!1){return{...this,_url:KEe(this._url,qp,eee,this._config)}}}};zce($ce());const XEe=Xce("errors",(()=>{const eee=kre([]);return{errors:eee,removeErrorByIndex:tee=>{eee.value=eee.value.filter(((eee,i)=>i!==tee))},removeErrorByRef:tee=>{eee.value=eee.value.filter((eee=>eee?.ref!==tee))},resetErrors:()=>{eee.value=[]},setError:tee=>{console.error("[setError]",tee),eee.value.push(tee)},openTroubleshoot:async tee=>{try{await FeedbackButton();let ree=document.querySelector(".sweet-alert.visible");for(;!ree;)await new Promise((eee=>setTimeout(eee,100))),ree=document.querySelector(".sweet-alert.visible");if(eee.value.length){let tee=ree.querySelector("#troubleshootDetails");for(;!tee;)await new Promise((eee=>setTimeout(eee,100))),tee=ree.querySelector("#troubleshootDetails");const oee=eee.value.map(((eee,tee)=>{const ree=tee+1;let oee=`• Error ${ree}: ${eee.heading}\n`;var nee;return oee+=`• Error ${ree} Message: ${eee.message}\n`,oee+=`• Error ${ree} Level: ${eee.level}\n`,oee+=`• Error ${ree} Type: ${eee.type}\n`,eee.ref&&(oee+=`• Error ${ree} Ref: ${eee.ref}\n`),eee.debugServer&&(oee+=`• Error ${ree} Debug Server:\n${nee=eee.debugServer,Object.entries(nee).reduce(((eee,[p,tee])=>`${eee}${p}: ${tee}\n`),"")}\n`),oee})).join("\n***************\n");tee.value+="\n##########################\n",tee.value+=`# Debug Details – Component Errors ${eee.value.length} #\n`,tee.value+="##########################\n",tee.value+=oee}let oee=ree.querySelector("#troubleshootEmail");for(;!oee;)await new Promise((eee=>setTimeout(eee,100))),oee=ree.querySelector("#troubleshootEmail");tee.email?oee.value=tee.email:oee.focus();let nee=ree.querySelector("#optTroubleshoot");for(;!nee;)await new Promise((eee=>setTimeout(eee,100))),nee=ree.querySelector("#optTroubleshoot");nee.checked=!0;let aee=ree.querySelectorAll(".allpanels");for(;!aee;)await new Promise((eee=>setTimeout(eee,100))),aee=ree.querySelectorAll(".allpanels");aee.forEach((eee=>{"troubleshoot_panel"===eee.id?eee.style.display="block":eee.style.display="none"}))}catch(ree){console.error("[openTroubleshoot]",ree)}}}})),ZEe=XEe(),JEe=qEe().addon(YEe).addon(QEe).addon(HEe).errorType("json").resolve((eee=>eee.error("Error",(eee=>{ZEe.setError({heading:`WretchError ${eee.status}`,message:`${eee.text} • ${eee.url}`,level:"error",ref:"wretchError",type:"request"})})).error("TypeError",(eee=>{ZEe.setError({heading:`WretchTypeError ${eee.status}`,message:`${eee.text} • ${eee.url}`,level:"error",ref:"wretchTypeError",type:"request"})}))));const eTe=new URL(sessionStorage.getItem("unraidAccountUrl")??"https://account.unraid.net"??"https://account.unraid.net"),tTe=new URL("https://docs.unraid.net"),rTe=new URL("https://forums.unraid.net"),oTe=new URL(sessionStorage.getItem("unraidPurchaseUrl")??"https://unraid.net"??"https://unraid.net"),nTe=new URL("c",eTe),aTe=new URL("/bug-reports",rTe);new URL("/go/connect/",tTe);const iTe=new URL("https://connect.myunraid.net"),sTe=new URL("/forum/94-connect-plugin-support/",rTe),lTe=new URL("/contact",oTe),cTe=new URL("https://discord.unraid.net"),pTe=new URL("/c",oTe);new URL("/support",oTe);const dTe=new URL({VITE_ACCOUNT:"https://account.unraid.net",VITE_CONNECT:"https://connect.myunraid.net",VITE_UNRAID_NET:"https://unraid.net",VITE_OS_RELEASES:"https://releases.unraid.net/os",VITE_CALLBACK_KEY:"Uyv2o8e*FiQe8VeLekTqyX6Z*8XonB",BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1}.VITE_WEBGUI??window.location.origin),uTe=new URL("/graphql",dTe),hTe=new URL("/Settings/ManagementAccess",dTe),gTe=new URL("#UnraidNetSettings",hTe),wTe=new URL("/Tools/Downgrade",dTe),fTe=new URL("/Tools/Registration",dTe),bTe=new URL("/Tools/Update",dTe),mTe=new URL("https://releases.unraid.net/os"),vTe=new URL("/go/release-notes/",tTe),yTe=new URL("/go/faq-licensing/",tTe),xTe=new URL("/go/changing-the-flash-device/",tTe);new URL("https://unraid.net");const kTe=JEe.url("/webGui/include/InstallKey.php");JEe.url("/update.php");const _Te=JEe.url("/plugins/dynamix.my.servers/data/server-state.php"),ETe=async eee=>{console.debug("[WebguiUpdateIgnore] payload",eee);try{return await JEe.url("/plugins/dynamix.plugin.manager/include/UnraidCheck.php").query(eee).get().json((eee=>(console.debug("[WebguiUpdateIgnore] response",eee),eee))).catch((eee=>{throw console.error("[WebguiUpdateIgnore] catch failed to execute UpdateIgnore",eee),new Error("Error ignoring update")}))}catch(tee){throw console.error("[WebguiUpdateIgnore] catch failed to execute UpdateIgnore",tee),new Error("Error ignoring update")}};function TTe(eee,tee=!0){if(function(eee){const tee=[],{graphQLErrors:ree,networkError:oee}=eee,nee="operation"in eee?eee.operation:void 0,aee="stack"in eee?eee.stack:void 0;let iee;return nee&&(iee=jhe(nee.query)),ree&&ree.forEach((({message:eee,locations:ree})=>{tee.push(`[GraphQL error] ${eee}`),nee&&(tee.push(function(eee,tee){const ree=eee.split("\n"),l=ree.length,oee=ree.slice(),nee={};for(let i=0;i{const tee=/\[([\w ]*)](.*)/.exec(eee);if(tee){const[,eee,ree]=tee;console.log(`%c${eee}`,"color:white;border-radius:3px;background:#ff4400;font-weight:bold;padding:2px 6px;",ree)}else console.log(eee)})),tee){let eee=(new Error).stack;if(null==eee)return;const tee=eee.indexOf("\n");eee=eee.slice(eee.indexOf("\n",tee+1)),console.log(`%c${eee}`,"color:grey;")}}const STe=REe("\n mutation ConnectSignIn($input: ConnectSignInInput!) {\n connectSignIn(input: $input)\n }\n"),ITe=REe("\n mutation SignOut {\n connectSignOut\n }\n"),OTe=e=>{e.preventDefault(),e.returnValue="",confirm("Closing this pop-up window while actions are being preformed may lead to unintended errors.")},NTe=()=>{window.addEventListener("beforeunload",OTe)},ATe=()=>{window.removeEventListener("beforeunload",OTe)};zce($ce());const RTe=Xce("installKey",(()=>{const eee=XEe(),tee=kre("ready"),ree=kre(),oee=Sae((()=>ree.value?.type)),nee=Sae((()=>ree.value?.keyUrl)),aee=Sae((()=>{if(!nee.value)return;const eee=nee.value.split("/");return eee[eee.length-1].replace(/\.key|\.unkey/g,"")}));return{keyInstallStatus:tee,keyActionType:oee,keyType:aee,keyUrl:nee,install:async oee=>{if(console.log("[installKey.install]",oee),tee.value="installing",ree.value=oee,!nee.value)return tee.value="failed",console.error("[install] no key to install");try{const eee=await kTe.query({url:nee.value}).get();console.log("[install] WebguiInstallKey installResponse",eee),tee.value="success"}catch(aee){console.error("[install] WebguiInstallKey error",aee);let ree="Unknown error";"string"==typeof aee?ree=aee.toUpperCase():aee instanceof Error&&(ree=aee.message),tee.value="failed",eee.setError({heading:"Failed to install key",message:ree,level:"error",ref:"installKey",type:"installKey"})}}}}));var DTe={exports:{}};DTe.exports=function(){var e={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},t=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\d\d/,r=/\d\d?/,i=/\d*[^-_:/,()\s\d]+/,o={},s=function(e){return(e=+e)+(e>68?1900:2e3)},a=function(e){return function(t){this[e]=+t}},f=[/[+-]\d\d:?(\d\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if("Z"===e)return 0;var t=e.match(/([+-]|\d\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:"+"===t[0]?-n:n}(e)}],h=function(e){var t=o[e];return t&&(t.indexOf?t:t.s.concat(t.f))},u=function(e,t){var n,r=o.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?"pm":"PM");return n},d={A:[i,function(e){this.afternoon=u(e,!1)}],a:[i,function(e){this.afternoon=u(e,!0)}],S:[/\d/,function(e){this.milliseconds=100*+e}],SS:[n,function(e){this.milliseconds=10*+e}],SSS:[/\d{3}/,function(e){this.milliseconds=+e}],s:[r,a("seconds")],ss:[r,a("seconds")],m:[r,a("minutes")],mm:[r,a("minutes")],H:[r,a("hours")],h:[r,a("hours")],HH:[r,a("hours")],hh:[r,a("hours")],D:[r,a("day")],DD:[n,a("day")],Do:[i,function(e){var t=o.ordinal,n=e.match(/\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\[|\]/g,"")===e&&(this.day=r)}],M:[r,a("month")],MM:[n,a("month")],MMM:[i,function(e){var t=h("months"),n=(h("monthsShort")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[i,function(e){var t=h("months").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\d+/,a("year")],YY:[n,function(e){this.year=s(e)}],YYYY:[/\d{4}/,a("year")],Z:f,ZZ:f};function c(n){var r,i;r=n,i=o&&o.formats;for(var s=(n=r.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=s.length,f=0;f-1)return new Date(("X"===t?1e3:1)*e);var r=c(t)(e),i=r.year,o=r.month,s=r.day,a=r.hours,f=r.minutes,h=r.seconds,u=r.milliseconds,d=r.zone,l=new Date,m=s||(i||o?1:l.getDate()),M=i||l.getFullYear(),Y=0;i&&!o||(Y=o>0?o-1:l.getMonth());var p=a||0,v=f||0,D=h||0,g=u||0;return d?new Date(Date.UTC(M,Y,m,p,v,D,g+60*d.offset*1e3)):n?new Date(Date.UTC(M,Y,m,p,v,D,g)):new Date(M,Y,m,p,v,D,g)}catch(e){return new Date("")}}(t,a,r),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date("")),o={}}else if(a instanceof Array)for(var l=a.length,m=1;m<=l;m+=1){s[1]=a[m-1];var M=n.apply(this,s);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===l&&(this.$d=new Date(""))}else i.call(this,e)}}}();const CTe=epe(DTe.exports);var LTe={exports:{}};LTe.exports=function(r,e,t){r=r||{};var n=e.prototype,o={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function i(r,e,t,o){return n.fromToBase(r,e,t,o)}t.en.relativeTime=o,n.fromToBase=function(e,n,i,d,u){for(var f,a,s,l=i.$locale().relativeTime||o,h=r.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],m=h.length,c=0;c0,p<=y.r||!y.r){p<=1&&c>0&&(y=h[c-1]);var v=l[y.l];u&&(p=u(""+p)),a="string"==typeof v?v.replace("%d",p):v(p,n,y.l,s);break}}if(n)return a;var M=s?l.future:l.past;return"function"==typeof M?M(a):M.replace("%s",a)},n.to=function(r,e){return i(r,e,this,!0)},n.from=function(r,e){return i(r,e,this)};var d=function(r){return r.$u?t.utc():t()};n.toNow=function(r){return this.to(d(this),r)},n.fromNow=function(r){return this.from(d(this),r)}};const FTe=epe(LTe.exports);zce($ce()),ope.extend(CTe),ope.extend(FTe);const zTe=Xce("updateOs",(()=>{const eee=kre(!1),tee=kre(!1),ree=pIe(),oee=Sae((()=>ree.regExp)),nee=Sae((()=>ree.regUpdatesExpired)),aee=Sae((()=>ree.updateOsResponse)),iee=Sae((()=>ree.updateOsIgnoredReleases)),see=Sae((()=>{if(aee.value&&!iee.value.includes(aee.value.version))return aee.value.isNewer?aee.value.version:void 0})),lee=Sae((()=>{if(see.value&&aee.value&&oee.value&&nee.value)return aee.value?.isEligible?void 0:aee.value.version})),cee=Sae((()=>aee.value?.date?npe(aee.value.date,"YYYY-MM-DD"):void 0)),pee=Sae((()=>!aee.value?.sha256)),dee=eee=>{tee.value=eee};return{available:see,availableWithRenewal:lee,checkForUpdatesLoading:eee,modalOpen:tee,updateOsIgnoredReleases:iee,availableReleaseDate:cee,availableRequiresAuth:pee,localCheckForUpdate:async()=>{eee.value=!0,dee(!0);try{const tee=await(async()=>{console.debug("[WebguiCheckForUpdate]");try{const eee={action:"check",json:!0};return"https://releases.unraid.net/os"!==mTe.toString()&&(eee.altUrl=mTe.toString()),await JEe.url("/plugins/dynamix.plugin.manager/include/UnraidCheck.php").query(eee).get().json((eee=>eee)).catch((eee=>{throw console.error("[WebguiCheckForUpdate] catch failed to execute UpdateCheck",eee),new Error("Error checking for updates")}))}catch(eee){throw console.error("[WebguiCheckForUpdate] catch failed to execute UpdateCheck",eee),new Error("Error checking for updates")}})();console.debug("[localCheckForUpdate] response",tee),ree.setUpdateOsResponse(tee),eee.value=!1}catch(tee){throw new Error("[localCheckForUpdate] Error checking for updates")}},cancelUpdate:async()=>{try{if(!(await(async()=>{console.debug("[WebguiUpdateCancel]");try{return await JEe.url("/plugins/dynamix.plugin.manager/include/UnraidUpdateCancel.php").get().json((eee=>eee)).catch((eee=>{throw console.error("[WebguiUpdateCancel] catch failed to execute UpdateUpdateCancel",eee),new Error("Error attempting to revert OS files to cancel update")}))}catch(eee){throw console.error("[WebguiUpdateCancel] catch failed to execute UpdateUpdateCancel",eee),new Error("Error attempting to revert OS files to cancel update")}})()).success)throw new Error("Unable to cancel update");if("/Tools/Update"===window.location.pathname)return void(window.location.href="/Tools");window.location.reload()}catch(eee){throw new Error("[cancelUpdate] Error cancelling update")}},setModalOpen:dee}})),MTe=JEe.url("https://releases.unraid.net");zce($ce());const PTe=Xce("updateOsActions",(()=>{const eee=oIe(),tee=pIe(),ree=zTe(),{install:oee}={install:eee=>{console.debug("[installPlugin]",eee);try{if("function"==typeof openPlugin){const tee=new URL(eee.pluginUrl),ree=`${tee.pathname.replace(".plg","").substring(1)}:install`;console.debug("[installPlugin]",{installString:ree,plgUrl:tee}),openPlugin(`plugin ${eee.update?"update":"install"} ${eee.pluginUrl}${eee.update?"":" forced"}`,eee.modalTitle,ree,"refresh",0,1)}else openBox(`/plugins/dynamix.plugin.manager/scripts/plugin&arg1=install&arg2=${eee.pluginUrl}`,eee.modalTitle,600,900,!0)}catch(tee){console.error(tee)}}},nee=kre(),aee=Sae((()=>tee.guid)),iee=Sae((()=>tee.keyfile)),see=Sae((()=>tee.osVersion)),lee=Sae((()=>tee.osVersionBranch)),cee=Sae((()=>tee.regUpdatesExpired)),pee=Sae((()=>ree.available)),dee=kre("ready"),uee=kre(!1),hee=kre(null),gee=Sae((()=>tee.rebootType)),wee=Sae((()=>{switch(gee.value){case"thirdPartyDriversDownloading":return"Updating 3rd party drivers";case"downgrade":return"Reboot Required for Downgrade";case"update":return"Reboot Required for Update";default:return""}})),fee=Sae((()=>!aee.value||!iee.value||!see.value||cee.value)),bee=Sae((()=>{if(!aee.value)return"A valid GUID is required to check for OS updates.";if(!iee.value)return"A valid keyfile is required to check for OS updates.";if(!see.value)return"A valid OS version is required to check for OS updates.";if(cee.value){const eee="Your {0} license included one year of free updates at the time of purchase. You are now eligible to extend your license and access the latest OS updates.",tee="You are still eligible to access OS updates that were published on or before {1}.";return pee.value?`${eee} ${tee}`:eee}return""})),mee=Sae((()=>({href:bTe.toString(),emphasize:!0,icon:zpe,name:"updateOs",text:"Unraid OS {0} Update Available",textParams:[pee.value]}))),vee=async eee=>{if(console.debug("[getReleaseFromKeyServer]",eee),!eee.keyfile)throw new Error("No payload.keyfile provided");if(!eee.sha256)throw new Error("No payload.sha256 provided");try{const tee=await(async eee=>await MTe.headers({"X-Unraid-Keyfile":eee.keyfile}).url(`/sha256/${eee.sha256}`).get().json())(eee);return console.debug("[getReleaseFromKeyServer]",tee),tee}catch(tee){throw console.error(tee),new Error("Unable to get release from keyserver")}},yee=eee=>{hee.value=eee,xee("confirming")},xee=eee=>{dee.value=eee};return uoe((()=>{"ready"===dee.value&&fee.value&&xee("ineligible")})),{callbackTypeDowngrade:uee,callbackUpdateRelease:hee,osVersion:see,osVersionBranch:lee,rebootType:gee,rebootTypeText:wee,status:dee,ineligible:fee,ineligibleText:bee,toolsRegistrationAction:mee,actOnUpdateOsAction:async(eee=!1)=>{const tee=await vee({keyfile:iee.value,sha256:nee.value?.sha256??""});if(eee&&(uee.value=!0),console.debug("[redirectToCallbackType] updateOs foundRelease",tee),!tee)throw new Error("Release not found");if(tee.version===see.value)throw new Error("Release version is the same as the server's current version");yee(tee)},confirmUpdateOs:yee,installOsUpdate:()=>{if(!hee.value)return console.error("[installOsUpdate] release not found");xee("updating"),oee({modalTitle:uee.value?`${hee.value.name} Downgrade`:`${hee.value.name} Update`,pluginUrl:hee.value.plugin_url,update:!1})},updateCallbackButton:()=>({click:()=>{eee.updateOs()},disabled:""!==gee.value,external:!0,icon:pee.value?zpe:Npe,name:"updateOs",text:pee.value?"Unraid OS {0} Update Available":"View Available Updates",textParams:[pee.value??""],title:""!==gee.value?wee.value:""}),rebootServer:()=>{document.rebootNow.submit()},setStatus:xee,setUpdateOsAction:eee=>nee.value=eee,viewReleaseNotes:(eee,tee)=>{"function"==typeof openChanges?openChanges(`showchanges ${tee??"/var/tmp/unRAIDServer.txt"}`,eee):"function"==typeof openBox?openBox(`/plugins/dynamix.plugin.manager/include/ShowChanges.php?file=${tee??"/var/tmp/unRAIDServer.txt"}`,eee,600,900):alert("Unable to open release notes")},getReleaseFromKeyServer:vee}}));var UTe={exports:{}};var jTe={exports:{}};const $Te=tpe(Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"})));var VTe;function qTe(){return VTe||(VTe=1,jTe.exports=(eee=eee||function(eee,tee){var ree;if("undefined"!=typeof window&&window.crypto&&(ree=window.crypto),"undefined"!=typeof self&&self.crypto&&(ree=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(ree=globalThis.crypto),!ree&&"undefined"!=typeof window&&window.msCrypto&&(ree=window.msCrypto),!ree&&void 0!==Jce&&Jce.crypto&&(ree=Jce.crypto),!ree)try{ree=$Te}catch(gee){}var oee=function(){if(ree){if("function"==typeof ree.getRandomValues)try{return ree.getRandomValues(new Uint32Array(1))[0]}catch(gee){}if("function"==typeof ree.randomBytes)try{return ree.randomBytes(4).readInt32LE()}catch(gee){}}throw new Error("Native crypto module could not be used to get secure random number.")},nee=Object.create||function(){function F(){}return function(eee){var tee;return F.prototype=eee,tee=new F,F.prototype=null,tee}}(),C={},aee=C.lib={},iee=aee.Base={extend:function(eee){var tee=nee(this);return eee&&tee.mixIn(eee),tee.hasOwnProperty("init")&&this.init!==tee.init||(tee.init=function(){tee.$super.init.apply(this,arguments)}),tee.init.prototype=tee,tee.$super=this,tee},create:function(){var eee=this.extend();return eee.init.apply(eee,arguments),eee},init:function(){},mixIn:function(eee){for(var tee in eee)eee.hasOwnProperty(tee)&&(this[tee]=eee[tee]);eee.hasOwnProperty("toString")&&(this.toString=eee.toString)},clone:function(){return this.init.prototype.extend(this)}},see=aee.WordArray=iee.extend({init:function(eee,ree){eee=this.words=eee||[],this.sigBytes=ree!=tee?ree:4*eee.length},toString:function(eee){return(eee||cee).stringify(this)},concat:function(eee){var tee=this.words,ree=eee.words,oee=this.sigBytes,nee=eee.sigBytes;if(this.clamp(),oee%4)for(var i=0;i>>2]>>>24-i%4*8&255;tee[oee+i>>>2]|=aee<<24-(oee+i)%4*8}else for(var j=0;j>>2]=ree[j>>>2];return this.sigBytes+=nee,this},clamp:function(){var tee=this.words,ree=this.sigBytes;tee[ree>>>2]&=4294967295<<32-ree%4*8,tee.length=eee.ceil(ree/4)},clone:function(){var eee=iee.clone.call(this);return eee.words=this.words.slice(0),eee},random:function(eee){for(var tee=[],i=0;i>>2]>>>24-i%4*8&255;oee.push((nee>>>4).toString(16)),oee.push((15&nee).toString(16))}return oee.join("")},parse:function(eee){for(var tee=eee.length,ree=[],i=0;i>>3]|=parseInt(eee.substr(i,2),16)<<24-i%8*4;return new see.init(ree,tee/2)}},pee=lee.Latin1={stringify:function(eee){for(var tee=eee.words,ree=eee.sigBytes,oee=[],i=0;i>>2]>>>24-i%4*8&255;oee.push(String.fromCharCode(nee))}return oee.join("")},parse:function(eee){for(var tee=eee.length,ree=[],i=0;i>>2]|=(255&eee.charCodeAt(i))<<24-i%4*8;return new see.init(ree,tee)}},dee=lee.Utf8={stringify:function(eee){try{return decodeURIComponent(escape(pee.stringify(eee)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(eee){return pee.parse(unescape(encodeURIComponent(eee)))}},uee=aee.BufferedBlockAlgorithm=iee.extend({reset:function(){this._data=new see.init,this._nDataBytes=0},_append:function(eee){"string"==typeof eee&&(eee=dee.parse(eee)),this._data.concat(eee),this._nDataBytes+=eee.sigBytes},_process:function(tee){var ree,oee=this._data,nee=oee.words,aee=oee.sigBytes,iee=this.blockSize,lee=aee/(4*iee),cee=(lee=tee?eee.ceil(lee):eee.max((0|lee)-this._minBufferSize,0))*iee,pee=eee.min(4*cee,aee);if(cee){for(var dee=0;dee>>6-i%4*2;nee[aee>>>2]|=iee<<24-aee%4*8,aee++}return tee.create(nee,aee)}C.enc.Base64={stringify:function(eee){var tee=eee.words,ree=eee.sigBytes,oee=this._map;eee.clamp();for(var nee=[],i=0;i>>2]>>>24-i%4*8&255)<<16|(tee[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|tee[i+2>>>2]>>>24-(i+2)%4*8&255,j=0;j<4&&i+.75*j>>6*(3-j)&63));var iee=oee.charAt(64);if(iee)for(;nee.length%4;)nee.push(iee);return nee.join("")},parse:function(eee){var tee=eee.length,oee=this._map,nee=this._reverseMap;if(!nee){nee=this._reverseMap=[];for(var j=0;j>>24)|4278255360&(ree<<24|ree>>>8)}var H=this._hash.words,oee=M[eee+0],nee=M[eee+1],aee=M[eee+2],iee=M[eee+3],see=M[eee+4],lee=M[eee+5],cee=M[eee+6],pee=M[eee+7],dee=M[eee+8],uee=M[eee+9],hee=M[eee+10],gee=M[eee+11],wee=M[eee+12],fee=M[eee+13],bee=M[eee+14],mee=M[eee+15],a=H[0],b=H[1],c=H[2],d=H[3];a=FF(a,b,c,d,oee,7,T[0]),d=FF(d,a,b,c,nee,12,T[1]),c=FF(c,d,a,b,aee,17,T[2]),b=FF(b,c,d,a,iee,22,T[3]),a=FF(a,b,c,d,see,7,T[4]),d=FF(d,a,b,c,lee,12,T[5]),c=FF(c,d,a,b,cee,17,T[6]),b=FF(b,c,d,a,pee,22,T[7]),a=FF(a,b,c,d,dee,7,T[8]),d=FF(d,a,b,c,uee,12,T[9]),c=FF(c,d,a,b,hee,17,T[10]),b=FF(b,c,d,a,gee,22,T[11]),a=FF(a,b,c,d,wee,7,T[12]),d=FF(d,a,b,c,fee,12,T[13]),c=FF(c,d,a,b,bee,17,T[14]),a=GG(a,b=FF(b,c,d,a,mee,22,T[15]),c,d,nee,5,T[16]),d=GG(d,a,b,c,cee,9,T[17]),c=GG(c,d,a,b,gee,14,T[18]),b=GG(b,c,d,a,oee,20,T[19]),a=GG(a,b,c,d,lee,5,T[20]),d=GG(d,a,b,c,hee,9,T[21]),c=GG(c,d,a,b,mee,14,T[22]),b=GG(b,c,d,a,see,20,T[23]),a=GG(a,b,c,d,uee,5,T[24]),d=GG(d,a,b,c,bee,9,T[25]),c=GG(c,d,a,b,iee,14,T[26]),b=GG(b,c,d,a,dee,20,T[27]),a=GG(a,b,c,d,fee,5,T[28]),d=GG(d,a,b,c,aee,9,T[29]),c=GG(c,d,a,b,pee,14,T[30]),a=HH(a,b=GG(b,c,d,a,wee,20,T[31]),c,d,lee,4,T[32]),d=HH(d,a,b,c,dee,11,T[33]),c=HH(c,d,a,b,gee,16,T[34]),b=HH(b,c,d,a,bee,23,T[35]),a=HH(a,b,c,d,nee,4,T[36]),d=HH(d,a,b,c,see,11,T[37]),c=HH(c,d,a,b,pee,16,T[38]),b=HH(b,c,d,a,hee,23,T[39]),a=HH(a,b,c,d,fee,4,T[40]),d=HH(d,a,b,c,oee,11,T[41]),c=HH(c,d,a,b,iee,16,T[42]),b=HH(b,c,d,a,cee,23,T[43]),a=HH(a,b,c,d,uee,4,T[44]),d=HH(d,a,b,c,wee,11,T[45]),c=HH(c,d,a,b,mee,16,T[46]),a=II(a,b=HH(b,c,d,a,aee,23,T[47]),c,d,oee,6,T[48]),d=II(d,a,b,c,pee,10,T[49]),c=II(c,d,a,b,bee,15,T[50]),b=II(b,c,d,a,lee,21,T[51]),a=II(a,b,c,d,wee,6,T[52]),d=II(d,a,b,c,iee,10,T[53]),c=II(c,d,a,b,hee,15,T[54]),b=II(b,c,d,a,nee,21,T[55]),a=II(a,b,c,d,dee,6,T[56]),d=II(d,a,b,c,mee,10,T[57]),c=II(c,d,a,b,cee,15,T[58]),b=II(b,c,d,a,fee,21,T[59]),a=II(a,b,c,d,see,6,T[60]),d=II(d,a,b,c,gee,10,T[61]),c=II(c,d,a,b,aee,15,T[62]),b=II(b,c,d,a,uee,21,T[63]),H[0]=H[0]+a|0,H[1]=H[1]+b|0,H[2]=H[2]+c|0,H[3]=H[3]+d|0},_doFinalize:function(){var eee=this._data,ree=eee.words,oee=8*this._nDataBytes,nee=8*eee.sigBytes;ree[nee>>>5]|=128<<24-nee%32;var aee=tee.floor(oee/4294967296),iee=oee;ree[15+(nee+64>>>9<<4)]=16711935&(aee<<8|aee>>>24)|4278255360&(aee<<24|aee>>>8),ree[14+(nee+64>>>9<<4)]=16711935&(iee<<8|iee>>>24)|4278255360&(iee<<24|iee>>>8),eee.sigBytes=4*(ree.length+1),this._process();for(var see=this._hash,H=see.words,i=0;i<4;i++){var lee=H[i];H[i]=16711935&(lee<<8|lee>>>24)|4278255360&(lee<<24|lee>>>8)}return see},clone:function(){var eee=nee.clone.call(this);return eee._hash=this._hash.clone(),eee}});function FF(a,b,c,d,x,s,t){var n=a+(b&c|~b&d)+x+t;return(n<>>32-s)+b}function GG(a,b,c,d,x,s,t){var n=a+(b&d|c&~d)+x+t;return(n<>>32-s)+b}function HH(a,b,c,d,x,s,t){var n=a+(b^c^d)+x+t;return(n<>>32-s)+b}function II(a,b,c,d,x,s,t){var n=a+(c^(b|~d))+x+t;return(n<>>32-s)+b}C.MD5=nee._createHelper(iee),C.HmacMD5=nee._createHmacHelper(iee)}(Math),eee.MD5)),WTe.exports;var eee}var HTe,XTe={exports:{}},ZTe={exports:{}};function JTe(){return HTe||(HTe=1,ZTe.exports=(eee=qTe(),function(){var C=eee,tee=C.lib,ree=tee.WordArray,oee=tee.Hasher,nee=C.algo,W=[],aee=nee.SHA1=oee.extend({_doReset:function(){this._hash=new ree.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(M,eee){for(var H=this._hash.words,a=H[0],b=H[1],c=H[2],d=H[3],e=H[4],i=0;i<80;i++){if(i<16)W[i]=0|M[eee+i];else{var n=W[i-3]^W[i-8]^W[i-14]^W[i-16];W[i]=n<<1|n>>>31}var t=(a<<5|a>>>27)+e+W[i];t+=i<20?1518500249+(b&c|~b&d):i<40?1859775393+(b^c^d):i<60?(b&c|b&d|c&d)-1894007588:(b^c^d)-899497514,e=d,d=c,c=b<<30|b>>>2,b=a,a=t}H[0]=H[0]+a|0,H[1]=H[1]+b|0,H[2]=H[2]+c|0,H[3]=H[3]+d|0,H[4]=H[4]+e|0},_doFinalize:function(){var eee=this._data,tee=eee.words,ree=8*this._nDataBytes,oee=8*eee.sigBytes;return tee[oee>>>5]|=128<<24-oee%32,tee[14+(oee+64>>>9<<4)]=Math.floor(ree/4294967296),tee[15+(oee+64>>>9<<4)]=ree,eee.sigBytes=4*tee.length,this._process(),this._hash},clone:function(){var eee=oee.clone.call(this);return eee._hash=this._hash.clone(),eee}});C.SHA1=oee._createHelper(aee),C.HmacSHA1=oee._createHmacHelper(aee)}(),eee.SHA1)),ZTe.exports;var eee}var eSe,tSe,rSe={exports:{}};function oSe(){return tSe||(tSe=1,XTe.exports=function(eee){return function(){var C=eee,tee=C.lib,ree=tee.Base,oee=tee.WordArray,nee=C.algo,aee=nee.MD5,iee=nee.EvpKDF=ree.extend({cfg:ree.extend({keySize:4,hasher:aee,iterations:1}),init:function(eee){this.cfg=this.cfg.extend(eee)},compute:function(eee,tee){for(var ree,nee=this.cfg,aee=nee.hasher.create(),iee=oee.create(),see=iee.words,lee=nee.keySize,cee=nee.iterations;see.lengthnee&&(tee=eee.finalize(tee)),tee.clamp();for(var aee=this._oKey=tee.clone(),iee=this._iKey=tee.clone(),see=aee.words,lee=iee.words,i=0;i>>8^255&sx^99,oee[x]=sx,nee[sx]=x;var x2=d[x],x4=d[x2],x8=d[x4],t=257*d[sx]^16843008*sx;aee[x]=t<<24|t>>>8,iee[x]=t<<16|t>>>16,see[x]=t<<8|t>>>24,lee[x]=t,t=16843009*x8^65537*x4^257*x2^16843008*x,cee[sx]=t<<24|t>>>8,pee[sx]=t<<16|t>>>16,dee[sx]=t<<8|t>>>24,uee[sx]=t,x?(x=x2^d[d[d[x8^x2]]],xi^=d[d[xi]]):x=xi=1}}();var hee=[0,1,2,4,8,16,32,64,128,27,54],gee=ree.AES=tee.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var eee=this._keyPriorReset=this._key,tee=eee.words,ree=eee.sigBytes/4,nee=4*((this._nRounds=ree+6)+1),aee=this._keySchedule=[],iee=0;iee6&&iee%ree==4&&(t=oee[t>>>24]<<24|oee[t>>>16&255]<<16|oee[t>>>8&255]<<8|oee[255&t]):(t=oee[(t=t<<8|t>>>24)>>>24]<<24|oee[t>>>16&255]<<16|oee[t>>>8&255]<<8|oee[255&t],t^=hee[iee/ree|0]<<24),aee[iee]=aee[iee-ree]^t);for(var see=this._invKeySchedule=[],lee=0;lee>>24]]^pee[oee[t>>>16&255]]^dee[oee[t>>>8&255]]^uee[oee[255&t]]}}},encryptBlock:function(M,eee){this._doCryptBlock(M,eee,this._keySchedule,aee,iee,see,lee,oee)},decryptBlock:function(M,eee){var t=M[eee+1];M[eee+1]=M[eee+3],M[eee+3]=t,this._doCryptBlock(M,eee,this._invKeySchedule,cee,pee,dee,uee,nee),t=M[eee+1],M[eee+1]=M[eee+3],M[eee+3]=t},_doCryptBlock:function(M,eee,tee,ree,oee,nee,aee,iee){for(var see=this._nRounds,s0=M[eee]^tee[0],s1=M[eee+1]^tee[1],s2=M[eee+2]^tee[2],s3=M[eee+3]^tee[3],lee=4,cee=1;cee>>24]^oee[s1>>>16&255]^nee[s2>>>8&255]^aee[255&s3]^tee[lee++],t1=ree[s1>>>24]^oee[s2>>>16&255]^nee[s3>>>8&255]^aee[255&s0]^tee[lee++],t2=ree[s2>>>24]^oee[s3>>>16&255]^nee[s0>>>8&255]^aee[255&s1]^tee[lee++],t3=ree[s3>>>24]^oee[s0>>>16&255]^nee[s1>>>8&255]^aee[255&s2]^tee[lee++];s0=t0,s1=t1,s2=t2,s3=t3}t0=(iee[s0>>>24]<<24|iee[s1>>>16&255]<<16|iee[s2>>>8&255]<<8|iee[255&s3])^tee[lee++],t1=(iee[s1>>>24]<<24|iee[s2>>>16&255]<<16|iee[s3>>>8&255]<<8|iee[255&s0])^tee[lee++],t2=(iee[s2>>>24]<<24|iee[s3>>>16&255]<<16|iee[s0>>>8&255]<<8|iee[255&s1])^tee[lee++],t3=(iee[s3>>>24]<<24|iee[s0>>>16&255]<<16|iee[s1>>>8&255]<<8|iee[255&s2])^tee[lee++],M[eee]=t0,M[eee+1]=t1,M[eee+2]=t2,M[eee+3]=t3},keySize:8});C.AES=tee._createHelper(gee)}(),eee.AES}(qTe(),GTe(),KTe(),oSe(),nSe||(nSe=1,iSe.exports=(aSe=qTe(),oSe(),void(aSe.lib.Cipher||function(eee){var C=aSe,tee=C.lib,ree=tee.Base,oee=tee.WordArray,nee=tee.BufferedBlockAlgorithm,aee=C.enc;aee.Utf8;var iee=aee.Base64,see=C.algo.EvpKDF,lee=tee.Cipher=nee.extend({cfg:ree.extend(),createEncryptor:function(eee,tee){return this.create(this._ENC_XFORM_MODE,eee,tee)},createDecryptor:function(eee,tee){return this.create(this._DEC_XFORM_MODE,eee,tee)},init:function(eee,tee,ree){this.cfg=this.cfg.extend(ree),this._xformMode=eee,this._key=tee,this.reset()},reset:function(){nee.reset.call(this),this._doReset()},process:function(eee){return this._append(eee),this._process()},finalize:function(eee){return eee&&this._append(eee),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function eee(eee){return"string"==typeof eee?bee:wee}return function(tee){return{encrypt:function(ree,oee,nee){return eee(oee).encrypt(tee,ree,oee,nee)},decrypt:function(ree,oee,nee){return eee(oee).decrypt(tee,ree,oee,nee)}}}}()});tee.StreamCipher=lee.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var cee=C.mode={},pee=tee.BlockCipherMode=ree.extend({createEncryptor:function(eee,iv){return this.Encryptor.create(eee,iv)},createDecryptor:function(eee,iv){return this.Decryptor.create(eee,iv)},init:function(eee,iv){this._cipher=eee,this._iv=iv}}),dee=cee.CBC=function(){var tee=pee.extend();function ree(tee,ree,oee){var nee,iv=this._iv;iv?(nee=iv,this._iv=eee):nee=this._prevBlock;for(var i=0;i>>2];eee.sigBytes-=tee}};tee.BlockCipher=lee.extend({cfg:lee.cfg.extend({mode:dee,padding:uee}),reset:function(){var eee;lee.reset.call(this);var tee=this.cfg,iv=tee.iv,ree=tee.mode;this._xformMode==this._ENC_XFORM_MODE?eee=ree.createEncryptor:(eee=ree.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==eee?this._mode.init(this,iv&&iv.words):(this._mode=eee.call(ree,this,iv&&iv.words),this._mode.__creator=eee)},_doProcessBlock:function(eee,tee){this._mode.processBlock(eee,tee)},_doFinalize:function(){var eee,tee=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(tee.pad(this._data,this.blockSize),eee=this._process(!0)):(eee=this._process(!0),tee.unpad(eee)),eee},blockSize:4});var hee=tee.CipherParams=ree.extend({init:function(eee){this.mixIn(eee)},toString:function(eee){return(eee||this.formatter).stringify(this)}}),gee=(C.format={}).OpenSSL={stringify:function(eee){var tee=eee.ciphertext,ree=eee.salt;return(ree?oee.create([1398893684,1701076831]).concat(ree).concat(tee):tee).toString(iee)},parse:function(eee){var tee,ree=iee.parse(eee),nee=ree.words;return 1398893684==nee[0]&&1701076831==nee[1]&&(tee=oee.create(nee.slice(2,4)),nee.splice(0,4),ree.sigBytes-=16),hee.create({ciphertext:ree,salt:tee})}},wee=tee.SerializableCipher=ree.extend({cfg:ree.extend({format:gee}),encrypt:function(eee,tee,ree,oee){oee=this.cfg.extend(oee);var nee=eee.createEncryptor(ree,oee),aee=nee.finalize(tee),iee=nee.cfg;return hee.create({ciphertext:aee,key:ree,iv:iee.iv,algorithm:eee,mode:iee.mode,padding:iee.padding,blockSize:eee.blockSize,formatter:oee.format})},decrypt:function(eee,tee,ree,oee){return oee=this.cfg.extend(oee),tee=this._parse(tee,oee.format),eee.createDecryptor(ree,oee).finalize(tee.ciphertext)},_parse:function(eee,tee){return"string"==typeof eee?tee.parse(eee,this):eee}}),fee=(C.kdf={}).OpenSSL={execute:function(eee,tee,ree,nee,aee){if(nee||(nee=oee.random(8)),aee)iee=see.create({keySize:tee+ree,hasher:aee}).compute(eee,nee);else var iee=see.create({keySize:tee+ree}).compute(eee,nee);var iv=oee.create(iee.words.slice(tee),4*ree);return iee.sigBytes=4*tee,hee.create({key:iee,iv:iv,salt:nee})}},bee=tee.PasswordBasedCipher=wee.extend({cfg:wee.cfg.extend({kdf:fee}),encrypt:function(eee,tee,ree,oee){var nee=(oee=this.cfg.extend(oee)).kdf.execute(ree,eee.keySize,eee.ivSize,oee.salt,oee.hasher);oee.iv=nee.iv;var aee=wee.encrypt.call(this,eee,tee,nee.key,oee);return aee.mixIn(nee),aee},decrypt:function(eee,tee,ree,oee){oee=this.cfg.extend(oee),tee=this._parse(tee,oee.format);var nee=oee.kdf.execute(ree,eee.keySize,eee.ivSize,tee.salt,oee.hasher);return oee.iv=nee.iv,wee.decrypt.call(this,eee,tee,nee.key,oee)}})}()))));const sSe=epe(UTe.exports);var lSe={exports:{}};lSe.exports=function(eee){return eee.enc.Utf8}(qTe());const cSe=epe(lSe.exports);zce($ce());const pSe=Xce("callbackActions",(()=>{const eee=oIe(),tee=RTe(),ree=pIe();zTe();const oee=PTe(),nee=kre("ready"),aee=kre(),iee=kre(),see=["recover","replace","trialExtend","trialStart","purchase","redeem","renew","upgrade"],lee=()=>{if(console.debug("[redirectToCallbackType]"),!aee.value||!aee.value.type||"forUpc"!==aee.value.type||!aee.value.actions?.length)return iee.value="Callback redirect type not present or incorrect",nee.value="ready",console.error("[redirectToCallbackType]",iee.value);nee.value="loading",aee.value.actions.forEach((async(nee,aee,iee)=>{if(console.debug("[redirectToCallbackType]",{action:nee,index:aee,array:iee}),see.includes(nee.type)&&await tee.install(nee),"signIn"===nee.type&&nee?.user&&(eee.setAccountAction(nee),await eee.setConnectSignInPayload({apiKey:nee?.apiKey??"",email:nee.user?.email??"",preferred_username:nee.user?.preferred_username??""})),"signOut"!==nee.type&&"oemSignOut"!==nee.type||(eee.setAccountAction(nee),await eee.setQueueConnectSignOut(!0)),("updateOs"===nee.type||"downgradeOs"===nee.type)&&(oee.setUpdateOsAction(nee),await oee.actOnUpdateOsAction("downgradeOs"===nee.type),1===iee.length))return console.debug("[redirectToCallbackType] updateOs done"),void window.history.replaceState(null,"",window.location.pathname);iee.length===aee+1&&await ree.refreshServerState()}))},cee=Sae((()=>ree.refreshServerStateStatus));uoe((()=>{if(aee.value?.actions&&"done"===cee.value)if(aee.value.actions.length>1){const ree="success"===eee.accountActionStatus&&"success"===tee.keyInstallStatus;nee.value=ree?"success":"error"}else{const ree="success"===eee.accountActionStatus||"success"===tee.keyInstallStatus;nee.value=ree?"success":"error"}aee.value?.actions&&"timeout"===cee.value&&(nee.value="error")}));return goe(nee,((eee,tee)=>{"loading"===eee&&NTe(),"loading"===tee&&(ATe(),window.history.replaceState(null,"",window.location.pathname))})),{callbackData:aee,callbackStatus:nee,redirectToCallbackType:lee,saveCallbackData:eee=>{if(eee&&(aee.value=eee),!aee.value)return console.error("Saved callback data not found");lee?.()},setCallbackStatus:eee=>{nee.value=eee},sendType:"fromUpc",encryptionKey:"Uyv2o8e*FiQe8VeLekTqyX6Z*8XonB"}})),dSe=(uSe=pSe,Xce("callback",(()=>{const eee=uSe();return{send:(tee,ree,oee,nee)=>{console.debug("[callback.send]");const aee=JSON.stringify({actions:[...ree],sender:window.location.href.replace("/Tools/Update","/Tools"),type:nee??eee.sendType}),iee=sSe.encrypt(aee,eee.encryptionKey).toString(),see=new URL(tee.replace("/Tools/Update","/Tools"));see.searchParams.set("data",encodeURI(iee)),console.debug("[callback.send]",iee,see),"newTab"!==oee?"replace"!==oee?window.location.href=see.toString():window.location.replace(see.toString()):window.open(see.toString(),"_blank")},watcher:()=>{console.debug("[callback.watcher]");const tee=new URL(window.location.toString()),ree=decodeURI(tee.searchParams.get("data")??"");if(console.debug("[callback.watcher]",{callbackValue:ree}),!ree)return console.debug("[callback.watcher] no callback to handle");const oee=sSe.decrypt(ree,eee.encryptionKey),nee=JSON.parse(oee.toString(cSe));console.debug("[callback.watcher]",oee,nee),eee.saveCallbackData(nee)}}})));var uSe;const hSe=JEe.url("https://keys.lime-technology.com"),gSe={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 133.52 76.97",class:Yee("unraid_mark"),role:"img"},wSe=eae("desc",null,"Unraid logo animating with a wave like effect",-1),fSe={id:"unraidLoadingGradient",x1:"23.76",y1:"81.49",x2:"109.76",y2:"-4.51",gradientUnits:"userSpaceOnUse"},bSe=["stop-color"],mSe=["stop-color"],vSe=nae('',9),ySe=Ace(xoe({__name:"Loading",props:{gradientStart:{default:"#e32929"},gradientStop:{default:"#ff8d30"},title:{default:"Loading"}},setup:eee=>(eee,tee)=>(qne(),Qne("svg",gSe,[eae("title",null,Hee(eee.title),1),wSe,eae("defs",null,[eae("linearGradient",fSe,[eae("stop",{offset:"0","stop-color":eee.gradientStart},null,8,bSe),eae("stop",{offset:"1","stop-color":eee.gradientStop},null,8,mSe)])]),vSe]))}),[["styles",['/*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:clear-sans,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:470px){.container{max-width:470px}}@media (min-width:530px){.container{max-width:530px}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--color-beta);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:#ff8c2f;font-weight:500;text-decoration:underline}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{color:#f15a2c}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"“""”""‘""’"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:start;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:var(--color-beta);--tw-prose-headings:var(--color-beta);--tw-prose-lead:var(--color-beta);--tw-prose-links:#ff8c2f;--tw-prose-bold:var(--color-beta);--tw-prose-counters:var(--color-beta);--tw-prose-bullets:var(--color-beta);--tw-prose-hr:var(--color-beta);--tw-prose-quotes:var(--color-beta);--tw-prose-quote-borders:var(--color-beta);--tw-prose-captions:var(--color-beta);--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:var(--color-beta);--tw-prose-pre-code:var(--color-beta);--tw-prose-pre-bg:var(--color-alpha);--tw-prose-th-borders:var(--color-beta);--tw-prose-td-borders:var(--color-beta);--tw-prose-invert-body:var(--color-alpha);--tw-prose-invert-headings:var(--color-alpha);--tw-prose-invert-lead:var(--color-alpha);--tw-prose-invert-links:#ff8c2f;--tw-prose-invert-bold:var(--color-alpha);--tw-prose-invert-counters:var(--color-alpha);--tw-prose-invert-bullets:var(--color-alpha);--tw-prose-invert-hr:var(--color-alpha);--tw-prose-invert-quotes:var(--color-alpha);--tw-prose-invert-quote-borders:var(--color-alpha);--tw-prose-invert-captions:var(--color-alpha);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--color-alpha);--tw-prose-invert-pre-code:var(--color-alpha);--tw-prose-invert-pre-bg:var(--color-beta);--tw-prose-invert-th-borders:var(--color-alpha);--tw-prose-invert-td-borders:var(--color-alpha);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose{--tw-prose-invert-code-bg:var(--color-gamma-opaque)}.unraid_mark_2,.unraid_mark_4{animation:mark_2 1.5s ease infinite}.unraid_mark_3{animation:mark_3 1.5s ease infinite}.unraid_mark_6,.unraid_mark_8{animation:mark_6 1.5s ease infinite}.unraid_mark_7{animation:mark_7 1.5s ease infinite}@keyframes mark_2{50%{transform:translateY(-40px)}to{transform:translateY(0)}}@keyframes mark_3{50%{transform:translateY(-62px)}to{transform:translateY(0)}}@keyframes mark_6{50%{transform:translateY(40px)}to{transform:translateY(0)}}@keyframes mark_7{50%{transform:translateY(62px)}to{transform:translateY(0)}}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-\\[2px\\]{bottom:-2px}.-left-\\[2px\\]{left:-2px}.-right-\\[2px\\]{right:-2px}.-top-1{top:-.25rem}.-top-\\[2px\\]{top:-2px}.bottom-0{bottom:0}.bottom-\\[-3px\\]{bottom:-3px}.right-0{right:0}.top-0{top:0}.top-\\[1px\\]{top:1px}.top-full{top:100%}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\\[99999\\]{z-index:99999}.mx-8px{margin-left:8px;margin-right:8px}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.my-12{margin-bottom:3rem;margin-top:3rem}.my-16px{margin-bottom:16px;margin-top:16px}.my-24px{margin-bottom:24px;margin-top:24px}.my-8px{margin-bottom:8px;margin-top:8px}.mb-4px{margin-bottom:4px}.mb-8px{margin-bottom:8px}.ml-3{margin-left:.75rem}.ml-8px{margin-left:8px}.mr-8px{margin-right:8px}.mt-0{margin-top:0}.mt-12px{margin-top:12px}.mt-2{margin-top:.5rem}.mt-24px{margin-top:24px}.mt-4px{margin-top:4px}.mt-8px{margin-top:8px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-12px{height:12px}.h-16px{height:16px}.h-20px{height:20px}.h-24px{height:24px}.h-2px{height:2px}.h-32px{height:32px}.h-36px{height:36px}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.max-h-\\[65vh\\]{max-height:65vh}.min-h-\\[250px\\]{min-height:250px}.min-h-screen{min-height:100vh}.w-1\\/2{width:50%}.w-11{width:2.75rem}.w-12px{width:12px}.w-14px{width:14px}.w-16px{width:16px}.w-20px{width:20px}.w-24px{width:24px}.w-28px{width:28px}.w-2px{width:2px}.w-32px{width:32px}.w-36px{width:36px}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\\[100px\\]{width:100px}.w-\\[110px\\]{width:110px}.w-\\[120px\\]{width:120px}.w-\\[125\\%\\]{width:125%}.w-\\[150px\\]{width:150px}.w-\\[44px\\]{width:44px}.w-\\[48px\\]{width:48px}.w-full{width:100%}.w-screen{width:100vw}.min-w-300px{min-width:300px}.min-w-\\[280px\\]{min-width:280px}.max-w-1024px{max-width:1024px}.max-w-160px{max-width:160px}.max-w-350px{max-width:350px}.max-w-3xl{max-width:48rem}.max-w-640px{max-width:640px}.max-w-800px{max-width:800px}.max-w-\\[45ch\\]{max-width:45ch}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.grow-0{flex-grow:0}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-20px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-20px{--tw-translate-x:20px}.translate-x-\\[26px\\]{--tw-translate-x:26px}.translate-x-\\[26px\\],.translate-x-\\[2px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[2px\\]{--tw-translate-x:2px}.translate-y-\\[16px\\]{--tw-translate-y:16px}.scale-100,.translate-y-\\[16px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-12px{gap:12px}.gap-16px{gap:16px}.gap-2{gap:.5rem}.gap-20px{gap:20px}.gap-4{gap:1rem}.gap-4px{gap:4px}.gap-6{gap:1.5rem}.gap-8px{gap:8px}.gap-x-16px{-moz-column-gap:16px;column-gap:16px}.gap-x-4px{-moz-column-gap:4px;column-gap:4px}.gap-x-8px{-moz-column-gap:8px;column-gap:8px}.gap-y-16px{row-gap:16px}.gap-y-24px{row-gap:24px}.gap-y-4px{row-gap:4px}.gap-y-8px{row-gap:8px}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-normal{white-space:normal}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b-2{border-bottom-width:2px}.border-l-0{border-left-width:0}.border-r-0{border-right-width:0}.border-t-0{border-top-width:0}.border-solid{border-style:solid}.border-none{border-style:none}.border-black{--tw-border-opacity:1;border-color:rgb(28 27 27/var(--tw-border-opacity))}.border-gamma-opaque{border-color:var(--color-gamma-opaque)}.border-green-600\\/10{border-color:#16a34a1a}.border-grey-mid{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.border-orange{--tw-border-opacity:1;border-color:rgb(255 140 47/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-unraid-red{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.border-unraid-red\\/10{border-color:#e228281a}.border-unraid-red\\/90{border-color:#e22828e6}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-white\\/10{border-color:#ffffff1a}.border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity))}.bg-alpha{background-color:var(--color-alpha)}.bg-beta{background-color:var(--color-beta)}.bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-current{background-color:currentColor}.bg-gamma{background-color:var(--color-gamma)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-grey{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-orange{--tw-bg-opacity:1;background-color:rgb(255 140 47/var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-unraid-red{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.bg-unraid-red\\/90{background-color:#e22828e6}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity:.8}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-unraid-red{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-orange{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.to-orange\\/60{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-green-600{fill:#16a34a}.fill-unraid-red{fill:#e22828}.p-0{padding:0}.p-1{padding:.25rem}.p-12px{padding:12px}.p-16px{padding:16px}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8px{padding:8px}.px-12px{padding-left:12px;padding-right:12px}.px-16px{padding-left:16px;padding-right:16px}.px-4{padding-left:1rem;padding-right:1rem}.px-4px{padding-left:4px;padding-right:4px}.px-6px{padding-left:6px;padding-right:6px}.px-8px{padding-left:8px;padding-right:8px}.py-0{padding-bottom:0;padding-top:0}.py-12px{padding-bottom:12px;padding-top:12px}.py-24px{padding-bottom:24px;padding-top:24px}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-4px{padding-bottom:4px;padding-top:4px}.py-8px{padding-bottom:8px;padding-top:8px}.pb-12{padding-bottom:3rem}.pb-8px{padding-bottom:8px}.pl-40px{padding-left:40px}.pr-16px{padding-right:16px}.pr-40px{padding-right:40px}.pr-4px{padding-right:4px}.pt-4px{padding-top:4px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-10px{font-size:10px}.text-12px{font-size:12px}.text-14px{font-size:14px}.text-16px{font-size:16px}.text-18px{font-size:18px}.text-20px{font-size:20px}.text-24px{font-size:24px}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.text-\\[\\#486dba\\]{--tw-text-opacity:1;color:rgb(72 109 186/var(--tw-text-opacity))}.text-alpha{color:var(--color-alpha)}.text-beta{color:var(--color-beta)}.text-black{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-current{color:currentColor}.text-gamma{color:var(--color-gamma)}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-grey-mid{--tw-text-opacity:1;color:rgb(153 153 153/var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}.text-orange{--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-unraid-red{--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[var\\(--ring-offset-shadow\\)_var\\(--ring-shadow\\)_var\\(--shadow-beta\\)\\]{--tw-shadow-color:var(--ring-offset-shadow) var(--ring-shadow) var(--shadow-beta);--tw-shadow:var(--tw-shadow-colored)}.shadow-green-600\\/30{--tw-shadow-color:rgba(22,163,74,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-orange\\/10{--tw-shadow-color:rgba(255,140,47,.1);--tw-shadow:var(--tw-shadow-colored)}.shadow-unraid-red\\/30{--tw-shadow-color:rgba(226,40,40,.3);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-black{outline-color:#1c1b1b}.outline-white{outline-color:#fff}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.even\\:bg-black\\/5:nth-child(2n){background-color:#1c1b1b0d}.even\\:bg-grey-darkest:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity))}@keyframes pulse{50%{opacity:.5}}.hover\\:animate-pulse:hover{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.hover\\:border-beta:hover{border-color:var(--color-beta)}.hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.hover\\:border-grey-mid:hover{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.hover\\:border-orange-dark:hover{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.hover\\:border-unraid-red:hover{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.hover\\:bg-beta:hover{background-color:var(--color-beta)}.hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.hover\\:bg-grey-mid:hover{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.hover\\:bg-unraid-red:hover{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\\:bg-gradient-to-r:hover{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.hover\\:from-unraid-red:hover{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:from-unraid-red\\/60:hover{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:to-orange:hover{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.hover\\:to-orange\\/60:hover{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.hover\\:text-\\[\\#3b5ea9\\]:hover{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.hover\\:text-alpha:hover{color:var(--color-alpha)}.hover\\:text-black:hover{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:no-underline:hover{text-decoration-line:none}.hover\\:opacity-100:hover{opacity:1}.hover\\:opacity-75:hover{opacity:.75}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:shadow-orange\\/50:hover{--tw-shadow-color:rgba(255,140,47,.5);--tw-shadow:var(--tw-shadow-colored)}.focus\\:border-beta:focus{border-color:var(--color-beta)}.focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.focus\\:border-grey-mid:focus{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.focus\\:border-orange-dark:focus{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.focus\\:border-unraid-red:focus{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.focus\\:bg-beta:focus{background-color:var(--color-beta)}.focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.focus\\:bg-grey-mid:focus{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.focus\\:bg-unraid-red:focus{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus\\:bg-gradient-to-r:focus{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.focus\\:from-unraid-red:focus{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:from-unraid-red\\/60:focus{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:to-orange:focus{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.focus\\:to-orange\\/60:focus{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.focus\\:text-\\[\\#3b5ea9\\]:focus{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.focus\\:text-alpha:focus{color:var(--color-alpha)}.focus\\:text-black:focus{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.focus\\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\\:underline:focus{text-decoration-line:underline}.focus\\:no-underline:focus{text-decoration-line:none}.focus\\:opacity-100:focus{opacity:1}.focus\\:opacity-75:focus{opacity:.75}.focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.focus\\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-25:disabled{opacity:.25}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:hover\\:opacity-25:hover:disabled{opacity:.25}.disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.disabled\\:focus\\:opacity-25:focus:disabled{opacity:.25}.disabled\\:focus\\:opacity-50:focus:disabled{opacity:.5}.group:hover .group-hover\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:hover .group-hover\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:hover .group-hover\\:underline{text-decoration-line:underline}.group:hover .group-hover\\:opacity-100{opacity:1}.group:hover .group-hover\\:opacity-60{opacity:.6}.group:hover .group-hover\\:opacity-75{opacity:.75}.group:focus .group-focus\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:focus .group-focus\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:focus .group-focus\\:underline{text-decoration-line:underline}.group:focus .group-focus\\:opacity-100{opacity:1}.group:focus .group-focus\\:opacity-60{opacity:.6}.group:focus .group-focus\\:opacity-75{opacity:.75}.prose-a\\:text-unraid-red :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.hover\\:prose-a\\:text-unraid-red\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#e2282899}.hover\\:prose-a\\:no-underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{text-decoration-line:none}@media (min-width:640px){.sm\\:col-span-2{grid-column:span 2/span 2}.sm\\:col-span-3{grid-column:span 3/span 3}.sm\\:col-start-2{grid-column-start:2}.sm\\:block{display:block}.sm\\:w-\\[150px\\]{width:150px}.sm\\:w-full{width:100%}.sm\\:min-w-\\[400px\\]{min-width:400px}.sm\\:max-w-300px{max-width:300px}.sm\\:max-w-lg{max-width:32rem}.sm\\:flex-shrink-0{flex-shrink:0}.sm\\:flex-grow-0{flex-grow:0}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-start{align-items:flex-start}.sm\\:items-center{align-items:center}.sm\\:justify-end{justify-content:flex-end}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-16px{gap:16px}.sm\\:gap-24px{gap:24px}.sm\\:gap-y-24px{row-gap:24px}.sm\\:p-16px{padding:16px}.sm\\:px-20px{padding-left:20px;padding-right:20px}.sm\\:pr-40px{padding-right:40px}.sm\\:text-right{text-align:right}.sm\\:text-18px{font-size:18px}.sm\\:text-20px{font-size:20px}.sm\\:text-24px{font-size:24px}}@media (min-width:768px){.md\\:inline-block{display:inline-block}.md\\:min-w-\\[500px\\]{min-width:500px}.md\\:flex-row{flex-direction:row}.md\\:items-start{align-items:flex-start}.md\\:items-end{align-items:flex-end}.md\\:justify-between{justify-content:space-between}.md\\:gap-16px{gap:16px}.md\\:p-24px{padding:24px}.md\\:p-6{padding:1.5rem}.md\\:py-24px{padding-bottom:24px;padding-top:24px}.md\\:text-24px{font-size:24px}}@media (min-width:470px){.\\32xs\\:block{display:block}}@media (min-width:530px){.xs\\:block{display:block}.xs\\:flex-row{flex-direction:row}.xs\\:items-baseline{align-items:baseline}.xs\\:justify-start{justify-content:flex-start}.xs\\:gap-x-12px{-moz-column-gap:12px;column-gap:12px}.xs\\:text-12px{font-size:12px}}@media (min-height:700px){.tall\\:max-h-\\[75vh\\]{max-height:75vh}}@media (prefers-color-scheme:dark){.dark\\:border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.dark\\:bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.dark\\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\\:prose-a\\:text-orange :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.hover\\:dark\\:prose-a\\:text-orange\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#ff8c2f99}}']]]),xSe=xoe({__name:"LoadingWhite",setup:eee=>(eee,tee)=>{const ree=ySe;return qne(),Wne(ree,{"gradient-start":"#ffffff","gradient-stop":"#ffffff"})}});zce($ce());const kSe="unraidReplaceCheck",_Se=Xce("replaceRenewCheck",(()=>{const eee=pIe(),tee=Sae((()=>eee.guid)),ree=Sae((()=>eee.keyfile)),oee=Sae((()=>ree.value?.slice(-10))),nee=kre(null),aee=kre("ready"),iee=eee=>{aee.value=eee},see=Sae((()=>{switch(aee.value){case"checking":return{color:"gamma",icon:xSe,text:"Checking..."};case"linked":return{color:"green",icon:Mpe,text:"Linked"};case"notLinked":return{color:"yellow",icon:Vpe,text:"Not Linked"};case"error":return{color:"red",icon:tde,text:nee.value?.message||"Unknown error"};default:return{color:"gray",icon:Vpe,text:"Unknown"}}})),lee=kre("ready"),cee=kre(tee.value?"ready":"error"),pee=eee=>{cee.value=eee},dee=Sae((()=>{switch(cee.value){case"checking":return{color:"gamma",icon:xSe,text:"Checking..."};case"eligible":return{color:"green",icon:Mpe,text:"Eligible"};case"error":return{color:"red",icon:tde,text:nee.value?.message||"Unknown error"};case"ineligible":return{color:"red",icon:ade,text:"Ineligible for self-replacement"};default:return}})),uee=kre(sessionStorage.getItem(kSe)?JSON.parse(sessionStorage.getItem(kSe)):void 0),hee=async()=>{uee.value=void 0,await sessionStorage.removeItem(kSe)};return{keyLinkedStatus:aee,keyLinkedOutput:see,renewStatus:lee,replaceStatus:cee,replaceStatusOutput:dee,check:async(eee=!1)=>{tee.value||(pee("error"),nee.value={name:"Error",message:"Flash GUID required to check replacement status"}),ree.value||(pee("error"),nee.value={name:"Error",message:"Keyfile required to check replacement status"});try{let aee;eee?await hee():await(async()=>{if(!uee.value)return;const eee=(new Date).getTime()-uee.value.timestamp>6048e5,tee=!uee.value.key,ree=uee.value.key!==oee.value;(eee||tee||ree)&&await hee()})(),iee("checking"),pee("checking"),nee.value=null,aee=uee.value?uee.value:await(async eee=>await hSe.url("/validate/guid").formUrl(eee).post().json())({guid:tee.value,keyfile:ree.value}),pee(aee?.replaceable?"eligible":"ineligible"),iee(aee?.linked?"linked":"notLinked"),"eligible"!==cee.value&&"ineligible"!==cee.value||uee.value||sessionStorage.setItem(kSe,JSON.stringify({key:oee.value,timestamp:Date.now(),...aee}))}catch(aee){const eee=aee;pee("error"),nee.value=eee?.message?eee:{name:"Error",message:"Unknown error"},console.error("[ReplaceCheck.check]",eee)}},purgeValidationResponse:hee,setReplaceStatus:pee,setRenewStatus:eee=>{lee.value=eee}}}));var ESe={};const TSe=tpe(Ude),SSe=tpe(cue),ISe=tpe(rke),OSe=tpe(Eke),NSe=tpe(Fke),ASe=tpe(Uxe),RSe=tpe(Q_e),DSe=tpe(cke),CSe=tpe(Rme),LSe=tpe(jme),FSe=tpe(Gxe),zSe=tpe(Wde),MSe=tpe(hEe);function PSe(eee){return new Hxe((function(tee,ree){return new xxe((function(oee){var nee,aee,iee;try{nee=ree(tee).subscribe({next:function(nee){nee.errors&&(iee=eee({graphQLErrors:nee.errors,response:nee,operation:tee,forward:ree}))?aee=iee.subscribe({next:oee.next.bind(oee),error:oee.error.bind(oee),complete:oee.complete.bind(oee)}):oee.next(nee)},error:function(nee){(iee=eee({operation:tee,networkError:nee,graphQLErrors:nee&&nee.result&&nee.result.errors,forward:ree}))?aee=iee.subscribe({next:oee.next.bind(oee),error:oee.error.bind(oee),complete:oee.complete.bind(oee)}):oee.error(nee)},complete:function(){iee||oee.complete.bind(oee)()}})}catch(e){eee({networkError:e,operation:tee,forward:ree}),oee.error(e)}return function(){nee&&nee.unsubscribe(),aee&&nee.unsubscribe()}}))}))}!function(eee){Object.defineProperty(eee,"__esModule",{value:!0});var tee=TSe,ree=SSe,oee=ISe,nee=OSe,aee=NSe,iee=ASe,see=RSe,lee=DSe,cee=CSe,pee=LSe,dee=FSe,uee=zSe,hee=MSe;function gee(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var wee=gee(aee);function fee(eee){return null!==eee&&"object"==typeof eee}var bee,mee=Object.prototype.hasOwnProperty,vee=function(eee,tee,ree){return this.merge(eee[ree],tee[ree])},yee=function(){function eee(eee){void 0===eee&&(eee=vee),this.reconciler=eee,this.isObject=fee,this.pastCopies=new Set}return eee.prototype.merge=function(eee,ree){for(var oee=this,nee=[],_i=2;_i0}(tee.incremental)&&tee.incremental.forEach((function(_a){for(var eee=_a.data,tee=_a.path,i=tee.length-1;i>=0;--i){var nee=tee[i],aee=!isNaN(+nee)?[]:{};aee[nee]=eee,eee=aee}ree=oee.merge(ree,eee)})),ree}function kee(eee){return!!eee&&eee<7}function _ee(eee,_a,_b,ree){var oee=_a.data,nee=tee.__rest(_a,["data"]),aee=_b.data,see=tee.__rest(_b,["data"]);return wee(nee,see)&&Eee(iee.getMainDefinition(eee).selectionSet,oee,aee,{fragmentMap:iee.createFragmentMap(iee.getFragmentDefinitions(eee)),variables:ree})}function Eee(eee,tee,ree,oee){if(tee===ree)return!0;var nee=new Set;return eee.selections.every((function(eee){if(nee.has(eee))return!0;if(nee.add(eee),!iee.shouldInclude(eee,oee.variables))return!0;if(Tee(eee))return!0;if(iee.isField(eee)){var aee=iee.resultKeyNameFromField(eee),see=tee&&tee[aee],lee=ree&&ree[aee],cee=eee.selectionSet;if(!cee)return wee(see,lee);var pee=Array.isArray(see),dee=Array.isArray(lee);if(pee!==dee)return!1;if(pee&&dee){var uee=see.length;if(lee.length!==uee)return!1;for(var i=0;i0},nee.prototype.tearDownQuery=function(){this.isTornDown||(this.concast&&this.observer&&(this.concast.removeObserver(this.observer),delete this.concast,delete this.observer),this.stopPolling(),this.subscriptions.forEach((function(eee){return eee.unsubscribe()})),this.subscriptions.clear(),this.queryManager.stopQuery(this.queryId),this.observers.clear(),this.isTornDown=!0)},nee.prototype.transformDocument=function(eee){return this.queryManager.transform(eee)},nee}(iee.Observable);function Aee(eee){var _a=eee.options,tee=_a.fetchPolicy,ree=_a.nextFetchPolicy;return"cache-and-network"===tee||"network-only"===tee?eee.reobserve({fetchPolicy:"cache-first",nextFetchPolicy:function(eee,oee){return this.nextFetchPolicy=ree,"function"==typeof this.nextFetchPolicy?this.nextFetchPolicy(eee,oee):tee}}):eee.reobserve()}function Ree(eee){!1!==globalThis.__DEV__&&ree.invariant.error(23,eee.message,eee.stack)}function Dee(eee){!1!==globalThis.__DEV__&&eee&&!1!==globalThis.__DEV__&&ree.invariant.debug(24,eee)}function Cee(eee){return"network-only"===eee||"no-cache"===eee||"standby"===eee}iee.fixObservableSubclass(Nee);var Lee=function(){function eee(_a){var eee=_a.cache,tee=_a.client,ree=_a.resolvers,oee=_a.fragmentMatcher;this.selectionsToResolveCache=new WeakMap,this.cache=eee,tee&&(this.client=tee),ree&&this.addResolvers(ree),oee&&this.setFragmentMatcher(oee)}return eee.prototype.addResolvers=function(eee){var tee=this;this.resolvers=this.resolvers||{},Array.isArray(eee)?eee.forEach((function(eee){tee.resolvers=iee.mergeDeep(tee.resolvers,eee)})):this.resolvers=iee.mergeDeep(this.resolvers,eee)},eee.prototype.setResolvers=function(eee){this.resolvers={},this.addResolvers(eee)},eee.prototype.getResolvers=function(){return this.resolvers||{}},eee.prototype.runResolvers=function(_a){return tee.__awaiter(this,arguments,void 0,(function(_b){var eee=_b.document,ree=_b.remoteResult,oee=_b.context,nee=_b.variables,_c=_b.onlyRunForcedResolvers,aee=void 0!==_c&&_c;return tee.__generator(this,(function(_d){return eee?[2,this.resolveDocument(eee,ree.data,oee,nee,this.fragmentMatcher,aee).then((function(eee){return tee.__assign(tee.__assign({},ree),{data:eee.result})}))]:[2,ree]}))}))},eee.prototype.setFragmentMatcher=function(eee){this.fragmentMatcher=eee},eee.prototype.getFragmentMatcher=function(){return this.fragmentMatcher},eee.prototype.clientQuery=function(eee){return iee.hasDirectives(["client"],eee)&&this.resolvers?eee:null},eee.prototype.serverQuery=function(eee){return iee.removeClientSetsFromDocument(eee)},eee.prototype.prepareContext=function(eee){var ree=this.cache;return tee.__assign(tee.__assign({},eee),{cache:ree,getCacheKey:function(eee){return ree.identify(eee)}})},eee.prototype.addExportedVariables=function(eee){return tee.__awaiter(this,arguments,void 0,(function(eee,ree,oee){return void 0===ree&&(ree={}),void 0===oee&&(oee={}),tee.__generator(this,(function(_a){return eee?[2,this.resolveDocument(eee,this.buildRootValueFromCache(eee,ree)||{},this.prepareContext(oee),ree).then((function(eee){return tee.__assign(tee.__assign({},ree),eee.exportedVariables)}))]:[2,tee.__assign({},ree)]}))}))},eee.prototype.shouldForceResolvers=function(eee){var tee=!1;return cee.visit(eee,{Directive:{enter:function(eee){if("client"===eee.name.value&&eee.arguments&&(tee=eee.arguments.some((function(eee){return"always"===eee.name.value&&"BooleanValue"===eee.value.kind&&!0===eee.value.value}))))return cee.BREAK}}}),tee},eee.prototype.buildRootValueFromCache=function(eee,tee){return this.cache.diff({query:iee.buildQueryFromSelectionSet(eee),variables:tee,returnPartialData:!0,optimistic:!1}).result},eee.prototype.resolveDocument=function(eee,ree){return tee.__awaiter(this,arguments,void 0,(function(eee,ree,oee,nee,aee,see){var lee,cee,pee,dee,uee,hee,_a,gee,wee,fee;return void 0===oee&&(oee={}),void 0===nee&&(nee={}),void 0===aee&&(aee=function(){return!0}),void 0===see&&(see=!1),tee.__generator(this,(function(_b){return lee=iee.getMainDefinition(eee),cee=iee.getFragmentDefinitions(eee),pee=iee.createFragmentMap(cee),dee=this.collectSelectionsToResolve(lee,pee),uee=lee.operation,hee=uee?uee.charAt(0).toUpperCase()+uee.slice(1):"Query",gee=(_a=this).cache,wee=_a.client,fee={fragmentMap:pee,context:tee.__assign(tee.__assign({},oee),{cache:gee,client:wee}),variables:nee,fragmentMatcher:aee,defaultOperationType:hee,exportedVariables:{},selectionsToResolve:dee,onlyRunForcedResolvers:see},!1,[2,this.resolveSelectionSet(lee.selectionSet,false,ree,fee).then((function(eee){return{result:eee,exportedVariables:fee.exportedVariables}}))]}))}))},eee.prototype.resolveSelectionSet=function(eee,oee,nee,aee){return tee.__awaiter(this,void 0,void 0,(function(){var see,lee,cee,pee,dee,uee=this;return tee.__generator(this,(function(_a){return see=aee.fragmentMap,lee=aee.context,cee=aee.variables,pee=[nee],dee=function(eee){return tee.__awaiter(uee,void 0,void 0,(function(){var dee,uee;return tee.__generator(this,(function(_a){return(oee||aee.selectionsToResolve.has(eee))&&iee.shouldInclude(eee,cee)?iee.isField(eee)?[2,this.resolveField(eee,oee,nee,aee).then((function(tee){var _a;void 0!==tee&&pee.push(((_a={})[iee.resultKeyNameFromField(eee)]=tee,_a))}))]:(iee.isInlineFragment(eee)?dee=eee:(dee=see[eee.name.value],ree.invariant(dee,18,eee.name.value)),dee&&dee.typeCondition&&(uee=dee.typeCondition.name.value,aee.fragmentMatcher(nee,uee,lee))?[2,this.resolveSelectionSet(dee.selectionSet,oee,nee,aee).then((function(eee){pee.push(eee)}))]:[2]):[2]}))}))},[2,Promise.all(eee.selections.map(dee)).then((function(){return iee.mergeDeepArray(pee)}))]}))}))},eee.prototype.resolveField=function(eee,ree,oee,nee){return tee.__awaiter(this,void 0,void 0,(function(){var aee,lee,cee,pee,dee,uee,hee,gee,wee,fee=this;return tee.__generator(this,(function(_a){return oee?(aee=nee.variables,lee=eee.name.value,cee=iee.resultKeyNameFromField(eee),pee=lee!==cee,dee=oee[cee]||oee[lee],uee=Promise.resolve(dee),nee.onlyRunForcedResolvers&&!this.shouldForceResolvers(eee)||(hee=oee.__typename||nee.defaultOperationType,(gee=this.resolvers&&this.resolvers[hee])&&(wee=gee[pee?lee:cee])&&(uee=Promise.resolve(see.cacheSlot.withValue(this.cache,wee,[oee,iee.argumentsObjectFromField(eee,aee),nee.context,{field:eee,fragmentMap:nee.fragmentMap}])))),[2,uee.then((function(tee){var _a,_b;if(void 0===tee&&(tee=dee),eee.directives&&eee.directives.forEach((function(eee){"export"===eee.name.value&&eee.arguments&&eee.arguments.forEach((function(eee){"as"===eee.name.value&&"StringValue"===eee.value.kind&&(nee.exportedVariables[eee.value.value]=tee)}))})),!eee.selectionSet)return tee;if(null==tee)return tee;var oee=null!==(_b=null===(_a=eee.directives)||void 0===_a?void 0:_a.some((function(d){return"client"===d.name.value})))&&void 0!==_b&&_b;return Array.isArray(tee)?fee.resolveSubSelectedArray(eee,ree||oee,tee,nee):eee.selectionSet?fee.resolveSelectionSet(eee.selectionSet,ree||oee,tee,nee):void 0}))]):[2,null]}))}))},eee.prototype.resolveSubSelectedArray=function(eee,tee,ree,oee){var nee=this;return Promise.all(ree.map((function(ree){return null===ree?null:Array.isArray(ree)?nee.resolveSubSelectedArray(eee,tee,ree,oee):eee.selectionSet?nee.resolveSelectionSet(eee.selectionSet,tee,ree,oee):void 0})))},eee.prototype.collectSelectionsToResolve=function(eee,tee){var oee=function(eee){return!Array.isArray(eee)},nee=this.selectionsToResolveCache;return function eee(aee){if(!nee.has(aee)){var iee=new Set;nee.set(aee,iee),cee.visit(aee,{Directive:function(eee,_,__,tee,ree){"client"===eee.name.value&&ree.forEach((function(eee){oee(eee)&&cee.isSelectionNode(eee)&&iee.add(eee)}))},FragmentSpread:function(nee,_,__,aee,see){var lee=tee[nee.name.value];ree.invariant(lee,19,nee.name.value);var pee=eee(lee);pee.size>0&&(see.forEach((function(eee){oee(eee)&&cee.isSelectionNode(eee)&&iee.add(eee)})),iee.add(nee),pee.forEach((function(eee){iee.add(eee)})))}})}return nee.get(aee)}(eee)},eee}(),Fee=new(iee.canUseWeakMap?WeakMap:Map);function zee(eee,tee){var ree=eee[tee];"function"==typeof ree&&(eee[tee]=function(){return Fee.set(eee,(Fee.get(eee)+1)%1e15),ree.apply(this,arguments)})}function Mee(eee){eee.notifyTimeout&&(clearTimeout(eee.notifyTimeout),eee.notifyTimeout=void 0)}var Pee=function(){function ree(eee,tee){void 0===tee&&(tee=eee.generateQueryId()),this.queryId=tee,this.listeners=new Set,this.document=null,this.lastRequestId=1,this.stopped=!1,this.dirty=!1,this.observableQuery=null;var ree=this.cache=eee.cache;Fee.has(ree)||(Fee.set(ree,0),zee(ree,"evict"),zee(ree,"modify"),zee(ree,"reset"))}return ree.prototype.init=function(tee){var ree=tee.networkStatus||eee.NetworkStatus.loading;return this.variables&&this.networkStatus!==eee.NetworkStatus.loading&&!aee.equal(this.variables,tee.variables)&&(ree=eee.NetworkStatus.setVariables),aee.equal(tee.variables,this.variables)||(this.lastDiff=void 0),Object.assign(this,{document:tee.document,variables:tee.variables,networkError:null,graphQLErrors:this.graphQLErrors||[],networkStatus:ree}),tee.observableQuery&&this.setObservableQuery(tee.observableQuery),tee.lastRequestId&&(this.lastRequestId=tee.lastRequestId),this},ree.prototype.reset=function(){Mee(this),this.dirty=!1},ree.prototype.resetDiff=function(){this.lastDiff=void 0},ree.prototype.getDiff=function(){var eee=this.getDiffOptions();if(this.lastDiff&&aee.equal(eee,this.lastDiff.options))return this.lastDiff.diff;this.updateWatch(this.variables);var oq=this.observableQuery;if(oq&&"no-cache"===oq.options.fetchPolicy)return{complete:!1};var tee=this.cache.diff(eee);return this.updateLastDiff(tee,eee),tee},ree.prototype.updateLastDiff=function(eee,tee){this.lastDiff=eee?{diff:eee,options:tee||this.getDiffOptions()}:void 0},ree.prototype.getDiffOptions=function(eee){var _a;return void 0===eee&&(eee=this.variables),{query:this.document,variables:eee,returnPartialData:!0,optimistic:!0,canonizeResults:null===(_a=this.observableQuery)||void 0===_a?void 0:_a.options.canonizeResults}},ree.prototype.setDiff=function(eee){var _a,tee=this,ree=this.lastDiff&&this.lastDiff.diff;eee&&!eee.complete&&(null===(_a=this.observableQuery)||void 0===_a?void 0:_a.getLastError())||(this.updateLastDiff(eee),this.dirty||aee.equal(ree&&ree.result,eee&&eee.result)||(this.dirty=!0,this.notifyTimeout||(this.notifyTimeout=setTimeout((function(){return tee.notify()}),0))))},ree.prototype.setObservableQuery=function(oq){var eee=this;oq!==this.observableQuery&&(this.oqListener&&this.listeners.delete(this.oqListener),this.observableQuery=oq,oq?(oq.queryInfo=this,this.listeners.add(this.oqListener=function(){eee.getDiff().fromOptimisticTransaction?oq.observe():Aee(oq)})):delete this.oqListener)},ree.prototype.notify=function(){var eee=this;Mee(this),this.shouldNotify()&&this.listeners.forEach((function(tee){return tee(eee)})),this.dirty=!1},ree.prototype.shouldNotify=function(){if(!this.dirty||!this.listeners.size)return!1;if(kee(this.networkStatus)&&this.observableQuery){var eee=this.observableQuery.options.fetchPolicy;if("cache-only"!==eee&&"cache-and-network"!==eee)return!1}return!0},ree.prototype.stop=function(){if(!this.stopped){this.stopped=!0,this.reset(),this.cancel(),this.cancel=ree.prototype.cancel;var oq=this.observableQuery;oq&&oq.stopPolling()}},ree.prototype.cancel=function(){},ree.prototype.updateWatch=function(eee){var ree=this;void 0===eee&&(eee=this.variables);var oq=this.observableQuery;if(!oq||"no-cache"!==oq.options.fetchPolicy){var oee=tee.__assign(tee.__assign({},this.getDiffOptions(eee)),{watcher:this,callback:function(eee){return ree.setDiff(eee)}});this.lastWatch&&aee.equal(oee,this.lastWatch)||(this.cancel(),this.cancel=this.cache.watch(this.lastWatch=oee))}},ree.prototype.resetLastWrite=function(){this.lastWrite=void 0},ree.prototype.shouldWrite=function(eee,tee){var ree=this.lastWrite;return!(ree&&ree.dmCount===Fee.get(this.cache)&&aee.equal(tee,ree.variables)&&aee.equal(eee.data,ree.result.data))},ree.prototype.markResult=function(eee,tee,ree,oee){var nee=this,see=new iee.DeepMerger,lee=iee.isNonEmptyArray(eee.errors)?eee.errors.slice(0):[];if(this.reset(),"incremental"in eee&&iee.isNonEmptyArray(eee.incremental)){var cee=iee.mergeIncrementalData(this.getDiff().result,eee);eee.data=cee}else if("hasNext"in eee&&eee.hasNext){var pee=this.getDiff();eee.data=see.merge(pee.result,eee.data)}this.graphQLErrors=lee,"no-cache"===ree.fetchPolicy?this.updateLastDiff({result:eee.data,complete:!0},this.getDiffOptions(ree.variables)):0!==oee&&(Uee(eee,ree.errorPolicy)?this.cache.performTransaction((function(iee){if(nee.shouldWrite(eee,ree.variables))iee.writeQuery({query:tee,data:eee.data,variables:ree.variables,overwrite:1===oee}),nee.lastWrite={result:eee,variables:ree.variables,dmCount:Fee.get(nee.cache)};else if(nee.lastDiff&&nee.lastDiff.diff.complete)return void(eee.data=nee.lastDiff.diff.result);var see=nee.getDiffOptions(ree.variables),lee=iee.diff(see);!nee.stopped&&aee.equal(nee.variables,ree.variables)&&nee.updateWatch(ree.variables),nee.updateLastDiff(lee,see),lee.complete&&(eee.data=lee.result)})):this.lastWrite=void 0)},ree.prototype.markReady=function(){return this.networkError=null,this.networkStatus=eee.NetworkStatus.ready},ree.prototype.markError=function(tee){return this.networkStatus=eee.NetworkStatus.error,this.lastWrite=void 0,this.reset(),tee.graphQLErrors&&(this.graphQLErrors=tee.graphQLErrors),tee.networkError&&(this.networkError=tee.networkError),tee},ree}();function Uee(eee,tee){void 0===tee&&(tee="none");var ree="ignore"===tee||"all"===tee,oee=!iee.graphQLResultHasError(eee);return!oee&&ree&&eee.data&&(oee=!0),oee}var jee=Object.prototype.hasOwnProperty,$ee=Object.create(null),Vee=function(){function nee(_a){var eee=_a.cache,tee=_a.link,ree=_a.defaultOptions,oee=_a.documentTransform,_b=_a.queryDeduplication,nee=void 0!==_b&&_b,aee=_a.onBroadcast,_c=_a.ssrMode,see=void 0!==_c&&_c,_d=_a.clientAwareness,lee=void 0===_d?{}:_d,cee=_a.localState,_e=_a.assumeImmutableResults,dee=void 0===_e?!!eee.assumeImmutableResults:_e,uee=_a.defaultContext,hee=this;this.clientAwareness={},this.queries=new Map,this.fetchCancelFns=new Map,this.transformCache=new iee.AutoCleanedWeakCache(iee.cacheSizes["queryManager.getDocumentInfo"]||2e3),this.queryIdCounter=1,this.requestIdCounter=1,this.mutationIdCounter=1,this.inFlightLinkObservables=new pee.Trie(!1);var gee=new iee.DocumentTransform((function(eee){return hee.cache.transformDocument(eee)}),{cache:!1});this.cache=eee,this.link=tee,this.defaultOptions=ree||Object.create(null),this.queryDeduplication=nee,this.clientAwareness=lee,this.localState=cee||new Lee({cache:eee}),this.ssrMode=see,this.assumeImmutableResults=dee,this.documentTransform=oee?gee.concat(oee).concat(gee):gee,this.defaultContext=uee||Object.create(null),(this.onBroadcast=aee)&&(this.mutationStore=Object.create(null))}return nee.prototype.stop=function(){var eee=this;this.queries.forEach((function(tee,ree){eee.stopQueryNoBroadcast(ree)})),this.cancelPendingFetches(ree.newInvariantError(25))},nee.prototype.cancelPendingFetches=function(eee){this.fetchCancelFns.forEach((function(tee){return tee(eee)})),this.fetchCancelFns.clear()},nee.prototype.mutate=function(_a){return tee.__awaiter(this,arguments,void 0,(function(_b){var eee,oee,nee,aee,see,_c,_d,cee=_b.mutation,pee=_b.variables,dee=_b.optimisticResponse,uee=_b.updateQueries,_e=_b.refetchQueries,hee=void 0===_e?[]:_e,_f=_b.awaitRefetchQueries,gee=void 0!==_f&&_f,wee=_b.update,fee=_b.onQueryUpdated,_g=_b.fetchPolicy,bee=void 0===_g?(null===(_c=this.defaultOptions.mutate)||void 0===_c?void 0:_c.fetchPolicy)||"network-only":_g,_h=_b.errorPolicy,mee=void 0===_h?(null===(_d=this.defaultOptions.mutate)||void 0===_d?void 0:_d.errorPolicy)||"none":_h,vee=_b.keepRootFields,yee=_b.context;return tee.__generator(this,(function(_j){switch(_j.label){case 0:return ree.invariant(cee,26),ree.invariant("network-only"===bee||"no-cache"===bee,27),eee=this.generateMutationId(),cee=this.cache.transformForLink(this.transform(cee)),oee=this.getDocumentInfo(cee).hasClientExports,pee=this.getVariables(cee,pee),oee?[4,this.localState.addExportedVariables(cee,pee,yee)]:[3,2];case 1:pee=_j.sent(),_j.label=2;case 2:return nee=this.mutationStore&&(this.mutationStore[eee]={mutation:cee,variables:pee,loading:!0,error:null}),aee=dee&&this.markMutationOptimistic(dee,{mutationId:eee,document:cee,variables:pee,fetchPolicy:bee,errorPolicy:mee,context:yee,updateQueries:uee,update:wee,keepRootFields:vee}),this.broadcastQueries(),see=this,[2,new Promise((function(ree,oee){return iee.asyncMap(see.getObservableFromLink(cee,tee.__assign(tee.__assign({},yee),{optimisticResponse:aee?dee:void 0}),pee,!1),(function(ree){if(iee.graphQLResultHasError(ree)&&"none"===mee)throw new lee.ApolloError({graphQLErrors:iee.getGraphQLErrorsFromResult(ree)});nee&&(nee.loading=!1,nee.error=null);var oee=tee.__assign({},ree);return"function"==typeof hee&&(hee=hee(oee)),"ignore"===mee&&iee.graphQLResultHasError(oee)&&delete oee.errors,see.markMutationResult({mutationId:eee,result:oee,document:cee,variables:pee,fetchPolicy:bee,errorPolicy:mee,context:yee,update:wee,updateQueries:uee,awaitRefetchQueries:gee,refetchQueries:hee,removeOptimistic:aee?eee:void 0,onQueryUpdated:fee,keepRootFields:vee})})).subscribe({next:function(eee){see.broadcastQueries(),"hasNext"in eee&&!1!==eee.hasNext||ree(eee)},error:function(tee){nee&&(nee.loading=!1,nee.error=tee),aee&&see.cache.removeOptimistic(eee),see.broadcastQueries(),oee(tee instanceof lee.ApolloError?tee:new lee.ApolloError({networkError:tee}))}})}))]}}))}))},nee.prototype.markMutationResult=function(eee,ree){var oee=this;void 0===ree&&(ree=this.cache);var nee=eee.result,aee=[],see="no-cache"===eee.fetchPolicy;if(!see&&Uee(nee,eee.errorPolicy)){if(iee.isExecutionPatchIncrementalResult(nee)||aee.push({result:nee.data,dataId:"ROOT_MUTATION",query:eee.document,variables:eee.variables}),iee.isExecutionPatchIncrementalResult(nee)&&iee.isNonEmptyArray(nee.incremental)){var lee=ree.diff({id:"ROOT_MUTATION",query:this.getDocumentInfo(eee.document).asQuery,variables:eee.variables,optimistic:!1,returnPartialData:!0}),cee=void 0;lee.result&&(cee=xee(lee.result,nee)),void 0!==cee&&(nee.data=cee,aee.push({result:cee,dataId:"ROOT_MUTATION",query:eee.document,variables:eee.variables}))}var pee=eee.updateQueries;pee&&this.queries.forEach((function(_a,eee){var tee=_a.observableQuery,see=tee&&tee.queryName;if(see&&jee.call(pee,see)){var lee=pee[see],_b=oee.queries.get(eee),cee=_b.document,dee=_b.variables,_c=ree.diff({query:cee,variables:dee,returnPartialData:!0,optimistic:!1}),uee=_c.result;if(_c.complete&&uee){var hee=lee(uee,{mutationResult:nee,queryName:cee&&iee.getOperationName(cee)||void 0,queryVariables:dee});hee&&aee.push({result:hee,dataId:"ROOT_QUERY",query:cee,variables:dee})}}}))}if(aee.length>0||(eee.refetchQueries||"").length>0||eee.update||eee.onQueryUpdated||eee.removeOptimistic){var dee=[];if(this.refetchQueries({updateCache:function(ree){see||aee.forEach((function(eee){return ree.write(eee)}));var lee=eee.update,cee=!iee.isExecutionPatchResult(nee)||iee.isExecutionPatchIncrementalResult(nee)&&!nee.hasNext;if(lee){if(!see){var pee=ree.diff({id:"ROOT_MUTATION",query:oee.getDocumentInfo(eee.document).asQuery,variables:eee.variables,optimistic:!1,returnPartialData:!0});pee.complete&&("incremental"in(nee=tee.__assign(tee.__assign({},nee),{data:pee.result}))&&delete nee.incremental,"hasNext"in nee&&delete nee.hasNext)}cee&&lee(ree,nee,{context:eee.context,variables:eee.variables})}see||eee.keepRootFields||!cee||ree.modify({id:"ROOT_MUTATION",fields:function(eee,_a){var tee=_a.fieldName,ree=_a.DELETE;return"__typename"===tee?eee:ree}})},include:eee.refetchQueries,optimistic:!1,removeOptimistic:eee.removeOptimistic,onQueryUpdated:eee.onQueryUpdated||null}).forEach((function(eee){return dee.push(eee)})),eee.awaitRefetchQueries||eee.onQueryUpdated)return Promise.all(dee).then((function(){return nee}))}return Promise.resolve(nee)},nee.prototype.markMutationOptimistic=function(eee,oee){var nee=this,aee="function"==typeof eee?eee(oee.variables,{IGNORE:$ee}):eee;return aee!==$ee&&(this.cache.recordOptimisticTransaction((function(eee){try{nee.markMutationResult(tee.__assign(tee.__assign({},oee),{result:{data:aee}}),eee)}catch(iee){!1!==globalThis.__DEV__&&ree.invariant.error(iee)}}),oee.mutationId),!0)},nee.prototype.fetchQuery=function(eee,tee,ree){return this.fetchConcastWithInfo(eee,tee,ree).concast.promise},nee.prototype.getQueryStore=function(){var eee=Object.create(null);return this.queries.forEach((function(tee,ree){eee[ree]={variables:tee.variables,networkStatus:tee.networkStatus,networkError:tee.networkError,graphQLErrors:tee.graphQLErrors}})),eee},nee.prototype.resetErrors=function(eee){var tee=this.queries.get(eee);tee&&(tee.networkError=void 0,tee.graphQLErrors=[])},nee.prototype.transform=function(eee){return this.documentTransform.transformDocument(eee)},nee.prototype.getDocumentInfo=function(eee){var ree=this.transformCache;if(!ree.has(eee)){var oee={hasClientExports:iee.hasClientExports(eee),hasForcedResolvers:this.localState.shouldForceResolvers(eee),hasNonreactiveDirective:iee.hasDirectives(["nonreactive"],eee),clientQuery:this.localState.clientQuery(eee),serverQuery:iee.removeDirectivesFromDocument([{name:"client",remove:!0},{name:"connection"},{name:"nonreactive"}],eee),defaultVars:iee.getDefaultValues(iee.getOperationDefinition(eee)),asQuery:tee.__assign(tee.__assign({},eee),{definitions:eee.definitions.map((function(eee){return"OperationDefinition"===eee.kind&&"query"!==eee.operation?tee.__assign(tee.__assign({},eee),{operation:"query"}):eee}))})};ree.set(eee,oee)}return ree.get(eee)},nee.prototype.getVariables=function(eee,ree){return tee.__assign(tee.__assign({},this.getDocumentInfo(eee).defaultVars),ree)},nee.prototype.watchQuery=function(eee){var ree=this.transform(eee.query);void 0===(eee=tee.__assign(tee.__assign({},eee),{variables:this.getVariables(ree,eee.variables)})).notifyOnNetworkStatusChange&&(eee.notifyOnNetworkStatusChange=!1);var oee=new Pee(this),nee=new Nee({queryManager:this,queryInfo:oee,options:eee});return nee.lastQuery=ree,this.queries.set(nee.queryId,oee),oee.init({document:ree,observableQuery:nee,variables:nee.variables}),nee},nee.prototype.query=function(eee,oee){var nee=this;return void 0===oee&&(oee=this.generateQueryId()),ree.invariant(eee.query,28),ree.invariant("Document"===eee.query.kind,29),ree.invariant(!eee.returnPartialData,30),ree.invariant(!eee.pollInterval,31),this.fetchQuery(oee,tee.__assign(tee.__assign({},eee),{query:this.transform(eee.query)})).finally((function(){return nee.stopQuery(oee)}))},nee.prototype.generateQueryId=function(){return String(this.queryIdCounter++)},nee.prototype.generateRequestId=function(){return this.requestIdCounter++},nee.prototype.generateMutationId=function(){return String(this.mutationIdCounter++)},nee.prototype.stopQueryInStore=function(eee){this.stopQueryInStoreNoBroadcast(eee),this.broadcastQueries()},nee.prototype.stopQueryInStoreNoBroadcast=function(eee){var tee=this.queries.get(eee);tee&&tee.stop()},nee.prototype.clearStore=function(tee){return void 0===tee&&(tee={discardWatches:!0}),this.cancelPendingFetches(ree.newInvariantError(32)),this.queries.forEach((function(tee){tee.observableQuery?tee.networkStatus=eee.NetworkStatus.loading:tee.stop()})),this.mutationStore&&(this.mutationStore=Object.create(null)),this.cache.reset(tee)},nee.prototype.getObservableQueries=function(eee){var oee=this;void 0===eee&&(eee="active");var nee=new Map,aee=new Map,see=new Set;return Array.isArray(eee)&&eee.forEach((function(eee){"string"==typeof eee?aee.set(eee,!1):iee.isDocumentNode(eee)?aee.set(oee.transform(eee),!1):iee.isNonNullObject(eee)&&eee.query&&see.add(eee)})),this.queries.forEach((function(_a,tee){var oq=_a.observableQuery,ree=_a.document;if(oq){if("all"===eee)return void nee.set(tee,oq);var oee=oq.queryName;if("standby"===oq.options.fetchPolicy||"active"===eee&&!oq.hasObservers())return;("active"===eee||oee&&aee.has(oee)||ree&&aee.has(ree))&&(nee.set(tee,oq),oee&&aee.set(oee,!0),ree&&aee.set(ree,!0))}})),see.size&&see.forEach((function(eee){var aee=iee.makeUniqueId("legacyOneTimeQuery"),see=oee.getQuery(aee).init({document:eee.query,variables:eee.variables}),oq=new Nee({queryManager:oee,queryInfo:see,options:tee.__assign(tee.__assign({},eee),{fetchPolicy:"network-only"})});ree.invariant(oq.queryId===aee),see.setObservableQuery(oq),nee.set(aee,oq)})),!1!==globalThis.__DEV__&&aee.size&&aee.forEach((function(eee,tee){eee||!1!==globalThis.__DEV__&&ree.invariant.warn("string"==typeof tee?33:34,tee)})),nee},nee.prototype.reFetchObservableQueries=function(eee){var tee=this;void 0===eee&&(eee=!1);var ree=[];return this.getObservableQueries(eee?"all":"active").forEach((function(oee,nee){var aee=oee.options.fetchPolicy;oee.resetLastResults(),(eee||"standby"!==aee&&"cache-only"!==aee)&&ree.push(oee.refetch()),tee.getQuery(nee).setDiff(null)})),this.broadcastQueries(),Promise.all(ree)},nee.prototype.setObservableQuery=function(eee){this.getQuery(eee.queryId).setObservableQuery(eee)},nee.prototype.startGraphQLSubscription=function(_a){var eee=this,tee=_a.query,ree=_a.fetchPolicy,_b=_a.errorPolicy,oee=void 0===_b?"none":_b,nee=_a.variables,_c=_a.context,aee=void 0===_c?{}:_c;tee=this.transform(tee),nee=this.getVariables(tee,nee);var see=function(nee){return eee.getObservableFromLink(tee,aee,nee).map((function(aee){"no-cache"!==ree&&(Uee(aee,oee)&&eee.cache.write({query:tee,result:aee.data,dataId:"ROOT_SUBSCRIPTION",variables:nee}),eee.broadcastQueries());var see=iee.graphQLResultHasError(aee),cee=lee.graphQLResultHasProtocolErrors(aee);if(see||cee){var pee={};if(see&&(pee.graphQLErrors=aee.errors),cee&&(pee.protocolErrors=aee.extensions[lee.PROTOCOL_ERRORS_SYMBOL]),"none"===oee||cee)throw new lee.ApolloError(pee)}return"ignore"===oee&&delete aee.errors,aee}))};if(this.getDocumentInfo(tee).hasClientExports){var cee=this.localState.addExportedVariables(tee,nee,aee).then(see);return new iee.Observable((function(eee){var tee=null;return cee.then((function(ree){return tee=ree.subscribe(eee)}),eee.error),function(){return tee&&tee.unsubscribe()}}))}return see(nee)},nee.prototype.stopQuery=function(eee){this.stopQueryNoBroadcast(eee),this.broadcastQueries()},nee.prototype.stopQueryNoBroadcast=function(eee){this.stopQueryInStoreNoBroadcast(eee),this.removeQuery(eee)},nee.prototype.removeQuery=function(eee){this.fetchCancelFns.delete(eee),this.queries.has(eee)&&(this.getQuery(eee).stop(),this.queries.delete(eee))},nee.prototype.broadcastQueries=function(){this.onBroadcast&&this.onBroadcast(),this.queries.forEach((function(eee){return eee.notify()}))},nee.prototype.getLocalState=function(){return this.localState},nee.prototype.getObservableFromLink=function(eee,ree,nee,aee){var _a,lee,cee=this;void 0===aee&&(aee=null!==(_a=null==ree?void 0:ree.queryDeduplication)&&void 0!==_a?_a:this.queryDeduplication);var _b=this.getDocumentInfo(eee),pee=_b.serverQuery,dee=_b.clientQuery;if(pee){var uee=this.inFlightLinkObservables,hee=this.link,gee={query:pee,variables:nee,operationName:iee.getOperationName(pee)||void 0,context:this.prepareContext(tee.__assign(tee.__assign({},ree),{forceFetch:!aee}))};if(ree=gee.context,aee){var wee=iee.print(pee),fee=see.canonicalStringify(nee),bee=uee.lookup(wee,fee);if(!(lee=bee.observable)){var mee=new iee.Concast([oee.execute(hee,gee)]);lee=bee.observable=mee,mee.beforeNext((function(){uee.remove(wee,fee)}))}}else lee=new iee.Concast([oee.execute(hee,gee)])}else lee=new iee.Concast([iee.Observable.of({data:{}})]),ree=this.prepareContext(ree);return dee&&(lee=iee.asyncMap(lee,(function(eee){return cee.localState.runResolvers({document:dee,remoteResult:eee,context:ree,variables:nee})}))),lee},nee.prototype.getResultsFromLink=function(tee,ree,oee){var nee=tee.lastRequestId=this.generateRequestId(),aee=this.cache.transformForLink(oee.query);return iee.asyncMap(this.getObservableFromLink(aee,oee.context,oee.variables),(function(see){var cee=iee.getGraphQLErrorsFromResult(see),pee=cee.length>0;if(nee>=tee.lastRequestId){if(pee&&"none"===oee.errorPolicy)throw tee.markError(new lee.ApolloError({graphQLErrors:cee}));tee.markResult(see,aee,oee,ree),tee.markReady()}var dee={data:see.data,loading:!1,networkStatus:eee.NetworkStatus.ready};return pee&&"ignore"!==oee.errorPolicy&&(dee.errors=cee,dee.networkStatus=eee.NetworkStatus.error),dee}),(function(eee){var ree=lee.isApolloError(eee)?eee:new lee.ApolloError({networkError:eee});throw nee>=tee.lastRequestId&&tee.markError(ree),ree}))},nee.prototype.fetchConcastWithInfo=function(tee,ree,oee,nee){var aee=this;void 0===oee&&(oee=eee.NetworkStatus.loading),void 0===nee&&(nee=ree.query);var see,lee,cee=this.getVariables(nee,ree.variables),pee=this.getQuery(tee),dee=this.defaultOptions.watchQuery,_a=ree.fetchPolicy,uee=void 0===_a?dee&&dee.fetchPolicy||"cache-first":_a,_b=ree.errorPolicy,hee=void 0===_b?dee&&dee.errorPolicy||"none":_b,_c=ree.returnPartialData,gee=void 0!==_c&&_c,_d=ree.notifyOnNetworkStatusChange,wee=void 0!==_d&&_d,_e=ree.context,fee=void 0===_e?{}:_e,bee=Object.assign({},ree,{query:nee,variables:cee,fetchPolicy:uee,errorPolicy:hee,returnPartialData:gee,notifyOnNetworkStatusChange:wee,context:fee}),mee=function(eee){bee.variables=eee;var tee=aee.fetchQueryByPolicy(pee,bee,oee);return"standby"!==bee.fetchPolicy&&tee.sources.length>0&&pee.observableQuery&&pee.observableQuery.applyNextFetchPolicy("after-fetch",ree),tee},vee=function(){return aee.fetchCancelFns.delete(tee)};if(this.fetchCancelFns.set(tee,(function(eee){vee(),setTimeout((function(){return see.cancel(eee)}))})),this.getDocumentInfo(bee.query).hasClientExports)see=new iee.Concast(this.localState.addExportedVariables(bee.query,bee.variables,bee.context).then(mee).then((function(eee){return eee.sources}))),lee=!0;else{var yee=mee(bee.variables);lee=yee.fromLink,see=new iee.Concast(yee.sources)}return see.promise.then(vee,vee),{concast:see,fromLink:lee}},nee.prototype.refetchQueries=function(_a){var eee=this,tee=_a.updateCache,ree=_a.include,_b=_a.optimistic,oee=void 0!==_b&&_b,_c=_a.removeOptimistic,nee=void 0===_c?oee?iee.makeUniqueId("refetchQueries"):void 0:_c,aee=_a.onQueryUpdated,see=new Map;ree&&this.getObservableQueries(ree).forEach((function(oq,tee){see.set(tee,{oq:oq,lastDiff:eee.getQuery(tee).getDiff()})}));var lee=new Map;return tee&&this.cache.batch({update:tee,optimistic:oee&&nee||!1,removeOptimistic:nee,onWatchUpdated:function(eee,tee,ree){var oq=eee.watcher instanceof Pee&&eee.watcher.observableQuery;if(oq){if(aee){see.delete(oq.queryId);var oee=aee(oq,tee,ree);return!0===oee&&(oee=oq.refetch()),!1!==oee&&lee.set(oq,oee),oee}null!==aee&&see.set(oq.queryId,{oq:oq,lastDiff:ree,diff:tee})}}}),see.size&&see.forEach((function(_a,tee){var ree,oq=_a.oq,oee=_a.lastDiff,nee=_a.diff;if(aee){if(!nee){var iee=oq.queryInfo;iee.reset(),nee=iee.getDiff()}ree=aee(oq,nee,oee)}aee&&!0!==ree||(ree=oq.refetch()),!1!==ree&&lee.set(oq,ree),tee.indexOf("legacyOneTimeQuery")>=0&&eee.stopQueryNoBroadcast(tee)})),nee&&this.cache.removeOptimistic(nee),lee},nee.prototype.fetchQueryByPolicy=function(ree,_a,oee){var nee=this,see=_a.query,lee=_a.variables,cee=_a.fetchPolicy,pee=_a.refetchWritePolicy,dee=_a.errorPolicy,uee=_a.returnPartialData,hee=_a.context,gee=_a.notifyOnNetworkStatusChange,wee=ree.networkStatus;ree.init({document:see,variables:lee,networkStatus:oee});var fee=function(){return ree.getDiff()},bee=function(oee,cee){void 0===cee&&(cee=ree.networkStatus||eee.NetworkStatus.loading);var pee=oee.result;!1===globalThis.__DEV__||uee||aee.equal(pee,{})||Dee(oee.missing);var gee=function(eee){return iee.Observable.of(tee.__assign({data:eee,loading:kee(cee),networkStatus:cee},oee.complete?null:{partial:!0}))};return pee&&nee.getDocumentInfo(see).hasForcedResolvers?nee.localState.runResolvers({document:see,remoteResult:{data:pee},context:hee,variables:lee,onlyRunForcedResolvers:!0}).then((function(eee){return gee(eee.data||void 0)})):"none"===dee&&cee===eee.NetworkStatus.refetch&&Array.isArray(oee.missing)?gee(void 0):gee(pee)},mee="no-cache"===cee?0:oee===eee.NetworkStatus.refetch&&"merge"!==pee?1:2,vee=function(){return nee.getResultsFromLink(ree,mee,{query:see,variables:lee,context:hee,fetchPolicy:cee,errorPolicy:dee})},yee=gee&&"number"==typeof wee&&wee!==oee&&kee(oee);switch(cee){default:case"cache-first":return(xee=fee()).complete?{fromLink:!1,sources:[bee(xee,ree.markReady())]}:uee||yee?{fromLink:!0,sources:[bee(xee),vee()]}:{fromLink:!0,sources:[vee()]};case"cache-and-network":var xee;return(xee=fee()).complete||uee||yee?{fromLink:!0,sources:[bee(xee),vee()]}:{fromLink:!0,sources:[vee()]};case"cache-only":return{fromLink:!1,sources:[bee(fee(),ree.markReady())]};case"network-only":return yee?{fromLink:!0,sources:[bee(fee()),vee()]}:{fromLink:!0,sources:[vee()]};case"no-cache":return yee?{fromLink:!0,sources:[bee(ree.getDiff()),vee()]}:{fromLink:!0,sources:[vee()]};case"standby":return{fromLink:!1,sources:[]}}},nee.prototype.getQuery=function(eee){return eee&&!this.queries.has(eee)&&this.queries.set(eee,new Pee(this,eee)),this.queries.get(eee)},nee.prototype.prepareContext=function(eee){void 0===eee&&(eee={});var ree=this.localState.prepareContext(eee);return tee.__assign(tee.__assign(tee.__assign({},this.defaultContext),ree),{clientAwareness:this.clientAwareness})},nee}(),qee=Symbol.for("apollo.cacheSize"),Bee=tee.__assign({},ree.global[qee]),Yee={},Gee=!1!==globalThis.__DEV__?function(){var _a,_b,_c,_d,_e;if(!1===globalThis.__DEV__)throw new Error("only supported in development mode");return{limits:({parser:1e3,canonicalStringify:1e3,print:2e3,"documentTransform.cache":2e3,"queryManager.getDocumentInfo":2e3,"PersistedQueryLink.persistedQueryHashes":2e3,"fragmentRegistry.transform":2e3,"fragmentRegistry.lookup":1e3,"fragmentRegistry.findFragmentSpreads":4e3,"cache.fragmentQueryDocuments":1e3,"removeTypenameFromVariables.getVariableDefinitions":2e3,"inMemoryCache.maybeBroadcastWatch":5e3,"inMemoryCache.executeSelectionSet":5e4,"inMemoryCache.executeSubSelectedArray":1e4},Object.fromEntries(Object.entries({parser:1e3,canonicalStringify:1e3,print:2e3,"documentTransform.cache":2e3,"queryManager.getDocumentInfo":2e3,"PersistedQueryLink.persistedQueryHashes":2e3,"fragmentRegistry.transform":2e3,"fragmentRegistry.lookup":1e3,"fragmentRegistry.findFragmentSpreads":4e3,"cache.fragmentQueryDocuments":1e3,"removeTypenameFromVariables.getVariableDefinitions":2e3,"inMemoryCache.maybeBroadcastWatch":5e3,"inMemoryCache.executeSelectionSet":5e4,"inMemoryCache.executeSubSelectedArray":1e4}).map((function(_a){var k=_a[0],v=_a[1];return[k,Bee[k]||v]})))),sizes:tee.__assign({print:null===(_a=Yee.print)||void 0===_a?void 0:_a.call(Yee),parser:null===(_b=Yee.parser)||void 0===_b?void 0:_b.call(Yee),canonicalStringify:null===(_c=Yee.canonicalStringify)||void 0===_c?void 0:_c.call(Yee),links:Xee(this.link),queryManager:{getDocumentInfo:this.queryManager.transformCache.size,documentTransforms:Kee(this.queryManager.documentTransform)}},null===(_e=(_d=this.cache).getMemoryInternals)||void 0===_e?void 0:_e.call(_d))}}:void 0;function Qee(f){return function(f){return!!f&&"dirtyKey"in f}(f)?f.size:void 0}function Wee(eee){return null!=eee}function Kee(eee){return Hee(eee).map((function(eee){return{cache:eee}}))}function Hee(eee){return eee?tee.__spreadArray(tee.__spreadArray([Qee(null==eee?void 0:eee.performWork)],Hee(null==eee?void 0:eee.left),!0),Hee(null==eee?void 0:eee.right),!0).filter(Wee):[]}function Xee(eee){var _a;return eee?tee.__spreadArray(tee.__spreadArray([null===(_a=null==eee?void 0:eee.getMemoryInternals)||void 0===_a?void 0:_a.call(eee)],Xee(null==eee?void 0:eee.left),!0),Xee(null==eee?void 0:eee.right),!0).filter(Wee):[]}var Zee=!1,Jee=function(){function eee(eee){var tee=this;if(this.resetStoreCallbacks=[],this.clearStoreCallbacks=[],!eee.cache)throw ree.newInvariantError(15);var aee=eee.uri,iee=eee.credentials,see=eee.headers,lee=eee.cache,cee=eee.documentTransform,_a=eee.ssrMode,pee=void 0!==_a&&_a,_b=eee.ssrForceFetchDelay,dee=void 0===_b?0:_b,_c=eee.connectToDevTools,uee=void 0===_c?"object"==typeof window&&!window.__APOLLO_CLIENT__&&!1!==globalThis.__DEV__:_c,_d=eee.queryDeduplication,hee=void 0===_d||_d,gee=eee.defaultOptions,wee=eee.defaultContext,_e=eee.assumeImmutableResults,fee=void 0===_e?lee.assumeImmutableResults:_e,bee=eee.resolvers,mee=eee.typeDefs,vee=eee.fragmentMatcher,yee=eee.name,xee=eee.version,kee=eee.link;kee||(kee=aee?new nee.HttpLink({uri:aee,credentials:iee,headers:see}):oee.ApolloLink.empty()),this.link=kee,this.cache=lee,this.disableNetworkFetches=pee||dee>0,this.queryDeduplication=hee,this.defaultOptions=gee||Object.create(null),this.typeDefs=mee,dee&&setTimeout((function(){return tee.disableNetworkFetches=!1}),dee),this.watchQuery=this.watchQuery.bind(this),this.query=this.query.bind(this),this.mutate=this.mutate.bind(this),this.watchFragment=this.watchFragment.bind(this),this.resetStore=this.resetStore.bind(this),this.reFetchObservableQueries=this.reFetchObservableQueries.bind(this),this.version="3.10.4",this.localState=new Lee({cache:lee,client:this,resolvers:bee,fragmentMatcher:vee}),this.queryManager=new Vee({cache:this.cache,link:this.link,defaultOptions:this.defaultOptions,defaultContext:wee,documentTransform:cee,queryDeduplication:hee,ssrMode:pee,clientAwareness:{name:yee,version:xee},localState:this.localState,assumeImmutableResults:fee,onBroadcast:uee?function(){tee.devToolsHookCb&&tee.devToolsHookCb({action:{},state:{queries:tee.queryManager.getQueryStore(),mutations:tee.queryManager.mutationStore||{}},dataWithOptimisticResults:tee.cache.extract(!0)})}:void 0}),uee&&this.connectToDevTools()}return eee.prototype.connectToDevTools=function(){if("object"==typeof window){var eee=window,tee=Symbol.for("apollo.devtools");(eee[tee]=eee[tee]||[]).push(this),eee.__APOLLO_CLIENT__=this}Zee||!1===globalThis.__DEV__||(Zee=!0,setTimeout((function(){if("undefined"!=typeof window&&window.document&&window.top===window.self&&!window.__APOLLO_DEVTOOLS_GLOBAL_HOOK__&&/^(https?|file):$/.test(window.location.protocol)){var eee=window.navigator,ua=eee&&eee.userAgent,tee=void 0;"string"==typeof ua&&(ua.indexOf("Chrome/")>-1?tee="https://chrome.google.com/webstore/detail/apollo-client-developer-t/jdkknkkbebbapilgoeccciglkfbmbnfm":ua.indexOf("Firefox/")>-1&&(tee="https://addons.mozilla.org/en-US/firefox/addon/apollo-developer-tools/")),tee&&!1!==globalThis.__DEV__&&ree.invariant.log("Download the Apollo DevTools for a better development experience: %s",tee)}}),1e4))},Object.defineProperty(eee.prototype,"documentTransform",{get:function(){return this.queryManager.documentTransform},enumerable:!1,configurable:!0}),eee.prototype.stop=function(){this.queryManager.stop()},eee.prototype.watchQuery=function(eee){return this.defaultOptions.watchQuery&&(eee=iee.mergeOptions(this.defaultOptions.watchQuery,eee)),!this.disableNetworkFetches||"network-only"!==eee.fetchPolicy&&"cache-and-network"!==eee.fetchPolicy||(eee=tee.__assign(tee.__assign({},eee),{fetchPolicy:"cache-first"})),this.queryManager.watchQuery(eee)},eee.prototype.query=function(eee){return this.defaultOptions.query&&(eee=iee.mergeOptions(this.defaultOptions.query,eee)),ree.invariant("cache-and-network"!==eee.fetchPolicy,16),this.disableNetworkFetches&&"network-only"===eee.fetchPolicy&&(eee=tee.__assign(tee.__assign({},eee),{fetchPolicy:"cache-first"})),this.queryManager.query(eee)},eee.prototype.mutate=function(eee){return this.defaultOptions.mutate&&(eee=iee.mergeOptions(this.defaultOptions.mutate,eee)),this.queryManager.mutate(eee)},eee.prototype.subscribe=function(eee){return this.queryManager.startGraphQLSubscription(eee)},eee.prototype.readQuery=function(eee,tee){return void 0===tee&&(tee=!1),this.cache.readQuery(eee,tee)},eee.prototype.watchFragment=function(eee){return this.cache.watchFragment(eee)},eee.prototype.readFragment=function(eee,tee){return void 0===tee&&(tee=!1),this.cache.readFragment(eee,tee)},eee.prototype.writeQuery=function(eee){var tee=this.cache.writeQuery(eee);return!1!==eee.broadcast&&this.queryManager.broadcastQueries(),tee},eee.prototype.writeFragment=function(eee){var tee=this.cache.writeFragment(eee);return!1!==eee.broadcast&&this.queryManager.broadcastQueries(),tee},eee.prototype.__actionHookForDevTools=function(cb){this.devToolsHookCb=cb},eee.prototype.__requestRaw=function(eee){return oee.execute(this.link,eee)},eee.prototype.resetStore=function(){var eee=this;return Promise.resolve().then((function(){return eee.queryManager.clearStore({discardWatches:!1})})).then((function(){return Promise.all(eee.resetStoreCallbacks.map((function(fn){return fn()})))})).then((function(){return eee.reFetchObservableQueries()}))},eee.prototype.clearStore=function(){var eee=this;return Promise.resolve().then((function(){return eee.queryManager.clearStore({discardWatches:!0})})).then((function(){return Promise.all(eee.clearStoreCallbacks.map((function(fn){return fn()})))}))},eee.prototype.onResetStore=function(cb){var eee=this;return this.resetStoreCallbacks.push(cb),function(){eee.resetStoreCallbacks=eee.resetStoreCallbacks.filter((function(c){return c!==cb}))}},eee.prototype.onClearStore=function(cb){var eee=this;return this.clearStoreCallbacks.push(cb),function(){eee.clearStoreCallbacks=eee.clearStoreCallbacks.filter((function(c){return c!==cb}))}},eee.prototype.reFetchObservableQueries=function(eee){return this.queryManager.reFetchObservableQueries(eee)},eee.prototype.refetchQueries=function(eee){var tee=this.queryManager.refetchQueries(eee),oee=[],nee=[];tee.forEach((function(eee,tee){oee.push(tee),nee.push(eee)}));var aee=Promise.all(nee);return aee.queries=oee,aee.results=nee,aee.catch((function(eee){!1!==globalThis.__DEV__&&ree.invariant.debug(17,eee)})),aee},eee.prototype.getObservableQueries=function(eee){return void 0===eee&&(eee="active"),this.queryManager.getObservableQueries(eee)},eee.prototype.extract=function(eee){return this.cache.extract(eee)},eee.prototype.restore=function(eee){return this.cache.restore(eee)},eee.prototype.addResolvers=function(eee){this.localState.addResolvers(eee)},eee.prototype.setResolvers=function(eee){this.localState.setResolvers(eee)},eee.prototype.getResolvers=function(){return this.localState.getResolvers()},eee.prototype.setLocalStateFragmentMatcher=function(eee){this.localState.setFragmentMatcher(eee)},eee.prototype.setLink=function(eee){this.link=this.queryManager.link=eee},Object.defineProperty(eee.prototype,"defaultContext",{get:function(){return this.queryManager.defaultContext},enumerable:!1,configurable:!0}),eee}();for(var k in!1!==globalThis.__DEV__&&(Jee.prototype.getMemoryInternals=Gee),uee.setVerbosity(!1!==globalThis.__DEV__?"log":"silent"),eee.DocumentTransform=iee.DocumentTransform,eee.Observable=iee.Observable,eee.isReference=iee.isReference,eee.makeReference=iee.makeReference,eee.mergeOptions=iee.mergeOptions,eee.ApolloCache=see.ApolloCache,eee.Cache=see.Cache,eee.InMemoryCache=see.InMemoryCache,eee.MissingFieldError=see.MissingFieldError,eee.defaultDataIdFromObject=see.defaultDataIdFromObject,eee.makeVar=see.makeVar,eee.ApolloError=lee.ApolloError,eee.isApolloError=lee.isApolloError,eee.fromError=dee.fromError,eee.fromPromise=dee.fromPromise,eee.throwServerError=dee.throwServerError,eee.toPromise=dee.toPromise,eee.setLogVerbosity=uee.setVerbosity,eee.disableExperimentalFragmentVariables=hee.disableExperimentalFragmentVariables,eee.disableFragmentWarnings=hee.disableFragmentWarnings,eee.enableExperimentalFragmentVariables=hee.enableExperimentalFragmentVariables,eee.gql=hee.gql,eee.resetCaches=hee.resetCaches,eee.ApolloClient=Jee,eee.ObservableQuery=Nee,eee.isNetworkRequestSettled=function(eee){return 7===eee||8===eee},oee)"default"===k||eee.hasOwnProperty(k)||(eee[k]=oee[k]);for(var k in nee)"default"===k||eee.hasOwnProperty(k)||(eee[k]=nee[k])}(ESe),function(eee){function tee(tee){var ree=eee.call(this)||this;return ree.link=PSe(tee),ree}cde(tee,eee),tee.prototype.request=function(eee,tee){return this.link.request(eee,tee)}}(Hxe);var USe=function(){function eee(eee,tee,ree,oee,nee){var aee=this;this.observer=eee,this.operation=tee,this.forward=ree,this.delayFor=oee,this.retryIf=nee,this.retryCount=0,this.currentSubscription=null,this.onError=function(eee){return wde(aee,void 0,void 0,(function(){return fde(this,(function(_a){switch(_a.label){case 0:return this.retryCount+=1,[4,this.retryIf(this.retryCount,this.operation,eee)];case 1:return _a.sent()?(this.scheduleRetry(this.delayFor(this.retryCount,this.operation,eee)),[2]):(this.observer.error(eee),[2])}}))}))},this.try()}return eee.prototype.cancel=function(){this.currentSubscription&&this.currentSubscription.unsubscribe(),clearTimeout(this.timerId),this.timerId=void 0,this.currentSubscription=null},eee.prototype.try=function(){this.currentSubscription=this.forward(this.operation).subscribe({next:this.observer.next.bind(this.observer),error:this.onError,complete:this.observer.complete.bind(this.observer)})},eee.prototype.scheduleRetry=function(eee){var tee=this;if(this.timerId)throw new Error("RetryLink BUG! Encountered overlapping retries");this.timerId=setTimeout((function(){tee.timerId=void 0,tee.try()}),eee)},eee}(),jSe=function(eee){function tee(tee){var ree=eee.call(this)||this,_a=tee||{},oee=_a.attempts,nee=_a.delay;return ree.delayFor="function"==typeof nee?nee:function(eee){var _a=eee||{},_b=_a.initial,tee=void 0===_b?300:_b,_c=_a.jitter,ree=void 0===_c||_c,_d=_a.max,oee=void 0===_d?1/0:_d,nee=ree?tee:tee/2;return function(eee){var tee=Math.min(oee,nee*Math.pow(2,eee));return ree&&(tee=Math.random()*tee),tee}}(nee),ree.retryIf="function"==typeof oee?oee:function(eee){var _a=eee||{},tee=_a.retryIf,_b=_a.max,ree=void 0===_b?5:_b;return function(eee,oee,nee){return!(eee>=ree)&&(tee?tee(nee,oee):!!nee)}}(oee),ree}return cde(tee,eee),tee.prototype.request=function(eee,tee){var ree=this;return new xxe((function(oee){var nee=new USe(oee,eee,tee,ree.delayFor,ree.retryIf);return function(){nee.cancel()}}))},tee}(Hxe);var $Se=function(eee){function tee(tee){var ree=eee.call(this)||this;return ree.client=tee,ree}return cde(tee,eee),tee.prototype.request=function(eee){var tee=this;return new xxe((function(ree){return tee.client.subscribe(pde(pde({},eee),{query:Fye(eee.query)}),{next:ree.next.bind(ree),complete:ree.complete.bind(ree),error:function(eee){if(eee instanceof Error)return ree.error(eee);var tee,oee=Wme(tee=eee)&&"code"in tee&&"reason"in tee;return oee||function(eee){var _a;return Wme(eee)&&(null===(_a=eee.target)||void 0===_a?void 0:_a.readyState)===WebSocket.CLOSED}(eee)?ree.error(new Error("Socket closed".concat(oee?" with event ".concat(eee.code):"").concat(oee?" ".concat(eee.reason):""))):ree.error(new lke({graphQLErrors:Array.isArray(eee)?eee:[eee]}))}})}))},tee}(Hxe);function VSe(eee){return null===eee?"null":Array.isArray(eee)?"array":typeof eee}function qSe(eee){return"object"===VSe(eee)}function BSe(eee,tee){return eee.length<124?eee:tee}var YSe,GSe;function QSe(eee){if(!qSe(eee))throw new Error(`Message is expected to be an object, but got ${VSe(eee)}`);if(!eee.type)throw new Error("Message is missing the 'type' property");if("string"!=typeof eee.type)throw new Error(`Message is expects the 'type' property to be a string, but got ${VSe(eee.type)}`);switch(eee.type){case GSe.ConnectionInit:case GSe.ConnectionAck:case GSe.Ping:case GSe.Pong:if(null!=eee.payload&&!qSe(eee.payload))throw new Error(`"${eee.type}" message expects the 'payload' property to be an object or nullish or missing, but got "${eee.payload}"`);break;case GSe.Subscribe:if("string"!=typeof eee.id)throw new Error(`"${eee.type}" message expects the 'id' property to be a string, but got ${VSe(eee.id)}`);if(!eee.id)throw new Error(`"${eee.type}" message requires a non-empty 'id' property`);if(!qSe(eee.payload))throw new Error(`"${eee.type}" message expects the 'payload' property to be an object, but got ${VSe(eee.payload)}`);if("string"!=typeof eee.payload.query)throw new Error(`"${eee.type}" message payload expects the 'query' property to be a string, but got ${VSe(eee.payload.query)}`);if(null!=eee.payload.variables&&!qSe(eee.payload.variables))throw new Error(`"${eee.type}" message payload expects the 'variables' property to be a an object or nullish or missing, but got ${VSe(eee.payload.variables)}`);if(null!=eee.payload.operationName&&"string"!==VSe(eee.payload.operationName))throw new Error(`"${eee.type}" message payload expects the 'operationName' property to be a string or nullish or missing, but got ${VSe(eee.payload.operationName)}`);if(null!=eee.payload.extensions&&!qSe(eee.payload.extensions))throw new Error(`"${eee.type}" message payload expects the 'extensions' property to be a an object or nullish or missing, but got ${VSe(eee.payload.extensions)}`);break;case GSe.Next:if("string"!=typeof eee.id)throw new Error(`"${eee.type}" message expects the 'id' property to be a string, but got ${VSe(eee.id)}`);if(!eee.id)throw new Error(`"${eee.type}" message requires a non-empty 'id' property`);if(!qSe(eee.payload))throw new Error(`"${eee.type}" message expects the 'payload' property to be an object, but got ${VSe(eee.payload)}`);break;case GSe.Error:if("string"!=typeof eee.id)throw new Error(`"${eee.type}" message expects the 'id' property to be a string, but got ${VSe(eee.id)}`);if(!eee.id)throw new Error(`"${eee.type}" message requires a non-empty 'id' property`);if(tee=eee.payload,!(Array.isArray(tee)&&tee.length>0&&tee.every((ob=>"message"in ob))))throw new Error(`"${eee.type}" message expects the 'payload' property to be an array of GraphQL errors, but got ${JSON.stringify(eee.payload)}`);break;case GSe.Complete:if("string"!=typeof eee.id)throw new Error(`"${eee.type}" message expects the 'id' property to be a string, but got ${VSe(eee.id)}`);if(!eee.id)throw new Error(`"${eee.type}" message requires a non-empty 'id' property`);break;default:throw new Error(`Invalid message 'type' property "${eee.type}"`)}var tee;return eee}function WSe(eee,tee){return QSe(eee),JSON.stringify(eee,tee)}!function(eee){eee[eee.InternalServerError=4500]="InternalServerError",eee[eee.InternalClientError=4005]="InternalClientError",eee[eee.BadRequest=4400]="BadRequest",eee[eee.BadResponse=4004]="BadResponse",eee[eee.Unauthorized=4401]="Unauthorized",eee[eee.Forbidden=4403]="Forbidden",eee[eee.SubprotocolNotAcceptable=4406]="SubprotocolNotAcceptable",eee[eee.ConnectionInitialisationTimeout=4408]="ConnectionInitialisationTimeout",eee[eee.ConnectionAcknowledgementTimeout=4504]="ConnectionAcknowledgementTimeout",eee[eee.SubscriberAlreadyExists=4409]="SubscriberAlreadyExists",eee[eee.TooManyInitialisationRequests=4429]="TooManyInitialisationRequests"}(YSe||(YSe={})),function(eee){eee.ConnectionInit="connection_init",eee.ConnectionAck="connection_ack",eee.Ping="ping",eee.Pong="pong",eee.Subscribe="subscribe",eee.Next="next",eee.Error="error",eee.Complete="complete"}(GSe||(GSe={}));var KSe=function(v){return this instanceof KSe?(this.v=v,this):new KSe(v)},HSe=function(eee,tee,ree){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,g=ree.apply(eee,tee||[]),q=[];return i={},oee("next"),oee("throw"),oee("return"),i[Symbol.asyncIterator]=function(){return this},i;function oee(n){g[n]&&(i[n]=function(v){return new Promise((function(a,b){q.push([n,v,a,b])>1||nee(n,v)}))})}function nee(n,v){try{!function(r){r.value instanceof KSe?Promise.resolve(r.value.v).then(aee,iee):see(q[0][2],r)}(g[n](v))}catch(e){see(q[0][3],e)}}function aee(eee){nee("next",eee)}function iee(eee){nee("throw",eee)}function see(f,v){f(v),q.shift(),q.length&&nee(q[0][0],q[0][1])}};function XSe(eee){const{url:tee,connectionParams:ree,lazy:oee=!0,onNonLazyError:nee=console.error,lazyCloseTimeout:aee=0,keepAlive:iee=0,disablePong:see,connectionAckWaitTimeout:lee=0,retryAttempts:cee=5,retryWait:pee=async function(eee){let tee=1e3;for(let i=0;isetTimeout(eee,tee+Math.floor(2700*Math.random()+300))))},shouldRetry:dee=JSe,isFatalConnectionProblem:uee,on:on,webSocketImpl:hee,generateID:gee=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(c=>{const r=16*Math.random()|0;return("x"==c?r:3&r|8).toString(16)}))},jsonMessageReplacer:wee,jsonMessageReviver:fee}=eee;let ws;if(hee){if(!("function"==typeof(bee=hee)&&"constructor"in bee&&"CLOSED"in bee&&"CLOSING"in bee&&"CONNECTING"in bee&&"OPEN"in bee))throw new Error("Invalid WebSocket implementation provided");ws=hee}else"undefined"!=typeof WebSocket?ws=WebSocket:"undefined"!=typeof global?ws=global.WebSocket||global.MozWebSocket:"undefined"!=typeof window&&(ws=window.WebSocket||window.MozWebSocket);var bee;if(!ws)throw new Error("WebSocket implementation missing; on Node you can `import WebSocket from 'ws';` and pass `webSocketImpl: WebSocket` to `createClient`");const mee=ws,vee=(()=>{const eee=(()=>{const eee={};return{on:(id,tee)=>(eee[id]=tee,()=>{delete eee[id]}),emit(tee){var _a;"id"in tee&&(null===(_a=eee[tee.id])||void 0===_a||_a.call(eee,tee))}}})(),tee={connecting:(null==on?void 0:on.connecting)?[on.connecting]:[],opened:(null==on?void 0:on.opened)?[on.opened]:[],connected:(null==on?void 0:on.connected)?[on.connected]:[],ping:(null==on?void 0:on.ping)?[on.ping]:[],pong:(null==on?void 0:on.pong)?[on.pong]:[],message:(null==on?void 0:on.message)?[eee.emit,on.message]:[eee.emit],closed:(null==on?void 0:on.closed)?[on.closed]:[],error:(null==on?void 0:on.error)?[on.error]:[]};return{onMessage:eee.on,on(eee,ree){const l=tee[eee];return l.push(ree),()=>{l.splice(l.indexOf(ree),1)}},emit(eee,...ree){for(const oee of[...tee[eee]])oee(...ree)}}})();function yee(cb){const eee=[vee.on("error",(tee=>{eee.forEach((eee=>eee())),cb(tee)})),vee.on("closed",(tee=>{eee.forEach((eee=>eee())),cb(tee)}))]}let xee,kee,_ee=0,Eee=!1,Tee=0,See=!1;async function Iee(){clearTimeout(kee);const[eee,oee]=await(null!=xee?xee:xee=new Promise(((eee,oee)=>(async()=>{if(Eee){if(await pee(Tee),!_ee)return xee=void 0,oee({code:1e3,reason:"All Subscriptions Gone"});Tee++}vee.emit("connecting",Eee);const nee=new mee("function"==typeof tee?await tee():tee,"graphql-transport-ws");let aee,cee;function dee(){isFinite(iee)&&iee>0&&(clearTimeout(cee),cee=setTimeout((()=>{nee.readyState===mee.OPEN&&(nee.send(WSe({type:GSe.Ping})),vee.emit("ping",!1,void 0))}),iee))}yee((eee=>{xee=void 0,clearTimeout(aee),clearTimeout(cee),oee(eee),eee instanceof ZSe&&(nee.close(4499,"Terminated"),nee.onerror=null,nee.onclose=null)})),nee.onerror=eee=>vee.emit("error",eee),nee.onclose=eee=>vee.emit("closed",eee),nee.onopen=async()=>{try{vee.emit("opened",nee);const eee="function"==typeof ree?await ree():ree;if(nee.readyState!==mee.OPEN)return;nee.send(WSe(eee?{type:GSe.ConnectionInit,payload:eee}:{type:GSe.ConnectionInit},wee)),isFinite(lee)&&lee>0&&(aee=setTimeout((()=>{nee.close(YSe.ConnectionAcknowledgementTimeout,"Connection acknowledgement timeout")}),lee)),dee()}catch(eee){vee.emit("error",eee),nee.close(YSe.InternalClientError,BSe(eee instanceof Error?eee.message:new Error(eee).message,"Internal client error"))}};let uee=!1;nee.onmessage=({data:tee})=>{try{const ree=function(eee,tee){return QSe("string"==typeof eee?JSON.parse(eee,tee):eee)}(tee,fee);if(vee.emit("message",ree),"ping"===ree.type||"pong"===ree.type)return vee.emit(ree.type,!0,ree.payload),void("pong"===ree.type?dee():see||(nee.send(WSe(ree.payload?{type:GSe.Pong,payload:ree.payload}:{type:GSe.Pong})),vee.emit("pong",!1,ree.payload)));if(uee)return;if(ree.type!==GSe.ConnectionAck)throw new Error(`First message cannot be of type ${ree.type}`);clearTimeout(aee),uee=!0,vee.emit("connected",nee,ree.payload,Eee),Eee=!1,Tee=0,eee([nee,new Promise(((_,eee)=>yee(eee)))])}catch(ree){nee.onmessage=null,vee.emit("error",ree),nee.close(YSe.BadResponse,BSe(ree instanceof Error?ree.message:new Error(ree).message,"Bad response"))}}})())));eee.readyState===mee.CLOSING&&await oee;let nee=()=>{};const cee=new Promise((eee=>nee=eee));return[eee,nee,Promise.race([cee.then((()=>{if(!_ee){const tee=()=>eee.close(1e3,"Normal Closure");isFinite(aee)&&aee>0?kee=setTimeout((()=>{eee.readyState===mee.OPEN&&tee()}),aee):tee()}})),oee])]}function Oee(eee){if(JSe(eee)&&(function(eee){return![1e3,1001,1006,1005,1012,1013,1014].includes(eee)&&(eee>=1e3&&eee<=1999)}(eee.code)||[YSe.InternalServerError,YSe.InternalClientError,YSe.BadRequest,YSe.BadResponse,YSe.Unauthorized,YSe.SubprotocolNotAcceptable,YSe.SubscriberAlreadyExists,YSe.TooManyInitialisationRequests].includes(eee.code)))throw eee;if(See)return!1;if(JSe(eee)&&1e3===eee.code)return _ee>0;if(!cee||Tee>=cee)throw eee;if(!dee(eee))throw eee;if(null==uee?void 0:uee(eee))throw eee;return Eee=!0}function Nee(eee,tee){const id=gee(eee);let ree=!1,oee=!1,nee=()=>{_ee--,ree=!0};return(async()=>{for(_ee++;;)try{const[aee,iee,see]=await Iee();if(ree)return iee();const lee=vee.onMessage(id,(eee=>{switch(eee.type){case GSe.Next:return void tee.next(eee.payload);case GSe.Error:return oee=!0,ree=!0,tee.error(eee.payload),void nee();case GSe.Complete:return ree=!0,void nee()}}));return aee.send(WSe({id:id,type:GSe.Subscribe,payload:eee},wee)),nee=()=>{ree||aee.readyState!==mee.OPEN||aee.send(WSe({id:id,type:GSe.Complete},wee)),_ee--,ree=!0,iee()},void(await see.finally(lee))}catch(aee){if(!Oee(aee))return}})().then((()=>{oee||tee.complete()})).catch((eee=>{tee.error(eee)})),()=>{ree||nee()}}return oee||(async()=>{for(_ee++;;)try{const[,,eee]=await Iee();await eee}catch(eee){try{if(!Oee(eee))return}catch(eee){return null==nee?void 0:nee(eee)}}})(),{on:vee.on,subscribe:Nee,iterate(eee){const tee=[],ree={done:!1,error:null,resolve:()=>{}},oee=Nee(eee,{next(eee){tee.push(eee),ree.resolve()},error(eee){ree.done=!0,ree.error=eee,ree.resolve()},complete(){ree.done=!0,ree.resolve()}}),nee=function(){return HSe(this,arguments,(function*(){for(;;){for(tee.length||(yield KSe(new Promise((eee=>ree.resolve=eee))));tee.length;)yield yield KSe(tee.shift());if(ree.error)throw ree.error;if(ree.done)return yield KSe(void 0)}}))}();return nee.throw=async eee=>(ree.done||(ree.done=!0,ree.error=eee,ree.resolve()),{done:!0,value:void 0}),nee.return=async()=>(oee(),{done:!0,value:void 0}),nee},async dispose(){if(See=!0,xee){const[eee]=await xee;eee.close(1e3,"Normal Closure")}},terminate(){xee&&vee.emit("closed",new ZSe)}}}class ZSe extends Error{constructor(){super(...arguments),this.name="TerminatedCloseEvent",this.message="4499: Terminated",this.code=4499,this.reason="Terminated",this.wasClean=!1}}function JSe(eee){return qSe(eee)&&"code"in eee&&"reason"in eee}zce($ce());const eIe=uTe,tIe=new URL(uTe.toString().replace("http","ws")),rIe=Xce("unraidApi",(()=>{const eee=XEe(),tee=pIe(),ree=kre(null);goe(ree,(eee=>{if(eee){tee.fetchServerFromApi()&&(oee.value="online")}}));const oee=kre("offline"),nee=kre(!1),aee=Sae((()=>{const{connectPluginInstalled:eee,stateDataError:ree}=tee;if("offline"===oee.value&&eee&&!ree)return{click:()=>see(),emphasize:!0,icon:Npe,text:"Restart unraid-api"}})),iee=()=>{oee.value="connecting";const iee={"x-api-key":tee.apiKey},lee=ESe.createHttpLink({uri:eIe.toString(),headers:iee}),cee=new $Se(XSe({url:tIe.toString(),connectionParams:()=>({headers:iee})})),pee=PSe((({graphQLErrors:tee,networkError:ree})=>{if(tee&&tee.map((tee=>{console.error("[GraphQL error]",tee);const ree=tee.error&&tee.error.message?tee.error.message:tee.message;if(ree&&ree.includes("offline")&&(oee.value="offline",aee&&see()),ree&&ree.includes("The CORS policy for this site does not allow access from the specified Origin")){nee.value=!0;const tee=`

    The CORS policy for the unraid-api does not allow access from the specified origin.

    If you are using a reverse proxy, you need to copy your origin ${window.location.origin} and paste it into the "Extra Origins" list in the Connect settings.

    `;eee.setError({heading:"Unraid API • CORS Error",message:tee,level:"error",ref:"unraidApiCorsError",type:"unraidApiGQL",actions:[{href:`${hTe.toString()}#extraOriginsSettings`,icon:$pe,text:"Go to Connect Settings"}]})}return tee.message})),ree&&!nee){console.error(`[Network error]: ${ree}`);const eee=ree.message?ree.message:ree;return"string"==typeof eee&&eee.includes("Unexpected token < in JSON at position 0")?"Unraid API • CORS Error":eee}})),dee=new jSe({attempts:{max:20,retryIf:(eee,tee)=>!!eee&&!nee},delay:{initial:nee?3e3:300,max:1e4,jitter:!0}}),uee=ESe.split((({query:eee})=>{const tee=qve(eee);return"OperationDefinition"===tee.kind&&"subscription"===tee.operation}),cee,lee),hee=ESe.from([pee,dee,uee]),gee=new ESe.ApolloClient({link:hee,cache:new ESe.InMemoryCache});ree.value=gee,function(eee){vEe={default:eee}}(gee)},see=async()=>{const nee="offline"===oee.value?"start":"restart";oee.value="restarting";try{return await(async eee=>{if(console.debug("[WebguiUnraidApiCommand] payload",eee),!eee)return console.error("[WebguiUnraidApiCommand] payload is required");try{return await JEe.url("/plugins/dynamix.my.servers/include/unraid-api.php").formUrl(eee).post().json((eee=>eee)).catch((tee=>(console.error("[WebguiUnraidApiCommand] catch failed to execute unraid-api",tee,eee),tee)))}catch(tee){return console.error("[WebguiUnraidApiCommand] catch failed to execute unraid-api",tee,eee),tee}})({csrf_token:tee.csrf,command:nee}),setTimeout((()=>{ree.value&&iee()}),5e3)}catch(aee){let tee="Unknown error";"string"==typeof aee?tee=aee.toUpperCase():aee instanceof Error&&(tee=aee.message),eee.setError({heading:"Error: unraid-api restart",message:tee,level:"error",ref:"restartUnraidApiClient",type:"request"})}};return{unraidApiClient:ree,unraidApiStatus:oee,prioritizeCorsError:nee,unraidApiRestartAction:aee,createApolloClient:iee,closeUnraidApiClient:async()=>{ree.value&&(ree.value&&(await ree.value.clearStore(),ree.value.stop()),ree.value=null,oee.value="offline")},restartUnraidApiClient:see}}));zce($ce());const oIe=Xce("account",(()=>{const eee=dSe(),tee=XEe(),ree=_Se(),oee=pIe(),nee=rIe(),aee=Sae((()=>oee.serverAccountPayload)),iee=Sae((()=>oee.inIframe)),see=kre(),lee=kre(!1),cee=kre("ready"),pee=Sae((()=>nee.unraidApiClient)),dee=kre(),uee=eee=>{dee.value=eee,eee&&(cee.value="waiting")},hee=kre(!1),gee=eee=>{hee.value=eee,eee&&(cee.value="waiting")};uoe((()=>{pee.value&&dee.value&&setTimeout((()=>{fee()}),250),pee.value&&hee.value&&setTimeout((()=>{bee()}),250)}));const wee=Sae((()=>see.value?.type)),fee=async()=>{if(!dee.value||dee.value&&(!dee.value.apiKey||!dee.value.email||!dee.value.preferred_username))return cee.value="failed",console.error("[connectSignInMutation] incorrect payload",dee.value);cee.value="updating";const{mutate:eee,onDone:ree,onError:oee}=await IEe(STe,{variables:{input:{apiKey:dee.value.apiKey,userInfo:{email:dee.value.email,preferred_username:dee.value.preferred_username}}}});eee(),ree((eee=>{if(eee.data?.connectSignIn)return cee.value="success",void uee(void 0);cee.value="failed",tee.setError({heading:"unraid-api failed to update Connect account configuration",message:"Sign In mutation unsuccessful",level:"error",ref:"connectSignInMutation",type:"account"})})),oee((eee=>{TTe(eee),cee.value="failed",tee.setError({heading:"unraid-api failed to update Connect account configuration",message:eee.message,level:"error",ref:"connectSignInMutation",type:"account"})}))},bee=async()=>{cee.value="updating";const{mutate:eee,onDone:ree,onError:oee}=await IEe(ITe);eee(),ree((eee=>{console.debug("[connectSignOutMutation]",eee),cee.value="success",gee(!1)})),oee((eee=>{TTe(eee),cee.value="failed",tee.setError({heading:"Failed to update Connect account configuration",message:eee.message,level:"error",ref:"connectSignOutMutation",type:"account"})}))};return{accountAction:see,accountActionHide:lee,accountActionStatus:cee,accountActionType:wee,downgradeOs:async tee=>{await eee.send(nTe.toString(),[{server:{...aee.value},type:"downgradeOs"}],iee.value?"newTab":tee?"replace":void 0)},manage:()=>{eee.send(nTe.toString(),[{server:{...aee.value},type:"manage"}],iee.value?"newTab":void 0)},myKeys:async()=>{await ree.purgeValidationResponse(),eee.send(nTe.toString(),[{server:{...aee.value},type:"myKeys"}],iee.value?"newTab":void 0)},linkKey:async()=>{await ree.purgeValidationResponse(),eee.send(nTe.toString(),[{server:{...aee.value},type:"linkKey"}],iee.value?"newTab":void 0)},recover:()=>{eee.send(nTe.toString(),[{server:{...aee.value},type:"recover"}],iee.value?"newTab":void 0)},replace:()=>{eee.send(nTe.toString(),[{server:{...aee.value},type:"replace"}],iee.value?"newTab":void 0)},signIn:()=>{eee.send(nTe.toString(),[{server:{...aee.value},type:"signIn"}],iee.value?"newTab":void 0)},signOut:()=>{eee.send(nTe.toString(),[{server:{...aee.value},type:"signOut"}],iee.value?"newTab":void 0)},trialExtend:()=>{eee.send(nTe.toString(),[{server:{...aee.value},type:"trialExtend"}],iee.value?"newTab":void 0)},trialStart:()=>{eee.send(nTe.toString(),[{server:{...aee.value},type:"trialStart"}],iee.value?"newTab":void 0)},updateOs:async tee=>{await eee.send(nTe.toString(),[{server:{...aee.value},type:"updateOs"}],iee.value?"newTab":tee?"replace":void 0)},setAccountAction:eee=>{console.debug("[setAccountAction]",{action:eee}),see.value=eee},setConnectSignInPayload:uee,setQueueConnectSignOut:gee}}));zce($ce());const nIe=Xce("purchase",(()=>{const eee=dSe(),tee=pIe();return{redeem:()=>{eee.send(pTe.toString(),[{server:{...tee.serverPurchasePayload},type:"redeem"}],tee.inIframe?"newTab":void 0)},purchase:()=>{eee.send(pTe.toString(),[{server:{...tee.serverPurchasePayload},type:"purchase"}],tee.inIframe?"newTab":void 0)},upgrade:()=>{eee.send(pTe.toString(),[{server:{...tee.serverPurchasePayload},type:"upgrade"}],tee.inIframe?"newTab":void 0)},renew:()=>{eee.send(pTe.toString(),[{server:{...tee.serverPurchasePayload},type:"renew"}],tee.inIframe?"newTab":void 0)}}}));var aIe=function(eee){return parseInt(eee,16)},iIe=function(eee,tee){var r=eee.r,g=eee.g,b=eee.b,ree=eee.a,a=function(n){return!isNaN(parseFloat(n))&&isFinite(n)}(tee)?tee:ree;return"rgba(".concat(r,", ").concat(g,", ").concat(b,", ").concat(a,")")},sIe=function(eee,a){var tee,ree,oee=function(eee){return"#"===eee.charAt(0)?eee.slice(1):eee}(eee),nee=function(eee){var r=eee.r,g=eee.g,b=eee.b,a=eee.a;return{r:aIe(r),g:aIe(g),b:aIe(b),a:+(aIe(a)/255).toFixed(2)}}({r:(ree=3===(tee=oee).length||4===tee.length)?"".concat(tee.slice(0,1)).concat(tee.slice(0,1)):tee.slice(0,2),g:ree?"".concat(tee.slice(1,2)).concat(tee.slice(1,2)):tee.slice(2,4),b:ree?"".concat(tee.slice(2,3)).concat(tee.slice(2,3)):tee.slice(4,6),a:(ree?"".concat(tee.slice(3,4)).concat(tee.slice(3,4)):tee.slice(6,8))||"ff"});return iIe(nee,a)};const lIe=epe(sIe);zce($ce());const cIe=Xce("theme",(()=>{const eee=kre(),tee=Sae((()=>("black"===eee.value?.name||"azure"===eee.value?.name)??!1)),ree=Sae((()=>{if(!eee.value?.banner||!eee.value?.bannerGradient)return;return`background-image: linear-gradient(90deg, ${eee.value?.bgColor?"var(--color-customgradient-start)":"rgba(0, 0, 0, 0)"} 0, ${eee.value?.bgColor?"var(--color-customgradient-end)":"var(--color-beta)"} 30%);`}));return goe(eee,(()=>{(()=>{const ree=document.body,oee={darkTheme:{alpha:"#1c1b1b",beta:"#f2f2f2",gamma:"#999999"},lightTheme:{alpha:"#f2f2f2",beta:"#1c1b1b",gamma:"#999999"}};let{alpha:nee,beta:aee,gamma:iee}=tee.value?oee.darkTheme:oee.lightTheme;eee.value?.textColor&&(nee=eee.value?.textColor),eee.value?.bgColor&&(aee=eee.value?.bgColor,ree.style.setProperty("--color-customgradient-start",lIe(aee,0)),ree.style.setProperty("--color-customgradient-end",lIe(aee,.7))),eee.value?.metaColor&&(iee=eee.value?.metaColor),ree.style.setProperty("--color-alpha",nee),ree.style.setProperty("--color-beta",aee),ree.style.setProperty("--color-gamma",iee),ree.style.setProperty("--color-gamma-opaque",lIe(iee,.25)),ree.style.setProperty("--shadow-beta",`0 25px 50px -12px ${lIe(aee,.15)}`),ree.style.setProperty("--ring-offset-shadow",`0 0 ${aee}`),ree.style.setProperty("--ring-shadow",`0 0 ${aee}`)})()})),{bannerGradient:ree,darkMode:tee,theme:eee,setTheme:tee=>{eee.value=tee}}}));zce($ce());const pIe=Xce("server",(()=>{const eee=oIe(),tee=XEe(),ree=nIe(),oee=cIe(),nee=rIe(),aee=kre("");goe(aee,((eee,tee)=>eee?nee.createApolloClient():tee?nee.closeUnraidApiClient():void 0));const iee=kre(""),see=kre(),lee=Sae((()=>!(!Ite.value&&!Dte.value))),cee=Sae((()=>lee.value?"Stopped"===see.value?.state?"Stopped. The Array will not start until the above issue is resolved.":"Started. If stopped, the Array will not restart until the above issue is resolved.":see.value?.state)),pee=kre(""),dee=kre(""),uee=kre(),hee=kre(),gee=kre(""),wee=kre(""),fee=kre(""),bee=kre(),mee=kre(""),vee=kre(0),yee=kre(""),xee=kre(0),kee=kre(!1),_ee=kre(""),Eee=kre(""),Tee=kre(""),See=kre(),Iee=kre(),Oee=kre(),Nee=kre(window.self!==window.top),Aee=kre(""),Ree=kre(""),Dee=kre(""),Cee=kre(""),Lee=kre(""),Fee=kre(""),zee=kre("stable"),Mee=kre(""),Pee=kre(),Uee=kre(),jee=kre(0),$ee=Sae((()=>{if(jee.value>0)return jee.value;switch(Gee.value){case"Starter":case"Basic":return 6;case"Plus":return 12;case"Unleashed":case"Lifetime":case"Pro":case"Trial":return-1;default:return 0}})),Vee=kre(0),qee=kre(""),Bee=kre(0),Yee=kre(""),Gee=kre(""),Qee=kre(0),Wee=Sae((()=>Qee.value?npe(Qee.value).format("YYYY-MM-DD"):null)),Kee=Sae((()=>{if(!Qee.value)return!1;const eee=npe(),tee=npe(Qee.value);return eee.isAfter(tee,"day")})),Hee=kre(""),Xee=kre(),Zee=kre();goe(Zee,(eee=>{eee&&oee.setTheme(eee)}));const Jee=kre(),ete=kre([]),tte=kre(!1),rte=kre(0),ote=kre(""),nte=kre(""),ate=kre([]),ite=kre(),ste=Sae((()=>nte.value||Hee.value&&Hee.value.includes("www.")&&Hee.value.includes("unraid.net"))),lte=Sae((()=>!1)),cte=Sae((()=>!Ipe(Fee.value))),pte=Sae((()=>({apiKey:aee.value,apiVersion:iee.value,array:see.value,avatar:pee.value,connectPluginVersion:wee.value,connectPluginInstalled:gee.value,description:mee.value,deviceCount:vee.value,email:yee.value,expireTime:xee.value,flashProduct:_ee.value,flashVendor:Eee.value,guid:Tee.value,inIframe:Nee.value,keyfile:Aee.value,lanIp:Ree.value,license:Dee.value,locale:Cee.value,name:Lee.value,osVersion:Fee.value,osVersionBranch:zee.value,rebootType:Mee.value,rebootVersion:Pee.value,registered:Uee.value,regDevs:$ee.value,regGen:Vee.value,regGuid:qee.value,regExp:Qee.value,regUpdatesExpired:Kee.value,site:Hee.value,state:Xee.value,theme:Zee.value,uptime:rte.value,username:ote.value,wanFQDN:nte.value}))),dte=Sae((()=>{let eee="Trial";switch(Xee.value){case"BASIC":eee="Basic";break;case"PLUS":eee="Plus";break;case"PRO":eee="Pro";break;case"STARTER":eee="Starter";break;case"UNLEASHED":eee="Unleashed"}return{apiVersion:iee.value,connectPluginVersion:wee.value,deviceCount:vee.value,email:yee.value,guid:Tee.value,inIframe:Nee.value,keyTypeForPurchase:eee,locale:Cee.value,osVersion:Fee.value,osVersionBranch:zee.value,registered:Uee.value??!1,regExp:Qee.value,regTy:Gee.value,regUpdatesExpired:Kee.value,state:Xee.value,site:Hee.value}})),ute=Sae((()=>({apiVersion:iee.value,caseModel:dee.value,connectPluginVersion:wee.value,description:mee.value,expireTime:xee.value,flashProduct:_ee.value,flashVendor:Eee.value,guid:Tee.value,inIframe:Nee.value,keyfile:Aee.value,lanIp:Ree.value,name:Lee.value,osVersion:Fee.value,osVersionBranch:zee.value,rebootType:Mee.value,rebootVersion:Pee.value,registered:Uee.value??!1,regGuid:qee.value,regExp:Qee.value,regTy:Gee.value,regUpdatesExpired:Kee.value,site:Hee.value,state:Xee.value,wanFQDN:nte.value}))),hte=Sae((()=>{const eee={apiKey:aee.value&&"string"==typeof aee.value?`${aee.value.substring(0,6)}__[REDACTED]`:"",apiVersion:iee.value,avatar:pee.value,connectPluginInstalled:gee.value,connectPluginVersion:wee.value,description:mee.value,deviceCount:vee.value,email:yee.value,expireTime:xee.value,flashProduct:_ee.value,flashVendor:Eee.value,guid:Tee.value,inIframe:Nee.value,lanIp:Ree.value,locale:Cee.value,name:Lee.value,osVersion:Fee.value,osVersionBranch:zee.value,rebootType:Mee.value,rebootVersion:Pee.value,registered:Uee.value,regGen:Vee.value,regGuid:qee.value,regTy:Gee.value,site:Hee.value,state:Xee.value,uptime:rte.value,username:ote.value,wanFQDN:nte.value};return Object.fromEntries(Object.entries(eee).filter((([_,v])=>null!=v&&""!==v)))})),gte=Sae((()=>{const eee=!(!gee.value||"online"===nee.unraidApiStatus&&!nee.prioritizeCorsError);return{disable:eee,title:eee?"Requires the local unraid-api to be running successfully":""}})),wte=Sae((()=>({click:()=>{ree.purchase()},disabled:gte.value.disable,external:!0,icon:Kpe,name:"purchase",text:"Purchase Key",title:gte.value.title}))),fte=Sae((()=>({click:()=>{ree.upgrade()},disabled:gte.value.disable,external:!0,icon:Kpe,name:"upgrade",text:"Upgrade Key",title:gte.value.title}))),bte=Sae((()=>({click:()=>{eee.recover()},disabled:gte.value.disable,external:!0,icon:Kpe,name:"recover",text:"Recover Key",title:gte.value.title}))),mte=Sae((()=>({click:()=>{ree.redeem()},disabled:gte.value.disable,external:!0,icon:Kpe,name:"redeem",text:"Redeem Activation Code",title:gte.value.title}))),vte=Sae((()=>({click:()=>{ree.renew()},disabled:gte.value.disable,external:!0,icon:Kpe,name:"renew",text:"Extend License to Enable OS Updates",title:gte.value.title}))),yte=Sae((()=>({click:()=>{eee.replace()},external:!0,icon:Kpe,name:"replace",text:"Replace Key"}))),xte=Sae((()=>({click:()=>{eee.signIn()},disabled:gte.value.disable,external:!0,icon:Gpe,name:"signIn",text:"Sign In with Unraid.net Account",title:gte.value.title}))),kte=Sae((()=>{const tee=!Aee.value||gte.value.disable;let ree="";return Aee.value||(ree="Sign Out requires a keyfile"),gte.value.disable&&(ree=gte.value.title),{click:()=>{eee.signOut()},disabled:tee,external:!0,icon:Ape,name:"signOut",text:"Sign Out of Unraid.net",title:ree}})),_te=Sae((()=>({click:()=>{eee.trialExtend()},disabled:gte.value.disable,external:!0,icon:Kpe,name:"trialExtend",text:"Extend Trial",title:gte.value.title}))),Ete=Sae((()=>({click:()=>{eee.trialStart()},disabled:gte.value.disable,external:!0,icon:Kpe,name:"trialStart",text:"Start Free 30 Day Trial",title:gte.value.title})));let Tte="";const Ste=Sae((()=>{switch(Xee.value){case"ENOKEYFILE":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],Ete.value,wte.value,mte.value,bte.value,...Uee.value&&gee.value?[kte.value]:[]],humanReadable:"No Keyfile",heading:"Let's Unleash Your Hardware",message:'

    Choose an option below, then use our Getting Started Guide to configure your array in less than 15 minutes.

    '};case"TRIAL":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],wte.value,mte.value,...Uee.value&&gee.value?[kte.value]:[]],humanReadable:"Trial",heading:"Thank you for choosing Unraid OS!",message:"

    Your Trial key includes all the functionality and device support of an Unleashed key.

    After your Trial has reached expiration, your server still functions normally until the next time you Stop the array or reboot your server.

    At that point you may either purchase a license key or request a Trial extension.

    "};case"EEXPIRED":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],wte.value,mte.value,...Rte.value?[_te.value]:[],...Uee.value&&gee.value?[kte.value]:[]],error:!0,humanReadable:"Trial Expired",heading:"Your Trial has expired",message:Rte.value?"

    To continue using Unraid OS you may purchase a license key. Alternately, you may request a Trial extension.

    ":"

    You have used all your Trial extensions. To continue using Unraid OS you may purchase a license key.

    "};case"BASIC":case"STARTER":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],...Kee.value?[vte.value]:[],fte.value,...Uee.value&&gee.value?[kte.value]:[]],humanReadable:"BASIC"===Xee.value?"Basic":"Starter",heading:"Thank you for choosing Unraid OS!",message:!Uee.value&&gee.value?"

    Register for Connect by signing in to your Unraid.net account

    ":Iee.value?"

    To support more storage devices as your server grows, click Upgrade Key.

    ":""};case"PLUS":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],fte.value,...Uee.value&&gee.value?[kte.value]:[]],humanReadable:"Plus",heading:"Thank you for choosing Unraid OS!",message:!Uee.value&&gee.value?"

    Register for Connect by signing in to your Unraid.net account

    ":Iee.value?"

    To support more storage devices as your server grows, click Upgrade Key.

    ":""};case"PRO":case"LIFETIME":case"UNLEASHED":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],...Kee.value?[vte.value]:[],..."UNLEASHED"===Xee.value?[fte.value]:[],...Uee.value&&gee.value?[kte.value]:[]],humanReadable:"PRO"===Xee.value?"Pro":"LIFETIME"===Xee.value?"Lifetime":"Unleashed",heading:"Thank you for choosing Unraid OS!",message:!Uee.value&&gee.value?"

    Register for Connect by signing in to your Unraid.net account

    ":""};case"EGUID":return Tte=Oee.value?"

    Your Unraid registration key is ineligible for replacement as it has been replaced within the last 12 months.

    ":!1===Oee.value&&See.value?"

    The license key file does not correspond to the USB Flash boot device. Please copy the correct key file to the /config directory on your USB Flash boot device or choose Purchase Key.

    Your Unraid registration key is ineligible for replacement as it is blacklisted.

    ":!1!==Oee.value||See.value?"

    The license key file does not correspond to the USB Flash boot device. Please copy the correct key file to the /config directory on your USB Flash boot device.

    You may also attempt to Purchase or Replace your key.

    ":"

    The license key file does not correspond to the USB Flash boot device. Please copy the correct key file to the /config directory on your USB Flash boot device or choose Purchase Key.

    Your Unraid registration key is ineligible for replacement as it has been replaced within the last 12 months.

    ",{actions:[...!Uee.value&&gee.value?[xte.value]:[],yte.value,wte.value,mte.value,...Uee.value&&gee.value?[kte.value]:[]],error:!0,humanReadable:"Flash GUID Error",heading:"Registration key / USB Flash GUID mismatch",message:Tte};case"EGUID1":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],wte.value,mte.value,...Uee.value&&gee.value?[kte.value]:[]],error:!0,humanReadable:"Multiple License Keys Present",heading:"Multiple License Keys Present",message:"

    There are multiple license key files present on your USB flash device and none of them correspond to the USB Flash boot device. Please remove all key files, except the one you want to replace, from the /config directory on your USB Flash boot device.

    Alternately you may purchase a license key for this USB flash device.

    If you want to replace one of your license keys with a new key bound to this USB Flash device, please first remove all other key files first.

    "};case"ENOKEYFILE2":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],bte.value,wte.value,mte.value,...Uee.value?[kte.value]:[]],error:!0,humanReadable:"Missing key file",heading:"Missing key file",message:gee.value?"

    Your license key file is corrupted or missing. The key file should be located in the /config directory on your USB Flash boot device.

    You may attempt to recover your key with your Unraid.net account.

    If this was an expired Trial installation, you may purchase a license key.

    ":"

    Your license key file is corrupted or missing. The key file should be located in the /config directory on your USB Flash boot device.

    If you do not have a backup copy of your license key file you may attempt to recover your key.

    If this was an expired Trial installation, you may purchase a license key.

    "};case"ETRIAL":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],wte.value,mte.value,...Uee.value&&gee.value?[kte.value]:[]],error:!0,humanReadable:"Invalid installation",heading:"Invalid installation",message:"

    It is not possible to use a Trial key with an existing Unraid OS installation.

    You may purchase a license key corresponding to this USB Flash device to continue using this installation.

    "};case"ENOKEYFILE1":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],wte.value,mte.value,...Uee.value&&gee.value?[kte.value]:[]],error:!0,humanReadable:"No Keyfile",heading:"No USB flash configuration data",message:"

    There is a problem with your USB Flash device

    "};case"ENOFLASH":case"ENOFLASH1":case"ENOFLASH2":case"ENOFLASH3":case"ENOFLASH4":case"ENOFLASH5":case"ENOFLASH6":case"ENOFLASH7":return{error:!0,humanReadable:"No Flash",heading:"Cannot access your USB Flash boot device",message:"

    There is a physical problem accessing your USB Flash boot device

    "};case"EBLACKLISTED":return{error:!0,humanReadable:"BLACKLISTED",heading:"Blacklisted USB Flash GUID",message:"

    This USB Flash boot device has been blacklisted. This can occur as a result of transferring your license key to a replacement USB Flash device, and you are currently booted from your old USB Flash device.

    A USB Flash device may also be blacklisted if we discover the serial number is not unique – this is common with USB card readers.

    "};case"EBLACKLISTED1":return{error:!0,humanReadable:"BLACKLISTED",heading:"USB Flash device error",message:"

    This USB Flash device has an invalid GUID. Please try a different USB Flash device

    "};case"EBLACKLISTED2":return{error:!0,humanReadable:"BLACKLISTED",heading:"USB Flash has no serial number",message:"

    This USB Flash boot device has been blacklisted. This can occur as a result of transferring your license key to a replacement USB Flash device, and you are currently booted from your old USB Flash device.

    A USB Flash device may also be blacklisted if we discover the serial number is not unique – this is common with USB card readers.

    "};case"ENOCONN":return{error:!0,humanReadable:"Trial Requires Internet Connection",heading:"Cannot validate Unraid Trial key",message:'

    Your Trial key requires an internet connection.

    Please check Settings > Network

    '};default:return{error:!0,humanReadable:"Stale",heading:"Stale Server",message:"

    Please refresh the page to ensure you load your latest configuration

    "}}})),Ite=Sae((()=>{if(Ste.value?.error)return{actions:[{click:()=>{tee.openTroubleshoot({email:yee.value,includeUnraidApiLogs:!!gee.value})},icon:Zpe,text:"Contact Support"}],debugServer:hte.value,heading:Ste.value?.heading??"",level:"error",message:Ste.value?.message??"",ref:`stateDataError__${Xee.value}`,type:"serverState"}}));goe(Ite,((eee,ree)=>{ree&&ree.ref&&tee.removeErrorByRef(ree.ref),eee&&tee.setError(eee)}));const Ote=["signIn","signOut"],Nte=Sae((()=>{if(Ste.value.actions)return Ste.value.actions.find((eee=>Ote.includes(eee.name)))})),Ate=Sae((()=>{if(Ste.value.actions)return Ste.value.actions.filter((eee=>!Ote.includes(eee.name)))})),Rte=Sae((()=>!Vee.value||Vee.value<2)),Dte=Sae((()=>{if(hee.value?.valid||!hee.value?.error);else switch(hee.value?.error){case"INELIGIBLE":return{heading:"Ineligible for OS Version",level:"error",message:"Your License Key does not support this OS Version. OS build date greater than key expiration. Please consider extending your registration key.",actions:[{href:fTe.toString(),icon:$pe,text:"Learn More at Tools > Registration"}],ref:"configError",type:"server"};case"INVALID":return{heading:"Too Many Devices",level:"error",message:"You have exceeded the number of devices allowed for your license. Please remove a device to start the array, or upgrade your key to support more devices.",ref:"configError",type:"server"};case"NO_KEY_SERVER":return{heading:"Check Network Connection",level:"error",message:"Unable to validate your trial key. Please check your network connection.",ref:"configError",type:"server"};case"WITHDRAWN":return{heading:"OS Version Withdrawn",level:"error",message:"This OS release should not be run. OS Update Required.",actions:[{href:bTe.toString(),icon:Npe,text:"Check for Update"}],ref:"configError",type:"server"}}}));goe(Dte,((eee,ree)=>{ree&&ree.ref&&tee.removeErrorByRef(ree.ref),eee&&tee.setError(eee)}));const Cte=Sae((()=>0!==vee.value&&$ee.value>0&&vee.value>$ee.value||!hee.value?.valid&&"INVALID"===hee.value?.error)),Lte=Sae((()=>{if(gee.value&&gee.value.includes("_installFailed"))return{actions:[{external:!0,href:"https://forums.unraid.net/topic/112073-my-servers-releases/#comment-1154449",icon:Wpe,text:"Learn More"}],heading:"Unraid Connect Install Failed",level:"error",message:"Rebooting will likely solve this.",ref:"pluginInstallFailed",type:"server"}}));goe(Lte,((eee,ree)=>{ree&&ree.ref&&tee.removeErrorByRef(ree.ref),eee&&tee.setError(eee)}));const Fte=kre(window.location.hostname.includes("localhost")&&"4321"!==window.location.port?{actions:[{href:hTe.toString(),icon:$pe,text:"Go to Management Access Now"},{external:!0,href:"https://unraid.net/blog/ssl-certificate-update",icon:Wpe,text:"Learn More"}],forumLink:!0,heading:"SSL certificates for unraid.net deprecated",level:"error",message:"On January 1st, 2023 SSL certificates for unraid.net were deprecated. You MUST provision a new SSL certificate to use our new myunraid.net domain. You can do this on the Settings > Management Access page.",ref:"deprecatedUnraidSSL",type:"server"}:void 0);goe(Fte,((eee,ree)=>{ree&&ree.ref&&tee.removeErrorByRef(ree.ref),eee&&tee.setError(eee)}));const zte=Sae((()=>{if(Uee.value&&uee.value?.error&&"signOut"!==eee.accountActionType&&"oemSignOut"!==eee.accountActionType)return{actions:[{click:()=>{tee.openTroubleshoot({email:yee.value,includeUnraidApiLogs:!!gee.value})},icon:Zpe,text:"Contact Support"}],debugServer:hte.value,heading:"Unraid Connect Error",level:"error",message:uee.value?.error??"",ref:"cloudError",type:"unraidApiState"}}));goe(zte,((eee,ree)=>{ree&&ree.ref&&tee.removeErrorByRef(ree.ref),eee&&tee.setError(eee)}));const Mte=Sae((()=>[Ite.value,Dte.value,Lte.value,Fte.value,zte.value].filter(Boolean))),Pte=eee=>{console.debug("[setServer]",eee),void 0!==eee?.apiKey&&(aee.value=eee.apiKey),void 0!==eee?.array&&(see.value=eee.array),void 0!==eee?.apiVersion&&(iee.value=eee.apiVersion),void 0!==eee?.avatar&&(pee.value=eee.avatar),void 0!==eee?.caseModel&&(dee.value=eee.caseModel),void 0!==eee?.cloud&&(uee.value=eee.cloud),void 0!==eee?.combinedKnownOrigins&&(ate.value=eee.combinedKnownOrigins),void 0!==eee?.config&&(hee.value=eee.config),void 0!==eee?.connectPluginInstalled&&(gee.value=eee.connectPluginInstalled),void 0!==eee?.connectPluginVersion&&(wee.value=eee.connectPluginVersion),void 0!==eee?.csrf&&(fee.value=eee.csrf),void 0!==eee?.dateTimeFormat&&(bee.value=eee.dateTimeFormat),void 0!==eee?.description&&(mee.value=eee.description),void 0!==eee?.deviceCount&&(vee.value=eee.deviceCount),void 0!==eee?.email&&(yee.value=eee.email),void 0!==eee?.expireTime&&(xee.value=eee.expireTime),void 0!==eee?.flashBackupActivated&&(kee.value=eee.flashBackupActivated),void 0!==eee?.flashProduct&&(_ee.value=eee.flashProduct),void 0!==eee?.flashVendor&&(Eee.value=eee.flashVendor),void 0!==eee?.guid&&(Tee.value=eee.guid),void 0!==eee?.keyfile&&(Aee.value=eee.keyfile),void 0!==eee?.lanIp&&(Ree.value=eee.lanIp),void 0!==eee?.license&&(Dee.value=eee.license),void 0!==eee?.locale&&(Cee.value=eee.locale),void 0!==eee?.name&&(Lee.value=eee.name),void 0!==eee?.osVersion&&(Fee.value=eee.osVersion),void 0!==eee?.osVersionBranch&&(zee.value=eee.osVersionBranch),void 0!==eee?.rebootType&&(Mee.value=eee.rebootType),void 0!==eee?.rebootVersion&&(Pee.value=eee.rebootVersion),void 0!==eee?.registered&&(Uee.value=eee.registered),void 0!==eee?.regGen&&(Vee.value=eee.regGen),void 0!==eee?.regGuid&&(qee.value=eee.regGuid),void 0!==eee?.regTy&&(Gee.value=eee.regTy),void 0!==eee?.regExp&&(Qee.value=eee.regExp),void 0!==eee?.site&&(Hee.value=eee.site),void 0!==eee?.state&&(Xee.value=eee.state),void 0!==eee?.theme&&(Zee.value=eee.theme),void 0!==eee?.updateOsIgnoredReleases&&(ete.value=eee.updateOsIgnoredReleases),void 0!==eee?.updateOsNotificationsEnabled&&(tte.value=eee.updateOsNotificationsEnabled),void 0!==eee?.updateOsResponse&&(Jee.value=eee.updateOsResponse),void 0!==eee?.uptime&&(rte.value=eee.uptime),void 0!==eee?.username&&(ote.value=eee.username),void 0!==eee?.wanFQDN&&(nte.value=eee.wanFQDN),void 0!==eee?.regTm&&(Bee.value=eee.regTm),void 0!==eee?.regTo&&(Yee.value=eee.regTo)};let Ute=0;const jte=kre("ready"),$te=async()=>{if(Ute>=20)return jte.value="timeout",!1;Ute++,jte.value="refreshing";const eee=Uee.value,tee=Xee.value,ree=Qee.value,oee=Boolean(ite?.value)?await(ite?.value?.()):await(async()=>{try{const eee=await _Te.get().json();return Pte(eee),eee}catch(eee){console.error("[phpServerStateRefresh] error",eee)}})();if(!oee)return setTimeout((()=>{$te()}),250);const nee={newRegistered:!1,newState:null,newRegExp:null};"data"in oee?(nee.newRegistered=Boolean(oee.data.owner&&"root"!==oee.data.owner.username),nee.newState=oee.data.vars?.regState??null,nee.newRegExp=Number(oee.data.registration?.updateExpiration??0)):(nee.newRegistered=Boolean(oee.registered),nee.newState=oee.state,nee.newRegExp=Number(oee.regExp??0));const aee=nee.newRegistered!==eee,iee=nee.newState!==tee,see=nee.newRegExp??0>ree;if(aee||iee||see)return jte.value="done",!0;setTimeout((()=>$te()),250)};uoe((()=>{Pee.value&&console.debug("[server.rebootVersion]",Pee.value)}));return{apiKey:aee,array:see,avatar:pee,cloud:uee,config:hee,connectPluginInstalled:gee,csrf:fee,dateTimeFormat:bee,description:mee,deviceCount:vee,expireTime:xee,flashBackupActivated:kee,flashProduct:_ee,flashVendor:Eee,guid:Tee,keyfile:Aee,inIframe:Nee,locale:Cee,lanIp:Ree,name:Lee,osVersion:Fee,osVersionBranch:zee,rebootType:Mee,rebootVersion:Pee,registered:Uee,computedRegDevs:$ee,regGen:Vee,regGuid:qee,regTm:Bee,regTo:Yee,regTy:Gee,regExp:Qee,parsedRegExp:Wee,regUpdatesExpired:Kee,site:Hee,state:Xee,theme:Zee,updateOsIgnoredReleases:ete,updateOsNotificationsEnabled:tte,updateOsResponse:Jee,uptime:rte,username:ote,refreshServerStateStatus:jte,isOsVersionStable:cte,renewAction:vte,authAction:Nte,deprecatedUnraidSSL:Fte,isRemoteAccess:ste,keyActions:Ate,pluginInstallFailed:Lte,pluginOutdated:lte,server:pte,serverAccountPayload:ute,serverPurchasePayload:dte,stateData:Ste,stateDataError:Ite,serverErrors:Mte,tooManyDevices:Cte,serverConfigError:Dte,arrayWarning:lee,computedArray:cee,setServer:Pte,setUpdateOsResponse:eee=>{Jee.value=eee},fetchServerFromApi:()=>{const{result:eee,refetch:tee}=SEe(DEe,null,{fetchPolicy:"no-cache"}),ree=Sae((()=>eee.value??null));return ite.value=tee,goe(ree,(eee=>{if(eee){const tee=(eee=>{console.debug("mutateServerStateFromApi",eee);const tee={...eee.owner&&"root"!==eee.owner.username?{username:eee.owner.username??"",registered:!0}:{username:"",registered:!1},name:eee.info&&eee.info.os&&eee.info.os.hostname?eee.info.os.hostname:void 0,keyfile:eee.registration&&eee.registration.keyFile&&eee.registration.keyFile.contents?eee.registration.keyFile.contents:void 0,regGen:eee.vars&&eee.vars.regGen?parseInt(eee.vars.regGen):void 0,state:eee.vars&&eee.vars.regState?eee.vars.regState:void 0,config:eee.config?eee.config:{error:eee.vars&&eee.vars.configError?eee.vars.configError:void 0,valid:!eee.vars||!eee.vars.configValid||eee.vars.configValid},expireTime:eee.registration&&eee.registration.expiration?parseInt(eee.registration.expiration):0,cloud:eee.cloud?(ree=eee.cloud,ree):void 0,regExp:eee.registration&&eee.registration.updateExpiration?Number(eee.registration.updateExpiration):void 0};var ree;return console.debug("mutatedData",tee),tee})(eee);Pte(tee)}})),eee},refreshServerState:$te,filteredKeyActions:(eee,tee)=>{if(Ste.value.actions)return Ste.value.actions.filter((ree=>"out"===eee?!tee.includes(ree.name):tee.includes(ree.name)))},setRebootVersion:eee=>{Pee.value=eee},updateOsIgnoreRelease:eee=>{ete.value.push(eee);const tee=ETe({action:"ignoreVersion",version:eee});console.debug("[updateOsIgnoreRelease] response",tee)},updateOsRemoveIgnoredRelease:eee=>{ete.value=ete.value.filter((r=>r!==eee));const tee=ETe({action:"removeIgnoredVersion",version:eee});console.debug("[updateOsRemoveIgnoredRelease] response",tee)},updateOsRemoveAllIgnoredReleases:()=>{ete.value=[];const eee=ETe({action:"removeAllIgnored"});console.debug("[updateOsRemoveAllIgnoredReleases] response",eee)}}})),dIe={class:"whitespace-normal flex flex-col gap-y-16px max-w-3xl"},uIe={key:0,class:"text-unraid-red font-semibold"},hIe={class:"text-16px mb-8px"},gIe=["innerHTML"],wIe={key:1},fIe=xoe({__name:"Auth.ce",setup(eee){const{t:t}=_ce(),tee=pIe(),{authAction:ree,stateData:oee}=Zce(tee);return(eee,tee)=>{const nee=Lce;return qne(),Qne("div",dIe,[Sre(oee).error?(qne(),Qne("span",uIe,[eae("h3",hIe,Hee(Sre(t)(Sre(oee).heading)),1),eae("span",{class:"text-14px",innerHTML:Sre(t)(Sre(oee).message)},null,8,gIe)])):aae("",!0),Sre(ree)?(qne(),Qne("span",wIe,[tae(nee,{disabled:Sre(ree)?.disabled,icon:Sre(ree).icon,size:"12px",text:Sre(t)(Sre(ree).text),title:Sre(ree)?.title?Sre(t)(Sre(ree)?.title):void 0,onClick:tee[0]||(tee[0]=eee=>Sre(ree).click?.())},null,8,["disabled","icon","text","title"])])):aae("",!0)])}}}),bIe=Ace(fIe,[["styles",['/*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:clear-sans,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:470px){.container{max-width:470px}}@media (min-width:530px){.container{max-width:530px}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--color-beta);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:#ff8c2f;font-weight:500;text-decoration:underline}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{color:#f15a2c}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"“""”""‘""’"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:start;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:var(--color-beta);--tw-prose-headings:var(--color-beta);--tw-prose-lead:var(--color-beta);--tw-prose-links:#ff8c2f;--tw-prose-bold:var(--color-beta);--tw-prose-counters:var(--color-beta);--tw-prose-bullets:var(--color-beta);--tw-prose-hr:var(--color-beta);--tw-prose-quotes:var(--color-beta);--tw-prose-quote-borders:var(--color-beta);--tw-prose-captions:var(--color-beta);--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:var(--color-beta);--tw-prose-pre-code:var(--color-beta);--tw-prose-pre-bg:var(--color-alpha);--tw-prose-th-borders:var(--color-beta);--tw-prose-td-borders:var(--color-beta);--tw-prose-invert-body:var(--color-alpha);--tw-prose-invert-headings:var(--color-alpha);--tw-prose-invert-lead:var(--color-alpha);--tw-prose-invert-links:#ff8c2f;--tw-prose-invert-bold:var(--color-alpha);--tw-prose-invert-counters:var(--color-alpha);--tw-prose-invert-bullets:var(--color-alpha);--tw-prose-invert-hr:var(--color-alpha);--tw-prose-invert-quotes:var(--color-alpha);--tw-prose-invert-quote-borders:var(--color-alpha);--tw-prose-invert-captions:var(--color-alpha);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--color-alpha);--tw-prose-invert-pre-code:var(--color-alpha);--tw-prose-invert-pre-bg:var(--color-beta);--tw-prose-invert-th-borders:var(--color-alpha);--tw-prose-invert-td-borders:var(--color-alpha);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose{--tw-prose-invert-code-bg:var(--color-gamma-opaque)}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-\\[2px\\]{bottom:-2px}.-left-\\[2px\\]{left:-2px}.-right-\\[2px\\]{right:-2px}.-top-1{top:-.25rem}.-top-\\[2px\\]{top:-2px}.bottom-0{bottom:0}.bottom-\\[-3px\\]{bottom:-3px}.right-0{right:0}.top-0{top:0}.top-\\[1px\\]{top:1px}.top-full{top:100%}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\\[99999\\]{z-index:99999}.mx-8px{margin-left:8px;margin-right:8px}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.my-12{margin-bottom:3rem;margin-top:3rem}.my-16px{margin-bottom:16px;margin-top:16px}.my-24px{margin-bottom:24px;margin-top:24px}.my-8px{margin-bottom:8px;margin-top:8px}.mb-4px{margin-bottom:4px}.mb-8px{margin-bottom:8px}.ml-3{margin-left:.75rem}.ml-8px{margin-left:8px}.mr-8px{margin-right:8px}.mt-0{margin-top:0}.mt-12px{margin-top:12px}.mt-2{margin-top:.5rem}.mt-24px{margin-top:24px}.mt-4px{margin-top:4px}.mt-8px{margin-top:8px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-12px{height:12px}.h-16px{height:16px}.h-20px{height:20px}.h-24px{height:24px}.h-2px{height:2px}.h-32px{height:32px}.h-36px{height:36px}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.max-h-\\[65vh\\]{max-height:65vh}.min-h-\\[250px\\]{min-height:250px}.min-h-screen{min-height:100vh}.w-1\\/2{width:50%}.w-11{width:2.75rem}.w-12px{width:12px}.w-14px{width:14px}.w-16px{width:16px}.w-20px{width:20px}.w-24px{width:24px}.w-28px{width:28px}.w-2px{width:2px}.w-32px{width:32px}.w-36px{width:36px}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\\[100px\\]{width:100px}.w-\\[110px\\]{width:110px}.w-\\[120px\\]{width:120px}.w-\\[125\\%\\]{width:125%}.w-\\[150px\\]{width:150px}.w-\\[44px\\]{width:44px}.w-\\[48px\\]{width:48px}.w-full{width:100%}.w-screen{width:100vw}.min-w-300px{min-width:300px}.min-w-\\[280px\\]{min-width:280px}.max-w-1024px{max-width:1024px}.max-w-160px{max-width:160px}.max-w-350px{max-width:350px}.max-w-3xl{max-width:48rem}.max-w-640px{max-width:640px}.max-w-800px{max-width:800px}.max-w-\\[45ch\\]{max-width:45ch}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.grow-0{flex-grow:0}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-20px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-20px{--tw-translate-x:20px}.translate-x-\\[26px\\]{--tw-translate-x:26px}.translate-x-\\[26px\\],.translate-x-\\[2px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[2px\\]{--tw-translate-x:2px}.translate-y-\\[16px\\]{--tw-translate-y:16px}.scale-100,.translate-y-\\[16px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-12px{gap:12px}.gap-16px{gap:16px}.gap-2{gap:.5rem}.gap-20px{gap:20px}.gap-4{gap:1rem}.gap-4px{gap:4px}.gap-6{gap:1.5rem}.gap-8px{gap:8px}.gap-x-16px{-moz-column-gap:16px;column-gap:16px}.gap-x-4px{-moz-column-gap:4px;column-gap:4px}.gap-x-8px{-moz-column-gap:8px;column-gap:8px}.gap-y-16px{row-gap:16px}.gap-y-24px{row-gap:24px}.gap-y-4px{row-gap:4px}.gap-y-8px{row-gap:8px}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-normal{white-space:normal}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b-2{border-bottom-width:2px}.border-l-0{border-left-width:0}.border-r-0{border-right-width:0}.border-t-0{border-top-width:0}.border-solid{border-style:solid}.border-none{border-style:none}.border-black{--tw-border-opacity:1;border-color:rgb(28 27 27/var(--tw-border-opacity))}.border-gamma-opaque{border-color:var(--color-gamma-opaque)}.border-green-600\\/10{border-color:#16a34a1a}.border-grey-mid{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.border-orange{--tw-border-opacity:1;border-color:rgb(255 140 47/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-unraid-red{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.border-unraid-red\\/10{border-color:#e228281a}.border-unraid-red\\/90{border-color:#e22828e6}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-white\\/10{border-color:#ffffff1a}.border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity))}.bg-alpha{background-color:var(--color-alpha)}.bg-beta{background-color:var(--color-beta)}.bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-current{background-color:currentColor}.bg-gamma{background-color:var(--color-gamma)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-grey{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-orange{--tw-bg-opacity:1;background-color:rgb(255 140 47/var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-unraid-red{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.bg-unraid-red\\/90{background-color:#e22828e6}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity:.8}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-unraid-red{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-orange{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.to-orange\\/60{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-green-600{fill:#16a34a}.fill-unraid-red{fill:#e22828}.p-0{padding:0}.p-1{padding:.25rem}.p-12px{padding:12px}.p-16px{padding:16px}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8px{padding:8px}.px-12px{padding-left:12px;padding-right:12px}.px-16px{padding-left:16px;padding-right:16px}.px-4{padding-left:1rem;padding-right:1rem}.px-4px{padding-left:4px;padding-right:4px}.px-6px{padding-left:6px;padding-right:6px}.px-8px{padding-left:8px;padding-right:8px}.py-0{padding-bottom:0;padding-top:0}.py-12px{padding-bottom:12px;padding-top:12px}.py-24px{padding-bottom:24px;padding-top:24px}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-4px{padding-bottom:4px;padding-top:4px}.py-8px{padding-bottom:8px;padding-top:8px}.pb-12{padding-bottom:3rem}.pb-8px{padding-bottom:8px}.pl-40px{padding-left:40px}.pr-16px{padding-right:16px}.pr-40px{padding-right:40px}.pr-4px{padding-right:4px}.pt-4px{padding-top:4px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-10px{font-size:10px}.text-12px{font-size:12px}.text-14px{font-size:14px}.text-16px{font-size:16px}.text-18px{font-size:18px}.text-20px{font-size:20px}.text-24px{font-size:24px}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.text-\\[\\#486dba\\]{--tw-text-opacity:1;color:rgb(72 109 186/var(--tw-text-opacity))}.text-alpha{color:var(--color-alpha)}.text-beta{color:var(--color-beta)}.text-black{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-current{color:currentColor}.text-gamma{color:var(--color-gamma)}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-grey-mid{--tw-text-opacity:1;color:rgb(153 153 153/var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}.text-orange{--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-unraid-red{--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[var\\(--ring-offset-shadow\\)_var\\(--ring-shadow\\)_var\\(--shadow-beta\\)\\]{--tw-shadow-color:var(--ring-offset-shadow) var(--ring-shadow) var(--shadow-beta);--tw-shadow:var(--tw-shadow-colored)}.shadow-green-600\\/30{--tw-shadow-color:rgba(22,163,74,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-orange\\/10{--tw-shadow-color:rgba(255,140,47,.1);--tw-shadow:var(--tw-shadow-colored)}.shadow-unraid-red\\/30{--tw-shadow-color:rgba(226,40,40,.3);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-black{outline-color:#1c1b1b}.outline-white{outline-color:#fff}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.even\\:bg-black\\/5:nth-child(2n){background-color:#1c1b1b0d}.even\\:bg-grey-darkest:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity))}@keyframes pulse{50%{opacity:.5}}.hover\\:animate-pulse:hover{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.hover\\:border-beta:hover{border-color:var(--color-beta)}.hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.hover\\:border-grey-mid:hover{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.hover\\:border-orange-dark:hover{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.hover\\:border-unraid-red:hover{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.hover\\:bg-beta:hover{background-color:var(--color-beta)}.hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.hover\\:bg-grey-mid:hover{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.hover\\:bg-unraid-red:hover{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\\:bg-gradient-to-r:hover{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.hover\\:from-unraid-red:hover{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:from-unraid-red\\/60:hover{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:to-orange:hover{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.hover\\:to-orange\\/60:hover{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.hover\\:text-\\[\\#3b5ea9\\]:hover{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.hover\\:text-alpha:hover{color:var(--color-alpha)}.hover\\:text-black:hover{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:no-underline:hover{text-decoration-line:none}.hover\\:opacity-100:hover{opacity:1}.hover\\:opacity-75:hover{opacity:.75}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:shadow-orange\\/50:hover{--tw-shadow-color:rgba(255,140,47,.5);--tw-shadow:var(--tw-shadow-colored)}.focus\\:border-beta:focus{border-color:var(--color-beta)}.focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.focus\\:border-grey-mid:focus{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.focus\\:border-orange-dark:focus{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.focus\\:border-unraid-red:focus{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.focus\\:bg-beta:focus{background-color:var(--color-beta)}.focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.focus\\:bg-grey-mid:focus{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.focus\\:bg-unraid-red:focus{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus\\:bg-gradient-to-r:focus{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.focus\\:from-unraid-red:focus{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:from-unraid-red\\/60:focus{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:to-orange:focus{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.focus\\:to-orange\\/60:focus{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.focus\\:text-\\[\\#3b5ea9\\]:focus{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.focus\\:text-alpha:focus{color:var(--color-alpha)}.focus\\:text-black:focus{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.focus\\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\\:underline:focus{text-decoration-line:underline}.focus\\:no-underline:focus{text-decoration-line:none}.focus\\:opacity-100:focus{opacity:1}.focus\\:opacity-75:focus{opacity:.75}.focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.focus\\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-25:disabled{opacity:.25}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:hover\\:opacity-25:hover:disabled{opacity:.25}.disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.disabled\\:focus\\:opacity-25:focus:disabled{opacity:.25}.disabled\\:focus\\:opacity-50:focus:disabled{opacity:.5}.group:hover .group-hover\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:hover .group-hover\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:hover .group-hover\\:underline{text-decoration-line:underline}.group:hover .group-hover\\:opacity-100{opacity:1}.group:hover .group-hover\\:opacity-60{opacity:.6}.group:hover .group-hover\\:opacity-75{opacity:.75}.group:focus .group-focus\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:focus .group-focus\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:focus .group-focus\\:underline{text-decoration-line:underline}.group:focus .group-focus\\:opacity-100{opacity:1}.group:focus .group-focus\\:opacity-60{opacity:.6}.group:focus .group-focus\\:opacity-75{opacity:.75}.prose-a\\:text-unraid-red :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.hover\\:prose-a\\:text-unraid-red\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#e2282899}.hover\\:prose-a\\:no-underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{text-decoration-line:none}@media (min-width:640px){.sm\\:col-span-2{grid-column:span 2/span 2}.sm\\:col-span-3{grid-column:span 3/span 3}.sm\\:col-start-2{grid-column-start:2}.sm\\:block{display:block}.sm\\:w-\\[150px\\]{width:150px}.sm\\:w-full{width:100%}.sm\\:min-w-\\[400px\\]{min-width:400px}.sm\\:max-w-300px{max-width:300px}.sm\\:max-w-lg{max-width:32rem}.sm\\:flex-shrink-0{flex-shrink:0}.sm\\:flex-grow-0{flex-grow:0}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-start{align-items:flex-start}.sm\\:items-center{align-items:center}.sm\\:justify-end{justify-content:flex-end}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-16px{gap:16px}.sm\\:gap-24px{gap:24px}.sm\\:gap-y-24px{row-gap:24px}.sm\\:p-16px{padding:16px}.sm\\:px-20px{padding-left:20px;padding-right:20px}.sm\\:pr-40px{padding-right:40px}.sm\\:text-right{text-align:right}.sm\\:text-18px{font-size:18px}.sm\\:text-20px{font-size:20px}.sm\\:text-24px{font-size:24px}}@media (min-width:768px){.md\\:inline-block{display:inline-block}.md\\:min-w-\\[500px\\]{min-width:500px}.md\\:flex-row{flex-direction:row}.md\\:items-start{align-items:flex-start}.md\\:items-end{align-items:flex-end}.md\\:justify-between{justify-content:space-between}.md\\:gap-16px{gap:16px}.md\\:p-24px{padding:24px}.md\\:p-6{padding:1.5rem}.md\\:py-24px{padding-bottom:24px;padding-top:24px}.md\\:text-24px{font-size:24px}}@media (min-width:470px){.\\32xs\\:block{display:block}}@media (min-width:530px){.xs\\:block{display:block}.xs\\:flex-row{flex-direction:row}.xs\\:items-baseline{align-items:baseline}.xs\\:justify-start{justify-content:flex-start}.xs\\:gap-x-12px{-moz-column-gap:12px;column-gap:12px}.xs\\:text-12px{font-size:12px}}@media (min-height:700px){.tall\\:max-h-\\[75vh\\]{max-height:75vh}}@media (prefers-color-scheme:dark){.dark\\:border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.dark\\:bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.dark\\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\\:prose-a\\:text-orange :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.hover\\:dark\\:prose-a\\:text-orange\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#ff8c2f99}}']]]),mIe={key:0,class:"italic"},vIe={key:0,class:"text-unraid-red font-semibold"},yIe={key:0},xIe={key:1,class:"inline-block w-1/2 whitespace-normal"},kIe=xoe({__name:"WanIpCheck.ce",props:{phpWanIp:{}},setup(eee){const tee=eee,{t:t}=_ce(),{isRemoteAccess:ree}=Zce(pIe()),oee=kre(),nee=kre(""),aee=kre(!1),iee=Sae((()=>tee.phpWanIp?nee.value?nee.value:"":t("DNS issue, unable to resolve wanip4.unraid.net")));return Aoe((()=>{oee.value=sessionStorage.getItem("unraidConnect_wanIp")})),uoe((async()=>{if(!oee.value&&tee.phpWanIp){aee.value=!0;const eee=await JEe.url("https://wanip4.unraid.net/").get().text();eee?(aee.value=!1,oee.value=eee,sessionStorage.setItem("unraidConnect_wanIp",oee.value)):(aee.value=!1,nee.value=t("Unable to fetch client WAN IPv4"))}})),(eee,tee)=>Sre(aee)?(qne(),Qne("span",mIe,Hee(Sre(t)("Checking WAN IPs…")),1)):(qne(),Qne(Mne,{key:1},[Sre(iee)?(qne(),Qne("span",vIe,Hee(Sre(iee)),1)):(qne(),Qne(Mne,{key:1},[Sre(ree)||eee.phpWanIp===Sre(oee)&&!Sre(ree)?(qne(),Qne("span",yIe,Hee(Sre(t)("Remark: your WAN IPv4 is {0}",[Sre(oee)])),1)):(qne(),Qne("span",xIe,Hee(Sre(t)("Remark: Unraid's WAN IPv4 {0} does not match your client's WAN IPv4 {1}.",[eee.phpWanIp,Sre(oee)]))+" "+Hee(Sre(t)("This may indicate a complex network that will not work with this Remote Access solution."))+" "+Hee(Sre(t)("Ignore this message if you are currently connected via Remote Access or VPN.")),1))],64))],64))}}),_Ie=Ace(kIe,[["styles",['/*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:clear-sans,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:470px){.container{max-width:470px}}@media (min-width:530px){.container{max-width:530px}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--color-beta);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:#ff8c2f;font-weight:500;text-decoration:underline}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{color:#f15a2c}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"“""”""‘""’"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:start;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:var(--color-beta);--tw-prose-headings:var(--color-beta);--tw-prose-lead:var(--color-beta);--tw-prose-links:#ff8c2f;--tw-prose-bold:var(--color-beta);--tw-prose-counters:var(--color-beta);--tw-prose-bullets:var(--color-beta);--tw-prose-hr:var(--color-beta);--tw-prose-quotes:var(--color-beta);--tw-prose-quote-borders:var(--color-beta);--tw-prose-captions:var(--color-beta);--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:var(--color-beta);--tw-prose-pre-code:var(--color-beta);--tw-prose-pre-bg:var(--color-alpha);--tw-prose-th-borders:var(--color-beta);--tw-prose-td-borders:var(--color-beta);--tw-prose-invert-body:var(--color-alpha);--tw-prose-invert-headings:var(--color-alpha);--tw-prose-invert-lead:var(--color-alpha);--tw-prose-invert-links:#ff8c2f;--tw-prose-invert-bold:var(--color-alpha);--tw-prose-invert-counters:var(--color-alpha);--tw-prose-invert-bullets:var(--color-alpha);--tw-prose-invert-hr:var(--color-alpha);--tw-prose-invert-quotes:var(--color-alpha);--tw-prose-invert-quote-borders:var(--color-alpha);--tw-prose-invert-captions:var(--color-alpha);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--color-alpha);--tw-prose-invert-pre-code:var(--color-alpha);--tw-prose-invert-pre-bg:var(--color-beta);--tw-prose-invert-th-borders:var(--color-alpha);--tw-prose-invert-td-borders:var(--color-alpha);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose{--tw-prose-invert-code-bg:var(--color-gamma-opaque)}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-\\[2px\\]{bottom:-2px}.-left-\\[2px\\]{left:-2px}.-right-\\[2px\\]{right:-2px}.-top-1{top:-.25rem}.-top-\\[2px\\]{top:-2px}.bottom-0{bottom:0}.bottom-\\[-3px\\]{bottom:-3px}.right-0{right:0}.top-0{top:0}.top-\\[1px\\]{top:1px}.top-full{top:100%}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\\[99999\\]{z-index:99999}.mx-8px{margin-left:8px;margin-right:8px}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.my-12{margin-bottom:3rem;margin-top:3rem}.my-16px{margin-bottom:16px;margin-top:16px}.my-24px{margin-bottom:24px;margin-top:24px}.my-8px{margin-bottom:8px;margin-top:8px}.mb-4px{margin-bottom:4px}.mb-8px{margin-bottom:8px}.ml-3{margin-left:.75rem}.ml-8px{margin-left:8px}.mr-8px{margin-right:8px}.mt-0{margin-top:0}.mt-12px{margin-top:12px}.mt-2{margin-top:.5rem}.mt-24px{margin-top:24px}.mt-4px{margin-top:4px}.mt-8px{margin-top:8px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-12px{height:12px}.h-16px{height:16px}.h-20px{height:20px}.h-24px{height:24px}.h-2px{height:2px}.h-32px{height:32px}.h-36px{height:36px}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.max-h-\\[65vh\\]{max-height:65vh}.min-h-\\[250px\\]{min-height:250px}.min-h-screen{min-height:100vh}.w-1\\/2{width:50%}.w-11{width:2.75rem}.w-12px{width:12px}.w-14px{width:14px}.w-16px{width:16px}.w-20px{width:20px}.w-24px{width:24px}.w-28px{width:28px}.w-2px{width:2px}.w-32px{width:32px}.w-36px{width:36px}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\\[100px\\]{width:100px}.w-\\[110px\\]{width:110px}.w-\\[120px\\]{width:120px}.w-\\[125\\%\\]{width:125%}.w-\\[150px\\]{width:150px}.w-\\[44px\\]{width:44px}.w-\\[48px\\]{width:48px}.w-full{width:100%}.w-screen{width:100vw}.min-w-300px{min-width:300px}.min-w-\\[280px\\]{min-width:280px}.max-w-1024px{max-width:1024px}.max-w-160px{max-width:160px}.max-w-350px{max-width:350px}.max-w-3xl{max-width:48rem}.max-w-640px{max-width:640px}.max-w-800px{max-width:800px}.max-w-\\[45ch\\]{max-width:45ch}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.grow-0{flex-grow:0}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-20px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-20px{--tw-translate-x:20px}.translate-x-\\[26px\\]{--tw-translate-x:26px}.translate-x-\\[26px\\],.translate-x-\\[2px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[2px\\]{--tw-translate-x:2px}.translate-y-\\[16px\\]{--tw-translate-y:16px}.scale-100,.translate-y-\\[16px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-12px{gap:12px}.gap-16px{gap:16px}.gap-2{gap:.5rem}.gap-20px{gap:20px}.gap-4{gap:1rem}.gap-4px{gap:4px}.gap-6{gap:1.5rem}.gap-8px{gap:8px}.gap-x-16px{-moz-column-gap:16px;column-gap:16px}.gap-x-4px{-moz-column-gap:4px;column-gap:4px}.gap-x-8px{-moz-column-gap:8px;column-gap:8px}.gap-y-16px{row-gap:16px}.gap-y-24px{row-gap:24px}.gap-y-4px{row-gap:4px}.gap-y-8px{row-gap:8px}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-normal{white-space:normal}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b-2{border-bottom-width:2px}.border-l-0{border-left-width:0}.border-r-0{border-right-width:0}.border-t-0{border-top-width:0}.border-solid{border-style:solid}.border-none{border-style:none}.border-black{--tw-border-opacity:1;border-color:rgb(28 27 27/var(--tw-border-opacity))}.border-gamma-opaque{border-color:var(--color-gamma-opaque)}.border-green-600\\/10{border-color:#16a34a1a}.border-grey-mid{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.border-orange{--tw-border-opacity:1;border-color:rgb(255 140 47/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-unraid-red{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.border-unraid-red\\/10{border-color:#e228281a}.border-unraid-red\\/90{border-color:#e22828e6}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-white\\/10{border-color:#ffffff1a}.border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity))}.bg-alpha{background-color:var(--color-alpha)}.bg-beta{background-color:var(--color-beta)}.bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-current{background-color:currentColor}.bg-gamma{background-color:var(--color-gamma)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-grey{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-orange{--tw-bg-opacity:1;background-color:rgb(255 140 47/var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-unraid-red{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.bg-unraid-red\\/90{background-color:#e22828e6}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity:.8}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-unraid-red{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-orange{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.to-orange\\/60{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-green-600{fill:#16a34a}.fill-unraid-red{fill:#e22828}.p-0{padding:0}.p-1{padding:.25rem}.p-12px{padding:12px}.p-16px{padding:16px}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8px{padding:8px}.px-12px{padding-left:12px;padding-right:12px}.px-16px{padding-left:16px;padding-right:16px}.px-4{padding-left:1rem;padding-right:1rem}.px-4px{padding-left:4px;padding-right:4px}.px-6px{padding-left:6px;padding-right:6px}.px-8px{padding-left:8px;padding-right:8px}.py-0{padding-bottom:0;padding-top:0}.py-12px{padding-bottom:12px;padding-top:12px}.py-24px{padding-bottom:24px;padding-top:24px}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-4px{padding-bottom:4px;padding-top:4px}.py-8px{padding-bottom:8px;padding-top:8px}.pb-12{padding-bottom:3rem}.pb-8px{padding-bottom:8px}.pl-40px{padding-left:40px}.pr-16px{padding-right:16px}.pr-40px{padding-right:40px}.pr-4px{padding-right:4px}.pt-4px{padding-top:4px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-10px{font-size:10px}.text-12px{font-size:12px}.text-14px{font-size:14px}.text-16px{font-size:16px}.text-18px{font-size:18px}.text-20px{font-size:20px}.text-24px{font-size:24px}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.text-\\[\\#486dba\\]{--tw-text-opacity:1;color:rgb(72 109 186/var(--tw-text-opacity))}.text-alpha{color:var(--color-alpha)}.text-beta{color:var(--color-beta)}.text-black{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-current{color:currentColor}.text-gamma{color:var(--color-gamma)}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-grey-mid{--tw-text-opacity:1;color:rgb(153 153 153/var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}.text-orange{--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-unraid-red{--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[var\\(--ring-offset-shadow\\)_var\\(--ring-shadow\\)_var\\(--shadow-beta\\)\\]{--tw-shadow-color:var(--ring-offset-shadow) var(--ring-shadow) var(--shadow-beta);--tw-shadow:var(--tw-shadow-colored)}.shadow-green-600\\/30{--tw-shadow-color:rgba(22,163,74,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-orange\\/10{--tw-shadow-color:rgba(255,140,47,.1);--tw-shadow:var(--tw-shadow-colored)}.shadow-unraid-red\\/30{--tw-shadow-color:rgba(226,40,40,.3);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-black{outline-color:#1c1b1b}.outline-white{outline-color:#fff}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.even\\:bg-black\\/5:nth-child(2n){background-color:#1c1b1b0d}.even\\:bg-grey-darkest:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity))}@keyframes pulse{50%{opacity:.5}}.hover\\:animate-pulse:hover{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.hover\\:border-beta:hover{border-color:var(--color-beta)}.hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.hover\\:border-grey-mid:hover{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.hover\\:border-orange-dark:hover{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.hover\\:border-unraid-red:hover{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.hover\\:bg-beta:hover{background-color:var(--color-beta)}.hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.hover\\:bg-grey-mid:hover{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.hover\\:bg-unraid-red:hover{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\\:bg-gradient-to-r:hover{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.hover\\:from-unraid-red:hover{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:from-unraid-red\\/60:hover{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:to-orange:hover{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.hover\\:to-orange\\/60:hover{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.hover\\:text-\\[\\#3b5ea9\\]:hover{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.hover\\:text-alpha:hover{color:var(--color-alpha)}.hover\\:text-black:hover{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:no-underline:hover{text-decoration-line:none}.hover\\:opacity-100:hover{opacity:1}.hover\\:opacity-75:hover{opacity:.75}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:shadow-orange\\/50:hover{--tw-shadow-color:rgba(255,140,47,.5);--tw-shadow:var(--tw-shadow-colored)}.focus\\:border-beta:focus{border-color:var(--color-beta)}.focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.focus\\:border-grey-mid:focus{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.focus\\:border-orange-dark:focus{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.focus\\:border-unraid-red:focus{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.focus\\:bg-beta:focus{background-color:var(--color-beta)}.focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.focus\\:bg-grey-mid:focus{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.focus\\:bg-unraid-red:focus{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus\\:bg-gradient-to-r:focus{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.focus\\:from-unraid-red:focus{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:from-unraid-red\\/60:focus{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:to-orange:focus{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.focus\\:to-orange\\/60:focus{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.focus\\:text-\\[\\#3b5ea9\\]:focus{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.focus\\:text-alpha:focus{color:var(--color-alpha)}.focus\\:text-black:focus{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.focus\\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\\:underline:focus{text-decoration-line:underline}.focus\\:no-underline:focus{text-decoration-line:none}.focus\\:opacity-100:focus{opacity:1}.focus\\:opacity-75:focus{opacity:.75}.focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.focus\\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-25:disabled{opacity:.25}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:hover\\:opacity-25:hover:disabled{opacity:.25}.disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.disabled\\:focus\\:opacity-25:focus:disabled{opacity:.25}.disabled\\:focus\\:opacity-50:focus:disabled{opacity:.5}.group:hover .group-hover\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:hover .group-hover\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:hover .group-hover\\:underline{text-decoration-line:underline}.group:hover .group-hover\\:opacity-100{opacity:1}.group:hover .group-hover\\:opacity-60{opacity:.6}.group:hover .group-hover\\:opacity-75{opacity:.75}.group:focus .group-focus\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:focus .group-focus\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:focus .group-focus\\:underline{text-decoration-line:underline}.group:focus .group-focus\\:opacity-100{opacity:1}.group:focus .group-focus\\:opacity-60{opacity:.6}.group:focus .group-focus\\:opacity-75{opacity:.75}.prose-a\\:text-unraid-red :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.hover\\:prose-a\\:text-unraid-red\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#e2282899}.hover\\:prose-a\\:no-underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{text-decoration-line:none}@media (min-width:640px){.sm\\:col-span-2{grid-column:span 2/span 2}.sm\\:col-span-3{grid-column:span 3/span 3}.sm\\:col-start-2{grid-column-start:2}.sm\\:block{display:block}.sm\\:w-\\[150px\\]{width:150px}.sm\\:w-full{width:100%}.sm\\:min-w-\\[400px\\]{min-width:400px}.sm\\:max-w-300px{max-width:300px}.sm\\:max-w-lg{max-width:32rem}.sm\\:flex-shrink-0{flex-shrink:0}.sm\\:flex-grow-0{flex-grow:0}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-start{align-items:flex-start}.sm\\:items-center{align-items:center}.sm\\:justify-end{justify-content:flex-end}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-16px{gap:16px}.sm\\:gap-24px{gap:24px}.sm\\:gap-y-24px{row-gap:24px}.sm\\:p-16px{padding:16px}.sm\\:px-20px{padding-left:20px;padding-right:20px}.sm\\:pr-40px{padding-right:40px}.sm\\:text-right{text-align:right}.sm\\:text-18px{font-size:18px}.sm\\:text-20px{font-size:20px}.sm\\:text-24px{font-size:24px}}@media (min-width:768px){.md\\:inline-block{display:inline-block}.md\\:min-w-\\[500px\\]{min-width:500px}.md\\:flex-row{flex-direction:row}.md\\:items-start{align-items:flex-start}.md\\:items-end{align-items:flex-end}.md\\:justify-between{justify-content:space-between}.md\\:gap-16px{gap:16px}.md\\:p-24px{padding:24px}.md\\:p-6{padding:1.5rem}.md\\:py-24px{padding-bottom:24px;padding-top:24px}.md\\:text-24px{font-size:24px}}@media (min-width:470px){.\\32xs\\:block{display:block}}@media (min-width:530px){.xs\\:block{display:block}.xs\\:flex-row{flex-direction:row}.xs\\:items-baseline{align-items:baseline}.xs\\:justify-start{justify-content:flex-start}.xs\\:gap-x-12px{-moz-column-gap:12px;column-gap:12px}.xs\\:text-12px{font-size:12px}}@media (min-height:700px){.tall\\:max-h-\\[75vh\\]{max-height:75vh}}@media (prefers-color-scheme:dark){.dark\\:border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.dark\\:bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.dark\\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\\:prose-a\\:text-orange :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.hover\\:dark\\:prose-a\\:text-orange\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#ff8c2f99}}']]]),EIe=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,TIe=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,SIe=/^([/\\]\s*){2,}[^/\\]/;function IIe(eee,tee={}){return"boolean"==typeof tee&&(tee={acceptRelative:tee}),tee.strict?EIe.test(eee):TIe.test(eee)||!!tee.acceptRelative&&SIe.test(eee)}function OIe(...eee){const tee=/\/(?!\/)/,ree=eee.filter(Boolean),oee=[];let nee=0;for(const i of ree)if(i&&"/"!==i)for(const[eee,s]of i.split(tee).entries())if(s&&"."!==s)if(".."!==s)1===eee&&oee[oee.length-1]?.endsWith(":/")?oee[oee.length-1]+="/"+s:(oee.push(s),nee++);else{if(1===oee.length&&IIe(oee[0]))continue;oee.pop(),nee--}let aee=oee.join("/");return nee>=0?ree[0]?.startsWith("/")&&!aee.startsWith("/")?aee="/"+aee:ree[0]?.startsWith("./")&&!aee.startsWith("./")&&(aee="./"+aee):aee="../".repeat(-1*nee)+aee,ree[ree.length-1]?.endsWith("/")&&!aee.endsWith("/")&&(aee+="/"),aee}const NIe=(window?.__NUXT__?.config||{}).app,AIe=(...eee)=>OIe(RIe(),NIe.buildAssetsDir,...eee),RIe=(...eee)=>{const tee=NIe.cdnURL||NIe.baseURL;return eee.length?OIe(tee,...eee):tee};globalThis.__buildAssetsURL=AIe,globalThis.__publicAssetsURL=RIe;const DIe=REe("\n query getExtraAllowedOrigins {\n extraAllowedOrigins\n }\n"),CIe=REe("\n query getRemoteAccess {\n remoteAccess {\n accessType\n forwardType\n port\n }\n }\n"),LIe=REe("\n mutation setAdditionalAllowedOrigins($input: AllowedOriginInput!) {\n setAdditionalAllowedOrigins(input: $input)\n }\n"),FIe=REe("\n mutation setupRemoteAccess($input: SetupRemoteAccessInput!) {\n setupRemoteAccess(input: $input)\n }\n"),zIe=Xce("unraidApiSettings",(()=>{const{unraidApiClient:eee}=Nre(rIe());return{getAllowedOrigins:async()=>{const tee=await(eee.value?.query({query:DIe}));return tee?.data?.extraAllowedOrigins??[]},setAllowedOrigins:async tee=>{const ree=await(eee.value?.mutate({mutation:LIe,variables:{input:{origins:tee}}}));return ree?.data?.setAdditionalAllowedOrigins},getRemoteAccess:async()=>{const tee=await(eee.value?.query({query:CIe}));return tee?.data?.remoteAccess},setupRemoteAccess:async tee=>{const ree=await(eee.value?.mutate({mutation:FIe,variables:{input:tee}}));return ree?.data?.setupRemoteAccess}}})),MIe={class:"flex flex-col"},PIe=eae("h2",null,"Setup Remote Access",-1),UIe=eae("label",{for:"forwardType"},"Forward Type",-1),jIe=["value"],$Ie=eae("label",{for:"forwardType"},"Forward Type",-1),VIe=["value"],qIe=eae("label",{for:"port"},"Port",-1),BIe=xoe({__name:"RemoteAccess",setup(eee){const tee=zIe(),ree=kre(OEe.Disabled),oee=kre(null),nee=kre(null);Roe((async()=>{const eee=await tee.getRemoteAccess();ree.value=eee?.accessType??OEe.Disabled,oee.value=eee?.forwardType??null,nee.value=eee?.port??null}));const aee=()=>{tee.setupRemoteAccess({accessType:ree.value,...oee.value?{forwardType:oee.value}:{},...nee.value?{port:nee.value}:{}})};return goe(ree,(eee=>{eee!==OEe.Disabled&&(oee.value=NEe.Static)})),(eee,tee)=>(qne(),Qne("div",MIe,[PIe,UIe,voe(eae("select",{id:"forwardType","onUpdate:modelValue":tee[0]||(tee[0]=eee=>xre(ree)?ree.value=eee:null)},[(qne(!0),Qne(Mne,null,qoe(Object.values(Sre(OEe)),((eee,tee)=>(qne(),Qne("option",{key:tee,value:eee},Hee(eee),9,jIe)))),128))],512),[[Xae,Sre(ree)]]),Sre(ree)!==Sre(OEe).Disabled?(qne(),Qne(Mne,{key:0},[$Ie,voe(eae("select",{id:"forwardType","onUpdate:modelValue":tee[1]||(tee[1]=eee=>xre(oee)?oee.value=eee:null)},[(qne(!0),Qne(Mne,null,qoe(Object.values(Sre(NEe)),((eee,tee)=>(qne(),Qne("option",{key:tee,value:eee},Hee(eee),9,VIe)))),128))],512),[[Xae,Sre(oee)]])],64)):aae("",!0),Sre(oee)===Sre(NEe).Static&&Sre(ree)!==Sre(OEe).Disabled?(qne(),Qne(Mne,{key:1},[qIe,voe(eae("input",{id:"port","onUpdate:modelValue":tee[2]||(tee[2]=eee=>xre(nee)?nee.value=eee:null),type:"number"},null,512),[[Hae,Sre(nee)]])],64)):aae("",!0),eae("button",{onClick:aee}," Save ")]))}}),YIe={class:"flex flex-col"},GIe=eae("h2",null,"Setup Allowed Origins",-1),QIe=xoe({__name:"AllowedOrigins",setup(eee){const tee=zIe(),ree=kre(""),oee=kre([]);Roe((async()=>{const eee=await tee.getAllowedOrigins();ree.value=eee.join(", ")}));const nee=Sae((()=>{console.log("originsText.value: "+ree.value);const eee=[];return ree.value&&ree.value.split(",").forEach((tee=>{try{const ree=new URL(tee.trim());eee.push(ree.toString())}catch(e){oee.value.push(`Invalid origin: ${tee}`)}})),eee}));return(eee,aee)=>(qne(),Qne("div",YIe,[GIe,voe(eae("input",{"onUpdate:modelValue":aee[0]||(aee[0]=eee=>xre(ree)?ree.value=eee:null),type:"text",placeholder:"Input Comma Separated List of URLs"},null,512),[[Hae,Sre(ree)]]),eae("button",{type:"button",onClick:aee[1]||(aee[1]=eee=>{tee.setAllowedOrigins(nee.value)})}," Set Allowed Origins "),(qne(!0),Qne(Mne,null,qoe(Sre(oee),((eee,tee)=>(qne(),Qne("div",{key:tee},[eae("p",null,Hee(eee),1)])))),128))]))}}),WIe={class:"whitespace-normal flex flex-col gap-y-16px max-w-3xl"},KIe={class:"flex flex-col gap-y-16px"},HIe={class:"flex"},XIe={class:"flex flex-row items-baseline gap-8px"},ZIe=["href"],JIe=["href"],eOe=["href"],tOe=xoe({__name:"DownloadApiLogs.ce",setup(eee){const{t:t}=_ce(),{apiKey:tee}=Zce(pIe()),ree=Sae((()=>new URL(`/graphql/api/logs?apiKey=${tee.value}`,uTe)));return(eee,tee)=>{const oee=Lce;return qne(),Qne("div",WIe,[eae("span",null,Hee(Sre(t)("The primary method of support for Unraid Connect is through our forums and Discord."))+" "+Hee(Sre(t)("If you are asked to supply logs, please open a support request on our Contact Page and reply to the email message you receive with your logs attached."))+" "+Hee(Sre(t)("The logs may contain sensitive information so do not post them publicly.")),1),eae("span",KIe,[eae("div",HIe,[tae(oee,{class:"grow-0 shrink-0",download:"",external:!0,href:Sre(ree).toString(),icon:Sre(Ope),size:"12px",text:Sre(t)("Download unraid-api Logs")},null,8,["href","icon","text"])]),eae("div",XIe,[eae("a",{href:Sre(sTe).toString(),target:"_blank",rel:"noopener noreferrer",class:"text-[#486dba] hover:text-[#3b5ea9] focus:text-[#3b5ea9] hover:underline focus:underline inline-flex flex-row items-center justify-start gap-8px"},[oae(Hee(Sre(t)("Unraid Connect Forums"))+" ",1),tae(Sre(Dpe),{class:"w-16px"})],8,ZIe),eae("a",{href:Sre(cTe).toString(),target:"_blank",rel:"noopener noreferrer",class:"text-[#486dba] hover:text-[#3b5ea9] focus:text-[#3b5ea9] hover:underline focus:underline inline-flex flex-row items-center justify-start gap-8px"},[oae(Hee(Sre(t)("Unraid Discord"))+" ",1),tae(Sre(Dpe),{class:"w-16px"})],8,JIe),eae("a",{href:Sre(lTe).toString(),target:"_blank",rel:"noopener noreferrer",class:"text-[#486dba] hover:text-[#3b5ea9] focus:text-[#3b5ea9] hover:underline focus:underline inline-flex flex-row items-center justify-start gap-8px"},[oae(Hee(Sre(t)("Unraid Contact Page"))+" ",1),tae(Sre(Dpe),{class:"w-16px"})],8,eOe)])])])}}}),rOe=Ace(tOe,[["styles",['/*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:clear-sans,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:470px){.container{max-width:470px}}@media (min-width:530px){.container{max-width:530px}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--color-beta);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:#ff8c2f;font-weight:500;text-decoration:underline}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{color:#f15a2c}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"“""”""‘""’"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:start;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:var(--color-beta);--tw-prose-headings:var(--color-beta);--tw-prose-lead:var(--color-beta);--tw-prose-links:#ff8c2f;--tw-prose-bold:var(--color-beta);--tw-prose-counters:var(--color-beta);--tw-prose-bullets:var(--color-beta);--tw-prose-hr:var(--color-beta);--tw-prose-quotes:var(--color-beta);--tw-prose-quote-borders:var(--color-beta);--tw-prose-captions:var(--color-beta);--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:var(--color-beta);--tw-prose-pre-code:var(--color-beta);--tw-prose-pre-bg:var(--color-alpha);--tw-prose-th-borders:var(--color-beta);--tw-prose-td-borders:var(--color-beta);--tw-prose-invert-body:var(--color-alpha);--tw-prose-invert-headings:var(--color-alpha);--tw-prose-invert-lead:var(--color-alpha);--tw-prose-invert-links:#ff8c2f;--tw-prose-invert-bold:var(--color-alpha);--tw-prose-invert-counters:var(--color-alpha);--tw-prose-invert-bullets:var(--color-alpha);--tw-prose-invert-hr:var(--color-alpha);--tw-prose-invert-quotes:var(--color-alpha);--tw-prose-invert-quote-borders:var(--color-alpha);--tw-prose-invert-captions:var(--color-alpha);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--color-alpha);--tw-prose-invert-pre-code:var(--color-alpha);--tw-prose-invert-pre-bg:var(--color-beta);--tw-prose-invert-th-borders:var(--color-alpha);--tw-prose-invert-td-borders:var(--color-alpha);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose{--tw-prose-invert-code-bg:var(--color-gamma-opaque)}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-\\[2px\\]{bottom:-2px}.-left-\\[2px\\]{left:-2px}.-right-\\[2px\\]{right:-2px}.-top-1{top:-.25rem}.-top-\\[2px\\]{top:-2px}.bottom-0{bottom:0}.bottom-\\[-3px\\]{bottom:-3px}.right-0{right:0}.top-0{top:0}.top-\\[1px\\]{top:1px}.top-full{top:100%}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\\[99999\\]{z-index:99999}.mx-8px{margin-left:8px;margin-right:8px}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.my-12{margin-bottom:3rem;margin-top:3rem}.my-16px{margin-bottom:16px;margin-top:16px}.my-24px{margin-bottom:24px;margin-top:24px}.my-8px{margin-bottom:8px;margin-top:8px}.mb-4px{margin-bottom:4px}.mb-8px{margin-bottom:8px}.ml-3{margin-left:.75rem}.ml-8px{margin-left:8px}.mr-8px{margin-right:8px}.mt-0{margin-top:0}.mt-12px{margin-top:12px}.mt-2{margin-top:.5rem}.mt-24px{margin-top:24px}.mt-4px{margin-top:4px}.mt-8px{margin-top:8px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-12px{height:12px}.h-16px{height:16px}.h-20px{height:20px}.h-24px{height:24px}.h-2px{height:2px}.h-32px{height:32px}.h-36px{height:36px}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.max-h-\\[65vh\\]{max-height:65vh}.min-h-\\[250px\\]{min-height:250px}.min-h-screen{min-height:100vh}.w-1\\/2{width:50%}.w-11{width:2.75rem}.w-12px{width:12px}.w-14px{width:14px}.w-16px{width:16px}.w-20px{width:20px}.w-24px{width:24px}.w-28px{width:28px}.w-2px{width:2px}.w-32px{width:32px}.w-36px{width:36px}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\\[100px\\]{width:100px}.w-\\[110px\\]{width:110px}.w-\\[120px\\]{width:120px}.w-\\[125\\%\\]{width:125%}.w-\\[150px\\]{width:150px}.w-\\[44px\\]{width:44px}.w-\\[48px\\]{width:48px}.w-full{width:100%}.w-screen{width:100vw}.min-w-300px{min-width:300px}.min-w-\\[280px\\]{min-width:280px}.max-w-1024px{max-width:1024px}.max-w-160px{max-width:160px}.max-w-350px{max-width:350px}.max-w-3xl{max-width:48rem}.max-w-640px{max-width:640px}.max-w-800px{max-width:800px}.max-w-\\[45ch\\]{max-width:45ch}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.grow-0{flex-grow:0}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-20px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-20px{--tw-translate-x:20px}.translate-x-\\[26px\\]{--tw-translate-x:26px}.translate-x-\\[26px\\],.translate-x-\\[2px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[2px\\]{--tw-translate-x:2px}.translate-y-\\[16px\\]{--tw-translate-y:16px}.scale-100,.translate-y-\\[16px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-12px{gap:12px}.gap-16px{gap:16px}.gap-2{gap:.5rem}.gap-20px{gap:20px}.gap-4{gap:1rem}.gap-4px{gap:4px}.gap-6{gap:1.5rem}.gap-8px{gap:8px}.gap-x-16px{-moz-column-gap:16px;column-gap:16px}.gap-x-4px{-moz-column-gap:4px;column-gap:4px}.gap-x-8px{-moz-column-gap:8px;column-gap:8px}.gap-y-16px{row-gap:16px}.gap-y-24px{row-gap:24px}.gap-y-4px{row-gap:4px}.gap-y-8px{row-gap:8px}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-normal{white-space:normal}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b-2{border-bottom-width:2px}.border-l-0{border-left-width:0}.border-r-0{border-right-width:0}.border-t-0{border-top-width:0}.border-solid{border-style:solid}.border-none{border-style:none}.border-black{--tw-border-opacity:1;border-color:rgb(28 27 27/var(--tw-border-opacity))}.border-gamma-opaque{border-color:var(--color-gamma-opaque)}.border-green-600\\/10{border-color:#16a34a1a}.border-grey-mid{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.border-orange{--tw-border-opacity:1;border-color:rgb(255 140 47/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-unraid-red{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.border-unraid-red\\/10{border-color:#e228281a}.border-unraid-red\\/90{border-color:#e22828e6}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-white\\/10{border-color:#ffffff1a}.border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity))}.bg-alpha{background-color:var(--color-alpha)}.bg-beta{background-color:var(--color-beta)}.bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-current{background-color:currentColor}.bg-gamma{background-color:var(--color-gamma)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-grey{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-orange{--tw-bg-opacity:1;background-color:rgb(255 140 47/var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-unraid-red{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.bg-unraid-red\\/90{background-color:#e22828e6}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity:.8}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-unraid-red{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-orange{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.to-orange\\/60{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-green-600{fill:#16a34a}.fill-unraid-red{fill:#e22828}.p-0{padding:0}.p-1{padding:.25rem}.p-12px{padding:12px}.p-16px{padding:16px}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8px{padding:8px}.px-12px{padding-left:12px;padding-right:12px}.px-16px{padding-left:16px;padding-right:16px}.px-4{padding-left:1rem;padding-right:1rem}.px-4px{padding-left:4px;padding-right:4px}.px-6px{padding-left:6px;padding-right:6px}.px-8px{padding-left:8px;padding-right:8px}.py-0{padding-bottom:0;padding-top:0}.py-12px{padding-bottom:12px;padding-top:12px}.py-24px{padding-bottom:24px;padding-top:24px}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-4px{padding-bottom:4px;padding-top:4px}.py-8px{padding-bottom:8px;padding-top:8px}.pb-12{padding-bottom:3rem}.pb-8px{padding-bottom:8px}.pl-40px{padding-left:40px}.pr-16px{padding-right:16px}.pr-40px{padding-right:40px}.pr-4px{padding-right:4px}.pt-4px{padding-top:4px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-10px{font-size:10px}.text-12px{font-size:12px}.text-14px{font-size:14px}.text-16px{font-size:16px}.text-18px{font-size:18px}.text-20px{font-size:20px}.text-24px{font-size:24px}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.text-\\[\\#486dba\\]{--tw-text-opacity:1;color:rgb(72 109 186/var(--tw-text-opacity))}.text-alpha{color:var(--color-alpha)}.text-beta{color:var(--color-beta)}.text-black{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-current{color:currentColor}.text-gamma{color:var(--color-gamma)}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-grey-mid{--tw-text-opacity:1;color:rgb(153 153 153/var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}.text-orange{--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-unraid-red{--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[var\\(--ring-offset-shadow\\)_var\\(--ring-shadow\\)_var\\(--shadow-beta\\)\\]{--tw-shadow-color:var(--ring-offset-shadow) var(--ring-shadow) var(--shadow-beta);--tw-shadow:var(--tw-shadow-colored)}.shadow-green-600\\/30{--tw-shadow-color:rgba(22,163,74,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-orange\\/10{--tw-shadow-color:rgba(255,140,47,.1);--tw-shadow:var(--tw-shadow-colored)}.shadow-unraid-red\\/30{--tw-shadow-color:rgba(226,40,40,.3);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-black{outline-color:#1c1b1b}.outline-white{outline-color:#fff}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.even\\:bg-black\\/5:nth-child(2n){background-color:#1c1b1b0d}.even\\:bg-grey-darkest:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity))}@keyframes pulse{50%{opacity:.5}}.hover\\:animate-pulse:hover{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.hover\\:border-beta:hover{border-color:var(--color-beta)}.hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.hover\\:border-grey-mid:hover{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.hover\\:border-orange-dark:hover{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.hover\\:border-unraid-red:hover{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.hover\\:bg-beta:hover{background-color:var(--color-beta)}.hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.hover\\:bg-grey-mid:hover{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.hover\\:bg-unraid-red:hover{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\\:bg-gradient-to-r:hover{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.hover\\:from-unraid-red:hover{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:from-unraid-red\\/60:hover{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:to-orange:hover{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.hover\\:to-orange\\/60:hover{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.hover\\:text-\\[\\#3b5ea9\\]:hover{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.hover\\:text-alpha:hover{color:var(--color-alpha)}.hover\\:text-black:hover{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:no-underline:hover{text-decoration-line:none}.hover\\:opacity-100:hover{opacity:1}.hover\\:opacity-75:hover{opacity:.75}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:shadow-orange\\/50:hover{--tw-shadow-color:rgba(255,140,47,.5);--tw-shadow:var(--tw-shadow-colored)}.focus\\:border-beta:focus{border-color:var(--color-beta)}.focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.focus\\:border-grey-mid:focus{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.focus\\:border-orange-dark:focus{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.focus\\:border-unraid-red:focus{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.focus\\:bg-beta:focus{background-color:var(--color-beta)}.focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.focus\\:bg-grey-mid:focus{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.focus\\:bg-unraid-red:focus{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus\\:bg-gradient-to-r:focus{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.focus\\:from-unraid-red:focus{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:from-unraid-red\\/60:focus{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:to-orange:focus{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.focus\\:to-orange\\/60:focus{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.focus\\:text-\\[\\#3b5ea9\\]:focus{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.focus\\:text-alpha:focus{color:var(--color-alpha)}.focus\\:text-black:focus{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.focus\\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\\:underline:focus{text-decoration-line:underline}.focus\\:no-underline:focus{text-decoration-line:none}.focus\\:opacity-100:focus{opacity:1}.focus\\:opacity-75:focus{opacity:.75}.focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.focus\\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-25:disabled{opacity:.25}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:hover\\:opacity-25:hover:disabled{opacity:.25}.disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.disabled\\:focus\\:opacity-25:focus:disabled{opacity:.25}.disabled\\:focus\\:opacity-50:focus:disabled{opacity:.5}.group:hover .group-hover\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:hover .group-hover\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:hover .group-hover\\:underline{text-decoration-line:underline}.group:hover .group-hover\\:opacity-100{opacity:1}.group:hover .group-hover\\:opacity-60{opacity:.6}.group:hover .group-hover\\:opacity-75{opacity:.75}.group:focus .group-focus\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:focus .group-focus\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:focus .group-focus\\:underline{text-decoration-line:underline}.group:focus .group-focus\\:opacity-100{opacity:1}.group:focus .group-focus\\:opacity-60{opacity:.6}.group:focus .group-focus\\:opacity-75{opacity:.75}.prose-a\\:text-unraid-red :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.hover\\:prose-a\\:text-unraid-red\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#e2282899}.hover\\:prose-a\\:no-underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{text-decoration-line:none}@media (min-width:640px){.sm\\:col-span-2{grid-column:span 2/span 2}.sm\\:col-span-3{grid-column:span 3/span 3}.sm\\:col-start-2{grid-column-start:2}.sm\\:block{display:block}.sm\\:w-\\[150px\\]{width:150px}.sm\\:w-full{width:100%}.sm\\:min-w-\\[400px\\]{min-width:400px}.sm\\:max-w-300px{max-width:300px}.sm\\:max-w-lg{max-width:32rem}.sm\\:flex-shrink-0{flex-shrink:0}.sm\\:flex-grow-0{flex-grow:0}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-start{align-items:flex-start}.sm\\:items-center{align-items:center}.sm\\:justify-end{justify-content:flex-end}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-16px{gap:16px}.sm\\:gap-24px{gap:24px}.sm\\:gap-y-24px{row-gap:24px}.sm\\:p-16px{padding:16px}.sm\\:px-20px{padding-left:20px;padding-right:20px}.sm\\:pr-40px{padding-right:40px}.sm\\:text-right{text-align:right}.sm\\:text-18px{font-size:18px}.sm\\:text-20px{font-size:20px}.sm\\:text-24px{font-size:24px}}@media (min-width:768px){.md\\:inline-block{display:inline-block}.md\\:min-w-\\[500px\\]{min-width:500px}.md\\:flex-row{flex-direction:row}.md\\:items-start{align-items:flex-start}.md\\:items-end{align-items:flex-end}.md\\:justify-between{justify-content:space-between}.md\\:gap-16px{gap:16px}.md\\:p-24px{padding:24px}.md\\:p-6{padding:1.5rem}.md\\:py-24px{padding-bottom:24px;padding-top:24px}.md\\:text-24px{font-size:24px}}@media (min-width:470px){.\\32xs\\:block{display:block}}@media (min-width:530px){.xs\\:block{display:block}.xs\\:flex-row{flex-direction:row}.xs\\:items-baseline{align-items:baseline}.xs\\:justify-start{justify-content:flex-start}.xs\\:gap-x-12px{-moz-column-gap:12px;column-gap:12px}.xs\\:text-12px{font-size:12px}}@media (min-height:700px){.tall\\:max-h-\\[75vh\\]{max-height:75vh}}@media (prefers-color-scheme:dark){.dark\\:border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.dark\\:bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.dark\\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\\:prose-a\\:text-orange :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.hover\\:dark\\:prose-a\\:text-orange\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#ff8c2f99}}']]]),oOe=xoe({__name:"ConnectSettings.ce",setup:eee=>(eee,tee)=>{const ree=bIe,oee=_Ie,nee=BIe,aee=QIe,iee=rOe;return qne(),Qne(Mne,null,[tae(ree),tae(oee),tae(nee),tae(aee),tae(iee)],64)}}),nOe=xoe({__name:"Badge",props:{color:{default:"gray"},icon:{type:[Object,Function],default:void 0},iconRight:{type:[Object,Function],default:void 0},iconStyles:{default:""},size:{default:"16px"}},setup(eee){const tee=eee,ree=Sae((()=>{let eee="",ree="",oee="";switch(tee.color){case"alpha":eee="bg-alpha text-white group-hover:opacity-75 group-focus:opacity-75";break;case"beta":eee="bg-beta text-white group-hover:opacity-75 group-focus:opacity-75";break;case"gamma":eee="bg-gamma text-white group-hover:opacity-75 group-focus:opacity-75";break;case"red":eee="bg-unraid-red text-white group-hover:bg-orange-dark group-focus:bg-orange-dark";break;case"yellow":eee="bg-yellow-100 text-black group-hover:bg-yellow-200 group-focus:bg-yellow-200";break;case"green":eee="bg-green-200 text-green-800 group-hover:bg-green-300 group-focus:bg-green-300";break;case"blue":eee="bg-blue-100 text-blue-800 group-hover:bg-blue-200 group-focus:bg-blue-200";break;case"indigo":eee="bg-indigo-100 text-indigo-800 group-hover:bg-indigo-200 group-focus:bg-indigo-200";break;case"purple":eee="bg-purple-100 text-purple-800 group-hover:bg-purple-200 group-focus:bg-purple-200";break;case"pink":eee="bg-pink-100 text-pink-800 group-hover:bg-pink-200 group-focus:bg-pink-200";break;case"orange":eee="bg-orange text-white group-hover:bg-orange-dark group-focus:bg-orange-dark";break;case"black":eee="bg-black text-white group-hover:bg-gray-800 group-focus:bg-gray-800";break;case"white":eee="bg-white text-black group-hover:bg-gray-100 group-focus:bg-gray-100";break;case"transparent":eee="bg-transparent text-black group-hover:bg-gray-100 group-focus:bg-gray-100";break;case"current":eee="bg-current text-black group-hover:bg-gray-100 group-focus:bg-gray-100";break;case"gray":eee="bg-gray-200 text-gray-800 group-hover:bg-gray-300 group-focus:bg-gray-300";break;case"custom":eee=""}switch(tee.size){case"12px":ree="text-12px px-8px py-4px gap-4px",oee="w-12px";break;case"14px":ree="text-14px px-8px py-4px gap-8px",oee="w-14px";break;case"16px":ree="text-16px px-12px py-8px gap-8px",oee="w-16px";break;case"18px":ree="text-18px px-12px py-8px gap-8px",oee="w-18px";break;case"20px":ree="text-20px px-16px py-12px gap-8px",oee="w-20px";break;case"24px":ree="text-24px px-16px py-12px gap-8px",oee="w-24px"}return{badge:`${ree} ${eee}`,icon:`${oee} ${tee.iconStyles}`}}));return(eee,tee)=>(qne(),Qne("span",{class:Yee(["inline-flex items-center rounded-full font-semibold leading-none transition-all duration-200 ease-in-out",[Sre(ree).badge]])},[eee.icon?(qne(),Wne($oe(eee.icon),{key:0,class:Yee(["flex-shrink-0",Sre(ree).icon])},null,8,["class"])):aae("",!0),Yoe(eee.$slots,"default"),eee.iconRight?(qne(),Wne($oe(eee.iconRight),{key:1,class:Yee(["flex-shrink-0",Sre(ree).icon])},null,8,["class"])):aae("",!0)],2))}}),aOe={class:"flex flex-row justify-start gap-x-4px"},iOe=["title"],sOe=xoe({__name:"HeaderOsVersion.ce",setup(eee){const{t:t}=_ce(),tee=pIe(),ree=zTe(),oee=PTe(),{osVersion:nee,rebootType:aee,stateDataError:iee}=Zce(tee),{available:see,availableWithRenewal:lee}=Zce(ree),{rebootTypeText:cee}=Zce(oee),pee=Sae((()=>iee.value?null:cee.value?{badge:{color:"yellow",icon:qpe},href:"downgrade"===aee.value?wTe.toString():bTe.toString(),text:t(cee.value)}:lee.value||see.value?{badge:{color:"orange",icon:zpe},click:()=>{ree.setModalOpen(!0)},text:lee.value?t("Update Released"):t("Update Available"),title:lee.value?t("Unraid OS {0} Released",[lee.value]):t("Unraid OS {0} Update Available",[see.value])}:null));return(eee,tee)=>{const ree=nOe;return qne(),Qne("div",aOe,[eae("button",{class:"group leading-none",title:Sre(t)("View release notes"),onClick:tee[0]||(tee[0]=eee=>Sre(oee).viewReleaseNotes(Sre(t)("{0} Release Notes",[Sre(nee)])))},[tae(ree,{color:"custom",icon:Sre(Wpe),"icon-styles":"text-gamma",size:"14px",class:"text-gamma group-hover:text-orange-dark group-focus:text-orange-dark group-hover:underline group-focus:underline"},{default:soe((()=>[oae(Hee(Sre(nee)),1)])),_:1},8,["icon"])],8,iOe),Sre(pee)?(qne(),Wne($oe(Sre(pee).href?"a":"button"),{key:0,href:Sre(pee).href??void 0,title:Sre(pee).title??void 0,class:"group",onClick:tee[1]||(tee[1]=eee=>Sre(pee).click?.())},{default:soe((()=>[Sre(pee).badge?(qne(),Wne(ree,{key:0,color:Sre(pee).badge.color,icon:Sre(pee).badge.icon,size:"12px"},{default:soe((()=>[oae(Hee(Sre(pee).text),1)])),_:1},8,["color","icon"])):(qne(),Qne(Mne,{key:1},[oae(Hee(Sre(pee).text),1)],64))])),_:1},8,["href","title"])):aae("",!0)])}}}),lOe=Ace(sOe,[["styles",['/*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:clear-sans,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:470px){.container{max-width:470px}}@media (min-width:530px){.container{max-width:530px}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--color-beta);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:#ff8c2f;font-weight:500;text-decoration:underline}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{color:#f15a2c}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"“""”""‘""’"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:start;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:var(--color-beta);--tw-prose-headings:var(--color-beta);--tw-prose-lead:var(--color-beta);--tw-prose-links:#ff8c2f;--tw-prose-bold:var(--color-beta);--tw-prose-counters:var(--color-beta);--tw-prose-bullets:var(--color-beta);--tw-prose-hr:var(--color-beta);--tw-prose-quotes:var(--color-beta);--tw-prose-quote-borders:var(--color-beta);--tw-prose-captions:var(--color-beta);--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:var(--color-beta);--tw-prose-pre-code:var(--color-beta);--tw-prose-pre-bg:var(--color-alpha);--tw-prose-th-borders:var(--color-beta);--tw-prose-td-borders:var(--color-beta);--tw-prose-invert-body:var(--color-alpha);--tw-prose-invert-headings:var(--color-alpha);--tw-prose-invert-lead:var(--color-alpha);--tw-prose-invert-links:#ff8c2f;--tw-prose-invert-bold:var(--color-alpha);--tw-prose-invert-counters:var(--color-alpha);--tw-prose-invert-bullets:var(--color-alpha);--tw-prose-invert-hr:var(--color-alpha);--tw-prose-invert-quotes:var(--color-alpha);--tw-prose-invert-quote-borders:var(--color-alpha);--tw-prose-invert-captions:var(--color-alpha);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--color-alpha);--tw-prose-invert-pre-code:var(--color-alpha);--tw-prose-invert-pre-bg:var(--color-beta);--tw-prose-invert-th-borders:var(--color-alpha);--tw-prose-invert-td-borders:var(--color-alpha);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose{--tw-prose-invert-code-bg:var(--color-gamma-opaque)}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-\\[2px\\]{bottom:-2px}.-left-\\[2px\\]{left:-2px}.-right-\\[2px\\]{right:-2px}.-top-1{top:-.25rem}.-top-\\[2px\\]{top:-2px}.bottom-0{bottom:0}.bottom-\\[-3px\\]{bottom:-3px}.right-0{right:0}.top-0{top:0}.top-\\[1px\\]{top:1px}.top-full{top:100%}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\\[99999\\]{z-index:99999}.mx-8px{margin-left:8px;margin-right:8px}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.my-12{margin-bottom:3rem;margin-top:3rem}.my-16px{margin-bottom:16px;margin-top:16px}.my-24px{margin-bottom:24px;margin-top:24px}.my-8px{margin-bottom:8px;margin-top:8px}.mb-4px{margin-bottom:4px}.mb-8px{margin-bottom:8px}.ml-3{margin-left:.75rem}.ml-8px{margin-left:8px}.mr-8px{margin-right:8px}.mt-0{margin-top:0}.mt-12px{margin-top:12px}.mt-2{margin-top:.5rem}.mt-24px{margin-top:24px}.mt-4px{margin-top:4px}.mt-8px{margin-top:8px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-12px{height:12px}.h-16px{height:16px}.h-20px{height:20px}.h-24px{height:24px}.h-2px{height:2px}.h-32px{height:32px}.h-36px{height:36px}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.max-h-\\[65vh\\]{max-height:65vh}.min-h-\\[250px\\]{min-height:250px}.min-h-screen{min-height:100vh}.w-1\\/2{width:50%}.w-11{width:2.75rem}.w-12px{width:12px}.w-14px{width:14px}.w-16px{width:16px}.w-20px{width:20px}.w-24px{width:24px}.w-28px{width:28px}.w-2px{width:2px}.w-32px{width:32px}.w-36px{width:36px}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\\[100px\\]{width:100px}.w-\\[110px\\]{width:110px}.w-\\[120px\\]{width:120px}.w-\\[125\\%\\]{width:125%}.w-\\[150px\\]{width:150px}.w-\\[44px\\]{width:44px}.w-\\[48px\\]{width:48px}.w-full{width:100%}.w-screen{width:100vw}.min-w-300px{min-width:300px}.min-w-\\[280px\\]{min-width:280px}.max-w-1024px{max-width:1024px}.max-w-160px{max-width:160px}.max-w-350px{max-width:350px}.max-w-3xl{max-width:48rem}.max-w-640px{max-width:640px}.max-w-800px{max-width:800px}.max-w-\\[45ch\\]{max-width:45ch}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.grow-0{flex-grow:0}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-20px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-20px{--tw-translate-x:20px}.translate-x-\\[26px\\]{--tw-translate-x:26px}.translate-x-\\[26px\\],.translate-x-\\[2px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[2px\\]{--tw-translate-x:2px}.translate-y-\\[16px\\]{--tw-translate-y:16px}.scale-100,.translate-y-\\[16px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-12px{gap:12px}.gap-16px{gap:16px}.gap-2{gap:.5rem}.gap-20px{gap:20px}.gap-4{gap:1rem}.gap-4px{gap:4px}.gap-6{gap:1.5rem}.gap-8px{gap:8px}.gap-x-16px{-moz-column-gap:16px;column-gap:16px}.gap-x-4px{-moz-column-gap:4px;column-gap:4px}.gap-x-8px{-moz-column-gap:8px;column-gap:8px}.gap-y-16px{row-gap:16px}.gap-y-24px{row-gap:24px}.gap-y-4px{row-gap:4px}.gap-y-8px{row-gap:8px}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-normal{white-space:normal}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b-2{border-bottom-width:2px}.border-l-0{border-left-width:0}.border-r-0{border-right-width:0}.border-t-0{border-top-width:0}.border-solid{border-style:solid}.border-none{border-style:none}.border-black{--tw-border-opacity:1;border-color:rgb(28 27 27/var(--tw-border-opacity))}.border-gamma-opaque{border-color:var(--color-gamma-opaque)}.border-green-600\\/10{border-color:#16a34a1a}.border-grey-mid{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.border-orange{--tw-border-opacity:1;border-color:rgb(255 140 47/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-unraid-red{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.border-unraid-red\\/10{border-color:#e228281a}.border-unraid-red\\/90{border-color:#e22828e6}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-white\\/10{border-color:#ffffff1a}.border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity))}.bg-alpha{background-color:var(--color-alpha)}.bg-beta{background-color:var(--color-beta)}.bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-current{background-color:currentColor}.bg-gamma{background-color:var(--color-gamma)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-grey{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-orange{--tw-bg-opacity:1;background-color:rgb(255 140 47/var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-unraid-red{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.bg-unraid-red\\/90{background-color:#e22828e6}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity:.8}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-unraid-red{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-orange{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.to-orange\\/60{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-green-600{fill:#16a34a}.fill-unraid-red{fill:#e22828}.p-0{padding:0}.p-1{padding:.25rem}.p-12px{padding:12px}.p-16px{padding:16px}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8px{padding:8px}.px-12px{padding-left:12px;padding-right:12px}.px-16px{padding-left:16px;padding-right:16px}.px-4{padding-left:1rem;padding-right:1rem}.px-4px{padding-left:4px;padding-right:4px}.px-6px{padding-left:6px;padding-right:6px}.px-8px{padding-left:8px;padding-right:8px}.py-0{padding-bottom:0;padding-top:0}.py-12px{padding-bottom:12px;padding-top:12px}.py-24px{padding-bottom:24px;padding-top:24px}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-4px{padding-bottom:4px;padding-top:4px}.py-8px{padding-bottom:8px;padding-top:8px}.pb-12{padding-bottom:3rem}.pb-8px{padding-bottom:8px}.pl-40px{padding-left:40px}.pr-16px{padding-right:16px}.pr-40px{padding-right:40px}.pr-4px{padding-right:4px}.pt-4px{padding-top:4px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-10px{font-size:10px}.text-12px{font-size:12px}.text-14px{font-size:14px}.text-16px{font-size:16px}.text-18px{font-size:18px}.text-20px{font-size:20px}.text-24px{font-size:24px}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.text-\\[\\#486dba\\]{--tw-text-opacity:1;color:rgb(72 109 186/var(--tw-text-opacity))}.text-alpha{color:var(--color-alpha)}.text-beta{color:var(--color-beta)}.text-black{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-current{color:currentColor}.text-gamma{color:var(--color-gamma)}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-grey-mid{--tw-text-opacity:1;color:rgb(153 153 153/var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}.text-orange{--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-unraid-red{--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[var\\(--ring-offset-shadow\\)_var\\(--ring-shadow\\)_var\\(--shadow-beta\\)\\]{--tw-shadow-color:var(--ring-offset-shadow) var(--ring-shadow) var(--shadow-beta);--tw-shadow:var(--tw-shadow-colored)}.shadow-green-600\\/30{--tw-shadow-color:rgba(22,163,74,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-orange\\/10{--tw-shadow-color:rgba(255,140,47,.1);--tw-shadow:var(--tw-shadow-colored)}.shadow-unraid-red\\/30{--tw-shadow-color:rgba(226,40,40,.3);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-black{outline-color:#1c1b1b}.outline-white{outline-color:#fff}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.even\\:bg-black\\/5:nth-child(2n){background-color:#1c1b1b0d}.even\\:bg-grey-darkest:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity))}@keyframes pulse{50%{opacity:.5}}.hover\\:animate-pulse:hover{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.hover\\:border-beta:hover{border-color:var(--color-beta)}.hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.hover\\:border-grey-mid:hover{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.hover\\:border-orange-dark:hover{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.hover\\:border-unraid-red:hover{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.hover\\:bg-beta:hover{background-color:var(--color-beta)}.hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.hover\\:bg-grey-mid:hover{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.hover\\:bg-unraid-red:hover{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\\:bg-gradient-to-r:hover{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.hover\\:from-unraid-red:hover{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:from-unraid-red\\/60:hover{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:to-orange:hover{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.hover\\:to-orange\\/60:hover{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.hover\\:text-\\[\\#3b5ea9\\]:hover{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.hover\\:text-alpha:hover{color:var(--color-alpha)}.hover\\:text-black:hover{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:no-underline:hover{text-decoration-line:none}.hover\\:opacity-100:hover{opacity:1}.hover\\:opacity-75:hover{opacity:.75}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:shadow-orange\\/50:hover{--tw-shadow-color:rgba(255,140,47,.5);--tw-shadow:var(--tw-shadow-colored)}.focus\\:border-beta:focus{border-color:var(--color-beta)}.focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.focus\\:border-grey-mid:focus{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.focus\\:border-orange-dark:focus{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.focus\\:border-unraid-red:focus{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.focus\\:bg-beta:focus{background-color:var(--color-beta)}.focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.focus\\:bg-grey-mid:focus{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.focus\\:bg-unraid-red:focus{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus\\:bg-gradient-to-r:focus{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.focus\\:from-unraid-red:focus{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:from-unraid-red\\/60:focus{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:to-orange:focus{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.focus\\:to-orange\\/60:focus{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.focus\\:text-\\[\\#3b5ea9\\]:focus{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.focus\\:text-alpha:focus{color:var(--color-alpha)}.focus\\:text-black:focus{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.focus\\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\\:underline:focus{text-decoration-line:underline}.focus\\:no-underline:focus{text-decoration-line:none}.focus\\:opacity-100:focus{opacity:1}.focus\\:opacity-75:focus{opacity:.75}.focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.focus\\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-25:disabled{opacity:.25}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:hover\\:opacity-25:hover:disabled{opacity:.25}.disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.disabled\\:focus\\:opacity-25:focus:disabled{opacity:.25}.disabled\\:focus\\:opacity-50:focus:disabled{opacity:.5}.group:hover .group-hover\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:hover .group-hover\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:hover .group-hover\\:underline{text-decoration-line:underline}.group:hover .group-hover\\:opacity-100{opacity:1}.group:hover .group-hover\\:opacity-60{opacity:.6}.group:hover .group-hover\\:opacity-75{opacity:.75}.group:focus .group-focus\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:focus .group-focus\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:focus .group-focus\\:underline{text-decoration-line:underline}.group:focus .group-focus\\:opacity-100{opacity:1}.group:focus .group-focus\\:opacity-60{opacity:.6}.group:focus .group-focus\\:opacity-75{opacity:.75}.prose-a\\:text-unraid-red :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.hover\\:prose-a\\:text-unraid-red\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#e2282899}.hover\\:prose-a\\:no-underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{text-decoration-line:none}@media (min-width:640px){.sm\\:col-span-2{grid-column:span 2/span 2}.sm\\:col-span-3{grid-column:span 3/span 3}.sm\\:col-start-2{grid-column-start:2}.sm\\:block{display:block}.sm\\:w-\\[150px\\]{width:150px}.sm\\:w-full{width:100%}.sm\\:min-w-\\[400px\\]{min-width:400px}.sm\\:max-w-300px{max-width:300px}.sm\\:max-w-lg{max-width:32rem}.sm\\:flex-shrink-0{flex-shrink:0}.sm\\:flex-grow-0{flex-grow:0}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-start{align-items:flex-start}.sm\\:items-center{align-items:center}.sm\\:justify-end{justify-content:flex-end}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-16px{gap:16px}.sm\\:gap-24px{gap:24px}.sm\\:gap-y-24px{row-gap:24px}.sm\\:p-16px{padding:16px}.sm\\:px-20px{padding-left:20px;padding-right:20px}.sm\\:pr-40px{padding-right:40px}.sm\\:text-right{text-align:right}.sm\\:text-18px{font-size:18px}.sm\\:text-20px{font-size:20px}.sm\\:text-24px{font-size:24px}}@media (min-width:768px){.md\\:inline-block{display:inline-block}.md\\:min-w-\\[500px\\]{min-width:500px}.md\\:flex-row{flex-direction:row}.md\\:items-start{align-items:flex-start}.md\\:items-end{align-items:flex-end}.md\\:justify-between{justify-content:space-between}.md\\:gap-16px{gap:16px}.md\\:p-24px{padding:24px}.md\\:p-6{padding:1.5rem}.md\\:py-24px{padding-bottom:24px;padding-top:24px}.md\\:text-24px{font-size:24px}}@media (min-width:470px){.\\32xs\\:block{display:block}}@media (min-width:530px){.xs\\:block{display:block}.xs\\:flex-row{flex-direction:row}.xs\\:items-baseline{align-items:baseline}.xs\\:justify-start{justify-content:flex-start}.xs\\:gap-x-12px{-moz-column-gap:12px;column-gap:12px}.xs\\:text-12px{font-size:12px}}@media (min-height:700px){.tall\\:max-h-\\[75vh\\]{max-height:75vh}}@media (prefers-color-scheme:dark){.dark\\:border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.dark\\:bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.dark\\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\\:prose-a\\:text-orange :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.hover\\:dark\\:prose-a\\:text-orange\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#ff8c2f99}}']]]),cOe=window.setInterval;var e,pOe={exports:{}};pOe.exports=(e={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},function(t,o,n){var r=o.prototype,i=r.format;n.en.formats=e,r.format=function(t){void 0===t&&(t="YYYY-MM-DDTHH:mm:ssZ");var o=this.$locale().formats,n=function(t,o){return t.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var i=r&&r.toUpperCase();return n||o[r]||e[r]||o[i].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,o){return t||o.slice(1)}))}))}(t,void 0===o?{}:o);return i.call(this,n)}});const dOe=epe(pOe.exports);ope.extend(dOe);const uOe=[{format:"%c",display:"ddd, D MMMM YYYY"},{format:"%A, %Y %B %e",display:"ddd, YYYY MMMM D"},{format:"%A, %e %B %Y",display:"ddd, D MMMM YYYY"},{format:"%A, %B %e, %Y",display:"ddd, MMMM D, YYYY"},{format:"%A, %m/%d/%Y",display:"ddd, MM/DD/YYYY"},{format:"%A, %d-%m-%Y",display:"ddd, DD-MM-YYYY"},{format:"%A, %d.%m.%Y",display:"ddd, DD.MM.YYYY"},{format:"%A, %Y-%m-%d",display:"ddd, YYYY-MM-DD"}],hOe=[{format:"%I:%M %p",display:"hh:mma"},{format:"%R",display:"HH:mm"}],gOe=(eee,t,tee,ree,oee)=>{const nee=(eee,tee)=>tee.find((tee=>tee.format===eee)),aee=nee(eee?.date??uOe[0].format,uOe);console.debug("[dateFormat]",aee);let iee=`${aee?.display}`;if(console.debug("[displayFormat]",iee),!tee){const tee=nee(eee?.time??hOe[0].format,hOe);iee=`${iee} ${tee?.display}`,console.debug("[displayFormat] with time",iee)}const see=eee=>npe(eee).format(iee);console.debug("[formatDate]",see(Date.now()));const lee=(eee,tee,ree,oee,nee,aee,iee)=>({years:eee,months:tee,days:ree,hours:oee,minutes:nee,seconds:aee,firstDateWasLater:iee}),cee=(a="",b="")=>{try{const x=a?npe(parseInt(a,10)):npe();return((d1,d2)=>{let eee,m1=npe(d1),m2=npe(d2);if(m1.isSame(m2))return lee(0,0,0,0,0,0,!1);if(m1.isAfter(m2)){const tee=m1;m1=m2,m2=tee,eee=!0}else eee=!1;let tee=m2.year()-m1.year(),ree=m2.month()-m1.month(),oee=m2.date()-m1.date(),nee=m2.hour()-m1.hour(),aee=m2.minute()-m1.minute(),iee=m2.second()-m1.second();if(iee<0&&(iee=60+iee,aee-=1),aee<0&&(aee=60+aee,nee-=1),nee<0&&(nee=24+nee,oee-=1),oee<0){const eee=npe(`${m2.year()}-${m2.month()+1}`).subtract(1,"M").daysInMonth();oee=eeesee(ree??Date.now()))),uee=()=>{var eee;pee.value=(eee=>{const{years:tee,months:ree,days:oee,hours:nee,minutes:aee,seconds:iee,firstDateWasLater:see,displaySeconds:lee}=eee,cee=[];return tee&&cee.push(t("year",tee)),ree&&cee.push(t("month",ree)),oee&&cee.push(t("day",oee)),nee&&cee.push(t("hour",nee)),aee&&cee.push(t("minute",aee)),!iee||(tee||ree||oee||nee||aee)&&!lee||cee.push(t("second",iee)),see&&cee.push(t("ago")),cee.join(" ")})((eee=(ree??Date.now()).toString(),oee??!1?cee(eee,""):cee("",eee)))};let hee;return Aoe((()=>{ree&&(uee(),hee=cOe((()=>{uee()}),1e3))})),Loe((()=>{hee&&clearInterval(hee)})),{formatDate:see,outputDateTimeReadableDiff:pee,outputDateTimeFormatted:dee}},wOe=["title"],fOe=xoe({__name:"UptimeExpire",props:{forExpire:{type:Boolean,default:!1},shortText:{type:Boolean,default:!1},t:{}},setup(eee){const tee=eee,ree=pIe(),{dateTimeFormat:oee,uptime:nee,expireTime:aee,state:iee}=Zce(ree),see=Sae((()=>tee.forExpire&&aee.value||("TRIAL"===iee.value||"EEXPIRED"===iee.value)&&aee.value&&aee.value>0?aee.value:nee.value)),lee=Sae((()=>(!tee.forExpire||!aee.value)&&("TRIAL"!==iee.value&&"ENOCONN"!==iee.value))),{outputDateTimeReadableDiff:cee,outputDateTimeFormatted:pee}=gOe(oee.value,tee.t,!1,see.value,lee.value),dee=Sae((()=>lee.value&&"EEXPIRED"!==iee.value?{title:tee.t("Server Up Since {0}",[pee.value]),text:tee.t("Uptime {0}",[cee.value])}:{title:"EEXPIRED"===iee.value?tee.t(tee.shortText?"Expired at {0}":"Trial Key Expired at {0}",[pee.value]):tee.t(tee.shortText?"Expires at {0}":"Trial Key Expires at {0}",[pee.value]),text:"EEXPIRED"===iee.value?tee.t(tee.shortText?"Expired {0}":"Trial Key Expired {0}",[cee.value]):tee.t(tee.shortText?"Expires in {0}":"Trial Key Expires in {0}",[cee.value])}));return(eee,tee)=>(qne(),Qne("p",{title:Sre(dee).title},Hee(Sre(dee).text),9,wOe))}}),bOe=xoe({__name:"UpdateExpiration",props:{componentIs:{default:"p"},t:{}},setup(eee){const tee=eee,ree=pIe(),{dateTimeFormat:oee,regExp:nee,regUpdatesExpired:aee}=Zce(ree),{outputDateTimeReadableDiff:iee,outputDateTimeFormatted:see}=gOe(oee.value,tee.t,!0,nee.value),lee=Sae((()=>{if(nee.value)return{text:aee.value?tee.t("Ineligible for feature updates released after {0}",[see.value]):tee.t("Eligible for free feature updates until {0}",[see.value]),title:aee.value?tee.t("Ineligible as of {0}",[iee.value]):tee.t("Eligible for free feature updates for {0}",[iee.value])}}));return(eee,tee)=>Sre(lee)?(qne(),Wne($oe(eee.componentIs),{key:0,title:Sre(lee).title},{default:soe((()=>[Yoe(eee.$slots,"default"),oae(" "+Hee(Sre(lee).text),1)])),_:3},8,["title"])):aae("",!0)}}),mOe={class:"mx-auto max-w-[45ch] flex flex-col gap-8px"},vOe={class:"flex items-start justify-center gap-x-8px"},yOe={class:"text-18px"},xOe=xoe({__name:"CallbackFeedbackStatus",props:{error:{type:Boolean,default:!1},icon:{default:void 0},success:{type:Boolean,default:!1},text:{default:void 0}},setup:eee=>(eee,tee)=>(qne(),Qne("div",mOe,[eae("div",vOe,[eee.success?(qne(),Wne(Sre(Mpe),{key:0,class:"fill-green-600 w-28px shrink-0"})):aae("",!0),eee.error?(qne(),Wne(Sre(ade),{key:1,class:"fill-unraid-red w-28px shrink-0"})):aae("",!0),eee.icon?(qne(),Wne($oe(eee.icon),{key:2,class:"fill-current opacity-75 w-28px shrink-0"})):aae("",!0),eae("p",yOe,Hee(eee.text),1)]),Yoe(eee.$slots,"default")]))});function kOe(){let a=[],s={addEventListener:(e,t,r,i)=>(e.addEventListener(t,r,i),s.add((()=>e.removeEventListener(t,r,i)))),requestAnimationFrame(...e){let t=requestAnimationFrame(...e);s.add((()=>cancelAnimationFrame(t)))},nextFrame(...e){s.requestAnimationFrame((()=>{s.requestAnimationFrame(...e)}))},setTimeout(...e){let t=setTimeout(...e);s.add((()=>clearTimeout(t)))},microTask(...e){let t={current:!0};return function(e){"function"==typeof queueMicrotask?queueMicrotask(e):Promise.resolve().then(e).catch((o=>setTimeout((()=>{throw o}))))}((()=>{t.current&&e[0]()})),s.add((()=>{t.current=!1}))},style(e,t,r){let i=e.style.getPropertyValue(t);return Object.assign(e.style,{[t]:r}),this.add((()=>{Object.assign(e.style,{[t]:i})}))},group(e){let t=kOe();return e(t),this.add((()=>t.dispose()))},add:e=>(a.push(e),()=>{let t=a.indexOf(e);if(t>=0)for(let r of a.splice(t,1))r()}),dispose(){for(let e of a.splice(0))e()}};return s}let _Oe=Symbol("headlessui.useid"),EOe=0;function I(){return wne(_Oe,(()=>""+ ++EOe))()}function TOe(e){var l;if(null==e||null==e.value)return null;let n=null!=(l=e.value.$el)?l:e.value;return n instanceof Node?n:null}function SOe(r,n,...a){if(r in n){let e=n[r];return"function"==typeof e?e(...a):e}let t=new Error(`Tried to handle "${r}" but there is no handler defined. Only defined handlers are: ${Object.keys(n).map((e=>`"${e}"`)).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,SOe),t}var IOe=Object.defineProperty,OOe=(t,e,r)=>(((t,e,r)=>{e in t?IOe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r})(t,"symbol"!=typeof e?e+"":e,r),r);let c=new class{constructor(){OOe(this,"current",this.detect()),OOe(this,"currentId",0)}set(e){this.current!==e&&(this.currentId=0,this.current=e)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return"server"===this.current}get isClient(){return"client"===this.current}detect(){return"undefined"==typeof window||"undefined"==typeof document?"server":"client"}};function r(t,e){if(t)return t;let n=null!=e?e:"button";return"string"==typeof n&&"button"===n.toLowerCase()?"button":void 0}function NOe(t,e){let n=kre(r(t.value.type,t.value.as));return Roe((()=>{n.value=r(t.value.type,t.value.as)})),uoe((()=>{var u;n.value||TOe(e)&&TOe(e)instanceof HTMLButtonElement&&(null==(u=TOe(e))||!u.hasAttribute("type"))&&(n.value="button")})),n}var AOe=(o=>(o[o.None=0]="None",o[o.RenderStrategy=1]="RenderStrategy",o[o.Static=2]="Static",o))(AOe||{}),S=(e=>(e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden",e))(S||{});function A({visible:r=!0,features:t=0,ourProps:e,theirProps:o,...i}){var a;let n=j(o,e),l=Object.assign(i,{props:n});if(r||2&t&&n.static)return y(l);if(1&t){return SOe(null==(a=n.unmount)||a?0:1,{0:()=>null,1:()=>y({...i,props:{...n,hidden:!0,style:{display:"none"}}})})}return y(l)}function y({props:r,attrs:t,slots:e,slot:o,name:i}){var m,eee;let{as:n,...l}=T(r,["unmount","static"]),a=null==(m=e.default)?void 0:m.call(e,o),d={};if(o){let u=!1,c=[];for(let[p,f]of Object.entries(o))"boolean"==typeof f&&(u=!0),!0===f&&c.push(p);u&&(d["data-headlessui-state"]=c.join(" "))}if("template"===n){if(a=b(null!=a?a:[]),Object.keys(l).length>0||Object.keys(t).length>0){let[u,...c]=null!=a?a:[];if(!function(r){return null!=r&&("string"==typeof r.type||"object"==typeof r.type||"function"==typeof r.type)}(u)||c.length>0)throw new Error(['Passing props on "template"!',"",`The current component <${i} /> is rendering a "template".`,"However we need to passthrough the following props:",Object.keys(l).concat(Object.keys(t)).map((s=>s.trim())).filter(((s,g,R)=>R.indexOf(s)===g)).sort(((s,g)=>s.localeCompare(g))).map((s=>` - ${s}`)).join("\n"),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "template".',"Render a single element as the child so that we can forward the props onto that element."].map((s=>` - ${s}`)).join("\n")].join("\n"));let p=j(null!=(eee=u.props)?eee:{},l,d),f=rae(u,p,!0);for(let s in p)s.startsWith("on")&&(f.props||(f.props={}),f.props[s]=p[s]);return f}return Array.isArray(a)&&1===a.length?a[0]:a}return h(n,Object.assign({},l,d),{default:()=>a})}function b(r){return r.flatMap((t=>t.type===Mne?b(t.children):[t]))}function j(...r){if(0===r.length)return{};if(1===r.length)return r[0];let t={},e={};for(let i of r)for(let n in i)n.startsWith("on")&&"function"==typeof i[n]?(null!=e[n]||(e[n]=[]),e[n].push(i[n])):t[n]=i[n];if(t.disabled||t["aria-disabled"])return Object.assign(t,Object.fromEntries(Object.keys(e).map((i=>[i,void 0]))));for(let i in e)Object.assign(t,{[i](n,...l){let a=e[i];for(let d of a){if(n instanceof Event&&n.defaultPrevented)return;d(n,...l)}}});return t}function ROe(r){let t=Object.assign({},r);for(let e in t)void 0===t[e]&&delete t[e];return t}function T(r,t=[]){let e=Object.assign({},r);for(let o of t)o in e&&delete e[o];return e}var DOe=(e=>(e[e.None=1]="None",e[e.Focusable=2]="Focusable",e[e.Hidden=4]="Hidden",e))(DOe||{});let f=xoe({name:"Hidden",props:{as:{type:[Object,String],default:"div"},features:{type:Number,default:1}},setup:(t,{slots:n,attrs:i})=>()=>{var r;let{features:e,...d}=t;return A({ourProps:{"aria-hidden":!(2&~e)||(null!=(r=d["aria-hidden"])?r:void 0),hidden:!(4&~e)||void 0,style:{position:"fixed",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",...!(4&~e)&&!!(2&~e)&&{display:"none"}}},theirProps:d,slot:{},attrs:i,slots:n,name:"Hidden"})}}),n=Symbol("Context");var i=(e=>(e[e.Open=1]="Open",e[e.Closed=2]="Closed",e[e.Closing=4]="Closing",e[e.Opening=8]="Opening",e))(i||{});function COe(){return wne(n,null)}function t(o){gne(n,o)}var o=(r=>(r.Space=" ",r.Enter="Enter",r.Escape="Escape",r.Backspace="Backspace",r.Delete="Delete",r.ArrowLeft="ArrowLeft",r.ArrowUp="ArrowUp",r.ArrowRight="ArrowRight",r.ArrowDown="ArrowDown",r.Home="Home",r.End="End",r.PageUp="PageUp",r.PageDown="PageDown",r.Tab="Tab",r))(o||{});let u=Symbol("DescriptionContext");let a=Symbol("LabelContext");function LOe(){let t=wne(a,null);if(null===t){let n=new Error("You used a
    ${tee}`),"
    \n\n"+eee+"\n"+tee+"
    \n"}tablerow(eee){return`\n${eee}\n`}tablecell(eee,tee){const ree=tee.header?"th":"td";return(tee.align?`<${ree} align="${tee.align}">`:`<${ree}>`)+eee+`\n`}strong(eee){return`${eee}`}em(eee){return`${eee}`}codespan(eee){return`${eee}`}br(){return"
    "}del(eee){return`${eee}`}link(eee,tee,ree){const oee=XNe(eee);if(null===oee)return ree;let nee='
    ",nee}image(eee,tee,ree){const oee=XNe(eee);if(null===oee)return ree;let nee=`${ree}0&&"paragraph"===tee.tokens[0].type?(tee.tokens[0].text=eee+" "+tee.tokens[0].text,tee.tokens[0].tokens&&tee.tokens[0].tokens.length>0&&"text"===tee.tokens[0].tokens[0].type&&(tee.tokens[0].tokens[0].text=eee+" "+tee.tokens[0].tokens[0].text)):tee.tokens.unshift({type:"text",text:eee+" "}):nee+=eee+" "}nee+=this.parse(tee.tokens,aee),iee+=this.renderer.listitem(nee,oee,!!ree)}ree+=this.renderer.list(iee,tee,nee);continue}case"html":{const eee=oee;ree+=this.renderer.html(eee.text,eee.block);continue}case"paragraph":{const eee=oee;ree+=this.renderer.paragraph(this.parseInline(eee.tokens));continue}case"text":{let nee=oee,aee=nee.tokens?this.parseInline(nee.tokens):nee.text;for(;i+1{const nee=eee[oee].flat(1/0);ree=ree.concat(this.walkTokens(nee,tee))})):eee.tokens&&(ree=ree.concat(this.walkTokens(eee.tokens,tee)))}}return ree}use(...eee){const tee=this.defaults.extensions||{renderers:{},childTokens:{}};return eee.forEach((eee=>{const ree={...eee};if(ree.async=this.defaults.async||ree.async||!1,eee.extensions&&(eee.extensions.forEach((eee=>{if(!eee.name)throw new Error("extension name required");if("renderer"in eee){const ree=tee.renderers[eee.name];tee.renderers[eee.name]=ree?function(...tee){let oee=eee.renderer.apply(this,tee);return!1===oee&&(oee=ree.apply(this,tee)),oee}:eee.renderer}if("tokenizer"in eee){if(!eee.level||"block"!==eee.level&&"inline"!==eee.level)throw new Error("extension level must be 'block' or 'inline'");const ree=tee[eee.level];ree?ree.unshift(eee.tokenizer):tee[eee.level]=[eee.tokenizer],eee.start&&("block"===eee.level?tee.startBlock?tee.startBlock.push(eee.start):tee.startBlock=[eee.start]:"inline"===eee.level&&(tee.startInline?tee.startInline.push(eee.start):tee.startInline=[eee.start]))}"childTokens"in eee&&eee.childTokens&&(tee.childTokens[eee.name]=eee.childTokens)})),ree.extensions=tee),eee.renderer){const tee=this.defaults.renderer||new PAe(this.defaults);for(const ree in eee.renderer){if(!(ree in tee))throw new Error(`renderer '${ree}' does not exist`);if("options"===ree)continue;const oee=ree,nee=eee.renderer[oee],aee=tee[oee];tee[oee]=(...eee)=>{let ree=nee.apply(tee,eee);return!1===ree&&(ree=aee.apply(tee,eee)),ree||""}}ree.renderer=tee}if(eee.tokenizer){const tee=this.defaults.tokenizer||new rAe(this.defaults);for(const ree in eee.tokenizer){if(!(ree in tee))throw new Error(`tokenizer '${ree}' does not exist`);if(["options","rules","lexer"].includes(ree))continue;const oee=ree,nee=eee.tokenizer[oee],aee=tee[oee];tee[oee]=(...eee)=>{let ree=nee.apply(tee,eee);return!1===ree&&(ree=aee.apply(tee,eee)),ree}}ree.tokenizer=tee}if(eee.hooks){const tee=this.defaults.hooks||new $Ae;for(const ree in eee.hooks){if(!(ree in tee))throw new Error(`hook '${ree}' does not exist`);if("options"===ree)continue;const oee=ree,nee=eee.hooks[oee],aee=tee[oee];$Ae.passThroughHooks.has(ree)?tee[oee]=eee=>{if(this.defaults.async)return Promise.resolve(nee.call(tee,eee)).then((eee=>aee.call(tee,eee)));const ree=nee.call(tee,eee);return aee.call(tee,ree)}:tee[oee]=(...eee)=>{let ree=nee.apply(tee,eee);return!1===ree&&(ree=aee.apply(tee,eee)),ree}}ree.hooks=tee}if(eee.walkTokens){const tee=this.defaults.walkTokens,oee=eee.walkTokens;ree.walkTokens=function(eee){let ree=[];return ree.push(oee.call(this,eee)),tee&&(ree=ree.concat(tee.call(this,eee))),ree}}this.defaults={...this.defaults,...ree}})),this}setOptions(eee){return this.defaults={...this.defaults,...eee},this}lexer(eee,tee){return MAe.lex(eee,tee??this.defaults)}parser(eee,tee){return jAe.parse(eee,tee??this.defaults)}#e(eee,tee){return(ree,oee)=>{const nee={...oee},aee={...this.defaults,...nee};!0===this.defaults.async&&!1===nee.async&&(aee.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),aee.async=!0);const iee=this.#t(!!aee.silent,!!aee.async);if(null==ree)return iee(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof ree)return iee(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(ree)+", string expected"));if(aee.hooks&&(aee.hooks.options=aee),aee.async)return Promise.resolve(aee.hooks?aee.hooks.preprocess(ree):ree).then((tee=>eee(tee,aee))).then((eee=>aee.hooks?aee.hooks.processAllTokens(eee):eee)).then((eee=>aee.walkTokens?Promise.all(this.walkTokens(eee,aee.walkTokens)).then((()=>eee)):eee)).then((eee=>tee(eee,aee))).then((eee=>aee.hooks?aee.hooks.postprocess(eee):eee)).catch(iee);try{aee.hooks&&(ree=aee.hooks.preprocess(ree));let oee=eee(ree,aee);aee.hooks&&(oee=aee.hooks.processAllTokens(oee)),aee.walkTokens&&this.walkTokens(oee,aee.walkTokens);let nee=tee(oee,aee);return aee.hooks&&(nee=aee.hooks.postprocess(nee)),nee}catch(e){return iee(e)}}}#t(eee,tee){return e=>{if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",eee){const eee="

    An error occurred:

    "+GNe(e.message+"",!0)+"
    ";return tee?Promise.resolve(eee):eee}if(tee)return Promise.reject(e);throw e}}};function qAe(eee,tee){return VAe.parse(eee,tee)}qAe.options=qAe.setOptions=function(eee){return VAe.setOptions(eee),qAe.defaults=VAe.defaults,UNe(qAe.defaults),qAe},qAe.getDefaults=MNe,qAe.defaults=PNe,qAe.use=function(...eee){return VAe.use(...eee),qAe.defaults=VAe.defaults,UNe(qAe.defaults),qAe},qAe.walkTokens=function(eee,tee){return VAe.walkTokens(eee,tee)},qAe.parseInline=VAe.parseInline,qAe.Parser=jAe,qAe.parser=jAe.parse,qAe.Renderer=PAe,qAe.TextRenderer=UAe,qAe.Lexer=MAe,qAe.lexer=MAe.lex,qAe.Tokenizer=rAe,qAe.Hooks=$Ae,qAe.parse=qAe,qAe.options,qAe.setOptions,qAe.use,qAe.walkTokens,qAe.parseInline,jAe.parse,MAe.lex;const BAe=Xce("updateOsChangelog",(()=>{const eee=dSe(),tee=kre(null);goe(tee,(async(eee,tee)=>{console.debug("[releaseForUpdate] watch",eee,tee),lee(),eee&&await cee()}));const ree=Sae((()=>tee.value&&tee.value?.changelog?tee.value?.changelog??`https://raw.githubusercontent.com/unraid/docs/main/docs/unraid-os/release-notes/${tee.value.version}.md`:"")),oee=Sae((()=>!!tee.value&&null===Ipe(tee.value.version))),nee=kre(""),aee=kre(""),iee=Sae((()=>nee.value?nee.value.replace(/

    (.*?)<\/h1>/,""):nee.value)),see=Sae((()=>aee.value?aee.value:nee.value?nee.value.match(/

    (.*?)<\/h1>/)?.[1]??`Version ${tee.value?.version} ${tee.value?.date}`:"")),lee=()=>{console.debug("[resetChangelogDetails]"),nee.value="",aee.value=""},cee=async()=>{console.debug("[fetchAndParseChangelog]");try{const eee=await JEe.url(ree.value??"").get().text();qAe.use(function(eee){eee=eee.trim().replace(/\/+$/,"/");const tee=/^[\w+]+:\/\//,ree=tee.test(eee),oee=new URL(eee,"http://__dummy__"),nee=16+(eee.startsWith("/")?0:1);return{walkTokens(aee){if(["link","image"].includes(aee.type)&&!tee.test(aee.href)&&!aee.href.startsWith("#"))if(ree)try{aee.href=new URL(aee.href,eee).href}catch(e){}else{if(aee.href.startsWith("/"))return;try{const eee=new URL(aee.href,oee).href;aee.href=eee.slice(nee)}catch(e){}}}}}(vTe.toString()));const tee=new qAe.Renderer,oee={options:{sanitize:!0},render:qAe.Renderer.prototype.link};tee.link=function(eee,tee,ree){return oee.render(eee,tee,ree).replace("{console.debug("[setReleaseForUpdate]",eee),tee.value=eee},fetchAndConfirmInstall:tee=>{eee.send(window.location.href,[{sha256:tee,type:"updateOs"}],void 0,"forUpc")}}})),YAe={key:1,class:"flex flex-col gap-y-16px"},GAe={key:0,class:"flex flex-col xs:flex-row justify-center gap-8px"},QAe={key:1,class:"mx-auto"},WAe={class:"flex justify-center items-center gap-8px p-8px rounded"},KAe={class:"absolute z-0 inset-0 opacity-10 bg-beta"},HAe={key:2,class:"w-full max-w-640px mx-auto flex flex-col gap-8px"},XAe={class:"text-left text-16px font-semibold italic"},ZAe={class:"flex flex-col-reverse xs:flex-row justify-start gap-8px"},JAe={key:0,class:"flex flex-col xs:flex-row justify-end gap-8px"},eRe=xoe({__name:"CheckUpdateResponseModal",props:{open:{type:Boolean,default:!1},t:{}},setup(eee){const tee=eee,ree=oIe(),oee=nIe(),nee=pIe(),aee=zTe(),iee=BAe(),{regExp:see,regUpdatesExpired:lee,dateTimeFormat:cee,updateOsIgnoredReleases:pee,updateOsNotificationsEnabled:dee,updateOsResponse:uee}=Zce(nee),{available:hee,availableWithRenewal:gee,availableReleaseDate:wee,availableRequiresAuth:fee,checkForUpdatesLoading:bee}=Zce(aee),mee=kre(),vee=()=>{if(!see.value)return;const{outputDateTimeFormatted:eee}=gOe(cee.value,tee.t,!0,see.value);mee.value=eee.value};goe(see,(eee=>{vee()}));const yee=kre(!1);goe(pee,((eee,tee)=>{tee.length>0&&0===eee.length&&(yee.value=!1)}));const xee=Sae((()=>dee.value?void 0:tee.t("Go to Settings > Notifications to enable automatic OS update notifications for future releases."))),kee=Sae((()=>{if(bee.value)return{title:tee.t("Checking for OS updates...")};let eee="";if(wee.value&&(eee=tee.t("Release date {0}",[Oee.value])),gee.value){const ree=lee.value?tee.t("Ineligible for feature updates released after {0}",[mee.value]):tee.t("Eligible for free feature updates until {0}",[mee.value]);return{title:tee.t("Unraid OS {0} Released",[gee.value]),description:`

    ${eee}

    ${ree}

    `}}if(hee.value){const ree=fee.value?tee.t("Release requires verification to update"):void 0;return{title:tee.t("Unraid OS {0} Update Available",[hee.value]),description:ree?`

    ${eee}

    ${ree}

    `:eee}}return hee.value||gee.value?null:{title:tee.t("Unraid OS is up-to-date"),description:xee.value??void 0}})),_ee=Sae((()=>!dee.value&&!hee.value&&!gee.value)),Eee=Sae((()=>{const eee=[];return _ee.value&&eee.push({btnStyle:"outline",href:"/Settings/Notifications",icon:$pe,text:tee.t("Enable update notifications")}),eee})),Tee=Sae((()=>{if(!hee.value||yee.value)return null;const eee=[];return fee.value&&!gee.value?(eee.push({click:async()=>await ree.updateOs(),icon:Qpe,text:tee.t("Verify to Update")}),eee):(hee.value&&uee.value?.changelog&&eee.push({btnStyle:gee.value?"outline":void 0,click:async()=>await iee.setReleaseForUpdate(uee.value??null),icon:Bpe,text:gee.value?tee.t("View Changelog"):tee.t("View Changelog to Start Update")}),gee.value&&eee.push({click:async()=>await oee.renew(),icon:Kpe,iconRight:Dpe,iconRightHoverDisplay:!1,text:tee.t("Extend License"),title:tee.t("Pay your annual fee to continue receiving OS updates.")}),eee)})),See=()=>{aee.setModalOpen(!1),yee.value&&(gee.value||hee.value)&&setTimeout((()=>{nee.updateOsIgnoreRelease(gee.value??hee.value??"")}),500)},Iee=Sae((()=>!!(bee.value||hee.value||gee.value||Eee.value?.length>0||pee.value.length>0))),Oee=kre(),Nee=()=>{if(!wee.value)return;const{outputDateTimeFormatted:eee}=gOe(cee.value,tee.t,!0,wee.value.valueOf());Oee.value=eee.value};goe(wee,(eee=>{Nee()})),Aoe((()=>{wee.value&&Nee(),vee()}));const Aee=Sae((()=>gee.value?"max-w-800px":"max-w-640px"));return(eee,tee)=>{const oee=ySe,nee=Lce,aee=zNe,iee=KOe;return qne(),Wne(iee,{t:eee.t,open:eee.open,title:Sre(kee)?.title,description:Sre(kee)?.description,"show-close-x":!Sre(bee),"max-width":Sre(Aee),onClose:See},Boe({_:2},[Sre(Iee)?{name:"main",fn:soe((()=>[Sre(bee)?(qne(),Wne(oee,{key:0,class:"w-[150px] mx-auto"})):(qne(),Qne("div",YAe,[Sre(Eee).length>0?(qne(),Qne("div",GAe,[(qne(!0),Qne(Mne,null,qoe(Sre(Eee),(tee=>(qne(),Wne(nee,{key:tee.text,"btn-style":tee.btnStyle??void 0,href:tee.href??void 0,icon:tee.icon,"icon-right":tee.iconRight,"icon-right-hover-display":tee.iconRightHoverDisplay,text:eee.t(tee.text??""),title:tee.title?eee.t(tee.title):void 0,onClick:eee=>tee.click?.()},null,8,["btn-style","href","icon","icon-right","icon-right-hover-display","text","title","onClick"])))),128))])):aae("",!0),Sre(hee)||Sre(gee)?(qne(),Qne("div",QAe,[tae(Sre(oe),null,{default:soe((()=>[eae("div",WAe,[tae(Sre(ue),{modelValue:Sre(yee),"onUpdate:modelValue":tee[0]||(tee[0]=eee=>xre(yee)?yee.value=eee:null),class:Yee([Sre(yee)?"bg-gradient-to-r from-unraid-red to-orange":"bg-transparent","relative inline-flex h-24px w-[48px] items-center rounded-full overflow-hidden"])},{default:soe((()=>[voe(eae("span",KAe,null,512),[[oie,!Sre(yee)]]),eae("span",{class:Yee([Sre(yee)?"translate-x-[26px]":"translate-x-[2px]","inline-block h-20px w-20px transform rounded-full bg-white transition"])},null,2)])),_:1},8,["modelValue","class"]),tae(Sre(de),{class:"text-16px"},{default:soe((()=>[oae(Hee(eee.t("Ignore this release until next reboot")),1)])),_:1})])])),_:1})])):Sre(pee).length>0?(qne(),Qne("div",HAe,[eae("h3",XAe,Hee(eee.t("Ignored Releases")),1),(qne(!0),Qne(Mne,null,qoe(Sre(pee),(tee=>(qne(),Wne(aee,{key:tee,label:tee,t:eee.t},null,8,["label","t"])))),128))])):aae("",!0)]))])),key:"0"}:void 0,Sre(bee)?void 0:{name:"footer",fn:soe((()=>[eae("div",{class:Yee(["w-full flex gap-8px mx-auto",{"flex-col-reverse xs:flex-row justify-between":Sre(Tee),"justify-center":!Sre(Tee)}])},[eae("div",ZAe,[tae(nee,{"btn-style":"underline-hover-red",icon:Sre(ide),text:eee.t("Close"),onClick:See},null,8,["icon","text"]),tae(nee,{"btn-style":"underline",icon:Sre(Dpe),text:eee.t("More options"),onClick:tee[1]||(tee[1]=eee=>Sre(ree).updateOs())},null,8,["icon","text"])]),Sre(Tee)?(qne(),Qne("div",JAe,[(qne(!0),Qne(Mne,null,qoe(Sre(Tee),(tee=>(qne(),Wne(nee,{key:tee.text,"btn-style":tee.btnStyle??void 0,icon:tee.icon,"icon-right":tee.iconRight,"icon-right-hover-display":tee.iconRightHoverDisplay,text:eee.t(tee.text??""),title:tee.title?eee.t(tee.title):void 0,onClick:eee=>tee.click?.()},null,8,["btn-style","icon","icon-right","icon-right-hover-display","text","title","onClick"])))),128))])):aae("",!0)],2)])),key:"1"}]),1032,["t","open","title","description","show-close-x","max-width"])}}}),tRe=["innerHTML"],rRe={key:1,class:"text-center flex flex-col gap-4 prose"},oRe={class:"text-lg text-unraid-red italic font-semibold"},nRe={key:0,class:"flex self-center"},aRe={key:2,class:"text-center flex flex-col justify-center w-full min-h-[250px] min-w-[280px] sm:min-w-[400px]"},iRe={class:"flex flex-col-reverse xs:flex-row justify-between gap-12px md:gap-16px"},sRe={class:"flex flex-col-reverse xs:flex-row xs:justify-start gap-12px md:gap-16px"},lRe=xoe({__name:"ChangelogModal",props:{open:{type:Boolean,default:!1},t:{}},setup(eee){const tee=eee,ree=nIe(),oee=zTe(),nee=BAe(),{availableWithRenewal:aee}=Zce(oee),{releaseForUpdate:iee,mutatedParsedChangelog:see,parseChangelogFailed:lee,parsedChangelogTitle:cee}=Zce(nee),pee=Sae((()=>aee.value));return(eee,oee)=>{const aee=Lce,dee=ySe,uee=KOe;return qne(),Wne(uee,{"center-content":!1,error:!!Sre(lee),"max-width":"max-w-800px",open:!!Sre(iee),"show-close-x":!0,t:eee.t,"tall-content":!0,title:Sre(cee)??void 0,onClose:oee[3]||(oee[3]=eee=>Sre(nee).setReleaseForUpdate(null))},{main:soe((()=>[Sre(see)?(qne(),Qne("div",{key:0,class:"text-16px sm:text-18px prose prose-a:text-unraid-red hover:prose-a:no-underline hover:prose-a:text-unraid-red/60 dark:prose-a:text-orange hover:dark:prose-a:text-orange/60",innerHTML:Sre(see)},null,8,tRe)):Sre(lee)?(qne(),Qne("div",rRe,[eae("h2",oRe,Hee(tee.t("Error Parsing Changelog • {0}",[Sre(lee)])),1),eae("p",null,Hee(tee.t("It's highly recommended to review the changelog before continuing your update")),1),Sre(iee)?.changelogPretty?(qne(),Qne("div",nRe,[tae(aee,{href:Sre(iee)?.changelogPretty,"btn-style":"underline",external:!0,"icon-right":Sre(Dpe)},{default:soe((()=>[oae(Hee(tee.t("View Changelog on Docs")),1)])),_:1},8,["href","icon-right"])])):aae("",!0)])):(qne(),Qne("div",aRe,[tae(dee,{class:"w-[150px] mx-auto mt-24px"}),eae("p",null,Hee(tee.t("Fetching & parsing changelog…")),1)]))])),footer:soe((()=>[eae("div",iRe,[eae("div",sRe,[tae(aee,{"btn-style":"underline-hover-red",icon:Sre(ide),onClick:oee[0]||(oee[0]=eee=>Sre(nee).setReleaseForUpdate(null))},{default:soe((()=>[oae(Hee(tee.t("Close")),1)])),_:1},8,["icon"]),Sre(iee)?.changelogPretty?(qne(),Wne(aee,{key:0,"btn-style":"underline",external:!0,href:Sre(iee)?.changelogPretty,icon:Sre(Bpe),"icon-right":Sre(Dpe)},{default:soe((()=>[oae(Hee(tee.t("View on Docs")),1)])),_:1},8,["href","icon","icon-right"])):aae("",!0)]),pee.value?(qne(),Wne(aee,{key:0,"btn-style":"fill",icon:Sre(Kpe),"icon-right":Sre(Dpe),onClick:oee[1]||(oee[1]=eee=>Sre(ree).renew())},{default:soe((()=>[oae(Hee(tee.t("Extend License to Update")),1)])),_:1},8,["icon","icon-right"])):Sre(iee)?.sha256?(qne(),Wne(aee,{key:1,icon:Sre(Jpe),"icon-right":Sre(Rpe),onClick:oee[2]||(oee[2]=eee=>Sre(nee).fetchAndConfirmInstall(Sre(iee).sha256))},{default:soe((()=>[oae(Hee(tee.t("Continue")),1)])),_:1},8,["icon","icon-right"])):aae("",!0)])])),_:1},8,["error","open","t","title"])}}}),cRe={class:"relative z-[99999]"},pRe=xoe({__name:"Modals.ce",setup(eee){const{t:t}=_ce(),{callbackStatus:tee}=Zce(pSe()),{trialModalVisible:ree}=Zce(RNe()),{modalOpen:oee}=Zce(zTe()),{releaseForUpdate:nee}=Zce(BAe());return(eee,aee)=>{const iee=NNe,see=LNe,lee=eRe,cee=lRe;return qne(),Qne("div",cRe,[tae(iee,{t:Sre(t),open:"ready"!==Sre(tee)},null,8,["t","open"]),tae(see,{t:Sre(t),open:Sre(ree)},null,8,["t","open"]),tae(lee,{t:Sre(t),open:Sre(oee)},null,8,["t","open"]),tae(cee,{t:Sre(t),open:!!Sre(nee)},null,8,["t","open"])])}}}),dRe=Ace(pRe,[["styles",['/*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:clear-sans,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:470px){.container{max-width:470px}}@media (min-width:530px){.container{max-width:530px}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--color-beta);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:#ff8c2f;font-weight:500;text-decoration:underline}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{color:#f15a2c}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"“""”""‘""’"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:start;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:var(--color-beta);--tw-prose-headings:var(--color-beta);--tw-prose-lead:var(--color-beta);--tw-prose-links:#ff8c2f;--tw-prose-bold:var(--color-beta);--tw-prose-counters:var(--color-beta);--tw-prose-bullets:var(--color-beta);--tw-prose-hr:var(--color-beta);--tw-prose-quotes:var(--color-beta);--tw-prose-quote-borders:var(--color-beta);--tw-prose-captions:var(--color-beta);--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:var(--color-beta);--tw-prose-pre-code:var(--color-beta);--tw-prose-pre-bg:var(--color-alpha);--tw-prose-th-borders:var(--color-beta);--tw-prose-td-borders:var(--color-beta);--tw-prose-invert-body:var(--color-alpha);--tw-prose-invert-headings:var(--color-alpha);--tw-prose-invert-lead:var(--color-alpha);--tw-prose-invert-links:#ff8c2f;--tw-prose-invert-bold:var(--color-alpha);--tw-prose-invert-counters:var(--color-alpha);--tw-prose-invert-bullets:var(--color-alpha);--tw-prose-invert-hr:var(--color-alpha);--tw-prose-invert-quotes:var(--color-alpha);--tw-prose-invert-quote-borders:var(--color-alpha);--tw-prose-invert-captions:var(--color-alpha);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--color-alpha);--tw-prose-invert-pre-code:var(--color-alpha);--tw-prose-invert-pre-bg:var(--color-beta);--tw-prose-invert-th-borders:var(--color-alpha);--tw-prose-invert-td-borders:var(--color-alpha);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose{--tw-prose-invert-code-bg:var(--color-gamma-opaque)}.unraid_mark_2,.unraid_mark_4{animation:mark_2 1.5s ease infinite}.unraid_mark_3{animation:mark_3 1.5s ease infinite}.unraid_mark_6,.unraid_mark_8{animation:mark_6 1.5s ease infinite}.unraid_mark_7{animation:mark_7 1.5s ease infinite}@keyframes mark_2{50%{transform:translateY(-40px)}to{transform:translateY(0)}}@keyframes mark_3{50%{transform:translateY(-62px)}to{transform:translateY(0)}}@keyframes mark_6{50%{transform:translateY(40px)}to{transform:translateY(0)}}@keyframes mark_7{50%{transform:translateY(62px)}to{transform:translateY(0)}}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-\\[2px\\]{bottom:-2px}.-left-\\[2px\\]{left:-2px}.-right-\\[2px\\]{right:-2px}.-top-1{top:-.25rem}.-top-\\[2px\\]{top:-2px}.bottom-0{bottom:0}.bottom-\\[-3px\\]{bottom:-3px}.right-0{right:0}.top-0{top:0}.top-\\[1px\\]{top:1px}.top-full{top:100%}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\\[99999\\]{z-index:99999}.mx-8px{margin-left:8px;margin-right:8px}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.my-12{margin-bottom:3rem;margin-top:3rem}.my-16px{margin-bottom:16px;margin-top:16px}.my-24px{margin-bottom:24px;margin-top:24px}.my-8px{margin-bottom:8px;margin-top:8px}.mb-4px{margin-bottom:4px}.mb-8px{margin-bottom:8px}.ml-3{margin-left:.75rem}.ml-8px{margin-left:8px}.mr-8px{margin-right:8px}.mt-0{margin-top:0}.mt-12px{margin-top:12px}.mt-2{margin-top:.5rem}.mt-24px{margin-top:24px}.mt-4px{margin-top:4px}.mt-8px{margin-top:8px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-12px{height:12px}.h-16px{height:16px}.h-20px{height:20px}.h-24px{height:24px}.h-2px{height:2px}.h-32px{height:32px}.h-36px{height:36px}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.max-h-\\[65vh\\]{max-height:65vh}.min-h-\\[250px\\]{min-height:250px}.min-h-screen{min-height:100vh}.w-1\\/2{width:50%}.w-11{width:2.75rem}.w-12px{width:12px}.w-14px{width:14px}.w-16px{width:16px}.w-20px{width:20px}.w-24px{width:24px}.w-28px{width:28px}.w-2px{width:2px}.w-32px{width:32px}.w-36px{width:36px}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\\[100px\\]{width:100px}.w-\\[110px\\]{width:110px}.w-\\[120px\\]{width:120px}.w-\\[125\\%\\]{width:125%}.w-\\[150px\\]{width:150px}.w-\\[44px\\]{width:44px}.w-\\[48px\\]{width:48px}.w-full{width:100%}.w-screen{width:100vw}.min-w-300px{min-width:300px}.min-w-\\[280px\\]{min-width:280px}.max-w-1024px{max-width:1024px}.max-w-160px{max-width:160px}.max-w-350px{max-width:350px}.max-w-3xl{max-width:48rem}.max-w-640px{max-width:640px}.max-w-800px{max-width:800px}.max-w-\\[45ch\\]{max-width:45ch}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.grow-0{flex-grow:0}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-20px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-20px{--tw-translate-x:20px}.translate-x-\\[26px\\]{--tw-translate-x:26px}.translate-x-\\[26px\\],.translate-x-\\[2px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[2px\\]{--tw-translate-x:2px}.translate-y-\\[16px\\]{--tw-translate-y:16px}.scale-100,.translate-y-\\[16px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-12px{gap:12px}.gap-16px{gap:16px}.gap-2{gap:.5rem}.gap-20px{gap:20px}.gap-4{gap:1rem}.gap-4px{gap:4px}.gap-6{gap:1.5rem}.gap-8px{gap:8px}.gap-x-16px{-moz-column-gap:16px;column-gap:16px}.gap-x-4px{-moz-column-gap:4px;column-gap:4px}.gap-x-8px{-moz-column-gap:8px;column-gap:8px}.gap-y-16px{row-gap:16px}.gap-y-24px{row-gap:24px}.gap-y-4px{row-gap:4px}.gap-y-8px{row-gap:8px}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-normal{white-space:normal}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b-2{border-bottom-width:2px}.border-l-0{border-left-width:0}.border-r-0{border-right-width:0}.border-t-0{border-top-width:0}.border-solid{border-style:solid}.border-none{border-style:none}.border-black{--tw-border-opacity:1;border-color:rgb(28 27 27/var(--tw-border-opacity))}.border-gamma-opaque{border-color:var(--color-gamma-opaque)}.border-green-600\\/10{border-color:#16a34a1a}.border-grey-mid{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.border-orange{--tw-border-opacity:1;border-color:rgb(255 140 47/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-unraid-red{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.border-unraid-red\\/10{border-color:#e228281a}.border-unraid-red\\/90{border-color:#e22828e6}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-white\\/10{border-color:#ffffff1a}.border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity))}.bg-alpha{background-color:var(--color-alpha)}.bg-beta{background-color:var(--color-beta)}.bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-current{background-color:currentColor}.bg-gamma{background-color:var(--color-gamma)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-grey{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-orange{--tw-bg-opacity:1;background-color:rgb(255 140 47/var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-unraid-red{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.bg-unraid-red\\/90{background-color:#e22828e6}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity:.8}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-unraid-red{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-orange{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.to-orange\\/60{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-green-600{fill:#16a34a}.fill-unraid-red{fill:#e22828}.p-0{padding:0}.p-1{padding:.25rem}.p-12px{padding:12px}.p-16px{padding:16px}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8px{padding:8px}.px-12px{padding-left:12px;padding-right:12px}.px-16px{padding-left:16px;padding-right:16px}.px-4{padding-left:1rem;padding-right:1rem}.px-4px{padding-left:4px;padding-right:4px}.px-6px{padding-left:6px;padding-right:6px}.px-8px{padding-left:8px;padding-right:8px}.py-0{padding-bottom:0;padding-top:0}.py-12px{padding-bottom:12px;padding-top:12px}.py-24px{padding-bottom:24px;padding-top:24px}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-4px{padding-bottom:4px;padding-top:4px}.py-8px{padding-bottom:8px;padding-top:8px}.pb-12{padding-bottom:3rem}.pb-8px{padding-bottom:8px}.pl-40px{padding-left:40px}.pr-16px{padding-right:16px}.pr-40px{padding-right:40px}.pr-4px{padding-right:4px}.pt-4px{padding-top:4px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-10px{font-size:10px}.text-12px{font-size:12px}.text-14px{font-size:14px}.text-16px{font-size:16px}.text-18px{font-size:18px}.text-20px{font-size:20px}.text-24px{font-size:24px}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.text-\\[\\#486dba\\]{--tw-text-opacity:1;color:rgb(72 109 186/var(--tw-text-opacity))}.text-alpha{color:var(--color-alpha)}.text-beta{color:var(--color-beta)}.text-black{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-current{color:currentColor}.text-gamma{color:var(--color-gamma)}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-grey-mid{--tw-text-opacity:1;color:rgb(153 153 153/var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}.text-orange{--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-unraid-red{--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[var\\(--ring-offset-shadow\\)_var\\(--ring-shadow\\)_var\\(--shadow-beta\\)\\]{--tw-shadow-color:var(--ring-offset-shadow) var(--ring-shadow) var(--shadow-beta);--tw-shadow:var(--tw-shadow-colored)}.shadow-green-600\\/30{--tw-shadow-color:rgba(22,163,74,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-orange\\/10{--tw-shadow-color:rgba(255,140,47,.1);--tw-shadow:var(--tw-shadow-colored)}.shadow-unraid-red\\/30{--tw-shadow-color:rgba(226,40,40,.3);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-black{outline-color:#1c1b1b}.outline-white{outline-color:#fff}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.even\\:bg-black\\/5:nth-child(2n){background-color:#1c1b1b0d}.even\\:bg-grey-darkest:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity))}@keyframes pulse{50%{opacity:.5}}.hover\\:animate-pulse:hover{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.hover\\:border-beta:hover{border-color:var(--color-beta)}.hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.hover\\:border-grey-mid:hover{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.hover\\:border-orange-dark:hover{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.hover\\:border-unraid-red:hover{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.hover\\:bg-beta:hover{background-color:var(--color-beta)}.hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.hover\\:bg-grey-mid:hover{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.hover\\:bg-unraid-red:hover{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\\:bg-gradient-to-r:hover{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.hover\\:from-unraid-red:hover{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:from-unraid-red\\/60:hover{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:to-orange:hover{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.hover\\:to-orange\\/60:hover{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.hover\\:text-\\[\\#3b5ea9\\]:hover{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.hover\\:text-alpha:hover{color:var(--color-alpha)}.hover\\:text-black:hover{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:no-underline:hover{text-decoration-line:none}.hover\\:opacity-100:hover{opacity:1}.hover\\:opacity-75:hover{opacity:.75}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:shadow-orange\\/50:hover{--tw-shadow-color:rgba(255,140,47,.5);--tw-shadow:var(--tw-shadow-colored)}.focus\\:border-beta:focus{border-color:var(--color-beta)}.focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.focus\\:border-grey-mid:focus{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.focus\\:border-orange-dark:focus{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.focus\\:border-unraid-red:focus{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.focus\\:bg-beta:focus{background-color:var(--color-beta)}.focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.focus\\:bg-grey-mid:focus{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.focus\\:bg-unraid-red:focus{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus\\:bg-gradient-to-r:focus{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.focus\\:from-unraid-red:focus{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:from-unraid-red\\/60:focus{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:to-orange:focus{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.focus\\:to-orange\\/60:focus{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.focus\\:text-\\[\\#3b5ea9\\]:focus{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.focus\\:text-alpha:focus{color:var(--color-alpha)}.focus\\:text-black:focus{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.focus\\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\\:underline:focus{text-decoration-line:underline}.focus\\:no-underline:focus{text-decoration-line:none}.focus\\:opacity-100:focus{opacity:1}.focus\\:opacity-75:focus{opacity:.75}.focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.focus\\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-25:disabled{opacity:.25}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:hover\\:opacity-25:hover:disabled{opacity:.25}.disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.disabled\\:focus\\:opacity-25:focus:disabled{opacity:.25}.disabled\\:focus\\:opacity-50:focus:disabled{opacity:.5}.group:hover .group-hover\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:hover .group-hover\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:hover .group-hover\\:underline{text-decoration-line:underline}.group:hover .group-hover\\:opacity-100{opacity:1}.group:hover .group-hover\\:opacity-60{opacity:.6}.group:hover .group-hover\\:opacity-75{opacity:.75}.group:focus .group-focus\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:focus .group-focus\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:focus .group-focus\\:underline{text-decoration-line:underline}.group:focus .group-focus\\:opacity-100{opacity:1}.group:focus .group-focus\\:opacity-60{opacity:.6}.group:focus .group-focus\\:opacity-75{opacity:.75}.prose-a\\:text-unraid-red :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.hover\\:prose-a\\:text-unraid-red\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#e2282899}.hover\\:prose-a\\:no-underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{text-decoration-line:none}@media (min-width:640px){.sm\\:col-span-2{grid-column:span 2/span 2}.sm\\:col-span-3{grid-column:span 3/span 3}.sm\\:col-start-2{grid-column-start:2}.sm\\:block{display:block}.sm\\:w-\\[150px\\]{width:150px}.sm\\:w-full{width:100%}.sm\\:min-w-\\[400px\\]{min-width:400px}.sm\\:max-w-300px{max-width:300px}.sm\\:max-w-lg{max-width:32rem}.sm\\:flex-shrink-0{flex-shrink:0}.sm\\:flex-grow-0{flex-grow:0}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-start{align-items:flex-start}.sm\\:items-center{align-items:center}.sm\\:justify-end{justify-content:flex-end}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-16px{gap:16px}.sm\\:gap-24px{gap:24px}.sm\\:gap-y-24px{row-gap:24px}.sm\\:p-16px{padding:16px}.sm\\:px-20px{padding-left:20px;padding-right:20px}.sm\\:pr-40px{padding-right:40px}.sm\\:text-right{text-align:right}.sm\\:text-18px{font-size:18px}.sm\\:text-20px{font-size:20px}.sm\\:text-24px{font-size:24px}}@media (min-width:768px){.md\\:inline-block{display:inline-block}.md\\:min-w-\\[500px\\]{min-width:500px}.md\\:flex-row{flex-direction:row}.md\\:items-start{align-items:flex-start}.md\\:items-end{align-items:flex-end}.md\\:justify-between{justify-content:space-between}.md\\:gap-16px{gap:16px}.md\\:p-24px{padding:24px}.md\\:p-6{padding:1.5rem}.md\\:py-24px{padding-bottom:24px;padding-top:24px}.md\\:text-24px{font-size:24px}}@media (min-width:470px){.\\32xs\\:block{display:block}}@media (min-width:530px){.xs\\:block{display:block}.xs\\:flex-row{flex-direction:row}.xs\\:items-baseline{align-items:baseline}.xs\\:justify-start{justify-content:flex-start}.xs\\:gap-x-12px{-moz-column-gap:12px;column-gap:12px}.xs\\:text-12px{font-size:12px}}@media (min-height:700px){.tall\\:max-h-\\[75vh\\]{max-height:75vh}}@media (prefers-color-scheme:dark){.dark\\:border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.dark\\:bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.dark\\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\\:prose-a\\:text-orange :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.hover\\:dark\\:prose-a\\:text-orange\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#ff8c2f99}}']]]),uRe={class:"text-12px font-semibold transition-colors duration-150 ease-in-out border-t-0 border-l-0 border-r-0 border-b-2 border-transparent hover:border-orange-dark focus:border-orange-dark focus:outline-none"};const hRe=Ace({},[["render",function(eee,tee){return qne(),Qne("button",uRe,[Yoe(eee.$slots,"default")])}]]),gRe={class:"flex flex-row items-center gap-x-8px"},wRe={key:1},fRe=xoe({__name:"ServerState",props:{t:{type:Function}},setup(eee){const{state:tee,stateData:ree}=Zce(pIe()),oee=Sae((()=>ree.value.actions&&ree.value.actions.find((eee=>"purchase"===eee.name)))),nee=Sae((()=>ree.value.actions&&ree.value.actions.find((eee=>"upgrade"===eee.name))));return(eee,aee)=>{const iee=hRe;return qne(),Qne("span",gRe,[Sre(nee)?(qne(),Wne(iee,{key:0,class:"text-gamma",title:eee.t("Upgrade Key"),onClick:aee[0]||(aee[0]=eee=>Sre(nee).click?.())},{default:soe((()=>[eae("h5",null,[oae("Unraid OS "),eae("em",null,[eae("strong",null,Hee(eee.t(Sre(ree).humanReadable)),1)])])])),_:1},8,["title"])):(qne(),Qne("h5",wRe,[oae(" Unraid OS "),eae("em",{class:Yee({"text-unraid-red":Sre(ree).error||"EEXPIRED"===Sre(tee)})},[eae("strong",null,Hee(eee.t(Sre(ree).humanReadable)),1)],2)])),Sre(oee)?(qne(),Wne(iee,{key:2,class:"text-orange-dark relative top-[1px] hidden sm:block",title:eee.t("Purchase Key"),onClick:aee[1]||(aee[1]=eee=>Sre(oee).click?.())},{default:soe((()=>[oae(Hee(eee.t("Purchase")),1)])),_:1},8,["title"])):aae("",!0)])}}}),bRe={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 133.52 76.97"},mRe={id:"unraid-mark",x1:"23.76",y1:"81.49",x2:"109.76",y2:"-4.51",gradientUnits:"userSpaceOnUse"},vRe=["stop-color"],yRe=["stop-color"],xRe=eae("path",{fill:"url(#unraid-mark)",d:"M63.49,19.24H70V57.73H63.49ZM6.54,57.73H0V19.24H6.54Zm25.2,4.54h6.55V77H31.74ZM15.87,45.84h6.54V69.62H15.87Zm31.75,0h6.54V69.62H47.62ZM127,19.24h6.54V57.73H127ZM101.77,14.7H95.23V0h6.54Zm15.88,16.44H111.1V7.35h6.55Zm-31.75,0H79.36V7.35H85.9Z"},null,-1),kRe=xoe({__name:"Mark",props:{gradientStart:{default:"#e32929"},gradientStop:{default:"#ff8d30"}},setup:eee=>(eee,tee)=>(qne(),Qne("svg",bRe,[eae("defs",null,[eae("linearGradient",mRe,[eae("stop",{offset:"0","stop-color":eee.gradientStart},null,8,vRe),eae("stop",{offset:"1","stop-color":eee.gradientStop},null,8,yRe)])]),xRe]))}),_Re={class:"group relative z-0 flex items-center justify-center w-36px h-36px rounded-full bg-gradient-to-r from-unraid-red to-orange"},ERe=["src","alt"],TRe=xoe({__name:"Avatar",props:{gradientStart:{default:"#e32929"},gradientStop:{default:"#ff8d30"}},setup(eee){const tee=pIe(),{avatar:ree,connectPluginInstalled:oee,registered:nee,username:aee}=Zce(tee);return(eee,tee)=>{const iee=kRe;return qne(),Qne("figure",_Re,[Sre(ree)&&Sre(oee)&&Sre(nee)?(qne(),Qne("img",{key:0,src:Sre(ree),alt:Sre(aee),class:"absolute z-10 inset-0 w-36px h-36px rounded-full overflow-hidden"},null,8,ERe)):(qne(),Wne(iee,{key:1,"gradient-start":"#fff","gradient-stop":"#fff",class:"opacity-100 absolute z-10 w-36px px-4px"}))])}}}),SRe=["title"],IRe={key:1,class:"relative leading-none"},ORe=eae("span",{class:"absolute bottom-[-3px] inset-x-0 h-2px w-full bg-gradient-to-r from-unraid-red to-orange rounded opacity-0 group-hover:opacity-100 group-focus:opacity-100 transition-opacity"},null,-1),NRe=xoe({__name:"DropdownTrigger",props:{t:{type:Function}},setup(eee){const tee=eee,ree=ANe(),{dropdownVisible:oee}=Zce(ree),{errors:nee}=Zce(XEe()),{connectPluginInstalled:aee,rebootType:iee,registered:see,state:lee,stateData:cee}=Zce(pIe()),{available:pee}=Zce(zTe()),dee=Sae((()=>nee.value.length||cee.value.error)),uee=Sae((()=>cee.value.error&&"EEXPIRED"!==lee.value?tee.t("Fix Error"):!see.value&&aee.value?tee.t("Sign In"):"")),hee=Sae((()=>"ENOKEYFILE"===lee.value?tee.t("Get Started"):"EEXPIRED"===lee.value?tee.t("Trial Expired, see options below"):dee.value?tee.t("Learn more about the error"):oee.value?tee.t("Close Dropdown"):tee.t("Open Dropdown")));return(eee,tee)=>{const aee=TRe;return qne(),Qne("button",{class:"group text-18px border-0 relative flex flex-row justify-end items-center h-full gap-x-8px opacity-100 hover:opacity-75 focus:opacity-75 transition-opacity",title:Sre(hee),onClick:tee[0]||(tee[0]=eee=>Sre(ree).dropdownToggle())},[Sre(nee).length&&Sre(nee)[0].level?(qne(),Qne(Mne,{key:0},["info"===Sre(nee)[0].level?(qne(),Wne(Sre(Wpe),{key:0,class:"text-unraid-red fill-current relative w-24px h-24px"})):aae("",!0),"warning"===Sre(nee)[0].level?(qne(),Wne(Sre(qpe),{key:1,class:"text-unraid-red fill-current relative w-24px h-24px"})):aae("",!0),"error"===Sre(nee)[0].level?(qne(),Wne(Sre(tde),{key:2,class:"text-unraid-red fill-current relative w-24px h-24px"})):aae("",!0)],64)):aae("",!0),Sre(uee)?(qne(),Qne("span",IRe,[eae("span",null,Hee(Sre(uee)),1),ORe])):aae("",!0),Sre(pee)&&!Sre(iee)?(qne(),Wne(Sre(zpe),{key:2,class:"hover:animate-pulse fill-current relative w-16px h-16px"})):aae("",!0),Sre(oee)?(qne(),Wne(Sre(Lpe),{key:4,class:"w-20px"})):(qne(),Wne(Sre(Fpe),{key:3,class:"w-20px"})),tae(aee)],8,SRe)}}}),ARe={key:0,class:"flex flex-col gap-y-8px"},RRe=xoe({__name:"KeyActions",props:{actions:{default:void 0},filterBy:{default:void 0},filterOut:{default:void 0},maxWidth:{type:Boolean,default:!1},t:{}},setup(eee){const tee=eee,{keyActions:ree}=Zce(pIe()),oee=Sae((()=>tee.actions?tee.actions:ree.value)),nee=Sae((()=>oee.value&&(tee.filterOut||tee.filterBy)?oee.value.filter((eee=>tee.filterOut?!tee.filterOut?.includes(eee.name):tee.filterBy?.includes(eee.name))):oee.value));return(eee,ree)=>{const oee=Lce;return Sre(nee)?(qne(),Qne("ul",ARe,[(qne(!0),Qne(Mne,null,qoe(Sre(nee),(ree=>(qne(),Qne("li",{key:ree.name},[tae(oee,{class:Yee(["w-full",tee.maxWidth?"sm:max-w-300px":""]),disabled:ree?.disabled,external:ree?.external,href:ree?.href,icon:ree.icon,"icon-right":Sre(Dpe),"icon-right-hover-display":!0,text:eee.t(ree.text),title:ree.title?eee.t(ree.title):void 0,onClick:eee=>ree.click?.()},null,8,["class","disabled","external","href","icon","icon-right","text","title","onClick"])])))),128))])):aae("",!0)}}}),DRe={class:"flex flex-col gap-y-24px w-full min-w-300px md:min-w-[500px] max-w-xl p-16px"},CRe=["innerHTML"],LRe=["innerHTML"],FRe={key:0,class:"list-reset flex flex-col gap-y-8px px-16px"},zRe=Ace(xoe({__name:"DropdownLaunchpad",props:{t:{type:Function}},setup(eee){const{expireTime:tee,connectPluginInstalled:ree,state:oee,stateData:nee}=Zce(pIe()),{unraidApiStatus:aee,unraidApiRestartAction:iee}=Zce(rIe()),see=Sae((()=>("TRIAL"===oee.value||"EEXPIRED"===oee.value)&&tee.value>0));return(eee,tee)=>{const oee=fOe,lee=Lce,cee=RRe;return qne(),Qne("div",DRe,[eae("header",null,[eae("h2",{class:"text-24px text-center font-semibold",innerHTML:eee.t(Sre(nee).heading)},null,8,CRe),eae("div",{class:"text-center prose text-16px leading-relaxed whitespace-normal opacity-75 gap-y-8px",innerHTML:eee.t(Sre(nee).message)},null,8,LRe),Sre(see)?(qne(),Wne(oee,{key:0,class:"text-center opacity-75 mt-12px",t:eee.t},null,8,["t"])):aae("",!0)]),Sre(nee).actions?(qne(),Qne(Mne,{key:0},[Sre(ree)&&"online"!==Sre(aee)?(qne(),Qne("ul",FRe,[eae("li",null,[tae(lee,{class:"w-full",disabled:"connecting"===Sre(aee)||"restarting"===Sre(aee),icon:"restarting"===Sre(aee)?xSe:Sre(iee)?.icon,text:"restarting"===Sre(aee)?eee.t("Restarting unraid-api…"):eee.t("Restart unraid-api"),title:"restarting"===Sre(aee)?eee.t("Restarting unraid-api…"):eee.t("Restart unraid-api"),onClick:tee[0]||(tee[0]=eee=>Sre(iee)?.click?.())},null,8,["disabled","icon","text","title"])])])):aae("",!0),tae(cee,{actions:Sre(nee).actions,t:eee.t},null,8,["actions","t"])],64)):aae("",!0)])}}}),[["styles",['/*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:clear-sans,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:470px){.container{max-width:470px}}@media (min-width:530px){.container{max-width:530px}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--color-beta);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:#ff8c2f;font-weight:500;text-decoration:underline}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{color:#f15a2c}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"“""”""‘""’"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:start;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:var(--color-beta);--tw-prose-headings:var(--color-beta);--tw-prose-lead:var(--color-beta);--tw-prose-links:#ff8c2f;--tw-prose-bold:var(--color-beta);--tw-prose-counters:var(--color-beta);--tw-prose-bullets:var(--color-beta);--tw-prose-hr:var(--color-beta);--tw-prose-quotes:var(--color-beta);--tw-prose-quote-borders:var(--color-beta);--tw-prose-captions:var(--color-beta);--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:var(--color-beta);--tw-prose-pre-code:var(--color-beta);--tw-prose-pre-bg:var(--color-alpha);--tw-prose-th-borders:var(--color-beta);--tw-prose-td-borders:var(--color-beta);--tw-prose-invert-body:var(--color-alpha);--tw-prose-invert-headings:var(--color-alpha);--tw-prose-invert-lead:var(--color-alpha);--tw-prose-invert-links:#ff8c2f;--tw-prose-invert-bold:var(--color-alpha);--tw-prose-invert-counters:var(--color-alpha);--tw-prose-invert-bullets:var(--color-alpha);--tw-prose-invert-hr:var(--color-alpha);--tw-prose-invert-quotes:var(--color-alpha);--tw-prose-invert-quote-borders:var(--color-alpha);--tw-prose-invert-captions:var(--color-alpha);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--color-alpha);--tw-prose-invert-pre-code:var(--color-alpha);--tw-prose-invert-pre-bg:var(--color-beta);--tw-prose-invert-th-borders:var(--color-alpha);--tw-prose-invert-td-borders:var(--color-alpha);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose{--tw-prose-invert-code-bg:var(--color-gamma-opaque)}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-\\[2px\\]{bottom:-2px}.-left-\\[2px\\]{left:-2px}.-right-\\[2px\\]{right:-2px}.-top-1{top:-.25rem}.-top-\\[2px\\]{top:-2px}.bottom-0{bottom:0}.bottom-\\[-3px\\]{bottom:-3px}.right-0{right:0}.top-0{top:0}.top-\\[1px\\]{top:1px}.top-full{top:100%}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\\[99999\\]{z-index:99999}.mx-8px{margin-left:8px;margin-right:8px}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.my-12{margin-bottom:3rem;margin-top:3rem}.my-16px{margin-bottom:16px;margin-top:16px}.my-24px{margin-bottom:24px;margin-top:24px}.my-8px{margin-bottom:8px;margin-top:8px}.mb-4px{margin-bottom:4px}.mb-8px{margin-bottom:8px}.ml-3{margin-left:.75rem}.ml-8px{margin-left:8px}.mr-8px{margin-right:8px}.mt-0{margin-top:0}.mt-12px{margin-top:12px}.mt-2{margin-top:.5rem}.mt-24px{margin-top:24px}.mt-4px{margin-top:4px}.mt-8px{margin-top:8px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-12px{height:12px}.h-16px{height:16px}.h-20px{height:20px}.h-24px{height:24px}.h-2px{height:2px}.h-32px{height:32px}.h-36px{height:36px}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.max-h-\\[65vh\\]{max-height:65vh}.min-h-\\[250px\\]{min-height:250px}.min-h-screen{min-height:100vh}.w-1\\/2{width:50%}.w-11{width:2.75rem}.w-12px{width:12px}.w-14px{width:14px}.w-16px{width:16px}.w-20px{width:20px}.w-24px{width:24px}.w-28px{width:28px}.w-2px{width:2px}.w-32px{width:32px}.w-36px{width:36px}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\\[100px\\]{width:100px}.w-\\[110px\\]{width:110px}.w-\\[120px\\]{width:120px}.w-\\[125\\%\\]{width:125%}.w-\\[150px\\]{width:150px}.w-\\[44px\\]{width:44px}.w-\\[48px\\]{width:48px}.w-full{width:100%}.w-screen{width:100vw}.min-w-300px{min-width:300px}.min-w-\\[280px\\]{min-width:280px}.max-w-1024px{max-width:1024px}.max-w-160px{max-width:160px}.max-w-350px{max-width:350px}.max-w-3xl{max-width:48rem}.max-w-640px{max-width:640px}.max-w-800px{max-width:800px}.max-w-\\[45ch\\]{max-width:45ch}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.grow-0{flex-grow:0}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-20px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-20px{--tw-translate-x:20px}.translate-x-\\[26px\\]{--tw-translate-x:26px}.translate-x-\\[26px\\],.translate-x-\\[2px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[2px\\]{--tw-translate-x:2px}.translate-y-\\[16px\\]{--tw-translate-y:16px}.scale-100,.translate-y-\\[16px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-12px{gap:12px}.gap-16px{gap:16px}.gap-2{gap:.5rem}.gap-20px{gap:20px}.gap-4{gap:1rem}.gap-4px{gap:4px}.gap-6{gap:1.5rem}.gap-8px{gap:8px}.gap-x-16px{-moz-column-gap:16px;column-gap:16px}.gap-x-4px{-moz-column-gap:4px;column-gap:4px}.gap-x-8px{-moz-column-gap:8px;column-gap:8px}.gap-y-16px{row-gap:16px}.gap-y-24px{row-gap:24px}.gap-y-4px{row-gap:4px}.gap-y-8px{row-gap:8px}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-normal{white-space:normal}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b-2{border-bottom-width:2px}.border-l-0{border-left-width:0}.border-r-0{border-right-width:0}.border-t-0{border-top-width:0}.border-solid{border-style:solid}.border-none{border-style:none}.border-black{--tw-border-opacity:1;border-color:rgb(28 27 27/var(--tw-border-opacity))}.border-gamma-opaque{border-color:var(--color-gamma-opaque)}.border-green-600\\/10{border-color:#16a34a1a}.border-grey-mid{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.border-orange{--tw-border-opacity:1;border-color:rgb(255 140 47/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-unraid-red{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.border-unraid-red\\/10{border-color:#e228281a}.border-unraid-red\\/90{border-color:#e22828e6}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-white\\/10{border-color:#ffffff1a}.border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity))}.bg-alpha{background-color:var(--color-alpha)}.bg-beta{background-color:var(--color-beta)}.bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-current{background-color:currentColor}.bg-gamma{background-color:var(--color-gamma)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-grey{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-orange{--tw-bg-opacity:1;background-color:rgb(255 140 47/var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-unraid-red{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.bg-unraid-red\\/90{background-color:#e22828e6}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity:.8}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-unraid-red{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-orange{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.to-orange\\/60{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-green-600{fill:#16a34a}.fill-unraid-red{fill:#e22828}.p-0{padding:0}.p-1{padding:.25rem}.p-12px{padding:12px}.p-16px{padding:16px}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8px{padding:8px}.px-12px{padding-left:12px;padding-right:12px}.px-16px{padding-left:16px;padding-right:16px}.px-4{padding-left:1rem;padding-right:1rem}.px-4px{padding-left:4px;padding-right:4px}.px-6px{padding-left:6px;padding-right:6px}.px-8px{padding-left:8px;padding-right:8px}.py-0{padding-bottom:0;padding-top:0}.py-12px{padding-bottom:12px;padding-top:12px}.py-24px{padding-bottom:24px;padding-top:24px}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-4px{padding-bottom:4px;padding-top:4px}.py-8px{padding-bottom:8px;padding-top:8px}.pb-12{padding-bottom:3rem}.pb-8px{padding-bottom:8px}.pl-40px{padding-left:40px}.pr-16px{padding-right:16px}.pr-40px{padding-right:40px}.pr-4px{padding-right:4px}.pt-4px{padding-top:4px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-10px{font-size:10px}.text-12px{font-size:12px}.text-14px{font-size:14px}.text-16px{font-size:16px}.text-18px{font-size:18px}.text-20px{font-size:20px}.text-24px{font-size:24px}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.text-\\[\\#486dba\\]{--tw-text-opacity:1;color:rgb(72 109 186/var(--tw-text-opacity))}.text-alpha{color:var(--color-alpha)}.text-beta{color:var(--color-beta)}.text-black{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-current{color:currentColor}.text-gamma{color:var(--color-gamma)}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-grey-mid{--tw-text-opacity:1;color:rgb(153 153 153/var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}.text-orange{--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-unraid-red{--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[var\\(--ring-offset-shadow\\)_var\\(--ring-shadow\\)_var\\(--shadow-beta\\)\\]{--tw-shadow-color:var(--ring-offset-shadow) var(--ring-shadow) var(--shadow-beta);--tw-shadow:var(--tw-shadow-colored)}.shadow-green-600\\/30{--tw-shadow-color:rgba(22,163,74,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-orange\\/10{--tw-shadow-color:rgba(255,140,47,.1);--tw-shadow:var(--tw-shadow-colored)}.shadow-unraid-red\\/30{--tw-shadow-color:rgba(226,40,40,.3);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-black{outline-color:#1c1b1b}.outline-white{outline-color:#fff}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.DropdownWrapper_blip{box-shadow:var(--ring-offset-shadow),var(--ring-shadow),var(--shadow-beta)}.DropdownWrapper_blip:before{border-bottom:11px solid var(--color-alpha);border-left:11px solid transparent;border-right:11px solid transparent;content:"";display:block;height:0;position:absolute;right:42px;top:-10px;width:0;z-index:20}.unraid_mark_2,.unraid_mark_4{animation:mark_2 1.5s ease infinite}.unraid_mark_3{animation:mark_3 1.5s ease infinite}.unraid_mark_6,.unraid_mark_8{animation:mark_6 1.5s ease infinite}.unraid_mark_7{animation:mark_7 1.5s ease infinite}@keyframes mark_2{50%{transform:translateY(-40px)}to{transform:translateY(0)}}@keyframes mark_3{50%{transform:translateY(-62px)}to{transform:translateY(0)}}@keyframes mark_6{50%{transform:translateY(40px)}to{transform:translateY(0)}}@keyframes mark_7{50%{transform:translateY(62px)}to{transform:translateY(0)}}.even\\:bg-black\\/5:nth-child(2n){background-color:#1c1b1b0d}.even\\:bg-grey-darkest:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity))}@keyframes pulse{50%{opacity:.5}}.hover\\:animate-pulse:hover{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.hover\\:border-beta:hover{border-color:var(--color-beta)}.hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.hover\\:border-grey-mid:hover{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.hover\\:border-orange-dark:hover{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.hover\\:border-unraid-red:hover{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.hover\\:bg-beta:hover{background-color:var(--color-beta)}.hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.hover\\:bg-grey-mid:hover{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.hover\\:bg-unraid-red:hover{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\\:bg-gradient-to-r:hover{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.hover\\:from-unraid-red:hover{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:from-unraid-red\\/60:hover{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:to-orange:hover{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.hover\\:to-orange\\/60:hover{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.hover\\:text-\\[\\#3b5ea9\\]:hover{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.hover\\:text-alpha:hover{color:var(--color-alpha)}.hover\\:text-black:hover{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:no-underline:hover{text-decoration-line:none}.hover\\:opacity-100:hover{opacity:1}.hover\\:opacity-75:hover{opacity:.75}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:shadow-orange\\/50:hover{--tw-shadow-color:rgba(255,140,47,.5);--tw-shadow:var(--tw-shadow-colored)}.focus\\:border-beta:focus{border-color:var(--color-beta)}.focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.focus\\:border-grey-mid:focus{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.focus\\:border-orange-dark:focus{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.focus\\:border-unraid-red:focus{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.focus\\:bg-beta:focus{background-color:var(--color-beta)}.focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.focus\\:bg-grey-mid:focus{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.focus\\:bg-unraid-red:focus{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus\\:bg-gradient-to-r:focus{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.focus\\:from-unraid-red:focus{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:from-unraid-red\\/60:focus{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:to-orange:focus{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.focus\\:to-orange\\/60:focus{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.focus\\:text-\\[\\#3b5ea9\\]:focus{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.focus\\:text-alpha:focus{color:var(--color-alpha)}.focus\\:text-black:focus{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.focus\\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\\:underline:focus{text-decoration-line:underline}.focus\\:no-underline:focus{text-decoration-line:none}.focus\\:opacity-100:focus{opacity:1}.focus\\:opacity-75:focus{opacity:.75}.focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.focus\\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-25:disabled{opacity:.25}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:hover\\:opacity-25:hover:disabled{opacity:.25}.disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.disabled\\:focus\\:opacity-25:focus:disabled{opacity:.25}.disabled\\:focus\\:opacity-50:focus:disabled{opacity:.5}.group:hover .group-hover\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:hover .group-hover\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:hover .group-hover\\:underline{text-decoration-line:underline}.group:hover .group-hover\\:opacity-100{opacity:1}.group:hover .group-hover\\:opacity-60{opacity:.6}.group:hover .group-hover\\:opacity-75{opacity:.75}.group:focus .group-focus\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:focus .group-focus\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:focus .group-focus\\:underline{text-decoration-line:underline}.group:focus .group-focus\\:opacity-100{opacity:1}.group:focus .group-focus\\:opacity-60{opacity:.6}.group:focus .group-focus\\:opacity-75{opacity:.75}.prose-a\\:text-unraid-red :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.hover\\:prose-a\\:text-unraid-red\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#e2282899}.hover\\:prose-a\\:no-underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{text-decoration-line:none}@media (min-width:640px){.sm\\:col-span-2{grid-column:span 2/span 2}.sm\\:col-span-3{grid-column:span 3/span 3}.sm\\:col-start-2{grid-column-start:2}.sm\\:block{display:block}.sm\\:w-\\[150px\\]{width:150px}.sm\\:w-full{width:100%}.sm\\:min-w-\\[400px\\]{min-width:400px}.sm\\:max-w-300px{max-width:300px}.sm\\:max-w-lg{max-width:32rem}.sm\\:flex-shrink-0{flex-shrink:0}.sm\\:flex-grow-0{flex-grow:0}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-start{align-items:flex-start}.sm\\:items-center{align-items:center}.sm\\:justify-end{justify-content:flex-end}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-16px{gap:16px}.sm\\:gap-24px{gap:24px}.sm\\:gap-y-24px{row-gap:24px}.sm\\:p-16px{padding:16px}.sm\\:px-20px{padding-left:20px;padding-right:20px}.sm\\:pr-40px{padding-right:40px}.sm\\:text-right{text-align:right}.sm\\:text-18px{font-size:18px}.sm\\:text-20px{font-size:20px}.sm\\:text-24px{font-size:24px}}@media (min-width:768px){.md\\:inline-block{display:inline-block}.md\\:min-w-\\[500px\\]{min-width:500px}.md\\:flex-row{flex-direction:row}.md\\:items-start{align-items:flex-start}.md\\:items-end{align-items:flex-end}.md\\:justify-between{justify-content:space-between}.md\\:gap-16px{gap:16px}.md\\:p-24px{padding:24px}.md\\:p-6{padding:1.5rem}.md\\:py-24px{padding-bottom:24px;padding-top:24px}.md\\:text-24px{font-size:24px}}@media (min-width:470px){.\\32xs\\:block{display:block}}@media (min-width:530px){.xs\\:block{display:block}.xs\\:flex-row{flex-direction:row}.xs\\:items-baseline{align-items:baseline}.xs\\:justify-start{justify-content:flex-start}.xs\\:gap-x-12px{-moz-column-gap:12px;column-gap:12px}.xs\\:text-12px{font-size:12px}}@media (min-height:700px){.tall\\:max-h-\\[75vh\\]{max-height:75vh}}@media (prefers-color-scheme:dark){.dark\\:border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.dark\\:bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.dark\\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\\:prose-a\\:text-orange :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.hover\\:dark\\:prose-a\\:text-orange\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#ff8c2f99}}']]]),MRe={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","data-name":"Layer 1",viewBox:"0 0 954.29 142.4"},PRe={id:"a",x1:"-57.82",x2:"923.39",y1:"71.2",y2:"71.2",gradientUnits:"userSpaceOnUse"},URe=["stop-color"],jRe=["stop-color"],$Re=nae('',7),VRe=nae('',8),qRe=xoe({__name:"LogoConnect",props:{gradientStart:{default:"#e32929"},gradientStop:{default:"#ff8d30"}},setup:eee=>(eee,tee)=>(qne(),Qne("svg",MRe,[eae("defs",null,[eae("linearGradient",PRe,[eae("stop",{offset:"0","stop-color":eee.gradientStart},null,8,URe),eae("stop",{offset:"1","stop-color":eee.gradientStop},null,8,jRe)]),$Re]),VRe]))}),BRe=xoe({__name:"Beta",props:{colorClasses:{default:"text-grey-mid border-grey-mid"}},setup:eee=>(eee,tee)=>(qne(),Qne("span",{class:Yee(["text-10px uppercase py-4px px-6px border-2 rounded-full",eee.colorClasses])},Hee("Beta"),2))}),YRe={class:"leading-snug inline-flex flex-row items-center gap-x-8px"},GRe=xoe({__name:"DropdownItem",props:{item:{},rounded:{type:Boolean,default:!0},t:{}},setup(eee){const tee=eee,ree=Sae((()=>tee.item?.external&&tee.item.icon!==Dpe));return(eee,tee)=>{return qne(),Wne($oe(eee.item?.click?"button":"a"),{disabled:eee.item?.disabled,href:eee.item?.href??null,title:eee.item?.title?eee.t(eee.item?.title):null,target:eee.item?.external?"_blank":null,rel:eee.item?.external?"noopener noreferrer":null,class:Yee(["text-left text-14px w-full flex flex-row items-center justify-between gap-x-8px px-8px py-8px cursor-pointer",{"text-beta bg-transparent hover:text-white hover:bg-gradient-to-r hover:from-unraid-red hover:to-orange focus:text-white focus:bg-gradient-to-r focus:from-unraid-red focus:to-orange focus:outline-none":!eee.item?.emphasize,"text-white bg-gradient-to-r from-unraid-red to-orange hover:from-unraid-red/60 hover:to-orange/60 focus:from-unraid-red/60 focus:to-orange/60":eee.item?.emphasize,group:Sre(ree),"rounded-md":eee.rounded,"disabled:opacity-50 disabled:hover:opacity-50 disabled:focus:opacity-50 disabled:cursor-not-allowed":eee.item?.disabled}]),onClick:tee[0]||(tee[0]=(fn=tee=>eee.item?.click?eee.item?.click(eee.item?.clickParams??[]):null,oee=["stop"],(eee,...tee)=>{for(let i=0;i[eae("span",YRe,[(qne(),Wne($oe(eee.item?.icon),{class:"flex-shrink-0 text-current w-16px h-16px","aria-hidden":"true"})),oae(" "+Hee(eee.t(eee.item?.text,eee.item?.textParams??[])),1)]),Sre(ree)?(qne(),Wne(Sre(Dpe),{key:0,class:"text-white fill-current flex-shrink-0 w-16px h-16px ml-8px opacity-0 group-hover:opacity-100 transition-opacity duration-200 ease-in-out"})):aae("",!0)])),_:1},8,["disabled","href","title","target","rel","class"]);var fn,oee}}}),QRe={key:0,class:"flex flex-row justify-start items-center gap-8px mt-8px px-8px"},WRe={key:1,class:"flex flex-row justify-start items-center gap-8px mt-8px px-8px"},KRe={key:2,class:"w-full"},HRe=xoe({__name:"DropdownConnectStatus",props:{t:{type:Function}},setup(eee){const tee=eee,{username:ree}=Zce(pIe()),oee=rIe(),{unraidApiStatus:nee,unraidApiRestartAction:aee}=Zce(oee),iee=Sae((()=>"connecting"===nee.value?{icon:ySe,iconClasses:"w-16px",text:tee.t("Loading…"),textClasses:"italic"}:"restarting"===nee.value?{icon:ySe,iconClasses:"w-16px",text:tee.t("Restarting unraid-api…"),textClasses:"italic"}:"offline"===nee.value?{icon:qpe,iconClasses:"text-red-500 w-16px h-16px",text:tee.t("unraid-api is offline")}:"online"===nee.value?{icon:Mpe,iconClasses:"text-green-600 w-16px h-16px",text:tee.t("Connected")}:void 0));return(eee,tee)=>{const oee=GRe;return qne(),Qne(Mne,null,[Sre(ree)?(qne(),Qne("li",QRe,[tae(Sre(rde),{class:"w-16px h-16px","aria-hidden":"true"}),oae(" "+Hee(Sre(ree)),1)])):aae("",!0),Sre(iee)?(qne(),Qne("li",WRe,[(qne(),Wne($oe(Sre(iee).icon),{class:Yee(Sre(iee).iconClasses),"aria-hidden":"true"},null,8,["class"])),oae(" "+Hee(Sre(iee).text),1)])):aae("",!0),Sre(aee)?(qne(),Qne("li",KRe,[tae(oee,{item:Sre(aee),t:eee.t},null,8,["item","t"])])):aae("",!0)],64)}}}),XRe={key:0,class:"list-reset flex flex-col gap-y-8px mb-4px border-2 border-solid border-unraid-red/90 rounded-md"},ZRe={class:"text-18px py-4px px-12px text-white bg-unraid-red/90 font-semibold"},JRe=["innerHTML"],eDe={key:0},tDe=xoe({__name:"DropdownError",props:{t:{type:Function}},setup(eee){const tee=XEe(),{errors:ree}=Zce(tee);return(eee,tee)=>{const oee=GRe;return Sre(ree).length?(qne(),Qne("ul",XRe,[(qne(!0),Qne(Mne,null,qoe(Sre(ree),((tee,ree)=>(qne(),Qne("li",{key:ree,class:"flex flex-col gap-8px"},[eae("h3",ZRe,[eae("span",null,Hee(eee.t(tee.heading)),1)]),eae("div",{class:Yee(["text-14px px-12px flex flex-col gap-y-8px",{"pb-8px":!tee.actions}]),innerHTML:eee.t(tee.message)},null,10,JRe),tee.actions?(qne(),Qne("nav",eDe,[(qne(!0),Qne(Mne,null,qoe(tee.actions,((tee,ree)=>(qne(),Qne("li",{key:`link_${ree}`},[tae(oee,{item:tee,rounded:!1,t:eee.t},null,8,["item","t"])])))),128))])):aae("",!0)])))),128))])):aae("",!0)}}}),rDe={class:"w-full h-2px bg-gradient-to-r from-unraid-red to-orange shadow-none border-none rounded"};const oDe=Ace({},[["render",function(eee,tee){return qne(),Qne("hr",rDe)}]]),nDe={class:"flex flex-col gap-y-8px min-w-300px max-w-350px"},aDe={key:0,class:"flex flex-col items-start justify-between mt-8px mx-8px"},iDe={class:"text-18px leading-none flex flex-row gap-x-4px items-center justify-between"},sDe={class:"text-16px font-semibold mt-2"},lDe={class:"text-14px"},cDe={class:"list-reset flex flex-col gap-y-4px p-0"},pDe={key:2,class:"my-8px"},dDe={key:3},uDe=xoe({__name:"DropdownContent",props:{t:{type:Function}},setup(eee){const tee=eee,ree=oIe(),oee=XEe(),nee=zTe(),{errors:aee}=Zce(oee),{keyActions:iee,connectPluginInstalled:see,rebootType:lee,registered:cee,regUpdatesExpired:pee,stateData:dee,stateDataError:uee}=Zce(pIe()),{available:hee,availableWithRenewal:gee}=Zce(nee),wee=Sae((()=>dee.value.actions?.filter((eee=>"signIn"===eee.name))??[])),fee=Sae((()=>dee.value.actions?.filter((eee=>"signOut"===eee.name))??[])),bee=Sae((()=>iee.value?.filter((eee=>!["renew"].includes(eee.name))))),mee=Sae((()=>({external:!0,click:()=>{ree.manage()},icon:ode,text:tee.t("Manage Unraid.net Account"),title:tee.t("Manage Unraid.net Account in new tab")}))),vee=Sae((()=>({click:()=>{nee.localCheckForUpdate()},icon:Npe,text:tee.t("Check for Update")}))),yee=Sae((()=>({click:()=>{nee.setModalOpen(!0)},emphasize:!0,icon:zpe,text:gee.value?tee.t("Unraid OS {0} Released",[gee.value]):tee.t("Unraid OS {0} Update Available",[hee.value])}))),xee=Sae((()=>({href:"downgrade"===lee.value?wTe.toString():bTe.toString(),icon:qpe,text:"downgrade"===lee.value?tee.t("Reboot Required for Downgrade"):tee.t("Reboot Required for Update")}))),kee=Sae((()=>{const eee=[];return"downgrade"===lee.value||"update"===lee.value?(eee.push(xee.value),eee):(hee.value?eee.push(yee.value):eee.push(vee.value),eee)})),_ee=Sae((()=>[...pee.value?[{href:fTe.toString(),icon:Kpe,text:tee.t("OS Update Eligibility Expired"),title:tee.t("Go to Tools > Registration to Learn More")}]:[],...uee.value?[]:[...kee.value],...cee.value&&see.value?[{emphasize:!hee.value,external:!0,href:iTe.toString(),icon:Dpe,text:tee.t("Go to Connect"),title:tee.t("Opens Connect in new tab")},mee.value,{href:gTe.toString(),icon:$pe,text:tee.t("Settings"),title:tee.t("Go to Connect plugin settings")},...fee.value]:[mee.value]])),Eee=Sae((()=>aee.value.length)),Tee=Sae((()=>!Eee.value&&!dee.value.error&&cee.value&&see.value)),See=Sae((()=>Tee.value&&(iee.value?.length||_ee.value.length)||Iee.value)),Iee=Sae((()=>{if(see.value&&!cee.value&&!aee.value.length&&!uee.value)return{heading:tee.t("Thank you for installing Connect!"),message:tee.t("Sign In to your Unraid.net account to get started")}}));return(eee,tee)=>{const ree=qRe,oee=BRe,nee=HRe,aee=tDe,iee=oDe,lee=GRe;return qne(),Qne("div",nDe,[Sre(see)?(qne(),Qne("header",aDe,[eae("h2",iDe,[tae(ree,{"gradient-start":"currentcolor","gradient-stop":"currentcolor",class:"text-beta w-[120px]"}),tae(oee)]),Sre(Iee)?(qne(),Qne(Mne,{key:0},[eae("h3",sDe,Hee(Sre(Iee).heading),1),eae("p",lDe,Hee(Sre(Iee).message),1)],64)):aae("",!0)])):aae("",!0),eae("ul",cDe,[Sre(Tee)?(qne(),Wne(nee,{key:0,t:eee.t},null,8,["t"])):aae("",!0),Sre(Eee)?(qne(),Wne(aee,{key:1,t:eee.t},null,8,["t"])):aae("",!0),Sre(See)?(qne(),Qne("li",pDe,[tae(iee)])):aae("",!0),!Sre(cee)&&Sre(see)?(qne(),Qne("li",dDe,[tae(lee,{item:Sre(wee)[0],t:eee.t},null,8,["item","t"])])):aae("",!0),Sre(bee)?(qne(!0),Qne(Mne,{key:4},qoe(Sre(bee),(tee=>(qne(),Qne("li",{key:tee.name},[tae(lee,{item:tee,t:eee.t},null,8,["item","t"])])))),128)):aae("",!0),Sre(_ee).length?(qne(!0),Qne(Mne,{key:5},qoe(Sre(_ee),((tee,ree)=>(qne(),Qne("li",{key:`link_${ree}`},[tae(lee,{item:tee,t:eee.t},null,8,["item","t"])])))),128)):aae("",!0)])])}}}),hDe={class:"flex flex-col gap-y-8px p-8px bg-alpha rounded-lg shadow-xl shadow-orange/10"},gDe=xoe({__name:"DropdownWrapper",setup:eee=>(eee,tee)=>(qne(),Qne("nav",hDe,[Yoe(eee.$slots,"default")]))}),wDe=xoe({__name:"Dropdown",props:{t:{type:Function}},setup(eee){const tee=ANe(),{dropdownVisible:ree}=Zce(tee),{state:oee}=Zce(pIe()),nee=Sae((()=>"ENOKEYFILE"===oee.value));return(eee,tee)=>{const oee=zRe,aee=uDe,iee=gDe;return qne(),Wne(Sre(Se),{as:"template",show:Sre(ree),enter:"transition-all duration-200","enter-from":"opacity-0 translate-y-[16px]","enter-to":"opacity-100",leave:"transition-all duration-150","leave-from":"opacity-100","leave-to":"opacity-0 translate-y-[16px]"},{default:soe((()=>[tae(iee,{class:"DropdownWrapper_blip text-beta absolute z-30 top-full right-0 transition-all"},{default:soe((()=>[Sre(nee)?(qne(),Wne(oee,{key:0,t:eee.t},null,8,["t"])):(qne(),Wne(aee,{key:1,t:eee.t},null,8,["t"]))])),_:1})])),_:1},8,["show"])}}}),fDe=xoe({name:"OnClickOutside",props:["as","options"],emits:["trigger"],setup(eee,{slots:tee,emit:ree}){const oee=kre();return function(eee,tee,ree={}){const{window:oee=aNe,ignore:nee=[],capture:aee=!0,detectIframe:iee=!1}=ree;if(!oee)return tNe;rNe&&!lNe&&(lNe=!0,Array.from(oee.document.body.children).forEach((el=>el.addEventListener("click",tNe))),oee.document.documentElement.addEventListener("click",tNe));let see=!0;const lee=eee=>nee.some((tee=>{if("string"==typeof tee)return Array.from(oee.document.querySelectorAll(tee)).some((el=>el===eee.target||eee.composedPath().includes(el)));{const el=nNe(tee);return el&&(eee.target===el||eee.composedPath().includes(el))}})),cee=[sNe(oee,"click",(ree=>{const el=nNe(eee);el&&el!==ree.target&&!ree.composedPath().includes(el)&&(0===ree.detail&&(see=!lee(ree)),see?tee(ree):see=!0)}),{passive:!0,capture:aee}),sNe(oee,"pointerdown",(e=>{const el=nNe(eee);see=!lee(e)&&!(!el||e.composedPath().includes(el))}),{passive:!0}),iee&&sNe(oee,"blur",(ree=>{setTimeout((()=>{var _a;const el=nNe(eee);"IFRAME"!==(null==(_a=oee.document.activeElement)?void 0:_a.tagName)||(null==el?void 0:el.contains(oee.document.activeElement))||tee(ree)}),0)}))].filter(Boolean)}(oee,(e=>{ree("trigger",e)}),eee.options),()=>{if(tee.default)return h(eee.as||"div",{ref:oee},tee.default())}}});ZOe&&window;!function(){let eee=!1;const tee=kre(!1)}();const bDe={id:"UserProfile",class:"text-alpha relative z-20 flex flex-col h-full gap-y-4px pt-4px pr-16px pl-40px"},mDe={class:"text-gamma text-10px xs:text-12px text-right font-semibold leading-normal relative z-10 flex flex-col items-end justify-end gap-x-4px xs:flex-row xs:items-baseline xs:gap-x-12px"},vDe=eae("span",{class:"hidden xs:block"},"•",-1),yDe={class:"relative z-10 flex flex-row items-center justify-end gap-x-16px h-full"},xDe={class:"text-14px sm:text-18px relative flex flex-col-reverse items-end md:flex-row border-0"},kDe=["innerHTML"],_De=eae("span",{class:"text-gamma hidden md:inline-block px-8px"},"•",-1),EDe=["title"],TDe={class:"text-white text-12px leading-none py-4px px-8px absolute top-full right-0 bg-gradient-to-r from-unraid-red to-orange text-center block rounded"},SDe=eae("div",{class:"block w-2px h-24px bg-gamma"},null,-1),IDe=xoe({__name:"UserProfile.ce",props:{server:{}},setup(eee){const tee=eee,{t:t}=_ce(),ree=dSe(),oee=ANe(),nee=pIe(),{callbackData:aee}=Zce(pSe()),{dropdownVisible:iee}=Zce(oee),{name:see,description:lee,guid:cee,keyfile:pee,lanIp:dee}=Zce(nee),{bannerGradient:uee,theme:hee}=Zce(cIe()),gee=kre(),wee=kre(),fee=()=>{if(iee.value)return oee.dropdownToggle()};let bee;const{copy:mee,copied:vee,isSupported:yee}=dNe({source:dee.value??""}),xee=kre(!1);return goe(xee,((eee,tee)=>{eee&&!1===tee&&(clearTimeout(bee),bee=setTimeout((()=>{xee.value=!1}),5e3))})),Aoe((()=>{if(!tee.server)throw new Error("Server data not present");if("object"==typeof tee.server)nee.setServer(tee.server);else if("string"==typeof tee.server){const eee=JSON.parse(tee.server);nee.setServer(eee)}if(ree.watcher(),cee.value&&pee.value){if(aee.value)return console.debug("Renew callback detected, skipping auto check for key replacement, renewal eligibility, and OS Update.")}else console.warn("A valid keyfile and USB Flash boot device are required to check for key renewals, key replacement eligibiliy, and OS update availability.")})),(eee,tee)=>{const ree=fOe,oee=fRe,nee=NRe,aee=wDe;return qne(),Qne("div",bDe,[Sre(uee)?(qne(),Qne("div",{key:0,class:"absolute z-0 w-[125%] top-0 bottom-0 right-0",style:jee(Sre(uee))},null,4)):aae("",!0),eae("div",mDe,[tae(ree,{t:Sre(t)},null,8,["t"]),vDe,tae(oee,{t:Sre(t)},null,8,["t"])]),eae("div",yDe,[eae("h1",xDe,[Sre(lee)&&Sre(hee)?.descriptionShow?(qne(),Qne(Mne,{key:0},[eae("span",{class:"text-right text-12px sm:text-18px hidden 2xs:block",innerHTML:Sre(lee)},null,8,kDe),_De],64)):aae("",!0),eae("button",{title:Sre(t)("Click to Copy LAN IP {0}",[Sre(dee)]),class:"opacity-100 hover:opacity-75 focus:opacity-75 transition-opacity",onClick:tee[0]||(tee[0]=eee=>{yee&&"http:"!==window.location.protocol?mee(dee.value??""):xee.value=!0})},Hee(Sre(see)),9,EDe),voe(eae("span",TDe,[Sre(vee)?(qne(),Qne(Mne,{key:0},[oae(Hee(Sre(t)("LAN IP Copied")),1)],64)):(qne(),Qne(Mne,{key:1},[oae(Hee(Sre(t)("LAN IP {0}",[Sre(dee)])),1)],64))],512),[[oie,Sre(vee)||Sre(xee)]])]),SDe,tae(Sre(fDe),{class:"flex items-center justify-end h-full",options:{ignore:[Sre(wee)]},onTrigger:fee},{default:soe((()=>[tae(nee,{ref_key:"clickOutsideIgnoreTarget",ref:wee,t:Sre(t)},null,8,["t"]),tae(aee,{ref_key:"clickOutsideTarget",ref:gee,t:Sre(t)},null,8,["t"])])),_:1},8,["options"])])])}}}),ODe=Ace(IDe,[["styles",['/*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:clear-sans,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:470px){.container{max-width:470px}}@media (min-width:530px){.container{max-width:530px}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--color-beta);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:#ff8c2f;font-weight:500;text-decoration:underline}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{color:#f15a2c}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"“""”""‘""’"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:start;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:var(--color-beta);--tw-prose-headings:var(--color-beta);--tw-prose-lead:var(--color-beta);--tw-prose-links:#ff8c2f;--tw-prose-bold:var(--color-beta);--tw-prose-counters:var(--color-beta);--tw-prose-bullets:var(--color-beta);--tw-prose-hr:var(--color-beta);--tw-prose-quotes:var(--color-beta);--tw-prose-quote-borders:var(--color-beta);--tw-prose-captions:var(--color-beta);--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:var(--color-beta);--tw-prose-pre-code:var(--color-beta);--tw-prose-pre-bg:var(--color-alpha);--tw-prose-th-borders:var(--color-beta);--tw-prose-td-borders:var(--color-beta);--tw-prose-invert-body:var(--color-alpha);--tw-prose-invert-headings:var(--color-alpha);--tw-prose-invert-lead:var(--color-alpha);--tw-prose-invert-links:#ff8c2f;--tw-prose-invert-bold:var(--color-alpha);--tw-prose-invert-counters:var(--color-alpha);--tw-prose-invert-bullets:var(--color-alpha);--tw-prose-invert-hr:var(--color-alpha);--tw-prose-invert-quotes:var(--color-alpha);--tw-prose-invert-quote-borders:var(--color-alpha);--tw-prose-invert-captions:var(--color-alpha);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--color-alpha);--tw-prose-invert-pre-code:var(--color-alpha);--tw-prose-invert-pre-bg:var(--color-beta);--tw-prose-invert-th-borders:var(--color-alpha);--tw-prose-invert-td-borders:var(--color-alpha);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose{--tw-prose-invert-code-bg:var(--color-gamma-opaque)}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-\\[2px\\]{bottom:-2px}.-left-\\[2px\\]{left:-2px}.-right-\\[2px\\]{right:-2px}.-top-1{top:-.25rem}.-top-\\[2px\\]{top:-2px}.bottom-0{bottom:0}.bottom-\\[-3px\\]{bottom:-3px}.right-0{right:0}.top-0{top:0}.top-\\[1px\\]{top:1px}.top-full{top:100%}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\\[99999\\]{z-index:99999}.mx-8px{margin-left:8px;margin-right:8px}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.my-12{margin-bottom:3rem;margin-top:3rem}.my-16px{margin-bottom:16px;margin-top:16px}.my-24px{margin-bottom:24px;margin-top:24px}.my-8px{margin-bottom:8px;margin-top:8px}.mb-4px{margin-bottom:4px}.mb-8px{margin-bottom:8px}.ml-3{margin-left:.75rem}.ml-8px{margin-left:8px}.mr-8px{margin-right:8px}.mt-0{margin-top:0}.mt-12px{margin-top:12px}.mt-2{margin-top:.5rem}.mt-24px{margin-top:24px}.mt-4px{margin-top:4px}.mt-8px{margin-top:8px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-12px{height:12px}.h-16px{height:16px}.h-20px{height:20px}.h-24px{height:24px}.h-2px{height:2px}.h-32px{height:32px}.h-36px{height:36px}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.max-h-\\[65vh\\]{max-height:65vh}.min-h-\\[250px\\]{min-height:250px}.min-h-screen{min-height:100vh}.w-1\\/2{width:50%}.w-11{width:2.75rem}.w-12px{width:12px}.w-14px{width:14px}.w-16px{width:16px}.w-20px{width:20px}.w-24px{width:24px}.w-28px{width:28px}.w-2px{width:2px}.w-32px{width:32px}.w-36px{width:36px}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\\[100px\\]{width:100px}.w-\\[110px\\]{width:110px}.w-\\[120px\\]{width:120px}.w-\\[125\\%\\]{width:125%}.w-\\[150px\\]{width:150px}.w-\\[44px\\]{width:44px}.w-\\[48px\\]{width:48px}.w-full{width:100%}.w-screen{width:100vw}.min-w-300px{min-width:300px}.min-w-\\[280px\\]{min-width:280px}.max-w-1024px{max-width:1024px}.max-w-160px{max-width:160px}.max-w-350px{max-width:350px}.max-w-3xl{max-width:48rem}.max-w-640px{max-width:640px}.max-w-800px{max-width:800px}.max-w-\\[45ch\\]{max-width:45ch}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.grow-0{flex-grow:0}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-20px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-20px{--tw-translate-x:20px}.translate-x-\\[26px\\]{--tw-translate-x:26px}.translate-x-\\[26px\\],.translate-x-\\[2px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[2px\\]{--tw-translate-x:2px}.translate-y-\\[16px\\]{--tw-translate-y:16px}.scale-100,.translate-y-\\[16px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-12px{gap:12px}.gap-16px{gap:16px}.gap-2{gap:.5rem}.gap-20px{gap:20px}.gap-4{gap:1rem}.gap-4px{gap:4px}.gap-6{gap:1.5rem}.gap-8px{gap:8px}.gap-x-16px{-moz-column-gap:16px;column-gap:16px}.gap-x-4px{-moz-column-gap:4px;column-gap:4px}.gap-x-8px{-moz-column-gap:8px;column-gap:8px}.gap-y-16px{row-gap:16px}.gap-y-24px{row-gap:24px}.gap-y-4px{row-gap:4px}.gap-y-8px{row-gap:8px}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-normal{white-space:normal}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b-2{border-bottom-width:2px}.border-l-0{border-left-width:0}.border-r-0{border-right-width:0}.border-t-0{border-top-width:0}.border-solid{border-style:solid}.border-none{border-style:none}.border-black{--tw-border-opacity:1;border-color:rgb(28 27 27/var(--tw-border-opacity))}.border-gamma-opaque{border-color:var(--color-gamma-opaque)}.border-green-600\\/10{border-color:#16a34a1a}.border-grey-mid{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.border-orange{--tw-border-opacity:1;border-color:rgb(255 140 47/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-unraid-red{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.border-unraid-red\\/10{border-color:#e228281a}.border-unraid-red\\/90{border-color:#e22828e6}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-white\\/10{border-color:#ffffff1a}.border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity))}.bg-alpha{background-color:var(--color-alpha)}.bg-beta{background-color:var(--color-beta)}.bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-current{background-color:currentColor}.bg-gamma{background-color:var(--color-gamma)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-grey{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-orange{--tw-bg-opacity:1;background-color:rgb(255 140 47/var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-unraid-red{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.bg-unraid-red\\/90{background-color:#e22828e6}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity:.8}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-unraid-red{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-orange{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.to-orange\\/60{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-green-600{fill:#16a34a}.fill-unraid-red{fill:#e22828}.p-0{padding:0}.p-1{padding:.25rem}.p-12px{padding:12px}.p-16px{padding:16px}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8px{padding:8px}.px-12px{padding-left:12px;padding-right:12px}.px-16px{padding-left:16px;padding-right:16px}.px-4{padding-left:1rem;padding-right:1rem}.px-4px{padding-left:4px;padding-right:4px}.px-6px{padding-left:6px;padding-right:6px}.px-8px{padding-left:8px;padding-right:8px}.py-0{padding-bottom:0;padding-top:0}.py-12px{padding-bottom:12px;padding-top:12px}.py-24px{padding-bottom:24px;padding-top:24px}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-4px{padding-bottom:4px;padding-top:4px}.py-8px{padding-bottom:8px;padding-top:8px}.pb-12{padding-bottom:3rem}.pb-8px{padding-bottom:8px}.pl-40px{padding-left:40px}.pr-16px{padding-right:16px}.pr-40px{padding-right:40px}.pr-4px{padding-right:4px}.pt-4px{padding-top:4px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-10px{font-size:10px}.text-12px{font-size:12px}.text-14px{font-size:14px}.text-16px{font-size:16px}.text-18px{font-size:18px}.text-20px{font-size:20px}.text-24px{font-size:24px}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.text-\\[\\#486dba\\]{--tw-text-opacity:1;color:rgb(72 109 186/var(--tw-text-opacity))}.text-alpha{color:var(--color-alpha)}.text-beta{color:var(--color-beta)}.text-black{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-current{color:currentColor}.text-gamma{color:var(--color-gamma)}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-grey-mid{--tw-text-opacity:1;color:rgb(153 153 153/var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}.text-orange{--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-unraid-red{--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[var\\(--ring-offset-shadow\\)_var\\(--ring-shadow\\)_var\\(--shadow-beta\\)\\]{--tw-shadow-color:var(--ring-offset-shadow) var(--ring-shadow) var(--shadow-beta);--tw-shadow:var(--tw-shadow-colored)}.shadow-green-600\\/30{--tw-shadow-color:rgba(22,163,74,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-orange\\/10{--tw-shadow-color:rgba(255,140,47,.1);--tw-shadow:var(--tw-shadow-colored)}.shadow-unraid-red\\/30{--tw-shadow-color:rgba(226,40,40,.3);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-black{outline-color:#1c1b1b}.outline-white{outline-color:#fff}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.DropdownWrapper_blip{box-shadow:var(--ring-offset-shadow),var(--ring-shadow),var(--shadow-beta)}.DropdownWrapper_blip:before{border-bottom:11px solid var(--color-alpha);border-left:11px solid transparent;border-right:11px solid transparent;content:"";display:block;height:0;position:absolute;right:42px;top:-10px;width:0;z-index:20}.unraid_mark_2,.unraid_mark_4{animation:mark_2 1.5s ease infinite}.unraid_mark_3{animation:mark_3 1.5s ease infinite}.unraid_mark_6,.unraid_mark_8{animation:mark_6 1.5s ease infinite}.unraid_mark_7{animation:mark_7 1.5s ease infinite}@keyframes mark_2{50%{transform:translateY(-40px)}to{transform:translateY(0)}}@keyframes mark_3{50%{transform:translateY(-62px)}to{transform:translateY(0)}}@keyframes mark_6{50%{transform:translateY(40px)}to{transform:translateY(0)}}@keyframes mark_7{50%{transform:translateY(62px)}to{transform:translateY(0)}}.even\\:bg-black\\/5:nth-child(2n){background-color:#1c1b1b0d}.even\\:bg-grey-darkest:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity))}@keyframes pulse{50%{opacity:.5}}.hover\\:animate-pulse:hover{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.hover\\:border-beta:hover{border-color:var(--color-beta)}.hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.hover\\:border-grey-mid:hover{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.hover\\:border-orange-dark:hover{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.hover\\:border-unraid-red:hover{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.hover\\:bg-beta:hover{background-color:var(--color-beta)}.hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.hover\\:bg-grey-mid:hover{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.hover\\:bg-unraid-red:hover{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\\:bg-gradient-to-r:hover{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.hover\\:from-unraid-red:hover{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:from-unraid-red\\/60:hover{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:to-orange:hover{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.hover\\:to-orange\\/60:hover{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.hover\\:text-\\[\\#3b5ea9\\]:hover{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.hover\\:text-alpha:hover{color:var(--color-alpha)}.hover\\:text-black:hover{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:no-underline:hover{text-decoration-line:none}.hover\\:opacity-100:hover{opacity:1}.hover\\:opacity-75:hover{opacity:.75}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:shadow-orange\\/50:hover{--tw-shadow-color:rgba(255,140,47,.5);--tw-shadow:var(--tw-shadow-colored)}.focus\\:border-beta:focus{border-color:var(--color-beta)}.focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.focus\\:border-grey-mid:focus{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.focus\\:border-orange-dark:focus{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.focus\\:border-unraid-red:focus{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.focus\\:bg-beta:focus{background-color:var(--color-beta)}.focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.focus\\:bg-grey-mid:focus{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.focus\\:bg-unraid-red:focus{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus\\:bg-gradient-to-r:focus{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.focus\\:from-unraid-red:focus{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:from-unraid-red\\/60:focus{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:to-orange:focus{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.focus\\:to-orange\\/60:focus{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.focus\\:text-\\[\\#3b5ea9\\]:focus{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.focus\\:text-alpha:focus{color:var(--color-alpha)}.focus\\:text-black:focus{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.focus\\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\\:underline:focus{text-decoration-line:underline}.focus\\:no-underline:focus{text-decoration-line:none}.focus\\:opacity-100:focus{opacity:1}.focus\\:opacity-75:focus{opacity:.75}.focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.focus\\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-25:disabled{opacity:.25}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:hover\\:opacity-25:hover:disabled{opacity:.25}.disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.disabled\\:focus\\:opacity-25:focus:disabled{opacity:.25}.disabled\\:focus\\:opacity-50:focus:disabled{opacity:.5}.group:hover .group-hover\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:hover .group-hover\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:hover .group-hover\\:underline{text-decoration-line:underline}.group:hover .group-hover\\:opacity-100{opacity:1}.group:hover .group-hover\\:opacity-60{opacity:.6}.group:hover .group-hover\\:opacity-75{opacity:.75}.group:focus .group-focus\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:focus .group-focus\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:focus .group-focus\\:underline{text-decoration-line:underline}.group:focus .group-focus\\:opacity-100{opacity:1}.group:focus .group-focus\\:opacity-60{opacity:.6}.group:focus .group-focus\\:opacity-75{opacity:.75}.prose-a\\:text-unraid-red :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.hover\\:prose-a\\:text-unraid-red\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#e2282899}.hover\\:prose-a\\:no-underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{text-decoration-line:none}@media (min-width:640px){.sm\\:col-span-2{grid-column:span 2/span 2}.sm\\:col-span-3{grid-column:span 3/span 3}.sm\\:col-start-2{grid-column-start:2}.sm\\:block{display:block}.sm\\:w-\\[150px\\]{width:150px}.sm\\:w-full{width:100%}.sm\\:min-w-\\[400px\\]{min-width:400px}.sm\\:max-w-300px{max-width:300px}.sm\\:max-w-lg{max-width:32rem}.sm\\:flex-shrink-0{flex-shrink:0}.sm\\:flex-grow-0{flex-grow:0}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-start{align-items:flex-start}.sm\\:items-center{align-items:center}.sm\\:justify-end{justify-content:flex-end}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-16px{gap:16px}.sm\\:gap-24px{gap:24px}.sm\\:gap-y-24px{row-gap:24px}.sm\\:p-16px{padding:16px}.sm\\:px-20px{padding-left:20px;padding-right:20px}.sm\\:pr-40px{padding-right:40px}.sm\\:text-right{text-align:right}.sm\\:text-18px{font-size:18px}.sm\\:text-20px{font-size:20px}.sm\\:text-24px{font-size:24px}}@media (min-width:768px){.md\\:inline-block{display:inline-block}.md\\:min-w-\\[500px\\]{min-width:500px}.md\\:flex-row{flex-direction:row}.md\\:items-start{align-items:flex-start}.md\\:items-end{align-items:flex-end}.md\\:justify-between{justify-content:space-between}.md\\:gap-16px{gap:16px}.md\\:p-24px{padding:24px}.md\\:p-6{padding:1.5rem}.md\\:py-24px{padding-bottom:24px;padding-top:24px}.md\\:text-24px{font-size:24px}}@media (min-width:470px){.\\32xs\\:block{display:block}}@media (min-width:530px){.xs\\:block{display:block}.xs\\:flex-row{flex-direction:row}.xs\\:items-baseline{align-items:baseline}.xs\\:justify-start{justify-content:flex-start}.xs\\:gap-x-12px{-moz-column-gap:12px;column-gap:12px}.xs\\:text-12px{font-size:12px}}@media (min-height:700px){.tall\\:max-h-\\[75vh\\]{max-height:75vh}}@media (prefers-color-scheme:dark){.dark\\:border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.dark\\:bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.dark\\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\\:prose-a\\:text-orange :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.hover\\:dark\\:prose-a\\:text-orange\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#ff8c2f99}}']]]),NDe={class:"grid gap-y-16px"},ADe={class:"grid gap-y-4px"},RDe={key:0,class:"text-24px font-semibold"},DDe={key:1,class:"text-20px"},CDe={class:"flex flex-col md:flex-row gap-16px justify-start md:items-start md:justify-between"},LDe={class:"inline-flex flex-wrap justify-start gap-8px"},FDe=["title"],zDe=["href","title"],MDe={class:"inline-flex flex-col flex-shrink-0 gap-16px flex-grow items-center md:items-end"},PDe={key:0},UDe={key:1},jDe=xoe({__name:"Status",props:{downgradeNotAvailable:{type:Boolean,default:!1},restoreVersion:{default:void 0},showExternalDowngrade:{type:Boolean,default:!1},t:{},title:{default:void 0},subtitle:{default:void 0}},setup(eee){const tee=eee,ree=oIe(),oee=pIe(),nee=zTe(),aee=PTe(),{dateTimeFormat:iee,osVersion:see,rebootType:lee,rebootVersion:cee,regExp:pee,regUpdatesExpired:dee}=Zce(oee),{available:uee,availableWithRenewal:hee}=Zce(nee),{ineligibleText:gee,rebootTypeText:wee,status:fee}=Zce(aee),bee=Sae((()=>uee.value||hee.value)),{outputDateTimeReadableDiff:mee,outputDateTimeFormatted:vee}=gOe(iee.value,tee.t,!0,pee.value),yee=Sae((()=>{if(pee.value)return{text:dee.value?tee.t("Ineligible for feature updates released after {0}",[vee.value]):tee.t("Eligible for free feature updates until {0}",[vee.value]),title:dee.value?tee.t("Ineligible as of {0}",[mee.value]):tee.t("Eligible for free feature updates for {0}",[mee.value])}})),xee=Sae((()=>"downgrade"===lee.value||"update"===lee.value)),kee=Sae((()=>xee.value||tee.showExternalDowngrade?{btnStyle:"outline",click:()=>{tee.showExternalDowngrade?ree.downgradeOs():ree.updateOs()},icon:Dpe,text:tee.t("More options")}:bee.value?{btnStyle:"fill",click:()=>{nee.setModalOpen(!0)},icon:zpe,text:hee.value?tee.t("Unraid OS {0} Released",[hee.value]):tee.t("Unraid OS {0} Update Available",[uee.value])}:{btnStyle:"outline",click:()=>{nee.localCheckForUpdate()},icon:Npe,text:tee.t("Check for Update")}));return(eee,tee)=>{const ree=nOe,oee=Lce;return qne(),Qne("div",NDe,[eae("header",ADe,[eee.title?(qne(),Qne("h1",RDe,Hee(eee.title),1)):aae("",!0),eee.subtitle?(qne(),Qne("h2",DDe,Hee(eee.subtitle),1)):aae("",!0)]),eae("div",CDe,[eae("div",LDe,[eae("button",{class:"group",title:eee.t("View release notes"),onClick:tee[0]||(tee[0]=tee=>Sre(aee).viewReleaseNotes(eee.t("{0} Release Notes",[Sre(see)])))},[tae(ree,{icon:Sre(Wpe),class:"underline"},{default:soe((()=>[oae(Hee(eee.t("Current Version {0}",[Sre(see)])),1)])),_:1},8,["icon"])],8,FDe),Sre(gee)&&!Sre(hee)?(qne(),Qne("a",{key:0,href:Sre(fTe).toString(),class:"group",title:eee.t("Learn more and fix")},[tae(ree,{color:"yellow",icon:Sre(qpe),title:Sre(yee)?.text,class:"underline"},{default:soe((()=>[oae(Hee(eee.t("Key ineligible for future releases")),1)])),_:1},8,["icon","title"])],8,zDe)):Sre(gee)&&Sre(hee)?(qne(),Wne(ree,{key:1,color:"yellow",icon:Sre(qpe),title:Sre(yee)?.text},{default:soe((()=>[oae(Hee(eee.t("Key ineligible for {0}",[Sre(hee)])),1)])),_:1},8,["icon","title"])):aae("",!0),"checking"===Sre(fee)?(qne(),Wne(ree,{key:2,color:"orange",icon:xSe},{default:soe((()=>[oae(Hee(eee.t("Checking...")),1)])),_:1})):(qne(),Qne(Mne,{key:3},[""===Sre(lee)?(qne(),Wne(ree,{key:0,color:Sre(bee)?"orange":"green",icon:Sre(bee)?Sre(zpe):Sre(Mpe)},{default:soe((()=>[oae(Hee(Sre(uee)?eee.t("Unraid {0} Available",[Sre(uee)]):Sre(hee)?eee.t("Up-to-date with eligible releases"):eee.t("Up-to-date")),1)])),_:1},8,["color","icon"])):(qne(),Wne(ree,{key:1,color:"yellow",icon:Sre(qpe)},{default:soe((()=>[oae(Hee(eee.t(Sre(wee))),1)])),_:1},8,["icon"]))],64)),eee.downgradeNotAvailable?(qne(),Wne(ree,{key:4,color:"gray",icon:Sre(ade)},{default:soe((()=>[oae(Hee(eee.t("No downgrade available")),1)])),_:1},8,["icon"])):aae("",!0)]),eae("div",MDe,[Sre(xee)?(qne(),Qne("span",PDe,[tae(oee,{"btn-style":"fill",icon:Sre(Npe),text:"downgrade"===Sre(lee)?eee.t("Reboot Now to Downgrade to {0}",[Sre(cee)]):eee.t("Reboot Now to Update to {0}",[Sre(cee)]),onClick:tee[1]||(tee[1]=eee=>Sre(aee).rebootServer())},null,8,["icon","text"])])):aae("",!0),eae("span",null,[tae(oee,{"btn-style":Sre(kee).btnStyle,icon:Sre(kee).icon,text:Sre(kee).text,onClick:Sre(kee).click},null,8,["btn-style","icon","text","onClick"])]),""!==Sre(lee)?(qne(),Qne("span",UDe,[tae(oee,{"btn-style":"outline",icon:Sre(ade),text:eee.t("Cancel {0}",["downgrade"===Sre(lee)?eee.t("Downgrade"):eee.t("Update")]),onClick:tee[2]||(tee[2]=eee=>Sre(nee).cancelUpdate())},null,8,["icon","text"])])):aae("",!0)])])])}}}),$De=xoe({__name:"CardWrapper",props:{error:{type:Boolean,default:!1},hover:{type:Boolean,default:!0},increasedPadding:{type:Boolean,default:!1},padding:{type:Boolean,default:!0},warning:{type:Boolean,default:!1}},setup:eee=>(eee,tee)=>(qne(),Qne("div",{class:Yee(["group/card text-left relative flex flex-col flex-1 border-2 border-solid rounded-md shadow-md",[eee.padding&&"p-4",eee.increasedPadding&&"md:p-6",eee.hover&&"hover:shadow-orange/50 transition-all",eee.error&&"text-white bg-unraid-red border-unraid-red",eee.warning&&"text-black bg-yellow-100 border-yellow-100",!eee.error&&!eee.warning&&"text-beta bg-alpha border-gamma-opaque"]])},[Yoe(eee.$slots,"default")],2))}),VDe={class:"flex flex-col sm:flex-row sm:justify-between sm:items-start gap-20px sm:gap-24px"},qDe={class:"grid gap-y-16px"},BDe={class:"text-20px font-semibold leading-normal flex flex-row items-center gap-8px"},YDe={class:"text-16px leading-relaxed opacity-75 whitespace-normal"},GDe=xoe({__name:"ThirdPartyDrivers",props:{t:{type:Function}},setup(eee){const{rebootTypeText:tee}=Zce(PTe());return(eee,ree)=>{const oee=$De;return qne(),Wne(oee,{"increased-padding":!0},{default:soe((()=>[eae("div",VDe,[eae("div",qDe,[eae("h3",BDe,[tae(Sre(qpe),{class:"w-20px shrink-0"}),oae(" "+Hee(eee.t(Sre(tee))),1)]),eae("div",YDe,[eae("p",null,Hee(eee.t("During the Unraid OS update process third-party drivers were detected and are currently being updated in the background. Please wait for those to finish downloading before rebooting your server to complete the update process. You should receive a system notification when complete. You may also refresh this page to check for an updated status.")),1)])])])])),_:1})}}}),QDe=xoe({__name:"PageContainer",props:{maxWidth:{default:"max-w-1024px"}},setup:eee=>(eee,tee)=>(qne(),Qne("div",{class:Yee(["grid gap-y-24px w-full mx-auto px-16px",eee.maxWidth])},[Yoe(eee.$slots,"default")],2))}),WDe=xoe({__name:"UpdateOs.ce",props:{rebootVersion:{default:""}},setup(eee){const tee=eee,{t:t}=_ce(),ree=oIe(),oee=pIe(),{rebootType:nee}=Zce(oee),aee=Sae((()=>"downgrade"===nee.value?t("Please finish the initiated downgrade to enable updates."):"")),iee=Sae((()=>window.location.pathname===bTe.pathname&&""===nee.value));return Aoe((()=>{iee.value&&ree.updateOs(!0),oee.setRebootVersion(tee.rebootVersion)})),(eee,tee)=>{const ree=ySe,oee=jDe,see=GDe,lee=QDe;return qne(),Wne(lee,null,{default:soe((()=>[Sre(iee)?(qne(),Wne(ree,{key:0,class:"mx-auto my-12 max-w-160px"})):(qne(),Wne(oee,{key:1,"show-update-check":!0,title:Sre(t)("Update Unraid OS"),subtitle:Sre(aee),t:Sre(t)},null,8,["title","subtitle","t"])),"thirdPartyDriversDownloading"===Sre(nee)?(qne(),Wne(see,{key:2,t:Sre(t)},null,8,["t"])):aae("",!0)])),_:1})}}}),KDe=Ace(WDe,[["styles",['/*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:clear-sans,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:470px){.container{max-width:470px}}@media (min-width:530px){.container{max-width:530px}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--color-beta);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:#ff8c2f;font-weight:500;text-decoration:underline}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{color:#f15a2c}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"“""”""‘""’"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:start;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:var(--color-beta);--tw-prose-headings:var(--color-beta);--tw-prose-lead:var(--color-beta);--tw-prose-links:#ff8c2f;--tw-prose-bold:var(--color-beta);--tw-prose-counters:var(--color-beta);--tw-prose-bullets:var(--color-beta);--tw-prose-hr:var(--color-beta);--tw-prose-quotes:var(--color-beta);--tw-prose-quote-borders:var(--color-beta);--tw-prose-captions:var(--color-beta);--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:var(--color-beta);--tw-prose-pre-code:var(--color-beta);--tw-prose-pre-bg:var(--color-alpha);--tw-prose-th-borders:var(--color-beta);--tw-prose-td-borders:var(--color-beta);--tw-prose-invert-body:var(--color-alpha);--tw-prose-invert-headings:var(--color-alpha);--tw-prose-invert-lead:var(--color-alpha);--tw-prose-invert-links:#ff8c2f;--tw-prose-invert-bold:var(--color-alpha);--tw-prose-invert-counters:var(--color-alpha);--tw-prose-invert-bullets:var(--color-alpha);--tw-prose-invert-hr:var(--color-alpha);--tw-prose-invert-quotes:var(--color-alpha);--tw-prose-invert-quote-borders:var(--color-alpha);--tw-prose-invert-captions:var(--color-alpha);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--color-alpha);--tw-prose-invert-pre-code:var(--color-alpha);--tw-prose-invert-pre-bg:var(--color-beta);--tw-prose-invert-th-borders:var(--color-alpha);--tw-prose-invert-td-borders:var(--color-alpha);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose{--tw-prose-invert-code-bg:var(--color-gamma-opaque)}.unraid_mark_2,.unraid_mark_4{animation:mark_2 1.5s ease infinite}.unraid_mark_3{animation:mark_3 1.5s ease infinite}.unraid_mark_6,.unraid_mark_8{animation:mark_6 1.5s ease infinite}.unraid_mark_7{animation:mark_7 1.5s ease infinite}@keyframes mark_2{50%{transform:translateY(-40px)}to{transform:translateY(0)}}@keyframes mark_3{50%{transform:translateY(-62px)}to{transform:translateY(0)}}@keyframes mark_6{50%{transform:translateY(40px)}to{transform:translateY(0)}}@keyframes mark_7{50%{transform:translateY(62px)}to{transform:translateY(0)}}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-\\[2px\\]{bottom:-2px}.-left-\\[2px\\]{left:-2px}.-right-\\[2px\\]{right:-2px}.-top-1{top:-.25rem}.-top-\\[2px\\]{top:-2px}.bottom-0{bottom:0}.bottom-\\[-3px\\]{bottom:-3px}.right-0{right:0}.top-0{top:0}.top-\\[1px\\]{top:1px}.top-full{top:100%}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\\[99999\\]{z-index:99999}.mx-8px{margin-left:8px;margin-right:8px}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.my-12{margin-bottom:3rem;margin-top:3rem}.my-16px{margin-bottom:16px;margin-top:16px}.my-24px{margin-bottom:24px;margin-top:24px}.my-8px{margin-bottom:8px;margin-top:8px}.mb-4px{margin-bottom:4px}.mb-8px{margin-bottom:8px}.ml-3{margin-left:.75rem}.ml-8px{margin-left:8px}.mr-8px{margin-right:8px}.mt-0{margin-top:0}.mt-12px{margin-top:12px}.mt-2{margin-top:.5rem}.mt-24px{margin-top:24px}.mt-4px{margin-top:4px}.mt-8px{margin-top:8px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-12px{height:12px}.h-16px{height:16px}.h-20px{height:20px}.h-24px{height:24px}.h-2px{height:2px}.h-32px{height:32px}.h-36px{height:36px}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.max-h-\\[65vh\\]{max-height:65vh}.min-h-\\[250px\\]{min-height:250px}.min-h-screen{min-height:100vh}.w-1\\/2{width:50%}.w-11{width:2.75rem}.w-12px{width:12px}.w-14px{width:14px}.w-16px{width:16px}.w-20px{width:20px}.w-24px{width:24px}.w-28px{width:28px}.w-2px{width:2px}.w-32px{width:32px}.w-36px{width:36px}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\\[100px\\]{width:100px}.w-\\[110px\\]{width:110px}.w-\\[120px\\]{width:120px}.w-\\[125\\%\\]{width:125%}.w-\\[150px\\]{width:150px}.w-\\[44px\\]{width:44px}.w-\\[48px\\]{width:48px}.w-full{width:100%}.w-screen{width:100vw}.min-w-300px{min-width:300px}.min-w-\\[280px\\]{min-width:280px}.max-w-1024px{max-width:1024px}.max-w-160px{max-width:160px}.max-w-350px{max-width:350px}.max-w-3xl{max-width:48rem}.max-w-640px{max-width:640px}.max-w-800px{max-width:800px}.max-w-\\[45ch\\]{max-width:45ch}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.grow-0{flex-grow:0}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-20px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-20px{--tw-translate-x:20px}.translate-x-\\[26px\\]{--tw-translate-x:26px}.translate-x-\\[26px\\],.translate-x-\\[2px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[2px\\]{--tw-translate-x:2px}.translate-y-\\[16px\\]{--tw-translate-y:16px}.scale-100,.translate-y-\\[16px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-12px{gap:12px}.gap-16px{gap:16px}.gap-2{gap:.5rem}.gap-20px{gap:20px}.gap-4{gap:1rem}.gap-4px{gap:4px}.gap-6{gap:1.5rem}.gap-8px{gap:8px}.gap-x-16px{-moz-column-gap:16px;column-gap:16px}.gap-x-4px{-moz-column-gap:4px;column-gap:4px}.gap-x-8px{-moz-column-gap:8px;column-gap:8px}.gap-y-16px{row-gap:16px}.gap-y-24px{row-gap:24px}.gap-y-4px{row-gap:4px}.gap-y-8px{row-gap:8px}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-normal{white-space:normal}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b-2{border-bottom-width:2px}.border-l-0{border-left-width:0}.border-r-0{border-right-width:0}.border-t-0{border-top-width:0}.border-solid{border-style:solid}.border-none{border-style:none}.border-black{--tw-border-opacity:1;border-color:rgb(28 27 27/var(--tw-border-opacity))}.border-gamma-opaque{border-color:var(--color-gamma-opaque)}.border-green-600\\/10{border-color:#16a34a1a}.border-grey-mid{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.border-orange{--tw-border-opacity:1;border-color:rgb(255 140 47/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-unraid-red{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.border-unraid-red\\/10{border-color:#e228281a}.border-unraid-red\\/90{border-color:#e22828e6}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-white\\/10{border-color:#ffffff1a}.border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity))}.bg-alpha{background-color:var(--color-alpha)}.bg-beta{background-color:var(--color-beta)}.bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-current{background-color:currentColor}.bg-gamma{background-color:var(--color-gamma)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-grey{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-orange{--tw-bg-opacity:1;background-color:rgb(255 140 47/var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-unraid-red{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.bg-unraid-red\\/90{background-color:#e22828e6}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity:.8}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-unraid-red{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-orange{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.to-orange\\/60{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-green-600{fill:#16a34a}.fill-unraid-red{fill:#e22828}.p-0{padding:0}.p-1{padding:.25rem}.p-12px{padding:12px}.p-16px{padding:16px}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8px{padding:8px}.px-12px{padding-left:12px;padding-right:12px}.px-16px{padding-left:16px;padding-right:16px}.px-4{padding-left:1rem;padding-right:1rem}.px-4px{padding-left:4px;padding-right:4px}.px-6px{padding-left:6px;padding-right:6px}.px-8px{padding-left:8px;padding-right:8px}.py-0{padding-bottom:0;padding-top:0}.py-12px{padding-bottom:12px;padding-top:12px}.py-24px{padding-bottom:24px;padding-top:24px}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-4px{padding-bottom:4px;padding-top:4px}.py-8px{padding-bottom:8px;padding-top:8px}.pb-12{padding-bottom:3rem}.pb-8px{padding-bottom:8px}.pl-40px{padding-left:40px}.pr-16px{padding-right:16px}.pr-40px{padding-right:40px}.pr-4px{padding-right:4px}.pt-4px{padding-top:4px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-10px{font-size:10px}.text-12px{font-size:12px}.text-14px{font-size:14px}.text-16px{font-size:16px}.text-18px{font-size:18px}.text-20px{font-size:20px}.text-24px{font-size:24px}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.text-\\[\\#486dba\\]{--tw-text-opacity:1;color:rgb(72 109 186/var(--tw-text-opacity))}.text-alpha{color:var(--color-alpha)}.text-beta{color:var(--color-beta)}.text-black{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-current{color:currentColor}.text-gamma{color:var(--color-gamma)}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-grey-mid{--tw-text-opacity:1;color:rgb(153 153 153/var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}.text-orange{--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-unraid-red{--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[var\\(--ring-offset-shadow\\)_var\\(--ring-shadow\\)_var\\(--shadow-beta\\)\\]{--tw-shadow-color:var(--ring-offset-shadow) var(--ring-shadow) var(--shadow-beta);--tw-shadow:var(--tw-shadow-colored)}.shadow-green-600\\/30{--tw-shadow-color:rgba(22,163,74,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-orange\\/10{--tw-shadow-color:rgba(255,140,47,.1);--tw-shadow:var(--tw-shadow-colored)}.shadow-unraid-red\\/30{--tw-shadow-color:rgba(226,40,40,.3);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-black{outline-color:#1c1b1b}.outline-white{outline-color:#fff}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.even\\:bg-black\\/5:nth-child(2n){background-color:#1c1b1b0d}.even\\:bg-grey-darkest:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity))}@keyframes pulse{50%{opacity:.5}}.hover\\:animate-pulse:hover{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.hover\\:border-beta:hover{border-color:var(--color-beta)}.hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.hover\\:border-grey-mid:hover{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.hover\\:border-orange-dark:hover{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.hover\\:border-unraid-red:hover{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.hover\\:bg-beta:hover{background-color:var(--color-beta)}.hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.hover\\:bg-grey-mid:hover{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.hover\\:bg-unraid-red:hover{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\\:bg-gradient-to-r:hover{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.hover\\:from-unraid-red:hover{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:from-unraid-red\\/60:hover{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:to-orange:hover{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.hover\\:to-orange\\/60:hover{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.hover\\:text-\\[\\#3b5ea9\\]:hover{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.hover\\:text-alpha:hover{color:var(--color-alpha)}.hover\\:text-black:hover{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:no-underline:hover{text-decoration-line:none}.hover\\:opacity-100:hover{opacity:1}.hover\\:opacity-75:hover{opacity:.75}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:shadow-orange\\/50:hover{--tw-shadow-color:rgba(255,140,47,.5);--tw-shadow:var(--tw-shadow-colored)}.focus\\:border-beta:focus{border-color:var(--color-beta)}.focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.focus\\:border-grey-mid:focus{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.focus\\:border-orange-dark:focus{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.focus\\:border-unraid-red:focus{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.focus\\:bg-beta:focus{background-color:var(--color-beta)}.focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.focus\\:bg-grey-mid:focus{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.focus\\:bg-unraid-red:focus{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus\\:bg-gradient-to-r:focus{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.focus\\:from-unraid-red:focus{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:from-unraid-red\\/60:focus{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:to-orange:focus{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.focus\\:to-orange\\/60:focus{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.focus\\:text-\\[\\#3b5ea9\\]:focus{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.focus\\:text-alpha:focus{color:var(--color-alpha)}.focus\\:text-black:focus{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.focus\\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\\:underline:focus{text-decoration-line:underline}.focus\\:no-underline:focus{text-decoration-line:none}.focus\\:opacity-100:focus{opacity:1}.focus\\:opacity-75:focus{opacity:.75}.focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.focus\\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-25:disabled{opacity:.25}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:hover\\:opacity-25:hover:disabled{opacity:.25}.disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.disabled\\:focus\\:opacity-25:focus:disabled{opacity:.25}.disabled\\:focus\\:opacity-50:focus:disabled{opacity:.5}.group:hover .group-hover\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:hover .group-hover\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:hover .group-hover\\:underline{text-decoration-line:underline}.group:hover .group-hover\\:opacity-100{opacity:1}.group:hover .group-hover\\:opacity-60{opacity:.6}.group:hover .group-hover\\:opacity-75{opacity:.75}.group:focus .group-focus\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:focus .group-focus\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:focus .group-focus\\:underline{text-decoration-line:underline}.group:focus .group-focus\\:opacity-100{opacity:1}.group:focus .group-focus\\:opacity-60{opacity:.6}.group:focus .group-focus\\:opacity-75{opacity:.75}.prose-a\\:text-unraid-red :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.hover\\:prose-a\\:text-unraid-red\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#e2282899}.hover\\:prose-a\\:no-underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{text-decoration-line:none}@media (min-width:640px){.sm\\:col-span-2{grid-column:span 2/span 2}.sm\\:col-span-3{grid-column:span 3/span 3}.sm\\:col-start-2{grid-column-start:2}.sm\\:block{display:block}.sm\\:w-\\[150px\\]{width:150px}.sm\\:w-full{width:100%}.sm\\:min-w-\\[400px\\]{min-width:400px}.sm\\:max-w-300px{max-width:300px}.sm\\:max-w-lg{max-width:32rem}.sm\\:flex-shrink-0{flex-shrink:0}.sm\\:flex-grow-0{flex-grow:0}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-start{align-items:flex-start}.sm\\:items-center{align-items:center}.sm\\:justify-end{justify-content:flex-end}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-16px{gap:16px}.sm\\:gap-24px{gap:24px}.sm\\:gap-y-24px{row-gap:24px}.sm\\:p-16px{padding:16px}.sm\\:px-20px{padding-left:20px;padding-right:20px}.sm\\:pr-40px{padding-right:40px}.sm\\:text-right{text-align:right}.sm\\:text-18px{font-size:18px}.sm\\:text-20px{font-size:20px}.sm\\:text-24px{font-size:24px}}@media (min-width:768px){.md\\:inline-block{display:inline-block}.md\\:min-w-\\[500px\\]{min-width:500px}.md\\:flex-row{flex-direction:row}.md\\:items-start{align-items:flex-start}.md\\:items-end{align-items:flex-end}.md\\:justify-between{justify-content:space-between}.md\\:gap-16px{gap:16px}.md\\:p-24px{padding:24px}.md\\:p-6{padding:1.5rem}.md\\:py-24px{padding-bottom:24px;padding-top:24px}.md\\:text-24px{font-size:24px}}@media (min-width:470px){.\\32xs\\:block{display:block}}@media (min-width:530px){.xs\\:block{display:block}.xs\\:flex-row{flex-direction:row}.xs\\:items-baseline{align-items:baseline}.xs\\:justify-start{justify-content:flex-start}.xs\\:gap-x-12px{-moz-column-gap:12px;column-gap:12px}.xs\\:text-12px{font-size:12px}}@media (min-height:700px){.tall\\:max-h-\\[75vh\\]{max-height:75vh}}@media (prefers-color-scheme:dark){.dark\\:border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.dark\\:bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.dark\\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\\:prose-a\\:text-orange :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.hover\\:dark\\:prose-a\\:text-orange\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#ff8c2f99}}']]]),HDe={class:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-20px sm:gap-24px"},XDe={class:"grid gap-y-16px"},ZDe={class:"font-semibold leading-normal flex flex-row items-start justify-start gap-8px"},JDe={class:"leading-none inline-flex flex-wrap justify-start items-baseline gap-8px"},eCe={class:"text-20px"},tCe={key:0,class:"text-16px opacity-75 shrink"},rCe={class:"prose text-16px leading-relaxed opacity-75 whitespace-normal"},oCe={key:0,class:"flex flex-col flex-shrink-0 gap-16px flex-grow items-stretch"},nCe=Ace(xoe({__name:"Downgrade",props:{t:{type:Function},releaseDate:{},version:{}},setup(eee){const tee=eee,ree=pIe(),oee=PTe(),{dateTimeFormat:nee}=Zce(ree),{outputDateTimeFormatted:aee}=gOe(nee.value,tee.t,!0,npe(tee.releaseDate,"YYYY-MM-DD").valueOf()),iee=kre({click:()=>{downloadDiagnostics()},icon:Ype,name:"download-diagnostics",text:tee.t("Download Diagnostics")}),see=kre({click:()=>{confirmDowngrade()},name:"downgrade",text:tee.t("Begin downgrade to {0}",[tee.version])});return(eee,tee)=>{const ree=Lce,nee=$De;return qne(),Wne(nee,{"increased-padding":!0},{default:soe((()=>[eae("div",HDe,[eae("div",XDe,[eae("h3",ZDe,[tae(Sre(Cpe),{class:"w-20px shrink-0"}),eae("span",JDe,[eae("span",eCe,Hee(eee.t("Downgrade Unraid OS to {0}",[eee.version])),1),eee.releaseDate&&"Invalid Date"!==Sre(aee)?(qne(),Qne("span",tCe,Hee(eee.t("Original release date {0}",[Sre(aee)])),1)):aae("",!0)])]),eae("div",rCe,[eae("p",null,Hee(eee.t("Downgrades are only recommended if you're unable to solve a critical issue.")),1),eae("p",null,Hee(eee.t("In the rare event you need to downgrade we ask that you please provide us with Diagnostics so we can investigate your issue.")),1),eae("p",null,Hee(eee.t("Download the Diagnostics zip then please open a bug report on our forums with a description of the issue along with your diagnostics.")),1)])]),see.value?(qne(),Qne("div",oCe,[tae(ree,{"btn-style":"underline",icon:Sre(Wpe),text:eee.t("{0} Release Notes",[eee.version]),onClick:tee[0]||(tee[0]=tee=>Sre(oee).viewReleaseNotes(eee.t("{0} Release Notes",[eee.version]),"/boot/previous/changes.txt"))},null,8,["icon","text"]),iee.value?(qne(),Wne(ree,{key:0,"btn-style":"gray",icon:iee.value.icon,name:iee.value.name,text:iee.value.text,onClick:iee.value.click},null,8,["icon","name","text","onClick"])):aae("",!0),tae(ree,{"btn-style":"gray",external:!0,href:Sre(aTe).toString(),icon:Sre(Hpe),"icon-right":Sre(Dpe),text:eee.t("Open a bug report")},null,8,["href","icon","icon-right","text"]),tae(ree,{external:see.value?.external,icon:Sre(Cpe),name:see.value?.name,text:see.value?.text,onClick:see.value?.click},null,8,["external","icon","name","text","onClick"])])):aae("",!0)])])),_:1})}}}),[["styles",['/*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:clear-sans,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:470px){.container{max-width:470px}}@media (min-width:530px){.container{max-width:530px}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--color-beta);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:#ff8c2f;font-weight:500;text-decoration:underline}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{color:#f15a2c}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"“""”""‘""’"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:start;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:var(--color-beta);--tw-prose-headings:var(--color-beta);--tw-prose-lead:var(--color-beta);--tw-prose-links:#ff8c2f;--tw-prose-bold:var(--color-beta);--tw-prose-counters:var(--color-beta);--tw-prose-bullets:var(--color-beta);--tw-prose-hr:var(--color-beta);--tw-prose-quotes:var(--color-beta);--tw-prose-quote-borders:var(--color-beta);--tw-prose-captions:var(--color-beta);--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:var(--color-beta);--tw-prose-pre-code:var(--color-beta);--tw-prose-pre-bg:var(--color-alpha);--tw-prose-th-borders:var(--color-beta);--tw-prose-td-borders:var(--color-beta);--tw-prose-invert-body:var(--color-alpha);--tw-prose-invert-headings:var(--color-alpha);--tw-prose-invert-lead:var(--color-alpha);--tw-prose-invert-links:#ff8c2f;--tw-prose-invert-bold:var(--color-alpha);--tw-prose-invert-counters:var(--color-alpha);--tw-prose-invert-bullets:var(--color-alpha);--tw-prose-invert-hr:var(--color-alpha);--tw-prose-invert-quotes:var(--color-alpha);--tw-prose-invert-quote-borders:var(--color-alpha);--tw-prose-invert-captions:var(--color-alpha);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--color-alpha);--tw-prose-invert-pre-code:var(--color-alpha);--tw-prose-invert-pre-bg:var(--color-beta);--tw-prose-invert-th-borders:var(--color-alpha);--tw-prose-invert-td-borders:var(--color-alpha);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose{--tw-prose-invert-code-bg:var(--color-gamma-opaque)}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-\\[2px\\]{bottom:-2px}.-left-\\[2px\\]{left:-2px}.-right-\\[2px\\]{right:-2px}.-top-1{top:-.25rem}.-top-\\[2px\\]{top:-2px}.bottom-0{bottom:0}.bottom-\\[-3px\\]{bottom:-3px}.right-0{right:0}.top-0{top:0}.top-\\[1px\\]{top:1px}.top-full{top:100%}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\\[99999\\]{z-index:99999}.mx-8px{margin-left:8px;margin-right:8px}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.my-12{margin-bottom:3rem;margin-top:3rem}.my-16px{margin-bottom:16px;margin-top:16px}.my-24px{margin-bottom:24px;margin-top:24px}.my-8px{margin-bottom:8px;margin-top:8px}.mb-4px{margin-bottom:4px}.mb-8px{margin-bottom:8px}.ml-3{margin-left:.75rem}.ml-8px{margin-left:8px}.mr-8px{margin-right:8px}.mt-0{margin-top:0}.mt-12px{margin-top:12px}.mt-2{margin-top:.5rem}.mt-24px{margin-top:24px}.mt-4px{margin-top:4px}.mt-8px{margin-top:8px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-12px{height:12px}.h-16px{height:16px}.h-20px{height:20px}.h-24px{height:24px}.h-2px{height:2px}.h-32px{height:32px}.h-36px{height:36px}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.max-h-\\[65vh\\]{max-height:65vh}.min-h-\\[250px\\]{min-height:250px}.min-h-screen{min-height:100vh}.w-1\\/2{width:50%}.w-11{width:2.75rem}.w-12px{width:12px}.w-14px{width:14px}.w-16px{width:16px}.w-20px{width:20px}.w-24px{width:24px}.w-28px{width:28px}.w-2px{width:2px}.w-32px{width:32px}.w-36px{width:36px}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\\[100px\\]{width:100px}.w-\\[110px\\]{width:110px}.w-\\[120px\\]{width:120px}.w-\\[125\\%\\]{width:125%}.w-\\[150px\\]{width:150px}.w-\\[44px\\]{width:44px}.w-\\[48px\\]{width:48px}.w-full{width:100%}.w-screen{width:100vw}.min-w-300px{min-width:300px}.min-w-\\[280px\\]{min-width:280px}.max-w-1024px{max-width:1024px}.max-w-160px{max-width:160px}.max-w-350px{max-width:350px}.max-w-3xl{max-width:48rem}.max-w-640px{max-width:640px}.max-w-800px{max-width:800px}.max-w-\\[45ch\\]{max-width:45ch}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.grow-0{flex-grow:0}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-20px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-20px{--tw-translate-x:20px}.translate-x-\\[26px\\]{--tw-translate-x:26px}.translate-x-\\[26px\\],.translate-x-\\[2px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[2px\\]{--tw-translate-x:2px}.translate-y-\\[16px\\]{--tw-translate-y:16px}.scale-100,.translate-y-\\[16px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-12px{gap:12px}.gap-16px{gap:16px}.gap-2{gap:.5rem}.gap-20px{gap:20px}.gap-4{gap:1rem}.gap-4px{gap:4px}.gap-6{gap:1.5rem}.gap-8px{gap:8px}.gap-x-16px{-moz-column-gap:16px;column-gap:16px}.gap-x-4px{-moz-column-gap:4px;column-gap:4px}.gap-x-8px{-moz-column-gap:8px;column-gap:8px}.gap-y-16px{row-gap:16px}.gap-y-24px{row-gap:24px}.gap-y-4px{row-gap:4px}.gap-y-8px{row-gap:8px}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-normal{white-space:normal}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b-2{border-bottom-width:2px}.border-l-0{border-left-width:0}.border-r-0{border-right-width:0}.border-t-0{border-top-width:0}.border-solid{border-style:solid}.border-none{border-style:none}.border-black{--tw-border-opacity:1;border-color:rgb(28 27 27/var(--tw-border-opacity))}.border-gamma-opaque{border-color:var(--color-gamma-opaque)}.border-green-600\\/10{border-color:#16a34a1a}.border-grey-mid{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.border-orange{--tw-border-opacity:1;border-color:rgb(255 140 47/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-unraid-red{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.border-unraid-red\\/10{border-color:#e228281a}.border-unraid-red\\/90{border-color:#e22828e6}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-white\\/10{border-color:#ffffff1a}.border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity))}.bg-alpha{background-color:var(--color-alpha)}.bg-beta{background-color:var(--color-beta)}.bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-current{background-color:currentColor}.bg-gamma{background-color:var(--color-gamma)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-grey{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-orange{--tw-bg-opacity:1;background-color:rgb(255 140 47/var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-unraid-red{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.bg-unraid-red\\/90{background-color:#e22828e6}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity:.8}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-unraid-red{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-orange{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.to-orange\\/60{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-green-600{fill:#16a34a}.fill-unraid-red{fill:#e22828}.p-0{padding:0}.p-1{padding:.25rem}.p-12px{padding:12px}.p-16px{padding:16px}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8px{padding:8px}.px-12px{padding-left:12px;padding-right:12px}.px-16px{padding-left:16px;padding-right:16px}.px-4{padding-left:1rem;padding-right:1rem}.px-4px{padding-left:4px;padding-right:4px}.px-6px{padding-left:6px;padding-right:6px}.px-8px{padding-left:8px;padding-right:8px}.py-0{padding-bottom:0;padding-top:0}.py-12px{padding-bottom:12px;padding-top:12px}.py-24px{padding-bottom:24px;padding-top:24px}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-4px{padding-bottom:4px;padding-top:4px}.py-8px{padding-bottom:8px;padding-top:8px}.pb-12{padding-bottom:3rem}.pb-8px{padding-bottom:8px}.pl-40px{padding-left:40px}.pr-16px{padding-right:16px}.pr-40px{padding-right:40px}.pr-4px{padding-right:4px}.pt-4px{padding-top:4px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-10px{font-size:10px}.text-12px{font-size:12px}.text-14px{font-size:14px}.text-16px{font-size:16px}.text-18px{font-size:18px}.text-20px{font-size:20px}.text-24px{font-size:24px}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.text-\\[\\#486dba\\]{--tw-text-opacity:1;color:rgb(72 109 186/var(--tw-text-opacity))}.text-alpha{color:var(--color-alpha)}.text-beta{color:var(--color-beta)}.text-black{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-current{color:currentColor}.text-gamma{color:var(--color-gamma)}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-grey-mid{--tw-text-opacity:1;color:rgb(153 153 153/var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}.text-orange{--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-unraid-red{--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[var\\(--ring-offset-shadow\\)_var\\(--ring-shadow\\)_var\\(--shadow-beta\\)\\]{--tw-shadow-color:var(--ring-offset-shadow) var(--ring-shadow) var(--shadow-beta);--tw-shadow:var(--tw-shadow-colored)}.shadow-green-600\\/30{--tw-shadow-color:rgba(22,163,74,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-orange\\/10{--tw-shadow-color:rgba(255,140,47,.1);--tw-shadow:var(--tw-shadow-colored)}.shadow-unraid-red\\/30{--tw-shadow-color:rgba(226,40,40,.3);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-black{outline-color:#1c1b1b}.outline-white{outline-color:#fff}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.even\\:bg-black\\/5:nth-child(2n){background-color:#1c1b1b0d}.even\\:bg-grey-darkest:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity))}@keyframes pulse{50%{opacity:.5}}.hover\\:animate-pulse:hover{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.hover\\:border-beta:hover{border-color:var(--color-beta)}.hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.hover\\:border-grey-mid:hover{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.hover\\:border-orange-dark:hover{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.hover\\:border-unraid-red:hover{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.hover\\:bg-beta:hover{background-color:var(--color-beta)}.hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.hover\\:bg-grey-mid:hover{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.hover\\:bg-unraid-red:hover{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\\:bg-gradient-to-r:hover{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.hover\\:from-unraid-red:hover{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:from-unraid-red\\/60:hover{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:to-orange:hover{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.hover\\:to-orange\\/60:hover{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.hover\\:text-\\[\\#3b5ea9\\]:hover{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.hover\\:text-alpha:hover{color:var(--color-alpha)}.hover\\:text-black:hover{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:no-underline:hover{text-decoration-line:none}.hover\\:opacity-100:hover{opacity:1}.hover\\:opacity-75:hover{opacity:.75}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:shadow-orange\\/50:hover{--tw-shadow-color:rgba(255,140,47,.5);--tw-shadow:var(--tw-shadow-colored)}.focus\\:border-beta:focus{border-color:var(--color-beta)}.focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.focus\\:border-grey-mid:focus{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.focus\\:border-orange-dark:focus{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.focus\\:border-unraid-red:focus{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.focus\\:bg-beta:focus{background-color:var(--color-beta)}.focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.focus\\:bg-grey-mid:focus{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.focus\\:bg-unraid-red:focus{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus\\:bg-gradient-to-r:focus{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.focus\\:from-unraid-red:focus{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:from-unraid-red\\/60:focus{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:to-orange:focus{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.focus\\:to-orange\\/60:focus{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.focus\\:text-\\[\\#3b5ea9\\]:focus{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.focus\\:text-alpha:focus{color:var(--color-alpha)}.focus\\:text-black:focus{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.focus\\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\\:underline:focus{text-decoration-line:underline}.focus\\:no-underline:focus{text-decoration-line:none}.focus\\:opacity-100:focus{opacity:1}.focus\\:opacity-75:focus{opacity:.75}.focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.focus\\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-25:disabled{opacity:.25}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:hover\\:opacity-25:hover:disabled{opacity:.25}.disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.disabled\\:focus\\:opacity-25:focus:disabled{opacity:.25}.disabled\\:focus\\:opacity-50:focus:disabled{opacity:.5}.group:hover .group-hover\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:hover .group-hover\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:hover .group-hover\\:underline{text-decoration-line:underline}.group:hover .group-hover\\:opacity-100{opacity:1}.group:hover .group-hover\\:opacity-60{opacity:.6}.group:hover .group-hover\\:opacity-75{opacity:.75}.group:focus .group-focus\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:focus .group-focus\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:focus .group-focus\\:underline{text-decoration-line:underline}.group:focus .group-focus\\:opacity-100{opacity:1}.group:focus .group-focus\\:opacity-60{opacity:.6}.group:focus .group-focus\\:opacity-75{opacity:.75}.prose-a\\:text-unraid-red :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.hover\\:prose-a\\:text-unraid-red\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#e2282899}.hover\\:prose-a\\:no-underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{text-decoration-line:none}@media (min-width:640px){.sm\\:col-span-2{grid-column:span 2/span 2}.sm\\:col-span-3{grid-column:span 3/span 3}.sm\\:col-start-2{grid-column-start:2}.sm\\:block{display:block}.sm\\:w-\\[150px\\]{width:150px}.sm\\:w-full{width:100%}.sm\\:min-w-\\[400px\\]{min-width:400px}.sm\\:max-w-300px{max-width:300px}.sm\\:max-w-lg{max-width:32rem}.sm\\:flex-shrink-0{flex-shrink:0}.sm\\:flex-grow-0{flex-grow:0}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-start{align-items:flex-start}.sm\\:items-center{align-items:center}.sm\\:justify-end{justify-content:flex-end}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-16px{gap:16px}.sm\\:gap-24px{gap:24px}.sm\\:gap-y-24px{row-gap:24px}.sm\\:p-16px{padding:16px}.sm\\:px-20px{padding-left:20px;padding-right:20px}.sm\\:pr-40px{padding-right:40px}.sm\\:text-right{text-align:right}.sm\\:text-18px{font-size:18px}.sm\\:text-20px{font-size:20px}.sm\\:text-24px{font-size:24px}}@media (min-width:768px){.md\\:inline-block{display:inline-block}.md\\:min-w-\\[500px\\]{min-width:500px}.md\\:flex-row{flex-direction:row}.md\\:items-start{align-items:flex-start}.md\\:items-end{align-items:flex-end}.md\\:justify-between{justify-content:space-between}.md\\:gap-16px{gap:16px}.md\\:p-24px{padding:24px}.md\\:p-6{padding:1.5rem}.md\\:py-24px{padding-bottom:24px;padding-top:24px}.md\\:text-24px{font-size:24px}}@media (min-width:470px){.\\32xs\\:block{display:block}}@media (min-width:530px){.xs\\:block{display:block}.xs\\:flex-row{flex-direction:row}.xs\\:items-baseline{align-items:baseline}.xs\\:justify-start{justify-content:flex-start}.xs\\:gap-x-12px{-moz-column-gap:12px;column-gap:12px}.xs\\:text-12px{font-size:12px}}@media (min-height:700px){.tall\\:max-h-\\[75vh\\]{max-height:75vh}}@media (prefers-color-scheme:dark){.dark\\:border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.dark\\:bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.dark\\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\\:prose-a\\:text-orange :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.hover\\:dark\\:prose-a\\:text-orange\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#ff8c2f99}}']]]),aCe=xoe({__name:"DowngradeOs.ce",props:{rebootVersion:{default:""},restoreReleaseDate:{default:""},restoreVersion:{default:""}},setup(eee){const tee=eee,{t:t}=_ce(),ree=pIe(),{rebootType:oee,osVersionBranch:nee}=Zce(ree),aee=Sae((()=>"update"===oee.value?t("Please finish the initiated update to enable a downgrade."):"")),iee=Sae((()=>"stable"!==nee.value));return Aoe((()=>{ree.setRebootVersion(tee.rebootVersion)})),(eee,tee)=>{const ree=jDe,nee=nCe,see=GDe,lee=QDe;return qne(),Wne(lee,null,{default:soe((()=>[tae(ree,{title:Sre(t)("Downgrade Unraid OS"),subtitle:Sre(aee),"downgrade-not-available":""===eee.restoreVersion&&""===Sre(oee),"show-external-downgrade":Sre(iee),t:Sre(t)},null,8,["title","subtitle","downgrade-not-available","show-external-downgrade","t"]),eee.restoreVersion&&""===Sre(oee)?(qne(),Wne(nee,{key:0,"release-date":eee.restoreReleaseDate,version:eee.restoreVersion,t:Sre(t)},null,8,["release-date","version","t"])):aae("",!0),"thirdPartyDriversDownloading"===Sre(oee)?(qne(),Wne(see,{key:1,t:Sre(t)},null,8,["t"])):aae("",!0)])),_:1})}}}),iCe=Ace(aCe,[["styles",['/*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:clear-sans,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:470px){.container{max-width:470px}}@media (min-width:530px){.container{max-width:530px}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--color-beta);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:#ff8c2f;font-weight:500;text-decoration:underline}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{color:#f15a2c}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"“""”""‘""’"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:start;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:var(--color-beta);--tw-prose-headings:var(--color-beta);--tw-prose-lead:var(--color-beta);--tw-prose-links:#ff8c2f;--tw-prose-bold:var(--color-beta);--tw-prose-counters:var(--color-beta);--tw-prose-bullets:var(--color-beta);--tw-prose-hr:var(--color-beta);--tw-prose-quotes:var(--color-beta);--tw-prose-quote-borders:var(--color-beta);--tw-prose-captions:var(--color-beta);--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:var(--color-beta);--tw-prose-pre-code:var(--color-beta);--tw-prose-pre-bg:var(--color-alpha);--tw-prose-th-borders:var(--color-beta);--tw-prose-td-borders:var(--color-beta);--tw-prose-invert-body:var(--color-alpha);--tw-prose-invert-headings:var(--color-alpha);--tw-prose-invert-lead:var(--color-alpha);--tw-prose-invert-links:#ff8c2f;--tw-prose-invert-bold:var(--color-alpha);--tw-prose-invert-counters:var(--color-alpha);--tw-prose-invert-bullets:var(--color-alpha);--tw-prose-invert-hr:var(--color-alpha);--tw-prose-invert-quotes:var(--color-alpha);--tw-prose-invert-quote-borders:var(--color-alpha);--tw-prose-invert-captions:var(--color-alpha);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--color-alpha);--tw-prose-invert-pre-code:var(--color-alpha);--tw-prose-invert-pre-bg:var(--color-beta);--tw-prose-invert-th-borders:var(--color-alpha);--tw-prose-invert-td-borders:var(--color-alpha);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose{--tw-prose-invert-code-bg:var(--color-gamma-opaque)}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-\\[2px\\]{bottom:-2px}.-left-\\[2px\\]{left:-2px}.-right-\\[2px\\]{right:-2px}.-top-1{top:-.25rem}.-top-\\[2px\\]{top:-2px}.bottom-0{bottom:0}.bottom-\\[-3px\\]{bottom:-3px}.right-0{right:0}.top-0{top:0}.top-\\[1px\\]{top:1px}.top-full{top:100%}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\\[99999\\]{z-index:99999}.mx-8px{margin-left:8px;margin-right:8px}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.my-12{margin-bottom:3rem;margin-top:3rem}.my-16px{margin-bottom:16px;margin-top:16px}.my-24px{margin-bottom:24px;margin-top:24px}.my-8px{margin-bottom:8px;margin-top:8px}.mb-4px{margin-bottom:4px}.mb-8px{margin-bottom:8px}.ml-3{margin-left:.75rem}.ml-8px{margin-left:8px}.mr-8px{margin-right:8px}.mt-0{margin-top:0}.mt-12px{margin-top:12px}.mt-2{margin-top:.5rem}.mt-24px{margin-top:24px}.mt-4px{margin-top:4px}.mt-8px{margin-top:8px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-12px{height:12px}.h-16px{height:16px}.h-20px{height:20px}.h-24px{height:24px}.h-2px{height:2px}.h-32px{height:32px}.h-36px{height:36px}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.max-h-\\[65vh\\]{max-height:65vh}.min-h-\\[250px\\]{min-height:250px}.min-h-screen{min-height:100vh}.w-1\\/2{width:50%}.w-11{width:2.75rem}.w-12px{width:12px}.w-14px{width:14px}.w-16px{width:16px}.w-20px{width:20px}.w-24px{width:24px}.w-28px{width:28px}.w-2px{width:2px}.w-32px{width:32px}.w-36px{width:36px}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\\[100px\\]{width:100px}.w-\\[110px\\]{width:110px}.w-\\[120px\\]{width:120px}.w-\\[125\\%\\]{width:125%}.w-\\[150px\\]{width:150px}.w-\\[44px\\]{width:44px}.w-\\[48px\\]{width:48px}.w-full{width:100%}.w-screen{width:100vw}.min-w-300px{min-width:300px}.min-w-\\[280px\\]{min-width:280px}.max-w-1024px{max-width:1024px}.max-w-160px{max-width:160px}.max-w-350px{max-width:350px}.max-w-3xl{max-width:48rem}.max-w-640px{max-width:640px}.max-w-800px{max-width:800px}.max-w-\\[45ch\\]{max-width:45ch}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.grow-0{flex-grow:0}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-20px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-20px{--tw-translate-x:20px}.translate-x-\\[26px\\]{--tw-translate-x:26px}.translate-x-\\[26px\\],.translate-x-\\[2px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[2px\\]{--tw-translate-x:2px}.translate-y-\\[16px\\]{--tw-translate-y:16px}.scale-100,.translate-y-\\[16px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-12px{gap:12px}.gap-16px{gap:16px}.gap-2{gap:.5rem}.gap-20px{gap:20px}.gap-4{gap:1rem}.gap-4px{gap:4px}.gap-6{gap:1.5rem}.gap-8px{gap:8px}.gap-x-16px{-moz-column-gap:16px;column-gap:16px}.gap-x-4px{-moz-column-gap:4px;column-gap:4px}.gap-x-8px{-moz-column-gap:8px;column-gap:8px}.gap-y-16px{row-gap:16px}.gap-y-24px{row-gap:24px}.gap-y-4px{row-gap:4px}.gap-y-8px{row-gap:8px}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-normal{white-space:normal}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b-2{border-bottom-width:2px}.border-l-0{border-left-width:0}.border-r-0{border-right-width:0}.border-t-0{border-top-width:0}.border-solid{border-style:solid}.border-none{border-style:none}.border-black{--tw-border-opacity:1;border-color:rgb(28 27 27/var(--tw-border-opacity))}.border-gamma-opaque{border-color:var(--color-gamma-opaque)}.border-green-600\\/10{border-color:#16a34a1a}.border-grey-mid{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.border-orange{--tw-border-opacity:1;border-color:rgb(255 140 47/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-unraid-red{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.border-unraid-red\\/10{border-color:#e228281a}.border-unraid-red\\/90{border-color:#e22828e6}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-white\\/10{border-color:#ffffff1a}.border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity))}.bg-alpha{background-color:var(--color-alpha)}.bg-beta{background-color:var(--color-beta)}.bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-current{background-color:currentColor}.bg-gamma{background-color:var(--color-gamma)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-grey{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-orange{--tw-bg-opacity:1;background-color:rgb(255 140 47/var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-unraid-red{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.bg-unraid-red\\/90{background-color:#e22828e6}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity:.8}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-unraid-red{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-orange{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.to-orange\\/60{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-green-600{fill:#16a34a}.fill-unraid-red{fill:#e22828}.p-0{padding:0}.p-1{padding:.25rem}.p-12px{padding:12px}.p-16px{padding:16px}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8px{padding:8px}.px-12px{padding-left:12px;padding-right:12px}.px-16px{padding-left:16px;padding-right:16px}.px-4{padding-left:1rem;padding-right:1rem}.px-4px{padding-left:4px;padding-right:4px}.px-6px{padding-left:6px;padding-right:6px}.px-8px{padding-left:8px;padding-right:8px}.py-0{padding-bottom:0;padding-top:0}.py-12px{padding-bottom:12px;padding-top:12px}.py-24px{padding-bottom:24px;padding-top:24px}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-4px{padding-bottom:4px;padding-top:4px}.py-8px{padding-bottom:8px;padding-top:8px}.pb-12{padding-bottom:3rem}.pb-8px{padding-bottom:8px}.pl-40px{padding-left:40px}.pr-16px{padding-right:16px}.pr-40px{padding-right:40px}.pr-4px{padding-right:4px}.pt-4px{padding-top:4px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-10px{font-size:10px}.text-12px{font-size:12px}.text-14px{font-size:14px}.text-16px{font-size:16px}.text-18px{font-size:18px}.text-20px{font-size:20px}.text-24px{font-size:24px}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.text-\\[\\#486dba\\]{--tw-text-opacity:1;color:rgb(72 109 186/var(--tw-text-opacity))}.text-alpha{color:var(--color-alpha)}.text-beta{color:var(--color-beta)}.text-black{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-current{color:currentColor}.text-gamma{color:var(--color-gamma)}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-grey-mid{--tw-text-opacity:1;color:rgb(153 153 153/var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}.text-orange{--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-unraid-red{--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[var\\(--ring-offset-shadow\\)_var\\(--ring-shadow\\)_var\\(--shadow-beta\\)\\]{--tw-shadow-color:var(--ring-offset-shadow) var(--ring-shadow) var(--shadow-beta);--tw-shadow:var(--tw-shadow-colored)}.shadow-green-600\\/30{--tw-shadow-color:rgba(22,163,74,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-orange\\/10{--tw-shadow-color:rgba(255,140,47,.1);--tw-shadow:var(--tw-shadow-colored)}.shadow-unraid-red\\/30{--tw-shadow-color:rgba(226,40,40,.3);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-black{outline-color:#1c1b1b}.outline-white{outline-color:#fff}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.even\\:bg-black\\/5:nth-child(2n){background-color:#1c1b1b0d}.even\\:bg-grey-darkest:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity))}@keyframes pulse{50%{opacity:.5}}.hover\\:animate-pulse:hover{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.hover\\:border-beta:hover{border-color:var(--color-beta)}.hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.hover\\:border-grey-mid:hover{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.hover\\:border-orange-dark:hover{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.hover\\:border-unraid-red:hover{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.hover\\:bg-beta:hover{background-color:var(--color-beta)}.hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.hover\\:bg-grey-mid:hover{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.hover\\:bg-unraid-red:hover{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\\:bg-gradient-to-r:hover{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.hover\\:from-unraid-red:hover{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:from-unraid-red\\/60:hover{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:to-orange:hover{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.hover\\:to-orange\\/60:hover{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.hover\\:text-\\[\\#3b5ea9\\]:hover{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.hover\\:text-alpha:hover{color:var(--color-alpha)}.hover\\:text-black:hover{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:no-underline:hover{text-decoration-line:none}.hover\\:opacity-100:hover{opacity:1}.hover\\:opacity-75:hover{opacity:.75}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:shadow-orange\\/50:hover{--tw-shadow-color:rgba(255,140,47,.5);--tw-shadow:var(--tw-shadow-colored)}.focus\\:border-beta:focus{border-color:var(--color-beta)}.focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.focus\\:border-grey-mid:focus{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.focus\\:border-orange-dark:focus{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.focus\\:border-unraid-red:focus{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.focus\\:bg-beta:focus{background-color:var(--color-beta)}.focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.focus\\:bg-grey-mid:focus{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.focus\\:bg-unraid-red:focus{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus\\:bg-gradient-to-r:focus{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.focus\\:from-unraid-red:focus{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:from-unraid-red\\/60:focus{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:to-orange:focus{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.focus\\:to-orange\\/60:focus{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.focus\\:text-\\[\\#3b5ea9\\]:focus{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.focus\\:text-alpha:focus{color:var(--color-alpha)}.focus\\:text-black:focus{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.focus\\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\\:underline:focus{text-decoration-line:underline}.focus\\:no-underline:focus{text-decoration-line:none}.focus\\:opacity-100:focus{opacity:1}.focus\\:opacity-75:focus{opacity:.75}.focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.focus\\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-25:disabled{opacity:.25}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:hover\\:opacity-25:hover:disabled{opacity:.25}.disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.disabled\\:focus\\:opacity-25:focus:disabled{opacity:.25}.disabled\\:focus\\:opacity-50:focus:disabled{opacity:.5}.group:hover .group-hover\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:hover .group-hover\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:hover .group-hover\\:underline{text-decoration-line:underline}.group:hover .group-hover\\:opacity-100{opacity:1}.group:hover .group-hover\\:opacity-60{opacity:.6}.group:hover .group-hover\\:opacity-75{opacity:.75}.group:focus .group-focus\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:focus .group-focus\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:focus .group-focus\\:underline{text-decoration-line:underline}.group:focus .group-focus\\:opacity-100{opacity:1}.group:focus .group-focus\\:opacity-60{opacity:.6}.group:focus .group-focus\\:opacity-75{opacity:.75}.prose-a\\:text-unraid-red :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.hover\\:prose-a\\:text-unraid-red\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#e2282899}.hover\\:prose-a\\:no-underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{text-decoration-line:none}@media (min-width:640px){.sm\\:col-span-2{grid-column:span 2/span 2}.sm\\:col-span-3{grid-column:span 3/span 3}.sm\\:col-start-2{grid-column-start:2}.sm\\:block{display:block}.sm\\:w-\\[150px\\]{width:150px}.sm\\:w-full{width:100%}.sm\\:min-w-\\[400px\\]{min-width:400px}.sm\\:max-w-300px{max-width:300px}.sm\\:max-w-lg{max-width:32rem}.sm\\:flex-shrink-0{flex-shrink:0}.sm\\:flex-grow-0{flex-grow:0}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-start{align-items:flex-start}.sm\\:items-center{align-items:center}.sm\\:justify-end{justify-content:flex-end}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-16px{gap:16px}.sm\\:gap-24px{gap:24px}.sm\\:gap-y-24px{row-gap:24px}.sm\\:p-16px{padding:16px}.sm\\:px-20px{padding-left:20px;padding-right:20px}.sm\\:pr-40px{padding-right:40px}.sm\\:text-right{text-align:right}.sm\\:text-18px{font-size:18px}.sm\\:text-20px{font-size:20px}.sm\\:text-24px{font-size:24px}}@media (min-width:768px){.md\\:inline-block{display:inline-block}.md\\:min-w-\\[500px\\]{min-width:500px}.md\\:flex-row{flex-direction:row}.md\\:items-start{align-items:flex-start}.md\\:items-end{align-items:flex-end}.md\\:justify-between{justify-content:space-between}.md\\:gap-16px{gap:16px}.md\\:p-24px{padding:24px}.md\\:p-6{padding:1.5rem}.md\\:py-24px{padding-bottom:24px;padding-top:24px}.md\\:text-24px{font-size:24px}}@media (min-width:470px){.\\32xs\\:block{display:block}}@media (min-width:530px){.xs\\:block{display:block}.xs\\:flex-row{flex-direction:row}.xs\\:items-baseline{align-items:baseline}.xs\\:justify-start{justify-content:flex-start}.xs\\:gap-x-12px{-moz-column-gap:12px;column-gap:12px}.xs\\:text-12px{font-size:12px}}@media (min-height:700px){.tall\\:max-h-\\[75vh\\]{max-height:75vh}}@media (prefers-color-scheme:dark){.dark\\:border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.dark\\:bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.dark\\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\\:prose-a\\:text-orange :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.hover\\:dark\\:prose-a\\:text-orange\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#ff8c2f99}}']]]),sCe={key:0,class:"font-semibold leading-normal sm:col-span-2 flex flex-row sm:justify-end sm:text-right items-center gap-x-8px"},lCe=["innerHTML"],cCe=xoe({__name:"Item",props:{component:{},componentProps:{},componentOpacity:{type:Boolean},error:{type:Boolean,default:!1},label:{},text:{default:""},warning:{type:Boolean,default:!1}},setup(eee){const{darkMode:tee}=Zce(cIe()),ree=Sae((()=>tee.value?"even:bg-grey-darkest":"even:bg-black/5"));return(eee,tee)=>(qne(),Qne("div",{class:Yee([[!eee.error&&!eee.warning&&Sre(ree),eee.error&&"text-white bg-unraid-red",eee.warning&&"text-black bg-yellow-100"],"text-16px p-12px grid grid-cols-1 gap-4px sm:px-20px sm:grid-cols-5 sm:gap-16px items-baseline rounded"])},[eee.label?(qne(),Qne("dt",sCe,[eee.error?(qne(),Wne(Sre(tde),{key:0,class:"w-16px h-16px fill-current"})):aae("",!0),eae("span",{innerHTML:eee.label},null,8,lCe)])):aae("",!0),eae("dd",{class:Yee(["leading-normal sm:col-span-3",!eee.label&&"sm:col-start-2"])},[eee.text?(qne(),Qne("span",{key:0,class:Yee(["select-all",{"opacity-75":!eee.error}])},Hee(eee.text),3)):aae("",!0),eee.$slots.right?Yoe(eee.$slots,"right",{key:1}):aae("",!0)],2)],2))}}),pCe={class:"flex flex-wrap items-center justify-between gap-8px"},dCe={class:"inline-flex flex-wrap items-center justify-end gap-8px"},uCe=xoe({__name:"ReplaceCheck",props:{t:{type:Function}},setup(eee){const tee=_Se(),{replaceStatusOutput:ree}=Zce(tee);return(eee,oee)=>{const nee=Lce,aee=nOe;return qne(),Qne("div",pCe,[Sre(ree)?(qne(),Wne(aee,{key:1,color:Sre(ree).color,icon:Sre(ree).icon,size:"16px"},{default:soe((()=>[oae(Hee(eee.t(Sre(ree).text??"Unknown")),1)])),_:1},8,["color","icon"])):(qne(),Wne(nee,{key:0,icon:Sre(Kpe),text:eee.t("Check Eligibility"),class:"flex-grow",onClick:Sre(tee).check},null,8,["icon","text","onClick"])),eae("span",dCe,[tae(nee,{"btn-style":"underline",external:!0,href:Sre(xTe).toString(),"icon-right":Sre(Dpe),text:eee.t("Learn More"),class:"text-14px"},null,8,["href","icon-right","text"])])])}}}),hCe={class:"flex flex-wrap items-center justify-between gap-8px"},gCe={class:"inline-flex flex-wrap-items-start gap-8px"},wCe=xoe({__name:"KeyLinkedStatus",props:{t:{type:Function}},setup(eee){const tee=oIe(),ree=_Se(),{keyLinkedStatus:oee,keyLinkedOutput:nee}=Zce(ree);return(eee,aee)=>{const iee=nOe,see=Lce;return qne(),Qne("div",hCe,["linked"!==Sre(oee)&&"checking"!==Sre(oee)?(qne(),Wne(see,{key:0,"btn-style":"none","no-padding":!0,title:eee.t("Refresh"),class:"group",onClick:aee[0]||(aee[0]=eee=>Sre(ree).check(!0))},{default:soe((()=>[Sre(nee)?(qne(),Wne(iee,{key:0,color:Sre(nee).color,icon:Sre(nee).icon,"icon-right":Sre(Npe),size:"16px"},{default:soe((()=>[oae(Hee(eee.t(Sre(nee).text??"Unknown")),1)])),_:1},8,["color","icon","icon-right"])):aae("",!0)])),_:1},8,["title"])):(qne(),Wne(iee,{key:1,color:Sre(nee).color,icon:Sre(nee).icon,size:"16px"},{default:soe((()=>[oae(Hee(eee.t(Sre(nee).text??"Unknown")),1)])),_:1},8,["color","icon"])),eae("span",gCe,["notLinked"===Sre(oee)?(qne(),Wne(see,{key:0,"btn-style":"underline",external:!0,icon:Sre(Xpe),"icon-right":Sre(Dpe),text:eee.t("Link Key"),title:eee.t("Learn more and link your key to your account"),class:"text-14px",onClick:Sre(tee).linkKey},null,8,["icon","icon-right","text","title","onClick"])):(qne(),Wne(see,{key:1,"btn-style":"underline",external:!0,"icon-right":Sre(Dpe),text:eee.t("Learn More"),class:"text-14px",onClick:Sre(tee).myKeys},null,8,["icon-right","text","onClick"]))])])}}}),fCe={key:0,class:"flex flex-col gap-8px"},bCe={class:"text-14px opacity-90"},mCe={class:"flex flex-wrap items-start justify-between gap-8px"},vCe=xoe({__name:"UpdateExpirationAction",props:{t:{type:Function}},setup(eee){const tee=eee,ree=_Se(),oee=pIe(),{renewStatus:nee}=Zce(ree),{dateTimeFormat:aee,regExp:iee,regUpdatesExpired:see,renewAction:lee}=Zce(oee),cee=()=>{window.location.reload()},{outputDateTimeReadableDiff:pee,outputDateTimeFormatted:dee}=gOe(aee.value,tee.t,!0,iee.value),uee=Sae((()=>{if(iee.value)return{text:see.value?tee.t("Ineligible for feature updates released after {0}",[dee.value]):tee.t("Eligible for free feature updates until {0}",[dee.value]),title:see.value?tee.t("Ineligible as of {0}",[pee.value]):tee.t("Eligible for free feature updates for {0}",[pee.value])}}));return(eee,tee)=>{const ree=bOe,oee=Lce;return Sre(uee)?(qne(),Qne("div",fCe,[tae(ree,{t:eee.t},null,8,["t"]),eae("p",bCe,["installed"===Sre(nee)?(qne(),Qne(Mne,{key:0},[oae(Hee(eee.t("Your license key was automatically renewed and installed. Reload the page to see updated details.")),1)],64)):aae("",!0)]),eae("div",mCe,["installed"===Sre(nee)?(qne(),Wne(oee,{key:0,icon:Sre(Npe),text:eee.t("Reload Page"),class:"flex-grow",onClick:cee},null,8,["icon","text"])):Sre(see)?(qne(),Wne(oee,{key:1,disabled:Sre(lee)?.disabled,external:Sre(lee)?.external,icon:Sre(lee).icon,"icon-right":Sre(Dpe),"icon-right-hover-display":!0,text:eee.t("Extend License"),title:eee.t("Pay your annual fee to continue receiving OS updates."),class:"flex-grow",onClick:tee[0]||(tee[0]=eee=>Sre(lee).click?.())},null,8,["disabled","external","icon","icon-right","text","title"])):aae("",!0),tae(oee,{"btn-style":"underline",external:!0,href:Sre(yTe).toString(),"icon-right":Sre(Dpe),text:eee.t("Learn More"),class:"text-14px"},null,8,["href","icon-right","text"])])])):aae("",!0)}}}),yCe={class:"flex flex-col gap-20px sm:gap-24px"},xCe={class:"flex flex-col gap-y-16px"},kCe=["innerHTML"],_Ce={key:1,class:"grow-0"},ECe=xoe({__name:"Registration.ce",setup(eee){const{t:t}=_ce(),tee=_Se(),ree=pIe(),{computedArray:oee,arrayWarning:nee,authAction:aee,dateTimeFormat:iee,deviceCount:see,guid:lee,flashVendor:cee,flashProduct:pee,keyActions:dee,keyfile:uee,computedRegDevs:hee,regGuid:gee,regTm:wee,regTo:fee,regTy:bee,regExp:mee,regUpdatesExpired:vee,serverErrors:yee,state:xee,stateData:kee,stateDataError:_ee,tooManyDevices:Eee}=Zce(ree),Tee=kre(),See=()=>{if(!wee.value)return;const{outputDateTimeFormatted:eee}=gOe(iee.value,t,!0,wee.value);Tee.value=eee.value};goe(wee,(eee=>{See()})),Aoe((()=>{See(),lee.value&&uee.value&&tee.check()}));const Iee=Sae((()=>yee.value.length?tde:ede)),Oee=Sae((()=>yee.value.length?yee.value[0]?.heading:kee.value.heading)),Nee=Sae((()=>yee.value.length?yee.value[0]?.message:kee.value.message)),Aee=Sae((()=>"TRIAL"===xee.value||"EEXPIRED"===xee.value)),Ree=Sae((()=>!!mee.value)),Dee=Sae((()=>!(_ee.value||"ENOKEYFILE"===xee.value))),Cee=Sae((()=>!(!Dee.value||!lee.value||Aee.value))),Lee=Sae((()=>!!(dee.value&&dee.value?.filter((eee=>!["renew"].includes(eee.name))).length>0))),Fee=Sae((()=>[...oee.value?[{label:t("Array status"),text:oee.value,warning:nee.value}]:[],...bee.value?[{label:t("License key type"),text:bee.value}]:[],...Aee.value?[{error:"EEXPIRED"===xee.value,label:t("Trial expiration"),component:fOe,componentProps:{forExpire:!0,shortText:!0,t:t},componentOpacity:!0}]:[],...fee.value?[{label:t("Registered to"),text:fee.value}]:[],...fee.value&&wee.value&&Tee.value?[{label:t("Registered on"),text:Tee.value}]:[],...Ree.value?[{label:t("OS Update Eligibility"),warning:vee.value,component:vCe,componentProps:{t:t},componentOpacity:!vee.value}]:[],..."EGUID"===xee.value?[{label:t("Registered GUID"),text:gee.value}]:[],...lee.value?[{label:t("Flash GUID"),text:lee.value}]:[],...cee.value?[{label:t("Flash Vendor"),text:cee.value}]:[],...pee.value?[{label:t("Flash Product"),text:pee.value}]:[],...Dee.value?[{error:Eee.value,label:t("Attached Storage Devices"),text:Eee.value?t("{0} out of {1} allowed devices – upgrade your key to support more devices",[see.value,hee.value]):t("{0} out of {1} devices",[see.value,-1===hee.value?t("unlimited"):hee.value])}]:[],...Cee.value?[{label:t("Transfer License to New Flash"),component:uCe,componentProps:{t:t}}]:[],...fee.value&&Cee.value?[{label:t("Linked to Unraid.net account"),component:wCe,componentProps:{t:t}}]:[],...Lee.value?[{component:RRe,componentProps:{filterOut:["renew"],t:t}}]:[]]));return(eee,tee)=>{const ree=Lce,oee=cCe,nee=$De,iee=QDe;return qne(),Wne(iee,{class:"max-w-800px"},{default:soe((()=>[tae(nee,{"increased-padding":!0},{default:soe((()=>[eae("div",yCe,[eae("header",xCe,[eae("h3",{class:Yee(["text-20px md:text-24px font-semibold leading-normal flex flex-row items-center gap-8px",Sre(yee).length?"text-unraid-red":"text-green-500"])},[(qne(),Wne($oe(Sre(Iee)),{class:"w-24px h-24px"})),eae("span",null,Hee(Sre(Oee)),1)],2),Sre(Nee)?(qne(),Qne("div",{key:0,class:"prose text-16px leading-relaxed whitespace-normal opacity-75",innerHTML:Sre(Nee)},null,8,kCe)):aae("",!0),Sre(aee)?(qne(),Qne("span",_Ce,[tae(ree,{disabled:Sre(aee)?.disabled,icon:Sre(aee).icon,text:Sre(t)(Sre(aee).text),title:Sre(aee).title?Sre(t)(Sre(aee).title):void 0,onClick:tee[0]||(tee[0]=eee=>Sre(aee).click?.())},null,8,["disabled","icon","text","title"])])):aae("",!0)]),eae("dl",null,[(qne(!0),Qne(Mne,null,qoe(Sre(Fee),(eee=>(qne(),Wne(oee,{key:eee.label,component:eee?.component,"component-props":eee?.componentProps,error:eee.error??!1,warning:eee.warning??!1,label:eee.label,text:eee.text},Boe({_:2},[eee.component?{name:"right",fn:soe((()=>[(qne(),Wne($oe(eee.component),cae(eee.componentProps,{class:[eee.componentOpacity&&!eee.error?"opacity-75":""]}),null,16,["class"]))])),key:"0"}:void 0]),1032,["component","component-props","error","warning","label","text"])))),128))])])])),_:1})])),_:1})}}}),TCe=Ace(ECe,[["styles",['/*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:clear-sans,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:470px){.container{max-width:470px}}@media (min-width:530px){.container{max-width:530px}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--color-beta);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:#ff8c2f;font-weight:500;text-decoration:underline}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{color:#f15a2c}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"“""”""‘""’"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:start;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:var(--color-beta);--tw-prose-headings:var(--color-beta);--tw-prose-lead:var(--color-beta);--tw-prose-links:#ff8c2f;--tw-prose-bold:var(--color-beta);--tw-prose-counters:var(--color-beta);--tw-prose-bullets:var(--color-beta);--tw-prose-hr:var(--color-beta);--tw-prose-quotes:var(--color-beta);--tw-prose-quote-borders:var(--color-beta);--tw-prose-captions:var(--color-beta);--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:var(--color-beta);--tw-prose-pre-code:var(--color-beta);--tw-prose-pre-bg:var(--color-alpha);--tw-prose-th-borders:var(--color-beta);--tw-prose-td-borders:var(--color-beta);--tw-prose-invert-body:var(--color-alpha);--tw-prose-invert-headings:var(--color-alpha);--tw-prose-invert-lead:var(--color-alpha);--tw-prose-invert-links:#ff8c2f;--tw-prose-invert-bold:var(--color-alpha);--tw-prose-invert-counters:var(--color-alpha);--tw-prose-invert-bullets:var(--color-alpha);--tw-prose-invert-hr:var(--color-alpha);--tw-prose-invert-quotes:var(--color-alpha);--tw-prose-invert-quote-borders:var(--color-alpha);--tw-prose-invert-captions:var(--color-alpha);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--color-alpha);--tw-prose-invert-pre-code:var(--color-alpha);--tw-prose-invert-pre-bg:var(--color-beta);--tw-prose-invert-th-borders:var(--color-alpha);--tw-prose-invert-td-borders:var(--color-alpha);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose{--tw-prose-invert-code-bg:var(--color-gamma-opaque)}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-\\[2px\\]{bottom:-2px}.-left-\\[2px\\]{left:-2px}.-right-\\[2px\\]{right:-2px}.-top-1{top:-.25rem}.-top-\\[2px\\]{top:-2px}.bottom-0{bottom:0}.bottom-\\[-3px\\]{bottom:-3px}.right-0{right:0}.top-0{top:0}.top-\\[1px\\]{top:1px}.top-full{top:100%}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\\[99999\\]{z-index:99999}.mx-8px{margin-left:8px;margin-right:8px}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.my-12{margin-bottom:3rem;margin-top:3rem}.my-16px{margin-bottom:16px;margin-top:16px}.my-24px{margin-bottom:24px;margin-top:24px}.my-8px{margin-bottom:8px;margin-top:8px}.mb-4px{margin-bottom:4px}.mb-8px{margin-bottom:8px}.ml-3{margin-left:.75rem}.ml-8px{margin-left:8px}.mr-8px{margin-right:8px}.mt-0{margin-top:0}.mt-12px{margin-top:12px}.mt-2{margin-top:.5rem}.mt-24px{margin-top:24px}.mt-4px{margin-top:4px}.mt-8px{margin-top:8px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-12px{height:12px}.h-16px{height:16px}.h-20px{height:20px}.h-24px{height:24px}.h-2px{height:2px}.h-32px{height:32px}.h-36px{height:36px}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.max-h-\\[65vh\\]{max-height:65vh}.min-h-\\[250px\\]{min-height:250px}.min-h-screen{min-height:100vh}.w-1\\/2{width:50%}.w-11{width:2.75rem}.w-12px{width:12px}.w-14px{width:14px}.w-16px{width:16px}.w-20px{width:20px}.w-24px{width:24px}.w-28px{width:28px}.w-2px{width:2px}.w-32px{width:32px}.w-36px{width:36px}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\\[100px\\]{width:100px}.w-\\[110px\\]{width:110px}.w-\\[120px\\]{width:120px}.w-\\[125\\%\\]{width:125%}.w-\\[150px\\]{width:150px}.w-\\[44px\\]{width:44px}.w-\\[48px\\]{width:48px}.w-full{width:100%}.w-screen{width:100vw}.min-w-300px{min-width:300px}.min-w-\\[280px\\]{min-width:280px}.max-w-1024px{max-width:1024px}.max-w-160px{max-width:160px}.max-w-350px{max-width:350px}.max-w-3xl{max-width:48rem}.max-w-640px{max-width:640px}.max-w-800px{max-width:800px}.max-w-\\[45ch\\]{max-width:45ch}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.grow-0{flex-grow:0}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-20px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-20px{--tw-translate-x:20px}.translate-x-\\[26px\\]{--tw-translate-x:26px}.translate-x-\\[26px\\],.translate-x-\\[2px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[2px\\]{--tw-translate-x:2px}.translate-y-\\[16px\\]{--tw-translate-y:16px}.scale-100,.translate-y-\\[16px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-12px{gap:12px}.gap-16px{gap:16px}.gap-2{gap:.5rem}.gap-20px{gap:20px}.gap-4{gap:1rem}.gap-4px{gap:4px}.gap-6{gap:1.5rem}.gap-8px{gap:8px}.gap-x-16px{-moz-column-gap:16px;column-gap:16px}.gap-x-4px{-moz-column-gap:4px;column-gap:4px}.gap-x-8px{-moz-column-gap:8px;column-gap:8px}.gap-y-16px{row-gap:16px}.gap-y-24px{row-gap:24px}.gap-y-4px{row-gap:4px}.gap-y-8px{row-gap:8px}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-normal{white-space:normal}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b-2{border-bottom-width:2px}.border-l-0{border-left-width:0}.border-r-0{border-right-width:0}.border-t-0{border-top-width:0}.border-solid{border-style:solid}.border-none{border-style:none}.border-black{--tw-border-opacity:1;border-color:rgb(28 27 27/var(--tw-border-opacity))}.border-gamma-opaque{border-color:var(--color-gamma-opaque)}.border-green-600\\/10{border-color:#16a34a1a}.border-grey-mid{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.border-orange{--tw-border-opacity:1;border-color:rgb(255 140 47/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-unraid-red{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.border-unraid-red\\/10{border-color:#e228281a}.border-unraid-red\\/90{border-color:#e22828e6}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-white\\/10{border-color:#ffffff1a}.border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity))}.bg-alpha{background-color:var(--color-alpha)}.bg-beta{background-color:var(--color-beta)}.bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-current{background-color:currentColor}.bg-gamma{background-color:var(--color-gamma)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-grey{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-orange{--tw-bg-opacity:1;background-color:rgb(255 140 47/var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-unraid-red{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.bg-unraid-red\\/90{background-color:#e22828e6}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity:.8}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-unraid-red{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-orange{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.to-orange\\/60{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-green-600{fill:#16a34a}.fill-unraid-red{fill:#e22828}.p-0{padding:0}.p-1{padding:.25rem}.p-12px{padding:12px}.p-16px{padding:16px}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8px{padding:8px}.px-12px{padding-left:12px;padding-right:12px}.px-16px{padding-left:16px;padding-right:16px}.px-4{padding-left:1rem;padding-right:1rem}.px-4px{padding-left:4px;padding-right:4px}.px-6px{padding-left:6px;padding-right:6px}.px-8px{padding-left:8px;padding-right:8px}.py-0{padding-bottom:0;padding-top:0}.py-12px{padding-bottom:12px;padding-top:12px}.py-24px{padding-bottom:24px;padding-top:24px}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-4px{padding-bottom:4px;padding-top:4px}.py-8px{padding-bottom:8px;padding-top:8px}.pb-12{padding-bottom:3rem}.pb-8px{padding-bottom:8px}.pl-40px{padding-left:40px}.pr-16px{padding-right:16px}.pr-40px{padding-right:40px}.pr-4px{padding-right:4px}.pt-4px{padding-top:4px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-10px{font-size:10px}.text-12px{font-size:12px}.text-14px{font-size:14px}.text-16px{font-size:16px}.text-18px{font-size:18px}.text-20px{font-size:20px}.text-24px{font-size:24px}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.text-\\[\\#486dba\\]{--tw-text-opacity:1;color:rgb(72 109 186/var(--tw-text-opacity))}.text-alpha{color:var(--color-alpha)}.text-beta{color:var(--color-beta)}.text-black{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-current{color:currentColor}.text-gamma{color:var(--color-gamma)}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-grey-mid{--tw-text-opacity:1;color:rgb(153 153 153/var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}.text-orange{--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-unraid-red{--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[var\\(--ring-offset-shadow\\)_var\\(--ring-shadow\\)_var\\(--shadow-beta\\)\\]{--tw-shadow-color:var(--ring-offset-shadow) var(--ring-shadow) var(--shadow-beta);--tw-shadow:var(--tw-shadow-colored)}.shadow-green-600\\/30{--tw-shadow-color:rgba(22,163,74,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-orange\\/10{--tw-shadow-color:rgba(255,140,47,.1);--tw-shadow:var(--tw-shadow-colored)}.shadow-unraid-red\\/30{--tw-shadow-color:rgba(226,40,40,.3);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-black{outline-color:#1c1b1b}.outline-white{outline-color:#fff}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.even\\:bg-black\\/5:nth-child(2n){background-color:#1c1b1b0d}.even\\:bg-grey-darkest:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity))}@keyframes pulse{50%{opacity:.5}}.hover\\:animate-pulse:hover{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.hover\\:border-beta:hover{border-color:var(--color-beta)}.hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.hover\\:border-grey-mid:hover{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.hover\\:border-orange-dark:hover{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.hover\\:border-unraid-red:hover{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.hover\\:bg-beta:hover{background-color:var(--color-beta)}.hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.hover\\:bg-grey-mid:hover{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.hover\\:bg-unraid-red:hover{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\\:bg-gradient-to-r:hover{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.hover\\:from-unraid-red:hover{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:from-unraid-red\\/60:hover{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:to-orange:hover{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.hover\\:to-orange\\/60:hover{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.hover\\:text-\\[\\#3b5ea9\\]:hover{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.hover\\:text-alpha:hover{color:var(--color-alpha)}.hover\\:text-black:hover{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:no-underline:hover{text-decoration-line:none}.hover\\:opacity-100:hover{opacity:1}.hover\\:opacity-75:hover{opacity:.75}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:shadow-orange\\/50:hover{--tw-shadow-color:rgba(255,140,47,.5);--tw-shadow:var(--tw-shadow-colored)}.focus\\:border-beta:focus{border-color:var(--color-beta)}.focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.focus\\:border-grey-mid:focus{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.focus\\:border-orange-dark:focus{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.focus\\:border-unraid-red:focus{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.focus\\:bg-beta:focus{background-color:var(--color-beta)}.focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.focus\\:bg-grey-mid:focus{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.focus\\:bg-unraid-red:focus{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus\\:bg-gradient-to-r:focus{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.focus\\:from-unraid-red:focus{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:from-unraid-red\\/60:focus{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:to-orange:focus{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.focus\\:to-orange\\/60:focus{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.focus\\:text-\\[\\#3b5ea9\\]:focus{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.focus\\:text-alpha:focus{color:var(--color-alpha)}.focus\\:text-black:focus{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.focus\\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\\:underline:focus{text-decoration-line:underline}.focus\\:no-underline:focus{text-decoration-line:none}.focus\\:opacity-100:focus{opacity:1}.focus\\:opacity-75:focus{opacity:.75}.focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.focus\\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-25:disabled{opacity:.25}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:hover\\:opacity-25:hover:disabled{opacity:.25}.disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.disabled\\:focus\\:opacity-25:focus:disabled{opacity:.25}.disabled\\:focus\\:opacity-50:focus:disabled{opacity:.5}.group:hover .group-hover\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:hover .group-hover\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:hover .group-hover\\:underline{text-decoration-line:underline}.group:hover .group-hover\\:opacity-100{opacity:1}.group:hover .group-hover\\:opacity-60{opacity:.6}.group:hover .group-hover\\:opacity-75{opacity:.75}.group:focus .group-focus\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:focus .group-focus\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:focus .group-focus\\:underline{text-decoration-line:underline}.group:focus .group-focus\\:opacity-100{opacity:1}.group:focus .group-focus\\:opacity-60{opacity:.6}.group:focus .group-focus\\:opacity-75{opacity:.75}.prose-a\\:text-unraid-red :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.hover\\:prose-a\\:text-unraid-red\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#e2282899}.hover\\:prose-a\\:no-underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{text-decoration-line:none}@media (min-width:640px){.sm\\:col-span-2{grid-column:span 2/span 2}.sm\\:col-span-3{grid-column:span 3/span 3}.sm\\:col-start-2{grid-column-start:2}.sm\\:block{display:block}.sm\\:w-\\[150px\\]{width:150px}.sm\\:w-full{width:100%}.sm\\:min-w-\\[400px\\]{min-width:400px}.sm\\:max-w-300px{max-width:300px}.sm\\:max-w-lg{max-width:32rem}.sm\\:flex-shrink-0{flex-shrink:0}.sm\\:flex-grow-0{flex-grow:0}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-start{align-items:flex-start}.sm\\:items-center{align-items:center}.sm\\:justify-end{justify-content:flex-end}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-16px{gap:16px}.sm\\:gap-24px{gap:24px}.sm\\:gap-y-24px{row-gap:24px}.sm\\:p-16px{padding:16px}.sm\\:px-20px{padding-left:20px;padding-right:20px}.sm\\:pr-40px{padding-right:40px}.sm\\:text-right{text-align:right}.sm\\:text-18px{font-size:18px}.sm\\:text-20px{font-size:20px}.sm\\:text-24px{font-size:24px}}@media (min-width:768px){.md\\:inline-block{display:inline-block}.md\\:min-w-\\[500px\\]{min-width:500px}.md\\:flex-row{flex-direction:row}.md\\:items-start{align-items:flex-start}.md\\:items-end{align-items:flex-end}.md\\:justify-between{justify-content:space-between}.md\\:gap-16px{gap:16px}.md\\:p-24px{padding:24px}.md\\:p-6{padding:1.5rem}.md\\:py-24px{padding-bottom:24px;padding-top:24px}.md\\:text-24px{font-size:24px}}@media (min-width:470px){.\\32xs\\:block{display:block}}@media (min-width:530px){.xs\\:block{display:block}.xs\\:flex-row{flex-direction:row}.xs\\:items-baseline{align-items:baseline}.xs\\:justify-start{justify-content:flex-start}.xs\\:gap-x-12px{-moz-column-gap:12px;column-gap:12px}.xs\\:text-12px{font-size:12px}}@media (min-height:700px){.tall\\:max-h-\\[75vh\\]{max-height:75vh}}@media (prefers-color-scheme:dark){.dark\\:border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.dark\\:bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.dark\\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\\:prose-a\\:text-orange :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.hover\\:dark\\:prose-a\\:text-orange\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#ff8c2f99}}']]]);(()=>{[["unraid-i18n-host","function"==typeof Rce?(new Rce).$options:Rce,{}],["unraid-auth","function"==typeof bIe?(new bIe).$options:bIe,{}],["unraid-connect-settings","function"==typeof oOe?(new oOe).$options:oOe,{}],["unraid-download-api-logs","function"==typeof rOe?(new rOe).$options:rOe,{}],["unraid-header-os-version","function"==typeof lOe?(new lOe).$options:lOe,{}],["unraid-modals","function"==typeof dRe?(new dRe).$options:dRe,{}],["unraid-user-profile","function"==typeof ODe?(new ODe).$options:ODe,{}],["unraid-update-os","function"==typeof KDe?(new KDe).$options:KDe,{}],["unraid-downgrade-os","function"==typeof iCe?(new iCe).$options:iCe,{}],["unraid-registration","function"==typeof TCe?(new TCe).$options:TCe,{}],["unraid-wan-ip-check","function"==typeof _Ie?(new _Ie).$options:_Ie,{}]].forEach((([eee,tee,ree])=>{const oee=function(eee,tee){const ree=xoe(eee);class oee extends Gae{constructor(eee){super(ree,eee,tee)}}return oee.def=ree,oee}(tee,ree);window.customElements.define(eee,oee)}))})(); diff --git a/emhttp/plugins/dynamix.my.servers/unraid-components/_nuxt/unraid-components.client-DJyu2ziO.js b/emhttp/plugins/dynamix.my.servers/unraid-components/_nuxt/unraid-components.client-DJyu2ziO.js new file mode 100644 index 000000000..3e1536745 --- /dev/null +++ b/emhttp/plugins/dynamix.my.servers/unraid-components/_nuxt/unraid-components.client-DJyu2ziO.js @@ -0,0 +1,28 @@ +function eee(eee,tee){const ree=Object.create(null),oee=eee.split(",");for(let i=0;i!!ree[eee]}const tee={},ree=[],oee=()=>{},NO=()=>!1,nee=/^on[^a-z]/,aee=eee=>nee.test(eee),iee=eee=>eee.startsWith("onUpdate:"),see=Object.assign,lee=(eee,el)=>{const i=eee.indexOf(el);i>-1&&eee.splice(i,1)},cee=Object.prototype.hasOwnProperty,pee=(eee,tee)=>cee.call(eee,tee),dee=Array.isArray,uee=eee=>"[object Map]"===xee(eee),hee=eee=>"[object Set]"===xee(eee),gee=eee=>"[object Date]"===xee(eee),wee=eee=>"function"==typeof eee,fee=eee=>"string"==typeof eee,bee=eee=>"symbol"==typeof eee,mee=eee=>null!==eee&&"object"==typeof eee,vee=eee=>mee(eee)&&wee(eee.then)&&wee(eee.catch),yee=Object.prototype.toString,xee=eee=>yee.call(eee),kee=eee=>xee(eee).slice(8,-1),_ee=eee=>"[object Object]"===xee(eee),Eee=eee=>fee(eee)&&"NaN"!==eee&&"-"!==eee[0]&&""+parseInt(eee,10)===eee,Tee=eee(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),See=fn=>{const eee=Object.create(null);return tee=>eee[tee]||(eee[tee]=fn(tee))},Iee=/-(\w)/g,Oee=See((eee=>eee.replace(Iee,((_,c)=>c?c.toUpperCase():"")))),Nee=/\B([A-Z])/g,Aee=See((eee=>eee.replace(Nee,"-$1").toLowerCase())),Ree=See((eee=>eee.charAt(0).toUpperCase()+eee.slice(1))),Dee=See((eee=>eee?`on${Ree(eee)}`:"")),Cee=(eee,tee)=>!Object.is(eee,tee),Lee=(eee,tee)=>{for(let i=0;i{Object.defineProperty(eee,tee,{configurable:!0,enumerable:!1,value:ree})},zee=eee=>{const n=parseFloat(eee);return isNaN(n)?eee:n},Mee=eee=>{const n=fee(eee)?Number(eee):NaN;return isNaN(n)?eee:n};let Pee;const Uee=()=>Pee||(Pee="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{});function jee(eee){if(dee(eee)){const tee={};for(let i=0;i{if(eee){const ree=eee.split(Vee);ree.length>1&&(tee[ree[0].trim()]=ree[1].trim())}})),tee}function Yee(eee){let tee="";if(fee(eee))tee=eee;else if(dee(eee))for(let i=0;iWee(eee,tee)))}const Hee=eee=>fee(eee)?eee:null==eee?"":dee(eee)||mee(eee)&&(eee.toString===yee||!wee(eee.toString))?JSON.stringify(eee,Xee,2):String(eee),Xee=(eee,tee)=>tee&&tee.__v_isRef?Xee(eee,tee.value):uee(tee)?{[`Map(${tee.size})`]:[...tee.entries()].reduce(((eee,[tee,ree])=>(eee[`${tee} =>`]=ree,eee)),{})}:hee(tee)?{[`Set(${tee.size})`]:[...tee.values()]}:!mee(tee)||dee(tee)||_ee(tee)?tee:String(tee);let Zee;class Jee{constructor(eee=!1){this.detached=eee,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Zee,!eee&&Zee&&(this.index=(Zee.scopes||(Zee.scopes=[])).push(this)-1)}get active(){return this._active}run(fn){if(this._active){const eee=Zee;try{return Zee=this,fn()}finally{Zee=eee}}}on(){Zee=this}off(){Zee=this.parent}stop(eee){if(this._active){let i,l;for(i=0,l=this.effects.length;i{const tee=new Set(eee);return tee.w=0,tee.n=0,tee},nte=eee=>(eee.w<e)>0,ate=eee=>(eee.n<e)>0,ite=new WeakMap;let ste=0,lte=1;const cte=30;let pte;const dte=Symbol(""),ute=Symbol("");class hte{constructor(fn,eee=null,tee){this.fn=fn,this.scheduler=eee,this.active=!0,this.deps=[],this.parent=void 0,function(eee,tee=Zee){tee&&tee.active&&tee.effects.push(eee)}(this,tee)}run(){if(!this.active)return this.fn();let eee=pte,tee=wte;for(;eee;){if(eee===this)return;eee=eee.parent}try{return this.parent=pte,pte=this,wte=!0,lte=1<<++ste,ste<=cte?(({deps:eee})=>{if(eee.length)for(let i=0;i{const{deps:tee}=eee;if(tee.length){let ree=0;for(let i=0;i{("length"===ree||ree>=eee)&&see.push(tee)}))}else switch(void 0!==ree&&see.push(iee.get(ree)),tee){case"add":dee(eee)?Eee(ree)&&see.push(iee.get("length")):(see.push(iee.get(dte)),uee(eee)&&see.push(iee.get(ute)));break;case"delete":dee(eee)||(see.push(iee.get(dte)),uee(eee)&&see.push(iee.get(ute)));break;case"set":uee(eee)&&see.push(iee.get(dte))}if(1===see.length)see[0]&&kte(see[0]);else{const eee=[];for(const tee of see)tee&&eee.push(...tee);kte(ote(eee))}}function kte(eee,tee){const ree=dee(eee)?eee:[...eee];for(const oee of ree)oee.computed&&_te(oee);for(const oee of ree)oee.computed||_te(oee)}function _te(eee,tee){(eee!==pte||eee.allowRecurse)&&(eee.scheduler?eee.scheduler():eee.run())}const Ete=eee("__proto__,__v_isRef,__isVue"),Tte=new Set(Object.getOwnPropertyNames(Symbol).filter((eee=>"arguments"!==eee&&"caller"!==eee)).map((eee=>Symbol[eee])).filter(bee)),Ste=Dte(),Ite=Dte(!1,!0),Ote=Dte(!0),Nte=Ate();function Ate(){const eee={};return["includes","indexOf","lastIndexOf"].forEach((tee=>{eee[tee]=function(...eee){const ree=wre(this);for(let i=0,l=this.length;i{eee[tee]=function(...eee){bte();const ree=wre(this)[tee].apply(this,eee);return mte(),ree}})),eee}function Rte(eee){const tee=wre(this);return vte(tee,0,eee),tee.hasOwnProperty(eee)}function Dte(eee=!1,tee=!1){return function(ree,oee,nee){if("__v_isReactive"===oee)return!eee;if("__v_isReadonly"===oee)return eee;if("__v_isShallow"===oee)return tee;if("__v_raw"===oee&&nee===(eee?tee?sre:ire:tee?are:nre).get(ree))return ree;const aee=dee(ree);if(!eee){if(aee&&pee(Nte,oee))return Reflect.get(Nte,oee,nee);if("hasOwnProperty"===oee)return Rte}const iee=Reflect.get(ree,oee,nee);return(bee(oee)?Tte.has(oee):Ete(oee))?iee:(eee||vte(ree,0,oee),tee?iee:xre(iee)?aee&&Eee(oee)?iee:iee.value:mee(iee)?eee?cre(iee):lre(iee):iee)}}function Cte(eee=!1){return function(tee,ree,oee,nee){let aee=tee[ree];if(ure(aee)&&xre(aee)&&!xre(oee))return!1;if(!eee&&(hre(oee)||ure(oee)||(aee=wre(aee),oee=wre(oee)),!dee(tee)&&xre(aee)&&!xre(oee)))return aee.value=oee,!0;const iee=dee(tee)&&Eee(ree)?Number(ree)!0,deleteProperty:(eee,tee)=>!0},zte=see({},Lte,{get:Ite,set:Cte(!0)}),Mte=eee=>eee,Pte=v=>Reflect.getPrototypeOf(v);function Ute(eee,tee,ree=!1,oee=!1){const nee=wre(eee=eee.__v_raw),aee=wre(tee);ree||(tee!==aee&&vte(nee,0,tee),vte(nee,0,aee));const{has:iee}=Pte(nee),see=oee?Mte:ree?mre:bre;return iee.call(nee,tee)?see(eee.get(tee)):iee.call(nee,aee)?see(eee.get(aee)):void(eee!==nee&&eee.get(tee))}function jte(eee,tee=!1){const ree=this.__v_raw,oee=wre(ree),nee=wre(eee);return tee||(eee!==nee&&vte(oee,0,eee),vte(oee,0,nee)),eee===nee?ree.has(eee):ree.has(eee)||ree.has(nee)}function $te(eee,tee=!1){return eee=eee.__v_raw,!tee&&vte(wre(eee),0,dte),Reflect.get(eee,"size",eee)}function Vte(eee){eee=wre(eee);const tee=wre(this);return Pte(tee).has.call(tee,eee)||(tee.add(eee),xte(tee,"add",eee,eee)),this}function qte(eee,tee){tee=wre(tee);const ree=wre(this),{has:oee,get:nee}=Pte(ree);let aee=oee.call(ree,eee);aee||(eee=wre(eee),aee=oee.call(ree,eee));const iee=nee.call(ree,eee);return ree.set(eee,tee),aee?Cee(tee,iee)&&xte(ree,"set",eee,tee):xte(ree,"add",eee,tee),this}function Bte(eee){const tee=wre(this),{has:ree,get:oee}=Pte(tee);let nee=ree.call(tee,eee);nee||(eee=wre(eee),nee=ree.call(tee,eee)),oee&&oee.call(tee,eee);const aee=tee.delete(eee);return nee&&xte(tee,"delete",eee,void 0),aee}function Yte(){const eee=wre(this),tee=0!==eee.size,ree=eee.clear();return tee&&xte(eee,"clear",void 0,void 0),ree}function Gte(eee,tee){return function(ree,oee){const nee=this,aee=nee.__v_raw,iee=wre(aee),see=tee?Mte:eee?mre:bre;return!eee&&vte(iee,0,dte),aee.forEach(((eee,tee)=>ree.call(oee,see(eee),see(tee),nee)))}}function Qte(eee,tee,ree){return function(...oee){const nee=this.__v_raw,aee=wre(nee),iee=uee(aee),see="entries"===eee||eee===Symbol.iterator&&iee,lee="keys"===eee&&iee,cee=nee[eee](...oee),pee=ree?Mte:tee?mre:bre;return!tee&&vte(aee,0,lee?ute:dte),{next(){const{value:eee,done:tee}=cee.next();return tee?{value:eee,done:tee}:{value:see?[pee(eee[0]),pee(eee[1])]:pee(eee),done:tee}},[Symbol.iterator](){return this}}}}function Wte(eee){return function(...tee){return"delete"!==eee&&this}}function Kte(){const eee={get(eee){return Ute(this,eee)},get size(){return $te(this)},has:jte,add:Vte,set:qte,delete:Bte,clear:Yte,forEach:Gte(!1,!1)},tee={get(eee){return Ute(this,eee,!1,!0)},get size(){return $te(this)},has:jte,add:Vte,set:qte,delete:Bte,clear:Yte,forEach:Gte(!1,!0)},ree={get(eee){return Ute(this,eee,!0)},get size(){return $te(this,!0)},has(eee){return jte.call(this,eee,!0)},add:Wte("add"),set:Wte("set"),delete:Wte("delete"),clear:Wte("clear"),forEach:Gte(!0,!1)},oee={get(eee){return Ute(this,eee,!0,!0)},get size(){return $te(this,!0)},has(eee){return jte.call(this,eee,!0)},add:Wte("add"),set:Wte("set"),delete:Wte("delete"),clear:Wte("clear"),forEach:Gte(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((nee=>{eee[nee]=Qte(nee,!1,!1),ree[nee]=Qte(nee,!0,!1),tee[nee]=Qte(nee,!1,!0),oee[nee]=Qte(nee,!0,!0)})),[eee,ree,tee,oee]}const[Hte,Xte,Zte,Jte]=Kte();function ere(eee,tee){const ree=tee?eee?Jte:Zte:eee?Xte:Hte;return(tee,oee,nee)=>"__v_isReactive"===oee?!eee:"__v_isReadonly"===oee?eee:"__v_raw"===oee?tee:Reflect.get(pee(ree,oee)&&oee in tee?ree:tee,oee,nee)}const tre={get:ere(!1,!1)},rre={get:ere(!1,!0)},ore={get:ere(!0,!1)},nre=new WeakMap,are=new WeakMap,ire=new WeakMap,sre=new WeakMap;function lre(eee){return ure(eee)?eee:pre(eee,!1,Lte,tre,nre)}function cre(eee){return pre(eee,!0,Fte,ore,ire)}function pre(eee,tee,ree,oee,nee){if(!mee(eee))return eee;if(eee.__v_raw&&(!tee||!eee.__v_isReactive))return eee;const aee=nee.get(eee);if(aee)return aee;const iee=(see=eee).__v_skip||!Object.isExtensible(see)?0:function(eee){switch(eee){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(kee(see));var see;if(0===iee)return eee;const lee=new Proxy(eee,2===iee?oee:ree);return nee.set(eee,lee),lee}function dre(eee){return ure(eee)?dre(eee.__v_raw):!(!eee||!eee.__v_isReactive)}function ure(eee){return!(!eee||!eee.__v_isReadonly)}function hre(eee){return!(!eee||!eee.__v_isShallow)}function gre(eee){return dre(eee)||ure(eee)}function wre(eee){const tee=eee&&eee.__v_raw;return tee?wre(tee):eee}function fre(eee){return Fee(eee,"__v_skip",!0),eee}const bre=eee=>mee(eee)?lre(eee):eee,mre=eee=>mee(eee)?cre(eee):eee;function vre(eee){wte&&pte&&yte((eee=wre(eee)).dep||(eee.dep=ote()))}function yre(eee,tee){const ree=(eee=wre(eee)).dep;ree&&kte(ree)}function xre(r){return!(!r||!0!==r.__v_isRef)}function kre(eee){return Ere(eee,!1)}function _re(eee){return Ere(eee,!0)}function Ere(eee,tee){return xre(eee)?eee:new Tre(eee,tee)}class Tre{constructor(eee,tee){this.__v_isShallow=tee,this.dep=void 0,this.__v_isRef=!0,this._rawValue=tee?eee:wre(eee),this._value=tee?eee:bre(eee)}get value(){return vre(this),this._value}set value(eee){const tee=this.__v_isShallow||hre(eee)||ure(eee);eee=tee?eee:wre(eee),Cee(eee,this._rawValue)&&(this._rawValue=eee,this._value=tee?eee:bre(eee),yre(this))}}function Sre(eee){return xre(eee)?eee.value:eee}const Ire={get:(eee,tee,ree)=>Sre(Reflect.get(eee,tee,ree)),set:(eee,tee,ree,oee)=>{const nee=eee[tee];return xre(nee)&&!xre(ree)?(nee.value=ree,!0):Reflect.set(eee,tee,ree,oee)}};function Ore(eee){return dre(eee)?eee:new Proxy(eee,Ire)}function Nre(eee){const tee=dee(eee)?new Array(eee.length):{};for(const ree in eee)tee[ree]=Cre(eee,ree);return tee}class Are{constructor(eee,tee,ree){this._object=eee,this._key=tee,this._defaultValue=ree,this.__v_isRef=!0}get value(){const eee=this._object[this._key];return void 0===eee?this._defaultValue:eee}set value(eee){this._object[this._key]=eee}get dep(){return function(eee,tee){var _a;return null==(_a=ite.get(eee))?void 0:_a.get(tee)}(wre(this._object),this._key)}}class Rre{constructor(eee){this._getter=eee,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Dre(eee,tee,ree){return xre(eee)?eee:wee(eee)?new Rre(eee):mee(eee)&&arguments.length>1?Cre(eee,tee,ree):kre(eee)}function Cre(eee,tee,ree){const oee=eee[tee];return xre(oee)?oee:new Are(eee,tee,ree)}class Lre{constructor(eee,tee,ree,oee){this._setter=tee,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new hte(eee,(()=>{this._dirty||(this._dirty=!0,yre(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!oee,this.__v_isReadonly=ree}get value(){const eee=wre(this);return vre(eee),!eee._dirty&&eee._cacheable||(eee._dirty=!1,eee._value=eee.effect.run()),eee._value}set value(eee){this._setter(eee)}}function Fre(fn,eee,tee,ree){let oee;try{oee=ree?fn(...ree):fn()}catch(nee){Mre(nee,eee,tee)}return oee}function zre(fn,eee,tee,ree){if(wee(fn)){const oee=Fre(fn,eee,tee,ree);return oee&&vee(oee)&&oee.catch((ree=>{Mre(ree,eee,tee)})),oee}const oee=[];for(let i=0;i>>1;Zre(jre[ree])Zre(a)-Zre(b))),Bre=0;Brenull==eee.id?1/0:eee.id,Jre=(a,b)=>{const eee=Zre(a)-Zre(b);if(0===eee){if(a.pre&&!b.pre)return-1;if(b.pre&&!a.pre)return 1}return eee};function eoe(eee){Ure=!1,Pre=!0,jre.sort(Jre);try{for($re=0;$refee(a)?a.trim():a))),ree&&(aee=oee.map(zee))}let lee,cee=nee[lee=Dee(ree)]||nee[lee=Dee(Oee(ree))];!cee&&iee&&(cee=nee[lee=Dee(Aee(ree))]),cee&&zre(cee,eee,6,aee);const pee=nee[lee+"Once"];if(pee){if(eee.emitted){if(eee.emitted[lee])return}else eee.emitted={};eee.emitted[lee]=!0,zre(pee,eee,6,aee)}}function roe(eee,tee,ree=!1){const oee=tee.emitsCache,nee=oee.get(eee);if(void 0!==nee)return nee;const aee=eee.emits;let iee={},lee=!1;if(!wee(eee)){const oee=eee=>{const ree=roe(eee,tee,!0);ree&&(lee=!0,see(iee,ree))};!ree&&tee.mixins.length&&tee.mixins.forEach(oee),eee.extends&&oee(eee.extends),eee.mixins&&eee.mixins.forEach(oee)}return aee||lee?(dee(aee)?aee.forEach((eee=>iee[eee]=null)):see(iee,aee),mee(eee)&&oee.set(eee,iee),iee):(mee(eee)&&oee.set(eee,null),null)}function ooe(eee,tee){return!(!eee||!aee(tee))&&(tee=tee.slice(2).replace(/Once$/,""),pee(eee,tee[0].toLowerCase()+tee.slice(1))||pee(eee,Aee(tee))||pee(eee,tee))}let noe=null,aoe=null;function ioe(eee){const tee=noe;return noe=eee,aoe=eee&&eee.type.__scopeId||null,tee}function soe(fn,eee=noe,tee){if(!eee)return fn;if(fn._n)return fn;const ree=(...tee)=>{ree._d&&Yne(-1);const oee=ioe(eee);let nee;try{nee=fn(...tee)}finally{ioe(oee),ree._d&&Yne(1)}return nee};return ree._n=!0,ree._c=!0,ree._d=!0,ree}function loe(eee){const{type:tee,vnode:ree,proxy:oee,withProxy:nee,props:aee,propsOptions:[see],slots:lee,attrs:cee,emit:pee,render:dee,renderCache:uee,data:hee,setupState:gee,ctx:wee,inheritAttrs:fee}=eee;let bee,mee;const vee=ioe(eee);try{if(4&ree.shapeFlag){const eee=nee||oee;bee=iae(dee.call(eee,eee,uee,aee,gee,hee,wee)),mee=cee}else{const eee=tee;0,bee=iae(eee.length>1?eee(aee,{attrs:cee,slots:lee,emit:pee}):eee(aee,null)),mee=tee.props?cee:coe(cee)}}catch(xee){$ne.length=0,Mre(xee,eee,1),bee=tae(Une)}let yee=bee;if(mee&&!1!==fee){const eee=Object.keys(mee),{shapeFlag:tee}=yee;eee.length&&7&tee&&(see&&eee.some(iee)&&(mee=poe(mee,see)),yee=rae(yee,mee))}return ree.dirs&&(yee=rae(yee),yee.dirs=yee.dirs?yee.dirs.concat(ree.dirs):ree.dirs),ree.transition&&(yee.transition=ree.transition),bee=yee,ioe(vee),bee}const coe=eee=>{let tee;for(const ree in eee)("class"===ree||"style"===ree||aee(ree))&&((tee||(tee={}))[ree]=eee[ree]);return tee},poe=(eee,tee)=>{const ree={};for(const oee in eee)iee(oee)&&oee.slice(9)in tee||(ree[oee]=eee[oee]);return ree};function doe(eee,tee,ree){const oee=Object.keys(tee);if(oee.length!==Object.keys(eee).length)return!0;for(let i=0;ieee.value,hee=hre(eee)):dre(eee)?(pee=()=>eee,nee=!0):dee(eee)?(gee=!0,hee=eee.some((s=>dre(s)||hre(s))),pee=()=>eee.map((s=>xre(s)?s.value:dre(s)?moe(s):wee(s)?Fre(s,cee,2):void 0))):pee=wee(eee)?cb?()=>Fre(eee,cee,2):()=>{if(!cee||!cee.isUnmounted)return uee&&uee(),zre(eee,cee,3,[bee])}:oee,cb&&nee){const eee=pee;pee=()=>moe(eee())}let fee,bee=fn=>{uee=xee.onStop=()=>{Fre(fn,cee,4)}};if(kae){if(bee=oee,cb?ree&&zre(cb,cee,3,[pee(),gee?[]:void 0,bee]):pee(),"sync"!==aee)return oee;{const eee=Oae();fee=eee.__watcherHandles||(eee.__watcherHandles=[])}}let mee=gee?new Array(eee.length).fill(hoe):hoe;const vee=()=>{if(xee.active)if(cb){const eee=xee.run();(nee||hee||(gee?eee.some(((v,i)=>Cee(v,mee[i]))):Cee(eee,mee)))&&(uee&&uee(),zre(cb,cee,3,[eee,mee===hoe?void 0:gee&&mee[0]===hoe?[]:mee,bee]),mee=eee)}else xee.run()};let yee;vee.allowRecurse=!!cb,"sync"===aee?yee=vee:"post"===aee?yee=()=>Cne(vee,cee&&cee.suspense):(vee.pre=!0,cee&&(vee.id=cee.uid),yee=()=>Wre(vee));const xee=new hte(pee,yee);cb?ree?vee():mee=xee.run():"post"===aee?Cne(xee.run.bind(xee),cee&&cee.suspense):xee.run();const kee=()=>{xee.stop(),cee&&cee.scope&&lee(cee.scope.effects,xee)};return fee&&fee.push(kee),kee}function foe(eee,tee,ree){const oee=this.proxy,nee=fee(eee)?eee.includes(".")?boe(oee,eee):()=>oee[eee]:eee.bind(oee,oee);let cb;wee(tee)?cb=tee:(cb=tee.handler,ree=tee);const aee=hae;mae(this);const iee=woe(nee,cb.bind(oee),ree);return aee?mae(aee):vae(),iee}function boe(eee,tee){const ree=tee.split(".");return()=>{let tee=eee;for(let i=0;i{moe(v,tee)}));else if(_ee(eee))for(const ree in eee)moe(eee[ree],tee);return eee}function voe(eee,ree){const oee=noe;if(null===oee)return eee;const nee=Tae(oee)||oee.proxy,aee=eee.dirs||(eee.dirs=[]);for(let i=0;isee({name:eee.name},tee,{setup:eee}))():eee}const koe=i=>!!i.type.__asyncLoader,_oe=eee=>eee.type.__isKeepAlive;function Eoe(eee,tee){Soe(eee,"a",tee)}function Toe(eee,tee){Soe(eee,"da",tee)}function Soe(eee,tee,ree=hae){const oee=eee.__wdc||(eee.__wdc=()=>{let tee=ree;for(;tee;){if(tee.isDeactivated)return;tee=tee.parent}return eee()});if(Ooe(tee,oee,ree),ree){let eee=ree.parent;for(;eee&&eee.parent;)_oe(eee.parent.vnode)&&Ioe(oee,tee,ree,eee),eee=eee.parent}}function Ioe(eee,tee,ree,oee){const nee=Ooe(tee,eee,oee,!0);Foe((()=>{lee(oee[tee],nee)}),ree)}function Ooe(eee,tee,ree=hae,oee=!1){if(ree){const nee=ree[eee]||(ree[eee]=[]),aee=tee.__weh||(tee.__weh=(...oee)=>{if(ree.isUnmounted)return;bte(),mae(ree);const nee=zre(tee,ree,eee,oee);return vae(),mte(),nee});return oee?nee.unshift(aee):nee.push(aee),aee}}const Noe=eee=>(tee,ree=hae)=>(!kae||"sp"===eee)&&Ooe(eee,((...eee)=>tee(...eee)),ree),Aoe=Noe("bm"),Roe=Noe("m"),Doe=Noe("bu"),Coe=Noe("u"),Loe=Noe("bum"),Foe=Noe("um"),zoe=Noe("sp"),Moe=Noe("rtg"),Poe=Noe("rtc");function Uoe(eee,tee=hae){Ooe("ec",eee,tee)}const joe=Symbol.for("v-ndc");function $oe(eee){return fee(eee)?function(eee,tee,ree=!0,oee=!1){const nee=noe||hae;if(nee){const ree=nee.type;{const eee=function(eee,tee=!0){return wee(eee)?eee.displayName||eee.name:eee.name||tee&&eee.__name}(ree,!1);if(eee&&(eee===tee||eee===Oee(tee)||eee===Ree(Oee(tee))))return ree}const aee=Voe(nee[eee]||ree[eee],tee)||Voe(nee.appContext[eee],tee);return!aee&&oee?ree:aee}}("components",eee,!1)||eee:eee||joe}function Voe(eee,tee){return eee&&(eee[tee]||eee[Oee(tee)]||eee[Ree(Oee(tee))])}function qoe(eee,tee,ree,oee){let nee;const aee=ree;if(dee(eee)||fee(eee)){nee=new Array(eee.length);for(let i=0,l=eee.length;itee(eee,i,void 0,aee)));else{const ree=Object.keys(eee);nee=new Array(ree.length);for(let i=0,l=ree.length;i{const tee=ree.fn(...eee);return tee&&(tee.key=ree.key),tee}:ree.fn)}return eee}function Yoe(eee,tee,ree={},oee,nee){if(noe.isCE||noe.parent&&koe(noe.parent)&&noe.parent.isCE)return"default"!==tee&&(ree.name=tee),tae("slot",ree,oee);let aee=eee[tee];aee&&aee._c&&(aee._d=!1),qne();const iee=aee&&Goe(aee(ree)),see=Wne(Mne,{key:ree.key||iee&&iee.key||`_${tee}`},iee||[],iee&&1===eee._?64:-2);return see.scopeId&&(see.slotScopeIds=[see.scopeId+"-s"]),aee&&aee._c&&(aee._d=!0),see}function Goe(eee){return eee.some((eee=>!Kne(eee)||eee.type!==Une&&!(eee.type===Mne&&!Goe(eee.children))))?eee:null}const Qoe=i=>i?yae(i)?Tae(i)||i.proxy:Qoe(i.parent):null,Woe=see(Object.create(null),{$:i=>i,$el:i=>i.vnode.el,$data:i=>i.data,$props:i=>i.props,$attrs:i=>i.attrs,$slots:i=>i.slots,$refs:i=>i.refs,$parent:i=>Qoe(i.parent),$root:i=>Qoe(i.root),$emit:i=>i.emit,$options:i=>rne(i),$forceUpdate:i=>i.f||(i.f=()=>Wre(i.update)),$nextTick:i=>i.n||(i.n=Qre.bind(i.proxy)),$watch:i=>foe.bind(i)}),Koe=(eee,ree)=>eee!==tee&&!eee.__isScriptSetup&&pee(eee,ree),Hoe={get({_:eee},ree){const{ctx:oee,setupState:nee,data:aee,props:iee,accessCache:see,type:lee,appContext:cee}=eee;let dee;if("$"!==ree[0]){const n=see[ree];if(void 0!==n)switch(n){case 1:return nee[ree];case 2:return aee[ree];case 4:return oee[ree];case 3:return iee[ree]}else{if(Koe(nee,ree))return see[ree]=1,nee[ree];if(aee!==tee&&pee(aee,ree))return see[ree]=2,aee[ree];if((dee=eee.propsOptions[0])&&pee(dee,ree))return see[ree]=3,iee[ree];if(oee!==tee&&pee(oee,ree))return see[ree]=4,oee[ree];Zoe&&(see[ree]=0)}}const uee=Woe[ree];let hee,gee;return uee?("$attrs"===ree&&vte(eee,0,ree),uee(eee)):(hee=lee.__cssModules)&&(hee=hee[ree])?hee:oee!==tee&&pee(oee,ree)?(see[ree]=4,oee[ree]):(gee=cee.config.globalProperties,pee(gee,ree)?gee[ree]:void 0)},set({_:eee},ree,oee){const{data:nee,setupState:aee,ctx:iee}=eee;return Koe(aee,ree)?(aee[ree]=oee,!0):nee!==tee&&pee(nee,ree)?(nee[ree]=oee,!0):!pee(eee.props,ree)&&(("$"!==ree[0]||!(ree.slice(1)in eee))&&(iee[ree]=oee,!0))},has({_:{data:eee,setupState:ree,accessCache:oee,ctx:nee,appContext:aee,propsOptions:iee}},see){let lee;return!!oee[see]||eee!==tee&&pee(eee,see)||Koe(ree,see)||(lee=iee[0])&&pee(lee,see)||pee(nee,see)||pee(Woe,see)||pee(aee.config.globalProperties,see)},defineProperty(eee,tee,ree){return null!=ree.get?eee._.accessCache[tee]=0:pee(ree,"value")&&this.set(eee,tee,ree.value,null),Reflect.defineProperty(eee,tee,ree)}};function Xoe(eee){return dee(eee)?eee.reduce(((eee,p)=>(eee[p]=null,eee)),{}):eee}let Zoe=!0;function Joe(eee){const tee=rne(eee),ree=eee.proxy,nee=eee.ctx;Zoe=!1,tee.beforeCreate&&ene(tee.beforeCreate,eee,"bc");const{data:aee,computed:iee,methods:see,watch:lee,provide:cee,inject:pee,created:uee,beforeMount:hee,mounted:gee,beforeUpdate:fee,updated:bee,activated:vee,deactivated:yee,beforeDestroy:xee,beforeUnmount:kee,destroyed:_ee,unmounted:Eee,render:Tee,renderTracked:See,renderTriggered:Iee,errorCaptured:Oee,serverPrefetch:Nee,expose:Aee,inheritAttrs:Ree,components:Dee,directives:Cee,filters:Lee}=tee;if(pee&&function(eee,tee,ree=oee){dee(eee)&&(eee=ine(eee));for(const oee in eee){const ree=eee[oee];let nee;nee=mee(ree)?"default"in ree?wne(ree.from||oee,ree.default,!0):wne(ree.from||oee):wne(ree),xre(nee)?Object.defineProperty(tee,oee,{enumerable:!0,configurable:!0,get:()=>nee.value,set:v=>nee.value=v}):tee[oee]=nee}}(pee,nee,null),see)for(const oee in see){const eee=see[oee];wee(eee)&&(nee[oee]=eee.bind(ree))}if(aee){const tee=aee.call(ree,ree);mee(tee)&&(eee.data=lre(tee))}if(Zoe=!0,iee)for(const dee in iee){const eee=iee[dee],tee=wee(eee)?eee.bind(ree,ree):wee(eee.get)?eee.get.bind(ree,ree):oee,aee=!wee(eee)&&wee(eee.set)?eee.set.bind(ree):oee,c=Sae({get:tee,set:aee});Object.defineProperty(nee,dee,{enumerable:!0,configurable:!0,get:()=>c.value,set:v=>c.value=v})}if(lee)for(const oee in lee)tne(lee[oee],nee,ree,oee);if(cee){const eee=wee(cee)?cee.call(ree):cee;Reflect.ownKeys(eee).forEach((tee=>{gne(tee,eee[tee])}))}function Fee(eee,tee){dee(tee)?tee.forEach((tee=>eee(tee.bind(ree)))):tee&&eee(tee.bind(ree))}if(uee&&ene(uee,eee,"c"),Fee(Aoe,hee),Fee(Roe,gee),Fee(Doe,fee),Fee(Coe,bee),Fee(Eoe,vee),Fee(Toe,yee),Fee(Uoe,Oee),Fee(Poe,See),Fee(Moe,Iee),Fee(Loe,kee),Fee(Foe,Eee),Fee(zoe,Nee),dee(Aee))if(Aee.length){const tee=eee.exposed||(eee.exposed={});Aee.forEach((eee=>{Object.defineProperty(tee,eee,{get:()=>ree[eee],set:tee=>ree[eee]=tee})}))}else eee.exposed||(eee.exposed={});Tee&&eee.render===oee&&(eee.render=Tee),null!=Ree&&(eee.inheritAttrs=Ree),Dee&&(eee.components=Dee),Cee&&(eee.directives=Cee)}function ene(eee,tee,ree){zre(dee(eee)?eee.map((h2=>h2.bind(tee.proxy))):eee.bind(tee.proxy),tee,ree)}function tne(eee,tee,ree,oee){const nee=oee.includes(".")?boe(ree,oee):()=>ree[oee];if(fee(eee)){const ree=tee[eee];wee(ree)&&goe(nee,ree)}else if(wee(eee))goe(nee,eee.bind(ree));else if(mee(eee))if(dee(eee))eee.forEach((r=>tne(r,tee,ree,oee)));else{const oee=wee(eee.handler)?eee.handler.bind(ree):tee[eee.handler];wee(oee)&&goe(nee,oee,eee)}}function rne(eee){const tee=eee.type,{mixins:ree,extends:oee}=tee,{mixins:nee,optionsCache:aee,config:{optionMergeStrategies:iee}}=eee.appContext,see=aee.get(tee);let lee;return see?lee=see:nee.length||ree||oee?(lee={},nee.length&&nee.forEach((m=>one(lee,m,iee,!0))),one(lee,tee,iee)):lee=tee,mee(tee)&&aee.set(tee,lee),lee}function one(to,eee,tee,ree=!1){const{mixins:oee,extends:nee}=eee;nee&&one(to,nee,tee,!0),oee&&oee.forEach((m=>one(to,m,tee,!0)));for(const aee in eee)if(ree&&"expose"===aee);else{const ree=nne[aee]||tee&&tee[aee];to[aee]=ree?ree(to[aee],eee[aee]):eee[aee]}return to}const nne={data:ane,props:cne,emits:cne,methods:lne,computed:lne,beforeCreate:sne,created:sne,beforeMount:sne,mounted:sne,beforeUpdate:sne,updated:sne,beforeDestroy:sne,beforeUnmount:sne,destroyed:sne,unmounted:sne,activated:sne,deactivated:sne,errorCaptured:sne,serverPrefetch:sne,components:lne,directives:lne,watch:function(to,eee){if(!to)return eee;if(!eee)return to;const tee=see(Object.create(null),to);for(const ree in eee)tee[ree]=sne(to[ree],eee[ree]);return tee},provide:ane,inject:function(to,eee){return lne(ine(to),ine(eee))}};function ane(to,eee){return eee?to?function(){return see(wee(to)?to.call(this,this):to,wee(eee)?eee.call(this,this):eee)}:eee:to}function ine(eee){if(dee(eee)){const tee={};for(let i=0;i(aee.has(eee)||(eee&&wee(eee.install)?(aee.add(eee),eee.install(lee,...tee)):wee(eee)&&(aee.add(eee),eee(lee,...tee))),lee),mixin:eee=>(nee.mixins.includes(eee)||nee.mixins.push(eee),lee),component:(eee,tee)=>tee?(nee.components[eee]=tee,lee):nee.components[eee],directive:(eee,tee)=>tee?(nee.directives[eee]=tee,lee):nee.directives[eee],mount(aee,see,cee){if(!iee){const pee=tae(ree,oee);return pee.appContext=nee,see&&tee?tee(pee,aee):eee(pee,aee,cee),iee=!0,lee._container=aee,aee.__vue_app__=lee,Tae(pee.component)||pee.component.proxy}},unmount(){iee&&(eee(null,lee._container),delete lee._container.__vue_app__)},provide:(eee,tee)=>(nee.provides[eee]=tee,lee),runWithContext(fn){hne=lee;try{return fn()}finally{hne=null}}};return lee}}let hne=null;function gne(eee,tee){if(hae){let ree=hae.provides;const oee=hae.parent&&hae.parent.provides;oee===ree&&(ree=hae.provides=Object.create(oee)),ree[eee]=tee}else;}function wne(eee,tee,ree=!1){const oee=hae||noe;if(oee||hne){const nee=oee?null==oee.parent?oee.vnode.appContext&&oee.vnode.appContext.provides:oee.parent.provides:hne._context.provides;if(nee&&eee in nee)return nee[eee];if(arguments.length>1)return ree&&wee(tee)?tee.call(oee&&oee.proxy):tee}}function fne(){return!!(hae||noe||hne)}function bne(eee,tee,ree,oee=!1){const nee={},aee={};Fee(aee,Xne,1),eee.propsDefaults=Object.create(null),mne(eee,tee,nee,aee);for(const iee in eee.propsOptions[0])iee in nee||(nee[iee]=void 0);ree?eee.props=oee?nee:pre(nee,!1,zte,rre,are):eee.type.props?eee.props=nee:eee.props=aee,eee.attrs=aee}function mne(eee,ree,oee,nee){const[aee,iee]=eee.propsOptions;let see,lee=!1;if(ree)for(let tee in ree){if(Tee(tee))continue;const cee=ree[tee];let dee;aee&&pee(aee,dee=Oee(tee))?iee&&iee.includes(dee)?(see||(see={}))[dee]=cee:oee[dee]=cee:ooe(eee.emitsOptions,tee)||tee in nee&&cee===nee[tee]||(nee[tee]=cee,lee=!0)}if(iee){const ree=wre(oee),nee=see||tee;for(let i=0;i{hee=!0;const[tee,ree]=yne(eee,oee,!0);see(cee,tee),ree&&uee.push(...ree)};!nee&&oee.mixins.length&&oee.mixins.forEach(tee),eee.extends&&tee(eee.extends),eee.mixins&&eee.mixins.forEach(tee)}if(!lee&&!hee)return mee(eee)&&aee.set(eee,ree),ree;if(dee(lee))for(let i=0;i-1,oee[1]=ree<0||tee-1||pee(oee,"default"))&&uee.push(eee)}}}const gee=[cee,uee];return mee(eee)&&aee.set(eee,gee),gee}function xne(eee){return"$"!==eee[0]}function kne(eee){const tee=eee&&eee.toString().match(/^\s*(function|class) (\w+)/);return tee?tee[2]:null===eee?"null":""}function _ne(a,b){return kne(a)===kne(b)}function Ene(eee,tee){return dee(tee)?tee.findIndex((t=>_ne(t,eee))):wee(tee)&&_ne(tee,eee)?0:-1}const Tne=eee=>"_"===eee[0]||"$stable"===eee,Sne=eee=>dee(eee)?eee.map(iae):[iae(eee)],Ine=(eee,tee,ree)=>{if(tee._n)return tee;const oee=soe(((...eee)=>Sne(tee(...eee))),ree);return oee._c=!1,oee},One=(eee,tee,ree)=>{const oee=eee._ctx;for(const nee in eee){if(Tne(nee))continue;const ree=eee[nee];if(wee(ree))tee[nee]=Ine(0,ree,oee);else if(null!=ree){const eee=Sne(ree);tee[nee]=()=>eee}}},Nne=(eee,tee)=>{const ree=Sne(tee);eee.slots.default=()=>ree},Ane=(eee,tee)=>{if(32&eee.vnode.shapeFlag){const ree=tee._;ree?(eee.slots=wre(tee),Fee(tee,"_",ree)):One(tee,eee.slots={})}else eee.slots={},tee&&Nne(eee,tee);Fee(eee.slots,Xne,1)},Rne=(eee,ree,oee)=>{const{vnode:nee,slots:aee}=eee;let iee=!0,lee=tee;if(32&nee.shapeFlag){const eee=ree._;eee?oee&&1===eee?iee=!1:(see(aee,ree),oee||1!==eee||delete aee._):(iee=!ree.$stable,One(ree,aee)),lee=ree}else ree&&(Nne(eee,ree),lee={default:1});if(iee)for(const tee in aee)Tne(tee)||tee in lee||delete aee[tee]};function Dne(eee,ree,oee,nee,aee=!1){if(dee(eee))return void eee.forEach(((r,i)=>Dne(r,ree&&(dee(ree)?ree[i]:ree),oee,nee,aee)));if(koe(nee)&&!aee)return;const iee=4&nee.shapeFlag?Tae(nee.component)||nee.component.proxy:nee.el,see=aee?null:iee,{i:cee,r:uee}=eee,hee=ree&&ree.r,gee=cee.refs===tee?cee.refs={}:cee.refs,bee=cee.setupState;if(null!=hee&&hee!==uee&&(fee(hee)?(gee[hee]=null,pee(bee,hee)&&(bee[hee]=null)):xre(hee)&&(hee.value=null)),wee(uee))Fre(uee,cee,12,[see,gee]);else{const tee=fee(uee),ree=xre(uee);if(tee||ree){const nee=()=>{if(eee.f){const ree=tee?pee(bee,uee)?bee[uee]:gee[uee]:uee.value;aee?dee(ree)&&lee(ree,iee):dee(ree)?ree.includes(iee)||ree.push(iee):tee?(gee[uee]=[iee],pee(bee,uee)&&(bee[uee]=gee[uee])):(uee.value=[iee],eee.k&&(gee[eee.k]=uee.value))}else tee?(gee[uee]=see,pee(bee,uee)&&(bee[uee]=see)):ree&&(uee.value=see,eee.k&&(gee[eee.k]=see))};see?(nee.id=-1,Cne(nee,oee)):nee()}}}const Cne=function(fn,eee){var cb;eee&&eee.pendingBranch?dee(fn)?eee.effects.push(...fn):eee.effects.push(fn):(dee(cb=fn)?Vre.push(...cb):qre&&qre.includes(cb,cb.allowRecurse?Bre+1:Bre)||Vre.push(cb),Kre())};function Lne(eee){return function(eee,nee){Uee().__VUE__=!0;const{insert:aee,remove:iee,patchProp:see,createElement:lee,createText:cee,createComment:dee,setText:uee,setElementText:hee,parentNode:gee,nextSibling:wee,setScopeId:fee=oee,insertStaticContent:bee}=eee,mee=(n1,n2,eee,tee=null,ree=null,oee=null,nee=!1,aee=null,iee=!!n2.dynamicChildren)=>{if(n1===n2)return;n1&&!Hne(n1,n2)&&(tee=Zee(n1),Qee(n1,ree,oee,!0),n1=null),-2===n2.patchFlag&&(iee=!1,n2.dynamicChildren=null);const{type:see,ref:lee,shapeFlag:cee}=n2;switch(see){case Pne:yee(n1,n2,eee,tee);break;case Une:xee(n1,n2,eee,tee);break;case jne:null==n1&&kee(n2,eee,tee,nee);break;case Mne:zee(n1,n2,eee,tee,ree,oee,nee,aee,iee);break;default:1&cee?See(n1,n2,eee,tee,ree,oee,nee,aee,iee):6&cee?Mee(n1,n2,eee,tee,ree,oee,nee,aee,iee):(64&cee||128&cee)&&see.process(n1,n2,eee,tee,ree,oee,nee,aee,iee,tte)}null!=lee&&ree&&Dne(lee,n1&&n1.ref,oee,n2||n1,!n2)},yee=(n1,n2,eee,tee)=>{if(null==n1)aee(n2.el=cee(n2.children),eee,tee);else{const el=n2.el=n1.el;n2.children!==n1.children&&uee(el,n2.children)}},xee=(n1,n2,eee,tee)=>{null==n1?aee(n2.el=dee(n2.children||""),eee,tee):n2.el=n1.el},kee=(n2,eee,tee,ree)=>{[n2.el,n2.anchor]=bee(n2.children,eee,tee,ree,n2.el,n2.anchor)},_ee=({el:el,anchor:eee},tee,ree)=>{let oee;for(;el&&el!==eee;)oee=wee(el),aee(el,tee,ree),el=oee;aee(eee,tee,ree)},Eee=({el:el,anchor:eee})=>{let tee;for(;el&&el!==eee;)tee=wee(el),iee(el),el=tee;iee(eee)},See=(n1,n2,eee,tee,ree,oee,nee,aee,iee)=>{nee=nee||"svg"===n2.type,null==n1?Iee(n2,eee,tee,ree,oee,nee,aee,iee):Dee(n1,n2,ree,oee,nee,aee,iee)},Iee=(eee,tee,ree,oee,nee,iee,cee,pee)=>{let el,dee;const{type:uee,props:gee,shapeFlag:wee,transition:fee,dirs:bee}=eee;if(el=eee.el=lee(eee.type,iee,gee&&gee.is,gee),8&wee?hee(el,eee.children):16&wee&&Ree(eee.children,el,null,oee,nee,iee&&"foreignObject"!==uee,cee,pee),bee&&yoe(eee,null,oee,"created"),Nee(el,eee,eee.scopeId,cee,oee),gee){for(const tee in gee)"value"===tee||Tee(tee)||see(el,tee,null,gee[tee],iee,eee.children,oee,nee,Xee);"value"in gee&&see(el,"value",null,gee.value),(dee=gee.onVnodeBeforeMount)&&pae(dee,oee,eee)}bee&&yoe(eee,null,oee,"beforeMount");const mee=(!nee||nee&&!nee.pendingBranch)&&fee&&!fee.persisted;mee&&fee.beforeEnter(el),aee(el,tee,ree),((dee=gee&&gee.onVnodeMounted)||mee||bee)&&Cne((()=>{dee&&pae(dee,oee,eee),mee&&fee.enter(el),bee&&yoe(eee,null,oee,"mounted")}),nee)},Nee=(el,eee,tee,ree,oee)=>{if(tee&&fee(el,tee),ree)for(let i=0;i{for(let i=lee;i{const el=n2.el=n1.el;let{patchFlag:iee,dynamicChildren:lee,dirs:cee}=n2;iee|=16&n1.patchFlag;const pee=n1.props||tee,dee=n2.props||tee;let uee;eee&&Fne(eee,!1),(uee=dee.onVnodeBeforeUpdate)&&pae(uee,eee,n2,n1),cee&&yoe(n2,n1,eee,"beforeUpdate"),eee&&Fne(eee,!0);const gee=oee&&"foreignObject"!==n2.type;if(lee?Cee(n1.dynamicChildren,lee,el,eee,ree,gee,nee):aee||qee(n1,n2,el,null,eee,ree,gee,nee,!1),iee>0){if(16&iee)Fee(el,n2,pee,dee,eee,ree,oee);else if(2&iee&&pee.class!==dee.class&&see(el,"class",null,dee.class,oee),4&iee&&see(el,"style",pee.style,dee.style,oee),8&iee){const tee=n2.dynamicProps;for(let i=0;i{uee&&pae(uee,eee,n2,n1),cee&&yoe(n2,n1,eee,"updated")}),ree)},Cee=(eee,tee,ree,oee,nee,aee,iee)=>{for(let i=0;i{if(ree!==oee){if(ree!==tee)for(const tee in ree)Tee(tee)||tee in oee||see(el,tee,ree[tee],null,iee,eee.children,nee,aee,Xee);for(const tee in oee){if(Tee(tee))continue;const lee=oee[tee],cee=ree[tee];lee!==cee&&"value"!==tee&&see(el,tee,cee,lee,iee,eee.children,nee,aee,Xee)}"value"in oee&&see(el,"value",ree.value,oee.value)}},zee=(n1,n2,eee,tee,ree,oee,nee,iee,see)=>{const lee=n2.el=n1?n1.el:cee(""),pee=n2.anchor=n1?n1.anchor:cee("");let{patchFlag:dee,dynamicChildren:uee,slotScopeIds:hee}=n2;hee&&(iee=iee?iee.concat(hee):hee),null==n1?(aee(lee,eee,tee),aee(pee,eee,tee),Ree(n2.children,eee,pee,ree,oee,nee,iee,see)):dee>0&&64&dee&&uee&&n1.dynamicChildren?(Cee(n1.dynamicChildren,uee,eee,ree,oee,nee,iee),(null!=n2.key||ree&&n2===ree.subTree)&&zne(n1,n2,!0)):qee(n1,n2,eee,pee,ree,oee,nee,iee,see)},Mee=(n1,n2,eee,tee,ree,oee,nee,aee,iee)=>{n2.slotScopeIds=aee,null==n1?512&n2.shapeFlag?ree.ctx.activate(n2,eee,tee,nee,iee):Pee(n2,eee,tee,ree,oee,nee,iee):jee(n1,n2,iee)},Pee=(eee,ree,oee,nee,aee,iee,see)=>{const lee=eee.component=function(eee,ree,oee){const nee=eee.type,aee=(ree?ree.appContext:eee.appContext)||dae,iee={uid:uae++,vnode:eee,type:nee,parent:ree,appContext:aee,root:null,next:null,subTree:null,effect:null,update:null,scope:new Jee(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:ree?ree.provides:Object.create(aee.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:yne(nee,aee),emitsOptions:roe(nee,aee),emit:null,emitted:null,propsDefaults:tee,inheritAttrs:nee.inheritAttrs,ctx:tee,data:tee,props:tee,attrs:tee,slots:tee,refs:tee,setupState:tee,setupContext:null,attrsProxy:null,slotsProxy:null,suspense:oee,suspenseId:oee?oee.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};iee.ctx={_:iee},iee.root=ree?ree.root:iee,iee.emit=toe.bind(null,iee),eee.ce&&eee.ce(iee);return iee}(eee,nee,aee);if(_oe(eee)&&(lee.ctx.renderer=tte),function(eee,tee=!1){kae=tee;const{props:ree,children:oee}=eee.vnode,nee=yae(eee);bne(eee,ree,nee,tee),Ane(eee,oee);const aee=nee?function(eee,tee){const ree=eee.type;eee.accessCache=Object.create(null),eee.proxy=fre(new Proxy(eee.ctx,Hoe));const{setup:oee}=ree;if(oee){const ree=eee.setupContext=oee.length>1?function(eee){const tee=tee=>{eee.exposed=tee||{}};return{get attrs(){return function(eee){return eee.attrsProxy||(eee.attrsProxy=new Proxy(eee.attrs,{get:(tee,ree)=>(vte(eee,0,"$attrs"),tee[ree])}))}(eee)},slots:eee.slots,emit:eee.emit,expose:tee}}(eee):null;mae(eee),bte();const nee=Fre(oee,eee,0,[eee.props,ree]);if(mte(),vae(),vee(nee)){if(nee.then(vae,vae),tee)return nee.then((ree=>{_ae(eee,ree,tee)})).catch((e=>{Mre(e,eee,0)}));eee.asyncDep=nee}else _ae(eee,nee,tee)}else Eae(eee,tee)}(eee,tee):void 0;kae=!1}(lee),lee.asyncDep){if(aee&&aee.registerDep(lee,$ee),!eee.el){const eee=lee.subTree=tae(Une);xee(null,eee,ree,oee)}}else $ee(lee,eee,ree,oee,aee,iee,see)},jee=(n1,n2,eee)=>{const tee=n2.component=n1.component;if(function(eee,tee,ree){const{props:oee,children:nee,component:aee}=eee,{props:iee,children:see,patchFlag:lee}=tee,cee=aee.emitsOptions;if(tee.dirs||tee.transition)return!0;if(!(ree&&lee>=0))return!(!nee&&!see||see&&see.$stable)||oee!==iee&&(oee?!iee||doe(oee,iee,cee):!!iee);if(1024&lee)return!0;if(16&lee)return oee?doe(oee,iee,cee):!!iee;if(8&lee){const eee=tee.dynamicProps;for(let i=0;i$re&&jre.splice(i,1)}(tee.update),tee.update()}else n2.el=n1.el,tee.vnode=n2},$ee=(eee,tee,ree,oee,nee,aee,iee)=>{const see=()=>{if(eee.isMounted){let tee,{next:ree,bu:bu,u:u,parent:oee,vnode:see}=eee,lee=ree;Fne(eee,!1),ree?(ree.el=see.el,Vee(eee,ree,iee)):ree=see,bu&&Lee(bu),(tee=ree.props&&ree.props.onVnodeBeforeUpdate)&&pae(tee,oee,ree,see),Fne(eee,!0);const cee=loe(eee),pee=eee.subTree;eee.subTree=cee,mee(pee,cee,gee(pee.el),Zee(pee),eee,nee,aee),ree.el=cee.el,null===lee&&function({vnode:eee,parent:tee},el){for(;tee&&tee.subTree===eee;)(eee=tee.vnode).el=el,tee=tee.parent}(eee,cee.el),u&&Cne(u,nee),(tee=ree.props&&ree.props.onVnodeUpdated)&&Cne((()=>pae(tee,oee,ree,see)),nee)}else{let iee;const{el:el,props:see}=tee,{bm:bm,m:m,parent:lee}=eee,cee=koe(tee);if(Fne(eee,!1),bm&&Lee(bm),!cee&&(iee=see&&see.onVnodeBeforeMount)&&pae(iee,lee,tee),Fne(eee,!0),el&&ote){const ree=()=>{eee.subTree=loe(eee),ote(el,eee.subTree,eee,nee,null)};cee?tee.type.__asyncLoader().then((()=>!eee.isUnmounted&&ree())):ree()}else{const iee=eee.subTree=loe(eee);mee(null,iee,ree,oee,eee,nee,aee),tee.el=iee.el}if(m&&Cne(m,nee),!cee&&(iee=see&&see.onVnodeMounted)){const eee=tee;Cne((()=>pae(iee,lee,eee)),nee)}(256&tee.shapeFlag||lee&&koe(lee.vnode)&&256&lee.vnode.shapeFlag)&&eee.a&&Cne(eee.a,nee),eee.isMounted=!0,tee=ree=oee=null}},lee=eee.effect=new hte(see,(()=>Wre(cee)),eee.scope),cee=eee.update=()=>lee.run();cee.id=eee.uid,Fne(eee,!0),cee()},Vee=(eee,tee,ree)=>{tee.component=eee;const oee=eee.vnode.props;eee.vnode=tee,eee.next=null,function(eee,tee,ree,oee){const{props:nee,attrs:aee,vnode:{patchFlag:iee}}=eee,see=wre(nee),[lee]=eee.propsOptions;let cee=!1;if(!(oee||iee>0)||16&iee){let oee;mne(eee,tee,nee,aee)&&(cee=!0);for(const aee in see)tee&&(pee(tee,aee)||(oee=Aee(aee))!==aee&&pee(tee,oee))||(lee?!ree||void 0===ree[aee]&&void 0===ree[oee]||(nee[aee]=vne(lee,see,aee,void 0,eee,!0)):delete nee[aee]);if(aee!==see)for(const eee in aee)tee&&pee(tee,eee)||(delete aee[eee],cee=!0)}else if(8&iee){const ree=eee.vnode.dynamicProps;for(let i=0;i{const c1=n1&&n1.children,see=n1?n1.shapeFlag:0,c2=n2.children,{patchFlag:lee,shapeFlag:cee}=n2;if(lee>0){if(128&lee)return void Yee(c1,c2,eee,tee,ree,oee,nee,aee,iee);if(256&lee)return void Bee(c1,c2,eee,tee,ree,oee,nee,aee,iee)}8&cee?(16&see&&Xee(c1,ree,oee),c2!==c1&&hee(eee,c2)):16&see?16&cee?Yee(c1,c2,eee,tee,ree,oee,nee,aee,iee):Xee(c1,ree,oee,!0):(8&see&&hee(eee,""),16&cee&&Ree(c2,eee,tee,ree,oee,nee,aee,iee))},Bee=(c1,c2,eee,tee,oee,nee,aee,iee,see)=>{c2=c2||ree;const lee=(c1=c1||ree).length,cee=c2.length,pee=Math.min(lee,cee);let i;for(i=0;icee?Xee(c1,oee,nee,!0,!1,pee):Ree(c2,eee,tee,oee,nee,aee,iee,see,pee)},Yee=(c1,c2,eee,tee,oee,nee,aee,iee,see)=>{let i=0;const l2=c2.length;let e1=c1.length-1,e2=l2-1;for(;i<=e1&&i<=e2;){const n1=c1[i],n2=c2[i]=see?sae(c2[i]):iae(c2[i]);if(!Hne(n1,n2))break;mee(n1,n2,eee,null,oee,nee,aee,iee,see),i++}for(;i<=e1&&i<=e2;){const n1=c1[e1],n2=c2[e2]=see?sae(c2[e2]):iae(c2[e2]);if(!Hne(n1,n2))break;mee(n1,n2,eee,null,oee,nee,aee,iee,see),e1--,e2--}if(i>e1){if(i<=e2){const ree=e2+1,lee=reee2)for(;i<=e1;)Qee(c1[i],oee,nee,!0),i++;else{const s1=i,s2=i,lee=new Map;for(i=s2;i<=e2;i++){const eee=c2[i]=see?sae(c2[i]):iae(c2[i]);null!=eee.key&&lee.set(eee.key,i)}let j,cee=0;const pee=e2-s2+1;let dee=!1,uee=0;const hee=new Array(pee);for(i=0;i=pee){Qee(tee,oee,nee,!0);continue}let ree;if(null!=tee.key)ree=lee.get(tee.key);else for(j=s2;j<=e2;j++)if(0===hee[j-s2]&&Hne(tee,c2[j])){ree=j;break}void 0===ree?Qee(tee,oee,nee,!0):(hee[ree-s2]=i+1,ree>=uee?uee=ree:dee=!0,mee(tee,c2[ree],eee,null,oee,nee,aee,iee,see),cee++)}const gee=dee?function(eee){const p=eee.slice(),tee=[0];let i,j,u,v,c;const ree=eee.length;for(i=0;i>1,eee[tee[c]]0&&(p[i]=tee[u-1]),tee[u]=i)}}u=tee.length,v=tee[u-1];for(;u-- >0;)tee[u]=v,v=p[v];return tee}(hee):ree;for(j=gee.length-1,i=pee-1;i>=0;i--){const ree=s2+i,lee=c2[ree],cee=ree+1{const{el:el,type:iee,transition:see,children:lee,shapeFlag:cee}=eee;if(6&cee)return void Gee(eee.component.subTree,tee,ree,oee);if(128&cee)return void eee.suspense.move(tee,ree,oee);if(64&cee)return void iee.move(eee,tee,ree,tte);if(iee===Mne){aee(el,tee,ree);for(let i=0;isee.enter(el)),nee);else{const{leave:eee,delayLeave:oee,afterLeave:nee}=see,iee=()=>aee(el,tee,ree),lee=()=>{eee(el,(()=>{iee(),nee&&nee()}))};oee?oee(el,iee,lee):lee()}else aee(el,tee,ree)},Qee=(eee,tee,ree,oee=!1,nee=!1)=>{const{type:aee,props:iee,ref:see,children:lee,dynamicChildren:cee,shapeFlag:pee,patchFlag:dee,dirs:uee}=eee;if(null!=see&&Dne(see,null,ree,eee,!0),256&pee)return void tee.ctx.deactivate(eee);const hee=1&pee&&uee,gee=!koe(eee);let wee;if(gee&&(wee=iee&&iee.onVnodeBeforeUnmount)&&pae(wee,tee,eee),6&pee)Hee(eee.component,ree,oee);else{if(128&pee)return void eee.suspense.unmount(ree,oee);hee&&yoe(eee,null,tee,"beforeUnmount"),64&pee?eee.type.remove(eee,tee,ree,nee,tte,oee):cee&&(aee!==Mne||dee>0&&64&dee)?Xee(cee,tee,ree,!1,!0):(aee===Mne&&384&dee||!nee&&16&pee)&&Xee(lee,tee,ree),oee&&Wee(eee)}(gee&&(wee=iee&&iee.onVnodeUnmounted)||hee)&&Cne((()=>{wee&&pae(wee,tee,eee),hee&&yoe(eee,null,tee,"unmounted")}),ree)},Wee=eee=>{const{type:tee,el:el,anchor:ree,transition:oee}=eee;if(tee===Mne)return void Kee(el,ree);if(tee===jne)return void Eee(eee);const nee=()=>{iee(el),oee&&!oee.persisted&&oee.afterLeave&&oee.afterLeave()};if(1&eee.shapeFlag&&oee&&!oee.persisted){const{leave:tee,delayLeave:ree}=oee,aee=()=>tee(el,nee);ree?ree(eee.el,nee,aee):aee()}else nee()},Kee=(eee,tee)=>{let ree;for(;eee!==tee;)ree=wee(eee),iee(eee),eee=ree;iee(tee)},Hee=(eee,tee,ree)=>{const{bum:oee,scope:nee,update:aee,subTree:iee,um:um}=eee;oee&&Lee(oee),nee.stop(),aee&&(aee.active=!1,Qee(iee,eee,tee,ree)),um&&Cne(um,tee),Cne((()=>{eee.isUnmounted=!0}),tee),tee&&tee.pendingBranch&&!tee.isUnmounted&&eee.asyncDep&&!eee.asyncResolved&&eee.suspenseId===tee.pendingId&&(tee.deps--,0===tee.deps&&tee.resolve())},Xee=(eee,tee,ree,oee=!1,nee=!1,aee=0)=>{for(let i=aee;i6&eee.shapeFlag?Zee(eee.component.subTree):128&eee.shapeFlag?eee.suspense.next():wee(eee.anchor||eee.el),ete=(eee,tee,ree)=>{null==eee?tee._vnode&&Qee(tee._vnode,null,null,!0):mee(tee._vnode||null,eee,tee,null,null,null,ree),Hre(),Xre(),tee._vnode=eee},tte={p:mee,um:Qee,m:Gee,r:Wee,mt:Pee,mc:Ree,pc:qee,pbc:Cee,n:Zee,o:eee};let rte,ote;return{render:ete,hydrate:rte,createApp:une(ete,rte)}}(eee)}function Fne({effect:eee,update:tee},ree){eee.allowRecurse=tee.allowRecurse=ree}function zne(n1,n2,eee=!1){const tee=n1.children,ree=n2.children;if(dee(tee)&&dee(ree))for(let i=0;i0?Vne||ree:null,$ne.pop(),Vne=$ne[$ne.length-1]||null,Bne>0&&Vne&&Vne.push(eee),eee}function Qne(eee,tee,ree,oee,nee,aee){return Gne(eae(eee,tee,ree,oee,nee,aee,!0))}function Wne(eee,tee,ree,oee,nee){return Gne(tae(eee,tee,ree,oee,nee,!0))}function Kne(eee){return!!eee&&!0===eee.__v_isVNode}function Hne(n1,n2){return n1.type===n2.type&&n1.key===n2.key}const Xne="__vInternal",Zne=({key:eee})=>null!=eee?eee:null,Jne=({ref:eee,ref_key:tee,ref_for:ree})=>("number"==typeof eee&&(eee=""+eee),null!=eee?fee(eee)||xre(eee)||wee(eee)?{i:noe,r:eee,k:tee,f:!!ree}:eee:null);function eae(eee,tee=null,ree=null,oee=0,nee=null,aee=(eee===Mne?0:1),iee=!1,see=!1){const lee={__v_isVNode:!0,__v_skip:!0,type:eee,props:tee,key:tee&&Zne(tee),ref:tee&&Jne(tee),scopeId:aoe,slotScopeIds:null,children:ree,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:aee,patchFlag:oee,dynamicProps:nee,dynamicChildren:null,appContext:null,ctx:noe};return see?(lae(lee,ree),128&aee&&eee.normalize(lee)):ree&&(lee.shapeFlag|=fee(ree)?8:16),Bne>0&&!iee&&Vne&&(lee.patchFlag>0||6&aee)&&32!==lee.patchFlag&&Vne.push(lee),lee}const tae=function(eee,tee=null,ree=null,oee=0,nee=null,aee=!1){eee&&eee!==joe||(eee=Une);if(Kne(eee)){const oee=rae(eee,tee,!0);return ree&&lae(oee,ree),Bne>0&&!aee&&Vne&&(6&oee.shapeFlag?Vne[Vne.indexOf(eee)]=oee:Vne.push(oee)),oee.patchFlag|=-2,oee}iee=eee,wee(iee)&&"__vccOpts"in iee&&(eee=eee.__vccOpts);var iee;if(tee){tee=function(eee){return eee?gre(eee)||Xne in eee?see({},eee):eee:null}(tee);let{class:eee,style:ree}=tee;eee&&!fee(eee)&&(tee.class=Yee(eee)),mee(ree)&&(gre(ree)&&!dee(ree)&&(ree=see({},ree)),tee.style=jee(ree))}const lee=fee(eee)?1:(eee=>eee.__isSuspense)(eee)?128:(eee=>eee.__isTeleport)(eee)?64:mee(eee)?4:wee(eee)?2:0;return eae(eee,tee,ree,oee,nee,lee,aee,!0)};function rae(eee,tee,ree=!1){const{props:oee,ref:nee,patchFlag:aee,children:iee}=eee,see=tee?cae(oee||{},tee):oee;return{__v_isVNode:!0,__v_skip:!0,type:eee.type,props:see,key:see&&Zne(see),ref:tee&&tee.ref?ree&&nee?dee(nee)?nee.concat(Jne(tee)):[nee,Jne(tee)]:Jne(tee):nee,scopeId:eee.scopeId,slotScopeIds:eee.slotScopeIds,children:iee,target:eee.target,targetAnchor:eee.targetAnchor,staticCount:eee.staticCount,shapeFlag:eee.shapeFlag,patchFlag:tee&&eee.type!==Mne?-1===aee?16:16|aee:aee,dynamicProps:eee.dynamicProps,dynamicChildren:eee.dynamicChildren,appContext:eee.appContext,dirs:eee.dirs,transition:eee.transition,component:eee.component,suspense:eee.suspense,ssContent:eee.ssContent&&rae(eee.ssContent),ssFallback:eee.ssFallback&&rae(eee.ssFallback),el:eee.el,anchor:eee.anchor,ctx:eee.ctx,ce:eee.ce}}function oae(eee=" ",tee=0){return tae(Pne,null,eee,tee)}function nae(eee,tee){const ree=tae(jne,null,eee);return ree.staticCount=tee,ree}function aae(eee="",tee=!1){return tee?(qne(),Wne(Une,null,eee)):tae(Une,null,eee)}function iae(eee){return null==eee||"boolean"==typeof eee?tae(Une):dee(eee)?tae(Mne,null,eee.slice()):"object"==typeof eee?sae(eee):tae(Pne,null,String(eee))}function sae(eee){return null===eee.el&&-1!==eee.patchFlag||eee.memo?eee:rae(eee)}function lae(eee,tee){let ree=0;const{shapeFlag:oee}=eee;if(null==tee)tee=null;else if(dee(tee))ree=16;else if("object"==typeof tee){if(65&oee){const ree=tee.default;return void(ree&&(ree._c&&(ree._d=!1),lae(eee,ree()),ree._c&&(ree._d=!0)))}{ree=32;const oee=tee._;oee||Xne in tee?3===oee&&noe&&(1===noe.slots._?tee._=1:(tee._=2,eee.patchFlag|=1024)):tee._ctx=noe}}else wee(tee)?(tee={default:tee,_ctx:noe},ree=32):(tee=String(tee),64&oee?(ree=16,tee=[oae(tee)]):ree=8);eee.children=tee,eee.shapeFlag|=ree}function cae(...eee){const tee={};for(let i=0;ihae||noe;let wae,fae,bae="__VUE_INSTANCE_SETTERS__";(fae=Uee()[bae])||(fae=Uee()[bae]=[]),fae.push((i=>hae=i)),wae=eee=>{fae.length>1?fae.forEach((s=>s(eee))):fae[0](eee)};const mae=eee=>{wae(eee),eee.scope.on()},vae=()=>{hae&&hae.scope.off(),wae(null)};function yae(eee){return 4&eee.vnode.shapeFlag}let xae,kae=!1;function _ae(eee,tee,ree){wee(tee)?eee.type.__ssrInlineRender?eee.ssrRender=tee:eee.render=tee:mee(tee)&&(eee.setupState=Ore(tee)),Eae(eee,ree)}function Eae(eee,tee,ree){const nee=eee.type;if(!eee.render){if(!tee&&xae&&!nee.render){const tee=nee.template||rne(eee).template;if(tee){const{isCustomElement:ree,compilerOptions:oee}=eee.appContext.config,{delimiters:aee,compilerOptions:iee}=nee,lee=see(see({isCustomElement:ree,delimiters:aee},oee),iee);nee.render=xae(tee,lee)}}eee.render=nee.render||oee}mae(eee),bte(),Joe(eee),mte(),vae()}function Tae(eee){if(eee.exposed)return eee.exposeProxy||(eee.exposeProxy=new Proxy(Ore(fre(eee.exposed)),{get:(tee,ree)=>ree in tee?tee[ree]:ree in Woe?Woe[ree](eee):void 0,has:(eee,tee)=>tee in eee||tee in Woe}))}const Sae=(eee,tee)=>function(eee,tee,ree=!1){let nee,aee;const iee=wee(eee);return iee?(nee=eee,aee=oee):(nee=eee.get,aee=eee.set),new Lre(nee,aee,iee||!aee,ree)}(eee,0,kae);function h(eee,tee,ree){const l=arguments.length;return 2===l?mee(tee)&&!dee(tee)?Kne(tee)?tae(eee,null,[tee]):tae(eee,tee):tae(eee,null,tee):(l>3?ree=Array.prototype.slice.call(arguments,2):3===l&&Kne(ree)&&(ree=[ree]),tae(eee,tee,ree))}const Iae=Symbol.for("v-scx"),Oae=()=>wne(Iae),Nae="3.3.4",Aae="undefined"!=typeof document?document:null,Rae=Aae&&Aae.createElement("template"),Dae={insert:(eee,tee,ree)=>{tee.insertBefore(eee,ree||null)},remove:eee=>{const tee=eee.parentNode;tee&&tee.removeChild(eee)},createElement:(eee,tee,is,ree)=>{const el=tee?Aae.createElementNS("http://www.w3.org/2000/svg",eee):Aae.createElement(eee,is?{is:is}:void 0);return"select"===eee&&ree&&null!=ree.multiple&&el.setAttribute("multiple",ree.multiple),el},createText:eee=>Aae.createTextNode(eee),createComment:eee=>Aae.createComment(eee),setText:(eee,tee)=>{eee.nodeValue=tee},setElementText:(el,eee)=>{el.textContent=eee},parentNode:eee=>eee.parentNode,nextSibling:eee=>eee.nextSibling,querySelector:eee=>Aae.querySelector(eee),setScopeId(el,id){el.setAttribute(id,"")},insertStaticContent(eee,tee,ree,oee,nee,aee){const iee=ree?ree.previousSibling:tee.lastChild;if(nee&&(nee===aee||nee.nextSibling))for(;tee.insertBefore(nee.cloneNode(!0),ree),nee!==aee&&(nee=nee.nextSibling););else{Rae.innerHTML=oee?`${eee}`:eee;const nee=Rae.content;if(oee){const eee=nee.firstChild;for(;eee.firstChild;)nee.appendChild(eee.firstChild);nee.removeChild(eee)}tee.insertBefore(nee,ree)}return[iee?iee.nextSibling:tee.firstChild,ree?ree.previousSibling:tee.lastChild]}};const Cae=/\s*!important$/;function Lae(eee,tee,ree){if(dee(ree))ree.forEach((v=>Lae(eee,tee,v)));else if(null==ree&&(ree=""),tee.startsWith("--"))eee.setProperty(tee,ree);else{const oee=function(eee,tee){const ree=zae[tee];if(ree)return ree;let oee=Oee(tee);if("filter"!==oee&&oee in eee)return zae[tee]=oee;oee=Ree(oee);for(let i=0;i{if(e._vts){if(e._vts<=ree.attached)return}else e._vts=Date.now();zre(function(e,eee){if(dee(eee)){const tee=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{tee.call(e),e._stopped=!0},eee.map((fn=>e2=>!e2._stopped&&fn&&fn(e2)))}return eee}(e,ree.value),tee,5,[e])};return ree.value=eee,ree.attached=qae(),ree}(ree,oee);Pae(el,tee,aee,iee)}else aee&&(!function(el,eee,tee,ree){el.removeEventListener(eee,tee,ree)}(el,tee,aee,iee),nee[eee]=void 0)}}const jae=/(?:Once|Passive|Capture)$/;let $ae=0;const Vae=Promise.resolve(),qae=()=>$ae||(Vae.then((()=>$ae=0)),$ae=Date.now());const Bae=/^on[a-z]/;const Yae="undefined"!=typeof HTMLElement?HTMLElement:class{};class Gae extends Yae{constructor(eee,tee={},ree){super(),this._def=eee,this._props=tee,this._instance=null,this._connected=!1,this._resolved=!1,this._numberProps=null,this.shadowRoot&&ree?ree(this._createVNode(),this.shadowRoot):(this.attachShadow({mode:"open"}),this._def.__asyncLoader||this._resolveProps(this._def))}connectedCallback(){this._connected=!0,this._instance||(this._resolved?this._update():this._resolveDef())}disconnectedCallback(){this._connected=!1,Qre((()=>{this._connected||(sie(null,this.shadowRoot),this._instance=null)}))}_resolveDef(){this._resolved=!0;for(let i=0;i{for(const m of eee)this._setAttr(m.attributeName)})).observe(this,{attributes:!0});const eee=(eee,tee=!1)=>{const{props:ree,styles:oee}=eee;let nee;if(ree&&!dee(ree))for(const aee in ree){const eee=ree[aee];(eee===Number||eee&&eee.type===Number)&&(aee in this._props&&(this._props[aee]=Mee(this._props[aee])),(nee||(nee=Object.create(null)))[Oee(aee)]=!0)}this._numberProps=nee,tee&&this._resolveProps(eee),this._applyStyles(oee),this._update()},tee=this._def.__asyncLoader;tee?tee().then((tee=>eee(tee,!0))):eee(this._def)}_resolveProps(eee){const{props:tee}=eee,ree=dee(tee)?tee:Object.keys(tee||{});for(const oee of Object.keys(this))"_"!==oee[0]&&ree.includes(oee)&&this._setProp(oee,this[oee],!0,!1);for(const oee of ree.map(Oee))Object.defineProperty(this,oee,{get(){return this._getProp(oee)},set(eee){this._setProp(oee,eee)}})}_setAttr(eee){let tee=this.getAttribute(eee);const ree=Oee(eee);this._numberProps&&this._numberProps[ree]&&(tee=Mee(tee)),this._setProp(ree,tee,!1)}_getProp(eee){return this._props[eee]}_setProp(eee,tee,ree=!0,oee=!0){tee!==this._props[eee]&&(this._props[eee]=tee,oee&&this._instance&&this._update(),ree&&(!0===tee?this.setAttribute(Aee(eee),""):"string"==typeof tee||"number"==typeof tee?this.setAttribute(Aee(eee),tee+""):tee||this.removeAttribute(Aee(eee))))}_update(){sie(this._createVNode(),this.shadowRoot)}_createVNode(){const eee=tae(this._def,see({},this._props));return this._instance||(eee.ce=eee=>{this._instance=eee,eee.isCE=!0;const tee=(eee,tee)=>{this.dispatchEvent(new CustomEvent(eee,{detail:tee}))};eee.emit=(eee,...ree)=>{tee(eee,ree),Aee(eee)!==eee&&tee(Aee(eee),ree)};let ree=this;for(;ree=ree&&(ree.parentNode||ree.host);)if(ree instanceof Gae){eee.parent=ree._instance,eee.provides=ree._instance.provides;break}}),eee}_applyStyles(eee){eee&&eee.forEach((eee=>{const s=document.createElement("style");s.textContent=eee,this.shadowRoot.appendChild(s)}))}}const Qae=eee=>{const fn=eee.props["onUpdate:modelValue"]||!1;return dee(fn)?eee=>Lee(fn,eee):fn};function Wae(e){e.target.composing=!0}function Kae(e){const eee=e.target;eee.composing&&(eee.composing=!1,eee.dispatchEvent(new Event("input")))}const Hae={created(el,{modifiers:{lazy:eee,trim:tee,number:ree}},oee){el._assign=Qae(oee);const nee=ree||oee.props&&"number"===oee.props.type;Pae(el,eee?"change":"input",(e=>{if(e.target.composing)return;let eee=el.value;tee&&(eee=eee.trim()),nee&&(eee=zee(eee)),el._assign(eee)})),tee&&Pae(el,"change",(()=>{el.value=el.value.trim()})),eee||(Pae(el,"compositionstart",Wae),Pae(el,"compositionend",Kae),Pae(el,"change",Kae))},mounted(el,{value:eee}){el.value=null==eee?"":eee},beforeUpdate(el,{value:eee,modifiers:{lazy:tee,trim:ree,number:oee}},nee){if(el._assign=Qae(nee),el.composing)return;if(document.activeElement===el&&"range"!==el.type){if(tee)return;if(ree&&el.value.trim()===eee)return;if((oee||"number"===el.type)&&zee(el.value)===eee)return}const aee=null==eee?"":eee;el.value!==aee&&(el.value=aee)}},Xae={deep:!0,created(el,{value:eee,modifiers:{number:tee}},ree){const oee=hee(eee);Pae(el,"change",(()=>{const eee=Array.prototype.filter.call(el.options,(o=>o.selected)).map((o=>tee?zee(Jae(o)):Jae(o)));el._assign(el.multiple?oee?new Set(eee):eee:eee[0])})),el._assign=Qae(ree)},mounted(el,{value:eee}){Zae(el,eee)},beforeUpdate(el,eee,tee){el._assign=Qae(tee)},updated(el,{value:eee}){Zae(el,eee)}};function Zae(el,eee){const tee=el.multiple;if(!tee||dee(eee)||hee(eee)){for(let i=0,l=el.options.length;i-1:ree.selected=eee.has(oee);else if(Wee(Jae(ree),eee))return void(el.selectedIndex!==i&&(el.selectedIndex=i))}tee||-1===el.selectedIndex||(el.selectedIndex=-1)}}function Jae(el){return"_value"in el?el._value:el.value}const eie=["ctrl","shift","alt","meta"],tie={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,eee)=>eie.some((m=>e[`${m}Key`]&&!eee.includes(m)))},rie={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},oie={beforeMount(el,{value:eee},{transition:tee}){el._vod="none"===el.style.display?"":el.style.display,tee&&eee?tee.beforeEnter(el):nie(el,eee)},mounted(el,{value:eee},{transition:tee}){tee&&eee&&tee.enter(el)},updated(el,{value:eee,oldValue:tee},{transition:ree}){!eee!=!tee&&(ree?eee?(ree.beforeEnter(el),nie(el,!0),ree.enter(el)):ree.leave(el,(()=>{nie(el,!1)})):nie(el,eee))},beforeUnmount(el,{value:eee}){nie(el,eee)}};function nie(el,eee){el.style.display=eee?el._vod:"none"}const aie=see({patchProp:(el,eee,tee,ree,oee=!1,nee,see,lee,cee)=>{"class"===eee?function(el,eee,tee){const ree=el._vtc;ree&&(eee=(eee?[eee,...ree]:[...ree]).join(" ")),null==eee?el.removeAttribute("class"):tee?el.setAttribute("class",eee):el.className=eee}(el,ree,oee):"style"===eee?function(el,eee,tee){const ree=el.style,oee=fee(tee);if(tee&&!oee){if(eee&&!fee(eee))for(const oee in eee)null==tee[oee]&&Lae(ree,oee,"");for(const eee in tee)Lae(ree,eee,tee[eee])}else{const nee=ree.display;oee?eee!==tee&&(ree.cssText=tee):eee&&el.removeAttribute("style"),"_vod"in el&&(ree.display=nee)}}(el,tee,ree):aee(eee)?iee(eee)||Uae(el,eee,0,ree,see):("."===eee[0]?(eee=eee.slice(1),1):"^"===eee[0]?(eee=eee.slice(1),0):function(el,eee,tee,ree){if(ree)return"innerHTML"===eee||"textContent"===eee||!!(eee in el&&Bae.test(eee)&&wee(tee));if("spellcheck"===eee||"draggable"===eee||"translate"===eee)return!1;if("form"===eee)return!1;if("list"===eee&&"INPUT"===el.tagName)return!1;if("type"===eee&&"TEXTAREA"===el.tagName)return!1;if(Bae.test(eee)&&fee(tee))return!1;return eee in el}(el,eee,ree,oee))?function(el,eee,tee,ree,oee,nee,aee){if("innerHTML"===eee||"textContent"===eee)return ree&&aee(ree,oee,nee),void(el[eee]=null==tee?"":tee);const iee=el.tagName;if("value"===eee&&"PROGRESS"!==iee&&!iee.includes("-")){el._value=tee;const ree=null==tee?"":tee;return("OPTION"===iee?el.getAttribute("value"):el.value)!==ree&&(el.value=ree),void(null==tee&&el.removeAttribute(eee))}let see=!1;if(""===tee||null==tee){const ree=typeof el[eee];"boolean"===ree?tee=Qee(tee):null==tee&&"string"===ree?(tee="",see=!0):"number"===ree&&(tee=0,see=!0)}try{el[eee]=tee}catch(e){}see&&el.removeAttribute(eee)}(el,eee,ree,nee,see,lee,cee):("true-value"===eee?el._trueValue=ree:"false-value"===eee&&(el._falseValue=ree),function(el,eee,tee,ree,oee){if(ree&&eee.startsWith("xlink:"))null==tee?el.removeAttributeNS(Mae,eee.slice(6,eee.length)):el.setAttributeNS(Mae,eee,tee);else{const ree=Gee(eee);null==tee||ree&&!Qee(tee)?el.removeAttribute(eee):el.setAttribute(eee,ree?"":tee)}}(el,eee,ree,oee))}},Dae);let iie;const sie=(...eee)=>{(iie||(iie=Lne(aie))).render(...eee)},lie="undefined"!=typeof window,cie=(eee,tee=!1)=>tee?Symbol.for(eee):Symbol(eee),pie=(eee,tee,ree)=>die({l:eee,k:tee,s:ree}),die=eee=>JSON.stringify(eee).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),uie=eee=>"number"==typeof eee&&isFinite(eee),hie=eee=>"[object Date]"===Nie(eee),gie=eee=>"[object RegExp]"===Nie(eee),wie=eee=>Aie(eee)&&0===Object.keys(eee).length,fie=Object.assign; +/*! + * shared v9.13.1 + * (c) 2024 kazuya kawaguchi + * Released under the MIT License. + */let bie;const mie=()=>bie||(bie="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{});function vie(eee){return eee.replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}const yie=Object.prototype.hasOwnProperty;function xie(eee,tee){return yie.call(eee,tee)}const kie=Array.isArray,_ie=eee=>"function"==typeof eee,Eie=eee=>"string"==typeof eee,Tie=eee=>"boolean"==typeof eee,Sie=eee=>null!==eee&&"object"==typeof eee,Iie=eee=>Sie(eee)&&_ie(eee.then)&&_ie(eee.catch),Oie=Object.prototype.toString,Nie=eee=>Oie.call(eee),Aie=eee=>{if(!Sie(eee))return!1;const tee=Object.getPrototypeOf(eee);return null===tee||tee.constructor===Object};function Rie(eee){let tee=eee;return()=>++tee}function Die(eee,tee){"undefined"!=typeof console&&(console.warn("[intlify] "+eee),tee&&console.warn(tee.stack))}const Cie=eee=>!Sie(eee)||kie(eee);function Lie(eee,tee){if(Cie(eee)||Cie(tee))throw new Error("Invalid value");const ree=[{src:eee,des:tee}];for(;ree.length;){const{src:eee,des:tee}=ree.pop();Object.keys(eee).forEach((oee=>{Cie(eee[oee])||Cie(tee[oee])?tee[oee]=eee[oee]:ree.push({src:eee[oee],des:tee[oee]})}))}} +/*! + * message-compiler v9.13.1 + * (c) 2024 kazuya kawaguchi + * Released under the MIT License. + */function Fie(eee,tee,ree){return{start:eee,end:tee}}const zie=/\{([0-9a-zA-Z]+)\}/g;function Mie(eee,...tee){return 1===tee.length&&jie(tee[0])&&(tee=tee[0]),tee&&tee.hasOwnProperty||(tee={}),eee.replace(zie,((eee,ree)=>tee.hasOwnProperty(ree)?tee[ree]:""))}const Pie=Object.assign,Uie=eee=>"string"==typeof eee,jie=eee=>null!==eee&&"object"==typeof eee;function $ie(eee,tee=""){return eee.reduce(((eee,ree,oee)=>0===oee?eee+ree:eee+tee+ree),"")}const Vie={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},qie={[Vie.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};const Bie={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},Yie={[Bie.EXPECTED_TOKEN]:"Expected token: '{0}'",[Bie.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Bie.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Bie.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Bie.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Bie.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Bie.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Bie.EMPTY_PLACEHOLDER]:"Empty placeholder",[Bie.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Bie.INVALID_LINKED_FORMAT]:"Invalid linked format",[Bie.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Bie.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Bie.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Bie.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Bie.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Bie.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Gie(eee,tee,ree={}){const{domain:oee,messages:nee,args:aee}=ree,iee=Mie((nee||Yie)[eee]||"",...aee||[]),see=new SyntaxError(String(iee));return see.code=eee,tee&&(see.location=tee),see.domain=oee,see}function Qie(eee){throw eee}const Wie=" ",Kie="\r",Hie="\n",Xie=String.fromCharCode(8232),Zie=String.fromCharCode(8233);function Jie(eee){const tee=eee;let ree=0,oee=1,nee=1,aee=0;const iee=eee=>tee[eee]===Kie&&tee[eee+1]===Hie,see=eee=>tee[eee]===Zie,lee=eee=>tee[eee]===Xie,cee=eee=>iee(eee)||(eee=>tee[eee]===Hie)(eee)||see(eee)||lee(eee),pee=eee=>iee(eee)||see(eee)||lee(eee)?Hie:tee[eee];function dee(){return aee=0,cee(ree)&&(oee++,nee=0),iee(ree)&&ree++,ree++,nee++,tee[ree]}return{index:()=>ree,line:()=>oee,column:()=>nee,peekOffset:()=>aee,charAt:pee,currentChar:()=>pee(ree),currentPeek:()=>pee(ree+aee),next:dee,peek:function(){return iee(ree+aee)&&aee++,aee++,tee[ree+aee]},reset:function(){ree=0,oee=1,nee=1,aee=0},resetPeek:function(eee=0){aee=eee},skipToPeek:function(){const eee=ree+aee;for(;eee!==ree;)dee();aee=0}}}const ese=void 0,tse="'",rse="tokenizer";function ose(eee,tee={}){const ree=!1!==tee.location,oee=Jie(eee),nee=()=>oee.index(),aee=()=>{return eee=oee.line(),tee=oee.column(),ree=oee.index(),{line:eee,column:tee,offset:ree};var eee,tee,ree},iee=aee(),see=nee(),lee={currentType:14,offset:see,startLoc:iee,endLoc:iee,lastType:14,lastOffset:see,lastStartLoc:iee,lastEndLoc:iee,braceNest:0,inLinked:!1,text:""},cee=()=>lee,{onError:pee}=tee;function dee(eee,tee,oee,...nee){const aee=cee();if(tee.column+=oee,tee.offset+=oee,pee){const oee=Gie(eee,ree?Fie(aee.startLoc,tee):null,{domain:rse,args:nee});pee(oee)}}function uee(eee,tee,oee){eee.endLoc=aee(),eee.currentType=tee;const nee={type:tee};return ree&&(nee.loc=Fie(eee.startLoc,eee.endLoc)),null!=oee&&(nee.value=oee),nee}const hee=eee=>uee(eee,14);function gee(eee,ch){return eee.currentChar()===ch?(eee.next(),ch):(dee(Bie.EXPECTED_TOKEN,aee(),0,ch),"")}function wee(eee){let tee="";for(;eee.currentPeek()===Wie||eee.currentPeek()===Hie;)tee+=eee.currentPeek(),eee.peek();return tee}function fee(eee){const tee=wee(eee);return eee.skipToPeek(),tee}function bee(ch){if(ch===ese)return!1;const cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||95===cc}function mee(eee,tee){const{currentType:ree}=tee;if(2!==ree)return!1;wee(eee);const oee=function(ch){if(ch===ese)return!1;const cc=ch.charCodeAt(0);return cc>=48&&cc<=57}("-"===eee.currentPeek()?eee.peek():eee.currentPeek());return eee.resetPeek(),oee}function vee(eee){wee(eee);const tee="|"===eee.currentPeek();return eee.resetPeek(),tee}function yee(eee,tee=!0){const fn=(tee=!1,ree="",oee=!1)=>{const ch=eee.currentPeek();return"{"===ch?"%"!==ree&&tee:"@"!==ch&&ch?"%"===ch?(eee.peek(),fn(tee,"%",!0)):"|"===ch?!("%"!==ree&&!oee)||!(ree===Wie||ree===Hie):ch===Wie?(eee.peek(),fn(!0,Wie,oee)):ch!==Hie||(eee.peek(),fn(!0,Hie,oee)):"%"===ree||tee},ree=fn();return tee&&eee.resetPeek(),ree}function xee(eee,fn){const ch=eee.currentChar();return ch===ese?ese:fn(ch)?(eee.next(),ch):null}function kee(ch){const cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||cc>=48&&cc<=57||95===cc||36===cc}function _ee(eee){return xee(eee,kee)}function Eee(ch){const cc=ch.charCodeAt(0);return cc>=97&&cc<=122||cc>=65&&cc<=90||cc>=48&&cc<=57||95===cc||36===cc||45===cc}function Tee(eee){return xee(eee,Eee)}function See(ch){const cc=ch.charCodeAt(0);return cc>=48&&cc<=57}function Iee(eee){return xee(eee,See)}function Oee(ch){const cc=ch.charCodeAt(0);return cc>=48&&cc<=57||cc>=65&&cc<=70||cc>=97&&cc<=102}function Nee(eee){return xee(eee,Oee)}function Aee(eee){let ch="",tee="";for(;ch=Iee(eee);)tee+=ch;return tee}function Ree(eee){let tee="";for(;;){const ch=eee.currentChar();if("{"===ch||"}"===ch||"@"===ch||"|"===ch||!ch)break;if("%"===ch){if(!yee(eee))break;tee+=ch,eee.next()}else if(ch===Wie||ch===Hie)if(yee(eee))tee+=ch,eee.next();else{if(vee(eee))break;tee+=ch,eee.next()}else tee+=ch,eee.next()}return tee}function Dee(ch){return ch!==tse&&ch!==Hie}function Cee(eee){const ch=eee.currentChar();switch(ch){case"\\":case"'":return eee.next(),`\\${ch}`;case"u":return Lee(eee,ch,4);case"U":return Lee(eee,ch,6);default:return dee(Bie.UNKNOWN_ESCAPE_SEQUENCE,aee(),0,ch),""}}function Lee(eee,tee,ree){gee(eee,tee);let oee="";for(let i=0;i=1&&dee(Bie.NOT_ALLOW_NEST_PLACEHOLDER,aee(),0),eee.next(),ree=uee(tee,2,"{"),fee(eee),tee.braceNest++,ree;case"}":return tee.braceNest>0&&2===tee.currentType&&dee(Bie.EMPTY_PLACEHOLDER,aee(),0),eee.next(),ree=uee(tee,3,"}"),tee.braceNest--,tee.braceNest>0&&fee(eee),tee.inLinked&&0===tee.braceNest&&(tee.inLinked=!1),ree;case"@":return tee.braceNest>0&&dee(Bie.UNTERMINATED_CLOSING_BRACE,aee(),0),ree=Pee(eee,tee)||hee(tee),tee.braceNest=0,ree;default:{let oee=!0,nee=!0,iee=!0;if(vee(eee))return tee.braceNest>0&&dee(Bie.UNTERMINATED_CLOSING_BRACE,aee(),0),ree=uee(tee,1,zee(eee)),tee.braceNest=0,tee.inLinked=!1,ree;if(tee.braceNest>0&&(5===tee.currentType||6===tee.currentType||7===tee.currentType))return dee(Bie.UNTERMINATED_CLOSING_BRACE,aee(),0),tee.braceNest=0,Uee(eee,tee);if(oee=function(eee,tee){const{currentType:ree}=tee;if(2!==ree)return!1;wee(eee);const oee=bee(eee.currentPeek());return eee.resetPeek(),oee}(eee,tee))return ree=uee(tee,5,function(eee){fee(eee);let ch="",tee="";for(;ch=Tee(eee);)tee+=ch;return eee.currentChar()===ese&&dee(Bie.UNTERMINATED_CLOSING_BRACE,aee(),0),tee}(eee)),fee(eee),ree;if(nee=mee(eee,tee))return ree=uee(tee,6,function(eee){fee(eee);let tee="";return"-"===eee.currentChar()?(eee.next(),tee+=`-${Aee(eee)}`):tee+=Aee(eee),eee.currentChar()===ese&&dee(Bie.UNTERMINATED_CLOSING_BRACE,aee(),0),tee}(eee)),fee(eee),ree;if(iee=function(eee,tee){const{currentType:ree}=tee;if(2!==ree)return!1;wee(eee);const oee=eee.currentPeek()===tse;return eee.resetPeek(),oee}(eee,tee))return ree=uee(tee,7,function(eee){fee(eee),gee(eee,"'");let ch="",tee="";for(;ch=xee(eee,Dee);)tee+="\\"===ch?Cee(eee):ch;const ree=eee.currentChar();return ree===Hie||ree===ese?(dee(Bie.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,aee(),0),ree===Hie&&(eee.next(),gee(eee,"'")),tee):(gee(eee,"'"),tee)}(eee)),fee(eee),ree;if(!oee&&!nee&&!iee)return ree=uee(tee,13,function(eee){fee(eee);let ch="",tee="";for(;ch=xee(eee,Fee);)tee+=ch;return tee}(eee)),dee(Bie.INVALID_TOKEN_IN_PLACEHOLDER,aee(),0,ree.value),fee(eee),ree;break}}return ree}function Pee(eee,tee){const{currentType:ree}=tee;let oee=null;const ch=eee.currentChar();switch(8!==ree&&9!==ree&&12!==ree&&10!==ree||ch!==Hie&&ch!==Wie||dee(Bie.INVALID_LINKED_FORMAT,aee(),0),ch){case"@":return eee.next(),oee=uee(tee,8,"@"),tee.inLinked=!0,oee;case".":return fee(eee),eee.next(),uee(tee,9,".");case":":return fee(eee),eee.next(),uee(tee,10,":");default:return vee(eee)?(oee=uee(tee,1,zee(eee)),tee.braceNest=0,tee.inLinked=!1,oee):function(eee,tee){const{currentType:ree}=tee;if(8!==ree)return!1;wee(eee);const oee="."===eee.currentPeek();return eee.resetPeek(),oee}(eee,tee)||function(eee,tee){const{currentType:ree}=tee;if(8!==ree&&12!==ree)return!1;wee(eee);const oee=":"===eee.currentPeek();return eee.resetPeek(),oee}(eee,tee)?(fee(eee),Pee(eee,tee)):function(eee,tee){const{currentType:ree}=tee;if(9!==ree)return!1;wee(eee);const oee=bee(eee.currentPeek());return eee.resetPeek(),oee}(eee,tee)?(fee(eee),uee(tee,12,function(eee){let ch="",tee="";for(;ch=_ee(eee);)tee+=ch;return tee}(eee))):function(eee,tee){const{currentType:ree}=tee;if(10!==ree)return!1;const fn=()=>{const ch=eee.currentPeek();return"{"===ch?bee(eee.peek()):!("@"===ch||"%"===ch||"|"===ch||":"===ch||"."===ch||ch===Wie||!ch)&&(ch===Hie?(eee.peek(),fn()):yee(eee,!1))},oee=fn();return eee.resetPeek(),oee}(eee,tee)?(fee(eee),"{"===ch?Mee(eee,tee)||oee:uee(tee,11,function(eee){const fn=tee=>{const ch=eee.currentChar();return"{"!==ch&&"%"!==ch&&"@"!==ch&&"|"!==ch&&"("!==ch&&")"!==ch&&ch?ch===Wie?tee:(tee+=ch,eee.next(),fn(tee)):tee};return fn("")}(eee))):(8===ree&&dee(Bie.INVALID_LINKED_FORMAT,aee(),0),tee.braceNest=0,tee.inLinked=!1,Uee(eee,tee))}}function Uee(eee,tee){let ree={type:14};if(tee.braceNest>0)return Mee(eee,tee)||hee(tee);if(tee.inLinked)return Pee(eee,tee)||hee(tee);switch(eee.currentChar()){case"{":return Mee(eee,tee)||hee(tee);case"}":return dee(Bie.UNBALANCED_CLOSING_BRACE,aee(),0),eee.next(),uee(tee,3,"}");case"@":return Pee(eee,tee)||hee(tee);default:{if(vee(eee))return ree=uee(tee,1,zee(eee)),tee.braceNest=0,tee.inLinked=!1,ree;const{isModulo:oee,hasSpace:nee}=function(eee){const tee=wee(eee),ree="%"===eee.currentPeek()&&"{"===eee.peek();return eee.resetPeek(),{isModulo:ree,hasSpace:tee.length>0}}(eee);if(oee)return nee?uee(tee,0,Ree(eee)):uee(tee,4,function(eee){fee(eee);const ch=eee.currentChar();return"%"!==ch&&dee(Bie.EXPECTED_TOKEN,aee(),0,ch),eee.next(),"%"}(eee));if(yee(eee))return uee(tee,0,Ree(eee));break}}return ree}return{nextToken:function(){const{currentType:eee,offset:tee,startLoc:ree,endLoc:iee}=lee;return lee.lastType=eee,lee.lastOffset=tee,lee.lastStartLoc=ree,lee.lastEndLoc=iee,lee.offset=nee(),lee.startLoc=aee(),oee.currentChar()===ese?uee(lee,14):Uee(oee,lee)},currentOffset:nee,currentPosition:aee,context:cee}}const nse="parser",ase=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function ise(eee,tee,ree){switch(eee){case"\\\\":return"\\";case"\\'":return"'";default:{const eee=parseInt(tee||ree,16);return eee<=55295||eee>=57344?String.fromCodePoint(eee):"�"}}}function sse(eee={}){const tee=!1!==eee.location,{onError:ree,onWarn:oee}=eee;function nee(eee,oee,nee,aee,...iee){const see=eee.currentPosition();if(see.offset+=aee,see.column+=aee,ree){const eee=Gie(oee,tee?Fie(nee,see):null,{domain:nse,args:iee});ree(eee)}}function aee(eee,ree,nee,aee,...iee){const see=eee.currentPosition();if(see.offset+=aee,see.column+=aee,oee){const eee=tee?Fie(nee,see):null;oee(function(eee,tee,...ree){const oee=Mie(qie[eee],...ree||[]),nee={message:String(oee),code:eee};return tee&&(nee.location=tee),nee}(ree,eee,iee))}}function iee(eee,ree,oee){const nee={type:eee};return tee&&(nee.start=ree,nee.end=ree,nee.loc={start:oee,end:oee}),nee}function see(eee,ree,oee,nee){tee&&(eee.end=ree,eee.loc&&(eee.loc.end=oee))}function lee(eee,tee){const ree=eee.context(),oee=iee(3,ree.offset,ree.startLoc);return oee.value=tee,see(oee,eee.currentOffset(),eee.currentPosition()),oee}function cee(eee,tee){const ree=eee.context(),{lastOffset:oee,lastStartLoc:nee}=ree,aee=iee(5,oee,nee);return aee.index=parseInt(tee,10),eee.nextToken(),see(aee,eee.currentOffset(),eee.currentPosition()),aee}function pee(eee,tee,ree){const oee=eee.context(),{lastOffset:nee,lastStartLoc:aee}=oee,lee=iee(4,nee,aee);return lee.key=tee,!0===ree&&(lee.modulo=!0),eee.nextToken(),see(lee,eee.currentOffset(),eee.currentPosition()),lee}function dee(eee,tee){const ree=eee.context(),{lastOffset:oee,lastStartLoc:nee}=ree,aee=iee(9,oee,nee);return aee.value=tee.replace(ase,ise),eee.nextToken(),see(aee,eee.currentOffset(),eee.currentPosition()),aee}function uee(eee){const tee=eee.context(),ree=iee(6,tee.offset,tee.startLoc);let oee=eee.nextToken();if(9===oee.type){const tee=function(eee){const tee=eee.nextToken(),ree=eee.context(),{lastOffset:oee,lastStartLoc:aee}=ree,lee=iee(8,oee,aee);return 12!==tee.type?(nee(eee,Bie.UNEXPECTED_EMPTY_LINKED_MODIFIER,ree.lastStartLoc,0),lee.value="",see(lee,oee,aee),{nextConsumeToken:tee,node:lee}):(null==tee.value&&nee(eee,Bie.UNEXPECTED_LEXICAL_ANALYSIS,ree.lastStartLoc,0,lse(tee)),lee.value=tee.value||"",see(lee,eee.currentOffset(),eee.currentPosition()),{node:lee})}(eee);ree.modifier=tee.node,oee=tee.nextConsumeToken||eee.nextToken()}switch(10!==oee.type&&nee(eee,Bie.UNEXPECTED_LEXICAL_ANALYSIS,tee.lastStartLoc,0,lse(oee)),oee=eee.nextToken(),2===oee.type&&(oee=eee.nextToken()),oee.type){case 11:null==oee.value&&nee(eee,Bie.UNEXPECTED_LEXICAL_ANALYSIS,tee.lastStartLoc,0,lse(oee)),ree.key=function(eee,tee){const ree=eee.context(),oee=iee(7,ree.offset,ree.startLoc);return oee.value=tee,see(oee,eee.currentOffset(),eee.currentPosition()),oee}(eee,oee.value||"");break;case 5:null==oee.value&&nee(eee,Bie.UNEXPECTED_LEXICAL_ANALYSIS,tee.lastStartLoc,0,lse(oee)),ree.key=pee(eee,oee.value||"");break;case 6:null==oee.value&&nee(eee,Bie.UNEXPECTED_LEXICAL_ANALYSIS,tee.lastStartLoc,0,lse(oee)),ree.key=cee(eee,oee.value||"");break;case 7:null==oee.value&&nee(eee,Bie.UNEXPECTED_LEXICAL_ANALYSIS,tee.lastStartLoc,0,lse(oee)),ree.key=dee(eee,oee.value||"");break;default:{nee(eee,Bie.UNEXPECTED_EMPTY_LINKED_KEY,tee.lastStartLoc,0);const aee=eee.context(),lee=iee(7,aee.offset,aee.startLoc);return lee.value="",see(lee,aee.offset,aee.startLoc),ree.key=lee,see(ree,aee.offset,aee.startLoc),{nextConsumeToken:oee,node:ree}}}return see(ree,eee.currentOffset(),eee.currentPosition()),{node:ree}}function hee(eee){const tee=eee.context(),ree=iee(2,1===tee.currentType?eee.currentOffset():tee.offset,1===tee.currentType?tee.endLoc:tee.startLoc);ree.items=[];let oee=null,hee=null;do{const iee=oee||eee.nextToken();switch(oee=null,iee.type){case 0:null==iee.value&&nee(eee,Bie.UNEXPECTED_LEXICAL_ANALYSIS,tee.lastStartLoc,0,lse(iee)),ree.items.push(lee(eee,iee.value||""));break;case 6:null==iee.value&&nee(eee,Bie.UNEXPECTED_LEXICAL_ANALYSIS,tee.lastStartLoc,0,lse(iee)),ree.items.push(cee(eee,iee.value||""));break;case 4:hee=!0;break;case 5:null==iee.value&&nee(eee,Bie.UNEXPECTED_LEXICAL_ANALYSIS,tee.lastStartLoc,0,lse(iee)),ree.items.push(pee(eee,iee.value||"",!!hee)),hee&&(aee(eee,Vie.USE_MODULO_SYNTAX,tee.lastStartLoc,0,lse(iee)),hee=null);break;case 7:null==iee.value&&nee(eee,Bie.UNEXPECTED_LEXICAL_ANALYSIS,tee.lastStartLoc,0,lse(iee)),ree.items.push(dee(eee,iee.value||""));break;case 8:{const tee=uee(eee);ree.items.push(tee.node),oee=tee.nextConsumeToken||null;break}}}while(14!==tee.currentType&&1!==tee.currentType);return see(ree,1===tee.currentType?tee.lastOffset:eee.currentOffset(),1===tee.currentType?tee.lastEndLoc:eee.currentPosition()),ree}function gee(eee){const tee=eee.context(),{offset:ree,startLoc:oee}=tee,aee=hee(eee);return 14===tee.currentType?aee:function(eee,tee,ree,oee){const aee=eee.context();let lee=0===oee.items.length;const cee=iee(1,tee,ree);cee.cases=[],cee.cases.push(oee);do{const tee=hee(eee);lee||(lee=0===tee.items.length),cee.cases.push(tee)}while(14!==aee.currentType);return lee&&nee(eee,Bie.MUST_HAVE_MESSAGES_IN_PLURAL,ree,0),see(cee,eee.currentOffset(),eee.currentPosition()),cee}(eee,ree,oee,aee)}return{parse:function(ree){const oee=ose(ree,Pie({},eee)),aee=oee.context(),lee=iee(0,aee.offset,aee.startLoc);return tee&&lee.loc&&(lee.loc.source=ree),lee.body=gee(oee),eee.onCacheKey&&(lee.cacheKey=eee.onCacheKey(ree)),14!==aee.currentType&&nee(oee,Bie.UNEXPECTED_LEXICAL_ANALYSIS,aee.lastStartLoc,0,ree[aee.offset]||""),see(lee,oee.currentOffset(),oee.currentPosition()),lee}}}function lse(eee){if(14===eee.type)return"EOF";const tee=(eee.value||"").replace(/\r?\n/gu,"\\n");return tee.length>10?tee.slice(0,9)+"…":tee}function cse(eee,tee){for(let i=0;iree,helper:eee=>(ree.helpers.add(eee),eee)}}(eee);ree.helper("normalize"),eee.body&&pse(eee.body,ree);const oee=ree.context();eee.helpers=Array.from(oee.helpers)}function use(eee){if(1===eee.items.length){const tee=eee.items[0];3!==tee.type&&9!==tee.type||(eee.static=tee.value,delete tee.value)}else{const tee=[];for(let i=0;i1){eee.push(`${ree("plural")}([`),eee.indent(oee());const nee=tee.cases.length;for(let i=0;i{const ree=Uie(tee.mode)?tee.mode:"normal",oee=Uie(tee.filename)?tee.filename:"message.intl",nee=!!tee.sourceMap,aee=null!=tee.breakLineCode?tee.breakLineCode:"arrow"===ree?";":"\n",iee=tee.needIndent?tee.needIndent:"arrow"!==ree,see=eee.helpers||[],lee=function(eee,tee){const{sourceMap:ree,filename:oee,breakLineCode:nee,needIndent:aee}=tee,iee=!1!==tee.location,see={filename:oee,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:nee,needIndent:aee,indentLevel:0};function lee(eee,tee){see.code+=eee}function cee(n,eee=!0){const tee=eee?nee:"";lee(aee?tee+" ".repeat(n):tee)}return iee&&eee.loc&&(see.source=eee.loc.source),{context:()=>see,push:lee,indent:function(eee=!0){const tee=++see.indentLevel;eee&&cee(tee)},deindent:function(eee=!0){const tee=--see.indentLevel;eee&&cee(tee)},newline:function(){cee(see.indentLevel)},helper:eee=>`_${eee}`,needIndent:()=>see.needIndent}}(eee,{mode:ree,filename:oee,sourceMap:nee,breakLineCode:aee,needIndent:iee});lee.push("normal"===ree?"function __msg__ (ctx) {":"(ctx) => {"),lee.indent(iee),see.length>0&&(lee.push(`const { ${$ie(see.map((s=>`${s}: _${s}`)),", ")} } = ctx`),lee.newline()),lee.push("return "),fse(lee,eee),lee.deindent(iee),lee.push("}"),delete eee.helpers;const{code:cee,map:pee}=lee.context();return{ast:eee,code:cee,map:pee?pee.toJSON():void 0}};function mse(eee,tee={}){const ree=Pie({},tee),oee=!!ree.jit,nee=!!ree.minify,aee=null==ree.optimize||ree.optimize,iee=sse(ree).parse(eee);return oee?(aee&&function(eee){const tee=eee.body;2===tee.type?use(tee):tee.cases.forEach((c=>use(c)))}(iee),nee&&gse(iee),{ast:iee,code:""}):(dse(iee,ree),bse(iee,ree))} +/*! + * core-base v9.13.1 + * (c) 2024 kazuya kawaguchi + * Released under the MIT License. + */const vse=[];vse[0]={w:[0],i:[3,0],"[":[4],o:[7]},vse[1]={w:[1],".":[2],"[":[4],o:[7]},vse[2]={w:[2],i:[3,0],0:[3,0]},vse[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]},vse[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]},vse[5]={"'":[4,0],o:8,l:[5,0]},vse[6]={'"':[4,0],o:8,l:[6,0]};const yse=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function xse(ch){if(null==ch)return"o";switch(ch.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return ch;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function kse(eee){const tee=eee.trim();return("0"!==eee.charAt(0)||!isNaN(parseInt(eee)))&&(ree=tee,yse.test(ree)?function(eee){const a=eee.charCodeAt(0);return a!==eee.charCodeAt(eee.length-1)||34!==a&&39!==a?eee:eee.slice(1,-1)}(tee):"*"+tee);var ree}const _se=new Map;function Ese(eee,tee){return Sie(eee)?eee[tee]:null}const Tse=eee=>eee,Sse=eee=>"",Ise="text",Ose=eee=>0===eee.length?"":function(eee,tee=""){return eee.reduce(((eee,ree,oee)=>0===oee?eee+ree:eee+tee+ree),"")}(eee),Nse=eee=>null==eee?"":kie(eee)||Aie(eee)&&eee.toString===Oie?JSON.stringify(eee,null,2):String(eee);function Ase(eee,tee){return eee=Math.abs(eee),2===tee?eee?eee>1?1:0:1:eee?Math.min(eee,2):0}function Rse(eee={}){const tee=eee.locale,ree=function(eee){const tee=uie(eee.pluralIndex)?eee.pluralIndex:-1;return eee.named&&(uie(eee.named.count)||uie(eee.named.n))?uie(eee.named.count)?eee.named.count:uie(eee.named.n)?eee.named.n:tee:tee}(eee),oee=Sie(eee.pluralRules)&&Eie(tee)&&_ie(eee.pluralRules[tee])?eee.pluralRules[tee]:Ase,nee=Sie(eee.pluralRules)&&Eie(tee)&&_ie(eee.pluralRules[tee])?Ase:void 0,aee=eee.list||[],iee=eee.named||{};uie(eee.pluralIndex)&&function(eee,tee){tee.count||(tee.count=eee),tee.n||(tee.n=eee)}(ree,iee);function see(tee){const ree=_ie(eee.messages)?eee.messages(tee):!!Sie(eee.messages)&&eee.messages[tee];return ree||(eee.parent?eee.parent.message(tee):Sse)}const lee=Aie(eee.processor)&&_ie(eee.processor.normalize)?eee.processor.normalize:Ose,cee=Aie(eee.processor)&&_ie(eee.processor.interpolate)?eee.processor.interpolate:Nse,pee={list:eee=>aee[eee],named:eee=>iee[eee],plural:eee=>eee[oee(ree,eee.length,nee)],linked:(tee,...ree)=>{const[oee,nee]=ree;let aee="text",iee="";1===ree.length?Sie(oee)?(iee=oee.modifier||iee,aee=oee.type||aee):Eie(oee)&&(iee=oee||iee):2===ree.length&&(Eie(oee)&&(iee=oee||iee),Eie(nee)&&(aee=nee||aee));const lee=see(tee)(pee),cee="vnode"===aee&&kie(lee)&&iee?lee[0]:lee;return iee?(dee=iee,eee.modifiers?eee.modifiers[dee]:Tse)(cee,aee):cee;var dee},message:see,type:Aie(eee.processor)&&Eie(eee.processor.type)?eee.processor.type:Ise,interpolate:cee,normalize:lee,values:fie({},aee,iee)};return pee}let Dse=null;const Cse=Lse("function:translate");function Lse(eee){return tee=>Dse&&Dse.emit(eee,tee)}const Fse=Vie.__EXTEND_POINT__,zse=Rie(Fse),Mse={NOT_FOUND_KEY:Fse,FALLBACK_TO_TRANSLATE:zse(),CANNOT_FORMAT_NUMBER:zse(),FALLBACK_TO_NUMBER_FORMAT:zse(),CANNOT_FORMAT_DATE:zse(),FALLBACK_TO_DATE_FORMAT:zse(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:zse(),__EXTEND_POINT__:zse()},Pse=Bie.__EXTEND_POINT__,Use=Rie(Pse),jse={INVALID_ARGUMENT:Pse,INVALID_DATE_ARGUMENT:Use(),INVALID_ISO_DATE_ARGUMENT:Use(),NOT_SUPPORT_NON_STRING_MESSAGE:Use(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:Use(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:Use(),NOT_SUPPORT_LOCALE_TYPE:Use(),__EXTEND_POINT__:Use()};function $se(eee){return Gie(eee,null,void 0)}function Vse(eee,tee){return null!=tee.locale?Bse(tee.locale):Bse(eee.locale)}let qse;function Bse(eee){if(Eie(eee))return eee;if(_ie(eee)){if(eee.resolvedOnce&&null!=qse)return qse;if("Function"===eee.constructor.name){const tee=eee();if(Iie(tee))throw $se(jse.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return qse=tee}throw $se(jse.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}throw $se(jse.NOT_SUPPORT_LOCALE_TYPE)}function Yse(eee,tee,ree){return[...new Set([ree,...kie(tee)?tee:Sie(tee)?Object.keys(tee):Eie(tee)?[tee]:[ree]])]}function Gse(eee,tee,ree){const oee=Eie(ree)?ree:Zse,nee=eee;nee.__localeChainCache||(nee.__localeChainCache=new Map);let aee=nee.__localeChainCache.get(oee);if(!aee){aee=[];let eee=[ree];for(;kie(eee);)eee=Qse(aee,eee,tee);const iee=kie(tee)||!Aie(tee)?tee:tee.default?tee.default:null;eee=Eie(iee)?[iee]:iee,kie(eee)&&Qse(aee,eee,!1),nee.__localeChainCache.set(oee,aee)}return aee}function Qse(eee,tee,ree){let oee=!0;for(let i=0;i`${eee.charAt(0).toLocaleUpperCase()}${eee.substr(1)}`;let tle,rle,ole;function nle(eee){tle=eee}let ale=null;const ile=eee=>{ale=eee},sle=()=>ale;let lle=null;const cle=eee=>{lle=eee},ple=()=>lle;let dle=0;function ule(eee={}){const tee=_ie(eee.onWarn)?eee.onWarn:Die,ree=Eie(eee.version)?eee.version:Hse,oee=Eie(eee.locale)||_ie(eee.locale)?eee.locale:Zse,nee=_ie(oee)?Zse:oee,aee=kie(eee.fallbackLocale)||Aie(eee.fallbackLocale)||Eie(eee.fallbackLocale)||!1===eee.fallbackLocale?eee.fallbackLocale:nee,iee=Aie(eee.messages)?eee.messages:{[nee]:{}},see=Aie(eee.datetimeFormats)?eee.datetimeFormats:{[nee]:{}},lee=Aie(eee.numberFormats)?eee.numberFormats:{[nee]:{}},cee=fie({},eee.modifiers||{},{upper:(eee,tee)=>"text"===tee&&Eie(eee)?eee.toUpperCase():"vnode"===tee&&Sie(eee)&&"__v_isVNode"in eee?eee.children.toUpperCase():eee,lower:(eee,tee)=>"text"===tee&&Eie(eee)?eee.toLowerCase():"vnode"===tee&&Sie(eee)&&"__v_isVNode"in eee?eee.children.toLowerCase():eee,capitalize:(eee,tee)=>"text"===tee&&Eie(eee)?ele(eee):"vnode"===tee&&Sie(eee)&&"__v_isVNode"in eee?ele(eee.children):eee}),pee=eee.pluralRules||{},dee=_ie(eee.missing)?eee.missing:null,uee=!Tie(eee.missingWarn)&&!gie(eee.missingWarn)||eee.missingWarn,hee=!Tie(eee.fallbackWarn)&&!gie(eee.fallbackWarn)||eee.fallbackWarn,gee=!!eee.fallbackFormat,wee=!!eee.unresolving,fee=_ie(eee.postTranslation)?eee.postTranslation:null,bee=Aie(eee.processor)?eee.processor:null,mee=!Tie(eee.warnHtmlMessage)||eee.warnHtmlMessage,vee=!!eee.escapeParameter,yee=_ie(eee.messageCompiler)?eee.messageCompiler:tle,xee=_ie(eee.messageResolver)?eee.messageResolver:rle||Ese,kee=_ie(eee.localeFallbacker)?eee.localeFallbacker:ole||Yse,_ee=Sie(eee.fallbackContext)?eee.fallbackContext:void 0,Eee=eee,Tee=Sie(Eee.__datetimeFormatters)?Eee.__datetimeFormatters:new Map,See=Sie(Eee.__numberFormatters)?Eee.__numberFormatters:new Map,Iee=Sie(Eee.__meta)?Eee.__meta:{};dle++;const Oee={version:ree,cid:dle,locale:oee,fallbackLocale:aee,messages:iee,modifiers:cee,pluralRules:pee,missing:dee,missingWarn:uee,fallbackWarn:hee,fallbackFormat:gee,unresolving:wee,postTranslation:fee,processor:bee,warnHtmlMessage:mee,escapeParameter:vee,messageCompiler:yee,messageResolver:xee,localeFallbacker:kee,fallbackContext:_ee,onWarn:tee,__meta:Iee};return Oee.datetimeFormats=see,Oee.numberFormats=lee,Oee.__datetimeFormatters=Tee,Oee.__numberFormatters=See,__INTLIFY_PROD_DEVTOOLS__&&function(eee,tee,ree){Dse&&Dse.emit("i18n:init",{timestamp:Date.now(),i18n:eee,version:tee,meta:ree})}(Oee,ree,Iee),Oee}function hle(eee,tee,ree,oee,nee){const{missing:aee,onWarn:iee}=eee;if(null!==aee){const oee=aee(eee,ree,tee,nee);return Eie(oee)?oee:tee}return tee}function gle(eee,tee,ree){eee.__localeChainCache=new Map,eee.localeFallbacker(eee,ree,tee)}function wle(eee,tee){const ree=tee.indexOf(eee);if(-1===ree)return!1;for(let i=ree+1;ifunction(eee,tee){const ree=tee.b||tee.body;if(1===(ree.t||ree.type)){const tee=ree,oee=tee.c||tee.cases;return eee.plural(oee.reduce(((tee,c)=>[...tee,ble(eee,c)]),[]))}return ble(eee,ree)}(tee,eee)}function ble(eee,tee){const ree=tee.s||tee.static;if(ree)return"text"===eee.type?ree:eee.normalize([ree]);{const ree=(tee.i||tee.items).reduce(((tee,c)=>[...tee,mle(eee,c)]),[]);return eee.normalize(ree)}}function mle(eee,tee){const ree=tee.t||tee.type;switch(ree){case 3:{const eee=tee;return eee.v||eee.value}case 9:{const eee=tee;return eee.v||eee.value}case 4:{const ree=tee;return eee.interpolate(eee.named(ree.k||ree.key))}case 5:{const ree=tee;return eee.interpolate(eee.list(null!=ree.i?ree.i:ree.index))}case 6:{const ree=tee,oee=ree.m||ree.modifier;return eee.linked(mle(eee,ree.k||ree.key),oee?mle(eee,oee):void 0,eee.type)}case 7:{const eee=tee;return eee.v||eee.value}case 8:{const eee=tee;return eee.v||eee.value}default:throw new Error(`unhandled node type on format message part: ${ree}`)}}const vle=eee=>eee;let yle=Object.create(null);const xle=eee=>Sie(eee)&&(0===eee.t||0===eee.type)&&("b"in eee||"body"in eee);function kle(eee,tee={}){let ree=!1;const oee=tee.onError||Qie;return tee.onError=eee=>{ree=!0,oee(eee)},{...mse(eee,tee),detectError:ree}}const _le=(eee,tee)=>{if(!Eie(eee))throw $se(jse.NOT_SUPPORT_NON_STRING_MESSAGE);{!Tie(tee.warnHtmlMessage)||tee.warnHtmlMessage;const ree=(tee.onCacheKey||vle)(eee),oee=yle[ree];if(oee)return oee;const{code:nee,detectError:aee}=kle(eee,tee),iee=new Function(`return ${nee}`)();return aee?iee:yle[ree]=iee}};const Ele=()=>"",Tle=eee=>_ie(eee);function Sle(eee,...tee){const{fallbackFormat:ree,postTranslation:oee,unresolving:nee,messageCompiler:aee,fallbackLocale:iee,messages:see}=eee,[lee,cee]=Nle(...tee),pee=Tie(cee.missingWarn)?cee.missingWarn:eee.missingWarn,dee=Tie(cee.fallbackWarn)?cee.fallbackWarn:eee.fallbackWarn,uee=Tie(cee.escapeParameter)?cee.escapeParameter:eee.escapeParameter,hee=!!cee.resolvedMessage,gee=Eie(cee.default)||Tie(cee.default)?Tie(cee.default)?aee?lee:()=>lee:cee.default:ree?aee?lee:()=>lee:"",wee=ree||""!==gee,fee=Vse(eee,cee);uee&&function(eee){kie(eee.list)?eee.list=eee.list.map((eee=>Eie(eee)?vie(eee):eee)):Sie(eee.named)&&Object.keys(eee.named).forEach((tee=>{Eie(eee.named[tee])&&(eee.named[tee]=vie(eee.named[tee]))}))}(cee);let[bee,mee,vee]=hee?[lee,fee,see[fee]||{}]:Ile(eee,lee,fee,iee,dee,pee),yee=bee,xee=lee;if(hee||Eie(yee)||xle(yee)||Tle(yee)||wee&&(yee=gee,xee=yee),!(hee||(Eie(yee)||xle(yee)||Tle(yee))&&Eie(mee)))return nee?Xse:lee;let kee=!1;const _ee=Tle(yee)?yee:Ole(eee,lee,mee,yee,xee,(()=>{kee=!0}));if(kee)return yee;const Eee=function(eee,tee,ree,oee){const{modifiers:nee,pluralRules:aee,messageResolver:iee,fallbackLocale:see,fallbackWarn:lee,missingWarn:cee,fallbackContext:pee}=eee,dee=oee=>{let nee=iee(ree,oee);if(null==nee&&pee){const[,,eee]=Ile(pee,oee,tee,see,lee,cee);nee=iee(eee,oee)}if(Eie(nee)||xle(nee)){let ree=!1;const aee=Ole(eee,oee,tee,nee,oee,(()=>{ree=!0}));return ree?Ele:aee}return Tle(nee)?nee:Ele},uee={locale:tee,modifiers:nee,pluralRules:aee,messages:dee};eee.processor&&(uee.processor=eee.processor);oee.list&&(uee.list=oee.list);oee.named&&(uee.named=oee.named);uie(oee.plural)&&(uee.pluralIndex=oee.plural);return uee}(eee,mee,vee,cee),Tee=function(eee,tee,ree){const oee=tee(ree);return oee}(0,_ee,Rse(Eee)),See=oee?oee(Tee,lee):Tee;if(__INTLIFY_PROD_DEVTOOLS__){const tee={timestamp:Date.now(),key:Eie(lee)?lee:Tle(yee)?yee.key:"",locale:mee||(Tle(yee)?yee.locale:""),format:Eie(yee)?yee:Tle(yee)?yee.source:"",message:See};tee.meta=fie({},eee.__meta,sle()||{}),Cse(tee)}return See}function Ile(eee,tee,ree,oee,nee,aee){const{messages:iee,onWarn:see,messageResolver:lee,localeFallbacker:cee}=eee,pee=cee(eee,oee,ree);let dee,uee={},hee=null;for(let i=0;ioee;return eee.locale=ree,eee.key=tee,eee}const lee=iee(oee,function(eee,tee,ree,oee,nee,aee){return{locale:tee,key:ree,warnHtmlMessage:nee,onError:eee=>{throw aee&&aee(eee),eee},onCacheKey:eee=>pie(tee,ree,eee)}}(0,ree,nee,0,see,aee));return lee.locale=ree,lee.key=tee,lee.source=oee,lee}function Nle(...eee){const[tee,ree,oee]=eee,nee={};if(!(Eie(tee)||uie(tee)||Tle(tee)||xle(tee)))throw $se(jse.INVALID_ARGUMENT);const aee=uie(tee)?String(tee):(Tle(tee),tee);return uie(ree)?nee.plural=ree:Eie(ree)?nee.default=ree:Aie(ree)&&!wie(ree)?nee.named=ree:kie(ree)&&(nee.list=ree),uie(oee)?nee.plural=oee:Eie(oee)?nee.default=oee:Aie(oee)&&fie(nee,oee),[aee,nee]}function Ale(eee,...tee){const{datetimeFormats:ree,unresolving:oee,fallbackLocale:nee,onWarn:aee,localeFallbacker:iee}=eee,{__datetimeFormatters:see}=eee,[lee,cee,pee,dee]=Dle(...tee);Tie(pee.missingWarn)?pee.missingWarn:eee.missingWarn;Tie(pee.fallbackWarn)?pee.fallbackWarn:eee.fallbackWarn;const uee=!!pee.part,hee=Vse(eee,pee),gee=iee(eee,nee,hee);if(!Eie(lee)||""===lee)return new Intl.DateTimeFormat(hee,dee).format(cee);let wee,fee={},bee=null;for(let i=0;i{Rle.includes(eee)?see[eee]=ree[eee]:aee[eee]=ree[eee]})),Eie(oee)?aee.locale=oee:Aie(oee)&&(see=oee),Aie(nee)&&(see=nee),[aee.key||"",iee,aee,see]}function Cle(eee,tee,ree){const oee=eee;for(const nee in ree){const id=`${tee}__${nee}`;oee.__datetimeFormatters.has(id)&&oee.__datetimeFormatters.delete(id)}}function Lle(eee,...tee){const{numberFormats:ree,unresolving:oee,fallbackLocale:nee,onWarn:aee,localeFallbacker:iee}=eee,{__numberFormatters:see}=eee,[lee,cee,pee,dee]=zle(...tee);Tie(pee.missingWarn)?pee.missingWarn:eee.missingWarn;Tie(pee.fallbackWarn)?pee.fallbackWarn:eee.fallbackWarn;const uee=!!pee.part,hee=Vse(eee,pee),gee=iee(eee,nee,hee);if(!Eie(lee)||""===lee)return new Intl.NumberFormat(hee,dee).format(cee);let wee,fee={},bee=null;for(let i=0;i{Fle.includes(eee)?iee[eee]=ree[eee]:aee[eee]=ree[eee]})),Eie(oee)?aee.locale=oee:Aie(oee)&&(iee=oee),Aie(nee)&&(iee=nee),[aee.key||"",see,aee,iee]}function Mle(eee,tee,ree){const oee=eee;for(const nee in ree){const id=`${tee}__${nee}`;oee.__numberFormatters.has(id)&&oee.__numberFormatters.delete(id)}}"boolean"!=typeof __INTLIFY_PROD_DEVTOOLS__&&(mie().__INTLIFY_PROD_DEVTOOLS__=!1),"boolean"!=typeof __INTLIFY_JIT_COMPILATION__&&(mie().__INTLIFY_JIT_COMPILATION__=!1),"boolean"!=typeof __INTLIFY_DROP_MESSAGE_COMPILER__&&(mie().__INTLIFY_DROP_MESSAGE_COMPILER__=!1); +/*! + * vue-i18n v9.13.1 + * (c) 2024 kazuya kawaguchi + * Released under the MIT License. + */ +const Ple="9.13.1";const Ule=Mse.__EXTEND_POINT__,jle=Rie(Ule);jle(),jle(),jle(),jle(),jle(),jle(),jle(),jle(),jle();const $le=jse.__EXTEND_POINT__,Vle=Rie($le),qle={UNEXPECTED_RETURN_TYPE:$le,INVALID_ARGUMENT:Vle(),MUST_BE_CALL_SETUP_TOP:Vle(),NOT_INSTALLED:Vle(),NOT_AVAILABLE_IN_LEGACY_MODE:Vle(),REQUIRED_VALUE:Vle(),INVALID_VALUE:Vle(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Vle(),NOT_INSTALLED_WITH_PROVIDE:Vle(),UNEXPECTED_ERROR:Vle(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Vle(),BRIDGE_SUPPORT_VUE_2_ONLY:Vle(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Vle(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Vle(),__EXTEND_POINT__:Vle()};function Ble(eee,...tee){return Gie(eee,null,void 0)}const Yle=cie("__translateVNode"),Gle=cie("__datetimeParts"),Qle=cie("__numberParts"),Wle=cie("__setPluralRules"),Kle=cie("__injectWithOption"),Hle=cie("__dispose");function Xle(eee){if(!Sie(eee))return eee;for(const tee in eee)if(xie(eee,tee))if(tee.includes(".")){const ree=tee.split("."),oee=ree.length-1;let nee=eee,aee=!1;for(let i=0;i{if("locale"in eee&&"resource"in eee){const{locale:tee,resource:ree}=eee;tee?(iee[tee]=iee[tee]||{},Lie(ree,iee[tee])):Lie(ree,iee)}else Eie(eee)&&Lie(JSON.parse(eee),iee)})),null==nee&&aee)for(const see in iee)xie(iee,see)&&Xle(iee[see]);return iee}function Jle(eee){return eee.type}function ece(gl,eee,tee){let ree=Sie(eee.messages)?eee.messages:{};"__i18nGlobal"in tee&&(ree=Zle(gl.locale.value,{messages:ree,__i18n:tee.__i18nGlobal}));const oee=Object.keys(ree);if(oee.length&&oee.forEach((eee=>{gl.mergeLocaleMessage(eee,ree[eee])})),Sie(eee.datetimeFormats)){const tee=Object.keys(eee.datetimeFormats);tee.length&&tee.forEach((tee=>{gl.mergeDateTimeFormat(tee,eee.datetimeFormats[tee])}))}if(Sie(eee.numberFormats)){const tee=Object.keys(eee.numberFormats);tee.length&&tee.forEach((tee=>{gl.mergeNumberFormat(tee,eee.numberFormats[tee])}))}}function tce(eee){return tae(Pne,null,eee,0)}const rce="__INTLIFY_META__",oce=()=>[],nce=()=>!1;let ice=0;function sce(eee){return(tee,ree,oee,nee)=>eee(ree,oee,gae()||void 0,nee)}const lce=()=>{const eee=gae();let tee=null;return eee&&(tee=Jle(eee)[rce])?{[rce]:tee}:null};function cce(eee={},tee){const{__root:ree,__injectWithOption:oee}=eee,nee=void 0===ree,aee=eee.flatJson,iee=lie?kre:_re,see=!!eee.translateExistCompatible;let lee=!Tie(eee.inheritLocale)||eee.inheritLocale;const cee=iee(ree&&lee?ree.locale.value:Eie(eee.locale)?eee.locale:Zse),pee=iee(ree&&lee?ree.fallbackLocale.value:Eie(eee.fallbackLocale)||kie(eee.fallbackLocale)||Aie(eee.fallbackLocale)||!1===eee.fallbackLocale?eee.fallbackLocale:cee.value),dee=iee(Zle(cee.value,eee)),uee=iee(Aie(eee.datetimeFormats)?eee.datetimeFormats:{[cee.value]:{}}),hee=iee(Aie(eee.numberFormats)?eee.numberFormats:{[cee.value]:{}});let gee=ree?ree.missingWarn:!Tie(eee.missingWarn)&&!gie(eee.missingWarn)||eee.missingWarn,wee=ree?ree.fallbackWarn:!Tie(eee.fallbackWarn)&&!gie(eee.fallbackWarn)||eee.fallbackWarn,fee=ree?ree.fallbackRoot:!Tie(eee.fallbackRoot)||eee.fallbackRoot,bee=!!eee.fallbackFormat,mee=_ie(eee.missing)?eee.missing:null,vee=_ie(eee.missing)?sce(eee.missing):null,yee=_ie(eee.postTranslation)?eee.postTranslation:null,xee=ree?ree.warnHtmlMessage:!Tie(eee.warnHtmlMessage)||eee.warnHtmlMessage,kee=!!eee.escapeParameter;const _ee=ree?ree.modifiers:Aie(eee.modifiers)?eee.modifiers:{};let Eee,Tee=eee.pluralRules||ree&&ree.pluralRules;Eee=(()=>{nee&&cle(null);const tee={version:Ple,locale:cee.value,fallbackLocale:pee.value,messages:dee.value,modifiers:_ee,pluralRules:Tee,missing:null===vee?void 0:vee,missingWarn:gee,fallbackWarn:wee,fallbackFormat:bee,unresolving:!0,postTranslation:null===yee?void 0:yee,warnHtmlMessage:xee,escapeParameter:kee,messageResolver:eee.messageResolver,messageCompiler:eee.messageCompiler,__meta:{framework:"vue"}};tee.datetimeFormats=uee.value,tee.numberFormats=hee.value,tee.__datetimeFormatters=Aie(Eee)?Eee.__datetimeFormatters:void 0,tee.__numberFormatters=Aie(Eee)?Eee.__numberFormatters:void 0;const ree=ule(tee);return nee&&cle(ree),ree})(),gle(Eee,cee.value,pee.value);const See=Sae({get:()=>cee.value,set:eee=>{cee.value=eee,Eee.locale=cee.value}}),Iee=Sae({get:()=>pee.value,set:eee=>{pee.value=eee,Eee.fallbackLocale=pee.value,gle(Eee,cee.value,eee)}}),Oee=Sae((()=>dee.value)),Nee=Sae((()=>uee.value)),Aee=Sae((()=>hee.value));const Ree=(fn,eee,tee,oee,aee,iee)=>{let see;cee.value,pee.value,dee.value,uee.value,hee.value;try{__INTLIFY_PROD_DEVTOOLS__&&ile(lce()),nee||(Eee.fallbackContext=ree?ple():void 0),see=fn(Eee)}finally{__INTLIFY_PROD_DEVTOOLS__,nee||(Eee.fallbackContext=void 0)}if("translate exists"!==tee&&uie(see)&&see===Xse||"translate exists"===tee&&!see){const[tee,nee]=eee();return ree&&fee?oee(ree):aee(tee)}if(iee(see))return see;throw Ble(qle.UNEXPECTED_RETURN_TYPE)};function t(...eee){return Ree((tee=>Reflect.apply(Sle,null,[tee,...eee])),(()=>Nle(...eee)),"translate",(tee=>Reflect.apply(tee.t,tee,[...eee])),(eee=>eee),(eee=>Eie(eee)))}const Dee={normalize:function(eee){return eee.map((eee=>Eie(eee)||uie(eee)||Tie(eee)?tce(String(eee)):eee))},interpolate:eee=>eee,type:"vnode"};function Cee(eee){return dee.value[eee]||{}}ice++,ree&&lie&&(goe(ree.locale,(eee=>{lee&&(cee.value=eee,Eee.locale=eee,gle(Eee,cee.value,pee.value))})),goe(ree.fallbackLocale,(eee=>{lee&&(pee.value=eee,Eee.fallbackLocale=eee,gle(Eee,cee.value,pee.value))})));const Lee={id:ice,locale:See,fallbackLocale:Iee,get inheritLocale(){return lee},set inheritLocale(eee){lee=eee,eee&&ree&&(cee.value=ree.locale.value,pee.value=ree.fallbackLocale.value,gle(Eee,cee.value,pee.value))},get availableLocales(){return Object.keys(dee.value).sort()},messages:Oee,get modifiers(){return _ee},get pluralRules(){return Tee||{}},get isGlobal(){return nee},get missingWarn(){return gee},set missingWarn(eee){gee=eee,Eee.missingWarn=gee},get fallbackWarn(){return wee},set fallbackWarn(eee){wee=eee,Eee.fallbackWarn=wee},get fallbackRoot(){return fee},set fallbackRoot(eee){fee=eee},get fallbackFormat(){return bee},set fallbackFormat(eee){bee=eee,Eee.fallbackFormat=bee},get warnHtmlMessage(){return xee},set warnHtmlMessage(eee){xee=eee,Eee.warnHtmlMessage=eee},get escapeParameter(){return kee},set escapeParameter(eee){kee=eee,Eee.escapeParameter=eee},t:t,getLocaleMessage:Cee,setLocaleMessage:function(eee,tee){if(aee){const ree={[eee]:tee};for(const eee in ree)xie(ree,eee)&&Xle(ree[eee]);tee=ree[eee]}dee.value[eee]=tee,Eee.messages=dee.value},mergeLocaleMessage:function(eee,tee){dee.value[eee]=dee.value[eee]||{};const ree={[eee]:tee};if(aee)for(const oee in ree)xie(ree,oee)&&Xle(ree[oee]);Lie(tee=ree[eee],dee.value[eee]),Eee.messages=dee.value},getPostTranslationHandler:function(){return _ie(yee)?yee:null},setPostTranslationHandler:function(eee){yee=eee,Eee.postTranslation=eee},getMissingHandler:function(){return mee},setMissingHandler:function(eee){null!==eee&&(vee=sce(eee)),mee=eee,Eee.missing=vee},[Wle]:function(eee){Tee=eee,Eee.pluralRules=Tee}};return Lee.datetimeFormats=Nee,Lee.numberFormats=Aee,Lee.rt=function(...eee){const[tee,ree,oee]=eee;if(oee&&!Sie(oee))throw Ble(qle.INVALID_ARGUMENT);return t(tee,ree,fie({resolvedMessage:!0},oee||{}))},Lee.te=function(eee,tee){return Ree((()=>{if(!eee)return!1;const ree=Cee(Eie(tee)?tee:cee.value),oee=Eee.messageResolver(ree,eee);return see?null!=oee:xle(oee)||Tle(oee)||Eie(oee)}),(()=>[eee]),"translate exists",(ree=>Reflect.apply(ree.te,ree,[eee,tee])),nce,(eee=>Tie(eee)))},Lee.tm=function(eee){const tee=function(eee){let tee=null;const ree=Gse(Eee,pee.value,cee.value);for(let i=0;iReflect.apply(Ale,null,[tee,...eee])),(()=>Dle(...eee)),"datetime format",(tee=>Reflect.apply(tee.d,tee,[...eee])),(()=>Jse),(eee=>Eie(eee)))},Lee.n=function(...eee){return Ree((tee=>Reflect.apply(Lle,null,[tee,...eee])),(()=>zle(...eee)),"number format",(tee=>Reflect.apply(tee.n,tee,[...eee])),(()=>Jse),(eee=>Eie(eee)))},Lee.getDateTimeFormat=function(eee){return uee.value[eee]||{}},Lee.setDateTimeFormat=function(eee,tee){uee.value[eee]=tee,Eee.datetimeFormats=uee.value,Cle(Eee,eee,tee)},Lee.mergeDateTimeFormat=function(eee,tee){uee.value[eee]=fie(uee.value[eee]||{},tee),Eee.datetimeFormats=uee.value,Cle(Eee,eee,tee)},Lee.getNumberFormat=function(eee){return hee.value[eee]||{}},Lee.setNumberFormat=function(eee,tee){hee.value[eee]=tee,Eee.numberFormats=hee.value,Mle(Eee,eee,tee)},Lee.mergeNumberFormat=function(eee,tee){hee.value[eee]=fie(hee.value[eee]||{},tee),Eee.numberFormats=hee.value,Mle(Eee,eee,tee)},Lee[Kle]=oee,Lee[Yle]=function(...eee){return Ree((tee=>{let ree;const oee=tee;try{oee.processor=Dee,ree=Reflect.apply(Sle,null,[oee,...eee])}finally{oee.processor=null}return ree}),(()=>Nle(...eee)),"translate",(tee=>tee[Yle](...eee)),(eee=>[tce(eee)]),(eee=>kie(eee)))},Lee[Gle]=function(...eee){return Ree((tee=>Reflect.apply(Ale,null,[tee,...eee])),(()=>Dle(...eee)),"datetime format",(tee=>tee[Gle](...eee)),oce,(eee=>Eie(eee)||kie(eee)))},Lee[Qle]=function(...eee){return Ree((tee=>Reflect.apply(Lle,null,[tee,...eee])),(()=>zle(...eee)),"number format",(tee=>tee[Qle](...eee)),oce,(eee=>Eie(eee)||kie(eee)))},Lee}function pce(eee={},tee){{const tee=cce(function(eee){const tee=Eie(eee.locale)?eee.locale:Zse,ree=Eie(eee.fallbackLocale)||kie(eee.fallbackLocale)||Aie(eee.fallbackLocale)||!1===eee.fallbackLocale?eee.fallbackLocale:tee,oee=_ie(eee.missing)?eee.missing:void 0,nee=!Tie(eee.silentTranslationWarn)&&!gie(eee.silentTranslationWarn)||!eee.silentTranslationWarn,aee=!Tie(eee.silentFallbackWarn)&&!gie(eee.silentFallbackWarn)||!eee.silentFallbackWarn,iee=!Tie(eee.fallbackRoot)||eee.fallbackRoot,see=!!eee.formatFallbackMessages,lee=Aie(eee.modifiers)?eee.modifiers:{},cee=eee.pluralizationRules,pee=_ie(eee.postTranslation)?eee.postTranslation:void 0,dee=!Eie(eee.warnHtmlInMessage)||"off"!==eee.warnHtmlInMessage,uee=!!eee.escapeParameterHtml,hee=!Tie(eee.sync)||eee.sync;let gee=eee.messages;if(Aie(eee.sharedMessages)){const tee=eee.sharedMessages;gee=Object.keys(tee).reduce(((eee,ree)=>{const oee=eee[ree]||(eee[ree]={});return fie(oee,tee[ree]),eee}),gee||{})}const{__i18n:wee,__root:fee,__injectWithOption:bee}=eee,mee=eee.datetimeFormats,vee=eee.numberFormats,yee=eee.flatJson,xee=eee.translateExistCompatible;return{locale:tee,fallbackLocale:ree,messages:gee,flatJson:yee,datetimeFormats:mee,numberFormats:vee,missing:oee,missingWarn:nee,fallbackWarn:aee,fallbackRoot:iee,fallbackFormat:see,modifiers:lee,pluralRules:cee,postTranslation:pee,warnHtmlMessage:dee,escapeParameter:uee,messageResolver:eee.messageResolver,inheritLocale:hee,translateExistCompatible:xee,__i18n:wee,__root:fee,__injectWithOption:bee}}(eee)),{__extender:ree}=eee,oee={id:tee.id,get locale(){return tee.locale.value},set locale(eee){tee.locale.value=eee},get fallbackLocale(){return tee.fallbackLocale.value},set fallbackLocale(eee){tee.fallbackLocale.value=eee},get messages(){return tee.messages.value},get datetimeFormats(){return tee.datetimeFormats.value},get numberFormats(){return tee.numberFormats.value},get availableLocales(){return tee.availableLocales},get formatter(){return{interpolate:()=>[]}},set formatter(eee){},get missing(){return tee.getMissingHandler()},set missing(eee){tee.setMissingHandler(eee)},get silentTranslationWarn(){return Tie(tee.missingWarn)?!tee.missingWarn:tee.missingWarn},set silentTranslationWarn(eee){tee.missingWarn=Tie(eee)?!eee:eee},get silentFallbackWarn(){return Tie(tee.fallbackWarn)?!tee.fallbackWarn:tee.fallbackWarn},set silentFallbackWarn(eee){tee.fallbackWarn=Tie(eee)?!eee:eee},get modifiers(){return tee.modifiers},get formatFallbackMessages(){return tee.fallbackFormat},set formatFallbackMessages(eee){tee.fallbackFormat=eee},get postTranslation(){return tee.getPostTranslationHandler()},set postTranslation(eee){tee.setPostTranslationHandler(eee)},get sync(){return tee.inheritLocale},set sync(eee){tee.inheritLocale=eee},get warnHtmlInMessage(){return tee.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(eee){tee.warnHtmlMessage="off"!==eee},get escapeParameterHtml(){return tee.escapeParameter},set escapeParameterHtml(eee){tee.escapeParameter=eee},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(eee){},get pluralizationRules(){return tee.pluralRules||{}},__composer:tee,t(...eee){const[ree,oee,nee]=eee,aee={};let iee=null,see=null;if(!Eie(ree))throw Ble(qle.INVALID_ARGUMENT);const lee=ree;return Eie(oee)?aee.locale=oee:kie(oee)?iee=oee:Aie(oee)&&(see=oee),kie(nee)?iee=nee:Aie(nee)&&(see=nee),Reflect.apply(tee.t,tee,[lee,iee||see||{},aee])},rt:(...eee)=>Reflect.apply(tee.rt,tee,[...eee]),tc(...eee){const[ree,oee,nee]=eee,aee={plural:1};let iee=null,see=null;if(!Eie(ree))throw Ble(qle.INVALID_ARGUMENT);const lee=ree;return Eie(oee)?aee.locale=oee:uie(oee)?aee.plural=oee:kie(oee)?iee=oee:Aie(oee)&&(see=oee),Eie(nee)?aee.locale=nee:kie(nee)?iee=nee:Aie(nee)&&(see=nee),Reflect.apply(tee.t,tee,[lee,iee||see||{},aee])},te:(eee,ree)=>tee.te(eee,ree),tm:eee=>tee.tm(eee),getLocaleMessage:eee=>tee.getLocaleMessage(eee),setLocaleMessage(eee,ree){tee.setLocaleMessage(eee,ree)},mergeLocaleMessage(eee,ree){tee.mergeLocaleMessage(eee,ree)},d:(...eee)=>Reflect.apply(tee.d,tee,[...eee]),getDateTimeFormat:eee=>tee.getDateTimeFormat(eee),setDateTimeFormat(eee,ree){tee.setDateTimeFormat(eee,ree)},mergeDateTimeFormat(eee,ree){tee.mergeDateTimeFormat(eee,ree)},n:(...eee)=>Reflect.apply(tee.n,tee,[...eee]),getNumberFormat:eee=>tee.getNumberFormat(eee),setNumberFormat(eee,ree){tee.setNumberFormat(eee,ree)},mergeNumberFormat(eee,ree){tee.mergeNumberFormat(eee,ree)},getChoiceIndex:(eee,tee)=>-1};return oee.__extender=ree,oee}}const dce={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:eee=>"parent"===eee||"global"===eee,default:"parent"},i18n:{type:Object}};function uce(eee){return Mne}const hce=xoe({name:"i18n-t",props:fie({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:eee=>uie(eee)||!isNaN(eee)}},dce),setup(eee,tee){const{slots:ree,attrs:oee}=tee,nee=eee.i18n||_ce({useScope:eee.scope,__useComponent:!0});return()=>{const aee=Object.keys(ree).filter((eee=>"_"!==eee)),iee={};eee.locale&&(iee.locale=eee.locale),void 0!==eee.plural&&(iee.plural=Eie(eee.plural)?+eee.plural:eee.plural);const see=function({slots:eee},tee){if(1===tee.length&&"default"===tee[0])return(eee.default?eee.default():[]).reduce(((eee,tee)=>[...eee,...tee.type===Mne?tee.children:[tee]]),[]);return tee.reduce(((tee,ree)=>{const oee=eee[ree];return oee&&(tee[ree]=oee()),tee}),{})}(tee,aee),lee=nee[Yle](eee.keypath,see,iee),cee=fie({},oee);return h(Eie(eee.tag)||Sie(eee.tag)?eee.tag:uce(),cee,lee)}}});function gce(eee,tee,ree,oee){const{slots:nee,attrs:aee}=tee;return()=>{const tee={part:!0};let iee={};eee.locale&&(tee.locale=eee.locale),Eie(eee.format)?tee.key=eee.format:Sie(eee.format)&&(Eie(eee.format.key)&&(tee.key=eee.format.key),iee=Object.keys(eee.format).reduce(((tee,oee)=>ree.includes(oee)?fie({},tee,{[oee]:eee.format[oee]}):tee),{}));const see=oee(eee.value,tee,iee);let lee=[tee.key];kie(see)?lee=see.map(((eee,tee)=>{const ree=nee[eee.type],oee=ree?ree({[eee.type]:eee.value,index:tee,parts:see}):[eee.value];var aee;return kie(aee=oee)&&!Eie(aee[0])&&(oee[0].key=`${eee.type}-${tee}`),oee})):Eie(see)&&(lee=[see]);const cee=fie({},aee);return h(Eie(eee.tag)||Sie(eee.tag)?eee.tag:uce(),cee,lee)}}const wce=xoe({name:"i18n-n",props:fie({value:{type:Number,required:!0},format:{type:[String,Object]}},dce),setup(eee,tee){const ree=eee.i18n||_ce({useScope:eee.scope,__useComponent:!0});return gce(eee,tee,Fle,((...eee)=>ree[Qle](...eee)))}}),fce=xoe({name:"i18n-d",props:fie({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},dce),setup(eee,tee){const ree=eee.i18n||_ce({useScope:eee.scope,__useComponent:!0});return gce(eee,tee,Rle,((...eee)=>ree[Gle](...eee)))}});function bce(eee){if(Eie(eee))return{path:eee};if(Aie(eee)){if(!("path"in eee))throw Ble(qle.REQUIRED_VALUE);return eee}throw Ble(qle.INVALID_VALUE)}function mce(eee){const{path:tee,locale:ree,args:oee,choice:nee,plural:aee}=eee,iee={},see=oee||{};return Eie(ree)&&(iee.locale=ree),uie(nee)&&(iee.plural=nee),uie(aee)&&(iee.plural=aee),[tee,see,iee]}function vce(eee,tee,...ree){const oee=Aie(ree[0])?ree[0]:{},nee=!!oee.useI18nComponentName;(!Tie(oee.globalInstall)||oee.globalInstall)&&([nee?"i18n":hce.name,"I18nT"].forEach((tee=>eee.component(tee,hce))),[wce.name,"I18nN"].forEach((tee=>eee.component(tee,wce))),[fce.name,"I18nD"].forEach((tee=>eee.component(tee,fce)))),eee.directive("t",function(eee){const tee=tee=>{const{instance:ree,modifiers:oee,value:nee}=tee;if(!ree||!ree.$)throw Ble(qle.UNEXPECTED_ERROR);const aee=function(eee,tee){const ree=eee;if("composition"===eee.mode)return ree.__getInstance(tee)||eee.global;{const oee=ree.__getInstance(tee);return null!=oee?oee.__composer:eee.global.__composer}}(eee,ree.$),iee=bce(nee);return[Reflect.apply(aee.t,aee,[...mce(iee)]),aee]};return{created:(el,ree)=>{const[oee,nee]=tee(ree);lie&&eee.global===nee&&(el.__i18nWatcher=goe(nee.locale,(()=>{ree.instance&&ree.instance.$forceUpdate()}))),el.__composer=nee,el.textContent=oee},unmounted:el=>{lie&&el.__i18nWatcher&&(el.__i18nWatcher(),el.__i18nWatcher=void 0,delete el.__i18nWatcher),el.__composer&&(el.__composer=void 0,delete el.__composer)},beforeUpdate:(el,{value:eee})=>{if(el.__composer){const tee=el.__composer,ree=bce(eee);el.textContent=Reflect.apply(tee.t,tee,[...mce(ree)])}},getSSRProps:eee=>{const[ree]=tee(eee);return{textContent:ree}}}}(tee))}function yce(g,eee){g.locale=eee.locale||g.locale,g.fallbackLocale=eee.fallbackLocale||g.fallbackLocale,g.missing=eee.missing||g.missing,g.silentTranslationWarn=eee.silentTranslationWarn||g.silentFallbackWarn,g.silentFallbackWarn=eee.silentFallbackWarn||g.silentFallbackWarn,g.formatFallbackMessages=eee.formatFallbackMessages||g.formatFallbackMessages,g.postTranslation=eee.postTranslation||g.postTranslation,g.warnHtmlInMessage=eee.warnHtmlInMessage||g.warnHtmlInMessage,g.escapeParameterHtml=eee.escapeParameterHtml||g.escapeParameterHtml,g.sync=eee.sync||g.sync,g.__composer[Wle](eee.pluralizationRules||g.pluralizationRules);const tee=Zle(g.locale,{messages:eee.messages,__i18n:eee.__i18n});return Object.keys(tee).forEach((eee=>g.mergeLocaleMessage(eee,tee[eee]))),eee.datetimeFormats&&Object.keys(eee.datetimeFormats).forEach((tee=>g.mergeDateTimeFormat(tee,eee.datetimeFormats[tee]))),eee.numberFormats&&Object.keys(eee.numberFormats).forEach((tee=>g.mergeNumberFormat(tee,eee.numberFormats[tee]))),g}const xce=cie("global-vue-i18n");function kce(eee={},tee){const ree=__VUE_I18N_LEGACY_API__&&Tie(eee.legacy)?eee.legacy:__VUE_I18N_LEGACY_API__,oee=!Tie(eee.globalInjection)||eee.globalInjection,nee=!__VUE_I18N_LEGACY_API__||!ree||!!eee.allowComposition,aee=new Map,[iee,see]=function(eee,tee,ree){const oee=ete();{const ree=__VUE_I18N_LEGACY_API__&&tee?oee.run((()=>pce(eee))):oee.run((()=>cce(eee)));if(null==ree)throw Ble(qle.UNEXPECTED_ERROR);return[oee,ree]}}(eee,ree),lee=cie("");{const eee={get mode(){return __VUE_I18N_LEGACY_API__&&ree?"legacy":"composition"},get allowComposition(){return nee},async install(tee,...nee){if(tee.__VUE_I18N_SYMBOL__=lee,tee.provide(tee.__VUE_I18N_SYMBOL__,eee),Aie(nee[0])){const tee=nee[0];eee.__composerExtend=tee.__composerExtend,eee.__vueI18nExtend=tee.__vueI18nExtend}let aee=null;!ree&&oee&&(aee=function(eee,tee){const ree=Object.create(null);Ece.forEach((eee=>{const oee=Object.getOwnPropertyDescriptor(tee,eee);if(!oee)throw Ble(qle.UNEXPECTED_ERROR);const nee=xre(oee.value)?{get:()=>oee.value.value,set(eee){oee.value.value=eee}}:{get:()=>oee.get&&oee.get()};Object.defineProperty(ree,eee,nee)})),eee.config.globalProperties.$i18n=ree,Tce.forEach((ree=>{const oee=Object.getOwnPropertyDescriptor(tee,ree);if(!oee||!oee.value)throw Ble(qle.UNEXPECTED_ERROR);Object.defineProperty(eee.config.globalProperties,`$${ree}`,oee)}));const oee=()=>{delete eee.config.globalProperties.$i18n,Tce.forEach((tee=>{delete eee.config.globalProperties[`$${tee}`]}))};return oee}(tee,eee.global)),__VUE_I18N_FULL_INSTALL__&&vce(tee,eee,...nee),__VUE_I18N_LEGACY_API__&&ree&&tee.mixin(function(eee,tee,ree){return{beforeCreate(){const oee=gae();if(!oee)throw Ble(qle.UNEXPECTED_ERROR);const nee=this.$options;if(nee.i18n){const oee=nee.i18n;if(nee.__i18n&&(oee.__i18n=nee.__i18n),oee.__root=tee,this===this.$root)this.$i18n=yce(eee,oee);else{oee.__injectWithOption=!0,oee.__extender=ree.__vueI18nExtend,this.$i18n=pce(oee);const eee=this.$i18n;eee.__extender&&(eee.__disposer=eee.__extender(this.$i18n))}}else if(nee.__i18n)if(this===this.$root)this.$i18n=yce(eee,nee);else{this.$i18n=pce({__i18n:nee.__i18n,__injectWithOption:!0,__extender:ree.__vueI18nExtend,__root:tee});const eee=this.$i18n;eee.__extender&&(eee.__disposer=eee.__extender(this.$i18n))}else this.$i18n=eee;nee.__i18nGlobal&&ece(tee,nee,nee),this.$t=(...eee)=>this.$i18n.t(...eee),this.$rt=(...eee)=>this.$i18n.rt(...eee),this.$tc=(...eee)=>this.$i18n.tc(...eee),this.$te=(eee,tee)=>this.$i18n.te(eee,tee),this.$d=(...eee)=>this.$i18n.d(...eee),this.$n=(...eee)=>this.$i18n.n(...eee),this.$tm=eee=>this.$i18n.tm(eee),ree.__setInstance(oee,this.$i18n)},mounted(){},unmounted(){const eee=gae();if(!eee)throw Ble(qle.UNEXPECTED_ERROR);const tee=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,tee.__disposer&&(tee.__disposer(),delete tee.__disposer,delete tee.__extender),ree.__deleteInstance(eee),delete this.$i18n}}}(see,see.__composer,eee));const iee=tee.unmount;tee.unmount=()=>{aee&&aee(),eee.dispose(),iee()}},get global(){return see},dispose(){iee.stop()},__instances:aee,__getInstance:function(eee){return aee.get(eee)||null},__setInstance:function(eee,tee){aee.set(eee,tee)},__deleteInstance:function(eee){aee.delete(eee)}};return eee}}function _ce(eee={}){const tee=gae();if(null==tee)throw Ble(qle.MUST_BE_CALL_SETUP_TOP);if(!tee.isCE&&null!=tee.appContext.app&&!tee.appContext.app.__VUE_I18N_SYMBOL__)throw Ble(qle.NOT_INSTALLED);const ree=function(eee){{const tee=wne(eee.isCE?xce:eee.appContext.app.__VUE_I18N_SYMBOL__);if(!tee)throw Ble(eee.isCE?qle.NOT_INSTALLED_WITH_PROVIDE:qle.UNEXPECTED_ERROR);return tee}}(tee),gl=function(eee){return"composition"===eee.mode?eee.global:eee.global.__composer}(ree),oee=Jle(tee),nee=function(eee,tee){return wie(eee)?"__i18n"in tee?"local":"global":eee.useScope?eee.useScope:"local"}(eee,oee);if(__VUE_I18N_LEGACY_API__&&"legacy"===ree.mode&&!eee.__useComponent){if(!ree.allowComposition)throw Ble(qle.NOT_AVAILABLE_IN_LEGACY_MODE);return function(eee,tee,ree,oee={}){const nee="local"===tee,aee=_re(null);if(nee&&eee.proxy&&!eee.proxy.$options.i18n&&!eee.proxy.$options.__i18n)throw Ble(qle.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const iee=Tie(oee.inheritLocale)?oee.inheritLocale:!Eie(oee.locale),see=kre(!nee||iee?ree.locale.value:Eie(oee.locale)?oee.locale:Zse),lee=kre(!nee||iee?ree.fallbackLocale.value:Eie(oee.fallbackLocale)||kie(oee.fallbackLocale)||Aie(oee.fallbackLocale)||!1===oee.fallbackLocale?oee.fallbackLocale:see.value),cee=kre(Zle(see.value,oee)),pee=kre(Aie(oee.datetimeFormats)?oee.datetimeFormats:{[see.value]:{}}),dee=kre(Aie(oee.numberFormats)?oee.numberFormats:{[see.value]:{}}),uee=nee?ree.missingWarn:!Tie(oee.missingWarn)&&!gie(oee.missingWarn)||oee.missingWarn,hee=nee?ree.fallbackWarn:!Tie(oee.fallbackWarn)&&!gie(oee.fallbackWarn)||oee.fallbackWarn,gee=nee?ree.fallbackRoot:!Tie(oee.fallbackRoot)||oee.fallbackRoot,wee=!!oee.fallbackFormat,fee=_ie(oee.missing)?oee.missing:null,bee=_ie(oee.postTranslation)?oee.postTranslation:null,mee=nee?ree.warnHtmlMessage:!Tie(oee.warnHtmlMessage)||oee.warnHtmlMessage,vee=!!oee.escapeParameter,yee=nee?ree.modifiers:Aie(oee.modifiers)?oee.modifiers:{},xee=oee.pluralRules||nee&&ree.pluralRules;function kee(){return[see.value,lee.value,cee.value,pee.value,dee.value]}const _ee=Sae({get:()=>aee.value?aee.value.locale.value:see.value,set:eee=>{aee.value&&(aee.value.locale.value=eee),see.value=eee}}),Eee=Sae({get:()=>aee.value?aee.value.fallbackLocale.value:lee.value,set:eee=>{aee.value&&(aee.value.fallbackLocale.value=eee),lee.value=eee}}),Tee=Sae((()=>aee.value?aee.value.messages.value:cee.value)),See=Sae((()=>pee.value)),Iee=Sae((()=>dee.value));function Oee(){return aee.value?aee.value.getPostTranslationHandler():bee}function Nee(eee){aee.value&&aee.value.setPostTranslationHandler(eee)}function Aee(){return aee.value?aee.value.getMissingHandler():fee}function Ree(eee){aee.value&&aee.value.setMissingHandler(eee)}function Dee(fn){return kee(),fn()}function t(...eee){return aee.value?Dee((()=>Reflect.apply(aee.value.t,null,[...eee]))):Dee((()=>""))}function rt(...eee){return aee.value?Reflect.apply(aee.value.rt,null,[...eee]):""}function d(...eee){return aee.value?Dee((()=>Reflect.apply(aee.value.d,null,[...eee]))):Dee((()=>""))}function n(...eee){return aee.value?Dee((()=>Reflect.apply(aee.value.n,null,[...eee]))):Dee((()=>""))}function tm(eee){return aee.value?aee.value.tm(eee):{}}function te(eee,tee){return!!aee.value&&aee.value.te(eee,tee)}function Cee(eee){return aee.value?aee.value.getLocaleMessage(eee):{}}function Lee(eee,tee){aee.value&&(aee.value.setLocaleMessage(eee,tee),cee.value[eee]=tee)}function Fee(eee,tee){aee.value&&aee.value.mergeLocaleMessage(eee,tee)}function zee(eee){return aee.value?aee.value.getDateTimeFormat(eee):{}}function Mee(eee,tee){aee.value&&(aee.value.setDateTimeFormat(eee,tee),pee.value[eee]=tee)}function Pee(eee,tee){aee.value&&aee.value.mergeDateTimeFormat(eee,tee)}function Uee(eee){return aee.value?aee.value.getNumberFormat(eee):{}}function jee(eee,tee){aee.value&&(aee.value.setNumberFormat(eee,tee),dee.value[eee]=tee)}function $ee(eee,tee){aee.value&&aee.value.mergeNumberFormat(eee,tee)}const Vee={get id(){return aee.value?aee.value.id:-1},locale:_ee,fallbackLocale:Eee,messages:Tee,datetimeFormats:See,numberFormats:Iee,get inheritLocale(){return aee.value?aee.value.inheritLocale:iee},set inheritLocale(eee){aee.value&&(aee.value.inheritLocale=eee)},get availableLocales(){return aee.value?aee.value.availableLocales:Object.keys(cee.value)},get modifiers(){return aee.value?aee.value.modifiers:yee},get pluralRules(){return aee.value?aee.value.pluralRules:xee},get isGlobal(){return!!aee.value&&aee.value.isGlobal},get missingWarn(){return aee.value?aee.value.missingWarn:uee},set missingWarn(eee){aee.value&&(aee.value.missingWarn=eee)},get fallbackWarn(){return aee.value?aee.value.fallbackWarn:hee},set fallbackWarn(eee){aee.value&&(aee.value.missingWarn=eee)},get fallbackRoot(){return aee.value?aee.value.fallbackRoot:gee},set fallbackRoot(eee){aee.value&&(aee.value.fallbackRoot=eee)},get fallbackFormat(){return aee.value?aee.value.fallbackFormat:wee},set fallbackFormat(eee){aee.value&&(aee.value.fallbackFormat=eee)},get warnHtmlMessage(){return aee.value?aee.value.warnHtmlMessage:mee},set warnHtmlMessage(eee){aee.value&&(aee.value.warnHtmlMessage=eee)},get escapeParameter(){return aee.value?aee.value.escapeParameter:vee},set escapeParameter(eee){aee.value&&(aee.value.escapeParameter=eee)},t:t,getPostTranslationHandler:Oee,setPostTranslationHandler:Nee,getMissingHandler:Aee,setMissingHandler:Ree,rt:rt,d:d,n:n,tm:tm,te:te,getLocaleMessage:Cee,setLocaleMessage:Lee,mergeLocaleMessage:Fee,getDateTimeFormat:zee,setDateTimeFormat:Mee,mergeDateTimeFormat:Pee,getNumberFormat:Uee,setNumberFormat:jee,mergeNumberFormat:$ee};function qee(eee){eee.locale.value=see.value,eee.fallbackLocale.value=lee.value,Object.keys(cee.value).forEach((tee=>{eee.mergeLocaleMessage(tee,cee.value[tee])})),Object.keys(pee.value).forEach((tee=>{eee.mergeDateTimeFormat(tee,pee.value[tee])})),Object.keys(dee.value).forEach((tee=>{eee.mergeNumberFormat(tee,dee.value[tee])})),eee.escapeParameter=vee,eee.fallbackFormat=wee,eee.fallbackRoot=gee,eee.fallbackWarn=hee,eee.missingWarn=uee,eee.warnHtmlMessage=mee}return Aoe((()=>{if(null==eee.proxy||null==eee.proxy.$i18n)throw Ble(qle.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const ree=aee.value=eee.proxy.$i18n.__composer;"global"===tee?(see.value=ree.locale.value,lee.value=ree.fallbackLocale.value,cee.value=ree.messages.value,pee.value=ree.datetimeFormats.value,dee.value=ree.numberFormats.value):nee&&qee(ree)})),Vee}(tee,nee,gl,eee)}if("global"===nee)return ece(gl,eee,oee),gl;if("parent"===nee){let oee=function(eee,tee,ree=!1){let oee=null;const nee=tee.root;let aee=function(eee,tee=!1){if(null==eee)return null;return tee&&eee.vnode.ctx||eee.parent}(tee,ree);for(;null!=aee;){const tee=eee;if("composition"===eee.mode)oee=tee.__getInstance(aee);else if(__VUE_I18N_LEGACY_API__){const eee=tee.__getInstance(aee);null!=eee&&(oee=eee.__composer,ree&&oee&&!oee[Kle]&&(oee=null))}if(null!=oee)break;if(nee===aee)break;aee=aee.parent}return oee}(ree,tee,eee.__useComponent);return null==oee&&(oee=gl),oee}const aee=ree;let iee=aee.__getInstance(tee);if(null==iee){const ree=fie({},eee);"__i18n"in oee&&(ree.__i18n=oee.__i18n),gl&&(ree.__root=gl),iee=cce(ree),aee.__composerExtend&&(iee[Hle]=aee.__composerExtend(iee)),function(eee,tee,ree){Roe((()=>{}),tee),Foe((()=>{const oee=ree;eee.__deleteInstance(tee);const nee=oee[Hle];nee&&(nee(),delete oee[Hle])}),tee)}(aee,tee,iee),aee.__setInstance(tee,iee)}return iee}const Ece=["locale","fallbackLocale","availableLocales"],Tce=["t","rt","d","n","tm","te"];var Sce;if("boolean"!=typeof __VUE_I18N_FULL_INSTALL__&&(mie().__VUE_I18N_FULL_INSTALL__=!0),"boolean"!=typeof __VUE_I18N_LEGACY_API__&&(mie().__VUE_I18N_LEGACY_API__=!0),"boolean"!=typeof __INTLIFY_JIT_COMPILATION__&&(mie().__INTLIFY_JIT_COMPILATION__=!1),"boolean"!=typeof __INTLIFY_DROP_MESSAGE_COMPILER__&&(mie().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),"boolean"!=typeof __INTLIFY_PROD_DEVTOOLS__&&(mie().__INTLIFY_PROD_DEVTOOLS__=!1),__INTLIFY_JIT_COMPILATION__?nle((function(eee,tee){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&Eie(eee)){!Tie(tee.warnHtmlMessage)||tee.warnHtmlMessage;const ree=(tee.onCacheKey||vle)(eee),oee=yle[ree];if(oee)return oee;const{ast:nee,detectError:aee}=kle(eee,{...tee,location:!1,jit:!0}),iee=fle(nee);return aee?iee:yle[ree]=iee}{const tee=eee.cacheKey;if(tee){return yle[tee]||(yle[tee]=fle(eee))}return fle(eee)}})):nle(_le),function(eee){rle=eee}((function(eee,tee){if(!Sie(eee))return null;let ree=_se.get(tee);if(ree||(ree=function(eee){const tee=[];let c,ree,oee,nee,aee,iee,see,lee=-1,cee=0,pee=0;const dee=[];function uee(){const tee=eee[lee+1];if(5===cee&&"'"===tee||6===cee&&'"'===tee)return lee++,oee="\\"+tee,dee[0](),!0}for(dee[0]=()=>{void 0===ree?ree=oee:ree+=oee},dee[1]=()=>{void 0!==ree&&(tee.push(ree),ree=void 0)},dee[2]=()=>{dee[0](),pee++},dee[3]=()=>{if(pee>0)pee--,cee=4,dee[0]();else{if(pee=0,void 0===ree)return!1;if(ree=kse(ree),!1===ree)return!1;dee[1]()}};null!==cee;)if(lee++,c=eee[lee],"\\"!==c||!uee()){if(nee=xse(c),see=vse[cee],aee=see[nee]||see.l||8,8===aee)return;if(cee=aee[0],void 0!==aee[1]&&(iee=dee[aee[1]],iee&&(oee=c,!1===iee())))return;if(7===cee)return tee}}(tee),ree&&_se.set(tee,ree)),!ree)return null;const oee=ree.length;let nee=eee,i=0;for(;iIt is not possible to use a Trial key with an existing Unraid OS installation.

    You may purchase a license key corresponding to this USB Flash device to continue using this installation.

    ":"

    It is not possible to use a Trial key with an existing Unraid OS installation.

    You may purchase a license key corresponding to this USB Flash device to continue using this installation.

    ","

    Please refresh the page to ensure you load your latest configuration

    ":"

    Please refresh the page to ensure you load your latest configuration

    ","

    Register for Connect by signing in to your Unraid.net account

    ":"

    Register for Connect by signing in to your Unraid.net account

    ","

    The license key file does not correspond to the USB Flash boot device. Please copy the correct key file to the /config directory on your USB Flash boot device or choose Purchase Key.

    Your Unraid registration key is ineligible for replacement as it has been replaced within the last 12 months.

    ":"

    The license key file does not correspond to the USB Flash boot device. Please copy the correct key file to the /config directory on your USB Flash boot device or choose Purchase Key.

    Your Unraid registration key is ineligible for replacement as it has been replaced within the last 12 months.

    ","

    The license key file does not correspond to the USB Flash boot device. Please copy the correct key file to the /config directory on your USB Flash boot device or choose Purchase Key.

    Your Unraid registration key is ineligible for replacement as it is blacklisted.

    ":"

    The license key file does not correspond to the USB Flash boot device. Please copy the correct key file to the /config directory on your USB Flash boot device or choose Purchase Key.

    Your Unraid registration key is ineligible for replacement as it is blacklisted.

    ","

    The license key file does not correspond to the USB Flash boot device. Please copy the correct key file to the /config directory on your USB Flash boot device.

    You may also attempt to Purchase or Replace your key.

    ":"

    The license key file does not correspond to the USB Flash boot device. Please copy the correct key file to the /config directory on your USB Flash boot device.

    You may also attempt to Purchase or Replace your key.

    ","

    There are multiple license key files present on your USB flash device and none of them correspond to the USB Flash boot device. Please remove all key files, except the one you want to replace, from the /config directory on your USB Flash boot device.

    Alternately you may purchase a license key for this USB flash device.

    If you want to replace one of your license keys with a new key bound to this USB Flash device, please first remove all other key files first.

    ":"

    There are multiple license key files present on your USB flash device and none of them correspond to the USB Flash boot device. Please remove all key files, except the one you want to replace, from the /config directory on your USB Flash boot device.

    Alternately you may purchase a license key for this USB flash device.

    If you want to replace one of your license keys with a new key bound to this USB Flash device, please first remove all other key files first.

    ","

    There is a physical problem accessing your USB Flash boot device

    ":"

    There is a physical problem accessing your USB Flash boot device

    ","

    There is a problem with your USB Flash device

    ":"

    There is a problem with your USB Flash device

    ","

    This USB Flash boot device has been blacklisted. This can occur as a result of transferring your license key to a replacement USB Flash device, and you are currently booted from your old USB Flash device.

    A USB Flash device may also be blacklisted if we discover the serial number is not unique – this is common with USB card readers.

    ":"

    This USB Flash boot device has been blacklisted. This can occur as a result of transferring your license key to a replacement USB Flash device, and you are currently booted from your old USB Flash device.

    A USB Flash device may also be blacklisted if we discover the serial number is not unique – this is common with USB card readers.

    ","

    This USB Flash device has an invalid GUID. Please try a different USB Flash device

    ":"

    This USB Flash device has an invalid GUID. Please try a different USB Flash device

    ","

    To continue using Unraid OS you may purchase a license key. Alternately, you may request a Trial extension.

    ":"

    To continue using Unraid OS you may purchase a license key. Alternately, you may request a Trial extension.

    ","

    To support more storage devices as your server grows, click Upgrade Key.

    ":"

    To support more storage devices as your server grows, click Upgrade Key.

    ","

    You have used all your Trial extensions. To continue using Unraid OS you may purchase a license key.

    ":"

    You have used all your Trial extensions. To continue using Unraid OS you may purchase a license key.

    ","

    Your Trial key includes all the functionality and device support of an Unleashed key.

    After your Trial has reached expiration, your server still functions normally until the next time you Stop the array or reboot your server.

    At that point you may either purchase a license key or request a Trial extension.

    ":"

    Your Trial key includes all the functionality and device support of an Unleashed key.

    After your Trial has reached expiration, your server still functions normally until the next time you Stop the array or reboot your server.

    At that point you may either purchase a license key or request a Trial extension.

    ","

    Your license key file is corrupted or missing. The key file should be located in the /config directory on your USB Flash boot device.

    If you do not have a backup copy of your license key file you may attempt to recover your key.

    If this was an expired Trial installation, you may purchase a license key.

    ":"

    Your license key file is corrupted or missing. The key file should be located in the /config directory on your USB Flash boot device.

    If you do not have a backup copy of your license key file you may attempt to recover your key.

    If this was an expired Trial installation, you may purchase a license key.

    ","

    Your license key file is corrupted or missing. The key file should be located in the /config directory on your USB Flash boot device.

    You may attempt to recover your key with your Unraid.net account.

    If this was an expired Trial installation, you may purchase a license key.

    ":"

    Your license key file is corrupted or missing. The key file should be located in the /config directory on your USB Flash boot device.

    You may attempt to recover your key with your Unraid.net account.

    If this was an expired Trial installation, you may purchase a license key.

    ","

    Your server will not be usable until you purchase a Registration key or install a free 30 day Trial key. A Trial key provides all the functionality of an Unleashed Registration key.

    Registration keys are bound to your USB Flash boot device serial number (GUID). Please use a high quality name brand device at least 1GB in size.

    Note: USB memory card readers are generally not supported because most do not present unique serial numbers.

    Important:

    • Please make sure your server time is accurate to within 5 minutes
    • Please make sure there is a DNS server specified
    ":"

    Your server will not be usable until you purchase a Registration key or install a free 30 day Trial key. A Trial key provides all the functionality of an Unleashed Registration key.

    Registration keys are bound to your USB Flash boot device serial number (GUID). Please use a high quality name brand device at least 1GB in size.

    Note: USB memory card readers are generally not supported because most do not present unique serial numbers.

    Important:

    • Please make sure your server time is accurate to within 5 minutes
    • Please make sure there is a DNS server specified
    ","

    Your Trial key requires an internet connection.

    Please check Settings > Network

    ":"

    Your Trial key requires an internet connection.

    Please check Settings > Network

    ","

    Your Unraid registration key is ineligible for replacement as it has been replaced within the last 12 months.

    ":"

    Your Unraid registration key is ineligible for replacement as it has been replaced within the last 12 months.

    ","A Trial key provides all the functionality of an Unleashed Registration key":"A Trial key provides all the functionality of an Unleashed Registration key.","A valid GUID is required to check for OS updates.":"A valid GUID is required to check for OS updates.","A valid keyfile and USB Flash boot device are required to check for OS updates.":"A valid keyfile and USB Flash boot device are required to check for OS updates.","A valid keyfile is required to check for OS updates.":"A valid keyfile is required to check for OS updates.","A valid OS version is required to check for OS updates.":"A valid OS version is required to check for OS updates.","Acklowledge that you have made a Flash Backup to enable this action":"Acklowledge that you have made a Flash Backup to enable this action",ago:"ago","All you need is an active internet connection, an Unraid.net account, and the Connect plugin. Get started by installing the plugin.":"All you need is an active internet connection, an Unraid.net account, and the Connect plugin. Get started by installing the plugin.","Attached Storage Devices":"Attached Storage Devices","Backing up...this may take a few minutes":"Backing up...this may take a few minutes",Basic:"Basic","Begin downgrade to {0}":"Begin downgrade to {0}",Beta:"Beta","Blacklisted USB Flash GUID":"Blacklisted USB Flash GUID",BLACKLISTED:"BLACKLISTED","Calculating OS Update Eligibility…":"Calculating OS Update Eligibility…","Calculating trial expiration…":"Calculating trial expiration…","Callback redirect type not present or incorrect":"Callback redirect type not present or incorrect","Cancel {0}":"Cancel {0}",Cancel:"Cancel","Cannot access your USB Flash boot device":"Cannot access your USB Flash boot device","Cannot validate Unraid Trial key":"Cannot validate Unraid Trial key","Check Eligibility":"Check Eligibility","check for OS updates":"check for OS updates","Check for OS Updates":"Check for OS Updates","Check for Prereleases":"Check for Prereleases","Check for Update":"Check for Update","Checking WAN IPs…":"Checking WAN IPs…","Checking...":"Checking...","Checkout the Connect Documentation":"Checkout the Connect Documentation","Click to close modal":"Click to close modal","Click to Copy LAN IP {0}":"Click to Copy LAN IP {0}","Close Dropdown":"Close Dropdown","Close Modal":"Close Modal",Close:"Close","Configure Connect Features":"Configure Connect Features","Confirm and start update":"Confirm and start update","Confirm to Install Unraid OS {0}":"Confirm to Install Unraid OS {0}",Connected:"Connected","Contact Support":"Contact Support",Continue:"Continue",Copied:"Copied","Copy Key URL":"Copy Key URL","Copy your Key URL: {0}":"Copy your Key URL: {0}","Create Flash Backup":"Create Flash Backup","Current Version {0}":"Current Version {0}","Current Version: Unraid {0}":"Current Version: Unraid {0}","Customizable Dashboard Tiles":"Customizable Dashboard Tiles",day:"{n} day | {n} days","Deep Linking":"Deep Linking","DNS issue, unable to resolve wanip4.unraid.net":"DNS issue, unable to resolve wanip4.unraid.net","Downgrade Unraid OS to {0}":"Downgrade Unraid OS to {0}","Downgrade Unraid OS":"Downgrade Unraid OS","Downgrades are only recommended if you're unable to solve a critical issue.":"Downgrades are only recommended if you're unable to solve a critical issue.","Download Diagnostics":"Download Diagnostics","Download the Diagnostics zip then please open a bug report on our forums with a description of the issue along with your diagnostics.":"Download the Diagnostics zip then please open a bug report on our forums with a description of the issue along with your diagnostics.","Download unraid-api Logs":"Download unraid-api Logs","Dynamic Remote Access":"Dynamic Remote Access","Eligible for free feature updates for {0}":"Eligible for free feature updates for {0}","Eligible for free feature updates until {0}":"Eligible for free feature updates until {0}",Eligible:"Eligible","Enable update notifications":"Enable update notifications","Enhance your experience with Unraid Connect":"Enhance your experience with Unraid Connect","Enhance your Unraid experience with Connect":"Enhance your Unraid experience with Connect","Enhance your Unraid experience":"Enhance your Unraid experience","Error creating a trial key. Please try again later.":"Error creating a trial key. Please try again later.","Error Parsing Changelog • {0}":"Error Parsing Changelog • {0}",Error:"Error","Expired {0}":"Expired {0}",Expired:"Expired","Expires at {0}":"Expires at {0}","Expires in {0}":"Expires in {0}","Extend License to Enable OS Updates":"Extend License to Enable OS Updates","Extend License to Update":"Extend License to Update","Extend License":"Extend License","Extend Trial":"Extend Trial","Extending your free trial by 15 days":"Extending your free trial by 15 days","Extension Installed":"Extension Installed","Failed to {0} {1} Key":"Failed to {0} {1} Key","Failed to install key":"Failed to install key","Failed to update Connect account configuration":"Failed to update Connect account configuration","Fetching & parsing changelog…":"Fetching & parsing changelog…","Fix Error":"Fix Error","Flash Backup is not available. Navigate to {0}/Main/Settings/Flash to try again then come back to this page.":"Flash Backup is not available. Navigate to {0}/Main/Settings/Flash to try again then come back to this page.","Flash GUID Error":"Flash GUID Error","Flash GUID required to check replacement status":"Flash GUID required to check replacement status","Flash GUID":"Flash GUID","Flash Product":"Flash Product","Flash Vendor":"Flash Vendor","Get a Lifetime Key":"Get a Lifetime Key","Get an overview of your server's state, storage space, apps and VMs status, and more.":"Get an overview of your server's state, storage space, apps and VMs status, and more.","Get Started":"Get Started","Go to Connect plugin settings":"Go to Connect plugin settings","Go to Connect":"Go to Connect","Go to Management Access Now":"Go to Management Access Now","Go to Settings > Notifications to enable automatic OS update notifications for future releases.":"Go to Settings > Notifications to enable automatic OS update notifications for future releases.","Go to Tools > Management Access to activate the Flash Backup feature and ensure your backup is up-to-date.":"Go to Tools > Management Access to activate the Flash Backup feature and ensure your backup is up-to-date.","Go to Tools > Management Access to ensure your backup is up-to-date.":"Go to Tools > Management Access to ensure your backup is up-to-date.","Go to Tools > Registration to fix":"Go to Tools > Registration to fix","Go to Tools > Registration to Learn More":"Go to Tools > Registration to Learn More","Go to Tools > Update OS for more options.":"Go to Tools > Update OS for more options.","Go to Tools > Update":"Go to Tools > Update",hour:"{n} hour | {n} hours","I have made a Flash Backup":"I have made a Flash Backup","If you are asked to supply logs, please open a support request on our Contact Page and reply to the email message you receive with your logs attached.":"If you are asked to supply logs, please open a support request on our Contact Page and reply to the email message you receive with your logs attached.","Ignore this message if you are currently connected via Remote Access or VPN.":"Ignore this message if you are currently connected via Remote Access or VPN.","Ignore this release until next reboot":"Ignore this release until next reboot","Ignored Releases":"Ignored Releases","In the rare event you need to downgrade we ask that you please provide us with Diagnostics so we can investigate your issue.":"In the rare event you need to downgrade we ask that you please provide us with Diagnostics so we can investigate your issue.","Ineligible as of {0}":"Ineligible as of {0}","Ineligible for feature updates released after {0}":"Ineligible for feature updates released after {0}","Ineligible for Unraid OS updates":"Ineligible for Unraid OS updates",Ineligible:"Ineligible","Ineligible for self-replacement":"Ineligible for self-replacement","Install Connect":"Install Connect","Install Extended":"Install Extended","Install Recovered":"Install Recovered","Install Replaced":"Install Replaced","Install Unraid OS {0}":"Install Unraid OS {0}",Install:"Install",Installed:"Installed","Installing Connect":"Installing Connect","Installing Extended Trial":"Installing Extended Trial","Installing Extended":"Installing Extended","Installing Recovered":"Installing Recovered","Installing Replaced":"Installing Replaced",Installing:"Installing","Introducing Unraid Connect":"Introducing Unraid Connect","Invalid API Key Format":"Invalid API Key Format","Invalid API Key":"Invalid API Key","Invalid installation":"Invalid installation","It's highly recommended to review the changelog before continuing your update":"It's highly recommended to review the changelog before continuing your update","Key ineligible for {0}":"Key ineligible for {0}","Key ineligible for future releases":"Key ineligible for future releases","Key ineligible for new updates":"Key ineligible for new updates","Keyfile required to check replacement status":"Keyfile required to check replacement status","LAN IP {0}":"LAN IP {0}","LAN IP Copied":"LAN IP Copied","LAN IP":"LAN IP","Last checked: {0}":"Last checked: {0}","Learn more about the error":"Learn more about the error","Learn more and fix":"Learn more and fix","Learn more and link your key to your account":"Learn more and link your key to your account","Learn more":"Learn more","Learn More":"Learn More","Let's Unleash your Hardware!":"Let's Unleash your Hardware!","License key actions":"License key actions","License key type":"License key type","License Management":"License Management",Lifetime:"Lifetime","Link Key":"Link Key",Linked:"Linked","Linked to Unraid.net account":"Linked to Unraid.net account",Loading:"Loading","Manage Unraid.net Account in new tab":"Manage Unraid.net Account in new tab","Manage Unraid.net Account":"Manage Unraid.net Account","Manage your license keys at any time via the My Keys section.":"Manage your license keys at any time via the My Keys section.","Manage Your Server Within Connect":"Manage Your Server Within Connect",minute:"{n} minute | {n} minutes","Missing key file":"Missing key file",month:"{n} month | {n} months","More options":"More options","Multiple License Keys Present":"Multiple License Keys Present","Never ever be left without a backup of your config. If you need to change flash drives, generate a backup from Connect and be up and running in minutes.":"Never ever be left without a backup of your config. If you need to change flash drives, generate a backup from Connect and be up and running in minutes.","New Version: {0}":"New Version: {0}","No downgrade available":"No downgrade available","No Flash":"No Flash","No Keyfile":"No Keyfile","No thanks":"No thanks","No USB flash configuration data":"No USB flash configuration data","Not Linked":"Not Linked","On January 1st, 2023 SSL certificates for unraid.net were deprecated. You MUST provision a new SSL certificate to use our new myunraid.net domain. You can do this on the Settings > Management Access page.":"On January 1st, 2023 SSL certificates for unraid.net were deprecated. You MUST provision a new SSL certificate to use our new myunraid.net domain. You can do this on the Settings > Management Access page.","Online Flash Backup":"Online Flash Backup","Open a bug report":"Open a bug report","Open Dropdown":"Open Dropdown","Opens Connect in new tab":"Opens Connect in new tab","Original release date {0}":"Original release date {0}","OS Update Eligibility Expiration":"OS Update Eligibility Expiration","OS Update Eligibility Expired":"OS Update Eligibility Expired","OS Update Eligibility":"OS Update Eligibility","Pay your annual fee to continue receiving OS updates.":"Pay your annual fee to continue receiving OS updates.","Performing actions":"Performing actions","Please confirm the update details below":"Please confirm the update details below","Please finish the initiated downgrade to enable updates.":"Please finish the initiated downgrade to enable updates.","Please finish the initiated update to enable a downgrade.":"Please finish the initiated update to enable a downgrade.","Please fix any errors and try again.":"Please fix any errors and try again.","Please keep this window open while we perform some actions":"Please keep this window open while we perform some actions","Please keep this window open":"Please keep this window open","Please sign out then sign back in to refresh your API key.":"Please sign out then sign back in to refresh your API key.","Please wait while the page reloads to install your trial key":"Please wait while the page reloads to install your trial key","Plus more on the way":"Plus more on the way",Plus:"Plus",Pro:"Pro","Purchase Key":"Purchase Key",Purchase:"Purchase","Ready to Install Key":"Ready to Install Key","Ready to update Connect account configuration":"Ready to update Connect account configuration","Real-time Monitoring":"Real-time Monitoring","Reboot Now to Downgrade to {0}":"Reboot Now to Downgrade to {0}","Reboot Now to Downgrade":"Reboot Now to Downgrade","Reboot Now to Update to {0}":"Reboot Now to Update to {0}","Reboot Now to Update":"Reboot Now to Update","Reboot Required for Downgrade to {0}":"Reboot Required for Downgrade to {0}","Reboot Required for Downgrade":"Reboot Required for Downgrade","Reboot Required for Update to {0}":"Reboot Required for Update to {0}","Reboot Required for Update":"Reboot Required for Update","Rebooting will likely solve this.":"Rebooting will likely solve this.","Receive the latest and greatest for Unraid OS. Whether it new features, security patches, or bug fixes – keeping your server up-to-date ensures the best experience that Unraid has to offer.":"Receive the latest and greatest for Unraid OS. Whether it new features, security patches, or bug fixes – keeping your server up-to-date ensures the best experience that Unraid has to offer.","Recover Key":"Recover Key",Recovered:"Recovered","Redeem Activation Code":"Redeem Activation Code",Refresh:"Refresh","Registered on":"Registered on","Registered to":"Registered to","Registration key / USB Flash GUID mismatch":"Registration key / USB Flash GUID mismatch","Release date {0}":"Release date {0}","Release requires verification to update":"Release requires verification to update","Reload Page":"Reload Page",Reload:"Reload","Remark: Unraid's WAN IPv4 {0} does not match your client's WAN IPv4 {1}.":"Remark: Unraid's WAN IPv4 {0} does not match your client's WAN IPv4 {1}.","Remark: your WAN IPv4 is {0}":"Remark: your WAN IPv4 is {0}","Remove from ignore list":"Remove from ignore list",Remove:"Remove","Renew Key":"Renew Key","Renew your license key now":"Renew your license key now","Replace Key":"Replace Key",Replaced:"Replaced","Requires the local unraid-api to be running successfully":"Requires the local unraid-api to be running successfully","Restarting unraid-api…":"Restarting unraid-api…",second:"{n} second | {n} seconds","Server Up Since {0}":"Server Up Since {0}","Servers equipped with a myunraid.net certificate can be managed directly from within the Connect web UI. Manage multiple servers from your phone, tablet, laptop, or PC in the same browser window.":"Servers equipped with a myunraid.net certificate can be managed directly from within the Connect web UI. Manage multiple servers from your phone, tablet, laptop, or PC in the same browser window.","Set custom server tiles how you like and automatically display your server's banner image on your Connect Dashboard.":"Set custom server tiles how you like and automatically display your server's banner image on your Connect Dashboard.",Settings:"Settings","Sign In Failed":"Sign In Failed","Sign In requires the local unraid-api to be running":"Sign In requires the local unraid-api to be running","Sign In to utilize Unraid Connect":"Sign In to utilize Unraid Connect","Sign In to your Unraid.net account to get started":"Sign In to your Unraid.net account to get started","Sign In with Unraid.net Account":"Sign In with Unraid.net Account","Sign In":"Sign In","Sign Out Failed":"Sign Out Failed","Sign Out of Unraid.net":"Sign Out of Unraid.net","Sign Out requires the local unraid-api to be running":"Sign Out requires the local unraid-api to be running","Signing in {0}…":"Signing in {0}…","Signing In":"Signing In","Signing out {0}…":"Signing out {0}…","Signing Out":"Signing Out","Something went wrong":"Something went wrong","SSL certificates for unraid.net deprecated":"SSL certificates for unraid.net deprecated","Stale Server":"Stale Server",Stale:"Stale","Start Free 30 Day Trial":"Start Free 30 Day Trial",Starter:"Starter","Starting your free 30 day trial":"Starting your free 30 day trial","Success!":"Success!","Thank you for choosing Unraid OS!":"Thank you for choosing Unraid OS!","Thank you for installing Connect!":"Thank you for installing Connect!","Thank you for purchasing an Unraid {0} Key!":"Thank you for purchasing an Unraid {0} Key!","Thank you for upgrading to an Unraid {0} Key!":"Thank you for upgrading to an Unraid {0} Key!","The Connect dashboard links to relevant sections of the webgui, allowing quick access to those settings and server sections.":"The Connect dashboard links to relevant sections of the webgui, allowing quick access to those settings and server sections.","The logs may contain sensitive information so do not post them publicly.":"The logs may contain sensitive information so do not post them publicly.","The primary method of support for Unraid Connect is through our forums and Discord.":"The primary method of support for Unraid Connect is through our forums and Discord.","Then go to Tools > Registration to manually install it":"Then go to Tools > Registration to manually install it","This may indicate a complex network that will not work with this Remote Access solution.":"This may indicate a complex network that will not work with this Remote Access solution.","This update will require a reboot":"This update will require a reboot","Toggle on/off server accessibility with dynamic remote access. Automatically turn on UPnP and open a random WAN port on your router at the click of a button and close off access in seconds.":"Toggle on/off server accessibility with dynamic remote access. Automatically turn on UPnP and open a random WAN port on your router at the click of a button and close off access in seconds.","Too Many Devices":"Too Many Devices","Transfer License to New Flash":"Transfer License to New Flash","Trial Expired, see options below":"Trial Expired, see options below","Trial Expired":"Trial Expired","Trial Key Created":"Trial Key Created","Trial Key Creation Failed":"Trial Key Creation Failed","Trial Key Expired {0}":"Trial Key Expired {0}","Trial Key Expired at {0}":"Trial Key Expired at {0}","Trial Key Expires at {0}":"Trial Key Expires at {0}","Trial Key Expires in {0}":"Trial Key Expires in {0}","Trial Requires Internet Connection":"Trial Requires Internet Connection",Trial:"Trial","Unable to check for OS updates":"Unable to check for OS updates","Unable to fetch client WAN IPv4":"Unable to fetch client WAN IPv4","Unable to open release notes":"Unable to open release notes","Unknown error":"Unknown error",Unknown:"Unknown",Unleashed:"Unleashed",unlimited:"unlimited","Unraid {0} Available":"Unraid {0} Available","Unraid {0} Update Available":"Unraid {0} Update Available","Unraid {0}":"Unraid {0}","Unraid Connect Error":"Unraid Connect Error","Unraid Connect Forums":"Unraid Connect Forums","Unraid Connect Install Failed":"Unraid Connect Install Failed","Unraid Contact Page":"Unraid Contact Page","Unraid Discord":"Unraid Discord","Unraid logo animating with a wave like effect":"Unraid logo animating with a wave like effect","Unraid OS {0} Released":"Unraid OS {0} Released","Unraid OS {0} Update Available":"Unraid OS {0} Update Available","Unraid OS is up-to-date":"Unraid OS is up-to-date","Unraid OS Update Available":"Unraid OS Update Available","unraid-api is offline":"unraid-api is offline","Up-to-date with eligible releases":"Up-to-date with eligible releases","Up-to-date":"Up-to-date","Update Available":"Update Available","Update Released":"Update Released","Update Unraid OS confirmation required":"Update Unraid OS confirmation required","Update Unraid OS":"Update Unraid OS","Updates Expire":"Updates Expire","Updating 3rd party drivers":"Updating 3rd party drivers","Upgrade Key":"Upgrade Key",Upgrade:"Upgrade","Uptime {0}":"Uptime {0}","USB Flash device error":"USB Flash device error","USB Flash has no serial number":"USB Flash has no serial number","Verify to Update":"Verify to Update","Version available for restore {0}":"Version available for restore {0}","Version: {0}":"Version: {0}","View Available Updates":"View Available Updates","View Changelog & Update":"View Changelog & Update","View Changelog for {0}":"View Changelog for {0}","View Changelog on Docs":"View Changelog on Docs","View Changelog to Start Update":"View Changelog to Start Update","View Changelog":"View Changelog","View on Docs":"View on Docs","View release notes":"View release notes","We recommend backing up your USB Flash Boot Device before starting the update.":"We recommend backing up your USB Flash Boot Device before starting the update.",year:"{n} year | {n} years","You are still eligible to access OS updates that were published on or before {1}.":"You are still eligible to access OS updates that were published on or before {1}.","You can also manually create a new backup by clicking the Create Flash Backup button.":"You can also manually create a new backup by clicking the Create Flash Backup button.","You can manually create a backup by clicking the Create Flash Backup button.":"You can manually create a backup by clicking the Create Flash Backup button.","You have already activated the Flash Backup feature via the Unraid Connect plugin.":"You have already activated the Flash Backup feature via the Unraid Connect plugin.","You have exceeded the number of devices allowed for your license. Please remove a device before adding another.":"You have exceeded the number of devices allowed for your license. Please remove a device before adding another.","You have not activated the Flash Backup feature via the Unraid Connect plugin.":"You have not activated the Flash Backup feature via the Unraid Connect plugin.","You may still update to releases dated prior to your update expiration date.":"You may still update to releases dated prior to your update expiration date.","You're one step closer to enhancing your Unraid experience":"You're one step closer to enhancing your Unraid experience","Your {0} Key has been replaced!":"Your {0} Key has been replaced!","Your {0} license included one year of free updates at the time of purchase. You are now eligible to extend your license and access the latest OS updates. You are still eligible to access OS updates that were published on or before {1}.":"Your {0} license included one year of free updates at the time of purchase. You are now eligible to extend your license and access the latest OS updates. You are still eligible to access OS updates that were published on or before {1}.","Your {0} license included one year of free updates at the time of purchase. You are now eligible to extend your license and access the latest OS updates.":"Your {0} license included one year of free updates at the time of purchase. You are now eligible to extend your license and access the latest OS updates.","Your free Trial key provides all the functionality of an Unleashed Registration key":"Your free Trial key provides all the functionality of an Unleashed Registration key","Your license key is not eligible for Unraid OS {0}":"Your license key is not eligible for Unraid OS {0}","Your license key's OS update eligibility has expired. Please renew your license key to enable updates released after your expiration date.":"Your license key's OS update eligibility has expired. Please renew your license key to enable updates released after your expiration date.","Your Trial has expired":"Your Trial has expired","Your Trial key has been extended!":"Your Trial key has been extended!"},Oce="en_US",Nce=(eee,tee)=>{const ree=eee.__vccOpts||eee;for(const[oee,nee]of tee)ree[oee]=nee;return ree},Ace=Nce(xoe({__name:"I18nHost.ce",setup(eee){let tee="",ree={},oee=!1;const nee=window.LOCALE_DATA||null;if(nee)try{ree=JSON.parse(decodeURIComponent(nee)),tee=Object.keys(ree)[0],oee=tee!==Oce}catch(iee){}const aee=kce({legacy:!1,locale:oee?tee:Oce,fallbackLocale:Oce,messages:{en_US:Ice,...oee?ree:{}}});return gne(xce,aee),(eee,tee)=>Yoe(eee.$slots,"default")}}),[["styles",[""]]]),Rce={key:0,class:"absolute -top-[2px] -right-[2px] -bottom-[2px] -left-[2px] -z-10 bg-gradient-to-r from-unraid-red to-orange opacity-100 transition-all rounded-md group-hover:opacity-60 group-focus:opacity-60"},Dce={key:1,class:"absolute -top-[2px] -right-[2px] -bottom-[2px] -left-[2px] -z-10 bg-gradient-to-r from-unraid-red to-orange opacity-0 transition-all rounded-md group-hover:opacity-100 group-focus:opacity-100"},Cce=xoe({__name:"Button",props:{btnStyle:{default:"fill"},btnType:{default:"button"},class:{default:void 0},click:{type:Function,default:void 0},disabled:{type:Boolean},download:{type:Boolean},external:{type:Boolean},href:{default:void 0},icon:{default:void 0},iconRight:{default:void 0},iconRightHoverDisplay:{type:Boolean,default:!1},noPadding:{type:Boolean,default:!1},size:{default:"16px"},text:{default:""},title:{default:""}},emits:["click"],setup(eee){const tee=eee,ree=Sae((()=>{let eee="",ree="",oee="";switch(tee.btnStyle){case"black":eee="text-white bg-black border-black transition hover:text-black focus:text-black hover:bg-grey focus:bg-grey hover:border-grey focus:border-grey";break;case"fill":eee="text-white bg-transparent border-transparent";break;case"gray":eee="text-black bg-grey transition hover:text-white focus:text-white hover:bg-grey-mid focus:bg-grey-mid hover:border-grey-mid focus:border-grey-mid";break;case"outline":eee="text-orange bg-transparent border-orange hover:text-white focus:text-white";break;case"outline-black":eee="text-black bg-transparent border-black hover:text-black focus:text-black hover:bg-grey focus:bg-grey hover:border-grey focus:border-grey";break;case"outline-white":eee="text-white bg-transparent border-white hover:text-black focus:text-black hover:bg-white focus:bg-white";break;case"underline":eee="opacity-75 underline border-transparent transition hover:text-alpha hover:bg-beta hover:border-beta focus:text-alpha focus:bg-beta focus:border-beta hover:opacity-100 focus:opacity-100";break;case"underline-hover-red":eee="opacity-75 underline border-transparent transition hover:text-white hover:bg-unraid-red hover:border-unraid-red focus:text-white focus:bg-unraid-red focus:border-unraid-red hover:opacity-100 focus:opacity-100";break;case"white":eee="text-black bg-white transition hover:bg-grey focus:bg-grey"}switch(tee.size){case"12px":ree=`text-12px ${tee.noPadding?"p-0":"p-8px"} gap-4px`,oee="w-12px";break;case"14px":ree=`text-14px ${tee.noPadding?"p-0":"p-8px"} gap-8px`,oee="w-14px";break;case"16px":ree=`text-16px ${tee.noPadding?"p-0":"p-12px"} gap-8px`,oee="w-16px";break;case"18px":ree=`text-18px ${tee.noPadding?"p-0":"p-12px"} gap-8px`,oee="w-18px";break;case"20px":ree=`text-20px ${tee.noPadding?"p-0":"p-16px"} gap-8px`,oee="w-20px";break;case"24px":ree=`text-24px ${tee.noPadding?"p-0":"p-16px"} gap-8px`,oee="w-24px"}return{button:"none"===tee.btnStyle?`${ree} ${tee.class}`:`${ree} ${eee} group text-center font-semibold leading-none relative z-0 flex flex-row items-center justify-center border-2 border-solid shadow-none cursor-pointer rounded-md hover:shadow-md focus:shadow-md disabled:opacity-25 disabled:hover:opacity-25 disabled:focus:opacity-25 disabled:cursor-not-allowed ${tee.class}`,icon:`${oee} fill-current flex-shrink-0`}}));return(eee,tee)=>(qne(),Wne($oe(eee.href?"a":"button"),{disabled:eee.disabled??null,href:eee.href,rel:eee.external?"noopener noreferrer":"",target:eee.external?"_blank":"",type:eee.href?"":eee.btnType,class:Yee(ree.value.button),title:eee.title,onClick:tee[0]||(tee[0]=tee=>eee.click??eee.$emit("click"))},{default:soe((()=>["fill"===eee.btnStyle?(qne(),Qne("div",Rce)):aae("",!0),"outline"===eee.btnStyle?(qne(),Qne("div",Dce)):aae("",!0),eee.icon?(qne(),Wne($oe(eee.icon),{key:2,class:Yee(ree.value.icon)},null,8,["class"])):aae("",!0),oae(" "+Hee(eee.text)+" ",1),Yoe(eee.$slots,"default"),eee.iconRight?(qne(),Wne($oe(eee.iconRight),{key:3,class:Yee([ree.value.icon,eee.iconRightHoverDisplay&&"opacity-0 group-hover:opacity-100 group-focus:opacity-100 transition-all"])},null,8,["class"])):aae("",!0)])),_:3},8,["disabled","href","rel","target","type","class","title"]))}}); +/*! + * pinia v2.1.7 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */ +let Lce;const Fce=eee=>Lce=eee,zce=Symbol();function Mce(o){return o&&"object"==typeof o&&"[object Object]"===Object.prototype.toString.call(o)&&"function"!=typeof o.toJSON}var Pce,Uce;function jce(){const eee=ete(!0),tee=eee.run((()=>kre({})));let _p=[],ree=[];const oee=fre({install(eee){Fce(oee),oee._a=eee,eee.provide(zce,oee),eee.config.globalProperties.$pinia=oee,ree.forEach((eee=>_p.push(eee))),ree=[]},use(eee){return this._a?_p.push(eee):ree.push(eee),this},_p:_p,_a:null,_e:eee,_s:new Map,state:tee});return oee}(Uce=Pce||(Pce={})).direct="direct",Uce.patchObject="patch object",Uce.patchFunction="patch function";const $ce=()=>{};function Vce(eee,tee,ree,oee=$ce){eee.push(tee);const nee=()=>{const ree=eee.indexOf(tee);ree>-1&&(eee.splice(ree,1),oee())};return!ree&&tte()&&rte(nee),nee}function qce(eee,...tee){eee.slice().forEach((eee=>{eee(...tee)}))}const Bce=fn=>fn();function Yce(eee,tee){eee instanceof Map&&tee instanceof Map&&tee.forEach(((tee,ree)=>eee.set(ree,tee))),eee instanceof Set&&tee instanceof Set&&tee.forEach(eee.add,eee);for(const ree in tee){if(!tee.hasOwnProperty(ree))continue;const oee=tee[ree],nee=eee[ree];Mce(nee)&&Mce(oee)&&eee.hasOwnProperty(ree)&&!xre(oee)&&!dre(oee)?eee[ree]=Yce(nee,oee):eee[ree]=oee}return eee}const Gce=Symbol();const{assign:Qce}=Object;function Wce(o){return!(!xre(o)||!o.effect)}function Kce(eee,tee,ree={},oee,nee,aee){let iee;const see=Qce({actions:{}},ree),lee={deep:!0};let cee,pee,dee,uee=[],hee=[];const gee=oee.state.value[eee];let wee;function fee(tee){let ree;cee=pee=!1,"function"==typeof tee?(tee(oee.state.value[eee]),ree={type:Pce.patchFunction,storeId:eee,events:dee}):(Yce(oee.state.value[eee],tee),ree={type:Pce.patchObject,payload:tee,storeId:eee,events:dee});const nee=wee=Symbol();Qre().then((()=>{wee===nee&&(cee=!0)})),pee=!0,qce(uee,ree,oee.state.value[eee])}aee||gee||(oee.state.value[eee]={}),kre({});const bee=aee?function(){const{state:eee}=ree,tee=eee?eee():{};this.$patch((eee=>{Qce(eee,tee)}))}:$ce;function mee(tee,ree){return function(){Fce(oee);const nee=Array.from(arguments),aee=[],iee=[];let see;qce(hee,{args:nee,name:tee,store:vee,after:function(eee){aee.push(eee)},onError:function(eee){iee.push(eee)}});try{see=ree.apply(this&&this.$id===eee?this:vee,nee)}catch(lee){throw qce(iee,lee),lee}return see instanceof Promise?see.then((eee=>(qce(aee,eee),eee))).catch((eee=>(qce(iee,eee),Promise.reject(eee)))):(qce(aee,see),see)}}const vee=lre({_p:oee,$id:eee,$onAction:Vce.bind(null,hee),$patch:fee,$reset:bee,$subscribe(tee,ree={}){const nee=Vce(uee,tee,ree.detached,(()=>aee())),aee=iee.run((()=>goe((()=>oee.state.value[eee]),(oee=>{("sync"===ree.flush?pee:cee)&&tee({storeId:eee,type:Pce.direct,events:dee},oee)}),Qce({},lee,ree))));return nee},$dispose:function(){iee.stop(),uee=[],hee=[],oee._s.delete(eee)}});oee._s.set(eee,vee);const yee=(oee._a&&oee._a.runWithContext||Bce)((()=>oee._e.run((()=>(iee=ete()).run(tee)))));for(const kee in yee){const tee=yee[kee];if(xre(tee)&&!Wce(tee)||dre(tee))aee||(!gee||Mce(xee=tee)&&xee.hasOwnProperty(Gce)||(xre(tee)?tee.value=gee[kee]:Yce(tee,gee[kee])),oee.state.value[eee][kee]=tee);else if("function"==typeof tee){const eee=mee(kee,tee);yee[kee]=eee,see.actions[kee]=tee}}var xee;return Qce(vee,yee),Qce(wre(vee),yee),Object.defineProperty(vee,"$state",{get:()=>oee.state.value[eee],set:eee=>{fee((tee=>{Qce(tee,eee)}))}}),oee._p.forEach((eee=>{Qce(vee,iee.run((()=>eee({store:vee,app:oee._a,pinia:oee,options:see}))))})),gee&&aee&&ree.hydrate&&ree.hydrate(vee.$state,gee),cee=!0,pee=!0,vee}function Hce(eee,tee,ree){let id,oee;const nee="function"==typeof tee;function aee(eee,ree){const aee=fne();(eee=eee||(aee?wne(zce,null):null))&&Fce(eee),(eee=Lce)._s.has(id)||(nee?Kce(id,tee,oee,eee):function(id,eee,tee,ree){const{state:oee,actions:nee,getters:aee}=eee,iee=tee.state.value[id];let see;see=Kce(id,(function(){iee||(tee.state.value[id]=oee?oee():{});const eee=Nre(tee.state.value[id]);return Qce(eee,nee,Object.keys(aee||{}).reduce(((eee,ree)=>(eee[ree]=fre(Sae((()=>{Fce(tee);const eee=tee._s.get(id);return aee[ree].call(eee,eee)}))),eee)),{}))}),eee,tee,0,!0)}(id,oee,eee));return eee._s.get(id)}return"string"==typeof eee?(id=eee,oee=nee?ree:tee):(oee=eee,id=eee.id),aee.$id=id,aee}function Xce(eee){{eee=wre(eee);const tee={};for(const ree in eee){const oee=eee[ree];(xre(oee)||dre(oee))&&(tee[ree]=Dre(eee,ree))}return tee}}var Zce="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Jce(x){return x&&x.__esModule&&Object.prototype.hasOwnProperty.call(x,"default")?x.default:x}function epe(n){if(n.__esModule)return n;var f=n.default;if("function"==typeof f){var a=function a(){return this instanceof a?Reflect.construct(f,arguments,this.constructor):f.apply(this,arguments)};a.prototype=f.prototype}else a={};return Object.defineProperty(a,"__esModule",{value:!0}),Object.keys(n).forEach((function(k){var d=Object.getOwnPropertyDescriptor(n,k);Object.defineProperty(a,k,d.get?d:{enumerable:!0,get:function(){return n[k]}})})),a}var tpe={exports:{}};tpe.exports=function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",c="month",f="quarter",h="year",d="date",l="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return"["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)console.error("SEMVER",...eee):()=>{};var ipe={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},spe={exports:{}};!function(eee,tee){const{MAX_SAFE_COMPONENT_LENGTH:ree,MAX_SAFE_BUILD_LENGTH:oee,MAX_LENGTH:nee}=ipe,aee=ape,re=(tee=eee.exports={}).re=[],iee=tee.safeRe=[],see=tee.src=[],t=tee.t={};let R=0;const lee="[a-zA-Z0-9-]",cee=[["\\s",1],["\\d",nee],[lee,oee]],pee=(eee,tee,ree)=>{const oee=(eee=>{for(const[tee,ree]of cee)eee=eee.split(`${tee}*`).join(`${tee}{0,${ree}}`).split(`${tee}+`).join(`${tee}{1,${ree}}`);return eee})(tee),nee=R++;aee(eee,nee,tee),t[eee]=nee,see[nee]=tee,re[nee]=new RegExp(tee,ree?"g":void 0),iee[nee]=new RegExp(oee,ree?"g":void 0)};pee("NUMERICIDENTIFIER","0|[1-9]\\d*"),pee("NUMERICIDENTIFIERLOOSE","\\d+"),pee("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${lee}*`),pee("MAINVERSION",`(${see[t.NUMERICIDENTIFIER]})\\.(${see[t.NUMERICIDENTIFIER]})\\.(${see[t.NUMERICIDENTIFIER]})`),pee("MAINVERSIONLOOSE",`(${see[t.NUMERICIDENTIFIERLOOSE]})\\.(${see[t.NUMERICIDENTIFIERLOOSE]})\\.(${see[t.NUMERICIDENTIFIERLOOSE]})`),pee("PRERELEASEIDENTIFIER",`(?:${see[t.NUMERICIDENTIFIER]}|${see[t.NONNUMERICIDENTIFIER]})`),pee("PRERELEASEIDENTIFIERLOOSE",`(?:${see[t.NUMERICIDENTIFIERLOOSE]}|${see[t.NONNUMERICIDENTIFIER]})`),pee("PRERELEASE",`(?:-(${see[t.PRERELEASEIDENTIFIER]}(?:\\.${see[t.PRERELEASEIDENTIFIER]})*))`),pee("PRERELEASELOOSE",`(?:-?(${see[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${see[t.PRERELEASEIDENTIFIERLOOSE]})*))`),pee("BUILDIDENTIFIER",`${lee}+`),pee("BUILD",`(?:\\+(${see[t.BUILDIDENTIFIER]}(?:\\.${see[t.BUILDIDENTIFIER]})*))`),pee("FULLPLAIN",`v?${see[t.MAINVERSION]}${see[t.PRERELEASE]}?${see[t.BUILD]}?`),pee("FULL",`^${see[t.FULLPLAIN]}$`),pee("LOOSEPLAIN",`[v=\\s]*${see[t.MAINVERSIONLOOSE]}${see[t.PRERELEASELOOSE]}?${see[t.BUILD]}?`),pee("LOOSE",`^${see[t.LOOSEPLAIN]}$`),pee("GTLT","((?:<|>)?=?)"),pee("XRANGEIDENTIFIERLOOSE",`${see[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),pee("XRANGEIDENTIFIER",`${see[t.NUMERICIDENTIFIER]}|x|X|\\*`),pee("XRANGEPLAIN",`[v=\\s]*(${see[t.XRANGEIDENTIFIER]})(?:\\.(${see[t.XRANGEIDENTIFIER]})(?:\\.(${see[t.XRANGEIDENTIFIER]})(?:${see[t.PRERELEASE]})?${see[t.BUILD]}?)?)?`),pee("XRANGEPLAINLOOSE",`[v=\\s]*(${see[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${see[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${see[t.XRANGEIDENTIFIERLOOSE]})(?:${see[t.PRERELEASELOOSE]})?${see[t.BUILD]}?)?)?`),pee("XRANGE",`^${see[t.GTLT]}\\s*${see[t.XRANGEPLAIN]}$`),pee("XRANGELOOSE",`^${see[t.GTLT]}\\s*${see[t.XRANGEPLAINLOOSE]}$`),pee("COERCEPLAIN",`(^|[^\\d])(\\d{1,${ree}})(?:\\.(\\d{1,${ree}}))?(?:\\.(\\d{1,${ree}}))?`),pee("COERCE",`${see[t.COERCEPLAIN]}(?:$|[^\\d])`),pee("COERCEFULL",see[t.COERCEPLAIN]+`(?:${see[t.PRERELEASE]})?`+`(?:${see[t.BUILD]})?(?:$|[^\\d])`),pee("COERCERTL",see[t.COERCE],!0),pee("COERCERTLFULL",see[t.COERCEFULL],!0),pee("LONETILDE","(?:~>?)"),pee("TILDETRIM",`(\\s*)${see[t.LONETILDE]}\\s+`,!0),tee.tildeTrimReplace="$1~",pee("TILDE",`^${see[t.LONETILDE]}${see[t.XRANGEPLAIN]}$`),pee("TILDELOOSE",`^${see[t.LONETILDE]}${see[t.XRANGEPLAINLOOSE]}$`),pee("LONECARET","(?:\\^)"),pee("CARETTRIM",`(\\s*)${see[t.LONECARET]}\\s+`,!0),tee.caretTrimReplace="$1^",pee("CARET",`^${see[t.LONECARET]}${see[t.XRANGEPLAIN]}$`),pee("CARETLOOSE",`^${see[t.LONECARET]}${see[t.XRANGEPLAINLOOSE]}$`),pee("COMPARATORLOOSE",`^${see[t.GTLT]}\\s*(${see[t.LOOSEPLAIN]})$|^$`),pee("COMPARATOR",`^${see[t.GTLT]}\\s*(${see[t.FULLPLAIN]})$|^$`),pee("COMPARATORTRIM",`(\\s*)${see[t.GTLT]}\\s*(${see[t.LOOSEPLAIN]}|${see[t.XRANGEPLAIN]})`,!0),tee.comparatorTrimReplace="$1$2$3",pee("HYPHENRANGE",`^\\s*(${see[t.XRANGEPLAIN]})\\s+-\\s+(${see[t.XRANGEPLAIN]})\\s*$`),pee("HYPHENRANGELOOSE",`^\\s*(${see[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${see[t.XRANGEPLAINLOOSE]})\\s*$`),pee("STAR","(<|>)?=?\\s*\\*"),pee("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),pee("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(spe,spe.exports);var lpe=spe.exports;const cpe=Object.freeze({loose:!0}),ppe=Object.freeze({});var dpe=eee=>eee?"object"!=typeof eee?cpe:eee:ppe;const upe=/^[0-9]+$/,hpe=(a,b)=>{const eee=upe.test(a),tee=upe.test(b);return eee&&tee&&(a=+a,b=+b),a===b?0:eee&&!tee?-1:tee&&!eee?1:ahpe(b,a)};const wpe=ape,{MAX_LENGTH:fpe,MAX_SAFE_INTEGER:bpe}=ipe,{safeRe:re,t:mpe}=lpe,vpe=dpe,{compareIdentifiers:ype}=gpe;var xpe=class eee{constructor(tee,ree){if(ree=vpe(ree),tee instanceof eee){if(tee.loose===!!ree.loose&&tee.includePrerelease===!!ree.includePrerelease)return tee;tee=tee.version}else if("string"!=typeof tee)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof tee}".`);if(tee.length>fpe)throw new TypeError(`version is longer than ${fpe} characters`);wpe("SemVer",tee,ree),this.options=ree,this.loose=!!ree.loose,this.includePrerelease=!!ree.includePrerelease;const m=tee.trim().match(ree.loose?re[mpe.LOOSE]:re[mpe.FULL]);if(!m)throw new TypeError(`Invalid Version: ${tee}`);if(this.raw=tee,this.major=+m[1],this.minor=+m[2],this.patch=+m[3],this.major>bpe||this.major<0)throw new TypeError("Invalid major version");if(this.minor>bpe||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>bpe||this.patch<0)throw new TypeError("Invalid patch version");m[4]?this.prerelease=m[4].split(".").map((id=>{if(/^[0-9]+$/.test(id)){const eee=+id;if(eee>=0&&eee=0;)"number"==typeof this.prerelease[i]&&(this.prerelease[i]++,i=-2);if(-1===i){if(tee===this.prerelease.join(".")&&!1===ree)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(eee)}}if(tee){let oee=[tee,eee];!1===ree&&(oee=[tee]),0===ype(this.prerelease[0],tee)?isNaN(this.prerelease[1])&&(this.prerelease=oee):this.prerelease=oee}break}default:throw new Error(`invalid increment argument: ${eee}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};const kpe=xpe;var _pe=(eee,tee,ree=!1)=>{if(eee instanceof kpe)return eee;try{return new kpe(eee,tee)}catch(er){if(!ree)return null;throw er}};const Epe=_pe;var Tpe=(eee,tee)=>{const ree=Epe(eee,tee);return ree&&ree.prerelease.length?ree.prerelease:null};const Spe=Jce(Tpe);function Ipe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M12 2.25a.75.75 0 0 1 .75.75v11.69l3.22-3.22a.75.75 0 1 1 1.06 1.06l-4.5 4.5a.75.75 0 0 1-1.06 0l-4.5-4.5a.75.75 0 1 1 1.06-1.06l3.22 3.22V3a.75.75 0 0 1 .75-.75Zm-9 13.5a.75.75 0 0 1 .75.75v2.25a1.5 1.5 0 0 0 1.5 1.5h13.5a1.5 1.5 0 0 0 1.5-1.5V16.5a.75.75 0 0 1 1.5 0v2.25a3 3 0 0 1-3 3H5.25a3 3 0 0 1-3-3V16.5a.75.75 0 0 1 .75-.75Z","clip-rule":"evenodd"})])}function Ope(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M4.755 10.059a7.5 7.5 0 0 1 12.548-3.364l1.903 1.903h-3.183a.75.75 0 1 0 0 1.5h4.992a.75.75 0 0 0 .75-.75V4.356a.75.75 0 0 0-1.5 0v3.18l-1.9-1.9A9 9 0 0 0 3.306 9.67a.75.75 0 1 0 1.45.388Zm15.408 3.352a.75.75 0 0 0-.919.53 7.5 7.5 0 0 1-12.548 3.364l-1.902-1.903h3.183a.75.75 0 0 0 0-1.5H2.984a.75.75 0 0 0-.75.75v4.992a.75.75 0 0 0 1.5 0v-3.18l1.9 1.9a9 9 0 0 0 15.059-4.035.75.75 0 0 0-.53-.918Z","clip-rule":"evenodd"})])}function Npe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M7.5 3.75A1.5 1.5 0 0 0 6 5.25v13.5a1.5 1.5 0 0 0 1.5 1.5h6a1.5 1.5 0 0 0 1.5-1.5V15a.75.75 0 0 1 1.5 0v3.75a3 3 0 0 1-3 3h-6a3 3 0 0 1-3-3V5.25a3 3 0 0 1 3-3h6a3 3 0 0 1 3 3V9A.75.75 0 0 1 15 9V5.25a1.5 1.5 0 0 0-1.5-1.5h-6Zm10.72 4.72a.75.75 0 0 1 1.06 0l3 3a.75.75 0 0 1 0 1.06l-3 3a.75.75 0 1 1-1.06-1.06l1.72-1.72H9a.75.75 0 0 1 0-1.5h10.94l-1.72-1.72a.75.75 0 0 1 0-1.06Z","clip-rule":"evenodd"})])}function Ape(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M3.75 12a.75.75 0 0 1 .75-.75h13.19l-5.47-5.47a.75.75 0 0 1 1.06-1.06l6.75 6.75a.75.75 0 0 1 0 1.06l-6.75 6.75a.75.75 0 1 1-1.06-1.06l5.47-5.47H4.5a.75.75 0 0 1-.75-.75Z","clip-rule":"evenodd"})])}function Rpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M15.75 2.25H21a.75.75 0 0 1 .75.75v5.25a.75.75 0 0 1-1.5 0V4.81L8.03 17.03a.75.75 0 0 1-1.06-1.06L19.19 3.75h-3.44a.75.75 0 0 1 0-1.5Zm-10.5 4.5a1.5 1.5 0 0 0-1.5 1.5v10.5a1.5 1.5 0 0 0 1.5 1.5h10.5a1.5 1.5 0 0 0 1.5-1.5V10.5a.75.75 0 0 1 1.5 0v8.25a3 3 0 0 1-3 3H5.25a3 3 0 0 1-3-3V8.25a3 3 0 0 1 3-3h8.25a.75.75 0 0 1 0 1.5H5.25Z","clip-rule":"evenodd"})])}function Dpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M15 3.75A5.25 5.25 0 0 0 9.75 9v10.19l4.72-4.72a.75.75 0 1 1 1.06 1.06l-6 6a.75.75 0 0 1-1.06 0l-6-6a.75.75 0 1 1 1.06-1.06l4.72 4.72V9a6.75 6.75 0 0 1 13.5 0v3a.75.75 0 0 1-1.5 0V9c0-2.9-2.35-5.25-5.25-5.25Z","clip-rule":"evenodd"})])}function Cpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M3 6.75A.75.75 0 0 1 3.75 6h16.5a.75.75 0 0 1 0 1.5H3.75A.75.75 0 0 1 3 6.75ZM3 12a.75.75 0 0 1 .75-.75h16.5a.75.75 0 0 1 0 1.5H3.75A.75.75 0 0 1 3 12Zm8.25 5.25a.75.75 0 0 1 .75-.75h8.25a.75.75 0 0 1 0 1.5H12a.75.75 0 0 1-.75-.75Z","clip-rule":"evenodd"})])}function Lpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M3 6.75A.75.75 0 0 1 3.75 6h16.5a.75.75 0 0 1 0 1.5H3.75A.75.75 0 0 1 3 6.75ZM3 12a.75.75 0 0 1 .75-.75h16.5a.75.75 0 0 1 0 1.5H3.75A.75.75 0 0 1 3 12Zm0 5.25a.75.75 0 0 1 .75-.75h16.5a.75.75 0 0 1 0 1.5H3.75a.75.75 0 0 1-.75-.75Z","clip-rule":"evenodd"})])}function Fpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{d:"M5.85 3.5a.75.75 0 0 0-1.117-1 9.719 9.719 0 0 0-2.348 4.876.75.75 0 0 0 1.479.248A8.219 8.219 0 0 1 5.85 3.5ZM19.267 2.5a.75.75 0 1 0-1.118 1 8.22 8.22 0 0 1 1.987 4.124.75.75 0 0 0 1.48-.248A9.72 9.72 0 0 0 19.266 2.5Z"}),eae("path",{"fill-rule":"evenodd",d:"M12 2.25A6.75 6.75 0 0 0 5.25 9v.75a8.217 8.217 0 0 1-2.119 5.52.75.75 0 0 0 .298 1.206c1.544.57 3.16.99 4.831 1.243a3.75 3.75 0 1 0 7.48 0 24.583 24.583 0 0 0 4.83-1.244.75.75 0 0 0 .298-1.205 8.217 8.217 0 0 1-2.118-5.52V9A6.75 6.75 0 0 0 12 2.25ZM9.75 18c0-.034 0-.067.002-.1a25.05 25.05 0 0 0 4.496 0l.002.1a2.25 2.25 0 1 1-4.5 0Z","clip-rule":"evenodd"})])}function zpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm13.36-1.814a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094l3.75-5.25Z","clip-rule":"evenodd"})])}function Mpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M19.916 4.626a.75.75 0 0 1 .208 1.04l-9 13.5a.75.75 0 0 1-1.154.114l-6-6a.75.75 0 0 1 1.06-1.06l5.353 5.353 8.493-12.74a.75.75 0 0 1 1.04-.207Z","clip-rule":"evenodd"})])}function Ppe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M11.47 13.28a.75.75 0 0 0 1.06 0l7.5-7.5a.75.75 0 0 0-1.06-1.06L12 11.69 5.03 4.72a.75.75 0 0 0-1.06 1.06l7.5 7.5Z","clip-rule":"evenodd"}),eae("path",{"fill-rule":"evenodd",d:"M11.47 19.28a.75.75 0 0 0 1.06 0l7.5-7.5a.75.75 0 1 0-1.06-1.06L12 17.69l-6.97-6.97a.75.75 0 0 0-1.06 1.06l7.5 7.5Z","clip-rule":"evenodd"})])}function Upe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M10.5 3A1.501 1.501 0 0 0 9 4.5h6A1.5 1.5 0 0 0 13.5 3h-3Zm-2.693.178A3 3 0 0 1 10.5 1.5h3a3 3 0 0 1 2.694 1.678c.497.042.992.092 1.486.15 1.497.173 2.57 1.46 2.57 2.929V19.5a3 3 0 0 1-3 3H6.75a3 3 0 0 1-3-3V6.257c0-1.47 1.073-2.756 2.57-2.93.493-.057.989-.107 1.487-.15Z","clip-rule":"evenodd"})])}function jpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{d:"M17.004 10.407c.138.435-.216.842-.672.842h-3.465a.75.75 0 0 1-.65-.375l-1.732-3c-.229-.396-.053-.907.393-1.004a5.252 5.252 0 0 1 6.126 3.537ZM8.12 8.464c.307-.338.838-.235 1.066.16l1.732 3a.75.75 0 0 1 0 .75l-1.732 3c-.229.397-.76.5-1.067.161A5.23 5.23 0 0 1 6.75 12a5.23 5.23 0 0 1 1.37-3.536ZM10.878 17.13c-.447-.098-.623-.608-.394-1.004l1.733-3.002a.75.75 0 0 1 .65-.375h3.465c.457 0 .81.407.672.842a5.252 5.252 0 0 1-6.126 3.539Z"}),eae("path",{"fill-rule":"evenodd",d:"M21 12.75a.75.75 0 1 0 0-1.5h-.783a8.22 8.22 0 0 0-.237-1.357l.734-.267a.75.75 0 1 0-.513-1.41l-.735.268a8.24 8.24 0 0 0-.689-1.192l.6-.503a.75.75 0 1 0-.964-1.149l-.6.504a8.3 8.3 0 0 0-1.054-.885l.391-.678a.75.75 0 1 0-1.299-.75l-.39.676a8.188 8.188 0 0 0-1.295-.47l.136-.77a.75.75 0 0 0-1.477-.26l-.136.77a8.36 8.36 0 0 0-1.377 0l-.136-.77a.75.75 0 1 0-1.477.26l.136.77c-.448.121-.88.28-1.294.47l-.39-.676a.75.75 0 0 0-1.3.75l.392.678a8.29 8.29 0 0 0-1.054.885l-.6-.504a.75.75 0 1 0-.965 1.149l.6.503a8.243 8.243 0 0 0-.689 1.192L3.8 8.216a.75.75 0 1 0-.513 1.41l.735.267a8.222 8.222 0 0 0-.238 1.356h-.783a.75.75 0 0 0 0 1.5h.783c.042.464.122.917.238 1.356l-.735.268a.75.75 0 0 0 .513 1.41l.735-.268c.197.417.428.816.69 1.191l-.6.504a.75.75 0 0 0 .963 1.15l.601-.505c.326.323.679.62 1.054.885l-.392.68a.75.75 0 0 0 1.3.75l.39-.679c.414.192.847.35 1.294.471l-.136.77a.75.75 0 0 0 1.477.261l.137-.772a8.332 8.332 0 0 0 1.376 0l.136.772a.75.75 0 1 0 1.477-.26l-.136-.771a8.19 8.19 0 0 0 1.294-.47l.391.677a.75.75 0 0 0 1.3-.75l-.393-.679a8.29 8.29 0 0 0 1.054-.885l.601.504a.75.75 0 0 0 .964-1.15l-.6-.503c.261-.375.492-.774.69-1.191l.735.267a.75.75 0 1 0 .512-1.41l-.734-.267c.115-.439.195-.892.237-1.356h.784Zm-2.657-3.06a6.744 6.744 0 0 0-1.19-2.053 6.784 6.784 0 0 0-1.82-1.51A6.705 6.705 0 0 0 12 5.25a6.8 6.8 0 0 0-1.225.11 6.7 6.7 0 0 0-2.15.793 6.784 6.784 0 0 0-2.952 3.489.76.76 0 0 1-.036.098A6.74 6.74 0 0 0 5.251 12a6.74 6.74 0 0 0 3.366 5.842l.009.005a6.704 6.704 0 0 0 2.18.798l.022.003a6.792 6.792 0 0 0 2.368-.004 6.704 6.704 0 0 0 2.205-.811 6.785 6.785 0 0 0 1.762-1.484l.009-.01.009-.01a6.743 6.743 0 0 0 1.18-2.066c.253-.707.39-1.469.39-2.263a6.74 6.74 0 0 0-.408-2.309Z","clip-rule":"evenodd"})])}function $pe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12ZM12 8.25a.75.75 0 0 1 .75.75v3.75a.75.75 0 0 1-1.5 0V9a.75.75 0 0 1 .75-.75Zm0 8.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z","clip-rule":"evenodd"})])}function Vpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003ZM12 8.25a.75.75 0 0 1 .75.75v3.75a.75.75 0 0 1-1.5 0V9a.75.75 0 0 1 .75-.75Zm0 8.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z","clip-rule":"evenodd"})])}function qpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{d:"M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z"}),eae("path",{"fill-rule":"evenodd",d:"M1.323 11.447C2.811 6.976 7.028 3.75 12.001 3.75c4.97 0 9.185 3.223 10.675 7.69.12.362.12.752 0 1.113-1.487 4.471-5.705 7.697-10.677 7.697-4.97 0-9.186-3.223-10.675-7.69a1.762 1.762 0 0 1 0-1.113ZM17.25 12a5.25 5.25 0 1 1-10.5 0 5.25 5.25 0 0 1 10.5 0Z","clip-rule":"evenodd"})])}function Bpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M19.5 21a3 3 0 0 0 3-3V9a3 3 0 0 0-3-3h-5.379a.75.75 0 0 1-.53-.22L11.47 3.66A2.25 2.25 0 0 0 9.879 3H4.5a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h15Zm-6.75-10.5a.75.75 0 0 0-1.5 0v4.19l-1.72-1.72a.75.75 0 0 0-1.06 1.06l3 3a.75.75 0 0 0 1.06 0l3-3a.75.75 0 1 0-1.06-1.06l-1.72 1.72V10.5Z","clip-rule":"evenodd"})])}function Ype(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{d:"M21.721 12.752a9.711 9.711 0 0 0-.945-5.003 12.754 12.754 0 0 1-4.339 2.708 18.991 18.991 0 0 1-.214 4.772 17.165 17.165 0 0 0 5.498-2.477ZM14.634 15.55a17.324 17.324 0 0 0 .332-4.647c-.952.227-1.945.347-2.966.347-1.021 0-2.014-.12-2.966-.347a17.515 17.515 0 0 0 .332 4.647 17.385 17.385 0 0 0 5.268 0ZM9.772 17.119a18.963 18.963 0 0 0 4.456 0A17.182 17.182 0 0 1 12 21.724a17.18 17.18 0 0 1-2.228-4.605ZM7.777 15.23a18.87 18.87 0 0 1-.214-4.774 12.753 12.753 0 0 1-4.34-2.708 9.711 9.711 0 0 0-.944 5.004 17.165 17.165 0 0 0 5.498 2.477ZM21.356 14.752a9.765 9.765 0 0 1-7.478 6.817 18.64 18.64 0 0 0 1.988-4.718 18.627 18.627 0 0 0 5.49-2.098ZM2.644 14.752c1.682.971 3.53 1.688 5.49 2.099a18.64 18.64 0 0 0 1.988 4.718 9.765 9.765 0 0 1-7.478-6.816ZM13.878 2.43a9.755 9.755 0 0 1 6.116 3.986 11.267 11.267 0 0 1-3.746 2.504 18.63 18.63 0 0 0-2.37-6.49ZM12 2.276a17.152 17.152 0 0 1 2.805 7.121c-.897.23-1.837.353-2.805.353-.968 0-1.908-.122-2.805-.353A17.151 17.151 0 0 1 12 2.276ZM10.122 2.43a18.629 18.629 0 0 0-2.37 6.49 11.266 11.266 0 0 1-3.746-2.504 9.754 9.754 0 0 1 6.116-3.985Z"})])}function Gpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M4.5 3.75a3 3 0 0 0-3 3v10.5a3 3 0 0 0 3 3h15a3 3 0 0 0 3-3V6.75a3 3 0 0 0-3-3h-15Zm4.125 3a2.25 2.25 0 1 0 0 4.5 2.25 2.25 0 0 0 0-4.5Zm-3.873 8.703a4.126 4.126 0 0 1 7.746 0 .75.75 0 0 1-.351.92 7.47 7.47 0 0 1-3.522.877 7.47 7.47 0 0 1-3.522-.877.75.75 0 0 1-.351-.92ZM15 8.25a.75.75 0 0 0 0 1.5h3.75a.75.75 0 0 0 0-1.5H15ZM14.25 12a.75.75 0 0 1 .75-.75h3.75a.75.75 0 0 1 0 1.5H15a.75.75 0 0 1-.75-.75Zm.75 2.25a.75.75 0 0 0 0 1.5h3.75a.75.75 0 0 0 0-1.5H15Z","clip-rule":"evenodd"})])}function Qpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm8.706-1.442c1.146-.573 2.437.463 2.126 1.706l-.709 2.836.042-.02a.75.75 0 0 1 .67 1.34l-.04.022c-1.147.573-2.438-.463-2.127-1.706l.71-2.836-.042.02a.75.75 0 1 1-.671-1.34l.041-.022ZM12 9a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z","clip-rule":"evenodd"})])}function Wpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M15.75 1.5a6.75 6.75 0 0 0-6.651 7.906c.067.39-.032.717-.221.906l-6.5 6.499a3 3 0 0 0-.878 2.121v2.818c0 .414.336.75.75.75H6a.75.75 0 0 0 .75-.75v-1.5h1.5A.75.75 0 0 0 9 19.5V18h1.5a.75.75 0 0 0 .53-.22l2.658-2.658c.19-.189.517-.288.906-.22A6.75 6.75 0 1 0 15.75 1.5Zm0 3a.75.75 0 0 0 0 1.5A2.25 2.25 0 0 1 18 8.25a.75.75 0 0 0 1.5 0 3.75 3.75 0 0 0-3.75-3.75Z","clip-rule":"evenodd"})])}function Kpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M19.449 8.448 16.388 11a4.52 4.52 0 0 1 0 2.002l3.061 2.55a8.275 8.275 0 0 0 0-7.103ZM15.552 19.45 13 16.388a4.52 4.52 0 0 1-2.002 0l-2.55 3.061a8.275 8.275 0 0 0 7.103 0ZM4.55 15.552 7.612 13a4.52 4.52 0 0 1 0-2.002L4.551 8.45a8.275 8.275 0 0 0 0 7.103ZM8.448 4.55 11 7.612a4.52 4.52 0 0 1 2.002 0l2.55-3.061a8.275 8.275 0 0 0-7.103 0Zm8.657-.86a9.776 9.776 0 0 1 1.79 1.415 9.776 9.776 0 0 1 1.414 1.788 9.764 9.764 0 0 1 0 10.211 9.777 9.777 0 0 1-1.415 1.79 9.777 9.777 0 0 1-1.788 1.414 9.764 9.764 0 0 1-10.212 0 9.776 9.776 0 0 1-1.788-1.415 9.776 9.776 0 0 1-1.415-1.788 9.764 9.764 0 0 1 0-10.212 9.774 9.774 0 0 1 1.415-1.788A9.774 9.774 0 0 1 6.894 3.69a9.764 9.764 0 0 1 10.211 0ZM14.121 9.88a2.985 2.985 0 0 0-1.11-.704 3.015 3.015 0 0 0-2.022 0 2.985 2.985 0 0 0-1.11.704c-.326.325-.56.705-.704 1.11a3.015 3.015 0 0 0 0 2.022c.144.405.378.785.704 1.11.325.326.705.56 1.11.704.652.233 1.37.233 2.022 0a2.985 2.985 0 0 0 1.11-.704c.326-.325.56-.705.704-1.11a3.016 3.016 0 0 0 0-2.022 2.985 2.985 0 0 0-.704-1.11Z","clip-rule":"evenodd"})])}function Hpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M19.902 4.098a3.75 3.75 0 0 0-5.304 0l-4.5 4.5a3.75 3.75 0 0 0 1.035 6.037.75.75 0 0 1-.646 1.353 5.25 5.25 0 0 1-1.449-8.45l4.5-4.5a5.25 5.25 0 1 1 7.424 7.424l-1.757 1.757a.75.75 0 1 1-1.06-1.06l1.757-1.757a3.75 3.75 0 0 0 0-5.304Zm-7.389 4.267a.75.75 0 0 1 1-.353 5.25 5.25 0 0 1 1.449 8.45l-4.5 4.5a5.25 5.25 0 1 1-7.424-7.424l1.757-1.757a.75.75 0 1 1 1.06 1.06l-1.757 1.757a3.75 3.75 0 1 0 5.304 5.304l4.5-4.5a3.75 3.75 0 0 0-1.035-6.037.75.75 0 0 1-.354-1Z","clip-rule":"evenodd"})])}function Xpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12Zm11.378-3.917c-.89-.777-2.366-.777-3.255 0a.75.75 0 0 1-.988-1.129c1.454-1.272 3.776-1.272 5.23 0 1.513 1.324 1.513 3.518 0 4.842a3.75 3.75 0 0 1-.837.552c-.676.328-1.028.774-1.028 1.152v.75a.75.75 0 0 1-1.5 0v-.75c0-1.279 1.06-2.107 1.875-2.502.182-.088.351-.199.503-.331.83-.727.83-1.857 0-2.584ZM12 18a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z","clip-rule":"evenodd"})])}function Zpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{d:"M5.507 4.048A3 3 0 0 1 7.785 3h8.43a3 3 0 0 1 2.278 1.048l1.722 2.008A4.533 4.533 0 0 0 19.5 6h-15c-.243 0-.482.02-.715.056l1.722-2.008Z"}),eae("path",{"fill-rule":"evenodd",d:"M1.5 10.5a3 3 0 0 1 3-3h15a3 3 0 1 1 0 6h-15a3 3 0 0 1-3-3Zm15 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Zm2.25.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM4.5 15a3 3 0 1 0 0 6h15a3 3 0 1 0 0-6h-15Zm11.25 3.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM19.5 18a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z","clip-rule":"evenodd"})])}function Jpe(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M12.516 2.17a.75.75 0 0 0-1.032 0 11.209 11.209 0 0 1-7.877 3.08.75.75 0 0 0-.722.515A12.74 12.74 0 0 0 2.25 9.75c0 5.942 4.064 10.933 9.563 12.348a.749.749 0 0 0 .374 0c5.499-1.415 9.563-6.406 9.563-12.348 0-1.39-.223-2.73-.635-3.985a.75.75 0 0 0-.722-.516l-.143.001c-2.996 0-5.717-1.17-7.734-3.08Zm3.094 8.016a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094l3.75-5.25Z","clip-rule":"evenodd"})])}function ede(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M11.484 2.17a.75.75 0 0 1 1.032 0 11.209 11.209 0 0 0 7.877 3.08.75.75 0 0 1 .722.515 12.74 12.74 0 0 1 .635 3.985c0 5.942-4.064 10.933-9.563 12.348a.749.749 0 0 1-.374 0C6.314 20.683 2.25 15.692 2.25 9.75c0-1.39.223-2.73.635-3.985a.75.75 0 0 1 .722-.516l.143.001c2.996 0 5.718-1.17 7.734-3.08ZM12 8.25a.75.75 0 0 1 .75.75v3.75a.75.75 0 0 1-1.5 0V9a.75.75 0 0 1 .75-.75ZM12 15a.75.75 0 0 0-.75.75v.008c0 .414.336.75.75.75h.008a.75.75 0 0 0 .75-.75v-.008a.75.75 0 0 0-.75-.75H12Z","clip-rule":"evenodd"})])}function tde(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M18.685 19.097A9.723 9.723 0 0 0 21.75 12c0-5.385-4.365-9.75-9.75-9.75S2.25 6.615 2.25 12a9.723 9.723 0 0 0 3.065 7.097A9.716 9.716 0 0 0 12 21.75a9.716 9.716 0 0 0 6.685-2.653Zm-12.54-1.285A7.486 7.486 0 0 1 12 15a7.486 7.486 0 0 1 5.855 2.812A8.224 8.224 0 0 1 12 20.25a8.224 8.224 0 0 1-5.855-2.438ZM15.75 9a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z","clip-rule":"evenodd"})])}function rde(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M7.5 6a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0ZM3.751 20.105a8.25 8.25 0 0 1 16.498 0 .75.75 0 0 1-.437.695A18.683 18.683 0 0 1 12 22.5c-2.786 0-5.433-.608-7.812-1.7a.75.75 0 0 1-.437-.695Z","clip-rule":"evenodd"})])}function ode(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M12 6.75a5.25 5.25 0 0 1 6.775-5.025.75.75 0 0 1 .313 1.248l-3.32 3.319c.063.475.276.934.641 1.299.365.365.824.578 1.3.64l3.318-3.319a.75.75 0 0 1 1.248.313 5.25 5.25 0 0 1-5.472 6.756c-1.018-.086-1.87.1-2.309.634L7.344 21.3A3.298 3.298 0 1 1 2.7 16.657l8.684-7.151c.533-.44.72-1.291.634-2.309A5.342 5.342 0 0 1 12 6.75ZM4.117 19.125a.75.75 0 0 1 .75-.75h.008a.75.75 0 0 1 .75.75v.008a.75.75 0 0 1-.75.75h-.008a.75.75 0 0 1-.75-.75v-.008Z","clip-rule":"evenodd"}),eae("path",{d:"m10.076 8.64-2.201-2.2V4.874a.75.75 0 0 0-.364-.643l-3.75-2.25a.75.75 0 0 0-.916.113l-.75.75a.75.75 0 0 0-.113.916l2.25 3.75a.75.75 0 0 0 .643.364h1.564l2.062 2.062 1.575-1.297Z"}),eae("path",{"fill-rule":"evenodd",d:"m12.556 17.329 4.183 4.182a3.375 3.375 0 0 0 4.773-4.773l-3.306-3.305a6.803 6.803 0 0 1-1.53.043c-.394-.034-.682-.006-.867.042a.589.589 0 0 0-.167.063l-3.086 3.748Zm3.414-1.36a.75.75 0 0 1 1.06 0l1.875 1.876a.75.75 0 1 1-1.06 1.06L15.97 17.03a.75.75 0 0 1 0-1.06Z","clip-rule":"evenodd"})])}function nde(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M12 2.25c-5.385 0-9.75 4.365-9.75 9.75s4.365 9.75 9.75 9.75 9.75-4.365 9.75-9.75S17.385 2.25 12 2.25Zm-1.72 6.97a.75.75 0 1 0-1.06 1.06L10.94 12l-1.72 1.72a.75.75 0 1 0 1.06 1.06L12 13.06l1.72 1.72a.75.75 0 1 0 1.06-1.06L13.06 12l1.72-1.72a.75.75 0 1 0-1.06-1.06L12 10.94l-1.72-1.72Z","clip-rule":"evenodd"})])}function ade(eee,tee){return qne(),Qne("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},[eae("path",{"fill-rule":"evenodd",d:"M5.47 5.47a.75.75 0 0 1 1.06 0L12 10.94l5.47-5.47a.75.75 0 1 1 1.06 1.06L13.06 12l5.47 5.47a.75.75 0 1 1-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 0 1-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 0 1 0-1.06Z","clip-rule":"evenodd"})])}function ide(eee,tee,ree){var oee,nee=ree||{},aee=nee.noTrailing,iee=void 0!==aee&&aee,see=nee.noLeading,lee=void 0!==see&&see,cee=nee.debounceMode,pee=void 0===cee?void 0:cee,dee=!1,uee=0;function hee(){oee&&clearTimeout(oee)}function gee(){for(var ree=arguments.length,nee=new Array(ree),aee=0;aeeeee?lee?(uee=Date.now(),iee||(oee=setTimeout(pee?wee:gee,eee))):gee():!0!==iee&&(oee=setTimeout(pee?wee:gee,void 0===pee?eee-cee:eee)))}return gee.cancel=function(eee){var tee=(eee||{}).upcomingOnly,ree=void 0!==tee&&tee;hee(),dee=!ree},gee}var sde=function(d,b){return sde=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)Object.prototype.hasOwnProperty.call(b,p)&&(d[p]=b[p])},sde(d,b)};function lde(d,b){if("function"!=typeof b&&null!==b)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");function __(){this.constructor=d}sde(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}var cde=function(){return cde=Object.assign||function(t){for(var s,i=1,n=arguments.length;i=0;i--)(d=eee[i])&&(r=(c<3?d(r):c>3?d(tee,ree,r):d(tee,ree))||r);return c>3&&r&&Object.defineProperty(tee,ree,r),r}function ude(eee,tee){return function(ree,oee){tee(ree,oee,eee)}}function hde(eee,tee){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(eee,tee)}function gde(eee,tee,P,ree){return new(P||(P=Promise))((function(oee,nee){function aee(eee){try{see(ree.next(eee))}catch(e){nee(e)}}function iee(eee){try{see(ree.throw(eee))}catch(e){nee(e)}}function see(eee){var tee;eee.done?oee(eee.value):(tee=eee.value,tee instanceof P?tee:new P((function(eee){eee(tee)}))).then(aee,iee)}see((ree=ree.apply(eee,tee||[])).next())}))}function wde(eee,tee){var f,y,t,g,_={label:0,sent:function(){if(1&t[0])throw t[1];return t[1]},trys:[],ops:[]};return g={next:ree(0),throw:ree(1),return:ree(2)},"function"==typeof Symbol&&(g[Symbol.iterator]=function(){return this}),g;function ree(n){return function(v){return function(op){if(f)throw new TypeError("Generator is already executing.");for(;g&&(g=0,op[0]&&(_=0)),_;)try{if(f=1,y&&(t=2&op[0]?y.return:op[0]?y.throw||((t=y.return)&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;switch(y=0,t&&(op=[2&op[0],t.value]),op[0]){case 0:case 1:t=op;break;case 4:return _.label++,{value:op[1],done:!1};case 5:_.label++,y=op[1],op=[0];continue;case 7:op=_.ops.pop(),_.trys.pop();continue;default:if(!(t=_.trys,(t=t.length>0&&t[t.length-1])||6!==op[0]&&2!==op[0])){_=0;continue}if(3===op[0]&&(!t||op[1]>t[0]&&op[1]=o.length&&(o=void 0),{value:o&&o[i++],done:!o}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")}function vde(o,n){var m="function"==typeof Symbol&&o[Symbol.iterator];if(!m)return o;var r,e,i=m.call(o),ar=[];try{for(;(void 0===n||n-- >0)&&!(r=i.next()).done;)ar.push(r.value)}catch(eee){e={error:eee}}finally{try{r&&!r.done&&(m=i.return)&&m.call(i)}finally{if(e)throw e.error}}return ar}function yde(){for(var ar=[],i=0;i1||nee(n,v)}))})}function nee(n,v){try{!function(r){r.value instanceof _de?Promise.resolve(r.value.v).then(aee,iee):see(q[0][2],r)}(g[n](v))}catch(e){see(q[0][3],e)}}function aee(eee){nee("next",eee)}function iee(eee){nee("throw",eee)}function see(f,v){f(v),q.shift(),q.length&&nee(q[0][0],q[0][1])}}function Tde(o){var i,p;return i={},eee("next"),eee("throw",(function(e){throw e})),eee("return"),i[Symbol.iterator]=function(){return this},i;function eee(n,f){i[n]=o[n]?function(v){return(p=!p)?{value:_de(o[n](v)),done:!1}:f?f(v):v}:f}}function Sde(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,m=o[Symbol.asyncIterator];return m?m.call(o):(o=mde(o),i={},eee("next"),eee("throw"),eee("return"),i[Symbol.asyncIterator]=function(){return this},i);function eee(n){i[n]=o[n]&&function(v){return new Promise((function(eee,tee){(function(eee,tee,d,v){Promise.resolve(v).then((function(v){eee({value:v,done:d})}),tee)})(eee,tee,(v=o[n](v)).done,v.value)}))}}}function Ide(eee,tee){return Object.defineProperty?Object.defineProperty(eee,"raw",{value:tee}):eee.raw=tee,eee}var Ode=Object.create?function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}:function(o,v){o.default=v};function Nde(eee){if(eee&&eee.__esModule)return eee;var tee={};if(null!=eee)for(var k in eee)"default"!==k&&Object.prototype.hasOwnProperty.call(eee,k)&&fde(tee,eee,k);return Ode(tee,eee),tee}function Ade(eee){return eee&&eee.__esModule?eee:{default:eee}}function Rde(eee,tee,ree,f){if("a"===ree&&!f)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof tee?eee!==tee||!f:!tee.has(eee))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===ree?f:"a"===ree?f.call(eee):f?f.value:tee.get(eee)}function Dde(eee,tee,ree,oee,f){if("m"===oee)throw new TypeError("Private method is not writable");if("a"===oee&&!f)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof tee?eee!==tee||!f:!tee.has(eee))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===oee?f.call(eee,ree):f?f.value=ree:tee.set(eee,ree),ree}function Cde(eee,tee){if(null===tee||"object"!=typeof tee&&"function"!=typeof tee)throw new TypeError("Cannot use 'in' operator on non-object");return"function"==typeof eee?tee===eee:eee.has(tee)}function Lde(eee,tee,ree){if(null!=tee){if("object"!=typeof tee&&"function"!=typeof tee)throw new TypeError("Object expected.");var oee;if(ree){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");oee=tee[Symbol.asyncDispose]}if(void 0===oee){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");oee=tee[Symbol.dispose]}if("function"!=typeof oee)throw new TypeError("Object not disposable.");eee.stack.push({value:tee,dispose:oee,async:ree})}else ree&&eee.stack.push({async:!0});return tee}var Fde="function"==typeof SuppressedError?SuppressedError:function(eee,tee,ree){var e=new Error(ree);return e.name="SuppressedError",e.error=eee,e.suppressed=tee,e};function zde(eee){function tee(e){eee.error=eee.hasError?new Fde(e,eee.error,"An error was suppressed during disposal."):e,eee.hasError=!0}return function ree(){for(;eee.stack.length;){var oee=eee.stack.pop();try{var nee=oee.dispose&&oee.dispose.call(oee.value);if(oee.async)return Promise.resolve(nee).then(ree,(function(e){return tee(e),ree()}))}catch(e){tee(e)}}if(eee.hasError)throw eee.error}()}const Mde={__extends:lde,__assign:cde,__rest:pde,__decorate:dde,__param:ude,__metadata:hde,__awaiter:gde,__generator:wde,__createBinding:fde,__exportStar:bde,__values:mde,__read:vde,__spread:yde,__spreadArrays:xde,__spreadArray:kde,__await:_de,__asyncGenerator:Ede,__asyncDelegator:Tde,__asyncValues:Sde,__makeTemplateObject:Ide,__importStar:Nde,__importDefault:Ade,__classPrivateFieldGet:Rde,__classPrivateFieldSet:Dde,__classPrivateFieldIn:Cde,__addDisposableResource:Lde,__disposeResources:zde},Pde=Object.freeze(Object.defineProperty({__proto__:null,__addDisposableResource:Lde,get __assign(){return cde},__asyncDelegator:Tde,__asyncGenerator:Ede,__asyncValues:Sde,__await:_de,__awaiter:gde,__classPrivateFieldGet:Rde,__classPrivateFieldIn:Cde,__classPrivateFieldSet:Dde,__createBinding:fde,__decorate:dde,__disposeResources:zde,__esDecorate:function(eee,tee,ree,oee,nee,aee){function iee(f){if(void 0!==f&&"function"!=typeof f)throw new TypeError("Function expected");return f}for(var _,see=oee.kind,lee="getter"===see?"get":"setter"===see?"set":"value",cee=!tee&&eee?oee.static?eee:eee.prototype:null,pee=tee||(cee?Object.getOwnPropertyDescriptor(cee,oee.name):{}),dee=!1,i=ree.length-1;i>=0;i--){var uee={};for(var p in oee)uee[p]="access"===p?{}:oee[p];for(var p in oee.access)uee.access[p]=oee.access[p];uee.addInitializer=function(f){if(dee)throw new TypeError("Cannot add initializers after decoration has completed");aee.push(iee(f||null))};var hee=(0,ree[i])("accessor"===see?{get:pee.get,set:pee.set}:pee[lee],uee);if("accessor"===see){if(void 0===hee)continue;if(null===hee||"object"!=typeof hee)throw new TypeError("Object expected");(_=iee(hee.get))&&(pee.get=_),(_=iee(hee.set))&&(pee.set=_),(_=iee(hee.init))&&nee.unshift(_)}else(_=iee(hee))&&("field"===see?nee.unshift(_):pee[lee]=_)}cee&&Object.defineProperty(cee,oee.name,pee),dee=!0},__exportStar:bde,__extends:lde,__generator:wde,__importDefault:Ade,__importStar:Nde,__makeTemplateObject:Ide,__metadata:hde,__param:ude,__propKey:function(x){return"symbol"==typeof x?x:"".concat(x)},__read:vde,__rest:pde,__runInitializers:function(eee,tee,ree){for(var oee=arguments.length>2,i=0;i=Bde)return(console[eee]||console.log).apply(console,arguments)}}!function(eee){eee.debug=Yde("debug"),eee.log=Yde("log"),eee.warn=Yde("warn"),eee.error=Yde("error")}(Vde||(Vde={}));const Gde=Vde,Qde=Object.freeze(Object.defineProperty({__proto__:null,InvariantError:$de,default:Gde,get invariant(){return Vde},setVerbosity:function(eee){var tee=qde[Bde];return Bde=Math.max(0,qde.indexOf(eee)),tee}},Symbol.toStringTag,{value:"Module"}));var Wde="3.10.4";function Kde(eee){try{return eee()}catch(_a){}}const Hde=Kde((function(){return globalThis}))||Kde((function(){return window}))||Kde((function(){return self}))||Kde((function(){return global}))||Kde((function(){return Kde.constructor("return this")()}));var Xde=new Map;function Zde(eee){var tee=Xde.get(eee)||1;return Xde.set(eee,tee+1),"".concat(eee,":").concat(tee,":").concat(Math.random().toString(36).slice(2))}function Jde(eee,tee){void 0===tee&&(tee=0);var ree=Zde("stringifyForDisplay");return JSON.stringify(eee,(function(eee,tee){return void 0===tee?ree:tee}),tee).split(JSON.stringify(ree)).join("")}function eue(fn){return function(eee){for(var tee=[],_i=1;_i=tee)break;ree=nee.index+nee[0].length,oee+=1}return{line:oee,column:tee+1-ree}}function fue(eee){return bue(eee.source,wue(eee.source,eee.start))}function bue(eee,tee){const ree=eee.locationOffset.column-1,oee="".padStart(ree)+eee.body,nee=tee.line-1,aee=eee.locationOffset.line-1,iee=tee.line+aee,see=1===tee.line?ree:0,lee=tee.column+see,cee=`${eee.name}:${iee}:${lee}\n`,pee=oee.split(/\r\n|[\n\r]/g),dee=pee[nee];if(dee.length>120){const eee=Math.floor(lee/80),tee=lee%80,ree=[];for(let i=0;i["|",eee])),["|","^".padStart(tee)],["|",ree[eee+1]]])}return cee+mue([[iee-1+" |",pee[nee-1]],[`${iee} |`,dee],["|","^".padStart(lee)],[`${iee+1} |`,pee[nee+1]]])}function mue(eee){const tee=eee.filter((([_,eee])=>void 0!==eee)),ree=Math.max(...tee.map((([eee])=>eee.length)));return tee.map((([eee,tee])=>eee.padStart(ree)+(tee?" "+tee:""))).join("\n")}class vue extends Error{constructor(eee,...tee){var ree,oee,nee;const{nodes:aee,source:iee,positions:see,path:lee,originalError:cee,extensions:pee}=function(eee){const tee=eee[0];return null==tee||"kind"in tee||"length"in tee?{nodes:tee,source:eee[1],positions:eee[2],path:eee[3],originalError:eee[4],extensions:eee[5]}:tee}(tee);super(eee),this.name="GraphQLError",this.path=null!=lee?lee:void 0,this.originalError=null!=cee?cee:void 0,this.nodes=yue(Array.isArray(aee)?aee:aee?[aee]:void 0);const dee=yue(null===(ree=this.nodes)||void 0===ree?void 0:ree.map((eee=>eee.loc)).filter((eee=>null!=eee)));this.source=null!=iee?iee:null==dee||null===(oee=dee[0])||void 0===oee?void 0:oee.source,this.positions=null!=see?see:null==dee?void 0:dee.map((eee=>eee.start)),this.locations=see&&iee?see.map((eee=>wue(iee,eee))):null==dee?void 0:dee.map((eee=>wue(eee.source,eee.start)));const uee=uue(null==cee?void 0:cee.extensions)?null==cee?void 0:cee.extensions:void 0;this.extensions=null!==(nee=null!=pee?pee:uee)&&void 0!==nee?nee:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),null!=cee&&cee.stack?Object.defineProperty(this,"stack",{value:cee.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,vue):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let eee=this.message;if(this.nodes)for(const tee of this.nodes)tee.loc&&(eee+="\n\n"+fue(tee.loc));else if(this.source&&this.locations)for(const tee of this.locations)eee+="\n\n"+bue(this.source,tee);return eee}toJSON(){const eee={message:this.message};return null!=this.locations&&(eee.locations=this.locations),null!=this.path&&(eee.path=this.path),null!=this.extensions&&Object.keys(this.extensions).length>0&&(eee.extensions=this.extensions),eee}}function yue(eee){return void 0===eee||0===eee.length?void 0:eee}function xue(eee,tee,ree){return new vue(`Syntax Error: ${ree}`,{source:eee,positions:[tee]})}class kue{constructor(eee,tee,ree){this.start=eee.start,this.end=tee.end,this.startToken=eee,this.endToken=tee,this.source=ree}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}}class _ue{constructor(eee,tee,ree,oee,nee,aee){this.kind=eee,this.start=tee,this.end=ree,this.line=oee,this.column=nee,this.value=aee,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}}const Eue={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},Tue=new Set(Object.keys(Eue));function Sue(eee){const tee=null==eee?void 0:eee.kind;return"string"==typeof tee&&Tue.has(tee)}var Iue,Oue,Nue,Aue;function Rue(eee){return 9===eee||32===eee}function Due(eee){return eee>=48&&eee<=57}function Cue(eee){return eee>=97&&eee<=122||eee>=65&&eee<=90}function Lue(eee){return Cue(eee)||95===eee}function Fue(eee){return Cue(eee)||Due(eee)||95===eee}function zue(eee){var tee;let ree=Number.MAX_SAFE_INTEGER,oee=null,nee=-1;for(let i=0;i0===i?eee:eee.slice(ree))).slice(null!==(tee=oee)&&void 0!==tee?tee:0,nee+1)}function Mue(eee){let i=0;for(;i1&&oee.slice(1).every((eee=>0===eee.length||Rue(eee.charCodeAt(0)))),iee=ree.endsWith('\\"""'),see=eee.endsWith('"')&&!iee,lee=eee.endsWith("\\"),cee=see||lee,pee=!(null!=tee&&tee.minimize)&&(!nee||eee.length>70||cee||aee||iee);let dee="";const uee=nee&&Rue(eee.charCodeAt(0));return(pee&&!uee||aee)&&(dee+="\n"),dee+=ree,(pee||cee)&&(dee+="\n"),'"""'+dee+'"""'}!function(eee){eee.QUERY="query",eee.MUTATION="mutation",eee.SUBSCRIPTION="subscription"}(Iue||(Iue={})),function(eee){eee.QUERY="QUERY",eee.MUTATION="MUTATION",eee.SUBSCRIPTION="SUBSCRIPTION",eee.FIELD="FIELD",eee.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",eee.FRAGMENT_SPREAD="FRAGMENT_SPREAD",eee.INLINE_FRAGMENT="INLINE_FRAGMENT",eee.VARIABLE_DEFINITION="VARIABLE_DEFINITION",eee.SCHEMA="SCHEMA",eee.SCALAR="SCALAR",eee.OBJECT="OBJECT",eee.FIELD_DEFINITION="FIELD_DEFINITION",eee.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",eee.INTERFACE="INTERFACE",eee.UNION="UNION",eee.ENUM="ENUM",eee.ENUM_VALUE="ENUM_VALUE",eee.INPUT_OBJECT="INPUT_OBJECT",eee.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"}(Oue||(Oue={})),function(eee){eee.NAME="Name",eee.DOCUMENT="Document",eee.OPERATION_DEFINITION="OperationDefinition",eee.VARIABLE_DEFINITION="VariableDefinition",eee.SELECTION_SET="SelectionSet",eee.FIELD="Field",eee.ARGUMENT="Argument",eee.FRAGMENT_SPREAD="FragmentSpread",eee.INLINE_FRAGMENT="InlineFragment",eee.FRAGMENT_DEFINITION="FragmentDefinition",eee.VARIABLE="Variable",eee.INT="IntValue",eee.FLOAT="FloatValue",eee.STRING="StringValue",eee.BOOLEAN="BooleanValue",eee.NULL="NullValue",eee.ENUM="EnumValue",eee.LIST="ListValue",eee.OBJECT="ObjectValue",eee.OBJECT_FIELD="ObjectField",eee.DIRECTIVE="Directive",eee.NAMED_TYPE="NamedType",eee.LIST_TYPE="ListType",eee.NON_NULL_TYPE="NonNullType",eee.SCHEMA_DEFINITION="SchemaDefinition",eee.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",eee.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",eee.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",eee.FIELD_DEFINITION="FieldDefinition",eee.INPUT_VALUE_DEFINITION="InputValueDefinition",eee.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",eee.UNION_TYPE_DEFINITION="UnionTypeDefinition",eee.ENUM_TYPE_DEFINITION="EnumTypeDefinition",eee.ENUM_VALUE_DEFINITION="EnumValueDefinition",eee.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",eee.DIRECTIVE_DEFINITION="DirectiveDefinition",eee.SCHEMA_EXTENSION="SchemaExtension",eee.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",eee.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",eee.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",eee.UNION_TYPE_EXTENSION="UnionTypeExtension",eee.ENUM_TYPE_EXTENSION="EnumTypeExtension",eee.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"}(Nue||(Nue={})),function(eee){eee.SOF="",eee.EOF="",eee.BANG="!",eee.DOLLAR="$",eee.AMP="&",eee.PAREN_L="(",eee.PAREN_R=")",eee.SPREAD="...",eee.COLON=":",eee.EQUALS="=",eee.AT="@",eee.BRACKET_L="[",eee.BRACKET_R="]",eee.BRACE_L="{",eee.PIPE="|",eee.BRACE_R="}",eee.NAME="Name",eee.INT="Int",eee.FLOAT="Float",eee.STRING="String",eee.BLOCK_STRING="BlockString",eee.COMMENT="Comment"}(Aue||(Aue={}));class jue{constructor(eee){const tee=new _ue(Aue.SOF,0,0,0,0);this.source=eee,this.lastToken=tee,this.token=tee,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){this.lastToken=this.token;return this.token=this.lookahead()}lookahead(){let eee=this.token;if(eee.kind!==Aue.EOF)do{if(eee.next)eee=eee.next;else{const tee=Wue(this,eee.end);eee.next=tee,tee.prev=eee,eee=tee}}while(eee.kind===Aue.COMMENT);return eee}}function $ue(eee){return eee===Aue.BANG||eee===Aue.DOLLAR||eee===Aue.AMP||eee===Aue.PAREN_L||eee===Aue.PAREN_R||eee===Aue.SPREAD||eee===Aue.COLON||eee===Aue.EQUALS||eee===Aue.AT||eee===Aue.BRACKET_L||eee===Aue.BRACKET_R||eee===Aue.BRACE_L||eee===Aue.PIPE||eee===Aue.BRACE_R}function Vue(eee){return eee>=0&&eee<=55295||eee>=57344&&eee<=1114111}function que(eee,tee){return Bue(eee.charCodeAt(tee))&&Yue(eee.charCodeAt(tee+1))}function Bue(eee){return eee>=55296&&eee<=56319}function Yue(eee){return eee>=56320&&eee<=57343}function Gue(eee,tee){const ree=eee.source.body.codePointAt(tee);if(void 0===ree)return Aue.EOF;if(ree>=32&&ree<=126){const eee=String.fromCodePoint(ree);return'"'===eee?"'\"'":`"${eee}"`}return"U+"+ree.toString(16).toUpperCase().padStart(4,"0")}function Que(eee,tee,ree,oee,nee){const aee=eee.line,iee=1+ree-eee.lineStart;return new _ue(tee,ree,oee,aee,iee,nee)}function Wue(eee,tee){const ree=eee.source.body,oee=ree.length;let nee=tee;for(;nee=48&&eee<=57?eee-48:eee>=65&&eee<=70?eee-55:eee>=97&&eee<=102?eee-87:-1}function ohe(eee,tee){const ree=eee.source.body;switch(ree.charCodeAt(tee+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:"\n",size:2};case 114:return{value:"\r",size:2};case 116:return{value:"\t",size:2}}throw xue(eee.source,tee,`Invalid character escape sequence: "${ree.slice(tee,tee+2)}".`)}function nhe(eee,tee){const ree=eee.source.body,oee=ree.length;let nee=eee.lineStart,aee=tee+3,iee=aee,see="";const lee=[];for(;aeeshe)return"[Array]";const ree=Math.min(ihe,eee.length),oee=eee.length-ree,nee=[];for(let i=0;i1&&nee.push(`... ${oee} more items`);return"["+nee.join(", ")+"]"}(eee,ree);return function(eee,tee){const ree=Object.entries(eee);if(0===ree.length)return"{}";if(tee.length>she)return"["+function(eee){const tee=Object.prototype.toString.call(eee).replace(/^\[object /,"").replace(/]$/,"");if("Object"===tee&&"function"==typeof eee.constructor){const tee=eee.constructor.name;if("string"==typeof tee&&""!==tee)return tee}return tee}(eee)+"]";const oee=ree.map((([eee,ree])=>eee+": "+che(ree,tee)));return"{ "+oee.join(", ")+" }"}(eee,ree)}(eee,tee);default:return String(eee)}}const phe=globalThis.process?function(eee,tee){return eee instanceof tee}:function(eee,tee){if(eee instanceof tee)return!0;if("object"==typeof eee&&null!==eee){var ree;const oee=tee.prototype[Symbol.toStringTag];if(oee===(Symbol.toStringTag in eee?eee[Symbol.toStringTag]:null===(ree=eee.constructor)||void 0===ree?void 0:ree.name)){const tee=lhe(eee);throw new Error(`Cannot use ${oee} "${tee}" from another module or realm.\n\nEnsure that there is only one instance of "graphql" in the node_modules\ndirectory. If different versions of "graphql" are the dependencies of other\nrelied on modules, use "resolutions" to ensure only one version is installed.\n\nhttps://yarnpkg.com/en/docs/selective-version-resolutions\n\nDuplicate "graphql" modules cannot be used at the same time since different\nversions may have different capabilities and behavior. The data from one\nversion used in the function from another could produce confusing and\nspurious results.`)}}return!1};class dhe{constructor(eee,tee="GraphQL request",ree={line:1,column:1}){"string"==typeof eee||pue(!1,`Body must be a string. Received: ${lhe(eee)}.`),this.body=eee,this.name=tee,this.locationOffset=ree,this.locationOffset.line>0||pue(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||pue(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}}function uhe(eee){return phe(eee,dhe)}function hhe(eee,tee){return new whe(eee,tee).parseDocument()}function ghe(eee,tee){const ree=new whe(eee,tee);ree.expectToken(Aue.SOF);const oee=ree.parseValueLiteral(!1);return ree.expectToken(Aue.EOF),oee}class whe{constructor(eee,tee={}){const ree=uhe(eee)?eee:new dhe(eee);this._lexer=new jue(ree),this._options=tee,this._tokenCounter=0}parseName(){const eee=this.expectToken(Aue.NAME);return this.node(eee,{kind:Nue.NAME,value:eee.value})}parseDocument(){return this.node(this._lexer.token,{kind:Nue.DOCUMENT,definitions:this.many(Aue.SOF,this.parseDefinition,Aue.EOF)})}parseDefinition(){if(this.peek(Aue.BRACE_L))return this.parseOperationDefinition();const eee=this.peekDescription(),tee=eee?this._lexer.lookahead():this._lexer.token;if(tee.kind===Aue.NAME){switch(tee.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(eee)throw xue(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(tee.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(tee)}parseOperationDefinition(){const eee=this._lexer.token;if(this.peek(Aue.BRACE_L))return this.node(eee,{kind:Nue.OPERATION_DEFINITION,operation:Iue.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});const tee=this.parseOperationType();let ree;return this.peek(Aue.NAME)&&(ree=this.parseName()),this.node(eee,{kind:Nue.OPERATION_DEFINITION,operation:tee,name:ree,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){const eee=this.expectToken(Aue.NAME);switch(eee.value){case"query":return Iue.QUERY;case"mutation":return Iue.MUTATION;case"subscription":return Iue.SUBSCRIPTION}throw this.unexpected(eee)}parseVariableDefinitions(){return this.optionalMany(Aue.PAREN_L,this.parseVariableDefinition,Aue.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:Nue.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(Aue.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(Aue.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){const eee=this._lexer.token;return this.expectToken(Aue.DOLLAR),this.node(eee,{kind:Nue.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:Nue.SELECTION_SET,selections:this.many(Aue.BRACE_L,this.parseSelection,Aue.BRACE_R)})}parseSelection(){return this.peek(Aue.SPREAD)?this.parseFragment():this.parseField()}parseField(){const eee=this._lexer.token,tee=this.parseName();let ree,oee;return this.expectOptionalToken(Aue.COLON)?(ree=tee,oee=this.parseName()):oee=tee,this.node(eee,{kind:Nue.FIELD,alias:ree,name:oee,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(Aue.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(eee){const tee=eee?this.parseConstArgument:this.parseArgument;return this.optionalMany(Aue.PAREN_L,tee,Aue.PAREN_R)}parseArgument(eee=!1){const tee=this._lexer.token,ree=this.parseName();return this.expectToken(Aue.COLON),this.node(tee,{kind:Nue.ARGUMENT,name:ree,value:this.parseValueLiteral(eee)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){const eee=this._lexer.token;this.expectToken(Aue.SPREAD);const tee=this.expectOptionalKeyword("on");return!tee&&this.peek(Aue.NAME)?this.node(eee,{kind:Nue.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(eee,{kind:Nue.INLINE_FRAGMENT,typeCondition:tee?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){const eee=this._lexer.token;return this.expectKeyword("fragment"),!0===this._options.allowLegacyFragmentVariables?this.node(eee,{kind:Nue.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(eee,{kind:Nue.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if("on"===this._lexer.token.value)throw this.unexpected();return this.parseName()}parseValueLiteral(eee){const tee=this._lexer.token;switch(tee.kind){case Aue.BRACKET_L:return this.parseList(eee);case Aue.BRACE_L:return this.parseObject(eee);case Aue.INT:return this.advanceLexer(),this.node(tee,{kind:Nue.INT,value:tee.value});case Aue.FLOAT:return this.advanceLexer(),this.node(tee,{kind:Nue.FLOAT,value:tee.value});case Aue.STRING:case Aue.BLOCK_STRING:return this.parseStringLiteral();case Aue.NAME:switch(this.advanceLexer(),tee.value){case"true":return this.node(tee,{kind:Nue.BOOLEAN,value:!0});case"false":return this.node(tee,{kind:Nue.BOOLEAN,value:!1});case"null":return this.node(tee,{kind:Nue.NULL});default:return this.node(tee,{kind:Nue.ENUM,value:tee.value})}case Aue.DOLLAR:if(eee){if(this.expectToken(Aue.DOLLAR),this._lexer.token.kind===Aue.NAME){const eee=this._lexer.token.value;throw xue(this._lexer.source,tee.start,`Unexpected variable "$${eee}" in constant value.`)}throw this.unexpected(tee)}return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){const eee=this._lexer.token;return this.advanceLexer(),this.node(eee,{kind:Nue.STRING,value:eee.value,block:eee.kind===Aue.BLOCK_STRING})}parseList(eee){return this.node(this._lexer.token,{kind:Nue.LIST,values:this.any(Aue.BRACKET_L,(()=>this.parseValueLiteral(eee)),Aue.BRACKET_R)})}parseObject(eee){return this.node(this._lexer.token,{kind:Nue.OBJECT,fields:this.any(Aue.BRACE_L,(()=>this.parseObjectField(eee)),Aue.BRACE_R)})}parseObjectField(eee){const tee=this._lexer.token,ree=this.parseName();return this.expectToken(Aue.COLON),this.node(tee,{kind:Nue.OBJECT_FIELD,name:ree,value:this.parseValueLiteral(eee)})}parseDirectives(eee){const tee=[];for(;this.peek(Aue.AT);)tee.push(this.parseDirective(eee));return tee}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(eee){const tee=this._lexer.token;return this.expectToken(Aue.AT),this.node(tee,{kind:Nue.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(eee)})}parseTypeReference(){const eee=this._lexer.token;let tee;if(this.expectOptionalToken(Aue.BRACKET_L)){const ree=this.parseTypeReference();this.expectToken(Aue.BRACKET_R),tee=this.node(eee,{kind:Nue.LIST_TYPE,type:ree})}else tee=this.parseNamedType();return this.expectOptionalToken(Aue.BANG)?this.node(eee,{kind:Nue.NON_NULL_TYPE,type:tee}):tee}parseNamedType(){return this.node(this._lexer.token,{kind:Nue.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(Aue.STRING)||this.peek(Aue.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){const eee=this._lexer.token,tee=this.parseDescription();this.expectKeyword("schema");const ree=this.parseConstDirectives(),oee=this.many(Aue.BRACE_L,this.parseOperationTypeDefinition,Aue.BRACE_R);return this.node(eee,{kind:Nue.SCHEMA_DEFINITION,description:tee,directives:ree,operationTypes:oee})}parseOperationTypeDefinition(){const eee=this._lexer.token,tee=this.parseOperationType();this.expectToken(Aue.COLON);const ree=this.parseNamedType();return this.node(eee,{kind:Nue.OPERATION_TYPE_DEFINITION,operation:tee,type:ree})}parseScalarTypeDefinition(){const eee=this._lexer.token,tee=this.parseDescription();this.expectKeyword("scalar");const ree=this.parseName(),oee=this.parseConstDirectives();return this.node(eee,{kind:Nue.SCALAR_TYPE_DEFINITION,description:tee,name:ree,directives:oee})}parseObjectTypeDefinition(){const eee=this._lexer.token,tee=this.parseDescription();this.expectKeyword("type");const ree=this.parseName(),oee=this.parseImplementsInterfaces(),nee=this.parseConstDirectives(),aee=this.parseFieldsDefinition();return this.node(eee,{kind:Nue.OBJECT_TYPE_DEFINITION,description:tee,name:ree,interfaces:oee,directives:nee,fields:aee})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(Aue.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(Aue.BRACE_L,this.parseFieldDefinition,Aue.BRACE_R)}parseFieldDefinition(){const eee=this._lexer.token,tee=this.parseDescription(),ree=this.parseName(),oee=this.parseArgumentDefs();this.expectToken(Aue.COLON);const nee=this.parseTypeReference(),aee=this.parseConstDirectives();return this.node(eee,{kind:Nue.FIELD_DEFINITION,description:tee,name:ree,arguments:oee,type:nee,directives:aee})}parseArgumentDefs(){return this.optionalMany(Aue.PAREN_L,this.parseInputValueDef,Aue.PAREN_R)}parseInputValueDef(){const eee=this._lexer.token,tee=this.parseDescription(),ree=this.parseName();this.expectToken(Aue.COLON);const oee=this.parseTypeReference();let nee;this.expectOptionalToken(Aue.EQUALS)&&(nee=this.parseConstValueLiteral());const aee=this.parseConstDirectives();return this.node(eee,{kind:Nue.INPUT_VALUE_DEFINITION,description:tee,name:ree,type:oee,defaultValue:nee,directives:aee})}parseInterfaceTypeDefinition(){const eee=this._lexer.token,tee=this.parseDescription();this.expectKeyword("interface");const ree=this.parseName(),oee=this.parseImplementsInterfaces(),nee=this.parseConstDirectives(),aee=this.parseFieldsDefinition();return this.node(eee,{kind:Nue.INTERFACE_TYPE_DEFINITION,description:tee,name:ree,interfaces:oee,directives:nee,fields:aee})}parseUnionTypeDefinition(){const eee=this._lexer.token,tee=this.parseDescription();this.expectKeyword("union");const ree=this.parseName(),oee=this.parseConstDirectives(),nee=this.parseUnionMemberTypes();return this.node(eee,{kind:Nue.UNION_TYPE_DEFINITION,description:tee,name:ree,directives:oee,types:nee})}parseUnionMemberTypes(){return this.expectOptionalToken(Aue.EQUALS)?this.delimitedMany(Aue.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){const eee=this._lexer.token,tee=this.parseDescription();this.expectKeyword("enum");const ree=this.parseName(),oee=this.parseConstDirectives(),nee=this.parseEnumValuesDefinition();return this.node(eee,{kind:Nue.ENUM_TYPE_DEFINITION,description:tee,name:ree,directives:oee,values:nee})}parseEnumValuesDefinition(){return this.optionalMany(Aue.BRACE_L,this.parseEnumValueDefinition,Aue.BRACE_R)}parseEnumValueDefinition(){const eee=this._lexer.token,tee=this.parseDescription(),ree=this.parseEnumValueName(),oee=this.parseConstDirectives();return this.node(eee,{kind:Nue.ENUM_VALUE_DEFINITION,description:tee,name:ree,directives:oee})}parseEnumValueName(){if("true"===this._lexer.token.value||"false"===this._lexer.token.value||"null"===this._lexer.token.value)throw xue(this._lexer.source,this._lexer.token.start,`${fhe(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){const eee=this._lexer.token,tee=this.parseDescription();this.expectKeyword("input");const ree=this.parseName(),oee=this.parseConstDirectives(),nee=this.parseInputFieldsDefinition();return this.node(eee,{kind:Nue.INPUT_OBJECT_TYPE_DEFINITION,description:tee,name:ree,directives:oee,fields:nee})}parseInputFieldsDefinition(){return this.optionalMany(Aue.BRACE_L,this.parseInputValueDef,Aue.BRACE_R)}parseTypeSystemExtension(){const eee=this._lexer.lookahead();if(eee.kind===Aue.NAME)switch(eee.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(eee)}parseSchemaExtension(){const eee=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");const tee=this.parseConstDirectives(),ree=this.optionalMany(Aue.BRACE_L,this.parseOperationTypeDefinition,Aue.BRACE_R);if(0===tee.length&&0===ree.length)throw this.unexpected();return this.node(eee,{kind:Nue.SCHEMA_EXTENSION,directives:tee,operationTypes:ree})}parseScalarTypeExtension(){const eee=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");const tee=this.parseName(),ree=this.parseConstDirectives();if(0===ree.length)throw this.unexpected();return this.node(eee,{kind:Nue.SCALAR_TYPE_EXTENSION,name:tee,directives:ree})}parseObjectTypeExtension(){const eee=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");const tee=this.parseName(),ree=this.parseImplementsInterfaces(),oee=this.parseConstDirectives(),nee=this.parseFieldsDefinition();if(0===ree.length&&0===oee.length&&0===nee.length)throw this.unexpected();return this.node(eee,{kind:Nue.OBJECT_TYPE_EXTENSION,name:tee,interfaces:ree,directives:oee,fields:nee})}parseInterfaceTypeExtension(){const eee=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");const tee=this.parseName(),ree=this.parseImplementsInterfaces(),oee=this.parseConstDirectives(),nee=this.parseFieldsDefinition();if(0===ree.length&&0===oee.length&&0===nee.length)throw this.unexpected();return this.node(eee,{kind:Nue.INTERFACE_TYPE_EXTENSION,name:tee,interfaces:ree,directives:oee,fields:nee})}parseUnionTypeExtension(){const eee=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");const tee=this.parseName(),ree=this.parseConstDirectives(),oee=this.parseUnionMemberTypes();if(0===ree.length&&0===oee.length)throw this.unexpected();return this.node(eee,{kind:Nue.UNION_TYPE_EXTENSION,name:tee,directives:ree,types:oee})}parseEnumTypeExtension(){const eee=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");const tee=this.parseName(),ree=this.parseConstDirectives(),oee=this.parseEnumValuesDefinition();if(0===ree.length&&0===oee.length)throw this.unexpected();return this.node(eee,{kind:Nue.ENUM_TYPE_EXTENSION,name:tee,directives:ree,values:oee})}parseInputObjectTypeExtension(){const eee=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");const tee=this.parseName(),ree=this.parseConstDirectives(),oee=this.parseInputFieldsDefinition();if(0===ree.length&&0===oee.length)throw this.unexpected();return this.node(eee,{kind:Nue.INPUT_OBJECT_TYPE_EXTENSION,name:tee,directives:ree,fields:oee})}parseDirectiveDefinition(){const eee=this._lexer.token,tee=this.parseDescription();this.expectKeyword("directive"),this.expectToken(Aue.AT);const ree=this.parseName(),oee=this.parseArgumentDefs(),nee=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");const aee=this.parseDirectiveLocations();return this.node(eee,{kind:Nue.DIRECTIVE_DEFINITION,description:tee,name:ree,arguments:oee,repeatable:nee,locations:aee})}parseDirectiveLocations(){return this.delimitedMany(Aue.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){const eee=this._lexer.token,tee=this.parseName();if(Object.prototype.hasOwnProperty.call(Oue,tee.value))return tee;throw this.unexpected(eee)}node(eee,tee){return!0!==this._options.noLocation&&(tee.loc=new kue(eee,this._lexer.lastToken,this._lexer.source)),tee}peek(eee){return this._lexer.token.kind===eee}expectToken(eee){const tee=this._lexer.token;if(tee.kind===eee)return this.advanceLexer(),tee;throw xue(this._lexer.source,tee.start,`Expected ${bhe(eee)}, found ${fhe(tee)}.`)}expectOptionalToken(eee){return this._lexer.token.kind===eee&&(this.advanceLexer(),!0)}expectKeyword(eee){const tee=this._lexer.token;if(tee.kind!==Aue.NAME||tee.value!==eee)throw xue(this._lexer.source,tee.start,`Expected "${eee}", found ${fhe(tee)}.`);this.advanceLexer()}expectOptionalKeyword(eee){const tee=this._lexer.token;return tee.kind===Aue.NAME&&tee.value===eee&&(this.advanceLexer(),!0)}unexpected(eee){const tee=null!=eee?eee:this._lexer.token;return xue(this._lexer.source,tee.start,`Unexpected ${fhe(tee)}.`)}any(eee,tee,ree){this.expectToken(eee);const oee=[];for(;!this.expectOptionalToken(ree);)oee.push(tee.call(this));return oee}optionalMany(eee,tee,ree){if(this.expectOptionalToken(eee)){const eee=[];do{eee.push(tee.call(this))}while(!this.expectOptionalToken(ree));return eee}return[]}many(eee,tee,ree){this.expectToken(eee);const oee=[];do{oee.push(tee.call(this))}while(!this.expectOptionalToken(ree));return oee}delimitedMany(eee,tee){this.expectOptionalToken(eee);const ree=[];do{ree.push(tee.call(this))}while(this.expectOptionalToken(eee));return ree}advanceLexer(){const{maxTokens:eee}=this._options,tee=this._lexer.advance();if(void 0!==eee&&tee.kind!==Aue.EOF&&(++this._tokenCounter,this._tokenCounter>eee))throw xue(this._lexer.source,tee.start,`Document contains more that ${eee} tokens. Parsing aborted.`)}}function fhe(eee){const tee=eee.value;return bhe(eee.kind)+(null!=tee?` "${tee}"`:"")}function bhe(eee){return $ue(eee)?`"${eee}"`:eee}const mhe=5;function vhe(eee,tee){const[ree,oee]=tee?[eee,tee]:[void 0,eee];let nee=" Did you mean ";ree&&(nee+=ree+" ");const aee=oee.map((x=>`"${x}"`));switch(aee.length){case 0:return"";case 1:return nee+aee[0]+"?";case 2:return nee+aee[0]+" or "+aee[1]+"?"}const iee=aee.slice(0,mhe),see=iee.pop();return nee+iee.join(", ")+", or "+see+"?"}function yhe(x){return x}function xhe(eee,tee){const ree=Object.create(null);for(const oee of eee)ree[tee(oee)]=oee;return ree}function khe(eee,tee,ree){const oee=Object.create(null);for(const nee of eee)oee[tee(nee)]=ree(nee);return oee}function _he(eee,fn){const tee=Object.create(null);for(const ree of Object.keys(eee))tee[ree]=fn(eee[ree],ree);return tee}function Ehe(eee,tee){let ree=0,oee=0;for(;ree0);let see=0;do{++oee,see=10*see+aee-The,aee=tee.charCodeAt(oee)}while(Ihe(aee)&&see>0);if(ieesee)return 1}else{if(neeaee)return 1;++ree,++oee}}return eee.length-tee.length}const The=48,She=57;function Ihe(eee){return!isNaN(eee)&&The<=eee&&eee<=She}function Ohe(eee,tee){const ree=Object.create(null),oee=new Nhe(eee),nee=Math.floor(.4*eee.length)+1;for(const aee of tee){const eee=oee.measure(aee,nee);void 0!==eee&&(ree[aee]=eee)}return Object.keys(ree).sort(((a,b)=>{const eee=ree[a]-ree[b];return 0!==eee?eee:Ehe(a,b)}))}class Nhe{constructor(eee){this._input=eee,this._inputLowerCase=eee.toLowerCase(),this._inputArray=Ahe(this._inputLowerCase),this._rows=[new Array(eee.length+1).fill(0),new Array(eee.length+1).fill(0),new Array(eee.length+1).fill(0)]}measure(eee,tee){if(this._input===eee)return 0;const ree=eee.toLowerCase();if(this._inputLowerCase===ree)return 1;let a=Ahe(ree),b=this._inputArray;if(a.lengthtee)return;const aee=this._rows;for(let j=0;j<=nee;j++)aee[0][j]=j;for(let i=1;i<=oee;i++){const eee=aee[(i-1)%3],ree=aee[i%3];let oee=ree[0]=i;for(let j=1;j<=nee;j++){const tee=a[i-1]===b[j-1]?0:1;let nee=Math.min(eee[j]+1,ree[j-1]+1,eee[j-1]+tee);if(i>1&&j>1&&a[i-1]===b[j-2]&&a[i-2]===b[j-1]){const eee=aee[(i-2)%3][j-2];nee=Math.min(nee,eee+1)}neetee)return}const iee=aee[oee%3][nee];return iee<=tee?iee:void 0}}function Ahe(eee){const tee=eee.length,ree=new Array(tee);for(let i=0;ieee.value},Variable:{leave:eee=>"$"+eee.name},Document:{leave:eee=>$he(eee.definitions,"\n\n")},OperationDefinition:{leave(eee){const tee=qhe("(",$he(eee.variableDefinitions,", "),")"),ree=$he([eee.operation,$he([eee.name,tee]),$he(eee.directives," ")]," ");return("query"===ree?"":ree+" ")+eee.selectionSet}},VariableDefinition:{leave:({variable:eee,type:tee,defaultValue:ree,directives:oee})=>eee+": "+tee+qhe(" = ",ree)+qhe(" ",$he(oee," "))},SelectionSet:{leave:({selections:eee})=>Vhe(eee)},Field:{leave({alias:eee,name:tee,arguments:ree,directives:oee,selectionSet:nee}){const aee=qhe("",eee,": ")+tee;let iee=aee+qhe("(",$he(ree,", "),")");return iee.length>80&&(iee=aee+qhe("(\n",Bhe($he(ree,"\n")),"\n)")),$he([iee,$he(oee," "),nee]," ")}},Argument:{leave:({name:eee,value:tee})=>eee+": "+tee},FragmentSpread:{leave:({name:eee,directives:tee})=>"..."+eee+qhe(" ",$he(tee," "))},InlineFragment:{leave:({typeCondition:eee,directives:tee,selectionSet:ree})=>$he(["...",qhe("on ",eee),$he(tee," "),ree]," ")},FragmentDefinition:{leave:({name:eee,typeCondition:tee,variableDefinitions:ree,directives:oee,selectionSet:nee})=>`fragment ${eee}${qhe("(",$he(ree,", "),")")} on ${tee} ${qhe("",$he(oee," ")," ")}`+nee},IntValue:{leave:({value:eee})=>eee},FloatValue:{leave:({value:eee})=>eee},StringValue:{leave:({value:eee,block:tee})=>tee?Uue(eee):`"${eee.replace(Dhe,Che)}"`},BooleanValue:{leave:({value:eee})=>eee?"true":"false"},NullValue:{leave:()=>"null"},EnumValue:{leave:({value:eee})=>eee},ListValue:{leave:({values:eee})=>"["+$he(eee,", ")+"]"},ObjectValue:{leave:({fields:eee})=>"{"+$he(eee,", ")+"}"},ObjectField:{leave:({name:eee,value:tee})=>eee+": "+tee},Directive:{leave:({name:eee,arguments:tee})=>"@"+eee+qhe("(",$he(tee,", "),")")},NamedType:{leave:({name:eee})=>eee},ListType:{leave:({type:eee})=>"["+eee+"]"},NonNullType:{leave:({type:eee})=>eee+"!"},SchemaDefinition:{leave:({description:eee,directives:tee,operationTypes:ree})=>qhe("",eee,"\n")+$he(["schema",$he(tee," "),Vhe(ree)]," ")},OperationTypeDefinition:{leave:({operation:eee,type:tee})=>eee+": "+tee},ScalarTypeDefinition:{leave:({description:eee,name:tee,directives:ree})=>qhe("",eee,"\n")+$he(["scalar",tee,$he(ree," ")]," ")},ObjectTypeDefinition:{leave:({description:eee,name:tee,interfaces:ree,directives:oee,fields:nee})=>qhe("",eee,"\n")+$he(["type",tee,qhe("implements ",$he(ree," & ")),$he(oee," "),Vhe(nee)]," ")},FieldDefinition:{leave:({description:eee,name:tee,arguments:ree,type:oee,directives:nee})=>qhe("",eee,"\n")+tee+(Yhe(ree)?qhe("(\n",Bhe($he(ree,"\n")),"\n)"):qhe("(",$he(ree,", "),")"))+": "+oee+qhe(" ",$he(nee," "))},InputValueDefinition:{leave:({description:eee,name:tee,type:ree,defaultValue:oee,directives:nee})=>qhe("",eee,"\n")+$he([tee+": "+ree,qhe("= ",oee),$he(nee," ")]," ")},InterfaceTypeDefinition:{leave:({description:eee,name:tee,interfaces:ree,directives:oee,fields:nee})=>qhe("",eee,"\n")+$he(["interface",tee,qhe("implements ",$he(ree," & ")),$he(oee," "),Vhe(nee)]," ")},UnionTypeDefinition:{leave:({description:eee,name:tee,directives:ree,types:oee})=>qhe("",eee,"\n")+$he(["union",tee,$he(ree," "),qhe("= ",$he(oee," | "))]," ")},EnumTypeDefinition:{leave:({description:eee,name:tee,directives:ree,values:oee})=>qhe("",eee,"\n")+$he(["enum",tee,$he(ree," "),Vhe(oee)]," ")},EnumValueDefinition:{leave:({description:eee,name:tee,directives:ree})=>qhe("",eee,"\n")+$he([tee,$he(ree," ")]," ")},InputObjectTypeDefinition:{leave:({description:eee,name:tee,directives:ree,fields:oee})=>qhe("",eee,"\n")+$he(["input",tee,$he(ree," "),Vhe(oee)]," ")},DirectiveDefinition:{leave:({description:eee,name:tee,arguments:ree,repeatable:oee,locations:nee})=>qhe("",eee,"\n")+"directive @"+tee+(Yhe(ree)?qhe("(\n",Bhe($he(ree,"\n")),"\n)"):qhe("(",$he(ree,", "),")"))+(oee?" repeatable":"")+" on "+$he(nee," | ")},SchemaExtension:{leave:({directives:eee,operationTypes:tee})=>$he(["extend schema",$he(eee," "),Vhe(tee)]," ")},ScalarTypeExtension:{leave:({name:eee,directives:tee})=>$he(["extend scalar",eee,$he(tee," ")]," ")},ObjectTypeExtension:{leave:({name:eee,interfaces:tee,directives:ree,fields:oee})=>$he(["extend type",eee,qhe("implements ",$he(tee," & ")),$he(ree," "),Vhe(oee)]," ")},InterfaceTypeExtension:{leave:({name:eee,interfaces:tee,directives:ree,fields:oee})=>$he(["extend interface",eee,qhe("implements ",$he(tee," & ")),$he(ree," "),Vhe(oee)]," ")},UnionTypeExtension:{leave:({name:eee,directives:tee,types:ree})=>$he(["extend union",eee,$he(tee," "),qhe("= ",$he(ree," | "))]," ")},EnumTypeExtension:{leave:({name:eee,directives:tee,values:ree})=>$he(["extend enum",eee,$he(tee," "),Vhe(ree)]," ")},InputObjectTypeExtension:{leave:({name:eee,directives:tee,fields:ree})=>$he(["extend input",eee,$he(tee," "),Vhe(ree)]," ")}};function $he(eee,tee=""){var ree;return null!==(ree=null==eee?void 0:eee.filter((x=>x)).join(tee))&&void 0!==ree?ree:""}function Vhe(eee){return qhe("{\n",Bhe($he(eee,"\n")),"\n}")}function qhe(eee,tee,ree=""){return null!=tee&&""!==tee?eee+tee+ree:""}function Bhe(eee){return qhe(" ",eee.replace(/\n/g,"\n "))}function Yhe(eee){var tee;return null!==(tee=null==eee?void 0:eee.some((eee=>eee.includes("\n"))))&&void 0!==tee&&tee}function Ghe(eee,tee){switch(eee.kind){case Nue.NULL:return null;case Nue.INT:return parseInt(eee.value,10);case Nue.FLOAT:return parseFloat(eee.value);case Nue.STRING:case Nue.ENUM:case Nue.BOOLEAN:return eee.value;case Nue.LIST:return eee.values.map((eee=>Ghe(eee,tee)));case Nue.OBJECT:return khe(eee.fields,(eee=>eee.name.value),(eee=>Ghe(eee.value,tee)));case Nue.VARIABLE:return null==tee?void 0:tee[eee.name.value]}}function Qhe(eee){if(null!=eee||pue(!1,"Must provide name."),"string"==typeof eee||pue(!1,"Expected name to be a string."),0===eee.length)throw new vue("Expected name to be a non-empty string.");for(let i=1;iaee(Ghe(eee,tee)),this.extensions=Rhe(eee.extensions),this.astNode=eee.astNode,this.extensionASTNodes=null!==(nee=eee.extensionASTNodes)&&void 0!==nee?nee:[],null==eee.specifiedByURL||"string"==typeof eee.specifiedByURL||pue(!1,`${this.name} must provide "specifiedByURL" as a string, but got: ${lhe(eee.specifiedByURL)}.`),null==eee.serialize||"function"==typeof eee.serialize||pue(!1,`${this.name} must provide "serialize" function. If this custom Scalar is also used as an input type, ensure "parseValue" and "parseLiteral" functions are also provided.`),eee.parseLiteral&&("function"==typeof eee.parseValue&&"function"==typeof eee.parseLiteral||pue(!1,`${this.name} must provide both "parseValue" and "parseLiteral" functions.`))}get[Symbol.toStringTag](){return"GraphQLScalarType"}toConfig(){return{name:this.name,description:this.description,specifiedByURL:this.specifiedByURL,serialize:this.serialize,parseValue:this.parseValue,parseLiteral:this.parseLiteral,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}class kge{constructor(eee){var tee;this.name=Qhe(eee.name),this.description=eee.description,this.isTypeOf=eee.isTypeOf,this.extensions=Rhe(eee.extensions),this.astNode=eee.astNode,this.extensionASTNodes=null!==(tee=eee.extensionASTNodes)&&void 0!==tee?tee:[],this._fields=()=>Ege(eee),this._interfaces=()=>_ge(eee),null==eee.isTypeOf||"function"==typeof eee.isTypeOf||pue(!1,`${this.name} must provide "isTypeOf" as a function, but got: ${lhe(eee.isTypeOf)}.`)}get[Symbol.toStringTag](){return"GraphQLObjectType"}getFields(){return"function"==typeof this._fields&&(this._fields=this._fields()),this._fields}getInterfaces(){return"function"==typeof this._interfaces&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:Ige(this.getFields()),isTypeOf:this.isTypeOf,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function _ge(eee){var tee;const ree=vge(null!==(tee=eee.interfaces)&&void 0!==tee?tee:[]);return Array.isArray(ree)||pue(!1,`${eee.name} interfaces must be an Array or a function which returns an Array.`),ree}function Ege(eee){const tee=yge(eee.fields);return Sge(tee)||pue(!1,`${eee.name} fields must be an object with field names as keys or a function which returns such an object.`),_he(tee,((tee,ree)=>{var oee;Sge(tee)||pue(!1,`${eee.name}.${ree} field config must be an object.`),null==tee.resolve||"function"==typeof tee.resolve||pue(!1,`${eee.name}.${ree} field resolver must be a function if provided, but got: ${lhe(tee.resolve)}.`);const nee=null!==(oee=tee.args)&&void 0!==oee?oee:{};return Sge(nee)||pue(!1,`${eee.name}.${ree} args must be an object with argument names as keys.`),{name:Qhe(ree),description:tee.description,type:tee.type,args:Tge(nee),resolve:tee.resolve,subscribe:tee.subscribe,deprecationReason:tee.deprecationReason,extensions:Rhe(tee.extensions),astNode:tee.astNode}}))}function Tge(eee){return Object.entries(eee).map((([eee,tee])=>({name:Qhe(eee),description:tee.description,type:tee.type,defaultValue:tee.defaultValue,deprecationReason:tee.deprecationReason,extensions:Rhe(tee.extensions),astNode:tee.astNode})))}function Sge(eee){return uue(eee)&&!Array.isArray(eee)}function Ige(eee){return _he(eee,(eee=>({description:eee.description,type:eee.type,args:Oge(eee.args),resolve:eee.resolve,subscribe:eee.subscribe,deprecationReason:eee.deprecationReason,extensions:eee.extensions,astNode:eee.astNode})))}function Oge(eee){return khe(eee,(eee=>eee.name),(eee=>({description:eee.description,type:eee.type,defaultValue:eee.defaultValue,deprecationReason:eee.deprecationReason,extensions:eee.extensions,astNode:eee.astNode})))}function Nge(eee){return age(eee.type)&&void 0===eee.defaultValue}class Age{constructor(eee){var tee;this.name=Qhe(eee.name),this.description=eee.description,this.resolveType=eee.resolveType,this.extensions=Rhe(eee.extensions),this.astNode=eee.astNode,this.extensionASTNodes=null!==(tee=eee.extensionASTNodes)&&void 0!==tee?tee:[],this._fields=Ege.bind(void 0,eee),this._interfaces=_ge.bind(void 0,eee),null==eee.resolveType||"function"==typeof eee.resolveType||pue(!1,`${this.name} must provide "resolveType" as a function, but got: ${lhe(eee.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLInterfaceType"}getFields(){return"function"==typeof this._fields&&(this._fields=this._fields()),this._fields}getInterfaces(){return"function"==typeof this._interfaces&&(this._interfaces=this._interfaces()),this._interfaces}toConfig(){return{name:this.name,description:this.description,interfaces:this.getInterfaces(),fields:Ige(this.getFields()),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}class Rge{constructor(eee){var tee;this.name=Qhe(eee.name),this.description=eee.description,this.resolveType=eee.resolveType,this.extensions=Rhe(eee.extensions),this.astNode=eee.astNode,this.extensionASTNodes=null!==(tee=eee.extensionASTNodes)&&void 0!==tee?tee:[],this._types=Dge.bind(void 0,eee),null==eee.resolveType||"function"==typeof eee.resolveType||pue(!1,`${this.name} must provide "resolveType" as a function, but got: ${lhe(eee.resolveType)}.`)}get[Symbol.toStringTag](){return"GraphQLUnionType"}getTypes(){return"function"==typeof this._types&&(this._types=this._types()),this._types}toConfig(){return{name:this.name,description:this.description,types:this.getTypes(),resolveType:this.resolveType,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function Dge(eee){const tee=vge(eee.types);return Array.isArray(tee)||pue(!1,`Must provide Array of types or a function which returns such an array for Union ${eee.name}.`),tee}class Cge{constructor(eee){var tee,ree,oee;this.name=Qhe(eee.name),this.description=eee.description,this.extensions=Rhe(eee.extensions),this.astNode=eee.astNode,this.extensionASTNodes=null!==(tee=eee.extensionASTNodes)&&void 0!==tee?tee:[],this._values=(ree=this.name,Sge(oee=eee.values)||pue(!1,`${ree} values must be an object with value names as keys.`),Object.entries(oee).map((([eee,tee])=>(Sge(tee)||pue(!1,`${ree}.${eee} must refer to an object with a "value" key representing an internal value but got: ${lhe(tee)}.`),{name:Whe(eee),description:tee.description,value:void 0!==tee.value?tee.value:eee,deprecationReason:tee.deprecationReason,extensions:Rhe(tee.extensions),astNode:tee.astNode})))),this._valueLookup=new Map(this._values.map((eee=>[eee.value,eee]))),this._nameLookup=xhe(this._values,(eee=>eee.name))}get[Symbol.toStringTag](){return"GraphQLEnumType"}getValues(){return this._values}getValue(eee){return this._nameLookup[eee]}serialize(eee){const tee=this._valueLookup.get(eee);if(void 0===tee)throw new vue(`Enum "${this.name}" cannot represent value: ${lhe(eee)}`);return tee.name}parseValue(eee){if("string"!=typeof eee){const tee=lhe(eee);throw new vue(`Enum "${this.name}" cannot represent non-string value: ${tee}.`+Lge(this,tee))}const tee=this.getValue(eee);if(null==tee)throw new vue(`Value "${eee}" does not exist in "${this.name}" enum.`+Lge(this,eee));return tee.value}parseLiteral(eee,tee){if(eee.kind!==Nue.ENUM){const tee=Uhe(eee);throw new vue(`Enum "${this.name}" cannot represent non-enum value: ${tee}.`+Lge(this,tee),{nodes:eee})}const ree=this.getValue(eee.value);if(null==ree){const tee=Uhe(eee);throw new vue(`Value "${tee}" does not exist in "${this.name}" enum.`+Lge(this,tee),{nodes:eee})}return ree.value}toConfig(){const eee=khe(this.getValues(),(eee=>eee.name),(eee=>({description:eee.description,value:eee.value,deprecationReason:eee.deprecationReason,extensions:eee.extensions,astNode:eee.astNode})));return{name:this.name,description:this.description,values:eee,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function Lge(eee,tee){return vhe("the enum value",Ohe(tee,eee.getValues().map((eee=>eee.name))))}class Fge{constructor(eee){var tee;this.name=Qhe(eee.name),this.description=eee.description,this.extensions=Rhe(eee.extensions),this.astNode=eee.astNode,this.extensionASTNodes=null!==(tee=eee.extensionASTNodes)&&void 0!==tee?tee:[],this._fields=zge.bind(void 0,eee)}get[Symbol.toStringTag](){return"GraphQLInputObjectType"}getFields(){return"function"==typeof this._fields&&(this._fields=this._fields()),this._fields}toConfig(){const eee=_he(this.getFields(),(eee=>({description:eee.description,type:eee.type,defaultValue:eee.defaultValue,deprecationReason:eee.deprecationReason,extensions:eee.extensions,astNode:eee.astNode})));return{name:this.name,description:this.description,fields:eee,extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes}}toString(){return this.name}toJSON(){return this.toString()}}function zge(eee){const tee=yge(eee.fields);return Sge(tee)||pue(!1,`${eee.name} fields must be an object with field names as keys or a function which returns such an object.`),_he(tee,((tee,ree)=>(!("resolve"in tee)||pue(!1,`${eee.name}.${ree} field has a resolve property, but Input Types cannot define resolvers.`),{name:Qhe(ree),description:tee.description,type:tee.type,defaultValue:tee.defaultValue,deprecationReason:tee.deprecationReason,extensions:Rhe(tee.extensions),astNode:tee.astNode})))}function Mge(eee){return age(eee.type)&&void 0===eee.defaultValue}function Pge(eee,tee){return eee===tee||(age(eee)&&age(tee)||!(!nge(eee)||!nge(tee)))&&Pge(eee.ofType,tee.ofType)}function Uge(eee,tee,ree){return tee===ree||(age(ree)?!!age(tee)&&Uge(eee,tee.ofType,ree.ofType):age(tee)?Uge(eee,tee.ofType,ree):nge(ree)?!!nge(tee)&&Uge(eee,tee.ofType,ree.ofType):!nge(tee)&&(pge(ree)&&(Jhe(tee)||Xhe(tee))&&eee.isSubType(ree,tee)))}function jge(eee,tee,ree){return tee===ree||(pge(tee)?pge(ree)?eee.getPossibleTypes(tee).some((tee=>eee.isSubType(ree,tee))):eee.isSubType(tee,ree):!!pge(ree)&&eee.isSubType(ree,tee))}const $ge=2147483647,Vge=-2147483648,qge=new xge({name:"Int",description:"The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.",serialize(eee){const tee=Hge(eee);if("boolean"==typeof tee)return tee?1:0;let ree=tee;if("string"==typeof tee&&""!==tee&&(ree=Number(tee)),"number"!=typeof ree||!Number.isInteger(ree))throw new vue(`Int cannot represent non-integer value: ${lhe(tee)}`);if(ree>$ge||ree$ge||eee$ge||teeeee.name===tee))}function Hge(eee){if(uue(eee)){if("function"==typeof eee.valueOf){const tee=eee.valueOf();if(!uue(tee))return tee}if("function"==typeof eee.toJSON)return eee.toJSON()}return eee}function Xge(eee){return phe(eee,Zge)}class Zge{constructor(eee){var tee,ree;this.name=Qhe(eee.name),this.description=eee.description,this.locations=eee.locations,this.isRepeatable=null!==(tee=eee.isRepeatable)&&void 0!==tee&&tee,this.extensions=Rhe(eee.extensions),this.astNode=eee.astNode,Array.isArray(eee.locations)||pue(!1,`@${eee.name} locations must be an Array.`);const oee=null!==(ree=eee.args)&&void 0!==ree?ree:{};uue(oee)&&!Array.isArray(oee)||pue(!1,`@${eee.name} args must be an object with argument names as keys.`),this.args=Tge(oee)}get[Symbol.toStringTag](){return"GraphQLDirective"}toConfig(){return{name:this.name,description:this.description,locations:this.locations,args:Oge(this.args),isRepeatable:this.isRepeatable,extensions:this.extensions,astNode:this.astNode}}toString(){return"@"+this.name}toJSON(){return this.toString()}}const Jge=new Zge({name:"include",description:"Directs the executor to include this field or fragment only when the `if` argument is true.",locations:[Oue.FIELD,Oue.FRAGMENT_SPREAD,Oue.INLINE_FRAGMENT],args:{if:{type:new uge(Gge),description:"Included when true."}}}),ewe=new Zge({name:"skip",description:"Directs the executor to skip this field or fragment when the `if` argument is true.",locations:[Oue.FIELD,Oue.FRAGMENT_SPREAD,Oue.INLINE_FRAGMENT],args:{if:{type:new uge(Gge),description:"Skipped when true."}}}),twe="No longer supported",rwe=new Zge({name:"deprecated",description:"Marks an element of a GraphQL schema as no longer supported.",locations:[Oue.FIELD_DEFINITION,Oue.ARGUMENT_DEFINITION,Oue.INPUT_FIELD_DEFINITION,Oue.ENUM_VALUE],args:{reason:{type:Yge,description:"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax, as specified by [CommonMark](https://commonmark.org/).",defaultValue:twe}}}),owe=new Zge({name:"specifiedBy",description:"Exposes a URL that specifies the behavior of this scalar.",locations:[Oue.SCALAR],args:{url:{type:new uge(Yge),description:"The URL that specifies the behavior of this scalar."}}}),nwe=Object.freeze([Jge,ewe,rwe,owe]);function awe(eee){return nwe.some((({name:tee})=>tee===eee.name))}function iwe(eee){return"object"==typeof eee&&"function"==typeof(null==eee?void 0:eee[Symbol.iterator])}function swe(eee,tee){if(age(tee)){const ree=swe(eee,tee.ofType);return(null==ree?void 0:ree.kind)===Nue.NULL?null:ree}if(null===eee)return{kind:Nue.NULL};if(void 0===eee)return null;if(nge(tee)){const ree=tee.ofType;if(iwe(eee)){const tee=[];for(const oee of eee){const eee=swe(oee,ree);null!=eee&&tee.push(eee)}return{kind:Nue.LIST,values:tee}}return swe(eee,ree)}if(oge(tee)){if(!uue(eee))return null;const ree=[];for(const oee of Object.values(tee.getFields())){const tee=swe(eee[oee.name],oee.type);tee&&ree.push({kind:Nue.OBJECT_FIELD,name:{kind:Nue.NAME,value:oee.name},value:tee})}return{kind:Nue.OBJECT,fields:ree}}if(lge(tee)){const ree=tee.serialize(eee);if(null==ree)return null;if("boolean"==typeof ree)return{kind:Nue.BOOLEAN,value:ree};if("number"==typeof ree&&Number.isFinite(ree)){const eee=String(ree);return lwe.test(eee)?{kind:Nue.INT,value:eee}:{kind:Nue.FLOAT,value:eee}}if("string"==typeof ree)return rge(tee)?{kind:Nue.ENUM,value:ree}:tee===Qge&&lwe.test(ree)?{kind:Nue.INT,value:ree}:{kind:Nue.STRING,value:ree};throw new TypeError(`Cannot convert value to AST: ${lhe(ree)}.`)}hue(!1,"Unexpected input type: "+lhe(tee))}const lwe=/^-?(?:0|[1-9][0-9]*)$/,cwe=new kge({name:"__Schema",description:"A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.",fields:()=>({description:{type:Yge,resolve:eee=>eee.description},types:{description:"A list of all types supported by this server.",type:new uge(new dge(new uge(uwe))),resolve:eee=>Object.values(eee.getTypeMap())},queryType:{description:"The type that query operations will be rooted at.",type:new uge(uwe),resolve:eee=>eee.getQueryType()},mutationType:{description:"If this server supports mutation, the type that mutation operations will be rooted at.",type:uwe,resolve:eee=>eee.getMutationType()},subscriptionType:{description:"If this server support subscription, the type that subscription operations will be rooted at.",type:uwe,resolve:eee=>eee.getSubscriptionType()},directives:{description:"A list of all directives supported by this server.",type:new uge(new dge(new uge(pwe))),resolve:eee=>eee.getDirectives()}})}),pwe=new kge({name:"__Directive",description:"A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.",fields:()=>({name:{type:new uge(Yge),resolve:eee=>eee.name},description:{type:Yge,resolve:eee=>eee.description},isRepeatable:{type:new uge(Gge),resolve:eee=>eee.isRepeatable},locations:{type:new uge(new dge(new uge(dwe))),resolve:eee=>eee.locations},args:{type:new uge(new dge(new uge(gwe))),args:{includeDeprecated:{type:Gge,defaultValue:!1}},resolve:(eee,{includeDeprecated:tee})=>tee?eee.args:eee.args.filter((eee=>null==eee.deprecationReason))}})}),dwe=new Cge({name:"__DirectiveLocation",description:"A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.",values:{QUERY:{value:Oue.QUERY,description:"Location adjacent to a query operation."},MUTATION:{value:Oue.MUTATION,description:"Location adjacent to a mutation operation."},SUBSCRIPTION:{value:Oue.SUBSCRIPTION,description:"Location adjacent to a subscription operation."},FIELD:{value:Oue.FIELD,description:"Location adjacent to a field."},FRAGMENT_DEFINITION:{value:Oue.FRAGMENT_DEFINITION,description:"Location adjacent to a fragment definition."},FRAGMENT_SPREAD:{value:Oue.FRAGMENT_SPREAD,description:"Location adjacent to a fragment spread."},INLINE_FRAGMENT:{value:Oue.INLINE_FRAGMENT,description:"Location adjacent to an inline fragment."},VARIABLE_DEFINITION:{value:Oue.VARIABLE_DEFINITION,description:"Location adjacent to a variable definition."},SCHEMA:{value:Oue.SCHEMA,description:"Location adjacent to a schema definition."},SCALAR:{value:Oue.SCALAR,description:"Location adjacent to a scalar definition."},OBJECT:{value:Oue.OBJECT,description:"Location adjacent to an object type definition."},FIELD_DEFINITION:{value:Oue.FIELD_DEFINITION,description:"Location adjacent to a field definition."},ARGUMENT_DEFINITION:{value:Oue.ARGUMENT_DEFINITION,description:"Location adjacent to an argument definition."},INTERFACE:{value:Oue.INTERFACE,description:"Location adjacent to an interface definition."},UNION:{value:Oue.UNION,description:"Location adjacent to a union definition."},ENUM:{value:Oue.ENUM,description:"Location adjacent to an enum definition."},ENUM_VALUE:{value:Oue.ENUM_VALUE,description:"Location adjacent to an enum value definition."},INPUT_OBJECT:{value:Oue.INPUT_OBJECT,description:"Location adjacent to an input object type definition."},INPUT_FIELD_DEFINITION:{value:Oue.INPUT_FIELD_DEFINITION,description:"Location adjacent to an input object field definition."}}}),uwe=new kge({name:"__Type",description:"The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.",fields:()=>({kind:{type:new uge(bwe),resolve:eee=>Hhe(eee)?fwe.SCALAR:Xhe(eee)?fwe.OBJECT:Jhe(eee)?fwe.INTERFACE:tge(eee)?fwe.UNION:rge(eee)?fwe.ENUM:oge(eee)?fwe.INPUT_OBJECT:nge(eee)?fwe.LIST:age(eee)?fwe.NON_NULL:void hue(!1,`Unexpected type: "${lhe(eee)}".`)},name:{type:Yge,resolve:eee=>"name"in eee?eee.name:void 0},description:{type:Yge,resolve:eee=>"description"in eee?eee.description:void 0},specifiedByURL:{type:Yge,resolve:eee=>"specifiedByURL"in eee?eee.specifiedByURL:void 0},fields:{type:new dge(new uge(hwe)),args:{includeDeprecated:{type:Gge,defaultValue:!1}},resolve(eee,{includeDeprecated:tee}){if(Xhe(eee)||Jhe(eee)){const ree=Object.values(eee.getFields());return tee?ree:ree.filter((eee=>null==eee.deprecationReason))}}},interfaces:{type:new dge(new uge(uwe)),resolve(eee){if(Xhe(eee)||Jhe(eee))return eee.getInterfaces()}},possibleTypes:{type:new dge(new uge(uwe)),resolve(eee,tee,ree,{schema:oee}){if(pge(eee))return oee.getPossibleTypes(eee)}},enumValues:{type:new dge(new uge(wwe)),args:{includeDeprecated:{type:Gge,defaultValue:!1}},resolve(eee,{includeDeprecated:tee}){if(rge(eee)){const ree=eee.getValues();return tee?ree:ree.filter((eee=>null==eee.deprecationReason))}}},inputFields:{type:new dge(new uge(gwe)),args:{includeDeprecated:{type:Gge,defaultValue:!1}},resolve(eee,{includeDeprecated:tee}){if(oge(eee)){const ree=Object.values(eee.getFields());return tee?ree:ree.filter((eee=>null==eee.deprecationReason))}}},ofType:{type:uwe,resolve:eee=>"ofType"in eee?eee.ofType:void 0}})}),hwe=new kge({name:"__Field",description:"Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.",fields:()=>({name:{type:new uge(Yge),resolve:eee=>eee.name},description:{type:Yge,resolve:eee=>eee.description},args:{type:new uge(new dge(new uge(gwe))),args:{includeDeprecated:{type:Gge,defaultValue:!1}},resolve:(eee,{includeDeprecated:tee})=>tee?eee.args:eee.args.filter((eee=>null==eee.deprecationReason))},type:{type:new uge(uwe),resolve:eee=>eee.type},isDeprecated:{type:new uge(Gge),resolve:eee=>null!=eee.deprecationReason},deprecationReason:{type:Yge,resolve:eee=>eee.deprecationReason}})}),gwe=new kge({name:"__InputValue",description:"Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.",fields:()=>({name:{type:new uge(Yge),resolve:eee=>eee.name},description:{type:Yge,resolve:eee=>eee.description},type:{type:new uge(uwe),resolve:eee=>eee.type},defaultValue:{type:Yge,description:"A GraphQL-formatted string representing the default value for this input value.",resolve(eee){const{type:tee,defaultValue:ree}=eee,oee=swe(ree,tee);return oee?Uhe(oee):null}},isDeprecated:{type:new uge(Gge),resolve:eee=>null!=eee.deprecationReason},deprecationReason:{type:Yge,resolve:eee=>eee.deprecationReason}})}),wwe=new kge({name:"__EnumValue",description:"One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.",fields:()=>({name:{type:new uge(Yge),resolve:eee=>eee.name},description:{type:Yge,resolve:eee=>eee.description},isDeprecated:{type:new uge(Gge),resolve:eee=>null!=eee.deprecationReason},deprecationReason:{type:Yge,resolve:eee=>eee.deprecationReason}})});var fwe;!function(eee){eee.SCALAR="SCALAR",eee.OBJECT="OBJECT",eee.INTERFACE="INTERFACE",eee.UNION="UNION",eee.ENUM="ENUM",eee.INPUT_OBJECT="INPUT_OBJECT",eee.LIST="LIST",eee.NON_NULL="NON_NULL"}(fwe||(fwe={}));const bwe=new Cge({name:"__TypeKind",description:"An enum describing what kind of type a given `__Type` is.",values:{SCALAR:{value:fwe.SCALAR,description:"Indicates this type is a scalar."},OBJECT:{value:fwe.OBJECT,description:"Indicates this type is an object. `fields` and `interfaces` are valid fields."},INTERFACE:{value:fwe.INTERFACE,description:"Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields."},UNION:{value:fwe.UNION,description:"Indicates this type is a union. `possibleTypes` is a valid field."},ENUM:{value:fwe.ENUM,description:"Indicates this type is an enum. `enumValues` is a valid field."},INPUT_OBJECT:{value:fwe.INPUT_OBJECT,description:"Indicates this type is an input object. `inputFields` is a valid field."},LIST:{value:fwe.LIST,description:"Indicates this type is a list. `ofType` is a valid field."},NON_NULL:{value:fwe.NON_NULL,description:"Indicates this type is a non-null. `ofType` is a valid field."}}}),mwe={name:"__schema",type:new uge(cwe),description:"Access the current type schema of this server.",args:[],resolve:(eee,tee,ree,{schema:oee})=>oee,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},vwe={name:"__type",type:uwe,description:"Request the type information of a single type.",args:[{name:"name",description:void 0,type:new uge(Yge),defaultValue:void 0,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0}],resolve:(eee,{name:tee},ree,{schema:oee})=>oee.getType(tee),deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},ywe={name:"__typename",type:new uge(Yge),description:"The name of the current Object type at runtime.",args:[],resolve:(eee,tee,ree,{parentType:oee})=>oee.name,deprecationReason:void 0,extensions:Object.create(null),astNode:void 0},xwe=Object.freeze([cwe,pwe,dwe,uwe,hwe,gwe,wwe,bwe]);function kwe(eee){return xwe.some((({name:tee})=>eee.name===tee))}function _we(eee){return phe(eee,Twe)}function Ewe(eee){if(!_we(eee))throw new Error(`Expected ${lhe(eee)} to be a GraphQL schema.`);return eee}class Twe{constructor(eee){var tee,ree;this.__validationErrors=!0===eee.assumeValid?[]:void 0,uue(eee)||pue(!1,"Must provide configuration object."),!eee.types||Array.isArray(eee.types)||pue(!1,`"types" must be Array if provided but got: ${lhe(eee.types)}.`),!eee.directives||Array.isArray(eee.directives)||pue(!1,`"directives" must be Array if provided but got: ${lhe(eee.directives)}.`),this.description=eee.description,this.extensions=Rhe(eee.extensions),this.astNode=eee.astNode,this.extensionASTNodes=null!==(tee=eee.extensionASTNodes)&&void 0!==tee?tee:[],this._queryType=eee.query,this._mutationType=eee.mutation,this._subscriptionType=eee.subscription,this._directives=null!==(ree=eee.directives)&&void 0!==ree?ree:nwe;const oee=new Set(eee.types);if(null!=eee.types)for(const nee of eee.types)oee.delete(nee),Swe(nee,oee);null!=this._queryType&&Swe(this._queryType,oee),null!=this._mutationType&&Swe(this._mutationType,oee),null!=this._subscriptionType&&Swe(this._subscriptionType,oee);for(const nee of this._directives)if(Xge(nee))for(const eee of nee.args)Swe(eee.type,oee);Swe(cwe,oee),this._typeMap=Object.create(null),this._subTypeMap=Object.create(null),this._implementationsMap=Object.create(null);for(const nee of oee){if(null==nee)continue;const eee=nee.name;if(eee||pue(!1,"One of the provided types for building the Schema is missing a name."),void 0!==this._typeMap[eee])throw new Error(`Schema must contain uniquely named types but contains multiple types named "${eee}".`);if(this._typeMap[eee]=nee,Jhe(nee)){for(const tee of nee.getInterfaces())if(Jhe(tee)){let eee=this._implementationsMap[tee.name];void 0===eee&&(eee=this._implementationsMap[tee.name]={objects:[],interfaces:[]}),eee.interfaces.push(nee)}}else if(Xhe(nee))for(const tee of nee.getInterfaces())if(Jhe(tee)){let eee=this._implementationsMap[tee.name];void 0===eee&&(eee=this._implementationsMap[tee.name]={objects:[],interfaces:[]}),eee.objects.push(nee)}}}get[Symbol.toStringTag](){return"GraphQLSchema"}getQueryType(){return this._queryType}getMutationType(){return this._mutationType}getSubscriptionType(){return this._subscriptionType}getRootType(eee){switch(eee){case Iue.QUERY:return this.getQueryType();case Iue.MUTATION:return this.getMutationType();case Iue.SUBSCRIPTION:return this.getSubscriptionType()}}getTypeMap(){return this._typeMap}getType(eee){return this.getTypeMap()[eee]}getPossibleTypes(eee){return tge(eee)?eee.getTypes():this.getImplementations(eee).objects}getImplementations(eee){const tee=this._implementationsMap[eee.name];return null!=tee?tee:{objects:[],interfaces:[]}}isSubType(eee,tee){let ree=this._subTypeMap[eee.name];if(void 0===ree){if(ree=Object.create(null),tge(eee))for(const tee of eee.getTypes())ree[tee.name]=!0;else{const tee=this.getImplementations(eee);for(const eee of tee.objects)ree[eee.name]=!0;for(const eee of tee.interfaces)ree[eee.name]=!0}this._subTypeMap[eee.name]=ree}return void 0!==ree[tee.name]}getDirectives(){return this._directives}getDirective(eee){return this.getDirectives().find((tee=>tee.name===eee))}toConfig(){return{description:this.description,query:this.getQueryType(),mutation:this.getMutationType(),subscription:this.getSubscriptionType(),types:Object.values(this.getTypeMap()),directives:this.getDirectives(),extensions:this.extensions,astNode:this.astNode,extensionASTNodes:this.extensionASTNodes,assumeValid:void 0!==this.__validationErrors}}}function Swe(eee,tee){const ree=mge(eee);if(!tee.has(ree))if(tee.add(ree),tge(ree))for(const oee of ree.getTypes())Swe(oee,tee);else if(Xhe(ree)||Jhe(ree)){for(const eee of ree.getInterfaces())Swe(eee,tee);for(const eee of Object.values(ree.getFields())){Swe(eee.type,tee);for(const ree of eee.args)Swe(ree.type,tee)}}else if(oge(ree))for(const oee of Object.values(ree.getFields()))Swe(oee.type,tee);return tee}function Iwe(eee){if(Ewe(eee),eee.__validationErrors)return eee.__validationErrors;const tee=new Nwe(eee);!function(eee){const tee=eee.schema,ree=tee.getQueryType();if(ree){if(!Xhe(ree)){var oee;eee.reportError(`Query root type must be Object type, it cannot be ${lhe(ree)}.`,null!==(oee=Awe(tee,Iue.QUERY))&&void 0!==oee?oee:ree.astNode)}}else eee.reportError("Query root type must be provided.",tee.astNode);const nee=tee.getMutationType();var aee;nee&&!Xhe(nee)&&eee.reportError(`Mutation root type must be Object type if provided, it cannot be ${lhe(nee)}.`,null!==(aee=Awe(tee,Iue.MUTATION))&&void 0!==aee?aee:nee.astNode);const iee=tee.getSubscriptionType();var see;iee&&!Xhe(iee)&&eee.reportError(`Subscription root type must be Object type if provided, it cannot be ${lhe(iee)}.`,null!==(see=Awe(tee,Iue.SUBSCRIPTION))&&void 0!==see?see:iee.astNode)}(tee),function(eee){for(const ree of eee.schema.getDirectives())if(Xge(ree)){Rwe(eee,ree);for(const oee of ree.args){var tee;if(Rwe(eee,oee),ige(oee.type)||eee.reportError(`The type of @${ree.name}(${oee.name}:) must be Input Type but got: ${lhe(oee.type)}.`,oee.astNode),Nge(oee)&&null!=oee.deprecationReason)eee.reportError(`Required argument @${ree.name}(${oee.name}:) cannot be deprecated.`,[$we(oee.astNode),null===(tee=oee.astNode)||void 0===tee?void 0:tee.type])}}else eee.reportError(`Expected directive but got: ${lhe(ree)}.`,null==ree?void 0:ree.astNode)}(tee),function(eee){const tee=function(eee){const tee=Object.create(null),ree=[],oee=Object.create(null);return nee;function nee(aee){if(tee[aee.name])return;tee[aee.name]=!0,oee[aee.name]=ree.length;const iee=Object.values(aee.getFields());for(const tee of iee)if(age(tee.type)&&oge(tee.type.ofType)){const aee=tee.type.ofType,iee=oee[aee.name];if(ree.push(tee),void 0===iee)nee(aee);else{const tee=ree.slice(iee),oee=tee.map((eee=>eee.name)).join(".");eee.reportError(`Cannot reference Input Object "${aee.name}" within itself through a series of non-null fields: "${oee}".`,tee.map((eee=>eee.astNode)))}ree.pop()}oee[aee.name]=void 0}}(eee),ree=eee.schema.getTypeMap();for(const oee of Object.values(ree))bge(oee)?(kwe(oee)||Rwe(eee,oee),Xhe(oee)||Jhe(oee)?(Dwe(eee,oee),Cwe(eee,oee)):tge(oee)?zwe(eee,oee):rge(oee)?Mwe(eee,oee):oge(oee)&&(Pwe(eee,oee),tee(oee))):eee.reportError(`Expected GraphQL named type but got: ${lhe(oee)}.`,oee.astNode)}(tee);const ree=tee.getErrors();return eee.__validationErrors=ree,ree}function Owe(eee){const tee=Iwe(eee);if(0!==tee.length)throw new Error(tee.map((eee=>eee.message)).join("\n\n"))}class Nwe{constructor(eee){this._errors=[],this.schema=eee}reportError(eee,tee){const ree=Array.isArray(tee)?tee.filter(Boolean):tee;this._errors.push(new vue(eee,{nodes:ree}))}getErrors(){return this._errors}}function Awe(eee,tee){var ree;return null===(ree=[eee.astNode,...eee.extensionASTNodes].flatMap((eee=>{var tee;return null!==(tee=null==eee?void 0:eee.operationTypes)&&void 0!==tee?tee:[]})).find((eee=>eee.operation===tee)))||void 0===ree?void 0:ree.type}function Rwe(eee,tee){tee.name.startsWith("__")&&eee.reportError(`Name "${tee.name}" must not begin with "__", which is reserved by GraphQL introspection.`,tee.astNode)}function Dwe(eee,tee){const ree=Object.values(tee.getFields());0===ree.length&&eee.reportError(`Type ${tee.name} must define one or more fields.`,[tee.astNode,...tee.extensionASTNodes]);for(const iee of ree){var oee;if(Rwe(eee,iee),!sge(iee.type))eee.reportError(`The type of ${tee.name}.${iee.name} must be Output Type but got: ${lhe(iee.type)}.`,null===(oee=iee.astNode)||void 0===oee?void 0:oee.type);for(const ree of iee.args){const oee=ree.name;var nee,aee;if(Rwe(eee,ree),!ige(ree.type))eee.reportError(`The type of ${tee.name}.${iee.name}(${oee}:) must be Input Type but got: ${lhe(ree.type)}.`,null===(nee=ree.astNode)||void 0===nee?void 0:nee.type);if(Nge(ree)&&null!=ree.deprecationReason)eee.reportError(`Required argument ${tee.name}.${iee.name}(${oee}:) cannot be deprecated.`,[$we(ree.astNode),null===(aee=ree.astNode)||void 0===aee?void 0:aee.type])}}}function Cwe(eee,tee){const ree=Object.create(null);for(const oee of tee.getInterfaces())Jhe(oee)?tee!==oee?ree[oee.name]?eee.reportError(`Type ${tee.name} can only implement ${oee.name} once.`,Uwe(tee,oee)):(ree[oee.name]=!0,Fwe(eee,tee,oee),Lwe(eee,tee,oee)):eee.reportError(`Type ${tee.name} cannot implement itself because it would create a circular reference.`,Uwe(tee,oee)):eee.reportError(`Type ${lhe(tee)} must only implement Interface types, it cannot implement ${lhe(oee)}.`,Uwe(tee,oee))}function Lwe(eee,tee,ree){const oee=tee.getFields();for(const lee of Object.values(ree.getFields())){const cee=lee.name,pee=oee[cee];if(pee){var nee,aee;if(!Uge(eee.schema,pee.type,lee.type))eee.reportError(`Interface field ${ree.name}.${cee} expects type ${lhe(lee.type)} but ${tee.name}.${cee} is type ${lhe(pee.type)}.`,[null===(nee=lee.astNode)||void 0===nee?void 0:nee.type,null===(aee=pee.astNode)||void 0===aee?void 0:aee.type]);for(const oee of lee.args){const nee=oee.name,aee=pee.args.find((eee=>eee.name===nee));var iee,see;if(aee){if(!Pge(oee.type,aee.type))eee.reportError(`Interface field argument ${ree.name}.${cee}(${nee}:) expects type ${lhe(oee.type)} but ${tee.name}.${cee}(${nee}:) is type ${lhe(aee.type)}.`,[null===(iee=oee.astNode)||void 0===iee?void 0:iee.type,null===(see=aee.astNode)||void 0===see?void 0:see.type])}else eee.reportError(`Interface field argument ${ree.name}.${cee}(${nee}:) expected but ${tee.name}.${cee} does not provide it.`,[oee.astNode,pee.astNode])}for(const oee of pee.args){const nee=oee.name;!lee.args.find((eee=>eee.name===nee))&&Nge(oee)&&eee.reportError(`Object field ${tee.name}.${cee} includes required argument ${nee} that is missing from the Interface field ${ree.name}.${cee}.`,[oee.astNode,lee.astNode])}}else eee.reportError(`Interface field ${ree.name}.${cee} expected but ${tee.name} does not provide it.`,[lee.astNode,tee.astNode,...tee.extensionASTNodes])}}function Fwe(eee,tee,ree){const oee=tee.getInterfaces();for(const nee of ree.getInterfaces())oee.includes(nee)||eee.reportError(nee===tee?`Type ${tee.name} cannot implement ${ree.name} because it would create a circular reference.`:`Type ${tee.name} must implement ${nee.name} because it is implemented by ${ree.name}.`,[...Uwe(ree,nee),...Uwe(tee,ree)])}function zwe(eee,tee){const ree=tee.getTypes();0===ree.length&&eee.reportError(`Union type ${tee.name} must define one or more member types.`,[tee.astNode,...tee.extensionASTNodes]);const oee=Object.create(null);for(const nee of ree)oee[nee.name]?eee.reportError(`Union type ${tee.name} can only include type ${nee.name} once.`,jwe(tee,nee.name)):(oee[nee.name]=!0,Xhe(nee)||eee.reportError(`Union type ${tee.name} can only include Object types, it cannot include ${lhe(nee)}.`,jwe(tee,String(nee))))}function Mwe(eee,tee){const ree=tee.getValues();0===ree.length&&eee.reportError(`Enum type ${tee.name} must define one or more values.`,[tee.astNode,...tee.extensionASTNodes]);for(const oee of ree)Rwe(eee,oee)}function Pwe(eee,tee){const ree=Object.values(tee.getFields());0===ree.length&&eee.reportError(`Input Object type ${tee.name} must define one or more fields.`,[tee.astNode,...tee.extensionASTNodes]);for(const aee of ree){var oee,nee;if(Rwe(eee,aee),!ige(aee.type))eee.reportError(`The type of ${tee.name}.${aee.name} must be Input Type but got: ${lhe(aee.type)}.`,null===(oee=aee.astNode)||void 0===oee?void 0:oee.type);if(Mge(aee)&&null!=aee.deprecationReason)eee.reportError(`Required input field ${tee.name}.${aee.name} cannot be deprecated.`,[$we(aee.astNode),null===(nee=aee.astNode)||void 0===nee?void 0:nee.type])}}function Uwe(eee,tee){const{astNode:ree,extensionASTNodes:oee}=eee;return(null!=ree?[ree,...oee]:oee).flatMap((eee=>{var tee;return null!==(tee=eee.interfaces)&&void 0!==tee?tee:[]})).filter((eee=>eee.name.value===tee.name))}function jwe(eee,tee){const{astNode:ree,extensionASTNodes:oee}=eee;return(null!=ree?[ree,...oee]:oee).flatMap((eee=>{var tee;return null!==(tee=eee.types)&&void 0!==tee?tee:[]})).filter((eee=>eee.name.value===tee))}function $we(eee){var tee;return null==eee||null===(tee=eee.directives)||void 0===tee?void 0:tee.find((eee=>eee.name.value===rwe.name))}function Vwe(eee,tee){switch(tee.kind){case Nue.LIST_TYPE:{const ree=Vwe(eee,tee.type);return ree&&new dge(ree)}case Nue.NON_NULL_TYPE:{const ree=Vwe(eee,tee.type);return ree&&new uge(ree)}case Nue.NAMED_TYPE:return eee.getType(tee.name.value)}}class qwe{constructor(eee,tee,ree){this._schema=eee,this._typeStack=[],this._parentTypeStack=[],this._inputTypeStack=[],this._fieldDefStack=[],this._defaultValueStack=[],this._directive=null,this._argument=null,this._enumValue=null,this._getFieldDef=null!=ree?ree:Bwe,tee&&(ige(tee)&&this._inputTypeStack.push(tee),cge(tee)&&this._parentTypeStack.push(tee),sge(tee)&&this._typeStack.push(tee))}get[Symbol.toStringTag](){return"TypeInfo"}getType(){if(this._typeStack.length>0)return this._typeStack[this._typeStack.length-1]}getParentType(){if(this._parentTypeStack.length>0)return this._parentTypeStack[this._parentTypeStack.length-1]}getInputType(){if(this._inputTypeStack.length>0)return this._inputTypeStack[this._inputTypeStack.length-1]}getParentInputType(){if(this._inputTypeStack.length>1)return this._inputTypeStack[this._inputTypeStack.length-2]}getFieldDef(){if(this._fieldDefStack.length>0)return this._fieldDefStack[this._fieldDefStack.length-1]}getDefaultValue(){if(this._defaultValueStack.length>0)return this._defaultValueStack[this._defaultValueStack.length-1]}getDirective(){return this._directive}getArgument(){return this._argument}getEnumValue(){return this._enumValue}enter(eee){const tee=this._schema;switch(eee.kind){case Nue.SELECTION_SET:{const eee=mge(this.getType());this._parentTypeStack.push(cge(eee)?eee:void 0);break}case Nue.FIELD:{const ree=this.getParentType();let oee,nee;ree&&(oee=this._getFieldDef(tee,ree,eee),oee&&(nee=oee.type)),this._fieldDefStack.push(oee),this._typeStack.push(sge(nee)?nee:void 0);break}case Nue.DIRECTIVE:this._directive=tee.getDirective(eee.name.value);break;case Nue.OPERATION_DEFINITION:{const ree=tee.getRootType(eee.operation);this._typeStack.push(Xhe(ree)?ree:void 0);break}case Nue.INLINE_FRAGMENT:case Nue.FRAGMENT_DEFINITION:{const ree=eee.typeCondition,oee=ree?Vwe(tee,ree):mge(this.getType());this._typeStack.push(sge(oee)?oee:void 0);break}case Nue.VARIABLE_DEFINITION:{const ree=Vwe(tee,eee.type);this._inputTypeStack.push(ige(ree)?ree:void 0);break}case Nue.ARGUMENT:{var ree;let tee,oee;const nee=null!==(ree=this.getDirective())&&void 0!==ree?ree:this.getFieldDef();nee&&(tee=nee.args.find((tee=>tee.name===eee.name.value)),tee&&(oee=tee.type)),this._argument=tee,this._defaultValueStack.push(tee?tee.defaultValue:void 0),this._inputTypeStack.push(ige(oee)?oee:void 0);break}case Nue.LIST:{const eee=fge(this.getInputType()),tee=nge(eee)?eee.ofType:eee;this._defaultValueStack.push(void 0),this._inputTypeStack.push(ige(tee)?tee:void 0);break}case Nue.OBJECT_FIELD:{const tee=mge(this.getInputType());let ree,oee;oge(tee)&&(oee=tee.getFields()[eee.name.value],oee&&(ree=oee.type)),this._defaultValueStack.push(oee?oee.defaultValue:void 0),this._inputTypeStack.push(ige(ree)?ree:void 0);break}case Nue.ENUM:{const tee=mge(this.getInputType());let ree;rge(tee)&&(ree=tee.getValue(eee.value)),this._enumValue=ree;break}}}leave(eee){switch(eee.kind){case Nue.SELECTION_SET:this._parentTypeStack.pop();break;case Nue.FIELD:this._fieldDefStack.pop(),this._typeStack.pop();break;case Nue.DIRECTIVE:this._directive=null;break;case Nue.OPERATION_DEFINITION:case Nue.INLINE_FRAGMENT:case Nue.FRAGMENT_DEFINITION:this._typeStack.pop();break;case Nue.VARIABLE_DEFINITION:this._inputTypeStack.pop();break;case Nue.ARGUMENT:this._argument=null,this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case Nue.LIST:case Nue.OBJECT_FIELD:this._defaultValueStack.pop(),this._inputTypeStack.pop();break;case Nue.ENUM:this._enumValue=null}}}function Bwe(eee,tee,ree){const oee=ree.name.value;return oee===mwe.name&&eee.getQueryType()===tee?mwe:oee===vwe.name&&eee.getQueryType()===tee?vwe:oee===ywe.name&&cge(tee)?ywe:Xhe(tee)||Jhe(tee)?tee.getFields()[oee]:void 0}function Ywe(eee,tee){return{enter(...ree){const oee=ree[0];eee.enter(oee);const fn=Phe(tee,oee.kind).enter;if(fn){const nee=fn.apply(tee,ree);return void 0!==nee&&(eee.leave(oee),Sue(nee)&&eee.enter(nee)),nee}},leave(...ree){const oee=ree[0],fn=Phe(tee,oee.kind).leave;let nee;return fn&&(nee=fn.apply(tee,ree)),eee.leave(oee),nee}}}function Gwe(eee){return eee.kind===Nue.OPERATION_DEFINITION||eee.kind===Nue.FRAGMENT_DEFINITION}function Qwe(eee){return eee.kind===Nue.VARIABLE||eee.kind===Nue.INT||eee.kind===Nue.FLOAT||eee.kind===Nue.STRING||eee.kind===Nue.BOOLEAN||eee.kind===Nue.NULL||eee.kind===Nue.ENUM||eee.kind===Nue.LIST||eee.kind===Nue.OBJECT}function Wwe(eee){return eee.kind===Nue.SCHEMA_DEFINITION||Kwe(eee)||eee.kind===Nue.DIRECTIVE_DEFINITION}function Kwe(eee){return eee.kind===Nue.SCALAR_TYPE_DEFINITION||eee.kind===Nue.OBJECT_TYPE_DEFINITION||eee.kind===Nue.INTERFACE_TYPE_DEFINITION||eee.kind===Nue.UNION_TYPE_DEFINITION||eee.kind===Nue.ENUM_TYPE_DEFINITION||eee.kind===Nue.INPUT_OBJECT_TYPE_DEFINITION}function Hwe(eee){return eee.kind===Nue.SCHEMA_EXTENSION||Xwe(eee)}function Xwe(eee){return eee.kind===Nue.SCALAR_TYPE_EXTENSION||eee.kind===Nue.OBJECT_TYPE_EXTENSION||eee.kind===Nue.INTERFACE_TYPE_EXTENSION||eee.kind===Nue.UNION_TYPE_EXTENSION||eee.kind===Nue.ENUM_TYPE_EXTENSION||eee.kind===Nue.INPUT_OBJECT_TYPE_EXTENSION}function Zwe(eee){return{Document(tee){for(const ree of tee.definitions)if(!Gwe(ree)){const tee=ree.kind===Nue.SCHEMA_DEFINITION||ree.kind===Nue.SCHEMA_EXTENSION?"schema":'"'+ree.name.value+'"';eee.reportError(new vue(`The ${tee} definition is not executable.`,{nodes:ree}))}return!1}}}function Jwe(eee){return{Field(tee){const ree=eee.getParentType();if(ree){if(!eee.getFieldDef()){const oee=eee.getSchema(),nee=tee.name.value;let aee=vhe("to use an inline fragment on",function(eee,tee,ree){if(!pge(tee))return[];const oee=new Set,nee=Object.create(null);for(const iee of eee.getPossibleTypes(tee))if(iee.getFields()[ree]){oee.add(iee),nee[iee.name]=1;for(const eee of iee.getInterfaces()){var aee;eee.getFields()[ree]&&(oee.add(eee),nee[eee.name]=(null!==(aee=nee[eee.name])&&void 0!==aee?aee:0)+1)}}return[...oee].sort(((tee,ree)=>{const oee=nee[ree.name]-nee[tee.name];return 0!==oee?oee:Jhe(tee)&&eee.isSubType(tee,ree)?-1:Jhe(ree)&&eee.isSubType(ree,tee)?1:Ehe(tee.name,ree.name)})).map((x=>x.name))}(oee,ree,nee));""===aee&&(aee=vhe(function(eee,tee){if(Xhe(eee)||Jhe(eee)){return Ohe(tee,Object.keys(eee.getFields()))}return[]}(ree,nee))),eee.reportError(new vue(`Cannot query field "${nee}" on type "${ree.name}".`+aee,{nodes:tee}))}}}}}function efe(eee){return{InlineFragment(tee){const ree=tee.typeCondition;if(ree){const tee=Vwe(eee.getSchema(),ree);if(tee&&!cge(tee)){const tee=Uhe(ree);eee.reportError(new vue(`Fragment cannot condition on non composite type "${tee}".`,{nodes:ree}))}}},FragmentDefinition(tee){const ree=Vwe(eee.getSchema(),tee.typeCondition);if(ree&&!cge(ree)){const ree=Uhe(tee.typeCondition);eee.reportError(new vue(`Fragment "${tee.name.value}" cannot condition on non composite type "${ree}".`,{nodes:tee.typeCondition}))}}}}function tfe(eee){return{...rfe(eee),Argument(tee){const ree=eee.getArgument(),oee=eee.getFieldDef(),nee=eee.getParentType();if(!ree&&oee&&nee){const ree=tee.name.value,aee=Ohe(ree,oee.args.map((eee=>eee.name)));eee.reportError(new vue(`Unknown argument "${ree}" on field "${nee.name}.${oee.name}".`+vhe(aee),{nodes:tee}))}}}}function rfe(eee){const tee=Object.create(null),ree=eee.getSchema(),oee=ree?ree.getDirectives():nwe;for(const iee of oee)tee[iee.name]=iee.args.map((eee=>eee.name));const nee=eee.getDocument().definitions;for(const iee of nee)if(iee.kind===Nue.DIRECTIVE_DEFINITION){var aee;const eee=null!==(aee=iee.arguments)&&void 0!==aee?aee:[];tee[iee.name.value]=eee.map((eee=>eee.name.value))}return{Directive(ree){const oee=ree.name.value,nee=tee[oee];if(ree.arguments&&nee)for(const tee of ree.arguments){const ree=tee.name.value;if(!nee.includes(ree)){const aee=Ohe(ree,nee);eee.reportError(new vue(`Unknown argument "${ree}" on directive "@${oee}".`+vhe(aee),{nodes:tee}))}}return!1}}}function ofe(eee){const tee=Object.create(null),ree=eee.getSchema(),oee=ree?ree.getDirectives():nwe;for(const aee of oee)tee[aee.name]=aee.locations;const nee=eee.getDocument().definitions;for(const aee of nee)aee.kind===Nue.DIRECTIVE_DEFINITION&&(tee[aee.name.value]=aee.locations.map((eee=>eee.value)));return{Directive(ree,oee,nee,aee,iee){const see=ree.name.value,lee=tee[see];if(!lee)return void eee.reportError(new vue(`Unknown directive "@${see}".`,{nodes:ree}));const cee=function(eee){const tee=eee[eee.length-1];switch("kind"in tee||hue(!1),tee.kind){case Nue.OPERATION_DEFINITION:return function(eee){switch(eee){case Iue.QUERY:return Oue.QUERY;case Iue.MUTATION:return Oue.MUTATION;case Iue.SUBSCRIPTION:return Oue.SUBSCRIPTION}}(tee.operation);case Nue.FIELD:return Oue.FIELD;case Nue.FRAGMENT_SPREAD:return Oue.FRAGMENT_SPREAD;case Nue.INLINE_FRAGMENT:return Oue.INLINE_FRAGMENT;case Nue.FRAGMENT_DEFINITION:return Oue.FRAGMENT_DEFINITION;case Nue.VARIABLE_DEFINITION:return Oue.VARIABLE_DEFINITION;case Nue.SCHEMA_DEFINITION:case Nue.SCHEMA_EXTENSION:return Oue.SCHEMA;case Nue.SCALAR_TYPE_DEFINITION:case Nue.SCALAR_TYPE_EXTENSION:return Oue.SCALAR;case Nue.OBJECT_TYPE_DEFINITION:case Nue.OBJECT_TYPE_EXTENSION:return Oue.OBJECT;case Nue.FIELD_DEFINITION:return Oue.FIELD_DEFINITION;case Nue.INTERFACE_TYPE_DEFINITION:case Nue.INTERFACE_TYPE_EXTENSION:return Oue.INTERFACE;case Nue.UNION_TYPE_DEFINITION:case Nue.UNION_TYPE_EXTENSION:return Oue.UNION;case Nue.ENUM_TYPE_DEFINITION:case Nue.ENUM_TYPE_EXTENSION:return Oue.ENUM;case Nue.ENUM_VALUE_DEFINITION:return Oue.ENUM_VALUE;case Nue.INPUT_OBJECT_TYPE_DEFINITION:case Nue.INPUT_OBJECT_TYPE_EXTENSION:return Oue.INPUT_OBJECT;case Nue.INPUT_VALUE_DEFINITION:{const tee=eee[eee.length-3];return"kind"in tee||hue(!1),tee.kind===Nue.INPUT_OBJECT_TYPE_DEFINITION?Oue.INPUT_FIELD_DEFINITION:Oue.ARGUMENT_DEFINITION}default:hue(!1,"Unexpected kind: "+lhe(tee.kind))}}(iee);cee&&!lee.includes(cee)&&eee.reportError(new vue(`Directive "@${see}" may not be used on ${cee}.`,{nodes:ree}))}}}function nfe(eee){return{FragmentSpread(tee){const ree=tee.name.value;eee.getFragment(ree)||eee.reportError(new vue(`Unknown fragment "${ree}".`,{nodes:tee.name}))}}}function afe(eee){const tee=eee.getSchema(),ree=tee?tee.getTypeMap():Object.create(null),oee=Object.create(null);for(const aee of eee.getDocument().definitions)Kwe(aee)&&(oee[aee.name.value]=!0);const nee=[...Object.keys(ree),...Object.keys(oee)];return{NamedType(tee,_1,aee,_2,iee){const see=tee.name.value;if(!ree[see]&&!oee[see]){var lee;const ree=null!==(lee=iee[2])&&void 0!==lee?lee:aee,oee=null!=ree&&("kind"in(cee=ree)&&(Wwe(cee)||Hwe(cee)));if(oee&&ife.includes(see))return;const pee=Ohe(see,oee?ife.concat(nee):nee);eee.reportError(new vue(`Unknown type "${see}".`+vhe(pee),{nodes:tee}))}var cee}}}const ife=[...Wge,...xwe].map((eee=>eee.name));function sfe(eee){let tee=0;return{Document(eee){tee=eee.definitions.filter((eee=>eee.kind===Nue.OPERATION_DEFINITION)).length},OperationDefinition(ree){!ree.name&&tee>1&&eee.reportError(new vue("This anonymous operation must be the only defined operation.",{nodes:ree}))}}}function lfe(eee){var tee,ree,oee;const nee=eee.getSchema(),aee=null!==(tee=null!==(ree=null!==(oee=null==nee?void 0:nee.astNode)&&void 0!==oee?oee:null==nee?void 0:nee.getQueryType())&&void 0!==ree?ree:null==nee?void 0:nee.getMutationType())&&void 0!==tee?tee:null==nee?void 0:nee.getSubscriptionType();let iee=0;return{SchemaDefinition(tee){aee?eee.reportError(new vue("Cannot define a new schema within a schema extension.",{nodes:tee})):(iee>0&&eee.reportError(new vue("Must provide only one schema definition.",{nodes:tee})),++iee)}}}function cfe(eee){const tee=Object.create(null),ree=[],oee=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition:eee=>(nee(eee),!1)};function nee(aee){if(tee[aee.name.value])return;const iee=aee.name.value;tee[iee]=!0;const see=eee.getFragmentSpreads(aee.selectionSet);if(0!==see.length){oee[iee]=ree.length;for(const tee of see){const aee=tee.name.value,iee=oee[aee];if(ree.push(tee),void 0===iee){const tee=eee.getFragment(aee);tee&&nee(tee)}else{const tee=ree.slice(iee),oee=tee.slice(0,-1).map((s=>'"'+s.name.value+'"')).join(", ");eee.reportError(new vue(`Cannot spread fragment "${aee}" within itself`+(""!==oee?` via ${oee}.`:"."),{nodes:tee}))}ree.pop()}oee[iee]=void 0}}}function pfe(eee){let tee=Object.create(null);return{OperationDefinition:{enter(){tee=Object.create(null)},leave(ree){const oee=eee.getRecursiveVariableUsages(ree);for(const{node:nee}of oee){const oee=nee.name.value;!0!==tee[oee]&&eee.reportError(new vue(ree.name?`Variable "$${oee}" is not defined by operation "${ree.name.value}".`:`Variable "$${oee}" is not defined.`,{nodes:[nee,ree]}))}}},VariableDefinition(eee){tee[eee.variable.name.value]=!0}}}function dfe(eee){const tee=[],ree=[];return{OperationDefinition:eee=>(tee.push(eee),!1),FragmentDefinition:eee=>(ree.push(eee),!1),Document:{leave(){const oee=Object.create(null);for(const ree of tee)for(const tee of eee.getRecursivelyReferencedFragments(ree))oee[tee.name.value]=!0;for(const tee of ree){const ree=tee.name.value;!0!==oee[ree]&&eee.reportError(new vue(`Fragment "${ree}" is never used.`,{nodes:tee}))}}}}}function ufe(eee){let tee=[];return{OperationDefinition:{enter(){tee=[]},leave(ree){const oee=Object.create(null),nee=eee.getRecursiveVariableUsages(ree);for(const{node:eee}of nee)oee[eee.name.value]=!0;for(const aee of tee){const tee=aee.variable.name.value;!0!==oee[tee]&&eee.reportError(new vue(ree.name?`Variable "$${tee}" is never used in operation "${ree.name.value}".`:`Variable "$${tee}" is never used.`,{nodes:aee}))}}},VariableDefinition(eee){tee.push(eee)}}}function hfe(eee){switch(eee.kind){case Nue.OBJECT:return{...eee,fields:(tee=eee.fields,tee.map((eee=>({...eee,value:hfe(eee.value)}))).sort(((eee,tee)=>Ehe(eee.name.value,tee.name.value))))};case Nue.LIST:return{...eee,values:eee.values.map(hfe)};case Nue.INT:case Nue.FLOAT:case Nue.STRING:case Nue.BOOLEAN:case Nue.NULL:case Nue.ENUM:case Nue.VARIABLE:return eee}var tee}function gfe(eee){return Array.isArray(eee)?eee.map((([eee,tee])=>`subfields "${eee}" conflict because `+gfe(tee))).join(" and "):eee}function wfe(eee){const tee=new Tfe,ree=new Map;return{SelectionSet(oee){const nee=function(eee,tee,ree,oee,nee){const aee=[],[iee,see]=kfe(eee,tee,oee,nee);if(function(eee,tee,ree,oee,nee){for(const[aee,iee]of Object.entries(nee))if(iee.length>1)for(let i=0;i[eee.value,tee])));return ree.every((eee=>{const tee=eee.value,ree=nee.get(eee.name.value);return void 0!==ree&&yfe(tee)===yfe(ree)}))}(lee,dee))return[[nee,"they have differing arguments"],[lee],[dee]]}const gee=null==cee?void 0:cee.type,wee=null==uee?void 0:uee.type;if(gee&&wee&&xfe(gee,wee))return[[nee,`they return conflicting types "${lhe(gee)}" and "${lhe(wee)}"`],[lee],[dee]];const fee=lee.selectionSet,bee=dee.selectionSet;if(fee&&bee){const oee=function(eee,tee,ree,oee,nee,aee,iee,see){const lee=[],[cee,pee]=kfe(eee,tee,nee,aee),[dee,uee]=kfe(eee,tee,iee,see);mfe(eee,lee,tee,ree,oee,cee,dee);for(const hee of uee)ffe(eee,lee,tee,ree,oee,cee,hee);for(const hee of pee)ffe(eee,lee,tee,ree,oee,dee,hee);for(const hee of pee)for(const nee of uee)bfe(eee,lee,tee,ree,oee,hee,nee);return lee}(eee,tee,ree,hee,mge(gee),fee,mge(wee),bee);return function(eee,tee,ree,oee){if(eee.length>0)return[[tee,eee.map((([eee])=>eee))],[ree,...eee.map((([,eee])=>eee)).flat()],[oee,...eee.map((([,,eee])=>eee)).flat()]]}(oee,nee,lee,dee)}}function yfe(eee){return Uhe(hfe(eee))}function xfe(eee,tee){return nge(eee)?!nge(tee)||xfe(eee.ofType,tee.ofType):!!nge(tee)||(age(eee)?!age(tee)||xfe(eee.ofType,tee.ofType):!!age(tee)||!(!lge(eee)&&!lge(tee))&&eee!==tee)}function kfe(eee,tee,ree,oee){const nee=tee.get(oee);if(nee)return nee;const aee=Object.create(null),iee=Object.create(null);Efe(eee,ree,oee,aee,iee);const see=[aee,Object.keys(iee)];return tee.set(oee,see),see}function _fe(eee,tee,ree){const oee=tee.get(ree.selectionSet);if(oee)return oee;const nee=Vwe(eee.getSchema(),ree.typeCondition);return kfe(eee,tee,nee,ree.selectionSet)}function Efe(eee,tee,ree,oee,nee){for(const aee of ree.selections)switch(aee.kind){case Nue.FIELD:{const eee=aee.name.value;let ree;(Xhe(tee)||Jhe(tee))&&(ree=tee.getFields()[eee]);const nee=aee.alias?aee.alias.value:eee;oee[nee]||(oee[nee]=[]),oee[nee].push([tee,aee,ree]);break}case Nue.FRAGMENT_SPREAD:nee[aee.name.value]=!0;break;case Nue.INLINE_FRAGMENT:{const ree=aee.typeCondition,iee=ree?Vwe(eee.getSchema(),ree):tee;Efe(eee,iee,aee.selectionSet,oee,nee);break}}}class Tfe{constructor(){this._data=new Map}has(a,b,eee){var tee;const[ree,oee]=aeee.name.value)));for(const aee of oee.args)if(!nee.has(aee.name)&&Nge(aee)){const ree=lhe(aee.type);eee.reportError(new vue(`Field "${oee.name}" argument "${aee.name}" of type "${ree}" is required, but it was not provided.`,{nodes:tee}))}}}}}function Afe(eee){var tee;const ree=Object.create(null),oee=eee.getSchema(),nee=null!==(tee=null==oee?void 0:oee.getDirectives())&&void 0!==tee?tee:nwe;for(const see of nee)ree[see.name]=xhe(see.args.filter(Nge),(eee=>eee.name));const aee=eee.getDocument().definitions;for(const see of aee)if(see.kind===Nue.DIRECTIVE_DEFINITION){var iee;const eee=null!==(iee=see.arguments)&&void 0!==iee?iee:[];ree[see.name.value]=xhe(eee.filter(Rfe),(eee=>eee.name.value))}return{Directive:{leave(tee){const oee=tee.name.value,nee=ree[oee];if(nee){var aee;const ree=null!==(aee=tee.arguments)&&void 0!==aee?aee:[],iee=new Set(ree.map((eee=>eee.name.value)));for(const[aee,see]of Object.entries(nee))if(!iee.has(aee)){const ree=Khe(see.type)?lhe(see.type):Uhe(see.type);eee.reportError(new vue(`Directive "@${oee}" argument "${aee}" of type "${ree}" is required, but it was not provided.`,{nodes:tee}))}}}}}}function Rfe(eee){return eee.type.kind===Nue.NON_NULL_TYPE&&null==eee.defaultValue}function Dfe(eee){return{Field(tee){const ree=eee.getType(),oee=tee.selectionSet;if(ree)if(lge(mge(ree))){if(oee){const nee=tee.name.value,aee=lhe(ree);eee.reportError(new vue(`Field "${nee}" must not have a selection since type "${aee}" has no subfields.`,{nodes:oee}))}}else if(!oee){const oee=tee.name.value,nee=lhe(ree);eee.reportError(new vue(`Field "${oee}" of type "${nee}" must have a selection of subfields. Did you mean "${oee} { ... }"?`,{nodes:tee}))}}}}function Cfe(eee){return eee.map((eee=>"number"==typeof eee?"["+eee.toString()+"]":"."+eee)).join("")}function Lfe(eee,tee,ree){return{prev:eee,key:tee,typename:ree}}function Ffe(eee){const tee=[];let ree=eee;for(;ree;)tee.push(ree.key),ree=ree.prev;return tee.reverse()}function zfe(eee,tee,ree=Mfe){return Pfe(eee,tee,ree,void 0)}function Mfe(eee,tee,ree){let oee="Invalid value "+lhe(tee);throw eee.length>0&&(oee+=` at "value${Cfe(eee)}"`),ree.message=oee+": "+ree.message,ree}function Pfe(eee,tee,ree,oee){if(age(tee))return null!=eee?Pfe(eee,tee.ofType,ree,oee):void ree(Ffe(oee),eee,new vue(`Expected non-nullable type "${lhe(tee)}" not to be null.`));if(null==eee)return null;if(nge(tee)){const nee=tee.ofType;return iwe(eee)?Array.from(eee,((eee,tee)=>{const aee=Lfe(oee,tee,void 0);return Pfe(eee,nee,ree,aee)})):[Pfe(eee,nee,ree,oee)]}if(oge(tee)){if(!uue(eee))return void ree(Ffe(oee),eee,new vue(`Expected type "${tee.name}" to be an object.`));const nee={},aee=tee.getFields();for(const iee of Object.values(aee)){const aee=eee[iee.name];if(void 0!==aee)nee[iee.name]=Pfe(aee,iee.type,ree,Lfe(oee,iee.name,tee.name));else if(void 0!==iee.defaultValue)nee[iee.name]=iee.defaultValue;else if(age(iee.type)){const tee=lhe(iee.type);ree(Ffe(oee),eee,new vue(`Field "${iee.name}" of required type "${tee}" was not provided.`))}}for(const iee of Object.keys(eee))if(!aee[iee]){const nee=Ohe(iee,Object.keys(tee.getFields()));ree(Ffe(oee),eee,new vue(`Field "${iee}" is not defined by type "${tee.name}".`+vhe(nee)))}return nee}if(lge(tee)){let aee;try{aee=tee.parseValue(eee)}catch(nee){return void ree(Ffe(oee),eee,nee instanceof vue?nee:new vue(`Expected type "${tee.name}". `+nee.message,{originalError:nee}))}return void 0===aee&&ree(Ffe(oee),eee,new vue(`Expected type "${tee.name}".`)),aee}hue(!1,"Unexpected input type: "+lhe(tee))}function Ufe(eee,tee,ree){if(eee){if(eee.kind===Nue.VARIABLE){const oee=eee.name.value;if(null==ree||void 0===ree[oee])return;const nee=ree[oee];if(null===nee&&age(tee))return;return nee}if(age(tee)){if(eee.kind===Nue.NULL)return;return Ufe(eee,tee.ofType,ree)}if(eee.kind===Nue.NULL)return null;if(nge(tee)){const oee=tee.ofType;if(eee.kind===Nue.LIST){const tee=[];for(const nee of eee.values)if(jfe(nee,ree)){if(age(oee))return;tee.push(null)}else{const eee=Ufe(nee,oee,ree);if(void 0===eee)return;tee.push(eee)}return tee}const nee=Ufe(eee,oee,ree);if(void 0===nee)return;return[nee]}if(oge(tee)){if(eee.kind!==Nue.OBJECT)return;const oee=Object.create(null),nee=xhe(eee.fields,(eee=>eee.name.value));for(const eee of Object.values(tee.getFields())){const tee=nee[eee.name];if(!tee||jfe(tee.value,ree)){if(void 0!==eee.defaultValue)oee[eee.name]=eee.defaultValue;else if(age(eee.type))return;continue}const aee=Ufe(tee.value,eee.type,ree);if(void 0===aee)return;oee[eee.name]=aee}return oee}if(lge(tee)){let nee;try{nee=tee.parseLiteral(eee,ree)}catch(oee){return}if(void 0===nee)return;return nee}hue(!1,"Unexpected input type: "+lhe(tee))}}function jfe(eee,tee){return eee.kind===Nue.VARIABLE&&(null==tee||void 0===tee[eee.name.value])}function $fe(eee,tee,ree,oee){const nee=[],aee=null==oee?void 0:oee.maxErrors;try{const oee=function(eee,tee,ree,oee){const nee={};for(const aee of tee){const tee=aee.variable.name.value,iee=Vwe(eee,aee.type);if(!ige(iee)){const eee=Uhe(aee.type);oee(new vue(`Variable "$${tee}" expected value of type "${eee}" which cannot be used as an input type.`,{nodes:aee.type}));continue}if(!Bfe(ree,tee)){if(aee.defaultValue)nee[tee]=Ufe(aee.defaultValue,iee);else if(age(iee)){const eee=lhe(iee);oee(new vue(`Variable "$${tee}" of required type "${eee}" was not provided.`,{nodes:aee}))}continue}const see=ree[tee];if(null===see&&age(iee)){const eee=lhe(iee);oee(new vue(`Variable "$${tee}" of non-null type "${eee}" must not be null.`,{nodes:aee}))}else nee[tee]=zfe(see,iee,((eee,ree,nee)=>{let iee=`Variable "$${tee}" got invalid value `+lhe(ree);eee.length>0&&(iee+=` at "${tee}${Cfe(eee)}"`),oee(new vue(iee+"; "+nee.message,{nodes:aee,originalError:nee}))}))}return nee}(eee,tee,ree,(eee=>{if(null!=aee&&nee.length>=aee)throw new vue("Too many errors processing variables, error limit reached. Execution aborted.");nee.push(eee)}));if(0===nee.length)return{coerced:oee}}catch(iee){nee.push(iee)}return{errors:nee}}function Vfe(eee,tee,ree){var oee;const nee={},aee=xhe(null!==(oee=tee.arguments)&&void 0!==oee?oee:[],(eee=>eee.name.value));for(const iee of eee.args){const eee=iee.name,oee=iee.type,see=aee[eee];if(!see){if(void 0!==iee.defaultValue)nee[eee]=iee.defaultValue;else if(age(oee))throw new vue(`Argument "${eee}" of required type "${lhe(oee)}" was not provided.`,{nodes:tee});continue}const lee=see.value;let cee=lee.kind===Nue.NULL;if(lee.kind===Nue.VARIABLE){const tee=lee.name.value;if(null==ree||!Bfe(ree,tee)){if(void 0!==iee.defaultValue)nee[eee]=iee.defaultValue;else if(age(oee))throw new vue(`Argument "${eee}" of required type "${lhe(oee)}" was provided the variable "$${tee}" which was not provided a runtime value.`,{nodes:lee});continue}cee=null==ree[tee]}if(cee&&age(oee))throw new vue(`Argument "${eee}" of non-null type "${lhe(oee)}" must not be null.`,{nodes:lee});const pee=Ufe(lee,oee,ree);if(void 0===pee)throw new vue(`Argument "${eee}" has invalid value ${Uhe(lee)}.`,{nodes:lee});nee[eee]=pee}return nee}function qfe(eee,tee,ree){var oee;const nee=null===(oee=tee.directives)||void 0===oee?void 0:oee.find((tee=>tee.name.value===eee.name));if(nee)return Vfe(eee,nee,ree)}function Bfe(eee,tee){return Object.prototype.hasOwnProperty.call(eee,tee)}function Yfe(eee,tee,ree,oee,nee){const aee=new Map;return Gfe(eee,tee,ree,oee,nee,aee,new Set),aee}function Gfe(eee,tee,ree,oee,nee,aee,iee){for(const lee of nee.selections)switch(lee.kind){case Nue.FIELD:{if(!Qfe(ree,lee))continue;const eee=(see=lee).alias?see.alias.value:see.name.value,tee=aee.get(eee);void 0!==tee?tee.push(lee):aee.set(eee,[lee]);break}case Nue.INLINE_FRAGMENT:if(!Qfe(ree,lee)||!Wfe(eee,lee,oee))continue;Gfe(eee,tee,ree,oee,lee.selectionSet,aee,iee);break;case Nue.FRAGMENT_SPREAD:{const nee=lee.name.value;if(iee.has(nee)||!Qfe(ree,lee))continue;iee.add(nee);const see=tee[nee];if(!see||!Wfe(eee,see,oee))continue;Gfe(eee,tee,ree,oee,see.selectionSet,aee,iee);break}}var see}function Qfe(eee,tee){const ree=qfe(ewe,tee,eee);if(!0===(null==ree?void 0:ree.if))return!1;const oee=qfe(Jge,tee,eee);return!1!==(null==oee?void 0:oee.if)}function Wfe(eee,tee,ree){const oee=tee.typeCondition;if(!oee)return!0;const nee=Vwe(eee,oee);return nee===ree||!!pge(nee)&&eee.isSubType(nee,ree)}function Kfe(eee){return{OperationDefinition(tee){if("subscription"===tee.operation){const ree=eee.getSchema(),oee=ree.getSubscriptionType();if(oee){const nee=tee.name?tee.name.value:null,aee=Object.create(null),iee=eee.getDocument(),see=Object.create(null);for(const eee of iee.definitions)eee.kind===Nue.FRAGMENT_DEFINITION&&(see[eee.name.value]=eee);const lee=Yfe(ree,see,aee,oee,tee.selectionSet);if(lee.size>1){const tee=[...lee.values()].slice(1).flat();eee.reportError(new vue(null!=nee?`Subscription "${nee}" must select only one top level field.`:"Anonymous Subscription must select only one top level field.",{nodes:tee}))}for(const tee of lee.values()){tee[0].name.value.startsWith("__")&&eee.reportError(new vue(null!=nee?`Subscription "${nee}" must not select an introspection top level field.`:"Anonymous Subscription must not select an introspection top level field.",{nodes:tee}))}}}}}}function Hfe(eee,tee){const ree=new Map;for(const oee of eee){const eee=tee(oee),nee=ree.get(eee);void 0===nee?ree.set(eee,[oee]):nee.push(oee)}return ree}function Xfe(eee){return{DirectiveDefinition(eee){var tee;const oee=null!==(tee=eee.arguments)&&void 0!==tee?tee:[];return ree(`@${eee.name.value}`,oee)},InterfaceTypeDefinition:tee,InterfaceTypeExtension:tee,ObjectTypeDefinition:tee,ObjectTypeExtension:tee};function tee(eee){var tee;const oee=eee.name.value,nee=null!==(tee=eee.fields)&&void 0!==tee?tee:[];for(const iee of nee){var aee;ree(`${oee}.${iee.name.value}`,null!==(aee=iee.arguments)&&void 0!==aee?aee:[])}return!1}function ree(tee,ree){const oee=Hfe(ree,(eee=>eee.name.value));for(const[nee,aee]of oee)aee.length>1&&eee.reportError(new vue(`Argument "${tee}(${nee}:)" can only be defined once.`,{nodes:aee.map((eee=>eee.name))}));return!1}}function Zfe(eee){return{Field:tee,Directive:tee};function tee(tee){var ree;const oee=Hfe(null!==(ree=tee.arguments)&&void 0!==ree?ree:[],(eee=>eee.name.value));for(const[nee,aee]of oee)aee.length>1&&eee.reportError(new vue(`There can be only one argument named "${nee}".`,{nodes:aee.map((eee=>eee.name))}))}}function Jfe(eee){const tee=Object.create(null),ree=eee.getSchema();return{DirectiveDefinition(oee){const nee=oee.name.value;if(null==ree||!ree.getDirective(nee))return tee[nee]?eee.reportError(new vue(`There can be only one directive named "@${nee}".`,{nodes:[tee[nee],oee.name]})):tee[nee]=oee.name,!1;eee.reportError(new vue(`Directive "@${nee}" already exists in the schema. It cannot be redefined.`,{nodes:oee.name}))}}}function ebe(eee){const tee=Object.create(null),ree=eee.getSchema(),oee=ree?ree.getDirectives():nwe;for(const see of oee)tee[see.name]=!see.isRepeatable;const nee=eee.getDocument().definitions;for(const see of nee)see.kind===Nue.DIRECTIVE_DEFINITION&&(tee[see.name.value]=!see.repeatable);const aee=Object.create(null),iee=Object.create(null);return{enter(ree){if(!("directives"in ree)||!ree.directives)return;let oee;if(ree.kind===Nue.SCHEMA_DEFINITION||ree.kind===Nue.SCHEMA_EXTENSION)oee=aee;else if(Kwe(ree)||Xwe(ree)){const eee=ree.name.value;oee=iee[eee],void 0===oee&&(iee[eee]=oee=Object.create(null))}else oee=Object.create(null);for(const nee of ree.directives){const ree=nee.name.value;tee[ree]&&(oee[ree]?eee.reportError(new vue(`The directive "@${ree}" can only be used once at this location.`,{nodes:[oee[ree],nee]})):oee[ree]=nee)}}}}function tbe(eee){const tee=eee.getSchema(),ree=tee?tee.getTypeMap():Object.create(null),oee=Object.create(null);return{EnumTypeDefinition:nee,EnumTypeExtension:nee};function nee(tee){var nee;const aee=tee.name.value;oee[aee]||(oee[aee]=Object.create(null));const iee=null!==(nee=tee.values)&&void 0!==nee?nee:[],see=oee[aee];for(const oee of iee){const tee=oee.name.value,nee=ree[aee];rge(nee)&&nee.getValue(tee)?eee.reportError(new vue(`Enum value "${aee}.${tee}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:oee.name})):see[tee]?eee.reportError(new vue(`Enum value "${aee}.${tee}" can only be defined once.`,{nodes:[see[tee],oee.name]})):see[tee]=oee.name}return!1}}function rbe(eee){const tee=eee.getSchema(),ree=tee?tee.getTypeMap():Object.create(null),oee=Object.create(null);return{InputObjectTypeDefinition:nee,InputObjectTypeExtension:nee,InterfaceTypeDefinition:nee,InterfaceTypeExtension:nee,ObjectTypeDefinition:nee,ObjectTypeExtension:nee};function nee(tee){var nee;const aee=tee.name.value;oee[aee]||(oee[aee]=Object.create(null));const iee=null!==(nee=tee.fields)&&void 0!==nee?nee:[],see=oee[aee];for(const oee of iee){const tee=oee.name.value;obe(ree[aee],tee)?eee.reportError(new vue(`Field "${aee}.${tee}" already exists in the schema. It cannot also be defined in this type extension.`,{nodes:oee.name})):see[tee]?eee.reportError(new vue(`Field "${aee}.${tee}" can only be defined once.`,{nodes:[see[tee],oee.name]})):see[tee]=oee.name}return!1}}function obe(eee,tee){return!!(Xhe(eee)||Jhe(eee)||oge(eee))&&null!=eee.getFields()[tee]}function nbe(eee){const tee=Object.create(null);return{OperationDefinition:()=>!1,FragmentDefinition(ree){const oee=ree.name.value;return tee[oee]?eee.reportError(new vue(`There can be only one fragment named "${oee}".`,{nodes:[tee[oee],ree.name]})):tee[oee]=ree.name,!1}}}function abe(eee){const tee=[];let ree=Object.create(null);return{ObjectValue:{enter(){tee.push(ree),ree=Object.create(null)},leave(){const eee=tee.pop();eee||hue(!1),ree=eee}},ObjectField(tee){const oee=tee.name.value;ree[oee]?eee.reportError(new vue(`There can be only one input field named "${oee}".`,{nodes:[ree[oee],tee.name]})):ree[oee]=tee.name}}}function ibe(eee){const tee=Object.create(null);return{OperationDefinition(ree){const oee=ree.name;return oee&&(tee[oee.value]?eee.reportError(new vue(`There can be only one operation named "${oee.value}".`,{nodes:[tee[oee.value],oee]})):tee[oee.value]=oee),!1},FragmentDefinition:()=>!1}}function sbe(eee){const tee=eee.getSchema(),ree=Object.create(null),oee=tee?{query:tee.getQueryType(),mutation:tee.getMutationType(),subscription:tee.getSubscriptionType()}:{};return{SchemaDefinition:nee,SchemaExtension:nee};function nee(tee){var nee;const aee=null!==(nee=tee.operationTypes)&&void 0!==nee?nee:[];for(const iee of aee){const tee=iee.operation,nee=ree[tee];oee[tee]?eee.reportError(new vue(`Type for ${tee} already defined in the schema. It cannot be redefined.`,{nodes:iee})):nee?eee.reportError(new vue(`There can be only one ${tee} type in schema.`,{nodes:[nee,iee]})):ree[tee]=iee}return!1}}function lbe(eee){const tee=Object.create(null),ree=eee.getSchema();return{ScalarTypeDefinition:oee,ObjectTypeDefinition:oee,InterfaceTypeDefinition:oee,UnionTypeDefinition:oee,EnumTypeDefinition:oee,InputObjectTypeDefinition:oee};function oee(oee){const nee=oee.name.value;if(null==ree||!ree.getType(nee))return tee[nee]?eee.reportError(new vue(`There can be only one type named "${nee}".`,{nodes:[tee[nee],oee.name]})):tee[nee]=oee.name,!1;eee.reportError(new vue(`Type "${nee}" already exists in the schema. It cannot also be defined in this type definition.`,{nodes:oee.name}))}}function cbe(eee){return{OperationDefinition(tee){var ree;const oee=Hfe(null!==(ree=tee.variableDefinitions)&&void 0!==ree?ree:[],(eee=>eee.variable.name.value));for(const[nee,aee]of oee)aee.length>1&&eee.reportError(new vue(`There can be only one variable named "$${nee}".`,{nodes:aee.map((eee=>eee.variable.name))}))}}}function pbe(eee){return{ListValue(tee){if(!nge(fge(eee.getParentInputType())))return dbe(eee,tee),!1},ObjectValue(tee){const ree=mge(eee.getInputType());if(!oge(ree))return dbe(eee,tee),!1;const oee=xhe(tee.fields,(eee=>eee.name.value));for(const nee of Object.values(ree.getFields())){if(!oee[nee.name]&&Mge(nee)){const oee=lhe(nee.type);eee.reportError(new vue(`Field "${ree.name}.${nee.name}" of required type "${oee}" was not provided.`,{nodes:tee}))}}},ObjectField(tee){const ree=mge(eee.getParentInputType());if(!eee.getInputType()&&oge(ree)){const oee=Ohe(tee.name.value,Object.keys(ree.getFields()));eee.reportError(new vue(`Field "${tee.name.value}" is not defined by type "${ree.name}".`+vhe(oee),{nodes:tee}))}},NullValue(tee){const ree=eee.getInputType();age(ree)&&eee.reportError(new vue(`Expected value of type "${lhe(ree)}", found ${Uhe(tee)}.`,{nodes:tee}))},EnumValue:tee=>dbe(eee,tee),IntValue:tee=>dbe(eee,tee),FloatValue:tee=>dbe(eee,tee),StringValue:tee=>dbe(eee,tee),BooleanValue:tee=>dbe(eee,tee)}}function dbe(eee,tee){const ree=eee.getInputType();if(!ree)return;const oee=mge(ree);if(lge(oee))try{if(void 0===oee.parseLiteral(tee,void 0)){const oee=lhe(ree);eee.reportError(new vue(`Expected value of type "${oee}", found ${Uhe(tee)}.`,{nodes:tee}))}}catch(nee){const oee=lhe(ree);nee instanceof vue?eee.reportError(nee):eee.reportError(new vue(`Expected value of type "${oee}", found ${Uhe(tee)}; `+nee.message,{nodes:tee,originalError:nee}))}else{const oee=lhe(ree);eee.reportError(new vue(`Expected value of type "${oee}", found ${Uhe(tee)}.`,{nodes:tee}))}}function ube(eee){return{VariableDefinition(tee){const ree=Vwe(eee.getSchema(),tee.type);if(void 0!==ree&&!ige(ree)){const ree=tee.variable.name.value,oee=Uhe(tee.type);eee.reportError(new vue(`Variable "$${ree}" cannot be non-input type "${oee}".`,{nodes:tee.type}))}}}}function hbe(eee){let tee=Object.create(null);return{OperationDefinition:{enter(){tee=Object.create(null)},leave(ree){const oee=eee.getRecursiveVariableUsages(ree);for(const{node:nee,type:aee,defaultValue:iee}of oee){const ree=nee.name.value,oee=tee[ree];if(oee&&aee){const tee=eee.getSchema(),see=Vwe(tee,oee.type);if(see&&!gbe(tee,see,oee.defaultValue,aee,iee)){const tee=lhe(see),iee=lhe(aee);eee.reportError(new vue(`Variable "$${ree}" of type "${tee}" used in position expecting type "${iee}".`,{nodes:[oee,nee]}))}}}}},VariableDefinition(eee){tee[eee.variable.name.value]=eee}}}function gbe(eee,tee,ree,oee,nee){if(age(oee)&&!age(tee)){if(!(null!=ree&&ree.kind!==Nue.NULL)&&!(void 0!==nee))return!1;return Uge(eee,tee,oee.ofType)}return Uge(eee,tee,oee)}const wbe=Object.freeze([Zwe,ibe,sfe,Kfe,afe,efe,ube,Dfe,Jwe,nbe,nfe,dfe,Sfe,cfe,cbe,pfe,ufe,ofe,ebe,tfe,Zfe,pbe,Nfe,hbe,wfe,abe]),fbe=Object.freeze([lfe,sbe,lbe,tbe,rbe,Xfe,Jfe,afe,ofe,ebe,Ife,rfe,Zfe,abe,Afe]);class bbe{constructor(eee,tee){this._ast=eee,this._fragments=void 0,this._fragmentSpreads=new Map,this._recursivelyReferencedFragments=new Map,this._onError=tee}get[Symbol.toStringTag](){return"ASTValidationContext"}reportError(eee){this._onError(eee)}getDocument(){return this._ast}getFragment(eee){let tee;if(this._fragments)tee=this._fragments;else{tee=Object.create(null);for(const eee of this.getDocument().definitions)eee.kind===Nue.FRAGMENT_DEFINITION&&(tee[eee.name.value]=eee);this._fragments=tee}return tee[eee]}getFragmentSpreads(eee){let tee=this._fragmentSpreads.get(eee);if(!tee){tee=[];const ree=[eee];let oee;for(;oee=ree.pop();)for(const eee of oee.selections)eee.kind===Nue.FRAGMENT_SPREAD?tee.push(eee):eee.selectionSet&&ree.push(eee.selectionSet);this._fragmentSpreads.set(eee,tee)}return tee}getRecursivelyReferencedFragments(eee){let tee=this._recursivelyReferencedFragments.get(eee);if(!tee){tee=[];const ree=Object.create(null),oee=[eee.selectionSet];let nee;for(;nee=oee.pop();)for(const eee of this.getFragmentSpreads(nee)){const nee=eee.name.value;if(!0!==ree[nee]){ree[nee]=!0;const eee=this.getFragment(nee);eee&&(tee.push(eee),oee.push(eee.selectionSet))}}this._recursivelyReferencedFragments.set(eee,tee)}return tee}}class mbe extends bbe{constructor(eee,tee,ree){super(eee,ree),this._schema=tee}get[Symbol.toStringTag](){return"SDLValidationContext"}getSchema(){return this._schema}}class vbe extends bbe{constructor(eee,tee,ree,oee){super(tee,oee),this._schema=eee,this._typeInfo=ree,this._variableUsages=new Map,this._recursiveVariableUsages=new Map}get[Symbol.toStringTag](){return"ValidationContext"}getSchema(){return this._schema}getVariableUsages(eee){let tee=this._variableUsages.get(eee);if(!tee){const ree=[],oee=new qwe(this._schema);zhe(eee,Ywe(oee,{VariableDefinition:()=>!1,Variable(eee){ree.push({node:eee,type:oee.getInputType(),defaultValue:oee.getDefaultValue()})}})),tee=ree,this._variableUsages.set(eee,tee)}return tee}getRecursiveVariableUsages(eee){let tee=this._recursiveVariableUsages.get(eee);if(!tee){tee=this.getVariableUsages(eee);for(const ree of this.getRecursivelyReferencedFragments(eee))tee=tee.concat(this.getVariableUsages(ree));this._recursiveVariableUsages.set(eee,tee)}return tee}getType(){return this._typeInfo.getType()}getParentType(){return this._typeInfo.getParentType()}getInputType(){return this._typeInfo.getInputType()}getParentInputType(){return this._typeInfo.getParentInputType()}getFieldDef(){return this._typeInfo.getFieldDef()}getDirective(){return this._typeInfo.getDirective()}getArgument(){return this._typeInfo.getArgument()}getEnumValue(){return this._typeInfo.getEnumValue()}}function ybe(eee,tee,ree=wbe,oee,nee=new qwe(eee)){var aee;const iee=null!==(aee=null==oee?void 0:oee.maxErrors)&&void 0!==aee?aee:100;tee||pue(!1,"Must provide document."),Owe(eee);const see=Object.freeze({}),lee=[],cee=new vbe(eee,tee,nee,(eee=>{if(lee.length>=iee)throw lee.push(new vue("Too many validation errors, error limit reached. Validation aborted.")),see;lee.push(eee)})),pee=Mhe(ree.map((eee=>eee(cee))));try{zhe(tee,Ywe(nee,pee))}catch(e){if(e!==see)throw e}return lee}function xbe(eee,tee,ree=fbe){const oee=[],nee=new mbe(eee,tee,(eee=>{oee.push(eee)}));return zhe(eee,Mhe(ree.map((eee=>eee(nee))))),oee}function kbe(eee){return Promise.all(Object.values(eee)).then((tee=>{const ree=Object.create(null);for(const[i,oee]of Object.keys(eee).entries())ree[oee]=tee[i];return ree}))}class _be extends Error{constructor(eee){super("Unexpected error value: "+lhe(eee)),this.name="NonErrorThrown",this.thrownValue=eee}}function Ebe(eee,tee,ree){var oee;const nee=(aee=eee)instanceof Error?aee:new _be(aee);var aee,iee;return iee=nee,Array.isArray(iee.path)?nee:new vue(nee.message,{nodes:null!==(oee=nee.nodes)&&void 0!==oee?oee:tee,source:nee.source,positions:nee.positions,path:ree,originalError:nee})}const Tbe=function(fn){let eee;return function(a1,a2,a3){void 0===eee&&(eee=new WeakMap);let tee=eee.get(a1);void 0===tee&&(tee=new WeakMap,eee.set(a1,tee));let ree=tee.get(a2);void 0===ree&&(ree=new WeakMap,tee.set(a2,ree));let oee=ree.get(a3);return void 0===oee&&(oee=fn(a1,a2,a3),ree.set(a3,oee)),oee}}(((eee,tee,ree)=>function(eee,tee,ree,oee,nee){const aee=new Map,iee=new Set;for(const see of nee)see.selectionSet&&Gfe(eee,tee,ree,oee,see.selectionSet,aee,iee);return aee}(eee.schema,eee.fragments,eee.variableValues,tee,ree)));function Sbe(eee){arguments.length<2||pue(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");const{schema:tee,document:ree,variableValues:oee,rootValue:nee}=eee;Nbe(tee,ree,oee);const aee=Abe(eee);if(!("schema"in aee))return{errors:aee};try{const{operation:eee}=aee,tee=function(eee,tee,ree){const oee=eee.schema.getRootType(tee.operation);if(null==oee)throw new vue(`Schema is not configured to execute ${tee.operation} operation.`,{nodes:tee});const nee=Yfe(eee.schema,eee.fragments,eee.variableValues,oee,tee.selectionSet),aee=void 0;switch(tee.operation){case Iue.QUERY:return Rbe(eee,oee,ree,aee,nee);case Iue.MUTATION:return function(eee,tee,ree,oee,nee){return function(eee,tee,ree){let oee=ree;for(const nee of eee)oee=due(oee)?oee.then((eee=>tee(eee,nee))):tee(oee,nee);return oee}(nee.entries(),((nee,[aee,iee])=>{const see=Lfe(oee,aee,tee.name),lee=Dbe(eee,tee,ree,iee,see);return void 0===lee?nee:due(lee)?lee.then((eee=>(nee[aee]=eee,nee))):(nee[aee]=lee,nee)}),Object.create(null))}(eee,oee,ree,aee,nee);case Iue.SUBSCRIPTION:return Rbe(eee,oee,ree,aee,nee)}}(aee,eee,nee);return due(tee)?tee.then((eee=>Obe(eee,aee.errors)),(eee=>(aee.errors.push(eee),Obe(null,aee.errors)))):Obe(tee,aee.errors)}catch(iee){return aee.errors.push(iee),Obe(null,aee.errors)}}function Ibe(eee){const tee=Sbe(eee);if(due(tee))throw new Error("GraphQL execution failed to complete synchronously.");return tee}function Obe(eee,tee){return 0===tee.length?{data:eee}:{errors:tee,data:eee}}function Nbe(eee,tee,ree){tee||pue(!1,"Must provide document."),Owe(eee),null==ree||uue(ree)||pue(!1,"Variables must be provided as an Object where each property is a variable value. Perhaps look to see if an unparsed JSON string was provided.")}function Abe(eee){var tee,ree;const{schema:oee,document:nee,rootValue:aee,contextValue:iee,variableValues:see,operationName:lee,fieldResolver:cee,typeResolver:pee,subscribeFieldResolver:dee}=eee;let uee;const hee=Object.create(null);for(const wee of nee.definitions)switch(wee.kind){case Nue.OPERATION_DEFINITION:if(null==lee){if(void 0!==uee)return[new vue("Must provide operation name if query contains multiple operations.")];uee=wee}else(null===(tee=wee.name)||void 0===tee?void 0:tee.value)===lee&&(uee=wee);break;case Nue.FRAGMENT_DEFINITION:hee[wee.name.value]=wee}if(!uee)return null!=lee?[new vue(`Unknown operation named "${lee}".`)]:[new vue("Must provide an operation.")];const gee=$fe(oee,null!==(ree=uee.variableDefinitions)&&void 0!==ree?ree:[],null!=see?see:{},{maxErrors:50});return gee.errors?gee.errors:{schema:oee,fragments:hee,rootValue:aee,contextValue:iee,operation:uee,variableValues:gee.coerced,fieldResolver:null!=cee?cee:jbe,typeResolver:null!=pee?pee:Ube,subscribeFieldResolver:null!=dee?dee:jbe,errors:[]}}function Rbe(eee,tee,ree,oee,nee){const aee=Object.create(null);let iee=!1;try{for(const[see,lee]of nee.entries()){const nee=Dbe(eee,tee,ree,lee,Lfe(oee,see,tee.name));void 0!==nee&&(aee[see]=nee,due(nee)&&(iee=!0))}}catch(see){if(iee)return kbe(aee).finally((()=>{throw see}));throw see}return iee?kbe(aee):aee}function Dbe(eee,tee,ree,oee,nee){var aee;const iee=$be(eee.schema,tee,oee[0]);if(!iee)return;const see=iee.type,lee=null!==(aee=iee.resolve)&&void 0!==aee?aee:eee.fieldResolver,cee=Cbe(eee,iee,oee,tee,nee);try{const tee=Vfe(iee,oee[0],eee.variableValues),aee=lee(ree,tee,eee.contextValue,cee);let pee;return pee=due(aee)?aee.then((tee=>Fbe(eee,see,oee,cee,nee,tee))):Fbe(eee,see,oee,cee,nee,aee),due(pee)?pee.then(void 0,(tee=>Lbe(Ebe(tee,oee,Ffe(nee)),see,eee))):pee}catch(pee){return Lbe(Ebe(pee,oee,Ffe(nee)),see,eee)}}function Cbe(eee,tee,ree,oee,nee){return{fieldName:tee.name,fieldNodes:ree,returnType:tee.type,parentType:oee,path:nee,schema:eee.schema,fragments:eee.fragments,rootValue:eee.rootValue,operation:eee.operation,variableValues:eee.variableValues}}function Lbe(eee,tee,ree){if(age(tee))throw eee;return ree.errors.push(eee),null}function Fbe(eee,tee,ree,oee,nee,aee){if(aee instanceof Error)throw aee;if(age(tee)){const iee=Fbe(eee,tee.ofType,ree,oee,nee,aee);if(null===iee)throw new Error(`Cannot return null for non-nullable field ${oee.parentType.name}.${oee.fieldName}.`);return iee}return null==aee?null:nge(tee)?function(eee,tee,ree,oee,nee,aee){if(!iwe(aee))throw new vue(`Expected Iterable, but did not find one for field "${oee.parentType.name}.${oee.fieldName}".`);const iee=tee.ofType;let see=!1;const lee=Array.from(aee,((tee,aee)=>{const lee=Lfe(nee,aee,void 0);try{let nee;return nee=due(tee)?tee.then((tee=>Fbe(eee,iee,ree,oee,lee,tee))):Fbe(eee,iee,ree,oee,lee,tee),due(nee)?(see=!0,nee.then(void 0,(tee=>Lbe(Ebe(tee,ree,Ffe(lee)),iee,eee)))):nee}catch(cee){return Lbe(Ebe(cee,ree,Ffe(lee)),iee,eee)}}));return see?Promise.all(lee):lee}(eee,tee,ree,oee,nee,aee):lge(tee)?function(eee,tee){const ree=eee.serialize(tee);if(null==ree)throw new Error(`Expected \`${lhe(eee)}.serialize(${lhe(tee)})\` to return non-nullable value, returned: ${lhe(ree)}`);return ree}(tee,aee):pge(tee)?function(eee,tee,ree,oee,nee,aee){var iee;const see=null!==(iee=tee.resolveType)&&void 0!==iee?iee:eee.typeResolver,lee=eee.contextValue,cee=see(aee,lee,oee,tee);if(due(cee))return cee.then((iee=>Mbe(eee,zbe(iee,eee,tee,ree,oee,aee),ree,oee,nee,aee)));return Mbe(eee,zbe(cee,eee,tee,ree,oee,aee),ree,oee,nee,aee)}(eee,tee,ree,oee,nee,aee):Xhe(tee)?Mbe(eee,tee,ree,oee,nee,aee):void hue(!1,"Cannot complete value of unexpected output type: "+lhe(tee))}function zbe(eee,tee,ree,oee,nee,aee){if(null==eee)throw new vue(`Abstract type "${ree.name}" must resolve to an Object type at runtime for field "${nee.parentType.name}.${nee.fieldName}". Either the "${ree.name}" type should provide a "resolveType" function or each possible type should provide an "isTypeOf" function.`,oee);if(Xhe(eee))throw new vue("Support for returning GraphQLObjectType from resolveType was removed in graphql-js@16.0.0 please return type name instead.");if("string"!=typeof eee)throw new vue(`Abstract type "${ree.name}" must resolve to an Object type at runtime for field "${nee.parentType.name}.${nee.fieldName}" with value ${lhe(aee)}, received "${lhe(eee)}".`);const iee=tee.schema.getType(eee);if(null==iee)throw new vue(`Abstract type "${ree.name}" was resolved to a type "${eee}" that does not exist inside the schema.`,{nodes:oee});if(!Xhe(iee))throw new vue(`Abstract type "${ree.name}" was resolved to a non-object type "${eee}".`,{nodes:oee});if(!tee.schema.isSubType(ree,iee))throw new vue(`Runtime Object type "${iee.name}" is not a possible type for "${ree.name}".`,{nodes:oee});return iee}function Mbe(eee,tee,ree,oee,nee,aee){const iee=Tbe(eee,tee,ree);if(tee.isTypeOf){const see=tee.isTypeOf(aee,eee.contextValue,oee);if(due(see))return see.then((oee=>{if(!oee)throw Pbe(tee,aee,ree);return Rbe(eee,tee,aee,nee,iee)}));if(!see)throw Pbe(tee,aee,ree)}return Rbe(eee,tee,aee,nee,iee)}function Pbe(eee,tee,ree){return new vue(`Expected value of type "${eee.name}" but got: ${lhe(tee)}.`,{nodes:ree})}const Ube=function(eee,tee,ree,oee){if(uue(eee)&&"string"==typeof eee.__typename)return eee.__typename;const nee=ree.schema.getPossibleTypes(oee),aee=[];for(let i=0;i{for(let i=0;i0)return{errors:cee};let pee;try{pee=hhe(ree)}catch(xue){return{errors:[xue]}}const dee=ybe(tee,pee);return dee.length>0?{errors:dee}:Sbe({schema:tee,document:pee,rootValue:oee,contextValue:nee,variableValues:aee,operationName:iee,fieldResolver:see,typeResolver:lee})}function qbe(eee){return"function"==typeof(null==eee?void 0:eee[Symbol.asyncIterator])}async function Bbe(...eee){const tee=function(eee){const tee=eee[0];return tee&&"document"in tee?tee:{schema:tee,document:eee[1],rootValue:eee[2],contextValue:eee[3],variableValues:eee[4],operationName:eee[5],subscribeFieldResolver:eee[6]}}(eee),{schema:ree,document:oee,variableValues:nee}=tee;Nbe(ree,oee,nee);const aee=Abe(tee);if(!("schema"in aee))return{errors:aee};try{const eee=await async function(eee){const{schema:tee,fragments:ree,operation:oee,variableValues:nee,rootValue:aee}=eee,iee=tee.getSubscriptionType();if(null==iee)throw new vue("Schema is not configured to execute subscription operation.",{nodes:oee});const see=Yfe(tee,ree,nee,iee,oee.selectionSet),[lee,cee]=[...see.entries()][0],pee=$be(tee,iee,cee[0]);if(!pee){const eee=cee[0].name.value;throw new vue(`The subscription field "${eee}" is not defined.`,{nodes:cee})}const dee=Lfe(void 0,lee,iee.name),uee=Cbe(eee,pee,cee,iee,dee);try{var hee;const tee=Vfe(pee,cee[0],nee),ree=eee.contextValue,oee=null!==(hee=pee.subscribe)&&void 0!==hee?hee:eee.subscribeFieldResolver,iee=await oee(aee,tee,ree,uee);if(iee instanceof Error)throw iee;return iee}catch(gee){throw Ebe(gee,cee,Ffe(dee))}}(aee);if(!qbe(eee))throw new Error(`Subscription field must return Async Iterable. Received: ${lhe(eee)}.`);return eee}catch(iee){if(iee instanceof vue)return{errors:[iee]};throw iee}}function Ybe(eee){const tee={descriptions:!0,specifiedByUrl:!1,directiveIsRepeatable:!1,schemaDescription:!1,inputValueDeprecation:!1,...eee},ree=tee.descriptions?"description":"",oee=tee.specifiedByUrl?"specifiedByURL":"",nee=tee.directiveIsRepeatable?"isRepeatable":"";function aee(eee){return tee.inputValueDeprecation?eee:""}return`\n query IntrospectionQuery {\n __schema {\n ${tee.schemaDescription?ree:""}\n queryType { name }\n mutationType { name }\n subscriptionType { name }\n types {\n ...FullType\n }\n directives {\n name\n ${ree}\n ${nee}\n locations\n args${aee("(includeDeprecated: true)")} {\n ...InputValue\n }\n }\n }\n }\n\n fragment FullType on __Type {\n kind\n name\n ${ree}\n ${oee}\n fields(includeDeprecated: true) {\n name\n ${ree}\n args${aee("(includeDeprecated: true)")} {\n ...InputValue\n }\n type {\n ...TypeRef\n }\n isDeprecated\n deprecationReason\n }\n inputFields${aee("(includeDeprecated: true)")} {\n ...InputValue\n }\n interfaces {\n ...TypeRef\n }\n enumValues(includeDeprecated: true) {\n name\n ${ree}\n isDeprecated\n deprecationReason\n }\n possibleTypes {\n ...TypeRef\n }\n }\n\n fragment InputValue on __InputValue {\n name\n ${ree}\n type { ...TypeRef }\n defaultValue\n ${aee("isDeprecated")}\n ${aee("deprecationReason")}\n }\n\n fragment TypeRef on __Type {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n ofType {\n kind\n name\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n `}function Gbe(eee,tee,ree){var oee,nee,aee,iee;const see=[],lee=Object.create(null),cee=[];let pee;const dee=[];for(const Aee of tee.definitions)if(Aee.kind===Nue.SCHEMA_DEFINITION)pee=Aee;else if(Aee.kind===Nue.SCHEMA_EXTENSION)dee.push(Aee);else if(Kwe(Aee))see.push(Aee);else if(Xwe(Aee)){const eee=Aee.name.value,tee=lee[eee];lee[eee]=tee?tee.concat([Aee]):[Aee]}else Aee.kind===Nue.DIRECTIVE_DEFINITION&&cee.push(Aee);if(0===Object.keys(lee).length&&0===see.length&&0===cee.length&&0===dee.length&&null==pee)return eee;const uee=Object.create(null);for(const Aee of eee.types)uee[Aee.name]=bee(Aee);for(const Aee of see){var hee;const eee=Aee.name.value;uee[eee]=null!==(hee=Qbe[eee])&&void 0!==hee?hee:Nee(Aee)}const gee={query:eee.query&&fee(eee.query),mutation:eee.mutation&&fee(eee.mutation),subscription:eee.subscription&&fee(eee.subscription),...pee&&yee([pee]),...yee(dee)};return{description:null===(oee=pee)||void 0===oee||null===(nee=oee.description)||void 0===nee?void 0:nee.value,...gee,types:Object.values(uee),directives:[...eee.directives.map((function(eee){const tee=eee.toConfig();return new Zge({...tee,args:_he(tee.args,vee)})})),...cee.map((function(eee){var tee;return new Zge({name:eee.name.value,description:null===(tee=eee.description)||void 0===tee?void 0:tee.value,locations:eee.locations.map((({value:eee})=>eee)),isRepeatable:eee.repeatable,args:Eee(eee.arguments),astNode:eee})}))],extensions:Object.create(null),astNode:null!==(aee=pee)&&void 0!==aee?aee:eee.astNode,extensionASTNodes:eee.extensionASTNodes.concat(dee),assumeValid:null!==(iee=null==ree?void 0:ree.assumeValid)&&void 0!==iee&&iee};function wee(eee){return nge(eee)?new dge(wee(eee.ofType)):age(eee)?new uge(wee(eee.ofType)):fee(eee)}function fee(eee){return uee[eee.name]}function bee(eee){return kwe(eee)||Kge(eee)?eee:Hhe(eee)?function(eee){var tee;const ree=eee.toConfig(),oee=null!==(tee=lee[ree.name])&&void 0!==tee?tee:[];let nee=ree.specifiedByURL;for(const iee of oee){var aee;nee=null!==(aee=Kbe(iee))&&void 0!==aee?aee:nee}return new xge({...ree,specifiedByURL:nee,extensionASTNodes:ree.extensionASTNodes.concat(oee)})}(eee):Xhe(eee)?function(eee){var tee;const ree=eee.toConfig(),oee=null!==(tee=lee[ree.name])&&void 0!==tee?tee:[];return new kge({...ree,interfaces:()=>[...eee.getInterfaces().map(fee),...Iee(oee)],fields:()=>({..._he(ree.fields,mee),..._ee(oee)}),extensionASTNodes:ree.extensionASTNodes.concat(oee)})}(eee):Jhe(eee)?function(eee){var tee;const ree=eee.toConfig(),oee=null!==(tee=lee[ree.name])&&void 0!==tee?tee:[];return new Age({...ree,interfaces:()=>[...eee.getInterfaces().map(fee),...Iee(oee)],fields:()=>({..._he(ree.fields,mee),..._ee(oee)}),extensionASTNodes:ree.extensionASTNodes.concat(oee)})}(eee):tge(eee)?function(eee){var tee;const ree=eee.toConfig(),oee=null!==(tee=lee[ree.name])&&void 0!==tee?tee:[];return new Rge({...ree,types:()=>[...eee.getTypes().map(fee),...Oee(oee)],extensionASTNodes:ree.extensionASTNodes.concat(oee)})}(eee):rge(eee)?function(eee){var tee;const ree=eee.toConfig(),oee=null!==(tee=lee[eee.name])&&void 0!==tee?tee:[];return new Cge({...ree,values:{...ree.values,...See(oee)},extensionASTNodes:ree.extensionASTNodes.concat(oee)})}(eee):oge(eee)?function(eee){var tee;const ree=eee.toConfig(),oee=null!==(tee=lee[ree.name])&&void 0!==tee?tee:[];return new Fge({...ree,fields:()=>({..._he(ree.fields,(eee=>({...eee,type:wee(eee.type)}))),...Tee(oee)}),extensionASTNodes:ree.extensionASTNodes.concat(oee)})}(eee):void hue(!1,"Unexpected type: "+lhe(eee))}function mee(eee){return{...eee,type:wee(eee.type),args:eee.args&&_he(eee.args,vee)}}function vee(eee){return{...eee,type:wee(eee.type)}}function yee(eee){const tee={};for(const oee of eee){var ree;const eee=null!==(ree=oee.operationTypes)&&void 0!==ree?ree:[];for(const ree of eee)tee[ree.operation]=xee(ree.type)}return tee}function xee(eee){var tee;const ree=eee.name.value,oee=null!==(tee=Qbe[ree])&&void 0!==tee?tee:uee[ree];if(void 0===oee)throw new Error(`Unknown type: "${ree}".`);return oee}function kee(eee){return eee.kind===Nue.LIST_TYPE?new dge(kee(eee.type)):eee.kind===Nue.NON_NULL_TYPE?new uge(kee(eee.type)):xee(eee)}function _ee(eee){const tee=Object.create(null);for(const nee of eee){var ree;const eee=null!==(ree=nee.fields)&&void 0!==ree?ree:[];for(const ree of eee){var oee;tee[ree.name.value]={type:kee(ree.type),description:null===(oee=ree.description)||void 0===oee?void 0:oee.value,args:Eee(ree.arguments),deprecationReason:Wbe(ree),astNode:ree}}}return tee}function Eee(eee){const tee=null!=eee?eee:[],ree=Object.create(null);for(const nee of tee){var oee;const eee=kee(nee.type);ree[nee.name.value]={type:eee,description:null===(oee=nee.description)||void 0===oee?void 0:oee.value,defaultValue:Ufe(nee.defaultValue,eee),deprecationReason:Wbe(nee),astNode:nee}}return ree}function Tee(eee){const tee=Object.create(null);for(const nee of eee){var ree;const eee=null!==(ree=nee.fields)&&void 0!==ree?ree:[];for(const ree of eee){var oee;const eee=kee(ree.type);tee[ree.name.value]={type:eee,description:null===(oee=ree.description)||void 0===oee?void 0:oee.value,defaultValue:Ufe(ree.defaultValue,eee),deprecationReason:Wbe(ree),astNode:ree}}}return tee}function See(eee){const tee=Object.create(null);for(const nee of eee){var ree;const eee=null!==(ree=nee.values)&&void 0!==ree?ree:[];for(const ree of eee){var oee;tee[ree.name.value]={description:null===(oee=ree.description)||void 0===oee?void 0:oee.value,deprecationReason:Wbe(ree),astNode:ree}}}return tee}function Iee(eee){return eee.flatMap((eee=>{var tee,ree;return null!==(tee=null===(ree=eee.interfaces)||void 0===ree?void 0:ree.map(xee))&&void 0!==tee?tee:[]}))}function Oee(eee){return eee.flatMap((eee=>{var tee,ree;return null!==(tee=null===(ree=eee.types)||void 0===ree?void 0:ree.map(xee))&&void 0!==tee?tee:[]}))}function Nee(eee){var tee;const ree=eee.name.value,oee=null!==(tee=lee[ree])&&void 0!==tee?tee:[];switch(eee.kind){case Nue.OBJECT_TYPE_DEFINITION:{var nee;const tee=[eee,...oee];return new kge({name:ree,description:null===(nee=eee.description)||void 0===nee?void 0:nee.value,interfaces:()=>Iee(tee),fields:()=>_ee(tee),astNode:eee,extensionASTNodes:oee})}case Nue.INTERFACE_TYPE_DEFINITION:{var aee;const tee=[eee,...oee];return new Age({name:ree,description:null===(aee=eee.description)||void 0===aee?void 0:aee.value,interfaces:()=>Iee(tee),fields:()=>_ee(tee),astNode:eee,extensionASTNodes:oee})}case Nue.ENUM_TYPE_DEFINITION:{var iee;const tee=[eee,...oee];return new Cge({name:ree,description:null===(iee=eee.description)||void 0===iee?void 0:iee.value,values:See(tee),astNode:eee,extensionASTNodes:oee})}case Nue.UNION_TYPE_DEFINITION:{var see;const tee=[eee,...oee];return new Rge({name:ree,description:null===(see=eee.description)||void 0===see?void 0:see.value,types:()=>Oee(tee),astNode:eee,extensionASTNodes:oee})}case Nue.SCALAR_TYPE_DEFINITION:var cee;return new xge({name:ree,description:null===(cee=eee.description)||void 0===cee?void 0:cee.value,specifiedByURL:Kbe(eee),astNode:eee,extensionASTNodes:oee});case Nue.INPUT_OBJECT_TYPE_DEFINITION:{var pee;const tee=[eee,...oee];return new Fge({name:ree,description:null===(pee=eee.description)||void 0===pee?void 0:pee.value,fields:()=>Tee(tee),astNode:eee,extensionASTNodes:oee})}}}}const Qbe=xhe([...Wge,...xwe],(eee=>eee.name));function Wbe(eee){const tee=qfe(rwe,eee);return null==tee?void 0:tee.reason}function Kbe(eee){const tee=qfe(owe,eee);return null==tee?void 0:tee.url}function Hbe(eee,tee){null!=eee&&eee.kind===Nue.DOCUMENT||pue(!1,"Must provide valid Document AST."),!0!==(null==tee?void 0:tee.assumeValid)&&!0!==(null==tee?void 0:tee.assumeValidSDL)&&function(eee){const tee=xbe(eee);if(0!==tee.length)throw new Error(tee.map((eee=>eee.message)).join("\n\n"))}(eee);const ree=Gbe({description:void 0,types:[],directives:[],extensions:Object.create(null),extensionASTNodes:[],assumeValid:!1},eee,tee);if(null==ree.astNode)for(const nee of ree.types)switch(nee.name){case"Query":ree.query=nee;break;case"Mutation":ree.mutation=nee;break;case"Subscription":ree.subscription=nee}const oee=[...ree.directives,...nwe.filter((eee=>ree.directives.every((tee=>tee.name!==eee.name))))];return new Twe({...ree,directives:oee})}function Xbe(eee,tee){const ree=Object.create(null);for(const oee of Object.keys(eee).sort(Ehe))ree[oee]=tee(eee[oee]);return ree}function Zbe(eee){return Jbe(eee,(eee=>eee.name))}function Jbe(eee,tee){return eee.slice().sort(((eee,ree)=>Ehe(tee(eee),tee(ree))))}function eme(eee){return!Kge(eee)&&!kwe(eee)}function tme(eee,tee,ree){const oee=eee.getDirectives().filter(tee),nee=Object.values(eee.getTypeMap()).filter(ree);return[rme(eee),...oee.map((eee=>function(eee){return pme(eee)+"directive @"+eee.name+sme(eee.args)+(eee.isRepeatable?" repeatable":"")+" on "+eee.locations.join(" | ")}(eee))),...nee.map((eee=>ome(eee)))].filter(Boolean).join("\n\n")}function rme(eee){if(null==eee.description&&function(eee){const tee=eee.getQueryType();if(tee&&"Query"!==tee.name)return!1;const ree=eee.getMutationType();if(ree&&"Mutation"!==ree.name)return!1;const oee=eee.getSubscriptionType();if(oee&&"Subscription"!==oee.name)return!1;return!0}(eee))return;const tee=[],ree=eee.getQueryType();ree&&tee.push(` query: ${ree.name}`);const oee=eee.getMutationType();oee&&tee.push(` mutation: ${oee.name}`);const nee=eee.getSubscriptionType();return nee&&tee.push(` subscription: ${nee.name}`),pme(eee)+`schema {\n${tee.join("\n")}\n}`}function ome(eee){return Hhe(eee)?function(eee){return pme(eee)+`scalar ${eee.name}`+function(eee){if(null==eee.specifiedByURL)return"";return` @specifiedBy(url: ${Uhe({kind:Nue.STRING,value:eee.specifiedByURL})})`}(eee)}(eee):Xhe(eee)?function(eee){return pme(eee)+`type ${eee.name}`+nme(eee)+ame(eee)}(eee):Jhe(eee)?function(eee){return pme(eee)+`interface ${eee.name}`+nme(eee)+ame(eee)}(eee):tge(eee)?function(eee){const tee=eee.getTypes(),ree=tee.length?" = "+tee.join(" | "):"";return pme(eee)+"union "+eee.name+ree}(eee):rge(eee)?function(eee){const tee=eee.getValues().map(((eee,i)=>pme(eee," ",!i)+" "+eee.name+cme(eee.deprecationReason)));return pme(eee)+`enum ${eee.name}`+ime(tee)}(eee):oge(eee)?function(eee){const tee=Object.values(eee.getFields()).map(((f,i)=>pme(f," ",!i)+" "+lme(f)));return pme(eee)+`input ${eee.name}`+ime(tee)}(eee):void hue(!1,"Unexpected type: "+lhe(eee))}function nme(eee){const tee=eee.getInterfaces();return tee.length?" implements "+tee.map((i=>i.name)).join(" & "):""}function ame(eee){const tee=Object.values(eee.getFields()).map(((f,i)=>pme(f," ",!i)+" "+f.name+sme(f.args," ")+": "+String(f.type)+cme(f.deprecationReason)));return ime(tee)}function ime(eee){return 0!==eee.length?" {\n"+eee.join("\n")+"\n}":""}function sme(eee,tee=""){return 0===eee.length?"":eee.every((eee=>!eee.description))?"("+eee.map(lme).join(", ")+")":"(\n"+eee.map(((eee,i)=>pme(eee," "+tee,!i)+" "+tee+lme(eee))).join("\n")+"\n"+tee+")"}function lme(eee){const tee=swe(eee.defaultValue,eee.type);let ree=eee.name+": "+String(eee.type);return tee&&(ree+=` = ${Uhe(tee)}`),ree+cme(eee.deprecationReason)}function cme(eee){if(null==eee)return"";if(eee!==twe){return` @deprecated(reason: ${Uhe({kind:Nue.STRING,value:eee})})`}return" @deprecated"}function pme(eee,tee="",ree=!0){const{description:oee}=eee;if(null==oee)return"";return(tee&&!ree?"\n"+tee:tee)+Uhe({kind:Nue.STRING,value:oee,block:Pue(oee)}).replace(/\n/g,"\n"+tee)+"\n"}function dme(eee,tee,ree){if(!eee.has(ree)){eee.add(ree);const oee=tee[ree];if(void 0!==oee)for(const ree of oee)dme(eee,tee,ree)}}function ume(eee){const tee=[];return zhe(eee,{FragmentSpread(eee){tee.push(eee.name.value)}}),tee}function hme(eee){if("string"==typeof eee||pue(!1,"Expected name to be a string."),eee.startsWith("__"))return new vue(`Name "${eee}" must not begin with "__", which is reserved by GraphQL introspection.`);try{Qhe(eee)}catch(tee){return tee}}var gme,wme;function fme(eee,tee){return[...mme(eee,tee),...bme(eee,tee)]}function bme(eee,tee){const ree=[],oee=Nme(eee.getDirectives(),tee.getDirectives());for(const nee of oee.removed)ree.push({type:gme.DIRECTIVE_REMOVED,description:`${nee.name} was removed.`});for(const[nee,aee]of oee.persisted){const eee=Nme(nee.args,aee.args);for(const tee of eee.added)Nge(tee)&&ree.push({type:gme.REQUIRED_DIRECTIVE_ARG_ADDED,description:`A required arg ${tee.name} on directive ${nee.name} was added.`});for(const tee of eee.removed)ree.push({type:gme.DIRECTIVE_ARG_REMOVED,description:`${tee.name} was removed from ${nee.name}.`});nee.isRepeatable&&!aee.isRepeatable&&ree.push({type:gme.DIRECTIVE_REPEATABLE_REMOVED,description:`Repeatable flag was removed from ${nee.name}.`});for(const tee of nee.locations)aee.locations.includes(tee)||ree.push({type:gme.DIRECTIVE_LOCATION_REMOVED,description:`${tee} was removed from ${nee.name}.`})}return ree}function mme(eee,tee){const ree=[],oee=Nme(Object.values(eee.getTypeMap()),Object.values(tee.getTypeMap()));for(const nee of oee.removed)ree.push({type:gme.TYPE_REMOVED,description:Kge(nee)?`Standard scalar ${nee.name} was removed because it is not referenced anymore.`:`${nee.name} was removed.`});for(const[nee,aee]of oee.persisted)rge(nee)&&rge(aee)?ree.push(...xme(nee,aee)):tge(nee)&&tge(aee)?ree.push(...yme(nee,aee)):oge(nee)&&oge(aee)?ree.push(...vme(nee,aee)):Xhe(nee)&&Xhe(aee)||Jhe(nee)&&Jhe(aee)?ree.push(..._me(nee,aee),...kme(nee,aee)):nee.constructor!==aee.constructor&&ree.push({type:gme.TYPE_CHANGED_KIND,description:`${nee.name} changed from ${Ime(nee)} to ${Ime(aee)}.`});return ree}function vme(eee,tee){const ree=[],oee=Nme(Object.values(eee.getFields()),Object.values(tee.getFields()));for(const nee of oee.added)Mge(nee)?ree.push({type:gme.REQUIRED_INPUT_FIELD_ADDED,description:`A required field ${nee.name} on input type ${eee.name} was added.`}):ree.push({type:wme.OPTIONAL_INPUT_FIELD_ADDED,description:`An optional field ${nee.name} on input type ${eee.name} was added.`});for(const nee of oee.removed)ree.push({type:gme.FIELD_REMOVED,description:`${eee.name}.${nee.name} was removed.`});for(const[nee,aee]of oee.persisted){Sme(nee.type,aee.type)||ree.push({type:gme.FIELD_CHANGED_KIND,description:`${eee.name}.${nee.name} changed type from ${String(nee.type)} to ${String(aee.type)}.`})}return ree}function yme(eee,tee){const ree=[],oee=Nme(eee.getTypes(),tee.getTypes());for(const nee of oee.added)ree.push({type:wme.TYPE_ADDED_TO_UNION,description:`${nee.name} was added to union type ${eee.name}.`});for(const nee of oee.removed)ree.push({type:gme.TYPE_REMOVED_FROM_UNION,description:`${nee.name} was removed from union type ${eee.name}.`});return ree}function xme(eee,tee){const ree=[],oee=Nme(eee.getValues(),tee.getValues());for(const nee of oee.added)ree.push({type:wme.VALUE_ADDED_TO_ENUM,description:`${nee.name} was added to enum type ${eee.name}.`});for(const nee of oee.removed)ree.push({type:gme.VALUE_REMOVED_FROM_ENUM,description:`${nee.name} was removed from enum type ${eee.name}.`});return ree}function kme(eee,tee){const ree=[],oee=Nme(eee.getInterfaces(),tee.getInterfaces());for(const nee of oee.added)ree.push({type:wme.IMPLEMENTED_INTERFACE_ADDED,description:`${nee.name} added to interfaces implemented by ${eee.name}.`});for(const nee of oee.removed)ree.push({type:gme.IMPLEMENTED_INTERFACE_REMOVED,description:`${eee.name} no longer implements interface ${nee.name}.`});return ree}function _me(eee,tee){const ree=[],oee=Nme(Object.values(eee.getFields()),Object.values(tee.getFields()));for(const nee of oee.removed)ree.push({type:gme.FIELD_REMOVED,description:`${eee.name}.${nee.name} was removed.`});for(const[nee,aee]of oee.persisted){ree.push(...Eme(eee,nee,aee));Tme(nee.type,aee.type)||ree.push({type:gme.FIELD_CHANGED_KIND,description:`${eee.name}.${nee.name} changed type from ${String(nee.type)} to ${String(aee.type)}.`})}return ree}function Eme(eee,tee,ree){const oee=[],nee=Nme(tee.args,ree.args);for(const aee of nee.removed)oee.push({type:gme.ARG_REMOVED,description:`${eee.name}.${tee.name} arg ${aee.name} was removed.`});for(const[aee,iee]of nee.persisted){if(Sme(aee.type,iee.type)){if(void 0!==aee.defaultValue)if(void 0===iee.defaultValue)oee.push({type:wme.ARG_DEFAULT_VALUE_CHANGE,description:`${eee.name}.${tee.name} arg ${aee.name} defaultValue was removed.`});else{const ree=Ome(aee.defaultValue,aee.type),nee=Ome(iee.defaultValue,iee.type);ree!==nee&&oee.push({type:wme.ARG_DEFAULT_VALUE_CHANGE,description:`${eee.name}.${tee.name} arg ${aee.name} has changed defaultValue from ${ree} to ${nee}.`})}}else oee.push({type:gme.ARG_CHANGED_KIND,description:`${eee.name}.${tee.name} arg ${aee.name} has changed type from ${String(aee.type)} to ${String(iee.type)}.`})}for(const aee of nee.added)Nge(aee)?oee.push({type:gme.REQUIRED_ARG_ADDED,description:`A required arg ${aee.name} on ${eee.name}.${tee.name} was added.`}):oee.push({type:wme.OPTIONAL_ARG_ADDED,description:`An optional arg ${aee.name} on ${eee.name}.${tee.name} was added.`});return oee}function Tme(eee,tee){return nge(eee)?nge(tee)&&Tme(eee.ofType,tee.ofType)||age(tee)&&Tme(eee,tee.ofType):age(eee)?age(tee)&&Tme(eee.ofType,tee.ofType):bge(tee)&&eee.name===tee.name||age(tee)&&Tme(eee,tee.ofType)}function Sme(eee,tee){return nge(eee)?nge(tee)&&Sme(eee.ofType,tee.ofType):age(eee)?age(tee)&&Sme(eee.ofType,tee.ofType)||!age(tee)&&Sme(eee.ofType,tee):bge(tee)&&eee.name===tee.name}function Ime(eee){return Hhe(eee)?"a Scalar type":Xhe(eee)?"an Object type":Jhe(eee)?"an Interface type":tge(eee)?"a Union type":rge(eee)?"an Enum type":oge(eee)?"an Input type":void hue(!1,"Unexpected type: "+lhe(eee))}function Ome(eee,tee){const ree=swe(eee,tee);return null!=ree||hue(!1),Uhe(hfe(ree))}function Nme(eee,tee){const ree=[],oee=[],nee=[],aee=xhe(eee,(({name:eee})=>eee)),iee=xhe(tee,(({name:eee})=>eee));for(const see of eee){const eee=iee[see.name];void 0===eee?oee.push(see):nee.push([see,eee])}for(const see of tee)void 0===aee[see.name]&&ree.push(see);return{added:ree,persisted:nee,removed:oee}}!function(eee){eee.TYPE_REMOVED="TYPE_REMOVED",eee.TYPE_CHANGED_KIND="TYPE_CHANGED_KIND",eee.TYPE_REMOVED_FROM_UNION="TYPE_REMOVED_FROM_UNION",eee.VALUE_REMOVED_FROM_ENUM="VALUE_REMOVED_FROM_ENUM",eee.REQUIRED_INPUT_FIELD_ADDED="REQUIRED_INPUT_FIELD_ADDED",eee.IMPLEMENTED_INTERFACE_REMOVED="IMPLEMENTED_INTERFACE_REMOVED",eee.FIELD_REMOVED="FIELD_REMOVED",eee.FIELD_CHANGED_KIND="FIELD_CHANGED_KIND",eee.REQUIRED_ARG_ADDED="REQUIRED_ARG_ADDED",eee.ARG_REMOVED="ARG_REMOVED",eee.ARG_CHANGED_KIND="ARG_CHANGED_KIND",eee.DIRECTIVE_REMOVED="DIRECTIVE_REMOVED",eee.DIRECTIVE_ARG_REMOVED="DIRECTIVE_ARG_REMOVED",eee.REQUIRED_DIRECTIVE_ARG_ADDED="REQUIRED_DIRECTIVE_ARG_ADDED",eee.DIRECTIVE_REPEATABLE_REMOVED="DIRECTIVE_REPEATABLE_REMOVED",eee.DIRECTIVE_LOCATION_REMOVED="DIRECTIVE_LOCATION_REMOVED"}(gme||(gme={})),function(eee){eee.VALUE_ADDED_TO_ENUM="VALUE_ADDED_TO_ENUM",eee.TYPE_ADDED_TO_UNION="TYPE_ADDED_TO_UNION",eee.OPTIONAL_INPUT_FIELD_ADDED="OPTIONAL_INPUT_FIELD_ADDED",eee.OPTIONAL_ARG_ADDED="OPTIONAL_ARG_ADDED",eee.IMPLEMENTED_INTERFACE_ADDED="IMPLEMENTED_INTERFACE_ADDED",eee.ARG_DEFAULT_VALUE_CHANGE="ARG_DEFAULT_VALUE_CHANGE"}(wme||(wme={}));const Ame=Object.freeze(Object.defineProperty({__proto__:null,BREAK:Fhe,get BreakingChangeType(){return gme},DEFAULT_DEPRECATION_REASON:twe,get DangerousChangeType(){return wme},get DirectiveLocation(){return Oue},ExecutableDefinitionsRule:Zwe,FieldsOnCorrectTypeRule:Jwe,FragmentsOnCompositeTypesRule:efe,GRAPHQL_MAX_INT:$ge,GRAPHQL_MIN_INT:Vge,GraphQLBoolean:Gge,GraphQLDeprecatedDirective:rwe,GraphQLDirective:Zge,GraphQLEnumType:Cge,GraphQLError:vue,GraphQLFloat:Bge,GraphQLID:Qge,GraphQLIncludeDirective:Jge,GraphQLInputObjectType:Fge,GraphQLInt:qge,GraphQLInterfaceType:Age,GraphQLList:dge,GraphQLNonNull:uge,GraphQLObjectType:kge,GraphQLScalarType:xge,GraphQLSchema:Twe,GraphQLSkipDirective:ewe,GraphQLSpecifiedByDirective:owe,GraphQLString:Yge,GraphQLUnionType:Rge,get Kind(){return Nue},KnownArgumentNamesRule:tfe,KnownDirectivesRule:ofe,KnownFragmentNamesRule:nfe,KnownTypeNamesRule:afe,Lexer:jue,Location:kue,LoneAnonymousOperationRule:sfe,LoneSchemaDefinitionRule:lfe,NoDeprecatedCustomRule:function(eee){return{Field(tee){const ree=eee.getFieldDef(),oee=null==ree?void 0:ree.deprecationReason;if(ree&&null!=oee){const nee=eee.getParentType();null!=nee||hue(!1),eee.reportError(new vue(`The field ${nee.name}.${ree.name} is deprecated. ${oee}`,{nodes:tee}))}},Argument(tee){const ree=eee.getArgument(),oee=null==ree?void 0:ree.deprecationReason;if(ree&&null!=oee){const nee=eee.getDirective();if(null!=nee)eee.reportError(new vue(`Directive "@${nee.name}" argument "${ree.name}" is deprecated. ${oee}`,{nodes:tee}));else{const nee=eee.getParentType(),aee=eee.getFieldDef();null!=nee&&null!=aee||hue(!1),eee.reportError(new vue(`Field "${nee.name}.${aee.name}" argument "${ree.name}" is deprecated. ${oee}`,{nodes:tee}))}}},ObjectField(tee){const ree=mge(eee.getParentInputType());if(oge(ree)){const oee=ree.getFields()[tee.name.value],nee=null==oee?void 0:oee.deprecationReason;null!=nee&&eee.reportError(new vue(`The input field ${ree.name}.${oee.name} is deprecated. ${nee}`,{nodes:tee}))}},EnumValue(tee){const ree=eee.getEnumValue(),oee=null==ree?void 0:ree.deprecationReason;if(ree&&null!=oee){const nee=mge(eee.getInputType());null!=nee||hue(!1),eee.reportError(new vue(`The enum value "${nee.name}.${ree.name}" is deprecated. ${oee}`,{nodes:tee}))}}}},NoFragmentCyclesRule:cfe,NoSchemaIntrospectionCustomRule:function(eee){return{Field(tee){const ree=mge(eee.getType());ree&&kwe(ree)&&eee.reportError(new vue(`GraphQL introspection has been disabled, but the requested query contained the field "${tee.name.value}".`,{nodes:tee}))}}},NoUndefinedVariablesRule:pfe,NoUnusedFragmentsRule:dfe,NoUnusedVariablesRule:ufe,get OperationTypeNode(){return Iue},OverlappingFieldsCanBeMergedRule:wfe,PossibleFragmentSpreadsRule:Sfe,PossibleTypeExtensionsRule:Ife,ProvidedRequiredArgumentsRule:Nfe,ScalarLeafsRule:Dfe,SchemaMetaFieldDef:mwe,SingleFieldSubscriptionsRule:Kfe,Source:dhe,Token:_ue,get TokenKind(){return Aue},TypeInfo:qwe,get TypeKind(){return fwe},TypeMetaFieldDef:vwe,TypeNameMetaFieldDef:ywe,UniqueArgumentDefinitionNamesRule:Xfe,UniqueArgumentNamesRule:Zfe,UniqueDirectiveNamesRule:Jfe,UniqueDirectivesPerLocationRule:ebe,UniqueEnumValueNamesRule:tbe,UniqueFieldDefinitionNamesRule:rbe,UniqueFragmentNamesRule:nbe,UniqueInputFieldNamesRule:abe,UniqueOperationNamesRule:ibe,UniqueOperationTypesRule:sbe,UniqueTypeNamesRule:lbe,UniqueVariableNamesRule:cbe,ValidationContext:vbe,ValuesOfCorrectTypeRule:pbe,VariablesAreInputTypesRule:ube,VariablesInAllowedPositionRule:hbe,__Directive:pwe,__DirectiveLocation:dwe,__EnumValue:wwe,__Field:hwe,__InputValue:gwe,__Schema:cwe,__Type:uwe,__TypeKind:bwe,assertAbstractType:function(eee){if(!pge(eee))throw new Error(`Expected ${lhe(eee)} to be a GraphQL abstract type.`);return eee},assertCompositeType:function(eee){if(!cge(eee))throw new Error(`Expected ${lhe(eee)} to be a GraphQL composite type.`);return eee},assertDirective:function(eee){if(!Xge(eee))throw new Error(`Expected ${lhe(eee)} to be a GraphQL directive.`);return eee},assertEnumType:function(eee){if(!rge(eee))throw new Error(`Expected ${lhe(eee)} to be a GraphQL Enum type.`);return eee},assertEnumValueName:Whe,assertInputObjectType:function(eee){if(!oge(eee))throw new Error(`Expected ${lhe(eee)} to be a GraphQL Input Object type.`);return eee},assertInputType:function(eee){if(!ige(eee))throw new Error(`Expected ${lhe(eee)} to be a GraphQL input type.`);return eee},assertInterfaceType:ege,assertLeafType:function(eee){if(!lge(eee))throw new Error(`Expected ${lhe(eee)} to be a GraphQL leaf type.`);return eee},assertListType:function(eee){if(!nge(eee))throw new Error(`Expected ${lhe(eee)} to be a GraphQL List type.`);return eee},assertName:Qhe,assertNamedType:function(eee){if(!bge(eee))throw new Error(`Expected ${lhe(eee)} to be a GraphQL named type.`);return eee},assertNonNullType:function(eee){if(!age(eee))throw new Error(`Expected ${lhe(eee)} to be a GraphQL Non-Null type.`);return eee},assertNullableType:wge,assertObjectType:Zhe,assertOutputType:function(eee){if(!sge(eee))throw new Error(`Expected ${lhe(eee)} to be a GraphQL output type.`);return eee},assertScalarType:function(eee){if(!Hhe(eee))throw new Error(`Expected ${lhe(eee)} to be a GraphQL Scalar type.`);return eee},assertSchema:Ewe,assertType:function(eee){if(!Khe(eee))throw new Error(`Expected ${lhe(eee)} to be a GraphQL type.`);return eee},assertUnionType:function(eee){if(!tge(eee))throw new Error(`Expected ${lhe(eee)} to be a GraphQL Union type.`);return eee},assertValidName:function(eee){const tee=hme(eee);if(tee)throw tee;return eee},assertValidSchema:Owe,assertWrappingType:function(eee){if(!hge(eee))throw new Error(`Expected ${lhe(eee)} to be a GraphQL wrapping type.`);return eee},astFromValue:swe,buildASTSchema:Hbe,buildClientSchema:function(eee,tee){uue(eee)&&uue(eee.__schema)||pue(!1,`Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${lhe(eee)}.`);const ree=eee.__schema,oee=khe(ree.types,(eee=>eee.name),(eee=>function(eee){if(null!=eee&&null!=eee.name&&null!=eee.kind)switch(eee.kind){case fwe.SCALAR:return new xge({name:(oee=eee).name,description:oee.description,specifiedByURL:oee.specifiedByURL});case fwe.OBJECT:return new kge({name:(ree=eee).name,description:ree.description,interfaces:()=>uee(ree),fields:()=>hee(ree)});case fwe.INTERFACE:return new Age({name:(tee=eee).name,description:tee.description,interfaces:()=>uee(tee),fields:()=>hee(tee)});case fwe.UNION:return function(eee){if(!eee.possibleTypes){const tee=lhe(eee);throw new Error(`Introspection result missing possibleTypes: ${tee}.`)}return new Rge({name:eee.name,description:eee.description,types:()=>eee.possibleTypes.map(pee)})}(eee);case fwe.ENUM:return function(eee){if(!eee.enumValues){const tee=lhe(eee);throw new Error(`Introspection result missing enumValues: ${tee}.`)}return new Cge({name:eee.name,description:eee.description,values:khe(eee.enumValues,(eee=>eee.name),(eee=>({description:eee.description,deprecationReason:eee.deprecationReason})))})}(eee);case fwe.INPUT_OBJECT:return function(eee){if(!eee.inputFields){const tee=lhe(eee);throw new Error(`Introspection result missing inputFields: ${tee}.`)}return new Fge({name:eee.name,description:eee.description,fields:()=>wee(eee.inputFields)})}(eee)}var tee;var ree;var oee;const nee=lhe(eee);throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${nee}.`)}(eee)));for(const bee of[...Wge,...xwe])oee[bee.name]&&(oee[bee.name]=bee);const nee=ree.queryType?pee(ree.queryType):null,aee=ree.mutationType?pee(ree.mutationType):null,iee=ree.subscriptionType?pee(ree.subscriptionType):null,see=ree.directives?ree.directives.map((function(eee){if(!eee.args){const tee=lhe(eee);throw new Error(`Introspection result missing directive args: ${tee}.`)}if(!eee.locations){const tee=lhe(eee);throw new Error(`Introspection result missing directive locations: ${tee}.`)}return new Zge({name:eee.name,description:eee.description,isRepeatable:eee.isRepeatable,locations:eee.locations.slice(),args:wee(eee.args)})})):[];return new Twe({description:ree.description,query:nee,mutation:aee,subscription:iee,types:Object.values(oee),directives:see,assumeValid:null==tee?void 0:tee.assumeValid});function lee(eee){if(eee.kind===fwe.LIST){const tee=eee.ofType;if(!tee)throw new Error("Decorated type deeper than introspection query.");return new dge(lee(tee))}if(eee.kind===fwe.NON_NULL){const tee=eee.ofType;if(!tee)throw new Error("Decorated type deeper than introspection query.");const ree=lee(tee);return new uge(wge(ree))}return cee(eee)}function cee(eee){const tee=eee.name;if(!tee)throw new Error(`Unknown type reference: ${lhe(eee)}.`);const ree=oee[tee];if(!ree)throw new Error(`Invalid or incomplete schema, unknown type: ${tee}. Ensure that a full introspection query is used in order to build a client schema.`);return ree}function pee(eee){return Zhe(cee(eee))}function dee(eee){return ege(cee(eee))}function uee(eee){if(null===eee.interfaces&&eee.kind===fwe.INTERFACE)return[];if(!eee.interfaces){const tee=lhe(eee);throw new Error(`Introspection result missing interfaces: ${tee}.`)}return eee.interfaces.map(dee)}function hee(eee){if(!eee.fields)throw new Error(`Introspection result missing fields: ${lhe(eee)}.`);return khe(eee.fields,(eee=>eee.name),gee)}function gee(eee){const tee=lee(eee.type);if(!sge(tee)){const eee=lhe(tee);throw new Error(`Introspection must provide output type for fields, but received: ${eee}.`)}if(!eee.args){const tee=lhe(eee);throw new Error(`Introspection result missing field args: ${tee}.`)}return{description:eee.description,deprecationReason:eee.deprecationReason,type:tee,args:wee(eee.args)}}function wee(eee){return khe(eee,(eee=>eee.name),fee)}function fee(eee){const tee=lee(eee.type);if(!ige(tee)){const eee=lhe(tee);throw new Error(`Introspection must provide input type for arguments, but received: ${eee}.`)}const ree=null!=eee.defaultValue?Ufe(ghe(eee.defaultValue),tee):void 0;return{description:eee.description,type:tee,defaultValue:ree,deprecationReason:eee.deprecationReason}}},buildSchema:function(eee,tee){return Hbe(hhe(eee,{noLocation:null==tee?void 0:tee.noLocation,allowLegacyFragmentVariables:null==tee?void 0:tee.allowLegacyFragmentVariables}),{assumeValidSDL:null==tee?void 0:tee.assumeValidSDL,assumeValid:null==tee?void 0:tee.assumeValid})},coerceInputValue:zfe,concatAST:function(eee){const tee=[];for(const ree of eee)tee.push(...ree.definitions);return{kind:Nue.DOCUMENT,definitions:tee}},createSourceEventStream:Bbe,defaultFieldResolver:jbe,defaultTypeResolver:Ube,doTypesOverlap:jge,execute:Sbe,executeSync:Ibe,extendSchema:function(eee,tee,ree){Ewe(eee),null!=tee&&tee.kind===Nue.DOCUMENT||pue(!1,"Must provide valid Document AST."),!0!==(null==ree?void 0:ree.assumeValid)&&!0!==(null==ree?void 0:ree.assumeValidSDL)&&function(eee,tee){const ree=xbe(eee,tee);if(0!==ree.length)throw new Error(ree.map((eee=>eee.message)).join("\n\n"))}(tee,eee);const oee=eee.toConfig(),nee=Gbe(oee,tee,ree);return oee===nee?eee:new Twe(nee)},findBreakingChanges:function(eee,tee){return fme(eee,tee).filter((eee=>eee.type in gme))},findDangerousChanges:function(eee,tee){return fme(eee,tee).filter((eee=>eee.type in wme))},formatError:function(eee){return eee.toJSON()},getArgumentValues:Vfe,getDirectiveValues:qfe,getEnterLeaveForKind:Phe,getIntrospectionQuery:Ybe,getLocation:wue,getNamedType:mge,getNullableType:fge,getOperationAST:function(eee,tee){let ree=null;for(const nee of eee.definitions){var oee;if(nee.kind===Nue.OPERATION_DEFINITION)if(null==tee){if(ree)return null;ree=nee}else if((null===(oee=nee.name)||void 0===oee?void 0:oee.value)===tee)return nee}return ree},getOperationRootType:function(eee,tee){if("query"===tee.operation){const ree=eee.getQueryType();if(!ree)throw new vue("Schema does not define the required query root type.",{nodes:tee});return ree}if("mutation"===tee.operation){const ree=eee.getMutationType();if(!ree)throw new vue("Schema is not configured for mutations.",{nodes:tee});return ree}if("subscription"===tee.operation){const ree=eee.getSubscriptionType();if(!ree)throw new vue("Schema is not configured for subscriptions.",{nodes:tee});return ree}throw new vue("Can only have query, mutation and subscription operations.",{nodes:tee})},getVariableValues:$fe,getVisitFn:function(eee,tee,ree){const{enter:oee,leave:nee}=Phe(eee,tee);return ree?nee:oee},graphql:function(eee){return new Promise((tee=>tee(Vbe(eee))))},graphqlSync:function(eee){const tee=Vbe(eee);if(due(tee))throw new Error("GraphQL execution failed to complete synchronously.");return tee},introspectionFromSchema:function(eee,tee){const ree=Ibe({schema:eee,document:hhe(Ybe({specifiedByUrl:!0,directiveIsRepeatable:!0,schemaDescription:!0,inputValueDeprecation:!0,...tee}))});return!ree.errors&&ree.data||hue(!1),ree.data},introspectionTypes:xwe,isAbstractType:pge,isCompositeType:cge,isConstValueNode:function eee(tee){return Qwe(tee)&&(tee.kind===Nue.LIST?tee.values.some(eee):tee.kind===Nue.OBJECT?tee.fields.some((tee=>eee(tee.value))):tee.kind!==Nue.VARIABLE)},isDefinitionNode:function(eee){return Gwe(eee)||Wwe(eee)||Hwe(eee)},isDirective:Xge,isEnumType:rge,isEqualType:Pge,isExecutableDefinitionNode:Gwe,isInputObjectType:oge,isInputType:ige,isInterfaceType:Jhe,isIntrospectionType:kwe,isLeafType:lge,isListType:nge,isNamedType:bge,isNonNullType:age,isNullableType:gge,isObjectType:Xhe,isOutputType:sge,isRequiredArgument:Nge,isRequiredInputField:Mge,isScalarType:Hhe,isSchema:_we,isSelectionNode:function(eee){return eee.kind===Nue.FIELD||eee.kind===Nue.FRAGMENT_SPREAD||eee.kind===Nue.INLINE_FRAGMENT},isSpecifiedDirective:awe,isSpecifiedScalarType:Kge,isType:Khe,isTypeDefinitionNode:Kwe,isTypeExtensionNode:Xwe,isTypeNode:function(eee){return eee.kind===Nue.NAMED_TYPE||eee.kind===Nue.LIST_TYPE||eee.kind===Nue.NON_NULL_TYPE},isTypeSubTypeOf:Uge,isTypeSystemDefinitionNode:Wwe,isTypeSystemExtensionNode:Hwe,isUnionType:tge,isValidNameError:hme,isValueNode:Qwe,isWrappingType:hge,lexicographicSortSchema:function(eee){const tee=eee.toConfig(),ree=khe(Zbe(tee.types),(eee=>eee.name),(function(eee){if(Hhe(eee)||kwe(eee))return eee;if(Xhe(eee)){const tee=eee.toConfig();return new kge({...tee,interfaces:()=>lee(tee.interfaces),fields:()=>see(tee.fields)})}if(Jhe(eee)){const tee=eee.toConfig();return new Age({...tee,interfaces:()=>lee(tee.interfaces),fields:()=>see(tee.fields)})}if(tge(eee)){const tee=eee.toConfig();return new Rge({...tee,types:()=>lee(tee.types)})}if(rge(eee)){const tee=eee.toConfig();return new Cge({...tee,values:Xbe(tee.values,(eee=>eee))})}if(oge(eee)){const tee=eee.toConfig();return new Fge({...tee,fields:()=>Xbe(tee.fields,(eee=>({...eee,type:oee(eee.type)})))})}hue(!1,"Unexpected type: "+lhe(eee))}));return new Twe({...tee,types:Object.values(ree),directives:Zbe(tee.directives).map((function(eee){const tee=eee.toConfig();return new Zge({...tee,locations:Jbe(tee.locations,(x=>x)),args:iee(tee.args)})})),query:aee(tee.query),mutation:aee(tee.mutation),subscription:aee(tee.subscription)});function oee(eee){return nge(eee)?new dge(oee(eee.ofType)):age(eee)?new uge(oee(eee.ofType)):nee(eee)}function nee(eee){return ree[eee.name]}function aee(eee){return eee&&nee(eee)}function iee(eee){return Xbe(eee,(eee=>({...eee,type:oee(eee.type)})))}function see(eee){return Xbe(eee,(eee=>({...eee,type:oee(eee.type),args:eee.args&&iee(eee.args)})))}function lee(eee){return Zbe(eee).map(nee)}},locatedError:Ebe,parse:hhe,parseConstValue:function(eee,tee){const ree=new whe(eee,tee);ree.expectToken(Aue.SOF);const oee=ree.parseConstValueLiteral();return ree.expectToken(Aue.EOF),oee},parseType:function(eee,tee){const ree=new whe(eee,tee);ree.expectToken(Aue.SOF);const oee=ree.parseTypeReference();return ree.expectToken(Aue.EOF),oee},parseValue:ghe,print:Uhe,printError:function(eee){return eee.toString()},printIntrospectionSchema:function(eee){return tme(eee,awe,kwe)},printLocation:fue,printSchema:function(eee){return tme(eee,(n=>!awe(n)),eme)},printSourceLocation:bue,printType:ome,resolveObjMapThunk:yge,resolveReadonlyArrayThunk:vge,responsePathAsArray:Ffe,separateOperations:function(eee){const tee=[],ree=Object.create(null);for(const nee of eee.definitions)switch(nee.kind){case Nue.OPERATION_DEFINITION:tee.push(nee);break;case Nue.FRAGMENT_DEFINITION:ree[nee.name.value]=ume(nee.selectionSet)}const oee=Object.create(null);for(const nee of tee){const tee=new Set;for(const eee of ume(nee.selectionSet))dme(tee,ree,eee);oee[nee.name?nee.name.value:""]={kind:Nue.DOCUMENT,definitions:eee.definitions.filter((eee=>eee===nee||eee.kind===Nue.FRAGMENT_DEFINITION&&tee.has(eee.name.value)))}}return oee},specifiedDirectives:nwe,specifiedRules:wbe,specifiedScalarTypes:Wge,stripIgnoredCharacters:function(eee){const tee=uhe(eee)?eee:new dhe(eee),ree=tee.body,oee=new jue(tee);let nee="",aee=!1;for(;oee.advance().kind!==Aue.EOF;){const eee=oee.token,tee=eee.kind,iee=!$ue(eee.kind);aee&&(iee||eee.kind===Aue.SPREAD)&&(nee+=" ");const see=ree.slice(eee.start,eee.end);tee===Aue.BLOCK_STRING?nee+=Uue(eee.value,{minimize:!0}):nee+=see,aee=iee}return nee},subscribe:async function(eee){arguments.length<2||pue(!1,"graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.");const tee=await Bbe(eee);return qbe(tee)?function(eee,tee){const ree=eee[Symbol.asyncIterator]();async function oee(eee){if(eee.done)return eee;try{return{value:await tee(eee.value),done:!1}}catch(oee){if("function"==typeof ree.return)try{await ree.return()}catch(_e){}throw oee}}return{next:async()=>oee(await ree.next()),return:async()=>"function"==typeof ree.return?oee(await ree.return()):{value:void 0,done:!0},async throw(eee){if("function"==typeof ree.throw)return oee(await ree.throw(eee));throw eee},[Symbol.asyncIterator](){return this}}}(tee,(tee=>Sbe({...eee,rootValue:tee}))):tee},syntaxError:xue,typeFromAST:Vwe,validate:ybe,validateSchema:Iwe,valueFromAST:Ufe,valueFromASTUntyped:Ghe,version:"16.8.1",versionInfo:cue,visit:zhe,visitInParallel:Mhe,visitWithTypeInfo:Ywe},Symbol.toStringTag,{value:"Module"}));function Rme(_a,eee){var tee=_a.directives;return!tee||!tee.length||Cme(tee).every((function(_a){var tee=_a.directive,ree=_a.ifArgument,oee=!1;return"Variable"===ree.value.kind?(oee=eee&&eee[ree.value.name.value],tue(void 0!==oee,68,tee.name.value)):oee=ree.value.value,"skip"===tee.name.value?!oee:oee}))}function Dme(eee,tee,ree){var oee=new Set(eee),nee=oee.size;return zhe(tee,{Directive:function(eee){if(oee.delete(eee.name.value)&&(!ree||!oee.size))return Fhe}}),ree?!oee.size:oee.sizeObject.create(null),{forEach:Fme,slice:zme}=Array.prototype,{hasOwnProperty:Mme}=Object.prototype;let Pme=class eee{constructor(eee=!0,tee=Lme){this.weakness=eee,this.makeData=tee}lookup(){return this.lookupArray(arguments)}lookupArray(eee){let tee=this;return Fme.call(eee,(eee=>tee=tee.getChildTrie(eee))),Mme.call(tee,"data")?tee.data:tee.data=this.makeData(zme.call(eee))}peek(){return this.peekArray(arguments)}peekArray(eee){let tee=this;for(let i=0,ree=eee.length;tee&&i=0}))||!1,Gme=Bme&&!Yme;function Qme(eee){return null!==eee&&"object"==typeof eee}function Wme(eee){return null!==eee&&"object"==typeof eee&&(Object.getPrototypeOf(eee)===Object.prototype||null===Object.getPrototypeOf(eee))}function Kme(eee,tee){var ree=tee,oee=[];return eee.definitions.forEach((function(eee){if("OperationDefinition"===eee.kind)throw rue(72,eee.operation,eee.name?" named '".concat(eee.name.value,"'"):"");"FragmentDefinition"===eee.kind&&oee.push(eee)})),void 0===ree&&(tue(1===oee.length,73,oee.length),ree=oee[0].name.value),cde(cde({},eee),{definitions:kde([{kind:"OperationDefinition",operation:"query",selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:ree}}]}}],eee.definitions,!0)})}function Hme(eee){void 0===eee&&(eee=[]);var tee={};return eee.forEach((function(eee){tee[eee.name.value]=eee})),tee}function Xme(eee,tee){switch(eee.kind){case"InlineFragment":return eee;case"FragmentSpread":var ree=eee.name.value;if("function"==typeof tee)return tee(ree);var oee=tee&&tee[ree];return tue(oee,74,ree),oee||null;default:return null}}function Zme(){}class Jme{constructor(eee=1/0,tee=Zme){this.max=eee,this.dispose=tee,this.map=new Map,this.newest=null,this.oldest=null}has(eee){return this.map.has(eee)}get(eee){const tee=this.getNode(eee);return tee&&tee.value}get size(){return this.map.size}getNode(eee){const tee=this.map.get(eee);if(tee&&tee!==this.newest){const{older:eee,newer:ree}=tee;ree&&(ree.older=eee),eee&&(eee.newer=ree),tee.older=this.newest,tee.older.newer=tee,tee.newer=null,this.newest=tee,tee===this.oldest&&(this.oldest=ree)}return tee}set(eee,tee){let ree=this.getNode(eee);return ree?ree.value=tee:(ree={key:eee,value:tee,newer:null,older:this.newest},this.newest&&(this.newest.newer=ree),this.newest=ree,this.oldest=this.oldest||ree,this.map.set(eee,ree),ree.value)}clean(){for(;this.oldest&&this.map.size>this.max;)this.delete(this.oldest.key)}delete(eee){const tee=this.map.get(eee);return!!tee&&(tee===this.newest&&(this.newest=tee.older),tee===this.oldest&&(this.oldest=tee.newer),tee.newer&&(tee.newer.older=tee.older),tee.older&&(tee.older.newer=tee.newer),this.map.delete(eee),this.dispose(tee.value,eee),!0)}}function eve(){}const tve=eve,rve="undefined"!=typeof WeakRef?WeakRef:function(eee){return{deref:()=>eee}},ove="undefined"!=typeof WeakMap?WeakMap:Map,nve="undefined"!=typeof FinalizationRegistry?FinalizationRegistry:function(){return{register:eve,unregister:eve}};class ave{constructor(eee=1/0,tee=tve){this.max=eee,this.dispose=tee,this.map=new ove,this.newest=null,this.oldest=null,this.unfinalizedNodes=new Set,this.finalizationScheduled=!1,this.size=0,this.finalize=()=>{const eee=this.unfinalizedNodes.values();for(let i=0;i<10024;i++){const tee=eee.next().value;if(!tee)break;this.unfinalizedNodes.delete(tee);const ree=tee.key;delete tee.key,tee.keyRef=new rve(ree),this.registry.register(ree,tee,tee)}this.unfinalizedNodes.size>0?queueMicrotask(this.finalize):this.finalizationScheduled=!1},this.registry=new nve(this.deleteNode.bind(this))}has(eee){return this.map.has(eee)}get(eee){const tee=this.getNode(eee);return tee&&tee.value}getNode(eee){const tee=this.map.get(eee);if(tee&&tee!==this.newest){const{older:eee,newer:ree}=tee;ree&&(ree.older=eee),eee&&(eee.newer=ree),tee.older=this.newest,tee.older.newer=tee,tee.newer=null,this.newest=tee,tee===this.oldest&&(this.oldest=ree)}return tee}set(eee,tee){let ree=this.getNode(eee);return ree?ree.value=tee:(ree={key:eee,value:tee,newer:null,older:this.newest},this.newest&&(this.newest.newer=ree),this.newest=ree,this.oldest=this.oldest||ree,this.scheduleFinalization(ree),this.map.set(eee,ree),this.size++,ree.value)}clean(){for(;this.oldest&&this.size>this.max;)this.deleteNode(this.oldest)}deleteNode(eee){eee===this.newest&&(this.newest=eee.older),eee===this.oldest&&(this.oldest=eee.newer),eee.newer&&(eee.newer.older=eee.older),eee.older&&(eee.older.newer=eee.newer),this.size--;const tee=eee.key||eee.keyRef&&eee.keyRef.deref();this.dispose(eee.value,tee),eee.keyRef?this.registry.unregister(eee):this.unfinalizedNodes.delete(eee),tee&&this.map.delete(tee)}delete(eee){const tee=this.map.get(eee);return!!tee&&(this.deleteNode(tee),!0)}scheduleFinalization(eee){this.unfinalizedNodes.add(eee),this.finalizationScheduled||(this.finalizationScheduled=!0,queueMicrotask(this.finalize))}}var ive=new WeakSet;function sve(eee){eee.size<=(eee.max||-1)||ive.has(eee)||(ive.add(eee),setTimeout((function(){eee.clean(),ive.delete(eee)}),100))}var lve=function(eee,tee){var ree=new ave(eee,tee);return ree.set=function(eee,tee){var ree=ave.prototype.set.call(this,eee,tee);return sve(this),ree},ree},cve=function(eee,tee){var ree=new Jme(eee,tee);return ree.set=function(eee,tee){var ree=Jme.prototype.set.call(this,eee,tee);return sve(this),ree},ree},pve=Symbol.for("apollo.cacheSize"),dve=cde({},Hde[pve]),uve={};function hve(eee,tee){uve[eee]=tee}var gve=!1!==globalThis.__DEV__?function(){var eee=this.config.fragments;return cde(cde({},fve.apply(this)),{addTypenameDocumentTransform:vve(this.addTypenameTransform),inMemoryCache:{executeSelectionSet:bve(this.storeReader.executeSelectionSet),executeSubSelectedArray:bve(this.storeReader.executeSubSelectedArray),maybeBroadcastWatch:bve(this.maybeBroadcastWatch)},fragmentRegistry:{findFragmentSpreads:bve(null==eee?void 0:eee.findFragmentSpreads),lookup:bve(null==eee?void 0:eee.lookup),transform:bve(null==eee?void 0:eee.transform)}})}:void 0,wve=!1!==globalThis.__DEV__?fve:void 0;function fve(){return{cache:{fragmentQueryDocuments:bve(this.getFragmentDoc)}}}function bve(f){return function(f){return!!f&&"dirtyKey"in f}(f)?f.size:void 0}function mve(eee){return null!=eee}function vve(eee){return yve(eee).map((function(eee){return{cache:eee}}))}function yve(eee){return eee?kde(kde([bve(null==eee?void 0:eee.performWork)],yve(null==eee?void 0:eee.left),!0),yve(null==eee?void 0:eee.right),!0).filter(mve):[]}var xve,kve=Object.assign((function(eee){return JSON.stringify(eee,_ve)}),{reset:function(){xve=new cve(dve.canonicalStringify||1e3)}});function _ve(eee,tee){if(tee&&"object"==typeof tee){var ree=Object.getPrototypeOf(tee);if(ree===Object.prototype||null===ree){var oee=Object.keys(tee);if(oee.every(Eve))return tee;var nee=JSON.stringify(oee),aee=xve.get(nee);if(!aee){oee.sort();var iee=JSON.stringify(oee);aee=xve.get(iee)||oee,xve.set(nee,aee),xve.set(iee,aee)}var see=Object.create(ree);return aee.forEach((function(eee){see[eee]=tee[eee]})),see}}return tee}function Eve(eee,i,tee){return 0===i||tee[i-1]<=eee}function Tve(id){return{__ref:String(id)}}function Sve(eee){return Boolean(eee&&"object"==typeof eee&&"string"==typeof eee.__ref)}function Ive(eee,tee,ree,oee){if(function(eee){return"IntValue"===eee.kind}(ree)||function(eee){return"FloatValue"===eee.kind}(ree))eee[tee.value]=Number(ree.value);else if(function(eee){return"BooleanValue"===eee.kind}(ree)||function(eee){return"StringValue"===eee.kind}(ree))eee[tee.value]=ree.value;else if(function(eee){return"ObjectValue"===eee.kind}(ree)){var nee={};ree.fields.map((function(eee){return Ive(nee,eee.name,eee.value,oee)})),eee[tee.value]=nee}else if(function(eee){return"Variable"===eee.kind}(ree)){var aee=(oee||{})[ree.name.value];eee[tee.value]=aee}else if(function(eee){return"ListValue"===eee.kind}(ree))eee[tee.value]=ree.values.map((function(eee){var ree={};return Ive(ree,tee,eee,oee),ree[tee.value]}));else if(function(eee){return"EnumValue"===eee.kind}(ree))eee[tee.value]=ree.value;else{if(!function(eee){return"NullValue"===eee.kind}(ree))throw rue(83,tee.value,ree.kind);eee[tee.value]=null}}function Ove(eee,tee){var ree=null;eee.directives&&(ree={},eee.directives.forEach((function(eee){ree[eee.name.value]={},eee.arguments&&eee.arguments.forEach((function(_a){var oee=_a.name,nee=_a.value;return Ive(ree[eee.name.value],oee,nee,tee)}))})));var oee=null;return eee.arguments&&eee.arguments.length&&(oee={},eee.arguments.forEach((function(_a){var eee=_a.name,ree=_a.value;return Ive(oee,eee,ree,tee)}))),Rve(eee.name.value,oee,ree)}!1!==globalThis.__DEV__&&hve("canonicalStringify",(function(){return xve.size})),kve.reset();var Nve=["connection","include","skip","client","rest","export","nonreactive"],Ave=kve,Rve=Object.assign((function(eee,tee,ree){if(tee&&ree&&ree.connection&&ree.connection.key){if(ree.connection.filter&&ree.connection.filter.length>0){var oee=ree.connection.filter?ree.connection.filter:[];oee.sort();var nee={};return oee.forEach((function(eee){nee[eee]=tee[eee]})),"".concat(ree.connection.key,"(").concat(Ave(nee),")")}return ree.connection.key}var aee=eee;if(tee){var iee=Ave(tee);aee+="(".concat(iee,")")}return ree&&Object.keys(ree).forEach((function(eee){-1===Nve.indexOf(eee)&&(ree[eee]&&Object.keys(ree[eee]).length?aee+="@".concat(eee,"(").concat(Ave(ree[eee]),")"):aee+="@".concat(eee))})),aee}),{setStringify:function(s){var eee=Ave;return Ave=s,eee}});function Dve(eee,tee){if(eee.arguments&&eee.arguments.length){var ree={};return eee.arguments.forEach((function(_a){var eee=_a.name,oee=_a.value;return Ive(ree,eee,oee,tee)})),ree}return null}function Cve(eee){return eee.alias?eee.alias.value:eee.name.value}function Lve(eee,tee,ree){for(var oee,_i=0,_a=tee.selections;_i<_a.length;_i++){if(Fve(aee=_a[_i])){if("__typename"===aee.name.value)return eee[Cve(aee)]}else oee?oee.push(aee):oee=[aee]}if("string"==typeof eee.__typename)return eee.__typename;if(oee)for(var _b=0,nee=oee;_bObject.create(null),{forEach:Yve,slice:Gve}=Array.prototype,{hasOwnProperty:Qve}=Object.prototype;class Wve{constructor(eee=!0,tee=Bve){this.weakness=eee,this.makeData=tee}lookup(...eee){return this.lookupArray(eee)}lookupArray(eee){let tee=this;return Yve.call(eee,(eee=>tee=tee.getChildTrie(eee))),Qve.call(tee,"data")?tee.data:tee.data=this.makeData(Gve.call(eee))}peek(...eee){return this.peekArray(eee)}peekArray(eee){let tee=this;for(let i=0,ree=eee.length;tee&&iglobalThis))||Jve((()=>global))||Object.create(null),rye=tye[eye]||Array[eye]||function(eee){try{Object.defineProperty(tye,eye,{value:eee,enumerable:!1,writable:!1,configurable:!0})}finally{return eee}}(class{constructor(){this.id=["slot",Zve++,Date.now(),Math.random().toString(36).slice(2)].join(":")}hasValue(){for(let eee=Hve;eee;eee=eee.parent)if(this.id in eee.slots){const tee=eee.slots[this.id];if(tee===Xve)break;return eee!==Hve&&(Hve.slots[this.id]=tee),!0}return Hve&&(Hve.slots[this.id]=Xve),!1}getValue(){if(this.hasValue())return Hve.slots[this.id]}withValue(eee,tee,ree,oee){const nee={__proto__:null,[this.id]:eee},aee=Hve;Hve={parent:aee,slots:nee};try{return tee.apply(oee,ree)}finally{Hve=aee}}static bind(eee){const tee=Hve;return function(){const ree=Hve;try{return Hve=tee,eee.apply(this,arguments)}finally{Hve=ree}}}static noContext(eee,tee,ree){if(!Hve)return eee.apply(ree,tee);{const oee=Hve;try{return Hve=null,eee.apply(ree,tee)}finally{Hve=oee}}}}),oye=new rye,{hasOwnProperty:nye}=Object.prototype,aye=Array.from||function(eee){const tee=[];return eee.forEach((eee=>tee.push(eee))),tee};function iye(eee){const{unsubscribe:tee}=eee;"function"==typeof tee&&(eee.unsubscribe=void 0,tee())}const sye=[],lye=100;function cye(eee,tee){if(!eee)throw new Error(tee||"assertion failure")}function pye(a,b){const eee=a.length;return eee>0&&eee===b.length&&a[eee-1]===b[eee-1]}function dye(eee){switch(eee.length){case 0:throw new Error("unknown value");case 1:return eee[0];case 2:throw eee[1]}}function uye(eee){return eee.slice(0)}class hye{constructor(fn){this.fn=fn,this.parents=new Set,this.childValues=new Map,this.dirtyChildren=null,this.dirty=!0,this.recomputing=!1,this.value=[],this.deps=null,++hye.count}peek(){if(1===this.value.length&&!fye(this))return gye(this),this.value[0]}recompute(eee){return cye(!this.recomputing,"already recomputing"),gye(this),fye(this)?function(eee,tee){_ye(eee),oye.withValue(eee,wye,[eee,tee]),function(eee,tee){if("function"==typeof eee.subscribe)try{iye(eee),eee.unsubscribe=eee.subscribe.apply(null,tee)}catch(e){return eee.setDirty(),!1}return!0}(eee,tee)&&function(eee){if(eee.dirty=!1,fye(eee))return;mye(eee)}(eee);return dye(eee.value)}(this,eee):dye(this.value)}setDirty(){this.dirty||(this.dirty=!0,bye(this),iye(this))}dispose(){this.setDirty(),_ye(this),vye(this,((eee,tee)=>{eee.setDirty(),Eye(eee,this)}))}forget(){this.dispose()}dependOn(eee){eee.add(this),this.deps||(this.deps=sye.pop()||new Set),this.deps.add(eee)}forgetDeps(){this.deps&&(aye(this.deps).forEach((eee=>eee.delete(this))),this.deps.clear(),sye.push(this.deps),this.deps=null)}}function gye(eee){const tee=oye.getValue();if(tee)return eee.parents.add(tee),tee.childValues.has(eee)||tee.childValues.set(eee,[]),fye(eee)?yye(tee,eee):xye(tee,eee),tee}function wye(eee,tee){eee.recomputing=!0;const{normalizeResult:ree}=eee;let oee;ree&&1===eee.value.length&&(oee=uye(eee.value)),eee.value.length=0;try{if(eee.value[0]=eee.fn.apply(null,tee),ree&&oee&&!pye(oee,eee.value))try{eee.value[0]=ree(eee.value[0],oee[0])}catch(_a){}}catch(e){eee.value[1]=e}eee.recomputing=!1}function fye(eee){return eee.dirty||!(!eee.dirtyChildren||!eee.dirtyChildren.size)}function bye(eee){vye(eee,yye)}function mye(eee){vye(eee,xye)}function vye(eee,tee){const ree=eee.parents.size;if(ree){const oee=aye(eee.parents);for(let i=0;i0&&eee.childValues.forEach(((tee,ree)=>{Eye(eee,ree)})),eee.forgetDeps(),cye(null===eee.dirtyChildren)}function Eye(eee,tee){tee.parents.delete(eee),eee.childValues.delete(tee),kye(eee,tee)}hye.count=0;const Tye={setDirty:!0,dispose:!0,forget:!0};function Sye(eee){const tee=new Map;function ree(eee){const ree=oye.getValue();if(ree){let oee=tee.get(eee);oee||tee.set(eee,oee=new Set),ree.dependOn(oee)}}return ree.dirty=function(eee,ree){const oee=tee.get(eee);if(oee){const m=ree&&nye.call(Tye,ree)?ree:"setDirty";aye(oee).forEach((eee=>eee[m]())),tee.delete(eee),iye(oee)}},ree}let Iye;function Oye(...eee){return(Iye||(Iye=new Wve("function"==typeof WeakMap))).lookupArray(eee)}const Nye=new Set;function Aye(eee,{max:tee=Math.pow(2,16),keyArgs:ree,makeCacheKey:oee=Oye,normalizeResult:nee,subscribe:aee,cache:iee=Jme}=Object.create(null)){const see="function"==typeof iee?new iee(tee,(eee=>eee.dispose())):iee,lee=function(){const tee=oee.apply(null,ree?ree.apply(null,arguments):arguments);if(void 0===tee)return eee.apply(null,arguments);let iee=see.get(tee);iee||(see.set(tee,iee=new hye(eee)),iee.normalizeResult=nee,iee.subscribe=aee,iee.forget=()=>see.delete(tee));const lee=iee.recompute(Array.prototype.slice.call(arguments));return see.set(tee,iee),Nye.add(see),oye.hasValue()||(Nye.forEach((eee=>eee.clean())),Nye.clear()),lee};function cee(eee){const tee=eee&&see.get(eee);tee&&tee.setDirty()}function pee(eee){const tee=eee&&see.get(eee);if(tee)return tee.peek()}function dee(eee){return!!eee&&see.delete(eee)}return Object.defineProperty(lee,"size",{get:()=>see.size,configurable:!1,enumerable:!1}),Object.freeze(lee.options={max:tee,keyArgs:ree,makeCacheKey:oee,normalizeResult:nee,subscribe:aee,cache:see}),lee.dirtyKey=cee,lee.dirty=function(){cee(oee.apply(null,arguments))},lee.peekKey=pee,lee.peek=function(){return pee(oee.apply(null,arguments))},lee.forgetKey=dee,lee.forget=function(){return dee(oee.apply(null,arguments))},lee.makeCacheKey=oee,lee.getKey=ree?function(){return oee.apply(null,ree.apply(null,arguments))}:oee,Object.freeze(lee)}function Rye(eee){return eee}var Dye,Cye=function(){function eee(eee,tee){void 0===tee&&(tee=Object.create(null)),this.resultCache=$me?new WeakSet:new Set,this.transform=eee,tee.getCacheKey&&(this.getCacheKey=tee.getCacheKey),this.cached=!1!==tee.cache,this.resetCache()}return eee.prototype.getCacheKey=function(eee){return[eee]},eee.identity=function(){return new eee(Rye,{cache:!1})},eee.split=function(tee,ree,oee){return void 0===oee&&(oee=eee.identity()),Object.assign(new eee((function(eee){return(tee(eee)?ree:oee).transformDocument(eee)}),{cache:!1}),{left:ree,right:oee})},eee.prototype.resetCache=function(){var tee=this;if(this.cached){var ree=new Pme(jme);this.performWork=Aye(eee.prototype.performWork.bind(this),{makeCacheKey:function(eee){var oee=tee.getCacheKey(eee);if(oee)return tue(Array.isArray(oee),67),ree.lookupArray(oee)},max:dve["documentTransform.cache"],cache:ave})}},eee.prototype.performWork=function(eee){return zve(eee),this.transform(eee)},eee.prototype.transformDocument=function(eee){if(this.resultCache.has(eee))return eee;var tee=this.performWork(eee);return this.resultCache.add(tee),tee},eee.prototype.concat=function(tee){var ree=this;return Object.assign(new eee((function(eee){return tee.transformDocument(ree.transformDocument(eee))}),{cache:!1}),{left:this,right:tee})},eee}(),Lye=Object.assign((function(eee){var tee=Dye.get(eee);return tee||(tee=Uhe(eee),Dye.set(eee,tee)),tee}),{reset:function(){Dye=new lve(dve.print||2e3)}});Lye.reset(),!1!==globalThis.__DEV__&&hve("print",(function(){return Dye?Dye.size:0}));var Fye=Array.isArray;function zye(eee){return Array.isArray(eee)&&eee.length>0}var Mye={kind:Nue.FIELD,name:{kind:Nue.NAME,value:"__typename"}};function Pye(op,eee){return!op||op.selectionSet.selections.every((function(tee){return tee.kind===Nue.FRAGMENT_SPREAD&&Pye(eee[tee.name.value],eee)}))}function Uye(eee){return Pye(Mve(eee)||$ve(eee),Hme(Uve(eee)))?null:eee}function jye(eee){var tee=new Map;return function(ree){void 0===ree&&(ree=eee);var oee=tee.get(ree);return oee||tee.set(ree,oee={variables:new Set,fragmentSpreads:new Set}),oee}}function $ye(eee,tee){zve(tee);for(var ree=jye(""),oee=jye(""),nee=function(eee){for(var p=0,tee=void 0;p=0;--i)tee.definitions[i].kind===Nue.OPERATION_DEFINITION&&++aee;var iee,see,lee,cee=(iee=eee,see=new Map,lee=new Map,iee.forEach((function(eee){eee&&(eee.name?see.set(eee.name,eee):eee.test&&lee.set(eee.test,eee))})),function(eee){var tee=see.get(eee.name.value);return!tee&&lee.size&&lee.forEach((function(ree,oee){oee(eee)&&(tee=ree)})),tee}),pee=function(eee){return zye(eee)&&eee.map(cee).some((function(eee){return eee&&eee.remove}))},dee=new Map,uee=!1,hee={enter:function(eee){if(pee(eee.directives))return uee=!0,null}},gee=zhe(tee,{Field:hee,InlineFragment:hee,VariableDefinition:{enter:function(){return!1}},Variable:{enter:function(eee,tee,ree,oee,aee){var iee=nee(aee);iee&&iee.variables.add(eee.name.value)}},FragmentSpread:{enter:function(eee,tee,ree,oee,aee){if(pee(eee.directives))return uee=!0,null;var iee=nee(aee);iee&&iee.fragmentSpreads.add(eee.name.value)}},FragmentDefinition:{enter:function(eee,tee,ree,oee){dee.set(JSON.stringify(oee),eee)},leave:function(eee,tee,ree,nee){return eee===dee.get(JSON.stringify(nee))?eee:aee>0&&eee.selectionSet.selections.every((function(eee){return eee.kind===Nue.FIELD&&"__typename"===eee.name.value}))?(oee(eee.name.value).removed=!0,uee=!0,null):void 0}},Directive:{leave:function(eee){if(cee(eee))return uee=!0,null}}});if(!uee)return tee;var wee=function(eee){return eee.transitiveVars||(eee.transitiveVars=new Set(eee.variables),eee.removed||eee.fragmentSpreads.forEach((function(tee){wee(oee(tee)).transitiveVars.forEach((function(tee){eee.transitiveVars.add(tee)}))}))),eee},fee=new Set;gee.definitions.forEach((function(eee){eee.kind===Nue.OPERATION_DEFINITION?wee(ree(eee.name&&eee.name.value)).fragmentSpreads.forEach((function(eee){fee.add(eee)})):eee.kind!==Nue.FRAGMENT_DEFINITION||0!==aee||oee(eee.name.value).removed||fee.add(eee.name.value)})),fee.forEach((function(eee){wee(oee(eee)).fragmentSpreads.forEach((function(eee){fee.add(eee)}))}));var bee={enter:function(eee){if(tee=eee.name.value,!fee.has(tee)||oee(tee).removed)return null;var tee}};return Uye(zhe(gee,{FragmentSpread:bee,FragmentDefinition:bee,OperationDefinition:{leave:function(eee){if(eee.variableDefinitions){var tee=wee(ree(eee.name&&eee.name.value)).transitiveVars;if(tee.size1)for(var oee=new Hye,i=1;i=o.length?{done:!0}:{done:!1,value:o[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function exe(eee,tee){(null==tee||tee>eee.length)&&(tee=eee.length);for(var i=0,ree=new Array(tee);i1,ree=!1,oee=arguments[1];return new C((function(nee){return eee.subscribe({next:function(eee){var aee=!ree;if(ree=!0,!aee||tee)try{oee=fn(oee,eee)}catch(e){return nee.error(e)}else oee=eee},error:function(e){nee.error(e)},complete:function(){if(!ree&&!tee)return nee.error(new TypeError("Cannot reduce an empty sequence"));nee.next(oee),nee.complete()}})}))},tee.concat=function(){for(var eee=this,tee=arguments.length,ree=new Array(tee),oee=0;oee=0&&ree.splice(i,1),nee()}});ree.push(oee)},error:function(e){tee.error(e)},complete:function(){nee()}});function nee(){oee.closed&&0===ree.length&&tee.complete()}return function(){ree.forEach((function(s){return s.unsubscribe()})),oee.unsubscribe()}}))},tee[sxe]=function(){return this},eee.from=function(x){var C="function"==typeof this?this:eee;if(null==x)throw new TypeError(x+" is not an object");var tee=cxe(x,sxe);if(tee){var ree=tee.call(x);if(Object(ree)!==ree)throw new TypeError(ree+" is not an object");return dxe(ree)&&ree.constructor===C?ree:new C((function(eee){return ree.subscribe(eee)}))}if(nxe("iterator")&&(tee=cxe(x,ixe)))return new C((function(eee){hxe((function(){if(!eee.closed){for(var ree,oee=Jye(tee.call(x));!(ree=oee()).done;){var nee=ree.value;if(eee.next(nee),eee.closed)return}eee.complete()}}))}));if(Array.isArray(x))return new C((function(eee){hxe((function(){if(!eee.closed){for(var i=0;i=0;--i){var nee=tee[i],aee=!isNaN(+nee)?[]:{};aee[nee]=eee,eee=aee}ree=oee.merge(ree,eee)})),ree},mergeOptions:function(eee,tee){return Fxe(eee,tee,tee.variables&&{variables:Fxe(cde(cde({},eee&&eee.variables),tee.variables))})},offsetLimitPagination:function(eee){return void 0===eee&&(eee=!1),{keyArgs:eee,merge:function(eee,tee,_a){var ree=_a.args,oee=eee?eee.slice(0):[];if(tee)if(ree)for(var _b=ree.offset,nee=void 0===_b?0:_b,i=0;i1&&nee===aee&&(nee="");var _b=eee.pageInfo||{},iee=_b.startCursor,see=_b.endCursor;return cde(cde({},Xye(eee)),{edges:oee,pageInfo:cde(cde({},eee.pageInfo),{startCursor:iee||nee,endCursor:see||aee})})},merge:function(eee,tee,_a){var ree=_a.args,oee=_a.isReference,nee=_a.readField;if(eee||(eee={edges:[],pageInfo:{hasPreviousPage:!1,hasNextPage:!0,startCursor:"",endCursor:""}}),!tee)return eee;var aee=tee.edges?tee.edges.map((function(eee){return oee(eee=cde({},eee))&&(eee.cursor=nee("cursor",eee)),eee})):[];if(tee.pageInfo){var iee=tee.pageInfo,see=iee.startCursor,lee=iee.endCursor,cee=aee[0],pee=aee[aee.length-1];cee&&see&&(cee.cursor=see),pee&&lee&&(pee.cursor=lee);var dee=cee&&cee.cursor;dee&&!see&&(tee=Qye(tee,{pageInfo:{startCursor:dee}}));var uee=pee&&pee.cursor;uee&&!lee&&(tee=Qye(tee,{pageInfo:{endCursor:uee}}))}var hee=eee.edges,gee=[];if(ree&&ree.after)(wee=hee.findIndex((function(eee){return eee.cursor===ree.after})))>=0&&(hee=hee.slice(0,wee+1));else if(ree&&ree.before){var wee;gee=(wee=hee.findIndex((function(eee){return eee.cursor===ree.before})))<0?hee:hee.slice(wee),hee=[]}else tee.edges&&(hee=[]);var fee=kde(kde(kde([],hee,!0),aee,!0),gee,!0),bee=cde(cde({},tee.pageInfo),eee.pageInfo);if(tee.pageInfo){var _b=tee.pageInfo,mee=_b.hasPreviousPage,vee=_b.hasNextPage,yee=(see=_b.startCursor,lee=_b.endCursor,pde(_b,["hasPreviousPage","hasNextPage","startCursor","endCursor"]));Object.assign(bee,yee),hee.length||(void 0!==mee&&(bee.hasPreviousPage=mee),void 0!==see&&(bee.startCursor=see)),gee.length||(void 0!==vee&&(bee.hasNextPage=vee),void 0!==lee&&(bee.endCursor=lee))}return cde(cde(cde({},Xye(eee)),Xye(tee)),{edges:fee,pageInfo:bee})}}},removeArgumentsFromDocument:function(eee,tee){var ree=function(eee){return function(tee){return eee.some((function(eee){return tee.value&&tee.value.kind===Nue.VARIABLE&&tee.value.name&&(eee.name===tee.value.name.value||eee.test&&eee.test(tee))}))}}(eee);return Uye(zhe(tee,{OperationDefinition:{enter:function(tee){return cde(cde({},tee),{variableDefinitions:tee.variableDefinitions?tee.variableDefinitions.filter((function(tee){return!eee.some((function(eee){return eee.name===tee.variable.name.value}))})):[]})}},Field:{enter:function(tee){if(eee.some((function(eee){return eee.remove}))){var oee=0;if(tee.arguments&&tee.arguments.forEach((function(eee){ree(eee)&&(oee+=1)})),1===oee)return null}}},Argument:{enter:function(eee){if(ree(eee))return null}}}))},removeClientSetsFromDocument:Bye,removeConnectionDirectiveFromDocument:function(eee){return $ye([qye],zve(eee))},removeDirectivesFromDocument:$ye,removeFragmentSpreadFromDocument:function(eee,tee){function ree(tee){if(eee.some((function(eee){return eee.name===tee.name.value})))return null}return Uye(zhe(tee,{FragmentSpread:{enter:ree},FragmentDefinition:{enter:ree}}))},resultKeyNameFromField:Cve,shouldInclude:Rme,storeKeyNameFromField:Ove,stringifyForDisplay:Jde,stripTypename:function(eee){return zxe(eee,"__typename")},valueToObjectRepresentation:Ive,wrapPromiseWithState:function(eee){if(xxe(eee))return eee;var tee=eee;return tee.status="pending",tee.then((function(eee){if("pending"===tee.status){var ree=tee;ree.status="fulfilled",ree.value=eee}}),(function(eee){if("pending"===tee.status){var ree=tee;ree.status="rejected",ree.reason=eee}})),eee}},Symbol.toStringTag,{value:"Module"}));function Uxe(eee){return new yxe((function(tee){tee.error(eee)}))}var jxe=function(eee,tee,ree){var oee=new Error(ree);throw oee.name="ServerError",oee.response=eee,oee.statusCode=eee.status,oee.result=tee,oee};function $xe(eee){for(var tee=["query","operationName","variables","extensions","context"],_i=0,_a=Object.keys(eee);_i<_a.length;_i++){var ree=_a[_i];if(tee.indexOf(ree)<0)throw rue(43,ree)}return eee}function Vxe(eee,tee){var ree=cde({},eee);return Object.defineProperty(tee,"setContext",{enumerable:!1,value:function(eee){ree=cde(cde({},ree),"function"==typeof eee?eee(ree):eee)}}),Object.defineProperty(tee,"getContext",{enumerable:!1,value:function(){return cde({},ree)}}),tee}function qxe(eee){var tee={variables:eee.variables||{},extensions:eee.extensions||{},operationName:eee.operationName,query:eee.query};return tee.operationName||(tee.operationName="string"!=typeof tee.query?Pve(tee.query)||void 0:""),tee}function Bxe(eee,tee){var ree=cde({},eee),oee=new Set(Object.keys(eee));return zhe(tee,{Variable:function(eee,tee,ree){ree&&"VariableDefinition"!==ree.kind&&oee.delete(eee.name.value)}}),oee.forEach((function(eee){delete ree[eee]})),ree}const Yxe=Object.freeze(Object.defineProperty({__proto__:null,createOperation:Vxe,filterOperationVariables:Bxe,fromError:Uxe,fromPromise:function(eee){return new yxe((function(tee){eee.then((function(eee){tee.next(eee),tee.complete()})).catch(tee.error.bind(tee))}))},throwServerError:jxe,toPromise:function(eee){var tee=!1;return new Promise((function(ree,oee){eee.subscribe({next:function(eee){tee?!1!==globalThis.__DEV__&&tue.warn(42):(tee=!0,ree(eee))},error:oee})}))},transformOperation:qxe,validateOperation:$xe},Symbol.toStringTag,{value:"Module"}));function Gxe(op,eee){return eee?eee(op):yxe.of()}function Qxe(eee){return"function"==typeof eee?new Kxe(eee):eee}function Wxe(eee){return eee.request.length<=1}var Kxe=function(){function eee(eee){eee&&(this.request=eee)}return eee.empty=function(){return new eee((function(){return yxe.of()}))},eee.from=function(tee){return 0===tee.length?eee.empty():tee.map(Qxe).reduce((function(x,y){return x.concat(y)}))},eee.split=function(tee,ree,oee){var nee,aee=Qxe(ree),iee=Qxe(oee||new eee(Gxe));return nee=Wxe(aee)&&Wxe(iee)?new eee((function(eee){return tee(eee)?aee.request(eee)||yxe.of():iee.request(eee)||yxe.of()})):new eee((function(eee,ree){return tee(eee)?aee.request(eee,ree)||yxe.of():iee.request(eee,ree)||yxe.of()})),Object.assign(nee,{left:aee,right:iee})},eee.execute=function(eee,tee){return eee.request(Vxe(tee.context,qxe($xe(tee))))||yxe.of()},eee.concat=function(tee,ree){var oee=Qxe(tee);if(Wxe(oee))return!1!==globalThis.__DEV__&&tue.warn(35,oee),oee;var nee,aee=Qxe(ree);return nee=Wxe(aee)?new eee((function(eee){return oee.request(eee,(function(op){return aee.request(op)||yxe.of()}))||yxe.of()})):new eee((function(eee,tee){return oee.request(eee,(function(op){return aee.request(op,tee)||yxe.of()}))||yxe.of()})),Object.assign(nee,{left:oee,right:aee})},eee.prototype.split=function(tee,ree,oee){return this.concat(eee.split(tee,ree,oee||new eee(Gxe)))},eee.prototype.concat=function(tee){return eee.concat(this,tee)},eee.prototype.request=function(eee,tee){throw rue(36)},eee.prototype.onError=function(eee,tee){if(tee&&tee.error)return tee.error(eee),!1;throw eee},eee.prototype.setOnError=function(fn){return this.onError=fn,this},eee}(),Hxe=Kxe.empty,Xxe=Kxe.from,Zxe=Kxe.split,Jxe=Kxe.concat,eke=Kxe.execute;const tke=Object.freeze(Object.defineProperty({__proto__:null,ApolloLink:Kxe,concat:Jxe,empty:Hxe,execute:eke,from:Xxe,split:Zxe},Symbol.toStringTag,{value:"Module"}));function rke(eee){var tee=null,ree=null,oee=!1,nee=[],aee=[];function iee(eee){if(!ree){if(aee.length){var tee=aee.shift();if(Array.isArray(tee)&&tee[0])return tee[0]({value:eee,done:!1})}nee.push(eee)}}function see(eee){ree=eee,aee.slice().forEach((function(tee){tee[1](eee)})),!tee||tee()}function lee(){oee=!0,aee.slice().forEach((function(eee){eee[0]({value:void 0,done:!0})})),!tee||tee()}tee=function(){tee=null,eee.removeListener("data",iee),eee.removeListener("error",see),eee.removeListener("end",lee),eee.removeListener("finish",lee),eee.removeListener("close",lee)},eee.on("data",iee),eee.on("error",see),eee.on("end",lee),eee.on("finish",lee),eee.on("close",lee);var cee={next:function(){return new Promise((function(eee,tee){return ree?tee(ree):nee.length?eee({value:nee.shift(),done:!1}):oee?eee({value:void 0,done:!0}):void aee.push([eee,tee])}))}};return qme&&(cee[Symbol.asyncIterator]=function(){return this}),cee}function oke(eee){var tee={next:function(){return eee.read()}};return qme&&(tee[Symbol.asyncIterator]=function(){return this}),tee}function nke(eee){var tee,ree,oee,nee=eee;if(eee.body&&(nee=eee.body),function(eee){return!(!qme||!eee[Symbol.asyncIterator])}(nee))return function(eee){var _a,tee=eee[Symbol.asyncIterator]();return(_a={next:function(){return tee.next()}})[Symbol.asyncIterator]=function(){return this},_a}(nee);if(function(eee){return!!eee.getReader}(nee))return oke(nee.getReader());if(function(eee){return!!eee.stream}(nee))return oke(nee.stream().getReader());if(function(eee){return!!eee.arrayBuffer}(nee))return tee=nee.arrayBuffer(),ree=!1,oee={next:function(){return ree?Promise.resolve({value:void 0,done:!0}):(ree=!0,new Promise((function(eee,ree){tee.then((function(tee){eee({value:tee,done:!1})})).catch(ree)})))}},qme&&(oee[Symbol.asyncIterator]=function(){return this}),oee;if(function(eee){return!!eee.pipe}(nee))return rke(nee);throw new Error("Unknown body type for responseIterator. Please pass a streamable response.")}var ake=Symbol();function ike(eee){return eee.hasOwnProperty("graphQLErrors")}var ske=function(eee){function tee(_a){var ree=_a.graphQLErrors,oee=_a.protocolErrors,nee=_a.clientErrors,aee=_a.networkError,iee=_a.errorMessage,see=_a.extraInfo,lee=eee.call(this,iee)||this;return lee.name="ApolloError",lee.graphQLErrors=ree||[],lee.protocolErrors=oee||[],lee.clientErrors=nee||[],lee.networkError=aee||null,lee.message=iee||function(eee){var tee=kde(kde(kde([],eee.graphQLErrors,!0),eee.clientErrors,!0),eee.protocolErrors,!0);return eee.networkError&&tee.push(eee.networkError),tee.map((function(eee){return Qme(eee)&&eee.message||"Error message not found."})).join("\n")}(lee),lee.extraInfo=see,lee.__proto__=tee.prototype,lee}return lde(tee,eee),tee}(Error);const lke=Object.freeze(Object.defineProperty({__proto__:null,ApolloError:ske,PROTOCOL_ERRORS_SYMBOL:ake,graphQLResultHasProtocolErrors:function(eee){return!!eee.extensions&&Array.isArray(eee.extensions[ake])},isApolloError:ike},Symbol.toStringTag,{value:"Module"}));var cke=Object.prototype.hasOwnProperty;function pke(eee){var tee={};return eee.split("\n").forEach((function(eee){var i=eee.indexOf(":");if(i>-1){var ree=eee.slice(0,i).trim().toLowerCase(),oee=eee.slice(i+1).trim();tee[ree]=oee}})),tee}function dke(eee,tee){if(eee.status>=300){jxe(eee,function(){try{return JSON.parse(tee)}catch(eee){return tee}}(),"Response not successful: Received status code ".concat(eee.status))}try{return JSON.parse(tee)}catch(oee){var ree=oee;throw ree.name="ServerParseError",ree.response=eee,ree.statusCode=eee.status,ree.bodyText=tee,ree}}function uke(eee){return function(tee){return tee.text().then((function(eee){return dke(tee,eee)})).then((function(ree){return Array.isArray(ree)||cke.call(ree,"data")||cke.call(ree,"errors")||jxe(tee,ree,"Server response was missing for query '".concat(Array.isArray(eee)?eee.map((function(op){return op.operationName})):eee.operationName,"'.")),ree}))}}var hke=function(p,eee){var tee;try{tee=JSON.stringify(p)}catch(e){var ree=rue(39,eee,e.message);throw ree.parseError=e,ree}return tee},gke={http:{includeQuery:!0,includeExtensions:!1,preserveHeaderCase:!1},headers:{accept:"*/*","content-type":"application/json"},options:{method:"POST"}},wke=function(eee,tee){return tee(eee)};function fke(eee,tee){for(var ree=[],_i=2;_i-1;){if(gee=void 0,_b=[see.slice(0,bi),see.slice(bi+iee.length)],see=_b[1],i=(gee=_b[0]).indexOf("\r\n\r\n"),wee=pke(gee.slice(0,i)),(fee=wee["content-type"])&&-1===fee.toLowerCase().indexOf("application/json"))throw new Error("Unsupported patch content type: application/json is required.");if(bee=gee.slice(i))if(mee=dke(eee,bee),Object.keys(mee).length>1||"data"in mee||"incremental"in mee||"errors"in mee||"payload"in mee)if(Cxe(mee)){if(vee={},"payload"in mee){if(1===Object.keys(mee).length&&null===mee.payload)return[2];vee=cde({},mee.payload)}"errors"in mee&&(vee=cde(cde({},vee),{extensions:cde(cde({},"extensions"in vee?vee.extensions:null),(_c={},_c[ake]=mee.errors,_c))})),tee(vee)}else tee(mee);else if(1===Object.keys(mee).length&&"hasNext"in mee&&!mee.hasNext)return[2];bi=see.indexOf(iee)}return[3,1];case 3:return[2]}}))}))}(tee,aee):uke(eee)(tee).then(aee)})).then((function(){wee=void 0,tee.complete()})).catch((function(eee){wee=void 0,function(eee,tee){eee.result&&eee.result.errors&&eee.result.data&&tee.next(eee.result),tee.error(eee)}(eee,tee)})),function(){wee&&wee.abort()}}))}))},kke=function(eee){function tee(tee){void 0===tee&&(tee={});var ree=eee.call(this,xke(tee).request)||this;return ree.options=tee,ree}return lde(tee,eee),tee}(Kxe);const _ke=Object.freeze(Object.defineProperty({__proto__:null,HttpLink:kke,checkFetcher:bke,createHttpLink:xke,createSignalIfSupported:function(){if("undefined"==typeof AbortController)return{controller:!1,signal:!1};var eee=new AbortController;return{controller:eee,signal:eee.signal}},defaultPrinter:wke,fallbackHttpConfig:gke,parseAndCheckHttpResponse:uke,rewriteURIForGET:vke,selectHttpOptionsAndBody:function(eee,tee){for(var ree=[],_i=2;_i=0&&eee.indexOf(tee,ree)===ree}(eee,Dke)}}return!1}function Ake(eee){return Object.keys(eee).filter(Rke,eee)}function Rke(eee){return void 0!==this[eee]}const Dke="{ [native code] }";function Cke(a,b){let eee=Ike.get(a);if(eee){if(eee.has(b))return!0}else Ike.set(a,eee=new Set);return eee.add(b),!1}const Lke=Object.freeze(Object.defineProperty({__proto__:null,default:Oke,equal:Oke},Symbol.toStringTag,{value:"Module"}));function Fke(eee,_a,_b,tee){var ree=_a.data,oee=pde(_a,["data"]),nee=_b.data;return Oke(oee,pde(_b,["data"]))&&zke(Vve(eee).selectionSet,ree,nee,{fragmentMap:Hme(Uve(eee)),variables:tee})}function zke(eee,tee,ree,oee){if(tee===ree)return!0;var nee=new Set;return eee.selections.every((function(eee){if(nee.has(eee))return!0;if(nee.add(eee),!Rme(eee,oee.variables))return!0;if(Mke(eee))return!0;if(Fve(eee)){var aee=Cve(eee),iee=tee&&tee[aee],see=ree&&ree[aee],lee=eee.selectionSet;if(!lee)return Oke(iee,see);var cee=Array.isArray(iee),pee=Array.isArray(see);if(cee!==pee)return!1;if(cee&&pee){var dee=iee.length;if(see.length!==dee)return!1;for(var i=0;i=0;--i)iee.missing=((_a={})[iee.path[i]]=iee.missing,_a)}else iee.missing=iee.path;return iee.__proto__=tee.prototype,iee}return lde(tee,eee),tee}(Error),Vke=Object.prototype.hasOwnProperty;function qke(eee){return null==eee}function Bke(_a,eee){var tee=_a.__typename,id=_a.id,ree=_a._id;if("string"==typeof tee&&(eee&&(eee.keyObject=qke(id)?qke(ree)?void 0:{_id:ree}:{id:id}),qke(id)&&!qke(ree)&&(id=ree),!qke(id)))return"".concat(tee,":").concat("number"==typeof id||"string"==typeof id?id:JSON.stringify(id))}var Yke={dataIdFromObject:Bke,addTypename:!0,resultCaching:!0,canonizeResults:!1};function Gke(eee){var tee=eee.canonizeResults;return void 0===tee?Yke.canonizeResults:tee}var Qke=/^[_a-z][_0-9a-z]*/i;function Wke(eee){var tee=eee.match(Qke);return tee?tee[0]:eee}function Kke(eee,tee,ree){return!!Qme(tee)&&(Fye(tee)?tee.every((function(tee){return Kke(eee,tee,ree)})):eee.selections.every((function(eee){if(Fve(eee)&&Rme(eee,ree)){var oee=Cve(eee);return Vke.call(tee,oee)&&(!eee.selectionSet||Kke(eee.selectionSet,tee[oee],ree))}return!0})))}function Hke(eee){return Qme(eee)&&!Sve(eee)&&!Fye(eee)}function Xke(eee,tee){var ree=Hme(Uve(eee));return{fragmentMap:ree,lookupFragment:function(eee){var oee=ree[eee];return!oee&&tee&&(oee=tee.lookup(eee)),oee||null}}}var Zke=Object.create(null),Jke=function(){return Zke},e_e=Object.create(null),t_e=function(){function eee(eee,tee){var ree=this;this.policies=eee,this.group=tee,this.data=Object.create(null),this.rootIds=Object.create(null),this.refs=Object.create(null),this.getFieldValue=function(eee,tee){return Sxe(Sve(eee)?ree.get(eee.__ref,tee):eee&&eee[tee])},this.canRead=function(eee){return Sve(eee)?ree.has(eee.__ref):"object"==typeof eee},this.toReference=function(eee,tee){if("string"==typeof eee)return Tve(eee);if(Sve(eee))return eee;var id=ree.policies.identify(eee)[0];if(id){var oee=Tve(id);return tee&&ree.merge(id,eee),oee}}}return eee.prototype.toObject=function(){return cde({},this.data)},eee.prototype.has=function(eee){return void 0!==this.lookup(eee,!0)},eee.prototype.get=function(eee,tee){if(this.group.depend(eee,tee),Vke.call(this.data,eee)){var ree=this.data[eee];if(ree&&Vke.call(ree,tee))return ree[tee]}return"__typename"===tee&&Vke.call(this.policies.rootTypenamesById,eee)?this.policies.rootTypenamesById[eee]:this instanceof a_e?this.parent.get(eee,tee):void 0},eee.prototype.lookup=function(eee,tee){return tee&&this.group.depend(eee,"__exists"),Vke.call(this.data,eee)?this.data[eee]:this instanceof a_e?this.parent.lookup(eee,tee):this.policies.rootTypenamesById[eee]?Object.create(null):void 0},eee.prototype.merge=function(eee,tee){var ree,oee=this;Sve(eee)&&(eee=eee.__ref),Sve(tee)&&(tee=tee.__ref);var nee="string"==typeof eee?this.lookup(ree=eee):eee,aee="string"==typeof tee?this.lookup(ree=tee):tee;if(aee){tue("string"==typeof ree,1);var iee=new Hye(s_e).merge(nee,aee);if(this.data[ree]=iee,iee!==nee&&(delete this.refs[ree],this.group.caching)){var see=Object.create(null);nee||(see.__exists=1),Object.keys(aee).forEach((function(eee){if(!nee||nee[eee]!==iee[eee]){see[eee]=1;var tee=Wke(eee);tee===eee||oee.policies.hasKeyArgs(iee.__typename,tee)||(see[tee]=1),void 0!==iee[eee]||oee instanceof a_e||delete iee[eee]}})),!see.__typename||nee&&nee.__typename||this.policies.rootTypenamesById[ree]!==iee.__typename||delete see.__typename,Object.keys(see).forEach((function(eee){return oee.group.dirty(ree,eee)}))}}},eee.prototype.modify=function(eee,tee){var ree=this,oee=this.lookup(eee);if(oee){var nee=Object.create(null),aee=!1,iee=!0,see={DELETE:Zke,INVALIDATE:e_e,isReference:Sve,toReference:this.toReference,canRead:this.canRead,readField:function(tee,oee){return ree.policies.readField("string"==typeof tee?{fieldName:tee,from:oee||Tve(eee)}:tee,{store:ree})}};if(Object.keys(oee).forEach((function(lee){var cee=Wke(lee),pee=oee[lee];if(void 0!==pee){var dee="function"==typeof tee?tee:tee[lee]||tee[cee];if(dee){var uee=dee===Jke?Zke:dee(Sxe(pee),cde(cde({},see),{fieldName:cee,storeFieldName:lee,storage:ree.getStorage(eee,lee)}));if(uee===e_e)ree.group.dirty(eee,lee);else if(uee===Zke&&(uee=void 0),uee!==pee&&(nee[lee]=uee,aee=!0,pee=uee,!1!==globalThis.__DEV__)){var hee=function(eee){if(void 0===ree.lookup(eee.__ref))return!1!==globalThis.__DEV__&&tue.warn(2,eee),!0};if(Sve(uee))hee(uee);else if(Array.isArray(uee))for(var gee=!1,wee=void 0,_i=0,fee=uee;_i0){var tee=--this.rootIds[eee];return tee||delete this.rootIds[eee],tee}return 0},eee.prototype.getRootIdSet=function(eee){return void 0===eee&&(eee=new Set),Object.keys(this.rootIds).forEach(eee.add,eee),this instanceof a_e?this.parent.getRootIdSet(eee):Object.keys(this.policies.rootTypenamesById).forEach(eee.add,eee),eee},eee.prototype.gc=function(){var eee=this,tee=this.getRootIdSet(),ree=this.toObject();tee.forEach((function(id){Vke.call(ree,id)&&(Object.keys(eee.findChildRefIds(id)).forEach(tee.add,tee),delete ree[id])}));var oee=Object.keys(ree);if(oee.length){for(var nee=this;nee instanceof a_e;)nee=nee.parent;oee.forEach((function(id){return nee.delete(id)}))}return oee},eee.prototype.findChildRefIds=function(eee){if(!Vke.call(this.refs,eee)){var tee=this.refs[eee]=Object.create(null),ree=this.data[eee];if(!ree)return tee;var oee=new Set([ree]);oee.forEach((function(eee){Sve(eee)&&(tee[eee.__ref]=!0),Qme(eee)&&Object.keys(eee).forEach((function(tee){var ree=eee[tee];Qme(ree)&&oee.add(ree)}))}))}return this.refs[eee]},eee.prototype.makeCacheKey=function(){return this.group.keyMaker.lookupArray(arguments)},eee}(),r_e=function(){function eee(eee,tee){void 0===tee&&(tee=null),this.caching=eee,this.parent=tee,this.d=null,this.resetCaching()}return eee.prototype.resetCaching=function(){this.d=this.caching?Sye():null,this.keyMaker=new Pme(jme)},eee.prototype.depend=function(eee,tee){if(this.d){this.d(o_e(eee,tee));var ree=Wke(tee);ree!==tee&&this.d(o_e(eee,ree)),this.parent&&this.parent.depend(eee,tee)}},eee.prototype.dirty=function(eee,tee){this.d&&this.d.dirty(o_e(eee,tee),"__exists"===tee?"forget":"setDirty")},eee}();function o_e(eee,tee){return tee+"#"+eee}function n_e(eee,tee){l_e(eee)&&eee.group.depend(tee,"__exists")}!function(eee){var tee=function(eee){function tee(_a){var tee=_a.policies,_b=_a.resultCaching,ree=void 0===_b||_b,oee=_a.seed,nee=eee.call(this,tee,new r_e(ree))||this;return nee.stump=new i_e(nee),nee.storageTrie=new Pme(jme),oee&&nee.replace(oee),nee}return lde(tee,eee),tee.prototype.addLayer=function(eee,tee){return this.stump.addLayer(eee,tee)},tee.prototype.removeLayer=function(){return this},tee.prototype.getStorage=function(){return this.storageTrie.lookupArray(arguments)},tee}(eee);eee.Root=tee}(t_e||(t_e={}));var a_e=function(eee){function tee(id,tee,ree,oee){var nee=eee.call(this,tee.policies,oee)||this;return nee.id=id,nee.parent=tee,nee.replay=ree,nee.group=oee,ree(nee),nee}return lde(tee,eee),tee.prototype.addLayer=function(eee,ree){return new tee(eee,this,ree,this.group)},tee.prototype.removeLayer=function(eee){var tee=this,ree=this.parent.removeLayer(eee);return eee===this.id?(this.group.caching&&Object.keys(this.data).forEach((function(eee){var oee=tee.data[eee],nee=ree.lookup(eee);nee?oee?oee!==nee&&Object.keys(oee).forEach((function(ree){Oke(oee[ree],nee[ree])||tee.group.dirty(eee,ree)})):(tee.group.dirty(eee,"__exists"),Object.keys(nee).forEach((function(ree){tee.group.dirty(eee,ree)}))):tee.delete(eee)})),ree):ree===this.parent?this:ree.addLayer(this.id,this.replay)},tee.prototype.toObject=function(){return cde(cde({},this.parent.toObject()),this.data)},tee.prototype.findChildRefIds=function(tee){var ree=this.parent.findChildRefIds(tee);return Vke.call(this.data,tee)?cde(cde({},ree),eee.prototype.findChildRefIds.call(this,tee)):ree},tee.prototype.getStorage=function(){for(var p=this.parent;p.parent;)p=p.parent;return p.getStorage.apply(p,arguments)},tee}(t_e),i_e=function(eee){function tee(tee){return eee.call(this,"EntityStore.Stump",tee,(function(){}),new r_e(tee.group.caching,tee.group))||this}return lde(tee,eee),tee.prototype.removeLayer=function(){return this},tee.prototype.merge=function(eee,tee){return this.parent.merge(eee,tee)},tee}(a_e);function s_e(eee,tee,ree){var oee=eee[ree],nee=tee[ree];return Oke(oee,nee)?oee:nee}function l_e(eee){return!!(eee instanceof t_e&&eee.group.caching)}var c_e=function(){function eee(){this.known=new($me?WeakSet:Set),this.pool=new Pme(jme),this.passes=new WeakMap,this.keysByJSON=new Map,this.empty=this.admit({})}return eee.prototype.isKnown=function(eee){return Qme(eee)&&this.known.has(eee)},eee.prototype.pass=function(eee){if(Qme(eee)){var tee=function(eee){return Qme(eee)?Fye(eee)?eee.slice(0):cde({__proto__:Object.getPrototypeOf(eee)},eee):eee}(eee);return this.passes.set(tee,eee),tee}return eee},eee.prototype.admit=function(eee){var tee=this;if(Qme(eee)){var ree=this.passes.get(eee);if(ree)return ree;switch(Object.getPrototypeOf(eee)){case Array.prototype:if(this.known.has(eee))return eee;var oee=eee.map(this.admit,this);return(see=this.pool.lookupArray(oee)).array||(this.known.add(see.array=oee),!1!==globalThis.__DEV__&&Object.freeze(oee)),see.array;case null:case Object.prototype:if(this.known.has(eee))return eee;var nee=Object.getPrototypeOf(eee),aee=[nee],iee=this.sortedKeys(eee);aee.push(iee.json);var see,lee=aee.length;if(iee.sorted.forEach((function(ree){aee.push(tee.admit(eee[ree]))})),!(see=this.pool.lookupArray(aee)).object){var cee=see.object=Object.create(nee);this.known.add(cee),iee.sorted.forEach((function(eee,i){cee[eee]=aee[lee+i]})),!1!==globalThis.__DEV__&&Object.freeze(cee)}return see.object}}return eee},eee.prototype.sortedKeys=function(eee){var tee=Object.keys(eee),ree=this.pool.lookupArray(tee);if(!ree.keys){tee.sort();var oee=JSON.stringify(tee);(ree.keys=this.keysByJSON.get(oee))||this.keysByJSON.set(oee,ree.keys={sorted:tee,json:oee})}return ree.keys},eee}();function p_e(eee){return[eee.selectionSet,eee.objectOrReference,eee.context,eee.context.canonizeResults]}var d_e=function(){function eee(eee){var tee=this;this.knownResults=new(jme?WeakMap:Map),this.config=Fxe(eee,{addTypename:!1!==eee.addTypename,canonizeResults:Gke(eee)}),this.canon=eee.canon||new c_e,this.executeSelectionSet=Aye((function(eee){var _a,ree=eee.context.canonizeResults,oee=p_e(eee);oee[3]=!ree;var nee=(_a=tee.executeSelectionSet).peek.apply(_a,oee);return nee?ree?cde(cde({},nee),{result:tee.canon.admit(nee.result)}):nee:(n_e(eee.context.store,eee.enclosingRef.__ref),tee.execSelectionSetImpl(eee))}),{max:this.config.resultCacheMaxSize||dve["inMemoryCache.executeSelectionSet"]||5e4,keyArgs:p_e,makeCacheKey:function(eee,tee,ree,oee){if(l_e(ree.store))return ree.store.makeCacheKey(eee,Sve(tee)?tee.__ref:tee,ree.varString,oee)}}),this.executeSubSelectedArray=Aye((function(eee){return n_e(eee.context.store,eee.enclosingRef.__ref),tee.execSubSelectedArrayImpl(eee)}),{max:this.config.resultCacheMaxSize||dve["inMemoryCache.executeSubSelectedArray"]||1e4,makeCacheKey:function(_a){var eee=_a.field,tee=_a.array,ree=_a.context;if(l_e(ree.store))return ree.store.makeCacheKey(eee,tee,ree.varString)}})}return eee.prototype.resetCanon=function(){this.canon=new c_e},eee.prototype.diffQueryAgainstStore=function(_a){var eee=_a.store,tee=_a.query,_b=_a.rootId,ree=void 0===_b?"ROOT_QUERY":_b,oee=_a.variables,_c=_a.returnPartialData,nee=void 0===_c||_c,_d=_a.canonizeResults,aee=void 0===_d?this.config.canonizeResults:_d,iee=this.config.cache.policies;oee=cde(cde({},qve(jve(tee))),oee);var see,lee=Tve(ree),cee=this.executeSelectionSet({selectionSet:Vve(tee).selectionSet,objectOrReference:lee,enclosingRef:lee,context:cde({store:eee,query:tee,policies:iee,variables:oee,varString:kve(oee),canonizeResults:aee},Xke(tee,this.config.fragments))});if(cee.missing&&(see=[new $ke(u_e(cee.missing),cee.missing,tee,oee)],!nee))throw see[0];return{result:cee.result,complete:!see,missing:see}},eee.prototype.isFresh=function(eee,tee,ree,oee){if(l_e(oee.store)&&this.knownResults.get(eee)===ree){var nee=this.executeSelectionSet.peek(ree,tee,oee,this.canon.isKnown(eee));if(nee&&eee===nee.result)return!0}return!1},eee.prototype.execSelectionSetImpl=function(_a){var eee=this,tee=_a.selectionSet,ree=_a.objectOrReference,oee=_a.enclosingRef,nee=_a.context;if(Sve(ree)&&!nee.policies.rootTypenamesById[ree.__ref]&&!nee.store.has(ree.__ref))return{result:this.canon.empty,missing:"Dangling reference to missing ".concat(ree.__ref," object")};var aee,iee=nee.variables,see=nee.policies,lee=nee.store.getFieldValue(ree,"__typename"),cee=[],pee=new Hye;function dee(eee,tee){var _a;return eee.missing&&(aee=pee.merge(aee,((_a={})[tee]=eee.missing,_a))),eee.result}this.config.addTypename&&"string"==typeof lee&&!see.rootIdsByTypename[lee]&&cee.push({__typename:lee});var uee=new Set(tee.selections);uee.forEach((function(tee){var _a,_b;if(Rme(tee,iee))if(Fve(tee)){var hee=see.readField({fieldName:tee.name.value,field:tee,variables:nee.variables,from:ree},nee),gee=Cve(tee);void 0===hee?Vye.added(tee)||(aee=pee.merge(aee,((_a={})[gee]="Can't find field '".concat(tee.name.value,"' on ").concat(Sve(ree)?ree.__ref+" object":"object "+JSON.stringify(ree,null,2)),_a))):Fye(hee)?hee.length>0&&(hee=dee(eee.executeSubSelectedArray({field:tee,array:hee,enclosingRef:oee,context:nee}),gee)):tee.selectionSet?null!=hee&&(hee=dee(eee.executeSelectionSet({selectionSet:tee.selectionSet,objectOrReference:hee,enclosingRef:Sve(hee)?hee:oee,context:nee}),gee)):nee.canonizeResults&&(hee=eee.canon.pass(hee)),void 0!==hee&&cee.push(((_b={})[gee]=hee,_b))}else{var wee=Xme(tee,nee.lookupFragment);if(!wee&&tee.kind===Nue.FRAGMENT_SPREAD)throw rue(9,tee.name.value);wee&&see.fragmentMatches(wee,lee)&&wee.selectionSet.selections.forEach(uee.add,uee)}}));var hee={result:Wye(cee),missing:aee},gee=nee.canonizeResults?this.canon.admit(hee):Sxe(hee);return gee.result&&this.knownResults.set(gee.result,tee),gee},eee.prototype.execSubSelectedArrayImpl=function(_a){var eee,tee=this,ree=_a.field,oee=_a.array,nee=_a.enclosingRef,aee=_a.context,iee=new Hye;function see(tee,i){var _a;return tee.missing&&(eee=iee.merge(eee,((_a={})[i]=tee.missing,_a))),tee.result}return ree.selectionSet&&(oee=oee.filter(aee.store.canRead)),oee=oee.map((function(eee,i){return null===eee?null:Fye(eee)?see(tee.executeSubSelectedArray({field:ree,array:eee,enclosingRef:nee,context:aee}),i):ree.selectionSet?see(tee.executeSelectionSet({selectionSet:ree.selectionSet,objectOrReference:eee,enclosingRef:Sve(eee)?eee:nee,context:aee}),i):(!1!==globalThis.__DEV__&&function(eee,tee,ree){if(!tee.selectionSet){var oee=new Set([ree]);oee.forEach((function(ree){Qme(ree)&&(tue(!Sve(ree),10,function(eee,tee){return Sve(tee)?eee.get(tee.__ref,"__typename"):tee&&tee.__typename}(eee,ree),tee.name.value),Object.values(ree).forEach(oee.add,oee))}))}}(aee.store,ree,eee),eee)})),{result:aee.canonizeResults?this.canon.admit(oee):oee,missing:eee}},eee}();function u_e(eee){try{JSON.stringify(eee,(function(_,eee){if("string"==typeof eee)throw eee;return eee}))}catch(tee){return tee}}var h_e=new rye,g_e=new WeakMap;function w_e(eee){var tee=g_e.get(eee);return tee||g_e.set(eee,tee={vars:new Set,dep:Sye()}),tee}function f_e(eee){w_e(eee).vars.forEach((function(rv){return rv.forgetCache(eee)}))}function b_e(eee){var tee=new Set,ree=new Set,rv=function(nee){if(arguments.length>0){if(eee!==nee){eee=nee,tee.forEach((function(eee){w_e(eee).dep.dirty(rv),function(eee){eee.broadcastWatches&&eee.broadcastWatches()}(eee)}));var aee=Array.from(ree);ree.clear(),aee.forEach((function(tee){return tee(eee)}))}}else{var iee=h_e.getValue();iee&&(oee(iee),w_e(iee).dep(rv))}return eee};rv.onNextChange=function(eee){return ree.add(eee),function(){ree.delete(eee)}};var oee=rv.attachCache=function(eee){return tee.add(eee),w_e(eee).vars.add(rv),rv};return rv.forgetCache=function(eee){return tee.delete(eee)},rv}var m_e=Object.create(null);function v_e(eee){var tee=JSON.stringify(eee);return m_e[tee]||(m_e[tee]=Object.create(null))}function y_e(eee){var tee=v_e(eee);return tee.keyFieldsFn||(tee.keyFieldsFn=function(tee,ree){var oee=function(eee,tee){return ree.readField(tee,eee)},nee=ree.keyObject=k_e(eee,(function(eee){var nee=T_e(ree.storeObject,eee,oee);return void 0===nee&&tee!==ree.storeObject&&Vke.call(tee,eee[0])&&(nee=T_e(tee,eee,E_e)),tue(void 0!==nee,4,eee.join("."),tee),nee}));return"".concat(ree.typename,":").concat(JSON.stringify(nee))})}function x_e(eee){var tee=v_e(eee);return tee.keyArgsFn||(tee.keyArgsFn=function(tee,_a){var ree=_a.field,oee=_a.variables,nee=_a.fieldName,aee=k_e(eee,(function(eee){var nee=eee[0],aee=nee.charAt(0);if("@"!==aee)if("$"!==aee){if(tee)return T_e(tee,eee)}else{var iee=nee.slice(1);if(oee&&Vke.call(oee,iee)){var see=eee.slice(0);return see[0]=iee,T_e(oee,see)}}else if(ree&&zye(ree.directives)){var lee=nee.slice(1),d=ree.directives.find((function(d){return d.name.value===lee})),cee=d&&Dve(d,oee);return cee&&T_e(cee,eee.slice(1))}})),iee=JSON.stringify(aee);return(tee||"{}"!==iee)&&(nee+=":"+iee),nee})}function k_e(eee,tee){var ree=new Hye;return __e(eee).reduce((function(eee,oee){var _a,nee=tee(oee);if(void 0!==nee){for(var i=oee.length-1;i>=0;--i)(_a={})[oee[i]]=nee,nee=_a;eee=ree.merge(eee,nee)}return eee}),Object.create(null))}function __e(eee){var tee=v_e(eee);if(!tee.paths){var ree=tee.paths=[],oee=[];eee.forEach((function(s,i){Fye(s)?(__e(s).forEach((function(p){return ree.push(oee.concat(p))})),oee.length=0):(oee.push(s),Fye(eee[i+1])||(ree.push(oee.slice(0)),oee.length=0))}))}return tee.paths}function E_e(eee,tee){return eee[tee]}function T_e(eee,tee,ree){return ree=ree||E_e,S_e(tee.reduce((function eee(tee,oee){return Fye(tee)?tee.map((function(tee){return eee(tee,oee)})):tee&&ree(tee,oee)}),eee))}function S_e(eee){return Qme(eee)?Fye(eee)?eee.map(S_e):k_e(Object.keys(eee).sort(),(function(tee){return T_e(eee,tee)})):eee}function I_e(eee){return void 0!==eee.args?eee.args:eee.field?Dve(eee.field,eee.variables):null}var O_e=function(){},N_e=function(eee,tee){return tee.fieldName},A_e=function(eee,tee,_a){return(0,_a.mergeObjects)(eee,tee)},R_e=function(_,eee){return eee},D_e=function(){function eee(eee){this.config=eee,this.typePolicies=Object.create(null),this.toBeAdded=Object.create(null),this.supertypeMap=new Map,this.fuzzySubtypes=new Map,this.rootIdsByTypename=Object.create(null),this.rootTypenamesById=Object.create(null),this.usingPossibleTypes=!1,this.config=cde({dataIdFromObject:Bke},eee),this.cache=this.config.cache,this.setRootTypename("Query"),this.setRootTypename("Mutation"),this.setRootTypename("Subscription"),eee.possibleTypes&&this.addPossibleTypes(eee.possibleTypes),eee.typePolicies&&this.addTypePolicies(eee.typePolicies)}return eee.prototype.identify=function(eee,tee){var _a,ree=this,oee=tee&&(tee.typename||(null===(_a=tee.storeObject)||void 0===_a?void 0:_a.__typename))||eee.__typename;if(oee===this.rootTypenamesById.ROOT_QUERY)return["ROOT_QUERY"];for(var id,nee=tee&&tee.storeObject||eee,aee=cde(cde({},tee),{typename:oee,storeObject:nee,readField:tee&&tee.readField||function(){var eee=L_e(arguments,nee);return ree.readField(eee,{store:ree.cache.data,variables:eee.variables})}}),iee=oee&&this.getTypePolicy(oee),see=iee&&iee.keyFn||this.config.dataIdFromObject;see;){var lee=see(cde(cde({},eee),nee),aee);if(!Fye(lee)){id=lee;break}see=y_e(lee)}return id=id?String(id):void 0,aee.keyObject?[id,aee.keyObject]:[id]},eee.prototype.addTypePolicies=function(eee){var tee=this;Object.keys(eee).forEach((function(ree){var _a=eee[ree],oee=_a.queryType,nee=_a.mutationType,aee=_a.subscriptionType,iee=pde(_a,["queryType","mutationType","subscriptionType"]);oee&&tee.setRootTypename("Query",ree),nee&&tee.setRootTypename("Mutation",ree),aee&&tee.setRootTypename("Subscription",ree),Vke.call(tee.toBeAdded,ree)?tee.toBeAdded[ree].push(iee):tee.toBeAdded[ree]=[iee]}))},eee.prototype.updateTypePolicy=function(eee,tee){var ree=this,oee=this.getTypePolicy(eee),nee=tee.keyFields,aee=tee.fields;function iee(eee,tee){eee.merge="function"==typeof tee?tee:!0===tee?A_e:!1===tee?R_e:eee.merge}iee(oee,tee.merge),oee.keyFn=!1===nee?O_e:Fye(nee)?y_e(nee):"function"==typeof nee?nee:oee.keyFn,aee&&Object.keys(aee).forEach((function(tee){var oee=ree.getFieldPolicy(eee,tee,!0),nee=aee[tee];if("function"==typeof nee)oee.read=nee;else{var see=nee.keyArgs,lee=nee.read,cee=nee.merge;oee.keyFn=!1===see?N_e:Fye(see)?x_e(see):"function"==typeof see?see:oee.keyFn,"function"==typeof lee&&(oee.read=lee),iee(oee,cee)}oee.read&&oee.merge&&(oee.keyFn=oee.keyFn||N_e)}))},eee.prototype.setRootTypename=function(eee,tee){void 0===tee&&(tee=eee);var ree="ROOT_"+eee.toUpperCase(),oee=this.rootTypenamesById[ree];tee!==oee&&(tue(!oee||oee===eee,5,eee),oee&&delete this.rootIdsByTypename[oee],this.rootIdsByTypename[tee]=ree,this.rootTypenamesById[ree]=tee)},eee.prototype.addPossibleTypes=function(eee){var tee=this;this.usingPossibleTypes=!0,Object.keys(eee).forEach((function(ree){tee.getSupertypeSet(ree,!0),eee[ree].forEach((function(eee){tee.getSupertypeSet(eee,!0).add(ree);var oee=eee.match(Qke);oee&&oee[0]===eee||tee.fuzzySubtypes.set(eee,new RegExp(eee))}))}))},eee.prototype.getTypePolicy=function(eee){var tee=this;if(!Vke.call(this.typePolicies,eee)){var ree=this.typePolicies[eee]=Object.create(null);ree.fields=Object.create(null);var oee=this.supertypeMap.get(eee);!oee&&this.fuzzySubtypes.size&&(oee=this.getSupertypeSet(eee,!0),this.fuzzySubtypes.forEach((function(ree,nee){if(ree.test(eee)){var aee=tee.supertypeMap.get(nee);aee&&aee.forEach((function(eee){return oee.add(eee)}))}}))),oee&&oee.size&&oee.forEach((function(eee){var _a=tee.getTypePolicy(eee),oee=_a.fields,nee=pde(_a,["fields"]);Object.assign(ree,nee),Object.assign(ree.fields,oee)}))}var nee=this.toBeAdded[eee];return nee&&nee.length&&nee.splice(0).forEach((function(ree){tee.updateTypePolicy(eee,ree)})),this.typePolicies[eee]},eee.prototype.getFieldPolicy=function(eee,tee,ree){if(eee){var oee=this.getTypePolicy(eee).fields;return oee[tee]||ree&&(oee[tee]=Object.create(null))}},eee.prototype.getSupertypeSet=function(eee,tee){var ree=this.supertypeMap.get(eee);return!ree&&tee&&this.supertypeMap.set(eee,ree=new Set),ree},eee.prototype.fragmentMatches=function(eee,tee,ree,oee){var nee=this;if(!eee.typeCondition)return!0;if(!tee)return!1;var aee=eee.typeCondition.name.value;if(tee===aee)return!0;if(this.usingPossibleTypes&&this.supertypeMap.has(aee))for(var iee=this.getSupertypeSet(tee,!0),see=[iee],lee=function(eee){var tee=nee.getSupertypeSet(eee,!1);tee&&tee.size&&see.indexOf(tee)<0&&see.push(tee)},cee=!(!ree||!this.fuzzySubtypes.size),pee=!1,i=0;i1?aee:tee}:(oee=cde({},nee),Vke.call(oee,"from")||(oee.from=tee)),!1!==globalThis.__DEV__&&void 0===oee.from&&!1!==globalThis.__DEV__&&tue.warn(7,Jde(Array.from(eee))),void 0===oee.variables&&(oee.variables=ree),oee}function F_e(eee){return function(tee,ree){if(Fye(tee)||Fye(ree))throw rue(8);if(Qme(tee)&&Qme(ree)){var oee=eee.getFieldValue(tee,"__typename"),nee=eee.getFieldValue(ree,"__typename");if(oee&&nee&&oee!==nee)return ree;if(Sve(tee)&&Hke(ree))return eee.merge(tee.__ref,ree),tee;if(Hke(tee)&&Sve(ree))return eee.merge(tee,ree.__ref),ree;if(Hke(tee)&&Hke(ree))return cde(cde({},tee),ree)}return ree}}function z_e(eee,tee,ree){var oee="".concat(tee).concat(ree),nee=eee.flavors.get(oee);return nee||eee.flavors.set(oee,nee=eee.clientOnly===tee&&eee.deferred===ree?eee:cde(cde({},eee),{clientOnly:tee,deferred:ree})),nee}var M_e=function(){function eee(eee,tee,ree){this.cache=eee,this.reader=tee,this.fragments=ree}return eee.prototype.writeToStore=function(eee,_a){var tee=this,ree=_a.query,oee=_a.result,nee=_a.dataId,aee=_a.variables,iee=_a.overwrite,see=Mve(ree),lee=new Hye;aee=cde(cde({},qve(see)),aee);var cee=cde(cde({store:eee,written:Object.create(null),merge:function(eee,tee){return lee.merge(eee,tee)},variables:aee,varString:kve(aee)},Xke(ree,this.fragments)),{overwrite:!!iee,incomingById:new Map,clientOnly:!1,deferred:!1,flavors:new Map}),pee=this.processSelectionSet({result:oee||Object.create(null),dataId:nee,selectionSet:see.selectionSet,mergeTree:{map:new Map},context:cee});if(!Sve(pee))throw rue(11,oee);return cee.incomingById.forEach((function(_a,ree){var oee=_a.storeObject,nee=_a.mergeTree,aee=_a.fieldNodeSet,iee=Tve(ree);if(nee&&nee.map.size){var see=tee.applyMerges(nee,iee,oee,cee);if(Sve(see))return;oee=see}if(!1!==globalThis.__DEV__&&!cee.overwrite){var lee=Object.create(null);aee.forEach((function(eee){eee.selectionSet&&(lee[eee.name.value]=!0)}));Object.keys(oee).forEach((function(eee){(function(eee){return!0===lee[Wke(eee)]})(eee)&&!function(eee){var tee=nee&&nee.map.get(eee);return Boolean(tee&&tee.info&&tee.info.merge)}(eee)&&function(eee,tee,ree,oee){var nee=function(eee){var tee=oee.getFieldValue(eee,ree);return"object"==typeof tee&&tee},aee=nee(eee);if(!aee)return;var iee=nee(tee);if(!iee)return;if(Sve(aee))return;if(Oke(aee,iee))return;if(Object.keys(aee).every((function(eee){return void 0!==oee.getFieldValue(iee,eee)})))return;var see=oee.getFieldValue(eee,"__typename")||oee.getFieldValue(tee,"__typename"),lee=Wke(ree),cee="".concat(see,".").concat(lee);if(q_e.has(cee))return;q_e.add(cee);var pee=[];Fye(aee)||Fye(iee)||[aee,iee].forEach((function(eee){var tee=oee.getFieldValue(eee,"__typename");"string"!=typeof tee||pee.includes(tee)||pee.push(tee)}));!1!==globalThis.__DEV__&&tue.warn(14,lee,see,pee.length?"either ensure all objects of type "+pee.join(" and ")+" have an ID or a custom merge function, or ":"",cee,cde({},aee),cde({},iee))}(iee,oee,eee,cee.store)}))}eee.merge(ree,oee)})),eee.retain(pee.__ref),pee},eee.prototype.processSelectionSet=function(_a){var eee=this,tee=_a.dataId,ree=_a.result,oee=_a.selectionSet,nee=_a.context,aee=_a.mergeTree,iee=this.cache.policies,see=Object.create(null),lee=tee&&iee.rootTypenamesById[tee]||Lve(ree,oee,nee.fragmentMap)||tee&&nee.store.get(tee,"__typename");"string"==typeof lee&&(see.__typename=lee);var cee=function(){var eee=L_e(arguments,see,nee.variables);if(Sve(eee.from)){var tee=nee.incomingById.get(eee.from.__ref);if(tee){var ree=iee.readField(cde(cde({},eee),{from:tee.storeObject}),nee);if(void 0!==ree)return ree}}return iee.readField(eee,nee)},pee=new Set;this.flattenFields(oee,ree,nee,lee).forEach((function(tee,oee){var _a,nee=Cve(oee),dee=ree[nee];if(pee.add(oee),void 0!==dee){var uee=iee.getStoreFieldName({typename:lee,fieldName:oee.name.value,field:oee,variables:tee.variables}),hee=U_e(aee,uee),gee=eee.processFieldValue(dee,oee,oee.selectionSet?z_e(tee,!1,!1):tee,hee),wee=void 0;oee.selectionSet&&(Sve(gee)||Hke(gee))&&(wee=cee("__typename",gee));var fee=iee.getMergeFunction(lee,oee.name.value,wee);fee?hee.info={field:oee,typename:lee,merge:fee}:V_e(aee,uee),see=tee.merge(see,((_a={})[uee]=gee,_a))}else!1===globalThis.__DEV__||tee.clientOnly||tee.deferred||Vye.added(oee)||iee.getReadFunction(lee,oee.name.value)||!1!==globalThis.__DEV__&&tue.error(12,Cve(oee),ree)}));try{var _b=iee.identify(ree,{typename:lee,selectionSet:oee,fragmentMap:nee.fragmentMap,storeObject:see,readField:cee}),id=_b[0],dee=_b[1];tee=tee||id,dee&&(see=nee.merge(see,dee))}catch(e){if(!tee)throw e}if("string"==typeof tee){var uee=Tve(tee),hee=nee.written[tee]||(nee.written[tee]=[]);if(hee.indexOf(oee)>=0)return uee;if(hee.push(oee),this.reader&&this.reader.isFresh(ree,uee,oee,nee))return uee;var gee=nee.incomingById.get(tee);return gee?(gee.storeObject=nee.merge(gee.storeObject,see),gee.mergeTree=j_e(gee.mergeTree,aee),pee.forEach((function(eee){return gee.fieldNodeSet.add(eee)}))):nee.incomingById.set(tee,{storeObject:see,mergeTree:$_e(aee)?void 0:aee,fieldNodeSet:pee}),uee}return see},eee.prototype.processFieldValue=function(eee,tee,ree,oee){var nee=this;return tee.selectionSet&&null!==eee?Fye(eee)?eee.map((function(eee,i){var aee=nee.processFieldValue(eee,tee,ree,U_e(oee,i));return V_e(oee,i),aee})):this.processSelectionSet({result:eee,selectionSet:tee.selectionSet,context:ree,mergeTree:oee}):!1!==globalThis.__DEV__?_xe(eee):eee},eee.prototype.flattenFields=function(eee,tee,ree,oee){void 0===oee&&(oee=Lve(tee,eee,ree.fragmentMap));var nee=new Map,aee=this.cache.policies,iee=new Pme(!1);return function eee(see,lee){var cee=iee.lookup(see,lee.clientOnly,lee.deferred);cee.visited||(cee.visited=!0,see.selections.forEach((function(iee){if(Rme(iee,ree.variables)){var see=lee.clientOnly,cee=lee.deferred;if(see&&cee||!zye(iee.directives)||iee.directives.forEach((function(eee){var tee=eee.name.value;if("client"===tee&&(see=!0),"defer"===tee){var oee=Dve(eee,ree.variables);oee&&!1===oee.if||(cee=!0)}})),Fve(iee)){var pee=nee.get(iee);pee&&(see=see&&pee.clientOnly,cee=cee&&pee.deferred),nee.set(iee,z_e(ree,see,cee))}else{var dee=Xme(iee,ree.lookupFragment);if(!dee&&iee.kind===Nue.FRAGMENT_SPREAD)throw rue(13,iee.name.value);dee&&aee.fragmentMatches(dee,oee,tee,ree.variables)&&eee(dee.selectionSet,z_e(ree,see,cee))}}})))}(eee,ree),nee},eee.prototype.applyMerges=function(eee,tee,ree,oee,nee){var _a,aee=this;if(eee.map.size&&!Sve(ree)){var iee,see=Fye(ree)||!Sve(tee)&&!Hke(tee)?void 0:tee,lee=ree;see&&!nee&&(nee=[Sve(see)?see.__ref:see]);var cee=function(eee,tee){return Fye(eee)?"number"==typeof tee?eee[tee]:void 0:oee.store.getFieldValue(eee,String(tee))};eee.map.forEach((function(eee,tee){var ree=cee(see,tee),pee=cee(lee,tee);if(void 0!==pee){nee&&nee.push(tee);var dee=aee.applyMerges(eee,ree,pee,oee,nee);dee!==pee&&(iee=iee||new Map).set(tee,dee),nee&&tue(nee.pop()===tee)}})),iee&&(ree=Fye(lee)?lee.slice(0):cde({},lee),iee.forEach((function(eee,tee){ree[tee]=eee})))}return eee.info?this.cache.policies.runMergeFunction(tee,ree,eee.info,oee,nee&&(_a=oee.store).getStorage.apply(_a,nee)):ree},eee}(),P_e=[];function U_e(_a,eee){var tee=_a.map;return tee.has(eee)||tee.set(eee,P_e.pop()||{map:new Map}),tee.get(eee)}function j_e(eee,tee){if(eee===tee||!tee||$_e(tee))return eee;if(!eee||$_e(eee))return tee;var ree=eee.info&&tee.info?cde(cde({},eee.info),tee.info):eee.info||tee.info,oee=eee.map.size&&tee.map.size,nee={info:ree,map:oee?new Map:eee.map.size?eee.map:tee.map};if(oee){var aee=new Set(tee.map.keys());eee.map.forEach((function(eee,ree){nee.map.set(ree,j_e(eee,tee.map.get(ree))),aee.delete(ree)})),aee.forEach((function(ree){nee.map.set(ree,j_e(tee.map.get(ree),eee.map.get(ree)))}))}return nee}function $_e(eee){return!eee||!(eee.info||eee.map.size)}function V_e(_a,eee){var tee=_a.map,ree=tee.get(eee);ree&&$_e(ree)&&(P_e.push(ree),tee.delete(eee))}var q_e=new Set;var B_e=function(eee){function tee(tee){void 0===tee&&(tee={});var ree=eee.call(this)||this;return ree.watches=new Set,ree.addTypenameTransform=new Cye(Vye),ree.assumeImmutableResults=!0,ree.makeVar=b_e,ree.txCount=0,ree.config=function(eee){return Fxe(Yke,eee)}(tee),ree.addTypename=!!ree.config.addTypename,ree.policies=new D_e({cache:ree,dataIdFromObject:ree.config.dataIdFromObject,possibleTypes:ree.config.possibleTypes,typePolicies:ree.config.typePolicies}),ree.init(),ree}return lde(tee,eee),tee.prototype.init=function(){var eee=this.data=new t_e.Root({policies:this.policies,resultCaching:this.config.resultCaching});this.optimisticData=eee.stump,this.resetResultCache()},tee.prototype.resetResultCache=function(eee){var tee=this,ree=this.storeReader,oee=this.config.fragments;this.storeWriter=new M_e(this,this.storeReader=new d_e({cache:this,addTypename:this.addTypename,resultCacheMaxSize:this.config.resultCacheMaxSize,canonizeResults:Gke(this.config),canon:eee?void 0:ree&&ree.canon,fragments:oee}),oee),this.maybeBroadcastWatch=Aye((function(c,eee){return tee.broadcastWatch(c,eee)}),{max:this.config.resultCacheMaxSize||dve["inMemoryCache.maybeBroadcastWatch"]||5e3,makeCacheKey:function(c){var eee=c.optimistic?tee.optimisticData:tee.data;if(l_e(eee)){var ree=c.optimistic,id=c.id,oee=c.variables;return eee.makeCacheKey(c.query,c.callback,kve({optimistic:ree,id:id,variables:oee}))}}}),new Set([this.data.group,this.optimisticData.group]).forEach((function(eee){return eee.resetCaching()}))},tee.prototype.restore=function(eee){return this.init(),eee&&this.data.replace(eee),this},tee.prototype.extract=function(eee){return void 0===eee&&(eee=!1),(eee?this.optimisticData:this.data).extract()},tee.prototype.read=function(eee){var _a=eee.returnPartialData,tee=void 0!==_a&&_a;try{return this.storeReader.diffQueryAgainstStore(cde(cde({},eee),{store:eee.optimistic?this.optimisticData:this.data,config:this.config,returnPartialData:tee})).result||null}catch(e){if(e instanceof $ke)return null;throw e}},tee.prototype.write=function(eee){try{return++this.txCount,this.storeWriter.writeToStore(this.data,eee)}finally{--this.txCount||!1===eee.broadcast||this.broadcastWatches()}},tee.prototype.modify=function(eee){if(Vke.call(eee,"id")&&!eee.id)return!1;var tee=eee.optimistic?this.optimisticData:this.data;try{return++this.txCount,tee.modify(eee.id||"ROOT_QUERY",eee.fields)}finally{--this.txCount||!1===eee.broadcast||this.broadcastWatches()}},tee.prototype.diff=function(eee){return this.storeReader.diffQueryAgainstStore(cde(cde({},eee),{store:eee.optimistic?this.optimisticData:this.data,rootId:eee.id||"ROOT_QUERY",config:this.config}))},tee.prototype.watch=function(eee){var tee=this;return this.watches.size||function(eee){w_e(eee).vars.forEach((function(rv){return rv.attachCache(eee)}))}(this),this.watches.add(eee),eee.immediate&&this.maybeBroadcastWatch(eee),function(){tee.watches.delete(eee)&&!tee.watches.size&&f_e(tee),tee.maybeBroadcastWatch.forget(eee)}},tee.prototype.gc=function(eee){var _a;kve.reset(),Lye.reset(),this.addTypenameTransform.resetCache(),null===(_a=this.config.fragments)||void 0===_a||_a.resetCaches();var tee=this.optimisticData.gc();return eee&&!this.txCount&&(eee.resetResultCache?this.resetResultCache(eee.resetResultIdentities):eee.resetResultIdentities&&this.storeReader.resetCanon()),tee},tee.prototype.retain=function(eee,tee){return(tee?this.optimisticData:this.data).retain(eee)},tee.prototype.release=function(eee,tee){return(tee?this.optimisticData:this.data).release(eee)},tee.prototype.identify=function(eee){if(Sve(eee))return eee.__ref;try{return this.policies.identify(eee)[0]}catch(e){!1!==globalThis.__DEV__&&tue.warn(e)}},tee.prototype.evict=function(eee){if(!eee.id){if(Vke.call(eee,"id"))return!1;eee=cde(cde({},eee),{id:"ROOT_QUERY"})}try{return++this.txCount,this.optimisticData.evict(eee,this.data)}finally{--this.txCount||!1===eee.broadcast||this.broadcastWatches()}},tee.prototype.reset=function(eee){var tee=this;return this.init(),kve.reset(),eee&&eee.discardWatches?(this.watches.forEach((function(eee){return tee.maybeBroadcastWatch.forget(eee)})),this.watches.clear(),f_e(this)):this.broadcastWatches(),Promise.resolve()},tee.prototype.removeOptimistic=function(eee){var tee=this.optimisticData.removeLayer(eee);tee!==this.optimisticData&&(this.optimisticData=tee,this.broadcastWatches())},tee.prototype.batch=function(eee){var tee,ree=this,oee=eee.update,_a=eee.optimistic,nee=void 0===_a||_a,aee=eee.removeOptimistic,iee=eee.onWatchUpdated,see=function(eee){var _a=ree,nee=_a.data,aee=_a.optimisticData;++ree.txCount,eee&&(ree.data=ree.optimisticData=eee);try{return tee=oee(ree)}finally{--ree.txCount,ree.data=nee,ree.optimisticData=aee}},lee=new Set;return iee&&!this.txCount&&this.broadcastWatches(cde(cde({},eee),{onWatchUpdated:function(eee){return lee.add(eee),!1}})),"string"==typeof nee?this.optimisticData=this.optimisticData.addLayer(nee,see):!1===nee?see(this.data):see(),"string"==typeof aee&&(this.optimisticData=this.optimisticData.removeLayer(aee)),iee&&lee.size?(this.broadcastWatches(cde(cde({},eee),{onWatchUpdated:function(eee,tee){var ree=iee.call(this,eee,tee);return!1!==ree&&lee.delete(eee),ree}})),lee.size&&lee.forEach((function(eee){return ree.maybeBroadcastWatch.dirty(eee)}))):this.broadcastWatches(eee),tee},tee.prototype.performTransaction=function(eee,tee){return this.batch({update:eee,optimistic:tee||null!==tee})},tee.prototype.transformDocument=function(eee){return this.addTypenameToDocument(this.addFragmentsToDocument(eee))},tee.prototype.broadcastWatches=function(eee){var tee=this;this.txCount||this.watches.forEach((function(c){return tee.maybeBroadcastWatch(c,eee)}))},tee.prototype.addFragmentsToDocument=function(eee){var tee=this.config.fragments;return tee?tee.transform(eee):eee},tee.prototype.addTypenameToDocument=function(eee){return this.addTypename?this.addTypenameTransform.transformDocument(eee):eee},tee.prototype.broadcastWatch=function(c,eee){var tee=c.lastDiff,ree=this.diff(c);eee&&(c.optimistic&&"string"==typeof eee.optimistic&&(ree.fromOptimisticTransaction=!0),eee.onWatchUpdated&&!1===eee.onWatchUpdated.call(this,c,ree,tee))||tee&&Oke(tee.result,ree.result)||c.callback(c.lastDiff=ree,tee)},tee}(jke);!1!==globalThis.__DEV__&&(B_e.prototype.getMemoryInternals=gve);var Y_e=function(){function eee(){for(var eee=[],_i=0;_i{if(id){const tee=fEe(eee,id);return tee||fEe(ree,id)}const tee=wEe(eee,oee);return tee||wEe(ree,ree.default)}}else tee=id=>id?fEe(ree,id):wEe(ree,ree.default);function oee(id=eee){const ree=tee(id);if(!ree)throw new Error(`Apollo client with id ${null!=id?id:"default"} not found. Use an app.runWithContext() or provideApolloClient() if you are outside of a component setup.`);return ree}return{resolveClient:oee,get client(){return oee()}}}var mEe={};function vEe(eee){return xre(eee)?eee:"function"==typeof eee?Sae(eee):kre(eee)}function yEe(){const eee=[];function tee(fn){const tee=eee.indexOf(fn);-1!==tee&&eee.splice(tee,1)}return{on:function(fn){return eee.push(fn),{off:()=>tee(fn)}},off:tee,trigger:function(...tee){for(const fn of eee)fn(...tee)},getCount:function(){return eee.length}}}var xEe="undefined"==typeof window,kEe={queries:kre(0),mutations:kre(0),subscriptions:kre(0),components:new Map};function _Ee(eee,tee){if(xEe)return;const{tracking:ree}=function(){const vm=gae();if(!vm)return{};let eee;return kEe.components.has(vm)?eee=kEe.components.get(vm):(kEe.components.set(vm,eee={queries:kre(0),mutations:kre(0),subscriptions:kre(0)}),Foe((()=>{kEe.components.delete(vm)}))),{tracking:eee}}();goe(eee,((eee,oee)=>{if(null!=oee&&eee!==oee){const oee=eee?1:-1;ree&&(ree[tee].value+=oee),kEe[tee].value+=oee}}),{immediate:!0}),Loe((()=>{eee.value&&(ree&&ree[tee].value--,kEe[tee].value--)}))}function EEe(eee){return eee instanceof Error?ike(eee)?eee:new ske({networkError:eee,errorMessage:eee.message}):new ske({networkError:Object.assign(new Error,{originalError:eee}),errorMessage:String(eee)})}function TEe(eee,tee,ree){return function(eee,tee,ree={},oee=!1){var _a;const vm=gae(),nee=kre(),aee=vEe(eee),iee=vEe(tee),see=(hee=ree,xre(hee)?hee:"function"==typeof hee?Sae(hee):hee?lre(hee):hee),lee=_re(),cee=yEe(),pee=_re(null),dee=yEe(),uee=kre(!1);var hee;vm&&function(eee){_Ee(eee,"queries")}(uee);const gee=kre();let wee,fee,bee,mee=!1;const vee=()=>{mee=!0,wee&&wee()},yee=eee=>{bee=eee,fee&&fee(eee)},xee=()=>{wee=void 0,fee=void 0,mee=!1,bee=void 0};vm&&(null==(_a=zoe)||_a((()=>{var eee;if(Wee.value&&(!xEe||!1!==(null==(eee=nee.value)?void 0:eee.prefetch)))return new Promise(((eee,tee)=>{wee=()=>{xee(),eee()},fee=eee=>{xee(),tee(eee)},mee?wee():bee&&fee(bee)})).finally(Pee)})));const{resolveClient:kee}=bEe();function _ee(){var eee;return kee(null==(eee=nee.value)?void 0:eee.clientId)}const Eee=_re();let Tee,See=!1,Iee=!1,Oee=!0;function Nee(){var eee,_b,_c,_d,_e;if(See||!Wee.value||xEe&&!1===(null==(eee=nee.value)?void 0:eee.prefetch)||!Yee)return void vee();xEe&&(Hee(aee.value),Jee(iee.value),Kee(Sre(see))),See=!0,pee.value=null,uee.value=!0;const tee=_ee();if(Eee.value=tee.watchQuery({query:Yee,variables:null!=Xee?Xee:{},...nee.value,...xEe&&"no-cache"!==(null==(_b=nee.value)?void 0:_b.fetchPolicy)?{fetchPolicy:"network-only"}:{}}),Aee(),!xEe&&(Oee||!(null==(_c=nee.value)?void 0:_c.keepPreviousResult))&&("no-cache"!==(null==(_d=nee.value)?void 0:_d.fetchPolicy)||nee.value.notifyOnNetworkStatusChange)){const eee=Eee.value.getCurrentResult(!1);!eee.loading||eee.partial||(null==(_e=nee.value)?void 0:_e.notifyOnNetworkStatusChange)?(Dee(eee),Iee=!eee.loading):eee.error&&(Lee(eee.error),Iee=!0)}if(!xEe)for(const ree of rte)nte(ree);Oee=!1}function Aee(){Tee&&!Tee.closed||Eee.value&&(Iee=!1,Tee=Eee.value.subscribe({next:Dee,error:Lee}))}function Ree(){var eee,_b,_c,_d;const tee=kee(null==(eee=nee.value)?void 0:eee.clientId);return(null==(_b=nee.value)?void 0:_b.errorPolicy)||(null==(_d=null==(_c=tee.defaultOptions)?void 0:_c.watchQuery)?void 0:_d.errorPolicy)}function Dee(eee){var tee;if(Iee)return void(Iee=!1);pee.value=null,Cee(eee);const ree=Ree();ree&&"all"===ree&&!eee.error&&(null==(tee=eee.errors)?void 0:tee.length)&&Fee(function(eee){return new ske({graphQLErrors:eee,errorMessage:`GraphQL response contains errors: ${eee.map((e=>e.message)).join(" | ")}`})}(eee.errors)),vee()}function Cee(eee){lee.value=eee.data&&0===Object.keys(eee.data).length?void 0:eee.data,uee.value=eee.loading,gee.value=eee.networkStatus,Qre((()=>{cee.trigger(eee,{client:_ee()})}))}function Lee(eee){if(Iee)return void(Iee=!1);const tee=EEe(eee),ree=Ree();ree&&"none"!==ree&&Cee(Eee.value.getCurrentResult()),Fee(tee),yee(tee),zee()}function Fee(eee){pee.value=eee,uee.value=!1,gee.value=8,Qre((()=>{dee.trigger(eee,{client:_ee()})}))}function zee(){if(!Eee.value)return;const eee=Eee.value.getLastError(),tee=Eee.value.getLastResult();Eee.value.resetLastResults(),Aee(),Object.assign(Eee.value,{lastError:eee,lastResult:tee})}let Mee=[];function Pee(){vee(),See&&(See=!1,uee.value=!1,Mee.forEach((eee=>eee())),Mee=[],Eee.value&&(Eee.value.stopPolling(),Eee.value=null),Tee&&(Tee.unsubscribe(),Tee=void 0))}let Uee,jee=!1;function $ee(){See&&!jee&&(jee=!0,Qre((()=>{See&&(Pee(),Nee()),jee=!1})))}let Vee=!1;function qee(){var eee,_b,tee,ree;nee.value?((null==(eee=nee.value)?void 0:eee.throttle)?Uee=ide(nee.value.throttle,$ee):(null==(_b=nee.value)?void 0:_b.debounce)?(tee=nee.value.debounce,Uee=ide(tee,$ee,{debounceMode:!1!==(void 0!==(ree={}.atBegin)&&ree)})):Uee=$ee,Vee=!0):Uee=$ee}function Bee(){See&&!jee&&(Vee||qee(),Uee())}let Yee=aee.value;const Gee=kre(oee),Qee=Sae((()=>!nee.value||null==nee.value.enabled||nee.value.enabled)),Wee=Sae((()=>Qee.value&&!Gee.value&&!!aee.value));function Kee(eee){!nee.value||nee.value.throttle===eee.throttle&&nee.value.debounce===eee.debounce||qee(),nee.value=eee,Bee()}function Hee(eee){Yee=eee,Bee()}let Xee,Zee;function Jee(eee){const tee=JSON.stringify([eee,Wee.value]);tee!==Zee&&(Xee=eee,Bee()),Zee=tee}function ete(eee=void 0){if(Eee.value)return eee&&(Xee=eee),pee.value=null,uee.value=!0,Eee.value.refetch(eee).then((eee=>{var tee;const ree=null==(tee=Eee.value)?void 0:tee.getCurrentResult();return ree&&Cee(ree),eee}))}function tte(eee){if(Eee.value)return pee.value=null,uee.value=!0,Eee.value.fetchMore(eee).then((eee=>{var tee;const ree=null==(tee=Eee.value)?void 0:tee.getCurrentResult();return ree&&Cee(ree),eee}))}goe((()=>Sre(see)),Kee,{deep:!0,immediate:!0}),goe(aee,Hee),goe((()=>Wee.value?iee.value:void 0),Jee,{deep:!0,immediate:!0});const rte=[];function ote(eee){if(xEe)return;goe(vEe(eee),((eee,tee,ree)=>{const oee=rte.findIndex((eee=>eee.options===tee));-1!==oee&&rte.splice(oee,1);const nee={options:eee,unsubscribeFns:[]};rte.push(nee),nte(nee),ree((()=>{nee.unsubscribeFns.forEach((fn=>fn())),nee.unsubscribeFns=[]}))}),{immediate:!0})}function nte(eee){if(!See)return;if(!Eee.value)throw new Error("Query is not defined");const tee=Eee.value.subscribeToMore(eee.options);Mee.push(tee),eee.unsubscribeFns.push(tee)}goe(Wee,(eee=>{eee?Qre((()=>{Nee()})):Pee()})),Wee.value&&Nee();return vm&&Loe((()=>{Pee(),rte.length=0})),{result:lee,loading:uee,networkStatus:gee,error:pee,start:Nee,stop:Pee,restart:Bee,forceDisabled:Gee,document:aee,variables:iee,options:see,query:Eee,refetch:ete,fetchMore:tte,subscribeToMore:ote,onResult:cee.on,onError:dee.on}}(eee,tee,ree)}function SEe(eee,tee={}){const vm=gae(),ree=kre(!1);vm&&function(eee){_Ee(eee,"mutations")}(ree);const oee=_re(null),nee=kre(!1),aee=yEe(),iee=yEe(),{resolveClient:see}=bEe();return vm&&Loe((()=>{ree.value=!1})),{mutate:async function(lee,cee={}){let pee,dee;pee="function"==typeof eee?eee():xre(eee)?eee.value:eee,dee="function"==typeof tee?tee():xre(tee)?tee.value:tee;const uee=see(dee.clientId);oee.value=null,ree.value=!0,nee.value=!0;try{const eee=await uee.mutate({mutation:pee,...dee,...cee,variables:(null!=lee?lee:dee.variables)?{...dee.variables,...lee}:void 0});return ree.value=!1,aee.trigger(eee,{client:uee}),eee}catch(e){const eee=EEe(e);if(oee.value=eee,ree.value=!1,iee.trigger(eee,{client:uee}),"always"===dee.throws||"never"!==dee.throws&&!iee.getCount())throw eee}return null},loading:ree,error:oee,called:nee,onDone:aee.on,onError:iee.on}}var IEe=(eee=>(eee.Always="ALWAYS",eee.Disabled="DISABLED",eee.Dynamic="DYNAMIC",eee))(IEe||{}),OEe=(eee=>(eee.Static="STATIC",eee.Upnp="UPNP",eee))(OEe||{});const NEe={"\n mutation ConnectSignIn($input: ConnectSignInInput!) {\n connectSignIn(input: $input)\n }\n":{kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"ConnectSignIn"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"input"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"ConnectSignInInput"}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"connectSignIn"},arguments:[{kind:"Argument",name:{kind:"Name",value:"input"},value:{kind:"Variable",name:{kind:"Name",value:"input"}}}]}]}}]},"\n mutation SignOut {\n connectSignOut\n }\n":{kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"SignOut"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"connectSignOut"}}]}}]},"\n fragment PartialCloud on Cloud {\n error\n apiKey {\n valid\n error\n }\n cloud {\n status\n error\n }\n minigraphql {\n status\n error\n }\n relay {\n status\n error\n }\n }\n":{kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"PartialCloud"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Cloud"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"error"}},{kind:"Field",name:{kind:"Name",value:"apiKey"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"valid"}},{kind:"Field",name:{kind:"Name",value:"error"}}]}},{kind:"Field",name:{kind:"Name",value:"cloud"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"status"}},{kind:"Field",name:{kind:"Name",value:"error"}}]}},{kind:"Field",name:{kind:"Name",value:"minigraphql"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"status"}},{kind:"Field",name:{kind:"Name",value:"error"}}]}},{kind:"Field",name:{kind:"Name",value:"relay"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"status"}},{kind:"Field",name:{kind:"Name",value:"error"}}]}}]}}]},"\n query serverState {\n cloud {\n ...PartialCloud\n }\n config {\n error\n valid\n }\n info {\n os {\n hostname\n }\n }\n owner {\n avatar\n username\n }\n registration {\n state\n expiration\n keyFile {\n contents\n }\n updateExpiration\n }\n vars {\n regGen\n regState\n configError\n configValid\n }\n }\n":{kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"serverState"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"cloud"},selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"PartialCloud"}}]}},{kind:"Field",name:{kind:"Name",value:"config"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"error"}},{kind:"Field",name:{kind:"Name",value:"valid"}}]}},{kind:"Field",name:{kind:"Name",value:"info"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"os"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"hostname"}}]}}]}},{kind:"Field",name:{kind:"Name",value:"owner"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"avatar"}},{kind:"Field",name:{kind:"Name",value:"username"}}]}},{kind:"Field",name:{kind:"Name",value:"registration"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"state"}},{kind:"Field",name:{kind:"Name",value:"expiration"}},{kind:"Field",name:{kind:"Name",value:"keyFile"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"contents"}}]}},{kind:"Field",name:{kind:"Name",value:"updateExpiration"}}]}},{kind:"Field",name:{kind:"Name",value:"vars"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"regGen"}},{kind:"Field",name:{kind:"Name",value:"regState"}},{kind:"Field",name:{kind:"Name",value:"configError"}},{kind:"Field",name:{kind:"Name",value:"configValid"}}]}}]}},{kind:"FragmentDefinition",name:{kind:"Name",value:"PartialCloud"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Cloud"}},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"error"}},{kind:"Field",name:{kind:"Name",value:"apiKey"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"valid"}},{kind:"Field",name:{kind:"Name",value:"error"}}]}},{kind:"Field",name:{kind:"Name",value:"cloud"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"status"}},{kind:"Field",name:{kind:"Name",value:"error"}}]}},{kind:"Field",name:{kind:"Name",value:"minigraphql"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"status"}},{kind:"Field",name:{kind:"Name",value:"error"}}]}},{kind:"Field",name:{kind:"Name",value:"relay"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"status"}},{kind:"Field",name:{kind:"Name",value:"error"}}]}}]}}]},"\n query getExtraAllowedOrigins {\n extraAllowedOrigins\n }\n":{kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"getExtraAllowedOrigins"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"extraAllowedOrigins"}}]}}]},"\n query getRemoteAccess {\n remoteAccess {\n accessType\n forwardType\n port\n }\n }\n":{kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"getRemoteAccess"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"remoteAccess"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"accessType"}},{kind:"Field",name:{kind:"Name",value:"forwardType"}},{kind:"Field",name:{kind:"Name",value:"port"}}]}}]}}]},"\n mutation setAdditionalAllowedOrigins($input: AllowedOriginInput!) {\n setAdditionalAllowedOrigins(input: $input)\n }\n":{kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"setAdditionalAllowedOrigins"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"input"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"AllowedOriginInput"}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"setAdditionalAllowedOrigins"},arguments:[{kind:"Argument",name:{kind:"Name",value:"input"},value:{kind:"Variable",name:{kind:"Name",value:"input"}}}]}]}}]},"\n mutation setupRemoteAccess($input: SetupRemoteAccessInput!) {\n setupRemoteAccess(input: $input)\n }\n":{kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"setupRemoteAccess"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"input"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"SetupRemoteAccessInput"}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"setupRemoteAccess"},arguments:[{kind:"Argument",name:{kind:"Name",value:"input"},value:{kind:"Variable",name:{kind:"Name",value:"input"}}}]}]}}]}};function AEe(eee){return NEe[eee]??{}}AEe("\n fragment PartialCloud on Cloud {\n error\n apiKey {\n valid\n error\n }\n cloud {\n status\n error\n }\n minigraphql {\n status\n error\n }\n relay {\n status\n error\n }\n }\n");const REe=AEe("\n query serverState {\n cloud {\n ...PartialCloud\n }\n config {\n error\n valid\n }\n info {\n os {\n hostname\n }\n }\n owner {\n avatar\n username\n }\n registration {\n state\n expiration\n keyFile {\n contents\n }\n updateExpiration\n }\n vars {\n regGen\n regState\n configError\n configValid\n }\n }\n");const DEe="Content-Type",CEe=Symbol(),LEe=Symbol();function FEe(eee={}){var _a;return null===(_a=Object.entries(eee).find((([k])=>k.toLowerCase()===DEe.toLowerCase())))||void 0===_a?void 0:_a[1]}function zEe(eee){return/^application\/.*json.*/.test(eee)}const MEe=function(eee,tee,ree=!1){return Object.entries(tee).reduce(((tee,[oee,nee])=>{const aee=eee[oee];return Array.isArray(aee)&&Array.isArray(nee)?tee[oee]=ree?[...aee,...nee]:nee:tee[oee]="object"==typeof aee&&"object"==typeof nee?MEe(aee,nee,ree):nee,tee}),{...eee})},PEe={options:{},errorType:"text",polyfills:{},polyfill(p,eee=!0,tee=!1,...ree){const oee=this.polyfills[p]||("undefined"!=typeof self?self[p]:null)||("undefined"!=typeof global?global[p]:null);if(eee&&!oee)throw new Error(p+" is not defined");return tee&&oee?new oee(...ree):oee}};class UEe extends Error{}const jEe=eee=>{const tee=Object.create(null);eee=eee._addons.reduce(((w,ree)=>ree.beforeRequest&&ree.beforeRequest(w,eee._options,tee)||w),eee);const{_url:ree,_options:oee,_config:nee,_catchers:aee,_resolvers:iee,_middlewares:see,_addons:lee}=eee,cee=new Map(aee),pee=MEe(nee.options,oee);let dee=ree;const uee=(eee=>tee=>eee.reduceRight(((eee,tee)=>tee(eee)),tee)||tee)(see)(((eee,tee)=>(dee=eee,nee.polyfill("fetch")(eee,tee))))(ree,pee),hee=new Error,gee=uee.catch((eee=>{throw{[CEe]:eee}})).then((eee=>{if(!eee.ok){const tee=new UEe;if(tee.cause=hee,tee.stack=tee.stack+"\nCAUSE: "+hee.stack,tee.response=eee,tee.url=dee,"opaque"===eee.type)throw tee;return eee.text().then((ree=>{var _a;if(tee.message=ree,"json"===nee.errorType||"application/json"===(null===(_a=eee.headers.get("Content-Type"))||void 0===_a?void 0:_a.split(";")[0]))try{tee.json=JSON.parse(ree)}catch(e){}throw tee.text=ree,tee.status=eee.status,tee}))}return eee})),wee=tee=>tee.catch((tee=>{const ree=tee.hasOwnProperty(CEe),oee=ree?tee[CEe]:tee,nee=(null==oee?void 0:oee.status)&&cee.get(oee.status)||cee.get(null==oee?void 0:oee.name)||ree&&cee.has(CEe)&&cee.get(CEe);if(nee)return nee(oee,eee);const aee=cee.get(LEe);if(aee)return aee(oee,eee);throw oee})),fee=eee=>cb=>wee(eee?gee.then((_=>_&&_[eee]())).then((_=>cb?cb(_):_)):gee.then((_=>cb?cb(_):_))),bee={_wretchReq:eee,_fetchReq:uee,_sharedState:tee,res:fee(null),json:fee("json"),blob:fee("blob"),formData:fee("formData"),arrayBuffer:fee("arrayBuffer"),text:fee("text"),error(eee,cb){return cee.set(eee,cb),this},badRequest(cb){return this.error(400,cb)},unauthorized(cb){return this.error(401,cb)},forbidden(cb){return this.error(403,cb)},notFound(cb){return this.error(404,cb)},timeout(cb){return this.error(408,cb)},internalError(cb){return this.error(500,cb)},fetchError(cb){return this.error(CEe,cb)}},mee=lee.reduce(((eee,tee)=>({...eee,..."function"==typeof tee.resolver?tee.resolver(eee):tee.resolver})),bee);return iee.reduce(((tee,r)=>r(tee,eee)),mee)},$Ee={_url:"",_options:{},_config:PEe,_catchers:new Map,_resolvers:[],_deferred:[],_middlewares:[],_addons:[],addon(eee){return{...this,_addons:[...this._addons,eee],...eee.wretch}},errorType(eee){return{...this,_config:{...this._config,errorType:eee}}},polyfills(eee,tee=!1){return{...this,_config:{...this._config,polyfills:tee?eee:MEe(this._config.polyfills,eee)}}},url(eee,tee=!1){if(tee)return{...this,_url:eee};const ree=this._url.split("?");return{...this,_url:ree.length>1?ree[0]+eee+"?"+ree[1]:this._url+eee}},options(eee,tee=!1){return{...this,_options:tee?eee:MEe(this._options,eee)}},headers(eee){const tee=eee?Array.isArray(eee)?Object.fromEntries(eee):"entries"in eee?Object.fromEntries(eee.entries()):eee:{};return{...this,_options:MEe(this._options,{headers:tee})}},accept(eee){return this.headers({Accept:eee})},content(eee){return this.headers({[DEe]:eee})},auth(eee){return this.headers({Authorization:eee})},catcher(eee,tee){const ree=new Map(this._catchers);return ree.set(eee,tee),{...this,_catchers:ree}},catcherFallback(eee){return this.catcher(LEe,eee)},resolve(eee,tee=!1){return{...this,_resolvers:tee?[eee]:[...this._resolvers,eee]}},defer(eee,tee=!1){return{...this,_deferred:tee?[eee]:[...this._deferred,eee]}},middlewares(eee,tee=!1){return{...this,_middlewares:tee?eee:[...this._middlewares,...eee]}},fetch(eee=this._options.method,tee="",ree=null){let oee=this.url(tee).options({method:eee});const nee=FEe(oee._options.headers),aee="object"==typeof ree&&(!oee._options.headers||!nee||zEe(nee));return oee=ree?aee?oee.json(ree,nee):oee.body(ree):oee,jEe(oee._deferred.reduce(((eee,tee)=>tee(eee,eee._url,eee._options)),oee))},get(eee=""){return this.fetch("GET",eee)},delete(eee=""){return this.fetch("DELETE",eee)},put(eee,tee=""){return this.fetch("PUT",tee,eee)},post(eee,tee=""){return this.fetch("POST",tee,eee)},patch(eee,tee=""){return this.fetch("PATCH",tee,eee)},head(eee=""){return this.fetch("HEAD",eee)},opts(eee=""){return this.fetch("OPTIONS",eee)},body(eee){return{...this,_options:{...this._options,body:eee}}},json(eee,tee){const ree=FEe(this._options.headers);return this.content(tee||zEe(ree)&&ree||"application/json").body(JSON.stringify(eee))}};function VEe(eee="",tee={}){return{...$Ee,_url:eee,_options:tee}}function qEe(eee,tee=!1,ree,oee=ree.polyfill("FormData",!0,!0),nee=[]){return Object.entries(eee).forEach((([eee,aee])=>{let iee=nee.reduce(((eee,tee)=>eee?`${eee}[${tee}]`:tee),null);if(iee=iee?`${iee}[${eee}]`:eee,aee instanceof Array||globalThis.FileList&&aee instanceof FileList)for(const tee of aee)oee.append(iee,tee);else!tee||"object"!=typeof aee||tee instanceof Array&&tee.includes(eee)?oee.append(iee,aee):null!==aee&&qEe(aee,tee,ree,oee,[...nee,eee])})),oee}VEe.default=VEe,VEe.options=function(eee,tee=!1){PEe.options=tee?eee:MEe(PEe.options,eee)},VEe.errorType=function(eee){PEe.errorType=eee},VEe.polyfills=function(eee,tee=!1){PEe.polyfills=tee?eee:MEe(PEe.polyfills,eee)},VEe.WretchError=UEe;const BEe={wretch:{formData(eee,tee=!1){return this.body(qEe(eee,tee,this._config))}}};function YEe(eee,tee){return encodeURIComponent(eee)+"="+encodeURIComponent("object"==typeof tee?JSON.stringify(tee):""+tee)}const GEe={wretch:{formUrl(eee){return this.body("string"==typeof eee?eee:(tee=eee,Object.keys(tee).map((eee=>{const ree=tee[eee];return ree instanceof Array?ree.map((v=>YEe(eee,v))).join("&"):YEe(eee,ree)})).join("&"))).content("application/x-www-form-urlencoded");var tee}}};function QEe(eee){return void 0!==eee?eee:""}const WEe=(eee,qp,tee,ree)=>{let oee;if("string"==typeof qp)oee=qp;else{const eee=ree.polyfill("URLSearchParams",!0,!0);for(const tee in qp){const ree=qp[tee];if(qp[tee]instanceof Array)for(const oee of ree)eee.append(tee,QEe(oee));else eee.append(tee,QEe(ree))}oee=eee.toString()}const nee=eee.split("?");return oee?tee||nee.length<2?nee[0]+"?"+oee:eee+"&"+oee:tee?nee[0]:eee},KEe={wretch:{query(qp,eee=!1){return{...this,_url:WEe(this._url,qp,eee,this._config)}}}};Fce(jce());const HEe=Hce("errors",(()=>{const eee=kre([]);return{errors:eee,removeErrorByIndex:tee=>{eee.value=eee.value.filter(((eee,i)=>i!==tee))},removeErrorByRef:tee=>{eee.value=eee.value.filter((eee=>eee?.ref!==tee))},resetErrors:()=>{eee.value=[]},setError:tee=>{eee.value.push(tee)},openTroubleshoot:async tee=>{try{await FeedbackButton();let ree=document.querySelector(".sweet-alert.visible");for(;!ree;)await new Promise((eee=>setTimeout(eee,100))),ree=document.querySelector(".sweet-alert.visible");if(eee.value.length){let tee=ree.querySelector("#troubleshootDetails");for(;!tee;)await new Promise((eee=>setTimeout(eee,100))),tee=ree.querySelector("#troubleshootDetails");const oee=eee.value.map(((eee,tee)=>{const ree=tee+1;let oee=`• Error ${ree}: ${eee.heading}\n`;var nee;return oee+=`• Error ${ree} Message: ${eee.message}\n`,oee+=`• Error ${ree} Level: ${eee.level}\n`,oee+=`• Error ${ree} Type: ${eee.type}\n`,eee.ref&&(oee+=`• Error ${ree} Ref: ${eee.ref}\n`),eee.debugServer&&(oee+=`• Error ${ree} Debug Server:\n${nee=eee.debugServer,Object.entries(nee).reduce(((eee,[p,tee])=>`${eee}${p}: ${tee}\n`),"")}\n`),oee})).join("\n***************\n");tee.value+="\n##########################\n",tee.value+=`# Debug Details – Component Errors ${eee.value.length} #\n`,tee.value+="##########################\n",tee.value+=oee}let oee=ree.querySelector("#troubleshootEmail");for(;!oee;)await new Promise((eee=>setTimeout(eee,100))),oee=ree.querySelector("#troubleshootEmail");tee.email?oee.value=tee.email:oee.focus();let nee=ree.querySelector("#optTroubleshoot");for(;!nee;)await new Promise((eee=>setTimeout(eee,100))),nee=ree.querySelector("#optTroubleshoot");nee.checked=!0;let aee=ree.querySelectorAll(".allpanels");for(;!aee;)await new Promise((eee=>setTimeout(eee,100))),aee=ree.querySelectorAll(".allpanels");aee.forEach((eee=>{"troubleshoot_panel"===eee.id?eee.style.display="block":eee.style.display="none"}))}catch(ree){}}}})),XEe=HEe(),ZEe=VEe().addon(BEe).addon(GEe).addon(KEe).errorType("json").resolve((eee=>eee.error("Error",(eee=>{XEe.setError({heading:`WretchError ${eee.status}`,message:`${eee.text} • ${eee.url}`,level:"error",ref:"wretchError",type:"request"})})).error("TypeError",(eee=>{XEe.setError({heading:`WretchTypeError ${eee.status}`,message:`${eee.text} • ${eee.url}`,level:"error",ref:"wretchTypeError",type:"request"})}))));const JEe=new URL(sessionStorage.getItem("unraidAccountUrl")??"https://account.unraid.net"??"https://account.unraid.net"),eTe=new URL("https://docs.unraid.net"),tTe=new URL("https://forums.unraid.net"),rTe=new URL(sessionStorage.getItem("unraidPurchaseUrl")??"https://unraid.net"??"https://unraid.net"),oTe=new URL("c",JEe),nTe=new URL("/bug-reports",tTe);new URL("/go/connect/",eTe);const aTe=new URL("https://connect.myunraid.net"),iTe=new URL("/forum/94-connect-plugin-support/",tTe),sTe=new URL("/contact",rTe),lTe=new URL("https://discord.unraid.net"),cTe=new URL("/c",rTe);new URL("/support",rTe);const pTe=new URL({VITE_ACCOUNT:"https://account.unraid.net",VITE_CONNECT:"https://connect.myunraid.net",VITE_UNRAID_NET:"https://unraid.net",VITE_OS_RELEASES:"https://releases.unraid.net/os",VITE_CALLBACK_KEY:"Uyv2o8e*FiQe8VeLekTqyX6Z*8XonB",BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1}.VITE_WEBGUI??window.location.origin),dTe=new URL("/graphql",pTe),uTe=new URL("/Settings/ManagementAccess",pTe),hTe=new URL("#UnraidNetSettings",uTe),gTe=new URL("/Tools/Downgrade",pTe),wTe=new URL("/Tools/Registration",pTe),fTe=new URL("/Tools/Update",pTe),bTe=new URL("https://releases.unraid.net/os"),mTe=new URL("/go/release-notes/",eTe),vTe=eee=>{const tee=eee.split("-")[0];return new URL(`/unraid-os/release-notes/${tee}`,eTe)},yTe=new URL("/go/faq-licensing/",eTe),xTe=new URL("/go/changing-the-flash-device/",eTe);new URL("https://unraid.net");const kTe=ZEe.url("/webGui/include/InstallKey.php");ZEe.url("/update.php");const _Te=ZEe.url("/plugins/dynamix.my.servers/data/server-state.php"),ETe=async eee=>{try{return await ZEe.url("/plugins/dynamix.plugin.manager/include/UnraidCheck.php").query(eee).get().json((eee=>eee)).catch((eee=>{throw new Error("Error ignoring update")}))}catch(tee){throw new Error("Error ignoring update")}};function TTe(eee,tee=!0){if(function(eee){const tee=[],{graphQLErrors:ree,networkError:oee}=eee,nee="operation"in eee?eee.operation:void 0,aee="stack"in eee?eee.stack:void 0;let iee;return nee&&(iee=Uhe(nee.query)),ree&&ree.forEach((({message:eee,locations:ree})=>{tee.push(`[GraphQL error] ${eee}`),nee&&(tee.push(function(eee,tee){const ree=eee.split("\n"),l=ree.length,oee=ree.slice(),nee={};for(let i=0;i{const tee=/\[([\w ]*)](.*)/.exec(eee);if(tee){const[,eee,ree]=tee;console.log(`%c${eee}`,"color:white;border-radius:3px;background:#ff4400;font-weight:bold;padding:2px 6px;",ree)}else console.log(eee)})),tee){let eee=(new Error).stack;if(null==eee)return;const tee=eee.indexOf("\n");eee=eee.slice(eee.indexOf("\n",tee+1)),console.log(`%c${eee}`,"color:grey;")}}const STe=AEe("\n mutation ConnectSignIn($input: ConnectSignInInput!) {\n connectSignIn(input: $input)\n }\n"),ITe=AEe("\n mutation SignOut {\n connectSignOut\n }\n"),OTe=e=>{e.preventDefault(),e.returnValue="",confirm("Closing this pop-up window while actions are being preformed may lead to unintended errors.")},NTe=()=>{window.addEventListener("beforeunload",OTe)},ATe=()=>{window.removeEventListener("beforeunload",OTe)};Fce(jce());const RTe=Hce("installKey",(()=>{const eee=HEe(),tee=kre("ready"),ree=kre(),oee=Sae((()=>ree.value?.type)),nee=Sae((()=>ree.value?.keyUrl)),aee=Sae((()=>{if(!nee.value)return;const eee=nee.value.split("/");return eee[eee.length-1].replace(/\.key|\.unkey/g,"")}));return{keyInstallStatus:tee,keyActionType:oee,keyType:aee,keyUrl:nee,install:async oee=>{if(tee.value="installing",ree.value=oee,nee.value)try{await kTe.query({url:nee.value}).get();tee.value="success"}catch(aee){let ree="Unknown error";"string"==typeof aee?ree=aee.toUpperCase():aee instanceof Error&&(ree=aee.message),tee.value="failed",eee.setError({heading:"Failed to install key",message:ree,level:"error",ref:"installKey",type:"installKey"})}else tee.value="failed"}}}));var DTe={exports:{}};DTe.exports=function(){var e={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},t=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\d\d/,r=/\d\d?/,i=/\d*[^-_:/,()\s\d]+/,o={},s=function(e){return(e=+e)+(e>68?1900:2e3)},a=function(e){return function(t){this[e]=+t}},f=[/[+-]\d\d:?(\d\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if("Z"===e)return 0;var t=e.match(/([+-]|\d\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:"+"===t[0]?-n:n}(e)}],h=function(e){var t=o[e];return t&&(t.indexOf?t:t.s.concat(t.f))},u=function(e,t){var n,r=o.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?"pm":"PM");return n},d={A:[i,function(e){this.afternoon=u(e,!1)}],a:[i,function(e){this.afternoon=u(e,!0)}],S:[/\d/,function(e){this.milliseconds=100*+e}],SS:[n,function(e){this.milliseconds=10*+e}],SSS:[/\d{3}/,function(e){this.milliseconds=+e}],s:[r,a("seconds")],ss:[r,a("seconds")],m:[r,a("minutes")],mm:[r,a("minutes")],H:[r,a("hours")],h:[r,a("hours")],HH:[r,a("hours")],hh:[r,a("hours")],D:[r,a("day")],DD:[n,a("day")],Do:[i,function(e){var t=o.ordinal,n=e.match(/\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\[|\]/g,"")===e&&(this.day=r)}],M:[r,a("month")],MM:[n,a("month")],MMM:[i,function(e){var t=h("months"),n=(h("monthsShort")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[i,function(e){var t=h("months").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\d+/,a("year")],YY:[n,function(e){this.year=s(e)}],YYYY:[/\d{4}/,a("year")],Z:f,ZZ:f};function c(n){var r,i;r=n,i=o&&o.formats;for(var s=(n=r.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=s.length,f=0;f-1)return new Date(("X"===t?1e3:1)*e);var r=c(t)(e),i=r.year,o=r.month,s=r.day,a=r.hours,f=r.minutes,h=r.seconds,u=r.milliseconds,d=r.zone,l=new Date,m=s||(i||o?1:l.getDate()),M=i||l.getFullYear(),Y=0;i&&!o||(Y=o>0?o-1:l.getMonth());var p=a||0,v=f||0,D=h||0,g=u||0;return d?new Date(Date.UTC(M,Y,m,p,v,D,g+60*d.offset*1e3)):n?new Date(Date.UTC(M,Y,m,p,v,D,g)):new Date(M,Y,m,p,v,D,g)}catch(e){return new Date("")}}(t,a,r),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date("")),o={}}else if(a instanceof Array)for(var l=a.length,m=1;m<=l;m+=1){s[1]=a[m-1];var M=n.apply(this,s);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===l&&(this.$d=new Date(""))}else i.call(this,e)}}}();const CTe=Jce(DTe.exports);var LTe={exports:{}};LTe.exports=function(r,e,t){r=r||{};var n=e.prototype,o={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function i(r,e,t,o){return n.fromToBase(r,e,t,o)}t.en.relativeTime=o,n.fromToBase=function(e,n,i,d,u){for(var f,a,s,l=i.$locale().relativeTime||o,h=r.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],m=h.length,c=0;c0,p<=y.r||!y.r){p<=1&&c>0&&(y=h[c-1]);var v=l[y.l];u&&(p=u(""+p)),a="string"==typeof v?v.replace("%d",p):v(p,n,y.l,s);break}}if(n)return a;var M=s?l.future:l.past;return"function"==typeof M?M(a):M.replace("%s",a)},n.to=function(r,e){return i(r,e,this,!0)},n.from=function(r,e){return i(r,e,this)};var d=function(r){return r.$u?t.utc():t()};n.toNow=function(r){return this.to(d(this),r)},n.fromNow=function(r){return this.from(d(this),r)}};const FTe=Jce(LTe.exports);Fce(jce()),rpe.extend(CTe),rpe.extend(FTe);const zTe=Hce("updateOs",(()=>{const eee=kre(!1),tee=kre(!1),ree=pIe(),oee=Sae((()=>ree.regExp)),nee=Sae((()=>ree.regUpdatesExpired)),aee=Sae((()=>ree.updateOsResponse)),iee=Sae((()=>ree.updateOsIgnoredReleases)),see=Sae((()=>{if(aee.value&&!iee.value.includes(aee.value.version))return aee.value.isNewer?aee.value.version:void 0})),lee=Sae((()=>{if(see.value&&aee.value&&oee.value&&nee.value)return aee.value?.isEligible?void 0:aee.value.version})),cee=Sae((()=>aee.value?.date?ope(aee.value.date,"YYYY-MM-DD"):void 0)),pee=Sae((()=>!aee.value?.sha256)),dee=eee=>{tee.value=eee};return{available:see,availableWithRenewal:lee,checkForUpdatesLoading:eee,modalOpen:tee,updateOsIgnoredReleases:iee,availableReleaseDate:cee,availableRequiresAuth:pee,localCheckForUpdate:async()=>{eee.value=!0,dee(!0);try{const tee=await(async()=>{try{const eee={action:"check",json:!0};return"https://releases.unraid.net/os"!==bTe.toString()&&(eee.altUrl=bTe.toString()),await ZEe.url("/plugins/dynamix.plugin.manager/include/UnraidCheck.php").query(eee).get().json((eee=>eee)).catch((eee=>{throw new Error("Error checking for updates")}))}catch(eee){throw new Error("Error checking for updates")}})();ree.setUpdateOsResponse(tee),eee.value=!1}catch(tee){throw new Error("[localCheckForUpdate] Error checking for updates")}},cancelUpdate:async()=>{try{if(!(await(async()=>{try{return await ZEe.url("/plugins/dynamix.plugin.manager/include/UnraidUpdateCancel.php").get().json((eee=>eee)).catch((eee=>{throw new Error("Error attempting to revert OS files to cancel update")}))}catch(eee){throw new Error("Error attempting to revert OS files to cancel update")}})()).success)throw new Error("Unable to cancel update");if("/Tools/Update"===window.location.pathname)return void(window.location.href="/Tools");window.location.reload()}catch(eee){throw new Error("[cancelUpdate] Error cancelling update")}},setModalOpen:dee}})),MTe=ZEe.url("https://releases.unraid.net");Fce(jce());const PTe=Hce("updateOsActions",(()=>{const eee=oIe(),tee=pIe(),ree=zTe(),{install:oee}={install:eee=>{try{if("function"==typeof openPlugin){const tee=`${new URL(eee.pluginUrl).pathname.replace(".plg","").substring(1)}:install`;openPlugin(`plugin ${eee.update?"update":"install"} ${eee.pluginUrl}${eee.update?"":" forced"}`,eee.modalTitle,tee,"refresh",0,1)}else openBox(`/plugins/dynamix.plugin.manager/scripts/plugin&arg1=install&arg2=${eee.pluginUrl}`,eee.modalTitle,600,900,!0)}catch(tee){}}},nee=kre(),aee=Sae((()=>tee.guid)),iee=Sae((()=>tee.keyfile)),see=Sae((()=>tee.osVersion)),lee=Sae((()=>tee.osVersionBranch)),cee=Sae((()=>tee.regUpdatesExpired)),pee=Sae((()=>ree.available)),dee=kre("ready"),uee=kre(!1),hee=kre(null),gee=Sae((()=>tee.rebootType)),wee=Sae((()=>{switch(gee.value){case"thirdPartyDriversDownloading":return"Updating 3rd party drivers";case"downgrade":return"Reboot Required for Downgrade";case"update":return"Reboot Required for Update";default:return""}})),fee=Sae((()=>!aee.value||!iee.value||!see.value||cee.value)),bee=Sae((()=>{if(!aee.value)return"A valid GUID is required to check for OS updates.";if(!iee.value)return"A valid keyfile is required to check for OS updates.";if(!see.value)return"A valid OS version is required to check for OS updates.";if(cee.value){const eee="Your {0} license included one year of free updates at the time of purchase. You are now eligible to extend your license and access the latest OS updates.",tee="You are still eligible to access OS updates that were published on or before {1}.";return pee.value?`${eee} ${tee}`:eee}return""})),mee=Sae((()=>({href:fTe.toString(),emphasize:!0,icon:Fpe,name:"updateOs",text:"Unraid OS {0} Update Available",textParams:[pee.value]}))),vee=async eee=>{if(!eee.keyfile)throw new Error("No payload.keyfile provided");if(!eee.sha256)throw new Error("No payload.sha256 provided");try{const tee=await(async eee=>await MTe.headers({"X-Unraid-Keyfile":eee.keyfile}).url(`/sha256/${eee.sha256}`).get().json())(eee);return tee}catch(tee){throw new Error("Unable to get release from keyserver")}},yee=eee=>{hee.value=eee,xee("confirming")},xee=eee=>{dee.value=eee};return uoe((()=>{"ready"===dee.value&&fee.value&&xee("ineligible")})),{callbackTypeDowngrade:uee,callbackUpdateRelease:hee,osVersion:see,osVersionBranch:lee,rebootType:gee,rebootTypeText:wee,status:dee,ineligible:fee,ineligibleText:bee,toolsRegistrationAction:mee,actOnUpdateOsAction:async(eee=!1)=>{const tee=await vee({keyfile:iee.value,sha256:nee.value?.sha256??""});if(eee&&(uee.value=!0),!tee)throw new Error("Release not found");if(tee.version===see.value)throw new Error("Release version is the same as the server's current version");yee(tee)},confirmUpdateOs:yee,installOsUpdate:()=>{hee.value&&(xee("updating"),oee({modalTitle:uee.value?`${hee.value.name} Downgrade`:`${hee.value.name} Update`,pluginUrl:hee.value.plugin_url,update:!1}))},updateCallbackButton:()=>({click:()=>{eee.updateOs()},disabled:""!==gee.value,external:!0,icon:pee.value?Fpe:Ope,name:"updateOs",text:pee.value?"Unraid OS {0} Update Available":"View Available Updates",textParams:[pee.value??""],title:""!==gee.value?wee.value:""}),rebootServer:()=>{document.rebootNow.submit()},setStatus:xee,setUpdateOsAction:eee=>nee.value=eee,viewReleaseNotes:(eee,tee)=>{"function"==typeof openChanges?openChanges(`showchanges ${tee??"/var/tmp/unRAIDServer.txt"}`,eee):"function"==typeof openBox?openBox(`/plugins/dynamix.plugin.manager/include/ShowChanges.php?file=${tee??"/var/tmp/unRAIDServer.txt"}`,eee,600,900):alert("Unable to open release notes")},getReleaseFromKeyServer:vee}}));var UTe={exports:{}};var jTe={exports:{}};const $Te=epe(Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"})));var VTe;function qTe(){return VTe||(VTe=1,jTe.exports=(eee=eee||function(eee,tee){var ree;if("undefined"!=typeof window&&window.crypto&&(ree=window.crypto),"undefined"!=typeof self&&self.crypto&&(ree=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(ree=globalThis.crypto),!ree&&"undefined"!=typeof window&&window.msCrypto&&(ree=window.msCrypto),!ree&&void 0!==Zce&&Zce.crypto&&(ree=Zce.crypto),!ree)try{ree=$Te}catch(gee){}var oee=function(){if(ree){if("function"==typeof ree.getRandomValues)try{return ree.getRandomValues(new Uint32Array(1))[0]}catch(gee){}if("function"==typeof ree.randomBytes)try{return ree.randomBytes(4).readInt32LE()}catch(gee){}}throw new Error("Native crypto module could not be used to get secure random number.")},nee=Object.create||function(){function F(){}return function(eee){var tee;return F.prototype=eee,tee=new F,F.prototype=null,tee}}(),C={},aee=C.lib={},iee=aee.Base={extend:function(eee){var tee=nee(this);return eee&&tee.mixIn(eee),tee.hasOwnProperty("init")&&this.init!==tee.init||(tee.init=function(){tee.$super.init.apply(this,arguments)}),tee.init.prototype=tee,tee.$super=this,tee},create:function(){var eee=this.extend();return eee.init.apply(eee,arguments),eee},init:function(){},mixIn:function(eee){for(var tee in eee)eee.hasOwnProperty(tee)&&(this[tee]=eee[tee]);eee.hasOwnProperty("toString")&&(this.toString=eee.toString)},clone:function(){return this.init.prototype.extend(this)}},see=aee.WordArray=iee.extend({init:function(eee,ree){eee=this.words=eee||[],this.sigBytes=ree!=tee?ree:4*eee.length},toString:function(eee){return(eee||cee).stringify(this)},concat:function(eee){var tee=this.words,ree=eee.words,oee=this.sigBytes,nee=eee.sigBytes;if(this.clamp(),oee%4)for(var i=0;i>>2]>>>24-i%4*8&255;tee[oee+i>>>2]|=aee<<24-(oee+i)%4*8}else for(var j=0;j>>2]=ree[j>>>2];return this.sigBytes+=nee,this},clamp:function(){var tee=this.words,ree=this.sigBytes;tee[ree>>>2]&=4294967295<<32-ree%4*8,tee.length=eee.ceil(ree/4)},clone:function(){var eee=iee.clone.call(this);return eee.words=this.words.slice(0),eee},random:function(eee){for(var tee=[],i=0;i>>2]>>>24-i%4*8&255;oee.push((nee>>>4).toString(16)),oee.push((15&nee).toString(16))}return oee.join("")},parse:function(eee){for(var tee=eee.length,ree=[],i=0;i>>3]|=parseInt(eee.substr(i,2),16)<<24-i%8*4;return new see.init(ree,tee/2)}},pee=lee.Latin1={stringify:function(eee){for(var tee=eee.words,ree=eee.sigBytes,oee=[],i=0;i>>2]>>>24-i%4*8&255;oee.push(String.fromCharCode(nee))}return oee.join("")},parse:function(eee){for(var tee=eee.length,ree=[],i=0;i>>2]|=(255&eee.charCodeAt(i))<<24-i%4*8;return new see.init(ree,tee)}},dee=lee.Utf8={stringify:function(eee){try{return decodeURIComponent(escape(pee.stringify(eee)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(eee){return pee.parse(unescape(encodeURIComponent(eee)))}},uee=aee.BufferedBlockAlgorithm=iee.extend({reset:function(){this._data=new see.init,this._nDataBytes=0},_append:function(eee){"string"==typeof eee&&(eee=dee.parse(eee)),this._data.concat(eee),this._nDataBytes+=eee.sigBytes},_process:function(tee){var ree,oee=this._data,nee=oee.words,aee=oee.sigBytes,iee=this.blockSize,lee=aee/(4*iee),cee=(lee=tee?eee.ceil(lee):eee.max((0|lee)-this._minBufferSize,0))*iee,pee=eee.min(4*cee,aee);if(cee){for(var dee=0;dee>>6-i%4*2;nee[aee>>>2]|=iee<<24-aee%4*8,aee++}return tee.create(nee,aee)}C.enc.Base64={stringify:function(eee){var tee=eee.words,ree=eee.sigBytes,oee=this._map;eee.clamp();for(var nee=[],i=0;i>>2]>>>24-i%4*8&255)<<16|(tee[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|tee[i+2>>>2]>>>24-(i+2)%4*8&255,j=0;j<4&&i+.75*j>>6*(3-j)&63));var iee=oee.charAt(64);if(iee)for(;nee.length%4;)nee.push(iee);return nee.join("")},parse:function(eee){var tee=eee.length,oee=this._map,nee=this._reverseMap;if(!nee){nee=this._reverseMap=[];for(var j=0;j>>24)|4278255360&(ree<<24|ree>>>8)}var H=this._hash.words,oee=M[eee+0],nee=M[eee+1],aee=M[eee+2],iee=M[eee+3],see=M[eee+4],lee=M[eee+5],cee=M[eee+6],pee=M[eee+7],dee=M[eee+8],uee=M[eee+9],hee=M[eee+10],gee=M[eee+11],wee=M[eee+12],fee=M[eee+13],bee=M[eee+14],mee=M[eee+15],a=H[0],b=H[1],c=H[2],d=H[3];a=FF(a,b,c,d,oee,7,T[0]),d=FF(d,a,b,c,nee,12,T[1]),c=FF(c,d,a,b,aee,17,T[2]),b=FF(b,c,d,a,iee,22,T[3]),a=FF(a,b,c,d,see,7,T[4]),d=FF(d,a,b,c,lee,12,T[5]),c=FF(c,d,a,b,cee,17,T[6]),b=FF(b,c,d,a,pee,22,T[7]),a=FF(a,b,c,d,dee,7,T[8]),d=FF(d,a,b,c,uee,12,T[9]),c=FF(c,d,a,b,hee,17,T[10]),b=FF(b,c,d,a,gee,22,T[11]),a=FF(a,b,c,d,wee,7,T[12]),d=FF(d,a,b,c,fee,12,T[13]),c=FF(c,d,a,b,bee,17,T[14]),a=GG(a,b=FF(b,c,d,a,mee,22,T[15]),c,d,nee,5,T[16]),d=GG(d,a,b,c,cee,9,T[17]),c=GG(c,d,a,b,gee,14,T[18]),b=GG(b,c,d,a,oee,20,T[19]),a=GG(a,b,c,d,lee,5,T[20]),d=GG(d,a,b,c,hee,9,T[21]),c=GG(c,d,a,b,mee,14,T[22]),b=GG(b,c,d,a,see,20,T[23]),a=GG(a,b,c,d,uee,5,T[24]),d=GG(d,a,b,c,bee,9,T[25]),c=GG(c,d,a,b,iee,14,T[26]),b=GG(b,c,d,a,dee,20,T[27]),a=GG(a,b,c,d,fee,5,T[28]),d=GG(d,a,b,c,aee,9,T[29]),c=GG(c,d,a,b,pee,14,T[30]),a=HH(a,b=GG(b,c,d,a,wee,20,T[31]),c,d,lee,4,T[32]),d=HH(d,a,b,c,dee,11,T[33]),c=HH(c,d,a,b,gee,16,T[34]),b=HH(b,c,d,a,bee,23,T[35]),a=HH(a,b,c,d,nee,4,T[36]),d=HH(d,a,b,c,see,11,T[37]),c=HH(c,d,a,b,pee,16,T[38]),b=HH(b,c,d,a,hee,23,T[39]),a=HH(a,b,c,d,fee,4,T[40]),d=HH(d,a,b,c,oee,11,T[41]),c=HH(c,d,a,b,iee,16,T[42]),b=HH(b,c,d,a,cee,23,T[43]),a=HH(a,b,c,d,uee,4,T[44]),d=HH(d,a,b,c,wee,11,T[45]),c=HH(c,d,a,b,mee,16,T[46]),a=II(a,b=HH(b,c,d,a,aee,23,T[47]),c,d,oee,6,T[48]),d=II(d,a,b,c,pee,10,T[49]),c=II(c,d,a,b,bee,15,T[50]),b=II(b,c,d,a,lee,21,T[51]),a=II(a,b,c,d,wee,6,T[52]),d=II(d,a,b,c,iee,10,T[53]),c=II(c,d,a,b,hee,15,T[54]),b=II(b,c,d,a,nee,21,T[55]),a=II(a,b,c,d,dee,6,T[56]),d=II(d,a,b,c,mee,10,T[57]),c=II(c,d,a,b,cee,15,T[58]),b=II(b,c,d,a,fee,21,T[59]),a=II(a,b,c,d,see,6,T[60]),d=II(d,a,b,c,gee,10,T[61]),c=II(c,d,a,b,aee,15,T[62]),b=II(b,c,d,a,uee,21,T[63]),H[0]=H[0]+a|0,H[1]=H[1]+b|0,H[2]=H[2]+c|0,H[3]=H[3]+d|0},_doFinalize:function(){var eee=this._data,ree=eee.words,oee=8*this._nDataBytes,nee=8*eee.sigBytes;ree[nee>>>5]|=128<<24-nee%32;var aee=tee.floor(oee/4294967296),iee=oee;ree[15+(nee+64>>>9<<4)]=16711935&(aee<<8|aee>>>24)|4278255360&(aee<<24|aee>>>8),ree[14+(nee+64>>>9<<4)]=16711935&(iee<<8|iee>>>24)|4278255360&(iee<<24|iee>>>8),eee.sigBytes=4*(ree.length+1),this._process();for(var see=this._hash,H=see.words,i=0;i<4;i++){var lee=H[i];H[i]=16711935&(lee<<8|lee>>>24)|4278255360&(lee<<24|lee>>>8)}return see},clone:function(){var eee=nee.clone.call(this);return eee._hash=this._hash.clone(),eee}});function FF(a,b,c,d,x,s,t){var n=a+(b&c|~b&d)+x+t;return(n<>>32-s)+b}function GG(a,b,c,d,x,s,t){var n=a+(b&d|c&~d)+x+t;return(n<>>32-s)+b}function HH(a,b,c,d,x,s,t){var n=a+(b^c^d)+x+t;return(n<>>32-s)+b}function II(a,b,c,d,x,s,t){var n=a+(c^(b|~d))+x+t;return(n<>>32-s)+b}C.MD5=nee._createHelper(iee),C.HmacMD5=nee._createHmacHelper(iee)}(Math),eee.MD5)),WTe.exports;var eee}var HTe,XTe={exports:{}},ZTe={exports:{}};function JTe(){return HTe||(HTe=1,ZTe.exports=(eee=qTe(),function(){var C=eee,tee=C.lib,ree=tee.WordArray,oee=tee.Hasher,nee=C.algo,W=[],aee=nee.SHA1=oee.extend({_doReset:function(){this._hash=new ree.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(M,eee){for(var H=this._hash.words,a=H[0],b=H[1],c=H[2],d=H[3],e=H[4],i=0;i<80;i++){if(i<16)W[i]=0|M[eee+i];else{var n=W[i-3]^W[i-8]^W[i-14]^W[i-16];W[i]=n<<1|n>>>31}var t=(a<<5|a>>>27)+e+W[i];t+=i<20?1518500249+(b&c|~b&d):i<40?1859775393+(b^c^d):i<60?(b&c|b&d|c&d)-1894007588:(b^c^d)-899497514,e=d,d=c,c=b<<30|b>>>2,b=a,a=t}H[0]=H[0]+a|0,H[1]=H[1]+b|0,H[2]=H[2]+c|0,H[3]=H[3]+d|0,H[4]=H[4]+e|0},_doFinalize:function(){var eee=this._data,tee=eee.words,ree=8*this._nDataBytes,oee=8*eee.sigBytes;return tee[oee>>>5]|=128<<24-oee%32,tee[14+(oee+64>>>9<<4)]=Math.floor(ree/4294967296),tee[15+(oee+64>>>9<<4)]=ree,eee.sigBytes=4*tee.length,this._process(),this._hash},clone:function(){var eee=oee.clone.call(this);return eee._hash=this._hash.clone(),eee}});C.SHA1=oee._createHelper(aee),C.HmacSHA1=oee._createHmacHelper(aee)}(),eee.SHA1)),ZTe.exports;var eee}var eSe,tSe,rSe={exports:{}};function oSe(){return tSe||(tSe=1,XTe.exports=function(eee){return function(){var C=eee,tee=C.lib,ree=tee.Base,oee=tee.WordArray,nee=C.algo,aee=nee.MD5,iee=nee.EvpKDF=ree.extend({cfg:ree.extend({keySize:4,hasher:aee,iterations:1}),init:function(eee){this.cfg=this.cfg.extend(eee)},compute:function(eee,tee){for(var ree,nee=this.cfg,aee=nee.hasher.create(),iee=oee.create(),see=iee.words,lee=nee.keySize,cee=nee.iterations;see.lengthnee&&(tee=eee.finalize(tee)),tee.clamp();for(var aee=this._oKey=tee.clone(),iee=this._iKey=tee.clone(),see=aee.words,lee=iee.words,i=0;i>>8^255&sx^99,oee[x]=sx,nee[sx]=x;var x2=d[x],x4=d[x2],x8=d[x4],t=257*d[sx]^16843008*sx;aee[x]=t<<24|t>>>8,iee[x]=t<<16|t>>>16,see[x]=t<<8|t>>>24,lee[x]=t,t=16843009*x8^65537*x4^257*x2^16843008*x,cee[sx]=t<<24|t>>>8,pee[sx]=t<<16|t>>>16,dee[sx]=t<<8|t>>>24,uee[sx]=t,x?(x=x2^d[d[d[x8^x2]]],xi^=d[d[xi]]):x=xi=1}}();var hee=[0,1,2,4,8,16,32,64,128,27,54],gee=ree.AES=tee.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var eee=this._keyPriorReset=this._key,tee=eee.words,ree=eee.sigBytes/4,nee=4*((this._nRounds=ree+6)+1),aee=this._keySchedule=[],iee=0;iee6&&iee%ree==4&&(t=oee[t>>>24]<<24|oee[t>>>16&255]<<16|oee[t>>>8&255]<<8|oee[255&t]):(t=oee[(t=t<<8|t>>>24)>>>24]<<24|oee[t>>>16&255]<<16|oee[t>>>8&255]<<8|oee[255&t],t^=hee[iee/ree|0]<<24),aee[iee]=aee[iee-ree]^t);for(var see=this._invKeySchedule=[],lee=0;lee>>24]]^pee[oee[t>>>16&255]]^dee[oee[t>>>8&255]]^uee[oee[255&t]]}}},encryptBlock:function(M,eee){this._doCryptBlock(M,eee,this._keySchedule,aee,iee,see,lee,oee)},decryptBlock:function(M,eee){var t=M[eee+1];M[eee+1]=M[eee+3],M[eee+3]=t,this._doCryptBlock(M,eee,this._invKeySchedule,cee,pee,dee,uee,nee),t=M[eee+1],M[eee+1]=M[eee+3],M[eee+3]=t},_doCryptBlock:function(M,eee,tee,ree,oee,nee,aee,iee){for(var see=this._nRounds,s0=M[eee]^tee[0],s1=M[eee+1]^tee[1],s2=M[eee+2]^tee[2],s3=M[eee+3]^tee[3],lee=4,cee=1;cee>>24]^oee[s1>>>16&255]^nee[s2>>>8&255]^aee[255&s3]^tee[lee++],t1=ree[s1>>>24]^oee[s2>>>16&255]^nee[s3>>>8&255]^aee[255&s0]^tee[lee++],t2=ree[s2>>>24]^oee[s3>>>16&255]^nee[s0>>>8&255]^aee[255&s1]^tee[lee++],t3=ree[s3>>>24]^oee[s0>>>16&255]^nee[s1>>>8&255]^aee[255&s2]^tee[lee++];s0=t0,s1=t1,s2=t2,s3=t3}t0=(iee[s0>>>24]<<24|iee[s1>>>16&255]<<16|iee[s2>>>8&255]<<8|iee[255&s3])^tee[lee++],t1=(iee[s1>>>24]<<24|iee[s2>>>16&255]<<16|iee[s3>>>8&255]<<8|iee[255&s0])^tee[lee++],t2=(iee[s2>>>24]<<24|iee[s3>>>16&255]<<16|iee[s0>>>8&255]<<8|iee[255&s1])^tee[lee++],t3=(iee[s3>>>24]<<24|iee[s0>>>16&255]<<16|iee[s1>>>8&255]<<8|iee[255&s2])^tee[lee++],M[eee]=t0,M[eee+1]=t1,M[eee+2]=t2,M[eee+3]=t3},keySize:8});C.AES=tee._createHelper(gee)}(),eee.AES}(qTe(),GTe(),KTe(),oSe(),nSe||(nSe=1,iSe.exports=(aSe=qTe(),oSe(),void(aSe.lib.Cipher||function(eee){var C=aSe,tee=C.lib,ree=tee.Base,oee=tee.WordArray,nee=tee.BufferedBlockAlgorithm,aee=C.enc;aee.Utf8;var iee=aee.Base64,see=C.algo.EvpKDF,lee=tee.Cipher=nee.extend({cfg:ree.extend(),createEncryptor:function(eee,tee){return this.create(this._ENC_XFORM_MODE,eee,tee)},createDecryptor:function(eee,tee){return this.create(this._DEC_XFORM_MODE,eee,tee)},init:function(eee,tee,ree){this.cfg=this.cfg.extend(ree),this._xformMode=eee,this._key=tee,this.reset()},reset:function(){nee.reset.call(this),this._doReset()},process:function(eee){return this._append(eee),this._process()},finalize:function(eee){return eee&&this._append(eee),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function eee(eee){return"string"==typeof eee?bee:wee}return function(tee){return{encrypt:function(ree,oee,nee){return eee(oee).encrypt(tee,ree,oee,nee)},decrypt:function(ree,oee,nee){return eee(oee).decrypt(tee,ree,oee,nee)}}}}()});tee.StreamCipher=lee.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var cee=C.mode={},pee=tee.BlockCipherMode=ree.extend({createEncryptor:function(eee,iv){return this.Encryptor.create(eee,iv)},createDecryptor:function(eee,iv){return this.Decryptor.create(eee,iv)},init:function(eee,iv){this._cipher=eee,this._iv=iv}}),dee=cee.CBC=function(){var tee=pee.extend();function ree(tee,ree,oee){var nee,iv=this._iv;iv?(nee=iv,this._iv=eee):nee=this._prevBlock;for(var i=0;i>>2];eee.sigBytes-=tee}};tee.BlockCipher=lee.extend({cfg:lee.cfg.extend({mode:dee,padding:uee}),reset:function(){var eee;lee.reset.call(this);var tee=this.cfg,iv=tee.iv,ree=tee.mode;this._xformMode==this._ENC_XFORM_MODE?eee=ree.createEncryptor:(eee=ree.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==eee?this._mode.init(this,iv&&iv.words):(this._mode=eee.call(ree,this,iv&&iv.words),this._mode.__creator=eee)},_doProcessBlock:function(eee,tee){this._mode.processBlock(eee,tee)},_doFinalize:function(){var eee,tee=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(tee.pad(this._data,this.blockSize),eee=this._process(!0)):(eee=this._process(!0),tee.unpad(eee)),eee},blockSize:4});var hee=tee.CipherParams=ree.extend({init:function(eee){this.mixIn(eee)},toString:function(eee){return(eee||this.formatter).stringify(this)}}),gee=(C.format={}).OpenSSL={stringify:function(eee){var tee=eee.ciphertext,ree=eee.salt;return(ree?oee.create([1398893684,1701076831]).concat(ree).concat(tee):tee).toString(iee)},parse:function(eee){var tee,ree=iee.parse(eee),nee=ree.words;return 1398893684==nee[0]&&1701076831==nee[1]&&(tee=oee.create(nee.slice(2,4)),nee.splice(0,4),ree.sigBytes-=16),hee.create({ciphertext:ree,salt:tee})}},wee=tee.SerializableCipher=ree.extend({cfg:ree.extend({format:gee}),encrypt:function(eee,tee,ree,oee){oee=this.cfg.extend(oee);var nee=eee.createEncryptor(ree,oee),aee=nee.finalize(tee),iee=nee.cfg;return hee.create({ciphertext:aee,key:ree,iv:iee.iv,algorithm:eee,mode:iee.mode,padding:iee.padding,blockSize:eee.blockSize,formatter:oee.format})},decrypt:function(eee,tee,ree,oee){return oee=this.cfg.extend(oee),tee=this._parse(tee,oee.format),eee.createDecryptor(ree,oee).finalize(tee.ciphertext)},_parse:function(eee,tee){return"string"==typeof eee?tee.parse(eee,this):eee}}),fee=(C.kdf={}).OpenSSL={execute:function(eee,tee,ree,nee,aee){if(nee||(nee=oee.random(8)),aee)iee=see.create({keySize:tee+ree,hasher:aee}).compute(eee,nee);else var iee=see.create({keySize:tee+ree}).compute(eee,nee);var iv=oee.create(iee.words.slice(tee),4*ree);return iee.sigBytes=4*tee,hee.create({key:iee,iv:iv,salt:nee})}},bee=tee.PasswordBasedCipher=wee.extend({cfg:wee.cfg.extend({kdf:fee}),encrypt:function(eee,tee,ree,oee){var nee=(oee=this.cfg.extend(oee)).kdf.execute(ree,eee.keySize,eee.ivSize,oee.salt,oee.hasher);oee.iv=nee.iv;var aee=wee.encrypt.call(this,eee,tee,nee.key,oee);return aee.mixIn(nee),aee},decrypt:function(eee,tee,ree,oee){oee=this.cfg.extend(oee),tee=this._parse(tee,oee.format);var nee=oee.kdf.execute(ree,eee.keySize,eee.ivSize,tee.salt,oee.hasher);return oee.iv=nee.iv,wee.decrypt.call(this,eee,tee,nee.key,oee)}})}()))));const sSe=Jce(UTe.exports);var lSe={exports:{}};lSe.exports=function(eee){return eee.enc.Utf8}(qTe());const cSe=Jce(lSe.exports);Fce(jce());const pSe=Hce("callbackActions",(()=>{const eee=oIe(),tee=RTe(),ree=pIe();zTe();const oee=PTe(),nee=kre("ready"),aee=kre(),iee=kre(),see=["recover","replace","trialExtend","trialStart","purchase","redeem","renew","upgrade"],lee=()=>{if(!aee.value||!aee.value.type||"forUpc"!==aee.value.type||!aee.value.actions?.length)return iee.value="Callback redirect type not present or incorrect",void(nee.value="ready");nee.value="loading",aee.value.actions.forEach((async(nee,aee,iee)=>{see.includes(nee.type)&&await tee.install(nee),"signIn"===nee.type&&nee?.user&&(eee.setAccountAction(nee),await eee.setConnectSignInPayload({apiKey:nee?.apiKey??"",email:nee.user?.email??"",preferred_username:nee.user?.preferred_username??""})),"signOut"!==nee.type&&"oemSignOut"!==nee.type||(eee.setAccountAction(nee),await eee.setQueueConnectSignOut(!0)),"updateOs"!==nee.type&&"downgradeOs"!==nee.type||(oee.setUpdateOsAction(nee),await oee.actOnUpdateOsAction("downgradeOs"===nee.type),1!==iee.length)?iee.length===aee+1&&await ree.refreshServerState():window.history.replaceState(null,"",window.location.pathname)}))},cee=Sae((()=>ree.refreshServerStateStatus));uoe((()=>{if(aee.value?.actions&&"done"===cee.value)if(aee.value.actions.length>1){const ree="success"===eee.accountActionStatus&&"success"===tee.keyInstallStatus;nee.value=ree?"success":"error"}else{const ree="success"===eee.accountActionStatus||"success"===tee.keyInstallStatus;nee.value=ree?"success":"error"}aee.value?.actions&&"timeout"===cee.value&&(nee.value="error")}));return goe(nee,((eee,tee)=>{"loading"===eee&&NTe(),"loading"===tee&&(ATe(),window.history.replaceState(null,"",window.location.pathname))})),{callbackData:aee,callbackStatus:nee,redirectToCallbackType:lee,saveCallbackData:eee=>{eee&&(aee.value=eee),aee.value&&lee?.()},setCallbackStatus:eee=>{nee.value=eee},sendType:"fromUpc",encryptionKey:"Uyv2o8e*FiQe8VeLekTqyX6Z*8XonB"}})),dSe=(uSe=pSe,Hce("callback",(()=>{const eee=uSe();return{send:(tee,ree,oee,nee)=>{const aee=JSON.stringify({actions:[...ree],sender:window.location.href.replace("/Tools/Update","/Tools"),type:nee??eee.sendType}),iee=sSe.encrypt(aee,eee.encryptionKey).toString(),see=new URL(tee.replace("/Tools/Update","/Tools"));see.searchParams.set("data",encodeURI(iee)),"newTab"!==oee?"replace"!==oee?window.location.href=see.toString():window.location.replace(see.toString()):window.open(see.toString(),"_blank")},watcher:()=>{const tee=new URL(window.location.toString()),ree=decodeURI(tee.searchParams.get("data")??"");if(!ree)return;const oee=sSe.decrypt(ree,eee.encryptionKey),nee=JSON.parse(oee.toString(cSe));eee.saveCallbackData(nee)}}})));var uSe;const hSe=ZEe.url("https://keys.lime-technology.com"),gSe={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 133.52 76.97",class:Yee("unraid_mark"),role:"img"},wSe=eae("desc",null,"Unraid logo animating with a wave like effect",-1),fSe={id:"unraidLoadingGradient",x1:"23.76",y1:"81.49",x2:"109.76",y2:"-4.51",gradientUnits:"userSpaceOnUse"},bSe=["stop-color"],mSe=["stop-color"],vSe=nae('',9),ySe=Nce(xoe({__name:"Loading",props:{gradientStart:{default:"#e32929"},gradientStop:{default:"#ff8d30"},title:{default:"Loading"}},setup:eee=>(eee,tee)=>(qne(),Qne("svg",gSe,[eae("title",null,Hee(eee.title),1),wSe,eae("defs",null,[eae("linearGradient",fSe,[eae("stop",{offset:"0","stop-color":eee.gradientStart},null,8,bSe),eae("stop",{offset:"1","stop-color":eee.gradientStop},null,8,mSe)])]),vSe]))}),[["styles",['/*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:clear-sans,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:470px){.container{max-width:470px}}@media (min-width:530px){.container{max-width:530px}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--color-beta);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:#ff8c2f;font-weight:500;text-decoration:underline}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{color:#f15a2c}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"“""”""‘""’"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:start;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:var(--color-beta);--tw-prose-headings:var(--color-beta);--tw-prose-lead:var(--color-beta);--tw-prose-links:#ff8c2f;--tw-prose-bold:var(--color-beta);--tw-prose-counters:var(--color-beta);--tw-prose-bullets:var(--color-beta);--tw-prose-hr:var(--color-beta);--tw-prose-quotes:var(--color-beta);--tw-prose-quote-borders:var(--color-beta);--tw-prose-captions:var(--color-beta);--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:var(--color-beta);--tw-prose-pre-code:var(--color-beta);--tw-prose-pre-bg:var(--color-alpha);--tw-prose-th-borders:var(--color-beta);--tw-prose-td-borders:var(--color-beta);--tw-prose-invert-body:var(--color-alpha);--tw-prose-invert-headings:var(--color-alpha);--tw-prose-invert-lead:var(--color-alpha);--tw-prose-invert-links:#ff8c2f;--tw-prose-invert-bold:var(--color-alpha);--tw-prose-invert-counters:var(--color-alpha);--tw-prose-invert-bullets:var(--color-alpha);--tw-prose-invert-hr:var(--color-alpha);--tw-prose-invert-quotes:var(--color-alpha);--tw-prose-invert-quote-borders:var(--color-alpha);--tw-prose-invert-captions:var(--color-alpha);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--color-alpha);--tw-prose-invert-pre-code:var(--color-alpha);--tw-prose-invert-pre-bg:var(--color-beta);--tw-prose-invert-th-borders:var(--color-alpha);--tw-prose-invert-td-borders:var(--color-alpha);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose{--tw-prose-invert-code-bg:var(--color-gamma-opaque)}.unraid_mark_2,.unraid_mark_4{animation:mark_2 1.5s ease infinite}.unraid_mark_3{animation:mark_3 1.5s ease infinite}.unraid_mark_6,.unraid_mark_8{animation:mark_6 1.5s ease infinite}.unraid_mark_7{animation:mark_7 1.5s ease infinite}@keyframes mark_2{50%{transform:translateY(-40px)}to{transform:translateY(0)}}@keyframes mark_3{50%{transform:translateY(-62px)}to{transform:translateY(0)}}@keyframes mark_6{50%{transform:translateY(40px)}to{transform:translateY(0)}}@keyframes mark_7{50%{transform:translateY(62px)}to{transform:translateY(0)}}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-\\[2px\\]{bottom:-2px}.-left-\\[2px\\]{left:-2px}.-right-\\[2px\\]{right:-2px}.-top-1{top:-.25rem}.-top-\\[2px\\]{top:-2px}.bottom-0{bottom:0}.bottom-\\[-3px\\]{bottom:-3px}.right-0{right:0}.top-0{top:0}.top-\\[1px\\]{top:1px}.top-full{top:100%}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\\[99999\\]{z-index:99999}.mx-8px{margin-left:8px;margin-right:8px}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.my-12{margin-bottom:3rem;margin-top:3rem}.my-16px{margin-bottom:16px;margin-top:16px}.my-24px{margin-bottom:24px;margin-top:24px}.my-8px{margin-bottom:8px;margin-top:8px}.mb-4px{margin-bottom:4px}.mb-8px{margin-bottom:8px}.ml-3{margin-left:.75rem}.ml-8px{margin-left:8px}.mr-8px{margin-right:8px}.mt-0{margin-top:0}.mt-12px{margin-top:12px}.mt-2{margin-top:.5rem}.mt-24px{margin-top:24px}.mt-4px{margin-top:4px}.mt-8px{margin-top:8px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-12px{height:12px}.h-16px{height:16px}.h-20px{height:20px}.h-24px{height:24px}.h-2px{height:2px}.h-32px{height:32px}.h-36px{height:36px}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.max-h-\\[65vh\\]{max-height:65vh}.min-h-\\[250px\\]{min-height:250px}.min-h-screen{min-height:100vh}.w-1\\/2{width:50%}.w-11{width:2.75rem}.w-12px{width:12px}.w-14px{width:14px}.w-16px{width:16px}.w-20px{width:20px}.w-24px{width:24px}.w-28px{width:28px}.w-2px{width:2px}.w-32px{width:32px}.w-36px{width:36px}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\\[100px\\]{width:100px}.w-\\[110px\\]{width:110px}.w-\\[120px\\]{width:120px}.w-\\[125\\%\\]{width:125%}.w-\\[150px\\]{width:150px}.w-\\[44px\\]{width:44px}.w-\\[48px\\]{width:48px}.w-full{width:100%}.w-screen{width:100vw}.min-w-300px{min-width:300px}.min-w-\\[280px\\]{min-width:280px}.max-w-1024px{max-width:1024px}.max-w-160px{max-width:160px}.max-w-350px{max-width:350px}.max-w-3xl{max-width:48rem}.max-w-640px{max-width:640px}.max-w-800px{max-width:800px}.max-w-\\[45ch\\]{max-width:45ch}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.grow-0{flex-grow:0}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-20px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-20px{--tw-translate-x:20px}.translate-x-\\[26px\\]{--tw-translate-x:26px}.translate-x-\\[26px\\],.translate-x-\\[2px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[2px\\]{--tw-translate-x:2px}.translate-y-\\[16px\\]{--tw-translate-y:16px}.scale-100,.translate-y-\\[16px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-12px{gap:12px}.gap-16px{gap:16px}.gap-2{gap:.5rem}.gap-20px{gap:20px}.gap-4{gap:1rem}.gap-4px{gap:4px}.gap-6{gap:1.5rem}.gap-8px{gap:8px}.gap-x-16px{-moz-column-gap:16px;column-gap:16px}.gap-x-4px{-moz-column-gap:4px;column-gap:4px}.gap-x-8px{-moz-column-gap:8px;column-gap:8px}.gap-y-16px{row-gap:16px}.gap-y-24px{row-gap:24px}.gap-y-4px{row-gap:4px}.gap-y-8px{row-gap:8px}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-normal{white-space:normal}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b-2{border-bottom-width:2px}.border-l-0{border-left-width:0}.border-r-0{border-right-width:0}.border-t-0{border-top-width:0}.border-solid{border-style:solid}.border-none{border-style:none}.border-black{--tw-border-opacity:1;border-color:rgb(28 27 27/var(--tw-border-opacity))}.border-gamma-opaque{border-color:var(--color-gamma-opaque)}.border-green-600\\/10{border-color:#16a34a1a}.border-grey-mid{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.border-orange{--tw-border-opacity:1;border-color:rgb(255 140 47/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-unraid-red{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.border-unraid-red\\/10{border-color:#e228281a}.border-unraid-red\\/90{border-color:#e22828e6}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-white\\/10{border-color:#ffffff1a}.border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity))}.bg-alpha{background-color:var(--color-alpha)}.bg-beta{background-color:var(--color-beta)}.bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-current{background-color:currentColor}.bg-gamma{background-color:var(--color-gamma)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-grey{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-orange{--tw-bg-opacity:1;background-color:rgb(255 140 47/var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-unraid-red{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.bg-unraid-red\\/90{background-color:#e22828e6}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity:.8}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-unraid-red{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-orange{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.to-orange\\/60{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-green-600{fill:#16a34a}.fill-unraid-red{fill:#e22828}.p-0{padding:0}.p-1{padding:.25rem}.p-12px{padding:12px}.p-16px{padding:16px}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8px{padding:8px}.px-12px{padding-left:12px;padding-right:12px}.px-16px{padding-left:16px;padding-right:16px}.px-4{padding-left:1rem;padding-right:1rem}.px-4px{padding-left:4px;padding-right:4px}.px-6px{padding-left:6px;padding-right:6px}.px-8px{padding-left:8px;padding-right:8px}.py-0{padding-bottom:0;padding-top:0}.py-12px{padding-bottom:12px;padding-top:12px}.py-24px{padding-bottom:24px;padding-top:24px}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-4px{padding-bottom:4px;padding-top:4px}.py-8px{padding-bottom:8px;padding-top:8px}.pb-12{padding-bottom:3rem}.pb-8px{padding-bottom:8px}.pl-40px{padding-left:40px}.pr-16px{padding-right:16px}.pr-40px{padding-right:40px}.pr-4px{padding-right:4px}.pt-4px{padding-top:4px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-10px{font-size:10px}.text-12px{font-size:12px}.text-14px{font-size:14px}.text-16px{font-size:16px}.text-18px{font-size:18px}.text-20px{font-size:20px}.text-24px{font-size:24px}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.text-\\[\\#486dba\\]{--tw-text-opacity:1;color:rgb(72 109 186/var(--tw-text-opacity))}.text-alpha{color:var(--color-alpha)}.text-beta{color:var(--color-beta)}.text-black{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-current{color:currentColor}.text-gamma{color:var(--color-gamma)}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-grey-mid{--tw-text-opacity:1;color:rgb(153 153 153/var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}.text-orange{--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-unraid-red{--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[var\\(--ring-offset-shadow\\)_var\\(--ring-shadow\\)_var\\(--shadow-beta\\)\\]{--tw-shadow-color:var(--ring-offset-shadow) var(--ring-shadow) var(--shadow-beta);--tw-shadow:var(--tw-shadow-colored)}.shadow-green-600\\/30{--tw-shadow-color:rgba(22,163,74,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-orange\\/10{--tw-shadow-color:rgba(255,140,47,.1);--tw-shadow:var(--tw-shadow-colored)}.shadow-unraid-red\\/30{--tw-shadow-color:rgba(226,40,40,.3);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-black{outline-color:#1c1b1b}.outline-white{outline-color:#fff}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.even\\:bg-black\\/5:nth-child(2n){background-color:#1c1b1b0d}.even\\:bg-grey-darkest:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity))}@keyframes pulse{50%{opacity:.5}}.hover\\:animate-pulse:hover{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.hover\\:border-beta:hover{border-color:var(--color-beta)}.hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.hover\\:border-grey-mid:hover{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.hover\\:border-orange-dark:hover{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.hover\\:border-unraid-red:hover{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.hover\\:bg-beta:hover{background-color:var(--color-beta)}.hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.hover\\:bg-grey-mid:hover{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.hover\\:bg-unraid-red:hover{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\\:bg-gradient-to-r:hover{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.hover\\:from-unraid-red:hover{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:from-unraid-red\\/60:hover{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:to-orange:hover{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.hover\\:to-orange\\/60:hover{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.hover\\:text-\\[\\#3b5ea9\\]:hover{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.hover\\:text-alpha:hover{color:var(--color-alpha)}.hover\\:text-black:hover{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:no-underline:hover{text-decoration-line:none}.hover\\:opacity-100:hover{opacity:1}.hover\\:opacity-75:hover{opacity:.75}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:shadow-orange\\/50:hover{--tw-shadow-color:rgba(255,140,47,.5);--tw-shadow:var(--tw-shadow-colored)}.focus\\:border-beta:focus{border-color:var(--color-beta)}.focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.focus\\:border-grey-mid:focus{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.focus\\:border-orange-dark:focus{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.focus\\:border-unraid-red:focus{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.focus\\:bg-beta:focus{background-color:var(--color-beta)}.focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.focus\\:bg-grey-mid:focus{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.focus\\:bg-unraid-red:focus{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus\\:bg-gradient-to-r:focus{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.focus\\:from-unraid-red:focus{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:from-unraid-red\\/60:focus{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:to-orange:focus{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.focus\\:to-orange\\/60:focus{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.focus\\:text-\\[\\#3b5ea9\\]:focus{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.focus\\:text-alpha:focus{color:var(--color-alpha)}.focus\\:text-black:focus{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.focus\\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\\:underline:focus{text-decoration-line:underline}.focus\\:no-underline:focus{text-decoration-line:none}.focus\\:opacity-100:focus{opacity:1}.focus\\:opacity-75:focus{opacity:.75}.focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.focus\\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-25:disabled{opacity:.25}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:hover\\:opacity-25:hover:disabled{opacity:.25}.disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.disabled\\:focus\\:opacity-25:focus:disabled{opacity:.25}.disabled\\:focus\\:opacity-50:focus:disabled{opacity:.5}.group:hover .group-hover\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:hover .group-hover\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:hover .group-hover\\:underline{text-decoration-line:underline}.group:hover .group-hover\\:opacity-100{opacity:1}.group:hover .group-hover\\:opacity-60{opacity:.6}.group:hover .group-hover\\:opacity-75{opacity:.75}.group:focus .group-focus\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:focus .group-focus\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:focus .group-focus\\:underline{text-decoration-line:underline}.group:focus .group-focus\\:opacity-100{opacity:1}.group:focus .group-focus\\:opacity-60{opacity:.6}.group:focus .group-focus\\:opacity-75{opacity:.75}.prose-a\\:text-unraid-red :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.hover\\:prose-a\\:text-unraid-red\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#e2282899}.hover\\:prose-a\\:no-underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{text-decoration-line:none}@media (min-width:640px){.sm\\:col-span-2{grid-column:span 2/span 2}.sm\\:col-span-3{grid-column:span 3/span 3}.sm\\:col-start-2{grid-column-start:2}.sm\\:block{display:block}.sm\\:w-\\[150px\\]{width:150px}.sm\\:w-full{width:100%}.sm\\:min-w-\\[400px\\]{min-width:400px}.sm\\:max-w-300px{max-width:300px}.sm\\:max-w-lg{max-width:32rem}.sm\\:flex-shrink-0{flex-shrink:0}.sm\\:flex-grow-0{flex-grow:0}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-start{align-items:flex-start}.sm\\:items-center{align-items:center}.sm\\:justify-end{justify-content:flex-end}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-16px{gap:16px}.sm\\:gap-24px{gap:24px}.sm\\:gap-y-24px{row-gap:24px}.sm\\:p-16px{padding:16px}.sm\\:px-20px{padding-left:20px;padding-right:20px}.sm\\:pr-40px{padding-right:40px}.sm\\:text-right{text-align:right}.sm\\:text-18px{font-size:18px}.sm\\:text-20px{font-size:20px}.sm\\:text-24px{font-size:24px}}@media (min-width:768px){.md\\:inline-block{display:inline-block}.md\\:min-w-\\[500px\\]{min-width:500px}.md\\:flex-row{flex-direction:row}.md\\:items-start{align-items:flex-start}.md\\:items-end{align-items:flex-end}.md\\:justify-between{justify-content:space-between}.md\\:gap-16px{gap:16px}.md\\:p-24px{padding:24px}.md\\:p-6{padding:1.5rem}.md\\:py-24px{padding-bottom:24px;padding-top:24px}.md\\:text-24px{font-size:24px}}@media (min-width:470px){.\\32xs\\:block{display:block}}@media (min-width:530px){.xs\\:block{display:block}.xs\\:flex-row{flex-direction:row}.xs\\:items-baseline{align-items:baseline}.xs\\:justify-start{justify-content:flex-start}.xs\\:gap-x-12px{-moz-column-gap:12px;column-gap:12px}.xs\\:text-12px{font-size:12px}}@media (min-height:700px){.tall\\:max-h-\\[75vh\\]{max-height:75vh}}@media (prefers-color-scheme:dark){.dark\\:border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.dark\\:bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.dark\\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\\:prose-a\\:text-orange :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.hover\\:dark\\:prose-a\\:text-orange\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#ff8c2f99}}']]]),xSe=xoe({__name:"LoadingWhite",setup:eee=>(eee,tee)=>{const ree=ySe;return qne(),Wne(ree,{"gradient-start":"#ffffff","gradient-stop":"#ffffff"})}});Fce(jce());const kSe="unraidReplaceCheck",_Se=Hce("replaceRenewCheck",(()=>{const eee=pIe(),tee=Sae((()=>eee.guid)),ree=Sae((()=>eee.keyfile)),oee=Sae((()=>ree.value?.slice(-10))),nee=kre(null),aee=kre("ready"),iee=eee=>{aee.value=eee},see=Sae((()=>{switch(aee.value){case"checking":return{color:"gamma",icon:xSe,text:"Checking..."};case"linked":return{color:"green",icon:zpe,text:"Linked"};case"notLinked":return{color:"yellow",icon:$pe,text:"Not Linked"};case"error":return{color:"red",icon:ede,text:nee.value?.message||"Unknown error"};default:return{color:"gray",icon:$pe,text:"Unknown"}}})),lee=kre("ready"),cee=kre(tee.value?"ready":"error"),pee=eee=>{cee.value=eee},dee=Sae((()=>{switch(cee.value){case"checking":return{color:"gamma",icon:xSe,text:"Checking..."};case"eligible":return{color:"green",icon:zpe,text:"Eligible"};case"error":return{color:"red",icon:ede,text:nee.value?.message||"Unknown error"};case"ineligible":return{color:"red",icon:nde,text:"Ineligible for self-replacement"};default:return}})),uee=kre(sessionStorage.getItem(kSe)?JSON.parse(sessionStorage.getItem(kSe)):void 0),hee=async()=>{uee.value=void 0,await sessionStorage.removeItem(kSe)};return{keyLinkedStatus:aee,keyLinkedOutput:see,renewStatus:lee,replaceStatus:cee,replaceStatusOutput:dee,check:async(eee=!1)=>{tee.value||(pee("error"),nee.value={name:"Error",message:"Flash GUID required to check replacement status"}),ree.value||(pee("error"),nee.value={name:"Error",message:"Keyfile required to check replacement status"});try{let aee;eee?await hee():await(async()=>{if(!uee.value)return;const eee=(new Date).getTime()-uee.value.timestamp>6048e5,tee=!uee.value.key,ree=uee.value.key!==oee.value;(eee||tee||ree)&&await hee()})(),iee("checking"),pee("checking"),nee.value=null,aee=uee.value?uee.value:await(async eee=>await hSe.url("/validate/guid").formUrl(eee).post().json())({guid:tee.value,keyfile:ree.value}),pee(aee?.replaceable?"eligible":"ineligible"),iee(aee?.linked?"linked":"notLinked"),"eligible"!==cee.value&&"ineligible"!==cee.value||uee.value||sessionStorage.setItem(kSe,JSON.stringify({key:oee.value,timestamp:Date.now(),...aee}))}catch(aee){const eee=aee;pee("error"),nee.value=eee?.message?eee:{name:"Error",message:"Unknown error"}}},purgeValidationResponse:hee,setReplaceStatus:pee,setRenewStatus:eee=>{lee.value=eee}}}));var ESe={};const TSe=epe(Pde),SSe=epe(lue),ISe=epe(tke),OSe=epe(_ke),NSe=epe(Lke),ASe=epe(Pxe),RSe=epe(G_e),DSe=epe(lke),CSe=epe(Ame),LSe=epe(Ume),FSe=epe(Yxe),zSe=epe(Qde),MSe=epe(uEe);function PSe(eee){return new Kxe((function(tee,ree){return new yxe((function(oee){var nee,aee,iee;try{nee=ree(tee).subscribe({next:function(nee){nee.errors&&(iee=eee({graphQLErrors:nee.errors,response:nee,operation:tee,forward:ree}))?aee=iee.subscribe({next:oee.next.bind(oee),error:oee.error.bind(oee),complete:oee.complete.bind(oee)}):oee.next(nee)},error:function(nee){(iee=eee({operation:tee,networkError:nee,graphQLErrors:nee&&nee.result&&nee.result.errors,forward:ree}))?aee=iee.subscribe({next:oee.next.bind(oee),error:oee.error.bind(oee),complete:oee.complete.bind(oee)}):oee.error(nee)},complete:function(){iee||oee.complete.bind(oee)()}})}catch(e){eee({networkError:e,operation:tee,forward:ree}),oee.error(e)}return function(){nee&&nee.unsubscribe(),aee&&nee.unsubscribe()}}))}))}!function(eee){Object.defineProperty(eee,"__esModule",{value:!0});var tee=TSe,ree=SSe,oee=ISe,nee=OSe,aee=NSe,iee=ASe,see=RSe,lee=DSe,cee=CSe,pee=LSe,dee=FSe,uee=zSe,hee=MSe;function gee(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var wee=gee(aee);function fee(eee){return null!==eee&&"object"==typeof eee}var bee,mee=Object.prototype.hasOwnProperty,vee=function(eee,tee,ree){return this.merge(eee[ree],tee[ree])},yee=function(){function eee(eee){void 0===eee&&(eee=vee),this.reconciler=eee,this.isObject=fee,this.pastCopies=new Set}return eee.prototype.merge=function(eee,ree){for(var oee=this,nee=[],_i=2;_i0}(tee.incremental)&&tee.incremental.forEach((function(_a){for(var eee=_a.data,tee=_a.path,i=tee.length-1;i>=0;--i){var nee=tee[i],aee=!isNaN(+nee)?[]:{};aee[nee]=eee,eee=aee}ree=oee.merge(ree,eee)})),ree}function kee(eee){return!!eee&&eee<7}function _ee(eee,_a,_b,ree){var oee=_a.data,nee=tee.__rest(_a,["data"]),aee=_b.data,see=tee.__rest(_b,["data"]);return wee(nee,see)&&Eee(iee.getMainDefinition(eee).selectionSet,oee,aee,{fragmentMap:iee.createFragmentMap(iee.getFragmentDefinitions(eee)),variables:ree})}function Eee(eee,tee,ree,oee){if(tee===ree)return!0;var nee=new Set;return eee.selections.every((function(eee){if(nee.has(eee))return!0;if(nee.add(eee),!iee.shouldInclude(eee,oee.variables))return!0;if(Tee(eee))return!0;if(iee.isField(eee)){var aee=iee.resultKeyNameFromField(eee),see=tee&&tee[aee],lee=ree&&ree[aee],cee=eee.selectionSet;if(!cee)return wee(see,lee);var pee=Array.isArray(see),dee=Array.isArray(lee);if(pee!==dee)return!1;if(pee&&dee){var uee=see.length;if(lee.length!==uee)return!1;for(var i=0;i0},nee.prototype.tearDownQuery=function(){this.isTornDown||(this.concast&&this.observer&&(this.concast.removeObserver(this.observer),delete this.concast,delete this.observer),this.stopPolling(),this.subscriptions.forEach((function(eee){return eee.unsubscribe()})),this.subscriptions.clear(),this.queryManager.stopQuery(this.queryId),this.observers.clear(),this.isTornDown=!0)},nee.prototype.transformDocument=function(eee){return this.queryManager.transform(eee)},nee}(iee.Observable);function Aee(eee){var _a=eee.options,tee=_a.fetchPolicy,ree=_a.nextFetchPolicy;return"cache-and-network"===tee||"network-only"===tee?eee.reobserve({fetchPolicy:"cache-first",nextFetchPolicy:function(eee,oee){return this.nextFetchPolicy=ree,"function"==typeof this.nextFetchPolicy?this.nextFetchPolicy(eee,oee):tee}}):eee.reobserve()}function Ree(eee){!1!==globalThis.__DEV__&&ree.invariant.error(23,eee.message,eee.stack)}function Dee(eee){!1!==globalThis.__DEV__&&eee&&!1!==globalThis.__DEV__&&ree.invariant.debug(24,eee)}function Cee(eee){return"network-only"===eee||"no-cache"===eee||"standby"===eee}iee.fixObservableSubclass(Nee);var Lee=function(){function eee(_a){var eee=_a.cache,tee=_a.client,ree=_a.resolvers,oee=_a.fragmentMatcher;this.selectionsToResolveCache=new WeakMap,this.cache=eee,tee&&(this.client=tee),ree&&this.addResolvers(ree),oee&&this.setFragmentMatcher(oee)}return eee.prototype.addResolvers=function(eee){var tee=this;this.resolvers=this.resolvers||{},Array.isArray(eee)?eee.forEach((function(eee){tee.resolvers=iee.mergeDeep(tee.resolvers,eee)})):this.resolvers=iee.mergeDeep(this.resolvers,eee)},eee.prototype.setResolvers=function(eee){this.resolvers={},this.addResolvers(eee)},eee.prototype.getResolvers=function(){return this.resolvers||{}},eee.prototype.runResolvers=function(_a){return tee.__awaiter(this,arguments,void 0,(function(_b){var eee=_b.document,ree=_b.remoteResult,oee=_b.context,nee=_b.variables,_c=_b.onlyRunForcedResolvers,aee=void 0!==_c&&_c;return tee.__generator(this,(function(_d){return eee?[2,this.resolveDocument(eee,ree.data,oee,nee,this.fragmentMatcher,aee).then((function(eee){return tee.__assign(tee.__assign({},ree),{data:eee.result})}))]:[2,ree]}))}))},eee.prototype.setFragmentMatcher=function(eee){this.fragmentMatcher=eee},eee.prototype.getFragmentMatcher=function(){return this.fragmentMatcher},eee.prototype.clientQuery=function(eee){return iee.hasDirectives(["client"],eee)&&this.resolvers?eee:null},eee.prototype.serverQuery=function(eee){return iee.removeClientSetsFromDocument(eee)},eee.prototype.prepareContext=function(eee){var ree=this.cache;return tee.__assign(tee.__assign({},eee),{cache:ree,getCacheKey:function(eee){return ree.identify(eee)}})},eee.prototype.addExportedVariables=function(eee){return tee.__awaiter(this,arguments,void 0,(function(eee,ree,oee){return void 0===ree&&(ree={}),void 0===oee&&(oee={}),tee.__generator(this,(function(_a){return eee?[2,this.resolveDocument(eee,this.buildRootValueFromCache(eee,ree)||{},this.prepareContext(oee),ree).then((function(eee){return tee.__assign(tee.__assign({},ree),eee.exportedVariables)}))]:[2,tee.__assign({},ree)]}))}))},eee.prototype.shouldForceResolvers=function(eee){var tee=!1;return cee.visit(eee,{Directive:{enter:function(eee){if("client"===eee.name.value&&eee.arguments&&(tee=eee.arguments.some((function(eee){return"always"===eee.name.value&&"BooleanValue"===eee.value.kind&&!0===eee.value.value}))))return cee.BREAK}}}),tee},eee.prototype.buildRootValueFromCache=function(eee,tee){return this.cache.diff({query:iee.buildQueryFromSelectionSet(eee),variables:tee,returnPartialData:!0,optimistic:!1}).result},eee.prototype.resolveDocument=function(eee,ree){return tee.__awaiter(this,arguments,void 0,(function(eee,ree,oee,nee,aee,see){var lee,cee,pee,dee,uee,hee,_a,gee,wee,fee;return void 0===oee&&(oee={}),void 0===nee&&(nee={}),void 0===aee&&(aee=function(){return!0}),void 0===see&&(see=!1),tee.__generator(this,(function(_b){return lee=iee.getMainDefinition(eee),cee=iee.getFragmentDefinitions(eee),pee=iee.createFragmentMap(cee),dee=this.collectSelectionsToResolve(lee,pee),uee=lee.operation,hee=uee?uee.charAt(0).toUpperCase()+uee.slice(1):"Query",gee=(_a=this).cache,wee=_a.client,fee={fragmentMap:pee,context:tee.__assign(tee.__assign({},oee),{cache:gee,client:wee}),variables:nee,fragmentMatcher:aee,defaultOperationType:hee,exportedVariables:{},selectionsToResolve:dee,onlyRunForcedResolvers:see},!1,[2,this.resolveSelectionSet(lee.selectionSet,false,ree,fee).then((function(eee){return{result:eee,exportedVariables:fee.exportedVariables}}))]}))}))},eee.prototype.resolveSelectionSet=function(eee,oee,nee,aee){return tee.__awaiter(this,void 0,void 0,(function(){var see,lee,cee,pee,dee,uee=this;return tee.__generator(this,(function(_a){return see=aee.fragmentMap,lee=aee.context,cee=aee.variables,pee=[nee],dee=function(eee){return tee.__awaiter(uee,void 0,void 0,(function(){var dee,uee;return tee.__generator(this,(function(_a){return(oee||aee.selectionsToResolve.has(eee))&&iee.shouldInclude(eee,cee)?iee.isField(eee)?[2,this.resolveField(eee,oee,nee,aee).then((function(tee){var _a;void 0!==tee&&pee.push(((_a={})[iee.resultKeyNameFromField(eee)]=tee,_a))}))]:(iee.isInlineFragment(eee)?dee=eee:(dee=see[eee.name.value],ree.invariant(dee,18,eee.name.value)),dee&&dee.typeCondition&&(uee=dee.typeCondition.name.value,aee.fragmentMatcher(nee,uee,lee))?[2,this.resolveSelectionSet(dee.selectionSet,oee,nee,aee).then((function(eee){pee.push(eee)}))]:[2]):[2]}))}))},[2,Promise.all(eee.selections.map(dee)).then((function(){return iee.mergeDeepArray(pee)}))]}))}))},eee.prototype.resolveField=function(eee,ree,oee,nee){return tee.__awaiter(this,void 0,void 0,(function(){var aee,lee,cee,pee,dee,uee,hee,gee,wee,fee=this;return tee.__generator(this,(function(_a){return oee?(aee=nee.variables,lee=eee.name.value,cee=iee.resultKeyNameFromField(eee),pee=lee!==cee,dee=oee[cee]||oee[lee],uee=Promise.resolve(dee),nee.onlyRunForcedResolvers&&!this.shouldForceResolvers(eee)||(hee=oee.__typename||nee.defaultOperationType,(gee=this.resolvers&&this.resolvers[hee])&&(wee=gee[pee?lee:cee])&&(uee=Promise.resolve(see.cacheSlot.withValue(this.cache,wee,[oee,iee.argumentsObjectFromField(eee,aee),nee.context,{field:eee,fragmentMap:nee.fragmentMap}])))),[2,uee.then((function(tee){var _a,_b;if(void 0===tee&&(tee=dee),eee.directives&&eee.directives.forEach((function(eee){"export"===eee.name.value&&eee.arguments&&eee.arguments.forEach((function(eee){"as"===eee.name.value&&"StringValue"===eee.value.kind&&(nee.exportedVariables[eee.value.value]=tee)}))})),!eee.selectionSet)return tee;if(null==tee)return tee;var oee=null!==(_b=null===(_a=eee.directives)||void 0===_a?void 0:_a.some((function(d){return"client"===d.name.value})))&&void 0!==_b&&_b;return Array.isArray(tee)?fee.resolveSubSelectedArray(eee,ree||oee,tee,nee):eee.selectionSet?fee.resolveSelectionSet(eee.selectionSet,ree||oee,tee,nee):void 0}))]):[2,null]}))}))},eee.prototype.resolveSubSelectedArray=function(eee,tee,ree,oee){var nee=this;return Promise.all(ree.map((function(ree){return null===ree?null:Array.isArray(ree)?nee.resolveSubSelectedArray(eee,tee,ree,oee):eee.selectionSet?nee.resolveSelectionSet(eee.selectionSet,tee,ree,oee):void 0})))},eee.prototype.collectSelectionsToResolve=function(eee,tee){var oee=function(eee){return!Array.isArray(eee)},nee=this.selectionsToResolveCache;return function eee(aee){if(!nee.has(aee)){var iee=new Set;nee.set(aee,iee),cee.visit(aee,{Directive:function(eee,_,__,tee,ree){"client"===eee.name.value&&ree.forEach((function(eee){oee(eee)&&cee.isSelectionNode(eee)&&iee.add(eee)}))},FragmentSpread:function(nee,_,__,aee,see){var lee=tee[nee.name.value];ree.invariant(lee,19,nee.name.value);var pee=eee(lee);pee.size>0&&(see.forEach((function(eee){oee(eee)&&cee.isSelectionNode(eee)&&iee.add(eee)})),iee.add(nee),pee.forEach((function(eee){iee.add(eee)})))}})}return nee.get(aee)}(eee)},eee}(),Fee=new(iee.canUseWeakMap?WeakMap:Map);function zee(eee,tee){var ree=eee[tee];"function"==typeof ree&&(eee[tee]=function(){return Fee.set(eee,(Fee.get(eee)+1)%1e15),ree.apply(this,arguments)})}function Mee(eee){eee.notifyTimeout&&(clearTimeout(eee.notifyTimeout),eee.notifyTimeout=void 0)}var Pee=function(){function ree(eee,tee){void 0===tee&&(tee=eee.generateQueryId()),this.queryId=tee,this.listeners=new Set,this.document=null,this.lastRequestId=1,this.stopped=!1,this.dirty=!1,this.observableQuery=null;var ree=this.cache=eee.cache;Fee.has(ree)||(Fee.set(ree,0),zee(ree,"evict"),zee(ree,"modify"),zee(ree,"reset"))}return ree.prototype.init=function(tee){var ree=tee.networkStatus||eee.NetworkStatus.loading;return this.variables&&this.networkStatus!==eee.NetworkStatus.loading&&!aee.equal(this.variables,tee.variables)&&(ree=eee.NetworkStatus.setVariables),aee.equal(tee.variables,this.variables)||(this.lastDiff=void 0),Object.assign(this,{document:tee.document,variables:tee.variables,networkError:null,graphQLErrors:this.graphQLErrors||[],networkStatus:ree}),tee.observableQuery&&this.setObservableQuery(tee.observableQuery),tee.lastRequestId&&(this.lastRequestId=tee.lastRequestId),this},ree.prototype.reset=function(){Mee(this),this.dirty=!1},ree.prototype.resetDiff=function(){this.lastDiff=void 0},ree.prototype.getDiff=function(){var eee=this.getDiffOptions();if(this.lastDiff&&aee.equal(eee,this.lastDiff.options))return this.lastDiff.diff;this.updateWatch(this.variables);var oq=this.observableQuery;if(oq&&"no-cache"===oq.options.fetchPolicy)return{complete:!1};var tee=this.cache.diff(eee);return this.updateLastDiff(tee,eee),tee},ree.prototype.updateLastDiff=function(eee,tee){this.lastDiff=eee?{diff:eee,options:tee||this.getDiffOptions()}:void 0},ree.prototype.getDiffOptions=function(eee){var _a;return void 0===eee&&(eee=this.variables),{query:this.document,variables:eee,returnPartialData:!0,optimistic:!0,canonizeResults:null===(_a=this.observableQuery)||void 0===_a?void 0:_a.options.canonizeResults}},ree.prototype.setDiff=function(eee){var _a,tee=this,ree=this.lastDiff&&this.lastDiff.diff;eee&&!eee.complete&&(null===(_a=this.observableQuery)||void 0===_a?void 0:_a.getLastError())||(this.updateLastDiff(eee),this.dirty||aee.equal(ree&&ree.result,eee&&eee.result)||(this.dirty=!0,this.notifyTimeout||(this.notifyTimeout=setTimeout((function(){return tee.notify()}),0))))},ree.prototype.setObservableQuery=function(oq){var eee=this;oq!==this.observableQuery&&(this.oqListener&&this.listeners.delete(this.oqListener),this.observableQuery=oq,oq?(oq.queryInfo=this,this.listeners.add(this.oqListener=function(){eee.getDiff().fromOptimisticTransaction?oq.observe():Aee(oq)})):delete this.oqListener)},ree.prototype.notify=function(){var eee=this;Mee(this),this.shouldNotify()&&this.listeners.forEach((function(tee){return tee(eee)})),this.dirty=!1},ree.prototype.shouldNotify=function(){if(!this.dirty||!this.listeners.size)return!1;if(kee(this.networkStatus)&&this.observableQuery){var eee=this.observableQuery.options.fetchPolicy;if("cache-only"!==eee&&"cache-and-network"!==eee)return!1}return!0},ree.prototype.stop=function(){if(!this.stopped){this.stopped=!0,this.reset(),this.cancel(),this.cancel=ree.prototype.cancel;var oq=this.observableQuery;oq&&oq.stopPolling()}},ree.prototype.cancel=function(){},ree.prototype.updateWatch=function(eee){var ree=this;void 0===eee&&(eee=this.variables);var oq=this.observableQuery;if(!oq||"no-cache"!==oq.options.fetchPolicy){var oee=tee.__assign(tee.__assign({},this.getDiffOptions(eee)),{watcher:this,callback:function(eee){return ree.setDiff(eee)}});this.lastWatch&&aee.equal(oee,this.lastWatch)||(this.cancel(),this.cancel=this.cache.watch(this.lastWatch=oee))}},ree.prototype.resetLastWrite=function(){this.lastWrite=void 0},ree.prototype.shouldWrite=function(eee,tee){var ree=this.lastWrite;return!(ree&&ree.dmCount===Fee.get(this.cache)&&aee.equal(tee,ree.variables)&&aee.equal(eee.data,ree.result.data))},ree.prototype.markResult=function(eee,tee,ree,oee){var nee=this,see=new iee.DeepMerger,lee=iee.isNonEmptyArray(eee.errors)?eee.errors.slice(0):[];if(this.reset(),"incremental"in eee&&iee.isNonEmptyArray(eee.incremental)){var cee=iee.mergeIncrementalData(this.getDiff().result,eee);eee.data=cee}else if("hasNext"in eee&&eee.hasNext){var pee=this.getDiff();eee.data=see.merge(pee.result,eee.data)}this.graphQLErrors=lee,"no-cache"===ree.fetchPolicy?this.updateLastDiff({result:eee.data,complete:!0},this.getDiffOptions(ree.variables)):0!==oee&&(Uee(eee,ree.errorPolicy)?this.cache.performTransaction((function(iee){if(nee.shouldWrite(eee,ree.variables))iee.writeQuery({query:tee,data:eee.data,variables:ree.variables,overwrite:1===oee}),nee.lastWrite={result:eee,variables:ree.variables,dmCount:Fee.get(nee.cache)};else if(nee.lastDiff&&nee.lastDiff.diff.complete)return void(eee.data=nee.lastDiff.diff.result);var see=nee.getDiffOptions(ree.variables),lee=iee.diff(see);!nee.stopped&&aee.equal(nee.variables,ree.variables)&&nee.updateWatch(ree.variables),nee.updateLastDiff(lee,see),lee.complete&&(eee.data=lee.result)})):this.lastWrite=void 0)},ree.prototype.markReady=function(){return this.networkError=null,this.networkStatus=eee.NetworkStatus.ready},ree.prototype.markError=function(tee){return this.networkStatus=eee.NetworkStatus.error,this.lastWrite=void 0,this.reset(),tee.graphQLErrors&&(this.graphQLErrors=tee.graphQLErrors),tee.networkError&&(this.networkError=tee.networkError),tee},ree}();function Uee(eee,tee){void 0===tee&&(tee="none");var ree="ignore"===tee||"all"===tee,oee=!iee.graphQLResultHasError(eee);return!oee&&ree&&eee.data&&(oee=!0),oee}var jee=Object.prototype.hasOwnProperty,$ee=Object.create(null),Vee=function(){function nee(_a){var eee=_a.cache,tee=_a.link,ree=_a.defaultOptions,oee=_a.documentTransform,_b=_a.queryDeduplication,nee=void 0!==_b&&_b,aee=_a.onBroadcast,_c=_a.ssrMode,see=void 0!==_c&&_c,_d=_a.clientAwareness,lee=void 0===_d?{}:_d,cee=_a.localState,_e=_a.assumeImmutableResults,dee=void 0===_e?!!eee.assumeImmutableResults:_e,uee=_a.defaultContext,hee=this;this.clientAwareness={},this.queries=new Map,this.fetchCancelFns=new Map,this.transformCache=new iee.AutoCleanedWeakCache(iee.cacheSizes["queryManager.getDocumentInfo"]||2e3),this.queryIdCounter=1,this.requestIdCounter=1,this.mutationIdCounter=1,this.inFlightLinkObservables=new pee.Trie(!1);var gee=new iee.DocumentTransform((function(eee){return hee.cache.transformDocument(eee)}),{cache:!1});this.cache=eee,this.link=tee,this.defaultOptions=ree||Object.create(null),this.queryDeduplication=nee,this.clientAwareness=lee,this.localState=cee||new Lee({cache:eee}),this.ssrMode=see,this.assumeImmutableResults=dee,this.documentTransform=oee?gee.concat(oee).concat(gee):gee,this.defaultContext=uee||Object.create(null),(this.onBroadcast=aee)&&(this.mutationStore=Object.create(null))}return nee.prototype.stop=function(){var eee=this;this.queries.forEach((function(tee,ree){eee.stopQueryNoBroadcast(ree)})),this.cancelPendingFetches(ree.newInvariantError(25))},nee.prototype.cancelPendingFetches=function(eee){this.fetchCancelFns.forEach((function(tee){return tee(eee)})),this.fetchCancelFns.clear()},nee.prototype.mutate=function(_a){return tee.__awaiter(this,arguments,void 0,(function(_b){var eee,oee,nee,aee,see,_c,_d,cee=_b.mutation,pee=_b.variables,dee=_b.optimisticResponse,uee=_b.updateQueries,_e=_b.refetchQueries,hee=void 0===_e?[]:_e,_f=_b.awaitRefetchQueries,gee=void 0!==_f&&_f,wee=_b.update,fee=_b.onQueryUpdated,_g=_b.fetchPolicy,bee=void 0===_g?(null===(_c=this.defaultOptions.mutate)||void 0===_c?void 0:_c.fetchPolicy)||"network-only":_g,_h=_b.errorPolicy,mee=void 0===_h?(null===(_d=this.defaultOptions.mutate)||void 0===_d?void 0:_d.errorPolicy)||"none":_h,vee=_b.keepRootFields,yee=_b.context;return tee.__generator(this,(function(_j){switch(_j.label){case 0:return ree.invariant(cee,26),ree.invariant("network-only"===bee||"no-cache"===bee,27),eee=this.generateMutationId(),cee=this.cache.transformForLink(this.transform(cee)),oee=this.getDocumentInfo(cee).hasClientExports,pee=this.getVariables(cee,pee),oee?[4,this.localState.addExportedVariables(cee,pee,yee)]:[3,2];case 1:pee=_j.sent(),_j.label=2;case 2:return nee=this.mutationStore&&(this.mutationStore[eee]={mutation:cee,variables:pee,loading:!0,error:null}),aee=dee&&this.markMutationOptimistic(dee,{mutationId:eee,document:cee,variables:pee,fetchPolicy:bee,errorPolicy:mee,context:yee,updateQueries:uee,update:wee,keepRootFields:vee}),this.broadcastQueries(),see=this,[2,new Promise((function(ree,oee){return iee.asyncMap(see.getObservableFromLink(cee,tee.__assign(tee.__assign({},yee),{optimisticResponse:aee?dee:void 0}),pee,!1),(function(ree){if(iee.graphQLResultHasError(ree)&&"none"===mee)throw new lee.ApolloError({graphQLErrors:iee.getGraphQLErrorsFromResult(ree)});nee&&(nee.loading=!1,nee.error=null);var oee=tee.__assign({},ree);return"function"==typeof hee&&(hee=hee(oee)),"ignore"===mee&&iee.graphQLResultHasError(oee)&&delete oee.errors,see.markMutationResult({mutationId:eee,result:oee,document:cee,variables:pee,fetchPolicy:bee,errorPolicy:mee,context:yee,update:wee,updateQueries:uee,awaitRefetchQueries:gee,refetchQueries:hee,removeOptimistic:aee?eee:void 0,onQueryUpdated:fee,keepRootFields:vee})})).subscribe({next:function(eee){see.broadcastQueries(),"hasNext"in eee&&!1!==eee.hasNext||ree(eee)},error:function(tee){nee&&(nee.loading=!1,nee.error=tee),aee&&see.cache.removeOptimistic(eee),see.broadcastQueries(),oee(tee instanceof lee.ApolloError?tee:new lee.ApolloError({networkError:tee}))}})}))]}}))}))},nee.prototype.markMutationResult=function(eee,ree){var oee=this;void 0===ree&&(ree=this.cache);var nee=eee.result,aee=[],see="no-cache"===eee.fetchPolicy;if(!see&&Uee(nee,eee.errorPolicy)){if(iee.isExecutionPatchIncrementalResult(nee)||aee.push({result:nee.data,dataId:"ROOT_MUTATION",query:eee.document,variables:eee.variables}),iee.isExecutionPatchIncrementalResult(nee)&&iee.isNonEmptyArray(nee.incremental)){var lee=ree.diff({id:"ROOT_MUTATION",query:this.getDocumentInfo(eee.document).asQuery,variables:eee.variables,optimistic:!1,returnPartialData:!0}),cee=void 0;lee.result&&(cee=xee(lee.result,nee)),void 0!==cee&&(nee.data=cee,aee.push({result:cee,dataId:"ROOT_MUTATION",query:eee.document,variables:eee.variables}))}var pee=eee.updateQueries;pee&&this.queries.forEach((function(_a,eee){var tee=_a.observableQuery,see=tee&&tee.queryName;if(see&&jee.call(pee,see)){var lee=pee[see],_b=oee.queries.get(eee),cee=_b.document,dee=_b.variables,_c=ree.diff({query:cee,variables:dee,returnPartialData:!0,optimistic:!1}),uee=_c.result;if(_c.complete&&uee){var hee=lee(uee,{mutationResult:nee,queryName:cee&&iee.getOperationName(cee)||void 0,queryVariables:dee});hee&&aee.push({result:hee,dataId:"ROOT_QUERY",query:cee,variables:dee})}}}))}if(aee.length>0||(eee.refetchQueries||"").length>0||eee.update||eee.onQueryUpdated||eee.removeOptimistic){var dee=[];if(this.refetchQueries({updateCache:function(ree){see||aee.forEach((function(eee){return ree.write(eee)}));var lee=eee.update,cee=!iee.isExecutionPatchResult(nee)||iee.isExecutionPatchIncrementalResult(nee)&&!nee.hasNext;if(lee){if(!see){var pee=ree.diff({id:"ROOT_MUTATION",query:oee.getDocumentInfo(eee.document).asQuery,variables:eee.variables,optimistic:!1,returnPartialData:!0});pee.complete&&("incremental"in(nee=tee.__assign(tee.__assign({},nee),{data:pee.result}))&&delete nee.incremental,"hasNext"in nee&&delete nee.hasNext)}cee&&lee(ree,nee,{context:eee.context,variables:eee.variables})}see||eee.keepRootFields||!cee||ree.modify({id:"ROOT_MUTATION",fields:function(eee,_a){var tee=_a.fieldName,ree=_a.DELETE;return"__typename"===tee?eee:ree}})},include:eee.refetchQueries,optimistic:!1,removeOptimistic:eee.removeOptimistic,onQueryUpdated:eee.onQueryUpdated||null}).forEach((function(eee){return dee.push(eee)})),eee.awaitRefetchQueries||eee.onQueryUpdated)return Promise.all(dee).then((function(){return nee}))}return Promise.resolve(nee)},nee.prototype.markMutationOptimistic=function(eee,oee){var nee=this,aee="function"==typeof eee?eee(oee.variables,{IGNORE:$ee}):eee;return aee!==$ee&&(this.cache.recordOptimisticTransaction((function(eee){try{nee.markMutationResult(tee.__assign(tee.__assign({},oee),{result:{data:aee}}),eee)}catch(iee){!1!==globalThis.__DEV__&&ree.invariant.error(iee)}}),oee.mutationId),!0)},nee.prototype.fetchQuery=function(eee,tee,ree){return this.fetchConcastWithInfo(eee,tee,ree).concast.promise},nee.prototype.getQueryStore=function(){var eee=Object.create(null);return this.queries.forEach((function(tee,ree){eee[ree]={variables:tee.variables,networkStatus:tee.networkStatus,networkError:tee.networkError,graphQLErrors:tee.graphQLErrors}})),eee},nee.prototype.resetErrors=function(eee){var tee=this.queries.get(eee);tee&&(tee.networkError=void 0,tee.graphQLErrors=[])},nee.prototype.transform=function(eee){return this.documentTransform.transformDocument(eee)},nee.prototype.getDocumentInfo=function(eee){var ree=this.transformCache;if(!ree.has(eee)){var oee={hasClientExports:iee.hasClientExports(eee),hasForcedResolvers:this.localState.shouldForceResolvers(eee),hasNonreactiveDirective:iee.hasDirectives(["nonreactive"],eee),clientQuery:this.localState.clientQuery(eee),serverQuery:iee.removeDirectivesFromDocument([{name:"client",remove:!0},{name:"connection"},{name:"nonreactive"}],eee),defaultVars:iee.getDefaultValues(iee.getOperationDefinition(eee)),asQuery:tee.__assign(tee.__assign({},eee),{definitions:eee.definitions.map((function(eee){return"OperationDefinition"===eee.kind&&"query"!==eee.operation?tee.__assign(tee.__assign({},eee),{operation:"query"}):eee}))})};ree.set(eee,oee)}return ree.get(eee)},nee.prototype.getVariables=function(eee,ree){return tee.__assign(tee.__assign({},this.getDocumentInfo(eee).defaultVars),ree)},nee.prototype.watchQuery=function(eee){var ree=this.transform(eee.query);void 0===(eee=tee.__assign(tee.__assign({},eee),{variables:this.getVariables(ree,eee.variables)})).notifyOnNetworkStatusChange&&(eee.notifyOnNetworkStatusChange=!1);var oee=new Pee(this),nee=new Nee({queryManager:this,queryInfo:oee,options:eee});return nee.lastQuery=ree,this.queries.set(nee.queryId,oee),oee.init({document:ree,observableQuery:nee,variables:nee.variables}),nee},nee.prototype.query=function(eee,oee){var nee=this;return void 0===oee&&(oee=this.generateQueryId()),ree.invariant(eee.query,28),ree.invariant("Document"===eee.query.kind,29),ree.invariant(!eee.returnPartialData,30),ree.invariant(!eee.pollInterval,31),this.fetchQuery(oee,tee.__assign(tee.__assign({},eee),{query:this.transform(eee.query)})).finally((function(){return nee.stopQuery(oee)}))},nee.prototype.generateQueryId=function(){return String(this.queryIdCounter++)},nee.prototype.generateRequestId=function(){return this.requestIdCounter++},nee.prototype.generateMutationId=function(){return String(this.mutationIdCounter++)},nee.prototype.stopQueryInStore=function(eee){this.stopQueryInStoreNoBroadcast(eee),this.broadcastQueries()},nee.prototype.stopQueryInStoreNoBroadcast=function(eee){var tee=this.queries.get(eee);tee&&tee.stop()},nee.prototype.clearStore=function(tee){return void 0===tee&&(tee={discardWatches:!0}),this.cancelPendingFetches(ree.newInvariantError(32)),this.queries.forEach((function(tee){tee.observableQuery?tee.networkStatus=eee.NetworkStatus.loading:tee.stop()})),this.mutationStore&&(this.mutationStore=Object.create(null)),this.cache.reset(tee)},nee.prototype.getObservableQueries=function(eee){var oee=this;void 0===eee&&(eee="active");var nee=new Map,aee=new Map,see=new Set;return Array.isArray(eee)&&eee.forEach((function(eee){"string"==typeof eee?aee.set(eee,!1):iee.isDocumentNode(eee)?aee.set(oee.transform(eee),!1):iee.isNonNullObject(eee)&&eee.query&&see.add(eee)})),this.queries.forEach((function(_a,tee){var oq=_a.observableQuery,ree=_a.document;if(oq){if("all"===eee)return void nee.set(tee,oq);var oee=oq.queryName;if("standby"===oq.options.fetchPolicy||"active"===eee&&!oq.hasObservers())return;("active"===eee||oee&&aee.has(oee)||ree&&aee.has(ree))&&(nee.set(tee,oq),oee&&aee.set(oee,!0),ree&&aee.set(ree,!0))}})),see.size&&see.forEach((function(eee){var aee=iee.makeUniqueId("legacyOneTimeQuery"),see=oee.getQuery(aee).init({document:eee.query,variables:eee.variables}),oq=new Nee({queryManager:oee,queryInfo:see,options:tee.__assign(tee.__assign({},eee),{fetchPolicy:"network-only"})});ree.invariant(oq.queryId===aee),see.setObservableQuery(oq),nee.set(aee,oq)})),!1!==globalThis.__DEV__&&aee.size&&aee.forEach((function(eee,tee){eee||!1!==globalThis.__DEV__&&ree.invariant.warn("string"==typeof tee?33:34,tee)})),nee},nee.prototype.reFetchObservableQueries=function(eee){var tee=this;void 0===eee&&(eee=!1);var ree=[];return this.getObservableQueries(eee?"all":"active").forEach((function(oee,nee){var aee=oee.options.fetchPolicy;oee.resetLastResults(),(eee||"standby"!==aee&&"cache-only"!==aee)&&ree.push(oee.refetch()),tee.getQuery(nee).setDiff(null)})),this.broadcastQueries(),Promise.all(ree)},nee.prototype.setObservableQuery=function(eee){this.getQuery(eee.queryId).setObservableQuery(eee)},nee.prototype.startGraphQLSubscription=function(_a){var eee=this,tee=_a.query,ree=_a.fetchPolicy,_b=_a.errorPolicy,oee=void 0===_b?"none":_b,nee=_a.variables,_c=_a.context,aee=void 0===_c?{}:_c;tee=this.transform(tee),nee=this.getVariables(tee,nee);var see=function(nee){return eee.getObservableFromLink(tee,aee,nee).map((function(aee){"no-cache"!==ree&&(Uee(aee,oee)&&eee.cache.write({query:tee,result:aee.data,dataId:"ROOT_SUBSCRIPTION",variables:nee}),eee.broadcastQueries());var see=iee.graphQLResultHasError(aee),cee=lee.graphQLResultHasProtocolErrors(aee);if(see||cee){var pee={};if(see&&(pee.graphQLErrors=aee.errors),cee&&(pee.protocolErrors=aee.extensions[lee.PROTOCOL_ERRORS_SYMBOL]),"none"===oee||cee)throw new lee.ApolloError(pee)}return"ignore"===oee&&delete aee.errors,aee}))};if(this.getDocumentInfo(tee).hasClientExports){var cee=this.localState.addExportedVariables(tee,nee,aee).then(see);return new iee.Observable((function(eee){var tee=null;return cee.then((function(ree){return tee=ree.subscribe(eee)}),eee.error),function(){return tee&&tee.unsubscribe()}}))}return see(nee)},nee.prototype.stopQuery=function(eee){this.stopQueryNoBroadcast(eee),this.broadcastQueries()},nee.prototype.stopQueryNoBroadcast=function(eee){this.stopQueryInStoreNoBroadcast(eee),this.removeQuery(eee)},nee.prototype.removeQuery=function(eee){this.fetchCancelFns.delete(eee),this.queries.has(eee)&&(this.getQuery(eee).stop(),this.queries.delete(eee))},nee.prototype.broadcastQueries=function(){this.onBroadcast&&this.onBroadcast(),this.queries.forEach((function(eee){return eee.notify()}))},nee.prototype.getLocalState=function(){return this.localState},nee.prototype.getObservableFromLink=function(eee,ree,nee,aee){var _a,lee,cee=this;void 0===aee&&(aee=null!==(_a=null==ree?void 0:ree.queryDeduplication)&&void 0!==_a?_a:this.queryDeduplication);var _b=this.getDocumentInfo(eee),pee=_b.serverQuery,dee=_b.clientQuery;if(pee){var uee=this.inFlightLinkObservables,hee=this.link,gee={query:pee,variables:nee,operationName:iee.getOperationName(pee)||void 0,context:this.prepareContext(tee.__assign(tee.__assign({},ree),{forceFetch:!aee}))};if(ree=gee.context,aee){var wee=iee.print(pee),fee=see.canonicalStringify(nee),bee=uee.lookup(wee,fee);if(!(lee=bee.observable)){var mee=new iee.Concast([oee.execute(hee,gee)]);lee=bee.observable=mee,mee.beforeNext((function(){uee.remove(wee,fee)}))}}else lee=new iee.Concast([oee.execute(hee,gee)])}else lee=new iee.Concast([iee.Observable.of({data:{}})]),ree=this.prepareContext(ree);return dee&&(lee=iee.asyncMap(lee,(function(eee){return cee.localState.runResolvers({document:dee,remoteResult:eee,context:ree,variables:nee})}))),lee},nee.prototype.getResultsFromLink=function(tee,ree,oee){var nee=tee.lastRequestId=this.generateRequestId(),aee=this.cache.transformForLink(oee.query);return iee.asyncMap(this.getObservableFromLink(aee,oee.context,oee.variables),(function(see){var cee=iee.getGraphQLErrorsFromResult(see),pee=cee.length>0;if(nee>=tee.lastRequestId){if(pee&&"none"===oee.errorPolicy)throw tee.markError(new lee.ApolloError({graphQLErrors:cee}));tee.markResult(see,aee,oee,ree),tee.markReady()}var dee={data:see.data,loading:!1,networkStatus:eee.NetworkStatus.ready};return pee&&"ignore"!==oee.errorPolicy&&(dee.errors=cee,dee.networkStatus=eee.NetworkStatus.error),dee}),(function(eee){var ree=lee.isApolloError(eee)?eee:new lee.ApolloError({networkError:eee});throw nee>=tee.lastRequestId&&tee.markError(ree),ree}))},nee.prototype.fetchConcastWithInfo=function(tee,ree,oee,nee){var aee=this;void 0===oee&&(oee=eee.NetworkStatus.loading),void 0===nee&&(nee=ree.query);var see,lee,cee=this.getVariables(nee,ree.variables),pee=this.getQuery(tee),dee=this.defaultOptions.watchQuery,_a=ree.fetchPolicy,uee=void 0===_a?dee&&dee.fetchPolicy||"cache-first":_a,_b=ree.errorPolicy,hee=void 0===_b?dee&&dee.errorPolicy||"none":_b,_c=ree.returnPartialData,gee=void 0!==_c&&_c,_d=ree.notifyOnNetworkStatusChange,wee=void 0!==_d&&_d,_e=ree.context,fee=void 0===_e?{}:_e,bee=Object.assign({},ree,{query:nee,variables:cee,fetchPolicy:uee,errorPolicy:hee,returnPartialData:gee,notifyOnNetworkStatusChange:wee,context:fee}),mee=function(eee){bee.variables=eee;var tee=aee.fetchQueryByPolicy(pee,bee,oee);return"standby"!==bee.fetchPolicy&&tee.sources.length>0&&pee.observableQuery&&pee.observableQuery.applyNextFetchPolicy("after-fetch",ree),tee},vee=function(){return aee.fetchCancelFns.delete(tee)};if(this.fetchCancelFns.set(tee,(function(eee){vee(),setTimeout((function(){return see.cancel(eee)}))})),this.getDocumentInfo(bee.query).hasClientExports)see=new iee.Concast(this.localState.addExportedVariables(bee.query,bee.variables,bee.context).then(mee).then((function(eee){return eee.sources}))),lee=!0;else{var yee=mee(bee.variables);lee=yee.fromLink,see=new iee.Concast(yee.sources)}return see.promise.then(vee,vee),{concast:see,fromLink:lee}},nee.prototype.refetchQueries=function(_a){var eee=this,tee=_a.updateCache,ree=_a.include,_b=_a.optimistic,oee=void 0!==_b&&_b,_c=_a.removeOptimistic,nee=void 0===_c?oee?iee.makeUniqueId("refetchQueries"):void 0:_c,aee=_a.onQueryUpdated,see=new Map;ree&&this.getObservableQueries(ree).forEach((function(oq,tee){see.set(tee,{oq:oq,lastDiff:eee.getQuery(tee).getDiff()})}));var lee=new Map;return tee&&this.cache.batch({update:tee,optimistic:oee&&nee||!1,removeOptimistic:nee,onWatchUpdated:function(eee,tee,ree){var oq=eee.watcher instanceof Pee&&eee.watcher.observableQuery;if(oq){if(aee){see.delete(oq.queryId);var oee=aee(oq,tee,ree);return!0===oee&&(oee=oq.refetch()),!1!==oee&&lee.set(oq,oee),oee}null!==aee&&see.set(oq.queryId,{oq:oq,lastDiff:ree,diff:tee})}}}),see.size&&see.forEach((function(_a,tee){var ree,oq=_a.oq,oee=_a.lastDiff,nee=_a.diff;if(aee){if(!nee){var iee=oq.queryInfo;iee.reset(),nee=iee.getDiff()}ree=aee(oq,nee,oee)}aee&&!0!==ree||(ree=oq.refetch()),!1!==ree&&lee.set(oq,ree),tee.indexOf("legacyOneTimeQuery")>=0&&eee.stopQueryNoBroadcast(tee)})),nee&&this.cache.removeOptimistic(nee),lee},nee.prototype.fetchQueryByPolicy=function(ree,_a,oee){var nee=this,see=_a.query,lee=_a.variables,cee=_a.fetchPolicy,pee=_a.refetchWritePolicy,dee=_a.errorPolicy,uee=_a.returnPartialData,hee=_a.context,gee=_a.notifyOnNetworkStatusChange,wee=ree.networkStatus;ree.init({document:see,variables:lee,networkStatus:oee});var fee=function(){return ree.getDiff()},bee=function(oee,cee){void 0===cee&&(cee=ree.networkStatus||eee.NetworkStatus.loading);var pee=oee.result;!1===globalThis.__DEV__||uee||aee.equal(pee,{})||Dee(oee.missing);var gee=function(eee){return iee.Observable.of(tee.__assign({data:eee,loading:kee(cee),networkStatus:cee},oee.complete?null:{partial:!0}))};return pee&&nee.getDocumentInfo(see).hasForcedResolvers?nee.localState.runResolvers({document:see,remoteResult:{data:pee},context:hee,variables:lee,onlyRunForcedResolvers:!0}).then((function(eee){return gee(eee.data||void 0)})):"none"===dee&&cee===eee.NetworkStatus.refetch&&Array.isArray(oee.missing)?gee(void 0):gee(pee)},mee="no-cache"===cee?0:oee===eee.NetworkStatus.refetch&&"merge"!==pee?1:2,vee=function(){return nee.getResultsFromLink(ree,mee,{query:see,variables:lee,context:hee,fetchPolicy:cee,errorPolicy:dee})},yee=gee&&"number"==typeof wee&&wee!==oee&&kee(oee);switch(cee){default:case"cache-first":return(xee=fee()).complete?{fromLink:!1,sources:[bee(xee,ree.markReady())]}:uee||yee?{fromLink:!0,sources:[bee(xee),vee()]}:{fromLink:!0,sources:[vee()]};case"cache-and-network":var xee;return(xee=fee()).complete||uee||yee?{fromLink:!0,sources:[bee(xee),vee()]}:{fromLink:!0,sources:[vee()]};case"cache-only":return{fromLink:!1,sources:[bee(fee(),ree.markReady())]};case"network-only":return yee?{fromLink:!0,sources:[bee(fee()),vee()]}:{fromLink:!0,sources:[vee()]};case"no-cache":return yee?{fromLink:!0,sources:[bee(ree.getDiff()),vee()]}:{fromLink:!0,sources:[vee()]};case"standby":return{fromLink:!1,sources:[]}}},nee.prototype.getQuery=function(eee){return eee&&!this.queries.has(eee)&&this.queries.set(eee,new Pee(this,eee)),this.queries.get(eee)},nee.prototype.prepareContext=function(eee){void 0===eee&&(eee={});var ree=this.localState.prepareContext(eee);return tee.__assign(tee.__assign(tee.__assign({},this.defaultContext),ree),{clientAwareness:this.clientAwareness})},nee}(),qee=Symbol.for("apollo.cacheSize"),Bee=tee.__assign({},ree.global[qee]),Yee={},Gee=!1!==globalThis.__DEV__?function(){var _a,_b,_c,_d,_e;if(!1===globalThis.__DEV__)throw new Error("only supported in development mode");return{limits:({parser:1e3,canonicalStringify:1e3,print:2e3,"documentTransform.cache":2e3,"queryManager.getDocumentInfo":2e3,"PersistedQueryLink.persistedQueryHashes":2e3,"fragmentRegistry.transform":2e3,"fragmentRegistry.lookup":1e3,"fragmentRegistry.findFragmentSpreads":4e3,"cache.fragmentQueryDocuments":1e3,"removeTypenameFromVariables.getVariableDefinitions":2e3,"inMemoryCache.maybeBroadcastWatch":5e3,"inMemoryCache.executeSelectionSet":5e4,"inMemoryCache.executeSubSelectedArray":1e4},Object.fromEntries(Object.entries({parser:1e3,canonicalStringify:1e3,print:2e3,"documentTransform.cache":2e3,"queryManager.getDocumentInfo":2e3,"PersistedQueryLink.persistedQueryHashes":2e3,"fragmentRegistry.transform":2e3,"fragmentRegistry.lookup":1e3,"fragmentRegistry.findFragmentSpreads":4e3,"cache.fragmentQueryDocuments":1e3,"removeTypenameFromVariables.getVariableDefinitions":2e3,"inMemoryCache.maybeBroadcastWatch":5e3,"inMemoryCache.executeSelectionSet":5e4,"inMemoryCache.executeSubSelectedArray":1e4}).map((function(_a){var k=_a[0],v=_a[1];return[k,Bee[k]||v]})))),sizes:tee.__assign({print:null===(_a=Yee.print)||void 0===_a?void 0:_a.call(Yee),parser:null===(_b=Yee.parser)||void 0===_b?void 0:_b.call(Yee),canonicalStringify:null===(_c=Yee.canonicalStringify)||void 0===_c?void 0:_c.call(Yee),links:Xee(this.link),queryManager:{getDocumentInfo:this.queryManager.transformCache.size,documentTransforms:Kee(this.queryManager.documentTransform)}},null===(_e=(_d=this.cache).getMemoryInternals)||void 0===_e?void 0:_e.call(_d))}}:void 0;function Qee(f){return function(f){return!!f&&"dirtyKey"in f}(f)?f.size:void 0}function Wee(eee){return null!=eee}function Kee(eee){return Hee(eee).map((function(eee){return{cache:eee}}))}function Hee(eee){return eee?tee.__spreadArray(tee.__spreadArray([Qee(null==eee?void 0:eee.performWork)],Hee(null==eee?void 0:eee.left),!0),Hee(null==eee?void 0:eee.right),!0).filter(Wee):[]}function Xee(eee){var _a;return eee?tee.__spreadArray(tee.__spreadArray([null===(_a=null==eee?void 0:eee.getMemoryInternals)||void 0===_a?void 0:_a.call(eee)],Xee(null==eee?void 0:eee.left),!0),Xee(null==eee?void 0:eee.right),!0).filter(Wee):[]}var Zee=!1,Jee=function(){function eee(eee){var tee=this;if(this.resetStoreCallbacks=[],this.clearStoreCallbacks=[],!eee.cache)throw ree.newInvariantError(15);var aee=eee.uri,iee=eee.credentials,see=eee.headers,lee=eee.cache,cee=eee.documentTransform,_a=eee.ssrMode,pee=void 0!==_a&&_a,_b=eee.ssrForceFetchDelay,dee=void 0===_b?0:_b,_c=eee.connectToDevTools,uee=void 0===_c?"object"==typeof window&&!window.__APOLLO_CLIENT__&&!1!==globalThis.__DEV__:_c,_d=eee.queryDeduplication,hee=void 0===_d||_d,gee=eee.defaultOptions,wee=eee.defaultContext,_e=eee.assumeImmutableResults,fee=void 0===_e?lee.assumeImmutableResults:_e,bee=eee.resolvers,mee=eee.typeDefs,vee=eee.fragmentMatcher,yee=eee.name,xee=eee.version,kee=eee.link;kee||(kee=aee?new nee.HttpLink({uri:aee,credentials:iee,headers:see}):oee.ApolloLink.empty()),this.link=kee,this.cache=lee,this.disableNetworkFetches=pee||dee>0,this.queryDeduplication=hee,this.defaultOptions=gee||Object.create(null),this.typeDefs=mee,dee&&setTimeout((function(){return tee.disableNetworkFetches=!1}),dee),this.watchQuery=this.watchQuery.bind(this),this.query=this.query.bind(this),this.mutate=this.mutate.bind(this),this.watchFragment=this.watchFragment.bind(this),this.resetStore=this.resetStore.bind(this),this.reFetchObservableQueries=this.reFetchObservableQueries.bind(this),this.version="3.10.4",this.localState=new Lee({cache:lee,client:this,resolvers:bee,fragmentMatcher:vee}),this.queryManager=new Vee({cache:this.cache,link:this.link,defaultOptions:this.defaultOptions,defaultContext:wee,documentTransform:cee,queryDeduplication:hee,ssrMode:pee,clientAwareness:{name:yee,version:xee},localState:this.localState,assumeImmutableResults:fee,onBroadcast:uee?function(){tee.devToolsHookCb&&tee.devToolsHookCb({action:{},state:{queries:tee.queryManager.getQueryStore(),mutations:tee.queryManager.mutationStore||{}},dataWithOptimisticResults:tee.cache.extract(!0)})}:void 0}),uee&&this.connectToDevTools()}return eee.prototype.connectToDevTools=function(){if("object"==typeof window){var eee=window,tee=Symbol.for("apollo.devtools");(eee[tee]=eee[tee]||[]).push(this),eee.__APOLLO_CLIENT__=this}Zee||!1===globalThis.__DEV__||(Zee=!0,setTimeout((function(){if("undefined"!=typeof window&&window.document&&window.top===window.self&&!window.__APOLLO_DEVTOOLS_GLOBAL_HOOK__&&/^(https?|file):$/.test(window.location.protocol)){var eee=window.navigator,ua=eee&&eee.userAgent,tee=void 0;"string"==typeof ua&&(ua.indexOf("Chrome/")>-1?tee="https://chrome.google.com/webstore/detail/apollo-client-developer-t/jdkknkkbebbapilgoeccciglkfbmbnfm":ua.indexOf("Firefox/")>-1&&(tee="https://addons.mozilla.org/en-US/firefox/addon/apollo-developer-tools/")),tee&&!1!==globalThis.__DEV__&&ree.invariant.log("Download the Apollo DevTools for a better development experience: %s",tee)}}),1e4))},Object.defineProperty(eee.prototype,"documentTransform",{get:function(){return this.queryManager.documentTransform},enumerable:!1,configurable:!0}),eee.prototype.stop=function(){this.queryManager.stop()},eee.prototype.watchQuery=function(eee){return this.defaultOptions.watchQuery&&(eee=iee.mergeOptions(this.defaultOptions.watchQuery,eee)),!this.disableNetworkFetches||"network-only"!==eee.fetchPolicy&&"cache-and-network"!==eee.fetchPolicy||(eee=tee.__assign(tee.__assign({},eee),{fetchPolicy:"cache-first"})),this.queryManager.watchQuery(eee)},eee.prototype.query=function(eee){return this.defaultOptions.query&&(eee=iee.mergeOptions(this.defaultOptions.query,eee)),ree.invariant("cache-and-network"!==eee.fetchPolicy,16),this.disableNetworkFetches&&"network-only"===eee.fetchPolicy&&(eee=tee.__assign(tee.__assign({},eee),{fetchPolicy:"cache-first"})),this.queryManager.query(eee)},eee.prototype.mutate=function(eee){return this.defaultOptions.mutate&&(eee=iee.mergeOptions(this.defaultOptions.mutate,eee)),this.queryManager.mutate(eee)},eee.prototype.subscribe=function(eee){return this.queryManager.startGraphQLSubscription(eee)},eee.prototype.readQuery=function(eee,tee){return void 0===tee&&(tee=!1),this.cache.readQuery(eee,tee)},eee.prototype.watchFragment=function(eee){return this.cache.watchFragment(eee)},eee.prototype.readFragment=function(eee,tee){return void 0===tee&&(tee=!1),this.cache.readFragment(eee,tee)},eee.prototype.writeQuery=function(eee){var tee=this.cache.writeQuery(eee);return!1!==eee.broadcast&&this.queryManager.broadcastQueries(),tee},eee.prototype.writeFragment=function(eee){var tee=this.cache.writeFragment(eee);return!1!==eee.broadcast&&this.queryManager.broadcastQueries(),tee},eee.prototype.__actionHookForDevTools=function(cb){this.devToolsHookCb=cb},eee.prototype.__requestRaw=function(eee){return oee.execute(this.link,eee)},eee.prototype.resetStore=function(){var eee=this;return Promise.resolve().then((function(){return eee.queryManager.clearStore({discardWatches:!1})})).then((function(){return Promise.all(eee.resetStoreCallbacks.map((function(fn){return fn()})))})).then((function(){return eee.reFetchObservableQueries()}))},eee.prototype.clearStore=function(){var eee=this;return Promise.resolve().then((function(){return eee.queryManager.clearStore({discardWatches:!0})})).then((function(){return Promise.all(eee.clearStoreCallbacks.map((function(fn){return fn()})))}))},eee.prototype.onResetStore=function(cb){var eee=this;return this.resetStoreCallbacks.push(cb),function(){eee.resetStoreCallbacks=eee.resetStoreCallbacks.filter((function(c){return c!==cb}))}},eee.prototype.onClearStore=function(cb){var eee=this;return this.clearStoreCallbacks.push(cb),function(){eee.clearStoreCallbacks=eee.clearStoreCallbacks.filter((function(c){return c!==cb}))}},eee.prototype.reFetchObservableQueries=function(eee){return this.queryManager.reFetchObservableQueries(eee)},eee.prototype.refetchQueries=function(eee){var tee=this.queryManager.refetchQueries(eee),oee=[],nee=[];tee.forEach((function(eee,tee){oee.push(tee),nee.push(eee)}));var aee=Promise.all(nee);return aee.queries=oee,aee.results=nee,aee.catch((function(eee){!1!==globalThis.__DEV__&&ree.invariant.debug(17,eee)})),aee},eee.prototype.getObservableQueries=function(eee){return void 0===eee&&(eee="active"),this.queryManager.getObservableQueries(eee)},eee.prototype.extract=function(eee){return this.cache.extract(eee)},eee.prototype.restore=function(eee){return this.cache.restore(eee)},eee.prototype.addResolvers=function(eee){this.localState.addResolvers(eee)},eee.prototype.setResolvers=function(eee){this.localState.setResolvers(eee)},eee.prototype.getResolvers=function(){return this.localState.getResolvers()},eee.prototype.setLocalStateFragmentMatcher=function(eee){this.localState.setFragmentMatcher(eee)},eee.prototype.setLink=function(eee){this.link=this.queryManager.link=eee},Object.defineProperty(eee.prototype,"defaultContext",{get:function(){return this.queryManager.defaultContext},enumerable:!1,configurable:!0}),eee}();for(var k in!1!==globalThis.__DEV__&&(Jee.prototype.getMemoryInternals=Gee),uee.setVerbosity(!1!==globalThis.__DEV__?"log":"silent"),eee.DocumentTransform=iee.DocumentTransform,eee.Observable=iee.Observable,eee.isReference=iee.isReference,eee.makeReference=iee.makeReference,eee.mergeOptions=iee.mergeOptions,eee.ApolloCache=see.ApolloCache,eee.Cache=see.Cache,eee.InMemoryCache=see.InMemoryCache,eee.MissingFieldError=see.MissingFieldError,eee.defaultDataIdFromObject=see.defaultDataIdFromObject,eee.makeVar=see.makeVar,eee.ApolloError=lee.ApolloError,eee.isApolloError=lee.isApolloError,eee.fromError=dee.fromError,eee.fromPromise=dee.fromPromise,eee.throwServerError=dee.throwServerError,eee.toPromise=dee.toPromise,eee.setLogVerbosity=uee.setVerbosity,eee.disableExperimentalFragmentVariables=hee.disableExperimentalFragmentVariables,eee.disableFragmentWarnings=hee.disableFragmentWarnings,eee.enableExperimentalFragmentVariables=hee.enableExperimentalFragmentVariables,eee.gql=hee.gql,eee.resetCaches=hee.resetCaches,eee.ApolloClient=Jee,eee.ObservableQuery=Nee,eee.isNetworkRequestSettled=function(eee){return 7===eee||8===eee},oee)"default"===k||eee.hasOwnProperty(k)||(eee[k]=oee[k]);for(var k in nee)"default"===k||eee.hasOwnProperty(k)||(eee[k]=nee[k])}(ESe),function(eee){function tee(tee){var ree=eee.call(this)||this;return ree.link=PSe(tee),ree}lde(tee,eee),tee.prototype.request=function(eee,tee){return this.link.request(eee,tee)}}(Kxe);var USe=function(){function eee(eee,tee,ree,oee,nee){var aee=this;this.observer=eee,this.operation=tee,this.forward=ree,this.delayFor=oee,this.retryIf=nee,this.retryCount=0,this.currentSubscription=null,this.onError=function(eee){return gde(aee,void 0,void 0,(function(){return wde(this,(function(_a){switch(_a.label){case 0:return this.retryCount+=1,[4,this.retryIf(this.retryCount,this.operation,eee)];case 1:return _a.sent()?(this.scheduleRetry(this.delayFor(this.retryCount,this.operation,eee)),[2]):(this.observer.error(eee),[2])}}))}))},this.try()}return eee.prototype.cancel=function(){this.currentSubscription&&this.currentSubscription.unsubscribe(),clearTimeout(this.timerId),this.timerId=void 0,this.currentSubscription=null},eee.prototype.try=function(){this.currentSubscription=this.forward(this.operation).subscribe({next:this.observer.next.bind(this.observer),error:this.onError,complete:this.observer.complete.bind(this.observer)})},eee.prototype.scheduleRetry=function(eee){var tee=this;if(this.timerId)throw new Error("RetryLink BUG! Encountered overlapping retries");this.timerId=setTimeout((function(){tee.timerId=void 0,tee.try()}),eee)},eee}(),jSe=function(eee){function tee(tee){var ree=eee.call(this)||this,_a=tee||{},oee=_a.attempts,nee=_a.delay;return ree.delayFor="function"==typeof nee?nee:function(eee){var _a=eee||{},_b=_a.initial,tee=void 0===_b?300:_b,_c=_a.jitter,ree=void 0===_c||_c,_d=_a.max,oee=void 0===_d?1/0:_d,nee=ree?tee:tee/2;return function(eee){var tee=Math.min(oee,nee*Math.pow(2,eee));return ree&&(tee=Math.random()*tee),tee}}(nee),ree.retryIf="function"==typeof oee?oee:function(eee){var _a=eee||{},tee=_a.retryIf,_b=_a.max,ree=void 0===_b?5:_b;return function(eee,oee,nee){return!(eee>=ree)&&(tee?tee(nee,oee):!!nee)}}(oee),ree}return lde(tee,eee),tee.prototype.request=function(eee,tee){var ree=this;return new yxe((function(oee){var nee=new USe(oee,eee,tee,ree.delayFor,ree.retryIf);return function(){nee.cancel()}}))},tee}(Kxe);var $Se=function(eee){function tee(tee){var ree=eee.call(this)||this;return ree.client=tee,ree}return lde(tee,eee),tee.prototype.request=function(eee){var tee=this;return new yxe((function(ree){return tee.client.subscribe(cde(cde({},eee),{query:Lye(eee.query)}),{next:ree.next.bind(ree),complete:ree.complete.bind(ree),error:function(eee){if(eee instanceof Error)return ree.error(eee);var tee,oee=Qme(tee=eee)&&"code"in tee&&"reason"in tee;return oee||function(eee){var _a;return Qme(eee)&&(null===(_a=eee.target)||void 0===_a?void 0:_a.readyState)===WebSocket.CLOSED}(eee)?ree.error(new Error("Socket closed".concat(oee?" with event ".concat(eee.code):"").concat(oee?" ".concat(eee.reason):""))):ree.error(new ske({graphQLErrors:Array.isArray(eee)?eee:[eee]}))}})}))},tee}(Kxe);function VSe(eee){return null===eee?"null":Array.isArray(eee)?"array":typeof eee}function qSe(eee){return"object"===VSe(eee)}function BSe(eee,tee){return eee.length<124?eee:tee}var YSe,GSe;function QSe(eee){if(!qSe(eee))throw new Error(`Message is expected to be an object, but got ${VSe(eee)}`);if(!eee.type)throw new Error("Message is missing the 'type' property");if("string"!=typeof eee.type)throw new Error(`Message is expects the 'type' property to be a string, but got ${VSe(eee.type)}`);switch(eee.type){case GSe.ConnectionInit:case GSe.ConnectionAck:case GSe.Ping:case GSe.Pong:if(null!=eee.payload&&!qSe(eee.payload))throw new Error(`"${eee.type}" message expects the 'payload' property to be an object or nullish or missing, but got "${eee.payload}"`);break;case GSe.Subscribe:if("string"!=typeof eee.id)throw new Error(`"${eee.type}" message expects the 'id' property to be a string, but got ${VSe(eee.id)}`);if(!eee.id)throw new Error(`"${eee.type}" message requires a non-empty 'id' property`);if(!qSe(eee.payload))throw new Error(`"${eee.type}" message expects the 'payload' property to be an object, but got ${VSe(eee.payload)}`);if("string"!=typeof eee.payload.query)throw new Error(`"${eee.type}" message payload expects the 'query' property to be a string, but got ${VSe(eee.payload.query)}`);if(null!=eee.payload.variables&&!qSe(eee.payload.variables))throw new Error(`"${eee.type}" message payload expects the 'variables' property to be a an object or nullish or missing, but got ${VSe(eee.payload.variables)}`);if(null!=eee.payload.operationName&&"string"!==VSe(eee.payload.operationName))throw new Error(`"${eee.type}" message payload expects the 'operationName' property to be a string or nullish or missing, but got ${VSe(eee.payload.operationName)}`);if(null!=eee.payload.extensions&&!qSe(eee.payload.extensions))throw new Error(`"${eee.type}" message payload expects the 'extensions' property to be a an object or nullish or missing, but got ${VSe(eee.payload.extensions)}`);break;case GSe.Next:if("string"!=typeof eee.id)throw new Error(`"${eee.type}" message expects the 'id' property to be a string, but got ${VSe(eee.id)}`);if(!eee.id)throw new Error(`"${eee.type}" message requires a non-empty 'id' property`);if(!qSe(eee.payload))throw new Error(`"${eee.type}" message expects the 'payload' property to be an object, but got ${VSe(eee.payload)}`);break;case GSe.Error:if("string"!=typeof eee.id)throw new Error(`"${eee.type}" message expects the 'id' property to be a string, but got ${VSe(eee.id)}`);if(!eee.id)throw new Error(`"${eee.type}" message requires a non-empty 'id' property`);if(tee=eee.payload,!(Array.isArray(tee)&&tee.length>0&&tee.every((ob=>"message"in ob))))throw new Error(`"${eee.type}" message expects the 'payload' property to be an array of GraphQL errors, but got ${JSON.stringify(eee.payload)}`);break;case GSe.Complete:if("string"!=typeof eee.id)throw new Error(`"${eee.type}" message expects the 'id' property to be a string, but got ${VSe(eee.id)}`);if(!eee.id)throw new Error(`"${eee.type}" message requires a non-empty 'id' property`);break;default:throw new Error(`Invalid message 'type' property "${eee.type}"`)}var tee;return eee}function WSe(eee,tee){return QSe(eee),JSON.stringify(eee,tee)}!function(eee){eee[eee.InternalServerError=4500]="InternalServerError",eee[eee.InternalClientError=4005]="InternalClientError",eee[eee.BadRequest=4400]="BadRequest",eee[eee.BadResponse=4004]="BadResponse",eee[eee.Unauthorized=4401]="Unauthorized",eee[eee.Forbidden=4403]="Forbidden",eee[eee.SubprotocolNotAcceptable=4406]="SubprotocolNotAcceptable",eee[eee.ConnectionInitialisationTimeout=4408]="ConnectionInitialisationTimeout",eee[eee.ConnectionAcknowledgementTimeout=4504]="ConnectionAcknowledgementTimeout",eee[eee.SubscriberAlreadyExists=4409]="SubscriberAlreadyExists",eee[eee.TooManyInitialisationRequests=4429]="TooManyInitialisationRequests"}(YSe||(YSe={})),function(eee){eee.ConnectionInit="connection_init",eee.ConnectionAck="connection_ack",eee.Ping="ping",eee.Pong="pong",eee.Subscribe="subscribe",eee.Next="next",eee.Error="error",eee.Complete="complete"}(GSe||(GSe={}));var KSe=function(v){return this instanceof KSe?(this.v=v,this):new KSe(v)},HSe=function(eee,tee,ree){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,g=ree.apply(eee,tee||[]),q=[];return i={},oee("next"),oee("throw"),oee("return"),i[Symbol.asyncIterator]=function(){return this},i;function oee(n){g[n]&&(i[n]=function(v){return new Promise((function(a,b){q.push([n,v,a,b])>1||nee(n,v)}))})}function nee(n,v){try{!function(r){r.value instanceof KSe?Promise.resolve(r.value.v).then(aee,iee):see(q[0][2],r)}(g[n](v))}catch(e){see(q[0][3],e)}}function aee(eee){nee("next",eee)}function iee(eee){nee("throw",eee)}function see(f,v){f(v),q.shift(),q.length&&nee(q[0][0],q[0][1])}};function XSe(eee){const{url:tee,connectionParams:ree,lazy:oee=!0,onNonLazyError:nee=console.error,lazyCloseTimeout:aee=0,keepAlive:iee=0,disablePong:see,connectionAckWaitTimeout:lee=0,retryAttempts:cee=5,retryWait:pee=async function(eee){let tee=1e3;for(let i=0;isetTimeout(eee,tee+Math.floor(2700*Math.random()+300))))},shouldRetry:dee=JSe,isFatalConnectionProblem:uee,on:on,webSocketImpl:hee,generateID:gee=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(c=>{const r=16*Math.random()|0;return("x"==c?r:3&r|8).toString(16)}))},jsonMessageReplacer:wee,jsonMessageReviver:fee}=eee;let ws;if(hee){if(!("function"==typeof(bee=hee)&&"constructor"in bee&&"CLOSED"in bee&&"CLOSING"in bee&&"CONNECTING"in bee&&"OPEN"in bee))throw new Error("Invalid WebSocket implementation provided");ws=hee}else"undefined"!=typeof WebSocket?ws=WebSocket:"undefined"!=typeof global?ws=global.WebSocket||global.MozWebSocket:"undefined"!=typeof window&&(ws=window.WebSocket||window.MozWebSocket);var bee;if(!ws)throw new Error("WebSocket implementation missing; on Node you can `import WebSocket from 'ws';` and pass `webSocketImpl: WebSocket` to `createClient`");const mee=ws,vee=(()=>{const eee=(()=>{const eee={};return{on:(id,tee)=>(eee[id]=tee,()=>{delete eee[id]}),emit(tee){var _a;"id"in tee&&(null===(_a=eee[tee.id])||void 0===_a||_a.call(eee,tee))}}})(),tee={connecting:(null==on?void 0:on.connecting)?[on.connecting]:[],opened:(null==on?void 0:on.opened)?[on.opened]:[],connected:(null==on?void 0:on.connected)?[on.connected]:[],ping:(null==on?void 0:on.ping)?[on.ping]:[],pong:(null==on?void 0:on.pong)?[on.pong]:[],message:(null==on?void 0:on.message)?[eee.emit,on.message]:[eee.emit],closed:(null==on?void 0:on.closed)?[on.closed]:[],error:(null==on?void 0:on.error)?[on.error]:[]};return{onMessage:eee.on,on(eee,ree){const l=tee[eee];return l.push(ree),()=>{l.splice(l.indexOf(ree),1)}},emit(eee,...ree){for(const oee of[...tee[eee]])oee(...ree)}}})();function yee(cb){const eee=[vee.on("error",(tee=>{eee.forEach((eee=>eee())),cb(tee)})),vee.on("closed",(tee=>{eee.forEach((eee=>eee())),cb(tee)}))]}let xee,kee,_ee=0,Eee=!1,Tee=0,See=!1;async function Iee(){clearTimeout(kee);const[eee,oee]=await(null!=xee?xee:xee=new Promise(((eee,oee)=>(async()=>{if(Eee){if(await pee(Tee),!_ee)return xee=void 0,oee({code:1e3,reason:"All Subscriptions Gone"});Tee++}vee.emit("connecting",Eee);const nee=new mee("function"==typeof tee?await tee():tee,"graphql-transport-ws");let aee,cee;function dee(){isFinite(iee)&&iee>0&&(clearTimeout(cee),cee=setTimeout((()=>{nee.readyState===mee.OPEN&&(nee.send(WSe({type:GSe.Ping})),vee.emit("ping",!1,void 0))}),iee))}yee((eee=>{xee=void 0,clearTimeout(aee),clearTimeout(cee),oee(eee),eee instanceof ZSe&&(nee.close(4499,"Terminated"),nee.onerror=null,nee.onclose=null)})),nee.onerror=eee=>vee.emit("error",eee),nee.onclose=eee=>vee.emit("closed",eee),nee.onopen=async()=>{try{vee.emit("opened",nee);const eee="function"==typeof ree?await ree():ree;if(nee.readyState!==mee.OPEN)return;nee.send(WSe(eee?{type:GSe.ConnectionInit,payload:eee}:{type:GSe.ConnectionInit},wee)),isFinite(lee)&&lee>0&&(aee=setTimeout((()=>{nee.close(YSe.ConnectionAcknowledgementTimeout,"Connection acknowledgement timeout")}),lee)),dee()}catch(eee){vee.emit("error",eee),nee.close(YSe.InternalClientError,BSe(eee instanceof Error?eee.message:new Error(eee).message,"Internal client error"))}};let uee=!1;nee.onmessage=({data:tee})=>{try{const ree=function(eee,tee){return QSe("string"==typeof eee?JSON.parse(eee,tee):eee)}(tee,fee);if(vee.emit("message",ree),"ping"===ree.type||"pong"===ree.type)return vee.emit(ree.type,!0,ree.payload),void("pong"===ree.type?dee():see||(nee.send(WSe(ree.payload?{type:GSe.Pong,payload:ree.payload}:{type:GSe.Pong})),vee.emit("pong",!1,ree.payload)));if(uee)return;if(ree.type!==GSe.ConnectionAck)throw new Error(`First message cannot be of type ${ree.type}`);clearTimeout(aee),uee=!0,vee.emit("connected",nee,ree.payload,Eee),Eee=!1,Tee=0,eee([nee,new Promise(((_,eee)=>yee(eee)))])}catch(ree){nee.onmessage=null,vee.emit("error",ree),nee.close(YSe.BadResponse,BSe(ree instanceof Error?ree.message:new Error(ree).message,"Bad response"))}}})())));eee.readyState===mee.CLOSING&&await oee;let nee=()=>{};const cee=new Promise((eee=>nee=eee));return[eee,nee,Promise.race([cee.then((()=>{if(!_ee){const tee=()=>eee.close(1e3,"Normal Closure");isFinite(aee)&&aee>0?kee=setTimeout((()=>{eee.readyState===mee.OPEN&&tee()}),aee):tee()}})),oee])]}function Oee(eee){if(JSe(eee)&&(function(eee){return![1e3,1001,1006,1005,1012,1013,1014].includes(eee)&&(eee>=1e3&&eee<=1999)}(eee.code)||[YSe.InternalServerError,YSe.InternalClientError,YSe.BadRequest,YSe.BadResponse,YSe.Unauthorized,YSe.SubprotocolNotAcceptable,YSe.SubscriberAlreadyExists,YSe.TooManyInitialisationRequests].includes(eee.code)))throw eee;if(See)return!1;if(JSe(eee)&&1e3===eee.code)return _ee>0;if(!cee||Tee>=cee)throw eee;if(!dee(eee))throw eee;if(null==uee?void 0:uee(eee))throw eee;return Eee=!0}function Nee(eee,tee){const id=gee(eee);let ree=!1,oee=!1,nee=()=>{_ee--,ree=!0};return(async()=>{for(_ee++;;)try{const[aee,iee,see]=await Iee();if(ree)return iee();const lee=vee.onMessage(id,(eee=>{switch(eee.type){case GSe.Next:return void tee.next(eee.payload);case GSe.Error:return oee=!0,ree=!0,tee.error(eee.payload),void nee();case GSe.Complete:return ree=!0,void nee()}}));return aee.send(WSe({id:id,type:GSe.Subscribe,payload:eee},wee)),nee=()=>{ree||aee.readyState!==mee.OPEN||aee.send(WSe({id:id,type:GSe.Complete},wee)),_ee--,ree=!0,iee()},void(await see.finally(lee))}catch(aee){if(!Oee(aee))return}})().then((()=>{oee||tee.complete()})).catch((eee=>{tee.error(eee)})),()=>{ree||nee()}}return oee||(async()=>{for(_ee++;;)try{const[,,eee]=await Iee();await eee}catch(eee){try{if(!Oee(eee))return}catch(eee){return null==nee?void 0:nee(eee)}}})(),{on:vee.on,subscribe:Nee,iterate(eee){const tee=[],ree={done:!1,error:null,resolve:()=>{}},oee=Nee(eee,{next(eee){tee.push(eee),ree.resolve()},error(eee){ree.done=!0,ree.error=eee,ree.resolve()},complete(){ree.done=!0,ree.resolve()}}),nee=function(){return HSe(this,arguments,(function*(){for(;;){for(tee.length||(yield KSe(new Promise((eee=>ree.resolve=eee))));tee.length;)yield yield KSe(tee.shift());if(ree.error)throw ree.error;if(ree.done)return yield KSe(void 0)}}))}();return nee.throw=async eee=>(ree.done||(ree.done=!0,ree.error=eee,ree.resolve()),{done:!0,value:void 0}),nee.return=async()=>(oee(),{done:!0,value:void 0}),nee},async dispose(){if(See=!0,xee){const[eee]=await xee;eee.close(1e3,"Normal Closure")}},terminate(){xee&&vee.emit("closed",new ZSe)}}}class ZSe extends Error{constructor(){super(...arguments),this.name="TerminatedCloseEvent",this.message="4499: Terminated",this.code=4499,this.reason="Terminated",this.wasClean=!1}}function JSe(eee){return qSe(eee)&&"code"in eee&&"reason"in eee}Fce(jce());const eIe=dTe,tIe=new URL(dTe.toString().replace("http","ws")),rIe=Hce("unraidApi",(()=>{const eee=HEe(),tee=pIe(),ree=kre(null);goe(ree,(eee=>{if(eee){tee.fetchServerFromApi()&&(oee.value="online")}}));const oee=kre("offline"),nee=kre(!1),aee=Sae((()=>{const{connectPluginInstalled:eee,stateDataError:ree}=tee;if("offline"===oee.value&&eee&&!ree)return{click:()=>see(),emphasize:!0,icon:Ope,text:"Restart unraid-api"}})),iee=()=>{oee.value="connecting";const iee={"x-api-key":tee.apiKey},lee=ESe.createHttpLink({uri:eIe.toString(),headers:iee}),cee=new $Se(XSe({url:tIe.toString(),connectionParams:()=>({headers:iee})})),pee=PSe((({graphQLErrors:tee,networkError:ree})=>{if(tee&&tee.map((tee=>{const ree=tee.error&&tee.error.message?tee.error.message:tee.message;if(ree&&ree.includes("offline")&&(oee.value="offline",aee&&see()),ree&&ree.includes("The CORS policy for this site does not allow access from the specified Origin")){nee.value=!0;const tee=`

    The CORS policy for the unraid-api does not allow access from the specified origin.

    If you are using a reverse proxy, you need to copy your origin ${window.location.origin} and paste it into the "Extra Origins" list in the Connect settings.

    `;eee.setError({heading:"Unraid API • CORS Error",message:tee,level:"error",ref:"unraidApiCorsError",type:"unraidApiGQL",actions:[{href:`${uTe.toString()}#extraOriginsSettings`,icon:jpe,text:"Go to Connect Settings"}]})}return tee.message})),ree&&!nee){const eee=ree.message?ree.message:ree;return"string"==typeof eee&&eee.includes("Unexpected token < in JSON at position 0")?"Unraid API • CORS Error":eee}})),dee=new jSe({attempts:{max:20,retryIf:(eee,tee)=>!!eee&&!nee},delay:{initial:nee?3e3:300,max:1e4,jitter:!0}}),uee=ESe.split((({query:eee})=>{const tee=Vve(eee);return"OperationDefinition"===tee.kind&&"subscription"===tee.operation}),cee,lee),hee=ESe.from([pee,dee,uee]),gee=new ESe.ApolloClient({link:hee,cache:new ESe.InMemoryCache});ree.value=gee,function(eee){mEe={default:eee}}(gee)},see=async()=>{const nee="offline"===oee.value?"start":"restart";oee.value="restarting";try{return await(async eee=>{if(eee)try{return await ZEe.url("/plugins/dynamix.my.servers/include/unraid-api.php").formUrl(eee).post().json((eee=>eee)).catch((eee=>eee))}catch(tee){return tee}})({csrf_token:tee.csrf,command:nee}),setTimeout((()=>{ree.value&&iee()}),5e3)}catch(aee){let tee="Unknown error";"string"==typeof aee?tee=aee.toUpperCase():aee instanceof Error&&(tee=aee.message),eee.setError({heading:"Error: unraid-api restart",message:tee,level:"error",ref:"restartUnraidApiClient",type:"request"})}};return{unraidApiClient:ree,unraidApiStatus:oee,prioritizeCorsError:nee,unraidApiRestartAction:aee,createApolloClient:iee,closeUnraidApiClient:async()=>{ree.value&&(ree.value&&(await ree.value.clearStore(),ree.value.stop()),ree.value=null,oee.value="offline")},restartUnraidApiClient:see}}));Fce(jce());const oIe=Hce("account",(()=>{const eee=dSe(),tee=HEe(),ree=_Se(),oee=pIe(),nee=rIe(),aee=Sae((()=>oee.serverAccountPayload)),iee=Sae((()=>oee.inIframe)),see=kre(),lee=kre(!1),cee=kre("ready"),pee=Sae((()=>nee.unraidApiClient)),dee=kre(),uee=eee=>{dee.value=eee,eee&&(cee.value="waiting")},hee=kre(!1),gee=eee=>{hee.value=eee,eee&&(cee.value="waiting")};uoe((()=>{pee.value&&dee.value&&setTimeout((()=>{fee()}),250),pee.value&&hee.value&&setTimeout((()=>{bee()}),250)}));const wee=Sae((()=>see.value?.type)),fee=async()=>{if(!dee.value||dee.value&&(!dee.value.apiKey||!dee.value.email||!dee.value.preferred_username))return void(cee.value="failed");cee.value="updating";const{mutate:eee,onDone:ree,onError:oee}=await SEe(STe,{variables:{input:{apiKey:dee.value.apiKey,userInfo:{email:dee.value.email,preferred_username:dee.value.preferred_username}}}});eee(),ree((eee=>{if(eee.data?.connectSignIn)return cee.value="success",void uee(void 0);cee.value="failed",tee.setError({heading:"unraid-api failed to update Connect account configuration",message:"Sign In mutation unsuccessful",level:"error",ref:"connectSignInMutation",type:"account"})})),oee((eee=>{TTe(eee),cee.value="failed",tee.setError({heading:"unraid-api failed to update Connect account configuration",message:eee.message,level:"error",ref:"connectSignInMutation",type:"account"})}))},bee=async()=>{cee.value="updating";const{mutate:eee,onDone:ree,onError:oee}=await SEe(ITe);eee(),ree((eee=>{cee.value="success",gee(!1)})),oee((eee=>{TTe(eee),cee.value="failed",tee.setError({heading:"Failed to update Connect account configuration",message:eee.message,level:"error",ref:"connectSignOutMutation",type:"account"})}))};return{accountAction:see,accountActionHide:lee,accountActionStatus:cee,accountActionType:wee,downgradeOs:async tee=>{await eee.send(oTe.toString(),[{server:{...aee.value},type:"downgradeOs"}],iee.value?"newTab":tee?"replace":void 0)},manage:()=>{eee.send(oTe.toString(),[{server:{...aee.value},type:"manage"}],iee.value?"newTab":void 0)},myKeys:async()=>{await ree.purgeValidationResponse(),eee.send(oTe.toString(),[{server:{...aee.value},type:"myKeys"}],iee.value?"newTab":void 0)},linkKey:async()=>{await ree.purgeValidationResponse(),eee.send(oTe.toString(),[{server:{...aee.value},type:"linkKey"}],iee.value?"newTab":void 0)},recover:()=>{eee.send(oTe.toString(),[{server:{...aee.value},type:"recover"}],iee.value?"newTab":void 0)},replace:()=>{eee.send(oTe.toString(),[{server:{...aee.value},type:"replace"}],iee.value?"newTab":void 0)},signIn:()=>{eee.send(oTe.toString(),[{server:{...aee.value},type:"signIn"}],iee.value?"newTab":void 0)},signOut:()=>{eee.send(oTe.toString(),[{server:{...aee.value},type:"signOut"}],iee.value?"newTab":void 0)},trialExtend:()=>{eee.send(oTe.toString(),[{server:{...aee.value},type:"trialExtend"}],iee.value?"newTab":void 0)},trialStart:()=>{eee.send(oTe.toString(),[{server:{...aee.value},type:"trialStart"}],iee.value?"newTab":void 0)},updateOs:async tee=>{await eee.send(oTe.toString(),[{server:{...aee.value},type:"updateOs"}],iee.value?"newTab":tee?"replace":void 0)},setAccountAction:eee=>{see.value=eee},setConnectSignInPayload:uee,setQueueConnectSignOut:gee}}));Fce(jce());const nIe=Hce("purchase",(()=>{const eee=dSe(),tee=pIe();return{redeem:()=>{eee.send(cTe.toString(),[{server:{...tee.serverPurchasePayload},type:"redeem"}],tee.inIframe?"newTab":void 0)},purchase:()=>{eee.send(cTe.toString(),[{server:{...tee.serverPurchasePayload},type:"purchase"}],tee.inIframe?"newTab":void 0)},upgrade:()=>{eee.send(cTe.toString(),[{server:{...tee.serverPurchasePayload},type:"upgrade"}],tee.inIframe?"newTab":void 0)},renew:()=>{eee.send(cTe.toString(),[{server:{...tee.serverPurchasePayload},type:"renew"}],tee.inIframe?"newTab":void 0)}}}));var aIe=function(eee){return parseInt(eee,16)},iIe=function(eee,tee){var r=eee.r,g=eee.g,b=eee.b,ree=eee.a,a=function(n){return!isNaN(parseFloat(n))&&isFinite(n)}(tee)?tee:ree;return"rgba(".concat(r,", ").concat(g,", ").concat(b,", ").concat(a,")")},sIe=function(eee,a){var tee,ree,oee=function(eee){return"#"===eee.charAt(0)?eee.slice(1):eee}(eee),nee=function(eee){var r=eee.r,g=eee.g,b=eee.b,a=eee.a;return{r:aIe(r),g:aIe(g),b:aIe(b),a:+(aIe(a)/255).toFixed(2)}}({r:(ree=3===(tee=oee).length||4===tee.length)?"".concat(tee.slice(0,1)).concat(tee.slice(0,1)):tee.slice(0,2),g:ree?"".concat(tee.slice(1,2)).concat(tee.slice(1,2)):tee.slice(2,4),b:ree?"".concat(tee.slice(2,3)).concat(tee.slice(2,3)):tee.slice(4,6),a:(ree?"".concat(tee.slice(3,4)).concat(tee.slice(3,4)):tee.slice(6,8))||"ff"});return iIe(nee,a)};const lIe=Jce(sIe);Fce(jce());const cIe=Hce("theme",(()=>{const eee=kre(),tee=Sae((()=>("black"===eee.value?.name||"azure"===eee.value?.name)??!1)),ree=Sae((()=>{if(!eee.value?.banner||!eee.value?.bannerGradient)return;return`background-image: linear-gradient(90deg, ${eee.value?.bgColor?"var(--color-customgradient-start)":"rgba(0, 0, 0, 0)"} 0, ${eee.value?.bgColor?"var(--color-customgradient-end)":"var(--color-beta)"} 30%);`}));return goe(eee,(()=>{(()=>{const ree=document.body,oee={darkTheme:{alpha:"#1c1b1b",beta:"#f2f2f2",gamma:"#999999"},lightTheme:{alpha:"#f2f2f2",beta:"#1c1b1b",gamma:"#999999"}};let{alpha:nee,beta:aee,gamma:iee}=tee.value?oee.darkTheme:oee.lightTheme;eee.value?.textColor&&(nee=eee.value?.textColor),eee.value?.bgColor&&(aee=eee.value?.bgColor,ree.style.setProperty("--color-customgradient-start",lIe(aee,0)),ree.style.setProperty("--color-customgradient-end",lIe(aee,.7))),eee.value?.metaColor&&(iee=eee.value?.metaColor),ree.style.setProperty("--color-alpha",nee),ree.style.setProperty("--color-beta",aee),ree.style.setProperty("--color-gamma",iee),ree.style.setProperty("--color-gamma-opaque",lIe(iee,.25)),ree.style.setProperty("--shadow-beta",`0 25px 50px -12px ${lIe(aee,.15)}`),ree.style.setProperty("--ring-offset-shadow",`0 0 ${aee}`),ree.style.setProperty("--ring-shadow",`0 0 ${aee}`)})()})),{bannerGradient:ree,darkMode:tee,theme:eee,setTheme:tee=>{eee.value=tee}}}));Fce(jce());const pIe=Hce("server",(()=>{const eee=oIe(),tee=HEe(),ree=nIe(),oee=cIe(),nee=rIe(),aee=kre("");goe(aee,((eee,tee)=>eee?nee.createApolloClient():tee?nee.closeUnraidApiClient():void 0));const iee=kre(""),see=kre(),lee=Sae((()=>!(!Ite.value&&!Dte.value))),cee=Sae((()=>lee.value?"Stopped"===see.value?.state?"Stopped. The Array will not start until the above issue is resolved.":"Started. If stopped, the Array will not restart until the above issue is resolved.":see.value?.state)),pee=kre(""),dee=kre(""),uee=kre(),hee=kre(),gee=kre(""),wee=kre(""),fee=kre(""),bee=kre(),mee=kre(""),vee=kre(0),yee=kre(""),xee=kre(0),kee=kre(!1),_ee=kre(""),Eee=kre(""),Tee=kre(""),See=kre(),Iee=kre(),Oee=kre(),Nee=kre(window.self!==window.top),Aee=kre(""),Ree=kre(""),Dee=kre(""),Cee=kre(""),Lee=kre(""),Fee=kre(""),zee=kre("stable"),Mee=kre(""),Pee=kre(),Uee=kre(),jee=kre(0),$ee=Sae((()=>{if(jee.value>0)return jee.value;switch(Gee.value){case"Starter":case"Basic":return 6;case"Plus":return 12;case"Unleashed":case"Lifetime":case"Pro":case"Trial":return-1;default:return 0}})),Vee=kre(0),qee=kre(""),Bee=kre(0),Yee=kre(""),Gee=kre(""),Qee=kre(0),Wee=Sae((()=>Qee.value?ope(Qee.value).format("YYYY-MM-DD"):null)),Kee=Sae((()=>{if(!Qee.value)return!1;const eee=ope(),tee=ope(Qee.value);return eee.isAfter(tee,"day")})),Hee=kre(""),Xee=kre(),Zee=kre();goe(Zee,(eee=>{eee&&oee.setTheme(eee)}));const Jee=kre(),ete=kre([]),tte=kre(!1),rte=kre(0),ote=kre(""),nte=kre(""),ate=kre([]),ite=kre(),ste=Sae((()=>nte.value||Hee.value&&Hee.value.includes("www.")&&Hee.value.includes("unraid.net"))),lte=Sae((()=>!1)),cte=Sae((()=>!Spe(Fee.value))),pte=Sae((()=>({apiKey:aee.value,apiVersion:iee.value,array:see.value,avatar:pee.value,connectPluginVersion:wee.value,connectPluginInstalled:gee.value,description:mee.value,deviceCount:vee.value,email:yee.value,expireTime:xee.value,flashProduct:_ee.value,flashVendor:Eee.value,guid:Tee.value,inIframe:Nee.value,keyfile:Aee.value,lanIp:Ree.value,license:Dee.value,locale:Cee.value,name:Lee.value,osVersion:Fee.value,osVersionBranch:zee.value,rebootType:Mee.value,rebootVersion:Pee.value,registered:Uee.value,regDevs:$ee.value,regGen:Vee.value,regGuid:qee.value,regExp:Qee.value,regUpdatesExpired:Kee.value,site:Hee.value,state:Xee.value,theme:Zee.value,uptime:rte.value,username:ote.value,wanFQDN:nte.value}))),dte=Sae((()=>{let eee="Trial";switch(Xee.value){case"BASIC":eee="Basic";break;case"PLUS":eee="Plus";break;case"PRO":eee="Pro";break;case"STARTER":eee="Starter";break;case"UNLEASHED":eee="Unleashed"}return{apiVersion:iee.value,connectPluginVersion:wee.value,deviceCount:vee.value,email:yee.value,guid:Tee.value,inIframe:Nee.value,keyTypeForPurchase:eee,locale:Cee.value,osVersion:Fee.value,osVersionBranch:zee.value,registered:Uee.value??!1,regExp:Qee.value,regTy:Gee.value,regUpdatesExpired:Kee.value,state:Xee.value,site:Hee.value}})),ute=Sae((()=>({apiVersion:iee.value,caseModel:dee.value,connectPluginVersion:wee.value,description:mee.value,expireTime:xee.value,flashProduct:_ee.value,flashVendor:Eee.value,guid:Tee.value,inIframe:Nee.value,keyfile:Aee.value,lanIp:Ree.value,name:Lee.value,osVersion:Fee.value,osVersionBranch:zee.value,rebootType:Mee.value,rebootVersion:Pee.value,registered:Uee.value??!1,regGuid:qee.value,regExp:Qee.value,regTy:Gee.value,regUpdatesExpired:Kee.value,site:Hee.value,state:Xee.value,wanFQDN:nte.value}))),hte=Sae((()=>{const eee={apiKey:aee.value&&"string"==typeof aee.value?`${aee.value.substring(0,6)}__[REDACTED]`:"",apiVersion:iee.value,avatar:pee.value,connectPluginInstalled:gee.value,connectPluginVersion:wee.value,description:mee.value,deviceCount:vee.value,email:yee.value,expireTime:xee.value,flashProduct:_ee.value,flashVendor:Eee.value,guid:Tee.value,inIframe:Nee.value,lanIp:Ree.value,locale:Cee.value,name:Lee.value,osVersion:Fee.value,osVersionBranch:zee.value,rebootType:Mee.value,rebootVersion:Pee.value,registered:Uee.value,regGen:Vee.value,regGuid:qee.value,regTy:Gee.value,site:Hee.value,state:Xee.value,uptime:rte.value,username:ote.value,wanFQDN:nte.value};return Object.fromEntries(Object.entries(eee).filter((([_,v])=>null!=v&&""!==v)))})),gte=Sae((()=>{const eee=!(!gee.value||"online"===nee.unraidApiStatus&&!nee.prioritizeCorsError);return{disable:eee,title:eee?"Requires the local unraid-api to be running successfully":""}})),wte=Sae((()=>({click:()=>{ree.purchase()},disabled:gte.value.disable,external:!0,icon:Wpe,name:"purchase",text:"Purchase Key",title:gte.value.title}))),fte=Sae((()=>({click:()=>{ree.upgrade()},disabled:gte.value.disable,external:!0,icon:Wpe,name:"upgrade",text:"Upgrade Key",title:gte.value.title}))),bte=Sae((()=>({click:()=>{eee.recover()},disabled:gte.value.disable,external:!0,icon:Wpe,name:"recover",text:"Recover Key",title:gte.value.title}))),mte=Sae((()=>({click:()=>{ree.redeem()},disabled:gte.value.disable,external:!0,icon:Wpe,name:"redeem",text:"Redeem Activation Code",title:gte.value.title}))),vte=Sae((()=>({click:()=>{ree.renew()},disabled:gte.value.disable,external:!0,icon:Wpe,name:"renew",text:"Extend License to Enable OS Updates",title:gte.value.title}))),yte=Sae((()=>({click:()=>{eee.replace()},external:!0,icon:Wpe,name:"replace",text:"Replace Key"}))),xte=Sae((()=>({click:()=>{eee.signIn()},disabled:gte.value.disable,external:!0,icon:Ype,name:"signIn",text:"Sign In with Unraid.net Account",title:gte.value.title}))),kte=Sae((()=>{const tee=!Aee.value||gte.value.disable;let ree="";return Aee.value||(ree="Sign Out requires a keyfile"),gte.value.disable&&(ree=gte.value.title),{click:()=>{eee.signOut()},disabled:tee,external:!0,icon:Npe,name:"signOut",text:"Sign Out of Unraid.net",title:ree}})),_te=Sae((()=>({click:()=>{eee.trialExtend()},disabled:gte.value.disable,external:!0,icon:Wpe,name:"trialExtend",text:"Extend Trial",title:gte.value.title}))),Ete=Sae((()=>({click:()=>{eee.trialStart()},disabled:gte.value.disable,external:!0,icon:Wpe,name:"trialStart",text:"Start Free 30 Day Trial",title:gte.value.title})));let Tte="";const Ste=Sae((()=>{switch(Xee.value){case"ENOKEYFILE":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],Ete.value,wte.value,mte.value,bte.value,...Uee.value&&gee.value?[kte.value]:[]],humanReadable:"No Keyfile",heading:"Let's Unleash Your Hardware",message:'

    Choose an option below, then use our Getting Started Guide to configure your array in less than 15 minutes.

    '};case"TRIAL":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],wte.value,mte.value,...Uee.value&&gee.value?[kte.value]:[]],humanReadable:"Trial",heading:"Thank you for choosing Unraid OS!",message:"

    Your Trial key includes all the functionality and device support of an Unleashed key.

    After your Trial has reached expiration, your server still functions normally until the next time you Stop the array or reboot your server.

    At that point you may either purchase a license key or request a Trial extension.

    "};case"EEXPIRED":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],wte.value,mte.value,...Rte.value?[_te.value]:[],...Uee.value&&gee.value?[kte.value]:[]],error:!0,humanReadable:"Trial Expired",heading:"Your Trial has expired",message:Rte.value?"

    To continue using Unraid OS you may purchase a license key. Alternately, you may request a Trial extension.

    ":"

    You have used all your Trial extensions. To continue using Unraid OS you may purchase a license key.

    "};case"BASIC":case"STARTER":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],...Kee.value?[vte.value]:[],fte.value,...Uee.value&&gee.value?[kte.value]:[]],humanReadable:"BASIC"===Xee.value?"Basic":"Starter",heading:"Thank you for choosing Unraid OS!",message:!Uee.value&&gee.value?"

    Register for Connect by signing in to your Unraid.net account

    ":Iee.value?"

    To support more storage devices as your server grows, click Upgrade Key.

    ":""};case"PLUS":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],fte.value,...Uee.value&&gee.value?[kte.value]:[]],humanReadable:"Plus",heading:"Thank you for choosing Unraid OS!",message:!Uee.value&&gee.value?"

    Register for Connect by signing in to your Unraid.net account

    ":Iee.value?"

    To support more storage devices as your server grows, click Upgrade Key.

    ":""};case"PRO":case"LIFETIME":case"UNLEASHED":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],...Kee.value?[vte.value]:[],..."UNLEASHED"===Xee.value?[fte.value]:[],...Uee.value&&gee.value?[kte.value]:[]],humanReadable:"PRO"===Xee.value?"Pro":"LIFETIME"===Xee.value?"Lifetime":"Unleashed",heading:"Thank you for choosing Unraid OS!",message:!Uee.value&&gee.value?"

    Register for Connect by signing in to your Unraid.net account

    ":""};case"EGUID":return Tte=Oee.value?"

    Your Unraid registration key is ineligible for replacement as it has been replaced within the last 12 months.

    ":!1===Oee.value&&See.value?"

    The license key file does not correspond to the USB Flash boot device. Please copy the correct key file to the /config directory on your USB Flash boot device or choose Purchase Key.

    Your Unraid registration key is ineligible for replacement as it is blacklisted.

    ":!1!==Oee.value||See.value?"

    The license key file does not correspond to the USB Flash boot device. Please copy the correct key file to the /config directory on your USB Flash boot device.

    You may also attempt to Purchase or Replace your key.

    ":"

    The license key file does not correspond to the USB Flash boot device. Please copy the correct key file to the /config directory on your USB Flash boot device or choose Purchase Key.

    Your Unraid registration key is ineligible for replacement as it has been replaced within the last 12 months.

    ",{actions:[...!Uee.value&&gee.value?[xte.value]:[],yte.value,wte.value,mte.value,...Uee.value&&gee.value?[kte.value]:[]],error:!0,humanReadable:"Flash GUID Error",heading:"Registration key / USB Flash GUID mismatch",message:Tte};case"EGUID1":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],wte.value,mte.value,...Uee.value&&gee.value?[kte.value]:[]],error:!0,humanReadable:"Multiple License Keys Present",heading:"Multiple License Keys Present",message:"

    There are multiple license key files present on your USB flash device and none of them correspond to the USB Flash boot device. Please remove all key files, except the one you want to replace, from the /config directory on your USB Flash boot device.

    Alternately you may purchase a license key for this USB flash device.

    If you want to replace one of your license keys with a new key bound to this USB Flash device, please first remove all other key files first.

    "};case"ENOKEYFILE2":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],bte.value,wte.value,mte.value,...Uee.value?[kte.value]:[]],error:!0,humanReadable:"Missing key file",heading:"Missing key file",message:gee.value?"

    Your license key file is corrupted or missing. The key file should be located in the /config directory on your USB Flash boot device.

    You may attempt to recover your key with your Unraid.net account.

    If this was an expired Trial installation, you may purchase a license key.

    ":"

    Your license key file is corrupted or missing. The key file should be located in the /config directory on your USB Flash boot device.

    If you do not have a backup copy of your license key file you may attempt to recover your key.

    If this was an expired Trial installation, you may purchase a license key.

    "};case"ETRIAL":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],wte.value,mte.value,...Uee.value&&gee.value?[kte.value]:[]],error:!0,humanReadable:"Invalid installation",heading:"Invalid installation",message:"

    It is not possible to use a Trial key with an existing Unraid OS installation.

    You may purchase a license key corresponding to this USB Flash device to continue using this installation.

    "};case"ENOKEYFILE1":return{actions:[...!Uee.value&&gee.value?[xte.value]:[],wte.value,mte.value,...Uee.value&&gee.value?[kte.value]:[]],error:!0,humanReadable:"No Keyfile",heading:"No USB flash configuration data",message:"

    There is a problem with your USB Flash device

    "};case"ENOFLASH":case"ENOFLASH1":case"ENOFLASH2":case"ENOFLASH3":case"ENOFLASH4":case"ENOFLASH5":case"ENOFLASH6":case"ENOFLASH7":return{error:!0,humanReadable:"No Flash",heading:"Cannot access your USB Flash boot device",message:"

    There is a physical problem accessing your USB Flash boot device

    "};case"EBLACKLISTED":return{error:!0,humanReadable:"BLACKLISTED",heading:"Blacklisted USB Flash GUID",message:"

    This USB Flash boot device has been blacklisted. This can occur as a result of transferring your license key to a replacement USB Flash device, and you are currently booted from your old USB Flash device.

    A USB Flash device may also be blacklisted if we discover the serial number is not unique – this is common with USB card readers.

    "};case"EBLACKLISTED1":return{error:!0,humanReadable:"BLACKLISTED",heading:"USB Flash device error",message:"

    This USB Flash device has an invalid GUID. Please try a different USB Flash device

    "};case"EBLACKLISTED2":return{error:!0,humanReadable:"BLACKLISTED",heading:"USB Flash has no serial number",message:"

    This USB Flash boot device has been blacklisted. This can occur as a result of transferring your license key to a replacement USB Flash device, and you are currently booted from your old USB Flash device.

    A USB Flash device may also be blacklisted if we discover the serial number is not unique – this is common with USB card readers.

    "};case"ENOCONN":return{error:!0,humanReadable:"Trial Requires Internet Connection",heading:"Cannot validate Unraid Trial key",message:'

    Your Trial key requires an internet connection.

    Please check Settings > Network

    '};default:return{error:!0,humanReadable:"Stale",heading:"Stale Server",message:"

    Please refresh the page to ensure you load your latest configuration

    "}}})),Ite=Sae((()=>{if(Ste.value?.error)return{actions:[{click:()=>{tee.openTroubleshoot({email:yee.value,includeUnraidApiLogs:!!gee.value})},icon:Xpe,text:"Contact Support"}],debugServer:hte.value,heading:Ste.value?.heading??"",level:"error",message:Ste.value?.message??"",ref:`stateDataError__${Xee.value}`,type:"serverState"}}));goe(Ite,((eee,ree)=>{ree&&ree.ref&&tee.removeErrorByRef(ree.ref),eee&&tee.setError(eee)}));const Ote=["signIn","signOut"],Nte=Sae((()=>{if(Ste.value.actions)return Ste.value.actions.find((eee=>Ote.includes(eee.name)))})),Ate=Sae((()=>{if(Ste.value.actions)return Ste.value.actions.filter((eee=>!Ote.includes(eee.name)))})),Rte=Sae((()=>!Vee.value||Vee.value<2)),Dte=Sae((()=>{if(hee.value?.valid||!hee.value?.error);else switch(hee.value?.error){case"INELIGIBLE":return{heading:"Ineligible for OS Version",level:"error",message:"Your License Key does not support this OS Version. OS build date greater than key expiration. Please consider extending your registration key.",actions:[{href:wTe.toString(),icon:jpe,text:"Learn More at Tools > Registration"}],ref:"configError",type:"server"};case"INVALID":return{heading:"Too Many Devices",level:"error",message:"You have exceeded the number of devices allowed for your license. Please remove a device to start the array, or upgrade your key to support more devices.",ref:"configError",type:"server"};case"NO_KEY_SERVER":return{heading:"Check Network Connection",level:"error",message:"Unable to validate your trial key. Please check your network connection.",ref:"configError",type:"server"};case"WITHDRAWN":return{heading:"OS Version Withdrawn",level:"error",message:"This OS release should not be run. OS Update Required.",actions:[{href:fTe.toString(),icon:Ope,text:"Check for Update"}],ref:"configError",type:"server"}}}));goe(Dte,((eee,ree)=>{ree&&ree.ref&&tee.removeErrorByRef(ree.ref),eee&&tee.setError(eee)}));const Cte=Sae((()=>0!==vee.value&&$ee.value>0&&vee.value>$ee.value||!hee.value?.valid&&"INVALID"===hee.value?.error)),Lte=Sae((()=>{if(gee.value&&gee.value.includes("_installFailed"))return{actions:[{external:!0,href:"https://forums.unraid.net/topic/112073-my-servers-releases/#comment-1154449",icon:Qpe,text:"Learn More"}],heading:"Unraid Connect Install Failed",level:"error",message:"Rebooting will likely solve this.",ref:"pluginInstallFailed",type:"server"}}));goe(Lte,((eee,ree)=>{ree&&ree.ref&&tee.removeErrorByRef(ree.ref),eee&&tee.setError(eee)}));const Fte=kre(window.location.hostname.includes("localhost")&&"4321"!==window.location.port?{actions:[{href:uTe.toString(),icon:jpe,text:"Go to Management Access Now"},{external:!0,href:"https://unraid.net/blog/ssl-certificate-update",icon:Qpe,text:"Learn More"}],forumLink:!0,heading:"SSL certificates for unraid.net deprecated",level:"error",message:"On January 1st, 2023 SSL certificates for unraid.net were deprecated. You MUST provision a new SSL certificate to use our new myunraid.net domain. You can do this on the Settings > Management Access page.",ref:"deprecatedUnraidSSL",type:"server"}:void 0);goe(Fte,((eee,ree)=>{ree&&ree.ref&&tee.removeErrorByRef(ree.ref),eee&&tee.setError(eee)}));const zte=Sae((()=>{if(Uee.value&&uee.value?.error&&"signOut"!==eee.accountActionType&&"oemSignOut"!==eee.accountActionType)return{actions:[{click:()=>{tee.openTroubleshoot({email:yee.value,includeUnraidApiLogs:!!gee.value})},icon:Xpe,text:"Contact Support"}],debugServer:hte.value,heading:"Unraid Connect Error",level:"error",message:uee.value?.error??"",ref:"cloudError",type:"unraidApiState"}}));goe(zte,((eee,ree)=>{ree&&ree.ref&&tee.removeErrorByRef(ree.ref),eee&&tee.setError(eee)}));const Mte=Sae((()=>[Ite.value,Dte.value,Lte.value,Fte.value,zte.value].filter(Boolean))),Pte=eee=>{void 0!==eee?.apiKey&&(aee.value=eee.apiKey),void 0!==eee?.array&&(see.value=eee.array),void 0!==eee?.apiVersion&&(iee.value=eee.apiVersion),void 0!==eee?.avatar&&(pee.value=eee.avatar),void 0!==eee?.caseModel&&(dee.value=eee.caseModel),void 0!==eee?.cloud&&(uee.value=eee.cloud),void 0!==eee?.combinedKnownOrigins&&(ate.value=eee.combinedKnownOrigins),void 0!==eee?.config&&(hee.value=eee.config),void 0!==eee?.connectPluginInstalled&&(gee.value=eee.connectPluginInstalled),void 0!==eee?.connectPluginVersion&&(wee.value=eee.connectPluginVersion),void 0!==eee?.csrf&&(fee.value=eee.csrf),void 0!==eee?.dateTimeFormat&&(bee.value=eee.dateTimeFormat),void 0!==eee?.description&&(mee.value=eee.description),void 0!==eee?.deviceCount&&(vee.value=eee.deviceCount),void 0!==eee?.email&&(yee.value=eee.email),void 0!==eee?.expireTime&&(xee.value=eee.expireTime),void 0!==eee?.flashBackupActivated&&(kee.value=eee.flashBackupActivated),void 0!==eee?.flashProduct&&(_ee.value=eee.flashProduct),void 0!==eee?.flashVendor&&(Eee.value=eee.flashVendor),void 0!==eee?.guid&&(Tee.value=eee.guid),void 0!==eee?.keyfile&&(Aee.value=eee.keyfile),void 0!==eee?.lanIp&&(Ree.value=eee.lanIp),void 0!==eee?.license&&(Dee.value=eee.license),void 0!==eee?.locale&&(Cee.value=eee.locale),void 0!==eee?.name&&(Lee.value=eee.name),void 0!==eee?.osVersion&&(Fee.value=eee.osVersion),void 0!==eee?.osVersionBranch&&(zee.value=eee.osVersionBranch),void 0!==eee?.rebootType&&(Mee.value=eee.rebootType),void 0!==eee?.rebootVersion&&(Pee.value=eee.rebootVersion),void 0!==eee?.registered&&(Uee.value=eee.registered),void 0!==eee?.regGen&&(Vee.value=eee.regGen),void 0!==eee?.regGuid&&(qee.value=eee.regGuid),void 0!==eee?.regTy&&(Gee.value=eee.regTy),void 0!==eee?.regExp&&(Qee.value=eee.regExp),void 0!==eee?.site&&(Hee.value=eee.site),void 0!==eee?.state&&(Xee.value=eee.state),void 0!==eee?.theme&&(Zee.value=eee.theme),void 0!==eee?.updateOsIgnoredReleases&&(ete.value=eee.updateOsIgnoredReleases),void 0!==eee?.updateOsNotificationsEnabled&&(tte.value=eee.updateOsNotificationsEnabled),void 0!==eee?.updateOsResponse&&(Jee.value=eee.updateOsResponse),void 0!==eee?.uptime&&(rte.value=eee.uptime),void 0!==eee?.username&&(ote.value=eee.username),void 0!==eee?.wanFQDN&&(nte.value=eee.wanFQDN),void 0!==eee?.regTm&&(Bee.value=eee.regTm),void 0!==eee?.regTo&&(Yee.value=eee.regTo)};let Ute=0;const jte=kre("ready"),$te=async()=>{if(Ute>=20)return jte.value="timeout",!1;Ute++,jte.value="refreshing";const eee=Uee.value,tee=Xee.value,ree=Qee.value,oee=Boolean(ite?.value)?await(ite?.value?.()):await(async()=>{try{const eee=await _Te.get().json();return Pte(eee),eee}catch(eee){}})();if(!oee)return setTimeout((()=>{$te()}),250);const nee={newRegistered:!1,newState:null,newRegExp:null};"data"in oee?(nee.newRegistered=Boolean(oee.data.owner&&"root"!==oee.data.owner.username),nee.newState=oee.data.vars?.regState??null,nee.newRegExp=Number(oee.data.registration?.updateExpiration??0)):(nee.newRegistered=Boolean(oee.registered),nee.newState=oee.state,nee.newRegExp=Number(oee.regExp??0));const aee=nee.newRegistered!==eee,iee=nee.newState!==tee,see=nee.newRegExp??0>ree;if(aee||iee||see)return jte.value="done",!0;setTimeout((()=>$te()),250)};uoe((()=>{Pee.value}));return{apiKey:aee,array:see,avatar:pee,cloud:uee,config:hee,connectPluginInstalled:gee,csrf:fee,dateTimeFormat:bee,description:mee,deviceCount:vee,expireTime:xee,flashBackupActivated:kee,flashProduct:_ee,flashVendor:Eee,guid:Tee,keyfile:Aee,inIframe:Nee,locale:Cee,lanIp:Ree,name:Lee,osVersion:Fee,osVersionBranch:zee,rebootType:Mee,rebootVersion:Pee,registered:Uee,computedRegDevs:$ee,regGen:Vee,regGuid:qee,regTm:Bee,regTo:Yee,regTy:Gee,regExp:Qee,parsedRegExp:Wee,regUpdatesExpired:Kee,site:Hee,state:Xee,theme:Zee,updateOsIgnoredReleases:ete,updateOsNotificationsEnabled:tte,updateOsResponse:Jee,uptime:rte,username:ote,refreshServerStateStatus:jte,isOsVersionStable:cte,renewAction:vte,authAction:Nte,deprecatedUnraidSSL:Fte,isRemoteAccess:ste,keyActions:Ate,pluginInstallFailed:Lte,pluginOutdated:lte,server:pte,serverAccountPayload:ute,serverPurchasePayload:dte,stateData:Ste,stateDataError:Ite,serverErrors:Mte,tooManyDevices:Cte,serverConfigError:Dte,arrayWarning:lee,computedArray:cee,setServer:Pte,setUpdateOsResponse:eee=>{Jee.value=eee},fetchServerFromApi:()=>{const{result:eee,refetch:tee}=TEe(REe,null,{fetchPolicy:"no-cache"}),ree=Sae((()=>eee.value??null));return ite.value=tee,goe(ree,(eee=>{if(eee){const oee={...(tee=eee).owner&&"root"!==tee.owner.username?{username:tee.owner.username??"",registered:!0}:{username:"",registered:!1},name:tee.info&&tee.info.os&&tee.info.os.hostname?tee.info.os.hostname:void 0,keyfile:tee.registration&&tee.registration.keyFile&&tee.registration.keyFile.contents?tee.registration.keyFile.contents:void 0,regGen:tee.vars&&tee.vars.regGen?parseInt(tee.vars.regGen):void 0,state:tee.vars&&tee.vars.regState?tee.vars.regState:void 0,config:tee.config?tee.config:{error:tee.vars&&tee.vars.configError?tee.vars.configError:void 0,valid:!tee.vars||!tee.vars.configValid||tee.vars.configValid},expireTime:tee.registration&&tee.registration.expiration?parseInt(tee.registration.expiration):0,cloud:tee.cloud?(ree=tee.cloud,ree):void 0,regExp:tee.registration&&tee.registration.updateExpiration?Number(tee.registration.updateExpiration):void 0};Pte(oee)}var tee,ree})),eee},refreshServerState:$te,filteredKeyActions:(eee,tee)=>{if(Ste.value.actions)return Ste.value.actions.filter((ree=>"out"===eee?!tee.includes(ree.name):tee.includes(ree.name)))},setRebootVersion:eee=>{Pee.value=eee},updateOsIgnoreRelease:eee=>{ete.value.push(eee),ETe({action:"ignoreVersion",version:eee})},updateOsRemoveIgnoredRelease:eee=>{ete.value=ete.value.filter((r=>r!==eee)),ETe({action:"removeIgnoredVersion",version:eee})},updateOsRemoveAllIgnoredReleases:()=>{ete.value=[],ETe({action:"removeAllIgnored"})}}})),dIe={class:"whitespace-normal flex flex-col gap-y-16px max-w-3xl"},uIe={key:0,class:"text-unraid-red font-semibold"},hIe={class:"text-16px mb-8px"},gIe=["innerHTML"],wIe={key:1},fIe=xoe({__name:"Auth.ce",setup(eee){const{t:t}=_ce(),tee=pIe(),{authAction:ree,stateData:oee}=Xce(tee);return(eee,tee)=>{const nee=Cce;return qne(),Qne("div",dIe,[Sre(oee).error?(qne(),Qne("span",uIe,[eae("h3",hIe,Hee(Sre(t)(Sre(oee).heading)),1),eae("span",{class:"text-14px",innerHTML:Sre(t)(Sre(oee).message)},null,8,gIe)])):aae("",!0),Sre(ree)?(qne(),Qne("span",wIe,[tae(nee,{disabled:Sre(ree)?.disabled,icon:Sre(ree).icon,size:"12px",text:Sre(t)(Sre(ree).text),title:Sre(ree)?.title?Sre(t)(Sre(ree)?.title):void 0,onClick:tee[0]||(tee[0]=eee=>Sre(ree).click?.())},null,8,["disabled","icon","text","title"])])):aae("",!0)])}}}),bIe=Nce(fIe,[["styles",['/*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:clear-sans,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:470px){.container{max-width:470px}}@media (min-width:530px){.container{max-width:530px}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--color-beta);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:#ff8c2f;font-weight:500;text-decoration:underline}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{color:#f15a2c}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"“""”""‘""’"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:start;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:var(--color-beta);--tw-prose-headings:var(--color-beta);--tw-prose-lead:var(--color-beta);--tw-prose-links:#ff8c2f;--tw-prose-bold:var(--color-beta);--tw-prose-counters:var(--color-beta);--tw-prose-bullets:var(--color-beta);--tw-prose-hr:var(--color-beta);--tw-prose-quotes:var(--color-beta);--tw-prose-quote-borders:var(--color-beta);--tw-prose-captions:var(--color-beta);--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:var(--color-beta);--tw-prose-pre-code:var(--color-beta);--tw-prose-pre-bg:var(--color-alpha);--tw-prose-th-borders:var(--color-beta);--tw-prose-td-borders:var(--color-beta);--tw-prose-invert-body:var(--color-alpha);--tw-prose-invert-headings:var(--color-alpha);--tw-prose-invert-lead:var(--color-alpha);--tw-prose-invert-links:#ff8c2f;--tw-prose-invert-bold:var(--color-alpha);--tw-prose-invert-counters:var(--color-alpha);--tw-prose-invert-bullets:var(--color-alpha);--tw-prose-invert-hr:var(--color-alpha);--tw-prose-invert-quotes:var(--color-alpha);--tw-prose-invert-quote-borders:var(--color-alpha);--tw-prose-invert-captions:var(--color-alpha);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--color-alpha);--tw-prose-invert-pre-code:var(--color-alpha);--tw-prose-invert-pre-bg:var(--color-beta);--tw-prose-invert-th-borders:var(--color-alpha);--tw-prose-invert-td-borders:var(--color-alpha);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose{--tw-prose-invert-code-bg:var(--color-gamma-opaque)}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-\\[2px\\]{bottom:-2px}.-left-\\[2px\\]{left:-2px}.-right-\\[2px\\]{right:-2px}.-top-1{top:-.25rem}.-top-\\[2px\\]{top:-2px}.bottom-0{bottom:0}.bottom-\\[-3px\\]{bottom:-3px}.right-0{right:0}.top-0{top:0}.top-\\[1px\\]{top:1px}.top-full{top:100%}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\\[99999\\]{z-index:99999}.mx-8px{margin-left:8px;margin-right:8px}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.my-12{margin-bottom:3rem;margin-top:3rem}.my-16px{margin-bottom:16px;margin-top:16px}.my-24px{margin-bottom:24px;margin-top:24px}.my-8px{margin-bottom:8px;margin-top:8px}.mb-4px{margin-bottom:4px}.mb-8px{margin-bottom:8px}.ml-3{margin-left:.75rem}.ml-8px{margin-left:8px}.mr-8px{margin-right:8px}.mt-0{margin-top:0}.mt-12px{margin-top:12px}.mt-2{margin-top:.5rem}.mt-24px{margin-top:24px}.mt-4px{margin-top:4px}.mt-8px{margin-top:8px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-12px{height:12px}.h-16px{height:16px}.h-20px{height:20px}.h-24px{height:24px}.h-2px{height:2px}.h-32px{height:32px}.h-36px{height:36px}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.max-h-\\[65vh\\]{max-height:65vh}.min-h-\\[250px\\]{min-height:250px}.min-h-screen{min-height:100vh}.w-1\\/2{width:50%}.w-11{width:2.75rem}.w-12px{width:12px}.w-14px{width:14px}.w-16px{width:16px}.w-20px{width:20px}.w-24px{width:24px}.w-28px{width:28px}.w-2px{width:2px}.w-32px{width:32px}.w-36px{width:36px}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\\[100px\\]{width:100px}.w-\\[110px\\]{width:110px}.w-\\[120px\\]{width:120px}.w-\\[125\\%\\]{width:125%}.w-\\[150px\\]{width:150px}.w-\\[44px\\]{width:44px}.w-\\[48px\\]{width:48px}.w-full{width:100%}.w-screen{width:100vw}.min-w-300px{min-width:300px}.min-w-\\[280px\\]{min-width:280px}.max-w-1024px{max-width:1024px}.max-w-160px{max-width:160px}.max-w-350px{max-width:350px}.max-w-3xl{max-width:48rem}.max-w-640px{max-width:640px}.max-w-800px{max-width:800px}.max-w-\\[45ch\\]{max-width:45ch}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.grow-0{flex-grow:0}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-20px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-20px{--tw-translate-x:20px}.translate-x-\\[26px\\]{--tw-translate-x:26px}.translate-x-\\[26px\\],.translate-x-\\[2px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[2px\\]{--tw-translate-x:2px}.translate-y-\\[16px\\]{--tw-translate-y:16px}.scale-100,.translate-y-\\[16px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-12px{gap:12px}.gap-16px{gap:16px}.gap-2{gap:.5rem}.gap-20px{gap:20px}.gap-4{gap:1rem}.gap-4px{gap:4px}.gap-6{gap:1.5rem}.gap-8px{gap:8px}.gap-x-16px{-moz-column-gap:16px;column-gap:16px}.gap-x-4px{-moz-column-gap:4px;column-gap:4px}.gap-x-8px{-moz-column-gap:8px;column-gap:8px}.gap-y-16px{row-gap:16px}.gap-y-24px{row-gap:24px}.gap-y-4px{row-gap:4px}.gap-y-8px{row-gap:8px}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-normal{white-space:normal}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b-2{border-bottom-width:2px}.border-l-0{border-left-width:0}.border-r-0{border-right-width:0}.border-t-0{border-top-width:0}.border-solid{border-style:solid}.border-none{border-style:none}.border-black{--tw-border-opacity:1;border-color:rgb(28 27 27/var(--tw-border-opacity))}.border-gamma-opaque{border-color:var(--color-gamma-opaque)}.border-green-600\\/10{border-color:#16a34a1a}.border-grey-mid{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.border-orange{--tw-border-opacity:1;border-color:rgb(255 140 47/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-unraid-red{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.border-unraid-red\\/10{border-color:#e228281a}.border-unraid-red\\/90{border-color:#e22828e6}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-white\\/10{border-color:#ffffff1a}.border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity))}.bg-alpha{background-color:var(--color-alpha)}.bg-beta{background-color:var(--color-beta)}.bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-current{background-color:currentColor}.bg-gamma{background-color:var(--color-gamma)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-grey{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-orange{--tw-bg-opacity:1;background-color:rgb(255 140 47/var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-unraid-red{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.bg-unraid-red\\/90{background-color:#e22828e6}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity:.8}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-unraid-red{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-orange{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.to-orange\\/60{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-green-600{fill:#16a34a}.fill-unraid-red{fill:#e22828}.p-0{padding:0}.p-1{padding:.25rem}.p-12px{padding:12px}.p-16px{padding:16px}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8px{padding:8px}.px-12px{padding-left:12px;padding-right:12px}.px-16px{padding-left:16px;padding-right:16px}.px-4{padding-left:1rem;padding-right:1rem}.px-4px{padding-left:4px;padding-right:4px}.px-6px{padding-left:6px;padding-right:6px}.px-8px{padding-left:8px;padding-right:8px}.py-0{padding-bottom:0;padding-top:0}.py-12px{padding-bottom:12px;padding-top:12px}.py-24px{padding-bottom:24px;padding-top:24px}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-4px{padding-bottom:4px;padding-top:4px}.py-8px{padding-bottom:8px;padding-top:8px}.pb-12{padding-bottom:3rem}.pb-8px{padding-bottom:8px}.pl-40px{padding-left:40px}.pr-16px{padding-right:16px}.pr-40px{padding-right:40px}.pr-4px{padding-right:4px}.pt-4px{padding-top:4px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-10px{font-size:10px}.text-12px{font-size:12px}.text-14px{font-size:14px}.text-16px{font-size:16px}.text-18px{font-size:18px}.text-20px{font-size:20px}.text-24px{font-size:24px}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.text-\\[\\#486dba\\]{--tw-text-opacity:1;color:rgb(72 109 186/var(--tw-text-opacity))}.text-alpha{color:var(--color-alpha)}.text-beta{color:var(--color-beta)}.text-black{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-current{color:currentColor}.text-gamma{color:var(--color-gamma)}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-grey-mid{--tw-text-opacity:1;color:rgb(153 153 153/var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}.text-orange{--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-unraid-red{--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[var\\(--ring-offset-shadow\\)_var\\(--ring-shadow\\)_var\\(--shadow-beta\\)\\]{--tw-shadow-color:var(--ring-offset-shadow) var(--ring-shadow) var(--shadow-beta);--tw-shadow:var(--tw-shadow-colored)}.shadow-green-600\\/30{--tw-shadow-color:rgba(22,163,74,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-orange\\/10{--tw-shadow-color:rgba(255,140,47,.1);--tw-shadow:var(--tw-shadow-colored)}.shadow-unraid-red\\/30{--tw-shadow-color:rgba(226,40,40,.3);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-black{outline-color:#1c1b1b}.outline-white{outline-color:#fff}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.even\\:bg-black\\/5:nth-child(2n){background-color:#1c1b1b0d}.even\\:bg-grey-darkest:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity))}@keyframes pulse{50%{opacity:.5}}.hover\\:animate-pulse:hover{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.hover\\:border-beta:hover{border-color:var(--color-beta)}.hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.hover\\:border-grey-mid:hover{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.hover\\:border-orange-dark:hover{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.hover\\:border-unraid-red:hover{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.hover\\:bg-beta:hover{background-color:var(--color-beta)}.hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.hover\\:bg-grey-mid:hover{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.hover\\:bg-unraid-red:hover{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\\:bg-gradient-to-r:hover{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.hover\\:from-unraid-red:hover{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:from-unraid-red\\/60:hover{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:to-orange:hover{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.hover\\:to-orange\\/60:hover{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.hover\\:text-\\[\\#3b5ea9\\]:hover{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.hover\\:text-alpha:hover{color:var(--color-alpha)}.hover\\:text-black:hover{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:no-underline:hover{text-decoration-line:none}.hover\\:opacity-100:hover{opacity:1}.hover\\:opacity-75:hover{opacity:.75}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:shadow-orange\\/50:hover{--tw-shadow-color:rgba(255,140,47,.5);--tw-shadow:var(--tw-shadow-colored)}.focus\\:border-beta:focus{border-color:var(--color-beta)}.focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.focus\\:border-grey-mid:focus{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.focus\\:border-orange-dark:focus{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.focus\\:border-unraid-red:focus{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.focus\\:bg-beta:focus{background-color:var(--color-beta)}.focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.focus\\:bg-grey-mid:focus{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.focus\\:bg-unraid-red:focus{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus\\:bg-gradient-to-r:focus{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.focus\\:from-unraid-red:focus{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:from-unraid-red\\/60:focus{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:to-orange:focus{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.focus\\:to-orange\\/60:focus{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.focus\\:text-\\[\\#3b5ea9\\]:focus{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.focus\\:text-alpha:focus{color:var(--color-alpha)}.focus\\:text-black:focus{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.focus\\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\\:underline:focus{text-decoration-line:underline}.focus\\:no-underline:focus{text-decoration-line:none}.focus\\:opacity-100:focus{opacity:1}.focus\\:opacity-75:focus{opacity:.75}.focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.focus\\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-25:disabled{opacity:.25}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:hover\\:opacity-25:hover:disabled{opacity:.25}.disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.disabled\\:focus\\:opacity-25:focus:disabled{opacity:.25}.disabled\\:focus\\:opacity-50:focus:disabled{opacity:.5}.group:hover .group-hover\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:hover .group-hover\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:hover .group-hover\\:underline{text-decoration-line:underline}.group:hover .group-hover\\:opacity-100{opacity:1}.group:hover .group-hover\\:opacity-60{opacity:.6}.group:hover .group-hover\\:opacity-75{opacity:.75}.group:focus .group-focus\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:focus .group-focus\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:focus .group-focus\\:underline{text-decoration-line:underline}.group:focus .group-focus\\:opacity-100{opacity:1}.group:focus .group-focus\\:opacity-60{opacity:.6}.group:focus .group-focus\\:opacity-75{opacity:.75}.prose-a\\:text-unraid-red :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.hover\\:prose-a\\:text-unraid-red\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#e2282899}.hover\\:prose-a\\:no-underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{text-decoration-line:none}@media (min-width:640px){.sm\\:col-span-2{grid-column:span 2/span 2}.sm\\:col-span-3{grid-column:span 3/span 3}.sm\\:col-start-2{grid-column-start:2}.sm\\:block{display:block}.sm\\:w-\\[150px\\]{width:150px}.sm\\:w-full{width:100%}.sm\\:min-w-\\[400px\\]{min-width:400px}.sm\\:max-w-300px{max-width:300px}.sm\\:max-w-lg{max-width:32rem}.sm\\:flex-shrink-0{flex-shrink:0}.sm\\:flex-grow-0{flex-grow:0}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-start{align-items:flex-start}.sm\\:items-center{align-items:center}.sm\\:justify-end{justify-content:flex-end}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-16px{gap:16px}.sm\\:gap-24px{gap:24px}.sm\\:gap-y-24px{row-gap:24px}.sm\\:p-16px{padding:16px}.sm\\:px-20px{padding-left:20px;padding-right:20px}.sm\\:pr-40px{padding-right:40px}.sm\\:text-right{text-align:right}.sm\\:text-18px{font-size:18px}.sm\\:text-20px{font-size:20px}.sm\\:text-24px{font-size:24px}}@media (min-width:768px){.md\\:inline-block{display:inline-block}.md\\:min-w-\\[500px\\]{min-width:500px}.md\\:flex-row{flex-direction:row}.md\\:items-start{align-items:flex-start}.md\\:items-end{align-items:flex-end}.md\\:justify-between{justify-content:space-between}.md\\:gap-16px{gap:16px}.md\\:p-24px{padding:24px}.md\\:p-6{padding:1.5rem}.md\\:py-24px{padding-bottom:24px;padding-top:24px}.md\\:text-24px{font-size:24px}}@media (min-width:470px){.\\32xs\\:block{display:block}}@media (min-width:530px){.xs\\:block{display:block}.xs\\:flex-row{flex-direction:row}.xs\\:items-baseline{align-items:baseline}.xs\\:justify-start{justify-content:flex-start}.xs\\:gap-x-12px{-moz-column-gap:12px;column-gap:12px}.xs\\:text-12px{font-size:12px}}@media (min-height:700px){.tall\\:max-h-\\[75vh\\]{max-height:75vh}}@media (prefers-color-scheme:dark){.dark\\:border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.dark\\:bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.dark\\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\\:prose-a\\:text-orange :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.hover\\:dark\\:prose-a\\:text-orange\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#ff8c2f99}}']]]),mIe={key:0,class:"italic"},vIe={key:0,class:"text-unraid-red font-semibold"},yIe={key:0},xIe={key:1,class:"inline-block w-1/2 whitespace-normal"},kIe=xoe({__name:"WanIpCheck.ce",props:{phpWanIp:{}},setup(eee){const tee=eee,{t:t}=_ce(),{isRemoteAccess:ree}=Xce(pIe()),oee=kre(),nee=kre(""),aee=kre(!1),iee=Sae((()=>tee.phpWanIp?nee.value?nee.value:"":t("DNS issue, unable to resolve wanip4.unraid.net")));return Aoe((()=>{oee.value=sessionStorage.getItem("unraidConnect_wanIp")})),uoe((async()=>{if(!oee.value&&tee.phpWanIp){aee.value=!0;const eee=await ZEe.url("https://wanip4.unraid.net/").get().text();eee?(aee.value=!1,oee.value=eee,sessionStorage.setItem("unraidConnect_wanIp",oee.value)):(aee.value=!1,nee.value=t("Unable to fetch client WAN IPv4"))}})),(eee,tee)=>Sre(aee)?(qne(),Qne("span",mIe,Hee(Sre(t)("Checking WAN IPs…")),1)):(qne(),Qne(Mne,{key:1},[Sre(iee)?(qne(),Qne("span",vIe,Hee(Sre(iee)),1)):(qne(),Qne(Mne,{key:1},[Sre(ree)||eee.phpWanIp===Sre(oee)&&!Sre(ree)?(qne(),Qne("span",yIe,Hee(Sre(t)("Remark: your WAN IPv4 is {0}",[Sre(oee)])),1)):(qne(),Qne("span",xIe,Hee(Sre(t)("Remark: Unraid's WAN IPv4 {0} does not match your client's WAN IPv4 {1}.",[eee.phpWanIp,Sre(oee)]))+" "+Hee(Sre(t)("This may indicate a complex network that will not work with this Remote Access solution."))+" "+Hee(Sre(t)("Ignore this message if you are currently connected via Remote Access or VPN.")),1))],64))],64))}}),_Ie=Nce(kIe,[["styles",['/*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:clear-sans,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:470px){.container{max-width:470px}}@media (min-width:530px){.container{max-width:530px}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--color-beta);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:#ff8c2f;font-weight:500;text-decoration:underline}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{color:#f15a2c}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"“""”""‘""’"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:start;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:var(--color-beta);--tw-prose-headings:var(--color-beta);--tw-prose-lead:var(--color-beta);--tw-prose-links:#ff8c2f;--tw-prose-bold:var(--color-beta);--tw-prose-counters:var(--color-beta);--tw-prose-bullets:var(--color-beta);--tw-prose-hr:var(--color-beta);--tw-prose-quotes:var(--color-beta);--tw-prose-quote-borders:var(--color-beta);--tw-prose-captions:var(--color-beta);--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:var(--color-beta);--tw-prose-pre-code:var(--color-beta);--tw-prose-pre-bg:var(--color-alpha);--tw-prose-th-borders:var(--color-beta);--tw-prose-td-borders:var(--color-beta);--tw-prose-invert-body:var(--color-alpha);--tw-prose-invert-headings:var(--color-alpha);--tw-prose-invert-lead:var(--color-alpha);--tw-prose-invert-links:#ff8c2f;--tw-prose-invert-bold:var(--color-alpha);--tw-prose-invert-counters:var(--color-alpha);--tw-prose-invert-bullets:var(--color-alpha);--tw-prose-invert-hr:var(--color-alpha);--tw-prose-invert-quotes:var(--color-alpha);--tw-prose-invert-quote-borders:var(--color-alpha);--tw-prose-invert-captions:var(--color-alpha);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--color-alpha);--tw-prose-invert-pre-code:var(--color-alpha);--tw-prose-invert-pre-bg:var(--color-beta);--tw-prose-invert-th-borders:var(--color-alpha);--tw-prose-invert-td-borders:var(--color-alpha);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose{--tw-prose-invert-code-bg:var(--color-gamma-opaque)}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-\\[2px\\]{bottom:-2px}.-left-\\[2px\\]{left:-2px}.-right-\\[2px\\]{right:-2px}.-top-1{top:-.25rem}.-top-\\[2px\\]{top:-2px}.bottom-0{bottom:0}.bottom-\\[-3px\\]{bottom:-3px}.right-0{right:0}.top-0{top:0}.top-\\[1px\\]{top:1px}.top-full{top:100%}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\\[99999\\]{z-index:99999}.mx-8px{margin-left:8px;margin-right:8px}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.my-12{margin-bottom:3rem;margin-top:3rem}.my-16px{margin-bottom:16px;margin-top:16px}.my-24px{margin-bottom:24px;margin-top:24px}.my-8px{margin-bottom:8px;margin-top:8px}.mb-4px{margin-bottom:4px}.mb-8px{margin-bottom:8px}.ml-3{margin-left:.75rem}.ml-8px{margin-left:8px}.mr-8px{margin-right:8px}.mt-0{margin-top:0}.mt-12px{margin-top:12px}.mt-2{margin-top:.5rem}.mt-24px{margin-top:24px}.mt-4px{margin-top:4px}.mt-8px{margin-top:8px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-12px{height:12px}.h-16px{height:16px}.h-20px{height:20px}.h-24px{height:24px}.h-2px{height:2px}.h-32px{height:32px}.h-36px{height:36px}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.max-h-\\[65vh\\]{max-height:65vh}.min-h-\\[250px\\]{min-height:250px}.min-h-screen{min-height:100vh}.w-1\\/2{width:50%}.w-11{width:2.75rem}.w-12px{width:12px}.w-14px{width:14px}.w-16px{width:16px}.w-20px{width:20px}.w-24px{width:24px}.w-28px{width:28px}.w-2px{width:2px}.w-32px{width:32px}.w-36px{width:36px}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\\[100px\\]{width:100px}.w-\\[110px\\]{width:110px}.w-\\[120px\\]{width:120px}.w-\\[125\\%\\]{width:125%}.w-\\[150px\\]{width:150px}.w-\\[44px\\]{width:44px}.w-\\[48px\\]{width:48px}.w-full{width:100%}.w-screen{width:100vw}.min-w-300px{min-width:300px}.min-w-\\[280px\\]{min-width:280px}.max-w-1024px{max-width:1024px}.max-w-160px{max-width:160px}.max-w-350px{max-width:350px}.max-w-3xl{max-width:48rem}.max-w-640px{max-width:640px}.max-w-800px{max-width:800px}.max-w-\\[45ch\\]{max-width:45ch}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.grow-0{flex-grow:0}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-20px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-20px{--tw-translate-x:20px}.translate-x-\\[26px\\]{--tw-translate-x:26px}.translate-x-\\[26px\\],.translate-x-\\[2px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[2px\\]{--tw-translate-x:2px}.translate-y-\\[16px\\]{--tw-translate-y:16px}.scale-100,.translate-y-\\[16px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-12px{gap:12px}.gap-16px{gap:16px}.gap-2{gap:.5rem}.gap-20px{gap:20px}.gap-4{gap:1rem}.gap-4px{gap:4px}.gap-6{gap:1.5rem}.gap-8px{gap:8px}.gap-x-16px{-moz-column-gap:16px;column-gap:16px}.gap-x-4px{-moz-column-gap:4px;column-gap:4px}.gap-x-8px{-moz-column-gap:8px;column-gap:8px}.gap-y-16px{row-gap:16px}.gap-y-24px{row-gap:24px}.gap-y-4px{row-gap:4px}.gap-y-8px{row-gap:8px}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-normal{white-space:normal}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b-2{border-bottom-width:2px}.border-l-0{border-left-width:0}.border-r-0{border-right-width:0}.border-t-0{border-top-width:0}.border-solid{border-style:solid}.border-none{border-style:none}.border-black{--tw-border-opacity:1;border-color:rgb(28 27 27/var(--tw-border-opacity))}.border-gamma-opaque{border-color:var(--color-gamma-opaque)}.border-green-600\\/10{border-color:#16a34a1a}.border-grey-mid{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.border-orange{--tw-border-opacity:1;border-color:rgb(255 140 47/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-unraid-red{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.border-unraid-red\\/10{border-color:#e228281a}.border-unraid-red\\/90{border-color:#e22828e6}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-white\\/10{border-color:#ffffff1a}.border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity))}.bg-alpha{background-color:var(--color-alpha)}.bg-beta{background-color:var(--color-beta)}.bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-current{background-color:currentColor}.bg-gamma{background-color:var(--color-gamma)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-grey{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-orange{--tw-bg-opacity:1;background-color:rgb(255 140 47/var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-unraid-red{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.bg-unraid-red\\/90{background-color:#e22828e6}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity:.8}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-unraid-red{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-orange{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.to-orange\\/60{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-green-600{fill:#16a34a}.fill-unraid-red{fill:#e22828}.p-0{padding:0}.p-1{padding:.25rem}.p-12px{padding:12px}.p-16px{padding:16px}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8px{padding:8px}.px-12px{padding-left:12px;padding-right:12px}.px-16px{padding-left:16px;padding-right:16px}.px-4{padding-left:1rem;padding-right:1rem}.px-4px{padding-left:4px;padding-right:4px}.px-6px{padding-left:6px;padding-right:6px}.px-8px{padding-left:8px;padding-right:8px}.py-0{padding-bottom:0;padding-top:0}.py-12px{padding-bottom:12px;padding-top:12px}.py-24px{padding-bottom:24px;padding-top:24px}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-4px{padding-bottom:4px;padding-top:4px}.py-8px{padding-bottom:8px;padding-top:8px}.pb-12{padding-bottom:3rem}.pb-8px{padding-bottom:8px}.pl-40px{padding-left:40px}.pr-16px{padding-right:16px}.pr-40px{padding-right:40px}.pr-4px{padding-right:4px}.pt-4px{padding-top:4px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-10px{font-size:10px}.text-12px{font-size:12px}.text-14px{font-size:14px}.text-16px{font-size:16px}.text-18px{font-size:18px}.text-20px{font-size:20px}.text-24px{font-size:24px}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.text-\\[\\#486dba\\]{--tw-text-opacity:1;color:rgb(72 109 186/var(--tw-text-opacity))}.text-alpha{color:var(--color-alpha)}.text-beta{color:var(--color-beta)}.text-black{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-current{color:currentColor}.text-gamma{color:var(--color-gamma)}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-grey-mid{--tw-text-opacity:1;color:rgb(153 153 153/var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}.text-orange{--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-unraid-red{--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[var\\(--ring-offset-shadow\\)_var\\(--ring-shadow\\)_var\\(--shadow-beta\\)\\]{--tw-shadow-color:var(--ring-offset-shadow) var(--ring-shadow) var(--shadow-beta);--tw-shadow:var(--tw-shadow-colored)}.shadow-green-600\\/30{--tw-shadow-color:rgba(22,163,74,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-orange\\/10{--tw-shadow-color:rgba(255,140,47,.1);--tw-shadow:var(--tw-shadow-colored)}.shadow-unraid-red\\/30{--tw-shadow-color:rgba(226,40,40,.3);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-black{outline-color:#1c1b1b}.outline-white{outline-color:#fff}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.even\\:bg-black\\/5:nth-child(2n){background-color:#1c1b1b0d}.even\\:bg-grey-darkest:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity))}@keyframes pulse{50%{opacity:.5}}.hover\\:animate-pulse:hover{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.hover\\:border-beta:hover{border-color:var(--color-beta)}.hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.hover\\:border-grey-mid:hover{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.hover\\:border-orange-dark:hover{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.hover\\:border-unraid-red:hover{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.hover\\:bg-beta:hover{background-color:var(--color-beta)}.hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.hover\\:bg-grey-mid:hover{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.hover\\:bg-unraid-red:hover{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\\:bg-gradient-to-r:hover{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.hover\\:from-unraid-red:hover{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:from-unraid-red\\/60:hover{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:to-orange:hover{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.hover\\:to-orange\\/60:hover{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.hover\\:text-\\[\\#3b5ea9\\]:hover{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.hover\\:text-alpha:hover{color:var(--color-alpha)}.hover\\:text-black:hover{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:no-underline:hover{text-decoration-line:none}.hover\\:opacity-100:hover{opacity:1}.hover\\:opacity-75:hover{opacity:.75}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:shadow-orange\\/50:hover{--tw-shadow-color:rgba(255,140,47,.5);--tw-shadow:var(--tw-shadow-colored)}.focus\\:border-beta:focus{border-color:var(--color-beta)}.focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.focus\\:border-grey-mid:focus{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.focus\\:border-orange-dark:focus{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.focus\\:border-unraid-red:focus{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.focus\\:bg-beta:focus{background-color:var(--color-beta)}.focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.focus\\:bg-grey-mid:focus{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.focus\\:bg-unraid-red:focus{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus\\:bg-gradient-to-r:focus{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.focus\\:from-unraid-red:focus{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:from-unraid-red\\/60:focus{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:to-orange:focus{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.focus\\:to-orange\\/60:focus{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.focus\\:text-\\[\\#3b5ea9\\]:focus{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.focus\\:text-alpha:focus{color:var(--color-alpha)}.focus\\:text-black:focus{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.focus\\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\\:underline:focus{text-decoration-line:underline}.focus\\:no-underline:focus{text-decoration-line:none}.focus\\:opacity-100:focus{opacity:1}.focus\\:opacity-75:focus{opacity:.75}.focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.focus\\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-25:disabled{opacity:.25}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:hover\\:opacity-25:hover:disabled{opacity:.25}.disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.disabled\\:focus\\:opacity-25:focus:disabled{opacity:.25}.disabled\\:focus\\:opacity-50:focus:disabled{opacity:.5}.group:hover .group-hover\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:hover .group-hover\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:hover .group-hover\\:underline{text-decoration-line:underline}.group:hover .group-hover\\:opacity-100{opacity:1}.group:hover .group-hover\\:opacity-60{opacity:.6}.group:hover .group-hover\\:opacity-75{opacity:.75}.group:focus .group-focus\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:focus .group-focus\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:focus .group-focus\\:underline{text-decoration-line:underline}.group:focus .group-focus\\:opacity-100{opacity:1}.group:focus .group-focus\\:opacity-60{opacity:.6}.group:focus .group-focus\\:opacity-75{opacity:.75}.prose-a\\:text-unraid-red :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.hover\\:prose-a\\:text-unraid-red\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#e2282899}.hover\\:prose-a\\:no-underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{text-decoration-line:none}@media (min-width:640px){.sm\\:col-span-2{grid-column:span 2/span 2}.sm\\:col-span-3{grid-column:span 3/span 3}.sm\\:col-start-2{grid-column-start:2}.sm\\:block{display:block}.sm\\:w-\\[150px\\]{width:150px}.sm\\:w-full{width:100%}.sm\\:min-w-\\[400px\\]{min-width:400px}.sm\\:max-w-300px{max-width:300px}.sm\\:max-w-lg{max-width:32rem}.sm\\:flex-shrink-0{flex-shrink:0}.sm\\:flex-grow-0{flex-grow:0}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-start{align-items:flex-start}.sm\\:items-center{align-items:center}.sm\\:justify-end{justify-content:flex-end}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-16px{gap:16px}.sm\\:gap-24px{gap:24px}.sm\\:gap-y-24px{row-gap:24px}.sm\\:p-16px{padding:16px}.sm\\:px-20px{padding-left:20px;padding-right:20px}.sm\\:pr-40px{padding-right:40px}.sm\\:text-right{text-align:right}.sm\\:text-18px{font-size:18px}.sm\\:text-20px{font-size:20px}.sm\\:text-24px{font-size:24px}}@media (min-width:768px){.md\\:inline-block{display:inline-block}.md\\:min-w-\\[500px\\]{min-width:500px}.md\\:flex-row{flex-direction:row}.md\\:items-start{align-items:flex-start}.md\\:items-end{align-items:flex-end}.md\\:justify-between{justify-content:space-between}.md\\:gap-16px{gap:16px}.md\\:p-24px{padding:24px}.md\\:p-6{padding:1.5rem}.md\\:py-24px{padding-bottom:24px;padding-top:24px}.md\\:text-24px{font-size:24px}}@media (min-width:470px){.\\32xs\\:block{display:block}}@media (min-width:530px){.xs\\:block{display:block}.xs\\:flex-row{flex-direction:row}.xs\\:items-baseline{align-items:baseline}.xs\\:justify-start{justify-content:flex-start}.xs\\:gap-x-12px{-moz-column-gap:12px;column-gap:12px}.xs\\:text-12px{font-size:12px}}@media (min-height:700px){.tall\\:max-h-\\[75vh\\]{max-height:75vh}}@media (prefers-color-scheme:dark){.dark\\:border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.dark\\:bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.dark\\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\\:prose-a\\:text-orange :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.hover\\:dark\\:prose-a\\:text-orange\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#ff8c2f99}}']]]),EIe=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,TIe=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,SIe=/^([/\\]\s*){2,}[^/\\]/;function IIe(eee,tee={}){return"boolean"==typeof tee&&(tee={acceptRelative:tee}),tee.strict?EIe.test(eee):TIe.test(eee)||!!tee.acceptRelative&&SIe.test(eee)}function OIe(...eee){const tee=/\/(?!\/)/,ree=eee.filter(Boolean),oee=[];let nee=0;for(const i of ree)if(i&&"/"!==i)for(const[eee,s]of i.split(tee).entries())if(s&&"."!==s)if(".."!==s)1===eee&&oee[oee.length-1]?.endsWith(":/")?oee[oee.length-1]+="/"+s:(oee.push(s),nee++);else{if(1===oee.length&&IIe(oee[0]))continue;oee.pop(),nee--}let aee=oee.join("/");return nee>=0?ree[0]?.startsWith("/")&&!aee.startsWith("/")?aee="/"+aee:ree[0]?.startsWith("./")&&!aee.startsWith("./")&&(aee="./"+aee):aee="../".repeat(-1*nee)+aee,ree[ree.length-1]?.endsWith("/")&&!aee.endsWith("/")&&(aee+="/"),aee}const NIe=(window?.__NUXT__?.config||{}).app,AIe=(...eee)=>OIe(RIe(),NIe.buildAssetsDir,...eee),RIe=(...eee)=>{const tee=NIe.cdnURL||NIe.baseURL;return eee.length?OIe(tee,...eee):tee};globalThis.__buildAssetsURL=AIe,globalThis.__publicAssetsURL=RIe;const DIe=AEe("\n query getExtraAllowedOrigins {\n extraAllowedOrigins\n }\n"),CIe=AEe("\n query getRemoteAccess {\n remoteAccess {\n accessType\n forwardType\n port\n }\n }\n"),LIe=AEe("\n mutation setAdditionalAllowedOrigins($input: AllowedOriginInput!) {\n setAdditionalAllowedOrigins(input: $input)\n }\n"),FIe=AEe("\n mutation setupRemoteAccess($input: SetupRemoteAccessInput!) {\n setupRemoteAccess(input: $input)\n }\n"),zIe=Hce("unraidApiSettings",(()=>{const{unraidApiClient:eee}=Nre(rIe());return{getAllowedOrigins:async()=>{const tee=await(eee.value?.query({query:DIe}));return tee?.data?.extraAllowedOrigins??[]},setAllowedOrigins:async tee=>{const ree=await(eee.value?.mutate({mutation:LIe,variables:{input:{origins:tee}}}));return ree?.data?.setAdditionalAllowedOrigins},getRemoteAccess:async()=>{const tee=await(eee.value?.query({query:CIe}));return tee?.data?.remoteAccess},setupRemoteAccess:async tee=>{const ree=await(eee.value?.mutate({mutation:FIe,variables:{input:tee}}));return ree?.data?.setupRemoteAccess}}})),MIe={class:"flex flex-col"},PIe=eae("h2",null,"Setup Remote Access",-1),UIe=eae("label",{for:"forwardType"},"Forward Type",-1),jIe=["value"],$Ie=eae("label",{for:"forwardType"},"Forward Type",-1),VIe=["value"],qIe=eae("label",{for:"port"},"Port",-1),BIe=xoe({__name:"RemoteAccess",setup(eee){const tee=zIe(),ree=kre(IEe.Disabled),oee=kre(null),nee=kre(null);Roe((async()=>{const eee=await tee.getRemoteAccess();ree.value=eee?.accessType??IEe.Disabled,oee.value=eee?.forwardType??null,nee.value=eee?.port??null}));const aee=()=>{tee.setupRemoteAccess({accessType:ree.value,...oee.value?{forwardType:oee.value}:{},...nee.value?{port:nee.value}:{}})};return goe(ree,(eee=>{eee!==IEe.Disabled&&(oee.value=OEe.Static)})),(eee,tee)=>(qne(),Qne("div",MIe,[PIe,UIe,voe(eae("select",{id:"forwardType","onUpdate:modelValue":tee[0]||(tee[0]=eee=>xre(ree)?ree.value=eee:null)},[(qne(!0),Qne(Mne,null,qoe(Object.values(Sre(IEe)),((eee,tee)=>(qne(),Qne("option",{key:tee,value:eee},Hee(eee),9,jIe)))),128))],512),[[Xae,Sre(ree)]]),Sre(ree)!==Sre(IEe).Disabled?(qne(),Qne(Mne,{key:0},[$Ie,voe(eae("select",{id:"forwardType","onUpdate:modelValue":tee[1]||(tee[1]=eee=>xre(oee)?oee.value=eee:null)},[(qne(!0),Qne(Mne,null,qoe(Object.values(Sre(OEe)),((eee,tee)=>(qne(),Qne("option",{key:tee,value:eee},Hee(eee),9,VIe)))),128))],512),[[Xae,Sre(oee)]])],64)):aae("",!0),Sre(oee)===Sre(OEe).Static&&Sre(ree)!==Sre(IEe).Disabled?(qne(),Qne(Mne,{key:1},[qIe,voe(eae("input",{id:"port","onUpdate:modelValue":tee[2]||(tee[2]=eee=>xre(nee)?nee.value=eee:null),type:"number"},null,512),[[Hae,Sre(nee)]])],64)):aae("",!0),eae("button",{onClick:aee}," Save ")]))}}),YIe={class:"flex flex-col"},GIe=eae("h2",null,"Setup Allowed Origins",-1),QIe=xoe({__name:"AllowedOrigins",setup(eee){const tee=zIe(),ree=kre(""),oee=kre([]);Roe((async()=>{const eee=await tee.getAllowedOrigins();ree.value=eee.join(", ")}));const nee=Sae((()=>{const eee=[];return ree.value&&ree.value.split(",").forEach((tee=>{try{const ree=new URL(tee.trim());eee.push(ree.toString())}catch(e){oee.value.push(`Invalid origin: ${tee}`)}})),eee}));return(eee,aee)=>(qne(),Qne("div",YIe,[GIe,voe(eae("input",{"onUpdate:modelValue":aee[0]||(aee[0]=eee=>xre(ree)?ree.value=eee:null),type:"text",placeholder:"Input Comma Separated List of URLs"},null,512),[[Hae,Sre(ree)]]),eae("button",{type:"button",onClick:aee[1]||(aee[1]=eee=>{tee.setAllowedOrigins(nee.value)})}," Set Allowed Origins "),(qne(!0),Qne(Mne,null,qoe(Sre(oee),((eee,tee)=>(qne(),Qne("div",{key:tee},[eae("p",null,Hee(eee),1)])))),128))]))}}),WIe={class:"whitespace-normal flex flex-col gap-y-16px max-w-3xl"},KIe={class:"flex flex-col gap-y-16px"},HIe={class:"flex"},XIe={class:"flex flex-row items-baseline gap-8px"},ZIe=["href"],JIe=["href"],eOe=["href"],tOe=xoe({__name:"DownloadApiLogs.ce",setup(eee){const{t:t}=_ce(),{apiKey:tee}=Xce(pIe()),ree=Sae((()=>new URL(`/graphql/api/logs?apiKey=${tee.value}`,dTe)));return(eee,tee)=>{const oee=Cce;return qne(),Qne("div",WIe,[eae("span",null,Hee(Sre(t)("The primary method of support for Unraid Connect is through our forums and Discord."))+" "+Hee(Sre(t)("If you are asked to supply logs, please open a support request on our Contact Page and reply to the email message you receive with your logs attached."))+" "+Hee(Sre(t)("The logs may contain sensitive information so do not post them publicly.")),1),eae("span",KIe,[eae("div",HIe,[tae(oee,{class:"grow-0 shrink-0",download:"",external:!0,href:Sre(ree).toString(),icon:Sre(Ipe),size:"12px",text:Sre(t)("Download unraid-api Logs")},null,8,["href","icon","text"])]),eae("div",XIe,[eae("a",{href:Sre(iTe).toString(),target:"_blank",rel:"noopener noreferrer",class:"text-[#486dba] hover:text-[#3b5ea9] focus:text-[#3b5ea9] hover:underline focus:underline inline-flex flex-row items-center justify-start gap-8px"},[oae(Hee(Sre(t)("Unraid Connect Forums"))+" ",1),tae(Sre(Rpe),{class:"w-16px"})],8,ZIe),eae("a",{href:Sre(lTe).toString(),target:"_blank",rel:"noopener noreferrer",class:"text-[#486dba] hover:text-[#3b5ea9] focus:text-[#3b5ea9] hover:underline focus:underline inline-flex flex-row items-center justify-start gap-8px"},[oae(Hee(Sre(t)("Unraid Discord"))+" ",1),tae(Sre(Rpe),{class:"w-16px"})],8,JIe),eae("a",{href:Sre(sTe).toString(),target:"_blank",rel:"noopener noreferrer",class:"text-[#486dba] hover:text-[#3b5ea9] focus:text-[#3b5ea9] hover:underline focus:underline inline-flex flex-row items-center justify-start gap-8px"},[oae(Hee(Sre(t)("Unraid Contact Page"))+" ",1),tae(Sre(Rpe),{class:"w-16px"})],8,eOe)])])])}}}),rOe=Nce(tOe,[["styles",['/*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:clear-sans,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:470px){.container{max-width:470px}}@media (min-width:530px){.container{max-width:530px}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--color-beta);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:#ff8c2f;font-weight:500;text-decoration:underline}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{color:#f15a2c}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"“""”""‘""’"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:start;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:var(--color-beta);--tw-prose-headings:var(--color-beta);--tw-prose-lead:var(--color-beta);--tw-prose-links:#ff8c2f;--tw-prose-bold:var(--color-beta);--tw-prose-counters:var(--color-beta);--tw-prose-bullets:var(--color-beta);--tw-prose-hr:var(--color-beta);--tw-prose-quotes:var(--color-beta);--tw-prose-quote-borders:var(--color-beta);--tw-prose-captions:var(--color-beta);--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:var(--color-beta);--tw-prose-pre-code:var(--color-beta);--tw-prose-pre-bg:var(--color-alpha);--tw-prose-th-borders:var(--color-beta);--tw-prose-td-borders:var(--color-beta);--tw-prose-invert-body:var(--color-alpha);--tw-prose-invert-headings:var(--color-alpha);--tw-prose-invert-lead:var(--color-alpha);--tw-prose-invert-links:#ff8c2f;--tw-prose-invert-bold:var(--color-alpha);--tw-prose-invert-counters:var(--color-alpha);--tw-prose-invert-bullets:var(--color-alpha);--tw-prose-invert-hr:var(--color-alpha);--tw-prose-invert-quotes:var(--color-alpha);--tw-prose-invert-quote-borders:var(--color-alpha);--tw-prose-invert-captions:var(--color-alpha);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--color-alpha);--tw-prose-invert-pre-code:var(--color-alpha);--tw-prose-invert-pre-bg:var(--color-beta);--tw-prose-invert-th-borders:var(--color-alpha);--tw-prose-invert-td-borders:var(--color-alpha);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose{--tw-prose-invert-code-bg:var(--color-gamma-opaque)}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-\\[2px\\]{bottom:-2px}.-left-\\[2px\\]{left:-2px}.-right-\\[2px\\]{right:-2px}.-top-1{top:-.25rem}.-top-\\[2px\\]{top:-2px}.bottom-0{bottom:0}.bottom-\\[-3px\\]{bottom:-3px}.right-0{right:0}.top-0{top:0}.top-\\[1px\\]{top:1px}.top-full{top:100%}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\\[99999\\]{z-index:99999}.mx-8px{margin-left:8px;margin-right:8px}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.my-12{margin-bottom:3rem;margin-top:3rem}.my-16px{margin-bottom:16px;margin-top:16px}.my-24px{margin-bottom:24px;margin-top:24px}.my-8px{margin-bottom:8px;margin-top:8px}.mb-4px{margin-bottom:4px}.mb-8px{margin-bottom:8px}.ml-3{margin-left:.75rem}.ml-8px{margin-left:8px}.mr-8px{margin-right:8px}.mt-0{margin-top:0}.mt-12px{margin-top:12px}.mt-2{margin-top:.5rem}.mt-24px{margin-top:24px}.mt-4px{margin-top:4px}.mt-8px{margin-top:8px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-12px{height:12px}.h-16px{height:16px}.h-20px{height:20px}.h-24px{height:24px}.h-2px{height:2px}.h-32px{height:32px}.h-36px{height:36px}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.max-h-\\[65vh\\]{max-height:65vh}.min-h-\\[250px\\]{min-height:250px}.min-h-screen{min-height:100vh}.w-1\\/2{width:50%}.w-11{width:2.75rem}.w-12px{width:12px}.w-14px{width:14px}.w-16px{width:16px}.w-20px{width:20px}.w-24px{width:24px}.w-28px{width:28px}.w-2px{width:2px}.w-32px{width:32px}.w-36px{width:36px}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\\[100px\\]{width:100px}.w-\\[110px\\]{width:110px}.w-\\[120px\\]{width:120px}.w-\\[125\\%\\]{width:125%}.w-\\[150px\\]{width:150px}.w-\\[44px\\]{width:44px}.w-\\[48px\\]{width:48px}.w-full{width:100%}.w-screen{width:100vw}.min-w-300px{min-width:300px}.min-w-\\[280px\\]{min-width:280px}.max-w-1024px{max-width:1024px}.max-w-160px{max-width:160px}.max-w-350px{max-width:350px}.max-w-3xl{max-width:48rem}.max-w-640px{max-width:640px}.max-w-800px{max-width:800px}.max-w-\\[45ch\\]{max-width:45ch}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.grow-0{flex-grow:0}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-20px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-20px{--tw-translate-x:20px}.translate-x-\\[26px\\]{--tw-translate-x:26px}.translate-x-\\[26px\\],.translate-x-\\[2px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[2px\\]{--tw-translate-x:2px}.translate-y-\\[16px\\]{--tw-translate-y:16px}.scale-100,.translate-y-\\[16px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-12px{gap:12px}.gap-16px{gap:16px}.gap-2{gap:.5rem}.gap-20px{gap:20px}.gap-4{gap:1rem}.gap-4px{gap:4px}.gap-6{gap:1.5rem}.gap-8px{gap:8px}.gap-x-16px{-moz-column-gap:16px;column-gap:16px}.gap-x-4px{-moz-column-gap:4px;column-gap:4px}.gap-x-8px{-moz-column-gap:8px;column-gap:8px}.gap-y-16px{row-gap:16px}.gap-y-24px{row-gap:24px}.gap-y-4px{row-gap:4px}.gap-y-8px{row-gap:8px}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-normal{white-space:normal}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b-2{border-bottom-width:2px}.border-l-0{border-left-width:0}.border-r-0{border-right-width:0}.border-t-0{border-top-width:0}.border-solid{border-style:solid}.border-none{border-style:none}.border-black{--tw-border-opacity:1;border-color:rgb(28 27 27/var(--tw-border-opacity))}.border-gamma-opaque{border-color:var(--color-gamma-opaque)}.border-green-600\\/10{border-color:#16a34a1a}.border-grey-mid{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.border-orange{--tw-border-opacity:1;border-color:rgb(255 140 47/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-unraid-red{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.border-unraid-red\\/10{border-color:#e228281a}.border-unraid-red\\/90{border-color:#e22828e6}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-white\\/10{border-color:#ffffff1a}.border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity))}.bg-alpha{background-color:var(--color-alpha)}.bg-beta{background-color:var(--color-beta)}.bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-current{background-color:currentColor}.bg-gamma{background-color:var(--color-gamma)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-grey{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-orange{--tw-bg-opacity:1;background-color:rgb(255 140 47/var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-unraid-red{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.bg-unraid-red\\/90{background-color:#e22828e6}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity:.8}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-unraid-red{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-orange{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.to-orange\\/60{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-green-600{fill:#16a34a}.fill-unraid-red{fill:#e22828}.p-0{padding:0}.p-1{padding:.25rem}.p-12px{padding:12px}.p-16px{padding:16px}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8px{padding:8px}.px-12px{padding-left:12px;padding-right:12px}.px-16px{padding-left:16px;padding-right:16px}.px-4{padding-left:1rem;padding-right:1rem}.px-4px{padding-left:4px;padding-right:4px}.px-6px{padding-left:6px;padding-right:6px}.px-8px{padding-left:8px;padding-right:8px}.py-0{padding-bottom:0;padding-top:0}.py-12px{padding-bottom:12px;padding-top:12px}.py-24px{padding-bottom:24px;padding-top:24px}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-4px{padding-bottom:4px;padding-top:4px}.py-8px{padding-bottom:8px;padding-top:8px}.pb-12{padding-bottom:3rem}.pb-8px{padding-bottom:8px}.pl-40px{padding-left:40px}.pr-16px{padding-right:16px}.pr-40px{padding-right:40px}.pr-4px{padding-right:4px}.pt-4px{padding-top:4px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-10px{font-size:10px}.text-12px{font-size:12px}.text-14px{font-size:14px}.text-16px{font-size:16px}.text-18px{font-size:18px}.text-20px{font-size:20px}.text-24px{font-size:24px}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.text-\\[\\#486dba\\]{--tw-text-opacity:1;color:rgb(72 109 186/var(--tw-text-opacity))}.text-alpha{color:var(--color-alpha)}.text-beta{color:var(--color-beta)}.text-black{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-current{color:currentColor}.text-gamma{color:var(--color-gamma)}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-grey-mid{--tw-text-opacity:1;color:rgb(153 153 153/var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}.text-orange{--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-unraid-red{--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[var\\(--ring-offset-shadow\\)_var\\(--ring-shadow\\)_var\\(--shadow-beta\\)\\]{--tw-shadow-color:var(--ring-offset-shadow) var(--ring-shadow) var(--shadow-beta);--tw-shadow:var(--tw-shadow-colored)}.shadow-green-600\\/30{--tw-shadow-color:rgba(22,163,74,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-orange\\/10{--tw-shadow-color:rgba(255,140,47,.1);--tw-shadow:var(--tw-shadow-colored)}.shadow-unraid-red\\/30{--tw-shadow-color:rgba(226,40,40,.3);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-black{outline-color:#1c1b1b}.outline-white{outline-color:#fff}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.even\\:bg-black\\/5:nth-child(2n){background-color:#1c1b1b0d}.even\\:bg-grey-darkest:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity))}@keyframes pulse{50%{opacity:.5}}.hover\\:animate-pulse:hover{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.hover\\:border-beta:hover{border-color:var(--color-beta)}.hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.hover\\:border-grey-mid:hover{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.hover\\:border-orange-dark:hover{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.hover\\:border-unraid-red:hover{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.hover\\:bg-beta:hover{background-color:var(--color-beta)}.hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.hover\\:bg-grey-mid:hover{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.hover\\:bg-unraid-red:hover{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\\:bg-gradient-to-r:hover{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.hover\\:from-unraid-red:hover{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:from-unraid-red\\/60:hover{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:to-orange:hover{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.hover\\:to-orange\\/60:hover{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.hover\\:text-\\[\\#3b5ea9\\]:hover{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.hover\\:text-alpha:hover{color:var(--color-alpha)}.hover\\:text-black:hover{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:no-underline:hover{text-decoration-line:none}.hover\\:opacity-100:hover{opacity:1}.hover\\:opacity-75:hover{opacity:.75}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:shadow-orange\\/50:hover{--tw-shadow-color:rgba(255,140,47,.5);--tw-shadow:var(--tw-shadow-colored)}.focus\\:border-beta:focus{border-color:var(--color-beta)}.focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.focus\\:border-grey-mid:focus{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.focus\\:border-orange-dark:focus{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.focus\\:border-unraid-red:focus{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.focus\\:bg-beta:focus{background-color:var(--color-beta)}.focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.focus\\:bg-grey-mid:focus{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.focus\\:bg-unraid-red:focus{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus\\:bg-gradient-to-r:focus{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.focus\\:from-unraid-red:focus{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:from-unraid-red\\/60:focus{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:to-orange:focus{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.focus\\:to-orange\\/60:focus{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.focus\\:text-\\[\\#3b5ea9\\]:focus{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.focus\\:text-alpha:focus{color:var(--color-alpha)}.focus\\:text-black:focus{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.focus\\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\\:underline:focus{text-decoration-line:underline}.focus\\:no-underline:focus{text-decoration-line:none}.focus\\:opacity-100:focus{opacity:1}.focus\\:opacity-75:focus{opacity:.75}.focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.focus\\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-25:disabled{opacity:.25}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:hover\\:opacity-25:hover:disabled{opacity:.25}.disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.disabled\\:focus\\:opacity-25:focus:disabled{opacity:.25}.disabled\\:focus\\:opacity-50:focus:disabled{opacity:.5}.group:hover .group-hover\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:hover .group-hover\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:hover .group-hover\\:underline{text-decoration-line:underline}.group:hover .group-hover\\:opacity-100{opacity:1}.group:hover .group-hover\\:opacity-60{opacity:.6}.group:hover .group-hover\\:opacity-75{opacity:.75}.group:focus .group-focus\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:focus .group-focus\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:focus .group-focus\\:underline{text-decoration-line:underline}.group:focus .group-focus\\:opacity-100{opacity:1}.group:focus .group-focus\\:opacity-60{opacity:.6}.group:focus .group-focus\\:opacity-75{opacity:.75}.prose-a\\:text-unraid-red :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.hover\\:prose-a\\:text-unraid-red\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#e2282899}.hover\\:prose-a\\:no-underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{text-decoration-line:none}@media (min-width:640px){.sm\\:col-span-2{grid-column:span 2/span 2}.sm\\:col-span-3{grid-column:span 3/span 3}.sm\\:col-start-2{grid-column-start:2}.sm\\:block{display:block}.sm\\:w-\\[150px\\]{width:150px}.sm\\:w-full{width:100%}.sm\\:min-w-\\[400px\\]{min-width:400px}.sm\\:max-w-300px{max-width:300px}.sm\\:max-w-lg{max-width:32rem}.sm\\:flex-shrink-0{flex-shrink:0}.sm\\:flex-grow-0{flex-grow:0}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-start{align-items:flex-start}.sm\\:items-center{align-items:center}.sm\\:justify-end{justify-content:flex-end}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-16px{gap:16px}.sm\\:gap-24px{gap:24px}.sm\\:gap-y-24px{row-gap:24px}.sm\\:p-16px{padding:16px}.sm\\:px-20px{padding-left:20px;padding-right:20px}.sm\\:pr-40px{padding-right:40px}.sm\\:text-right{text-align:right}.sm\\:text-18px{font-size:18px}.sm\\:text-20px{font-size:20px}.sm\\:text-24px{font-size:24px}}@media (min-width:768px){.md\\:inline-block{display:inline-block}.md\\:min-w-\\[500px\\]{min-width:500px}.md\\:flex-row{flex-direction:row}.md\\:items-start{align-items:flex-start}.md\\:items-end{align-items:flex-end}.md\\:justify-between{justify-content:space-between}.md\\:gap-16px{gap:16px}.md\\:p-24px{padding:24px}.md\\:p-6{padding:1.5rem}.md\\:py-24px{padding-bottom:24px;padding-top:24px}.md\\:text-24px{font-size:24px}}@media (min-width:470px){.\\32xs\\:block{display:block}}@media (min-width:530px){.xs\\:block{display:block}.xs\\:flex-row{flex-direction:row}.xs\\:items-baseline{align-items:baseline}.xs\\:justify-start{justify-content:flex-start}.xs\\:gap-x-12px{-moz-column-gap:12px;column-gap:12px}.xs\\:text-12px{font-size:12px}}@media (min-height:700px){.tall\\:max-h-\\[75vh\\]{max-height:75vh}}@media (prefers-color-scheme:dark){.dark\\:border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.dark\\:bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.dark\\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\\:prose-a\\:text-orange :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.hover\\:dark\\:prose-a\\:text-orange\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#ff8c2f99}}']]]),oOe=xoe({__name:"ConnectSettings.ce",setup:eee=>(eee,tee)=>{const ree=bIe,oee=_Ie,nee=BIe,aee=QIe,iee=rOe;return qne(),Qne(Mne,null,[tae(ree),tae(oee),tae(nee),tae(aee),tae(iee)],64)}}),nOe=xoe({__name:"Badge",props:{color:{default:"gray"},icon:{type:[Object,Function],default:void 0},iconRight:{type:[Object,Function],default:void 0},iconStyles:{default:""},size:{default:"16px"}},setup(eee){const tee=eee,ree=Sae((()=>{let eee="",ree="",oee="";switch(tee.color){case"alpha":eee="bg-alpha text-white group-hover:opacity-75 group-focus:opacity-75";break;case"beta":eee="bg-beta text-white group-hover:opacity-75 group-focus:opacity-75";break;case"gamma":eee="bg-gamma text-white group-hover:opacity-75 group-focus:opacity-75";break;case"red":eee="bg-unraid-red text-white group-hover:bg-orange-dark group-focus:bg-orange-dark";break;case"yellow":eee="bg-yellow-100 text-black group-hover:bg-yellow-200 group-focus:bg-yellow-200";break;case"green":eee="bg-green-200 text-green-800 group-hover:bg-green-300 group-focus:bg-green-300";break;case"blue":eee="bg-blue-100 text-blue-800 group-hover:bg-blue-200 group-focus:bg-blue-200";break;case"indigo":eee="bg-indigo-100 text-indigo-800 group-hover:bg-indigo-200 group-focus:bg-indigo-200";break;case"purple":eee="bg-purple-100 text-purple-800 group-hover:bg-purple-200 group-focus:bg-purple-200";break;case"pink":eee="bg-pink-100 text-pink-800 group-hover:bg-pink-200 group-focus:bg-pink-200";break;case"orange":eee="bg-orange text-white group-hover:bg-orange-dark group-focus:bg-orange-dark";break;case"black":eee="bg-black text-white group-hover:bg-gray-800 group-focus:bg-gray-800";break;case"white":eee="bg-white text-black group-hover:bg-gray-100 group-focus:bg-gray-100";break;case"transparent":eee="bg-transparent text-black group-hover:bg-gray-100 group-focus:bg-gray-100";break;case"current":eee="bg-current text-black group-hover:bg-gray-100 group-focus:bg-gray-100";break;case"gray":eee="bg-gray-200 text-gray-800 group-hover:bg-gray-300 group-focus:bg-gray-300";break;case"custom":eee=""}switch(tee.size){case"12px":ree="text-12px px-8px py-4px gap-4px",oee="w-12px";break;case"14px":ree="text-14px px-8px py-4px gap-8px",oee="w-14px";break;case"16px":ree="text-16px px-12px py-8px gap-8px",oee="w-16px";break;case"18px":ree="text-18px px-12px py-8px gap-8px",oee="w-18px";break;case"20px":ree="text-20px px-16px py-12px gap-8px",oee="w-20px";break;case"24px":ree="text-24px px-16px py-12px gap-8px",oee="w-24px"}return{badge:`${ree} ${eee}`,icon:`${oee} ${tee.iconStyles}`}}));return(eee,tee)=>(qne(),Qne("span",{class:Yee(["inline-flex items-center rounded-full font-semibold leading-none transition-all duration-200 ease-in-out",[Sre(ree).badge]])},[eee.icon?(qne(),Wne($oe(eee.icon),{key:0,class:Yee(["flex-shrink-0",Sre(ree).icon])},null,8,["class"])):aae("",!0),Yoe(eee.$slots,"default"),eee.iconRight?(qne(),Wne($oe(eee.iconRight),{key:1,class:Yee(["flex-shrink-0",Sre(ree).icon])},null,8,["class"])):aae("",!0)],2))}}),aOe={class:"flex flex-row justify-start gap-x-4px"},iOe=["title","href"],sOe=xoe({__name:"HeaderOsVersion.ce",setup(eee){const{t:t}=_ce(),tee=pIe(),ree=zTe(),oee=PTe(),{osVersion:nee,rebootType:aee,stateDataError:iee}=Xce(tee),{available:see,availableWithRenewal:lee}=Xce(ree),{rebootTypeText:cee}=Xce(oee),pee=Sae((()=>iee.value?null:cee.value?{badge:{color:"yellow",icon:Vpe},href:"downgrade"===aee.value?gTe.toString():fTe.toString(),text:t(cee.value)}:lee.value||see.value?{badge:{color:"orange",icon:Fpe},click:()=>{ree.setModalOpen(!0)},text:lee.value?t("Update Released"):t("Update Available"),title:lee.value?t("Unraid OS {0} Released",[lee.value]):t("Unraid OS {0} Update Available",[see.value])}:null));return(eee,tee)=>{const ree=nOe;return qne(),Qne("div",aOe,[eae("a",{class:"group leading-none",title:Sre(t)("View release notes"),href:Sre(vTe)(Sre(nee)).toString(),target:"_blank",rel:"noopener"},[tae(ree,{color:"custom",icon:Sre(Qpe),"icon-styles":"text-header-text-secondary",size:"14px",class:"text-gamma group-hover:text-orange-dark group-focus:text-orange-dark group-hover:underline group-focus:underline"},{default:soe((()=>[oae(Hee(Sre(nee)),1)])),_:1},8,["icon"])],8,iOe),Sre(pee)?(qne(),Wne($oe(Sre(pee).href?"a":"button"),{key:0,href:Sre(pee).href??void 0,title:Sre(pee).title??void 0,class:"group",onClick:tee[0]||(tee[0]=eee=>Sre(pee).click?.())},{default:soe((()=>[Sre(pee).badge?(qne(),Wne(ree,{key:0,color:Sre(pee).badge.color,icon:Sre(pee).badge.icon,size:"12px"},{default:soe((()=>[oae(Hee(Sre(pee).text),1)])),_:1},8,["color","icon"])):(qne(),Qne(Mne,{key:1},[oae(Hee(Sre(pee).text),1)],64))])),_:1},8,["href","title"])):aae("",!0)])}}}),lOe=Nce(sOe,[["styles",['/*! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:clear-sans,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:470px){.container{max-width:470px}}@media (min-width:530px){.container{max-width:530px}}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--color-beta);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-bottom:1.2em;margin-top:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:#ff8c2f;font-weight:500;text-decoration:underline}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{color:#f15a2c}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-bottom:1.25em;margin-top:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-bottom:3em;margin-top:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){border-inline-start-color:var(--tw-prose-quote-borders);border-inline-start-width:.25rem;color:var(--tw-prose-quotes);font-style:italic;font-weight:500;margin-bottom:1.6em;margin-top:1.6em;padding-inline-start:1em;quotes:"“""”""‘""’"}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:2.25em;font-weight:800;line-height:1.1111111;margin-bottom:.8888889em;margin-top:0}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.5em;font-weight:700;line-height:1.3333333;margin-bottom:1em;margin-top:2em}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-size:1.25em;font-weight:600;line-height:1.6;margin-bottom:.6em;margin-top:1.6em}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;line-height:1.5;margin-bottom:.5em;margin-top:1.5em}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-bottom:2em;margin-top:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){border-radius:.3125rem;box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%),0 3px rgb(var(--tw-prose-kbd-shadows)/10%);color:var(--tw-prose-kbd);font-family:inherit;font-size:.875em;font-weight:500;padding-inline-end:.375em;padding-bottom:.1875em;padding-top:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:var(--tw-prose-pre-bg);border-radius:.375rem;color:var(--tw-prose-pre-code);font-size:.875em;font-weight:400;line-height:1.7142857;margin-bottom:1.7142857em;margin-top:1.7142857em;overflow-x:auto;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-top:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em;line-height:1.7142857;margin-bottom:2em;margin-top:2em;table-layout:auto;text-align:start;width:100%}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-th-borders);border-bottom-width:1px}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em;vertical-align:bottom}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-color:var(--tw-prose-td-borders);border-bottom-width:1px}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-color:var(--tw-prose-th-borders);border-top-width:1px}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body:var(--color-beta);--tw-prose-headings:var(--color-beta);--tw-prose-lead:var(--color-beta);--tw-prose-links:#ff8c2f;--tw-prose-bold:var(--color-beta);--tw-prose-counters:var(--color-beta);--tw-prose-bullets:var(--color-beta);--tw-prose-hr:var(--color-beta);--tw-prose-quotes:var(--color-beta);--tw-prose-quote-borders:var(--color-beta);--tw-prose-captions:var(--color-beta);--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:var(--color-beta);--tw-prose-pre-code:var(--color-beta);--tw-prose-pre-bg:var(--color-alpha);--tw-prose-th-borders:var(--color-beta);--tw-prose-td-borders:var(--color-beta);--tw-prose-invert-body:var(--color-alpha);--tw-prose-invert-headings:var(--color-alpha);--tw-prose-invert-lead:var(--color-alpha);--tw-prose-invert-links:#ff8c2f;--tw-prose-invert-bold:var(--color-alpha);--tw-prose-invert-counters:var(--color-alpha);--tw-prose-invert-bullets:var(--color-alpha);--tw-prose-invert-hr:var(--color-alpha);--tw-prose-invert-quotes:var(--color-alpha);--tw-prose-invert-quote-borders:var(--color-alpha);--tw-prose-invert-captions:var(--color-alpha);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:var(--color-alpha);--tw-prose-invert-pre-code:var(--color-alpha);--tw-prose-invert-pre-bg:var(--color-beta);--tw-prose-invert-th-borders:var(--color-alpha);--tw-prose-invert-td-borders:var(--color-alpha);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0;margin-top:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.5em;margin-top:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:.75em;margin-top:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em;margin-top:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-top:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:2em;margin-top:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose{--tw-prose-invert-code-bg:var(--color-gamma-opaque)}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-\\[2px\\]{bottom:-2px}.-left-\\[2px\\]{left:-2px}.-right-\\[2px\\]{right:-2px}.-top-1{top:-.25rem}.-top-\\[2px\\]{top:-2px}.bottom-0{bottom:0}.bottom-\\[-3px\\]{bottom:-3px}.right-0{right:0}.top-0{top:0}.top-\\[1px\\]{top:1px}.top-full{top:100%}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\\[99999\\]{z-index:99999}.mx-8px{margin-left:8px;margin-right:8px}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.my-12{margin-bottom:3rem;margin-top:3rem}.my-16px{margin-bottom:16px;margin-top:16px}.my-24px{margin-bottom:24px;margin-top:24px}.my-8px{margin-bottom:8px;margin-top:8px}.mb-4px{margin-bottom:4px}.mb-8px{margin-bottom:8px}.ml-3{margin-left:.75rem}.ml-8px{margin-left:8px}.mr-8px{margin-right:8px}.mt-0{margin-top:0}.mt-12px{margin-top:12px}.mt-2{margin-top:.5rem}.mt-24px{margin-top:24px}.mt-4px{margin-top:4px}.mt-8px{margin-top:8px}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-12px{height:12px}.h-16px{height:16px}.h-20px{height:20px}.h-24px{height:24px}.h-2px{height:2px}.h-32px{height:32px}.h-36px{height:36px}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-full{height:100%}.max-h-\\[65vh\\]{max-height:65vh}.min-h-\\[250px\\]{min-height:250px}.min-h-screen{min-height:100vh}.w-1\\/2{width:50%}.w-11{width:2.75rem}.w-12px{width:12px}.w-14px{width:14px}.w-16px{width:16px}.w-20px{width:20px}.w-24px{width:24px}.w-28px{width:28px}.w-2px{width:2px}.w-32px{width:32px}.w-36px{width:36px}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\\[100px\\]{width:100px}.w-\\[110px\\]{width:110px}.w-\\[120px\\]{width:120px}.w-\\[125\\%\\]{width:125%}.w-\\[150px\\]{width:150px}.w-\\[44px\\]{width:44px}.w-\\[48px\\]{width:48px}.w-full{width:100%}.w-screen{width:100vw}.min-w-300px{min-width:300px}.min-w-\\[280px\\]{min-width:280px}.max-w-1024px{max-width:1024px}.max-w-160px{max-width:160px}.max-w-350px{max-width:350px}.max-w-3xl{max-width:48rem}.max-w-640px{max-width:640px}.max-w-800px{max-width:800px}.max-w-\\[45ch\\]{max-width:45ch}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.grow-0{flex-grow:0}.translate-x-0{--tw-translate-x:0px}.translate-x-0,.translate-x-20px{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-20px{--tw-translate-x:20px}.translate-x-\\[26px\\]{--tw-translate-x:26px}.translate-x-\\[26px\\],.translate-x-\\[2px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\\[2px\\]{--tw-translate-x:2px}.translate-y-\\[16px\\]{--tw-translate-y:16px}.scale-100,.translate-y-\\[16px\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-12px{gap:12px}.gap-16px{gap:16px}.gap-2{gap:.5rem}.gap-20px{gap:20px}.gap-4{gap:1rem}.gap-4px{gap:4px}.gap-6{gap:1.5rem}.gap-8px{gap:8px}.gap-x-16px{-moz-column-gap:16px;column-gap:16px}.gap-x-4px{-moz-column-gap:4px;column-gap:4px}.gap-x-8px{-moz-column-gap:8px;column-gap:8px}.gap-y-16px{row-gap:16px}.gap-y-24px{row-gap:24px}.gap-y-4px{row-gap:4px}.gap-y-8px{row-gap:8px}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.whitespace-normal{white-space:normal}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b-2{border-bottom-width:2px}.border-l-0{border-left-width:0}.border-r-0{border-right-width:0}.border-t-0{border-top-width:0}.border-solid{border-style:solid}.border-none{border-style:none}.border-black{--tw-border-opacity:1;border-color:rgb(28 27 27/var(--tw-border-opacity))}.border-gamma-opaque{border-color:var(--color-gamma-opaque)}.border-green-600\\/10{border-color:#16a34a1a}.border-grey-mid{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.border-orange{--tw-border-opacity:1;border-color:rgb(255 140 47/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-unraid-red{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.border-unraid-red\\/10{border-color:#e228281a}.border-unraid-red\\/90{border-color:#e22828e6}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-white\\/10{border-color:#ffffff1a}.border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity))}.bg-alpha{background-color:var(--color-alpha)}.bg-beta{background-color:var(--color-beta)}.bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-current{background-color:currentColor}.bg-gamma{background-color:var(--color-gamma)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-grey{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-orange{--tw-bg-opacity:1;background-color:rgb(255 140 47/var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-unraid-red{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.bg-unraid-red\\/90{background-color:#e22828e6}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity:.8}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-unraid-red{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-orange{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.to-orange\\/60{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-green-600{fill:#16a34a}.fill-unraid-red{fill:#e22828}.p-0{padding:0}.p-1{padding:.25rem}.p-12px{padding:12px}.p-16px{padding:16px}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8px{padding:8px}.px-12px{padding-left:12px;padding-right:12px}.px-16px{padding-left:16px;padding-right:16px}.px-4{padding-left:1rem;padding-right:1rem}.px-4px{padding-left:4px;padding-right:4px}.px-6px{padding-left:6px;padding-right:6px}.px-8px{padding-left:8px;padding-right:8px}.py-0{padding-bottom:0;padding-top:0}.py-12px{padding-bottom:12px;padding-top:12px}.py-24px{padding-bottom:24px;padding-top:24px}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-4px{padding-bottom:4px;padding-top:4px}.py-8px{padding-bottom:8px;padding-top:8px}.pb-12{padding-bottom:3rem}.pb-8px{padding-bottom:8px}.pl-40px{padding-left:40px}.pr-16px{padding-right:16px}.pr-40px{padding-right:40px}.pr-4px{padding-right:4px}.pt-4px{padding-top:4px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-10px{font-size:10px}.text-12px{font-size:12px}.text-14px{font-size:14px}.text-16px{font-size:16px}.text-18px{font-size:18px}.text-20px{font-size:20px}.text-24px{font-size:24px}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.text-\\[\\#486dba\\]{--tw-text-opacity:1;color:rgb(72 109 186/var(--tw-text-opacity))}.text-alpha{color:var(--color-alpha)}.text-beta{color:var(--color-beta)}.text-black{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-current{color:currentColor}.text-gamma{color:var(--color-gamma)}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-grey-mid{--tw-text-opacity:1;color:rgb(153 153 153/var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}.text-orange{--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-unraid-red{--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-inner{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,.05);--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[var\\(--ring-offset-shadow\\)_var\\(--ring-shadow\\)_var\\(--shadow-beta\\)\\]{--tw-shadow-color:var(--ring-offset-shadow) var(--ring-shadow) var(--shadow-beta);--tw-shadow:var(--tw-shadow-colored)}.shadow-green-600\\/30{--tw-shadow-color:rgba(22,163,74,.3);--tw-shadow:var(--tw-shadow-colored)}.shadow-orange\\/10{--tw-shadow-color:rgba(255,140,47,.1);--tw-shadow:var(--tw-shadow-colored)}.shadow-unraid-red\\/30{--tw-shadow-color:rgba(226,40,40,.3);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-black{outline-color:#1c1b1b}.outline-white{outline-color:#fff}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.even\\:bg-black\\/5:nth-child(2n){background-color:#1c1b1b0d}.even\\:bg-grey-darkest:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity))}@keyframes pulse{50%{opacity:.5}}.hover\\:animate-pulse:hover{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.hover\\:border-beta:hover{border-color:var(--color-beta)}.hover\\:border-grey:hover{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.hover\\:border-grey-mid:hover{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.hover\\:border-orange-dark:hover{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.hover\\:border-unraid-red:hover{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.hover\\:bg-beta:hover{background-color:var(--color-beta)}.hover\\:bg-grey:hover{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.hover\\:bg-grey-mid:hover{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.hover\\:bg-unraid-red:hover{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.hover\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.hover\\:bg-gradient-to-r:hover{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.hover\\:from-unraid-red:hover{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:from-unraid-red\\/60:hover{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\\:to-orange:hover{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.hover\\:to-orange\\/60:hover{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.hover\\:text-\\[\\#3b5ea9\\]:hover{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.hover\\:text-alpha:hover{color:var(--color-alpha)}.hover\\:text-black:hover{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:no-underline:hover{text-decoration-line:none}.hover\\:opacity-100:hover{opacity:1}.hover\\:opacity-75:hover{opacity:.75}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\\:shadow-orange\\/50:hover{--tw-shadow-color:rgba(255,140,47,.5);--tw-shadow:var(--tw-shadow-colored)}.focus\\:border-beta:focus{border-color:var(--color-beta)}.focus\\:border-grey:focus{--tw-border-opacity:1;border-color:rgb(224 224 224/var(--tw-border-opacity))}.focus\\:border-grey-mid:focus{--tw-border-opacity:1;border-color:rgb(153 153 153/var(--tw-border-opacity))}.focus\\:border-orange-dark:focus{--tw-border-opacity:1;border-color:rgb(241 90 44/var(--tw-border-opacity))}.focus\\:border-unraid-red:focus{--tw-border-opacity:1;border-color:rgb(226 40 40/var(--tw-border-opacity))}.focus\\:bg-beta:focus{background-color:var(--color-beta)}.focus\\:bg-grey:focus{--tw-bg-opacity:1;background-color:rgb(224 224 224/var(--tw-bg-opacity))}.focus\\:bg-grey-mid:focus{--tw-bg-opacity:1;background-color:rgb(153 153 153/var(--tw-bg-opacity))}.focus\\:bg-unraid-red:focus{--tw-bg-opacity:1;background-color:rgb(226 40 40/var(--tw-bg-opacity))}.focus\\:bg-white:focus{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.focus\\:bg-gradient-to-r:focus{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.focus\\:from-unraid-red:focus{--tw-gradient-from:#e22828 var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:from-unraid-red\\/60:focus{--tw-gradient-from:rgba(226,40,40,.6) var(--tw-gradient-from-position);--tw-gradient-to:rgba(226,40,40,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.focus\\:to-orange:focus{--tw-gradient-to:#ff8c2f var(--tw-gradient-to-position)}.focus\\:to-orange\\/60:focus{--tw-gradient-to:rgba(255,140,47,.6) var(--tw-gradient-to-position)}.focus\\:text-\\[\\#3b5ea9\\]:focus{--tw-text-opacity:1;color:rgb(59 94 169/var(--tw-text-opacity))}.focus\\:text-alpha:focus{color:var(--color-alpha)}.focus\\:text-black:focus{--tw-text-opacity:1;color:rgb(28 27 27/var(--tw-text-opacity))}.focus\\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\\:underline:focus{text-decoration-line:underline}.focus\\:no-underline:focus{text-decoration-line:none}.focus\\:opacity-100:focus{opacity:1}.focus\\:opacity-75:focus{opacity:.75}.focus\\:shadow-md:focus{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.focus\\:ring-indigo-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-25:disabled{opacity:.25}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:hover\\:opacity-25:hover:disabled{opacity:.25}.disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.disabled\\:focus\\:opacity-25:focus:disabled{opacity:.25}.disabled\\:focus\\:opacity-50:focus:disabled{opacity:.5}.group:hover .group-hover\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:hover .group-hover\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:hover .group-hover\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:hover .group-hover\\:underline{text-decoration-line:underline}.group:hover .group-hover\\:opacity-100{opacity:1}.group:hover .group-hover\\:opacity-60{opacity:.6}.group:hover .group-hover\\:opacity-75{opacity:.75}.group:focus .group-focus\\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-orange-dark{--tw-bg-opacity:1;background-color:rgb(241 90 44/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.group:focus .group-focus\\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.group:focus .group-focus\\:text-orange-dark{--tw-text-opacity:1;color:rgb(241 90 44/var(--tw-text-opacity))}.group:focus .group-focus\\:underline{text-decoration-line:underline}.group:focus .group-focus\\:opacity-100{opacity:1}.group:focus .group-focus\\:opacity-60{opacity:.6}.group:focus .group-focus\\:opacity-75{opacity:.75}.prose-a\\:text-unraid-red :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(226 40 40/var(--tw-text-opacity))}.hover\\:prose-a\\:text-unraid-red\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#e2282899}.hover\\:prose-a\\:no-underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{text-decoration-line:none}@media (min-width:640px){.sm\\:col-span-2{grid-column:span 2/span 2}.sm\\:col-span-3{grid-column:span 3/span 3}.sm\\:col-start-2{grid-column-start:2}.sm\\:block{display:block}.sm\\:w-\\[150px\\]{width:150px}.sm\\:w-full{width:100%}.sm\\:min-w-\\[400px\\]{min-width:400px}.sm\\:max-w-300px{max-width:300px}.sm\\:max-w-lg{max-width:32rem}.sm\\:flex-shrink-0{flex-shrink:0}.sm\\:flex-grow-0{flex-grow:0}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\\:flex-row{flex-direction:row}.sm\\:items-start{align-items:flex-start}.sm\\:items-center{align-items:center}.sm\\:justify-end{justify-content:flex-end}.sm\\:justify-between{justify-content:space-between}.sm\\:gap-16px{gap:16px}.sm\\:gap-24px{gap:24px}.sm\\:gap-y-24px{row-gap:24px}.sm\\:p-16px{padding:16px}.sm\\:px-20px{padding-left:20px;padding-right:20px}.sm\\:pr-40px{padding-right:40px}.sm\\:text-right{text-align:right}.sm\\:text-18px{font-size:18px}.sm\\:text-20px{font-size:20px}.sm\\:text-24px{font-size:24px}}@media (min-width:768px){.md\\:inline-block{display:inline-block}.md\\:min-w-\\[500px\\]{min-width:500px}.md\\:flex-row{flex-direction:row}.md\\:items-start{align-items:flex-start}.md\\:items-end{align-items:flex-end}.md\\:justify-between{justify-content:space-between}.md\\:gap-16px{gap:16px}.md\\:p-24px{padding:24px}.md\\:p-6{padding:1.5rem}.md\\:py-24px{padding-bottom:24px;padding-top:24px}.md\\:text-24px{font-size:24px}}@media (min-width:470px){.\\32xs\\:block{display:block}}@media (min-width:530px){.xs\\:block{display:block}.xs\\:flex-row{flex-direction:row}.xs\\:items-baseline{align-items:baseline}.xs\\:justify-start{justify-content:flex-start}.xs\\:gap-x-12px{-moz-column-gap:12px;column-gap:12px}.xs\\:text-12px{font-size:12px}}@media (min-height:700px){.tall\\:max-h-\\[75vh\\]{max-height:75vh}}@media (prefers-color-scheme:dark){.dark\\:border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.dark\\:bg-black{--tw-bg-opacity:1;background-color:rgb(28 27 27/var(--tw-bg-opacity))}.dark\\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\\:prose-a\\:text-orange :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){--tw-text-opacity:1;color:rgb(255 140 47/var(--tw-text-opacity))}.hover\\:dark\\:prose-a\\:text-orange\\/60 :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{color:#ff8c2f99}}']]]),cOe=window.setInterval;var e,pOe={exports:{}};pOe.exports=(e={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},function(t,o,n){var r=o.prototype,i=r.format;n.en.formats=e,r.format=function(t){void 0===t&&(t="YYYY-MM-DDTHH:mm:ssZ");var o=this.$locale().formats,n=function(t,o){return t.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var i=r&&r.toUpperCase();return n||o[r]||e[r]||o[i].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,o){return t||o.slice(1)}))}))}(t,void 0===o?{}:o);return i.call(this,n)}});const dOe=Jce(pOe.exports);rpe.extend(dOe);const uOe=[{format:"%c",display:"ddd, D MMMM YYYY"},{format:"%A, %Y %B %e",display:"ddd, YYYY MMMM D"},{format:"%A, %e %B %Y",display:"ddd, D MMMM YYYY"},{format:"%A, %B %e, %Y",display:"ddd, MMMM D, YYYY"},{format:"%A, %m/%d/%Y",display:"ddd, MM/DD/YYYY"},{format:"%A, %d-%m-%Y",display:"ddd, DD-MM-YYYY"},{format:"%A, %d.%m.%Y",display:"ddd, DD.MM.YYYY"},{format:"%A, %Y-%m-%d",display:"ddd, YYYY-MM-DD"}],hOe=[{format:"%I:%M %p",display:"hh:mma"},{format:"%R",display:"HH:mm"}],gOe=(eee,t,tee,ree,oee)=>{const nee=(eee,tee)=>tee.find((tee=>tee.format===eee)),aee=nee(eee?.date??uOe[0].format,uOe);let iee=`${aee?.display}`;if(!tee){const tee=nee(eee?.time??hOe[0].format,hOe);iee=`${iee} ${tee?.display}`}const see=eee=>ope(eee).format(iee),lee=(eee,tee,ree,oee,nee,aee,iee)=>({years:eee,months:tee,days:ree,hours:oee,minutes:nee,seconds:aee,firstDateWasLater:iee}),cee=(a="",b="")=>{try{const x=a?ope(parseInt(a,10)):ope();return((d1,d2)=>{let eee,m1=ope(d1),m2=ope(d2);if(m1.isSame(m2))return lee(0,0,0,0,0,0,!1);if(m1.isAfter(m2)){const tee=m1;m1=m2,m2=tee,eee=!0}else eee=!1;let tee=m2.year()-m1.year(),ree=m2.month()-m1.month(),oee=m2.date()-m1.date(),nee=m2.hour()-m1.hour(),aee=m2.minute()-m1.minute(),iee=m2.second()-m1.second();if(iee<0&&(iee=60+iee,aee-=1),aee<0&&(aee=60+aee,nee-=1),nee<0&&(nee=24+nee,oee-=1),oee<0){const eee=ope(`${m2.year()}-${m2.month()+1}`).subtract(1,"M").daysInMonth();oee=eeesee(ree??Date.now()))),uee=()=>{var eee;pee.value=(eee=>{const{years:tee,months:ree,days:oee,hours:nee,minutes:aee,seconds:iee,firstDateWasLater:see,displaySeconds:lee}=eee,cee=[];return tee&&cee.push(t("year",tee)),ree&&cee.push(t("month",ree)),oee&&cee.push(t("day",oee)),nee&&cee.push(t("hour",nee)),aee&&cee.push(t("minute",aee)),!iee||(tee||ree||oee||nee||aee)&&!lee||cee.push(t("second",iee)),see&&cee.push(t("ago")),cee.join(" ")})((eee=(ree??Date.now()).toString(),oee??!1?cee(eee,""):cee("",eee)))};let hee;return Aoe((()=>{ree&&(uee(),hee=cOe((()=>{uee()}),1e3))})),Loe((()=>{hee&&clearInterval(hee)})),{formatDate:see,outputDateTimeReadableDiff:pee,outputDateTimeFormatted:dee}},wOe=["title"],fOe=xoe({__name:"UptimeExpire",props:{forExpire:{type:Boolean,default:!1},shortText:{type:Boolean,default:!1},t:{}},setup(eee){const tee=eee,ree=pIe(),{dateTimeFormat:oee,uptime:nee,expireTime:aee,state:iee}=Xce(ree),see=Sae((()=>tee.forExpire&&aee.value||("TRIAL"===iee.value||"EEXPIRED"===iee.value)&&aee.value&&aee.value>0?aee.value:nee.value)),lee=Sae((()=>(!tee.forExpire||!aee.value)&&("TRIAL"!==iee.value&&"ENOCONN"!==iee.value))),{outputDateTimeReadableDiff:cee,outputDateTimeFormatted:pee}=gOe(oee.value,tee.t,!1,see.value,lee.value),dee=Sae((()=>lee.value&&"EEXPIRED"!==iee.value?{title:tee.t("Server Up Since {0}",[pee.value]),text:tee.t("Uptime {0}",[cee.value])}:{title:"EEXPIRED"===iee.value?tee.t(tee.shortText?"Expired at {0}":"Trial Key Expired at {0}",[pee.value]):tee.t(tee.shortText?"Expires at {0}":"Trial Key Expires at {0}",[pee.value]),text:"EEXPIRED"===iee.value?tee.t(tee.shortText?"Expired {0}":"Trial Key Expired {0}",[cee.value]):tee.t(tee.shortText?"Expires in {0}":"Trial Key Expires in {0}",[cee.value])}));return(eee,tee)=>(qne(),Qne("p",{title:Sre(dee).title},Hee(Sre(dee).text),9,wOe))}}),bOe=xoe({__name:"UpdateExpiration",props:{componentIs:{default:"p"},t:{}},setup(eee){const tee=eee,ree=pIe(),{dateTimeFormat:oee,regExp:nee,regUpdatesExpired:aee}=Xce(ree),{outputDateTimeReadableDiff:iee,outputDateTimeFormatted:see}=gOe(oee.value,tee.t,!0,nee.value),lee=Sae((()=>{if(nee.value)return{text:aee.value?tee.t("Ineligible for feature updates released after {0}",[see.value]):tee.t("Eligible for free feature updates until {0}",[see.value]),title:aee.value?tee.t("Ineligible as of {0}",[iee.value]):tee.t("Eligible for free feature updates for {0}",[iee.value])}}));return(eee,tee)=>Sre(lee)?(qne(),Wne($oe(eee.componentIs),{key:0,title:Sre(lee).title},{default:soe((()=>[Yoe(eee.$slots,"default"),oae(" "+Hee(Sre(lee).text),1)])),_:3},8,["title"])):aae("",!0)}}),mOe={class:"mx-auto max-w-[45ch] flex flex-col gap-8px"},vOe={class:"flex items-start justify-center gap-x-8px"},yOe={class:"text-18px"},xOe=xoe({__name:"CallbackFeedbackStatus",props:{error:{type:Boolean,default:!1},icon:{default:void 0},success:{type:Boolean,default:!1},text:{default:void 0}},setup:eee=>(eee,tee)=>(qne(),Qne("div",mOe,[eae("div",vOe,[eee.success?(qne(),Wne(Sre(zpe),{key:0,class:"fill-green-600 w-28px shrink-0"})):aae("",!0),eee.error?(qne(),Wne(Sre(nde),{key:1,class:"fill-unraid-red w-28px shrink-0"})):aae("",!0),eee.icon?(qne(),Wne($oe(eee.icon),{key:2,class:"fill-current opacity-75 w-28px shrink-0"})):aae("",!0),eae("p",yOe,Hee(eee.text),1)]),Yoe(eee.$slots,"default")]))});function kOe(){let a=[],s={addEventListener:(e,t,r,i)=>(e.addEventListener(t,r,i),s.add((()=>e.removeEventListener(t,r,i)))),requestAnimationFrame(...e){let t=requestAnimationFrame(...e);s.add((()=>cancelAnimationFrame(t)))},nextFrame(...e){s.requestAnimationFrame((()=>{s.requestAnimationFrame(...e)}))},setTimeout(...e){let t=setTimeout(...e);s.add((()=>clearTimeout(t)))},microTask(...e){let t={current:!0};return function(e){"function"==typeof queueMicrotask?queueMicrotask(e):Promise.resolve().then(e).catch((o=>setTimeout((()=>{throw o}))))}((()=>{t.current&&e[0]()})),s.add((()=>{t.current=!1}))},style(e,t,r){let i=e.style.getPropertyValue(t);return Object.assign(e.style,{[t]:r}),this.add((()=>{Object.assign(e.style,{[t]:i})}))},group(e){let t=kOe();return e(t),this.add((()=>t.dispose()))},add:e=>(a.push(e),()=>{let t=a.indexOf(e);if(t>=0)for(let r of a.splice(t,1))r()}),dispose(){for(let e of a.splice(0))e()}};return s}let _Oe=Symbol("headlessui.useid"),EOe=0;function I(){return wne(_Oe,(()=>""+ ++EOe))()}function TOe(e){var l;if(null==e||null==e.value)return null;let n=null!=(l=e.value.$el)?l:e.value;return n instanceof Node?n:null}function SOe(r,n,...a){if(r in n){let e=n[r];return"function"==typeof e?e(...a):e}let t=new Error(`Tried to handle "${r}" but there is no handler defined. Only defined handlers are: ${Object.keys(n).map((e=>`"${e}"`)).join(", ")}.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,SOe),t}var IOe=Object.defineProperty,OOe=(t,e,r)=>(((t,e,r)=>{e in t?IOe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r})(t,"symbol"!=typeof e?e+"":e,r),r);let c=new class{constructor(){OOe(this,"current",this.detect()),OOe(this,"currentId",0)}set(e){this.current!==e&&(this.currentId=0,this.current=e)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return"server"===this.current}get isClient(){return"client"===this.current}detect(){return"undefined"==typeof window||"undefined"==typeof document?"server":"client"}};function r(t,e){if(t)return t;let n=null!=e?e:"button";return"string"==typeof n&&"button"===n.toLowerCase()?"button":void 0}function NOe(t,e){let n=kre(r(t.value.type,t.value.as));return Roe((()=>{n.value=r(t.value.type,t.value.as)})),uoe((()=>{var u;n.value||TOe(e)&&TOe(e)instanceof HTMLButtonElement&&(null==(u=TOe(e))||!u.hasAttribute("type"))&&(n.value="button")})),n}var AOe=(o=>(o[o.None=0]="None",o[o.RenderStrategy=1]="RenderStrategy",o[o.Static=2]="Static",o))(AOe||{}),S=(e=>(e[e.Unmount=0]="Unmount",e[e.Hidden=1]="Hidden",e))(S||{});function A({visible:r=!0,features:t=0,ourProps:e,theirProps:o,...i}){var a;let n=j(o,e),l=Object.assign(i,{props:n});if(r||2&t&&n.static)return y(l);if(1&t){return SOe(null==(a=n.unmount)||a?0:1,{0:()=>null,1:()=>y({...i,props:{...n,hidden:!0,style:{display:"none"}}})})}return y(l)}function y({props:r,attrs:t,slots:e,slot:o,name:i}){var m,eee;let{as:n,...l}=T(r,["unmount","static"]),a=null==(m=e.default)?void 0:m.call(e,o),d={};if(o){let u=!1,c=[];for(let[p,f]of Object.entries(o))"boolean"==typeof f&&(u=!0),!0===f&&c.push(p);u&&(d["data-headlessui-state"]=c.join(" "))}if("template"===n){if(a=b(null!=a?a:[]),Object.keys(l).length>0||Object.keys(t).length>0){let[u,...c]=null!=a?a:[];if(!function(r){return null!=r&&("string"==typeof r.type||"object"==typeof r.type||"function"==typeof r.type)}(u)||c.length>0)throw new Error(['Passing props on "template"!',"",`The current component <${i} /> is rendering a "template".`,"However we need to passthrough the following props:",Object.keys(l).concat(Object.keys(t)).map((s=>s.trim())).filter(((s,g,R)=>R.indexOf(s)===g)).sort(((s,g)=>s.localeCompare(g))).map((s=>` - ${s}`)).join("\n"),"","You can apply a few solutions:",['Add an `as="..."` prop, to ensure that we render an actual element instead of a "template".',"Render a single element as the child so that we can forward the props onto that element."].map((s=>` - ${s}`)).join("\n")].join("\n"));let p=j(null!=(eee=u.props)?eee:{},l,d),f=rae(u,p,!0);for(let s in p)s.startsWith("on")&&(f.props||(f.props={}),f.props[s]=p[s]);return f}return Array.isArray(a)&&1===a.length?a[0]:a}return h(n,Object.assign({},l,d),{default:()=>a})}function b(r){return r.flatMap((t=>t.type===Mne?b(t.children):[t]))}function j(...r){if(0===r.length)return{};if(1===r.length)return r[0];let t={},e={};for(let i of r)for(let n in i)n.startsWith("on")&&"function"==typeof i[n]?(null!=e[n]||(e[n]=[]),e[n].push(i[n])):t[n]=i[n];if(t.disabled||t["aria-disabled"])return Object.assign(t,Object.fromEntries(Object.keys(e).map((i=>[i,void 0]))));for(let i in e)Object.assign(t,{[i](n,...l){let a=e[i];for(let d of a){if(n instanceof Event&&n.defaultPrevented)return;d(n,...l)}}});return t}function ROe(r){let t=Object.assign({},r);for(let e in t)void 0===t[e]&&delete t[e];return t}function T(r,t=[]){let e=Object.assign({},r);for(let o of t)o in e&&delete e[o];return e}var DOe=(e=>(e[e.None=1]="None",e[e.Focusable=2]="Focusable",e[e.Hidden=4]="Hidden",e))(DOe||{});let f=xoe({name:"Hidden",props:{as:{type:[Object,String],default:"div"},features:{type:Number,default:1}},setup:(t,{slots:n,attrs:i})=>()=>{var r;let{features:e,...d}=t;return A({ourProps:{"aria-hidden":!(2&~e)||(null!=(r=d["aria-hidden"])?r:void 0),hidden:!(4&~e)||void 0,style:{position:"fixed",top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",...!(4&~e)&&!!(2&~e)&&{display:"none"}}},theirProps:d,slot:{},attrs:i,slots:n,name:"Hidden"})}}),n=Symbol("Context");var i=(e=>(e[e.Open=1]="Open",e[e.Closed=2]="Closed",e[e.Closing=4]="Closing",e[e.Opening=8]="Opening",e))(i||{});function COe(){return wne(n,null)}function t(o){gne(n,o)}var o=(r=>(r.Space=" ",r.Enter="Enter",r.Escape="Escape",r.Backspace="Backspace",r.Delete="Delete",r.ArrowLeft="ArrowLeft",r.ArrowUp="ArrowUp",r.ArrowRight="ArrowRight",r.ArrowDown="ArrowDown",r.Home="Home",r.End="End",r.PageUp="PageUp",r.PageDown="PageDown",r.Tab="Tab",r))(o||{});let u=Symbol("DescriptionContext");let a=Symbol("LabelContext");function LOe(){let t=wne(a,null);if(null===t){let n=new Error("You used a

    -
    +
    _(Secondary storage)_: : @@ -541,20 +544,19 @@ _(Mover action)_:   : -
    -_(Delete)_ +
    + :
    -
    -  -: -
    + _(Enable NFS)_: : +: :nfs_tunable_fuse_remember_help:   : -
    \ No newline at end of file + + +
    + + + + + +_(Max Server Protocol Version)_: +: + +:nfs_server_max_protocol_help: + +_(Number of Threads)_: +: + +:nfs_threads_help: + +  +: +
    + + diff --git a/emhttp/plugins/dynamix/scripts/nfsSettings b/emhttp/plugins/dynamix/scripts/nfsSettings new file mode 100644 index 000000000..8bfd6dc1b --- /dev/null +++ b/emhttp/plugins/dynamix/scripts/nfsSettings @@ -0,0 +1,43 @@ +#!/bin/bash +# Usage: +# apply|nfs_version|nfs_count +# + +apply() { + echo "RPC_NFSD_VERS=\"$RPC_NFSD_VERS\"" > $CONFIG_RAM + echo "RPC_NFSD_COUNT=\"$RPC_NFSD_COUNT\"" >> $CONFIG_RAM + if /etc/rc.d/rc.nfsd status >/dev/null ; then + /etc/rc.d/rc.nfsd restart + fi +} + +nfs_version() { + echo $RPC_NFSD_VERS +} + +nfs_count() { + echo $RPC_NFSD_COUNT +} + +# Path to the configuration files +CONFIG_ROM="/etc/default/nfs" +CONFIG_RAM="/boot/config/default/nfs" + +# Get current settings +source "$CONFIG_RAM" + +case "$1" in + 'apply') + RPC_NFSD_VERS="$2" + RPC_NFSD_COUNT="$3" + apply + ;; + 'nfs_version') + nfs_version + ;; + 'nfs_count') + nfs_count + ;; + *) + echo "usage $0 apply|nfs_version|nfs_count" +esac From 8760a00ff28a8932a6c442850646a819d7d3688b Mon Sep 17 00:00:00 2001 From: dlandon Date: Wed, 8 Jan 2025 18:45:17 -0600 Subject: [PATCH 420/794] Make script executable --- emhttp/plugins/dynamix/scripts/nfsSettings | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 emhttp/plugins/dynamix/scripts/nfsSettings diff --git a/emhttp/plugins/dynamix/scripts/nfsSettings b/emhttp/plugins/dynamix/scripts/nfsSettings old mode 100644 new mode 100755 From f8e1d85681fc750084b07d99f3d5bd56dd93c4cf Mon Sep 17 00:00:00 2001 From: Tom Mortensen Date: Wed, 8 Jan 2025 21:03:53 -0800 Subject: [PATCH 421/794] nfsSettings script fix --- emhttp/plugins/dynamix/scripts/nfsSettings | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/emhttp/plugins/dynamix/scripts/nfsSettings b/emhttp/plugins/dynamix/scripts/nfsSettings index 8909b9bb4..a642d02e6 100755 --- a/emhttp/plugins/dynamix/scripts/nfsSettings +++ b/emhttp/plugins/dynamix/scripts/nfsSettings @@ -17,13 +17,14 @@ nfs_version() { nfs_count() { echo $RPC_NFSD_COUNT +} # Path to the configuration files CONFIG_ROM="/etc/default/nfs" CONFIG_RAM="/boot/config/default/nfs" # Get current settings -source "$CONFIG_RAM" +source "$CONFIG_ROM" case "$1" in 'apply') @@ -38,5 +39,7 @@ case "$1" in nfs_count ;; *) - echo "usage $0 apply|nfs_version|nfs_count" + echo "usage $0 apply|nfs_version|nfs_count" + exit 1 + ;; esac From 1bdec7e34234ccd3d6582c359666dafb56b8b7e2 Mon Sep 17 00:00:00 2001 From: Logan Long Date: Sat, 11 Jan 2025 01:02:38 -0600 Subject: [PATCH 422/794] Update tailscale_container_hook Add `ca-certificates` to prevent `wget` from failing when checking Tailscale version --- share/docker/tailscale_container_hook | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/docker/tailscale_container_hook b/share/docker/tailscale_container_hook index d0e3054c9..eed7cd8c2 100755 --- a/share/docker/tailscale_container_hook +++ b/share/docker/tailscale_container_hook @@ -78,7 +78,7 @@ if [ ! -f /usr/bin/tailscale ] || [ ! -f /usr/bin/tailscaled ]; then if [ ! -z "${PACKAGES_UPDATE}" ]; then UPDATE_LOG=$(${PACKAGES_UPDATE} 2>&1) fi - INSTALL_LOG=$(${PACKAGES_INSTALL} jq wget ${INSTALL_IPTABLES}${PACKAGES_TROUBLESHOOTING} 2>&1) + INSTALL_LOG=$(${PACKAGES_INSTALL} jq wget ca-certificates ${INSTALL_IPTABLES}${PACKAGES_TROUBLESHOOTING} 2>&1) INSTALL_RESULT=$? if [ "${INSTALL_RESULT}" -eq 0 ]; then From b9a14c3123ba6fe8e3b5c9b3a964d47749b59178 Mon Sep 17 00:00:00 2001 From: SimonFair <39065407+SimonFair@users.noreply.github.com> Date: Sat, 11 Jan 2025 11:01:30 +0000 Subject: [PATCH 423/794] Fix discard field. --- emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php b/emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php index ddb9feb09..ebe8f1919 100644 --- a/emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php +++ b/emhttp/plugins/dynamix.vm.manager/templates/Custom.form.php @@ -866,7 +866,7 @@ _(Boot Order)_: _(Discard)_: - @@ -1029,7 +1029,7 @@ _(Boot Order)_: _(Discard)_: - From 0ac4a6ae0d0c951bad3b7ed7380d360c1f56a968 Mon Sep 17 00:00:00 2001 From: dlandon Date: Mon, 13 Jan 2025 12:56:42 -0600 Subject: [PATCH 424/794] Allow remotes to be included in the file picker. --- emhttp/plugins/dynamix/include/FileTree.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix/include/FileTree.php b/emhttp/plugins/dynamix/include/FileTree.php index c5c8b5c8d..33e9dab7b 100644 --- a/emhttp/plugins/dynamix/include/FileTree.php +++ b/emhttp/plugins/dynamix/include/FileTree.php @@ -50,7 +50,7 @@ $match = $_POST['match']; $checkbox = $_POST['multiSelect']=='true' ? "" : ""; /* Excluded folders to not show in the dropdown in the '/mnt/' directory only. */ -$excludedFolders = ["RecycleBin", "addons", "remotes", "rootshare", "user0"]; +$excludedFolders = ["RecycleBin", "addons", "rootshare", "user0"]; echo "
      "; if ($_POST['show_parent']=='true' && is_top($rootdir)) echo ""; From 2e9495076ed0a1d35c0e5ecbefe4c8b5d2558237 Mon Sep 17 00:00:00 2001 From: dlandon Date: Mon, 13 Jan 2025 12:57:29 -0600 Subject: [PATCH 425/794] Tool tip showed '%20' instead of a blank in a share with a space. --- emhttp/plugins/dynamix/include/ShareList.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix/include/ShareList.php b/emhttp/plugins/dynamix/include/ShareList.php index 20b64fb85..c0c5443a7 100644 --- a/emhttp/plugins/dynamix/include/ShareList.php +++ b/emhttp/plugins/dynamix/include/ShareList.php @@ -261,7 +261,7 @@ foreach ($shares as $name => $share) { } } - echo ""; + echo ""; echo "$help$luks$name"; echo "{$share['comment']}"; From 3c6f8262eea9efd7da6667993724957bfc78b249 Mon Sep 17 00:00:00 2001 From: bergware Date: Mon, 13 Jan 2025 22:19:45 +0100 Subject: [PATCH 426/794] Network enhancements - Create separate entry for DNS server settings, which can be changed at all times (user is not required to stop the array) - Added "info" button which shows a popup window with interface related assignments (error is shown if something is missing) - Added "show" button to show or hide VLAN settings - Make network settings a tabbed view - Fixed a bug when sometimes DNS settings are not properly set - Fixed a minor bug in routing table content - Some other code optimizations --- emhttp/plugins/dynamix/Eth0.page | 558 +++++++++--------- emhttp/plugins/dynamix/EthX.page | 175 +++--- emhttp/plugins/dynamix/NetworkExtra.page | 32 +- emhttp/plugins/dynamix/NetworkRules.page | 29 +- emhttp/plugins/dynamix/NetworkSettings.page | 1 + emhttp/plugins/dynamix/RoutingTable.page | 28 +- .../plugins/dynamix/include/NetworkInfo.php | 53 ++ .../plugins/dynamix/include/RoutingTable.php | 8 +- emhttp/plugins/dynamix/scripts/netconfig | 76 ++- emhttp/plugins/dynamix/sheets/Eth0-black.css | 1 + emhttp/plugins/dynamix/sheets/Eth0-white.css | 1 + emhttp/plugins/dynamix/sheets/Eth0.css | 3 +- etc/rc.d/rc.inet1 | 108 ++-- 13 files changed, 553 insertions(+), 520 deletions(-) create mode 100644 emhttp/plugins/dynamix/include/NetworkInfo.php create mode 100644 emhttp/plugins/dynamix/sheets/Eth0-black.css create mode 100644 emhttp/plugins/dynamix/sheets/Eth0-white.css diff --git a/emhttp/plugins/dynamix/Eth0.page b/emhttp/plugins/dynamix/Eth0.page index c7f1de5f9..9a295fc6d 100644 --- a/emhttp/plugins/dynamix/Eth0.page +++ b/emhttp/plugins/dynamix/Eth0.page @@ -3,8 +3,8 @@ Title="_(Interface)_ eth0" Tag="icon-ethernet" --- $val) {$vlan_eth0[] = index($key); $sort_eth0[] = (int)$val;} array_multisort($sort_eth0,$vlan_eth0); ?> + -
      + +
      _(Interface)_ eth0
      + +
      + +
      +_(IPv4 DNS server assignment)_: +: + +:eth_ipv4_dns_server_assignment_help: + +
      +_(IPv4 DNS server)_ 1: +: + +:eth_ipv4_dns_server_help: + +_(IPv4 DNS server)_ 2: +: + +:eth_ipv4_dns_server2_help: + +_(IPv4 DNS server)_ 3: +: + +:eth_ipv4_dns_server3_help: + +
      +
      +
      +_(IPv6 DNS server assignment)_: +: + +:eth_ipv6_dns_server_assignment_help: + +
      +_(IPv6 DNS server)_ 1: +: + +:eth_ipv6_dns_server_help: + +_(IPv6 DNS server)_ 2: +: + +:eth_ipv6_dns_server2_help: + +_(IPv6 DNS server)_ 3: +: + +:eth_ipv6_dns_server3_help: + +
      +
      + +
      + +
      @@ -433,29 +509,37 @@ $(function() { + + + + + + + + + _(Interface description)_: -: - " oninput="noRun(this.form)"> +: "> + :eth_interface_description_help: -