occam-grammars 1.3.220 → 1.3.222

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 ( "Properties" <END_OF_LINE> propertyDeclaration propertyDeclaration+ ) \n \n | \n \n ( "Property" <END_OF_LINE> propertyDeclaration ) \n \n ) ;\n \n\n \nrule ::= "Rule" "(" labels... ")" <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" ( "(" label... ")" )? <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" "(" label... ")" <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" "(" labels... ")" <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" ( "(" labels... ")" )? <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" "(" labels... ")" <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" "(" labels... ")" <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\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 ( "Properties" <END_OF_LINE> propertyDeclaration propertyDeclaration+ ) \n \n | \n \n ( "Property" <END_OF_LINE> propertyDeclaration ) \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] )+ ;';
12
12
  var _default = bnf;
13
13
 
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub21pbmFsL2JuZi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuY29uc3QgYm5mID0gYGRvY3VtZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gICggdG9wTGV2ZWxEZWNsYXJhdGlvbiB8IHRvcExldmVsQXNzZXJ0aW9uIHwgdmVydGljYWxTcGFjZSB8IGVycm9yICkrIDtcblxuXG5cbnRvcExldmVsRGVjbGFyYXRpb24gICAgICAgICAgICAgICAgICA6Oj0gIHR5cGVEZWNsYXJhdGlvbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHZhcmlhYmxlRGVjbGFyYXRpb24gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBjb21iaW5hdG9yRGVjbGFyYXRpb24gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbWV0YXZhcmlhYmxlRGVjbGFyYXRpb24gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgY29tcGxleFR5cGVEZWNsYXJhdGlvbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbnRvcExldmVsQXNzZXJ0aW9uICAgICAgICAgICAgICAgICAgICA6Oj0gIHJ1bGUgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGF4aW9tIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBsZW1tYSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdGhlb3JlbSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgY29uamVjdHVyZSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbWV0YUxlbW1hIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBtZXRhdGhlb3JlbSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5cblxudmVydGljYWxTcGFjZSAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgPEVORF9PRl9MSU5FPisgO1xuXG5cblxuZXJyb3IuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgLiA7XG5cblxuXG50eXBlRGVjbGFyYXRpb24gICAgICAgICAgICAgICAgICAgICAgOjo9ICBcIlByb3Zpc2lvbmFsXCI/IFwiVHlwZVwiIHR5cGUgKCBcIjpcIiB0eXBlcyApPyA8RU5EX09GX0xJTkU+IDtcbiBcbnZhcmlhYmxlRGVjbGFyYXRpb24gICAgICAgICAgICAgICAgICA6Oj0gIFwiVmFyaWFibGVcIiB2YXJpYWJsZSAoIFwiOlwiIHR5cGUgXCJwcm92aXNpb25hbGx5XCI/ICk/IDxFTkRfT0ZfTElORT4gO1xuIFxuY29tYmluYXRvckRlY2xhcmF0aW9uICAgICAgICAgICAgICAgIDo6PSAgXCJDb21iaW5hdG9yXCIgc3RhdGVtZW50Li4uIDxFTkRfT0ZfTElORT4gO1xuIFxuY29uc3RydWN0b3JEZWNsYXJhdGlvbiAgICAgICAgICAgICAgIDo6PSAgXCJDb25zdHJ1Y3RvclwiIHRlcm0uLi4gKCBcIjpcIiB0eXBlIFwicHJvdmlzaW9uYWxseVwiPyApPyA8RU5EX09GX0xJTkU+IDtcbiBcbm1ldGF2YXJpYWJsZURlY2xhcmF0aW9uICAgICAgICAgICAgICA6Oj0gIFwiTWV0YXZhcmlhYmxlXCIgbWV0YXZhcmlhYmxlIFwiOlwiIG1ldGFUeXBlIDxFTkRfT0ZfTElORT4gO1xuIFxuY29tcGxleFR5cGVEZWNsYXJhdGlvbiAgICAgICAgICAgICAgIDo6PSAgXCJQcm92aXNpb25hbFwiPyBcIlR5cGVcIiA8RU5EX09GX0xJTkU+IFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlICggXCI6XCIgdHlwZXMgKT8gPEVORF9PRl9MSU5FPiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIFwiUHJvcGVydGllc1wiIDxFTkRfT0ZfTElORT4gcHJvcGVydHlEZWNsYXJhdGlvbiBwcm9wZXJ0eURlY2xhcmF0aW9uKyApIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBcIlByb3BlcnR5XCIgPEVORF9PRl9MSU5FPiBwcm9wZXJ0eURlY2xhcmF0aW9uICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgO1xuIFxuXG4gIFxucnVsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJSdWxlXCIgXCIoXCIgbGFiZWxzLi4uIFwiKVwiIDxFTkRfT0ZfTElORT4gXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBcIlByZW1pc2VzXCIgPEVORF9PRl9MSU5FPiBwcmVtaXNlIHByZW1pc2UrICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIFwiUHJlbWlzZVwiIDxFTkRfT0ZfTElORT4gcHJlbWlzZSApIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIkNvbmNsdXNpb25cIiA8RU5EX09GX0xJTkU+IGNvbmNsdXNpb24gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9vZj8gOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cbm1ldGFMZW1tYSAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiTWV0YUxlbW1hXCIgKCBcIihcIiBsYWJlbC4uLiBcIilcIiApPyA8RU5EX09GX0xJTkU+IFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiU3VwcG9zZVwiIDxFTkRfT0ZfTElORT4gc3VwcG9zaXRpb24rIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiVGhlblwiIDxFTkRfT0ZfTElORT4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVkdWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvb2YgO1xuXG5tZXRhdGhlb3JlbSAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBcIk1ldGF0aGVvcmVtXCIgXCIoXCIgbGFiZWwuLi4gXCIpXCIgPEVORF9PRl9MSU5FPiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlN1cHBvc2VcIiA8RU5EX09GX0xJTkU+IHN1cHBvc2l0aW9uKyBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlRoZW5cIiA8RU5EX09GX0xJTkU+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZHVjdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvb2YgO1xuXG5heGlvbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBcIlNhdGlzZmlhYmxlXCI/IFwiQXhpb21cIiBcIihcIiBsYWJlbHMuLi4gXCIpXCIgPEVORF9PRl9MSU5FPiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlN1cHBvc2VcIiA8RU5EX09GX0xJTkU+IHN1cHBvc2l0aW9uK1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiVGhlblwiIDxFTkRfT0ZfTElORT4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZHVjdGlvbiA7XG5cbmxlbW1hICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiTGVtbWFcIiAoIFwiKFwiIGxhYmVscy4uLiBcIilcIiApPyA8RU5EX09GX0xJTkU+IFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiU3VwcG9zZVwiIDxFTkRfT0ZfTElORT4gc3VwcG9zaXRpb24rXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJUaGVuXCIgPEVORF9PRl9MSU5FPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKT9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWR1Y3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb29mIDtcblxudGhlb3JlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJUaGVvcmVtXCIgXCIoXCIgbGFiZWxzLi4uIFwiKVwiIDxFTkRfT0ZfTElORT4gXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJTdXBwb3NlXCIgPEVORF9PRl9MSU5FPiBzdXBwb3NpdGlvbitcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlRoZW5cIiA8RU5EX09GX0xJTkU+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWR1Y3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb29mIDtcblxuY29uamVjdHVyZSAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJDb25qZWN0dXJlXCIgXCIoXCIgbGFiZWxzLi4uIFwiKVwiIDxFTkRfT0ZfTElORT5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlN1cHBvc2VcIiA8RU5EX09GX0xJTkU+IHN1cHBvc2l0aW9uK1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiVGhlblwiIDxFTkRfT0ZfTElORT4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZHVjdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvb2Y/IDtcblxuXG5cbnByb29mICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiUHJvb2ZcIiA8RU5EX09GX0xJTkU+IGRlcml2YXRpb24gO1xuXG5zdWJwcm9vZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBcIlN1cHBvc2VcIiA8RU5EX09GX0xJTkU+IHN1cHBvc2l0aW9uKyBzdWJEZXJpdmF0aW9uIDtcblxuZGVyaXZhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgKCBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIHN0ZXAgfCBzdWJwcm9vZiApKyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiVGhlcmVmb3JlXCIgPEVORF9PRl9MSU5FPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApPyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RlcCA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuXG5zdWJEZXJpdmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICAoXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJIZW5jZVwiIDxFTkRfT0ZfTElORT5cbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBzdGVwIHwgc3VicHJvb2YgKSsgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKT8gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlRoZW5cIiA8RU5EX09GX0xJTkU+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RlcCA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuXG5cblxucHJvcGVydHlEZWNsYXJhdGlvbi4gICAgICAgICAgICAgICAgIDo6PSAgcHJvcGVydHkgKCBcIjpcIiB0eXBlICk/IDxFTkRfT0ZfTElORT4gIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub25zZW5zZS4uLiA8RU5EX09GX0xJTkU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbnByZW1pc2UuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIHByb2NlZHVyZUNhbGwuLi4gPEVORF9PRl9MSU5FPiAgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHN0YXRlbWVudC4uLiA8RU5EX09GX0xJTkU+ICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbm9uc2Vuc2UuLi4gPEVORF9PRl9MSU5FPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cbnN1cHBvc2l0aW9uLiAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIHByb2NlZHVyZUNhbGwuLi4gPEVORF9PRl9MSU5FPiAgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHN0YXRlbWVudC4uLiA8RU5EX09GX0xJTkU+ICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbm9uc2Vuc2UuLi4gPEVORF9PRl9MSU5FPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cbmNvbmNsdXNpb24uICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIHN0YXRlbWVudC4uLiA8RU5EX09GX0xJTkU+ICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbm9uc2Vuc2UuLi4gPEVORF9PRl9MSU5FPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cbmRlZHVjdGlvbi4gICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIHN0YXRlbWVudC4uLiA8RU5EX09GX0xJTkU+ICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbm9uc2Vuc2UuLi4gPEVORF9PRl9MSU5FPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cblxuXG5zdGVwLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBzdGF0ZW1lbnQuLi4gKCAoIFwiYnlcIiB8IFwiZnJvbVwiICkgcmVmZXJlbmNlICk/IDxFTkRfT0ZfTElORT4gIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub25zZW5zZS4uLiAoICggXCJieVwiIHwgXCJmcm9tXCIgKSByZWZlcmVuY2UgKT8gPEVORF9PRl9MSU5FPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cblxuXG5wcm9jZWR1cmVDYWxsICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBcIkBcIjxOT19XSElURVNQQUNFPnJlZmVyZW5jZTxOT19XSElURVNQQUNFPlwiKFwiIHBhcmFtZXRlciAoIFwiLFwiIHBhcmFtZXRlciApKiBcIilcIiA7XG5cblxuXG5hcmd1bWVudHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBhcmd1bWVudCAoIFwiLFwiIGFyZ3VtZW50ICkqIDtcblxubGFiZWxzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgbGFiZWwgKCBcIixcIiBsYWJlbCApKiA7XG5cbnR5cGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIHR5cGUgKCBcIixcIiB0eXBlICkqIDtcblxuXG5cbmFyZ3VtZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIHRlcm0gKCApIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICB0eXBlICggKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cbm1ldGFBcmd1bWVudCAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIHN0YXRlbWVudCAoICkgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG1ldGFUeXBlICggKSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5mcmFtZUFyZ3VtZW50ICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBmcmFtZSAoICkgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG1ldGFUeXBlICggKSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5cblxucmVmZXJlbmNlLiAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgbWV0YXZhcmlhYmxlIDtcblxubGFiZWwuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgbWV0YXZhcmlhYmxlIDtcblxuXG5cbm1ldGF2YXJpYWJsZS4gICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFtuYW1lXSAoIDxOT19XSElURVNQQUNFPiBcIihcIiAoIHRlcm0gfCB0eXBlIHwgc3R1ZmYgKSBcIilcIiApPyA7XG5cbnBhcmFtZXRlci4gICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFtuYW1lXSA7XG5cbnZhcmlhYmxlLiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFtuYW1lXSA7XG5cbnByb3BlcnR5LiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFtuYW1lXSsgO1xuXG5tZXRhVHlwZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBbbWV0YS10eXBlXSA7XG5cbnR5cGUuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFt0eXBlXSA7XG5cblxuXG5zdHVmZi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICAoIFtuYW1lXSB8IFtzeW1ib2xdIHwgW2JyYWNrZXRdIHwgW3VuYXNzaWduZWRdICkrIDtcblxubm9uc2Vuc2UuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgKCBbdHlwZV0gfCBbbWV0YS10eXBlXSB8IFtzcGVjaWFsXSB8IFtzZWNvbmRhcnkta2V5d29yZF0gfCBbbmFtZV0gfCBbc3ltYm9sXSB8IFticmFja2V0XSB8IFt1bmFzc2lnbmVkXSApKyA7YDtcblxuZXhwb3J0IGRlZmF1bHQgYm5mO1xuIl0sIm5hbWVzIjpbImJuZiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBZ1RBOzs7ZUFBQTs7O0FBOVNBLElBQU1BLE1BQU87SUE4U2IsV0FBZUEifQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub21pbmFsL2JuZi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuY29uc3QgYm5mID0gYGRvY3VtZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gICggdG9wTGV2ZWxEZWNsYXJhdGlvbiB8IHRvcExldmVsQXNzZXJ0aW9uIHwgdmVydGljYWxTcGFjZSB8IGVycm9yICkrIDtcblxuXG5cbnRvcExldmVsRGVjbGFyYXRpb24gICAgICAgICAgICAgICAgICA6Oj0gIHR5cGVEZWNsYXJhdGlvbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHZhcmlhYmxlRGVjbGFyYXRpb24gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBjb21iaW5hdG9yRGVjbGFyYXRpb24gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbWV0YXZhcmlhYmxlRGVjbGFyYXRpb24gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgY29tcGxleFR5cGVEZWNsYXJhdGlvbiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbnRvcExldmVsQXNzZXJ0aW9uICAgICAgICAgICAgICAgICAgICA6Oj0gIHJ1bGUgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGF4aW9tIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBsZW1tYSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdGhlb3JlbSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgY29uamVjdHVyZSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbWV0YUxlbW1hIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBtZXRhdGhlb3JlbSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5cblxudmVydGljYWxTcGFjZSAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgPEVORF9PRl9MSU5FPisgO1xuXG5cblxuZXJyb3IuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgLiA7XG5cblxuXG50eXBlRGVjbGFyYXRpb24gICAgICAgICAgICAgICAgICAgICAgOjo9ICBcIlByb3Zpc2lvbmFsXCI/IFwiVHlwZVwiIHR5cGUgKCBcIjpcIiB0eXBlcyApPyA8RU5EX09GX0xJTkU+IDtcbiBcbnZhcmlhYmxlRGVjbGFyYXRpb24gICAgICAgICAgICAgICAgICA6Oj0gIFwiVmFyaWFibGVcIiB2YXJpYWJsZSAoIFwiOlwiIHR5cGUgXCJwcm92aXNpb25hbGx5XCI/ICk/IDxFTkRfT0ZfTElORT4gO1xuIFxuY29tYmluYXRvckRlY2xhcmF0aW9uICAgICAgICAgICAgICAgIDo6PSAgXCJDb21iaW5hdG9yXCIgc3RhdGVtZW50Li4uIDxFTkRfT0ZfTElORT4gO1xuIFxuY29uc3RydWN0b3JEZWNsYXJhdGlvbiAgICAgICAgICAgICAgIDo6PSAgXCJDb25zdHJ1Y3RvclwiIHRlcm0uLi4gKCBcIjpcIiB0eXBlIFwicHJvdmlzaW9uYWxseVwiPyApPyA8RU5EX09GX0xJTkU+IDtcbiBcbm1ldGF2YXJpYWJsZURlY2xhcmF0aW9uICAgICAgICAgICAgICA6Oj0gIFwiTWV0YXZhcmlhYmxlXCIgbWV0YXZhcmlhYmxlIFwiOlwiIG1ldGFUeXBlIDxFTkRfT0ZfTElORT4gO1xuIFxuY29tcGxleFR5cGVEZWNsYXJhdGlvbiAgICAgICAgICAgICAgIDo6PSAgXCJQcm92aXNpb25hbFwiPyBcIlR5cGVcIiA8RU5EX09GX0xJTkU+IFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlICggXCI6XCIgdHlwZXMgKT8gPEVORF9PRl9MSU5FPiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIFwiUHJvcGVydGllc1wiIDxFTkRfT0ZfTElORT4gcHJvcGVydHlEZWNsYXJhdGlvbiBwcm9wZXJ0eURlY2xhcmF0aW9uKyApIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBcIlByb3BlcnR5XCIgPEVORF9PRl9MSU5FPiBwcm9wZXJ0eURlY2xhcmF0aW9uICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgO1xuIFxuXG4gIFxucnVsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJSdWxlXCIgcGFyZW50aGVzaXNlZExhYmVscyA8RU5EX09GX0xJTkU+IFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggXCJQcmVtaXNlc1wiIDxFTkRfT0ZfTElORT4gcHJlbWlzZSBwcmVtaXNlKyApIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBcIlByZW1pc2VcIiA8RU5EX09GX0xJTkU+IHByZW1pc2UgKSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKT9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJDb25jbHVzaW9uXCIgPEVORF9PRl9MSU5FPiBjb25jbHVzaW9uIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvb2Y/IDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuXG5tZXRhTGVtbWEgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBcIk1ldGFMZW1tYVwiIHBhcmVudGhlc2lzZWRMYWJlbD8gPEVORF9PRl9MSU5FPiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlN1cHBvc2VcIiA8RU5EX09GX0xJTkU+IHN1cHBvc2l0aW9uKyBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlRoZW5cIiA8RU5EX09GX0xJTkU+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZHVjdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb29mIDtcblxubWV0YXRoZW9yZW0gICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJNZXRhdGhlb3JlbVwiIHBhcmVudGhlc2lzZWRMYWJlbCA8RU5EX09GX0xJTkU+IFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiU3VwcG9zZVwiIDxFTkRfT0ZfTElORT4gc3VwcG9zaXRpb24rIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiVGhlblwiIDxFTkRfT0ZfTElORT4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVkdWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9vZiA7XG5cbmF4aW9tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiU2F0aXNmaWFibGVcIj8gXCJBeGlvbVwiIHBhcmVudGhlc2lzZWRMYWJlbHMgPEVORF9PRl9MSU5FPiBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlN1cHBvc2VcIiA8RU5EX09GX0xJTkU+IHN1cHBvc2l0aW9uK1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiVGhlblwiIDxFTkRfT0ZfTElORT4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZHVjdGlvbiA7XG5cbmxlbW1hICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiTGVtbWFcIiBwYXJlbnRoZXNpc2VkTGFiZWxzPyA8RU5EX09GX0xJTkU+IFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiU3VwcG9zZVwiIDxFTkRfT0ZfTElORT4gc3VwcG9zaXRpb24rXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJUaGVuXCIgPEVORF9PRl9MSU5FPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKT9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWR1Y3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb29mIDtcblxudGhlb3JlbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJUaGVvcmVtXCIgcGFyZW50aGVzaXNlZExhYmVscyA8RU5EX09GX0xJTkU+IFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiU3VwcG9zZVwiIDxFTkRfT0ZfTElORT4gc3VwcG9zaXRpb24rXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJUaGVuXCIgPEVORF9PRl9MSU5FPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKT9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVkdWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9vZiA7XG5cbmNvbmplY3R1cmUgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiQ29uamVjdHVyZVwiIHBhcmVudGhlc2lzZWRMYWJlbHMgPEVORF9PRl9MSU5FPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiU3VwcG9zZVwiIDxFTkRfT0ZfTElORT4gc3VwcG9zaXRpb24rXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJUaGVuXCIgPEVORF9PRl9MSU5FPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKT9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVkdWN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9vZj8gO1xuXG5cblxucHJvb2YgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJQcm9vZlwiIDxFTkRfT0ZfTElORT4gZGVyaXZhdGlvbiA7XG5cbnN1YnByb29mICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIFwiU3VwcG9zZVwiIDxFTkRfT0ZfTElORT4gc3VwcG9zaXRpb24rIHN1YkRlcml2YXRpb24gO1xuXG5kZXJpdmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICAoIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggc3RlcCB8IHN1YnByb29mICkrIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJUaGVyZWZvcmVcIiA8RU5EX09GX0xJTkU+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk/IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVwIDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cbnN1YkRlcml2YXRpb24gICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIChcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIkhlbmNlXCIgPEVORF9PRl9MSU5FPlxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIHN0ZXAgfCBzdWJwcm9vZiApKyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApPyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiVGhlblwiIDxFTkRfT0ZfTElORT4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGVwIDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cblxuXG5wcm9wZXJ0eURlY2xhcmF0aW9uLiAgICAgICAgICAgICAgICAgOjo9ICBwcm9wZXJ0eSAoIFwiOlwiIHR5cGUgKT8gPEVORF9PRl9MSU5FPiAgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vbnNlbnNlLi4uIDxFTkRfT0ZfTElORT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5cblxucHJlbWlzZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgcHJvY2VkdXJlQ2FsbC4uLiA8RU5EX09GX0xJTkU+ICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgc3RhdGVtZW50Li4uIDxFTkRfT0ZfTElORT4gIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub25zZW5zZS4uLiA8RU5EX09GX0xJTkU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuc3VwcG9zaXRpb24uICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgcHJvY2VkdXJlQ2FsbC4uLiA8RU5EX09GX0xJTkU+ICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgc3RhdGVtZW50Li4uIDxFTkRfT0ZfTElORT4gIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub25zZW5zZS4uLiA8RU5EX09GX0xJTkU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuY29uY2x1c2lvbi4gICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgc3RhdGVtZW50Li4uIDxFTkRfT0ZfTElORT4gIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub25zZW5zZS4uLiA8RU5EX09GX0xJTkU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuZGVkdWN0aW9uLiAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgc3RhdGVtZW50Li4uIDxFTkRfT0ZfTElORT4gIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub25zZW5zZS4uLiA8RU5EX09GX0xJTkU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbnN0ZXAuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIHN0YXRlbWVudC4uLiAoICggXCJieVwiIHwgXCJmcm9tXCIgKSByZWZlcmVuY2UgKT8gPEVORF9PRl9MSU5FPiAgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vbnNlbnNlLi4uICggKCBcImJ5XCIgfCBcImZyb21cIiApIHJlZmVyZW5jZSApPyA8RU5EX09GX0xJTkU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbnBhcmVudGhlc2lzZWRMYWJlbHMgICAgICAgICAgICAgICAgICA6Oj0gIFwiKFwiIGxhYmVscy4uLiBcIilcIiA7IFxuXG5wYXJlbnRoZXNpc2VkTGFiZWwgICAgICAgICAgICAgICAgICAgOjo9ICBcIihcIiBsYWJlbC4uLiBcIilcIiA7IFxuXG5cblxucHJvY2VkdXJlQ2FsbCAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJAXCI8Tk9fV0hJVEVTUEFDRT5yZWZlcmVuY2U8Tk9fV0hJVEVTUEFDRT5cIihcIiBwYXJhbWV0ZXIgKCBcIixcIiBwYXJhbWV0ZXIgKSogXCIpXCIgO1xuXG5cblxuYXJndW1lbnRzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgYXJndW1lbnQgKCBcIixcIiBhcmd1bWVudCApKiA7XG5cbmxhYmVscyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIGxhYmVsICggXCIsXCIgbGFiZWwgKSogO1xuXG50eXBlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICB0eXBlICggXCIsXCIgdHlwZSApKiA7XG5cblxuXG5hcmd1bWVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICB0ZXJtICggKSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdHlwZSAoIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5tZXRhQXJndW1lbnQgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBzdGF0ZW1lbnQgKCApIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBtZXRhVHlwZSAoICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuZnJhbWVBcmd1bWVudCAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgZnJhbWUgKCApIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBtZXRhVHlwZSAoICkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbnJlZmVyZW5jZS4gICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIG1ldGF2YXJpYWJsZSA7XG5cbmxhYmVsLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gIG1ldGF2YXJpYWJsZSA7XG5cblxuXG5tZXRhdmFyaWFibGUuICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gKCA8Tk9fV0hJVEVTUEFDRT4gXCIoXCIgKCB0ZXJtIHwgdHlwZSB8IHN0dWZmICkgXCIpXCIgKT8gO1xuXG5wYXJhbWV0ZXIuICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG52YXJpYWJsZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuXG5wcm9wZXJ0eS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0rIDtcblxubWV0YVR5cGUuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgW21ldGEtdHlwZV0gO1xuXG50eXBlLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjo9ICBbdHlwZV0gO1xuXG5cblxuc3R1ZmYuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDo6PSAgKCBbbmFtZV0gfCBbc3ltYm9sXSB8IFticmFja2V0XSB8IFt1bmFzc2lnbmVkXSApKyA7XG5cbm5vbnNlbnNlLiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Oj0gICggW3R5cGVdIHwgW21ldGEtdHlwZV0gfCBbc3BlY2lhbF0gfCBbc2Vjb25kYXJ5LWtleXdvcmRdIHwgW25hbWVdIHwgW3N5bWJvbF0gfCBbYnJhY2tldF0gfCBbdW5hc3NpZ25lZF0gKSsgO2A7XG5cbmV4cG9ydCBkZWZhdWx0IGJuZjtcbiJdLCJuYW1lcyI6WyJibmYiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXNUQTs7O2VBQUE7OztBQXBUQSxJQUFNQSxNQUFPO0lBb1RiLFdBQWVBIn0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-grammars",
3
3
  "author": "James Smith",
