occam-grammars 1.3.287 → 1.3.290

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "default", {
8
8
  return _default;
9
9
  }
10
10
  });
11
- var bnf = 'document ::= ( topLevelDeclaration | topLevelAssertion | verticalSpace | error )+ ;\n\n\n\ntopLevelDeclaration ::= typeDeclaration \n \n | variableDeclaration \n \n | combinatorDeclaration \n \n | constructorDeclaration \n \n | metavariableDeclaration \n \n | complexTypeDeclaration \n \n ;\n\n\n\ntopLevelAssertion ::= rule \n\n | axiom \n\n | lemma \n\n | theorem \n\n | conjecture \n\n | metaLemma \n\n | metatheorem \n\n ;\n\n\n\nverticalSpace ::= <END_OF_LINE>+ ;\n\n\n\nerror. ::= . ;\n\n\n\ntypeDeclaration ::= "Provisional"? "Type" type ( ":" types )? <END_OF_LINE> ;\n \nvariableDeclaration ::= "Variable" variable ( ":" type "provisionally"? )? <END_OF_LINE> ;\n \ncombinatorDeclaration ::= "Combinator" statement... <END_OF_LINE> ;\n \nconstructorDeclaration ::= "Constructor" term... ( ":" type "provisionally"? )? <END_OF_LINE> ;\n \nmetavariableDeclaration ::= "Metavariable" metavariable ":" metaType <END_OF_LINE> ;\n \ncomplexTypeDeclaration ::= "Provisional"? "Type" <END_OF_LINE> \n\n type ( ":" types )? <END_OF_LINE>\n \n (\n \n ( "Alias" <END_OF_LINE> [type] <END_OF_LINE> )? \n \n ( \n \n ( "Properties" <END_OF_LINE> propertyDeclaration propertyDeclaration+ ) \n \n | \n \n ( "Property" <END_OF_LINE> propertyDeclaration ) \n \n )?\n \n );\n \n\n \nrule ::= "Rule" parenthesisedLabels <END_OF_LINE> \n\n ( \n\n ( "Premises" <END_OF_LINE> premise premise+ ) \n \n | \n \n ( "Premise" <END_OF_LINE> premise ) \n \n )?\n \n "Conclusion" <END_OF_LINE> conclusion \n \n proof? ; \n\nmetaLemma ::= "MetaLemma" parenthesisedLabel? <END_OF_LINE> \n\n (\n \n "Suppose" <END_OF_LINE> supposition+ \n\n "Then" <END_OF_LINE> \n \n )?\n \n deduction\n \n proof ;\n\nmetatheorem ::= "Metatheorem" parenthesisedLabel <END_OF_LINE> \n\n (\n \n "Suppose" <END_OF_LINE> supposition+ \n\n "Then" <END_OF_LINE> \n \n )?\n \n deduction\n \n proof ;\n\naxiom ::= "Satisfiable"? "Axiom" parenthesisedLabels <END_OF_LINE> \n\n (\n \n "Suppose" <END_OF_LINE> supposition+\n\n "Then" <END_OF_LINE> \n \n )?\n \n deduction ;\n\nlemma ::= "Lemma" parenthesisedLabels? <END_OF_LINE> \n\n (\n \n "Suppose" <END_OF_LINE> supposition+\n\n "Then" <END_OF_LINE> \n \n )?\n \n deduction\n \n proof ;\n\ntheorem ::= "Theorem" parenthesisedLabels <END_OF_LINE> \n\n (\n \n "Suppose" <END_OF_LINE> supposition+\n\n "Then" <END_OF_LINE> \n \n )?\n \n deduction\n \n proof ;\n\nconjecture ::= "Conjecture" parenthesisedLabels <END_OF_LINE>\n\n (\n \n "Suppose" <END_OF_LINE> supposition+\n\n "Then" <END_OF_LINE> \n \n )?\n \n deduction\n \n proof? ;\n\n\n\nproof ::= "Proof" <END_OF_LINE> derivation ;\n\nsubproof ::= "Suppose" <END_OF_LINE> supposition+ subDerivation ;\n\nderivation ::= ( \n\n ( step | subproof )+ \n \n "Therefore" <END_OF_LINE> \n \n )? \n \n step ; \n\nsubDerivation ::= (\n\n "Hence" <END_OF_LINE>\n \n ( step | subproof )+ \n \n )? \n \n "Then" <END_OF_LINE> \n \n step ; \n\n\n\npropertyDeclaration. ::= property ( ":" type )? <END_OF_LINE> \n\n | nonsense... <END_OF_LINE>\n \n ;\n\n\n\npremise. ::= procedureCall... <END_OF_LINE> \n\n | statement... <END_OF_LINE> \n\n | nonsense... <END_OF_LINE>\n \n ;\n\nsupposition. ::= procedureCall... <END_OF_LINE> \n\n | statement... <END_OF_LINE> \n\n | nonsense... <END_OF_LINE>\n \n ;\n\nconclusion. ::= statement... <END_OF_LINE> \n\n | nonsense... <END_OF_LINE>\n \n ;\n\ndeduction. ::= statement... <END_OF_LINE> \n\n | nonsense... <END_OF_LINE>\n \n ;\n\n\n\nstep. ::= statement... ( ( "by" | "from" ) reference )? <END_OF_LINE> \n\n | nonsense... ( ( "by" | "from" ) reference )? <END_OF_LINE>\n \n ;\n\n\n\nparenthesisedLabels ::= "(" labels... ")" ; \n\nparenthesisedLabel ::= "(" label... ")" ; \n\n\n\nprocedureCall ::= "@"<NO_WHITESPACE>reference<NO_WHITESPACE>"(" parameter ( "," parameter )* ")" ;\n\n\n\narguments ::= argument ( "," argument )* ;\n\nlabels ::= label ( "," label )* ;\n\ntypes ::= type ( "," type )* ;\n\n\n\nargument ::= term ( ) \n\n | type ( )\n \n ;\n\nmetaArgument ::= statement ( ) \n\n | metaType ( ) \n \n ;\n\nframeArgument ::= frame ( ) \n\n | metaType ( ) \n \n ;\n\n\n\nreference. ::= metavariable ;\n\nlabel. ::= metavariable ;\n\n\n\nmetavariable. ::= [name] ( <NO_WHITESPACE> "(" ( term | type | stuff ) ")" )? ;\n\nparameter. ::= [name] ;\n\nvariable. ::= [name] ;\n\nproperty. ::= [name]+ ;\n\nmetaType. ::= [meta-type] ;\n\ntype. ::= [type] ;\n\n\n\nstuff. ::= ( [name] | [symbol] | [bracket] | [unassigned] )+ ;\n\nnonsense. ::= ( [type] | [meta-type] | [special] | [secondary-keyword] | [name] | [symbol] | [bracket] | [unassigned] )+ ;';
11
+ var bnf = 'document ::= ( topLevelDeclaration | topLevelAssertion | verticalSpace | error )+ ;\n\n\n\ntopLevelDeclaration ::= typeDeclaration \n \n | variableDeclaration \n \n | combinatorDeclaration \n \n | constructorDeclaration \n \n | metavariableDeclaration \n \n | complexTypeDeclaration \n \n ;\n\n\n\ntopLevelAssertion ::= rule \n\n | axiom \n\n | lemma \n\n | theorem \n\n | conjecture \n\n | metaLemma \n\n | metatheorem \n\n ;\n\n\n\nverticalSpace ::= <END_OF_LINE>+ ;\n\n\n\nerror. ::= . ;\n\n\n\ntypeDeclaration ::= "Provisional"? "Type" type ( ":" types )? <END_OF_LINE> ;\n \nvariableDeclaration ::= "Variable" variable ( ":" type "provisionally"? )? <END_OF_LINE> ;\n \ncombinatorDeclaration ::= "Combinator" statement... <END_OF_LINE> ;\n \nconstructorDeclaration ::= "Constructor" term... ( ":" type "provisionally"? )? <END_OF_LINE> ;\n \nmetavariableDeclaration ::= "Metavariable" metavariable ":" metaType <END_OF_LINE> ;\n \ncomplexTypeDeclaration ::= "Provisional"? "Type" <END_OF_LINE> \n\n type ( ":" types )? <END_OF_LINE>\n \n (\n \n ( "Alias" <END_OF_LINE> [type] <END_OF_LINE> )? \n \n ( \n \n ( "Properties" <END_OF_LINE> propertyDeclaration propertyDeclaration+ ) \n \n | \n \n ( "Property" <END_OF_LINE> propertyDeclaration ) \n \n )?\n \n );\n \n\n \nrule ::= "Rule" parenthesisedLabels <END_OF_LINE> \n\n ( \n\n ( "Premises" <END_OF_LINE> premise premise+ ) \n \n | \n \n ( "Premise" <END_OF_LINE> premise ) \n \n )?\n \n "Conclusion" <END_OF_LINE> conclusion \n \n proof? ; \n\nmetaLemma ::= "MetaLemma" parenthesisedLabel? <END_OF_LINE> \n\n (\n \n "Suppose" <END_OF_LINE> supposition+ \n\n "Then" <END_OF_LINE> \n \n )?\n \n deduction\n \n proof ;\n\nmetatheorem ::= "Metatheorem" parenthesisedLabel <END_OF_LINE> \n\n (\n \n "Suppose" <END_OF_LINE> supposition+ \n\n "Then" <END_OF_LINE> \n \n )?\n \n deduction\n \n proof ;\n\naxiom ::= "Axiom" signature? parenthesisedLabels <END_OF_LINE> \n\n (\n \n "Suppose" <END_OF_LINE> supposition+\n\n "Then" <END_OF_LINE> \n \n )?\n \n deduction ;\n\nlemma ::= "Lemma" parenthesisedLabels? <END_OF_LINE> \n\n (\n \n "Suppose" <END_OF_LINE> supposition+\n\n "Then" <END_OF_LINE> \n \n )?\n \n deduction\n \n proof ;\n\ntheorem ::= "Theorem" parenthesisedLabels <END_OF_LINE> \n\n (\n \n "Suppose" <END_OF_LINE> supposition+\n\n "Then" <END_OF_LINE> \n \n )?\n \n deduction\n \n proof ;\n\nconjecture ::= "Conjecture" parenthesisedLabels <END_OF_LINE>\n\n (\n \n "Suppose" <END_OF_LINE> supposition+\n\n "Then" <END_OF_LINE> \n \n )?\n \n deduction\n \n proof? ;\n\n\n\nproof ::= "Proof" <END_OF_LINE> derivation ;\n\nsubproof ::= "Suppose" <END_OF_LINE> supposition+ subDerivation ;\n\nderivation ::= ( \n\n ( step | subproof )+ \n \n "Therefore" <END_OF_LINE> \n \n )? \n \n step ; \n\nsubDerivation ::= (\n\n "Hence" <END_OF_LINE>\n \n ( step | subproof )+ \n \n )? \n \n "Then" <END_OF_LINE> \n \n step ; \n\n\n\npropertyDeclaration. ::= property ( ":" type )? <END_OF_LINE> \n\n | nonsense... <END_OF_LINE>\n \n ;\n\n\n\npremise. ::= procedureCall... <END_OF_LINE> \n\n | statement... <END_OF_LINE> \n\n | nonsense... <END_OF_LINE>\n \n ;\n\nsupposition. ::= procedureCall... <END_OF_LINE> \n\n | statement... <END_OF_LINE> \n\n | nonsense... <END_OF_LINE>\n \n ;\n\nconclusion. ::= statement... <END_OF_LINE> \n\n | nonsense... <END_OF_LINE>\n \n ;\n\ndeduction. ::= statement... <END_OF_LINE> \n\n | nonsense... <END_OF_LINE>\n \n ;\n\n\n\nstep. ::= statement... ( ( "by" | "from" ) reference )? <END_OF_LINE> \n\n | nonsense... ( ( "by" | "from" ) reference )? <END_OF_LINE>\n \n ;\n\n\n\nparenthesisedLabels ::= "(" labels... ")" ; \n\nparenthesisedLabel ::= "(" label... ")" ; \n\n\n\nprocedureCall ::= "@"<NO_WHITESPACE>reference<NO_WHITESPACE>"(" parameter ( "," parameter )* ")" ;\n\n\n\nsignature ::= "[" term ( "," term )* "]" ;\n\n\n\narguments ::= argument ( "," argument )* ;\n\nlabels ::= label ( "," label )* ;\n\ntypes ::= type ( "," type )* ;\n\n\n\nargument ::= term ( ) \n\n | type ( )\n \n ;\n\nmetaArgument ::= statement ( ) \n\n | metaType ( ) \n \n ;\n\nframeArgument ::= frame ( ) \n\n | metaType ( ) \n \n ;\n\n\n\nreference. ::= metavariable ;\n\nlabel. ::= metavariable ;\n\n\n\nmetavariable. ::= [name] ( <NO_WHITESPACE> "(" ( term | type | stuff ) ")" )? ;\n\nparameter. ::= [name] ;\n\nvariable. ::= [name] ;\n\nproperty. ::= [name]+ ;\n\nmetaType. ::= [meta-type] ;\n\ntype. ::= [type] ;\n\n\n\nstuff. ::= ( [name] | [symbol] | [bracket] | [unassigned] )+ ;\n\nnonsense. ::= ( [type] | [meta-type] | [special] | [secondary-keyword] | [name] | [symbol] | [bracket] | [unassigned] )+ ;';
12
12
  var _default = bnf;
