!      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~6A set of utility methods to encode and decode strings.hapytexeu+gh@gmail.com experimentalPOSIXSafe- css-selectorsYParses a css string literal to a string that ontains the content of that string literal. css-selectors>Parse a given css identifier to the content of the identifier. css-selectorsConvert a string to a css selector string literal. This is done by putting quotes around the content, and escaping certain characters. css-selectorsConvert a string to a css selector string literal. This is done by putting quotes around the content, and escaping certain characters. css-selectorsYEncode a given identifier to its css selector equivalent by escaping certain characters. css-selectorsACheck if the given identifier is a valid css selector identifier. css-selectorsConvert the given string to a given object by first checking if it is a valid identifier, and if not raising an error. If it is a valid identifier, the string is packed, and wrapped in the given function. css-selectors@The string that contains the string literal in the css selector. css-selectors9A string that contains the content of the string literal. css-selectors"The given css identifier to parse. css-selectors9The result of the parsing: the content of the identifier. css-selectorsDThe type of quotes that should be put around the content (should be ' or "). css-selectorsEThe string that should be converted to a css selector string literal. css-selectors.The corresponding css selector string literal. css-selectorsDThe type of quotes that should be put around the content (should be ' or "). css-selectorsEThe string that should be converted to a css selector string literal. css-selectors.The corresponding css selector string literal. css-selectorsThe identifier to encode. css-selectorsThe encoded identifier. css-selectorsThe given identifier to check. css-selectors# if the given identifier is valid,  otherwise. css-selectorsThe given function to wrap the  identifier to an object. css-selectors9The string to validate, and wrap into the given function. css-selectors;The identifier object to return if the identifier is valid.NoneF/L css-selectorsBEncode a Haskell String to a list of Word8 values, in UTF8 format.UA module where we define the tree of types to represent and maniplate a css selector.hapytexeu+gh@gmail.com experimentalPOSIXNone2HVgJ css-selectorsiA css hash (used to match an element with a given id). The type only wraps the hash name, not the hash (# ) prefix.  css-selectorsObtain the name from the hash.  css-selectorseA css class, this is wrapped in a data type. The type only wraps the class name, not the dot prefix.  css-selectorsObtain the name from the class.  css-selectorsNThe possible ways to match an attribute with a given value in a css selector. css-selectors?The attribute has exactly the value of the value, denoted with = in css. css-selectorsfThe attribute has a whitespace separated list of items, one of these items is the value, denoted with ~= in css. css-selectors^The attribute has a hyphen separated list of items, the first item is the value, denoted with |= in css. css-selectorsBThe value is a prefix of the value in the attribute, denoted with ^= in css. css-selectorsBThe value is a suffix of the value in the attribute, denoted with $= in css. css-selectorsEThe value is a substring of the value in the attribute, denoted with *= in css. css-selectorsWe use ) as the type to store an attribute value. css-selectors\An attribute name is a name that optionally has a namespace, and the name of the attribute. css-selectors?The namespace to which the attribute name belongs. This can be ! as well. css-selectors5The name of the attribute over which we make a claim. css-selectorsA typeselector is a combination of a selector for a namespace, and a selector for an element name. One, or both can be a wildcard. css-selectorsThe selector for the namespace. css-selectors"The selector for the element name. css-selectors@The element name of a css selector tag. The element name can be A (all possible tag names), or an element name with a given text. css-selectorsYA typeselector part that specifies that we accept all element names, in css denoted with *. css-selectorsIA typeselector part that specifies that we accept a certain element name.  css-selectors:The namespace of a css selector tag. The namespace can be !X (all possible namespaces), or a namespace with a given text (this text can be empty).! css-selectorsVA typeselector part that specifies that we accept all namespaces, in css denoted with *." css-selectorsJA typselector part that specifies that we accept a certain namespace name.# css-selectorsA css attribute can come in two flavors: either a constraint that the attribute should exists, or a constraint that a certain attribute should have a certain value (prefix, suffix, etc.).$ css-selectorsA constraint that the given  should exist.% css-selectors7A constraint about the value associated with the given .& css-selectorspA type that sums up the different ways to filter a type selector: with an id (hash), a class, and an attribute.' css-selectorsA  object as filter.( css-selectorsA   object as filter.) css-selectorsAn # object as filter.* css-selectorsA * is a  (that can be @!) followed by zero, one or more &9s these filter the selector further, for example with a , a  , or an #.+ css-selectors Convert a  into a +., css-selectorsApply an additional & to the *.- css-selectors2A type that contains the possible ways to combine *s.. css-selectorsMThe second tag is a descendant of the first one, denoted in css with a space./ css-selectorsFThe second tag is the (direct) child of the first one, denoted with a > in css.0 css-selectorsEThe second tag is directly preceded by the first one, denoted with a + in css.1 css-selectors<The second tag is preceded by the first one, denoted with a ~ in css.2 css-selectors5The type of a single selector. This is a sequence of *s that are combined with a -.3 css-selectorsConvert a given * to a 2.4 css-selectors+Create a combined selector where we have a * that is combined with a given - to a 2.5 css-selectorsNThe root type of a css selector. This is a comma-separated list of selectors.7 css-selectorsUnwrap the given  list of 2 s from the 5 object.8 css-selectorsrA class that defines that the given type can be converted to a css selector value, and has a certain specificity.9 css-selectorsConvert the given element to a ( object that contains the css selector.: css-selectorsLift the given 8 type object to a 5:, which is the "root type" of the css selector hierarchy.; css-selectors=Calculate the specificity of the css selector by returing a > object.> css-selectorszA datastructure that specifies the selectivity of a css selector. The specificity is calculated based on three integers: a, b and c.#The specificity is calculated with  100*a+10*b+c where a, b and c- count certain elements of the css selector.? css-selectors Create a > object with a given value for a, b, and c.@ css-selectorsThe universal type selector: a selector that matches all types in all namespaces (including the empty namespace). This pattern is bidirectional and thus can be used in expressions as well.A css-selectorsThe empty namespace. This is not the wildcard namespace (*R). This is a bidirectional namespace and can thus be used in expressions as well.B css-selectors'Calculate the specificity value of the >C css-selectorsCalculate the specificity of a 8/ type object. This is done by calculating the >8 object, and then calculating the value of that object.D css-selectors Convert the -3 to the equivalent css selector text. A space for ., a > for /, a + for 0 , and a ~ for 1E css-selectors Combines two 2s with the given -.F css-selectors Combines two 2 s with the / combinator.G css-selectors Combines two 2 s with the 0 combinator.H css-selectors Combines two 2 s with the 1 combinator.I css-selectorsAdd a given list of &s to the given *). The filters are applied left-to-right.J css-selectorsAn infix variant of the I function.K css-selectors9Obtain the list of filters that are applied in the given * in reversed order.L css-selectors:Obtain the list of filters that are applied in the given *.M css-selectorsA flipped version of the #G data constructor, where one first specifies the conbinator, then the  and finally the value.N css-selectors Create an # where the given 0 is constrainted to be exactly the given value.O css-selectors Create an # where the given x is constrainted such that the attribute is a whitespace seperated list of items, and the value is one of these items.P css-selectors Create an # where the given x is constrainted such that the attribute is a dash seperated list of items, and the value is the first of these items.Q css-selectors Create an # where the given B is constrainted such that the attribute has as prefix the given .R css-selectors Create an # where the given B is constrainted such that the attribute has as suffix the given .S css-selectors Create an # where the given E is constrainted such that the attribute has as substring the given .T css-selectorsFilter a given * with a given .U css-selectorsFilter a given * with a given  .V css-selectors Construct a  with a given   and .W css-selectorsConvert the given  ! to its css selector counterpart.9 css-selectors9The given object for which we calculate the css selector. css-selectors+The css selector text for the given object.: css-selectorsThe item to lift to a 5 css-selectorsThe value of a 5+ of which the object is the selective part.; css-selectors6The item for which we calculate the specificity level. css-selectors<The specificity level of the given item. Convert the given 8 item to a 0 pattern, such that we can use it in functions.< css-selectorsThe item to convert to a . css-selectorsgThe pattern that is generated that will match only items equal to the given object. Convert the given 8@ item to an item in a more normalized form. A normalization is  idempotentN: applying this multiple times will have the same effect as applying it once.= css-selectorsThe item to normalize. css-selectorsiA normalized variant of the given item. This will filter the same objects, and have the same specificity.B css-selectorsThe >) to calculate the specificity value from. css-selectorsThe specificity level of the >H. If the value is higher, the rules in the css selector take precedence.C css-selectors1The object for which we evaluate the specificity. css-selectorsThe specificity level as an  value.D css-selectors The given - to retrieve the css token for. css-selectors2The css selector token that is used for the given -.E css-selectorsThe -! that is applied between the two 2s. css-selectors The left 2. css-selectors The right 2. css-selectorsA 2# that is a combination of the left 2 and the right 2 with the given -.F css-selectors The left 2. css-selectors The right 2. css-selectors/A selector that is the combination of the left 2 and the right 2 through /.G css-selectors The left 2. css-selectors The right 2. css-selectors/A selector that is the combination of the left 2 and the right 2 through 0.H css-selectors The left 2. css-selectors The right 2. css-selectors/A selector that is the combination of the left 2 and the right 2 through 1.I css-selectorsThe * to apply the filter on. css-selectors The list of &s to apply on the *. css-selectors A modified * where we applied the list of &s.J css-selectorsThe * to apply the filter on. css-selectors The list of &s to apply on the *. css-selectors A modified * where we applied the list of &s.K css-selectors The given * to analyze. css-selectorsThe given list of & s applied in reversed order, this can be empty.L css-selectors The given * to analyze. css-selectorsThe given list of &s applied, this can be empty.M css-selectorsThe  H that specifies the required relation between the attribute and a value. css-selectors#The name of an attribute to filter. css-selectors%The value of the attribute to filter. css-selectorsThe result is an ## object that will filter the given  with the given  .N css-selectors(The name of the attribute to constraint. css-selectors)The value that constraints the attribute. css-selectorsThe #3 object we construct with the given name and value.O css-selectors(The name of the attribute to constraint. css-selectors)The value that constraints the attribute. css-selectorsThe #3 object we construct with the given name and value.P css-selectors(The name of the attribute to constraint. css-selectors)The value that constraints the attribute. css-selectorsThe #3 object we construct with the given name and value.Q css-selectors(The name of the attribute to constraint. css-selectors)The value that constraints the attribute. css-selectorsThe #3 object we construct with the given name and value.R css-selectors(The name of the attribute to constraint. css-selectors)The value that constraints the attribute. css-selectorsThe #3 object we construct with the given name and value.S css-selectors(The name of the attribute to constraint. css-selectors)The value that constraints the attribute. css-selectorsThe #3 object we construct with the given name and value.T css-selectors The given * to filter. css-selectors The given  to filter the * further. css-selectorsA *. that is filtered additionally with the given .U css-selectors&The given 'SelectorSequence to filter. css-selectors The given   to filter the * further. css-selectorsA *. that is filtered additionally with the given  .V css-selectorsThe   for the . css-selectorsThe  for the . css-selectorsA  object constructed with the   and .W css-selectorsThe  9 for which we obtain the corresponding css selector text. css-selectors$The css selector text for the given  .Q  "!#%$&'()*+,-./012345678=<9:;>?@ABCDEFGHIJKLMNOPQRSTUVWQ8=<9:;234-./01567*+,DEFGH&'()LKIJ "!A@V#%$ NOPQRSMW U T>?CBNone=?Fh      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~9 9 HA module that defines a quasiquoter to parse a string to a css selector.hapytexeu+gh@gmail.com experimentalPOSIXNone css-selectorsParse the string to a 5. css-selectors.A quasiquoter that can be used to construct a 5v for the given css selector. In case the css selector is invalid. A compiler error will be thrown (at compile time). css-selectorsaA quasiquoter that takes the content from the file, and then runs the content of that file as a  quasiquote. css-selectorsThe string to be parsed to a 5 css-selectors6The selectorgroup that is the equivalent of the given .Css selectors in Haskell.hapytexeu+gh@gmail.com experimentalPOSIXNoneR[  "!#%$&'()*+,-./012345678=<9:;>?@ABCDEFGHIJKLMNOPQRSTUVW      ! "#"$%$&'()*+,-./012234456789:;<<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~,css-selectors-0.2.0.0-2pq44YDdQBJFkL0vne21XyCss.Selector.UtilsCss.Selector.CoreCss.Selector.QuasiQuotersCss.Selector.LexerCss.Selector.Parser Css.Selector readCssStringreadIdentifier encodeString encodeTextencodeIdentifierisValidIdentifier toIdentifierHashunHashClassunClassAttributeCombinatorExactInclude DashMatch PrefixMatch SuffixMatchSubstringMatchAttributeValue AttributeNameattributeNamespace attributeName TypeSelectorselectorNamespace elementName ElementNameEAny NamespaceNAnyAttribExistSelectorFilterSHashSClassSAttribSelectorSequenceSimpleSelectorFilterSelectorCombinator DescendantChildDirectlyPrecededPrecededSelectorCombined SelectorGroupunSelectorGroup ToCssSelector toCssSelectortoSelectorGroup specificity' toPattern normalizeSelectorSpecificity UniversalNEmptyspecificityValue specificitycombinatorTextcombine.>.+.~ addFilters.:filters'filtersattrib.=.~=.|=.^=.$=.*=.#....|attributeCombinatorText$fDefaultSelectorSpecificity$fOrdSelectorSpecificity$fEqSelectorSpecificity$fMonoidSelectorSpecificity$fSemigroupSelectorSpecificity$fArbitrarySelectorCombinator$fLiftSelectorCombinator$fDefaultSelectorCombinator$fArbitraryNamespace$fDefaultNamespace$fIsStringNamespace$fMonoidNamespace$fSemigroupNamespace$fArbitraryElementName$fDefaultElementName$fIsStringElementName$fMonoidElementName$fSemigroupElementName$fArbitraryTypeSelector$fDefaultTypeSelector$fArbitraryAttributeName$fIsStringAttributeName$fArbitraryAttributeCombinator$fDefaultAttributeCombinator$fArbitraryAttrib$fToJSONAttrib$fToJavascriptAttrib$fToMarkupAttrib $fLiftAttrib$fIsStringAttrib$fArbitraryClass$fIsStringClass$fArbitraryHash$fIsStringHash$fArbitrarySelectorFilter$fToJSONSelectorFilter$fToJavascriptSelectorFilter$fToMarkupSelectorFilter$fLiftSelectorFilter$fArbitrarySelectorSequence$fToJSONSelectorSequence$fToJavascriptSelectorSequence$fToMarkupSelectorSequence$fLiftSelectorSequence$fDefaultSelectorSequence$fArbitrarySelector$fToJSONSelector$fToJavascriptSelector$fToMarkupSelector$fLiftSelector$fDefaultSelector$fSemigroupSelector$fArbitrarySelectorGroup$fToJSONSelectorGroup$fToJavascriptSelectorGroup$fToMarkupSelectorGroup$fLiftSelectorGroup$fDefaultSelectorGroup$fIsListSelectorGroup$fSemigroupSelectorGroup$fToCssSelectorSelector$fToCssSelectorSelectorFilter$fToCssSelectorElementName$fToCssSelectorTypeSelector$fToCssSelectorSelectorSequence$fToCssSelectorNamespace$fToCssSelectorHash$fToCssSelectorAttributeName$fToCssSelectorAttrib$fToCssSelectorClass$fToCssSelectorSelectorGroup$fDataSelectorSpecificity$fShowSelectorSpecificity$fBoundedSelectorCombinator$fDataSelectorCombinator$fEnumSelectorCombinator$fEqSelectorCombinator$fOrdSelectorCombinator$fReadSelectorCombinator$fShowSelectorCombinator$fDataNamespace $fEqNamespace$fOrdNamespace$fShowNamespace$fDataElementName$fEqElementName$fOrdElementName$fShowElementName$fDataTypeSelector$fEqTypeSelector$fOrdTypeSelector$fShowTypeSelector$fDataAttributeName$fEqAttributeName$fOrdAttributeName$fShowAttributeName$fBoundedAttributeCombinator$fDataAttributeCombinator$fEnumAttributeCombinator$fEqAttributeCombinator$fOrdAttributeCombinator$fReadAttributeCombinator$fShowAttributeCombinator $fDataAttrib $fEqAttrib $fOrdAttrib $fShowAttrib $fDataClass $fEqClass $fOrdClass $fShowClass $fDataHash$fEqHash $fOrdHash $fShowHash$fDataSelectorFilter$fEqSelectorFilter$fOrdSelectorFilter$fShowSelectorFilter$fDataSelectorSequence$fEqSelectorSequence$fOrdSelectorSequence$fShowSelectorSequence$fDataSelector $fEqSelector $fOrdSelector$fShowSelector$fDataSelectorGroup$fEqSelectorGroup$fOrdSelectorGroup$fShowSelectorGroupparseCsscsssel cssselFileghc-prim GHC.TypesTrueFalse text-1.2.3.1Data.Text.InternalText utf8EncodeTokenDecimalIntegerStringSpaceIdent TIncludesTEqual TDashMatch TPrefixMatch TSuffixMatchTSubstringMatchTHashCommaPlusGreaterTildeDotPipeAsteriskBOpenBCloseTokenLoctokenlocationoriginalAlexPosnAlexPnalexScanTokensbaseGHC.BaseNonEmptytemplate-haskellLanguage.Haskell.TH.SyntaxPatInt HappyAddrHappyA#HappyStk Happy_IntList HappyCons HappyIdentityHappyAny HappyAbsSynhappyIn4 happyOut4happyIn5 happyOut5happyIn6 happyOut6happyIn7 happyOut7happyIn8 happyOut8happyIn9 happyOut9 happyIn10 happyOut10 happyIn11 happyOut11 happyIn12 happyOut12 happyIn13 happyOut13 happyIn14 happyOut14 happyIn15 happyOut15 happyIn16 happyOut16 happyIn17 happyOut17 happyIn18 happyOut18 happyIn19 happyOut19 happyInTok happyOutTok happyExpListhappyExpListPerStatehappyActOffsetshappyGotoOffsetshappyAdjustOffsethappyDefActions happyCheck happyTablehappyReduceArr happy_n_termshappy_n_nonterms happyReduce_1happyReduction_1 happyReduce_2happyReduction_2 happyReduce_3happyReduction_3 happyReduce_4happyReduction_4 happyReduce_5happyReduction_5 happyReduce_6happyReduction_6 happyReduce_7happyReduction_7 happyReduce_8happyReduction_8 happyReduce_9happyReduction_9happyReduce_10happyReduction_10happyReduce_11happyReduction_11happyReduce_12happyReduction_12happyReduce_13happyReduction_13happyReduce_14happyReduction_14happyReduce_15happyReduction_15happyReduce_16happyReduction_16happyReduce_17happyReduction_17happyReduce_18happyReduction_18happyReduce_19happyReduction_19happyReduce_20happyReduction_20happyReduce_21happyReduction_21happyReduce_22happyReduction_22happyReduce_23happyReduction_23happyReduce_24happyReduction_24happyReduce_25happyReduction_25happyReduce_26happyReduction_26happyReduce_27happyReduction_27happyReduce_28happyReduction_28happyReduce_29happyReduction_29happyReduce_30happyReduction_30happyReduce_31happyReduction_31happyReduce_32happyReduction_32happyReduce_33happyReduction_33happyReduce_34happyReduction_34happyReduce_35happyReduction_35happyReduce_36happyReduction_36happyReduce_37happyReduction_37happyReduce_38happyReduction_38 happyNewToken happyError_ happyIdentityhappyRunIdentity happyThen happyReturn happyThen1 happyReturn1 happyError' cssselectorhappySeq happyError happyParse happyAccept happyDoActionindexShortOffAddrhappyLt readArrayBit happyShifthappySpecReduce_0happySpecReduce_1happySpecReduce_2happySpecReduce_3 happyReducehappyMonadReducehappyMonad2Reduce happyDrop happyDropStk happyGoto happyFail notHappyAtAll happyTcHack happyDoSeq happyDontSeq