!ȴ+      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./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 { | } ~                              9 Safe=>?_1$ None=>?_4qlanguage-puppet$pretty print multiple lines of text.rlanguage-puppet#pretty print a single line of text.slanguage-puppet&pretty print multiple lines of string.tlanguage-puppetpretty print one line of stringw  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst None=>?SX_;Yylanguage-puppet8Helper for hashmap, in case we want another kind of map.zlanguage-puppet&Return all the keys of a map in a set.~language-puppet Remove the '::' token from a text if any.language-puppet4In case of a Left error, print and exit immediately..      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./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 { | } ~  uvwxyz{|}~None=>?_X}      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst      !"#$%&'()*+,-./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 { | } ~  uvwxyz{|}~uvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstNone=>?_ language-puppetFA table where keys are the names of the computations, and values are s.language-puppet&Total number of calls to a computationlanguage-puppet(Total time spent during this computationlanguage-puppetMinimum execution timelanguage-puppetMaximum execution timelanguage-puppet&Returns the actual statistical values.language-puppet#Create a new statistical container.language-puppet?Wraps a computation, and measures related execution statistics.language-puppetStatistics containerlanguage-puppetAction identifierlanguage-puppet Computation None=>?_Planguage-puppetPuppet base working directorylanguage-puppetThe path to the manifests.language-puppetThe path to the modules.language-puppetThe path to the template.language-puppetEThe path to a tests folders to hold tests files such as the pdbfiles.None=>?_ language-puppet1Position in a puppet file. Currently an alias to  .language-puppet5A pair containing the start and end of a given token.language-puppet2showing the first position of a position interval.language-puppet<showing the first position of a position interval as string.language-puppet;Generates an initial position interval based on a filename.language-puppet0Extremely hacky escaping system for text values.language-puppet,Capitalize resource type and convert into a c.language-puppet$Properly capitalizes resource types.language-puppet Generates a % based on a filename and line number.None=>?_language-puppetA puppet value.&None 7=>?_6language-puppet:A fully resolved puppet resource that will be used in the .language-puppetResource name.language-puppetAll the resource aliaseslanguage-puppetResource parameters.language-puppetResource relations.language-puppetMResource scope when it was defined, the real container will be the first itemlanguage-puppet Virtuality.language-puppetTags.language-puppet0Source code position of the resource definition.language-puppet2The node were this resource was created, if remotelanguage-puppet9In Puppet, a resource is identified by a name and a type.language-puppet(Relationship/ordering between resources.language-puppet-Applies a resource after the target resource.language-puppet.Applies a resource before the target resource.language-puppetoApplies a resource before the target resource. The target resource refreshes if the notifying resource changes.language-puppetpApplies a resource after the target resource. The subscribing resource refreshes if the target resource changes.language-puppet Contained at node or root level.language-puppetContained in a class.language-puppetPContained in a define, along with the position where this define was ... definedlanguage-puppetSDummy container for imported resources, so that we know we must update the nodenamelanguage-puppetWThis one is used when finalizing imported resources, and contains the current node namelanguage-puppet6Normal resource, that will be included in the catalog.language-puppetType for virtual resources.language-puppetType for exported resources.language-puppetBThese are resources that are exported AND realized in the catalog.language-puppetERelationship/ordering information between two resources (used in the ).<     None=>?_language-puppetSee  Khttp://docs.puppetlabs.com/puppetdb/1.5/api/wire_format/catalog_format.htmlpuppet reference.!language-puppetVUsed to represent a relationship between two resources within the wired format (json).See ]http://docs.puppetlabs.com/puppetdb/2.3/api/wire_format/catalog_format_v5.html#data-type-edge !"#)('&%$None=>?_V*language-puppetRAttributes (and providers) of a puppet resource type bundled with validation rules language-puppet(Useful helper for buiding error messages language-puppetSmart constructor for *. language-puppet4Validate resources given a list of valid parameters:Gchecks that no unknown parameters have been set (except metaparameters) language-puppet\This validator always accept the resources, but add the default parameters (to be defined :) language-puppet)Helper function that runs a validor on a  language-puppet;This checks that a given parameter is a string. If it is a  or " it will convert them to a string. language-puppet)Validates a string or an array of strings language-puppetGMakes sure that the parameter, if defined, has a value among this list. language-puppet2This fills the default values of unset parameters. language-puppet,Checks that a given parameter, if set, is a . If it is a  it will attempt to parse it. language-puppetOCopies the "name" value into the parameter if this is not set. It implies the   validator. language-puppetSChecks that a given parameter is set unless the resources "ensure" is set to absent language-puppet%Checks that a given parameter is set.7      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst      !"#$%&'()*+,-./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 { | } ~  uvwxyz{|}~     * +,-./ 0 None=>?_ None=>?_ None=>?_s None7=>?_ None=>?_Q None=>?_ None=>?_' None=>?_ None=>?_ None=>?_h None=>?_  None=>?_>  !None=>?_S1language-puppetThe map of native types.*+,-./01None=>?_      !"#$%&'()*+,-./0110*+,-./     !" #)('&%$"None 7=>?HV_2language-puppetAll possible statements.?language-puppetSpecial statement used to include the expressions that are top level. Certainly buggy, but probably just like the original implementation.Blanguage-puppet;Resource Collector including exported collector (`<<| |>>`)  User <| title == jenkins |> { groups +> "docker"}See fhttps://docs.puppetlabs.com/puppet/latest/reference/lang_collectors.html#language:-resource-collectorspuppet referenceDlanguage-puppetHigher order function call.Hlanguage-puppet  $newvar = worldNlanguage-puppet=A node is a collection of statements + maybe an inherit node.Qlanguage-puppet]Declare a define with * a name * a list of parameters * a list of statements * a positionSlanguage-puppetDeclare a class witha namea list of parametersan optional inheritsa list of statements a positionUlanguage-puppet&All types of conditional statements : case, if, ..."Stored as an ordered list of pair  (condition, statements) t. Interpreted as "if first cond is true, choose first statements, else take the next pair, check the condition ..."Wlanguage-puppetResource override:  File[title] { mode => 755}See  ~https://docs.puppetlabs.com/puppet/latest/reference/lang_resources_advanced.html#amending-attributes-with-a-resource-referencepuppet reference.Ylanguage-puppetResource default:  File { mode => 755 } lhttps://docs.puppetlabs.com/puppet/latest/reference/lang_defaults.html#language:-resource-default-statementspuppet reference.[language-puppetResource declaration:  file { mode => 755}blanguage-puppetSingle angle brackets <| |>clanguage-puppetDouble angle brackets  <<| |>>dlanguage-puppet#Search expression inside collector  <| searchexpr |> }language-puppetThe }slanguage-puppet Hash lookup $var['key0']['key1']language-puppet+All conditionals are stored in this format.language-puppet This is for higher order functions.language-puppet&Terminal object contains no expressionlanguage-puppet3An unresolved value, typically the parser's output.language-puppet*Special tokens generated when parsing the true or false literals.language-puppet Raw string.language-puppetYA string that might contain variable references. The type should be refined at one point.language-puppet1Special token that is generated when parsing the undef literal.language-puppetAlike Resource[reference]language-puppet?The regular expression compilation is performed during parsing.language-puppet+>language-puppet`=>`language-puppetLambda block parameters:language-puppetHigh Order lambdas.23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~#None=>?_!%None=>?P_0Alanguage-puppetSpace consumerlanguage-puppet-Lexeme consumes spaces after the input parserlanguage-puppet$Consumes a text then consumes spaceslanguage-puppet)Consumes a character then consumes spaceslanguage-puppet Parses an }.language-puppet(Only Ascii, hyphens (-) are not allowed.language-puppetLike  indentifier but hyphens (-) are allowed.language-puppet#Consumes a var $foo and then spaces language-puppetVariable expressionlanguage-puppetString interpolationlanguage-puppet0Functions that have named that are not valid ...language-puppet/Postfix of a chain of lookup indexes such as "[release][major]" language-puppet a = b = 0-language-puppetResource Collector5language-puppetiHeterogeneous chain (interleaving resource declarations with resource references) needs to be supported:class { 'docker::service': } -> Class[docker]N      !"#$%&'()*+,-./0123456789N      !"#$%&'()*+,-./0123456789None=>?_3';<?>=@AEDCBFGHIJKLMNOPQRSTU@;<?>=AEDCBFGHIJKLMNOPQRSTU$None=>?_Er`language-puppet'The supported PuppetDB implementations.alanguage-puppet;Your standard PuppetDB, queried through the HTTP interface.blanguage-puppet*A stupid stub, this is the default choice.clanguage-puppetGA slow but handy PuppetDB implementation that is backed by a YAML file.glanguage-puppet Shttp://docs.puppetlabs.com/puppetdb/1.5/api/commands.html#replace-catalog-version-3hlanguage-puppet Qhttp://docs.puppetlabs.com/puppetdb/1.5/api/commands.html#replace-facts-version-1ilanguage-puppet Shttp://docs.puppetlabs.com/puppetdb/1.5/api/commands.html#deactivate-node-version-1jlanguage-puppet Khttp://docs.puppetlabs.com/puppetdb/1.5/api/query/v3/facts.html#get-v3factsklanguage-puppet Shttp://docs.puppetlabs.com/puppetdb/1.5/api/query/v3/resources.html#get-v3resourcesmlanguage-puppetHThis is only here to tell the test PuppetDB to save its content to disk.olanguage-puppet Fields for the resource endpointxlanguage-puppetFields for the node endpoint{language-puppetFields for the fact endpointlanguage-puppetAPretty straightforward way to define the various PuppetDB queries8YZ_^]\[`cbadenmlkjihgfowvutrqpsxzy{~}|%None =>?@AC_I language-puppet8Initializes the test DB using a file to back its content language-puppet0Starts a new PuppetDB, without any backing file. &None-.=>?HUV_K'language-puppetGiven an URL (ie.  http://localhost:8080), will return an incomplete d.None=>?_Olanguage-puppetGiven a `0, will try return a sane default implementation.language-puppetA dummy implementation of d#, that will return empty responses.language-puppetTurns a  and 4 into a document that can be serialized and fed to  puppet apply.>YZ[\]^_`abcdefghijklmnospqrtuvwxyz{|}~>`cbaYZ_^]\[{~}|xzyowvutrqpsdenmlkjihgf'None=>?_Q  None"#$=>?@ACQX_kbxlanguage-puppetAThe type of the Hiera API function associated to given hierarchy.language-puppet$The different kind of hiera queries.language-puppet-The first match in the hierarchy is returned.language-puppet`Combines array and scalar values to return a merged, flattened array with all duplicate removed.language-puppet}Combines the keys and values of any number of hashes to return a merged hash. | Use of an Hash to specify the merge behavior language-puppetQAn attoparsec parser that turns text into parts that are ready for interpolation.language-puppetThe only method you'll ever need. It runs a Hiera server and gives you a querying function. | All IO exceptions are thrown directly including ParsingException.language-puppetDA dummy hiera function that will be used when hiera is not detected.language-puppetVScope: all variables that Hiera can interpolate (the top level ones are prefixed with '::')language-puppet The query language-puppetprefixlanguage-puppetsuffix(None=>?_cN')None=>?_dQ None=>?_e AA*None=>?_hdlanguage-puppet$Pretty print a series of statements.None=>?_llanguage-puppetBuild a n from a  Z given the text source. The source is used to display the line on which the error occurs.language-puppet!Run a puppet parser against some  input.language-puppetParse a collection of puppet 2.23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~}~abc]^_`jklmnopqrstuvwxyz{|defghiUVSTYZ@A23456789:;<=>?[\WXQRNOHIJKLMFGDEBCP+None&'237=>?@ACX_[language-puppet)Overriding forbidden, will throw an errorlanguage-puppetCan silently replacelanguage-puppetSilently ignore errorslanguage-puppetCan append valueslanguage-puppet"For collectors, optional resourceslanguage-puppetFor stuff like realizelanguage-puppetLoglanguage-puppetThe main monad language-puppetAccess to parsed statements language-puppet*External func such as stdlib or puppetlabs language-puppet3Access to the list of facts that were given to the  Preferences module"language-puppet)Whether the template source is specified inline or loaded from a file.%language-puppetfAll available queries including the global and module layer The environment layer is not implemented.The datatype belongs to the Puppet.InterpreterG module because it serves to implement how Hiera is used within Puppet.0language-puppet1The type of the container together with its tags.4language-puppet0We enter the scope as the child of another class5language-puppet1We enter the scope as the parent of another class6language-puppet5From the evaluation of Resource Override Declaration.;language-puppet4From the evaluation of Resource Default Declaration.=language-puppetIDifferentiate the distinct top level types such as node, define or class.>language-puppetFor node entries?language-puppet For defines@language-puppet For classesAlanguage-puppetLPuppet has two main ways to declare classes: include-like and resource-like.See  chttps://docs.puppetlabs.com/puppet/latest/reference/lang_classes.html#include-like-vs-resource-likepuppet reference.Blanguage-puppet%Using the include or contain functionClanguage-puppetResource like declarationJlanguage-puppetZThe intepreter can run in two modes : a strict mode (recommended), and a permissive mode.(      !"#$%&'()*+,-./01      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|,None &'=>?_~-None &'=>?_}language-puppet$The operational interpreter function}.None=>?SX_ language-puppetNGive key such as "os.family" look an hash of facts to retrieve deepest PValuelanguage-puppetpAsk the value of a fact given a specified key The fact set comes from the reader used by the interpreter monad. language-puppetFThrows an error if we are in strict mode A warning in permissive mode~language-puppetServer settings language-puppetThe warning message.language-puppetThe error message.~                 ! " # $ %/None=>?_ &0None =>?PSWX_F 'language-puppetOA useful type that is used when trying to perform arithmetic on Puppet numbers.language-puppetHConverts class resource names to lowercase (fix for the jenkins plugin).language-puppet^A hiera helper function, that will throw all Hiera errors and log messages to the main monad. (language-puppet*The implementation of all lookup functions )language-puppetTries to convert a pair of  s into a  'x, as defined in attoparsec. If the two values can be converted, it will convert them so that they are of the same type *language-puppetThis tries to run a numerical binary operation on two puppet expressions. It will try to resolve them, then convert them to numbers (using  )0), and will finally apply the correct operation.language-puppet4Resolves a variable, or throws an error if it can't.language-puppetBA simple helper that checks if a given type is native or a define.language-puppet(A pure function for resolving variables. +language-puppet,A helper for numerical comparison functions. ,language-puppet.Handles the wonders of puppet equality checks.language-puppet(The main resolution function : turns an } into a , if possible.language-puppet Resolves an  (terminal for the } data type) into a language-puppet)Turns strings, numbers and booleans into , or throws an error.language-puppet9Turns everything it can into a number, or throws an errorlanguage-puppet CresolveExpressionString = resolveExpression >=> resolvePValueString -language-puppet CresolveExpressionNumber = resolveExpression >=> resolvePValueNumberlanguage-puppet Just like , but accepts arrays.language-puppetTurns a  into a o- as explained in the reference documentation. .language-puppet4This resolve function calls at the expression level.language-puppetTurns an unresolved d( from the parser into a fully resolved D.language-puppetTurns a resource type and D6 into something that can be used in a PuppetDB query.language-puppetChecks whether a given  matches a Dv. Note that the expression doesn't check for type, so you must filter the resources by type beforehand, if needs be.language-puppetvGenerates variable associations for evaluation of blocks. Each item corresponds to an iteration in the calling block.language-puppetSets the proper variables, and returns the scope variables the way they were before being modified. This is a hack that ensures that variables are local to the new scope._It doesn't work at all like other Puppet parts, but consistency isn't really expected here ...language-puppet?Restores what needs restoring. This will erase all allocations. /language-puppet*Evaluates a statement in "pure" mode. TODO 0language-puppetThis extracts the final expression from an HOLambdaCall. When it does not exists, it checks if the last statement is in fact a function call 1language-puppetAll the "higher order function" stuff, for "value" mode. In this case we are in "pure" mode, and only a few statements are allowed.language-puppet-Checks that a value matches a puppet datatypelanguage-puppet Resource typelanguage-puppet Resource name *language-puppet left operandlanguage-puppet right operandlanguage-puppet operationlanguage-puppetThe whole scope data.language-puppetCurrent scope name.language-puppetFull variable name. None &'=>?SX_language-puppetCall the operational } function to compute the catalog. Returns either an error, or a tuple containing all the resources, dependency map, exported resources, and defined resources alongside with all messages that have been generated by the compilation process.SThe later defined resources (eg. all class declarations) are pulled out of the ,r and might not be up to date. There are only useful for coverage testing (checking dependencies for instance). 2language-puppet@Apply resource defaults, references overrides and expand defines 3language-puppetlGiven a toplevel (type, name), return the associated parsed statement together with its evaluated resourceslanguage-puppetEMain internal entry point, this function completes the interpretationlanguage-puppet5The whole environment required for computing catalog.language-puppetServer settingsG      !"#$%&'()*+,-./01      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~~,-|wz{xvuy !c]^eZd_a`[bf\g     JKL*+hijstWTXYVUABCDEFGHI./qrpomn01lk;<PNMO6789:2345=>?@%&'()RQS"#$}1None =>?PQSX_language-puppet4Contains the implementation of the StdLib functions.2None =>?_ 4language-puppet.Build the map of available external functions.If the ruby/puppet file is not found on the local filesystem the record is ignored. This is to avoid potential namespace conflict. 5language-puppetBThe function is pure and always return the same "random" password. 6language-puppetCSimple implemenation that does not handle all cases. For instance  auth_option; is currently not implemented. Please add cases as needed. 43None =>?@AC_ 7language-puppetThe list of native types. 8language-puppetPuppet server settings 9language-puppetIMake all calls to file() with absolute pathes relative to the given path.language-puppetGenerate default preferences.4None=>?_ :language-puppet"Entry point for all optional tests ;language-puppet+Tests that all users and groups are defined <language-puppet4Test source for every file resources in the catalog. =language-puppet>Check source for all file resources and append failures along. >language-puppetOnly test the  `puppet:///`c protocol (files managed by the puppet server) we don't test absolute path (puppet client files) :5None=>?_language-puppet#Evaluate a list of ruby statements.6None$=>?_ ?language-puppetLParse and resolve erb files. Initializes a thread for the Ruby interpreter . ?7None =>?_llanguage-puppet>Evaluates with a map of statements in a pure context. Unlike 3, each hiera lookup is evaluated to return Nothing.language-puppetMore flexible version of language-puppetIA default evaluation function for arbitrary interpreter actions. Unlike 7, each hiera lookup is evaluated to return the string dummy.language-puppetA pure  q, that can only evaluate a subset of the templates, and that can include only the supplied top level statements.language-puppet6A bunch of facts that can be used for pure evaluation.language-puppetA top-level maplanguage-puppetThe action to evaluatelanguage-puppetA top-level maplanguage-puppetthe initial statelanguage-puppet(a value to be return by all hiera lookuplanguage-puppetThe action to evaluatelanguage-puppetA top-level statement maplanguage-puppet(What value a call to hiera should return8None &'=>?_ @language-puppetReturn an HOF that would parse the file associated with a toplevel. The toplevel is defined by the tuple (type, name) The result of the parsing is a single Statement (which recursively contains others statements) @9None &'=>?P_#language-puppet'API for the Daemon. The main method is : given a node and a list of facts, it returns the result of the compilation. This will be either an error, or a tuple containing:!all the resources in this catalogthe dependency mapthe exported resources^a list of known resources, that might not be up to date, but are here for code coverage tests.Notes :XIt might be buggy when top level statements that are not class/define/nodes are altered.language-puppetgEntry point to get a Daemon. It will initialize the parsing and interpretation infrastructure from the .1Cache the AST of every .pp file. It could use a bit of memory. As a comparison, it fits in 60 MB with the author's manifests, but really breathes when given 300 MB of heap space. In this configuration, even if it spawns a ruby process for every template evaluation, it is way faster than the puppet stack.@It can optionally talk with PuppetDB, by setting an URL via the #. The recommended way to set it to  http://localhost:8080 and set a SSH tunnel : &ssh -L 8080:localhost:8080 puppet.hostNone=>?_$zs      !"#$%&'()*+,-./01      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~4 A:;<=>?=>@=>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=>{=>|=>}=>~=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>          !""#$%&'()*+,-./0123456789:;<=>?@@ABCDEFGHIJKLMNOPQQRSTUVWWXYZ[\]^_`abcde!f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"u"v"v"w"w"x"x"y"y"z"{"|"}"~"~"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""############################### # # # # ##HIM !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZZ[\]^_`abcdefghijklmnopqrstuv$w$w$x$y$z${$|$}$~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%&((((((((((((((((((((((((((((((((((((((())))H))))))))))))))))))))))*+++ + + + + +++++++++++++++^++++++ +!+"+#+$+%+&+'+(+)+*+++,+-+.+/+0+1+2+3+3+4+5+6+7+7+8+9+:+;+;+<+<+=+=+>+>+?+@+A+B+C+C+D+E+F+G+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+{+|+}+~+++++++++-....00000000000000000000000   1333333333333333333357777779999999        =>=>:;:::::;:;::::;::::::::::::::::::::::::::::::::: : : : : :::::::::::;:;:;:;:;:;:;:;: !: ": #: $: %: &: ': ()*+,-./0:12:3:4:5:6:7:8:9:::;:<:=:>:?:@:A:B:C:D:E:F:G:H:I:JK:LM:NO:PQ:PR:;S:;T:;U:;V:;W:;X:YZ:Y[:Y\:Y]:Y^:Y_:Y`:Ya:Yb:Yc:Yd:Ye:Yf:gh:gi:gj:gk:gl:mn:mo:mp:mq:mr:ms:mt:mu:mv:mw:mx:my:mz:m{:m|:}~::::;:;:;:;:;:;:;::::::::::::::::::::::m:m:m:m:m:m:m:m:m:m:m:m:m:m:m:m:m:m:m:m:m:m:}::::::::::::::::::::::::::::;:;:::::::::::::::::::: : : : : : : : : : : : : : : : ::::::: :!":!#:!$:!%:&':&(:&):&*:+,:+-:+.:+/:01:23:24:56:56:57:57:58:59:5::;<:;=:>?:@A:@B:@C:D:E:F:G:H:I:J:K:L:M:N:O:P:Q:gR:gS:gT:gU:gV:gW:XY:XZ:XZ:X[:\]:\]:\^:_`:ab:ac:ad:ef:gh:gi:gj:gk:gl:gm:gn:go:gp:qr:qs:tu:tv:tw:tw:xy:z{:z|:z}:z~:z:z:z:z:z:z:z:z:z:z:z:z:z:z:z:z:z:z:z:z:z:z:z:::::::::::::::::::::::::::::::::::::::::::::::a:::::::::::::::::::::::::::::::::::::::Y:Y:Y:Y:Y:Y:Y:Y:Y:Y:Y:Y:Y:Y:Y:Y:Y:Y:Y:Y::::::::::::::::::::::::::: : : : : : :m :m:m:m:m:m:m:m:m:m:m:m:::::::}:}: :!:":#:$:%:&:':(:):*:+:,:-:.:/:0:1:23:24:56:57:58:9:::;:<:=:>:?:@:AB:CD:CD:EF:EG:EH:EH:IJ:IK:IL:IM:IN:IO:I:PQ:PR:ST:SU:SV:SW:SX:YZ:[:\:]:^_:^`:^a:^b:^c:^d:^e:^f:^g:^h:^i:^j:^k:l:mn:mo:mp:mq:mr:ms:mt:mu:mv:mw:mx:my:mz:m{:m|:m}:m~:m:m:m:m:m:m:m:m:m:m:m:m:::::::::::::::::J::::::::::::::::::::::::::::::::::::: ::;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:::::          !"#$%#$&#$'#$(#$)#$*#+,#+-#./#.0#.1#.2#34#35#36#37#89#:;#:<#:=#:>#:?#:@#:ABCDEFGHIGHJGHKGHLGHMGHNGHOGHPGHQGHRGHSGHTGHUGHVGHWGHXGHYGHZGH[GH\GH]GH^GH_GH`GHaGHbcdefghfgifgjfgkfglfgmfgnfgofgpfgqfgrfgsfgtfuvfuwfuxfuyfuzfu{f|}f~f~f~f~f~f~f~f~f~fffffffffffffffffffffffffffffffffffffffffffffffffffffffffGHGHGHGHGHcdcdfgfgfffffffffffff      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J I K L M L N L O L P L Q L R L S L T L U L V L W L X L Y L Z L [ L \ L ] L ^ L _ L ` L a L b L c L d L e L f L g L h L i L j L k L l L m L n L o L p L q L r L s L t u v u w u x u y u z u { u | u } u ~ u  u  u  u  u  u  u  u  u                                                                                                                                                        ! " # $ % & ' ( ) * + , - . / 0 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 : 1 ; 1 < 1 = 1 > 1 ? 1 @ 1 A 1 B 1 C 1 D E F E G E H E I E J E K E L E M E N E O E P E Q R S T R S U R S V R S W X Y Z [ \ ] ^ _ ` a b c d c e  f g h i j j k l m n o p q r s t u v w x y z { z { z | z } z ~ z ~ z  z                                                    L  L  L  L  u  u                                                                                                                 1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1                ! " #  $   % & '  (  ) * +  ,  - . / 0 1 2 3 4 5  6 7 8  9 : ; E < E = E G E F E > ? @ ? A ? B ? C ? D ? E F G H F G I J K L J K M J N O J N P Q R S Q T U V W X V W 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 { | } ~         % ' ' - a  + + + . . . . . . . . . . . . . . . . . . . . . . / 0 0 0 0 0 0 0 0 0 0 0 2 2 2 3 3 3 4 4 4 4 4 6 8 language-puppet-1.4.6.3-inplaceXPrelude Puppet.RunnerPuppet.Language Puppet.ParserPuppet.Parser.InternalFacterPuppetDB Hiera.ServerErbPuppet.InterpreterPaths_language_puppet XPrelude.PPXPrelude.ExtraPuppet.Runner.StatsPuppet.Language.PathsPuppet.Language.CorePuppet.Language.ValuePuppet.Language.ResourcePuppet.Language.WireCatalog#Puppet.Language.NativeTypes.Helpers&Puppet.Language.NativeTypes.ZoneRecord Puppet.Language.NativeTypes.User%Puppet.Language.NativeTypes.SshSecure#Puppet.Language.NativeTypes.Package"Puppet.Language.NativeTypes.Notify!Puppet.Language.NativeTypes.Mount Puppet.Language.NativeTypes.Host!Puppet.Language.NativeTypes.Group Puppet.Language.NativeTypes.File Puppet.Language.NativeTypes.Exec Puppet.Language.NativeTypes.Cron"Puppet.Language.NativeTypes.ConcatPuppet.Language.NativeTypesPuppet.Parser.TypesPuppet.Parser.Lens PuppetDB.CorePuppetDB.TestDBPuppetDB.RemotePuppet.Interpreter.RubyRandomErb.Ruby Erb.ParserPuppet.Parser.PrettyPrinterPuppet.Interpreter.Types Puppet.Interpreter.PrettyPrinterPuppet.Interpreter.IOPuppet.Interpreter.Helpers"Puppet.Interpreter.Resolve.SprintfPuppet.Interpreter.ResolvePuppet.Runner.StdlibPuppet.Runner.PuppetlabsPuppet.Runner.Preferences"Puppet.Runner.Daemon.OptionalTestsPuppet.Runner.Erb.EvaluatePuppet.Runner.ErbPuppet.Runner.PurePuppet.Runner.Daemon.FileParserPuppet.Runner.DaemonbaseGHC.Base<>Uansi-wl-pprint-0.6.9-b1b284a75b243f60394ec914ab1e1f2ac4b0ead8921f6a839e6dcfa797b26c92%Text.PrettyPrint.ANSI.Leijen.Internal<$$><+>alignangles backslashblackblueboldbracesbracketscoloncolumncolumnscommacyandebold deunderline displayIOdisplaySdotdquotedquotes dullblackdullbluedullcyan dullgreen dullmagentadullred dullwhite dullyellowenclose encloseSepequalsfill fillBreakfillCatfillSepflatAltgreenhPutDochanghardlinehcathsepindentlanglelbracelbracketline linebreaklistlparenmagentanestnestingonblackonblueoncyan ondullblack ondullblue ondullcyan ondullgreen ondullmagenta ondullred ondullwhite ondullyellowongreen onmagentaonredonwhiteonyellowparensplain punctuateputDocranglerbracerbracketred renderCompact renderPretty renderSmartrparensemi semiBracessep softbreaksoftlinespacesquotesquotestupled underlinevcatvsepwhiteyellowDocPrettypretty prettyList SimpleDocSCharSEmptySFailSLineSSGRSText PrettyErrorgetErrorpplinespplineppstringpptext Containertext2Scientificscientific2textstrictifyEither ifromListikeys ifromListWith iinsertWith iunionWithdropInitialColons loggerNamelogDebuglogInfo logInfoStr logWarning logWarningStrlogError logErrorStr logCriticallogCriticalStr logDebugStr unwrapErrorMStats StatsPoint_statspointCount_statspointTotal_statspointMin_statspointMaxgetStatsnewStatsmeasurePuppetDirPaths_baseDir _manifestPath _modulesPath_templatesPath _testPathHasPuppetDirPathspuppetDirPathsbaseDir manifestPath modulesPath templatesPathtestPath puppetPaths CompRegexScopeNodeNamePosition PPositionshowPosshowPPos showPPos' initialPPos stringEscape capitalizeR capitalizeRTcontainerComma''containerComma'containerComma _sourceName _sourceLine _sourceColumntoPPosDataTypeDTTypeDTString DTIntegerDTFloat DTBooleanDTArrayDTHashDTUndefDTScalarDTData DTOptionalNotUndef DTVariant DTPatternDTEnumDTAny DTCollectionDTRegexpPValuePBooleanPUndefPStringPResourceReferencePArrayPHashPNumberPTypePRegexp _PBoolean_PUndef_PString_PResourceReference_PArray_PHash_PNumber_PType_PRegexpResource_rid_ralias _rattributes _rrelations_rscope _rvirtuality_rtags_rpos_rnode RIdentifier_itype_inameLinkTypeRRequireRBeforeRNotify RSubscribeCurContainerDescContRoot ContClass ContDefine ContImported ContImport VirtualityNormalVirtualExportedExportedRealized HasResourceresourceralias rattributesridrnoderpos rrelationsrscopertags rvirtualityLinkInformation_linksrc_linkdst _linkType_linkPos FinalCatalogHasRIdentifier rIdentifierinameitypeEdgeMapHasLinkInformationlinkInformationlinkPoslinkTypelinkdstlinksrc WireCatalog_wireCatalogNodename_wireCatalogVersion_wireCatalogEdges_wireCatalogResources_wireCatalogTransactionUUID PuppetEdgeHasWireCatalog wireCatalogwireCatalogEdgeswireCatalogNodenamewireCatalogResourceswireCatalogTransactionUUIDwireCatalogVersionNativeTypeMethodsNativeTypeNameHasNativeTypeMethodsnativeTypeMethods puppetFieldspuppetValidate defaulttypebaseNativeTypes StatementResourceDeclarationResourceDefaultDeclarationResourceOverrideDeclarationResourceCollectionDeclarationClassDeclarationDefineDeclarationNodeDeclarationConditionalDeclarationVarAssignmentDeclarationMainFunctionDeclarationHigherOrderLambdaDeclarationDependencyDeclaration TopContainerDepDecl ResCollDeclHigherOrderLambdaDecl MainFuncDecl VarAssignDecl_vadtype _vadnames _vadvalue_vadposNodeDecl Parameters DefineDecl ClassDeclConditionalDeclResOverrideDeclResDefaultDeclResDeclNodeDesc NodeMatch NodeDefault CollectorType CollectorExportedCollectorSearchExpressionEqualitySearchNonEqualitySearch AndSearchOrSearch AlwaysTrue UDataTypeUDTType UDTString UDTIntegerUDTFloat UDTBooleanUDTArrayUDTHashUDTUndef UDTScalarUDTData UDTOptional UNotUndef UDTVariant UDTPatternUDTEnumUDTAny UDTCollection UDTRegexp ExpressionEqual DifferentNotAndOrLessThanMoreThan LessEqualThan MoreEqualThan RegexMatch NotRegexMatchContainsAddition SubstractionDivisionMultiplicationModulo RightShift LeftShiftLookupNegateConditionalValueFunctionApplicationTerminal SelectorCase SelectorValue SelectorTypeSelectorDefaultUnresolvedValueUBooleanUString UInterpolableUUndefUResourceReferenceUArrayUHashURegexpUVariableReference UFunctionCall UHOLambdaCallUNumberArrowOp AppendArrow AssignArrow AttributeDeclAttributeWildcard ChainableRes ChainResColl ChainResDecl ChainResRefr HOLambdaCall _hoLambdaFunc _hoLambdaExpr_hoLambdaParams_hoLambdaStatements_hoLambdaLastExprLambdaParameter LambdaParamLambdaParameters LambdaFuncParserPuppetParseErrorHasHOLambdaCall hOLambdaCall hoLambdaExpr hoLambdaFunchoLambdaLastExprhoLambdaParamshoLambdaStatements_Equal _Different_Not_And_Or _LessThan _MoreThan_LessEqualThan_MoreEqualThan _RegexMatch_NotRegexMatch _Contains _Addition _Substraction _Division_Multiplication_Modulo _RightShift _LeftShift_Lookup_Negate_ConditionalValue_FunctionApplication _Terminal_ResDecl_ResDefaultDecl _ResOverrDecl _ResCollDecl_ConditionalDecl _ClassDecl _DefineDecl _NodeDecl_VarAssignDecl _MainFuncDecl_HigherOrderLambdaDecl_DepDecl _Statements OperatorChain EndOfChain TerminalModeFunctionWithoutParens StandardModesclexemesymbolsymbolicsepComma sepComma1 expressionstringLiteral' identifierisIdentifierCharbarewordreservedqualifqualif1variableReference variableNametypeName classNamefuncName moduleName parameterNameresourceNameRefgenericModuleName varExpressioninterpolableStringintegerOrDouble puppetArray puppetHash puppetBoolresourceReferenceRawresourceReferencespecialFunctionsgenFunctionCall literalValue terminalGregexp compileRegexp termRegexpterminalexpressionTableindexLookupChainstringExpressionchainedVariableReferences varAssignnodeDecl defineDeclpuppetClassParameterspuppetIfStyleConditionunlessCondition ifCondition caseConditionoperatorChainStatementzipChain depOperator assignment resCollDecl classDecl mainFuncDecl hoLambdaDecl dotLambdaDeclresDefaultDeclresOverrideDeclarrayofchainableResources statementdatatype statementList lambdaCall$fFoldableOperatorChainFactInfo_factInfoNodename _factInfoName _factInfoValFacts HasFactInfofactInfo factInfoNamefactInfoNodename factInfoVal storageunits getPrefixgetOrder normalizeUnit storagedescfactRAMfactNETfactOS factOSDebian factOSLSBfactMountPointsfversionfactUser factUNamefenv factProcessor$fFromJSONFactInfo$fToJSONFactInfo$fHasFactInfoFactInfoNodeInfo _nodeInfoName_nodeInfoDeactivated_nodeInfoCatalogT_nodeInfoFactsT_nodeInfoReportTPDBType PDBRemotePDBDummyPDBTest PuppetDBAPIpdbInformationreplaceCatalog replaceFactsdeactivateNode getPDBFacts getResourcesgetNodescommitDBgetResourcesOfNode ResourceFieldRTag RCertname RParameterRTypeRTitle RExportedRFileRLine NodeFieldNNameNFact FactFieldFNameFValue FCertnameQueryQEqualQGQLQGEQLEQMatchQAndQOrQNotQEmpty HasNodeInfonodeInfonodeInfoCatalogTnodeInfoDeactivatednodeInfoFactsT nodeInfoNamenodeInfoReportT loadTestDB pdbConnect getDefaultDB dummyPuppetDBgenerateWireCatalog puppetDBFactsHieraQueryFuncHieraQueryTypeQFirstQUniqueQHashQDeep_knockoutPrefix _sortMerged_mergeHashArray readQueryType varSplitter$fPrettyHieraStringPart!$fFromJSONInterpolableHieraString$fShowHieraQueryType $fShowBackend$fShowHieraStringPart$fShowInterpolableHieraString$fShowHieraConfigFile startHiera dummyHiera mergeWith$fFromJSONHieraConfigFile RubyStatementPuts DropPrevSpaceDropPrevSpace' DropNextSpaceLookupOperation PlusOperationMinusOperation DivOperationMultiplyOperationShiftLeftOperationShiftRightOperation AndOperation OrOperationEqualOperationDifferentOperationAboveOperationAboveEqualOperationUnderEqualOperationUnderOperationRegexpOperationNotRegexpOperation NotOperation NegOperationObject ScopeObject MethodCallBlockOperationValueBTrueBFalseErrorLiteral InterpolableSymbolArraydeflexeroperator reservedOp whiteSpacenaturalOrFloatrubyexpressiontableterm scopeLookup stringLiteral doubleQuoted singleQuoted objecttermvariablereference rubystatement textblockW textblock rubyblock erbparser parseErbFileparseErbString ppStatementsprettyParseErrorrunPuppetParser puppetParserResourceCollectorTypeRealizeVirtualRealizeCollected DontRealize OverrideType CantOverrideReplace CantReplaceAppendAttribute ModifierTypeModifierCollectorModifierMustMatchResourceModifierInterpreterWriterInterpreterMonadInterpreterInstrGetNativeTypes GetStatementComputeTemplateExternalFunction GetNodeName HieraQueryGetCurrentCallStackIsIgnoredModuleIsExternalModuleIsStrict PuppetPaths RebaseFile ErrorThrow ErrorCatch WriterTell WriterPass WriterListenPDBInformationPDBReplaceCatalogPDBReplaceFactsPDBDeactivateNode PDBGetFactsPDBGetResources PDBGetNodes PDBCommitDBPDBGetResourcesOfNodeReadFile TraceEventInterpreterReaderTemplateSourceInlineFilenameHieraQueryLayers _globalLayer_environmentLayer _moduleLayer IoMethodsInterpreterStateScopeInformation CurContainerScopeEnteringContextSENormalSEChildSEParentResRefOverride_rrid _rrparams_rrpos ResDefaults TopLevelTypeTopNode TopDefineTopClassClassIncludeTypeClassIncludeLikeClassResourceLikeRSearchExpressionREqualitySearchRNonEqualitySearch RAndSearch ROrSearch RAlwaysTrue StrictnessStrict Permissive resDefPosresDefSrcScope resDefType resDefValuesenvironmentLayer globalLayer moduleLayer rmDeclarationrmModifierType rmMutation rmResTypermSearchrmTypereaderExternalFuncreaderExternalModules readerFactsreaderGetStatementreaderGetTemplatereaderHieraQueryreaderIgnoredModulesreaderIoMethodsreaderIsStrictreaderNativeTypesreaderNodename readerPdbApireaderPuppetPathsreaderRebaseFileioGetCurrentCallStack ioReadFile ioTraceEventcctagscctypescopeContainerscopeExtraTagsscopeOverrides scopeParentscopeResDefaultsscopeVariables MonadThrowPos throwPosErrorcurPoscurScopedefinedResourcesextraRelations loadedClassesnestedDeclarations resModifiersscopesinterpretMonad initialStatecontainerModNameaskFact extractScopefixResourceNamerunHieraresolveVariable isNativeType getVariableresolveExpression resolveValueresolvePValueStringresolvePValueNumberresolveExpressionStringresolveExpressionStrings pValue2BoolresolveFunction'resolveSearchExpressionsearchExpressionToPuppetDBcheckSearchExpressionresolveDataTypehfGenerateAssociations hfSetvars hfRestorevars datatypeMatch checkMatchtypeOfinterpretCatalogcomputeCatalogevaluateStatementstdlibFunctions Preferences prefExtFuncsprefExternalmodulesprefExtraTestsprefFactsDefaultprefFactsOverride prefHieraPathprefIgnoredmodulesprefKnowngroupsprefKnownusers prefLogLevel prefNatTypesprefPDBprefPuppetPathsprefPuppetSettingsprefRebaseFileprefStrictness dfPreferences rubyEvaluatepureEval pureEval' dummyEvaldummyInitialState pureReader dummyFactsDaemon getCatalog parserStats catalogStats templateStats initDaemonversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNamewidth++ghc-primGHC.PrimseqGHC.Listfilterzip Data.Tuplefstsnd otherwise$GHC.Real fromIntegral realToFrac Control.MonadguardjoinGHC.EnumBoundedminBoundmaxBoundEnumenumFrom enumFromThenenumFromThenTo enumFromTofromEnumtoEnumsuccpred GHC.ClassesEq==/= GHC.FloatFloatingpiexplogsqrt**logBasesincostanasinacosatansinhcoshtanhasinhacoshatanhlog1pexpm1log1pexplog1mexp Fractional fromRational/recipIntegral toIntegerquotremdivmodquotRemdivModMonad>>=>>returnfailFunctorfmap<$GHC.NumNum+*-negate fromIntegerabssignumOrd>=minmax><compare<=GHC.ReadReadReal toRational RealFloat floatRadix floatDigits floatRange decodeFloat encodeFloatexponent significand scaleFloatisNaN isInfiniteisDenormalizedisNegativeZeroisIEEEatan2RealFracproperFractiontruncateroundceilingfloorGHC.ShowShowData.Typeable.InternalTypeableControl.Monad.Fail MonadFail Data.StringIsString fromString Applicativepure<*>*>liftA2<* Data.FoldableFoldabletoListfoldrfoldMapnulllengthfoldlfoldl'maximumminimumelemfoldfoldr'Data.Traversable TraversabletraversemapM sequenceAsequence GHC.GenericsGenericRepGeneric1Datatype datatypeName packageName isNewtype ConstructorconName conFixity conIsRecordselNameselSourceUnpackednessselSourceStrictnessselDecidedStrictness GHC.TypeNatsKnownNat GHC.TypeLits KnownSymbolGHC.OverloadedLabelsIsLabel fromLabel SemigroupsconcatstimesMonoidmemptymappendmconcat GHC.RecordsHasFieldgetField GHC.TypesBoolFalseTrueCharDoubleD#FloatF#IntGHC.IntInt8Int16Int32Int64 integer-gmpGHC.Integer.TypeInteger GHC.MaybeMaybeNothingJustOrderingLTEQGTRatioRational GHC.Stable StablePtrIOWordGHC.WordWord8Word16Word32Word64GHC.PtrPtrFunPtr Data.EitherEitherLeftRightType ConstraintV1U1K1unK1M1unM1:+:L1R1:*::.:Comp1unComp1Rec0D1C1S1URecNatCmpNat Coercible GHC.StaticPtr StaticPtrGHC.Stack.Types CallStackGHC.IO.Handle.TypesHandleGHC.STSTintegralEnumFromThenTointegralEnumFromTointegralEnumFromThenintegralEnumFromgcdWord'gcdInt'^^%^^^%^numericEnumFromThenTonumericEnumFromTonumericEnumFromThennumericEnumFrom notANumberinfinity ratioPrec1 ratioPrecunderflowError overflowErrorratioZeroDenominatorError divZeroErrorreduceboundedEnumFromThenboundedEnumFrommaxIntminInt Data.Complexphase magnitudepolarcismkPolar conjugateimagPartrealPartComplex:+Data.Functor.Contravariant Contravariant contramap>$ Data.VoidvacuousabsurdVoidData.Semigroupoption mtimesDefaultdiffcycle1 WrappedMonoidOption getOptionControl.ConcurrentthreadWaitWriteSTMthreadWaitReadSTMthreadWaitWritethreadWaitReadrunInUnboundThreadrunInBoundThreadisCurrentThreadBoundforkOSWithUnmaskforkOS forkFinallyrtsSupportsBoundThreadsControl.Concurrent.ChanwriteList2ChangetChanContentsdupChanreadChan writeChannewChanChanControl.Concurrent.QSem signalQSemwaitQSemnewQSemQSemControl.Concurrent.QSemN signalQSemN waitQSemNnewQSemNQSemNData.Bifunctor BifunctorfirstsecondbimapData.List.NonEmptynonEmptyGHC.ExecutionStackshowStackTrace getStackTraceGHC.ExecutionStack.InternalSrcLocLocation objectName functionNamesrcLocControl.Monad.IO.ClassMonadIOliftIOSystem.EnvironmentgetArgs System.Exit exitSuccess exitFailureexitWithmfilter<$!>unless replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMforever<=<>=>filterMfoldMapDefault fmapDefault mapAccumR mapAccumLforMforControl.ApplicativeoptionalZipList getZipListData.Functor.IdentityIdentity runIdentity System.IOwithFileGHC.IO.Handle.FDopenFilestderrstdin GHC.Conc.IO threadDelayControl.Concurrent.MVar mkWeakMVaraddMVarFinalizermodifyMVarMaskedmodifyMVarMasked_ modifyMVar modifyMVar_withMVarMaskedwithMVarswapMVar GHC.StackwithFrozenCallStack callStackControl.ExceptionallowInterruptcatchesHandlerControl.Monad.ST.ImpfixSTControl.Exception.BasebracketOnErrorbracket_finallybracket onExceptiontryJusttry mapException handleJusthandle catchJustPatternMatchFail RecSelError RecConError RecUpdError NoMethodError TypeErrorNonTerminationNestedAtomically GHC.Conc.SynccatchSTMthrowSTMorElseretry atomicallymkWeakThreadIdthreadCapabilityyield myThreadId killThreadsetNumCapabilitiesgetNumCapabilitiesforkOnWithUnmaskforkOnforkIOWithUnmaskforkIOThreadIdSTMGHC.IO.ExceptionioErrorasyncExceptionFromExceptionasyncExceptionToExceptionBlockedIndefinitelyOnMVarBlockedIndefinitelyOnSTMDeadlockAllocationLimitExceededCompactionFailedAssertionFailedSomeAsyncExceptionAsyncException StackOverflow HeapOverflow ThreadKilled UserInterruptArrayExceptionIndexOutOfBoundsUndefinedElementExitCode ExitSuccess ExitFailurestdoutGHC.IOevaluateuninterruptibleMaskuninterruptibleMask_maskmask_getMaskingState interruptiblecatchFilePath MaskingStateUnmaskedMaskedInterruptibleMaskedUninterruptible IOException GHC.ExceptionprettyCallStack prettySrcLoc ErrorCallErrorCallWithLocationGHC.Exception.Type Exception toException fromExceptiondisplayExceptionArithExceptionOverflow UnderflowLossOfPrecision DivideByZeroDenormalRatioZeroDenominator Data.TypeablegcasteqTcasttypeRepTypeRepData.Functor.ConstConstgetConstfindnotElem minimumBy maximumByallanyorand concatMapconcatmsumasum sequence_ sequenceA_forM_mapM_for_ traverse_foldlMfoldrM Data.MonoidFirstgetFirstLastgetLastApgetApData.Semigroup.Internal stimesMonoidstimesIdempotentDualgetDualEndoappEndoAllgetAllAnygetAnySumgetSumProduct getProductAltgetAltFixityFixityIPrefixIInfixI AssociativityLeftAssociativeRightAssociativeNotAssociativeMetaMetaDataMetaConsMetaSel someSymbolVal someNatVal symbolValnatVal SomeSymbolSomeNat Data.OldListunfoldrsortBysort permutations subsequencestailsinitsgroupBygroupgenericReplicategenericSplitAt genericDrop genericTake genericLength transpose intercalate intersperse isPrefixOf Data.CharisLetter digitToInt Text.Read readMaybe readEitherreads fromRightfromLeftisRightisLeftpartitionEithersrightsleftseitherData.Ord comparing Data.ProxyProxyData.Type.Coercionrepr coerceWithCoercionData.Type.Equality gcastWithcastWithtranssym:~:Refl Foreign.PtrWordPtrIntPtr GHC.IO.IOModeIOModeReadMode WriteMode AppendMode ReadWriteModeForeign.StorableStorable byteSwap64 byteSwap32 byteSwap16 GHC.UnicodetoTitletoUppertoLowerisLowerisUpperisPrint isControl isAlphaNumisAlpha isHexDigitisDigitisSpaceisAsciirunST Data.BitstoIntegralSizedpopCountDefaulttestBitDefault bitDefaultBits.&..|.xor complementshiftrotatezeroBitsbitsetBitclearBit complementBittestBit bitSizeMaybebitSizeisSignedshiftLshiftRrotateLrotateRpopCount FiniteBits finiteBitSizecountLeadingZeroscountTrailingZeros Data.Function&onfix Data.Functorvoid$><&><$>lcmgcd^^^oddeven denominator numeratorGHC.Charchr intToDigitunzipzipWithreversesplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanrscanl'scanl Data.MaybemapMaybe catMaybes listToMaybe maybeToList fromMaybe isNothingisJustmaybeswapuncurrycurryGHC.MVar isEmptyMVar tryReadMVar tryPutMVar tryTakeMVarputMVarreadMVartakeMVarnewMVar newEmptyMVarMVarsubtract GHC.Stack.CCScurrentCallStackasTypeOfuntilflip.constordapliftM5liftM4liftM3liftM2liftMwhen=<<liftA3liftA<**> Alternativeempty<|>somemany MonadPlusmzeromplusNonEmpty:|String getCallStack HasCallStackstimesIdempotentMonoid SomeException&&||notbytestring-0.10.8.2Data.ByteString.Internal ByteStringcontainers-0.6.0.1Data.IntMap.InternalIntMapData.IntSet.InternalIntSetData.Map.InternalMapData.Sequence.InternalSeqData.Set.InternalSetdeepseq-1.4.4.0Control.DeepSeqforce$!!deepseqNFDatarnftransformers-0.5.6.2Control.Monad.Trans.Classlift mtl-2.2.2Control.Monad.State.Classgetsmodify MonadStategetputstateControl.Monad.Reader.Classasks MonadReaderasklocalreaderControl.Monad.Error.Class MonadError throwError catchErrorControl.Monad.Trans.ExceptExceptTExcept runExcept mapExcept withExcept runExceptT mapExceptT withExceptTControl.Monad.Trans.ReaderReaderT runReaderTReader runReader text-1.2.3.1 Data.Text.IOgetLine getContentsinteract appendFile writeFilereadFileData.Text.Lazy fromStricttoStrict Data.TextunwordsunlineslineswordsData.Text.Encoding encodeUtf8 decodeUtf8' decodeUtf8decodeUtf8WithData.Text.InternalTextData.Text.Encoding.Errorreplaceignore lenientDecode strictDecodeOnError OnDecodeErrorUnicodeExceptionControl.Monad.Trans.Maybe runMaybeTcatchEthrowEexceptLasync-2.2.2-ca4e177a3bd7c248bf40dc18db7f94a71bb866569dfdf82459875bdae4be7d98Control.Concurrent.Asyncasync asyncBoundasyncOncancel cancelWith concurrentlylinklink2pollracerace_waitwaitAny waitAnyCancel waitAnyCatchwaitAnyCatchCancelwaitBoth waitCatch waitEitherwaitEitherCancelwaitEitherCatchwaitEitherCatchCancel waitEither_ withAsyncwithAsyncBound withAsyncOnQhashable-1.2.7.0-1e217389c05befe83652f60f00650e78ec5feafb0f000a3d1c1d93f81cf4a362Data.Hashable.Class hashUsingPprotolude-0.3.0-8c787cacc610b0bfa645e2b1737671b82657d145a260d6c2b10e842456beec58 ProtoludeapplyNdieguardedguardedAidentityliftIO1liftIO2mappassprintshowthrowIOthrowToProtolude.Applicative<<*>>eitherAliftAA2orAltorEmptypurerProtolude.Base$!Protolude.Bool&&^<&&><||>boolguardMifMunlessMwhenM||^Protolude.ConvertTexttoUtf8 toUtf8LazyProtolude.DebugnotImplementedtracetraceIOtraceIdtraceM traceShow traceShowId traceShowM undefinedwitnessProtolude.Either leftToMaybe maybeEmpty maybeToEither maybeToLeft maybeToRight rightToMaybeProtolude.ExceptionshushnotetryIOProtolude.Functor<<$>>foreachProtolude.ListheadordNubproductsortOnsumProtolude.Monad concatMapMliftM'liftM2'Protolude.PanicpanicProtolude.SafeatDefatMay foldl1May foldl1May' foldr1MayheadDefheadMayinitDefinitMayinitSafelastDeflastMay maximumDef maximumMay minimumDef minimumMaytailDeftailMaytailSafeProtolude.SemiringzeroProtolude.Show putByteString putErrTextputLByteStringputLTextputTextAsync asyncThreadId ConcurrentlyrunConcurrentlyHashable hashWithSalt LByteStringLText ConvertTexttoS FatalErrorfatalErrorMessageSemiringonePrinthPutStr hPutStrLnputStrputStrLnputErrLnSscientific-0.3.6.2-e3d45222a5e132276fcf5feb21ddcc8f9bd99172a73bba4e22e8de334c795b62Data.Scientific ScientificLlens-4.19.2-822ca42fbdcb66da47db1a69153d7e6ebe75954ae38dd718de150a1569449156Control.Exception.LenscatchingControl.Lens.TypePrism'Rprofunctors-5.5.2-1c2333ae1bc2c13e526b703e2071ae0ec927620fac1652f17e6b2f3967f7047bData.Profunctor.ChoiceChoiceright'left'Data.Profunctor.Unsafe ProfunctordimaprmaplmapControl.Lens.GetterGettingSetterControl.Lens.Internal.SetterSettableControl.Lens.SettersetsAReviewControl.Lens.Atiat icontainsiixixAtsansControl.Lens.Cons:<:><|_head_init_last_tailconssnocunconsunsnoc|>Control.Lens.EmptyEmptyControl.Lens.Equality cloneEqualityequality equality'fromEq fromLeibniz fromLeibniz'mapEq overEqualityrunEqsimplesimplysubstEq underEquality withEqualityControl.Lens.Fold^..^?^?!^@..^@?^@?!allOfandOfanyOfasumOf backwards concatMapOfconcatOfcycled droppingWhile elemIndexOf elemIndicesOfelemOffiltered filteredBy findIndexOf findIndicesOffindMOffindOffirst1OffirstOffoldByOf foldMapByOf foldMapOffoldOffoldedfolded64foldingfoldl1Of foldl1Of'foldlMOffoldlOffoldlOf'foldr1Of foldr1Of'foldrMOffoldrOffoldrOf'foldringfor1Of_forMOf_forOf_hashasn'tiallOfianyOf iconcatMapOfidroppingWhile ifilteredifindMOfifindOf ifoldMapOfifolding ifoldlMOfifoldlOf ifoldlOf' ifoldrMOfifoldrOf ifoldrOf' ifoldringiforMOf_iforOf_imapMOf_inoneOfipreipreuseipreusesipreview ipreviews itakingWhileiterated itoListOf itraverseOf_last1OflastOflengthOflinedlookupOfmapMOf_ maximum1Of maximumByOf maximumOf minimum1Of minimumByOf minimumOfmsumOf notElemOf notNullOfnullOforOfprepreusepreusespreviewpreviews productOfrepeated replicated sequence1Of_ sequenceAOf_ sequenceOf_sumOf takingWhiletoListOf toNonEmptyOf traverse1Of_ traverseOf_unfoldedworded^.^@.gettingilike ilistening ilisteningsitoiuseiusesiviewiviewslike listening listeningstouseusesviewviewsControl.Lens.Indexed.><.iallianyicompose iconcatMapifind ifoldMapBy ifoldMapByOfifoldlMifoldrMiforiforMiforM_ifor_ imapAccumL imapAccumRimapMimapM_indexindicesinoneitoList itraverseBy itraverseByOf itraverse_none reindexed selfIndexControl.Lens.Internal.IndexedasIndexindexing indexing64 withIndexControl.Lens.Internal.PrismTHmakeClassyPrisms makePrismsControl.Lens.Internal.ReviewretaggedControl.Lens.IsoLazyListReversedSwappedanonauauf bimappingcloneIsocoerced contramappingcurried dimappingenumfirstingflippedfromimagma involutedisolazylmappingmagmamappingnonnon'reversedrmapping seconding uncurriedunderwithIsoxplatxplatfControl.Lens.Lens#%%=#%%~#%=#%~#=#~%%=%%@=%%@~%%~&~<#%=<#%~<#=<#~<%=<%@=<%@~<%~<&&=<&&~<**=<**~<*=<*~<+=<+~<-=<-~=<<<>~<<>=<<>~<=<>~