devforms (empty) → 0.1.0.0
raw patch · 11 files changed
+538/−0 lines, 11 filesdep +aesondep +basedep +containers
Dependencies added: aeson, base, containers, devforms, file-embed, filepath, htmx-lucid, http-types, lucid2, mtl, relude, scotty, string-interpolate, time, wai, warp
Files
- CHANGELOG.md +8/−0
- LICENSE +29/−0
- devforms.cabal +81/−0
- examples/Example.hs +28/−0
- src/DevForms.hs +52/−0
- src/Form.hs +23/−0
- src/Question.hs +191/−0
- src/Server.hs +99/−0
- static/_hyperscript.min.js +22/−0
- static/htmx.min.js +1/−0
- static/pico.classless.green.min.css +4/−0
+ CHANGELOG.md view
@@ -0,0 +1,8 @@+# Revision history for devforms++## 0.1.0.0 -- 2026-04-22++* Initial release with builder DSL for HTML survey forms.+* Question types: checkbox, Likert scale, multiple choice, date, time, integer (with optional bounds).+* Built-in Scotty web server with htmx interactivity and Pico CSS styling.+* JSONL answer storage.
+ LICENSE view
@@ -0,0 +1,29 @@+Copyright (c) 2026, Lassi Haasio+++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are met:++ * Redistributions of source code must retain the above copyright+ notice, this list of conditions and the following disclaimer.++ * Redistributions in binary form must reproduce the above+ copyright notice, this list of conditions and the following+ disclaimer in the documentation and/or other materials provided+ with the distribution.++ * Neither the name of the copyright holder nor the names of its+ contributors may be used to endorse or promote products derived+ from this software without specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ devforms.cabal view
@@ -0,0 +1,81 @@+cabal-version: 3.0+name: devforms+version: 0.1.0.0+synopsis: A builder DSL for HTML survey forms with built-in server and storage+description:+ devforms is a Haskell library for building HTML survey forms using a+ monadic builder DSL. It bundles a Scotty web server with htmx and+ _hyperscript for client-side interactivity, Lucid2 for HTML rendering,+ and Pico CSS for styling. Submissions are stored as JSONL files.+ .+ @+ import DevForms+ .+ main :: IO ()+ main = devFormServer 9000 $ do+ \ form "My survey" "mysurvey" $ do+ \ questionLikert "I enjoy surveys"+ \ questionChoice "Favourite colour" ["Red", "Green", "Blue"]+ \ questionDate "Pick a date"+ @+license: BSD-3-Clause+license-file: LICENSE+author: Lassi Haasio+maintainer: ilikeavocadoes@devmail.cc+copyright: 2026 Lassi Haasio+category: Web+build-type: Simple+extra-doc-files: CHANGELOG.md+extra-source-files: static/_hyperscript.min.js+ , static/htmx.min.js+ , static/pico.classless.green.min.css++source-repository head+ type: git+ location: https://git.sr.ht/~ilikeavocadoes/devforms++common warnings+ ghc-options: -Wall++library+ import: warnings+ exposed-modules: DevForms+ other-modules: Server+ , Form+ , Question+ -- other-extensions:+ default-extensions:+ OverloadedStrings+ build-depends: base >= 4.18 && < 5+ , relude >= 1.2 && < 1.3+ , mtl >= 2.2 && < 2.4+ , scotty >= 0.22 && < 0.31+ , lucid2 >= 0.0.20230706 && < 0.1+ , htmx-lucid >= 0.2 && < 0.3+ , warp >= 3.3 && < 3.5+ , wai >= 3.2 && < 3.3+ , http-types >= 0.12 && < 0.13+ , aeson >= 2.1 && < 2.3+ , time >= 1.12 && < 1.16+ , filepath >= 1.4 && < 1.6+ , string-interpolate >= 0.3 && < 0.4+ , file-embed >= 0.0.15 && < 0.1+ , containers >= 0.6 && < 0.9+ hs-source-dirs: src+ default-language: GHC2021+ mixins: base hiding (Prelude)+ , relude (Relude as Prelude)+ , relude++executable example+ main-is: Example.hs+ hs-source-dirs: examples+ build-depends: base >= 4.18 && < 5+ , devforms+ , relude >= 1.2 && < 1.3+ default-language: GHC2021+ ghc-options:+ -threaded+ mixins: base hiding (Prelude)+ , relude (Relude as Prelude)+ , relude
+ examples/Example.hs view
@@ -0,0 +1,28 @@+{-# LANGUAGE OverloadedStrings #-}++import DevForms++main :: IO ()+main = devFormServer 9000 $ do+ form "An example form" "animalform" $ do+ questionLikert "This is an easy question to answer"+ questionChoice+ "Select the animal you like the most"+ [ "Alpaca"+ , "Bumblebee"+ , "Camel"+ , "Duck"+ ]+ questionDate "On which day would you like to meet your favourite animal?"+ questionTime "On which time would you like to have the meeting?"+ questionInteger "How many siblings do you have?" $ do+ setLowerBoundInclusive 0++ form "Another simple form" "otherform" $ do+ questionCheckbox "Do you want to check this box?"+ questionChoice "Select one of the following:" ["A", "B", "C"]+ questionDate "Select a date"+ questionInteger "Enter a natural number" $ do+ setUpperBoundInclusive 15+ questionLikert "This form works well"+ questionTime "Select a time"
+ src/DevForms.hs view
@@ -0,0 +1,52 @@+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE OverloadedStrings #-}++module DevForms (devFormServer, form, questionCheckbox, questionLikert, questionChoice, questionDate, questionTime, questionInteger, setLowerBoundInclusive, setUpperBoundInclusive) where++import Control.Monad.Writer+import Form (Form (..), FormBuilder)+import Question (Question (..), QuestionBuilder, QuestionOptions (..))+import Server (Server (..), ServerBuilder, runServer)++devFormServer :: Int -> ServerBuilder () -> IO ()+devFormServer = runServer++-- devFormServer serverBuilder = do+-- let forms = appEndo (execWriter serverBuilder) $ Server{forms = []}+-- print $ forms++form :: Text -> Text -> FormBuilder () -> ServerBuilder ()+form title formId formBuilder = do+ let f = appEndo (execWriter formBuilder) $ Form{title = title, formId = formId, questions = []}+ tell $ Endo $ \server@Server{forms} -> server{forms = forms <> [f]}++addQuestion :: (MonadWriter (Endo Form) m) => Question -> m ()+addQuestion question =+ tell $ Endo $ \f@Form{questions} -> f{questions = questions <> [question]}++questionCheckbox :: Text -> FormBuilder ()+questionCheckbox =+ addQuestion . QuestionCheckbox++questionLikert :: Text -> FormBuilder ()+questionLikert = addQuestion . QuestionLikert++questionChoice :: Text -> [Text] -> FormBuilder ()+questionChoice title qOptions =+ addQuestion $ QuestionChoice title qOptions++questionDate :: Text -> FormBuilder ()+questionDate = addQuestion . QuestionDate++questionTime :: Text -> FormBuilder ()+questionTime = addQuestion . QuestionTime++questionInteger :: Text -> QuestionBuilder () -> FormBuilder ()+questionInteger title questionBuilder = do+ let questionOptions = appEndo (execWriter questionBuilder) $ QuestionOptions{lowerBoundInclusive = Nothing, upperBoundInclusive = Nothing}+ addQuestion $ QuestionInteger title questionOptions++setLowerBoundInclusive :: Integer -> QuestionBuilder ()+setLowerBoundInclusive bound = tell $ Endo $ \questionOptions -> questionOptions{lowerBoundInclusive = Just bound}+setUpperBoundInclusive :: Integer -> QuestionBuilder ()+setUpperBoundInclusive bound = tell $ Endo $ \questionOptions -> questionOptions{upperBoundInclusive = Just bound}
+ src/Form.hs view
@@ -0,0 +1,23 @@+module Form (Form (..), FormBuilder, renderForm, getSubmitUrl, getFormUrl) where++import Control.Monad.Writer+import Htmx.Lucid.Core+import Lucid+import Question (Question, renderQuestion)++data Form = Form {title :: Text, formId :: Text, questions :: [Question]} deriving (Show)+type FormBuilder = Writer (Endo Form)++renderForm :: Form -> Html ()+renderForm form@Form{title, questions} = do+ main_ $ do+ h2_ $ toHtml title+ form_ [hxPost_ $ getSubmitUrl form, script_ "on keydown[key is 'Enter'] from <input/> halt"] $ do+ forM_ (reverse questions) renderQuestion+ input_ [type_ "submit"]++getFormUrl :: (IsString a) => Form -> a+getFormUrl Form{formId} = fromString $ "/" <> toString formId++getSubmitUrl :: (IsString a) => Form -> a+getSubmitUrl Form{formId} = fromString $ "/api/submit/" <> toString formId
+ src/Question.hs view
@@ -0,0 +1,191 @@+{-# LANGUAGE QuasiQuotes #-}++module Question (Question (..), QuestionOptions (..), QuestionBuilder, renderQuestion, parseAnswers) where++import Control.Monad.Writer+import Data.Aeson qualified as JSON+import Data.Aeson.Key qualified as Key+import Data.String.Interpolate+import Data.Text qualified as Text+import Lucid+import Relude.Extra.Map as Map++data Question = QuestionCheckbox Text | QuestionLikert Text | QuestionChoice Text [Text] | QuestionDate Text | QuestionInteger Text QuestionOptions | QuestionTime Text deriving (Show)+type QuestionBuilder = Writer (Endo QuestionOptions)++data QuestionOptions = QuestionOptions+ { lowerBoundInclusive :: Maybe Integer+ , upperBoundInclusive :: Maybe Integer+ }+ deriving (Show)++runJust :: a -> Maybe b -> (b -> a) -> a+runJust _ (Just x) f = f x+runJust defaultValue Nothing _ = defaultValue++renderQuestion :: Question -> Html ()+renderQuestion question = do+ section_ $ do+ case question of+ QuestionCheckbox questionText -> do+ h3_ $ toHtml questionText+ input_ [type_ "checkbox", name_ questionText]+ QuestionChoice questionText choices -> do+ h3_ $ toHtml questionText+ fieldset_ $ do+ forM_ choices $ \c -> do+ div_ $ do+ input_ [type_ "radio", name_ questionText, value_ c, required_ ""]+ label_ [Lucid.for_ questionText] $ toHtml c+ QuestionDate questionText -> do+ h3_ $ toHtml questionText+ input_ [type_ "date", name_ questionText, required_ ""]+ QuestionInteger questionText (QuestionOptions{lowerBoundInclusive, upperBoundInclusive}) -> do+ let validationScriptParts =+ [ ( [__i|+ on input+ set my.value to my.value.replace('/[^0-9-]/g', '')+ end+ |]+ )+ , ( runJust+ ""+ lowerBoundInclusive+ ( \lb ->+ [__i|+ on input+ if my.value < #{lb} then set my.value to #{lb}+ end+ |]+ )+ )+ , ( runJust+ ""+ upperBoundInclusive+ ( \ub ->+ [__i|++ on input+ if my.value > #{ub} then+ set newValue to my.value+ repeat while newValue > #{ub}+ set newValue to parseInt(newValue.toString().substring(1))+ end++ set my.value to newValue+ end+ |]+ )+ )+ ]+ let validationScript = Text.intercalate "\n" validationScriptParts++ h3_ $ toHtml questionText+ input_ $+ catMaybes+ [ Just $ type_ "number"+ , Just $ name_ questionText+ , Just $ step_ "1"+ , Just $ pattern_ "[0-9]+"+ , Just $ required_ ""+ , Just $ script_ validationScript+ , fmap (min_ . show) lowerBoundInclusive+ , fmap (max_ . show) upperBoundInclusive+ ]+ QuestionLikert questionText -> do+ let choices =+ [ "Strongly disagree" :: Text+ , "Somewhat disagree"+ , "Neither agree nor disagree"+ , "Somewhat agree"+ , "Strongly agree"+ ]+ h3_ $ toHtml questionText+ forM_ choices $ \c -> do+ div_ $ do+ input_ [type_ "radio", name_ questionText, value_ c, required_ ""]+ toHtml c+ div_ $ do+ input_ [type_ "radio", name_ questionText, value_ "Cannot say", required_ ""]+ "Cannot say"+ QuestionTime questionText -> do+ h3_ $ toHtml questionText+ input_ [type_ "time", name_ questionText, required_ ""]++parseAnswers :: [Question] -> Map Text Text -> Either Text [(JSON.Key, JSON.Value)]+parseAnswers questions params = mapM (`parseAnswer` params) questions++parseAnswer :: Question -> Map Text Text -> Either Text (JSON.Key, JSON.Value)+parseAnswer question params = case question of+ QuestionCheckbox questionText ->+ let value = JSON.Bool $ isJust $ Map.lookup questionText params+ in Right (Key.fromText questionText, value)+ QuestionInteger questionText opts ->+ case Map.lookup questionText params of+ Nothing -> Left $ "Missing required field: " <> questionText+ Just raw -> case readMaybe (toString raw) :: Maybe Integer of+ Nothing -> Left $ "Invalid integer for: " <> questionText+ Just n -> do+ validateBounds questionText n opts+ Right (Key.fromText questionText, JSON.toJSON n)+ QuestionChoice questionText choices ->+ case Map.lookup questionText params of+ Nothing -> Left $ "Missing required field: " <> questionText+ Just raw+ | raw `elem` choices -> Right (Key.fromText questionText, JSON.toJSON raw)+ | otherwise -> Left $ "Invalid choice for: " <> questionText <> ". Got: " <> raw+ QuestionLikert questionText ->+ let likertOptions =+ [ "Strongly disagree"+ , "Somewhat disagree"+ , "Neither agree nor disagree"+ , "Somewhat agree"+ , "Strongly agree"+ , "Cannot say"+ ]+ in case lookup questionText params of+ Nothing -> Left $ "Missing required field: " <> questionText+ Just raw+ | raw `elem` likertOptions -> Right (Key.fromText questionText, JSON.toJSON raw)+ | otherwise -> Left $ "Invalid Likert option for: " <> questionText <> ". Got: " <> raw+ QuestionDate questionText ->+ case lookup questionText params of+ Nothing -> Left $ "Missing required field: " <> questionText+ Just raw+ | isValidDate raw -> Right (Key.fromText questionText, JSON.toJSON raw)+ | otherwise -> Left $ "Invalid date format for: " <> questionText <> ". Expected YYYY-MM-DD"+ QuestionTime questionText ->+ case lookup questionText params of+ Nothing -> Left $ "Missing required field: " <> questionText+ Just raw+ | isValidTime raw -> Right (Key.fromText questionText, JSON.toJSON raw)+ | otherwise -> Left $ "Invalid time format for: " <> questionText <> ". Expected HH:MM"++validateBounds :: Text -> Integer -> QuestionOptions -> Either Text ()+validateBounds questionText n QuestionOptions{lowerBoundInclusive, upperBoundInclusive} = do+ case lowerBoundInclusive of+ Just lb | n < lb -> Left $ questionText <> ": value " <> show n <> " is below minimum " <> show lb+ _ -> Right ()+ case upperBoundInclusive of+ Just ub | n > ub -> Left $ questionText <> ": value " <> show n <> " is above maximum " <> show ub+ _ -> Right ()++isValidDate :: Text -> Bool+isValidDate t = case Text.splitOn "-" t of+ [y, m, d] ->+ Text.length y == 4+ && Text.length m == 2+ && Text.length d == 2+ && isJust (readMaybe (toString y) :: Maybe Int)+ && isJust (readMaybe (toString m) :: Maybe Int)+ && isJust (readMaybe (toString d) :: Maybe Int)+ _ -> False++isValidTime :: Text -> Bool+isValidTime t = case Text.splitOn ":" t of+ [h, m] ->+ Text.length h == 2+ && Text.length m == 2+ && isJust (readMaybe (toString h) :: Maybe Int)+ && isJust (readMaybe (toString m) :: Maybe Int)+ _ -> False
+ src/Server.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TemplateHaskell #-}++module Server (Server (..), ServerBuilder, runServer) where++import Control.Monad.Writer+import Data.Aeson ((.=))+import Data.Aeson qualified as JSON+import Data.FileEmbed (embedDir)+import Data.Map qualified as Map+import Data.Time (UTCTime, getCurrentTime)+import Form (Form (..), getFormUrl, getSubmitUrl, renderForm)+import Lucid+import Network.HTTP.Types.Status (Status (..), status400)+import Network.Wai (Request (remoteHost), rawPathInfo, requestMethod)+import Network.Wai.Handler.Warp (defaultSettings, setFdCacheDuration, setLogger, setPort)+import Question (parseAnswers)+import System.FilePath (takeExtension)+import Web.Scotty qualified as Scotty++data Server = Server {forms :: [Form]} deriving (Show)+type ServerBuilder = Writer (Endo Server)++staticFiles :: Map FilePath ByteString+staticFiles = fromList $(embedDir "static")++runServer :: Int -> ServerBuilder () -> IO ()+runServer port serverBuilder = do+ let Server{forms} = appEndo (execWriter serverBuilder) $ Server{forms = []}+ Scotty.scottyOpts (serverOptions port) $ do+ Scotty.get "/static/:asset" $ do+ asset <- Scotty.pathParam "asset"+ when (takeExtension asset == ".svg") $ do+ Scotty.addHeader "Content-Type" "image/svg+xml"+ case Map.lookup asset staticFiles of+ Just content -> Scotty.raw $ toLazy content+ Nothing -> Scotty.throw $ Scotty.QueryParameterNotFound $ toText asset+ forM_+ forms+ ( \form@Form{formId} -> do+ Scotty.get (getFormUrl form) $ do+ Scotty.html $ renderText $ page $ renderForm form+ Scotty.post (getSubmitUrl form) $ do+ params <- Scotty.formParams+ case parseAnswers (questions form) (fromList params) of+ Left err -> do+ Scotty.status status400+ Scotty.text $ toLazy err+ Right answerPairs -> do+ let encoded = JSON.encode $ JSON.object answerPairs+ appendFileLBS ("answers-" <> toString formId <> ".jsonl") ("\n" <> encoded)+ Scotty.html $ renderText $ p_ "Form submitted"+ )++serverOptions :: Int -> Scotty.Options+serverOptions port = Scotty.defaultOptions{Scotty.settings = setLogger logServer . setPort port . setFdCacheDuration 10 $ defaultSettings}++logServer :: (Request -> Status -> Maybe Integer -> IO ())+logServer req stat _ = do+ time <- getCurrentTime+ putLBSLn $ JSON.encode $ ServerLog{timestamp = time, request = req, status = stat}++data ServerLog = ServerLog+ { timestamp :: UTCTime+ , request :: Request+ , status :: Status+ }+ deriving (Generic, Show)++instance JSON.ToJSON Status where+ toJSON (Status{statusMessage, statusCode}) =+ JSON.object ["statusCode" .= statusCode, "statusMessage" .= (decodeUtf8 statusMessage :: Text)]++instance JSON.ToJSON Request where+ toJSON req =+ JSON.object ["requestMethod" .= (decodeUtf8 $ requestMethod req :: Text), "rawPathInfo" .= (decodeUtf8 $ rawPathInfo req :: Text), "remoteHost" .= (show $ remoteHost req :: Text)]++instance JSON.ToJSON ServerLog++page :: Html () -> Html ()+page mainContent =+ html_+ ( do+ head_+ ( do+ script_ [src_ "static/htmx.min.js"] ("" :: String)+ script_ [src_ "static/_hyperscript.min.js"] ("" :: String)+ link_ [rel_ "stylesheet", href_ "static/pico.classless.green.min.css"]+ link_ [rel_ "stylesheet", href_ "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"]+ )+ body_+ ( do+ main_+ ( do+ nav_ $ pure ()+ mainContent+ )+ )+ )
+ static/_hyperscript.min.js view
@@ -0,0 +1,22 @@+"use strict";(()=>{var Ri=Object.defineProperty;var N=(s,e)=>{for(var t in e)Ri(s,t,{get:e[t],enumerable:!0})};var pe=class{#t;#i=[];#s=null;#o=[];source;constructor(e,t){this.#t=e,this.source=t,this.consumeWhitespace()}get list(){return this.#t}get consumed(){return this.#i}toString(){var e=this.currentToken(),t=this.source.split(`+`),r=e?.line?e.line-1:t.length-1,i=e?.line?e.column:0,n=t[r]||"",o=Math.max(1,e?.value?.length||1),a=String(r+1).length,l="Tokens(";return l+=this.#i.filter(u=>u.type!=="WHITESPACE").length+" consumed, ",l+=this.#t.filter(u=>u.type!=="WHITESPACE").length+" remaining",l+=", line "+(r+1)+`)+`,l+=" "+String(r+1).padStart(a)+" | "+n+`+`,l+=" ".repeat(a+5)+" ".repeat(i)+"^".repeat(o),e&&(l+=" "+e.type+" '"+e.value+"'"),l}currentToken(){return this.token(0)}token(e,t){var r,i=0;do{if(!t)for(;this.#t[i]&&this.#t[i].type==="WHITESPACE";)i++;r=this.#t[i],e--,i++}while(e>-1);return r||{type:"EOF",value:"<<<EOF>>>"}}hasMore(){return this.#t.length>0}lastMatch(){return this.#s}matchToken(e,t){if(!this.#o.includes(e)&&(t=t||"IDENTIFIER",this.currentToken()&&this.currentToken().value===e&&this.currentToken().type===t))return this.consumeToken()}matchOpToken(e){if(this.currentToken()&&this.currentToken().op&&this.currentToken().value===e)return this.consumeToken()}matchTokenType(...e){if(this.currentToken()&&this.currentToken().type&&e.includes(this.currentToken().type))return this.consumeToken()}matchAnyToken(...e){for(var t=0;t<e.length;t++){var r=this.matchToken(e[t]);if(r)return r}}matchAnyOpToken(...e){for(var t=0;t<e.length;t++){var r=this.matchOpToken(e[t]);if(r)return r}}consumeToken(){var e=this.#t.shift();return this.#i.push(e),this.#s=e,this.consumeWhitespace(),e}consumeWhitespace(){for(;this.token(0,!0).type==="WHITESPACE";)this.#i.push(this.#t.shift())}consumeUntil(e,t){for(var r=[],i=this.token(0,!0);(t==null||i.type!==t)&&(e==null||i.value!==e)&&i.type!=="EOF";){var n=this.#t.shift();this.#i.push(n),r.push(i),i=this.token(0,!0)}return this.consumeWhitespace(),r}consumeUntilWhitespace(){return this.consumeUntil(null,"WHITESPACE")}peekToken(e,t,r){t=t||0,r=r||"IDENTIFIER";let i=0;for(;t>0;)i++,this.#t[i]?.type!=="WHITESPACE"&&t--;if(this.#t[i]&&this.#t[i].value===e&&this.#t[i].type===r)return this.#t[i]}lastWhitespace(){var e=this.#i.at(-1);return e&&e.type==="WHITESPACE"?e.value:""}pushFollow(e){this.#o.push(e)}popFollow(){this.#o.pop()}pushFollows(...e){for(var t=0;t<e.length;t++)this.#o.push(e[t]);return e.length}popFollows(e){for(var t=0;t<e;t++)this.#o.pop()}clearFollows(){var e=this.#o;return this.#o=[],e}restoreFollows(e){this.#o=e}},me={"+":"PLUS","-":"MINUS","*":"MULTIPLY","/":"DIVIDE",".":"PERIOD","..":"ELLIPSIS","\\":"BACKSLASH",":":"COLON","%":"PERCENT","|":"PIPE","!":"EXCLAMATION","?":"QUESTION","#":"POUND","&":"AMPERSAND",$:"DOLLAR",";":"SEMI",",":"COMMA","(":"L_PAREN",")":"R_PAREN","<":"L_ANG",">":"R_ANG","<=":"LTE_ANG",">=":"GTE_ANG","==":"EQ","===":"EQQ","!=":"NEQ","!==":"NEQQ","{":"L_BRACE","}":"R_BRACE","[":"L_BRACKET","]":"R_BRACKET","=":"EQUALS","~":"TILDE","^":"CARET"},O=class s{#t="";#i=0;#s=0;#o=1;#a="<START>";#h=0;#n=[];#p=!1;#c;#l(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"}#u(e){return e>="0"&&e<="9"}#v(e){return e===" "||e===" "||e==="\r"||e===`+`}#d(e){return e==="\r"||e===`+`}#E(e){return this.#l(e)||this.#u(e)||e==="-"||e==="_"||e===":"}#y(e){return e==="_"||e==="$"}#w(e){return e==="`"}static tokenize(e,t){return new s().tokenize(e,t)}tokenize(e,t){return this.#t=e,this.#i=0,this.#s=0,this.#o=1,this.#a="<START>",this.#h=0,this.#n=[],this.#p=t||!1,this.#c="indeterminant",this.#U()}#e(){return this.#t.charAt(this.#i)}#f(){return this.#t.charAt(this.#i+1)}#x(e=1){return this.#t.charAt(this.#i+e)}#r(){return this.#a=this.#e(),this.#i++,this.#a===`+`?(this.#o++,this.#s=0):this.#s++,this.#a}#T(){return this.#p&&this.#h===0}#k(){return!this.#T()||this.#c==="command"}#g(){return this.#l(this.#a)||this.#u(this.#a)||this.#a===")"||this.#a==='"'||this.#a==="'"||this.#a==="`"||this.#a==="}"||this.#a==="]"}#b(){if(this.#n.length>0){var e=this.#n.at(-1);if(e.type==="IDENTIFIER"||e.type==="CLASS_REF"||e.type==="ID_REF"||e.op&&(e.value===">"||e.value===")"))return!1}return!0}#m(e,t){return{type:e,value:t||"",start:this.#i,end:this.#i+1,column:this.#s,line:this.#o}}#A(e,t){var r=this.#m(e,t);return r.op=!0,r}#I(){for(;this.#e()&&!this.#d(this.#e());)this.#r();this.#r()}#L(){for(var e=this.#m("WHITESPACE"),t="";this.#e()&&this.#v(this.#e());)this.#d(this.#e())&&(this.#c="indeterminant"),t+=this.#r();return e.value=t,e.end=this.#i,e}#O(){var e=this.#m("CLASS_REF"),t=this.#r();if(this.#e()==="{"){for(e.template=!0,t+=this.#r();this.#e()&&this.#e()!=="}";)t+=this.#r();if(this.#e()!=="}")throw new Error("Unterminated class reference");t+=this.#r()}else for(;this.#E(this.#e())||this.#e()==="\\";)this.#e()==="\\"&&this.#r(),t+=this.#r();return e.value=t,e.end=this.#i,e}#M(){var e=this.#m("ID_REF"),t=this.#r();if(this.#e()==="{"){for(e.template=!0,t+=this.#r();this.#e()&&this.#e()!=="}";)t+=this.#r();if(this.#e()!=="}")throw new Error("Unterminated id reference");this.#r()}else for(;this.#E(this.#e());)t+=this.#r();return e.value=t,e.end=this.#i,e}#F(){for(var e=this.#m("ATTRIBUTE_REF"),t=this.#r();this.#i<this.#t.length&&this.#e()!=="]";)t+=this.#r();return this.#e()==="]"&&(t+=this.#r()),e.value=t,e.end=this.#i,e}#R(){for(var e=this.#m("ATTRIBUTE_REF"),t=this.#r();this.#E(this.#e());)t+=this.#r();return this.#e()==="="&&(t+=this.#r(),this.#e()==='"'||this.#e()==="'"?t+=this.#S().value:(this.#l(this.#e())||this.#u(this.#e())||this.#y(this.#e()))&&(t+=this.#q().value)),e.value=t,e.end=this.#i,e}#C(){for(var e=this.#m("STYLE_REF"),t=this.#r();this.#l(this.#e())||this.#e()==="-";)t+=this.#r();return e.value=t,e.end=this.#i,e}#_(){var e=this.#m("IDENTIFIER");this.#r();for(var t="";this.#l(this.#e());)t+=this.#r();return e.value=t,e.end=this.#i,e}#P(){var e=this.#m("TEMPLATE_LINE");e.value="TEMPLATE_LINE";for(var t="";this.#e()&&!this.#d(this.#e());)t+=this.#r();return this.#e()&&this.#d(this.#e())&&(this.#r(),t+=`+`,this.#c="indeterminant"),e.content=t,e.end=this.#i,e}#D(){var e=this.#m("IDENTIFIER"),t=this.#r(),r=t==="\\";for(r&&(t="");(this.#l(this.#e())||this.#u(this.#e())||this.#y(this.#e())||this.#e()==="\\"||this.#e()==="{"||this.#e()==="}")&&!(this.#e()==="$"&&!r);)this.#e()==="\\"?(r=!0,this.#r()):(r=!1,t+=this.#r());return this.#e()==="!"&&t==="beep"&&(t+=this.#r()),e.value=t,e.end=this.#i,e}#q(){for(var e=this.#m("IDENTIFIER"),t=this.#r();this.#l(this.#e())||this.#u(this.#e())||this.#y(this.#e());)t+=this.#r();return this.#e()==="!"&&t==="beep"&&(t+=this.#r()),e.value=t,e.end=this.#i,e}#H(){for(var e=this.#m("NUMBER"),t=this.#r();this.#u(this.#e());)t+=this.#r();for(this.#e()==="."&&this.#u(this.#f())&&(t+=this.#r());this.#u(this.#e());)t+=this.#r();for((this.#e()==="e"||this.#e()==="E")&&(this.#u(this.#f())?t+=this.#r():this.#f()==="-"&&(t+=this.#r(),t+=this.#r()));this.#u(this.#e());)t+=this.#r();return e.value=t,e.end=this.#i,e}#N(){for(var e=this.#A(),t=this.#r();this.#e()&&me[t+this.#e()];)t+=this.#r();return e.type=me[t],e.value=t,e.end=this.#i,e}#S(){var e=this.#m("STRING"),t=this.#r();e.template=t==="`";for(var r="";this.#e()&&this.#e()!==t;)if(this.#e()==="\\"){this.#r();let i=this.#r();if(i==="b")r+="\b";else if(i==="f")r+="\f";else if(i==="n")r+=`+`;else if(i==="r")r+="\r";else if(i==="t")r+=" ";else if(i==="v")r+="\v";else if(e.template&&i==="$")r+="\\$";else if(i==="x"){let n=this.#W();if(Number.isNaN(n))throw new Error("Invalid hexadecimal escape at [Line: "+e.line+", Column: "+e.column+"]");r+=String.fromCharCode(n)}else r+=i}else r+=this.#r();if(this.#e()!==t)throw new Error("Unterminated string at [Line: "+e.line+", Column: "+e.column+"]");return this.#r(),e.value=r,e.end=this.#i,e}#W(){if(!this.#e())return NaN;let e=16*Number.parseInt(this.#r(),16);return this.#e()?(e+=Number.parseInt(this.#r(),16),e):NaN}#j(){var e=this.#e(),t=this.#f(),r=this.#x(2);return e==="-"&&t==="-"&&(this.#v(r)||r===""||r==="-")||e==="/"&&t==="/"&&(this.#v(r)||r===""||r==="/")}#U(){for(;this.#i<this.#t.length;)if(this.#j())this.#I();else if(this.#v(this.#e()))this.#n.push(this.#L());else if(!this.#g()&&this.#e()==="."&&(this.#l(this.#f())||this.#f()==="{"||this.#f()==="-"))this.#n.push(this.#O());else if(!this.#g()&&this.#e()==="#"&&(this.#l(this.#f())||this.#f()==="{"))this.#p==="lines"&&this.#c==="indeterminant"?(this.#c="command",this.#n.push(this.#_())):this.#n.push(this.#M());else if(this.#p==="lines"&&this.#c==="indeterminant"&&this.#h===0)this.#c="template",this.#n.push(this.#P());else if(this.#e()==="["&&this.#f()==="@")this.#n.push(this.#F());else if(this.#e()==="@")this.#n.push(this.#R());else if(this.#e()==="*"&&this.#l(this.#f()))this.#n.push(this.#C());else if(this.#T()&&(this.#l(this.#e())||this.#e()==="\\")&&this.#c!=="command")this.#n.push(this.#D());else if(this.#k()&&(this.#l(this.#e())||this.#y(this.#e())))this.#n.push(this.#q());else if(this.#u(this.#e()))this.#n.push(this.#H());else if(this.#k()&&(this.#e()==='"'||this.#e()==="`"))this.#n.push(this.#S());else if(this.#k()&&this.#e()==="'")this.#b()?this.#n.push(this.#S()):this.#n.push(this.#N());else if(me[this.#e()])this.#a==="$"&&this.#e()==="{"&&this.#h++,this.#e()==="}"&&this.#h--,this.#n.push(this.#N());else if(this.#T()||this.#w(this.#e()))this.#n.push(this.#m("RESERVED",this.#r()));else if(this.#i<this.#t.length)throw new Error("Unknown token: "+this.#e()+" ");return new pe(this.#n,this.#t)}};var I=class s{errors=[];collectErrors(e){if(e||(e=new Set),e.has(this))return[];e.add(this);var t=[...this.errors];for(var r of Object.keys(this))for(var i of[this[r]].flat())i instanceof s&&t.push(...i.collectErrors(e));return t}sourceFor(){return this.programSource.substring(this.startToken.start,this.endToken.end)}lineFor(){return this.programSource.split(`+`)[this.startToken.line-1]}static parseEventArgs(e){var t=[];if(e.token(0).value==="("&&(e.token(1).value===")"||e.token(2).value===","||e.token(2).value===")")){e.matchOpToken("(");do t.push(e.requireTokenType("IDENTIFIER"));while(e.matchOpToken(","));e.requireOpToken(")")}return t}},y=class extends I{constructor(){super(),this.constructor.grammarName&&(this.type=this.constructor.grammarName)}evaluate(e){return e.meta.runtime.unifiedEval(this,e)}evalStatically(){throw new Error("This expression cannot be evaluated statically: "+this.type)}},d=class extends I{constructor(){super(),this.constructor.keyword&&(this.type=this.constructor.keyword+"Command")}execute(e){return e.meta.command=this,e.meta.runtime.unifiedExec(this,e)}findNext(e){return e.meta.runtime.findNext(this,e)}},S=class extends I{isFeature=!0;constructor(){super(),this.constructor.keyword&&(this.type=this.constructor.keyword+"Feature")}install(e,t,r,i){}static parseErrorAndFinally(e){var t,r,i;return e.matchToken("catch")&&(t=e.requireTokenType("IDENTIFIER").value,r=e.requireElement("commandList"),e.ensureTerminated(r)),e.matchToken("finally")&&(i=e.requireElement("commandList"),e.ensureTerminated(i)),{errorHandler:r,errorSymbol:t,finallyHandler:i}}};var K=class extends d{constructor(){super(),this.type="emptyCommandListCommand"}resolve(e){return this.findNext(e)}},J=class extends d{constructor(e,t){super(),this.type="unlessStatementModifier",this.root=e,this.args={conditional:t}}resolve(e,{conditional:t}){return t?this.next:this.root}},U=class extends I{constructor(e){super(),this.type="hyperscript",this.features=e}apply(e,t,r,i){for(let n of this.features)n.install(e,t,r,i)}},B=class extends S{constructor(e,t){super(),this.type="failedFeature",this.keyword=t,this.errors.push(e)}install(){}},X=class extends d{constructor(e,t){super(),this.type="failedCommand",this.keyword=t,this.errors.push(e)}resolve(){}},Z=class extends d{constructor(){super(),this.type="implicitReturn"}resolve(e){return e.meta.returned=!0,e.meta.resolve&&e.meta.resolve(),e.meta.runtime.HALT}};var xe={};N(xe,{ArrayLiteral:()=>ke,BooleanLiteral:()=>ve,NakedNamedArgumentList:()=>we,NakedString:()=>W,NamedArgumentList:()=>V,NullLiteral:()=>de,NumberLiteral:()=>ye,ObjectKey:()=>Ee,ObjectLiteral:()=>ge,StringLike:()=>be,StringLiteral:()=>Te});var W=class s extends y{static grammarName="nakedString";constructor(e){super(),this.tokens=e}static parse(e){if(e.hasMore()){var t=e.consumeUntilWhitespace();return e.matchTokenType("WHITESPACE"),new s(t)}}evalStatically(){return this.resolve()}resolve(e){return this.tokens.map(function(t){return t.value}).join("")}},ve=class s extends y{static grammarName="boolean";static expressionType="leaf";constructor(e){super(),this.value=e}static parse(e){var t=e.matchToken("true")||e.matchToken("false");if(!t)return;let r=t.value==="true";return new s(r)}evalStatically(){return this.value}resolve(e){return this.value}},de=class s extends y{static grammarName="null";static expressionType="leaf";constructor(){super()}static parse(e){if(e.matchToken("null"))return new s}evalStatically(){return null}resolve(e){return null}},ye=class s extends y{static grammarName="number";static expressionType="leaf";constructor(e,t){super(),this.value=e,this.numberToken=t}static parse(e){var t=e.matchTokenType("NUMBER");if(t){var r=t,i=parseFloat(t.value);return new s(i,r)}}evalStatically(){return this.value}resolve(e){return this.value}},Te=class s extends y{static grammarName="string";static expressionType="leaf";constructor(e,t,r){super(),this.token=e,this.rawValue=t,this.args=r.length>0?{parts:r}:null}static parse(e){var t=e.matchTokenType("STRING");if(t){var r=t.value,i;if(t.template){var n=O.tokenize(r,!0),o=e.createChildParser(n);i=o.parseStringTemplate()}else i=[];return new s(t,r,i)}}evalStatically(){return this.args===null?this.rawValue:super.evalStatically()}resolve(e,{parts:t}={}){if(!t||t.length===0)return this.rawValue;for(var r="",i=0;i<t.length;i++){var n=t[i];n!==void 0&&(r+=n)}return r}},ke=class s extends y{static grammarName="arrayLiteral";static expressionType="leaf";constructor(e){super(),this.values=e,this.args={values:e}}static parse(e){if(e.matchOpToken("[")){var t=[];if(!e.matchOpToken("]")){do{var r=e.requireElement("expression");t.push(r)}while(e.matchOpToken(","));e.requireOpToken("]")}return new s(t)}}resolve(e,{values:t}){return t}},Ee=class s extends y{static grammarName="objectKey";constructor(e,t,r){super(),this.key=e,this.expr=t,this.args=r}static parse(e){var t;if(t=e.matchTokenType("STRING"))return new s(t.value,null,null);if(e.matchOpToken("[")){var r=e.parseElement("expression");return e.requireOpToken("]"),new s(null,r,{value:r})}else{var i="";do t=e.matchTokenType("IDENTIFIER")||e.matchOpToken("-"),t&&(i+=t.value);while(t);return new s(i,null,null)}}evalStatically(){return this.expr?super.evalStatically():this.key}resolve(e,{value:t}={}){return this.expr?t:this.key}},ge=class s extends y{static grammarName="objectLiteral";static expressionType="leaf";constructor(e,t){super(),this.keyExpressions=e,this.valueExpressions=t,this.args={keys:e,values:t}}static parse(e){if(e.matchOpToken("{")){var t=[],r=[];if(!e.matchOpToken("}")){do{var i=e.requireElement("objectKey");e.requireOpToken(":");var n=e.requireElement("expression");r.push(n),t.push(i)}while(e.matchOpToken(",")&&!e.peekToken("}",0,"R_BRACE"));e.requireOpToken("}")}return new s(t,r)}}resolve(e,{keys:t,values:r}){for(var i={},n=0;n<t.length;n++)i[t[n]]=r[n];return i}},V=class s extends y{static grammarName="namedArgumentList";constructor(e,t){super(),this.fields=e,this.args={values:t}}static parseNaked(e){var t=[],r=[];if(e.currentToken().type==="IDENTIFIER")do{var i=e.requireTokenType("IDENTIFIER");e.requireOpToken(":");var n=e.requireElement("expression");r.push(n),t.push({name:i,value:n})}while(e.matchOpToken(","));return new s(t,r)}static parse(e){if(e.matchOpToken("(")){var t=s.parseNaked(e);return e.requireOpToken(")"),t}}resolve(e,{values:t}){for(var r={_namedArgList_:!0},i=0;i<t.length;i++){var n=this.fields[i];r[n.name.value]=t[i]}return r}},we=class extends y{static grammarName="nakedNamedArgumentList";static parse=V.parseNaked},be=class extends y{static grammarName="stringLike";static parse(e){return e.parseAnyOf(["string","nakedString"])}};var Se=class{constructor(e,t,r,i){this.message=e,this.token=t,this.source=r,this.expected=i||null,this.line=t?.line??null,this.column=t?.column??null}},D=class extends Error{constructor(e){super(e.message),this.parseError=e}},F=class s{#t;constructor(e,t){this.#t=e,this.tokens=t}toString(){this.tokens.matched}static formatErrors(e){if(!e.length)return"";var t=e[0].source,r=t.split(`+`),i=new Map;for(var n of e){var o=n.token?.line?n.token.line-1:r.length-1;i.has(o)||i.set(o,[]),i.get(o).push(n)}var a=Math.max(...i.keys())+1,l=String(a).length,u=" ".repeat(l+5),h=[...i.entries()].sort((x,E)=>x[0]-E[0]),f=-1,p="";for(var[o,c]of h){(f!==-1&&o>f+1||f===-1&&o>0)&&(p+=" ".repeat(l+1)+`...+`),f=o;var T=String(o+1).padStart(l),m=r[o]||"";p+=" "+T+" | "+m+`+`,c.sort((E,q)=>(E.column||0)-(q.column||0));var v=Array(m.length+10).fill(" ");for(var n of c)for(var k=n.token?.line?n.token.column:Math.max(0,m.length-1),b=Math.max(1,n.token?.value?.length||1),g=0;g<b;g++)v[k+g]="^";p+=u+v.join("").trimEnd()+`+`;for(var n of c){var k=n.token?.line?n.token.column:0;p+=u+" ".repeat(k)+n.message+`+`}}return p}consumeWhitespace(){return this.tokens.consumeWhitespace()}requireOpToken(e){var t=this.matchOpToken(e);if(t)return t;this.raiseExpected(e)}matchAnyOpToken(...e){return this.tokens.matchAnyOpToken(...e)}matchAnyToken(...e){return this.tokens.matchAnyToken(...e)}matchOpToken(e){return this.tokens.matchOpToken(e)}requireTokenType(...e){var t=this.matchTokenType(...e);if(t)return t;this.raiseExpected(...e)}matchTokenType(...e){return this.tokens.matchTokenType(...e)}requireToken(e,t){var r=this.matchToken(e,t);if(r)return r;this.raiseExpected(e)}peekToken(e,t,r){return this.tokens.peekToken(e,t,r)}matchToken(e,t){return this.tokens.matchToken(e,t)}consumeToken(){return this.tokens.consumeToken()}consumeUntil(e,t){return this.tokens.consumeUntil(e,t)}lastWhitespace(){return this.tokens.lastWhitespace()}consumeUntilWhitespace(){return this.tokens.consumeUntilWhitespace()}hasMore(){return this.tokens.hasMore()}token(e,t){return this.tokens.token(e,t)}currentToken(){return this.tokens.currentToken()}lastMatch(){return this.tokens.lastMatch()}pushFollow(e){return this.tokens.pushFollow(e)}popFollow(){return this.tokens.popFollow()}pushFollows(...e){return this.tokens.pushFollows(...e)}popFollows(e){return this.tokens.popFollows(e)}clearFollows(){return this.tokens.clearFollows()}restoreFollows(e){return this.tokens.restoreFollows(e)}get source(){return this.tokens.source}get consumed(){return this.tokens.consumed}get list(){return this.tokens.list}createChildParser(e){return new s(this.#t,e)}parseElement(e,t=null){return this.#t.parseElement(e,this,t)}requireElement(e,t,r){return this.#t.requireElement(e,this,t,r)}parseAnyOf(e){return this.#t.parseAnyOf(e,this)}raiseError(e,t){e=e||"Unexpected Token : "+this.currentToken().value;var r=new Se(e,this.currentToken(),this.source,t);throw new D(r)}raiseExpected(...e){var t=e.length===1?"Expected '"+e[0]+"' but found '"+this.currentToken().value+"'":"Expected one of: "+e.map(r=>"'"+r+"'").join(", ");this.raiseError(t,e)}parseStringTemplate(){var e=[""];do if(e.push(this.lastWhitespace()),this.currentToken().value==="$"){this.consumeToken();var t=this.matchOpToken("{");e.push(this.requireElement("expression")),t&&this.requireOpToken("}"),e.push("")}else if(this.currentToken().value==="\\")this.consumeToken(),this.consumeToken();else{var r=this.consumeToken();e[e.length-1]+=r?r.value:""}while(this.hasMore());return e.push(this.lastWhitespace()),e}commandBoundary(e){return!!(e.value=="end"||e.value=="then"||e.value=="else"||e.value=="otherwise"||e.value==")"||this.commandStart(e)||this.featureStart(e)||e.type=="EOF")}commandStart(e){return this.#t.commandStart(e)}featureStart(e){return this.#t.featureStart(e)}setParent(e,t){typeof e=="object"&&(e.parent=t,typeof t=="object"&&(t.children=t.children||new Set,t.children.add(e)),this.setParent(e.next,t))}parseURLOrExpression(){var e=this.currentToken();if(e.value==="/"&&e.type==="DIVIDE"){var t=this.consumeUntilWhitespace();return this.matchTokenType("WHITESPACE"),new W(t)}if(e.type==="IDENTIFIER"&&(e.value==="http"||e.value==="https"||e.value==="ws"||e.value==="wss")){var t=this.consumeUntilWhitespace();return this.matchTokenType("WHITESPACE"),new W(t)}return this.requireElement("expression")}ensureTerminated(e){for(var t=new Z,r=e;r.next;)r=r.next;r.next=t}};var ee=class{#t={};#i={};#s={};#o=[];#a=[];#h=[];#n=[];#p=[];#c=[];constructor(){this.addGrammarElement("hyperscript",this.parseHyperscriptProgram.bind(this)),this.addGrammarElement("feature",this.parseFeature.bind(this)),this.addGrammarElement("commandList",this.parseCommandList.bind(this)),this.addGrammarElement("command",this.parseCommand.bind(this)),this.addGrammarElement("indirectStatement",this.parseIndirectStatement.bind(this)),this.addGrammarElement("expression",this.parseExpression.bind(this)),this.addGrammarElement("assignableExpression",this.parseAssignableExpression.bind(this)),this.addGrammarElement("unaryExpression",this.parseUnaryExpression.bind(this)),this.addGrammarElement("postfixExpression",this.parsePostfixExpression.bind(this)),this.addGrammarElement("primaryExpression",this.parsePrimaryExpression.bind(this)),this.addGrammarElement("indirectExpression",this.parseIndirectExpression.bind(this)),this.addGrammarElement("leaf",this.parseLeaf.bind(this))}parseFeature(e){if(e.matchOpToken("(")){var t=e.requireElement("feature");return e.requireOpToken(")"),t}var r=this.#s[e.currentToken().value||""];if(r)return r(e)}parseCommand(e){if(e.matchOpToken("(")){let i=e.requireElement("command");return e.requireOpToken(")"),i}var t=this.#i[e.currentToken().value||""];let r;return t?r=t(e):e.currentToken().type==="IDENTIFIER"&&(r=e.parseElement("pseudoCommand")),r&&this.parseElement("indirectStatement",e,r)}parseCommandList(e){if(e.hasMore()){var t=e.currentToken().value,r;try{r=e.parseElement("command")}catch(i){if(i instanceof D)r=new X(i.parseError,t),this.#u(e);else throw i}if(r){e.matchToken("then");let i=e.parseElement("commandList");return i&&(r.next=i),r}}return new K}parseLeaf(e){var t=e.parseAnyOf(this.#o);return t??e.parseElement("symbol")}parseIndirectExpression(e,t){for(var r=0;r<this.#a.length;r++){var i=this.#a[r];t.endToken=e.lastMatch();var n=this.parseElement(i,e,t);if(n)return n}return t}parsePostfixExpression(e){for(var t=e.parseElement("negativeNumber"),r=0;r<this.#h.length;r++){var i=this.#h[r],n=this.parseElement(i,e,t);if(n)return n}return t}parseUnaryExpression(e){e.matchToken("the");var t=e.parseAnyOf(this.#n);return t?this.parseElement("indirectExpression",e,t):e.parseElement("postfixExpression")}parseExpression(e){return e.matchToken("the"),e.parseAnyOf(this.#p)}parseAssignableExpression(e){e.matchToken("the");for(var t=e.parseElement("primaryExpression"),r=t;r&&r.type==="parenthesized";)r=r.expr;if(r&&this.#c.includes(r.type))return t;e.raiseError("A target expression must be writable. The expression type '"+(r&&r.type)+"' is not.")}parseIndirectStatement(e,t){if(e.matchToken("unless")){t.endToken=e.lastMatch();var r=e.requireElement("expression"),i=new J(t,r);return t.parent=i,i}return t}parsePrimaryExpression(e){var t=e.parseElement("leaf");if(t)return this.parseElement("indirectExpression",e,t);e.raiseError("Unexpected value: "+e.currentToken().value)}parseHyperscriptProgram(e){var t=[];if(e.hasMore())for(;e.currentToken().type!=="EOF";){var r=e.currentToken().value;if(e.featureStart(e.currentToken())||e.currentToken().value==="(")try{var i=e.requireElement("feature");t.push(i),e.matchToken("end")}catch(n){if(n instanceof D)t.push(new B(n.parseError,r)),this.#l(e);else throw n}else{if(e.currentToken().value==="end")break;try{e.raiseError()}catch(n){if(n instanceof D)t.push(new B(n.parseError,r)),this.#l(e);else throw n}}}return new U(t)}use(e){return e(this),this}initElt(e,t,r){e.startToken=t,e.programSource=r.source}parseElement(e,t,r=void 0){var i=this.#t[e];if(i){var n=t.tokens,o=n.currentToken(),a=i(t,r);if(a){this.initElt(a,o,n),a.endToken=a.endToken||n.lastMatch();for(var r=a.root;r!=null;)this.initElt(r,o,n),r=r.root}return a}}requireElement(e,t,r,i){var n=this.parseElement(e,t,i);return n||t.raiseError(r||"Expected "+e),n}parseAnyOf(e,t){for(var r=0;r<e.length;r++){var i=e[r],n=this.parseElement(i,t);if(n)return n}}addGrammarElement(e,t){if(this.#t[e])throw new Error(`Grammar element '${e}' already exists`);this.#t[e]=t}addCommand(e,t){var r=e+"Command";this.#t[r]=t,this.#i[e]=t}addCommands(...e){for(let i of e){if(!i.keyword)throw new Error(`Command class ${i.name} must have a static 'keyword' property`);if(!i.parse)throw new Error(`Command class ${i.name} must have a static 'parse' method`);var t=Array.isArray(i.keyword)?i.keyword:[i.keyword];for(var r of t)this.addCommand(r,i.parse)}}addFeatures(...e){for(let t of e){if(!t.keyword)throw new Error(`Feature class ${t.name} must have a static 'keyword' property`);if(!t.parse)throw new Error(`Feature class ${t.name} must have a static 'parse' method`);this.addFeature(t.keyword,t.parse)}}addFeature(e,t){var r=e+"Feature";this.#t[r]=t,this.#s[e]=t}registerParseElement(e){if(!e.parse)return;let t=e.parse.bind(e);if(e.keyword&&e.prototype instanceof d){var r=Array.isArray(e.keyword)?e.keyword:[e.keyword];for(var i of r)this.addCommand(i,t);return}if(e.keyword&&e.prototype instanceof S){var r=Array.isArray(e.keyword)?e.keyword:[e.keyword];for(var i of r)this.addFeature(i,t);return}let n=e.grammarName;if(n){switch(e.expressionType){case"leaf":this.addLeafExpression(n,t);break;case"indirect":this.addIndirectExpression(n,t);break;case"unary":this.addUnaryExpression(n,t);break;case"top":this.addTopExpression(n,t);break;case"postfix":this.addPostfixExpression(n,t);break;default:this.addGrammarElement(n,t);break}e.assignable&&this.#c.push(n)}}registerModule(e){for(let t of Object.values(e))typeof t=="function"&&t.parse&&this.registerParseElement(t)}addLeafExpression(e,t){this.#o.push(e),this.addGrammarElement(e,t)}addIndirectExpression(e,t){this.#a.push(e),this.addGrammarElement(e,t)}addPostfixExpression(e,t){this.#h.push(e),this.addGrammarElement(e,t)}addUnaryExpression(e,t){this.#n.push(e),this.addGrammarElement(e,t)}addTopExpression(e,t){this.#p.push(e),this.addGrammarElement(e,t)}commandStart(e){return this.#i[e.value||""]}featureStart(e){return this.#s[e.value||""]}parseHyperScript(e){var t=new F(this,e),r,i=null;try{r=t.parseElement("hyperscript"),e.hasMore()&&t.raiseError()}catch(n){if(!(n instanceof D))throw n;i=n.parseError}return r||(r=new U([])),r.errors=r.collectErrors(),i&&r.errors.push(i),r}#l(e){for(e.tokens.clearFollows();e.hasMore()&&!e.featureStart(e.currentToken())&&e.currentToken().value!=="end"&&e.currentToken().type!=="EOF";)e.tokens.consumeToken()}#u(e){for(e.tokens.clearFollows();e.hasMore()&&!e.commandBoundary(e.currentToken());)e.tokens.consumeToken();e.hasMore()&&e.currentToken().value==="then"&&e.tokens.consumeToken()}parse(e,t){var r=e.tokenize(t),i=new F(this,r),n,o;try{i.commandStart(r.currentToken())?(n=this.requireElement("commandList",i),r.hasMore()&&i.raiseError(),i.ensureTerminated(n)):i.featureStart(r.currentToken())?(n=this.requireElement("hyperscript",i),r.hasMore()&&i.raiseError()):(n=this.requireElement("expression",i),r.hasMore()&&i.raiseError())}catch(a){if(!(a instanceof D))throw a;o=a.parseError}return!n&&o?n={type:"empty",errors:[o]}:n&&(n.errors=n.collectErrors(),o&&n.errors.push(o)),n}};var A={attributes:"_, script, data-script",defaultTransition:"all 500ms ease-in",disableSelector:"[disable-scripting], [data-disable-scripting]",fetchThrowsOn:[/4.*/,/5.*/],hideShowStrategies:{},logAll:!1,mutatingMethods:{Array:["push","pop","shift","unshift","splice","sort","reverse","fill","copyWithin"],Set:["add","delete","clear"],Map:["set","delete","clear"]}};var qe=class{result={};addElement(e){if(!(e.name==null||e.value==null)&&!(e.type==="radio"&&!e.checked)){var t=e.name,r;if(e.type==="checkbox"?r=e.checked?[e.value]:void 0:e.type==="select-multiple"?r=Array.from(e.options).filter(n=>n.selected).map(n=>n.value):r=e.value,r!=null)if(this.result[t]==null)this.result[t]=r;else{var i=Array.isArray(this.result[t])?this.result[t]:[this.result[t]];this.result[t]=i.concat(r)}}}addContainer(e){if(e.name!=null&&e.value!=null){this.addElement(e);return}e.querySelectorAll&&e.querySelectorAll("input,select,textarea").forEach(t=>this.addElement(t))}};function ui(s){if(s instanceof Array)return s.map(r=>ui(r)).join("");if(s instanceof HTMLElement)return s.outerHTML;if(s instanceof NodeList){for(var e="",t=0;t<s.length;t++)s[t]instanceof HTMLElement&&(e+=s[t].outerHTML);return e}return s.toString?s.toString():""}var z={dynamicResolvers:[function(s,e){if(s==="Fixed")return Number(e).toFixed();if(s.startsWith("Fixed:")){let t=s.split(":")[1];return Number(e).toFixed(parseInt(t))}},function(s,e,t){if(s==="Values"){var r=new qe;return t.implicitLoop(e,i=>r.addContainer(i)),r.result}}],String:function(s){return s.toString?s.toString():""+s},Int:function(s){return parseInt(s)},Float:function(s){return parseFloat(s)},Number:function(s){return Number(s)},Boolean:function(s){return!!s},Date:function(s){return new Date(s)},Array:function(s){return Array.from(s)},JSON:function(s){return typeof Response<"u"&&s instanceof Response?s.json():JSON.parse(s)},JSONString:function(s){return JSON.stringify(s)},Object:function(s){return s instanceof String&&(s=s.toString()),typeof s=="string"?JSON.parse(s):Object.assign({},s)},FormEncoded:function(s){return new URLSearchParams(s).toString()},Set:function(s){return new Set(s)},Map:function(s){return new Map(Object.entries(s))},Keys:function(s){return s instanceof Map?Array.from(s.keys()):Object.keys(s)},Entries:function(s){return s instanceof Map?Array.from(s.entries()):Object.entries(s)},Reversed:function(s){return Array.from(s).reverse()},Unique:function(s){return[...new Set(s)]},Flat:function(s){return Array.from(s).flat()},HTML:ui,Stream:function(){throw new Error("The Stream conversion requires the SSE extension. Include dist/ext/sse.js or dist/ext/sse.esm.js after hyperscript.")},Fragment:function(s,e){var t=document.createDocumentFragment();return e.implicitLoop(s,r=>{if(r instanceof Node)t.append(r);else{var i=document.createElement("template");i.innerHTML=r,t.append(i.content)}}),t}};var te=class{#t(){return document.cookie?document.cookie.split("; ").map(e=>{var t=e.indexOf("=");return{name:e.slice(0,t),value:decodeURIComponent(e.slice(t+1))}}):[]}get(e,t){if(t==="then")return null;if(t==="length")return this.#t().length;if(t==="clear")return n=>{document.cookie=n+"=;expires=Thu, 01 Jan 1970 00:00:00 GMT"};if(t==="clearAll")return()=>{for(let n of this.#t())document.cookie=n.name+"=;expires=Thu, 01 Jan 1970 00:00:00 GMT"};if(t===Symbol.iterator){var r=this.#t();return r[Symbol.iterator].bind(r)}else if(typeof t=="string"){if(!isNaN(t))return this.#t()[parseInt(t)];var i=this.#t().find(n=>n.name===t);return i?i.value:void 0}}set(e,t,r){var i=[];return typeof r=="string"?(i.push(encodeURIComponent(r)),i.push("samesite=lax")):(i.push(encodeURIComponent(r.value)),r.expires&&i.push("expires="+r.expires),r.maxAge&&i.push("max-age="+r.maxAge),r.partitioned&&i.push("partitioned="+r.partitioned),r.path&&i.push("path="+r.path),r.samesite&&i.push("samesite="+r.samesite),r.secure&&i.push("secure")),document.cookie=String(t)+"="+i.join(";"),!0}proxy(){return new Proxy({},this)}};var Ae=Symbol(),R=class{constructor(e,t,r,i){this._css=e,this.relativeToElement=t,this.escape=r,this._runtime=i,this[Ae]=!0}get css(){return this.escape?this._runtime.escapeSelector(this._css):this._css}get className(){return this._css.slice(1)}get id(){return this.className}contains(e){for(let t of this)if(t.contains(e))return!0;return!1}get length(){return this.selectMatches().length}[Symbol.iterator](){return this.selectMatches()[Symbol.iterator]()}selectMatches(){return this._runtime.getRootNode(this.relativeToElement).querySelectorAll(this.css)}},re=class extends R{constructor(e,t,r,i){super(e,t,!1,i),this.templateParts=r,this.elements=r.filter(n=>n instanceof Element)}get css(){let e="",t=0;for(let r of this.templateParts)r instanceof Element?e+="[data-hs-query-id='"+t+++"']":e+=r;return e}[Symbol.iterator](){this.elements.forEach((t,r)=>t.dataset.hsQueryId=r);let e=super[Symbol.iterator]();return this.elements.forEach(t=>t.removeAttribute("data-hs-query-id")),e}},Ne=class{constructor(e,t){this.re=e,this.str=t}next(){let e=this.re.exec(this.str);return e===null?{done:!0}:(e[0].length===0&&this.re.lastIndex++,{value:e})}},ie=class{constructor(e,t,r){this.re=e,this.flags=t,this.str=r}[Symbol.iterator](){return new Ne(new RegExp(this.re,this.flags),this.str)}},ne=class extends EventTarget{constructor(e){super(),this.module=e}toString(){return this.module.id}};var Ci=new te().proxy(),se=class{constructor(e,t,r,i,n,o,a,l){this.meta={parser:a,tokenizer:l,runtime:n,owner:e,feature:t,iterators:{},ctx:this},this.locals={cookies:Ci},typeof navigator<"u"&&navigator.clipboard&&Object.defineProperty(this.locals,"clipboard",{get(){return navigator.clipboard.readText()},set(u){navigator.clipboard.writeText(String(u))},enumerable:!1,configurable:!0}),typeof window<"u"&&window.getSelection&&Object.defineProperty(this.locals,"selection",{get(){return window.getSelection().toString()},enumerable:!0,configurable:!0}),this.me=r,this.you=void 0,this.result=void 0,this.beingTested=null,this.event=i,this.target=i?.target??null,this.detail=i?.detail??null,this.sender=i?.detail?.sender??null,this.body="document"in o?document.body:null,n.addFeatures(e,this)}},oe=class s{static HALT={};HALT=s.HALT;#t;#i;#s;#o;#a;#h=null;constructor(e,t,r,i,n){this.#s=e,this.#t=t,this.#i=r,this.#o=i,this.#a=n}get globalScope(){return this.#s}get reactivity(){return this.#o}unifiedExec(e,t){for(;;){try{var r=this.unifiedEval(e,t)}catch(i){if(t.meta.handlingFinally)console.error(" Exception in finally block: ",i),r=s.HALT;else if(this.registerHyperTrace(t,i),t.meta.errorHandler&&!t.meta.handlingError){t.meta.handlingError=!0,t.locals[t.meta.errorSymbol]=i,e=t.meta.errorHandler;continue}else t.meta.currentException=i,r=s.HALT}if(r==null)throw new Error("Command "+(e.type||"unknown")+" did not return a next element to execute");if(r.then){r.then(i=>{this.unifiedExec(i,t)}).catch(i=>{this.unifiedExec({resolve:function(){throw i}},t)});return}else if(r===s.HALT)if(t.meta.finallyHandler&&!t.meta.handlingFinally)t.meta.handlingFinally=!0,e=t.meta.finallyHandler;else if(t.meta.onHalt&&t.meta.onHalt(),t.meta.currentException)if(t.meta.reject){t.meta.reject(t.meta.currentException);return}else throw t.meta.currentException;else return;else e=r}}unifiedEval(e,t){var r=!1,i={};if(e.args)for(var[n,o]of Object.entries(e.args))if(o==null)i[n]=null;else if(Array.isArray(o)){for(var a=[],l=0;l<o.length;l++){var u=o[l];if(u==null)a.push(null);else if(u.evaluate){var h=u.evaluate(t);h&&h.then&&(r=!0),a.push(h)}else a.push(u)}i[n]=a}else if(o.evaluate){var h=o.evaluate(t);h&&h.then&&(r=!0),i[n]=h}else i[n]=o;return r?new Promise((f,p)=>{var c=Object.keys(i),T=Object.values(i).map(m=>Array.isArray(m)?Promise.all(m):m);Promise.all(T).then(function(m){try{var v={};c.forEach((k,b)=>v[k]=m[b]),f(e.resolve(t,v))}catch(k){p(k)}}).catch(function(m){p(m)})}):e.resolve(t,i)}findNext(e,t){if(e)return e.resolveNext?e.resolveNext(t):e.next?e.next:this.findNext(e.parent,t)}makeContext(e,t,r,i){return new se(e,t,r,i,this,this.#s,this.#t,this.#i)}getHyperscriptFeatures(e){var t=this.getInternalData(e);return t.features||(t.features={}),t.features}addFeatures(e,t){e&&(Object.assign(t.locals,this.getHyperscriptFeatures(e)),this.addFeatures(e.parentElement,t))}#n(e){return["meta","it","result","locals","event","target","detail","sender","body"].includes(e)}#p(e){return e instanceof se}resolveSymbol(e,t,r,i){if(e==="me"||e==="my"||e==="I")return t.me;if(e==="it"||e==="its")return t.beingTested??t.result;if(e==="result")return t.result;if(e==="you"||e==="your"||e==="yourself")return t.you;if(r==="global"){this.reactivity.isTracking&&this.reactivity.trackGlobalSymbol(e);var h=this.#s[e];return this.#v(h),h}if(r==="element"){this.reactivity.isTracking&&this.reactivity.trackElementSymbol(e,t.meta.owner);var h=this.#l(t)[e];return this.#v(h),h}if(r==="inherited"){var n=this.#c(e,t,i);if(this.reactivity.isTracking){var o=n.element||i||t.meta?.owner;o&&this.reactivity.trackElementSymbol(e,o)}return this.#v(n.value),n.value}if(t.meta?.context){var a=t.meta.context[e];if(typeof a<"u"||t.meta.context.detail&&(a=t.meta.context.detail[e],typeof a<"u"))return a}var l=this.#p(t)&&!this.#n(e)?t.locals[e]:t[e];if(typeof l<"u")return l;var u=this.#l(t);if(l=u[e],typeof l<"u")return this.reactivity.isTracking&&this.reactivity.trackElementSymbol(e,t.meta.owner),this.#v(l),l;this.reactivity.isTracking&&this.reactivity.trackGlobalSymbol(e);var h=this.#s[e];return this.#v(h),h}setSymbol(e,t,r,i,n){if(r==="global"){this.#s[e]=i,this.reactivity.notifyGlobalSymbol(e);return}if(r==="element"){this.#l(t)[e]=i,this.reactivity.notifyElementSymbol(e,t.meta.owner);return}if(r==="inherited"){var o=this.#c(e,t,n);if(o.element)this.getInternalData(o.element).elementScope[e]=i,this.reactivity.notifyElementSymbol(e,o.element);else{var a=n||t.meta?.owner;if(a){var l=this.getInternalData(a);l.elementScope||(l.elementScope={}),l.elementScope[e]=i,this.reactivity.notifyElementSymbol(e,a)}}return}if(this.#p(t)&&!this.#n(e)&&typeof t.locals[e]<"u"){t.locals[e]=i;return}var u=this.#l(t);typeof u[e]<"u"?(u[e]=i,this.reactivity.notifyElementSymbol(e,t.meta.owner)):this.#p(t)&&!this.#n(e)?t.locals[e]=i:t[e]=i}getInternalData(e){return e._hyperscript||(e._hyperscript={}),e._hyperscript}#c(e,t,r){for(var i=r||t.meta&&t.meta.owner;i;){var n=i._hyperscript;if(n&&n.elementScope&&e in n.elementScope)return{value:n.elementScope[e],element:i};var o=i.getAttribute&&i.getAttribute("dom-scope");if(o){if(o==="isolated")return{value:void 0,element:null};var a=o.match(/^closest\s+(.+)/);if(a){i=i.parentElement&&i.parentElement.closest(a[1]);continue}if(a=o.match(/^parent\s+of\s+(.+)/),a){var l=i.closest(a[1]);i=l&&l.parentElement;continue}}i=i.parentElement}return{value:void 0,element:null}}#l(e){var t=e.meta&&e.meta.owner;if(t){var r=this.getInternalData(t),i="elementScope";e.meta.feature&&e.meta.feature.behavior&&(i=e.meta.feature.behavior+"Scope");var n=r[i];return n||(n={},r[i]=n),n}else return{}}#u(e,t,r){if(e!=null){var i=r(e,t);if(typeof i<"u")return i;if(this.shouldAutoIterate(e)){var n=[];for(var o of e){var a=r(o,t);n.push(a)}return n}}}resolveProperty(e,t){return this.reactivity.isTracking&&this.reactivity.trackProperty(e,t),this.#u(e,t,(r,i)=>r[i])}setProperty(e,t,r){e[t]=r,this.reactivity.notifyProperty(e)}notifyMutation(e){this.reactivity.notifyProperty(e)}morph(e,t){this.#a.morph(e,t,{beforeNodeRemoved:r=>{r.nodeType===1&&this.cleanup(r)},afterNodeAdded:r=>{r.nodeType===1&&this.processNode(r)},afterNodeMorphed:r=>{r.nodeType===1&&this.processNode(r)}})}replaceInDom(e,t){this.implicitLoop(e,r=>{var i=r.parentElement;t instanceof Node?r.replaceWith(t.cloneNode(!0)):r.replaceWith(this.convertValue(t,"Fragment")),i&&this.processNode(i)})}maybeNotify(e,t){if(!(e==null||typeof e!="object")){var r=e.constructor&&e.constructor.name,i=r&&A.mutatingMethods[r];i&&i.includes(t)&&this.notifyMutation(e)}}#v(e){this.reactivity.isTracking&&e!=null&&typeof e=="object"&&this.reactivity.trackProperty(e,"__mutation__")}resolveAttribute(e,t){return this.reactivity.isTracking&&this.reactivity.trackAttribute(e,t),this.#u(e,t,(r,i)=>r.getAttribute&&r.getAttribute(i))}resolveStyle(e,t){return this.#u(e,t,(r,i)=>r.style&&r.style[i])}resolveComputedStyle(e,t){return this.#u(e,t,(r,i)=>getComputedStyle(r).getPropertyValue(i))}assignToNamespace(e,t,r,i){let n;e==null||typeof document<"u"&&e===document.body?n=this.#s:n=this.getHyperscriptFeatures(e);for(var o;(o=t.shift())!==void 0;){var a=n[o];a==null&&(a={},n[o]=a),n=a}n[r]=i}#d(e){return Array.isArray(e)||typeof NodeList<"u"&&(e instanceof NodeList||e instanceof HTMLCollection||e instanceof FileList)}#E(e){return typeof e=="object"&&Symbol.iterator in e&&typeof e[Symbol.iterator]=="function"}shouldAutoIterate(e){return e!=null&&e[Ae]||this.#d(e)}forEach(e,t){if(e!=null)if(this.#E(e))for(let i of e)t(i);else if(this.#d(e))for(var r=0;r<e.length;r++)t(e[r]);else t(e)}implicitLoop(e,t){if(this.shouldAutoIterate(e))for(let r of e)t(r);else t(e)}implicitLoopWhen(e,t,r,i,n){var o=[];this.implicitLoop(e,function(u){o.push(u)});var a=o.map(function(u){return r.beingTested=u,t.evaluate(r)});r.beingTested=null;var l=a.some(function(u){return u&&typeof u.then=="function"});if(l)return Promise.all(a).then(u=>{r.result=this.#y(o,u,i,n)});r.result=this.#y(o,a,i,n)}#y(e,t,r,i){for(var n=[],o=0;o<e.length;o++)t[o]?(r(e[o]),n.push(e[o])):i(e[o]);return n}convertValue(e,t){for(var r=z.dynamicResolvers,i=0;i<r.length;i++){var n=r[i],o=n(t,e,this);if(o!==void 0)return o}if(e==null)return null;var a=z[t];if(a)return a(e,this);throw new Error("Unknown conversion : "+t)}evaluateNoPromise(e,t){let r=e.evaluate(t);if(r&&typeof r.then=="function")throw new Error(e.sourceFor()+" returned a Promise in a context that they are not allowed.");return r}typeCheck(e,t,r){if(e==null&&r)return!0;var i=Object.prototype.toString.call(e).slice(8,-1);if(i===t)return!0;var n=typeof globalThis<"u"&&globalThis[t];return typeof n=="function"&&e instanceof n}nullCheck(e,t){if(e==null)throw new Error("'"+t.sourceFor()+"' is null")}isEmpty(e){return e==null||e.length===0}doesExist(e){if(e==null)return!1;if(this.shouldAutoIterate(e)){for(let t of e)return!0;return!1}return!0}matchesSelector(e,t){return e.matches&&e.matches(t)}makeEvent(e,t){var r=new Event(e,{bubbles:!0,cancelable:!0,composed:!0});return r.detail=t,r}triggerEvent(e,t,r,i){r=r||{},r.sender=i;var n=this.makeEvent(t,r);A.logAll&&console.log(t,r,e);var o=e.dispatchEvent(n);return o}getRootNode(e){if(e&&e instanceof Node){var t=e.getRootNode();if(t instanceof Document||t instanceof ShadowRoot)return t}return document}escapeSelector(e){return e.replace(/[:&()\[\]\/]/g,function(t){return"\\"+t})}getEventQueueFor(e,t){let r=this.getInternalData(e);var i=r.eventQueues;i==null&&(i=new Map,r.eventQueues=i);var n=i.get(t);return n==null&&(n={queue:[],executing:!1},i.set(t,n)),n}#w(){return this.#h==null&&(this.#h=A.attributes.replaceAll(" ","").split(",")),this.#h}#e(e){for(var t=this.#w(),r=0;r<t.length;r++){var i=t[r];if(e.hasAttribute&&e.hasAttribute(i))return e.getAttribute(i)}return e instanceof HTMLScriptElement&&e.type==="text/hyperscript"?e.innerText:null}#f;#x(){return this.#f||(this.#f=this.#w().map(e=>"["+e+"]").join(", ")),this.#f}#r(e){for(var t=5381,r=0;r<e.length;r++)t=(t<<5)+t+e.charCodeAt(r);return t}cleanup(e){if(e._hyperscript){this.triggerEvent(e,"hyperscript:before:cleanup");var t=e._hyperscript;if(t.listeners)for(var r of t.listeners)r.target.removeEventListener(r.event,r.handler);if(t.observers)for(var i of t.observers)i.disconnect();if(t.eventState)for(var n of t.eventState.values())n.debounced&&clearTimeout(n.debounced);if(this.reactivity.stopElementEffects(e),e.querySelectorAll)for(var o of e.querySelectorAll("[data-hyperscript-powered]"))this.cleanup(o);this.triggerEvent(e,"hyperscript:after:cleanup"),e.removeAttribute("data-hyperscript-powered"),delete e._hyperscript}}#T(e,t){if(!(e.closest&&e.closest(A.disableSelector))){var r=this.getInternalData(e),i=this.#e(e);if(i){var n=this.#r(i);if(r.initialized){if(r.scriptHash===n){this.#k(e);return}this.cleanup(e),r=this.getInternalData(e)}if(this.triggerEvent(e,"hyperscript:before:init")){r.initialized=!0,r.scriptHash=n;try{var o=this.#i.tokenize(i),a=this.#t.parseHyperScript(o);if(!a)return;if(a.errors?.length){this.triggerEvent(e,"hyperscript:parse-error",{errors:a.errors}),console.error("hyperscript: "+a.errors.length+" parse error(s) on:",e,`++`+F.formatErrors(a.errors));return}this.#k(e),a.apply(t||e,e,null,this),e.setAttribute("data-hyperscript-powered","true"),this.triggerEvent(e,"hyperscript:after:init"),setTimeout(()=>{this.triggerEvent(t||e,"load",{hyperscript:!0})},1)}catch(l){this.triggerEvent(e,"exception",{error:l}),console.error("hyperscript errors were found on the following element:",e,`++`,l.message,l.stack)}}}}}#k(e){var t=e.closest('[data-live-template], [dom-scope="isolated"]');if(!(!t||!t.__hs_scopes)){for(var r=[],i=e;i&&i!==t;){for(var n=i.previousSibling;n;){if(n.nodeType===8){var o=n.data;if(o.startsWith("hs-scope:")){r.push(o);break}}n=n.previousSibling}i=i.parentElement}if(r.length){var a=this.getInternalData(e);a.elementScope||(a.elementScope={});for(var l=0;l<r.length;l++){var u=r[l].split(":"),h=u[1],f=parseInt(u[2]),p=t.__hs_scopes[h];p&&(a.elementScope[p.identifier]=p.source[f],p.indexIdentifier&&(a.elementScope[p.indexIdentifier]=f))}}}}#g=[];#b=[];addBeforeProcessHook(e){this.#g.push(e)}addAfterProcessHook(e){this.#b.push(e)}processNode(e){for(var t of this.#g)t(e);var r=this.#x();this.matchesSelector(e,r)&&this.#T(e,e),e instanceof HTMLScriptElement&&e.type==="text/hyperscript"&&this.#T(e,document.body),e.querySelectorAll&&this.forEach(e.querySelectorAll(r+", [type='text/hyperscript']"),i=>{this.#T(i,i instanceof HTMLScriptElement&&i.type==="text/hyperscript"?document.body:i)});for(var t of this.#b)t(e)}getHyperTrace(e,t){for(var r=[],i=e;i.meta.caller;)i=i.meta.caller;if(i.meta.traceMap)return i.meta.traceMap.get(t,r)}registerHyperTrace(e,t){for(var r=[],i=null;e!=null;)r.push(e),i=e,e=e.meta.caller;if(i.meta.traceMap==null&&(i.meta.traceMap=new Map),!i.meta.traceMap.get(t)){var n={trace:r,print:function(o){o=o||console.error,o("hypertrace /// ");for(var a=0,l=0;l<r.length;l++)a=Math.max(a,r[l].meta.feature.displayName.length);for(var l=0;l<r.length;l++){var u=r[l];o(" ->",u.meta.feature.displayName.padEnd(a+2),"-",u.meta.owner)}}};i.meta.traceMap.set(t,n)}}beepValueToConsole(e,t,r){if(this.triggerEvent(e,"hyperscript:beep",{element:e,expression:t,value:r})){var i=r?r instanceof R?"ElementCollection":r.constructor?.name||"unknown":"object (null)",n=i==="String"?'"'+r+'"':r instanceof R?Array.from(r):r;console.log("///_ BEEP! The expression ("+t.sourceFor().replace("beep! ","")+") evaluates to:",n,"of type "+i)}}};function _i(s,e){return s===e?s!==0||1/s===1/e:s!==s&&e!==e}var Ie=class{constructor(e,t,r,i){this.expression=e,this.handler=t,this.element=r,this._reactivity=i,this.dependencies=new Map,this._lastValue=void 0,this._isStopped=!1,this._consecutiveTriggers=0}initialize(){var e=this._reactivity,t=e._currentEffect;e._currentEffect=this;try{this._lastValue=this.expression()}catch(r){console.error("Error in reactive expression:",r)}if(e._currentEffect=t,e._subscribeEffect(this),this._lastValue!=null)try{this.handler(this._lastValue)}catch(r){console.error("Error in reactive handler:",r)}}run(){if(this._consecutiveTriggers++,this._consecutiveTriggers>100)return console.error("Reactivity loop detected: an effect triggered 100 consecutive times without settling. This usually means an effect is modifying a variable it also depends on.",this.element||this),!1;var e=this._reactivity;e._unsubscribeEffect(this);var t=this.dependencies;this.dependencies=new Map;var r=e._currentEffect;e._currentEffect=this;var i;try{i=this.expression()}catch(n){return console.error("Error in reactive expression:",n),this.dependencies=t,e._currentEffect=r,e._subscribeEffect(this),!0}if(e._currentEffect=r,e._subscribeEffect(this),e._cleanupOrphanedDeps(t),!_i(i,this._lastValue)){this._lastValue=i;try{this.handler(i)}catch(n){console.error("Error in reactive handler:",n)}}return!0}resetTriggerCount(){this._consecutiveTriggers=0}stop(){this._isStopped||(this._isStopped=!0,this._reactivity._unsubscribeEffect(this),this._reactivity._cleanupOrphanedDeps(this.dependencies),this._reactivity._pendingEffects.delete(this))}},ae=class{constructor(){this._objectState=new WeakMap,this._globalSubscriptions=new Map,this._nextId=0,this._currentEffect=null,this._pendingEffects=new Set,this._isRunScheduled=!1}_getObjectState(e){var t=this._objectState.get(e);return t||this._objectState.set(e,t={id:String(++this._nextId),subscriptions:null,propertyHandler:null,attributeObservers:null}),t}get isTracking(){return this._currentEffect!==null}trackGlobalSymbol(e){this._currentEffect.dependencies.set("symbol:global:"+e,{type:"symbol",name:e,scope:"global"})}trackElementSymbol(e,t){if(t){var r=this._getObjectState(t).id;this._currentEffect.dependencies.set("symbol:element:"+e+":"+r,{type:"symbol",name:e,scope:"element",element:t})}}trackProperty(e,t){e==null||typeof e!="object"||e._hsSkipTracking||this._currentEffect.dependencies.set("property:"+this._getObjectState(e).id,{type:"property",object:e,name:t})}trackAttribute(e,t){e instanceof Element&&this._currentEffect.dependencies.set("attribute:"+t+":"+this._getObjectState(e).id,{type:"attribute",element:e,name:t})}notifyGlobalSymbol(e){var t=this._globalSubscriptions.get(e);if(t)for(var r of t)this._scheduleEffect(r)}notifyElementSymbol(e,t){if(t){var r=this._getObjectState(t);if(r.subscriptions){var i=r.subscriptions.get(e);if(i)for(var n of i)this._scheduleEffect(n)}}}notifyProperty(e){if(!(e==null||typeof e!="object"||e._hsSkipTracking)){var t=this._objectState.get(e);t&&t.propertyHandler&&t.propertyHandler.queueAll()}}_scheduleEffect(e){if(!e._isStopped&&(this._pendingEffects.add(e),!this._isRunScheduled)){this._isRunScheduled=!0;var t=this;queueMicrotask(function(){t._runPendingEffects()})}}_runPendingEffects(){this._isRunScheduled=!1;var e=Array.from(this._pendingEffects);this._pendingEffects.clear();for(var t=0;t<e.length;t++){var r=e[t];if(!r._isStopped){if(r.element&&!r.element.isConnected){r.stop();continue}r.run()}}if(this._pendingEffects.size===0)for(var t=0;t<e.length;t++)e[t]._isStopped||e[t].resetTriggerCount()}_subscribeEffect(e){var t=this;for(var[r,i]of e.dependencies)if(i.type==="symbol"&&i.scope==="global")t._globalSubscriptions.has(i.name)||t._globalSubscriptions.set(i.name,new Set),t._globalSubscriptions.get(i.name).add(e);else if(i.type==="symbol"&&i.scope==="element"){var n=t._getObjectState(i.element);n.subscriptions||(n.subscriptions=new Map),n.subscriptions.has(i.name)||n.subscriptions.set(i.name,new Set),n.subscriptions.get(i.name).add(e)}else i.type==="attribute"?t._subscribeAttributeDependency(i.element,i.name,e):i.type==="property"&&t._subscribePropertyDependency(i.object,i.name,e)}_subscribeAttributeDependency(e,t,r){var i=this,n=i._getObjectState(e);if(n.attributeObservers||(n.attributeObservers={}),!n.attributeObservers[t]){var o=new Set,a=new MutationObserver(function(){for(var l of o)i._scheduleEffect(l)});a.observe(e,{attributes:!0,attributeFilter:[t]}),n.attributeObservers[t]={effects:o,observer:a}}n.attributeObservers[t].effects.add(r)}_subscribePropertyDependency(e,t,r){var i=this,n=i._getObjectState(e);if(!n.propertyHandler){var o=new Set,a=function(){for(var u of o)i._scheduleEffect(u)},l;e instanceof Element?(e.addEventListener("input",a),e.addEventListener("change",a),l=function(){e.removeEventListener("input",a),e.removeEventListener("change",a)}):l=function(){},n.propertyHandler={effects:o,queueAll:a,remove:l}}n.propertyHandler.effects.add(r)}_unsubscribeEffect(e){var t=this;for(var[r,i]of e.dependencies)if(i.type==="symbol"&&i.scope==="global"){var n=t._globalSubscriptions.get(i.name);n&&(n.delete(e),n.size===0&&t._globalSubscriptions.delete(i.name))}else if(i.type==="symbol"&&i.scope==="element"){var o=t._getObjectState(i.element);if(o.subscriptions){var n=o.subscriptions.get(i.name);n&&(n.delete(e),n.size===0&&o.subscriptions.delete(i.name))}}else if(i.type==="attribute"&&i.element){var o=t._getObjectState(i.element);o.attributeObservers&&o.attributeObservers[i.name]&&o.attributeObservers[i.name].effects.delete(e)}else if(i.type==="property"&&i.object){var o=t._getObjectState(i.object);o.propertyHandler&&o.propertyHandler.effects.delete(e)}}_cleanupOrphanedDeps(e){var t=this;for(var[r,i]of e)if(i.type==="attribute"&&i.element){var n=t._getObjectState(i.element);if(n.attributeObservers&&n.attributeObservers[i.name]){var o=n.attributeObservers[i.name];o.effects.size===0&&(o.observer.disconnect(),delete n.attributeObservers[i.name])}}else if(i.type==="property"&&i.object){var n=t._getObjectState(i.object);n.propertyHandler&&n.propertyHandler.effects.size===0&&(n.propertyHandler.remove(),n.propertyHandler=null)}}createEffect(e,t,r){var i=new Ie(e,t,r&&r.element||null,this);if(i.initialize(),i.element){var n=i.element._hyperscript??={};n.effects??=new Set,n.effects.add(i)}return function(){i.stop()}}stopElementEffects(e){var t=e._hyperscript;if(!(!t||!t.effects)){for(var r of t.effects)r.stop();delete t.effects}}};var le=class{morph(e,t,r={}){var i;if(typeof t=="string"){var n=document.createElement("template");n.innerHTML=t,i=n.content}else if(t instanceof DocumentFragment)i=t;else if(t instanceof Element)i=document.createDocumentFragment(),i.append(t.cloneNode(!0));else throw new Error("morph requires an HTML string, element, or document fragment");var o=i.firstElementChild;o&&!o.nextElementSibling&&o.tagName===e.tagName&&(vi(e,o),i=o);var{persistentIds:a,idMap:l}=Hi(e,i),u=document.createElement("div");u.hidden=!0,(document.body||e.parentElement).after(u);var h={target:e,idMap:l,persistentIds:a,pantry:u,futureMatches:new WeakSet,callbacks:r};mi(h,e,i),r.beforeNodeRemoved?.(u),u.remove()}};function mi(s,e,t,r=null,i=null){e instanceof HTMLTemplateElement&&t instanceof HTMLTemplateElement&&(e=e.content,t=t.content),r||=e.firstChild;let n=t.firstChild;for(;n;){let o;if(r&&r!==i&&(o=Pi(s,n,r,i),o&&o!==r)){let l=r;for(;l&&l!==o;){let u=l;l=l.nextSibling,u instanceof Element&&(s.idMap.has(u)||pi(s,u,n))?Le(e,u,i):ci(s,u)}}if(!o&&n instanceof Element&&s.persistentIds.has(n.id)){let l=CSS.escape(n.id);o=s.target.id===n.id&&s.target||s.target.querySelector('[id="'+l+'"]')||s.pantry.querySelector('[id="'+l+'"]');let u=o;for(;u=u.parentNode;){let h=s.idMap.get(u);h&&(h.delete(o.id),h.size||s.idMap.delete(u))}Le(e,o,r)}if(o){hi(o,n,s),r=o.nextSibling,n=n.nextSibling;continue}let a=n.nextSibling;if(s.idMap.has(n)){let l=document.createElement(n.tagName);e.insertBefore(l,r),hi(l,n,s),r=l.nextSibling}else e.insertBefore(n,r),s.callbacks.afterNodeAdded?.(n),r=n.nextSibling;n=a}for(;r&&r!==i;){let o=r;r=r.nextSibling,ci(s,o)}}function hi(s,e,t){s instanceof Element&&(vi(s,e),s instanceof HTMLTextAreaElement&&s.defaultValue!==e.defaultValue&&(s.value=e.value),(!s.isEqualNode(e)||e.tagName==="TEMPLATE"||e.querySelector?.("template"))&&mi(t,s,e),t.callbacks.afterNodeMorphed?.(s))}function Pi(s,e,t,r){if(!(e instanceof Element))return null;var i=null,n=0,o=10,a=s.idMap.get(e),l=a?.size||0;if(e.id&&!a)return null;for(var u=t;u&&u!==r;){var h=s.idMap.get(u);if(Di(u,e)){if(h&&a&&[...h].some(f=>a.has(f)))return u;if(!h){if(o>0&&u.isEqualNode(e))return u;i||(i=u)}}if(n+=h?.size||0,n>l||u.contains(document.activeElement)||--o<1&&l===0)break;u=u.nextSibling}return i&&pi(s,i,e)?null:i}function pi(s,e,t){if(s.futureMatches.has(e))return!0;for(var r=t.nextSibling,i=0;r&&i<10;r=r.nextSibling,i++)if(r instanceof Element&&e.isEqualNode(r))return s.futureMatches.add(e),!0;return!1}function ci(s,e){s.idMap.has(e)?Le(s.pantry,e,null):(s.callbacks.beforeNodeRemoved?.(e),e.remove())}function Le(s,e,t){if(s.moveBefore)try{s.moveBefore(e,t);return}catch{}s.insertBefore(e,t)}function vi(s,e){for(var t of e.attributes)s.getAttribute(t.name)!==t.value&&(s.setAttribute(t.name,t.value),t.name==="value"&&s instanceof HTMLInputElement&&s.type!=="file"&&(s.value=t.value));for(var r=s.attributes.length-1;r>=0;r--){var t=s.attributes[r];t&&!e.hasAttribute(t.name)&&s.removeAttribute(t.name)}}function Di(s,e){return!(s instanceof Element)||s.tagName!==e.tagName||s.tagName==="SCRIPT"&&!s.isEqualNode(e)?!1:!s.id||s.id===e.id}function Hi(s,e){var t=ji(s,"[id]"),r=e.querySelectorAll("[id]"),i=Wi(t,r),n=new Map;return fi(n,i,s.parentElement,t),fi(n,i,e,r),{persistentIds:i,idMap:n}}function Wi(s,e){var t=new Set,r=new Map;for(var{id:i,tagName:n}of s)r.has(i)?t.add(i):i&&r.set(i,n);var o=new Set;for(var{id:i,tagName:n}of e)o.has(i)?t.add(i):r.get(i)===n&&o.add(i);for(var i of t)o.delete(i);return o}function fi(s,e,t,r){for(var i of r)if(e.has(i.id))for(var n=i;n&&n!==t;){var o=s.get(n);o==null&&(o=new Set,s.set(n,o)),o.add(i.id),n=n.parentElement}}function ji(s,e){var t=[...s.querySelectorAll?.(e)??[]];return s.matches?.(e)&&t.unshift(s),t}var ue=class s{#t=!1;constructor(e,t){this.globalScope=e,this.hyperscript=t}init(){var e=this,t=this.globalScope,r=this.hyperscript;t.document.addEventListener("htmx:load",function(i){e.#t=!0,r.process(i.detail.elt),e.#t=!1}),t.document.addEventListener("htmx:after:process",function(i){e.#t=!0,r.process(i.target),e.#t=!1}),typeof htmx<"u"&&(r.addAfterProcessHook(function(i){e.#t||htmx.process(i)}),htmx.version?.startsWith("4")&&htmx.registerExtension("hs-include",{htmx_config_request:function(i,n){var o=n?.ctx;if(o){var a=o.sourceElement||i,l=s.#i(a);if(l){var u=s.#h(l.value,l.scopeElt),h=o.request?.body;if(h instanceof FormData)for(var f in u)h.set(f,u[f])}}}}))}static#i(e){var t=e.getAttribute("hs-include");if(t!==null)return{value:t,scopeElt:e};for(var r=e.parentElement;r;){if(t=r.getAttribute("hs-include:inherited"),t!==null)return{value:t,scopeElt:r};r=r.parentElement}return null}static#s(e){return e?._hyperscript?.elementScope||{}}static#o(e){if(e==null)return"";if(typeof e=="object")try{return JSON.stringify(e)}catch{return""}return String(e)}static#a(e,t){for(var r=t;r;){var i=r._hyperscript?.elementScope;if(i&&e in i)return i[e];r=r.parentElement}}static#h(e,t){var r={},i=e.trim();if(i==="*"){var n=this.#s(t);for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[o[0]===":"?o.slice(1):o]=this.#o(n[o]));return r}var a=this;return i.split(",").forEach(function(l){if(l=l.trim(),!!l){if(l[0]===":"){var u=l.slice(1),h=a.#s(t),f=":"+u;f in h&&(r[u]=a.#o(h[f]))}else if(l[0]==="^"){var u=l.slice(1),p=a.#a(":"+u,t);p!==void 0&&(r[u]=a.#o(p))}else if(l[0]==="#"){var c=l.lastIndexOf(":");if(c>0){var T=l.slice(0,c),u=l.slice(c+1),m=document.querySelector(T);if(m){var h=a.#s(m),f=":"+u;f in h&&(r[u]=a.#o(h[f]))}}}}}),r}};var tt={};N(tt,{ArrayIndex:()=>Be,AsExpression:()=>je,AttributeRefAccess:()=>G,BeepExpression:()=>_e,BlockLiteral:()=>Me,CollectionExpression:()=>Ye,ComparisonOperator:()=>Ge,DotOrColonPath:()=>et,FunctionCall:()=>Ue,InExpression:()=>We,LogicalNot:()=>Re,LogicalOperator:()=>$e,MathOperator:()=>ze,NegativeNumber:()=>Fe,OfExpression:()=>De,ParenthesizedExpression:()=>Oe,PossessiveExpression:()=>He,PropertyAccess:()=>Pe,SymbolRef:()=>Ce});var Oe=class s extends y{static grammarName="parenthesized";static expressionType="leaf";constructor(e){super(),this.expr=e,this.args={value:e}}static parse(e){if(e.matchOpToken("(")){var t=e.clearFollows();try{var r=e.requireElement("expression")}finally{e.restoreFollows(t)}return e.requireOpToken(")"),new s(r)}}resolve(e,{value:t}){return t}},Me=class s extends y{static grammarName="blockLiteral";static expressionType="leaf";constructor(e,t){super(),this.params=e,this.expr=t}static parse(e){if(e.matchOpToken("\\")){var t=[],r=e.matchTokenType("IDENTIFIER");if(r)for(t.push(r);e.matchOpToken(",");)t.push(e.requireTokenType("IDENTIFIER"));e.requireOpToken("-"),e.requireOpToken(">");var i=e.requireElement("expression");return new s(t,i)}}resolve(e){var t=this.params,r=this.expr;return function(){for(var i=0;i<t.length;i++)e.locals[t[i].value]=arguments[i];return r.evaluate(e)}}},Fe=class s extends y{static grammarName="negativeNumber";constructor(e){super(),this.root=e,this.args={value:e}}static parse(e){if(e.matchOpToken("-")){var t=e.requireElement("negativeNumber");return new s(t)}else return e.requireElement("primaryExpression")}resolve(e,{value:t}){return-t}},Re=class s extends y{static grammarName="logicalNot";static expressionType="unary";constructor(e){super(),this.root=e,this.args={value:e}}static parse(e){if(e.matchToken("not")){var t=e.requireElement("unaryExpression");return new s(t)}}resolve(e,{value:t}){return!t}},Ce=class s extends y{static grammarName="symbol";static assignable=!0;constructor(e,t,r,i){super(),this.token=e,this.scope=t,this.name=r,this.targetExpr=i||null}static parse(e){var t=null;e.matchToken("global")?t="global":e.matchToken("element")?(t="element",e.matchOpToken("'")&&e.requireToken("s")):e.matchToken("dom")?t="inherited":e.matchToken("local")&&(t="local");let r=e.matchOpToken(":"),i=!r&&e.matchOpToken("^"),n=e.matchTokenType("IDENTIFIER");if(n&&n.value){var o=n.value;r?o=":"+o:i&&(o="^"+o),t===null&&(o.startsWith("$")?t="global":o.startsWith(":")?t="element":o.startsWith("^")?t="inherited":t="local");var a=null;if(t==="inherited"&&e.matchToken("on")){var l=e.pushFollows("to","into","before","after","then");try{a=e.requireElement("expression")}finally{e.popFollows(l)}}return new s(n,t,o,a)}}resolve(e){return e.meta.runtime.resolveSymbol(this.name,e,this.scope,this.targetExpr?this.targetExpr.evaluate(e):null)}get lhs(){return{}}set(e,t,r){e.meta.runtime.setSymbol(this.name,e,this.scope,r,this.targetExpr?this.targetExpr.evaluate(e):null)}},_e=class s extends y{static grammarName="beepExpression";static expressionType="unary";constructor(e){super(),this.expression=e,this.expression.booped=!0,this.args={value:e}}static parse(e){if(e.matchToken("beep!")){var t=e.parseElement("unaryExpression");if(t)return new s(t)}}resolve(e,{value:t}){return e.meta.runtime.beepValueToConsole(e.me,this.expression,t),t}},Pe=class s extends y{static grammarName="propertyAccess";static expressionType="indirect";static assignable=!0;constructor(e,t){super(),this.root=e,this.prop=t,this.args={root:e}}static parse(e,t){if(e.matchOpToken(".")){var r=e.requireTokenType("IDENTIFIER"),i=new s(t,r);return e.parseElement("indirectExpression",i)}}resolve(e,{root:t}){return e.meta.runtime.resolveProperty(t,this.prop.value)}get lhs(){return{root:this.root}}set(e,t,r){e.meta.runtime.nullCheck(t.root,this.root);var i=e.meta.runtime;i.implicitLoop(t.root,n=>{i.setProperty(n,this.prop.value,r)})}delete(e,t){e.meta.runtime.nullCheck(t.root,this.root);var r=e.meta.runtime,i=this.prop.value;r.implicitLoop(t.root,n=>{delete n[i],r.notifyMutation(n)})}},De=class s extends y{static grammarName="ofExpression";static expressionType="indirect";static assignable=!0;constructor(e,t,r,i,n,o){super(),this.prop=e,this.root=t,this.attribute=r,this.expression=i,this.args=n,this._urRoot=o,this._prop=o.name,this._isAttribute=o.type==="attributeRef",this._isStyle=o.type==="styleRef",this._isComputed=o.type==="computedStyleRef"}static parse(e,t){if(e.matchToken("of")){for(var r=e.requireElement("unaryExpression"),i=null,n=t;n.root;)i=n,n=n.root;var o=["symbol","attributeRef","styleRef","computedStyleRef"];o.includes(n.type)||e.raiseError("Cannot take a property of a non-symbol: "+n.type);var a=n.type==="attributeRef",l=n.type==="styleRef"||n.type==="computedStyleRef",u=a||l?n:null,h=n.name,f=new s(n.token,r,u,t,{root:r},n);return n.type==="attributeRef"&&(f.attribute=n),i?(i.root=f,i.args={root:f}):t=f,e.parseElement("indirectExpression",t)}}resolve(e,{root:t}){return this._isAttribute?e.meta.runtime.resolveAttribute(t,this._prop):this._isComputed?e.meta.runtime.resolveComputedStyle(t,this._prop):this._isStyle?e.meta.runtime.resolveStyle(t,this._prop):e.meta.runtime.resolveProperty(t,this._prop)}get lhs(){return{root:this.root}}set(e,t,r){if(e.meta.runtime.nullCheck(t.root,this.root),this._isAttribute)e.meta.runtime.implicitLoop(t.root,n=>{r==null?n.removeAttribute(this._prop):n.setAttribute(this._prop,r)});else if(this._isStyle)e.meta.runtime.implicitLoop(t.root,n=>{n.style[this._prop]=r});else{var i=e.meta.runtime;i.implicitLoop(t.root,n=>{i.setProperty(n,this._prop,r)})}}delete(e,t){e.meta.runtime.nullCheck(t.root,this.root);var r=e.meta.runtime,i=this._prop;this._isAttribute?r.implicitLoop(t.root,n=>n.removeAttribute(i)):this._isStyle?r.implicitLoop(t.root,n=>n.style.removeProperty(i)):r.implicitLoop(t.root,n=>{delete n[i],r.notifyMutation(n)})}},He=class s extends y{static grammarName="possessive";static expressionType="indirect";static assignable=!0;constructor(e,t,r){super(),this.root=e,this.attribute=t,this.prop=r,this.args={root:e}}static parse(e,t){var r=e.matchOpToken("'");if(r||t.type==="symbol"&&(t.name==="my"||t.name==="its"||t.name==="your")&&(e.currentToken().type==="IDENTIFIER"||e.currentToken().type==="ATTRIBUTE_REF"||e.currentToken().type==="STYLE_REF")){r&&e.requireToken("s");var i,n,o;i=e.parseElement("attributeRef"),i==null&&(n=e.parseElement("styleRef"),n==null&&(o=e.requireTokenType("IDENTIFIER")));var a=new s(t,i||n,o);return e.parseElement("indirectExpression",a)}}resolve(e,{root:t}){var r;return this.attribute?this.attribute.type==="computedStyleRef"?r=e.meta.runtime.resolveComputedStyle(t,this.attribute.name):this.attribute.type==="styleRef"?r=e.meta.runtime.resolveStyle(t,this.attribute.name):r=e.meta.runtime.resolveAttribute(t,this.attribute.name):r=e.meta.runtime.resolveProperty(t,this.prop.value),r}get lhs(){return{root:this.root}}set(e,t,r){if(e.meta.runtime.nullCheck(t.root,this.root),this.attribute){var i=this.attribute.name;this.attribute.type==="styleRef"?e.meta.runtime.implicitLoop(t.root,a=>{a.style[i]=r}):e.meta.runtime.implicitLoop(t.root,a=>{r==null?a.removeAttribute(i):a.setAttribute(i,r)})}else{var n=e.meta.runtime,o=this.prop.value;n.implicitLoop(t.root,a=>{n.setProperty(a,o,r)})}}},We=class s extends y{static grammarName="inExpression";static expressionType="indirect";static assignable=!0;constructor(e,t){super(),this.root=e,this.target=t,this.args={root:e,target:t}}static parse(e,t){if(e.matchToken("in")){var r=e.requireElement("unaryExpression"),i=new s(t,r);return e.parseElement("indirectExpression",i)}}resolve(e,{root:t,target:r}){if(t==null)return[];var i=[];if(t.css)e.meta.runtime.implicitLoop(r,function(o){for(var a=o.querySelectorAll(t.css),l=0;l<a.length;l++)i.push(a[l])});else if(t instanceof Element){var n=!1;if(e.meta.runtime.implicitLoop(r,function(o){o.contains(t)&&(n=!0)}),n)return t}else e.meta.runtime.implicitLoop(t,function(o){e.meta.runtime.implicitLoop(r,function(a){o===a&&i.push(o)})});return i}get lhs(){return{root:this.root,target:this.target}}set(e,t,r){var i=this.resolve(e,t);e.meta.runtime.replaceInDom(i,r)}},je=class s extends y{static grammarName="asExpression";static expressionType="indirect";constructor(e,t){super(),this.root=e,this.conversion=t,this.args={root:e}}static parse(e,t){if(e.matchToken("as")){e.matchToken("a")||e.matchToken("an");for(var r=e.requireElement("dotOrColonPath").evalStatically(),i=new s(t,r);e.matchOpToken("|");)r=e.requireElement("dotOrColonPath").evalStatically(),i=new s(i,r);return e.parseElement("indirectExpression",i)}}resolve(e,{root:t}){return e.meta.runtime.convertValue(t,this.conversion)}},Ue=class s extends y{static grammarName="functionCall";static expressionType="indirect";constructor(e,t,r,i){super(),this.root=e,this.argExpressions=t,this.args=r,this._isMethodCall=i,this._parseRoot=e}static parse(e,t){if(e.matchOpToken("(")){var r=[];if(!e.matchOpToken(")")){do r.push(e.requireElement("expression"));while(e.matchOpToken(","));e.requireOpToken(")")}var i;return t.root?i=new s(t,r,{target:t.root,argVals:r},!0):i=new s(t,r,{target:t,argVals:r},!1),e.parseElement("indirectExpression",i)}}resolve(e,{target:t,argVals:r}){if(this._isMethodCall){e.meta.runtime.nullCheck(t,this._parseRoot.root);var i=this._parseRoot.prop.value,n=t[i];e.meta.runtime.nullCheck(n,this._parseRoot),n.hyperfunc&&r.push(e);var o=n.apply(t,r);return e.meta.runtime.maybeNotify(t,i),o}else return e.meta.runtime.nullCheck(t,this._parseRoot),t.hyperfunc&&r.push(e),t(...r)}},G=class s extends y{static grammarName="attributeRefAccess";static expressionType="indirect";static assignable=!0;constructor(e,t){super(),this.root=e,this.attribute=t,this.args={root:e}}static parse(e,t){var r=e.parseElement("attributeRef");if(r)return new s(t,r)}resolve(e,{root:t}){return e.meta.runtime.resolveAttribute(t,this.attribute.name)}get lhs(){return{root:this.root}}set(e,t,r){e.meta.runtime.nullCheck(t.root,this.root),e.meta.runtime.implicitLoop(t.root,i=>{r==null?i.removeAttribute(this.attribute.name):i.setAttribute(this.attribute.name,r)})}},Be=class s extends y{static grammarName="arrayIndex";static expressionType="indirect";static assignable=!0;constructor(e,t,r,i,n){super(),this.root=e,this.prop=t,this.firstIndex=t,this.secondIndex=r,this.andBefore=i,this.andAfter=n,this.args={root:e,firstIndex:t,secondIndex:r}}static parse(e,t){if(e.matchOpToken("[")){var r=!1,i=!1,n=null,o=null;if(e.matchOpToken(".."))r=!0,n=e.requireElement("expression");else if(n=e.requireElement("expression"),e.matchOpToken("..")){i=!0;var a=e.currentToken();a.type!=="R_BRACKET"&&(o=e.parseElement("expression"))}e.requireOpToken("]");var l=new s(t,n,o,r,i);return e.parseElement("indirectExpression",l)}}resolve(e,{root:t,firstIndex:r,secondIndex:i}){return t==null?null:this.andBefore?(r<0&&(r=t.length+r),t.slice(0,r+1)):this.andAfter?i!=null?(i<0&&(i=t.length+i),t.slice(r,i+1)):t.slice(r):t[r]}get lhs(){return{root:this.root,index:this.firstIndex}}set(e,t,r){e.meta.runtime.nullCheck(t.root,this.root),t.root[t.index]=r}delete(e,t){if(this.andBefore||this.andAfter)throw new Error("Cannot remove a slice - use a single index");e.meta.runtime.nullCheck(t.root,this.root);var r=e.meta.runtime,i=t.root,n=t.index;Array.isArray(i)?(n<0&&(n=i.length+n),i.splice(n,1)):delete i[n],r.notifyMutation(i)}},ze=class s extends y{static grammarName="mathOperator";constructor(e,t,r){super(),this.lhs=e,this.rhs=r,this.operator=t,this.args={lhs:e,rhs:r}}static parse(e){var t=e.parseElement("collectionExpression"),r,i=null;for(r=e.matchAnyOpToken("+","-","*","/")||e.matchToken("mod");r;){i=i||r;var n=r.value;i.value!==n&&e.raiseError("You must parenthesize math operations with different operators");var o=e.parseElement("collectionExpression");t=new s(t,n,o),r=e.matchAnyOpToken("+","-","*","/")||e.matchToken("mod")}return t}resolve(e,{lhs:t,rhs:r}){if(this.operator==="+")return Array.isArray(t)?t.concat(r):t+r;if(this.operator==="-")return t-r;if(this.operator==="*")return t*r;if(this.operator==="/")return t/r;if(this.operator==="mod")return t%r}},Ge=class s extends y{static grammarName="comparisonOperator";constructor(e,t,r,i,n,o,a){super(),this.operator=t,this.typeName=i,this.nullOk=n,this.ignoringCase=o,this.lhs=e,this.rhs=r,this.rhs2=a,this.args={lhs:e,rhs:r,rhs2:a}}sloppyContains(e,t,r){if(t.contains)return t.contains(r);if(t.includes)return t.includes(r);throw new Error("The value of "+e.sourceFor()+" does not have a contains or includes method on it")}sloppyMatches(e,t,r){if(t.match)return!!t.match(r);if(t.matches)return t.matches(r);throw new Error("The value of "+e.sourceFor()+" does not have a match or matches method on it")}static parse(e){var t=e.parseElement("mathOperator"),r=e.matchAnyOpToken("<",">","<=",">=","==","===","!=","!=="),i=r?r.value:null,n=!0,o=!1;if(i==null&&(e.matchToken("is")||e.matchToken("am")?e.matchToken("not")?e.matchToken("in")?i="not in":e.matchToken("a")||e.matchToken("an")?(i="not a",o=!0):e.matchToken("empty")?(i="not empty",n=!1):e.matchToken("between")?i="not between":e.matchToken("really")?(i="!==",e.matchToken("equal")&&e.matchToken("to")):e.matchToken("equal")?(e.matchToken("to"),i="!="):i="is not":e.matchToken("in")?i="in":e.matchToken("a")||e.matchToken("an")?(i="a",o=!0):e.matchToken("empty")?(i="empty",n=!1):e.matchToken("between")?i="between":e.matchToken("less")?(e.requireToken("than"),e.matchToken("or")?(e.requireToken("equal"),e.requireToken("to"),i="<="):i="<"):e.matchToken("greater")?(e.requireToken("than"),e.matchToken("or")?(e.requireToken("equal"),e.requireToken("to"),i=">="):i=">"):e.matchToken("really")?(i="===",e.matchToken("equal")&&e.matchToken("to")):e.matchToken("equal")?(e.matchToken("to"),i="=="):i="is":e.matchToken("equals")?i="==":e.matchToken("really")?(e.requireToken("equals"),i="==="):e.matchToken("exist")||e.matchToken("exists")?(i="exist",n=!1):e.matchToken("matches")||e.matchToken("match")?i="match":e.matchToken("contains")||e.matchToken("contain")?i="contain":e.matchToken("includes")||e.matchToken("include")?i="include":e.matchToken("starts")?(e.requireToken("with"),i="start with"):e.matchToken("ends")?(e.requireToken("with"),i="end with"):e.matchToken("precedes")||e.matchToken("precede")?i="precede":e.matchToken("follows")||e.matchToken("follow")?i="follow":(e.matchToken("do")||e.matchToken("does"))&&(e.requireToken("not"),e.matchToken("matches")||e.matchToken("match")?i="not match":e.matchToken("contains")||e.matchToken("contain")?i="not contain":e.matchToken("exist")?(i="not exist",n=!1):e.matchToken("include")?i="not include":e.matchToken("start")?(e.requireToken("with"),i="not start with"):e.matchToken("end")?(e.requireToken("with"),i="not end with"):e.matchToken("precede")?i="not precede":e.matchToken("follow")?i="not follow":e.raiseExpected("matches","contains","starts with","ends with","precede","follow"))),i){var a,l,u;o?(a=e.requireTokenType("IDENTIFIER"),l=!e.matchOpToken("!")):n&&(u=e.requireElement("mathOperator"),(i==="match"||i==="not match")&&(u=u.css?u.css:u));var h=null;(i==="between"||i==="not between")&&(e.requireToken("and"),h=e.requireElement("mathOperator"));var f=!1;e.matchToken("ignoring")&&(e.requireToken("case"),f=!0);var p=t;t=new s(p,i,u,a,l,f,h)}return t}resolve(e,{lhs:t,rhs:r,rhs2:i}){let n=this.operator,o=this.lhs,a=this.rhs,l=this.typeName,u=this.nullOk;if(this.ignoringCase&&(typeof t=="string"&&(t=t.toLowerCase()),typeof r=="string"&&(r=r.toLowerCase())),n==="is")return r===void 0&&a.type==="symbol"&&a.scope==="local"&&a.name!=="undefined"&&a.name!=="null"?!!e.meta.runtime.resolveProperty(t,a.name):t==r;if(n==="is not")return r===void 0&&a.type==="symbol"&&a.scope==="local"&&a.name!=="undefined"&&a.name!=="null"?!e.meta.runtime.resolveProperty(t,a.name):t!=r;if(n==="==")return t==r;if(n==="!=")return t!=r;if(n==="===")return t===r;if(n==="!==")return t!==r;if(n==="<")return t<r;if(n===">")return t>r;if(n==="<=")return t<=r;if(n===">=")return t>=r;if(n==="match")return t!=null&&this.sloppyMatches(o,t,r);if(n==="not match")return t==null||!this.sloppyMatches(o,t,r);if(n==="in")return r!=null&&this.sloppyContains(a,r,t);if(n==="not in")return r==null||!this.sloppyContains(a,r,t);if(n==="contain"||n==="include")return t!=null&&this.sloppyContains(o,t,r);if(n==="not contain"||n==="not include")return t==null||!this.sloppyContains(o,t,r);if(n==="start with")return t!=null&&String(t).startsWith(r);if(n==="not start with")return t==null||!String(t).startsWith(r);if(n==="end with")return t!=null&&String(t).endsWith(r);if(n==="not end with")return t==null||!String(t).endsWith(r);if(n==="between")return t>=r&&t<=i;if(n==="not between")return t<r||t>i;if(n==="precede")return t!=null&&r!=null&&(t.compareDocumentPosition(r)&Node.DOCUMENT_POSITION_FOLLOWING)!==0;if(n==="not precede")return t==null||r==null||(t.compareDocumentPosition(r)&Node.DOCUMENT_POSITION_FOLLOWING)===0;if(n==="follow")return t!=null&&r!=null&&(t.compareDocumentPosition(r)&Node.DOCUMENT_POSITION_PRECEDING)!==0;if(n==="not follow")return t==null||r==null||(t.compareDocumentPosition(r)&Node.DOCUMENT_POSITION_PRECEDING)===0;if(n==="empty")return e.meta.runtime.isEmpty(t);if(n==="not empty")return!e.meta.runtime.isEmpty(t);if(n==="exist")return e.meta.runtime.doesExist(t);if(n==="not exist")return!e.meta.runtime.doesExist(t);if(n==="a")return e.meta.runtime.typeCheck(t,l.value,u);if(n==="not a")return!e.meta.runtime.typeCheck(t,l.value,u);throw new Error("Unknown comparison : "+n)}},$e=class s extends y{static grammarName="logicalOperator";static expressionType="top";constructor(e,t,r){super(),this.operator=t,this.lhs=e,this.rhs=r,this.args={lhs:e,rhs:r}}static parse(e){var t=e.parseElement("comparisonOperator"),r,i=null;for(r=e.matchToken("and")||e.matchToken("or");r;){i=i||r,i.value!==r.value&&e.raiseError("You must parenthesize logical operations with different operators");var n=e.requireElement("comparisonOperator");let o=r.value;t=new s(t,o,n),r=e.matchToken("and")||e.matchToken("or")}return t}resolve(e,{lhs:t,rhs:r}){return this.operator==="and"?t&&r:t||r}evaluate(e){var t=this,r=this.operator==="or",i=this.lhs.evaluate(e),n=function(o){if(!!o===r)return o;var a=t.rhs.evaluate(e);return a&&a.then?a.then(l=>t.resolve(e,{lhs:o,rhs:l})):t.resolve(e,{lhs:o,rhs:a})};return i&&i.then?i.then(n):n(i)}},Qe=class extends y{constructor(e,t){super(),this.type="dotOrColonPath",this.path=e,this.separator=t}evalStatically(){return this.path.join(this.separator?this.separator:"")}resolve(){return this.evalStatically()}},Ye=class extends y{static grammarName="collectionExpression";static KEYWORDS=["where","sorted","mapped","split","joined"];static parseOperand(e){var t=e.pushFollows(...this.KEYWORDS);try{return e.requireElement("expression")}finally{e.popFollows(t)}}static parse(e){for(var t=e.parseElement("unaryExpression"),r=!0;r;)if(r=!1,e.matchToken("where"))t=new Ke(t,this.parseOperand(e)),r=!0;else if(e.matchToken("sorted")){e.requireToken("by");var i=this.parseOperand(e),n=e.matchToken("descending");t=new Je(t,i,!!n),r=!0}else e.matchToken("mapped")?(e.requireToken("to"),t=new Xe(t,this.parseOperand(e)),r=!0):e.matchToken("split")?(e.requireToken("by"),t=new Ze(t,this.parseOperand(e)),r=!0):e.matchToken("joined")&&(e.requireToken("by"),t=new Ve(t,this.parseOperand(e)),r=!0);return t}},Ke=class extends y{constructor(e,t){super(),this.root=e,this.condition=t,this.args={root:e}}resolve(e,{root:t}){if(!t)return t;for(var r=[],i=Array.from(t),n=0;n<i.length;n++)e.beingTested=i[n],this.varName&&(e.locals[this.varName]=i[n]),this.condition.evaluate(e)&&r.push(i[n]);return e.beingTested=null,r}},Je=class extends y{constructor(e,t,r){super(),this.root=e,this.key=t,this.descending=r,this.args={root:e}}resolve(e,{root:t}){if(!t)return t;for(var r=Array.from(t),i=[],n=0;n<r.length;n++)e.beingTested=r[n],i.push(this.key.evaluate(e));e.beingTested=null;var o=r.map(function(l,u){return u}),a=this.descending?-1:1;return o.sort(function(l,u){var h=i[l],f=i[u];return h==f?0:(h<f?-1:1)*a}),o.map(function(l){return r[l]})}},Xe=class extends y{constructor(e,t){super(),this.root=e,this.projection=t,this.args={root:e}}resolve(e,{root:t}){if(!t)return t;for(var r=Array.from(t),i=[],n=0;n<r.length;n++)e.beingTested=r[n],i.push(this.projection.evaluate(e));return e.beingTested=null,i}},Ze=class extends y{constructor(e,t){super(),this.args={root:e,delimiter:t}}resolve(e,{root:t,delimiter:r}){return t&&String(t).split(r)}},Ve=class extends y{constructor(e,t){super(),this.args={root:e,delimiter:t}}resolve(e,{root:t,delimiter:r}){return t&&Array.from(t).join(r)}},et=class extends y{static grammarName="dotOrColonPath";static parse(e){var t=e.matchTokenType("IDENTIFIER");if(t){var r=[t.value],i=e.matchOpToken(".")||e.matchOpToken(":");if(i)do r.push(e.requireTokenType("IDENTIFIER","NUMBER").value);while(e.matchOpToken(i.value));return new Qe(r,i?i.value:null)}}};var lt={};N(lt,{AttributeRef:()=>st,ClassRef:()=>it,IdRef:()=>rt,QueryRef:()=>nt,StyleLiteral:()=>at,StyleRef:()=>ot});var rt=class s extends y{static grammarName="idRef";static expressionType="leaf";static assignable=!0;constructor(e,t,r,i){super(),this.variant=e,this.type=e==="template"?"idRefTemplate":"idRef",this.css=t,this.value=r,this.args=e==="template"?{expr:i}:null}static parse(e){var t=e.matchTokenType("ID_REF");if(t&&t.value)if(t.template){var r=t.value.substring(2),i=O.tokenize(r),n=e.createChildParser(i),o=n.requireElement("expression");return new s("template",null,null,o)}else{let a=t.value.substring(1);return new s("static",t.value,a,null)}}resolve(e,{expr:t}={}){return this.variant==="template"?e.meta.runtime.getRootNode(e.me).getElementById(t):e.meta.runtime.getRootNode(e.me).getElementById(this.value)}get lhs(){return{}}set(e,t,r){var i=this.resolve(e);i&&e.meta.runtime.replaceInDom(i,r)}},it=class s extends y{static grammarName="classRef";static expressionType="leaf";static assignable=!0;constructor(e,t,r,i){super(),this.variant=e,this.type=e==="template"?"classRefTemplate":"classRef",this.css=t,this.className=r,this.args=e==="template"?{expr:i}:null}static parse(e){var t=e.matchTokenType("CLASS_REF");if(t&&t.value)if(t.template){var r=t.value.substring(2),i=O.tokenize(r),n=e.createChildParser(i),o=n.requireElement("expression");return new s("template",null,null,o)}else{let a=t.value,l=a.slice(1);return new s("static",a,l,null)}}resolve(e,{expr:t}={}){return this.variant==="template"?new R("."+t,e.me,!0,e.meta.runtime):new R(this.css,e.me,!0,e.meta.runtime)}get lhs(){return{}}set(e,t,r){var i=Array.from(this.resolve(e));e.meta.runtime.replaceInDom(i,r)}},nt=class s extends y{static grammarName="queryRef";static expressionType="leaf";static assignable=!0;constructor(e,t,r){super(),this.css=e,this.templateArgs=t,this.args=r?{parts:t}:null,this.template=r}static parse(e){var t=e.matchOpToken("<");if(t){var r=e.consumeUntil("/");e.requireOpToken("/"),e.requireOpToken(">");var i=r.map(function(u){return u.type==="STRING"?'"'+u.value+'"':u.value}).join(""),n,o,a;if(/\$[^=]/.test(i)){n=!0,o=O.tokenize(i,!0);var l=e.createChildParser(o);a=l.parseStringTemplate()}return new s(i,a,n)}}resolve(e,{parts:t}={}){return this.template?new re(this.css,e.me,t,e.meta.runtime):new R(this.css,e.me,!1,e.meta.runtime)}get lhs(){return this.template?{parts:this.templateArgs}:{}}set(e,t,r){var i=Array.from(this.resolve(e,t));e.meta.runtime.replaceInDom(i,r)}},st=class s extends y{static grammarName="attributeRef";static expressionType="leaf";static assignable=!0;constructor(e,t,r){super(),this.name=e,this.css=t,this.value=r}static parse(e){var t=e.matchTokenType("ATTRIBUTE_REF");if(t&&t.value){var r=t.value;if(r.startsWith("["))var i=r.substring(2,r.length-1);else var i=r.substring(1);var n="["+i+"]",o=i.split("="),a=o[0],l=o[1];return l&&(l.startsWith('"')||l.startsWith("'"))&&(l=l.substring(1,l.length-1)),new s(a,n,l)}}resolve(e){var t=e.you||e.me;if(t)return e.meta.runtime.resolveAttribute(t,this.name)}get lhs(){return{}}set(e,t,r){var i=e.you||e.me;i&&(r==null?i.removeAttribute(this.name):i.setAttribute(this.name,r))}},ot=class s extends y{static grammarName="styleRef";static expressionType="leaf";static assignable=!0;constructor(e,t){super(),this.variant=e,this.type=e==="computed"?"computedStyleRef":"styleRef",this.name=t}static parse(e){var t=e.matchTokenType("STYLE_REF");if(t&&t.value){var r=t.value.slice(1);return r.startsWith("computed-")?(r=r.slice(9),new s("computed",r)):new s("style",r)}}resolve(e){var t=e.you||e.me;if(t)return this.variant==="computed"?e.meta.runtime.resolveComputedStyle(t,this.name):e.meta.runtime.resolveStyle(t,this.name)}get lhs(){return{}}set(e,t,r){var i=e.you||e.me;i&&(i.style[this.name]=r)}},at=class s extends y{static grammarName="styleLiteral";constructor(e,t){super(),this.stringParts=e,this.args={exprs:t}}static parse(e){if(e.matchOpToken("{")){for(var t=[""],r=[];e.hasMore();){if(e.matchOpToken("\\"))e.consumeToken();else{if(e.matchOpToken("}"))break;if(e.matchToken("$")){var i=e.matchOpToken("{"),n=e.parseElement("expression");i&&e.requireOpToken("}"),r.push(n),t.push("")}else{var o=e.consumeToken();t[t.length-1]+=e.source.substring(o.start,o.end)}}t[t.length-1]+=e.lastWhitespace()}return new s(t,r)}}resolve(e,{exprs:t}){var r="";return this.stringParts.forEach(function(n,o){r+=n,o in t&&(r+=t[o])}),r}};var ft={};N(ft,{StringPostfixExpression:()=>ut,TimeExpression:()=>ht,TypeCheckExpression:()=>ct});var Ui=["em","ex","cap","ch","ic","rem","lh","rlh","vw","vh","vi","vb","vmin","vmax","cm","mm","Q","pc","pt","px"],ut=class s extends y{static grammarName="stringPostfixExpression";static expressionType="postfix";constructor(e,t){super(),this.postfix=t,this.args={value:e}}static parse(e,t){let r=e.matchAnyToken(...Ui)||e.matchOpToken("%");if(r)return new s(t,r.value)}resolve(e,{value:t}){return""+t+this.postfix}},ht=class s extends y{static grammarName="timeExpression";static expressionType="postfix";constructor(e,t){super(),this.time=e,this.factor=t,this.args={value:e}}static parse(e,t){var r=null;if(e.matchToken("s")||e.matchToken("seconds")?r=1e3:(e.matchToken("ms")||e.matchToken("milliseconds"))&&(r=1),!!r)return new s(t,r)}evalStatically(){return this.time.evalStatically()*this.factor}resolve(e,{value:t}){return t*this.factor}},ct=class s extends y{static grammarName="typeCheckExpression";static expressionType="postfix";constructor(e,t,r){super(),this.typeName=t,this.nullOk=r,this.args={value:e}}static parse(e,t){if(e.matchOpToken(":")){var r=e.requireTokenType("IDENTIFIER");if(r.value){var i=!e.matchOpToken("!");return new s(t,r,i)}}}resolve(e,{value:t}){var r=e.meta.runtime.typeCheck(t,this.typeName.value,this.nullOk);if(r)return t;throw new Error("Typecheck failed! Expected: "+this.typeName.value)}};var yt={};N(yt,{ClosestExpr:()=>dt,PositionalExpression:()=>pt,RelativePositionalExpression:()=>mt});var mt=class s extends y{static grammarName="relativePositionalExpression";static expressionType="unary";constructor(e,t,r,i,n,o,a,l){super(),this.thingElt=e,this.from=t,this.forwardSearch=r,this.inSearch=i,this.wrapping=n,this.inElt=o,this.withinElt=a,this.operator=l,this.args={thing:e,from:t,inElt:o,withinElt:a}}static parse(e){var t=e.matchAnyToken("next","previous");if(t){var r=t.value==="next",i=e.parseElement("leaf");if(e.matchToken("from")){e.pushFollow("in");try{var n=e.requireElement("unaryExpression")}finally{e.popFollow()}}else var n=e.requireElement("implicitMeTarget");var o=!1,a;if(e.matchToken("in")){o=!0;var l=e.requireElement("unaryExpression")}else e.matchToken("within")?a=e.requireElement("unaryExpression"):a=null;var u=!1;return e.matchToken("with")&&(e.requireToken("wrapping"),u=!0),new s(i,n,r,o,u,l,a,t.value)}}scanForwardQuery(e,t,r,i){for(var n=t.querySelectorAll(r),o=0;o<n.length;o++){var a=n[o];if(a.compareDocumentPosition(e)===Node.DOCUMENT_POSITION_PRECEDING)return a}if(i)return n[0]}scanBackwardsQuery(e,t,r,i){for(var n=t.querySelectorAll(r),o=n.length-1;o>=0;o--){var a=n[o];if(a.compareDocumentPosition(e)===Node.DOCUMENT_POSITION_FOLLOWING)return a}if(i)return n[n.length-1]}scanForwardArray(e,t,r,i){var n=[];for(var o of t)(o.matches(r)||o===e)&&n.push(o);for(var a=0;a<n.length-1;a++){var o=n[a];if(o===e)return n[a+1]}if(i){var l=n[0];if(l&&l.matches(r))return l}}scanBackwardsArray(e,t,r,i){return this.scanForwardArray(e,Array.from(t).reverse(),r,i)}resolve(e,{thing:t,from:r,inElt:i,withinElt:n}){var o=t.css;if(o==null)throw new Error("Expected a CSS value to be returned by "+this.thingElt.sourceFor());if(this.inSearch){if(i)return this.forwardSearch?this.scanForwardArray(r,i,o,this.wrapping):this.scanBackwardsArray(r,i,o,this.wrapping)}else{var a=n??document.body;return this.forwardSearch?this.scanForwardQuery(r,a,o,this.wrapping):this.scanBackwardsQuery(r,a,o,this.wrapping)}}},pt=class s extends y{static grammarName="positionalExpression";static expressionType="unary";constructor(e,t){super(),this.rhs=e,this.operator=t,this.args={value:e}}static parse(e){var t=e.matchAnyToken("first","last","random");if(t){e.matchAnyToken("in","from","of");var r=e.requireElement("unaryExpression");return new s(r,t.value)}}resolve(e,{value:t}){if(t&&!Array.isArray(t)&&(t.children?t=t.children:t=Array.from(t)),t){if(this.operator==="first")return t[0];if(this.operator==="last")return t[t.length-1];if(this.operator==="random")return t[Math.floor(Math.random()*t.length)]}}},vt=class extends y{constructor(e,t,r,i){super(),this.type="closestExpr",this.parentSearch=e,this.expr=t,this.css=r,this.to=i,this.args={to:i}}resolve(e,{to:t}){if(t==null)return null;let r=[],i=this.css,n=this.parentSearch;return e.meta.runtime.implicitLoop(t,function(o){n?r.push(o.parentElement?o.parentElement.closest(i):null):r.push(o.closest(i))}),e.meta.runtime.shouldAutoIterate(t)?r:r[0]}get lhs(){return{to:this.to}}set(e,t,r){var i=this.resolve(e,t);i&&e.meta.runtime.replaceInDom(i,r)}},dt=class extends y{static grammarName="closestExpr";static expressionType="leaf";static assignable=!0;static parse(e){if(e.matchToken("closest")){var t=!1;e.matchToken("parent")&&(t=!0);var r=null,i=null;if(e.currentToken().type==="ATTRIBUTE_REF"&&(i=e.requireElement("attributeRefAccess",null),r="["+i.attribute.name+"]"),r==null){var n=e.requireElement("unaryExpression");n.css==null?e.raiseError("Expected a CSS expression"):r=n.css}if(e.matchToken("to"))var o=e.parseElement("expression");else var o=e.parseElement("implicitMeTarget");var a=new vt(t,n,r,o);return i?new G(a,i.attribute):a}}};var Et={};N(Et,{NoExpression:()=>Tt,SomeExpression:()=>kt});var Tt=class s extends y{static grammarName="noExpression";static expressionType="unary";constructor(e){super(),this.root=e,this.args={value:e}}static parse(e){if(e.matchToken("no")){var t=e.requireElement("collectionExpression");return new s(t)}}resolve(e,{value:t}){return e.meta.runtime.isEmpty(t)}},kt=class s extends y{static grammarName="some";static expressionType="leaf";constructor(e){super(),this.root=e,this.args={value:e}}static parse(e){if(e.matchToken("some")){var t=e.requireElement("expression");return new s(t)}}resolve(e,{value:t}){return!e.meta.runtime.isEmpty(t)}};var wt={};N(wt,{ImplicitMeTarget:()=>gt});var gt=class s extends y{static grammarName="implicitMeTarget";constructor(){super()}static parse(e){return new s}resolve(e){return e.you||e.me}};var Ct={};N(Ct,{AppendCommand:()=>Lt,BeepCommand:()=>St,ExitCommand:()=>he,FetchCommand:()=>Mt,GoCommand:()=>Rt,HaltCommand:()=>At,LogCommand:()=>xt,MakeCommand:()=>It,PickCommand:()=>Ot,ReturnCommand:()=>Nt,ScrollCommand:()=>Ft,ThrowCommand:()=>qt});var bt=class extends y{constructor(){super(),this.type="symbol"}resolve(e){return e.meta.runtime.resolveSymbol("result",e)}get lhs(){return{}}set(e,t,r){e.meta.runtime.setSymbol("result",e,null,r)}},xt=class s extends d{static keyword="log";constructor(e,t){super(),this.exprs=e,this.withExpr=t,this.args={logger:t,values:e}}static parse(e){if(e.matchToken("log")){for(var t=[e.parseElement("expression")];e.matchOpToken(",");)t.push(e.requireElement("expression"));if(e.matchToken("with"))var r=e.requireElement("expression");return new s(t,r)}}resolve(e,{logger:t,values:r}){return t?t(...r):console.log(...r),this.findNext(e)}},St=class s extends d{static keyword="beep!";constructor(e){super(),this.exprs=e,this.args={values:e}}static parse(e){if(e.matchToken("beep!")){for(var t=[e.parseElement("expression")];e.matchOpToken(",");)t.push(e.requireElement("expression"));return new s(t)}}resolve(e,{values:t}){for(let r=0;r<this.exprs.length;r++){let i=this.exprs[r],n=t[r];e.meta.runtime.beepValueToConsole(e.me,i,n)}return this.findNext(e)}},qt=class s extends d{static keyword="throw";constructor(e){super(),this.expr=e,this.args={value:e}}static parse(e){if(e.matchToken("throw")){var t=e.requireElement("expression");return new s(t)}}resolve(e,{value:t}){throw e.meta.runtime.registerHyperTrace(e,t),t}},Nt=class s extends d{static keyword="return";constructor(e){super(),this.value=e,this.args={value:e}}static parse(e){if(e.matchToken("return")){var t;return e.commandBoundary(e.currentToken())||(t=e.requireElement("expression")),new s(t)}}resolve(e,{value:t}){var r=e.meta.resolve;return e.meta.returned=!0,e.meta.returnValue=t,r&&r(t),e.meta.runtime.HALT}},he=class s extends d{static keyword="exit";static parse(e){if(e.matchToken("exit"))return new s}resolve(e){var t=e.meta.resolve;return e.meta.returned=!0,e.meta.returnValue=null,t&&t(),e.meta.runtime.HALT}},At=class s extends d{static keyword="halt";constructor(e,t,r,i){super(),this.keepExecuting=r,this.bubbling=e,this.haltDefault=t,this.exit=i}static parse(e){if(e.matchToken("halt")){if(e.matchToken("the")){e.requireToken("event"),e.matchOpToken("'")&&e.requireToken("s");var t=!0}if(e.matchToken("bubbling"))var r=!0;else if(e.matchToken("default"))var i=!0;var n=new he;return new s(r,i,t,n)}}resolve(e){return e.event&&(this.bubbling?e.event.stopPropagation():(this.haltDefault||e.event.stopPropagation(),e.event.preventDefault())),this.keepExecuting?this.findNext(e):this.exit}},It=class s extends d{static keyword="make";constructor(e,t,r,i){super(),this.variant=e,this.expr=t,this.constructorArgs=r,this.target=i,this.args=e==="queryRef"?null:{expr:t,constructorArgs:r}}static parse(e){if(e.matchToken("make")){e.matchToken("a")||e.matchToken("an");var t=e.requireElement("expression"),r=[];if(t.type!=="queryRef"&&e.matchToken("from"))do r.push(e.requireElement("expression"));while(e.matchOpToken(","));if(e.matchToken("called"))var i=e.requireElement("symbol");return t.type==="queryRef"?new s("queryRef",t,null,i):new s("constructor",t,r,i)}}resolve(e,{expr:t,constructorArgs:r}={}){if(this.variant==="queryRef"){for(var i,n="div",o,a=[],l=/(?:(^|#|\.)([^#\. ]+))/g;i=l.exec(this.expr.css);)i[1]===""?n=i[2].trim():i[1]==="#"?o=i[2].trim():a.push(i[2].trim());var u=document.createElement(n);o!==void 0&&(u.id=o),u.classList.add(...a),e.result=u}else e.result=new t(...r);return this.target&&e.meta.runtime.setSymbol(this.target.name,e,this.target.scope,e.result),this.findNext(e)}},Lt=class s extends d{static keyword="append";constructor(e,t,r){super(),this.value=e,this._target=t,this.assignable=r,r?this.args={target:t,value:e,...t.lhs}:this.args={target:t,value:e}}static parse(e){if(e.matchToken("append")){var t=null,r=e.requireElement("expression");e.matchToken("to")?t=e.requireElement("expression"):t=new bt;for(var i=t;i.type==="parenthesized";)i=i.expr;var n=i.set!=null;return new s(r,t,n)}}resolve(e,t){var{target:r,value:i,...n}=t;if(Array.isArray(r))r.push(i),e.meta.runtime.notifyMutation(r);else if(r instanceof Set)r.add(i),e.meta.runtime.notifyMutation(r);else if(r instanceof Element)i instanceof Element?r.insertAdjacentElement("beforeend",i):r.insertAdjacentHTML("beforeend",i),e.meta.runtime.processNode(r);else if(this.assignable)this._target.set(e,n,(r||"")+i);else throw new Error("Unable to append a value!");return this.findNext(e)}},Ot=class s extends d{static keyword="pick";constructor(e,t,r,i,n,o){super(),this.variant=e,this.range=r,this.flags=n,e==="range"?this.args={root:t,from:r.from,to:r.to}:e==="first"||e==="last"||e==="random"?this.args={root:t,count:o}:this.args={root:t,re:i}}static parsePickRange(e){e.matchToken("at")||e.matchToken("from");var t={includeStart:!0,includeEnd:!1};return t.from=e.matchToken("start")?0:e.requireElement("expression"),(e.matchToken("to")||e.matchOpToken(".."))&&(e.matchToken("end")?t.toEnd=!0:t.to=e.requireElement("expression")),e.matchToken("inclusive")?t.includeEnd=!0:e.matchToken("exclusive")&&(t.includeStart=!1),t}static parseSource(e){return e.matchAnyToken("of","from")||e.raiseExpected("of","from"),e.requireElement("expression")}static parse(e){if(e.matchToken("pick")){if(e.matchToken("the"),e.matchToken("first")){var t=e.pushFollows("of","from");try{var r=e.requireElement("expression")}finally{e.popFollows(t)}var i=s.parseSource(e);return new s("first",i,null,null,null,r)}if(e.matchToken("last")){var t=e.pushFollows("of","from");try{var r=e.requireElement("expression")}finally{e.popFollows(t)}var i=s.parseSource(e);return new s("last",i,null,null,null,r)}if(e.matchToken("random")){var r=null;if(e.currentToken().type==="NUMBER"){var t=e.pushFollows("of","from");try{r=e.requireElement("expression")}finally{e.popFollows(t)}}var i=s.parseSource(e);return new s("random",i,null,null,null,r)}if(e.matchToken("item")||e.matchToken("items")||e.matchToken("character")||e.matchToken("characters")){var t=e.pushFollows("of","from");try{var n=s.parsePickRange(e)}finally{e.popFollows(t)}var i=s.parseSource(e);return new s("range",i,n,null,null)}if(e.matchToken("match")){e.matchToken("of");var t=e.pushFollows("of","from");try{var o=e.parseElement("expression"),a="";e.matchOpToken("|")&&(a=e.requireTokenType("IDENTIFIER").value)}finally{e.popFollows(t)}var i=s.parseSource(e);return new s("match",i,null,o,a)}if(e.matchToken("matches")){e.matchToken("of");var t=e.pushFollows("of","from");try{var o=e.parseElement("expression"),a="gu";e.matchOpToken("|")&&(a="g"+e.requireTokenType("IDENTIFIER").value.replace("g",""))}finally{e.popFollows(t)}var i=s.parseSource(e);return new s("matches",i,null,o,a)}}}resolve(e,{root:t,from:r,to:i,re:n,count:o}){if(t==null)return e.result=t,this.findNext(e);if(this.variant==="first")e.result=t.slice(0,o);else if(this.variant==="last")e.result=t.slice(-o);else if(this.variant==="random")if(o==null)e.result=t[Math.floor(Math.random()*t.length)];else{for(var a=Array.from(t),l=[],u=0;u<o&&a.length>0;u++){var h=Math.floor(Math.random()*a.length);l.push(a.splice(h,1)[0])}e.result=l}else this.variant==="range"?(this.range.toEnd&&(i=t.length),this.range.includeStart||r++,this.range.includeEnd&&i++,i==null&&(i=r+1),e.result=t.slice(r,i)):this.variant==="match"?e.result=new RegExp(n,this.flags).exec(t):e.result=new ie(n,this.flags,t);return this.findNext(e)}},Mt=class s extends d{static keyword="fetch";constructor(e,t,r,i,n){super(),this.url=e,this.argExpressions=t,this.args={url:e,options:t},this.conversionType=r,this.conversion=i,this.dontThrow=n}static parseConversionInfo(e){var t="text",r;return e.matchToken("a")||e.matchToken("an"),e.matchToken("json")||e.matchToken("JSON")||e.matchToken("Object")?t="json":e.matchToken("response")||e.matchToken("Response")?t="response":e.matchToken("html")||e.matchToken("HTML")?t="html":e.matchToken("text")||e.matchToken("Text")||e.matchToken("String")||(r=e.requireElement("dotOrColonPath").evalStatically()),{type:t,conversion:r}}static parse(e){if(e.matchToken("fetch")){var t=e.parseURLOrExpression();if(e.matchToken("as"))var r=s.parseConversionInfo(e);if(e.matchToken("with")&&e.currentToken().value!=="{")var i=e.parseElement("nakedNamedArgumentList");else var i=e.parseElement("objectLiteral");r==null&&e.matchToken("as")&&(r=s.parseConversionInfo(e));var n=!1;e.matchToken("do")?(e.requireToken("not"),e.requireToken("throw"),n=!0):e.currentToken().value==="don"&&e.token(1).value==="'"&&e.token(2).value==="t"&&e.token(1).start===e.currentToken().end&&e.token(2).start===e.token(1).end&&(e.consumeToken(),e.consumeToken(),e.consumeToken(),e.requireToken("throw"),n=!0);var o=r?r.type:"text",a=r?r.conversion:null;return new s(t,i,o,a,n)}}resolve(e,{url:t,options:r}){var i=r||{};i.sender=e.me,i.headers=i.headers||{};var n=new AbortController,o=()=>n.abort();e.me.addEventListener("fetch:abort",o,{once:!0}),i.signal=n.signal,e.meta.runtime.triggerEvent(e.me,"hyperscript:beforeFetch",i),e.meta.runtime.triggerEvent(e.me,"fetch:beforeRequest",i);var a=!1;i.timeout&&setTimeout(()=>{a||n.abort()},i.timeout);var l=h=>(e.result=h,e.meta.runtime.triggerEvent(e.me,"fetch:afterRequest",{result:h}),a=!0,this.findNext(e)),u=!this.dontThrow&&this.conversionType!=="response";return fetch(t,i).then(h=>{var f={response:h};if(e.meta.runtime.triggerEvent(e.me,"fetch:afterResponse",f),h=f.response,u){for(var p=String(h.status),c=A.fetchThrowsOn||[],T=0;T<c.length;T++)if(c[T].test(p)){var m=new Error("fetch failed: "+h.status+" "+h.statusText+" ("+t+")");throw m.response=h,m.status=h.status,m}}if(this.conversionType==="response")return l(h);if(this.conversionType==="json")return h.json().then(l);if(this.conversion){var v=A.conversions[this.conversion];if(v&&v._rawResponse)return l(v(h,e.meta.runtime,e))}return h.text().then(k=>(this.conversion&&(k=e.meta.runtime.convertValue(k,this.conversion)),this.conversionType==="html"&&(k=e.meta.runtime.convertValue(k,"Fragment")),l(k)))}).catch(h=>{throw e.meta.runtime.triggerEvent(e.me,"fetch:error",{reason:h}),h}).finally(()=>{e.me.removeEventListener("fetch:abort",o)})}};function di(s){s.matchToken("the");var e=s.matchAnyToken("top","middle","bottom"),t=s.matchAnyToken("left","center","right");(e||t)&&s.requireToken("of");var r=s.requireElement("unaryExpression"),i=s.matchAnyOpToken("+","-"),n;if(i){s.pushFollow("px");try{n=s.requireElement("expression")}finally{s.popFollow()}}s.matchToken("px");var o;s.matchToken("in")&&(o=s.requireElement("unaryExpression"));var a=s.matchAnyToken("smoothly","instantly"),l={block:"start",inline:"nearest"},u={top:"start",bottom:"end",middle:"center"},h={left:"start",center:"center",right:"end"},f={smoothly:"smooth",instantly:"instant"};return e&&(l.block=u[e.value]),t&&(l.inline=h[t.value]),a&&(l.behavior=f[a.value]),{target:r,offset:n,plusOrMinus:i,scrollOptions:l,container:o}}function Bi(s){var e=s.matchAnyToken("smoothly","instantly");if(e)return e.value==="smoothly"?"smooth":"instant"}function yi(s,e,t,r,i,n){s.meta.runtime.implicitLoop(e,function(o){if(o===window&&(o=document.body),n){var a=(n instanceof Element,n),l=o.offsetTop-a.offsetTop,u=o.offsetLeft-a.offsetLeft;if(r){var h=r.value==="+"?t:t*-1;l+=h}a.scrollTo({top:l,left:u,behavior:i.behavior||"auto"});return}if(r){var f=o.getBoundingClientRect(),p=document.createElement("div"),c=r.value==="+"?t:t*-1,T=i.inline=="start"||i.inline=="end"?c:0,m=i.block=="start"||i.block=="end"?c:0;p.style.position="absolute",p.style.top=f.top+window.scrollY+m+"px",p.style.left=f.left+window.scrollX+T+"px",p.style.height=f.height+"px",p.style.width=f.width+"px",p.style.zIndex=""+Number.MIN_SAFE_INTEGER,p.style.opacity="0",document.body.appendChild(p),setTimeout(function(){document.body.removeChild(p)},100),o=p}o.scrollIntoView(i)})}var Ft=class s extends d{static keyword="scroll";constructor(e,t,r,i,n,o){super(),this.target=e,this.plusOrMinus=r,this.scrollOptions=i,this.byMode=o,this.args={target:e,offset:t,container:n}}static parse(e){if(e.matchToken("scroll")){if(e.matchToken("to")){var t=di(e);return new s(t.target,t.offset,t.plusOrMinus,t.scrollOptions,t.container)}var r=e.matchAnyToken("up","down","left","right"),i;!r&&e.currentToken().value!=="by"&&(i=e.requireElement("unaryExpression"),r=e.matchAnyToken("up","down","left","right")),e.requireToken("by"),e.pushFollow("px");var n;try{n=e.requireElement("expression")}finally{e.popFollow()}e.matchToken("px");var o=Bi(e),a={};o&&(a.behavior=o);var l={direction:r?r.value:"down"};return new s(i,n,null,a,null,l)}}resolve(e,{target:t,offset:r,container:i}){if(this.byMode){var n=t||document.documentElement,o=this.byMode.direction,a=0,l=0;o==="up"?a=-r:o==="down"?a=r:o==="left"?l=-r:o==="right"&&(l=r);var u={top:a,left:l};this.scrollOptions.behavior&&(u.behavior=this.scrollOptions.behavior),n.scrollBy(u)}else yi(e,t,r,this.plusOrMinus,this.scrollOptions,i);return this.findNext(e)}},Rt=class s extends d{static keyword="go";constructor(e,t,r,i,n,o){super(),this.target=e,this.args={target:e,offset:t},this.back=r,this.newWindow=i,this.plusOrMinus=n,this.scrollOptions=o}static parse(e){if(e.matchToken("go")){if(e.matchToken("back"))return new s(null,null,!0);if(e.matchToken("to"),e.matchToken("url")){var i=e.requireElement("stringLike"),n=!1;return e.matchToken("in")&&(e.requireToken("new"),e.requireToken("window"),n=!0),new s(i,null,!1,n)}var t=e.currentToken();if(t.value==="the"||t.value==="top"||t.value==="middle"||t.value==="bottom"||t.value==="left"||t.value==="center"||t.value==="right"){var r=di(e);return new s(r.target,r.offset,!1,!1,r.plusOrMinus,r.scrollOptions)}var i=e.parseURLOrExpression(),n=!1;return e.matchToken("in")&&(e.requireToken("new"),e.requireToken("window"),n=!0),new s(i,null,!1,n)}}resolve(e,{target:t,offset:r}){if(this.back)window.history.back();else if(this.scrollOptions)yi(e,t,r,this.plusOrMinus,this.scrollOptions);else if(t!=null)if(t instanceof Element)t.scrollIntoView({block:"start",inline:"nearest"});else{var i=String(t);i.startsWith("#")?window.location.hash=i:this.newWindow?window.open(i):window.location.href=i}return this.findNext(e)}};var jt={};N(jt,{DecrementCommand:()=>Dt,DefaultCommand:()=>_t,IncrementCommand:()=>Pt,PutCommand:()=>Wt,SetCommand:()=>ce,SwapCommand:()=>Ht});var ce=class s extends d{static keyword="set";constructor(e,t,r=null){super(),this.target=e,this.objectLiteral=r,r?this.args={obj:r,setTarget:e}:this.args={...e.lhs,value:t}}static parse(e){if(e.matchToken("set")){if(e.currentToken().type==="L_BRACE"){var t=e.requireElement("objectLiteral");e.requireToken("on");var r=e.requireElement("expression");return new s(r,null,t)}try{e.pushFollow("to");var r=e.requireElement("assignableExpression")}finally{e.popFollow()}for(;r.type==="parenthesized";)r=r.expr;e.requireToken("to");var i=e.requireElement("expression");return new s(r,i)}}resolve(e,t){if(this.objectLiteral){var{obj:r,setTarget:i}=t;Object.assign(i,r)}else{var{value:n,...o}=t;this.target.set(e,o,n)}return this.findNext(e)}},_t=class s extends d{static keyword="default";constructor(e,t){super(),this.target=e,this.setter=t,this.args={targetValue:e}}static parse(e){if(e.matchToken("default")){try{e.pushFollow("to");var t=e.requireElement("assignableExpression")}finally{e.popFollow()}for(;t.type==="parenthesized";)t=t.expr;e.requireToken("to");var r=e.requireElement("expression"),i=new ce(t,r),n=new s(t,i);return i.parent=n,n}}resolve(e,{targetValue:t}){return t!=null&&t!==""?this.findNext(e):this.setter}},Pt=class s extends d{static keyword="increment";constructor(e,t){super(),this.target=e,this.amountExpr=t,this.args={targetValue:e,amount:t,...e.lhs}}static parse(e){if(e.matchToken("increment")){for(var t,r=e.parseElement("assignableExpression");r.type==="parenthesized";)r=r.expr;return e.matchToken("by")&&(t=e.requireElement("expression")),new s(r,t)}}resolve(e,t){var{targetValue:r,amount:i,...n}=t;r=r?parseFloat(r):0,i=this.amountExpr?parseFloat(i):1;var o=r+i;return e.result=o,this.target.set(e,n,o),this.findNext(e)}},Dt=class s extends d{static keyword="decrement";constructor(e,t){super(),this.target=e,this.amountExpr=t,this.args={targetValue:e,amount:t,...e.lhs}}static parse(e){if(e.matchToken("decrement")){var t;try{e.pushFollow("by");var r=e.parseElement("assignableExpression")}finally{e.popFollow()}for(;r.type==="parenthesized";)r=r.expr;return e.matchToken("by")&&(t=e.requireElement("expression")),new s(r,t)}}resolve(e,t){var{targetValue:r,amount:i,...n}=t;r=r?parseFloat(r):0,i=this.amountExpr?parseFloat(i):1;var o=r-i;return e.result=o,this.target.set(e,n,o),this.findNext(e)}},Ht=class s extends d{static keyword="swap";constructor(e,t){super(),this.target1=e,this.target2=t,this.args={value1:e,value2:t,root1:e.lhs.root,index1:e.lhs.index,root2:t.lhs.root,index2:t.lhs.index}}static parse(e){if(e.matchToken("swap")){try{e.pushFollow("with");var t=e.requireElement("assignableExpression")}finally{e.popFollow()}for(;t.type==="parenthesized";)t=t.expr;e.requireToken("with");for(var r=e.requireElement("assignableExpression");r.type==="parenthesized";)r=r.expr;return new s(t,r)}}resolve(e,{value1:t,value2:r,root1:i,index1:n,root2:o,index2:a}){if(t instanceof Element&&r instanceof Element){var l=document.createComment("");t.replaceWith(l),r.replaceWith(t),l.replaceWith(r)}else this.target1.set(e,{root:i,index:n},r),this.target2.set(e,{root:o,index:a},t);return this.findNext(e)}},Wt=class s extends d{static keyword="put";constructor(e,t,r,i){super(),this.target=e,this.operation=t,this.value=r,this.rootExpr=i,this.symbolWrite=e.type==="symbol"&&t==="into",this.arrayIndex=e.type==="arrayIndex",this.attributeWrite=(e.type==="attributeRef"||e.attribute&&e.attribute.type==="attributeRef")&&t==="into",this.styleWrite=(e.type==="styleRef"||e.attribute&&e.attribute.type==="styleRef")&&t==="into",this.arrayIndex?this.prop=e.prop:this.symbolWrite?this.prop=e.name:e.type==="attributeRef"||e.type==="styleRef"?this.prop=e.name:e.attribute?this.prop=e.attribute.name:e.prop?this.prop=e.prop.value:this.prop=null,this.args={root:i,prop:this.prop,value:r}}static parse(e){if(e.matchToken("put")){var t=e.requireElement("expression"),r=e.matchAnyToken("into","before","after");r==null&&e.matchToken("at")&&(e.matchToken("the"),r=e.matchAnyToken("start","end"),e.requireToken("of")),r==null&&e.raiseExpected("into","before","at start of","at end of","after");for(var i=e.requireElement("expression");i.type==="parenthesized";)i=i.expr;var n=r.value,o;return i.type==="arrayIndex"&&n==="into"||i.prop&&i.root&&n==="into"?o=i.root:i.type==="symbol"&&n==="into"?o=null:i.type==="attributeRef"&&n==="into"||i.type==="styleRef"&&n==="into"?o=e.requireElement("implicitMeTarget"):i.attribute&&n==="into"?o=i.root:o=i,new s(i,n,t,o)}}putInto(e,t,r,i){if(t==null)var n=e.meta.runtime.resolveSymbol(r,e);else var n=t;if((t==null||r==null)&&(n instanceof Element||n instanceof Document)){for(;n.firstChild;)n.removeChild(n.firstChild);n.append(e.meta.runtime.convertValue(i,"Fragment")),e.meta.runtime.processNode(n)}else t==null?e.meta.runtime.setSymbol(r,e,null,i):t[r]=i}resolve(e,{root:t,prop:r,value:i}){if(this.symbolWrite)this.putInto(e,t,r,i);else if(e.meta.runtime.nullCheck(t,this.rootExpr),this.operation==="into")if(this.attributeWrite)e.meta.runtime.implicitLoop(t,function(l){i==null?l.removeAttribute(r):l.setAttribute(r,i)});else if(this.styleWrite)e.meta.runtime.implicitLoop(t,function(l){l.style[r]=i});else if(this.arrayIndex)t[r]=i;else{var n=this;e.meta.runtime.implicitLoop(t,function(l){n.putInto(e,l,r,i)})}else if(Array.isArray(t))this.operation==="start"?t.unshift(i):t.push(i),e.meta.runtime.notifyMutation(t);else{var o={before:Element.prototype.before,after:Element.prototype.after,start:Element.prototype.prepend,end:Element.prototype.append},a=o[this.operation]||Element.prototype.append;e.meta.runtime.implicitLoop(t,function(l){a.call(l,i instanceof Node?i:e.meta.runtime.convertValue(i,"Fragment")),l.parentElement?e.meta.runtime.processNode(l.parentElement):e.meta.runtime.processNode(l)})}return this.findNext(e)}};var Gt={};N(Gt,{EventName:()=>zt,SendCommand:()=>Bt,WaitCommand:()=>Ut});var Ut=class s extends d{static keyword="wait";constructor(e,t,r,i){super(),this.variant=e,this.event=t,this.on=r,this.time=i,this.args=e==="event"?{on:r}:{time:i}}static parse(e){if(e.matchToken("wait"))if(e.matchToken("for")){e.matchToken("a");var t=[];do{var r=e.token(0);r.type==="NUMBER"||r.type==="L_PAREN"?t.push(e.requireElement("expression")):t.push({name:e.requireElement("dotOrColonPath","Expected event name").evalStatically(),args:I.parseEventArgs(e)})}while(e.matchToken("or"));if(e.matchToken("from"))var i=e.requireElement("expression");return new s("event",t,i,null)}else{var n;return e.matchToken("a")?(e.requireToken("tick"),n=0):n=e.requireElement("expression"),new s("time",null,null,n)}}resolve(e,{on:t,time:r}){if(this.variant==="event"){var i=t||e.me;if(!(i instanceof EventTarget))throw new Error("Not a valid event target: "+this.on.sourceFor());let n=this.event;return new Promise(o=>{var a=!1;for(let u of n){var l=h=>{if(e.result=h,u.name&&u.args)for(let f of u.args)e.locals[f.value]=h[f.value]||(h.detail?h.detail[f.value]:null);a||(a=!0,o(this.findNext(e)))};if(u.name)i.addEventListener(u.name,l,{once:!0});else{let h=u.evaluate(e);setTimeout(l,h,h)}}})}else return new Promise(n=>{setTimeout(()=>{n(this.findNext(e))},r)})}},Bt=class s extends d{static keyword=["send","trigger"];constructor(e,t,r){super(),this.eventName=e,this.details=t,this.to=r,this.args={to:r,eventName:e,details:t},this.toExpr=r}static parse(e){var t=e.matchToken("trigger");if(!(!t&&!e.matchToken("send"))){var r=e.requireElement("eventName"),i=e.parseElement("namedArgumentList");if(e.matchToken(t?"on":"to"))var n=e.requireElement("expression");else var n=e.requireElement("implicitMeTarget");return new s(r,i,n)}}resolve(e,{to:t,eventName:r,details:i}){return e.meta.runtime.nullCheck(t,this.toExpr),e.meta.runtime.implicitLoop(t,function(n){e.meta.runtime.triggerEvent(n,r,i,e.me)}),this.findNext(e)}},zt=class s extends y{static grammarName="eventName";constructor(e){super(),this.value=e}evalStatically(){return this.value}resolve(e){return this.value}static parse(e){var t;return(t=e.matchTokenType("STRING"))?new s(t.value):e.parseElement("dotOrColonPath")}};var Vt={};N(Vt,{BreakCommand:()=>Xt,ContinueCommand:()=>Jt,IfCommand:()=>Yt,RepeatCommand:()=>Kt,TellCommand:()=>Zt});var $t=class extends d{constructor(){super(),this.type="waitATick"}resolve(e){return new Promise(t=>{setTimeout(()=>t(e.meta.runtime.findNext(this)),0)})}},Qt=class extends d{constructor(e,t,r){super(),this.identifier=e.identifier,this.indexIdentifier=e.indexIdentifier,this.slot=e.slot,this.expression=e.expression,this.forever=e.forever,this.times=e.times,this.until=e.until,this.event=e.event,this.on=e.on,this.whileExpr=e.whileExpr,this.bottomTested=e.bottomTested,this.loop=t,this.elseBranch=r,this.args={whileValue:e.whileExpr,times:e.times}}resolveNext(){return this}resolve(e,{whileValue:t,times:r}){var i=e.meta.iterators[this.slot],n=!1,o=null;if(this.bottomTested&&i.index===0)n=!0;else if(this.forever)n=!0;else if(this.until)this.event?n=e.meta.iterators[this.slot].eventFired===!1:n=t!==!0;else if(this.whileExpr)n=t;else if(r)n=i.index<r;else if(i.iterator){if(i.async){var a=this;return i.iterator.next().then(function(u){return u.done?a._endLoop(e,i):a._continueLoop(e,i,u.value)})}var l=i.iterator.next();n=!l.done,o=l.value}return n?this._continueLoop(e,i,o):this._endLoop(e,i)}_continueLoop(e,t,r){var i=t.index;if(t.value?e.result=e.locals[this.identifier]=r:e.result=i,this.indexIdentifier&&(e.locals[this.indexIdentifier]=i),e.meta.__ht_template_result&&t.value){var n=e.meta.__ht_scopes||(e.meta.__ht_scopes={});n[this.slot]||(n[this.slot]={identifier:this.identifier,indexIdentifier:this.indexIdentifier,source:t.value}),e.meta.__ht_template_result.push("<!--hs-scope:"+this.slot+":"+i+"-->")}return t.didIterate=!0,t.index++,this.loop}_endLoop(e,t){var r=t.didIterate;return e.meta.iterators[this.slot]=null,!r&&this.elseBranch?this.elseBranch:e.meta.runtime.findNext(this.parent,e)}},Yt=class s extends d{static keyword="if";constructor(e,t,r){super(),this.expr=e,this.trueBranch=t,this.falseBranch=r,this.args={value:e}}static parse(e){if(!e.matchToken("if"))return;var t=e.requireElement("expression");e.matchToken("then");var r=e.parseElement("commandList"),i=!1;let n=e.matchToken("else")||e.matchToken("otherwise");if(n){let l=e.peekToken("if");if(i=l!=null&&l.line===n.line,i)var o=e.parseElement("command");else var o=e.parseElement("commandList")}e.hasMore()&&!i&&e.requireToken("end");var a=new s(t,r,o);return e.setParent(r,a),e.setParent(o,a),a}resolve(e,{value:t}){return t?this.trueBranch:this.falseBranch?this.falseBranch:this.findNext(e)}},Kt=class s extends d{static keyword=["repeat","for"];constructor(e,t,r,i,n){super(),this.expression=e,this.evt=t,this.on=r,this.slot=i,this.repeatLoopCommand=n,this.args={value:e,event:t,on:r}}static parseRepeatExpression(e,t){var r=e.currentToken(),i;if(e.matchToken("for")||t){var n=e.requireTokenType("IDENTIFIER");i=n.value,e.requireToken("in");for(var o=e.requireElement("expression"),a=o;a;)a.condition&&(a.varName=i),a=a.root}else if(e.matchToken("in")){i="it";var o=e.requireElement("expression")}else if(e.matchToken("while"))var l=e.requireElement("expression");else if(e.matchToken("until")){var u=!0;if(e.matchToken("event")){var h=e.requireElement("dotOrColonPath","Expected event name");if(e.matchToken("from"))var f=e.requireElement("expression")}else var l=e.requireElement("expression")}else if(!e.commandBoundary(e.currentToken())&&e.currentToken().value!=="forever"){var p=e.requireElement("expression");e.requireToken("times")}else{e.matchToken("forever");var c=!0}if(e.matchToken("index"))var n=e.requireTokenType("IDENTIFIER"),T=n.value;else if(e.matchToken("indexed")){e.requireToken("by");var n=e.requireTokenType("IDENTIFIER"),T=n.value}var m=e.parseElement("commandList");if(m&&h){for(var v=m;v.next;)v=v.next;var k=new $t;v.next=k}var b=!1;c&&e.hasMore()&&(e.matchToken("until")?(c=!1,u=!0,b=!0,l=e.requireElement("expression")):e.matchToken("while")&&(c=!1,b=!0,l=e.requireElement("expression")));var g=null;if(e.matchToken("else")&&(g=e.parseElement("commandList")),e.hasMore()&&e.requireToken("end"),i==null){i="_implicit_repeat_"+r.start;var x=i}else var x=i+"_"+r.start;let E={identifier:i,indexIdentifier:T,slot:x,expression:o,forever:c,times:p,until:u,event:h,on:f,whileExpr:l,bottomTested:b},q=new Qt(E,m,g),M=new s(o,h,f,x,q);return e.setParent(m,q),g&&e.setParent(g,M),e.setParent(q,M),M}static parse(e){if(e.matchToken("for"))return s.parseRepeatExpression(e,!0);if(e.matchToken("repeat"))return s.parseRepeatExpression(e,!1)}resolve(e,{value:t,event:r,on:i}){var n={index:0,value:t,eventFired:!1};if(e.meta.iterators[this.slot]=n,t?t[Symbol.asyncIterator]?(n.iterator=t[Symbol.asyncIterator](),n.async=!0):t[Symbol.iterator]?n.iterator=t[Symbol.iterator]():n.iterator=Object.keys(t)[Symbol.iterator]():this.repeatLoopCommand.elseBranch&&(n.iterator=[][Symbol.iterator]()),this.evt){var o=i||e.me;let a=this.slot;o.addEventListener(r,function(l){e.meta.iterators[a].eventFired=!0},{once:!0})}return this.repeatLoopCommand}},Jt=class s extends d{static keyword="continue";static parse(e){if(e.matchToken("continue"))return new s}resolve(e){for(var t=this.parent;t;t=t.parent)if(t.loop!=null)return t.resolveNext(e);throw new Error("Command `continue` cannot be used outside of a `repeat` loop.")}},Xt=class s extends d{static keyword="break";static parse(e){if(e.matchToken("break"))return new s}resolve(e){for(var t=this.parent;t;t=t.parent)if(t.loop!=null)return e.meta.runtime.findNext(t.parent,e);throw new Error("Command `break` cannot be used outside of a `repeat` loop.")}},Zt=class s extends d{static keyword="tell";constructor(e,t,r){super(),this.value=e,this.body=t,this.slot=r,this.args={value:e}}static parse(e){var t=e.currentToken();if(e.matchToken("tell")){var r=e.requireElement("expression"),i=e.requireElement("commandList");e.hasMore()&&!e.featureStart(e.currentToken())&&e.requireToken("end");var n="tell_"+t.start,o=new s(r,i,n);return e.setParent(i,o),o}}resolveNext(e){var t=e.meta.iterators[this.slot];return t.index<t.value.length?(e.you=t.value[t.index++],this.body):(e.you=t.originalYou,this.next?this.next:e.meta.runtime.findNext(this.parent,e))}resolve(e,{value:t}){return t==null?t=[]:Array.isArray(t)||t instanceof NodeList||(t=[t]),e.meta.iterators[this.slot]={originalYou:e.you,index:0,value:t},this.resolveNext(e)}};var ir={};N(ir,{GetCommand:()=>rr,JsBody:()=>er,JsCommand:()=>tr});var er=class s{static grammarName="jsBody";constructor(e,t){this.type="jsBody",this.jsSource=e,this.exposedFunctionNames=t}static parse(e){for(var t=e.currentToken().start,r=e.currentToken(),i=[],n="",o=!1;e.hasMore();){r=e.consumeToken();var a=e.token(0,!0);if(a.type==="IDENTIFIER"&&a.value==="end")break;o?r.type==="IDENTIFIER"||r.type==="NUMBER"?n+=r.value:(n!==""&&i.push(n),n="",o=!1):r.type==="IDENTIFIER"&&r.value==="function"&&(o=!0)}var l=r.end+1;return new s(e.source.substring(t,l),i)}},tr=class s extends d{static keyword="js";constructor(e,t,r){super(),this.jsSource=e,this.function=t,this.inputs=r}static parse(e){if(e.matchToken("js")){var t=[];if(e.matchOpToken("(")&&!e.matchOpToken(")")){do{var r=e.requireTokenType("IDENTIFIER");t.push(r.value)}while(e.matchOpToken(","));e.requireOpToken(")")}var i=e.requireElement("jsBody");e.matchToken("end");var n=new Function(...t,i.jsSource);return new s(i.jsSource,n,t)}}resolve(e){var t=this.inputs.map(i=>e.meta.runtime.resolveSymbol(i,e,"local")),r=this.function.apply(e.meta.runtime.globalScope,t);return r&&typeof r.then=="function"?r.then(i=>(e.result=i,this.findNext(e))):(e.result=r,this.findNext(e))}},rr=class s extends d{static keyword=["get","call"];constructor(e){super(),this.expr=e,this.args={result:e}}static parse(e){var t=e.matchToken("call");if(!(!t&&!e.matchToken("get"))){var r=e.requireElement("expression");return t&&r&&r.type!=="functionCall"&&e.raiseError("Must be a function invocation"),new s(r)}}resolve(e,{result:t}){return e.result=t,this.findNext(e)}};var sr={};N(sr,{PseudoCommand:()=>nr});var nr=class s extends d{static grammarName="pseudoCommand";constructor(e,t,r,i){super(),this.variant=e,this.expr=t,this._root=i,this._realRoot=r,e==="target"?(this.root=r,this.argExpressions=i.argExpressions,this.args={target:r,argVals:i.argExpressions}):this.args={result:t}}static parse(e){let t=e.token(1);if(!(t&&t.op&&(t.value==="."||t.value==="(")))return null;for(var r=e.requireElement("primaryExpression"),i=r.root,n=r;i.root!=null;)n=n.root,i=i.root;if(r.type!=="functionCall"&&e.raiseError("Pseudo-commands must be function calls"),n.type==="functionCall"&&n.root.root==null){if(e.matchAnyToken("the","to","on","with","into","from","at"))var o=e.requireElement("expression");else if(e.matchToken("me"))var o=e.requireElement("implicitMeTarget")}return o?new s("target",r,o,n):new s("simple",r,null,null)}resolve(e,{target:t,argVals:r,result:i}){if(this.variant==="target"){e.meta.runtime.nullCheck(t,this._realRoot);var n=this._root.root.name,o=t[n];e.meta.runtime.nullCheck(o,this._root),o.hyperfunc&&r.push(e),e.result=o.apply(t,r),e.meta.runtime.maybeNotify(t,n)}else e.result=i;return this.findNext(e)}};var xr={};N(xr,{AddCommand:()=>or,AnswerCommand:()=>wr,AskCommand:()=>gr,BlurCommand:()=>pr,CloseCommand:()=>Tr,EmptyCommand:()=>vr,FocusCommand:()=>mr,HideCommand:()=>ur,MeasureCommand:()=>fr,MorphCommand:()=>br,OpenCommand:()=>yr,RemoveCommand:()=>ar,ResetCommand:()=>dr,SelectCommand:()=>Er,ShowCommand:()=>hr,SpeakCommand:()=>kr,TakeCommand:()=>cr,ToggleCommand:()=>lr});var H={display:function(s,e,t,r){if(!t&&e instanceof HTMLDialogElement){s==="hide"?e.close():s==="show"?e.open||e.show():s==="toggle"&&(e.open?e.close():e.show());return}if(t)e.style.display=t;else if(s==="toggle")getComputedStyle(e).display==="none"?H.display("show",e,t,r):H.display("hide",e,t,r);else if(s==="hide"){let i=r.getInternalData(e);i.originalDisplay==null&&(i.originalDisplay=e.style.display),e.style.display="none"}else{let i=r.getInternalData(e);i.originalDisplay&&i.originalDisplay!=="none"?e.style.display=i.originalDisplay:e.style.removeProperty("display")}},visibility:function(s,e,t){t?e.style.visibility=t:s==="toggle"?getComputedStyle(e).visibility==="hidden"?H.visibility("show",e,t):H.visibility("hide",e,t):s==="hide"?e.style.visibility="hidden":e.style.visibility="visible"},opacity:function(s,e,t){t?e.style.opacity=t:s==="toggle"?getComputedStyle(e).opacity==="0"?H.opacity("show",e,t):H.opacity("hide",e,t):s==="hide"?e.style.opacity="0":e.style.opacity="1"},hidden:function(s,e){s==="toggle"&&(s=e.hasAttribute("hidden")?"show":"hide"),s==="hide"?e.setAttribute("hidden",""):e.removeAttribute("hidden")}};function Ti(s){return s.split(";").map(function(e){return e.split(":")[0].trim()}).filter(Boolean)}function ki(s,e){for(var t=0;t<e.length;t++)s.style.removeProperty(e[t])}var C=class extends d{static parseShowHideTarget(e){var t=e.currentToken();return t.value==="when"||t.value==="with"||e.commandBoundary(t)?e.parseElement("implicitMeTarget"):e.parseElement("expression")}static resolveHideShowStrategy(e,t){var r=A.defaultHideShowStrategy,i=H;A.hideShowStrategies&&(i=Object.assign({},i,A.hideShowStrategies)),t=t||r||"display";var n=i[t];return n==null&&e.raiseError("Unknown show/hide strategy : "+t),n}},or=class s extends d{static keyword="add";constructor(e,t,r,i,n,o,a){super(),this.variant=e,this.classRefs=t,this.attributeRef=r,this.cssDeclaration=i,this.to=n,this.toExpr=n,this.when=o,this.valueExpr=a,e==="class"?this.args={to:n,classRefs:t}:e==="attribute"?this.args={to:n}:e==="collection"?this.args={to:n,value:a}:this.args={to:n,css:i}}static parse(e){if(e.matchToken("add")){var t=e.parseElement("classRef"),r=null,i=null,n=null;if(t==null){if(r=e.parseElement("attributeRef"),r==null&&(i=e.parseElement("styleLiteral"),i==null)){e.pushFollow("to");try{n=e.parseElement("expression")}finally{e.popFollow()}(n==null||!e.currentToken()||e.currentToken().value!=="to")&&e.raiseError("Expected either a class reference or attribute expression")}}else for(var o=[t];t=e.parseElement("classRef");)o.push(t);if(e.matchToken("to"))var a=e.requireElement("expression");else var a=e.requireElement("implicitMeTarget");if(e.matchToken("when"))var l=e.requireElement("expression");return o?new s("class",o,null,null,a,l):r?new s("attribute",null,r,null,a,l):i?new s("css",null,null,i,a,null):new s("collection",null,null,null,a,null,n)}}resolve(e,{to:t,classRefs:r,css:i,value:n}){var o=e.meta.runtime,a=this;o.nullCheck(t,this.toExpr);var l;if(this.variant==="collection"){if(Array.isArray(t))t.push(n);else if(t instanceof Set)t.add(n);else throw t instanceof Map?new Error("Use 'set myMap[key] to value' for Maps"):new Error("Cannot add to "+typeof t);return o.notifyMutation(t),o.findNext(this,e)}else if(this.variant==="class")o.forEach(r,function(f){a.when?l=o.implicitLoopWhen(t,a.when,e,function(p){p instanceof Element&&p.classList.add(f.className)},function(p){p instanceof Element&&p.classList.remove(f.className)}):o.implicitLoop(t,function(p){p instanceof Element&&p.classList.add(f.className)})});else if(this.variant==="attribute"){var u=this.attributeRef;this.when?l=o.implicitLoopWhen(t,this.when,e,function(f){f.setAttribute(u.name,u.value)},function(f){f.removeAttribute(u.name)}):o.implicitLoop(t,function(f){f.setAttribute(u.name,u.value)})}else if(this.when){var h=Ti(i);l=o.implicitLoopWhen(t,this.when,e,function(f){f.style.cssText+=i},function(f){ki(f,h)})}else o.implicitLoop(t,function(f){f.style.cssText+=i});return l&&l.then?l.then(function(){return o.findNext(a,e)}):o.findNext(this,e)}},ar=class s extends d{static keyword="remove";constructor(e,t,r,i,n,o,a){super(),this.variant=e,this.elementExpr=t,this.classRefs=r,this.attributeRef=i,this.cssDeclaration=n,this.from=o,this.fromExpr=o,this.when=a,e==="element"?this.args={element:t,from:o}:e==="css"?this.args={css:n,from:o}:this.args={classRefs:r,from:o}}static parse(e){if(e.matchToken("remove")){var t=e.parseElement("classRef"),r=null,i=null,n=null;if(t==null)r=e.parseElement("attributeRef"),r==null&&(i=e.parseElement("styleLiteral"),i==null&&(n=e.parseElement("expression"),n==null&&e.raiseError("Expected either a class reference, attribute expression or value expression")));else for(var o=[t];t=e.parseElement("classRef");)o.push(t);if(e.matchToken("from"))var a=e.requireElement("expression");else if(n==null)var a=e.requireElement("implicitMeTarget");if(e.matchToken("when")){n&&e.raiseError("'when' clause is not supported when removing elements");var l=e.requireElement("expression")}return n?new s("element",n,null,null,null,a):i?new s("css",null,null,null,i,a,l):new s("classOrAttr",null,o,r,null,a,l)}}resolve(e,{element:t,classRefs:r,css:i,from:n}){var o=e.meta.runtime,a=this,l;if(this.variant==="element"){if(n==null&&typeof this.elementExpr.delete=="function"){var u=this.isDOMTarget(t);if(!u){var h=this.elementExpr.lhs,f={};for(var p in h){var c=h[p];f[p]=c&&c.evaluate?c.evaluate(e):c}return this.elementExpr.delete(e,f),this.findNext(e)}}if(o.nullCheck(t,this.elementExpr),n!=null&&Array.isArray(n)){var T=n.indexOf(t);T>-1&&n.splice(T,1),o.notifyMutation(n)}else n instanceof Set||n instanceof Map?(n.delete(t),o.notifyMutation(n)):o.implicitLoop(t,function(k){k.parentElement&&(n==null||n.contains(k))&&k.parentElement.removeChild(k)})}else if(this.variant==="css"){o.nullCheck(n,this.fromExpr);var m=Ti(i);o.implicitLoop(n,function(k){ki(k,m)})}else if(o.nullCheck(n,this.fromExpr),r)o.forEach(r,function(k){a.when?l=o.implicitLoopWhen(n,a.when,e,function(b){b.classList.remove(k.className)},function(b){b.classList.add(k.className)}):o.implicitLoop(n,function(b){b.classList.remove(k.className)})});else{var v=this.attributeRef;this.when?l=o.implicitLoopWhen(n,this.when,e,function(k){k.removeAttribute(v.name)},function(k){k.setAttribute(v.name,v.value)}):o.implicitLoop(n,function(k){k.removeAttribute(v.name)})}return l&&l.then?l.then(function(){return o.findNext(a,e)}):o.findNext(this,e)}isDOMTarget(e){return e instanceof Node||e instanceof NodeList||e instanceof HTMLCollection}},lr=class s extends C{static keyword="toggle";constructor(e,t,r,i,n,o,a,l,u,h,f,p,c,T,m,v){super(),this.classRef=e,this.classRef2=t,this.classRefs=r,this.attributeRef=i,this.attributeRef2=n,this.on=o,this.time=a,this.evt=l,this.from=u,this.visibility=h,this.betweenClass=f,this.betweenAttr=p,this.hideShowStrategy=c,this.betweenValues=T,this.toggleExpr=m,this.styleProp=v,this.onExpr=o,this.args={on:o,time:a,evt:l,from:u,classRef:e,classRef2:t,classRefs:r,betweenValues:T}}static parse(e){if(e.matchToken("toggle")){e.matchAnyToken("the","my");var t=!1,r=null,i=null,n=null,o=null,a=null,l=null,u=null,h=!1,f=!1,p=null,c=null;if(e.currentToken().type==="STYLE_REF")if(c=e.consumeToken().value.slice(1),t=!0,r=C.resolveHideShowStrategy(e,c),e.matchToken("of")){var T=e.pushFollows("with","between");try{i=e.requireElement("expression")}finally{e.popFollows(T)}}else i=e.requireElement("implicitMeTarget");else if(e.matchToken("between"))n=e.parseElement("classRef"),n!=null?(h=!0,e.requireToken("and"),o=e.requireElement("classRef")):(f=!0,l=e.parseElement("attributeRef"),l==null&&e.raiseError("Expected either a class reference or attribute expression"),e.requireToken("and"),u=e.requireElement("attributeRef"));else if(n=e.parseElement("classRef"))for(a=[n];n=e.parseElement("classRef");)a.push(n);else(l=e.parseElement("attributeRef"))||(e.pushFollow("between"),p=e.parseElement("assignableExpression"),e.popFollow(),p==null&&e.raiseError("Expected a class reference, attribute, style property, or settable expression"));!t&&!p&&(e.matchToken("on")?i=e.requireElement("expression"):i=e.requireElement("implicitMeTarget"));var m=null;if(e.matchToken("between")){for(e.pushFollow("and"),m=[e.requireElement("expression")];e.matchOpToken(",");)m.push(e.requireElement("expression"));e.popFollow(),e.requireToken("and"),m.push(e.requireElement("expression"))}p&&!m&&e.raiseError("toggle <expression> requires 'between' with values");var v=null,k=null,b=null;return e.peekToken("for")&&!e.peekToken("in",2)?(e.matchToken("for"),v=e.requireElement("expression")):e.matchToken("until")&&(k=e.requireElement("dotOrColonPath","Expected event name"),e.matchToken("from")&&(b=e.requireElement("expression"))),new s(n,o,a,l,u,i,v,k,b,t,h,f,r,m,p,c)}}toggle(e,t,r,i,n,o){if(this.betweenValues){if(this.visibility)e.meta.runtime.implicitLoop(t,c=>{var T=c.style[this.styleProp]||getComputedStyle(c)[this.styleProp],m=o.findIndex(v=>v==T);c.style[this.styleProp]=o[(m+1)%o.length]});else{var a=this.toggleExpr.evaluate(e),l=o.findIndex(c=>c==a),u=o[(l+1)%o.length],h={};for(var f in this.toggleExpr.lhs){var p=this.toggleExpr.lhs[f];h[f]=p&&p.evaluate?p.evaluate(e):p}this.toggleExpr.set(e,h,u)}return}e.meta.runtime.nullCheck(t,this.onExpr),this.visibility?e.meta.runtime.implicitLoop(t,c=>{this.hideShowStrategy("toggle",c,null,e.meta.runtime)}):this.betweenClass?e.meta.runtime.implicitLoop(t,c=>{c.classList.contains(r.className)?(c.classList.remove(r.className),c.classList.add(i.className)):(c.classList.add(r.className),c.classList.remove(i.className))}):this.betweenAttr?e.meta.runtime.implicitLoop(t,c=>{c.hasAttribute(this.attributeRef.name)&&c.getAttribute(this.attributeRef.name)===this.attributeRef.value?(c.removeAttribute(this.attributeRef.name),c.setAttribute(this.attributeRef2.name,this.attributeRef2.value)):(c.hasAttribute(this.attributeRef2.name)&&c.removeAttribute(this.attributeRef2.name),c.setAttribute(this.attributeRef.name,this.attributeRef.value))}):n?e.meta.runtime.forEach(n,c=>{e.meta.runtime.implicitLoop(t,T=>{T.classList.toggle(c.className)})}):e.meta.runtime.implicitLoop(t,c=>{c.hasAttribute(this.attributeRef.name)?c.removeAttribute(this.attributeRef.name):c.setAttribute(this.attributeRef.name,this.attributeRef.value)})}resolve(e,{on:t,time:r,evt:i,from:n,classRef:o,classRef2:a,classRefs:l,betweenValues:u}){return r?new Promise(h=>{this.toggle(e,t,o,a,l,u),setTimeout(()=>{this.toggle(e,t,o,a,l,u),h(this.findNext(e))},r)}):i?new Promise(h=>{var f=n||e.me;f.addEventListener(i,()=>{this.toggle(e,t,o,a,l,u),h(this.findNext(e))},{once:!0}),this.toggle(e,t,o,a,l,u)}):(this.toggle(e,t,o,a,l,u),this.findNext(e))}},ur=class s extends C{static keyword="hide";constructor(e,t,r){super(),this.target=e,this.targetExpr=e,this.when=t,this.hideShowStrategy=r,this.args={target:e}}static parse(e){if(e.matchToken("hide")){var t=C.parseShowHideTarget(e),r=null;if(e.matchToken("with")&&(r=e.requireTokenType("IDENTIFIER","STYLE_REF").value,r.startsWith("*")&&(r=r.slice(1))),e.matchToken("when"))var i=e.requireElement("expression");var n=C.resolveHideShowStrategy(e,r);return new s(t,i,n)}}resolve(e,{target:t}){var r=e.meta.runtime,i=this;if(r.nullCheck(t,this.targetExpr),this.when){var n=r.implicitLoopWhen(t,this.when,e,function(o){i.hideShowStrategy("hide",o,null,r)},function(o){i.hideShowStrategy("show",o,null,r)});if(n&&n.then)return n.then(function(){return r.findNext(i,e)})}else r.implicitLoop(t,function(o){i.hideShowStrategy("hide",o,null,r)});return r.findNext(this,e)}},hr=class s extends C{static keyword="show";constructor(e,t,r,i){super(),this.target=e,this.targetExpr=e,this.when=t,this.arg=r,this.hideShowStrategy=i,this.args={target:e}}static parse(e){if(e.matchToken("show")){var t=C.parseShowHideTarget(e),r=null;e.matchToken("with")&&(r=e.requireTokenType("IDENTIFIER","STYLE_REF").value,r.startsWith("*")&&(r=r.slice(1)));var i=null;if(e.matchOpToken(":")){var n=e.consumeUntilWhitespace();e.matchTokenType("WHITESPACE"),i=n.map(function(l){return l.value}).join("")}if(e.matchToken("when"))var o=e.requireElement("expression");var a=C.resolveHideShowStrategy(e,r);return new s(t,o,i,a)}}resolve(e,{target:t}){var r=e.meta.runtime,i=this;if(r.nullCheck(t,this.targetExpr),this.when){var n=r.implicitLoopWhen(t,this.when,e,function(o){i.hideShowStrategy("show",o,i.arg,r)},function(o){i.hideShowStrategy("hide",o,null,r)});if(n&&n.then)return n.then(function(){return r.findNext(i,e)})}else r.implicitLoop(t,function(o){i.hideShowStrategy("show",o,i.arg,r)});return r.findNext(this,e)}},cr=class s extends d{static keyword="take";constructor(e,t,r,i,n,o,a){super(),this.variant=e,this.classRefs=t,this.attributeRef=r,this.from=i,this.fromExpr=i,this.forElt=n,this.forExpr=n,this.replacementValue=o,this.replacementClass=a,e==="class"?this.args={classRefs:t,from:i,forElt:n}:this.args={from:i,forElt:n,replacementValue:o}}static parse(e){if(e.matchToken("take")){let a=null,l=[];for(;a=e.parseElement("classRef");)l.push(a);var t=null,r=null,i=null;let u=l.length>0;if(u?e.matchToken("with")&&(l.length>1&&e.raiseError("`with` cannot be combined with multiple class refs"),i=e.requireElement("classRef")):(t=e.parseElement("attributeRef"),t==null&&e.raiseError("Expected either a class reference or attribute expression"),e.matchToken("with")&&(r=e.requireElement("expression"))),e.matchToken("from")){var n=e.requireElement("expression");e.matchToken("giving")&&(u?(i&&e.raiseError("`giving` cannot be combined with `with`"),l.length>1&&e.raiseError("`giving` cannot be combined with multiple class refs"),i=e.requireElement("classRef")):(r&&e.raiseError("`giving` cannot be combined with `with`"),r=e.requireElement("expression")))}if(e.matchToken("for"))var o=e.requireElement("expression");else var o=e.requireElement("implicitMeTarget");return u?new s("class",l,null,n,o,null,i):new s("attribute",null,t,n,o,r,null)}}resolve(e,{classRefs:t,from:r,forElt:i,replacementValue:n}){if(this.variant==="class"){e.meta.runtime.nullCheck(i,this.forExpr);var o=this.replacementClass?this.replacementClass.className:null;e.meta.runtime.implicitLoop(t,a=>{var l=a.className;r?e.meta.runtime.implicitLoop(r,u=>{u.classList.remove(l),o&&u.classList.add(o)}):e.meta.runtime.implicitLoop(a,u=>{u.classList.remove(l),o&&u.classList.add(o)}),e.meta.runtime.implicitLoop(i,u=>{u.classList.add(l),o&&u.classList.remove(o)})})}else e.meta.runtime.nullCheck(r,this.fromExpr),e.meta.runtime.nullCheck(i,this.forExpr),e.meta.runtime.implicitLoop(r,a=>{n?a.setAttribute(this.attributeRef.name,n):a.removeAttribute(this.attributeRef.name)}),e.meta.runtime.implicitLoop(i,a=>{a.setAttribute(this.attributeRef.name,this.attributeRef.value||"")});return this.findNext(e)}},fr=class s extends d{static keyword="measure";constructor(e,t){super(),this.properties=t,this.targetExpr=e,this.args={target:e}}static parse(e){if(e.matchToken("measure")){var t,r=[],i=["x","y","left","top","right","bottom","width","height","bounds","scrollLeft","scrollTop","scrollLeftMax","scrollTopMax","scrollWidth","scrollHeight","scroll"];if(e.commandBoundary(e.currentToken()))t=e.parseElement("implicitMeTarget");else{var n=e.requireElement("expression");n.type==="symbol"&&i.includes(n.name)?(t=e.parseElement("implicitMeTarget"),r.push(n.name)):n.type==="possessive"&&n.prop||n.type==="ofExpression"&&n.prop?(t=n.root,r.push(n.prop.value)):t=n}for(;e.matchOpToken(",");)r.push(e.requireTokenType("IDENTIFIER").value);return new s(t,r)}}resolve(e,{target:t}){e.meta.runtime.nullCheck(t,this.targetExpr),0 in t&&(t=t[0]);var r=t.getBoundingClientRect(),i={top:t.scrollTop,left:t.scrollLeft,topMax:t.scrollTopMax,leftMax:t.scrollLeftMax,height:t.scrollHeight,width:t.scrollWidth};return e.result={x:r.x,y:r.y,left:r.left,top:r.top,right:r.right,bottom:r.bottom,width:r.width,height:r.height,bounds:r,scrollLeft:i.left,scrollTop:i.top,scrollLeftMax:i.leftMax,scrollTopMax:i.topMax,scrollWidth:i.width,scrollHeight:i.height,scroll:i},e.meta.runtime.forEach(this.properties,n=>{if(n in e.result)e.locals[n]=e.result[n];else throw new Error("No such measurement as "+n)}),this.findNext(e)}},mr=class s extends d{static keyword="focus";constructor(e){super(),this.args={target:e}}static parse(e){if(e.matchToken("focus")){var t=null;return e.commandBoundary(e.currentToken())||(t=e.requireElement("expression")),new s(t)}}resolve(e,{target:t}){return(t||e.me).focus(),this.findNext(e)}},pr=class s extends d{static keyword="blur";constructor(e){super(),this.args={target:e}}static parse(e){if(e.matchToken("blur")){var t=null;return e.commandBoundary(e.currentToken())||(t=e.requireElement("expression")),new s(t)}}resolve(e,{target:t}){return(t||e.me).blur(),this.findNext(e)}},vr=class s extends d{static keyword=["empty","clear"];constructor(e){super(),this.args={target:e}}static parse(e){if(!(!e.matchToken("empty")&&!e.matchToken("clear"))){var t=null;return e.commandBoundary(e.currentToken())||(t=e.requireElement("expression")),new s(t)}}resolve(e,{target:t}){var r=t||e.me;return Array.isArray(r)?(r.splice(0),e.meta.runtime.notifyMutation(r)):r instanceof Set||r instanceof Map?(r.clear(),e.meta.runtime.notifyMutation(r)):e.meta.runtime.implicitLoop(r,function(i){var n=i.tagName;n==="INPUT"?i.type==="checkbox"||i.type==="radio"?i.checked=!1:i.value="":n==="TEXTAREA"?i.value="":n==="SELECT"?i.selectedIndex=-1:n==="FORM"?i.querySelectorAll("input, textarea, select").forEach(function(o){o.tagName==="INPUT"?o.type==="checkbox"||o.type==="radio"?o.checked=!1:o.value="":o.tagName==="TEXTAREA"?o.value="":o.tagName==="SELECT"&&(o.selectedIndex=-1)}):i.replaceChildren()}),this.findNext(e)}},dr=class s extends d{static keyword="reset";constructor(e){super(),this.args={target:e}}static parse(e){if(e.matchToken("reset")){var t=null;return e.commandBoundary(e.currentToken())||(t=e.requireElement("expression")),new s(t)}}resolve(e,{target:t}){var r=t||e.me;return e.meta.runtime.implicitLoop(r,function(i){var n=i.tagName;if(n==="FORM")i.reset();else if(n==="INPUT")i.type==="checkbox"||i.type==="radio"?i.checked=i.defaultChecked:i.value=i.defaultValue;else if(n==="TEXTAREA")i.value=i.defaultValue;else if(n==="SELECT")for(var o=0;o<i.options.length;o++)i.options[o].selected=i.options[o].defaultSelected}),this.findNext(e)}};function zi(s){s instanceof HTMLDialogElement?s.open||s.showModal():s instanceof HTMLDetailsElement?s.open=!0:s.hasAttribute&&s.hasAttribute("popover")?s.showPopover():typeof s.open=="function"&&s.open()}function Gi(s){s instanceof HTMLDialogElement?s.close():s instanceof HTMLDetailsElement?s.open=!1:s.hasAttribute&&s.hasAttribute("popover")?s.hidePopover():typeof s.close=="function"&&s.close()}var yr=class s extends d{static keyword="open";constructor(e,t){super(),this.fullscreen=t,this.args={target:e}}static parse(e){if(e.matchToken("open")){var t=e.matchToken("fullscreen"),r=null;return e.commandBoundary(e.currentToken())||(r=e.requireElement("expression")),new s(r,!!t)}}resolve(e,{target:t}){var r=t||e.me;return this.fullscreen?(t||document.documentElement).requestFullscreen().then(()=>this.findNext(e)):(e.meta.runtime.implicitLoop(r,zi),this.findNext(e))}},Tr=class s extends d{static keyword="close";constructor(e,t){super(),this.fullscreen=t,this.args={target:e}}static parse(e){if(e.matchToken("close")){var t=e.matchToken("fullscreen"),r=null;return e.commandBoundary(e.currentToken())||(r=e.requireElement("expression")),new s(r,!!t)}}resolve(e,{target:t}){if(this.fullscreen)return document.exitFullscreen().then(()=>this.findNext(e));var r=t||e.me;return e.meta.runtime.implicitLoop(r,Gi),this.findNext(e)}},kr=class s extends d{static keyword="speak";constructor(e,t,r,i,n){super(),this.voice=t,this.rate=r,this.pitch=i,this.volume=n,this.args={text:e,voice:t,rate:r,pitch:i,volume:n}}static parse(e){if(e.matchToken("speak")){for(var t=e.requireElement("expression"),r=null,i=null,n=null,o=null;e.matchToken("with");)e.matchToken("voice")?r=e.requireElement("expression"):e.matchToken("rate")?i=e.requireElement("expression"):e.matchToken("pitch")?n=e.requireElement("expression"):e.matchToken("volume")?o=e.requireElement("expression"):e.raiseExpected("voice","rate","pitch","volume");return new s(t,r,i,n,o)}}resolve(e,{text:t,voice:r,rate:i,pitch:n,volume:o}){var a=new SpeechSynthesisUtterance(String(t));if(r){var l=speechSynthesis.getVoices(),u=l.find(f=>f.name===r);u&&(a.voice=u)}i!=null&&(a.rate=i),n!=null&&(a.pitch=n),o!=null&&(a.volume=o);var h=this;return new Promise(function(f){a.onend=function(){f(e.meta.runtime.findNext(h,e))},speechSynthesis.speak(a)})}},Er=class s extends d{static keyword="select";constructor(e){super(),this.args={target:e}}static parse(e){if(e.matchToken("select")){var t=null;return e.commandBoundary(e.currentToken())||(t=e.requireElement("expression")),new s(t)}}resolve(e,{target:t}){var r=t||e.me;return typeof r.select=="function"&&r.select(),this.findNext(e)}},gr=class s extends d{static keyword="ask";constructor(e){super(),this.args={message:e}}static parse(e){if(e.matchToken("ask")){var t=e.requireElement("expression");return new s(t)}}resolve(e,{message:t}){return e.result=prompt(String(t)),this.findNext(e)}},wr=class s extends d{static keyword="answer";constructor(e,t,r){super(),this.choiceA=t,this.choiceB=r,this.args={message:e,choiceA:t,choiceB:r}}static parse(e){if(e.matchToken("answer")){var t=e.requireElement("expression"),r=null,i=null;if(e.matchToken("with")){e.pushFollow("or");try{r=e.requireElement("expression")}finally{e.popFollow()}e.requireToken("or"),i=e.requireElement("expression")}return new s(t,r,i)}}resolve(e,{message:t,choiceA:r,choiceB:i}){return r?e.result=confirm(String(t))?r:i:alert(String(t)),this.findNext(e)}},br=class s extends d{static keyword="morph";constructor(e,t){super(),this.args={target:e,content:t}}static parse(e){if(e.matchToken("morph")){var t=e.requireElement("expression");e.requireToken("to");var r=e.requireElement("expression");return new s(t,r)}}resolve(e,{target:t,content:r}){return e.meta.runtime.implicitLoop(t,function(i){e.meta.runtime.morph(i,r)}),this.findNext(e)}};var Or={};N(Or,{SettleCommand:()=>Sr,TransitionCommand:()=>qr,ViewTransitionCommand:()=>Lr});var Sr=class s extends d{static keyword="settle";constructor(e){super(),this.onExpr=e,this.args={on:e}}static parse(e){if(e.matchToken("settle")){if(e.commandBoundary(e.currentToken()))var t=e.requireElement("implicitMeTarget");else var t=e.requireElement("expression");return new s(t)}}resolve(e,{on:t}){e.meta.runtime.nullCheck(t,this.onExpr);var r=this,i=t instanceof Element?[t]:Array.from(t);return Promise.all(i.map($i)).then(function(){return e.meta.runtime.findNext(r,e)})}};function $i(s){return new Promise(function(e){var t=!1,r=!1;s.addEventListener("transitionstart",function(){r=!0},{once:!0}),setTimeout(function(){!r&&!t&&(t=!0,e())},500),s.addEventListener("transitionend",function(){t||(t=!0,e())},{once:!0})})}var qr=class s extends d{static keyword="transition";constructor(e,t,r,i,n){super(),this.propExprs=e,this.from=t,this.to=r,this.usingExpr=i,this.over=n,this.args={from:t,to:r,using:i,over:n}}static parse(e){if(e.matchToken("transition")){var t=[],r=[],i=[];do{var n=e.pushFollows("from","to");try{t.push(e.requireElement("expression"))}finally{e.popFollows(n)}r.push(e.matchToken("from")?e.requireElement("expression"):null),e.requireToken("to"),i.push(e.matchToken("initial")?"initial":e.requireElement("expression"))}while(!e.commandBoundary(e.currentToken())&&e.currentToken().value!=="over"&&e.currentToken().value!=="using");var o,a;return e.matchToken("over")?o=e.requireElement("expression"):e.matchToken("using")&&(a=e.requireElement("expression")),new s(t,r,i,a,o)}}resolve(e,{from:t,to:r,using:i,over:n}){var o=this,a=e.meta.runtime,l;this.propExprs[0].root?(l=this.propExprs[0].root.evaluate(e),a.nullCheck(l,this.propExprs[0].root)):l=e.me;var u=[];return a.implicitLoop(l,function(h){u.push(new Promise(function(f){var p=h.style.transition;n?h.style.transition="all "+n+"ms ease-in":i?h.style.transition=i:h.style.transition=A.defaultTransition;var c=a.getInternalData(h);c.transitionInitials||(c.transitionInitials={});for(var T=c.transitionInitials,m=0;m<o.propExprs.length;m++)m in T||(T[m]=o.propExprs[m].evaluate(e));for(var m=0;m<o.propExprs.length;m++)if(t[m]!=null){var v={};for(var k in o.propExprs[m].lhs){var b=o.propExprs[m].lhs[k];v[k]=b&&b.evaluate?b.evaluate(e):b}o.propExprs[m].set(e,v,t[m])}var g=!1,x=!1;h.addEventListener("transitionend",function(){x||(h.style.transition=p,x=!0,f())},{once:!0}),h.addEventListener("transitionstart",function(){g=!0},{once:!0}),setTimeout(function(){!x&&!g&&(h.style.transition=p,x=!0,f())},100),setTimeout(function(){for(var E=0;E<o.propExprs.length;E++){var q={};for(var M in o.propExprs[E].lhs){var L=o.propExprs[E].lhs[M];q[M]=L&&L.evaluate?L.evaluate(e):L}var P=r[E]==="initial"?T[E]:r[E];o.propExprs[E].set(e,q,P)}},0)}))}),Promise.all(u).then(function(){return o.findNext(e)})}},Nr=class extends d{constructor(){super(),this.type="abortViewTransition"}resolve(e){var t=e.meta.viewTransition;return t&&(console.warn("hyperscript: view transition skipped due to early exit (return, halt, or break)"),e.meta.viewTransition=null,t.finished.catch(function(){}),t.transition.skipTransition(),t.bodyDone()),e.meta.runtime.findNext(this)}},Qi=new Set(["returnCommand","exitCommand","haltCommand","breakCommand","continueCommand"]),Yi=new Set(["breakCommand","continueCommand"]);function Ei(s,e,t){if(t||(t=new Set),!(!s||t.has(s))){t.add(s);var r=e||s.loop!==void 0;for(var i of Object.keys(s))if(i!=="parent"){var n=s[i];if(n instanceof I&&Qi.has(n.type)&&(!Yi.has(n.type)||!e)){var o=new Nr;o.next=n,s[i]=o,t.add(o)}for(var a of[n].flat())a instanceof I&&Ei(a,r,t)}}}var Ar=class extends d{constructor(){super(),this.type="viewTransitionTick"}resolve(e){return new Promise(t=>{setTimeout(()=>t(e.meta.runtime.findNext(this)),0)})}},Ir=class extends d{constructor(){super(),this.type="viewTransitionEnd"}resolve(e){var t=e.meta.viewTransition;return t?(t.bodyDone(),t.finished.then(()=>(e.meta.viewTransition=null,e.meta.runtime.findNext(this.parent,e)))):e.meta.runtime.findNext(this.parent,e)}},Lr=class s extends d{static keyword="start";constructor(e,t){super(),this.body=e,this.transitionType=t,this.args={type:t}}static parse(e){if(e.matchToken("start")){e.matchToken("a"),e.requireToken("view"),e.requireToken("transition"),e.matchToken("using");var t=e.matchTokenType("STRING"),r=t?t.value:null,i=e.requireElement("commandList"),n=new Ar;n.next=i;for(var o=new Ir,a=i;a.next;)a=a.next;a.next=o,e.hasMore()&&e.requireToken("end"),Ei(i,!1);var l=new s(n,r);return e.setParent(n,l),e.setParent(i,l),o.parent=l,l}}resolve(e,{type:t}){if(!document.startViewTransition)return this.body;if(e.meta.viewTransition)throw new Error("A view transition is already in progress");var r,i=new Promise(function(a){r=a}),n=function(){return i};t&&(n={update:function(){return i},types:[t]});var o=document.startViewTransition(n);return e.meta.viewTransition={bodyDone:r,finished:o.finished,transition:o},this.body}};var Fr={};N(Fr,{BreakpointCommand:()=>Mr});var Mr=class s extends d{static keyword="breakpoint";static parse(e){if(e.matchToken("breakpoint"))return new s}resolve(e){debugger;return this.findNext(e)}};var Cr={};N(Cr,{OnFeature:()=>Rr});var Rr=class s extends S{static keyword="on";constructor(e,t,r,i,n,o,a,l,u,h,f){super(),this.displayName=e,this.events=t,this.start=r,this.every=i,this.errorHandler=n,this.errorSymbol=o,this.finallyHandler=a,this.queueAll=l,this.queueFirst=u,this.queueNone=h,this.queueLast=f}execute(e){let t=this,r=this.every,i=this.queueNone,n=this.queueFirst,o=this.queueLast,a=this.start,l=e.meta.runtime.getEventQueueFor(e.me,t);if(l.executing&&r===!1){if(i||n&&l.queue.length>0)return;o&&(l.queue.length=0),l.queue.push(e);return}l.executing=!0,e.meta.onHalt=function(){l.executing=!1;var u=l.queue.shift();u&&setTimeout(function(){t.execute(u)},1)},e.meta.reject=function(u){console.error(u.message?u.message:u),console.error(u.stack);var h=e.meta.runtime.getHyperTrace(e,u);h&&h.print(),e.meta.runtime.triggerEvent(e.me,"exception",{error:u})},a.execute(e)}install(e,t,r,i){let n=this,o=this.displayName,a=this.errorHandler,l=this.errorSymbol,u=this.finallyHandler;for(let c of n.events){var h;c.elsewhere?h=[document]:c.from?h=c.from.evaluate(i.makeContext(e,n,e,null)):h=[e];var f=i.getInternalData(e);f.eventState||(f.eventState=new Map),f.eventState.has(c)||f.eventState.set(c,{execCount:0,debounced:void 0,lastExec:void 0});var p=f.eventState.get(c);i.implicitLoop(h,function(T){var m=c.on;if(T==null){console.warn("'%s' feature ignored because target does not exists:",o,e);return}var v=i.getInternalData(e);if(v.listeners||(v.listeners=[]),v.observers||(v.observers=[]),c.mutationSpec){m="hyperscript:mutation";let g=new MutationObserver(function(x,E){n.executing||i.triggerEvent(T,m,{mutationList:x,observer:E})});g.observe(T,c.mutationSpec),v.observers.push(g)}if(c.intersectionSpec){m="hyperscript:intersection";let g=new IntersectionObserver(function(x){for(let q of x){var E={observer:g};E=Object.assign(E,q),E.intersecting=q.isIntersecting,i.triggerEvent(T,m,E)}},c.intersectionSpec);g.observe(T),v.observers.push(g)}if(c.resizeSpec&&T instanceof Element){m="hyperscript:resize";let g=new ResizeObserver(function(x){for(let q of x){var E={width:q.contentRect.width,height:q.contentRect.height,contentRect:q.contentRect,entry:q};i.triggerEvent(T,m,E)}});g.observe(T),v.observers.push(g)}var k=T.addEventListener||T.on,b;k.call(T,m,b=function g(x){if(typeof Node<"u"&&e instanceof Node&&T!==e&&!e.isConnected){T.removeEventListener(m,g);return}var E=i.makeContext(e,n,e,x);if(!(c.elsewhere&&e.contains(x.target))){c.from&&(E.result=T);for(let P of c.args){let Y=E.event[P.value];Y!==void 0?E.locals[P.value]=Y:E.event.detail!=null&&(E.locals[P.value]=E.event.detail[P.value])}if(E.meta.errorHandler=a,E.meta.errorSymbol=l,E.meta.finallyHandler=u,c.filter){var q=E.meta.context;E.meta.context=E.event;try{var M=c.filter.evaluate(E);if(!M)return}finally{E.meta.context=q}}if(c.inExpr){for(var L=x.target;;)if(L.matches&&L.matches(c.inExpr.css)){E.result=L;break}else if(L=L.parentElement,L==null)return}if(p.execCount++,c.startCount){if(c.endCount){if(p.execCount<c.startCount||p.execCount>c.endCount)return}else if(c.unbounded){if(p.execCount<c.startCount)return}else if(p.execCount!==c.startCount)return}if(c.debounceTime){p.debounced&&clearTimeout(p.debounced),p.debounced=setTimeout(function(){n.execute(E)},c.debounceTime);return}if(c.throttleTime){if(p.lastExec&&Date.now()<p.lastExec+c.throttleTime)return;p.lastExec=Date.now()}n.execute(E)}}),v.listeners.push({target:T,event:m,handler:b})})}}static parse(e){if(e.matchToken("on")){var t=!1,r=!1;e.matchToken("every")?t=!0:e.matchToken("first")&&(r=!0);var i=[],n=null;do{var o=e.requireElement("eventName","Expected event name"),a=o.evalStatically();n?n=n+" or "+a:n="on "+a;var l=I.parseEventArgs(e),u=null;e.matchOpToken("[")&&(u=e.requireElement("expression"),e.requireOpToken("]"));var h,f,p;if(r)h=1;else if(e.currentToken().type==="NUMBER"){var c=e.consumeToken();if(!c.value)return;if(h=parseInt(c.value),e.matchToken("to")){var T=e.consumeToken();if(!T.value)return;f=parseInt(T.value)}else e.matchToken("and")&&(p=!0,e.requireToken("on"))}var m,v,k;if(a==="resize")k=!0;else if(a==="intersection"){if(m={},e.matchToken("with")&&(m.with=e.requireElement("expression").evalStatically()),e.matchToken("having"))do e.matchToken("margin")?m.rootMargin=e.requireElement("stringLike").evalStatically():e.matchToken("threshold")?m.threshold=e.requireElement("expression").evalStatically():e.raiseError("Unknown intersection config specification");while(e.matchToken("and"))}else if(a==="mutation")if(v={},e.matchToken("of")){do if(e.matchToken("anything"))v.attributes=!0,v.subtree=!0,v.characterData=!0,v.childList=!0;else if(e.matchToken("childList"))v.childList=!0;else if(e.matchToken("attributes"))v.attributes=!0;else if(e.matchToken("subtree"))v.subtree=!0;else if(e.matchToken("characterData"))v.characterData=!0;else if(e.currentToken().type==="ATTRIBUTE_REF"){var b=e.consumeToken();v.attributeFilter==null&&(v.attributeFilter=[]),b.value.startsWith("@")?v.attributeFilter.push(b.value.substring(1)):e.raiseError("Only shorthand attribute references are allowed here")}else e.raiseError("Unknown mutation config specification");while(e.matchToken("or"));(v.attributes||v.attributeFilter)&&(v.attributeOldValue=!0),v.characterData&&(v.characterDataOldValue=!0)}else v.attributes=!0,v.characterData=!0,v.childList=!0,v.attributeOldValue=!0,v.characterDataOldValue=!0;var g=null,x=!1;if(e.matchToken("from"))if(e.matchToken("elsewhere"))x=!0;else{e.pushFollow("or");try{g=e.requireElement("expression")}finally{e.popFollow()}g||e.raiseError('Expected either target value or "elsewhere".')}if(g===null&&x===!1&&e.matchToken("elsewhere")&&(x=!0),e.matchToken("in"))var E=e.parseElement("unaryExpression");if(e.matchToken("debounced")){e.requireToken("at");var q=e.requireElement("unaryExpression"),M=q.evalStatically()}else if(e.matchToken("throttled")){e.requireToken("at");var q=e.requireElement("unaryExpression"),L=q.evalStatically()}i.push({every:t,on:a,args:l,filter:u,from:g,inExpr:E,elsewhere:x,startCount:h,endCount:f,unbounded:p,debounceTime:M,throttleTime:L,mutationSpec:v,intersectionSpec:m,resizeSpec:k})}while(e.matchToken("or"));var P=!0;if(!t&&e.matchToken("queue"))if(e.matchToken("all"))var Y=!0,P=!1;else if(e.matchToken("first"))var Ii=!0;else if(e.matchToken("none"))var Li=!0;else e.requireToken("last");var fe=e.requireElement("commandList");e.ensureTerminated(fe);var{errorHandler:Oi,errorSymbol:Mi,finallyHandler:Fi}=S.parseErrorAndFinally(e),li=new s(n,i,fe,t,Oi,Mi,Fi,Y,Ii,Li,P);return e.setParent(fe,li),li}}};var Pr={};N(Pr,{DefFeature:()=>_r});var _r=class s extends S{static keyword="def";constructor(e,t,r,i,n,o,a,l){super(),this.displayName=e+"("+i.map(function(u){return u.value}).join(", ")+")",this.name=e,this.args=i,this.start=n,this.errorHandler=o,this.errorSymbol=a,this.finallyHandler=l,this.nameSpace=t,this.nameVal=r}install(e,t,r,i){let n=this.args,o=this.start,a=this.errorHandler,l=this.errorSymbol,u=this.finallyHandler,h=this.nameVal,f=this.nameSpace,p=this.name,c=this;var T=function(){var m=i.makeContext(t,c,e,null);m.meta.errorHandler=a,m.meta.errorSymbol=l,m.meta.finallyHandler=u;for(var v=0;v<n.length;v++){var k=n[v],b=arguments[v];k&&(m.locals[k.value]=b)}m.meta.caller=arguments[n.length],m.meta.caller&&(m.meta.callingCommand=m.meta.caller.meta.command);var g,x,E=new Promise(function(q,M){g=q,x=M});return o.execute(m),m.meta.returned?m.meta.returnValue:(m.meta.resolve=g,m.meta.reject=x,E)};T.hyperfunc=!0,T.hypername=h,i.assignToNamespace(e,f,p,T)}static parse(e){if(e.matchToken("def")){var t=e.requireElement("dotOrColonPath"),r=t.evalStatically(),i=r.split("."),n=i.pop(),o=[];if(e.matchOpToken("(")&&!e.matchOpToken(")")){do o.push(e.requireTokenType("IDENTIFIER"));while(e.matchOpToken(","));e.requireOpToken(")")}var a=e.requireElement("commandList"),{errorHandler:l,errorSymbol:u,finallyHandler:h}=S.parseErrorAndFinally(e),f=new s(n,i,r,o,a,l,u,h);return e.ensureTerminated(a),l&&e.ensureTerminated(l),e.setParent(a,f),f}}};var Hr={};N(Hr,{SetFeature:()=>Dr});var Dr=class s extends S{static keyword="set";constructor(e){super(),this.start=e}install(e,t,r,i){this.start&&this.start.execute(i.makeContext(e,this,e,null))}static parse(e){let t=e.parseElement("setCommand");if(t){t.target.scope==="local"&&e.raiseError("variables declared at the feature level cannot be locally scoped (use :foo, ^foo, $foo, or an @attribute target instead).");let r=new s(t);return e.ensureTerminated(t),r}}};var jr={};N(jr,{InitFeature:()=>Wr});var Wr=class s extends S{static keyword="init";constructor(e,t){super(),this.start=e,this.immediately=t}install(e,t,r,i){var n=()=>{this.start?.execute(i.makeContext(e,this,e,null))};this.immediately?n():queueMicrotask(n)}static parse(e){if(e.matchToken("init")){var t=e.matchToken("immediately"),r=e.requireElement("commandList"),i=new s(r,t);return e.ensureTerminated(r),e.setParent(r,i),i}}};var Br={};N(Br,{WorkerFeature:()=>Ur});var Ur=class extends S{static keyword="worker";static parse(e){if(e.matchToken("worker")){e.raiseError("In order to use the 'worker' feature, include the _hyperscript worker plugin. See https://hyperscript.org/features/worker/ for more info.");return}}};var Gr={};N(Gr,{BehaviorFeature:()=>zr});var zr=class s extends S{static keyword="behavior";constructor(e,t,r,i,n){super(),this.path=e,this.nameSpace=t,this.name=r,this.formalParams=i,this.hs=n}install(e,t,r,i){let n=this.path,o=this.nameSpace,a=this.name,l=this.formalParams,u=this.hs;i.assignToNamespace(null,o,a,function(h,f,p){for(var c=i.getInternalData(h),T=n+"Scope",m=c[T]||(c[T]={}),v=0;v<l.length;v++)m[l[v]]=p[l[v]];u.apply(h,f,null,i)})}static parse(e){if(e.matchToken("behavior")){var t=e.requireElement("dotOrColonPath").evalStatically(),r=t.split("."),i=r.pop(),n=[];if(e.matchOpToken("(")&&!e.matchOpToken(")")){do n.push(e.requireTokenType("IDENTIFIER").value);while(e.matchOpToken(","));e.requireOpToken(")")}for(var o=e.requireElement("hyperscript"),a=0;a<o.features.length;a++){var l=o.features[a];l.behavior=t}return new s(t,r,i,n,o)}}};var Qr={};N(Qr,{InstallFeature:()=>$r});var $r=class s extends S{static keyword="install";constructor(e,t,r){super(),this.behaviorPath=e,this.behaviorNamespace=t,this.behaviorArgs=r}install(e,t,r,i){for(var n=i.makeContext(e,this,e,null),o=this.behaviorArgs?this.behaviorArgs.evaluate(n):null,a=i.globalScope,l=0;l<this.behaviorNamespace.length;l++)if(a=a[this.behaviorNamespace[l]],typeof a!="object"&&typeof a!="function")throw new Error("No such behavior defined as "+this.behaviorPath);if(!(a instanceof Function))throw new Error(this.behaviorPath+" is not a behavior");a(e,t,o)}static parse(e){if(e.matchToken("install")){var t=e.requireElement("dotOrColonPath").evalStatically(),r=t.split("."),i=e.parseElement("namedArgumentList");return new s(t,r,i)}}};var Kr={};N(Kr,{JsFeature:()=>Yr});var Yr=class s extends S{static keyword="js";constructor(e,t,r){super(),this.jsSource=e,this.function=t,this.exposedFunctionNames=r}install(e,t,r,i){Object.assign(i.globalScope,this.function())}static parse(e){if(e.matchToken("js")){var t=e.requireElement("jsBody"),r=t.jsSource+`+return { `+t.exposedFunctionNames.map(function(n){return n+":"+n}).join(",")+" } ",i=new Function(r);return new s(r,i,t.exposedFunctionNames)}}};var Xr={};N(Xr,{WhenFeature:()=>Jr});var Jr=class s extends S{static keyword="when";static parse(e){if(e.matchToken("when")){var t=[];do{e.pushFollow("or");try{t.push(e.requireElement("expression"))}finally{e.popFollow()}}while(e.matchToken("or"));for(var r=0;r<t.length;r++){var i=t[r];i.type==="symbol"&&i.scope==="local"&&!i.name.startsWith("$")&&!i.name.startsWith(":")&&e.raiseError("Cannot watch local variable '"+i.name+"'. Local variables are not reactive. Use '$"+i.name+"' (global) or ':"+i.name+"' (element-scoped) instead.")}e.requireToken("changes");var n=e.requireElement("commandList");e.ensureTerminated(n);var o=new s(t,n);return e.setParent(n,o),o}}constructor(e,t){super(),this.exprs=e,this.start=t,this.displayName="when ... changes"}install(e,t,r,i){var n=this;queueMicrotask(function(){for(var o=0;o<n.exprs.length;o++)(function(a){i.reactivity.createEffect(function(){return a.evaluate(i.makeContext(e,n,e,null))},function(l){var u=i.makeContext(e,n,e,null);u.result=l,u.meta.reject=function(h){console.error(h.message?h.message:h),i.triggerEvent(e,"exception",{error:h})},u.meta.onHalt=function(){},n.start.execute(u)},{element:e})})(n.exprs[o])})}};var Vr={};N(Vr,{BindFeature:()=>Zr});var Zr=class s extends S{static keyword="bind";static parse(e){if(e.matchToken("bind")){var t=e.pushFollows("and","with","to"),r;try{r=e.requireElement("expression")}finally{e.popFollows(t)}!e.matchToken("and")&&!e.matchToken("with")&&!e.matchToken("to")&&e.raiseExpected("and","with","to");var i=e.requireElement("expression");return new s(r,i)}}constructor(e,t){super(),this.left=e,this.right=t,this.displayName="bind"}install(e,t,r,i){var n=this;queueMicrotask(function(){try{Ji(n.left,n.right,e,n,i)}catch(o){console.error(o.message||o)}})}};function Ki(s,e,t,r,i){var n=s.getInternalData(e);n.listeners||(n.listeners=[]),n.listeners.push({target:t,event:r,handler:i})}function gi(s){return s.type==="classRef"||s.type==="attributeRef"?!0:typeof s.set=="function"}function Ji(s,e,t,r,i){var n=i.makeContext(t,r,t,null),o=wi(s,t,r,i,n),a=wi(e,t,r,i,n),l=o.element||gi(s),u=a.element||gi(e);if(!l&&!u)throw new Error("bind requires at least one writable side");l&&i.reactivity.createEffect(function(){return a.read()},function(h){o.write(h)},{element:t}),u&&i.reactivity.createEffect(function(){return o.read()},function(h){a.write(h)},{element:t}),Vi(o,a,t,i)}function wi(s,e,t,r,i){var n=s.evaluate(i);return n instanceof Element?Xi(n,r):Zi(s,e,t,r)}var bi={"INPUT:checkbox":"checked","INPUT:number":"valueAsNumber","INPUT:range":"valueAsNumber",INPUT:"value",TEXTAREA:"value",SELECT:"value"};function Xi(s,e){var t=s.tagName,r=t==="INPUT"?s.getAttribute("type")||"text":null;if(t==="INPUT"&&r==="radio"){var i=s.value;return{element:s,read:function(){var a=e.resolveProperty(s,"checked");return a?i:void 0},write:function(a){s.checked=a===i}}}var n=bi[t+":"+r]||bi[t];if(!n&&s.hasAttribute("contenteditable")&&s.getAttribute("contenteditable")!=="false"&&(n="textContent"),!n&&t.includes("-")&&"value"in s&&(n="value"),!n)throw new Error("bind cannot auto-detect a property for <"+t.toLowerCase()+">. Use an explicit property (e.g. 'bind $var to #el's value').");var o=n==="valueAsNumber";return{element:s,read:function(){var a=e.resolveProperty(s,n);return o&&a!==a?null:a},write:function(a){s[n]=a}}}function Zi(s,e,t,r){return s.type==="classRef"?{read:function(){return r.resolveAttribute(e,"class"),e.classList.contains(s.className)},write:function(i){i?e.classList.add(s.className):e.classList.remove(s.className)}}:{read:function(){return s.evaluate(r.makeContext(e,t,e,null))},write:function(i){var n=r.makeContext(e,t,e,null);tn(r,s,n,i)}}}function Vi(s,e,t,r){xi(s,e,t,r),xi(e,s,t,r)}function xi(s,e,t,r){if(s.element){var i=s.element.closest("form");if(i){var n=()=>{setTimeout(()=>{t.isConnected&&e.write(s.read())},0)};i.addEventListener("reset",n),Ki(r,t,i,"reset",n)}}}function en(s,e,t){typeof t=="boolean"?e.startsWith("aria-")?s.setAttribute(e,String(t)):t?s.setAttribute(e,""):s.removeAttribute(e):t==null?s.removeAttribute(e):s.setAttribute(e,t)}function tn(s,e,t,r){if(e.type==="classRef"){var i=t.you||t.me;i&&(r?i.classList.add(e.className):i.classList.remove(e.className))}else if(e.type==="attributeRef"&&typeof r=="boolean"){var i=t.you||t.me;i&&en(i,e.name,r)}else{var n={};if(e.lhs)for(var o in e.lhs){var a=e.lhs[o];n[o]=a&&a.evaluate?a.evaluate(t):a}e.set(t,n,r)}}var ti={};N(ti,{LiveFeature:()=>ei});var ei=class s extends S{static keyword="live";constructor(e){super(),this.commands=e,this.displayName="live"}static parse(e){if(e.matchToken("live")){var t=e.requireElement("commandList"),r=new s(t);return e.ensureTerminated(t),e.setParent(t,r),r}}install(e,t,r,i){var n=this;queueMicrotask(function(){i.reactivity.createEffect(function(){n.commands.execute(i.makeContext(e,n,e,null))},function(){},{element:e})})}};var oi={};N(oi,{EscapeExpression:()=>ni,RenderCommand:()=>ii,TemplateTextCommand:()=>ri,initLiveTemplates:()=>si});function qi(s){return s.textContent}var rn='script[type="text/hyperscript-template"][live]';function si(s,e,t,r,i){var n=new WeakSet;s.addBeforeProcessHook(function(o){!o||!o.querySelectorAll||o.querySelectorAll(rn).forEach(function(a){if(n.has(a))return;n.add(a);var l=qi(a),u=a.getAttribute("_")||a.getAttribute("data-script")||"";a.removeAttribute("_"),a.removeAttribute("data-script");var h=document.createElement("div");h.style.display="contents",h.setAttribute("data-live-template",""),a.after(h),u&&(h.setAttribute("_",u),s.processNode(h));var f=!1;function p(m){f?s.morph(h,m):(h.innerHTML=m,s.processNode(h),f=!0)}function c(){var m=s.makeContext(h,null,h,null),v=[];m.meta.__ht_template_result=v;var k=e.tokenize(l,"lines"),b=new t(r,k),g;try{g=b.parseElement("commandList"),b.ensureTerminated(g)}catch(q){return console.error("live-template parse error:",q.message||q),""}if(g.execute(m),h.__hs_scopes=m.meta.__ht_scopes||null,m.meta.returned||!m.meta.resolve)return v.join("");var x,E=new Promise(function(q){x=q});return m.meta.resolve=x,E.then(function(){return v.join("")})}queueMicrotask(function(){var m=c();m&&m.then?m.then(function(v){p(v),T()}):(p(m),T())});function T(){i.createEffect(c,p,{element:h})}})})}function Si(s,e){return e.type==="literal"?s:s==null?"":e.escape?Ni(String(s)):String(s)}function Ni(s){return String(s).replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'")}var ri=class s extends d{static keyword="TEMPLATE_LINE";constructor(e,t){super(),this.parts=e,this.errors=t}static parse(e){var t=e.currentToken();if(t.type==="TEMPLATE_LINE"){e.consumeToken();for(var r=[],i=[],n=t.content,o=0;o<n.length;){var a=n.indexOf("${",o);if(a===-1){o<n.length&&r.push({type:"literal",value:n.slice(o)});break}a>o&&r.push({type:"literal",value:n.slice(o,a)});for(var l=1,u=a+2;u<n.length&&l>0;)n[u]==="{"?l++:n[u]==="}"&&l--,u++;if(l>0){i.push({line:t.line,message:"Unterminated ${} expression",expr:n.slice(a)}),r.push({type:"literal",value:""});break}var h=n.slice(a+2,u-1),f=!0;try{var p=new O().tokenize(h),c=e.createChildParser(p);c.matchToken("unescaped")&&(f=!1);var T=c.requireElement("expression");if(c.matchToken("if")){var m=c.requireElement("expression"),v=c.matchToken("else")?c.requireElement("expression"):null;r.push({type:"conditional",valueNode:T,conditionNode:m,elseNode:v,escape:f})}else r.push({type:"expr",node:T,escape:f})}catch(k){i.push({line:t.line,column:t.column+a,message:k.message||String(k),expr:h}),r.push({type:"literal",value:""})}o=u}return new s(r,i)}}resolve(e){var t=this.parts,r=t.map(i=>{if(i.type==="literal")return i.value;if(i.type==="conditional"){var n=i.conditionNode.evaluate(e);return n?i.valueNode.evaluate(e):i.elseNode?i.elseNode.evaluate(e):void 0}return i.node.evaluate(e)});return r.some(i=>i&&i.then)?Promise.all(r).then(i=>(e.meta.__ht_template_result.push(i.map((n,o)=>Si(n,t[o])).join("")),this.findNext(e))):(e.meta.__ht_template_result.push(r.map((i,n)=>Si(i,t[n])).join("")),this.findNext(e))}},ii=class s extends d{static keyword="render";constructor(e,t,r,i){super(),this.template_=e,this.insertHere=r,this.args={template:e,templateArgs:t,target:i}}static parse(e){if(e.matchToken("render")){var t=e.requireElement("expression"),r={};e.matchToken("with")&&(r=e.parseElement("nakedNamedArgumentList"));var i=!!e.matchToken("here"),n=null;!i&&e.matchToken("into")&&(n=e.requireElement("expression"));var o=new s(t,r,i,n);return o._parser=e,o}}resolve(e,{template:t,templateArgs:r,target:i}){if(!(t instanceof Element))throw new Error(this.template_.sourceFor()+" is not an element");var n=[],o=e.meta.runtime,a=o.makeContext(e.me,null,e.me,null);a.locals=Object.assign({},e.locals,r),a.meta.__ht_template_result=n;var l=new O().tokenize(qi(t),"lines"),u=this._parser.createChildParser(l),h;try{h=u.parseElement("commandList"),u.ensureTerminated(h)}catch(g){return console.error("hyperscript template parse error:",g.parseError?.message||g.message||g),e.result="",o.findNext(this,e)}var f=h.collectErrors();if(f.length)for(var p of f)console.error("hyperscript template error (line "+p.line+"): "+p.message+(p.expr?" in ${"+p.expr+"}":""));var c,T,m=new Promise(function(g,x){c=g,T=x});h.execute(a);var v=a.meta.__ht_scopes||null,k=/<!--hs-scope:[^>]*-->/g,b=g=>(e.result=g.replace(k,""),this.insertHere&&(e.me.__hs_scopes=v,e.me.innerHTML=g),i&&(i.__hs_scopes=v,i.innerHTML=g),o.findNext(this,e));return a.meta.returned?b(n.join("")):(a.meta.resolve=c,a.meta.reject=T,m.then(()=>b(n.join(""))))}},ni=class s extends y{static grammarName="escape";static expressionType="leaf";constructor(e,t,r){super(),this.unescaped=t,this.escapeType=r,this.args={value:e}}static parse(e){if(e.matchToken("escape")){var t=e.matchTokenType("IDENTIFIER").value,r=e.matchToken("unescaped"),i=e.requireElement("expression");return new s(i,r,t)}}resolve(e,{value:t}){if(this.unescaped)return t;if(t==null)return"";if(this.escapeType==="html")return Ni(t);throw new Error("Unknown escape: "+this.escapeType)}};var $=typeof self<"u"?self:typeof global<"u"?global:void 0;A.conversions=z;var w=new ee,Q=new O,ai=new ae,nn=new le,_=new oe($,w,Q,ai,nn);w.registerModule(tt);w.registerModule(xe);w.registerModule(lt);w.registerModule(ft);w.registerModule(yt);w.registerModule(Et);w.registerModule(wt);w.registerModule(Ct);w.registerModule(jt);w.registerModule(Gt);w.registerModule(Vt);w.registerModule(ir);w.registerModule(sr);w.registerModule(xr);w.registerModule(Or);w.registerModule(Fr);w.registerModule(Cr);w.registerModule(Pr);w.registerModule(Hr);w.registerModule(jr);w.registerModule(Br);w.registerModule(Gr);w.registerModule(Qr);w.registerModule(Kr);w.registerModule(Xr);w.registerModule(Vr);w.registerModule(ti);w.registerModule(oi);si(_,Q,F,w,ai);function Ai(s,e,t){let r;"document"in $?r=$.document.body:r=new ne(t&&t.module),e=Object.assign(_.makeContext(r,null,r,null),e||{});let i=w.parse(Q,s);if(i&&i.errors&&i.errors.length>0)throw new Error(i.errors[0].message+`++`+F.formatErrors(i.errors));return i.execute?(i.execute(e),e.meta.returnValue!==void 0?e.meta.returnValue:e.result):i.apply?(i.apply(r,r,t,_),_.getHyperscriptFeatures(r)):i.evaluate(e)}var j=Object.assign(Ai,{config:A,use(s){s(j)},internals:{tokenizer:Q,runtime:_,reactivity:ai,createParser:s=>new F(w,s)},addFeature:w.addFeature.bind(w),addCommand:w.addCommand.bind(w),addLeafExpression:w.addLeafExpression.bind(w),addBeforeProcessHook:s=>_.addBeforeProcessHook(s),addAfterProcessHook:s=>_.addAfterProcessHook(s),evaluate:Ai,parse:s=>w.parse(Q,s),process:s=>_.processNode(s),processNode:s=>_.processNode(s),cleanup:s=>_.cleanup(s),version:"0.9.91"});function sn(s){document.readyState!=="loading"?setTimeout(s):document.addEventListener("DOMContentLoaded",s)}function on(){let s=document.querySelector('meta[name="htmx-config"]');if(s){let e=JSON.parse(s.content);Object.assign(A,e)}}typeof document<"u"&&(async function(){on();let s=$.document.querySelectorAll("script[type='text/hyperscript'][src]"),e=Array.from(s);(await Promise.all(e.map(async r=>(await fetch(r.src)).text()))).forEach(r=>j(r)),sn(()=>{j.process(document.documentElement),document.dispatchEvent(new Event("hyperscript:ready")),new ue($,j).init()})})();typeof self<"u"&&(self._hyperscript=j);var As=j;})();
+ static/htmx.min.js view
@@ -0,0 +1,1 @@+(function(e,t){if(typeof define==="function"&&define.amd){define([],t)}else if(typeof module==="object"&&module.exports){module.exports=t()}else{e.htmx=e.htmx||t()}})(typeof self!=="undefined"?self:this,function(){return function(){"use strict";var z={onLoad:t,process:Tt,on:le,off:ue,trigger:ie,ajax:dr,find:b,findAll:f,closest:d,values:function(e,t){var r=Jt(e,t||"post");return r.values},remove:B,addClass:j,removeClass:n,toggleClass:U,takeClass:V,defineExtension:yr,removeExtension:br,logAll:F,logger:null,config:{historyEnabled:true,historyCacheSize:10,refreshOnHistoryMiss:false,defaultSwapStyle:"innerHTML",defaultSwapDelay:0,defaultSettleDelay:20,includeIndicatorStyles:true,indicatorClass:"htmx-indicator",requestClass:"htmx-request",addedClass:"htmx-added",settlingClass:"htmx-settling",swappingClass:"htmx-swapping",allowEval:true,inlineScriptNonce:"",attributesToSettle:["class","style","width","height"],withCredentials:false,timeout:0,wsReconnectDelay:"full-jitter",wsBinaryType:"blob",disableSelector:"[hx-disable], [data-hx-disable]",useTemplateFragments:false,scrollBehavior:"smooth",defaultFocusScroll:false,getCacheBusterParam:false,globalViewTransitions:false},parseInterval:v,_:e,createEventSource:function(e){return new EventSource(e,{withCredentials:true})},createWebSocket:function(e){var t=new WebSocket(e,[]);t.binaryType=z.config.wsBinaryType;return t},version:"1.9.2"};var C={addTriggerHandler:xt,bodyContains:ee,canAccessLocalStorage:D,filterValues:er,hasAttribute:q,getAttributeValue:G,getClosestMatch:c,getExpressionVars:fr,getHeaders:Qt,getInputValues:Jt,getInternalData:Y,getSwapSpecification:rr,getTriggerSpecs:ze,getTarget:de,makeFragment:l,mergeObjects:te,makeSettleInfo:S,oobSwap:me,selectAndSwap:Me,settleImmediately:Bt,shouldCancel:Ke,triggerEvent:ie,triggerErrorEvent:ne,withExtensions:w};var R=["get","post","put","delete","patch"];var O=R.map(function(e){return"[hx-"+e+"], [data-hx-"+e+"]"}).join(", ");function v(e){if(e==undefined){return undefined}if(e.slice(-2)=="ms"){return parseFloat(e.slice(0,-2))||undefined}if(e.slice(-1)=="s"){return parseFloat(e.slice(0,-1))*1e3||undefined}if(e.slice(-1)=="m"){return parseFloat(e.slice(0,-1))*1e3*60||undefined}return parseFloat(e)||undefined}function $(e,t){return e.getAttribute&&e.getAttribute(t)}function q(e,t){return e.hasAttribute&&(e.hasAttribute(t)||e.hasAttribute("data-"+t))}function G(e,t){return $(e,t)||$(e,"data-"+t)}function u(e){return e.parentElement}function J(){return document}function c(e,t){while(e&&!t(e)){e=u(e)}return e?e:null}function T(e,t,r){var n=G(t,r);var i=G(t,"hx-disinherit");if(e!==t&&i&&(i==="*"||i.split(" ").indexOf(r)>=0)){return"unset"}else{return n}}function Z(t,r){var n=null;c(t,function(e){return n=T(t,e,r)});if(n!=="unset"){return n}}function h(e,t){var r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector;return r&&r.call(e,t)}function H(e){var t=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i;var r=t.exec(e);if(r){return r[1].toLowerCase()}else{return""}}function i(e,t){var r=new DOMParser;var n=r.parseFromString(e,"text/html");var i=n.body;while(t>0){t--;i=i.firstChild}if(i==null){i=J().createDocumentFragment()}return i}function L(e){return e.match(/<body/)}function l(e){var t=!L(e);if(z.config.useTemplateFragments&&t){var r=i("<body><template>"+e+"</template></body>",0);return r.querySelector("template").content}else{var n=H(e);switch(n){case"thead":case"tbody":case"tfoot":case"colgroup":case"caption":return i("<table>"+e+"</table>",1);case"col":return i("<table><colgroup>"+e+"</colgroup></table>",2);case"tr":return i("<table><tbody>"+e+"</tbody></table>",2);case"td":case"th":return i("<table><tbody><tr>"+e+"</tr></tbody></table>",3);case"script":return i("<div>"+e+"</div>",1);default:return i(e,0)}}}function K(e){if(e){e()}}function A(e,t){return Object.prototype.toString.call(e)==="[object "+t+"]"}function N(e){return A(e,"Function")}function I(e){return A(e,"Object")}function Y(e){var t="htmx-internal-data";var r=e[t];if(!r){r=e[t]={}}return r}function k(e){var t=[];if(e){for(var r=0;r<e.length;r++){t.push(e[r])}}return t}function Q(e,t){if(e){for(var r=0;r<e.length;r++){t(e[r])}}}function P(e){var t=e.getBoundingClientRect();var r=t.top;var n=t.bottom;return r<window.innerHeight&&n>=0}function ee(e){if(e.getRootNode&&e.getRootNode()instanceof ShadowRoot){return J().body.contains(e.getRootNode().host)}else{return J().body.contains(e)}}function M(e){return e.trim().split(/\s+/)}function te(e,t){for(var r in t){if(t.hasOwnProperty(r)){e[r]=t[r]}}return e}function y(e){try{return JSON.parse(e)}catch(e){x(e);return null}}function D(){var e="htmx:localStorageTest";try{localStorage.setItem(e,e);localStorage.removeItem(e);return true}catch(e){return false}}function X(t){try{var e=new URL(t);if(e){t=e.pathname+e.search}if(!t.match("^/$")){t=t.replace(/\/+$/,"")}return t}catch(e){return t}}function e(e){return sr(J().body,function(){return eval(e)})}function t(t){var e=z.on("htmx:load",function(e){t(e.detail.elt)});return e}function F(){z.logger=function(e,t,r){if(console){console.log(t,e,r)}}}function b(e,t){if(t){return e.querySelector(t)}else{return b(J(),e)}}function f(e,t){if(t){return e.querySelectorAll(t)}else{return f(J(),e)}}function B(e,t){e=s(e);if(t){setTimeout(function(){B(e);e=null},t)}else{e.parentElement.removeChild(e)}}function j(e,t,r){e=s(e);if(r){setTimeout(function(){j(e,t);e=null},r)}else{e.classList&&e.classList.add(t)}}function n(e,t,r){e=s(e);if(r){setTimeout(function(){n(e,t);e=null},r)}else{if(e.classList){e.classList.remove(t);if(e.classList.length===0){e.removeAttribute("class")}}}}function U(e,t){e=s(e);e.classList.toggle(t)}function V(e,t){e=s(e);Q(e.parentElement.children,function(e){n(e,t)});j(e,t)}function d(e,t){e=s(e);if(e.closest){return e.closest(t)}else{do{if(e==null||h(e,t)){return e}}while(e=e&&u(e));return null}}function r(e){var t=e.trim();if(t.startsWith("<")&&t.endsWith("/>")){return t.substring(1,t.length-2)}else{return t}}function _(e,t){if(t.indexOf("closest ")===0){return[d(e,r(t.substr(8)))]}else if(t.indexOf("find ")===0){return[b(e,r(t.substr(5)))]}else if(t.indexOf("next ")===0){return[W(e,r(t.substr(5)))]}else if(t.indexOf("previous ")===0){return[oe(e,r(t.substr(9)))]}else if(t==="document"){return[document]}else if(t==="window"){return[window]}else{return J().querySelectorAll(r(t))}}var W=function(e,t){var r=J().querySelectorAll(t);for(var n=0;n<r.length;n++){var i=r[n];if(i.compareDocumentPosition(e)===Node.DOCUMENT_POSITION_PRECEDING){return i}}};var oe=function(e,t){var r=J().querySelectorAll(t);for(var n=r.length-1;n>=0;n--){var i=r[n];if(i.compareDocumentPosition(e)===Node.DOCUMENT_POSITION_FOLLOWING){return i}}};function re(e,t){if(t){return _(e,t)[0]}else{return _(J().body,e)[0]}}function s(e){if(A(e,"String")){return b(e)}else{return e}}function se(e,t,r){if(N(t)){return{target:J().body,event:e,listener:t}}else{return{target:s(e),event:t,listener:r}}}function le(t,r,n){Sr(function(){var e=se(t,r,n);e.target.addEventListener(e.event,e.listener)});var e=N(r);return e?r:n}function ue(t,r,n){Sr(function(){var e=se(t,r,n);e.target.removeEventListener(e.event,e.listener)});return N(r)?r:n}var fe=J().createElement("output");function ce(e,t){var r=Z(e,t);if(r){if(r==="this"){return[he(e,t)]}else{var n=_(e,r);if(n.length===0){x('The selector "'+r+'" on '+t+" returned no matches!");return[fe]}else{return n}}}}function he(e,t){return c(e,function(e){return G(e,t)!=null})}function de(e){var t=Z(e,"hx-target");if(t){if(t==="this"){return he(e,"hx-target")}else{return re(e,t)}}else{var r=Y(e);if(r.boosted){return J().body}else{return e}}}function ve(e){var t=z.config.attributesToSettle;for(var r=0;r<t.length;r++){if(e===t[r]){return true}}return false}function ge(t,r){Q(t.attributes,function(e){if(!r.hasAttribute(e.name)&&ve(e.name)){t.removeAttribute(e.name)}});Q(r.attributes,function(e){if(ve(e.name)){t.setAttribute(e.name,e.value)}})}function pe(e,t){var r=wr(t);for(var n=0;n<r.length;n++){var i=r[n];try{if(i.isInlineSwap(e)){return true}}catch(e){x(e)}}return e==="outerHTML"}function me(e,i,a){var t="#"+i.id;var o="outerHTML";if(e==="true"){}else if(e.indexOf(":")>0){o=e.substr(0,e.indexOf(":"));t=e.substr(e.indexOf(":")+1,e.length)}else{o=e}var r=J().querySelectorAll(t);if(r){Q(r,function(e){var t;var r=i.cloneNode(true);t=J().createDocumentFragment();t.appendChild(r);if(!pe(o,e)){t=r}var n={shouldSwap:true,target:e,fragment:t};if(!ie(e,"htmx:oobBeforeSwap",n))return;e=n.target;if(n["shouldSwap"]){ke(o,e,e,t,a)}Q(a.elts,function(e){ie(e,"htmx:oobAfterSwap",n)})});i.parentNode.removeChild(i)}else{i.parentNode.removeChild(i);ne(J().body,"htmx:oobErrorNoTarget",{content:i})}return e}function xe(e,t,r){var n=Z(e,"hx-select-oob");if(n){var i=n.split(",");for(let e=0;e<i.length;e++){var a=i[e].split(":",2);var o=a[0].trim();if(o.indexOf("#")===0){o=o.substring(1)}var s=a[1]||"true";var l=t.querySelector("#"+o);if(l){me(s,l,r)}}}Q(f(t,"[hx-swap-oob], [data-hx-swap-oob]"),function(e){var t=G(e,"hx-swap-oob");if(t!=null){me(t,e,r)}})}function ye(e){Q(f(e,"[hx-preserve], [data-hx-preserve]"),function(e){var t=G(e,"id");var r=J().getElementById(t);if(r!=null){e.parentNode.replaceChild(r,e)}})}function be(a,e,o){Q(e.querySelectorAll("[id]"),function(e){if(e.id&&e.id.length>0){var t=e.id.replace("'","\\'");var r=e.tagName.replace(":","\\:");var n=a.querySelector(r+"[id='"+t+"']");if(n&&n!==a){var i=e.cloneNode();ge(e,n);o.tasks.push(function(){ge(e,i)})}}})}function we(e){return function(){n(e,z.config.addedClass);Tt(e);bt(e);Se(e);ie(e,"htmx:load")}}function Se(e){var t="[autofocus]";var r=h(e,t)?e:e.querySelector(t);if(r!=null){r.focus()}}function a(e,t,r,n){be(e,r,n);while(r.childNodes.length>0){var i=r.firstChild;j(i,z.config.addedClass);e.insertBefore(i,t);if(i.nodeType!==Node.TEXT_NODE&&i.nodeType!==Node.COMMENT_NODE){n.tasks.push(we(i))}}}function Ee(e,t){var r=0;while(r<e.length){t=(t<<5)-t+e.charCodeAt(r++)|0}return t}function Ce(e){var t=0;if(e.attributes){for(var r=0;r<e.attributes.length;r++){var n=e.attributes[r];if(n.value){t=Ee(n.name,t);t=Ee(n.value,t)}}}return t}function Re(t){var r=Y(t);if(r.timeout){clearTimeout(r.timeout)}if(r.webSocket){r.webSocket.close()}if(r.sseEventSource){r.sseEventSource.close()}if(r.listenerInfos){Q(r.listenerInfos,function(e){if(e.on){e.on.removeEventListener(e.trigger,e.listener)}})}if(r.onHandlers){for(let e=0;e<r.onHandlers.length;e++){const n=r.onHandlers[e];t.removeEventListener(n.name,n.handler)}}}function o(e){ie(e,"htmx:beforeCleanupElement");Re(e);if(e.children){Q(e.children,function(e){o(e)})}}function Oe(e,t,r){if(e.tagName==="BODY"){return Ne(e,t,r)}else{var n;var i=e.previousSibling;a(u(e),e,t,r);if(i==null){n=u(e).firstChild}else{n=i.nextSibling}Y(e).replacedWith=n;r.elts=[];while(n&&n!==e){if(n.nodeType===Node.ELEMENT_NODE){r.elts.push(n)}n=n.nextElementSibling}o(e);u(e).removeChild(e)}}function qe(e,t,r){return a(e,e.firstChild,t,r)}function Te(e,t,r){return a(u(e),e,t,r)}function He(e,t,r){return a(e,null,t,r)}function Le(e,t,r){return a(u(e),e.nextSibling,t,r)}function Ae(e,t,r){o(e);return u(e).removeChild(e)}function Ne(e,t,r){var n=e.firstChild;a(e,n,t,r);if(n){while(n.nextSibling){o(n.nextSibling);e.removeChild(n.nextSibling)}o(n);e.removeChild(n)}}function Ie(e,t){var r=Z(e,"hx-select");if(r){var n=J().createDocumentFragment();Q(t.querySelectorAll(r),function(e){n.appendChild(e)});t=n}return t}function ke(e,t,r,n,i){switch(e){case"none":return;case"outerHTML":Oe(r,n,i);return;case"afterbegin":qe(r,n,i);return;case"beforebegin":Te(r,n,i);return;case"beforeend":He(r,n,i);return;case"afterend":Le(r,n,i);return;case"delete":Ae(r,n,i);return;default:var a=wr(t);for(var o=0;o<a.length;o++){var s=a[o];try{var l=s.handleSwap(e,r,n,i);if(l){if(typeof l.length!=="undefined"){for(var u=0;u<l.length;u++){var f=l[u];if(f.nodeType!==Node.TEXT_NODE&&f.nodeType!==Node.COMMENT_NODE){i.tasks.push(we(f))}}}return}}catch(e){x(e)}}if(e==="innerHTML"){Ne(r,n,i)}else{ke(z.config.defaultSwapStyle,t,r,n,i)}}}function Pe(e){if(e.indexOf("<title")>-1){var t=e.replace(/<svg(\s[^>]*>|>)([\s\S]*?)<\/svg>/gim,"");var r=t.match(/<title(\s[^>]*>|>)([\s\S]*?)<\/title>/im);if(r){return r[2]}}}function Me(e,t,r,n,i){i.title=Pe(n);var a=l(n);if(a){xe(r,a,i);a=Ie(r,a);ye(a);return ke(e,r,t,a,i)}}function De(e,t,r){var n=e.getResponseHeader(t);if(n.indexOf("{")===0){var i=y(n);for(var a in i){if(i.hasOwnProperty(a)){var o=i[a];if(!I(o)){o={value:o}}ie(r,a,o)}}}else{ie(r,n,[])}}var Xe=/\s/;var g=/[\s,]/;var Fe=/[_$a-zA-Z]/;var Be=/[_$a-zA-Z0-9]/;var je=['"',"'","/"];var p=/[^\s]/;function Ue(e){var t=[];var r=0;while(r<e.length){if(Fe.exec(e.charAt(r))){var n=r;while(Be.exec(e.charAt(r+1))){r++}t.push(e.substr(n,r-n+1))}else if(je.indexOf(e.charAt(r))!==-1){var i=e.charAt(r);var n=r;r++;while(r<e.length&&e.charAt(r)!==i){if(e.charAt(r)==="\\"){r++}r++}t.push(e.substr(n,r-n+1))}else{var a=e.charAt(r);t.push(a)}r++}return t}function Ve(e,t,r){return Fe.exec(e.charAt(0))&&e!=="true"&&e!=="false"&&e!=="this"&&e!==r&&t!=="."}function _e(e,t,r){if(t[0]==="["){t.shift();var n=1;var i=" return (function("+r+"){ return (";var a=null;while(t.length>0){var o=t[0];if(o==="]"){n--;if(n===0){if(a===null){i=i+"true"}t.shift();i+=")})";try{var s=sr(e,function(){return Function(i)()},function(){return true});s.source=i;return s}catch(e){ne(J().body,"htmx:syntax:error",{error:e,source:i});return null}}}else if(o==="["){n++}if(Ve(o,a,r)){i+="(("+r+"."+o+") ? ("+r+"."+o+") : (window."+o+"))"}else{i=i+o}a=t.shift()}}}function m(e,t){var r="";while(e.length>0&&!e[0].match(t)){r+=e.shift()}return r}var We="input, textarea, select";function ze(e){var t=G(e,"hx-trigger");var r=[];if(t){var n=Ue(t);do{m(n,p);var i=n.length;var a=m(n,/[,\[\s]/);if(a!==""){if(a==="every"){var o={trigger:"every"};m(n,p);o.pollInterval=v(m(n,/[,\[\s]/));m(n,p);var s=_e(e,n,"event");if(s){o.eventFilter=s}r.push(o)}else if(a.indexOf("sse:")===0){r.push({trigger:"sse",sseEvent:a.substr(4)})}else{var l={trigger:a};var s=_e(e,n,"event");if(s){l.eventFilter=s}while(n.length>0&&n[0]!==","){m(n,p);var u=n.shift();if(u==="changed"){l.changed=true}else if(u==="once"){l.once=true}else if(u==="consume"){l.consume=true}else if(u==="delay"&&n[0]===":"){n.shift();l.delay=v(m(n,g))}else if(u==="from"&&n[0]===":"){n.shift();var f=m(n,g);if(f==="closest"||f==="find"||f==="next"||f==="previous"){n.shift();f+=" "+m(n,g)}l.from=f}else if(u==="target"&&n[0]===":"){n.shift();l.target=m(n,g)}else if(u==="throttle"&&n[0]===":"){n.shift();l.throttle=v(m(n,g))}else if(u==="queue"&&n[0]===":"){n.shift();l.queue=m(n,g)}else if((u==="root"||u==="threshold")&&n[0]===":"){n.shift();l[u]=m(n,g)}else{ne(e,"htmx:syntax:error",{token:n.shift()})}}r.push(l)}}if(n.length===i){ne(e,"htmx:syntax:error",{token:n.shift()})}m(n,p)}while(n[0]===","&&n.shift())}if(r.length>0){return r}else if(h(e,"form")){return[{trigger:"submit"}]}else if(h(e,'input[type="button"]')){return[{trigger:"click"}]}else if(h(e,We)){return[{trigger:"change"}]}else{return[{trigger:"click"}]}}function $e(e){Y(e).cancelled=true}function Ge(e,t,r){var n=Y(e);n.timeout=setTimeout(function(){if(ee(e)&&n.cancelled!==true){if(!Qe(r,Lt("hx:poll:trigger",{triggerSpec:r,target:e}))){t(e)}Ge(e,t,r)}},r.pollInterval)}function Je(e){return location.hostname===e.hostname&&$(e,"href")&&$(e,"href").indexOf("#")!==0}function Ze(t,r,e){if(t.tagName==="A"&&Je(t)&&(t.target===""||t.target==="_self")||t.tagName==="FORM"){r.boosted=true;var n,i;if(t.tagName==="A"){n="get";i=t.href}else{var a=$(t,"method");n=a?a.toLowerCase():"get";if(n==="get"){}i=$(t,"action")}e.forEach(function(e){et(t,function(e,t){ae(n,i,e,t)},r,e,true)})}}function Ke(e,t){if(e.type==="submit"||e.type==="click"){if(t.tagName==="FORM"){return true}if(h(t,'input[type="submit"], button')&&d(t,"form")!==null){return true}if(t.tagName==="A"&&t.href&&(t.getAttribute("href")==="#"||t.getAttribute("href").indexOf("#")!==0)){return true}}return false}function Ye(e,t){return Y(e).boosted&&e.tagName==="A"&&t.type==="click"&&(t.ctrlKey||t.metaKey)}function Qe(e,t){var r=e.eventFilter;if(r){try{return r(t)!==true}catch(e){ne(J().body,"htmx:eventFilter:error",{error:e,source:r.source});return true}}return false}function et(i,a,e,o,s){var l=Y(i);var t;if(o.from){t=_(i,o.from)}else{t=[i]}if(o.changed){l.lastValue=i.value}Q(t,function(r){var n=function(e){if(!ee(i)){r.removeEventListener(o.trigger,n);return}if(Ye(i,e)){return}if(s||Ke(e,i)){e.preventDefault()}if(Qe(o,e)){return}var t=Y(e);t.triggerSpec=o;if(t.handledFor==null){t.handledFor=[]}if(t.handledFor.indexOf(i)<0){t.handledFor.push(i);if(o.consume){e.stopPropagation()}if(o.target&&e.target){if(!h(e.target,o.target)){return}}if(o.once){if(l.triggeredOnce){return}else{l.triggeredOnce=true}}if(o.changed){if(l.lastValue===i.value){return}else{l.lastValue=i.value}}if(l.delayed){clearTimeout(l.delayed)}if(l.throttle){return}if(o.throttle){if(!l.throttle){a(i,e);l.throttle=setTimeout(function(){l.throttle=null},o.throttle)}}else if(o.delay){l.delayed=setTimeout(function(){a(i,e)},o.delay)}else{ie(i,"htmx:trigger");a(i,e)}}};if(e.listenerInfos==null){e.listenerInfos=[]}e.listenerInfos.push({trigger:o.trigger,listener:n,on:r});r.addEventListener(o.trigger,n)})}var tt=false;var rt=null;function nt(){if(!rt){rt=function(){tt=true};window.addEventListener("scroll",rt);setInterval(function(){if(tt){tt=false;Q(J().querySelectorAll("[hx-trigger='revealed'],[data-hx-trigger='revealed']"),function(e){it(e)})}},200)}}function it(t){if(!q(t,"data-hx-revealed")&&P(t)){t.setAttribute("data-hx-revealed","true");var e=Y(t);if(e.initHash){ie(t,"revealed")}else{t.addEventListener("htmx:afterProcessNode",function(e){ie(t,"revealed")},{once:true})}}}function at(e,t,r){var n=M(r);for(var i=0;i<n.length;i++){var a=n[i].split(/:(.+)/);if(a[0]==="connect"){ot(e,a[1],0)}if(a[0]==="send"){lt(e)}}}function ot(s,r,n){if(!ee(s)){return}if(r.indexOf("/")==0){var e=location.hostname+(location.port?":"+location.port:"");if(location.protocol=="https:"){r="wss://"+e+r}else if(location.protocol=="http:"){r="ws://"+e+r}}var t=z.createWebSocket(r);t.onerror=function(e){ne(s,"htmx:wsError",{error:e,socket:t});st(s)};t.onclose=function(e){if([1006,1012,1013].indexOf(e.code)>=0){var t=ut(n);setTimeout(function(){ot(s,r,n+1)},t)}};t.onopen=function(e){n=0};Y(s).webSocket=t;t.addEventListener("message",function(e){if(st(s)){return}var t=e.data;w(s,function(e){t=e.transformResponse(t,null,s)});var r=S(s);var n=l(t);var i=k(n.children);for(var a=0;a<i.length;a++){var o=i[a];me(G(o,"hx-swap-oob")||"true",o,r)}Bt(r.tasks)})}function st(e){if(!ee(e)){Y(e).webSocket.close();return true}}function lt(u){var f=c(u,function(e){return Y(e).webSocket!=null});if(f){u.addEventListener(ze(u)[0].trigger,function(e){var t=Y(f).webSocket;var r=Qt(u,f);var n=Jt(u,"post");var i=n.errors;var a=n.values;var o=fr(u);var s=te(a,o);var l=er(s,u);l["HEADERS"]=r;if(i&&i.length>0){ie(u,"htmx:validation:halted",i);return}t.send(JSON.stringify(l));if(Ke(e,u)){e.preventDefault()}})}else{ne(u,"htmx:noWebSocketSourceError")}}function ut(e){var t=z.config.wsReconnectDelay;if(typeof t==="function"){return t(e)}if(t==="full-jitter"){var r=Math.min(e,6);var n=1e3*Math.pow(2,r);return n*Math.random()}x('htmx.config.wsReconnectDelay must either be a function or the string "full-jitter"')}function ft(e,t,r){var n=M(r);for(var i=0;i<n.length;i++){var a=n[i].split(/:(.+)/);if(a[0]==="connect"){ct(e,a[1])}if(a[0]==="swap"){ht(e,a[1])}}}function ct(t,e){var r=z.createEventSource(e);r.onerror=function(e){ne(t,"htmx:sseError",{error:e,source:r});vt(t)};Y(t).sseEventSource=r}function ht(a,o){var s=c(a,gt);if(s){var l=Y(s).sseEventSource;var u=function(e){if(vt(s)){l.removeEventListener(o,u);return}var t=e.data;w(a,function(e){t=e.transformResponse(t,null,a)});var r=rr(a);var n=de(a);var i=S(a);Me(r.swapStyle,a,n,t,i);Bt(i.tasks);ie(a,"htmx:sseMessage",e)};Y(a).sseListener=u;l.addEventListener(o,u)}else{ne(a,"htmx:noSSESourceError")}}function dt(e,t,r){var n=c(e,gt);if(n){var i=Y(n).sseEventSource;var a=function(){if(!vt(n)){if(ee(e)){t(e)}else{i.removeEventListener(r,a)}}};Y(e).sseListener=a;i.addEventListener(r,a)}else{ne(e,"htmx:noSSESourceError")}}function vt(e){if(!ee(e)){Y(e).sseEventSource.close();return true}}function gt(e){return Y(e).sseEventSource!=null}function pt(e,t,r,n){var i=function(){if(!r.loaded){r.loaded=true;t(e)}};if(n){setTimeout(i,n)}else{i()}}function mt(t,i,e){var a=false;Q(R,function(r){if(q(t,"hx-"+r)){var n=G(t,"hx-"+r);a=true;i.path=n;i.verb=r;e.forEach(function(e){xt(t,e,i,function(e,t){ae(r,n,e,t)})})}});return a}function xt(n,e,t,r){if(e.sseEvent){dt(n,r,e.sseEvent)}else if(e.trigger==="revealed"){nt();et(n,r,t,e);it(n)}else if(e.trigger==="intersect"){var i={};if(e.root){i.root=re(n,e.root)}if(e.threshold){i.threshold=parseFloat(e.threshold)}var a=new IntersectionObserver(function(e){for(var t=0;t<e.length;t++){var r=e[t];if(r.isIntersecting){ie(n,"intersect");break}}},i);a.observe(n);et(n,r,t,e)}else if(e.trigger==="load"){if(!Qe(e,Lt("load",{elt:n}))){pt(n,r,t,e.delay)}}else if(e.pollInterval){t.polling=true;Ge(n,r,e)}else{et(n,r,t,e)}}function yt(e){if(e.type==="text/javascript"||e.type==="module"||e.type===""){var t=J().createElement("script");Q(e.attributes,function(e){t.setAttribute(e.name,e.value)});t.textContent=e.textContent;t.async=false;if(z.config.inlineScriptNonce){t.nonce=z.config.inlineScriptNonce}var r=e.parentElement;try{r.insertBefore(t,e)}catch(e){x(e)}finally{if(e.parentElement){e.parentElement.removeChild(e)}}}}function bt(e){if(h(e,"script")){yt(e)}Q(f(e,"script"),function(e){yt(e)})}function wt(){return document.querySelector("[hx-boost], [data-hx-boost]")}function St(e){if(e.querySelectorAll){var t=wt()?", a, form":"";var r=e.querySelectorAll(O+t+", [hx-sse], [data-hx-sse], [hx-ws],"+" [data-hx-ws], [hx-ext], [data-hx-ext], [hx-trigger], [data-hx-trigger], [hx-on], [data-hx-on]");return r}else{return[]}}function Et(n){var e=function(e){var t=d(e.target,"button, input[type='submit']");if(t!==null){var r=Y(n);r.lastButtonClicked=t}};n.addEventListener("click",e);n.addEventListener("focusin",e);n.addEventListener("focusout",function(e){var t=Y(n);t.lastButtonClicked=null})}function Ct(e){var t=Ue(e);var r=0;for(let e=0;e<t.length;e++){const n=t[e];if(n==="{"){r++}else if(n==="}"){r--}}return r}function Rt(t,e,r){var n=Y(t);n.onHandlers=[];var i=new Function("event",r+"; return;");var a=t.addEventListener(e,function(e){return i.call(t,e)});n.onHandlers.push({event:e,listener:a});return{nodeData:n,code:r,func:i,listener:a}}function Ot(e){var t=G(e,"hx-on");if(t){var r={};var n=t.split("\n");var i=null;var a=0;while(n.length>0){var o=n.shift();var s=o.match(/^\s*([a-zA-Z:\-]+:)(.*)/);if(a===0&&s){o.split(":");i=s[1].slice(0,-1);r[i]=s[2]}else{r[i]+=o}a+=Ct(o)}for(var l in r){Rt(e,l,r[l])}}}function qt(t){if(t.closest&&t.closest(z.config.disableSelector)){return}var r=Y(t);if(r.initHash!==Ce(t)){r.initHash=Ce(t);Re(t);Ot(t);ie(t,"htmx:beforeProcessNode");if(t.value){r.lastValue=t.value}var e=ze(t);var n=mt(t,r,e);if(!n){if(Z(t,"hx-boost")==="true"){Ze(t,r,e)}else if(q(t,"hx-trigger")){e.forEach(function(e){xt(t,e,r,function(){})})}}if(t.tagName==="FORM"){Et(t)}var i=G(t,"hx-sse");if(i){ft(t,r,i)}var a=G(t,"hx-ws");if(a){at(t,r,a)}ie(t,"htmx:afterProcessNode")}}function Tt(e){e=s(e);qt(e);Q(St(e),function(e){qt(e)})}function Ht(e){return e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function Lt(e,t){var r;if(window.CustomEvent&&typeof window.CustomEvent==="function"){r=new CustomEvent(e,{bubbles:true,cancelable:true,detail:t})}else{r=J().createEvent("CustomEvent");r.initCustomEvent(e,true,true,t)}return r}function ne(e,t,r){ie(e,t,te({error:t},r))}function At(e){return e==="htmx:afterProcessNode"}function w(e,t){Q(wr(e),function(e){try{t(e)}catch(e){x(e)}})}function x(e){if(console.error){console.error(e)}else if(console.log){console.log("ERROR: ",e)}}function ie(e,t,r){e=s(e);if(r==null){r={}}r["elt"]=e;var n=Lt(t,r);if(z.logger&&!At(t)){z.logger(e,t,r)}if(r.error){x(r.error);ie(e,"htmx:error",{errorInfo:r})}var i=e.dispatchEvent(n);var a=Ht(t);if(i&&a!==t){var o=Lt(a,n.detail);i=i&&e.dispatchEvent(o)}w(e,function(e){i=i&&e.onEvent(t,n)!==false});return i}var Nt=location.pathname+location.search;function It(){var e=J().querySelector("[hx-history-elt],[data-hx-history-elt]");return e||J().body}function kt(e,t,r,n){if(!D()){return}e=X(e);var i=y(localStorage.getItem("htmx-history-cache"))||[];for(var a=0;a<i.length;a++){if(i[a].url===e){i.splice(a,1);break}}var o={url:e,content:t,title:r,scroll:n};ie(J().body,"htmx:historyItemCreated",{item:o,cache:i});i.push(o);while(i.length>z.config.historyCacheSize){i.shift()}while(i.length>0){try{localStorage.setItem("htmx-history-cache",JSON.stringify(i));break}catch(e){ne(J().body,"htmx:historyCacheError",{cause:e,cache:i});i.shift()}}}function Pt(e){if(!D()){return null}e=X(e);var t=y(localStorage.getItem("htmx-history-cache"))||[];for(var r=0;r<t.length;r++){if(t[r].url===e){return t[r]}}return null}function Mt(e){var t=z.config.requestClass;var r=e.cloneNode(true);Q(f(r,"."+t),function(e){n(e,t)});return r.innerHTML}function Dt(){var e=It();var t=Nt||location.pathname+location.search;var r=J().querySelector('[hx-history="false" i],[data-hx-history="false" i]');if(!r){ie(J().body,"htmx:beforeHistorySave",{path:t,historyElt:e});kt(t,Mt(e),J().title,window.scrollY)}if(z.config.historyEnabled)history.replaceState({htmx:true},J().title,window.location.href)}function Xt(e){if(z.config.getCacheBusterParam){e=e.replace(/org\.htmx\.cache-buster=[^&]*&?/,"");if(e.endsWith("&")||e.endsWith("?")){e=e.slice(0,-1)}}if(z.config.historyEnabled){history.pushState({htmx:true},"",e)}Nt=e}function Ft(e){if(z.config.historyEnabled)history.replaceState({htmx:true},"",e);Nt=e}function Bt(e){Q(e,function(e){e.call()})}function jt(a){var e=new XMLHttpRequest;var o={path:a,xhr:e};ie(J().body,"htmx:historyCacheMiss",o);e.open("GET",a,true);e.setRequestHeader("HX-History-Restore-Request","true");e.onload=function(){if(this.status>=200&&this.status<400){ie(J().body,"htmx:historyCacheMissLoad",o);var e=l(this.response);e=e.querySelector("[hx-history-elt],[data-hx-history-elt]")||e;var t=It();var r=S(t);var n=Pe(this.response);if(n){var i=b("title");if(i){i.innerHTML=n}else{window.document.title=n}}Ne(t,e,r);Bt(r.tasks);Nt=a;ie(J().body,"htmx:historyRestore",{path:a,cacheMiss:true,serverResponse:this.response})}else{ne(J().body,"htmx:historyCacheMissLoadError",o)}};e.send()}function Ut(e){Dt();e=e||location.pathname+location.search;var t=Pt(e);if(t){var r=l(t.content);var n=It();var i=S(n);Ne(n,r,i);Bt(i.tasks);document.title=t.title;window.scrollTo(0,t.scroll);Nt=e;ie(J().body,"htmx:historyRestore",{path:e,item:t})}else{if(z.config.refreshOnHistoryMiss){window.location.reload(true)}else{jt(e)}}}function Vt(e){var t=ce(e,"hx-indicator");if(t==null){t=[e]}Q(t,function(e){var t=Y(e);t.requestCount=(t.requestCount||0)+1;e.classList["add"].call(e.classList,z.config.requestClass)});return t}function _t(e){Q(e,function(e){var t=Y(e);t.requestCount=(t.requestCount||0)-1;if(t.requestCount===0){e.classList["remove"].call(e.classList,z.config.requestClass)}})}function Wt(e,t){for(var r=0;r<e.length;r++){var n=e[r];if(n.isSameNode(t)){return true}}return false}function zt(e){if(e.name===""||e.name==null||e.disabled){return false}if(e.type==="button"||e.type==="submit"||e.tagName==="image"||e.tagName==="reset"||e.tagName==="file"){return false}if(e.type==="checkbox"||e.type==="radio"){return e.checked}return true}function $t(t,r,n,e,i){if(e==null||Wt(t,e)){return}else{t.push(e)}if(zt(e)){var a=$(e,"name");var o=e.value;if(e.multiple){o=k(e.querySelectorAll("option:checked")).map(function(e){return e.value})}if(e.files){o=k(e.files)}if(a!=null&&o!=null){var s=r[a];if(s!==undefined){if(Array.isArray(s)){if(Array.isArray(o)){r[a]=s.concat(o)}else{s.push(o)}}else{if(Array.isArray(o)){r[a]=[s].concat(o)}else{r[a]=[s,o]}}}else{r[a]=o}}if(i){Gt(e,n)}}if(h(e,"form")){var l=e.elements;Q(l,function(e){$t(t,r,n,e,i)})}}function Gt(e,t){if(e.willValidate){ie(e,"htmx:validation:validate");if(!e.checkValidity()){t.push({elt:e,message:e.validationMessage,validity:e.validity});ie(e,"htmx:validation:failed",{message:e.validationMessage,validity:e.validity})}}}function Jt(e,t){var r=[];var n={};var i={};var a=[];var o=Y(e);var s=h(e,"form")&&e.noValidate!==true||G(e,"hx-validate")==="true";if(o.lastButtonClicked){s=s&&o.lastButtonClicked.formNoValidate!==true}if(t!=="get"){$t(r,i,a,d(e,"form"),s)}$t(r,n,a,e,s);if(o.lastButtonClicked){var l=$(o.lastButtonClicked,"name");if(l){n[l]=o.lastButtonClicked.value}}var u=ce(e,"hx-include");Q(u,function(e){$t(r,n,a,e,s);if(!h(e,"form")){Q(e.querySelectorAll(We),function(e){$t(r,n,a,e,s)})}});n=te(n,i);return{errors:a,values:n}}function Zt(e,t,r){if(e!==""){e+="&"}if(String(r)==="[object Object]"){r=JSON.stringify(r)}var n=encodeURIComponent(r);e+=encodeURIComponent(t)+"="+n;return e}function Kt(e){var t="";for(var r in e){if(e.hasOwnProperty(r)){var n=e[r];if(Array.isArray(n)){Q(n,function(e){t=Zt(t,r,e)})}else{t=Zt(t,r,n)}}}return t}function Yt(e){var t=new FormData;for(var r in e){if(e.hasOwnProperty(r)){var n=e[r];if(Array.isArray(n)){Q(n,function(e){t.append(r,e)})}else{t.append(r,n)}}}return t}function Qt(e,t,r){var n={"HX-Request":"true","HX-Trigger":$(e,"id"),"HX-Trigger-Name":$(e,"name"),"HX-Target":G(t,"id"),"HX-Current-URL":J().location.href};or(e,"hx-headers",false,n);if(r!==undefined){n["HX-Prompt"]=r}if(Y(e).boosted){n["HX-Boosted"]="true"}return n}function er(t,e){var r=Z(e,"hx-params");if(r){if(r==="none"){return{}}else if(r==="*"){return t}else if(r.indexOf("not ")===0){Q(r.substr(4).split(","),function(e){e=e.trim();delete t[e]});return t}else{var n={};Q(r.split(","),function(e){e=e.trim();n[e]=t[e]});return n}}else{return t}}function tr(e){return $(e,"href")&&$(e,"href").indexOf("#")>=0}function rr(e,t){var r=t?t:Z(e,"hx-swap");var n={swapStyle:Y(e).boosted?"innerHTML":z.config.defaultSwapStyle,swapDelay:z.config.defaultSwapDelay,settleDelay:z.config.defaultSettleDelay};if(Y(e).boosted&&!tr(e)){n["show"]="top"}if(r){var i=M(r);if(i.length>0){n["swapStyle"]=i[0];for(var a=1;a<i.length;a++){var o=i[a];if(o.indexOf("swap:")===0){n["swapDelay"]=v(o.substr(5))}if(o.indexOf("settle:")===0){n["settleDelay"]=v(o.substr(7))}if(o.indexOf("transition:")===0){n["transition"]=o.substr(11)==="true"}if(o.indexOf("scroll:")===0){var s=o.substr(7);var l=s.split(":");var u=l.pop();var f=l.length>0?l.join(":"):null;n["scroll"]=u;n["scrollTarget"]=f}if(o.indexOf("show:")===0){var c=o.substr(5);var l=c.split(":");var h=l.pop();var f=l.length>0?l.join(":"):null;n["show"]=h;n["showTarget"]=f}if(o.indexOf("focus-scroll:")===0){var d=o.substr("focus-scroll:".length);n["focusScroll"]=d=="true"}}}}return n}function nr(e){return Z(e,"hx-encoding")==="multipart/form-data"||h(e,"form")&&$(e,"enctype")==="multipart/form-data"}function ir(t,r,n){var i=null;w(r,function(e){if(i==null){i=e.encodeParameters(t,n,r)}});if(i!=null){return i}else{if(nr(r)){return Yt(n)}else{return Kt(n)}}}function S(e){return{tasks:[],elts:[e]}}function ar(e,t){var r=e[0];var n=e[e.length-1];if(t.scroll){var i=null;if(t.scrollTarget){i=re(r,t.scrollTarget)}if(t.scroll==="top"&&(r||i)){i=i||r;i.scrollTop=0}if(t.scroll==="bottom"&&(n||i)){i=i||n;i.scrollTop=i.scrollHeight}}if(t.show){var i=null;if(t.showTarget){var a=t.showTarget;if(t.showTarget==="window"){a="body"}i=re(r,a)}if(t.show==="top"&&(r||i)){i=i||r;i.scrollIntoView({block:"start",behavior:z.config.scrollBehavior})}if(t.show==="bottom"&&(n||i)){i=i||n;i.scrollIntoView({block:"end",behavior:z.config.scrollBehavior})}}}function or(e,t,r,n){if(n==null){n={}}if(e==null){return n}var i=G(e,t);if(i){var a=i.trim();var o=r;if(a==="unset"){return null}if(a.indexOf("javascript:")===0){a=a.substr(11);o=true}else if(a.indexOf("js:")===0){a=a.substr(3);o=true}if(a.indexOf("{")!==0){a="{"+a+"}"}var s;if(o){s=sr(e,function(){return Function("return ("+a+")")()},{})}else{s=y(a)}for(var l in s){if(s.hasOwnProperty(l)){if(n[l]==null){n[l]=s[l]}}}}return or(u(e),t,r,n)}function sr(e,t,r){if(z.config.allowEval){return t()}else{ne(e,"htmx:evalDisallowedError");return r}}function lr(e,t){return or(e,"hx-vars",true,t)}function ur(e,t){return or(e,"hx-vals",false,t)}function fr(e){return te(lr(e),ur(e))}function cr(t,r,n){if(n!==null){try{t.setRequestHeader(r,n)}catch(e){t.setRequestHeader(r,encodeURIComponent(n));t.setRequestHeader(r+"-URI-AutoEncoded","true")}}}function hr(t){if(t.responseURL&&typeof URL!=="undefined"){try{var e=new URL(t.responseURL);return e.pathname+e.search}catch(e){ne(J().body,"htmx:badResponseUrl",{url:t.responseURL})}}}function E(e,t){return e.getAllResponseHeaders().match(t)}function dr(e,t,r){e=e.toLowerCase();if(r){if(r instanceof Element||A(r,"String")){return ae(e,t,null,null,{targetOverride:s(r),returnPromise:true})}else{return ae(e,t,s(r.source),r.event,{handler:r.handler,headers:r.headers,values:r.values,targetOverride:s(r.target),swapOverride:r.swap,returnPromise:true})}}else{return ae(e,t,null,null,{returnPromise:true})}}function vr(e){var t=[];while(e){t.push(e);e=e.parentElement}return t}function ae(e,t,n,r,i,M){var a=null;var o=null;i=i!=null?i:{};if(i.returnPromise&&typeof Promise!=="undefined"){var s=new Promise(function(e,t){a=e;o=t})}if(n==null){n=J().body}var D=i.handler||pr;if(!ee(n)){return}var l=i.targetOverride||de(n);if(l==null||l==fe){ne(n,"htmx:targetError",{target:G(n,"hx-target")});return}if(!M){var X=function(){return ae(e,t,n,r,i,true)};var F={target:l,elt:n,path:t,verb:e,triggeringEvent:r,etc:i,issueRequest:X};if(ie(n,"htmx:confirm",F)===false){return}}var u=n;var f=Y(n);var c=Z(n,"hx-sync");var h=null;var d=false;if(c){var v=c.split(":");var g=v[0].trim();if(g==="this"){u=he(n,"hx-sync")}else{u=re(n,g)}c=(v[1]||"drop").trim();f=Y(u);if(c==="drop"&&f.xhr&&f.abortable!==true){return}else if(c==="abort"){if(f.xhr){return}else{d=true}}else if(c==="replace"){ie(u,"htmx:abort")}else if(c.indexOf("queue")===0){var B=c.split(" ");h=(B[1]||"last").trim()}}if(f.xhr){if(f.abortable){ie(u,"htmx:abort")}else{if(h==null){if(r){var p=Y(r);if(p&&p.triggerSpec&&p.triggerSpec.queue){h=p.triggerSpec.queue}}if(h==null){h="last"}}if(f.queuedRequests==null){f.queuedRequests=[]}if(h==="first"&&f.queuedRequests.length===0){f.queuedRequests.push(function(){ae(e,t,n,r,i)})}else if(h==="all"){f.queuedRequests.push(function(){ae(e,t,n,r,i)})}else if(h==="last"){f.queuedRequests=[];f.queuedRequests.push(function(){ae(e,t,n,r,i)})}return}}var m=new XMLHttpRequest;f.xhr=m;f.abortable=d;var x=function(){f.xhr=null;f.abortable=false;if(f.queuedRequests!=null&&f.queuedRequests.length>0){var e=f.queuedRequests.shift();e()}};var y=Z(n,"hx-prompt");if(y){var b=prompt(y);if(b===null||!ie(n,"htmx:prompt",{prompt:b,target:l})){K(a);x();return s}}var w=Z(n,"hx-confirm");if(w){if(!confirm(w)){K(a);x();return s}}var S=Qt(n,l,b);if(i.headers){S=te(S,i.headers)}var E=Jt(n,e);var C=E.errors;var R=E.values;if(i.values){R=te(R,i.values)}var j=fr(n);var O=te(R,j);var q=er(O,n);if(e!=="get"&&!nr(n)){S["Content-Type"]="application/x-www-form-urlencoded"}if(z.config.getCacheBusterParam&&e==="get"){q["org.htmx.cache-buster"]=$(l,"id")||"true"}if(t==null||t===""){t=J().location.href}var T=or(n,"hx-request");var H=Y(n).boosted;var L={boosted:H,parameters:q,unfilteredParameters:O,headers:S,target:l,verb:e,errors:C,withCredentials:i.credentials||T.credentials||z.config.withCredentials,timeout:i.timeout||T.timeout||z.config.timeout,path:t,triggeringEvent:r};if(!ie(n,"htmx:configRequest",L)){K(a);x();return s}t=L.path;e=L.verb;S=L.headers;q=L.parameters;C=L.errors;if(C&&C.length>0){ie(n,"htmx:validation:halted",L);K(a);x();return s}var U=t.split("#");var V=U[0];var A=U[1];var N=null;if(e==="get"){N=V;var _=Object.keys(q).length!==0;if(_){if(N.indexOf("?")<0){N+="?"}else{N+="&"}N+=Kt(q);if(A){N+="#"+A}}m.open("GET",N,true)}else{m.open(e.toUpperCase(),t,true)}m.overrideMimeType("text/html");m.withCredentials=L.withCredentials;m.timeout=L.timeout;if(T.noHeaders){}else{for(var I in S){if(S.hasOwnProperty(I)){var W=S[I];cr(m,I,W)}}}var k={xhr:m,target:l,requestConfig:L,etc:i,boosted:H,pathInfo:{requestPath:t,finalRequestPath:N||t,anchor:A}};m.onload=function(){try{var e=vr(n);k.pathInfo.responsePath=hr(m);D(n,k);_t(P);ie(n,"htmx:afterRequest",k);ie(n,"htmx:afterOnLoad",k);if(!ee(n)){var t=null;while(e.length>0&&t==null){var r=e.shift();if(ee(r)){t=r}}if(t){ie(t,"htmx:afterRequest",k);ie(t,"htmx:afterOnLoad",k)}}K(a);x()}catch(e){ne(n,"htmx:onLoadError",te({error:e},k));throw e}};m.onerror=function(){_t(P);ne(n,"htmx:afterRequest",k);ne(n,"htmx:sendError",k);K(o);x()};m.onabort=function(){_t(P);ne(n,"htmx:afterRequest",k);ne(n,"htmx:sendAbort",k);K(o);x()};m.ontimeout=function(){_t(P);ne(n,"htmx:afterRequest",k);ne(n,"htmx:timeout",k);K(o);x()};if(!ie(n,"htmx:beforeRequest",k)){K(a);x();return s}var P=Vt(n);Q(["loadstart","loadend","progress","abort"],function(t){Q([m,m.upload],function(e){e.addEventListener(t,function(e){ie(n,"htmx:xhr:"+t,{lengthComputable:e.lengthComputable,loaded:e.loaded,total:e.total})})})});ie(n,"htmx:beforeSend",k);m.send(e==="get"?null:ir(m,n,q));return s}function gr(e,t){var r=t.xhr;var n=null;var i=null;if(E(r,/HX-Push:/i)){n=r.getResponseHeader("HX-Push");i="push"}else if(E(r,/HX-Push-Url:/i)){n=r.getResponseHeader("HX-Push-Url");i="push"}else if(E(r,/HX-Replace-Url:/i)){n=r.getResponseHeader("HX-Replace-Url");i="replace"}if(n){if(n==="false"){return{}}else{return{type:i,path:n}}}var a=t.pathInfo.finalRequestPath;var o=t.pathInfo.responsePath;var s=Z(e,"hx-push-url");var l=Z(e,"hx-replace-url");var u=Y(e).boosted;var f=null;var c=null;if(s){f="push";c=s}else if(l){f="replace";c=l}else if(u){f="push";c=o||a}if(c){if(c==="false"){return{}}if(c==="true"){c=o||a}if(t.pathInfo.anchor&&c.indexOf("#")===-1){c=c+"#"+t.pathInfo.anchor}return{type:f,path:c}}else{return{}}}function pr(s,l){var u=l.xhr;var f=l.target;var e=l.etc;if(!ie(s,"htmx:beforeOnLoad",l))return;if(E(u,/HX-Trigger:/i)){De(u,"HX-Trigger",s)}if(E(u,/HX-Location:/i)){Dt();var t=u.getResponseHeader("HX-Location");var c;if(t.indexOf("{")===0){c=y(t);t=c["path"];delete c["path"]}dr("GET",t,c).then(function(){Xt(t)});return}if(E(u,/HX-Redirect:/i)){location.href=u.getResponseHeader("HX-Redirect");return}if(E(u,/HX-Refresh:/i)){if("true"===u.getResponseHeader("HX-Refresh")){location.reload();return}}if(E(u,/HX-Retarget:/i)){l.target=J().querySelector(u.getResponseHeader("HX-Retarget"))}var h=gr(s,l);var r=u.status>=200&&u.status<400&&u.status!==204;var d=u.response;var n=u.status>=400;var i=te({shouldSwap:r,serverResponse:d,isError:n},l);if(!ie(f,"htmx:beforeSwap",i))return;f=i.target;d=i.serverResponse;n=i.isError;l.target=f;l.failed=n;l.successful=!n;if(i.shouldSwap){if(u.status===286){$e(s)}w(s,function(e){d=e.transformResponse(d,u,s)});if(h.type){Dt()}var a=e.swapOverride;if(E(u,/HX-Reswap:/i)){a=u.getResponseHeader("HX-Reswap")}var c=rr(s,a);f.classList.add(z.config.swappingClass);var v=null;var g=null;var o=function(){try{var e=document.activeElement;var t={};try{t={elt:e,start:e?e.selectionStart:null,end:e?e.selectionEnd:null}}catch(e){}var n=S(f);Me(c.swapStyle,f,s,d,n);if(t.elt&&!ee(t.elt)&&t.elt.id){var r=document.getElementById(t.elt.id);var i={preventScroll:c.focusScroll!==undefined?!c.focusScroll:!z.config.defaultFocusScroll};if(r){if(t.start&&r.setSelectionRange){try{r.setSelectionRange(t.start,t.end)}catch(e){}}r.focus(i)}}f.classList.remove(z.config.swappingClass);Q(n.elts,function(e){if(e.classList){e.classList.add(z.config.settlingClass)}ie(e,"htmx:afterSwap",l)});if(E(u,/HX-Trigger-After-Swap:/i)){var a=s;if(!ee(s)){a=J().body}De(u,"HX-Trigger-After-Swap",a)}var o=function(){Q(n.tasks,function(e){e.call()});Q(n.elts,function(e){if(e.classList){e.classList.remove(z.config.settlingClass)}ie(e,"htmx:afterSettle",l)});if(h.type){if(h.type==="push"){Xt(h.path);ie(J().body,"htmx:pushedIntoHistory",{path:h.path})}else{Ft(h.path);ie(J().body,"htmx:replacedInHistory",{path:h.path})}}if(l.pathInfo.anchor){var e=b("#"+l.pathInfo.anchor);if(e){e.scrollIntoView({block:"start",behavior:"auto"})}}if(n.title){var t=b("title");if(t){t.innerHTML=n.title}else{window.document.title=n.title}}ar(n.elts,c);if(E(u,/HX-Trigger-After-Settle:/i)){var r=s;if(!ee(s)){r=J().body}De(u,"HX-Trigger-After-Settle",r)}K(v)};if(c.settleDelay>0){setTimeout(o,c.settleDelay)}else{o()}}catch(e){ne(s,"htmx:swapError",l);K(g);throw e}};var p=z.config.globalViewTransitions;if(c.hasOwnProperty("transition")){p=c.transition}if(p&&ie(s,"htmx:beforeTransition",l)&&typeof Promise!=="undefined"&&document.startViewTransition){var m=new Promise(function(e,t){v=e;g=t});var x=o;o=function(){document.startViewTransition(function(){x();return m})}}if(c.swapDelay>0){setTimeout(o,c.swapDelay)}else{o()}}if(n){ne(s,"htmx:responseError",te({error:"Response Status Error Code "+u.status+" from "+l.pathInfo.requestPath},l))}}var mr={};function xr(){return{init:function(e){return null},onEvent:function(e,t){return true},transformResponse:function(e,t,r){return e},isInlineSwap:function(e){return false},handleSwap:function(e,t,r,n){return false},encodeParameters:function(e,t,r){return null}}}function yr(e,t){if(t.init){t.init(C)}mr[e]=te(xr(),t)}function br(e){delete mr[e]}function wr(e,r,n){if(e==undefined){return r}if(r==undefined){r=[]}if(n==undefined){n=[]}var t=G(e,"hx-ext");if(t){Q(t.split(","),function(e){e=e.replace(/ /g,"");if(e.slice(0,7)=="ignore:"){n.push(e.slice(7));return}if(n.indexOf(e)<0){var t=mr[e];if(t&&r.indexOf(t)<0){r.push(t)}}})}return wr(u(e),r,n)}function Sr(e){if(J().readyState!=="loading"){e()}else{J().addEventListener("DOMContentLoaded",e)}}function Er(){if(z.config.includeIndicatorStyles!==false){J().head.insertAdjacentHTML("beforeend","<style> ."+z.config.indicatorClass+"{opacity:0;transition: opacity 200ms ease-in;} ."+z.config.requestClass+" ."+z.config.indicatorClass+"{opacity:1} ."+z.config.requestClass+"."+z.config.indicatorClass+"{opacity:1} </style>")}}function Cr(){var e=J().querySelector('meta[name="htmx-config"]');if(e){return y(e.content)}else{return null}}function Rr(){var e=Cr();if(e){z.config=te(z.config,e)}}Sr(function(){Rr();Er();var e=J().body;Tt(e);var t=J().querySelectorAll("[hx-trigger='restored'],[data-hx-trigger='restored']");e.addEventListener("htmx:abort",function(e){var t=e.target;var r=Y(t);if(r&&r.xhr){r.xhr.abort()}});var r=window.onpopstate;window.onpopstate=function(e){if(e.state&&e.state.htmx){Ut();Q(t,function(e){ie(e,"htmx:restored",{document:J(),triggerEvent:ie})})}else{if(r){r(e)}}};setTimeout(function(){ie(e,"htmx:load",{});e=null},0)});return z}()});
+ static/pico.classless.green.min.css view
@@ -0,0 +1,4 @@+@charset "UTF-8";/*!+ * Pico CSS ✨ v2.1.1 (https://picocss.com)+ * Copyright 2019-2025 - Licensed under MIT+ */:host,:root{--pico-font-family-emoji:"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--pico-font-family-sans-serif:system-ui,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,Helvetica,Arial,"Helvetica Neue",sans-serif,var(--pico-font-family-emoji);--pico-font-family-monospace:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace,var(--pico-font-family-emoji);--pico-font-family:var(--pico-font-family-sans-serif);--pico-line-height:1.5;--pico-font-weight:400;--pico-font-size:100%;--pico-text-underline-offset:0.1rem;--pico-border-radius:0.25rem;--pico-border-width:0.0625rem;--pico-outline-width:0.125rem;--pico-transition:0.2s ease-in-out;--pico-spacing:1rem;--pico-typography-spacing-vertical:1rem;--pico-block-spacing-vertical:var(--pico-spacing);--pico-block-spacing-horizontal:var(--pico-spacing);--pico-form-element-spacing-vertical:0.75rem;--pico-form-element-spacing-horizontal:1rem;--pico-group-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-group-box-shadow-focus-with-button:0 0 0 var(--pico-outline-width) var(--pico-primary-focus);--pico-group-box-shadow-focus-with-input:0 0 0 0.0625rem var(--pico-form-element-border-color);--pico-modal-overlay-backdrop-filter:blur(0.375rem);--pico-nav-element-spacing-vertical:1rem;--pico-nav-element-spacing-horizontal:0.5rem;--pico-nav-link-spacing-vertical:0.5rem;--pico-nav-link-spacing-horizontal:0.5rem;--pico-nav-breadcrumb-divider:">";--pico-icon-checkbox:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");--pico-icon-minus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");--pico-icon-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--pico-icon-date:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");--pico-icon-time:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");--pico-icon-search:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");--pico-icon-close:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");--pico-icon-loading:url("data:image/svg+xml,%3Csvg fill='none' height='24' width='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E g %7B animation: rotate 2s linear infinite; transform-origin: center center; %7D circle %7B stroke-dasharray: 75,100; stroke-dashoffset: -5; animation: dash 1.5s ease-in-out infinite; stroke-linecap: round; %7D @keyframes rotate %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D @keyframes dash %7B 0%25 %7B stroke-dasharray: 1,100; stroke-dashoffset: 0; %7D 50%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -17.5; %7D 100%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -62; %7D %7D %3C/style%3E%3Cg%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='rgb(136, 145, 164)' stroke-width='4' /%3E%3C/g%3E%3C/svg%3E")}@media (min-width:576px){:host,:root{--pico-font-size:106.25%}}@media (min-width:768px){:host,:root{--pico-font-size:112.5%}}@media (min-width:1024px){:host,:root{--pico-font-size:118.75%}}@media (min-width:1280px){:host,:root{--pico-font-size:125%}}@media (min-width:1536px){:host,:root{--pico-font-size:131.25%}}a{--pico-text-decoration:underline}small{--pico-font-size:0.875em}h1,h2,h3,h4,h5,h6{--pico-font-weight:700}h1{--pico-font-size:2rem;--pico-line-height:1.125;--pico-typography-spacing-top:3rem}h2{--pico-font-size:1.75rem;--pico-line-height:1.15;--pico-typography-spacing-top:2.625rem}h3{--pico-font-size:1.5rem;--pico-line-height:1.175;--pico-typography-spacing-top:2.25rem}h4{--pico-font-size:1.25rem;--pico-line-height:1.2;--pico-typography-spacing-top:1.874rem}h5{--pico-font-size:1.125rem;--pico-line-height:1.225;--pico-typography-spacing-top:1.6875rem}h6{--pico-font-size:1rem;--pico-line-height:1.25;--pico-typography-spacing-top:1.5rem}tfoot td,tfoot th,thead td,thead th{--pico-font-weight:600;--pico-border-width:0.1875rem}code,kbd,pre,samp{--pico-font-family:var(--pico-font-family-monospace)}kbd{--pico-font-weight:bolder}:where(select,textarea),input:not([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]){--pico-outline-width:0.0625rem}[type=search]{--pico-border-radius:5rem}[type=checkbox],[type=radio]{--pico-border-width:0.125rem}[type=checkbox][role=switch]{--pico-border-width:0.1875rem}[role=search]{--pico-border-radius:5rem}[role=group] [role=button],[role=group] [type=button],[role=group] [type=submit],[role=group] button,[role=search] [role=button],[role=search] [type=button],[role=search] [type=submit],[role=search] button{--pico-form-element-spacing-horizontal:2rem}details summary[role=button]::after{filter:brightness(0) invert(1)}[aria-busy=true]:not(input,select,textarea):is(button,[type=submit],[type=button],[type=reset],[role=button])::before{filter:brightness(0) invert(1)}:host(:not([data-theme=dark])),:root:not([data-theme=dark]),[data-theme=light]{color-scheme:light;--pico-background-color:#fff;--pico-color:#373c44;--pico-text-selection-color:rgba(71, 164, 23, 0.25);--pico-muted-color:#646b79;--pico-muted-border-color:rgb(231, 234, 239.5);--pico-primary:#33790f;--pico-primary-background:#398712;--pico-primary-border:var(--pico-primary-background);--pico-primary-underline:rgba(51, 121, 15, 0.5);--pico-primary-hover:#265e09;--pico-primary-hover-background:#33790f;--pico-primary-hover-border:var(--pico-primary-hover-background);--pico-primary-hover-underline:var(--pico-primary-hover);--pico-primary-focus:rgba(71, 164, 23, 0.5);--pico-primary-inverse:#fff;--pico-secondary:#5d6b89;--pico-secondary-background:#525f7a;--pico-secondary-border:var(--pico-secondary-background);--pico-secondary-underline:rgba(93, 107, 137, 0.5);--pico-secondary-hover:#48536b;--pico-secondary-hover-background:#48536b;--pico-secondary-hover-border:var(--pico-secondary-hover-background);--pico-secondary-hover-underline:var(--pico-secondary-hover);--pico-secondary-focus:rgba(93, 107, 137, 0.25);--pico-secondary-inverse:#fff;--pico-contrast:#181c25;--pico-contrast-background:#181c25;--pico-contrast-border:var(--pico-contrast-background);--pico-contrast-underline:rgba(24, 28, 37, 0.5);--pico-contrast-hover:#000;--pico-contrast-hover-background:#000;--pico-contrast-hover-border:var(--pico-contrast-hover-background);--pico-contrast-hover-underline:var(--pico-secondary-hover);--pico-contrast-focus:rgba(93, 107, 137, 0.25);--pico-contrast-inverse:#fff;--pico-box-shadow:0.0145rem 0.029rem 0.174rem rgba(129, 145, 181, 0.01698),0.0335rem 0.067rem 0.402rem rgba(129, 145, 181, 0.024),0.0625rem 0.125rem 0.75rem rgba(129, 145, 181, 0.03),0.1125rem 0.225rem 1.35rem rgba(129, 145, 181, 0.036),0.2085rem 0.417rem 2.502rem rgba(129, 145, 181, 0.04302),0.5rem 1rem 6rem rgba(129, 145, 181, 0.06),0 0 0 0.0625rem rgba(129, 145, 181, 0.015);--pico-h1-color:#2d3138;--pico-h2-color:#373c44;--pico-h3-color:#424751;--pico-h4-color:#4d535e;--pico-h5-color:#5c6370;--pico-h6-color:#646b79;--pico-mark-background-color:rgb(252.5, 230.5, 191.5);--pico-mark-color:#0f1114;--pico-ins-color:rgb(28.5, 105.5, 84);--pico-del-color:rgb(136, 56.5, 53);--pico-blockquote-border-color:var(--pico-muted-border-color);--pico-blockquote-footer-color:var(--pico-muted-color);--pico-button-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-button-hover-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-table-border-color:var(--pico-muted-border-color);--pico-table-row-stripped-background-color:rgba(111, 120, 135, 0.0375);--pico-code-background-color:rgb(243, 244.5, 246.75);--pico-code-color:#646b79;--pico-code-kbd-background-color:var(--pico-color);--pico-code-kbd-color:var(--pico-background-color);--pico-form-element-background-color:rgb(251, 251.5, 252.25);--pico-form-element-selected-background-color:#dfe3eb;--pico-form-element-border-color:#cfd5e2;--pico-form-element-color:#23262c;--pico-form-element-placeholder-color:var(--pico-muted-color);--pico-form-element-active-background-color:#fff;--pico-form-element-active-border-color:var(--pico-primary-border);--pico-form-element-focus-color:var(--pico-primary-border);--pico-form-element-disabled-opacity:0.5;--pico-form-element-invalid-border-color:rgb(183.5, 105.5, 106.5);--pico-form-element-invalid-active-border-color:rgb(200.25, 79.25, 72.25);--pico-form-element-invalid-focus-color:var(--pico-form-element-invalid-active-border-color);--pico-form-element-valid-border-color:rgb(76, 154.5, 137.5);--pico-form-element-valid-active-border-color:rgb(39, 152.75, 118.75);--pico-form-element-valid-focus-color:var(--pico-form-element-valid-active-border-color);--pico-switch-background-color:#bfc7d9;--pico-switch-checked-background-color:var(--pico-primary-background);--pico-switch-color:#fff;--pico-switch-thumb-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-range-border-color:#dfe3eb;--pico-range-active-border-color:#bfc7d9;--pico-range-thumb-border-color:var(--pico-background-color);--pico-range-thumb-color:var(--pico-secondary-background);--pico-range-thumb-active-color:var(--pico-primary-background);--pico-accordion-border-color:var(--pico-muted-border-color);--pico-accordion-active-summary-color:var(--pico-primary-hover);--pico-accordion-close-summary-color:var(--pico-color);--pico-accordion-open-summary-color:var(--pico-muted-color);--pico-card-background-color:var(--pico-background-color);--pico-card-border-color:var(--pico-muted-border-color);--pico-card-box-shadow:var(--pico-box-shadow);--pico-card-sectioning-background-color:rgb(251, 251.5, 252.25);--pico-loading-spinner-opacity:0.5;--pico-modal-overlay-background-color:rgba(232, 234, 237, 0.75);--pico-progress-background-color:#dfe3eb;--pico-progress-color:var(--pico-primary-background);--pico-tooltip-background-color:var(--pico-contrast-background);--pico-tooltip-color:var(--pico-contrast-inverse);--pico-icon-valid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(76, 154.5, 137.5)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");--pico-icon-invalid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(200.25, 79.25, 72.25)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E")}:host(:not([data-theme=dark])) input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]),:root:not([data-theme=dark]) input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]),[data-theme=light] input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]){--pico-form-element-focus-color:var(--pico-primary-focus)}@media only screen and (prefers-color-scheme:dark){:host(:not([data-theme])),:root:not([data-theme]){color-scheme:dark;--pico-background-color:rgb(19, 22.5, 30.5);--pico-color:#c2c7d0;--pico-text-selection-color:rgba(78, 179, 27, 0.1875);--pico-muted-color:#7b8495;--pico-muted-border-color:#202632;--pico-primary:#4eb31b;--pico-primary-background:#398712;--pico-primary-border:var(--pico-primary-background);--pico-primary-underline:rgba(78, 179, 27, 0.5);--pico-primary-hover:#5dd121;--pico-primary-hover-background:#409614;--pico-primary-hover-border:var(--pico-primary-hover-background);--pico-primary-hover-underline:var(--pico-primary-hover);--pico-primary-focus:rgba(78, 179, 27, 0.375);--pico-primary-inverse:#fff;--pico-secondary:#969eaf;--pico-secondary-background:#525f7a;--pico-secondary-border:var(--pico-secondary-background);--pico-secondary-underline:rgba(150, 158, 175, 0.5);--pico-secondary-hover:#b3b9c5;--pico-secondary-hover-background:#5d6b89;--pico-secondary-hover-border:var(--pico-secondary-hover-background);--pico-secondary-hover-underline:var(--pico-secondary-hover);--pico-secondary-focus:rgba(144, 158, 190, 0.25);--pico-secondary-inverse:#fff;--pico-contrast:#dfe3eb;--pico-contrast-background:#eff1f4;--pico-contrast-border:var(--pico-contrast-background);--pico-contrast-underline:rgba(223, 227, 235, 0.5);--pico-contrast-hover:#fff;--pico-contrast-hover-background:#fff;--pico-contrast-hover-border:var(--pico-contrast-hover-background);--pico-contrast-hover-underline:var(--pico-contrast-hover);--pico-contrast-focus:rgba(207, 213, 226, 0.25);--pico-contrast-inverse:#000;--pico-box-shadow:0.0145rem 0.029rem 0.174rem rgba(7, 8.5, 12, 0.01698),0.0335rem 0.067rem 0.402rem rgba(7, 8.5, 12, 0.024),0.0625rem 0.125rem 0.75rem rgba(7, 8.5, 12, 0.03),0.1125rem 0.225rem 1.35rem rgba(7, 8.5, 12, 0.036),0.2085rem 0.417rem 2.502rem rgba(7, 8.5, 12, 0.04302),0.5rem 1rem 6rem rgba(7, 8.5, 12, 0.06),0 0 0 0.0625rem rgba(7, 8.5, 12, 0.015);--pico-h1-color:#f0f1f3;--pico-h2-color:#e0e3e7;--pico-h3-color:#c2c7d0;--pico-h4-color:#b3b9c5;--pico-h5-color:#a4acba;--pico-h6-color:#8891a4;--pico-mark-background-color:#014063;--pico-mark-color:#fff;--pico-ins-color:#62af9a;--pico-del-color:rgb(205.5, 126, 123);--pico-blockquote-border-color:var(--pico-muted-border-color);--pico-blockquote-footer-color:var(--pico-muted-color);--pico-button-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-button-hover-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-table-border-color:var(--pico-muted-border-color);--pico-table-row-stripped-background-color:rgba(111, 120, 135, 0.0375);--pico-code-background-color:rgb(26, 30.5, 40.25);--pico-code-color:#8891a4;--pico-code-kbd-background-color:var(--pico-color);--pico-code-kbd-color:var(--pico-background-color);--pico-form-element-background-color:rgb(28, 33, 43.5);--pico-form-element-selected-background-color:#2a3140;--pico-form-element-border-color:#2a3140;--pico-form-element-color:#e0e3e7;--pico-form-element-placeholder-color:#8891a4;--pico-form-element-active-background-color:rgb(26, 30.5, 40.25);--pico-form-element-active-border-color:var(--pico-primary-border);--pico-form-element-focus-color:var(--pico-primary-border);--pico-form-element-disabled-opacity:0.5;--pico-form-element-invalid-border-color:rgb(149.5, 74, 80);--pico-form-element-invalid-active-border-color:rgb(183.25, 63.5, 59);--pico-form-element-invalid-focus-color:var(--pico-form-element-invalid-active-border-color);--pico-form-element-valid-border-color:#2a7b6f;--pico-form-element-valid-active-border-color:rgb(22, 137, 105.5);--pico-form-element-valid-focus-color:var(--pico-form-element-valid-active-border-color);--pico-switch-background-color:#333c4e;--pico-switch-checked-background-color:var(--pico-primary-background);--pico-switch-color:#fff;--pico-switch-thumb-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-range-border-color:#202632;--pico-range-active-border-color:#2a3140;--pico-range-thumb-border-color:var(--pico-background-color);--pico-range-thumb-color:var(--pico-secondary-background);--pico-range-thumb-active-color:var(--pico-primary-background);--pico-accordion-border-color:var(--pico-muted-border-color);--pico-accordion-active-summary-color:var(--pico-primary-hover);--pico-accordion-close-summary-color:var(--pico-color);--pico-accordion-open-summary-color:var(--pico-muted-color);--pico-card-background-color:#181c25;--pico-card-border-color:var(--pico-card-background-color);--pico-card-box-shadow:var(--pico-box-shadow);--pico-card-sectioning-background-color:rgb(26, 30.5, 40.25);--pico-loading-spinner-opacity:0.5;--pico-modal-overlay-background-color:rgba(7.5, 8.5, 10, 0.75);--pico-progress-background-color:#202632;--pico-progress-color:var(--pico-primary-background);--pico-tooltip-background-color:var(--pico-contrast-background);--pico-tooltip-color:var(--pico-contrast-inverse);--pico-icon-valid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");--pico-icon-invalid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(149.5, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E")}:host(:not([data-theme])) input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]),:root:not([data-theme]) input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]){--pico-form-element-focus-color:var(--pico-primary-focus)}}[data-theme=dark]{color-scheme:dark;--pico-background-color:rgb(19, 22.5, 30.5);--pico-color:#c2c7d0;--pico-text-selection-color:rgba(78, 179, 27, 0.1875);--pico-muted-color:#7b8495;--pico-muted-border-color:#202632;--pico-primary:#4eb31b;--pico-primary-background:#398712;--pico-primary-border:var(--pico-primary-background);--pico-primary-underline:rgba(78, 179, 27, 0.5);--pico-primary-hover:#5dd121;--pico-primary-hover-background:#409614;--pico-primary-hover-border:var(--pico-primary-hover-background);--pico-primary-hover-underline:var(--pico-primary-hover);--pico-primary-focus:rgba(78, 179, 27, 0.375);--pico-primary-inverse:#fff;--pico-secondary:#969eaf;--pico-secondary-background:#525f7a;--pico-secondary-border:var(--pico-secondary-background);--pico-secondary-underline:rgba(150, 158, 175, 0.5);--pico-secondary-hover:#b3b9c5;--pico-secondary-hover-background:#5d6b89;--pico-secondary-hover-border:var(--pico-secondary-hover-background);--pico-secondary-hover-underline:var(--pico-secondary-hover);--pico-secondary-focus:rgba(144, 158, 190, 0.25);--pico-secondary-inverse:#fff;--pico-contrast:#dfe3eb;--pico-contrast-background:#eff1f4;--pico-contrast-border:var(--pico-contrast-background);--pico-contrast-underline:rgba(223, 227, 235, 0.5);--pico-contrast-hover:#fff;--pico-contrast-hover-background:#fff;--pico-contrast-hover-border:var(--pico-contrast-hover-background);--pico-contrast-hover-underline:var(--pico-contrast-hover);--pico-contrast-focus:rgba(207, 213, 226, 0.25);--pico-contrast-inverse:#000;--pico-box-shadow:0.0145rem 0.029rem 0.174rem rgba(7, 8.5, 12, 0.01698),0.0335rem 0.067rem 0.402rem rgba(7, 8.5, 12, 0.024),0.0625rem 0.125rem 0.75rem rgba(7, 8.5, 12, 0.03),0.1125rem 0.225rem 1.35rem rgba(7, 8.5, 12, 0.036),0.2085rem 0.417rem 2.502rem rgba(7, 8.5, 12, 0.04302),0.5rem 1rem 6rem rgba(7, 8.5, 12, 0.06),0 0 0 0.0625rem rgba(7, 8.5, 12, 0.015);--pico-h1-color:#f0f1f3;--pico-h2-color:#e0e3e7;--pico-h3-color:#c2c7d0;--pico-h4-color:#b3b9c5;--pico-h5-color:#a4acba;--pico-h6-color:#8891a4;--pico-mark-background-color:#014063;--pico-mark-color:#fff;--pico-ins-color:#62af9a;--pico-del-color:rgb(205.5, 126, 123);--pico-blockquote-border-color:var(--pico-muted-border-color);--pico-blockquote-footer-color:var(--pico-muted-color);--pico-button-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-button-hover-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-table-border-color:var(--pico-muted-border-color);--pico-table-row-stripped-background-color:rgba(111, 120, 135, 0.0375);--pico-code-background-color:rgb(26, 30.5, 40.25);--pico-code-color:#8891a4;--pico-code-kbd-background-color:var(--pico-color);--pico-code-kbd-color:var(--pico-background-color);--pico-form-element-background-color:rgb(28, 33, 43.5);--pico-form-element-selected-background-color:#2a3140;--pico-form-element-border-color:#2a3140;--pico-form-element-color:#e0e3e7;--pico-form-element-placeholder-color:#8891a4;--pico-form-element-active-background-color:rgb(26, 30.5, 40.25);--pico-form-element-active-border-color:var(--pico-primary-border);--pico-form-element-focus-color:var(--pico-primary-border);--pico-form-element-disabled-opacity:0.5;--pico-form-element-invalid-border-color:rgb(149.5, 74, 80);--pico-form-element-invalid-active-border-color:rgb(183.25, 63.5, 59);--pico-form-element-invalid-focus-color:var(--pico-form-element-invalid-active-border-color);--pico-form-element-valid-border-color:#2a7b6f;--pico-form-element-valid-active-border-color:rgb(22, 137, 105.5);--pico-form-element-valid-focus-color:var(--pico-form-element-valid-active-border-color);--pico-switch-background-color:#333c4e;--pico-switch-checked-background-color:var(--pico-primary-background);--pico-switch-color:#fff;--pico-switch-thumb-box-shadow:0 0 0 rgba(0, 0, 0, 0);--pico-range-border-color:#202632;--pico-range-active-border-color:#2a3140;--pico-range-thumb-border-color:var(--pico-background-color);--pico-range-thumb-color:var(--pico-secondary-background);--pico-range-thumb-active-color:var(--pico-primary-background);--pico-accordion-border-color:var(--pico-muted-border-color);--pico-accordion-active-summary-color:var(--pico-primary-hover);--pico-accordion-close-summary-color:var(--pico-color);--pico-accordion-open-summary-color:var(--pico-muted-color);--pico-card-background-color:#181c25;--pico-card-border-color:var(--pico-card-background-color);--pico-card-box-shadow:var(--pico-box-shadow);--pico-card-sectioning-background-color:rgb(26, 30.5, 40.25);--pico-loading-spinner-opacity:0.5;--pico-modal-overlay-background-color:rgba(7.5, 8.5, 10, 0.75);--pico-progress-background-color:#202632;--pico-progress-color:var(--pico-primary-background);--pico-tooltip-background-color:var(--pico-contrast-background);--pico-tooltip-color:var(--pico-contrast-inverse);--pico-icon-valid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");--pico-icon-invalid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(149.5, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E")}[data-theme=dark] input:is([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[type=file]){--pico-form-element-focus-color:var(--pico-primary-focus)}[type=checkbox],[type=radio],[type=range],progress{accent-color:var(--pico-primary)}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:where(:host),:where(:root){-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--pico-background-color);color:var(--pico-color);font-weight:var(--pico-font-weight);font-size:var(--pico-font-size);line-height:var(--pico-line-height);font-family:var(--pico-font-family);text-underline-offset:var(--pico-text-underline-offset);text-rendering:optimizeLegibility;overflow-wrap:break-word;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{width:100%;margin:0}main{display:block}body>footer,body>header,body>main{width:100%;margin-right:auto;margin-left:auto;padding:var(--pico-block-spacing-vertical) var(--pico-block-spacing-horizontal)}@media (min-width:576px){body>footer,body>header,body>main{max-width:510px;padding-right:0;padding-left:0}}@media (min-width:768px){body>footer,body>header,body>main{max-width:700px}}@media (min-width:1024px){body>footer,body>header,body>main{max-width:950px}}@media (min-width:1280px){body>footer,body>header,body>main{max-width:1200px}}@media (min-width:1536px){body>footer,body>header,body>main{max-width:1450px}}section{margin-bottom:var(--pico-block-spacing-vertical)}b,strong{font-weight:bolder}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}address,blockquote,dl,ol,p,pre,table,ul{margin-top:0;margin-bottom:var(--pico-typography-spacing-vertical);color:var(--pico-color);font-style:normal;font-weight:var(--pico-font-weight)}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:var(--pico-typography-spacing-vertical);color:var(--pico-color);font-weight:var(--pico-font-weight);font-size:var(--pico-font-size);line-height:var(--pico-line-height);font-family:var(--pico-font-family)}h1{--pico-color:var(--pico-h1-color)}h2{--pico-color:var(--pico-h2-color)}h3{--pico-color:var(--pico-h3-color)}h4{--pico-color:var(--pico-h4-color)}h5{--pico-color:var(--pico-h5-color)}h6{--pico-color:var(--pico-h6-color)}:where(article,address,blockquote,dl,figure,form,ol,p,pre,table,ul)~:is(h1,h2,h3,h4,h5,h6){margin-top:var(--pico-typography-spacing-top)}p{margin-bottom:var(--pico-typography-spacing-vertical)}hgroup{margin-bottom:var(--pico-typography-spacing-vertical)}hgroup>*{margin-top:0;margin-bottom:0}hgroup>:not(:first-child):last-child{--pico-color:var(--pico-muted-color);--pico-font-weight:unset;font-size:1rem}:where(ol,ul) li{margin-bottom:calc(var(--pico-typography-spacing-vertical) * .25)}:where(dl,ol,ul) :where(dl,ol,ul){margin:0;margin-top:calc(var(--pico-typography-spacing-vertical) * .25)}ul li{list-style:square}mark{padding:.125rem .25rem;background-color:var(--pico-mark-background-color);color:var(--pico-mark-color);vertical-align:baseline}blockquote{display:block;margin:var(--pico-typography-spacing-vertical) 0;padding:var(--pico-spacing);border-right:none;border-left:.25rem solid var(--pico-blockquote-border-color);border-inline-start:0.25rem solid var(--pico-blockquote-border-color);border-inline-end:none}blockquote footer{margin-top:calc(var(--pico-typography-spacing-vertical) * .5);color:var(--pico-blockquote-footer-color)}abbr[title]{border-bottom:1px dotted;text-decoration:none;cursor:help}ins{color:var(--pico-ins-color);text-decoration:none}del{color:var(--pico-del-color)}::-moz-selection{background-color:var(--pico-text-selection-color)}::selection{background-color:var(--pico-text-selection-color)}:where(a:not([role=button])),[role=link]{--pico-color:var(--pico-primary);--pico-background-color:transparent;--pico-underline:var(--pico-primary-underline);outline:0;background-color:var(--pico-background-color);color:var(--pico-color);-webkit-text-decoration:var(--pico-text-decoration);text-decoration:var(--pico-text-decoration);text-decoration-color:var(--pico-underline);text-underline-offset:0.125em;transition:background-color var(--pico-transition),color var(--pico-transition),box-shadow var(--pico-transition),-webkit-text-decoration var(--pico-transition);transition:background-color var(--pico-transition),color var(--pico-transition),text-decoration var(--pico-transition),box-shadow var(--pico-transition);transition:background-color var(--pico-transition),color var(--pico-transition),text-decoration var(--pico-transition),box-shadow var(--pico-transition),-webkit-text-decoration var(--pico-transition)}:where(a:not([role=button])):is([aria-current]:not([aria-current=false]),:hover,:active,:focus),[role=link]:is([aria-current]:not([aria-current=false]),:hover,:active,:focus){--pico-color:var(--pico-primary-hover);--pico-underline:var(--pico-primary-hover-underline);--pico-text-decoration:underline}:where(a:not([role=button])):focus-visible,[role=link]:focus-visible{box-shadow:0 0 0 var(--pico-outline-width) var(--pico-primary-focus)}a[role=button]{display:inline-block}button{margin:0;overflow:visible;font-family:inherit;text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[role=button],[type=button],[type=file]::file-selector-button,[type=reset],[type=submit],button{--pico-background-color:var(--pico-primary-background);--pico-border-color:var(--pico-primary-border);--pico-color:var(--pico-primary-inverse);--pico-box-shadow:var(--pico-button-box-shadow, 0 0 0 rgba(0, 0, 0, 0));padding:var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);border:var(--pico-border-width) solid var(--pico-border-color);border-radius:var(--pico-border-radius);outline:0;background-color:var(--pico-background-color);box-shadow:var(--pico-box-shadow);color:var(--pico-color);font-weight:var(--pico-font-weight);font-size:1rem;line-height:var(--pico-line-height);text-align:center;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background-color var(--pico-transition),border-color var(--pico-transition),color var(--pico-transition),box-shadow var(--pico-transition)}[role=button]:is(:hover,:active,:focus),[role=button]:is([aria-current]:not([aria-current=false])),[type=button]:is(:hover,:active,:focus),[type=button]:is([aria-current]:not([aria-current=false])),[type=file]::file-selector-button:is(:hover,:active,:focus),[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])),[type=reset]:is(:hover,:active,:focus),[type=reset]:is([aria-current]:not([aria-current=false])),[type=submit]:is(:hover,:active,:focus),[type=submit]:is([aria-current]:not([aria-current=false])),button:is(:hover,:active,:focus),button:is([aria-current]:not([aria-current=false])){--pico-background-color:var(--pico-primary-hover-background);--pico-border-color:var(--pico-primary-hover-border);--pico-box-shadow:var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0));--pico-color:var(--pico-primary-inverse)}[role=button]:focus,[role=button]:is([aria-current]:not([aria-current=false])):focus,[type=button]:focus,[type=button]:is([aria-current]:not([aria-current=false])):focus,[type=file]::file-selector-button:focus,[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])):focus,[type=reset]:focus,[type=reset]:is([aria-current]:not([aria-current=false])):focus,[type=submit]:focus,[type=submit]:is([aria-current]:not([aria-current=false])):focus,button:focus,button:is([aria-current]:not([aria-current=false])):focus{--pico-box-shadow:var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)),0 0 0 var(--pico-outline-width) var(--pico-primary-focus)}[type=button],[type=reset],[type=submit]{margin-bottom:var(--pico-spacing)}[type=file]::file-selector-button,[type=reset]{--pico-background-color:var(--pico-secondary-background);--pico-border-color:var(--pico-secondary-border);--pico-color:var(--pico-secondary-inverse);cursor:pointer}[type=file]::file-selector-button:is([aria-current]:not([aria-current=false]),:hover,:active,:focus),[type=reset]:is([aria-current]:not([aria-current=false]),:hover,:active,:focus){--pico-background-color:var(--pico-secondary-hover-background);--pico-border-color:var(--pico-secondary-hover-border);--pico-color:var(--pico-secondary-inverse)}[type=file]::file-selector-button:focus,[type=reset]:focus{--pico-box-shadow:var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)),0 0 0 var(--pico-outline-width) var(--pico-secondary-focus)}:where(button,[type=submit],[type=reset],[type=button],[role=button])[disabled],:where(fieldset[disabled]) :is(button,[type=submit],[type=button],[type=reset],[role=button]){opacity:.5;pointer-events:none}:where(table){width:100%;border-collapse:collapse;border-spacing:0;text-indent:0}td,th{padding:calc(var(--pico-spacing)/ 2) var(--pico-spacing);border-bottom:var(--pico-border-width) solid var(--pico-table-border-color);background-color:var(--pico-background-color);color:var(--pico-color);font-weight:var(--pico-font-weight);text-align:left;text-align:start}tfoot td,tfoot th{border-top:var(--pico-border-width) solid var(--pico-table-border-color);border-bottom:0}table.striped tbody tr:nth-child(odd) td,table.striped tbody tr:nth-child(odd) th{background-color:var(--pico-table-row-stripped-background-color)}:where(audio,canvas,iframe,img,svg,video){vertical-align:middle}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}:where(iframe){border-style:none}img{max-width:100%;height:auto;border-style:none}:where(svg:not([fill])){fill:currentColor}svg:not(:host),svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-size:.875em;font-family:var(--pico-font-family)}pre code,pre samp{font-size:inherit;font-family:inherit}pre{-ms-overflow-style:scrollbar;overflow:auto}code,kbd,pre,samp{border-radius:var(--pico-border-radius);background:var(--pico-code-background-color);color:var(--pico-code-color);font-weight:var(--pico-font-weight);line-height:initial}code,kbd,samp{display:inline-block;padding:.375rem}pre{display:block;margin-bottom:var(--pico-spacing);overflow-x:auto}pre>code,pre>samp{display:block;padding:var(--pico-spacing);background:0 0;line-height:var(--pico-line-height)}kbd{background-color:var(--pico-code-kbd-background-color);color:var(--pico-code-kbd-color);vertical-align:baseline}figure{display:block;margin:0;padding:0}figure figcaption{padding:calc(var(--pico-spacing) * .5) 0;color:var(--pico-muted-color)}hr{height:0;margin:var(--pico-typography-spacing-vertical) 0;border:0;border-top:1px solid var(--pico-muted-border-color);color:inherit}[hidden],template{display:none!important}canvas{display:inline-block}input,optgroup,select,textarea{margin:0;font-size:1rem;line-height:var(--pico-line-height);font-family:inherit;letter-spacing:inherit}input{overflow:visible}select{text-transform:none}legend{max-width:100%;padding:0;color:inherit;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{padding:0}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}::-moz-focus-inner{padding:0;border-style:none}:-moz-focusring{outline:0}:-moz-ui-invalid{box-shadow:none}::-ms-expand{display:none}[type=file],[type=range]{padding:0;border-width:0}input:not([type=checkbox],[type=radio],[type=range]){height:calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2)}fieldset{width:100%;margin:0;margin-bottom:var(--pico-spacing);padding:0;border:0}fieldset legend,label{display:block;margin-bottom:calc(var(--pico-spacing) * .375);color:var(--pico-color);font-weight:var(--pico-form-label-font-weight,var(--pico-font-weight))}fieldset legend{margin-bottom:calc(var(--pico-spacing) * .5)}button[type=submit],input:not([type=checkbox],[type=radio]),select,textarea{width:100%}input:not([type=checkbox],[type=radio],[type=range],[type=file]),select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal)}input,select,textarea{--pico-background-color:var(--pico-form-element-background-color);--pico-border-color:var(--pico-form-element-border-color);--pico-color:var(--pico-form-element-color);--pico-box-shadow:none;border:var(--pico-border-width) solid var(--pico-border-color);border-radius:var(--pico-border-radius);outline:0;background-color:var(--pico-background-color);box-shadow:var(--pico-box-shadow);color:var(--pico-color);font-weight:var(--pico-font-weight);transition:background-color var(--pico-transition),border-color var(--pico-transition),color var(--pico-transition),box-shadow var(--pico-transition)}:where(select,textarea):not([readonly]):is(:active,:focus),input:not([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[readonly]):is(:active,:focus){--pico-background-color:var(--pico-form-element-active-background-color)}:where(select,textarea):not([readonly]):is(:active,:focus),input:not([type=submit],[type=button],[type=reset],[role=switch],[readonly]):is(:active,:focus){--pico-border-color:var(--pico-form-element-active-border-color)}:where(select,textarea):not([readonly]):focus,input:not([type=submit],[type=button],[type=reset],[type=range],[type=file],[readonly]):focus{--pico-box-shadow:0 0 0 var(--pico-outline-width) var(--pico-form-element-focus-color)}:where(fieldset[disabled]) :is(input:not([type=submit],[type=button],[type=reset]),select,textarea),input:not([type=submit],[type=button],[type=reset])[disabled],label[aria-disabled=true],select[disabled],textarea[disabled]{opacity:var(--pico-form-element-disabled-opacity);pointer-events:none}label[aria-disabled=true] input[disabled]{opacity:1}:where(input,select,textarea):not([type=checkbox],[type=radio],[type=date],[type=datetime-local],[type=month],[type=time],[type=week],[type=range])[aria-invalid]{padding-right:calc(var(--pico-form-element-spacing-horizontal) + 1.5rem)!important;padding-left:var(--pico-form-element-spacing-horizontal);padding-inline-start:var(--pico-form-element-spacing-horizontal)!important;padding-inline-end:calc(var(--pico-form-element-spacing-horizontal) + 1.5rem)!important;background-position:center right .75rem;background-size:1rem auto;background-repeat:no-repeat}:where(input,select,textarea):not([type=checkbox],[type=radio],[type=date],[type=datetime-local],[type=month],[type=time],[type=week],[type=range])[aria-invalid=false]:not(select){background-image:var(--pico-icon-valid)}:where(input,select,textarea):not([type=checkbox],[type=radio],[type=date],[type=datetime-local],[type=month],[type=time],[type=week],[type=range])[aria-invalid=true]:not(select){background-image:var(--pico-icon-invalid)}:where(input,select,textarea)[aria-invalid=false]{--pico-border-color:var(--pico-form-element-valid-border-color)}:where(input,select,textarea)[aria-invalid=false]:is(:active,:focus){--pico-border-color:var(--pico-form-element-valid-active-border-color)!important}:where(input,select,textarea)[aria-invalid=false]:is(:active,:focus):not([type=checkbox],[type=radio]){--pico-box-shadow:0 0 0 var(--pico-outline-width) var(--pico-form-element-valid-focus-color)!important}:where(input,select,textarea)[aria-invalid=true]{--pico-border-color:var(--pico-form-element-invalid-border-color)}:where(input,select,textarea)[aria-invalid=true]:is(:active,:focus){--pico-border-color:var(--pico-form-element-invalid-active-border-color)!important}:where(input,select,textarea)[aria-invalid=true]:is(:active,:focus):not([type=checkbox],[type=radio]){--pico-box-shadow:0 0 0 var(--pico-outline-width) var(--pico-form-element-invalid-focus-color)!important}[dir=rtl] :where(input,select,textarea):not([type=checkbox],[type=radio]):is([aria-invalid],[aria-invalid=true],[aria-invalid=false]){background-position:center left .75rem}input::-webkit-input-placeholder,input::placeholder,select:invalid,textarea::-webkit-input-placeholder,textarea::placeholder{color:var(--pico-form-element-placeholder-color);opacity:1}input:not([type=checkbox],[type=radio]),select,textarea{margin-bottom:var(--pico-spacing)}select::-ms-expand{border:0;background-color:transparent}select:not([multiple],[size]){padding-right:calc(var(--pico-form-element-spacing-horizontal) + 1.5rem);padding-left:var(--pico-form-element-spacing-horizontal);padding-inline-start:var(--pico-form-element-spacing-horizontal);padding-inline-end:calc(var(--pico-form-element-spacing-horizontal) + 1.5rem);background-image:var(--pico-icon-chevron);background-position:center right .75rem;background-size:1rem auto;background-repeat:no-repeat}select[multiple] option:checked{background:var(--pico-form-element-selected-background-color);color:var(--pico-form-element-color)}[dir=rtl] select:not([multiple],[size]){background-position:center left .75rem}textarea{display:block;resize:vertical}textarea[aria-invalid]{--pico-icon-height:calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2);background-position:top right .75rem!important;background-size:1rem var(--pico-icon-height)!important}:where(input,select,textarea,fieldset)+small{display:block;width:100%;margin-top:calc(var(--pico-spacing) * -.75);margin-bottom:var(--pico-spacing);color:var(--pico-muted-color)}:where(input,select,textarea,fieldset)[aria-invalid=false]+small{color:var(--pico-ins-color)}:where(input,select,textarea,fieldset)[aria-invalid=true]+small{color:var(--pico-del-color)}label>:where(input,select,textarea){margin-top:calc(var(--pico-spacing) * .25)}label:has([type=checkbox],[type=radio]){width:-moz-fit-content;width:fit-content;cursor:pointer}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1.25em;height:1.25em;margin-top:-.125em;margin-inline-end:.5em;border-width:var(--pico-border-width);vertical-align:middle;cursor:pointer}[type=checkbox]::-ms-check,[type=radio]::-ms-check{display:none}[type=checkbox]:checked,[type=checkbox]:checked:active,[type=checkbox]:checked:focus,[type=radio]:checked,[type=radio]:checked:active,[type=radio]:checked:focus{--pico-background-color:var(--pico-primary-background);--pico-border-color:var(--pico-primary-border);background-image:var(--pico-icon-checkbox);background-position:center;background-size:.75em auto;background-repeat:no-repeat}[type=checkbox]~label,[type=radio]~label{display:inline-block;margin-bottom:0;cursor:pointer}[type=checkbox]~label:not(:last-of-type),[type=radio]~label:not(:last-of-type){margin-inline-end:1em}[type=checkbox]:indeterminate{--pico-background-color:var(--pico-primary-background);--pico-border-color:var(--pico-primary-border);background-image:var(--pico-icon-minus);background-position:center;background-size:.75em auto;background-repeat:no-repeat}[type=radio]{border-radius:50%}[type=radio]:checked,[type=radio]:checked:active,[type=radio]:checked:focus{--pico-background-color:var(--pico-primary-inverse);border-width:.35em;background-image:none}[type=checkbox][role=switch]{--pico-background-color:var(--pico-switch-background-color);--pico-color:var(--pico-switch-color);width:2.25em;height:1.25em;border:var(--pico-border-width) solid var(--pico-border-color);border-radius:1.25em;background-color:var(--pico-background-color);line-height:1.25em}[type=checkbox][role=switch]:not([aria-invalid]){--pico-border-color:var(--pico-switch-background-color)}[type=checkbox][role=switch]:before{display:block;aspect-ratio:1;height:100%;border-radius:50%;background-color:var(--pico-color);box-shadow:var(--pico-switch-thumb-box-shadow);content:"";transition:margin .1s ease-in-out}[type=checkbox][role=switch]:focus{--pico-background-color:var(--pico-switch-background-color);--pico-border-color:var(--pico-switch-background-color)}[type=checkbox][role=switch]:checked{--pico-background-color:var(--pico-switch-checked-background-color);--pico-border-color:var(--pico-switch-checked-background-color);background-image:none}[type=checkbox][role=switch]:checked::before{margin-inline-start:calc(2.25em - 1.25em)}[type=checkbox][role=switch][disabled]{--pico-background-color:var(--pico-border-color)}[type=checkbox][aria-invalid=false]:checked,[type=checkbox][aria-invalid=false]:checked:active,[type=checkbox][aria-invalid=false]:checked:focus,[type=checkbox][role=switch][aria-invalid=false]:checked,[type=checkbox][role=switch][aria-invalid=false]:checked:active,[type=checkbox][role=switch][aria-invalid=false]:checked:focus{--pico-background-color:var(--pico-form-element-valid-border-color)}[type=checkbox]:checked:active[aria-invalid=true],[type=checkbox]:checked:focus[aria-invalid=true],[type=checkbox]:checked[aria-invalid=true],[type=checkbox][role=switch]:checked:active[aria-invalid=true],[type=checkbox][role=switch]:checked:focus[aria-invalid=true],[type=checkbox][role=switch]:checked[aria-invalid=true]{--pico-background-color:var(--pico-form-element-invalid-border-color)}[type=checkbox][aria-invalid=false]:checked,[type=checkbox][aria-invalid=false]:checked:active,[type=checkbox][aria-invalid=false]:checked:focus,[type=checkbox][role=switch][aria-invalid=false]:checked,[type=checkbox][role=switch][aria-invalid=false]:checked:active,[type=checkbox][role=switch][aria-invalid=false]:checked:focus,[type=radio][aria-invalid=false]:checked,[type=radio][aria-invalid=false]:checked:active,[type=radio][aria-invalid=false]:checked:focus{--pico-border-color:var(--pico-form-element-valid-border-color)}[type=checkbox]:checked:active[aria-invalid=true],[type=checkbox]:checked:focus[aria-invalid=true],[type=checkbox]:checked[aria-invalid=true],[type=checkbox][role=switch]:checked:active[aria-invalid=true],[type=checkbox][role=switch]:checked:focus[aria-invalid=true],[type=checkbox][role=switch]:checked[aria-invalid=true],[type=radio]:checked:active[aria-invalid=true],[type=radio]:checked:focus[aria-invalid=true],[type=radio]:checked[aria-invalid=true]{--pico-border-color:var(--pico-form-element-invalid-border-color)}[type=color]::-webkit-color-swatch-wrapper{padding:0}[type=color]::-moz-focus-inner{padding:0}[type=color]::-webkit-color-swatch{border:0;border-radius:calc(var(--pico-border-radius) * .5)}[type=color]::-moz-color-swatch{border:0;border-radius:calc(var(--pico-border-radius) * .5)}input:not([type=checkbox],[type=radio],[type=range],[type=file]):is([type=date],[type=datetime-local],[type=month],[type=time],[type=week]){--pico-icon-position:0.75rem;--pico-icon-width:1rem;padding-right:calc(var(--pico-icon-width) + var(--pico-icon-position));background-image:var(--pico-icon-date);background-position:center right var(--pico-icon-position);background-size:var(--pico-icon-width) auto;background-repeat:no-repeat}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=time]{background-image:var(--pico-icon-time)}[type=date]::-webkit-calendar-picker-indicator,[type=datetime-local]::-webkit-calendar-picker-indicator,[type=month]::-webkit-calendar-picker-indicator,[type=time]::-webkit-calendar-picker-indicator,[type=week]::-webkit-calendar-picker-indicator{width:var(--pico-icon-width);margin-right:calc(var(--pico-icon-width) * -1);margin-left:var(--pico-icon-position);opacity:0}@-moz-document url-prefix(){[type=date],[type=datetime-local],[type=month],[type=time],[type=week]{padding-right:var(--pico-form-element-spacing-horizontal)!important;background-image:none!important}}[dir=rtl] :is([type=date],[type=datetime-local],[type=month],[type=time],[type=week]){text-align:right}[type=file]{--pico-color:var(--pico-muted-color);margin-left:calc(var(--pico-outline-width) * -1);padding:calc(var(--pico-form-element-spacing-vertical) * .5) 0;padding-left:var(--pico-outline-width);border:0;border-radius:0;background:0 0}[type=file]::file-selector-button{margin-right:calc(var(--pico-spacing)/ 2);padding:calc(var(--pico-form-element-spacing-vertical) * .5) var(--pico-form-element-spacing-horizontal)}[type=file]:is(:hover,:active,:focus)::file-selector-button{--pico-background-color:var(--pico-secondary-hover-background);--pico-border-color:var(--pico-secondary-hover-border)}[type=file]:focus::file-selector-button{--pico-box-shadow:var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)),0 0 0 var(--pico-outline-width) var(--pico-secondary-focus)}[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:1.25rem;background:0 0}[type=range]::-webkit-slider-runnable-track{width:100%;height:.375rem;border-radius:var(--pico-border-radius);background-color:var(--pico-range-border-color);-webkit-transition:background-color var(--pico-transition),box-shadow var(--pico-transition);transition:background-color var(--pico-transition),box-shadow var(--pico-transition)}[type=range]::-moz-range-track{width:100%;height:.375rem;border-radius:var(--pico-border-radius);background-color:var(--pico-range-border-color);-moz-transition:background-color var(--pico-transition),box-shadow var(--pico-transition);transition:background-color var(--pico-transition),box-shadow var(--pico-transition)}[type=range]::-ms-track{width:100%;height:.375rem;border-radius:var(--pico-border-radius);background-color:var(--pico-range-border-color);-ms-transition:background-color var(--pico-transition),box-shadow var(--pico-transition);transition:background-color var(--pico-transition),box-shadow var(--pico-transition)}[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:1.25rem;height:1.25rem;margin-top:-.4375rem;border:2px solid var(--pico-range-thumb-border-color);border-radius:50%;background-color:var(--pico-range-thumb-color);cursor:pointer;-webkit-transition:background-color var(--pico-transition),transform var(--pico-transition);transition:background-color var(--pico-transition),transform var(--pico-transition)}[type=range]::-moz-range-thumb{-webkit-appearance:none;width:1.25rem;height:1.25rem;margin-top:-.4375rem;border:2px solid var(--pico-range-thumb-border-color);border-radius:50%;background-color:var(--pico-range-thumb-color);cursor:pointer;-moz-transition:background-color var(--pico-transition),transform var(--pico-transition);transition:background-color var(--pico-transition),transform var(--pico-transition)}[type=range]::-ms-thumb{-webkit-appearance:none;width:1.25rem;height:1.25rem;margin-top:-.4375rem;border:2px solid var(--pico-range-thumb-border-color);border-radius:50%;background-color:var(--pico-range-thumb-color);cursor:pointer;-ms-transition:background-color var(--pico-transition),transform var(--pico-transition);transition:background-color var(--pico-transition),transform var(--pico-transition)}[type=range]:active,[type=range]:focus-within{--pico-range-border-color:var(--pico-range-active-border-color);--pico-range-thumb-color:var(--pico-range-thumb-active-color)}[type=range]:active::-webkit-slider-thumb{transform:scale(1.25)}[type=range]:active::-moz-range-thumb{transform:scale(1.25)}[type=range]:active::-ms-thumb{transform:scale(1.25)}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search]{padding-inline-start:calc(var(--pico-form-element-spacing-horizontal) + 1.75rem);background-image:var(--pico-icon-search);background-position:center left calc(var(--pico-form-element-spacing-horizontal) + .125rem);background-size:1rem auto;background-repeat:no-repeat}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid]{padding-inline-start:calc(var(--pico-form-element-spacing-horizontal) + 1.75rem)!important;background-position:center left 1.125rem,center right .75rem}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid=false]{background-image:var(--pico-icon-search),var(--pico-icon-valid)}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid=true]{background-image:var(--pico-icon-search),var(--pico-icon-invalid)}[dir=rtl] :where(input):not([type=checkbox],[type=radio],[type=range],[type=file])[type=search]{background-position:center right 1.125rem}[dir=rtl] :where(input):not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid]{background-position:center right 1.125rem,center left .75rem}details{display:block;margin-bottom:var(--pico-spacing)}details summary{line-height:1rem;list-style-type:none;cursor:pointer;transition:color var(--pico-transition)}details summary:not([role]){color:var(--pico-accordion-close-summary-color)}details summary::-webkit-details-marker{display:none}details summary::marker{display:none}details summary::-moz-list-bullet{list-style-type:none}details summary::after{display:block;width:1rem;height:1rem;margin-inline-start:calc(var(--pico-spacing,1rem) * .5);float:right;transform:rotate(-90deg);background-image:var(--pico-icon-chevron);background-position:right center;background-size:1rem auto;background-repeat:no-repeat;content:"";transition:transform var(--pico-transition)}details summary:focus{outline:0}details summary:focus:not([role]){color:var(--pico-accordion-active-summary-color)}details summary:focus-visible:not([role]){outline:var(--pico-outline-width) solid var(--pico-primary-focus);outline-offset:calc(var(--pico-spacing,1rem) * 0.5);color:var(--pico-primary)}details summary[role=button]{width:100%;text-align:left}details summary[role=button]::after{height:calc(1rem * var(--pico-line-height,1.5))}details[open]>summary{margin-bottom:var(--pico-spacing)}details[open]>summary:not([role]):not(:focus){color:var(--pico-accordion-open-summary-color)}details[open]>summary::after{transform:rotate(0)}[dir=rtl] details summary{text-align:right}[dir=rtl] details summary::after{float:left;background-position:left center}article{margin-bottom:var(--pico-block-spacing-vertical);padding:var(--pico-block-spacing-vertical) var(--pico-block-spacing-horizontal);border-radius:var(--pico-border-radius);background:var(--pico-card-background-color);box-shadow:var(--pico-card-box-shadow)}article>footer,article>header{margin-right:calc(var(--pico-block-spacing-horizontal) * -1);margin-left:calc(var(--pico-block-spacing-horizontal) * -1);padding:calc(var(--pico-block-spacing-vertical) * .66) var(--pico-block-spacing-horizontal);background-color:var(--pico-card-sectioning-background-color)}article>header{margin-top:calc(var(--pico-block-spacing-vertical) * -1);margin-bottom:var(--pico-block-spacing-vertical);border-bottom:var(--pico-border-width) solid var(--pico-card-border-color);border-top-right-radius:var(--pico-border-radius);border-top-left-radius:var(--pico-border-radius)}article>footer{margin-top:var(--pico-block-spacing-vertical);margin-bottom:calc(var(--pico-block-spacing-vertical) * -1);border-top:var(--pico-border-width) solid var(--pico-card-border-color);border-bottom-right-radius:var(--pico-border-radius);border-bottom-left-radius:var(--pico-border-radius)}[role=group],[role=search]{display:inline-flex;position:relative;width:100%;margin-bottom:var(--pico-spacing);border-radius:var(--pico-border-radius);box-shadow:var(--pico-group-box-shadow,0 0 0 transparent);vertical-align:middle;transition:box-shadow var(--pico-transition)}[role=group] input:not([type=checkbox],[type=radio]),[role=group] select,[role=group]>*,[role=search] input:not([type=checkbox],[type=radio]),[role=search] select,[role=search]>*{position:relative;flex:1 1 auto;margin-bottom:0}[role=group] input:not([type=checkbox],[type=radio]):not(:first-child),[role=group] select:not(:first-child),[role=group]>:not(:first-child),[role=search] input:not([type=checkbox],[type=radio]):not(:first-child),[role=search] select:not(:first-child),[role=search]>:not(:first-child){margin-left:0;border-top-left-radius:0;border-bottom-left-radius:0}[role=group] input:not([type=checkbox],[type=radio]):not(:last-child),[role=group] select:not(:last-child),[role=group]>:not(:last-child),[role=search] input:not([type=checkbox],[type=radio]):not(:last-child),[role=search] select:not(:last-child),[role=search]>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}[role=group] input:not([type=checkbox],[type=radio]):focus,[role=group] select:focus,[role=group]>:focus,[role=search] input:not([type=checkbox],[type=radio]):focus,[role=search] select:focus,[role=search]>:focus{z-index:2}[role=group] [role=button]:not(:first-child),[role=group] [type=button]:not(:first-child),[role=group] [type=reset]:not(:first-child),[role=group] [type=submit]:not(:first-child),[role=group] button:not(:first-child),[role=group] input:not([type=checkbox],[type=radio]):not(:first-child),[role=group] select:not(:first-child),[role=search] [role=button]:not(:first-child),[role=search] [type=button]:not(:first-child),[role=search] [type=reset]:not(:first-child),[role=search] [type=submit]:not(:first-child),[role=search] button:not(:first-child),[role=search] input:not([type=checkbox],[type=radio]):not(:first-child),[role=search] select:not(:first-child){margin-left:calc(var(--pico-border-width) * -1)}[role=group] [role=button],[role=group] [type=button],[role=group] [type=reset],[role=group] [type=submit],[role=group] button,[role=search] [role=button],[role=search] [type=button],[role=search] [type=reset],[role=search] [type=submit],[role=search] button{width:auto}@supports selector(:has(*)){[role=group]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus),[role=search]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus){--pico-group-box-shadow:var(--pico-group-box-shadow-focus-with-button)}[role=group]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus) input:not([type=checkbox],[type=radio]),[role=group]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus) select,[role=search]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus) input:not([type=checkbox],[type=radio]),[role=search]:has(button:focus,[type=submit]:focus,[type=button]:focus,[role=button]:focus) select{border-color:transparent}[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus),[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus){--pico-group-box-shadow:var(--pico-group-box-shadow-focus-with-input)}[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus) [role=button],[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus) [type=button],[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus) [type=submit],[role=group]:has(input:not([type=submit],[type=button]):focus,select:focus) button,[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus) [role=button],[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus) [type=button],[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus) [type=submit],[role=search]:has(input:not([type=submit],[type=button]):focus,select:focus) button{--pico-button-box-shadow:0 0 0 var(--pico-border-width) var(--pico-primary-border);--pico-button-hover-box-shadow:0 0 0 var(--pico-border-width) var(--pico-primary-hover-border)}[role=group] [role=button]:focus,[role=group] [type=button]:focus,[role=group] [type=reset]:focus,[role=group] [type=submit]:focus,[role=group] button:focus,[role=search] [role=button]:focus,[role=search] [type=button]:focus,[role=search] [type=reset]:focus,[role=search] [type=submit]:focus,[role=search] button:focus{box-shadow:none}}[role=search]>:first-child{border-top-left-radius:5rem;border-bottom-left-radius:5rem}[role=search]>:last-child{border-top-right-radius:5rem;border-bottom-right-radius:5rem}[aria-busy=true]:not(input,select,textarea,html,form){white-space:nowrap}[aria-busy=true]:not(input,select,textarea,html,form)::before{display:inline-block;width:1em;height:1em;background-image:var(--pico-icon-loading);background-size:1em auto;background-repeat:no-repeat;content:"";vertical-align:-.125em}[aria-busy=true]:not(input,select,textarea,html,form):not(:empty)::before{margin-inline-end:calc(var(--pico-spacing) * .5)}[aria-busy=true]:not(input,select,textarea,html,form):empty{text-align:center}[role=button][aria-busy=true],[type=button][aria-busy=true],[type=reset][aria-busy=true],[type=submit][aria-busy=true],a[aria-busy=true],button[aria-busy=true]{pointer-events:none}:host,:root{--pico-scrollbar-width:0px}dialog{display:flex;z-index:999;position:fixed;top:0;right:0;bottom:0;left:0;align-items:center;justify-content:center;width:inherit;min-width:100%;height:inherit;min-height:100%;padding:0;border:0;-webkit-backdrop-filter:var(--pico-modal-overlay-backdrop-filter);backdrop-filter:var(--pico-modal-overlay-backdrop-filter);background-color:var(--pico-modal-overlay-background-color);color:var(--pico-color)}dialog>article{width:100%;max-height:calc(100vh - var(--pico-spacing) * 2);margin:var(--pico-spacing);overflow:auto}@media (min-width:576px){dialog>article{max-width:510px}}@media (min-width:768px){dialog>article{max-width:700px}}dialog>article>header>*{margin-bottom:0}dialog>article>header :is(a,button)[rel=prev]{margin:0;margin-left:var(--pico-spacing);padding:0;float:right}dialog>article>footer{text-align:right}dialog>article>footer [role=button],dialog>article>footer button{margin-bottom:0}dialog>article>footer [role=button]:not(:first-of-type),dialog>article>footer button:not(:first-of-type){margin-left:calc(var(--pico-spacing) * .5)}dialog>article :is(a,button)[rel=prev]{display:block;width:1rem;height:1rem;margin-top:calc(var(--pico-spacing) * -1);margin-bottom:var(--pico-spacing);margin-left:auto;border:none;background-image:var(--pico-icon-close);background-position:center;background-size:auto 1rem;background-repeat:no-repeat;background-color:transparent;opacity:.5;transition:opacity var(--pico-transition)}dialog>article :is(a,button)[rel=prev]:is([aria-current]:not([aria-current=false]),:hover,:active,:focus){opacity:1}dialog:not([open]),dialog[open=false]{display:none}:where(nav li)::before{float:left;content:""}nav,nav ul{display:flex}nav{justify-content:space-between;overflow:visible}nav ol,nav ul{align-items:center;margin-bottom:0;padding:0;list-style:none}nav ol:first-of-type,nav ul:first-of-type{margin-left:calc(var(--pico-nav-element-spacing-horizontal) * -1)}nav ol:last-of-type,nav ul:last-of-type{margin-right:calc(var(--pico-nav-element-spacing-horizontal) * -1)}nav li{display:inline-block;margin:0;padding:var(--pico-nav-element-spacing-vertical) var(--pico-nav-element-spacing-horizontal)}nav li :where(a,[role=link]){display:inline-block;margin:calc(var(--pico-nav-link-spacing-vertical) * -1) calc(var(--pico-nav-link-spacing-horizontal) * -1);padding:var(--pico-nav-link-spacing-vertical) var(--pico-nav-link-spacing-horizontal);border-radius:var(--pico-border-radius)}nav li :where(a,[role=link]):not(:hover){text-decoration:none}nav li [role=button],nav li [type=button],nav li button,nav li input:not([type=checkbox],[type=radio],[type=range],[type=file]),nav li select{height:auto;margin-right:inherit;margin-bottom:0;margin-left:inherit;padding:calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width) * 2) var(--pico-nav-link-spacing-horizontal)}nav[aria-label=breadcrumb]{align-items:center;justify-content:start}nav[aria-label=breadcrumb] ul li:not(:first-child){margin-inline-start:var(--pico-nav-link-spacing-horizontal)}nav[aria-label=breadcrumb] ul li a{margin:calc(var(--pico-nav-link-spacing-vertical) * -1) 0;margin-inline-start:calc(var(--pico-nav-link-spacing-horizontal) * -1)}nav[aria-label=breadcrumb] ul li:not(:last-child)::after{display:inline-block;position:absolute;width:calc(var(--pico-nav-link-spacing-horizontal) * 4);margin:0 calc(var(--pico-nav-link-spacing-horizontal) * -1);content:var(--pico-nav-breadcrumb-divider);color:var(--pico-muted-color);text-align:center;text-decoration:none;white-space:nowrap}nav[aria-label=breadcrumb] a[aria-current]:not([aria-current=false]){background-color:transparent;color:inherit;text-decoration:none;pointer-events:none}aside li,aside nav,aside ol,aside ul{display:block}aside li{padding:calc(var(--pico-nav-element-spacing-vertical) * .5) var(--pico-nav-element-spacing-horizontal)}aside li a{display:block}aside li [role=button]{margin:inherit}[dir=rtl] nav[aria-label=breadcrumb] ul li:not(:last-child) ::after{content:"\\"}progress{display:inline-block;vertical-align:baseline}progress{-webkit-appearance:none;-moz-appearance:none;display:inline-block;appearance:none;width:100%;height:.5rem;margin-bottom:calc(var(--pico-spacing) * .5);overflow:hidden;border:0;border-radius:var(--pico-border-radius);background-color:var(--pico-progress-background-color);color:var(--pico-progress-color)}progress::-webkit-progress-bar{border-radius:var(--pico-border-radius);background:0 0}progress[value]::-webkit-progress-value{background-color:var(--pico-progress-color);-webkit-transition:inline-size var(--pico-transition);transition:inline-size var(--pico-transition)}progress::-moz-progress-bar{background-color:var(--pico-progress-color)}@media (prefers-reduced-motion:no-preference){progress:indeterminate{background:var(--pico-progress-background-color) linear-gradient(to right,var(--pico-progress-color) 30%,var(--pico-progress-background-color) 30%) top left/150% 150% no-repeat;animation:progress-indeterminate 1s linear infinite}progress:indeterminate[value]::-webkit-progress-value{background-color:transparent}progress:indeterminate::-moz-progress-bar{background-color:transparent}}@media (prefers-reduced-motion:no-preference){[dir=rtl] progress:indeterminate{animation-direction:reverse}}@keyframes progress-indeterminate{0%{background-position:200% 0}100%{background-position:-200% 0}}[data-tooltip]{position:relative}[data-tooltip]:not(a,button,input,[role=button]){border-bottom:1px dotted;text-decoration:none;cursor:help}[data-tooltip]::after,[data-tooltip]::before,[data-tooltip][data-placement=top]::after,[data-tooltip][data-placement=top]::before{display:block;z-index:99;position:absolute;bottom:100%;left:50%;padding:.25rem .5rem;overflow:hidden;transform:translate(-50%,-.25rem);border-radius:var(--pico-border-radius);background:var(--pico-tooltip-background-color);content:attr(data-tooltip);color:var(--pico-tooltip-color);font-style:normal;font-weight:var(--pico-font-weight);font-size:.875rem;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;opacity:0;pointer-events:none}[data-tooltip]::after,[data-tooltip][data-placement=top]::after{padding:0;transform:translate(-50%,0);border-top:.3rem solid;border-right:.3rem solid transparent;border-left:.3rem solid transparent;border-radius:0;background-color:transparent;content:"";color:var(--pico-tooltip-background-color)}[data-tooltip][data-placement=bottom]::after,[data-tooltip][data-placement=bottom]::before{top:100%;bottom:auto;transform:translate(-50%,.25rem)}[data-tooltip][data-placement=bottom]:after{transform:translate(-50%,-.3rem);border:.3rem solid transparent;border-bottom:.3rem solid}[data-tooltip][data-placement=left]::after,[data-tooltip][data-placement=left]::before{top:50%;right:100%;bottom:auto;left:auto;transform:translate(-.25rem,-50%)}[data-tooltip][data-placement=left]:after{transform:translate(.3rem,-50%);border:.3rem solid transparent;border-left:.3rem solid}[data-tooltip][data-placement=right]::after,[data-tooltip][data-placement=right]::before{top:50%;right:auto;bottom:auto;left:100%;transform:translate(.25rem,-50%)}[data-tooltip][data-placement=right]:after{transform:translate(-.3rem,-50%);border:.3rem solid transparent;border-right:.3rem solid}[data-tooltip]:focus::after,[data-tooltip]:focus::before,[data-tooltip]:hover::after,[data-tooltip]:hover::before{opacity:1}@media (hover:hover) and (pointer:fine){[data-tooltip]:focus::after,[data-tooltip]:focus::before,[data-tooltip]:hover::after,[data-tooltip]:hover::before{--pico-tooltip-slide-to:translate(-50%, -0.25rem);transform:translate(-50%,.75rem);animation-duration:.2s;animation-fill-mode:forwards;animation-name:tooltip-slide;opacity:0}[data-tooltip]:focus::after,[data-tooltip]:hover::after{--pico-tooltip-caret-slide-to:translate(-50%, 0rem);transform:translate(-50%,-.25rem);animation-name:tooltip-caret-slide}[data-tooltip][data-placement=bottom]:focus::after,[data-tooltip][data-placement=bottom]:focus::before,[data-tooltip][data-placement=bottom]:hover::after,[data-tooltip][data-placement=bottom]:hover::before{--pico-tooltip-slide-to:translate(-50%, 0.25rem);transform:translate(-50%,-.75rem);animation-name:tooltip-slide}[data-tooltip][data-placement=bottom]:focus::after,[data-tooltip][data-placement=bottom]:hover::after{--pico-tooltip-caret-slide-to:translate(-50%, -0.3rem);transform:translate(-50%,-.5rem);animation-name:tooltip-caret-slide}[data-tooltip][data-placement=left]:focus::after,[data-tooltip][data-placement=left]:focus::before,[data-tooltip][data-placement=left]:hover::after,[data-tooltip][data-placement=left]:hover::before{--pico-tooltip-slide-to:translate(-0.25rem, -50%);transform:translate(.75rem,-50%);animation-name:tooltip-slide}[data-tooltip][data-placement=left]:focus::after,[data-tooltip][data-placement=left]:hover::after{--pico-tooltip-caret-slide-to:translate(0.3rem, -50%);transform:translate(.05rem,-50%);animation-name:tooltip-caret-slide}[data-tooltip][data-placement=right]:focus::after,[data-tooltip][data-placement=right]:focus::before,[data-tooltip][data-placement=right]:hover::after,[data-tooltip][data-placement=right]:hover::before{--pico-tooltip-slide-to:translate(0.25rem, -50%);transform:translate(-.75rem,-50%);animation-name:tooltip-slide}[data-tooltip][data-placement=right]:focus::after,[data-tooltip][data-placement=right]:hover::after{--pico-tooltip-caret-slide-to:translate(-0.3rem, -50%);transform:translate(-.05rem,-50%);animation-name:tooltip-caret-slide}}@keyframes tooltip-slide{to{transform:var(--pico-tooltip-slide-to);opacity:1}}@keyframes tooltip-caret-slide{50%{opacity:0}to{transform:var(--pico-tooltip-caret-slide-to);opacity:1}}[aria-controls]{cursor:pointer}[aria-disabled=true],[disabled]{cursor:not-allowed}[aria-hidden=false][hidden]{display:initial}[aria-hidden=false][hidden]:not(:focus){clip:rect(0,0,0,0);position:absolute}[tabindex],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation}[dir=rtl]{direction:rtl}@media (prefers-reduced-motion:reduce){:not([aria-busy=true]),:not([aria-busy=true])::after,:not([aria-busy=true])::before{background-attachment:initial!important;animation-duration:1ms!important;animation-delay:-1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-delay:0s!important;transition-duration:0s!important}}