7/m      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkl.Types for defining project and project systems(c) Rodrigo Setti, 2017MITrodrigosetti@gmail.com experimentalPOSIXNone0@I A project system defines the bindins (mapping from names to expressions or tasks) and properties, which can be associated to any binding 8Any binding (with a name) may have associated propertiesA binding of a name can refer to an expression. If there are no associated expressions (i.e. equation) then it can have task-level properties!Structure of a project expression+ Expected cost,"Expected probability of succeeding.$Simplify a project binding structure/Simplify a project expression structure 1) transform singleton collections into it's only child 2) flatten same constructor of the collection05Sort projects in the system order that minimizes cost1)Sort project in order that minimizes costmHHelper function to transform any Nan (not a number) to positive infinity7  !"#$%&'()*+n,o-p./01m22   !"#$%&'()*+,-./012  "#$ !%&'()*+-,./01   !"#$%&'()*+n,o-p./01m2Debugging functions(c) Rodrigo Setti, 2017MITrodrigosetti@gmail.com experimentalPOSIXNone@_(Print a ProjectSystem to standard output`uPrint a Project Expression in a Project System to standard output. The expression is printed in a tree like fashion._`_`_`_`!export parser for project systems(c) Rodrigo Setti, 2017MITrodrigosetti@gmail.com experimentalPOSIXNone@qSpace consumerrr& parses something between parenthesis.slist of reserved wordstquvrswxyz{|}~aaatquvrswxyz{|}~a3a backend that renders to a text that can be parsed(c) Rodrigo Setti, 2017MITrodrigosetti@gmail.com experimentalPOSIXNone@bPlain text rendererbbbb%a backend that renders to PNG diagram(c) Rodrigo Setti, 2017MITrodrigosetti@gmail.com experimentalPOSIXNone:<=@DR cOptions for renderinge,Whether to color boxes depending on progressfThe width of the output imagegThe height of the output imagehThe name of the root projecti"Properties that should be renderedData type used by the treeLRender text with possible overflow by breaking lines and truncating with ...LRender text with possible overflow by breaking lines and truncating with ...,Translates a ProjectSystem into a Tree PNodehow many leaf nodesjThe main rendering functioncdefghi maximum number of lines to break maximum number of chars per line line spacingthe text maximum number of lines to break maximum number of chars per line line spacingthe textjcdefghijjcdefghicdefghij      !!"##$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abccdefghbijklmnopqrstuvwxyz{|}~|*master-plan-0.2.0.0-AU5FXNn5jjC1xIdpQ7glmmMasterPlan.DataMasterPlan.Internal.DebugMasterPlan.ParserMasterPlan.Backend.IdentityMasterPlan.Backend.Graph ProjectSystembindings ProjAttributePTitle PDescriptionPUrlPOwnerPCostPTrust PProgressProjectPropertiestitle descriptionurlownerBinding BindingAtomic BindingExpr ProjectExprSumProductSequence Reference ProjectKey getProjectKeyProgress getProgressCostgetCostTrustgetTrustdefaultProjectProps defaultCost defaultTrustdefaultProgressdefaultTaskProj bindingTitlecosttrustprogresssimplify simplifyProj prioritizeSysprioritizeProj$fShowProjAttribute $fShowTrust $fEqTrust $fDataTrust $fOrdTrust $fNumTrust $fRealTrust$fRealFracTrust$fFractionalTrust $fShowCost$fEqCost $fDataCost $fOrdCost $fNumCost $fRealCost$fRealFracCost$fFractionalCost$fShowProgress $fEqProgress$fDataProgress $fOrdProgress $fNumProgress$fRealProgress$fRealFracProgress$fFractionalProgress$fShowProjectKey$fEqProjectKey$fDataProjectKey$fOrdProjectKey$fIsStringProjectKey$fEqProjectExpr$fShowProjectExpr$fDataProjectExpr$fEqProjectProperties$fShowProjectProperties$fDataProjectProperties $fEqBinding $fShowBinding $fDataBinding$fEqProjAttribute$fEnumProjAttribute$fBoundedProjAttribute$fEqProjectSystem$fShowProjectSystem$fDataProjectSystemdebugSys debugProj runParserrender RenderOptionscolorByProgress renderWidth renderHeightrootKeywhitelistedProps$fEqRenderOptions$fShowRenderOptionsnanToInfcostConjunctiontrustConjunctionprogressConjunctionscparensrwsParserlexemesymbol identifier projectKey stringLiteral percentagenonNegativeNumber expressionbinding dependencies projectSystem RenderMonad renderNamePNode textOverflow' textOverflow toRenderModel leafCount RenderModelNodeRefNodeTypeSumNode ProductNode SequenceNode AtomicNodeleftText rightTextmkLeaf renderTree renderNode