13
13
 
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub21pbmFsL2JuZi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuY29uc3QgYm5mID0gYGRvY3VtZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gICggdG9wTGV2ZWxEZWNsYXJhdGlvbiB8IHRvcExldmVsQXNzZXJ0aW9uIHwgdmVydGljYWxTcGFjZSB8IGVycm9yICkrIDtcblxuXG5cbnRvcExldmVsRGVjbGFyYXRpb24gICAgICAgICAgICAgICAgICA6Oj0gIHR5cGVEZWNsYXJhdGlvbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHZhcmlhYmxlRGVjbGFyYXRpb24gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBjb21iaW5hdG9yRGVjbGFyYXRpb24gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbWV0YXZhcmlhYmxlRGVjbGFyYXRpb24gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgY29tcGxleFR5cGVEZWNsYXJhdGlvbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbnRvcExldmVsQXNzZXJ0aW9uICAgICAgICAgICAgICAgICAgICA6Oj0gIHJ1bGUgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGF4aW9tIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBsZW1tYSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdGhlb3JlbSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgY29uamVjdHVyZSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbWV0YUxlbW1hIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBtZXRhdGhlb3JlbSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5cblxudmVydGljYWxTcGFjZSAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgPEVORF9PRl9MSU5FPisgO1xuXG5cblxuZXJyb3IuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgLiA7XG5cblxuXG50eXBlRGVjbGFyYXRpb24gICAgICAgICAgICAgICAgICAgICAgOjo9ICBcIlByb3Zpc2lvbmFsXCI/IFwiVHlwZVwiIHR5cGUgKCBcIjpcIiB0eXBlcyApPyA8RU5EX09GX0xJTkU+IDtcbiBcbnZhcmlhYmxlRGVjbGFyYXRpb24gICAgICAgICAgICAgICAgICA6Oj0gIFwiVmFyaWFibGVcIiB2YXJpYWJsZSAoIFwiOlwiIHR5cGUgXCJwcm92aXNpb25hbGx5XCI/ICk/IDxFTkRfT0ZfTElORT4gO1xuIFxuY29tYmluYXRvckRlY2xhcmF0aW9uICAgICAgICAgICAgICAgIDo6PSAgXCJDb21iaW5hdG9yXCIgc3RhdGVtZW50Li4uIDxFTkRfT0ZfTElORT4gO1xuIFxuY29uc3RydWN0b3JEZWNsYXJhdGlvbiAgICAgICAgICAgICAgIDo6PSAgXCJDb25zdHJ1Y3RvclwiIHRlcm0uLi4gKCBcIjpcIiB0eXBlIFwicHJvdmlzaW9uYWxseVwiPyApPyA8RU5EX09GX0xJTkU+IDtcbiBcbm1ldGF2YXJpYWJsZURlY2xhcmF0aW9uICAgICAgICAgICAgICA6Oj0gIFwiTWV0YXZhcmlhYmxlXCIgbWV0YXZhcmlhYmxlIFwiOlwiIG1ldGFUeXBlIDxFTkRfT0ZfTElORT4gO1xuIFxuY29tcGxleFR5cGVEZWNsYXJhdGlvbiAgICAgICAgICAgICAgIDo6PSAgXCJQcm92aXNpb25hbFwiPyBcIlR5cGVcIiA8RU5EX09GX0xJTkU+IFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlICggXCI6XCIgdHlwZXMgKT8gPEVORF9PRl9MSU5FPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBcIkFsaWFzXCIgPEVORF9PRl9MSU5FPiBbdHlwZV0gPEVORF9PRl9MSU5FPiApPyBcbiAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXG4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXCJQcm9wZXJ0aWVzXCIgPEVORF9PRl9MSU5FPiBwcm9wZXJ0eURlY2xhcmF0aW9uIHByb3BlcnR5RGVjbGFyYXRpb24rICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXCJQcm9wZXJ0eVwiIDxFTkRfT0ZfTElORT4gcHJvcGVydHlEZWNsYXJhdGlvbiApIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKT9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuIFxuXG4gIFxucnVsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJSdWxlXCIgcGFyZW50aGVzaXNlZExhYmVscyA8RU5EX09GX0xJTkU+IFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXCJQcmVtaXNlc1wiIDxFTkRfT0ZfTElORT4gcHJlbWlzZSBwcmVtaXNlKyApIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBcIlByZW1pc2VcIiA8RU5EX09GX0xJTkU+IHByZW1pc2UgKSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKT9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJDb25jbHVzaW9uXCIgPEVORF9PRl9MSU5FPiBjb25jbHVzaW9uIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvb2Y/IDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuXG5tZXRhTGVtbWEgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBcIk1ldGFMZW1tYVwiIHBhcmVudGhlc2lzZWRMYWJlbD8gPEVORF9PRl9MSU5FPiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlN1cHBvc2VcIiA8RU5EX09GX0xJTkU+IHN1cHBvc2l0aW9uKyBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlRoZW5cIiA8RU5EX09GX0xJTkU+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZHVjdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb29mIDtcblxubWV0YXRoZW9yZW0gICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJNZXRhdGhlb3JlbVwiIHBhcmVudGhlc2lzZWRMYWJlbCA8RU5EX09GX0xJTkU+IFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiU3VwcG9zZVwiIDxFTkRfT0ZfTElORT4gc3VwcG9zaXRpb24rIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiVGhlblwiIDxFTkRfT0ZfTElORT4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVkdWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9vZiA7XG5cbmF4aW9tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiU2F0aXNmaWFibGVcIj8gXCJBeGlvbVwiIHBhcmVudGhlc2lzZWRMYWJlbHMgPEVORF9PRl9MSU5FPiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlN1cHBvc2VcIiA8RU5EX09GX0xJTkU+IHN1cHBvc2l0aW9uK1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiVGhlblwiIDxFTkRfT0ZfTElORT4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZHVjdGlvbiA7XG5cbmxlbW1hICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiTGVtbWFcIiBwYXJlbnRoZXNpc2VkTGFiZWxzPyA8RU5EX09GX0xJTkU+IFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiU3VwcG9zZVwiIDxFTkRfT0ZfTElORT4gc3VwcG9zaXRpb24rXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJUaGVuXCIgPEVORF9PRl9MSU5FPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKT9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWR1Y3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb29mIDtcblxudGhlb3JlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJUaGVvcmVtXCIgcGFyZW50aGVzaXNlZExhYmVscyA8RU5EX09GX0xJTkU+IFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiU3VwcG9zZVwiIDxFTkRfT0ZfTElORT4gc3VwcG9zaXRpb24rXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJUaGVuXCIgPEVORF9PRl9MSU5FPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKT9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVkdWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9vZiA7XG5cbmNvbmplY3R1cmUgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiQ29uamVjdHVyZVwiIHBhcmVudGhlc2lzZWRMYWJlbHMgPEVORF9PRl9MSU5FPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiU3VwcG9zZVwiIDxFTkRfT0ZfTElORT4gc3VwcG9zaXRpb24rXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJUaGVuXCIgPEVORF9PRl9MSU5FPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKT9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVkdWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9vZj8gO1xuXG5cblxucHJvb2YgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJQcm9vZlwiIDxFTkRfT0ZfTElORT4gZGVyaXZhdGlvbiA7XG5cbnN1YnByb29mICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiU3VwcG9zZVwiIDxFTkRfT0ZfTElORT4gc3VwcG9zaXRpb24rIHN1YkRlcml2YXRpb24gO1xuXG5kZXJpdmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICAoIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggc3RlcCB8IHN1YnByb29mICkrIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJUaGVyZWZvcmVcIiA8RU5EX09GX0xJTkU+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk/IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVwIDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cbnN1YkRlcml2YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIChcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIkhlbmNlXCIgPEVORF9PRl9MSU5FPlxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIHN0ZXAgfCBzdWJwcm9vZiApKyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApPyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiVGhlblwiIDxFTkRfT0ZfTElORT4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVwIDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cblxuXG5wcm9wZXJ0eURlY2xhcmF0aW9uLiAgICAgICAgICAgICAgICAgOjo9ICBwcm9wZXJ0eSAoIFwiOlwiIHR5cGUgKT8gPEVORF9PRl9MSU5FPiAgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vbnNlbnNlLi4uIDxFTkRfT0ZfTElORT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5cblxucHJlbWlzZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgcHJvY2VkdXJlQ2FsbC4uLiA8RU5EX09GX0xJTkU+ICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgc3RhdGVtZW50Li4uIDxFTkRfT0ZfTElORT4gIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub25zZW5zZS4uLiA8RU5EX09GX0xJTkU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuc3VwcG9zaXRpb24uICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgcHJvY2VkdXJlQ2FsbC4uLiA8RU5EX09GX0xJTkU+ICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgc3RhdGVtZW50Li4uIDxFTkRfT0ZfTElORT4gIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub25zZW5zZS4uLiA8RU5EX09GX0xJTkU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuY29uY2x1c2lvbi4gICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgc3RhdGVtZW50Li4uIDxFTkRfT0ZfTElORT4gIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub25zZW5zZS4uLiA8RU5EX09GX0xJTkU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuZGVkdWN0aW9uLiAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgc3RhdGVtZW50Li4uIDxFTkRfT0ZfTElORT4gIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub25zZW5zZS4uLiA8RU5EX09GX0xJTkU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbnN0ZXAuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIHN0YXRlbWVudC4uLiAoICggXCJieVwiIHwgXCJmcm9tXCIgKSByZWZlcmVuY2UgKT8gPEVORF9PRl9MSU5FPiAgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vbnNlbnNlLi4uICggKCBcImJ5XCIgfCBcImZyb21cIiApIHJlZmVyZW5jZSApPyA8RU5EX09GX0xJTkU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbnBhcmVudGhlc2lzZWRMYWJlbHMgICAgICAgICAgICAgICAgICA6Oj0gIFwiKFwiIGxhYmVscy4uLiBcIilcIiA7IFxuXG5wYXJlbnRoZXNpc2VkTGFiZWwgICAgICAgICAgICAgICAgICAgOjo9ICBcIihcIiBsYWJlbC4uLiBcIilcIiA7IFxuXG5cblxucHJvY2VkdXJlQ2FsbCAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJAXCI8Tk9fV0hJVEVTUEFDRT5yZWZlcmVuY2U8Tk9fV0hJVEVTUEFDRT5cIihcIiBwYXJhbWV0ZXIgKCBcIixcIiBwYXJhbWV0ZXIgKSogXCIpXCIgO1xuXG5cblxuYXJndW1lbnRzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgYXJndW1lbnQgKCBcIixcIiBhcmd1bWVudCApKiA7XG5cbmxhYmVscyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIGxhYmVsICggXCIsXCIgbGFiZWwgKSogO1xuXG50eXBlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICB0eXBlICggXCIsXCIgdHlwZSApKiA7XG5cblxuXG5hcmd1bWVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICB0ZXJtICggKSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdHlwZSAoIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5tZXRhQXJndW1lbnQgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBzdGF0ZW1lbnQgKCApIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBtZXRhVHlwZSAoICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuZnJhbWVBcmd1bWVudCAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgZnJhbWUgKCApIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBtZXRhVHlwZSAoICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbnJlZmVyZW5jZS4gICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIG1ldGF2YXJpYWJsZSA7XG5cbmxhYmVsLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIG1ldGF2YXJpYWJsZSA7XG5cblxuXG5tZXRhdmFyaWFibGUuICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gKCA8Tk9fV0hJVEVTUEFDRT4gXCIoXCIgKCB0ZXJtIHwgdHlwZSB8IHN0dWZmICkgXCIpXCIgKT8gO1xuXG5wYXJhbWV0ZXIuICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG52YXJpYWJsZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG5wcm9wZXJ0eS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0rIDtcblxubWV0YVR5cGUuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgW21ldGEtdHlwZV0gO1xuXG50eXBlLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBbdHlwZV0gO1xuXG5cblxuc3R1ZmYuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgKCBbbmFtZV0gfCBbc3ltYm9sXSB8IFticmFja2V0XSB8IFt1bmFzc2lnbmVkXSApKyA7XG5cbm5vbnNlbnNlLiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gICggW3R5cGVdIHwgW21ldGEtdHlwZV0gfCBbc3BlY2lhbF0gfCBbc2Vjb25kYXJ5LWtleXdvcmRdIHwgW25hbWVdIHwgW3N5bWJvbF0gfCBbYnJhY2tldF0gfCBbdW5hc3NpZ25lZF0gKSsgO2A7XG5cbmV4cG9ydCBkZWZhdWx0IGJuZjtcbiJdLCJuYW1lcyI6WyJibmYiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQTRUQTs7O2VBQUE7OztBQTFUQSxJQUFNQSxNQUFPO0lBMFRiLFdBQWVBIn0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub21pbmFsL2JuZi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuY29uc3QgYm5mID0gYGRvY3VtZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gICggdG9wTGV2ZWxEZWNsYXJhdGlvbiB8IHRvcExldmVsQXNzZXJ0aW9uIHwgdmVydGljYWxTcGFjZSB8IGVycm9yICkrIDtcblxuXG5cbnRvcExldmVsRGVjbGFyYXRpb24gICAgICAgICAgICAgICAgICA6Oj0gIHR5cGVEZWNsYXJhdGlvbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHZhcmlhYmxlRGVjbGFyYXRpb24gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBjb21iaW5hdG9yRGVjbGFyYXRpb24gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbWV0YXZhcmlhYmxlRGVjbGFyYXRpb24gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgY29tcGxleFR5cGVEZWNsYXJhdGlvbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbnRvcExldmVsQXNzZXJ0aW9uICAgICAgICAgICAgICAgICAgICA6Oj0gIHJ1bGUgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGF4aW9tIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBsZW1tYSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdGhlb3JlbSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgY29uamVjdHVyZSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbWV0YUxlbW1hIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBtZXRhdGhlb3JlbSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5cblxudmVydGljYWxTcGFjZSAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgPEVORF9PRl9MSU5FPisgO1xuXG5cblxuZXJyb3IuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgLiA7XG5cblxuXG50eXBlRGVjbGFyYXRpb24gICAgICAgICAgICAgICAgICAgICAgOjo9ICBcIlByb3Zpc2lvbmFsXCI/IFwiVHlwZVwiIHR5cGUgKCBcIjpcIiB0eXBlcyApPyA8RU5EX09GX0xJTkU+IDtcbiBcbnZhcmlhYmxlRGVjbGFyYXRpb24gICAgICAgICAgICAgICAgICA6Oj0gIFwiVmFyaWFibGVcIiB2YXJpYWJsZSAoIFwiOlwiIHR5cGUgXCJwcm92aXNpb25hbGx5XCI/ICk/IDxFTkRfT0ZfTElORT4gO1xuIFxuY29tYmluYXRvckRlY2xhcmF0aW9uICAgICAgICAgICAgICAgIDo6PSAgXCJDb21iaW5hdG9yXCIgc3RhdGVtZW50Li4uIDxFTkRfT0ZfTElORT4gO1xuIFxuY29uc3RydWN0b3JEZWNsYXJhdGlvbiAgICAgICAgICAgICAgIDo6PSAgXCJDb25zdHJ1Y3RvclwiIHRlcm0uLi4gKCBcIjpcIiB0eXBlIFwicHJvdmlzaW9uYWxseVwiPyApPyA8RU5EX09GX0xJTkU+IDtcbiBcbm1ldGF2YXJpYWJsZURlY2xhcmF0aW9uICAgICAgICAgICAgICA6Oj0gIFwiTWV0YXZhcmlhYmxlXCIgbWV0YXZhcmlhYmxlIFwiOlwiIG1ldGFUeXBlIDxFTkRfT0ZfTElORT4gO1xuIFxuY29tcGxleFR5cGVEZWNsYXJhdGlvbiAgICAgICAgICAgICAgIDo6PSAgXCJQcm92aXNpb25hbFwiPyBcIlR5cGVcIiA8RU5EX09GX0xJTkU+IFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlICggXCI6XCIgdHlwZXMgKT8gPEVORF9PRl9MSU5FPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBcIkFsaWFzXCIgPEVORF9PRl9MSU5FPiBbdHlwZV0gPEVORF9PRl9MSU5FPiApPyBcbiAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXG4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXCJQcm9wZXJ0aWVzXCIgPEVORF9PRl9MSU5FPiBwcm9wZXJ0eURlY2xhcmF0aW9uIHByb3BlcnR5RGVjbGFyYXRpb24rICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXCJQcm9wZXJ0eVwiIDxFTkRfT0ZfTElORT4gcHJvcGVydHlEZWNsYXJhdGlvbiApIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKT9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuIFxuXG4gIFxucnVsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJSdWxlXCIgcGFyZW50aGVzaXNlZExhYmVscyA8RU5EX09GX0xJTkU+IFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXCJQcmVtaXNlc1wiIDxFTkRfT0ZfTElORT4gcHJlbWlzZSBwcmVtaXNlKyApIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBcIlByZW1pc2VcIiA8RU5EX09GX0xJTkU+IHByZW1pc2UgKSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKT9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJDb25jbHVzaW9uXCIgPEVORF9PRl9MSU5FPiBjb25jbHVzaW9uIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvb2Y/IDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuXG5tZXRhTGVtbWEgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBcIk1ldGFMZW1tYVwiIHBhcmVudGhlc2lzZWRMYWJlbD8gPEVORF9PRl9MSU5FPiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlN1cHBvc2VcIiA8RU5EX09GX0xJTkU+IHN1cHBvc2l0aW9uKyBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlRoZW5cIiA8RU5EX09GX0xJTkU+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZHVjdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb29mIDtcblxubWV0YXRoZW9yZW0gICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJNZXRhdGhlb3JlbVwiIHBhcmVudGhlc2lzZWRMYWJlbCA8RU5EX09GX0xJTkU+IFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiU3VwcG9zZVwiIDxFTkRfT0ZfTElORT4gc3VwcG9zaXRpb24rIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiVGhlblwiIDxFTkRfT0ZfTElORT4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVkdWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9vZiA7XG5cbmF4aW9tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiQXhpb21cIiBzaWduYXR1cmU/IHBhcmVudGhlc2lzZWRMYWJlbHMgPEVORF9PRl9MSU5FPiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlN1cHBvc2VcIiA8RU5EX09GX0xJTkU+IHN1cHBvc2l0aW9uK1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiVGhlblwiIDxFTkRfT0ZfTElORT4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZHVjdGlvbiA7XG5cbmxlbW1hICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiTGVtbWFcIiBwYXJlbnRoZXNpc2VkTGFiZWxzPyA8RU5EX09GX0xJTkU+IFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiU3VwcG9zZVwiIDxFTkRfT0ZfTElORT4gc3VwcG9zaXRpb24rXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJUaGVuXCIgPEVORF9PRl9MSU5FPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKT9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWR1Y3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb29mIDtcblxudGhlb3JlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJUaGVvcmVtXCIgcGFyZW50aGVzaXNlZExhYmVscyA8RU5EX09GX0xJTkU+IFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiU3VwcG9zZVwiIDxFTkRfT0ZfTElORT4gc3VwcG9zaXRpb24rXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJUaGVuXCIgPEVORF9PRl9MSU5FPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKT9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVkdWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9vZiA7XG5cbmNvbmplY3R1cmUgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiQ29uamVjdHVyZVwiIHBhcmVudGhlc2lzZWRMYWJlbHMgPEVORF9PRl9MSU5FPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiU3VwcG9zZVwiIDxFTkRfT0ZfTElORT4gc3VwcG9zaXRpb24rXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJUaGVuXCIgPEVORF9PRl9MSU5FPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKT9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVkdWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9vZj8gO1xuXG5cblxucHJvb2YgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJQcm9vZlwiIDxFTkRfT0ZfTElORT4gZGVyaXZhdGlvbiA7XG5cbnN1YnByb29mICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiU3VwcG9zZVwiIDxFTkRfT0ZfTElORT4gc3VwcG9zaXRpb24rIHN1YkRlcml2YXRpb24gO1xuXG5kZXJpdmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICAoIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggc3RlcCB8IHN1YnByb29mICkrIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJUaGVyZWZvcmVcIiA8RU5EX09GX0xJTkU+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk/IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVwIDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cbnN1YkRlcml2YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIChcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIkhlbmNlXCIgPEVORF9PRl9MSU5FPlxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIHN0ZXAgfCBzdWJwcm9vZiApKyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApPyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiVGhlblwiIDxFTkRfT0ZfTElORT4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVwIDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cblxuXG5wcm9wZXJ0eURlY2xhcmF0aW9uLiAgICAgICAgICAgICAgICAgOjo9ICBwcm9wZXJ0eSAoIFwiOlwiIHR5cGUgKT8gPEVORF9PRl9MSU5FPiAgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vbnNlbnNlLi4uIDxFTkRfT0ZfTElORT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5cblxucHJlbWlzZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgcHJvY2VkdXJlQ2FsbC4uLiA8RU5EX09GX0xJTkU+ICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgc3RhdGVtZW50Li4uIDxFTkRfT0ZfTElORT4gIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub25zZW5zZS4uLiA8RU5EX09GX0xJTkU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuc3VwcG9zaXRpb24uICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgcHJvY2VkdXJlQ2FsbC4uLiA8RU5EX09GX0xJTkU+ICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgc3RhdGVtZW50Li4uIDxFTkRfT0ZfTElORT4gIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub25zZW5zZS4uLiA8RU5EX09GX0xJTkU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuY29uY2x1c2lvbi4gICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgc3RhdGVtZW50Li4uIDxFTkRfT0ZfTElORT4gIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub25zZW5zZS4uLiA8RU5EX09GX0xJTkU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuZGVkdWN0aW9uLiAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgc3RhdGVtZW50Li4uIDxFTkRfT0ZfTElORT4gIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub25zZW5zZS4uLiA8RU5EX09GX0xJTkU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbnN0ZXAuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIHN0YXRlbWVudC4uLiAoICggXCJieVwiIHwgXCJmcm9tXCIgKSByZWZlcmVuY2UgKT8gPEVORF9PRl9MSU5FPiAgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vbnNlbnNlLi4uICggKCBcImJ5XCIgfCBcImZyb21cIiApIHJlZmVyZW5jZSApPyA8RU5EX09GX0xJTkU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbnBhcmVudGhlc2lzZWRMYWJlbHMgICAgICAgICAgICAgICAgICA6Oj0gIFwiKFwiIGxhYmVscy4uLiBcIilcIiA7IFxuXG5wYXJlbnRoZXNpc2VkTGFiZWwgICAgICAgICAgICAgICAgICAgOjo9ICBcIihcIiBsYWJlbC4uLiBcIilcIiA7IFxuXG5cblxucHJvY2VkdXJlQ2FsbCAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJAXCI8Tk9fV0hJVEVTUEFDRT5yZWZlcmVuY2U8Tk9fV0hJVEVTUEFDRT5cIihcIiBwYXJhbWV0ZXIgKCBcIixcIiBwYXJhbWV0ZXIgKSogXCIpXCIgO1xuXG5cblxuc2lnbmF0dXJlICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJbXCIgdGVybSAoIFwiLFwiIHRlcm0gKSogXCJdXCIgO1xuXG5cblxuYXJndW1lbnRzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgYXJndW1lbnQgKCBcIixcIiBhcmd1bWVudCApKiA7XG5cbmxhYmVscyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIGxhYmVsICggXCIsXCIgbGFiZWwgKSogO1xuXG50eXBlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICB0eXBlICggXCIsXCIgdHlwZSApKiA7XG5cblxuXG5hcmd1bWVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICB0ZXJtICggKSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdHlwZSAoIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5tZXRhQXJndW1lbnQgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBzdGF0ZW1lbnQgKCApIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBtZXRhVHlwZSAoICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuZnJhbWVBcmd1bWVudCAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgZnJhbWUgKCApIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBtZXRhVHlwZSAoICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbnJlZmVyZW5jZS4gICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIG1ldGF2YXJpYWJsZSA7XG5cbmxhYmVsLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIG1ldGF2YXJpYWJsZSA7XG5cblxuXG5tZXRhdmFyaWFibGUuICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gKCA8Tk9fV0hJVEVTUEFDRT4gXCIoXCIgKCB0ZXJtIHwgdHlwZSB8IHN0dWZmICkgXCIpXCIgKT8gO1xuXG5wYXJhbWV0ZXIuICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG52YXJpYWJsZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG5wcm9wZXJ0eS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0rIDtcblxubWV0YVR5cGUuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgW21ldGEtdHlwZV0gO1xuXG50eXBlLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBbdHlwZV0gO1xuXG5cblxuc3R1ZmYuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgKCBbbmFtZV0gfCBbc3ltYm9sXSB8IFticmFja2V0XSB8IFt1bmFzc2lnbmVkXSApKyA7XG5cbm5vbnNlbnNlLiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gICggW3R5cGVdIHwgW21ldGEtdHlwZV0gfCBbc3BlY2lhbF0gfCBbc2Vjb25kYXJ5LWtleXdvcmRdIHwgW25hbWVdIHwgW3N5bWJvbF0gfCBbYnJhY2tldF0gfCBbdW5hc3NpZ25lZF0gKSsgO2A7XG5cbmV4cG9ydCBkZWZhdWx0IGJuZjtcbiJdLCJuYW1lcyI6WyJibmYiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWdVQTs7O2VBQUE7OztBQTlUQSxJQUFNQSxNQUFPO0lBOFRiLFdBQWVBIn0=
@@ -16,7 +16,7 @@ var entries = [
16
16
  "bracket": "^(?:\\(|\\))"
17
17
  },