4
- "version": "1.3.220",
4
+ "version": "1.3.222",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-grammars",
7
7
  "description": "Occam's grammars.",
@@ -72,7 +72,7 @@ complexTypeDeclaration ::= "Provisional"? "Type" <END_OF_LINE>
72
72
 
73
73
 
74
74
 
75
- rule ::= "Rule" "(" labels... ")" <END_OF_LINE>
75
+ rule ::= "Rule" parenthesisedLabels <END_OF_LINE>
76
76
 
77
77
  (
78
78
 
@@ -88,7 +88,7 @@ rule ::= "Rule" "(" labels... ")" <END_OF_LINE>
88
88
 
89
89
  proof? ;
90
90
 
91
- metaLemma ::= "MetaLemma" ( "(" label... ")" )? <END_OF_LINE>
91
+ metaLemma ::= "MetaLemma" parenthesisedLabel? <END_OF_LINE>
92
92
 
93
93
  (
94
94
 
@@ -102,7 +102,7 @@ metaLemma ::= "MetaLemma" ( "(" label... ")" )? <END
102
102
 
103
103
  proof ;
104
104
 
105
- metatheorem ::= "Metatheorem" "(" label... ")" <END_OF_LINE>
105
+ metatheorem ::= "Metatheorem" parenthesisedLabel <END_OF_LINE>
106
106
 
107
107
  (
108
108
 
@@ -116,7 +116,7 @@ metatheorem ::= "Metatheorem" "(" label... ")" <END_OF
116
116
 
117
117
  proof ;
118
118
 
119
- axiom ::= "Satisfiable"? "Axiom" "(" labels... ")" <END_OF_LINE>
119
+ axiom ::= "Satisfiable"? "Axiom" parenthesisedLabels <END_OF_LINE>
120
120
 
121
121
  (
122
122
 
@@ -128,7 +128,7 @@ axiom ::= "Satisfiable"? "Axiom" "(" labels... "
128
128
 
129
129
  deduction ;
130
130
 
131
- lemma ::= "Lemma" ( "(" labels... ")" )? <END_OF_LINE>
131
+ lemma ::= "Lemma" parenthesisedLabels? <END_OF_LINE>
132
132
 
133
133
  (
134
134
 
@@ -142,7 +142,7 @@ lemma ::= "Lemma" ( "(" labels... ")" )? <END_OF
142
142
 
143
143
  proof ;
144
144
 
145
- theorem ::= "Theorem" "(" labels... ")" <END_OF_LINE>
145
+ theorem ::= "Theorem" parenthesisedLabels <END_OF_LINE>
146
146
 
147
147
  (
148
148
 
@@ -156,7 +156,7 @@ theorem ::= "Theorem" "(" labels... ")" <END_OF_LI
156
156
 
157
157
  proof ;
158
158
 
159
- conjecture ::= "Conjecture" "(" labels... ")" <END_OF_LINE>
159
+ conjecture ::= "Conjecture" parenthesisedLabels <END_OF_LINE>
160
160
 
161
161
  (
162
162
 
@@ -246,6 +246,12 @@ step. ::= statement... ( ( "by" | "from" ) refer
246
246
 
247
247
 
248
248
 
249
+ parenthesisedLabels ::= "(" labels... ")" ;
250
+
251
+ parenthesisedLabel ::= "(" label... ")" ;
252
+
253
+
254
+
249
255
  procedureCall ::= "@"<NO_WHITESPACE>reference<NO_WHITESPACE>"(" parameter ( "," parameter )* ")" ;
250
256
 
251
257