.)      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()* + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                (C) 2016-2018 David M. Johnson!BSD3-style (see the file LICENSE)'David M. Johnson <djohnson.m@gmail.com> experimental non-portableSafeV%RConcurrent API for SkipChan implementation Create a new (C) 2016-2018 David M. Johnson!BSD3-style (see the file LICENSE)'David M. Johnson <djohnson.m@gmail.com> experimental non-portableSafeQV'(C) 2016-2018 David M. Johnson!BSD3-style (see the file LICENSE)'David M. Johnson <djohnson.m@gmail.com> experimental non-portableSafe;=,}Convenience class for creating   from other string-like types 'String type swappable based on compiler $Convenience function, shorthand for       !  (C) 2016-2018 David M. Johnson!BSD3-style (see the file LICENSE)'David M. Johnson <djohnson.m@gmail.com> experimental non-portableNone6K6$Related to using drop-related events'Options for handling event propagation.Type used for Checkbox events.Type used for Keyboard events.See \https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode#Browser_compatibilityDefault value for . LdefaultOptions = Options { preventDefault = False, stopPropagation = False }Default delegated events  (C) 2016-2018 David M. Johnson!BSD3-style (see the file LICENSE)'David M. Johnson <djohnson.m@gmail.com> experimental non-portableNone"#@ *$Decoder data type for parsing events,FromJSON-based Event decoder-"Location in DOM of where to decode.4Data type for storing the target when parsing events/Decode a single object0Decode multiple objecjects1Smart constructor for building2XEmpty decoder for use with events like "click" that do not return any meaningful values3;Retrieves either "keyCode", "which" or "charCode" field in *4Retrieves "value" field in *5$Retrieves "checked" field in Decoder *+,-./012345 *+,-./012354*+,-./0(C) 2016-2018 David M. Johnson!BSD3-style (see the file LICENSE)'David M. Johnson <djohnson.m@gmail.com> experimental non-portableNoneC*+,-./012345(C) 2016-2018 David M. Johnson!BSD3-style (see the file LICENSE)'David M. Johnson <djohnson.m@gmail.com> experimental non-portableNone"#&'+-3;=FQTV`y$"hDMJ: this used to get set on preventDefault on Options... if options are dynamic now what | Useful for  events6BH Attributes to annotate DOM, converted into Events, Props, Attrs and CSS# Properties9Convert type into Key, ensure ; is unique;Key for specific children patch=Namespace for element creation>HTML Namespace? SVG Namespace@ Convenience class for using ViewBCore type for constructing a E, use this instead of E directly.E"Virtual DOM implemented as a Rose Vectorc. Used for diffing, patching and event delegation. Not meant to be constructed directly, see B instead.H#Element type (i.e. "div", "a", "p")I HTML or SVGJFields present on DOM NodeKKey used for child swap patchL Child nodesMTextNode content$WHelper for turning JSON into Text Object, Array and Null are kind of non-sensical hereNF creationOG creationPConstructs a property on a F", used to set fields on a DOM NodeQFor defining delegated events rlet clickHandler = on "click" emptyDecoder $ \() -> Action in button_ [ clickHandler, class_ "add" ] [ text_ "+" ]R*For defining delegated events with options let clickHandler = onWithOptions defaultOptions "click" emptyDecoder $ \() -> Action in button_ [ clickHandler, class_ "add" ] [ text_ "+" ]S Constructs CSS for a DOM Element Timport qualified Data.Map as M div_ [ style_ $ M.singleton "background" "red" ] [ ] 0https://developer.mozilla.org/en-US/docs/Web/CSS%Convert & to ;'Convert ( to ;)Convert * to ;+Convert , to ;-Convert . to ;/Convert  to ;0Identity instance1 Converting E to Lucid's 234 instance5 Converting B to Lucid's 26Show B7 For constructing type-safe links6879:;<=>?@ABCDEFGHIJKLMNOPQRS "8678#99:;<=>?@ABCDEFGHIJKLM(C) 2016-2018 David M. Johnson!BSD3-style (see the file LICENSE)'David M. Johnson <djohnson.m@gmail.com> experimental non-portableNone}VT Set field to : valueU Set field to . valueV Set field to Text valueW Set field to , valueX Set field to ; valueY Set field to * valueZ%Define multiple classes conditionally /div_ [ classList_ [ ("empty", null items) ] [ ][ Ihttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/title\ Lhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/selected] Jhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/hidden^ Ihttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/value_ Phttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/defaultValue` Jhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/accepta Qhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/acceptCharsetb Jhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/actionc Phttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/autocompleted Lhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/autosavee Lhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/disabledf Khttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/enctypeg Mhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/formationh Hhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/listi Mhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/maxlengthj Mhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/minlengthk Jhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/methodl Lhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/multiplem Nhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/novalidaten Khttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/patterno Lhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/readonlyp Lhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/requiredq Hhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/sizer Ghttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/fors Hhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/formt Ghttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/maxu Ghttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/minv Hhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/stepw Hhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/colsx Hhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/rowsy Hhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/wrapz Jhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/target{ Lhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/download| Nhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/downloadAs} Lhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/hreflang~ Ihttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/media Hhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/ping Ghttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/rel Ihttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/ismap Jhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/usemap Ihttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/shape Jhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/coords Ghttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/src Jhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/height Ihttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/width Ghttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/alt Lhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/autoplay Lhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/controls Hhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/loop Khttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/preload Jhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/poster Khttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/default Hhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/kind Khttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/srclang Khttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/sandbox Lhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/seamless Jhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/srcdoc Lhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/reversed Ihttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/start Ihttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/align Khttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/colspan Khttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/rowspan Khttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/headers Ihttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/scope Ihttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/async Khttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/charset Khttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/content Ihttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/defer Mhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/httpEquiv Lhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/language Jhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/scoped Hhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/type Hhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/name Hhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/href Fhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/id Ohttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/placeholder Khttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/checkedSet "autofocus" property Mhttps://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Attribute/autofocusSet "className" property Bhttps://developer.mozilla.org/en-US/docs/Web/API/Element/classNameVTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~VVUTWXYZ[]^_\`abcdefghijklmnopqrstuvwxyz{|}~(C) 2016-2018 David M. Johnson!BSD3-style (see the file LICENSE)'David M. Johnson <djohnson.m@gmail.com> experimental non-portableNone4hUsed to construct F's in BConstruct a node with a ; =https://developer.mozilla.org/en-US/docs/Web/HTML/Element/div ?https://developer.mozilla.org/en-US/docs/Web/HTML/Element/table ?https://developer.mozilla.org/en-US/docs/Web/HTML/Element/thead ?https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tr <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td ?https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tfoot Ahttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/section @https://developer.mozilla.org/en-US/docs/Web/HTML/Element/header @https://developer.mozilla.org/en-US/docs/Web/HTML/Element/footer @https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button >https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form ;https://developer.mozilla.org/en-US/docs/Web/HTML/Element/p ;https://developer.mozilla.org/en-US/docs/Web/HTML/Element/s <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ul >https://developer.mozilla.org/en-US/docs/Web/HTML/Element/span @https://developer.mozilla.org/en-US/docs/Web/HTML/Element/strong <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/li Contains ;0, inteded to be used for child replacement patch <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/li <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h1 <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h2 <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h3 <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h4 <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h5 <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h6 <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/hr =https://developer.mozilla.org/en-US/docs/Web/HTML/Element/pre ?https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input ?https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label ;https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a >https://developer.mozilla.org/en-US/docs/Web/HTML/Element/mark >https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ruby <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/rt <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/rp =https://developer.mozilla.org/en-US/docs/Web/HTML/Element/bdi =https://developer.mozilla.org/en-US/docs/Web/HTML/Element/bdo =https://developer.mozilla.org/en-US/docs/Web/HTML/Element/wbr Ahttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/details Ahttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/summary Bhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/menuitem >https://developer.mozilla.org/en-US/docs/Web/HTML/Element/menu Bhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/fieldset @https://developer.mozilla.org/en-US/docs/Web/HTML/Element/legend Bhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/datalist Bhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/optgroup @https://developer.mozilla.org/en-US/docs/Web/HTML/Element/keygen @https://developer.mozilla.org/en-US/docs/Web/HTML/Element/output Bhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress ?https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meter @https://developer.mozilla.org/en-US/docs/Web/HTML/Element/center ?https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio ?https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video @https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source ?https://developer.mozilla.org/en-US/docs/Web/HTML/Element/track ?https://developer.mozilla.org/en-US/docs/Web/HTML/Element/embed @https://developer.mozilla.org/en-US/docs/Web/HTML/Element/object ?https://developer.mozilla.org/en-US/docs/Web/HTML/Element/param =https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ins =https://developer.mozilla.org/en-US/docs/Web/HTML/Element/del ?https://developer.mozilla.org/en-US/docs/Web/HTML/Element/small >https://developer.mozilla.org/en-US/docs/Web/HTML/Element/cite =https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dfn >https://developer.mozilla.org/en-US/docs/Web/HTML/Element/abbr >https://developer.mozilla.org/en-US/docs/Web/HTML/Element/time =https://developer.mozilla.org/en-US/docs/Web/HTML/Element/var >https://developer.mozilla.org/en-US/docs/Web/HTML/Element/samp =https://developer.mozilla.org/en-US/docs/Web/HTML/Element/kbd Ahttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/caption Bhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/colgroup =https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col =https://developer.mozilla.org/en-US/docs/Web/HTML/Element/nav Ahttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/article ?https://developer.mozilla.org/en-US/docs/Web/HTML/Element/aside Ahttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/address >https://developer.mozilla.org/en-US/docs/Web/HTML/Element/main >https://developer.mozilla.org/en-US/docs/Web/HTML/Element/body @https://developer.mozilla.org/en-US/docs/Web/HTML/Element/figure Dhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/figcaption <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dl <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dt <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dd =https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img @https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe @https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas >https://developer.mozilla.org/en-US/docs/Web/HTML/Element/math @https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select @https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option Bhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea =https://developer.mozilla.org/en-US/docs/Web/HTML/Element/sub =https://developer.mozilla.org/en-US/docs/Web/HTML/Element/sup <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/br <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/ol  Dhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/blockquote  >https://developer.mozilla.org/en-US/docs/Web/HTML/Element/code  <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/em  ;https://developer.mozilla.org/en-US/docs/Web/HTML/Element/i  ;https://developer.mozilla.org/en-US/docs/Web/HTML/Element/b ;https://developer.mozilla.org/en-US/docs/Web/HTML/Element/u ;https://developer.mozilla.org/en-US/docs/Web/HTML/Element/q @https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script >https://developer.mozilla.org/en-US/docs/Web/HTML/Element/linkh     h     (C) 2016-2018 David M. Johnson!BSD3-style (see the file LICENSE)'David M. Johnson <djohnson.m@gmail.com> experimental non-portableNone-;<=>?CFQTVQblur" event defined with custom options 8https://developer.mozilla.org/en-US/docs/Web/Events/blur :https://developer.mozilla.org/en-US/docs/Web/Events/change 9https://developer.mozilla.org/en-US/docs/Web/Events/click 9https://developer.mozilla.org/en-US/docs/Web/Events/focus <https://developer.mozilla.org/en-US/docs/Web/Events/dblclick 9https://developer.mozilla.org/en-US/docs/Web/Events/input :https://developer.mozilla.org/en-US/docs/Web/Events/change ;https://developer.mozilla.org/en-US/docs/Web/Events/keydown <https://developer.mozilla.org/en-US/docs/Web/Events/keypress 9https://developer.mozilla.org/en-US/docs/Web/Events/keyup ;https://developer.mozilla.org/en-US/docs/Web/Events/mouseup =https://developer.mozilla.org/en-US/docs/Web/Events/mousedown >https://developer.mozilla.org/en-US/docs/Web/Events/mouseenter >https://developer.mozilla.org/en-US/docs/Web/Events/mouseleave  =https://developer.mozilla.org/en-US/docs/Web/Events/mouseover! <https://developer.mozilla.org/en-US/docs/Web/Events/mouseout" =https://developer.mozilla.org/en-US/docs/Web/Events/dragstart# <https://developer.mozilla.org/en-US/docs/Web/Events/dragover$ ;https://developer.mozilla.org/en-US/docs/Web/Events/dragend% =https://developer.mozilla.org/en-US/docs/Web/Events/dragenter& =https://developer.mozilla.org/en-US/docs/Web/Events/dragleave' 8https://developer.mozilla.org/en-US/docs/Web/Events/drag( 8https://developer.mozilla.org/en-US/docs/Web/Events/drop) :https://developer.mozilla.org/en-US/docs/Web/Events/submitQR !"#$%&'()QR !)'&%$"#((C) 2016-2018 David M. Johnson!BSD3-style (see the file LICENSE)'David M. Johnson <djohnson.m@gmail.com> experimental non-portableNoneT6879:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrtuvwxyz{|}~      !"#$%&'()EFGHIJKLMBCD@A678NO;<9:=>?PSQR (C) 2016-2018 David M. Johnson!BSD3-style (see the file LICENSE)'David M. Johnson <djohnson.m@gmail.com> experimental non-portableNone&',-3;<=>?FKQSTVk<This is similar to the  HasServer class from servant-serverE. It is the class responsible for making API combinators routable. =) is used to build up the handler types. >$ is returned, to be interpretted by ?.=A route handler.@!Transform a route handler into a >.>A >9 contains the information necessary to execute a handler.,6When routing, the router may fail to match a location.ARouter terminator. The < instance for B finalizes the router.Example: 4type MyApi = "books" :> Capture "bookId" Int :> ViewA> is used to split the path and query of a URI into components.BUse a handler to route a A . Normally .X should be used instead, unless you want custom handling of string failing to parse as C..4Use a handler to route a location, represented as a .). All handlers must, in the end, return m a. ?+ will choose a route and return its result.?Use a computed > to route a A.D Convert a C to a A.1View2Path3 QueryFlag4 QueryParams5 QueryParam6Capture7 Alternative*+,-./0.,-*+/0*+<=@>EFGHIJK,-ALMN (C) 2016-2018 David M. Johnson!BSD3-style (see the file LICENSE)'David M. Johnson <djohnson.m@gmail.com> experimental non-portableNone> Hhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/accent-height? Ehttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/accelerate@ Ehttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/accumulateA Chttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/additiveB Ehttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/alphabeticC Ghttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/allowReorderD Dhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/amplitudeE Fhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/arabic-formF Ahttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/ascentG Hhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/attributeNameH Hhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/attributeTypeI Fhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/autoReverseJ Bhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/azimuthK Hhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/baseFrequencyL Fhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/baseProfileM ?https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/bboxN @https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/beginO ?https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/biasP =https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/byQ Chttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/calcModeR Ehttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/cap-heightS @https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/classT Hhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/clipPathUnitsU Lhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/contentScriptTypeV Khttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/contentStyleTypeW =https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/cxX =https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/cyY <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/dZ Ehttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/decelerate[ Bhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/descent\ Jhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/diffuseConstant] Bhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/divisor^ >https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/dur_ =https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/dx` =https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/dya Chttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/edgeModeb Dhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/elevationc >https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/endd Chttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/exponente Thttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/externalResourcesRequiredf Dhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/filterResg Fhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/filterUnitsh Ahttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/formati ?https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fromj =https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fxk =https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fyl =https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/g1m =https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/g2n Ehttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/glyph-nameo Chttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/glyphRefp Lhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/gradientTransformq Hhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/gradientUnitsr Bhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/hangings Ahttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/heightt Fhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/horiz-adv-xu Ihttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/horiz-origin-xv Ihttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/horiz-origin-yw =https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/idx Fhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/ideographicy =https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/inz >https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/in2{ Dhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/intercept| <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/k} =https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/k1~ =https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/k2 =https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/k3 =https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/k4 Ghttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/kernelMatrix Khttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/kernelUnitLength Dhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/keyPoints Ehttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/keySplines Chttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/keyTimes ?https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/lang Ghttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/lengthAdjust Lhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/limitingConeAngle @https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/local Ghttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/markerHeight Fhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/markerUnits Fhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/markerWidth Khttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/maskContentUnits Dhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/maskUnits Ghttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/mathematical >https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/max @https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/media Ahttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/method >https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/min ?https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/mode ?https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/name Ehttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/numOctaves Ahttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/offset Chttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/operator @https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/order Ahttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/orient Fhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/orientation Ahttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/origin Lhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/overline-position Mhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/overline-thickness Chttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/panose-1 ?https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/path Ehttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/pathLength Nhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/patternContentUnits Khttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/patternTransform Ghttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/patternUnits Fhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/point-order Ahttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/points Dhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/pointsAtX Dhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/pointsAtY Dhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/pointsAtZ Hhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/preserveAlpha Nhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/preserveAspectRatio Ihttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/primitiveUnits <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/r Ahttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/radius ?https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/refX ?https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/refY Khttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/rendering-intent Fhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/repeatCount Dhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/repeatDur Mhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/requiredExtensions Khttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/requiredFeatures Bhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/restart Ahttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/result Ahttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/rotate =https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/rx =https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/ry @https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/scale ?https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/seed @https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/slope Bhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/spacing Khttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/specularConstant Khttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/specularExponent @https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/speed Ghttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/spreadMethod Fhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/startOffset Ghttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stdDeviation @https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stemh @https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stemv Fhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stitchTiles Qhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/strikethrough-position Rhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/strikethrough-thickness Ahttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/string @https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/style Ghttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/surfaceScale Ihttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/systemLanguage Fhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/tableValues Ahttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/target Bhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/targetX Bhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/targetY Ehttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/textLength @https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/title =https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/to Dhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/transform ?https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/type =https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/u1 =https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/u2 Mhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/underline-position Nhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/underline-thickness Bhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/unicode Hhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/unicode-range Ghttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/units-per-em Ghttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/v-alphabetic Dhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/v-hanging Hhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/v-ideographic Ihttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/v-mathematical Ahttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/values Bhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/version Ehttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/vert-adv-y Hhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/vert-origin-x Hhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/vert-origin-y Bhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewBox Ehttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/viewTarget @https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/width Ahttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/widths <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/x Chttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/x-height =https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/x1 =https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/x2 Khttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xChannelSelector Ghttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xlinkActuate Ghttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xlinkArcrole Dhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xlinkHref Dhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xlinkRole Dhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xlinkShow Ehttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xlinkTitle Dhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xlinkType Bhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xmlBase Bhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xmlLang Chttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xmlSpace <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/y =https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/y1 =https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/y2 Khttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/yChannelSelector <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/z Ehttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/zoomAndPan Mhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/alignment-baseline Ihttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/baseline-shift Dhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/clip-path Dhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/clip-rule ?https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/clip Vhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/color-interpolation-filters Nhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/color-interpolation Hhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/color-profile Jhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/color-rendering  @https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/color  Ahttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/cursor  Dhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/direction  Bhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/display  Lhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/dominant-baseline Lhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/enable-background Ghttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-opacity Dhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill-rule ?https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/fill Ahttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/filter Fhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/flood-color Hhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/flood-opacity Fhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/font-family Khttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/font-size-adjust Dhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/font-size Ghttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/font-stretch Ehttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/font-style Ghttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/font-variant Fhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/font-weight Whttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/glyph-orientation-horizontal Uhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/glyph-orientation-vertical Jhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/image-rendering Bhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/kerning  Ihttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/letter-spacing! Ihttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/lighting-color" Ehttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/marker-end# Ehttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/marker-mid$ Ghttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/marker-start% ?https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/mask& Bhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/opacity' Chttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/overflow( Ihttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/pointer-events) Jhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/shape-rendering* Ehttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stop-color+ Ghttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stop-opacity, Khttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-dasharray- Lhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-dashoffset. Ihttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-linecap/ Jhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-linejoin0 Lhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-miterlimit1 Ihttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-opacity2 Ghttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-width3 Ahttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke4 Fhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/text-anchor5 Jhttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/text-decoration6 Ihttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/text-rendering7 Ghttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/unicode-bidi8 Ehttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/visibility9 Ghttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/word-spacing: Ghttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/writing-mode>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789: (C) 2016-2018 David M. Johnson!BSD3-style (see the file LICENSE)'David M. Johnson <djohnson.m@gmail.com> experimental non-portableNoneQOUsed to construct a F with namespace "svg" Adocument.createElementNS('http://www.w3.org/2000/svg', 'circle');;Creates an svg tag< Fhttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/foreignObject= ?https://developer.mozilla.org/en-US/docs/Web/SVG/Element/circle> Bhttps__://developer.mozilla.org/en-US/docs/Web/SVG/Element/ellipse? >https://developer.mozilla.org/en-US/docs/Web/SVG/Element/image@ >https://developer.mozilla.org/en-US/docs/Web/SVG/Element/imageA =https://developer.mozilla.org/en-US/docs/Web/SVG/Element/pathB @https://developer.mozilla.org/en-US/docs/Web/SVG/Element/polygonC Ahttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/polylineD =https://developer.mozilla.org/en-US/docs/Web/SVG/Element/rectE <https://developer.mozilla.org/en-US/docs/Web/SVG/Element/useF @https://developer.mozilla.org/en-US/docs/Web/SVG/Element/animateG Ehttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/animateColorH Fhttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/animateMotionI Fhttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/animateMotionJ >https://developer.mozilla.org/en-US/docs/Web/SVG/Element/mpathK <https://developer.mozilla.org/en-US/docs/Web/SVG/Element/setL =https://developer.mozilla.org/en-US/docs/Web/SVG/Element/descM Ahttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/metadataN >https://developer.mozilla.org/en-US/docs/Web/SVG/Element/titleO :https://developer.mozilla.org/en-US/docs/Web/SVG/Element/aP =https://developer.mozilla.org/en-US/docs/Web/SVG/Element/defsQ :https://developer.mozilla.org/en-US/docs/Web/SVG/Element/gR ?https://developer.mozilla.org/en-US/docs/Web/SVG/Element/markerS =https://developer.mozilla.org/en-US/docs/Web/SVG/Element/maskT Ehttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/missingGlyphU @https://developer.mozilla.org/en-US/docs/Web/SVG/Element/patternV ?https://developer.mozilla.org/en-US/docs/Web/SVG/Element/switchW ?https://developer.mozilla.org/en-US/docs/Web/SVG/Element/symbolX Ahttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/altGlyphY Dhttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/altGlyphDefZ Ehttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/altGlyphItem[ >https://developer.mozilla.org/en-US/docs/Web/SVG/Element/glyph\ Ahttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/glyphRef] Ahttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/glyphRef^ =https://developer.mozilla.org/en-US/docs/Web/SVG/Element/text_ =https://developer.mozilla.org/en-US/docs/Web/SVG/Element/tref` >https://developer.mozilla.org/en-US/docs/Web/SVG/Element/tspana =https://developer.mozilla.org/en-US/docs/Web/SVG/Element/fontb Bhttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/font-facec Ihttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/font-face-formatd Ghttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/font-face-namee Fhttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/font-face-srcf Fhttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/font-face-urig >https://developer.mozilla.org/en-US/docs/Web/SVG/Element/hkernh >https://developer.mozilla.org/en-US/docs/Web/SVG/Element/vkerni Ghttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/linearGradientj Ghttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/radialGradientk =https://developer.mozilla.org/en-US/docs/Web/SVG/Element/stopl @https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feBlendm Fhttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/feColorMatrixn Lhttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/feComponentTransfero Dhttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/feCompositep Ihttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/feConvolveMatrixq Jhttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/feDiffuseLightingr Jhttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/feDisplacementMaps @https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFloodt @https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncAu @https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncBv @https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncGw @https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feFuncRx Ghttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/feGaussianBlury @https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feImagez @https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feMerge{ Dhttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/feMergeNode| Ehttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/feMorhpology} Ahttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/feOffset~ Khttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/feSpecularLighting ?https://developer.mozilla.org/en-US/docs/Web/SVG/Element/feTile Ehttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/feTurbulence Ghttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/feDistantLight Ehttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/fePointLight Dhttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/feSpotLight Ahttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/clipPath Fhttps://developer.mozilla.org/en-US/docs/Web/SVG/Element/color-profile ?https://developer.mozilla.org/en-US/docs/Web/SVG/Element/cursor ?https://developer.mozilla.org/en-US/docs/Web/SVG/Element/filter ?https://developer.mozilla.org/en-US/docs/Web/SVG/Element/script >https://developer.mozilla.org/en-US/docs/Web/SVG/Element/style =https://developer.mozilla.org/en-US/docs/Web/SVG/Element/viewP;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~P;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ (C) 2016-2018 David M. Johnson!BSD3-style (see the file LICENSE)'David M. Johnson <djohnson.m@gmail.com> experimental non-portableNone -;=>?FTu onBegin event onEnd eventonRepeat event onAbort event onError eventonResize eventonScroll event onLoad eventonUnload event onZoom eventonActivate eventonFocusIn eventonFocusOut eventonMouseDown eventonMouseMove eventonMouseOut eventonMouseOver eventonMouseUp event(C) 2016-2018 David M. Johnson!BSD3-style (see the file LICENSE)'David M. Johnson <djohnson.m@gmail.com> experimental non-portableNoneBW>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnpqrstuvwxyz{|}~     !"#$&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ None,-FST6Convert client route type to a server web handler type(C) 2016-2018 David M. Johnson!BSD3-style (see the file LICENSE)'David M. Johnson <djohnson.m@gmail.com> experimental non-portableNone"#-FV]g*+,-./0123456879:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrtuvwxyz{|}~      !"#$%&'()*+,-./0P !"##$$%&''(()*+,-./01234567899:;<<=>?@ABCDEFGHHIJKLMNNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~~      !"#$%&'()*+,-./0123 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                           v                                                       ^       f                                                                              ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?  @ A B C D E F G H I J K f L M N $ O y P Q R S T U y V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { |      ^ } ~             '  + * &        # !"#$%&'#()*+ , - . / 0 1 2345 6 7 8 9 : ; < = 1 > ? @A$miso-0.13.0.0-7itwuVrXufCKGDWzVuViLq Miso.Lens Miso.StringMiso.Event.TypesMiso.Event.Decoder Miso.HtmlMiso.Html.EventMiso.Html.PropertyMiso.Html.Element Miso.RouterMiso.Svg.AttributeMiso.Svg.ElementMiso.Svg.EventMiso.TypeLevelMiso.Concurrent Miso.EventMiso.Html.InternalMiso.SvgMisoGettingLens'LensgetsetmakeLens ToMisoString toMisoStringfromMisoString MisoStringms$fToMisoStringByteString$fToMisoStringByteString0$fToMisoStringText$fToMisoString[]$fToMisoStringText0 AllowDropOptionspreventDefaultstopPropagationCheckedKeyCodedefaultOptions defaultEvents $fShowKeyCode $fEqKeyCode $fOrdKeyCode$fFromJSONKeyCode $fShowChecked $fEqChecked $fOrdChecked$fFromJSONChecked $fShowOptions $fEqOptions$fGenericOptions$fShowAllowDrop $fEqAllowDrop$fFromJSONAllowDropDecoderdecoderdecodeAt DecodeTarget DecodeTargetsat emptyDecoderkeycodeDecoder valueDecodercheckedDecoder AttributePEToKeytoKeyKeyNSHTMLSVGToViewtoViewViewrunViewVTreeVNodeVTextvTypevNsvPropsvKey vChildrenvTextnodetextpropon onWithOptionsstyle_boolProp stringProptextPropintProp integerProp doubleProp classList_title_ selected_hidden_value_ defaultValue_accept_acceptCharset_action_ autocomplete_ autosave_ disabled_enctype_ formation_list_ maxlength_ minlength_method_ multiple_ novalidate_pattern_ readonly_ required_size_for_form_max_min_step_cols_rows_wrap_target_ download_ downloadAs_ hreflang_media_ping_rel_ismap_usemap_shape_coords_src_height_width_alt_ autoplay_ controls_loop_preload_poster_default_kind_srclang_sandbox_ seamless_srcdoc_ reversed_start_align_colspan_rowspan_headers_scope_async_charset_content_defer_ httpEquiv_ language_scoped_type_name_href_id_ placeholder_checked_ autofocus_class_nodeHtml nodeHtmlKeyeddiv_table_thead_tbody_tr_th_td_tfoot_section_header_footer_button_p_s_ul_span_strong_li_liKeyed_h1_h2_h3_h4_h5_h6_hr_pre_input_label_a_mark_ruby_rt_rp_bdi_bdo_wbr_details_summary_ menuitem_menu_ fieldset_legend_ datalist_ optgroup_keygen_output_ progress_meter_center_audio_video_source_track_embed_object_param_ins_del_small_cite_dfn_abbr_time_var_samp_kbd_caption_ colgroup_col_nav_article_aside_address_main_body_figure_ figcaption_dl_dt_dd_img_iframe_canvas_math_select_option_ textarea_sub_sup_br_ol_ blockquote_code_em_i_b_u_q_script_link_onBlur onCheckedonClickonFocus onDoubleClickonInputonChange onKeyDown onKeyPressonKeyUp onMouseUp onMouseDown onMouseEnter onMouseLeave onMouseOver onMouseOut onDragStart onDragOver onDragEnd onDragEnter onDragLeaveonDragonDroponSubmitHasURIlensURI RoutingErrorFailrunRoutegetURIsetURI$fHasRouterTYPEmView$fHasRouterTYPEm:>$fHasRouterTYPEm:>0$fHasRouterTYPEm:>1$fHasRouterTYPEm:>2$fHasRouterTYPEm:>3$fHasRouterTYPEm:<|>$fShowLocation $fEqLocation $fOrdLocation$fShowRoutingError$fEqRoutingError$fOrdRoutingError accentHeight_ accelerate_ accumulate_ additive_ alphabetic_ allowReorder_ amplitude_ arabicForm_ascent_attributeName_attributeType_ autoReverse_azimuth_baseFrequency_ baseProfile_bbox_begin_bias_by_ calcMode_ capHeight_class_'clipPathUnits_contentScriptType_contentStyleType_cx_cy_d_ decelerate_descent_diffuseConstant_divisor_dur_dx_dy_ edgeMode_ elevation_end_ exponent_externalResourcesRequired_ filterRes_ filterUnits_format_from_fx_fy_g1_g2_ glyphName_ glyphRef_gradientTransform_gradientUnits_hanging_ horizAdvX_ horizOriginX_ horizOriginY_ ideographic_in_'in2_ intercept_k_k1_k2_k3_k4_ kernelMatrix_kernelUnitLength_ keyPoints_ keySplines_ keyTimes_lang_ lengthAdjust_limitingConeAngle_local_ markerHeight_ markerUnits_ markerWidth_maskContentUnits_ maskUnits_ mathematical_mode_ numOctaves_offset_ operator_order_orient_ orientation_origin_overlinePosition_overlineThickness_panose1_path_ pathLength_patternContentUnits_patternTransform_ patternUnits_ pointOrder_points_ pointsAtX_ pointsAtY_ pointsAtZ_preserveAlpha_preserveAspectRatio_primitiveUnits_r_radius_refX_refY_renderingIntent_ repeatCount_ repeatDur_requiredExtensions_requiredFeatures_restart_result_rotate_rx_ry_scale_seed_slope_spacing_specularConstant_specularExponent_speed_ spreadMethod_ startOffset_ stdDeviation_stemh_stemv_ stitchTiles_strikethroughPosition_strikethroughThickness_string_ surfaceScale_systemLanguage_ tableValues_targetX_targetY_ textLength_to_ transform_type_'u1_u2_underlinePosition_underlineThickness_unicode_ unicodeRange_ unitsPerEm_ vAlphabetic_ vHanging_ vIdeographic_vMathematical_values_version_ vertAdvY_ vertOriginX_ vertOriginY_viewBox_ viewTarget_widths_x_xHeight_x1_x2_xChannelSelector_ xlinkActuate_ xlinkArcrole_ xlinkHref_ xlinkRole_ xlinkShow_ xlinkTitle_ xlinkType_xmlBase_xmlLang_ xmlSpace_y_y1_y2_yChannelSelector_z_ zoomAndPan_alignmentBaseline_baselineShift_ clipPath_ clipRule_clip_colorInterpolationFilters_colorInterpolation_ colorProfile_colorRendering_color_cursor_ direction_display_dominantBaseline_enableBackground_ fillOpacity_ fillRule_fill_filter_ floodColor_ floodOpacity_ fontFamily_fontSizeAdjust_ fontSize_ fontStretch_ fontStyle_ fontVariant_ fontWeight_glyphOrientationHorizontal_glyphOrientationVertical_imageRendering_kerning_letterSpacing_lightingColor_ markerEnd_ markerMid_ markerStart_mask_opacity_ overflow_pointerEvents_shapeRendering_ stopColor_ stopOpacity_strokeDasharray_strokeDashoffset_strokeLinecap_strokeLinejoin_strokeMiterlimit_strokeOpacity_ strokeWidth_stroke_ textAnchor_textDecoration_textRendering_ unicodeBidi_ visibility_ wordSpacing_ writingMode_svg_foreignObject_circle_ellipse_image_line_polygon_ polyline_rect_use_animate_ animateColor_animateMotion_animateTransform_mpath_set_desc_ metadata_defs_g_marker_ missingGlyph_switch_symbol_ altGlyph_ altGlyphDef_ altGlyphItem_glyph_ textPath_text_tref_tspan_font_ fontFace_fontFaceFormat_ fontFaceName_ fontFaceSrc_ fontFaceUri_hkern_vkern_linearGradient_radialGradient_stop_feBlend_feColorMatrix_feComponentTransfer_ feComposite_feConvolveMatrix_feDiffuseLighting_feDisplacementMap_feFlood_feFuncA_feFuncB_feFuncG_feFuncR_feGaussianBlur_feImage_feMerge_ feMergeNode_ feMorhpology_ feOffset_feSpecularLighting_feTile_ feTurbulence_feDistantLight_ fePointLight_ feSpotLight_view_onBeginonEndonRepeatonAbortonErroronResizeonScrollonLoadonUnloadonZoom onActivate onFocusIn onFocusOut onMouseMoveToServerRoutesNotify newNotifywaitnotifybaseGHC.BaseMonoidmemptymappendmconcat Data.Monoid<>#text-1.2.2.2-EakMpasry3jA6OIwSZhq9MData.Text.InternalTextemptyDualgetDualEndoappEndoAllgetAllAnygetAnySumgetSumProduct getProductFirstgetFirstLastgetLastAltgetAlt Data.Textcopy stripSuffixcommonPrefixes stripPrefix isInfixOf isSuffixOf isPrefixOfunwordsunlineslineswordszipWithzipcount findIndexindex breakOnAll breakOnEndbreakOnfilter partitionfindchunksOfsplitsplitOntailsinitsgroupgroupBybreakspansplitAtstripstripEnd stripStart dropAround dropWhileEnd dropWhile takeWhileEnd takeWhiledropEnddroptakeEndtakeunfoldrNunfoldr replicate mapAccumR mapAccumLscanr1scanrscanl1scanlminimummaximumallany concatMapconcatfoldr1foldrfoldl1'foldl1foldl'foldl transposecenter justifyRight justifyLefttoTitletoUppertoLower toCaseFoldreplacereverse intersperse intercalatemap compareLengthlengthnullinittaillastunconsheadappendsnocconspackData.Text.Show singletonunpackCString#unpackPropstoHtmlFromJSON $fToKeyWordghc-prim GHC.TypesWord $fToKeyFloatFloat $fToKeyDoubleDouble $fToKeyIntInt $fToKey[]String $fToKeyText $fToKeyKey $fToHtmlVTree!lucid-2.9.9-1NdA8Yi4twl2Y6IaNCMZL Lucid.BaseHtml$fIsStringView Data.StringIsString $fToHtmlView $fShowView$fHasLinkTYPEViewBool integer-gmpGHC.Integer.TypeInteger HasRouterRouteTRouterrouteLocrouteLocation runRouteLoc)network-uri-2.6.1.0-RmiO7Es4EVIxdXQfHHaUt Network.URIURI uriToLocationRChoiceRCapture RQueryParam RQueryParams RQueryFlagRPathRPagelocPathlocQuerynodeSvg_