18
18
  {
19
- "primary-keyword": "^(?:Rule|Axiom|Theorem|Lemma|Conjecture|MetaLemma|Metatheorem|Premises|Premise|Conclusion|Proof|Therefore|Suppose|Hence|Then|Satisfiable|Provisional|Type|Alias|Properties|Property|Variable|Constructor|Combinator|DependentType|DisjointType|Metavariable)\\b"
19
+ "primary-keyword": "^(?:Rule|Axiom|Theorem|Lemma|Conjecture|MetaLemma|Metatheorem|Premises|Premise|Conclusion|Proof|Therefore|Suppose|Hence|Then|Provisional|Type|Alias|Properties|Property|Variable|Constructor|Combinator|DependentType|DisjointType|Metavariable)\\b"
20
20
  },
21
21
  {
22
22
  "secondary-keyword": "^(?:is|in|an|a|of|by|from|for|satisfy|satisfies|provisionally)\\b"
@@ -33,4 +33,4 @@ var entries = [
33
33
  ];
34
34
  var _default = entries;
35
35
 
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub21pbmFsL2VudHJpZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5jb25zdCBlbnRyaWVzID0gW1xyXG4gIHtcclxuICAgIFwic3BlY2lhbFwiOiBcIl4oPzpAfDp8LClcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJicmFja2V0XCI6IFwiXig/OlxcXFwofFxcXFwpKVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInByaW1hcnkta2V5d29yZFwiOiBcIl4oPzpSdWxlfEF4aW9tfFRoZW9yZW18TGVtbWF8Q29uamVjdHVyZXxNZXRhTGVtbWF8TWV0YXRoZW9yZW18UHJlbWlzZXN8UHJlbWlzZXxDb25jbHVzaW9ufFByb29mfFRoZXJlZm9yZXxTdXBwb3NlfEhlbmNlfFRoZW58U2F0aXNmaWFibGV8UHJvdmlzaW9uYWx8VHlwZXxBbGlhc3xQcm9wZXJ0aWVzfFByb3BlcnR5fFZhcmlhYmxlfENvbnN0cnVjdG9yfENvbWJpbmF0b3J8RGVwZW5kZW50VHlwZXxEaXNqb2ludFR5cGV8TWV0YXZhcmlhYmxlKVxcXFxiXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwic2Vjb25kYXJ5LWtleXdvcmRcIjogXCJeKD86aXN8aW58YW58YXxvZnxieXxmcm9tfGZvcnxzYXRpc2Z5fHNhdGlzZmllc3xwcm92aXNpb25hbGx5KVxcXFxiXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwibWV0YS10eXBlXCI6IFwiXig/OlN0YXRlbWVudHxSZWZlcmVuY2V8RnJhbWUpXFxcXGJcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJuYW1lXCI6IFwiXltBLVphLXrOkS3Oqc6xLc+JXVtBLVphLXrOkS3Oqc6xLc+JXzAtOV0qXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwidW5hc3NpZ25lZFwiOiBcIl5bXlxcXFxzXFxcXChcXFxcKTosXStcIlxyXG4gIH1cclxuXTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGVudHJpZXM7XHJcbiJdLCJuYW1lcyI6WyJlbnRyaWVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkEwQkE7OztlQUFBOzs7QUF4QkEsSUFBTUEsVUFBVTtJQUNkO1FBQ0UsV0FBVztJQUNiO0lBQ0E7UUFDRSxXQUFXO0lBQ2I7SUFDQTtRQUNFLG1CQUFtQjtJQUNyQjtJQUNBO1FBQ0UscUJBQXFCO0lBQ3ZCO0lBQ0E7UUFDRSxhQUFhO0lBQ2Y7SUFDQTtRQUNFLFFBQVE7SUFDVjtJQUNBO1FBQ0UsY0FBYztJQUNoQjtDQUNEO0lBRUQsV0FBZUEifQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub21pbmFsL2VudHJpZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5jb25zdCBlbnRyaWVzID0gW1xyXG4gIHtcclxuICAgIFwic3BlY2lhbFwiOiBcIl4oPzpAfDp8LClcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJicmFja2V0XCI6IFwiXig/OlxcXFwofFxcXFwpKVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInByaW1hcnkta2V5d29yZFwiOiBcIl4oPzpSdWxlfEF4aW9tfFRoZW9yZW18TGVtbWF8Q29uamVjdHVyZXxNZXRhTGVtbWF8TWV0YXRoZW9yZW18UHJlbWlzZXN8UHJlbWlzZXxDb25jbHVzaW9ufFByb29mfFRoZXJlZm9yZXxTdXBwb3NlfEhlbmNlfFRoZW58UHJvdmlzaW9uYWx8VHlwZXxBbGlhc3xQcm9wZXJ0aWVzfFByb3BlcnR5fFZhcmlhYmxlfENvbnN0cnVjdG9yfENvbWJpbmF0b3J8RGVwZW5kZW50VHlwZXxEaXNqb2ludFR5cGV8TWV0YXZhcmlhYmxlKVxcXFxiXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwic2Vjb25kYXJ5LWtleXdvcmRcIjogXCJeKD86aXN8aW58YW58YXxvZnxieXxmcm9tfGZvcnxzYXRpc2Z5fHNhdGlzZmllc3xwcm92aXNpb25hbGx5KVxcXFxiXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwibWV0YS10eXBlXCI6IFwiXig/OlN0YXRlbWVudHxSZWZlcmVuY2V8RnJhbWUpXFxcXGJcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJuYW1lXCI6IFwiXltBLVphLXrOkS3Oqc6xLc+JXVtBLVphLXrOkS3Oqc6xLc+JXzAtOV0qXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwidW5hc3NpZ25lZFwiOiBcIl5bXlxcXFxzXFxcXChcXFxcKTosXStcIlxyXG4gIH1cclxuXTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGVudHJpZXM7XHJcbiJdLCJuYW1lcyI6WyJlbnRyaWVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkEwQkE7OztlQUFBOzs7QUF4QkEsSUFBTUEsVUFBVTtJQUNkO1FBQ0UsV0FBVztJQUNiO0lBQ0E7UUFDRSxXQUFXO0lBQ2I7SUFDQTtRQUNFLG1CQUFtQjtJQUNyQjtJQUNBO1FBQ0UscUJBQXFCO0lBQ3ZCO0lBQ0E7UUFDRSxhQUFhO0lBQ2Y7SUFDQTtRQUNFLFFBQVE7SUFDVjtJQUNBO1FBQ0UsY0FBYztJQUNoQjtDQUNEO0lBRUQsV0FBZUEifQ==
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-grammars",
3
3
  "author": "James Smith",
4
- "version": "1.3.287",
4
+ "version": "1.3.290",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-grammars",
7
7
  "description": "Occam's grammars.",
@@ -19,8 +19,8 @@
19
19
  "devDependencies": {
20
20
  "@swc/core": "^1.5.6",
21
21
  "easy": "^23.1.4",
22
- "easy-layout": "^6.0.251",
23
- "easy-with-style": "^3.0.504",
22
+ "easy-layout": "^6.0.253",
23
+ "easy-with-style": "^3.0.507",
24
24
  "esbuild": "^0.11.5",
25
25
  "express": "^4.17.1",
26
26
  "juxtapose": "^4.0.119",
@@ -122,7 +122,7 @@ metatheorem ::= "Metatheorem" parenthesisedLabel <END_
122
122
 
123
123
  proof ;
124
124
 
125
- axiom ::= "Satisfiable"? "Axiom" parenthesisedLabels <END_OF_LINE>
125
+ axiom ::= "Axiom" signature? parenthesisedLabels <END_OF_LINE>
126
126
 
127
127
  (
128
128
 
@@ -262,6 +262,10 @@ procedureCall ::= "@"<NO_WHITESPACE>reference<NO_WHITESP
262
262
 
263
263
 
264
264
 
265
+ signature ::= "[" term ( "," term )* "]" ;
266
+
267
+
268
+
265
269
  arguments ::= argument ( "," argument )* ;
266
270
 
267
271
  labels ::= label ( "," label )* ;
@@ -8,7 +8,7 @@ const entries = [
8
8
  "bracket": "^(?:\\(|\\))"
9
9
  },
10
10
  {
11
- "primary-keyword": "^(?:Rule|Axiom|Theorem|Lemma|Conjecture|MetaLemma|Metatheorem|Premises|Premise|Conclusion|Proof|Therefore|Suppose|Hence|Then|Satisfiable|Provisional|Type|Alias|Properties|Property|Variable|Constructor|Combinator|DependentType|DisjointType|Metavariable)\\b"
11
+ "primary-keyword": "^(?:Rule|Axiom|Theorem|Lemma|Conjecture|MetaLemma|Metatheorem|Premises|Premise|Conclusion|Proof|Therefore|Suppose|Hence|Then|Provisional|Type|Alias|Properties|Property|Variable|Constructor|Combinator|DependentType|DisjointType|Metavariable)\\b"
12
12
  },
13
13
  {
14
14
  "secondary-keyword": "^(?:is|in|an|a|of|by|from|for|satisfy|satisfies|provisionally)\\b"