Optimize coderules templates runtime and generator.

Drop obsolete code from runtime.
Consolidate and reconcile different templates for consistency.
Simplify generated code.
This commit is contained in:
Fedor Isakov 2020-04-17 13:47:17 +02:00
parent cfcbee9d6f
commit 9bbf86cb8d
6 changed files with 1242 additions and 2378 deletions

View File

@ -363,13 +363,6 @@
<concept id="1169194658468" name="jetbrains.mps.lang.core.structure.INamedConcept" flags="ng" index="TrEIO">
<property id="1169194664001" name="name" index="TrG5h" />
</concept>
<concept id="709746936026466394" name="jetbrains.mps.lang.core.structure.ChildAttribute" flags="ng" index="3VBwX9">
<property id="709746936026609031" name="linkId" index="3V$3ak" />
<property id="709746936026609029" name="role_DebugInfo" index="3V$3am" />
</concept>
<concept id="4452961908202556907" name="jetbrains.mps.lang.core.structure.BaseCommentAttribute" flags="ng" index="1X3_iC">
<child id="3078666699043039389" name="commentedNode" index="8Wnug" />
</concept>
</language>
<language id="c7fb639f-be78-4307-89b0-b5959c3fa8c8" name="jetbrains.mps.lang.text">
<concept id="155656958578482948" name="jetbrains.mps.lang.text.structure.Word" flags="ng" index="3oM_SD">
@ -3458,10 +3451,10 @@
</node>
<node concept="A3Dl8" id="6fdr4UgfxqC" role="3clF45">
<node concept="3uibUv" id="1ffsG7c4ezn" role="A3Ik2">
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="BaseRuleTemplate" />
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="AbstraceRuleTemplate" />
<node concept="3qUE_q" id="7XdbJdyRKIf" role="11_B2D">
<node concept="3uibUv" id="7XdbJdyRMGp" role="3qUE_r">
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplateToken" />
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplate.Token" />
</node>
</node>
</node>
@ -3473,10 +3466,10 @@
<property role="TrG5h" value="result" />
<node concept="_YKpA" id="12yN8DyvAUd" role="1tU5fm">
<node concept="3uibUv" id="6tPOoeTaEit" role="_ZDj9">
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="BaseRuleTemplate" />
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="AbstraceRuleTemplate" />
<node concept="3qUE_q" id="6tPOoeTaEiu" role="11_B2D">
<node concept="3uibUv" id="6tPOoeTaEiv" role="3qUE_r">
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplateToken" />
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplate.Token" />
</node>
</node>
</node>
@ -3484,10 +3477,10 @@
<node concept="2ShNRf" id="12yN8DyvD8g" role="33vP2m">
<node concept="Tc6Ow" id="12yN8DyvD72" role="2ShVmc">
<node concept="3uibUv" id="6tPOoeTaGDL" role="HW$YZ">
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="BaseRuleTemplate" />
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="AbstraceRuleTemplate" />
<node concept="3qUE_q" id="6tPOoeTaGDM" role="11_B2D">
<node concept="3uibUv" id="6tPOoeTaGDN" role="3qUE_r">
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplateToken" />
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplate.Token" />
</node>
</node>
</node>
@ -3619,10 +3612,10 @@
<property role="TrG5h" value="matching" />
<node concept="3vKaQO" id="12yN8DyD$_b" role="1tU5fm">
<node concept="3uibUv" id="7XdbJdyRSmQ" role="3O5elw">
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="BaseRuleTemplate" />
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="AbstraceRuleTemplate" />
<node concept="3qUE_q" id="7XdbJdyRSmR" role="11_B2D">
<node concept="3uibUv" id="7XdbJdyRSmS" role="3qUE_r">
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplateToken" />
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplate.Token" />
</node>
</node>
</node>
@ -3680,10 +3673,10 @@
<node concept="3cpWsn" id="12yN8DyDOdM" role="1Duv9x">
<property role="TrG5h" value="tpl" />
<node concept="3uibUv" id="6tPOoeTaJl8" role="1tU5fm">
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="BaseRuleTemplate" />
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="AbstraceRuleTemplate" />
<node concept="3qUE_q" id="6tPOoeTaJl9" role="11_B2D">
<node concept="3uibUv" id="6tPOoeTaJla" role="3qUE_r">
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplateToken" />
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplate.Token" />
</node>
</node>
</node>
@ -3735,10 +3728,10 @@
<property role="TrG5h" value="allRuleTemplatesWithNoInput" />
<node concept="A3Dl8" id="5NuEpF1qn9B" role="3clF45">
<node concept="3uibUv" id="7XdbJdyRWsv" role="A3Ik2">
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="BaseRuleTemplate" />
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="AbstraceRuleTemplate" />
<node concept="3qUE_q" id="7XdbJdyRWsw" role="11_B2D">
<node concept="3uibUv" id="7XdbJdyRWsx" role="3qUE_r">
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplateToken" />
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplate.Token" />
</node>
</node>
</node>
@ -3750,10 +3743,10 @@
<property role="TrG5h" value="result" />
<node concept="_YKpA" id="5NuEpF1qn9H" role="1tU5fm">
<node concept="3uibUv" id="6tPOoeTaMF9" role="_ZDj9">
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="BaseRuleTemplate" />
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="AbstraceRuleTemplate" />
<node concept="3qUE_q" id="6tPOoeTaMFa" role="11_B2D">
<node concept="3uibUv" id="6tPOoeTaMFb" role="3qUE_r">
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplateToken" />
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplate.Token" />
</node>
</node>
</node>
@ -3761,10 +3754,10 @@
<node concept="2ShNRf" id="5NuEpF1qn9J" role="33vP2m">
<node concept="Tc6Ow" id="5NuEpF1qn9K" role="2ShVmc">
<node concept="3uibUv" id="6tPOoeTaOFc" role="HW$YZ">
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="BaseRuleTemplate" />
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="AbstraceRuleTemplate" />
<node concept="3qUE_q" id="6tPOoeTaOFd" role="11_B2D">
<node concept="3uibUv" id="6tPOoeTaOFe" role="3qUE_r">
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplateToken" />
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplate.Token" />
</node>
</node>
</node>
@ -3780,10 +3773,10 @@
<property role="TrG5h" value="matching" />
<node concept="3vKaQO" id="5NuEpF1qnan" role="1tU5fm">
<node concept="3uibUv" id="6tPOoeTaQxm" role="3O5elw">
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="BaseRuleTemplate" />
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="AbstraceRuleTemplate" />
<node concept="3qUE_q" id="6tPOoeTaQxn" role="11_B2D">
<node concept="3uibUv" id="6tPOoeTaQxo" role="3qUE_r">
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplateToken" />
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplate.Token" />
</node>
</node>
</node>
@ -3815,10 +3808,10 @@
<node concept="3cpWsn" id="5NuEpF1qnaO" role="1Duv9x">
<property role="TrG5h" value="tpl" />
<node concept="3uibUv" id="6tPOoeTaR5p" role="1tU5fm">
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="BaseRuleTemplate" />
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="AbstraceRuleTemplate" />
<node concept="3qUE_q" id="6tPOoeTaR5q" role="11_B2D">
<node concept="3uibUv" id="6tPOoeTaR5r" role="3qUE_r">
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplateToken" />
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplate.Token" />
</node>
</node>
</node>
@ -4066,10 +4059,10 @@
<property role="TrG5h" value="stageTemplate" />
<node concept="3vKaQO" id="4MqhgXUaPfW" role="1tU5fm">
<node concept="3uibUv" id="7XdbJdySsFg" role="3O5elw">
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="BaseRuleTemplate" />
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="AbstraceRuleTemplate" />
<node concept="3qUE_q" id="7XdbJdySsFh" role="11_B2D">
<node concept="3uibUv" id="7XdbJdySsFi" role="3qUE_r">
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplateToken" />
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplate.Token" />
</node>
</node>
</node>
@ -4098,10 +4091,10 @@
<node concept="2ShNRf" id="4MqhgXUaPg9" role="37vLTx">
<node concept="Tc6Ow" id="4MqhgXUaPga" role="2ShVmc">
<node concept="3uibUv" id="6tPOoeTaAOM" role="HW$YZ">
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="BaseRuleTemplate" />
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="AbstraceRuleTemplate" />
<node concept="3qUE_q" id="6tPOoeTaAON" role="11_B2D">
<node concept="3uibUv" id="6tPOoeTaAOO" role="3qUE_r">
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplateToken" />
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplate.Token" />
</node>
</node>
</node>
@ -4164,10 +4157,10 @@
<ref role="3cqZAo" node="4MqhgXUaONz" resolve="ruleTemplate" />
</node>
<node concept="3uibUv" id="3IIf9OAyhfn" role="10QFUM">
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="BaseRuleTemplate" />
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="AbstraceRuleTemplate" />
<node concept="3qUE_q" id="3IIf9OAyXlP" role="11_B2D">
<node concept="3uibUv" id="3IIf9OAyXlQ" role="3qUE_r">
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplateToken" />
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplate.Token" />
</node>
</node>
</node>
@ -4183,7 +4176,7 @@
<ref role="3uigEE" to="i348:1ffsG7bW_V4" resolve="RuleTemplate" />
<node concept="3qUE_q" id="7XdbJdySBO2" role="11_B2D">
<node concept="3uibUv" id="7XdbJdySBO3" role="3qUE_r">
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplateToken" />
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplate.Token" />
</node>
</node>
</node>
@ -4264,10 +4257,10 @@
<node concept="3bZ5Sz" id="YGS68MZPLr" role="3rvQeY" />
<node concept="3vKaQO" id="12yN8DyDzne" role="3rvSg0">
<node concept="3uibUv" id="7XdbJdyRSXd" role="3O5elw">
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="BaseRuleTemplate" />
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="AbstraceRuleTemplate" />
<node concept="3qUE_q" id="7XdbJdyRSXe" role="11_B2D">
<node concept="3uibUv" id="7XdbJdyRSXf" role="3qUE_r">
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplateToken" />
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplate.Token" />
</node>
</node>
</node>
@ -4278,10 +4271,10 @@
<node concept="3bZ5Sz" id="YGS68MZQMl" role="3rHrn6" />
<node concept="3vKaQO" id="429xoypKEop" role="3rHtpV">
<node concept="3uibUv" id="6tPOoeTa_2l" role="3O5elw">
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="BaseRuleTemplate" />
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="AbstraceRuleTemplate" />
<node concept="3qUE_q" id="6tPOoeTa_2m" role="11_B2D">
<node concept="3uibUv" id="6tPOoeTa_2n" role="3qUE_r">
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplateToken" />
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplate.Token" />
</node>
</node>
</node>
@ -8257,28 +8250,6 @@
</node>
</node>
<node concept="3clFbH" id="6OXbTD$owiJ" role="3cqZAp" />
<node concept="3cpWs8" id="7WKNeR97HMt" role="3cqZAp">
<node concept="3cpWsn" id="7WKNeR97HMu" role="3cpWs9">
<property role="TrG5h" value="handlerFqNames" />
<property role="3TUv4t" value="true" />
<node concept="2hMVRd" id="7WKNeR97HL8" role="1tU5fm">
<node concept="17QB3L" id="7WKNeR97HLb" role="2hN53Y" />
</node>
<node concept="2ShNRf" id="7WKNeR97HMv" role="33vP2m">
<node concept="2i4dXS" id="7WKNeR97HMw" role="2ShVmc">
<node concept="17QB3L" id="7WKNeR97HMx" role="HW$YZ" />
<node concept="2OqwBi" id="7WKNeR97HMy" role="I$8f6">
<node concept="2GrUjf" id="7WKNeR97HMz" role="2Oq$k0">
<ref role="2Gs0qQ" node="7WKNeR97wDT" resolve="qt" />
</node>
<node concept="liA8E" id="7WKNeR97HM$" role="2OqNvi">
<ref role="37wK5l" to="i348:6OXbTD$iO0E" resolve="usedHandlersFqNames" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="6OXbTD$o4WA" role="3cqZAp">
<node concept="3cpWsn" id="6OXbTD$o4WB" role="3cpWs9">
<property role="TrG5h" value="index" />
@ -8286,58 +8257,10 @@
<ref role="3uigEE" node="6fdr4UgftiG" resolve="RuleTemplateIndex" />
</node>
<node concept="2ShNRf" id="6OXbTD$o4WC" role="33vP2m">
<node concept="YeOm9" id="6OXbTD$o4WD" role="2ShVmc">
<node concept="1Y3b0j" id="6OXbTD$o4WE" role="YeSDq">
<property role="2bfB8j" value="true" />
<ref role="1Y3XeK" node="6fdr4UgftiG" resolve="RuleTemplateIndex" />
<ref role="37wK5l" node="7P_FdVPIH2n" resolve="RuleTemplateIndex" />
<node concept="3Tm1VV" id="6OXbTD$o4WF" role="1B3o_S" />
<node concept="37vLTw" id="6OXbTD$o4WG" role="37wK5m">
<ref role="3cqZAo" node="7WKNeR96eOL" resolve="manifests" />
</node>
<node concept="3clFb_" id="6OXbTD$o4WH" role="jymVt">
<property role="TrG5h" value="acceptRulesListTemplate" />
<property role="1EzhhJ" value="false" />
<node concept="37vLTG" id="6OXbTD$o4WI" role="3clF46">
<property role="TrG5h" value="ht" />
<node concept="3uibUv" id="6OXbTD$o4WJ" role="1tU5fm">
<ref role="3uigEE" to="i348:4MqhgXU9fm3" resolve="RulesListTemplate" />
</node>
</node>
<node concept="10P_77" id="6OXbTD$o4WK" role="3clF45" />
<node concept="3Tmbuc" id="6OXbTD$o4WL" role="1B3o_S" />
<node concept="3clFbS" id="6OXbTD$o4WM" role="3clF47">
<node concept="1X3_iC" id="6OXbTD$o4WN" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3clFbF" id="6OXbTD$o4WO" role="8Wnug">
<node concept="2OqwBi" id="6OXbTD$o4WP" role="3clFbG">
<node concept="37vLTw" id="6OXbTD$o4WQ" role="2Oq$k0">
<ref role="3cqZAo" node="7WKNeR97HMu" resolve="handlerFqNames" />
</node>
<node concept="3JPx81" id="6OXbTD$o4WR" role="2OqNvi">
<node concept="2OqwBi" id="6OXbTD$o4WS" role="25WWJ7">
<node concept="37vLTw" id="6OXbTD$o4WT" role="2Oq$k0">
<ref role="3cqZAo" node="6OXbTD$o4WI" resolve="ht" />
</node>
<node concept="liA8E" id="6OXbTD$o4WU" role="2OqNvi">
<ref role="37wK5l" to="i348:7P_FdVQoZmr" resolve="fqName" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="6OXbTD$o4WV" role="3cqZAp">
<node concept="3clFbT" id="6OXbTD$o4WW" role="3clFbG">
<property role="3clFbU" value="true" />
</node>
</node>
</node>
<node concept="2AHcQZ" id="6OXbTD$o4WX" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
<node concept="1pGfFk" id="6R6MIbUsnIh" role="2ShVmc">
<ref role="37wK5l" node="7P_FdVPIH2n" resolve="RuleTemplateIndex" />
<node concept="37vLTw" id="6OXbTD$o4WG" role="37wK5m">
<ref role="3cqZAo" node="7WKNeR96eOL" resolve="manifests" />
</node>
</node>
</node>

View File

@ -320,9 +320,6 @@
<concept id="1177026924588" name="jetbrains.mps.lang.smodel.structure.RefConcept_Reference" flags="nn" index="chp4Y">
<reference id="1177026940964" name="conceptDeclaration" index="cht4Q" />
</concept>
<concept id="1138411891628" name="jetbrains.mps.lang.smodel.structure.SNodeOperation" flags="nn" index="eCIE_">
<child id="1144104376918" name="parameter" index="1xVPHs" />
</concept>
<concept id="5045161044515397667" name="jetbrains.mps.lang.smodel.structure.Node_PointerOperation" flags="ng" index="iZEcu" />
<concept id="1179409122411" name="jetbrains.mps.lang.smodel.structure.Node_ConceptMethodCall" flags="nn" index="2qgKlT" />
<concept id="7400021826771268254" name="jetbrains.mps.lang.smodel.structure.SNodePointerType" flags="ig" index="2sp9CU" />
@ -336,7 +333,6 @@
<concept id="1145404486709" name="jetbrains.mps.lang.smodel.structure.SemanticDowncastExpression" flags="nn" index="2JrnkZ">
<child id="1145404616321" name="leftExpression" index="2JrQYb" />
</concept>
<concept id="1171305280644" name="jetbrains.mps.lang.smodel.structure.Node_GetDescendantsOperation" flags="nn" index="2Rf3mk" />
<concept id="1171310072040" name="jetbrains.mps.lang.smodel.structure.Node_GetContainingRootOperation" flags="nn" index="2Rxl7S" />
<concept id="1145567426890" name="jetbrains.mps.lang.smodel.structure.SNodeListCreator" flags="nn" index="2T8Vx0">
<child id="1145567471833" name="createdType" index="2T96Bj" />
@ -347,7 +343,6 @@
<concept id="1139621453865" name="jetbrains.mps.lang.smodel.structure.Node_IsInstanceOfOperation" flags="nn" index="1mIQ4w">
<child id="1177027386292" name="conceptArgument" index="cj9EA" />
</concept>
<concept id="1144100932627" name="jetbrains.mps.lang.smodel.structure.OperationParm_Inclusion" flags="ng" index="1xIGOp" />
<concept id="1144195091934" name="jetbrains.mps.lang.smodel.structure.Node_IsRoleOperation" flags="nn" index="1BlSNk">
<reference id="1144195362400" name="conceptOfParent" index="1BmUXE" />
<reference id="1144195396777" name="linkInParent" index="1Bn3mz" />
@ -5649,9 +5644,9 @@
<node concept="37vLTG" id="5ntLU8GlSnJ" role="3clF46">
<property role="TrG5h" value="tpl" />
<node concept="3uibUv" id="1ffsG7c51iR" role="1tU5fm">
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="BaseRuleTemplate" />
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="AbstraceRuleTemplate" />
<node concept="16syzq" id="7XdbJdyQi3s" role="11_B2D">
<ref role="16sUi3" node="7XdbJdyQdwM" resolve="Token" />
<ref role="16sUi3" node="7XdbJdyQdwM" resolve="T" />
</node>
</node>
</node>
@ -5679,6 +5674,9 @@
<node concept="37vLTw" id="7XdbJdyLAMJ" role="37wK5m">
<ref role="3cqZAo" node="5ntLU8GlSnL" resolve="node" />
</node>
<node concept="37vLTw" id="7DvO2MaieSB" role="37wK5m">
<ref role="3cqZAo" node="7DvO2Mah9z5" resolve="applicationSession" />
</node>
<node concept="2ShNRf" id="7XdbJdyLCh3" role="37wK5m">
<node concept="Tc6Ow" id="7XdbJdyLDeJ" role="2ShVmc">
<node concept="3uibUv" id="7XdbJdyLDvC" role="HW$YZ">
@ -5697,8 +5695,8 @@
</node>
<node concept="37vLTG" id="7XdbJdyLDP7" role="1bW2Oz">
<property role="TrG5h" value="token" />
<node concept="3uibUv" id="7XdbJdyLEet" role="1tU5fm">
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplateToken" />
<node concept="16syzq" id="6R6MIbURx8Q" role="1tU5fm">
<ref role="16sUi3" node="7XdbJdyQdwM" resolve="T" />
</node>
</node>
<node concept="3clFbS" id="7XdbJdyLDL6" role="1bW5cS">
@ -5714,9 +5712,6 @@
</node>
<node concept="liA8E" id="7XdbJdyLNxU" role="2OqNvi">
<ref role="37wK5l" to="i348:2RRx4MZ6CCe" resolve="apply" />
<node concept="37vLTw" id="7DvO2MaieSB" role="37wK5m">
<ref role="3cqZAo" node="7DvO2Mah9z5" resolve="applicationSession" />
</node>
</node>
</node>
</node>
@ -5877,9 +5872,9 @@
</node>
</node>
<node concept="16euLQ" id="7XdbJdyQdwM" role="16eVyc">
<property role="TrG5h" value="Token" />
<property role="TrG5h" value="T" />
<node concept="3uibUv" id="7XdbJdyQhEU" role="3ztrMU">
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplateToken" />
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplate.Token" />
</node>
</node>
</node>
@ -5892,7 +5887,7 @@
<node concept="3uibUv" id="6OXbTDybcP0" role="1tU5fm">
<ref role="3uigEE" to="i348:6OXbTD$iNPP" resolve="QueryTemplate" />
<node concept="16syzq" id="6OXbTDybqOL" role="11_B2D">
<ref role="16sUi3" node="6OXbTDyaL_y" resolve="Token" />
<ref role="16sUi3" node="6OXbTDyaL_y" resolve="T" />
</node>
</node>
</node>
@ -5907,25 +5902,6 @@
<node concept="3clFbS" id="6OXbTDyaL$2" role="3clF47">
<node concept="SfApY" id="6OXbTDyaL$3" role="3cqZAp">
<node concept="3clFbS" id="6OXbTDyaL$4" role="SfCbr">
<node concept="3cpWs8" id="6OXbTDycgwD" role="3cqZAp">
<node concept="3cpWsn" id="6OXbTDycgwE" role="3cpWs9">
<property role="TrG5h" value="newToken" />
<node concept="16syzq" id="6OXbTDycgwC" role="1tU5fm">
<ref role="16sUi3" node="6OXbTDyaL_y" resolve="Token" />
</node>
<node concept="2OqwBi" id="6OXbTDycgwF" role="33vP2m">
<node concept="37vLTw" id="6OXbTDyhhGJ" role="2Oq$k0">
<ref role="3cqZAo" node="6OXbTDyaLzX" resolve="tpl" />
</node>
<node concept="liA8E" id="6OXbTDycgwH" role="2OqNvi">
<ref role="37wK5l" to="i348:6tPOoeT3pU7" resolve="newToken" />
<node concept="37vLTw" id="6OXbTDycgwJ" role="37wK5m">
<ref role="3cqZAo" node="6OXbTDycbjU" resolve="parameter" />
</node>
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="6OXbTDycmTi" role="3cqZAp">
<node concept="3cpWsn" id="6OXbTDycmTj" role="3cpWs9">
<property role="TrG5h" value="builders" />
@ -5935,14 +5911,29 @@
</node>
</node>
<node concept="2OqwBi" id="6OXbTDycmTk" role="33vP2m">
<node concept="37vLTw" id="6OXbTDycmTl" role="2Oq$k0">
<ref role="3cqZAo" node="6OXbTDycgwE" resolve="newToken" />
<node concept="1eOMI4" id="6R6MIbUuWzx" role="2Oq$k0">
<node concept="2OqwBi" id="6R6MIbUuWzq" role="1eOMHV">
<node concept="2OqwBi" id="6R6MIbUuWzr" role="2Oq$k0">
<node concept="37vLTw" id="6R6MIbUuWzs" role="2Oq$k0">
<ref role="3cqZAo" node="6OXbTDyaLzX" resolve="tpl" />
</node>
<node concept="liA8E" id="6R6MIbUuWzt" role="2OqNvi">
<ref role="37wK5l" to="i348:5itBwM78vMu" resolve="createToken" />
<node concept="37vLTw" id="6R6MIbUuWzu" role="37wK5m">
<ref role="3cqZAo" node="7DvO2Mah9z5" resolve="applicationSession" />
</node>
</node>
</node>
<node concept="liA8E" id="6R6MIbUuWzv" role="2OqNvi">
<ref role="37wK5l" to="i348:5itBwM86qEL" resolve="withParam" />
<node concept="37vLTw" id="6R6MIbUuWzw" role="37wK5m">
<ref role="3cqZAo" node="6OXbTDycbjU" resolve="parameter" />
</node>
</node>
</node>
</node>
<node concept="liA8E" id="6OXbTDycmTm" role="2OqNvi">
<ref role="37wK5l" to="i348:mJ_D14woVW" resolve="apply" />
<node concept="37vLTw" id="6OXbTDycmTn" role="37wK5m">
<ref role="3cqZAo" node="7DvO2Mah9z5" resolve="applicationSession" />
</node>
<ref role="37wK5l" to="i348:6R6MIbUcYSn" resolve="apply" />
</node>
</node>
</node>
@ -6033,9 +6024,9 @@
</node>
</node>
<node concept="16euLQ" id="6OXbTDyaL_y" role="16eVyc">
<property role="TrG5h" value="Token" />
<node concept="3uibUv" id="6OXbTDyblTM" role="3ztrMU">
<ref role="3uigEE" to="i348:mJ_D14woL$" resolve="TemplateToken" />
<property role="TrG5h" value="T" />
<node concept="3uibUv" id="6R6MIbUdgwE" role="3ztrMU">
<ref role="3uigEE" to="i348:6R6MIbU8M46" resolve="QueryTemplate.Token" />
</node>
</node>
</node>
@ -6045,9 +6036,9 @@
<node concept="37vLTG" id="7XdbJdyNeFb" role="3clF46">
<property role="TrG5h" value="tpl" />
<node concept="3uibUv" id="7XdbJdyNeFc" role="1tU5fm">
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="BaseRuleTemplate" />
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="AbstraceRuleTemplate" />
<node concept="16syzq" id="7XdbJdyQuae" role="11_B2D">
<ref role="16sUi3" node="7XdbJdyQn2x" resolve="Token" />
<ref role="16sUi3" node="7XdbJdyQn2x" resolve="T" />
</node>
</node>
</node>
@ -6081,6 +6072,9 @@
<node concept="37vLTw" id="7XdbJdyNlwY" role="37wK5m">
<ref role="3cqZAo" node="7XdbJdyNeFd" resolve="node" />
</node>
<node concept="37vLTw" id="6R6MIbUSQ10" role="37wK5m">
<ref role="3cqZAo" node="7DvO2Mah9z5" resolve="applicationSession" />
</node>
<node concept="2ShNRf" id="7XdbJdyNlwZ" role="37wK5m">
<node concept="Tc6Ow" id="7kTeLbQlGXX" role="2ShVmc">
<node concept="3Tqbb2" id="7kTeLbQlGXZ" role="HW$YZ" />
@ -6095,240 +6089,74 @@
</node>
<node concept="37vLTG" id="7XdbJdyNlx6" role="1bW2Oz">
<property role="TrG5h" value="token" />
<node concept="3uibUv" id="7XdbJdyNlx7" role="1tU5fm">
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplateToken" />
<node concept="3uibUv" id="6R6MIbUessc" role="1tU5fm">
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplate.Token" />
</node>
</node>
<node concept="3clFbS" id="7XdbJdyNlx8" role="1bW5cS">
<node concept="3clFbJ" id="7kTeLbQiXFV" role="3cqZAp">
<node concept="3clFbS" id="7kTeLbQiXFX" role="3clFbx">
<node concept="1X3_iC" id="6tPOoeSEcF$" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3clFbF" id="7XdbJdyNlxa" role="8Wnug">
<node concept="2OqwBi" id="7XdbJdyNlxb" role="3clFbG">
<node concept="37vLTw" id="7XdbJdyNlxc" role="2Oq$k0">
<ref role="3cqZAo" node="7XdbJdyNlx3" resolve="req" />
</node>
<node concept="X8dFx" id="7XdbJdyNlxd" role="2OqNvi">
<node concept="2OqwBi" id="7XdbJdyNlxe" role="25WWJ7">
<node concept="37vLTw" id="7XdbJdyNlxf" role="2Oq$k0">
<ref role="3cqZAo" node="7XdbJdyNlx6" resolve="token" />
</node>
<node concept="liA8E" id="7XdbJdyNlxg" role="2OqNvi">
<ref role="37wK5l" to="i348:2RRx4MZ6CC4" resolve="requiredNodes" />
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="6R6MIbUT6Hc" role="3cqZAp" />
<node concept="3clFbF" id="4vBwiiV93PW" role="3cqZAp">
<node concept="2OqwBi" id="4vBwiiV9a97" role="3clFbG">
<node concept="37vLTw" id="4vBwiiV93PU" role="2Oq$k0">
<ref role="3cqZAo" node="7XdbJdyNlx3" resolve="req" />
</node>
<node concept="3clFbH" id="5lxnBcU9jKE" role="3cqZAp" />
<node concept="1X3_iC" id="6tPOoeSEimQ" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3clFbF" id="61wrp1Ja3bW" role="8Wnug">
<node concept="2OqwBi" id="61wrp1Ja3bX" role="3clFbG">
<node concept="37vLTw" id="61wrp1Ja3bY" role="2Oq$k0">
<ref role="3cqZAo" node="7XdbJdyNlx3" resolve="req" />
</node>
<node concept="X8dFx" id="61wrp1Ja3bZ" role="2OqNvi">
<node concept="2OqwBi" id="61wrp1Ja3c0" role="25WWJ7">
<node concept="2OqwBi" id="61wrp1Ja3c1" role="2Oq$k0">
<node concept="37vLTw" id="61wrp1Ja3c2" role="2Oq$k0">
<ref role="3cqZAo" node="7XdbJdyNlx6" resolve="token" />
</node>
<node concept="liA8E" id="61wrp1Ja3c3" role="2OqNvi">
<ref role="37wK5l" to="i348:2RRx4MZ6CC4" resolve="requiredNodes" />
</node>
</node>
<node concept="3goQfb" id="61wrp1Ja3c4" role="2OqNvi">
<node concept="1bVj0M" id="61wrp1Ja3c5" role="23t8la">
<node concept="3clFbS" id="61wrp1Ja3c6" role="1bW5cS">
<node concept="3clFbF" id="4vBwiiV8XA_" role="3cqZAp">
<node concept="2OqwBi" id="61wrp1Jb9EN" role="3clFbG">
<node concept="2OqwBi" id="61wrp1JaY1y" role="2Oq$k0">
<node concept="37vLTw" id="61wrp1JaTVz" role="2Oq$k0">
<ref role="3cqZAo" node="61wrp1Ja3cc" resolve="it" />
</node>
<node concept="2z74zc" id="61wrp1Jb3M4" role="2OqNvi" />
</node>
<node concept="3$u5V9" id="61wrp1JbfxI" role="2OqNvi">
<node concept="1bVj0M" id="61wrp1JbfxK" role="23t8la">
<node concept="3clFbS" id="61wrp1JbfxL" role="1bW5cS">
<node concept="3clFbF" id="61wrp1JboA4" role="3cqZAp">
<node concept="2OqwBi" id="61wrp1JbsBz" role="3clFbG">
<node concept="37vLTw" id="61wrp1JboA3" role="2Oq$k0">
<ref role="3cqZAo" node="61wrp1JbfxM" resolve="ref" />
</node>
<node concept="2ZHEkA" id="61wrp1JbxMb" role="2OqNvi" />
</node>
</node>
</node>
<node concept="Rh6nW" id="61wrp1JbfxM" role="1bW2Oz">
<property role="TrG5h" value="ref" />
<node concept="2jxLKc" id="61wrp1JbfxN" role="1tU5fm" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="61wrp1Ja3cc" role="1bW2Oz">
<property role="TrG5h" value="it" />
<node concept="2jxLKc" id="61wrp1Ja3cd" role="1tU5fm" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="5lxnBcU9jKP" role="3cqZAp" />
<node concept="3clFbF" id="4vBwiiV93PW" role="3cqZAp">
<node concept="2OqwBi" id="4vBwiiV9a97" role="3clFbG">
<node concept="37vLTw" id="4vBwiiV93PU" role="2Oq$k0">
<ref role="3cqZAo" node="7XdbJdyNlx3" resolve="req" />
</node>
<node concept="X8dFx" id="4vBwiiV9gaM" role="2OqNvi">
<node concept="37vLTw" id="4vBwiiV9kvj" role="25WWJ7">
<ref role="3cqZAo" node="4vBwiiV8GXc" resolve="requiredNodes" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="4vBwiiV9oEo" role="3cqZAp" />
<node concept="3clFbF" id="4vBwiiV9z4v" role="3cqZAp">
<node concept="2OqwBi" id="4vBwiiV9CYL" role="3clFbG">
<node concept="37vLTw" id="4vBwiiV9z4t" role="2Oq$k0">
<ref role="3cqZAo" node="7XdbJdyNlx3" resolve="req" />
</node>
<node concept="X8dFx" id="4vBwiiV9J_N" role="2OqNvi">
<node concept="2OqwBi" id="4vBwiiV9WcB" role="25WWJ7">
<node concept="37vLTw" id="4vBwiiV9PDZ" role="2Oq$k0">
<ref role="3cqZAo" node="4vBwiiV8GXc" resolve="requiredNodes" />
</node>
<node concept="3goQfb" id="4vBwiiVa1qZ" role="2OqNvi">
<node concept="1bVj0M" id="4vBwiiVa1r0" role="23t8la">
<node concept="3clFbS" id="4vBwiiVa1r1" role="1bW5cS">
<node concept="3clFbF" id="4vBwiiVa1r2" role="3cqZAp">
<node concept="2OqwBi" id="4vBwiiVa1r3" role="3clFbG">
<node concept="2OqwBi" id="4vBwiiVa1r4" role="2Oq$k0">
<node concept="37vLTw" id="4vBwiiVa1r5" role="2Oq$k0">
<ref role="3cqZAo" node="4vBwiiVa1rg" resolve="it" />
</node>
<node concept="2z74zc" id="4vBwiiVa1r6" role="2OqNvi" />
</node>
<node concept="3$u5V9" id="4vBwiiVa1r7" role="2OqNvi">
<node concept="1bVj0M" id="4vBwiiVa1r8" role="23t8la">
<node concept="3clFbS" id="4vBwiiVa1r9" role="1bW5cS">
<node concept="3clFbF" id="4vBwiiVa1ra" role="3cqZAp">
<node concept="2OqwBi" id="4vBwiiVa1rb" role="3clFbG">
<node concept="37vLTw" id="4vBwiiVa1rc" role="2Oq$k0">
<ref role="3cqZAo" node="4vBwiiVa1re" resolve="ref" />
</node>
<node concept="2ZHEkA" id="4vBwiiVa1rd" role="2OqNvi" />
</node>
</node>
</node>
<node concept="Rh6nW" id="4vBwiiVa1re" role="1bW2Oz">
<property role="TrG5h" value="ref" />
<node concept="2jxLKc" id="4vBwiiVa1rf" role="1tU5fm" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="4vBwiiVa1rg" role="1bW2Oz">
<property role="TrG5h" value="it" />
<node concept="2jxLKc" id="4vBwiiVa1rh" role="1tU5fm" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="5lxnBcU9jL1" role="3cqZAp" />
<node concept="3SKdUt" id="7n0CLM0i47p" role="3cqZAp">
<node concept="1PaTwC" id="589APehYxQN" role="3ndbpf">
<node concept="3oM_SD" id="589APehYxQO" role="1PaTwD">
<property role="3oM_SC" value="FIXME:" />
</node>
<node concept="3oM_SD" id="589APehYxQP" role="1PaTwD">
<property role="3oM_SC" value="treat" />
</node>
<node concept="3oM_SD" id="589APehYxQQ" role="1PaTwD">
<property role="3oM_SC" value="all" />
</node>
<node concept="3oM_SD" id="589APehYxQR" role="1PaTwD">
<property role="3oM_SC" value="type" />
</node>
<node concept="3oM_SD" id="589APehYxQS" role="1PaTwD">
<property role="3oM_SC" value="node's" />
</node>
<node concept="3oM_SD" id="589APehYxQT" role="1PaTwD">
<property role="3oM_SC" value="descendants" />
</node>
<node concept="3oM_SD" id="589APehYxQU" role="1PaTwD">
<property role="3oM_SC" value="as" />
</node>
<node concept="3oM_SD" id="589APehYxQV" role="1PaTwD">
<property role="3oM_SC" value="required" />
</node>
<node concept="3oM_SD" id="589APehYxQW" role="1PaTwD">
<property role="3oM_SC" value="nodes" />
</node>
</node>
</node>
<node concept="1X3_iC" id="6hqFpWnwuIs" role="lGtFl">
<property role="3V$3am" value="statement" />
<property role="3V$3ak" value="f3061a53-9226-4cc5-a443-f952ceaf5816/1068580123136/1068581517665" />
<node concept="3clFbF" id="1Y1WZtYxnyU" role="8Wnug">
<node concept="2OqwBi" id="1Y1WZtYxt_c" role="3clFbG">
<node concept="37vLTw" id="1Y1WZtYxnyS" role="2Oq$k0">
<ref role="3cqZAo" node="7XdbJdyNlx3" resolve="req" />
</node>
<node concept="X8dFx" id="1Y1WZtYxziB" role="2OqNvi">
<node concept="2OqwBi" id="1Y1WZtYxGKc" role="25WWJ7">
<node concept="2OqwBi" id="1Y1WZtYxBeX" role="2Oq$k0">
<node concept="37vLTw" id="1Y1WZtYxBeY" role="2Oq$k0">
<ref role="3cqZAo" node="7XdbJdyNlx6" resolve="token" />
</node>
<node concept="liA8E" id="1Y1WZtYxBeZ" role="2OqNvi">
<ref role="37wK5l" to="i348:2RRx4MZ6CC4" resolve="requiredNodes" />
</node>
</node>
<node concept="3goQfb" id="1Y1WZtYxLtp" role="2OqNvi">
<node concept="1bVj0M" id="1Y1WZtYxLtr" role="23t8la">
<node concept="3clFbS" id="1Y1WZtYxLts" role="1bW5cS">
<node concept="3clFbF" id="1Y1WZtYxPTg" role="3cqZAp">
<node concept="2OqwBi" id="1Y1WZtYxTTB" role="3clFbG">
<node concept="37vLTw" id="1Y1WZtYxPTf" role="2Oq$k0">
<ref role="3cqZAo" node="1Y1WZtYxLtt" resolve="it" />
</node>
<node concept="2Rf3mk" id="1Y1WZtYxZ5R" role="2OqNvi">
<node concept="1xIGOp" id="1Y1WZtYyoBF" role="1xVPHs" />
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="1Y1WZtYxLtt" role="1bW2Oz">
<property role="TrG5h" value="it" />
<node concept="2jxLKc" id="1Y1WZtYxLtu" role="1tU5fm" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="X8dFx" id="4vBwiiV9gaM" role="2OqNvi">
<node concept="37vLTw" id="4vBwiiV9kvj" role="25WWJ7">
<ref role="3cqZAo" node="4vBwiiV8GXc" resolve="requiredNodes" />
</node>
</node>
</node>
<node concept="3clFbT" id="3c$Di5Or0qw" role="3clFbw">
<property role="3clFbU" value="true" />
</node>
<node concept="3clFbF" id="4vBwiiV9z4v" role="3cqZAp">
<node concept="2OqwBi" id="4vBwiiV9CYL" role="3clFbG">
<node concept="37vLTw" id="4vBwiiV9z4t" role="2Oq$k0">
<ref role="3cqZAo" node="7XdbJdyNlx3" resolve="req" />
</node>
<node concept="X8dFx" id="4vBwiiV9J_N" role="2OqNvi">
<node concept="2OqwBi" id="4vBwiiV9WcB" role="25WWJ7">
<node concept="37vLTw" id="4vBwiiV9PDZ" role="2Oq$k0">
<ref role="3cqZAo" node="4vBwiiV8GXc" resolve="requiredNodes" />
</node>
<node concept="3goQfb" id="4vBwiiVa1qZ" role="2OqNvi">
<node concept="1bVj0M" id="4vBwiiVa1r0" role="23t8la">
<node concept="3clFbS" id="4vBwiiVa1r1" role="1bW5cS">
<node concept="3clFbF" id="4vBwiiVa1r2" role="3cqZAp">
<node concept="2OqwBi" id="4vBwiiVa1r3" role="3clFbG">
<node concept="2OqwBi" id="4vBwiiVa1r4" role="2Oq$k0">
<node concept="37vLTw" id="4vBwiiVa1r5" role="2Oq$k0">
<ref role="3cqZAo" node="4vBwiiVa1rg" resolve="it" />
</node>
<node concept="2z74zc" id="4vBwiiVa1r6" role="2OqNvi" />
</node>
<node concept="3$u5V9" id="4vBwiiVa1r7" role="2OqNvi">
<node concept="1bVj0M" id="4vBwiiVa1r8" role="23t8la">
<node concept="3clFbS" id="4vBwiiVa1r9" role="1bW5cS">
<node concept="3clFbF" id="4vBwiiVa1ra" role="3cqZAp">
<node concept="2OqwBi" id="4vBwiiVa1rb" role="3clFbG">
<node concept="37vLTw" id="4vBwiiVa1rc" role="2Oq$k0">
<ref role="3cqZAo" node="4vBwiiVa1re" resolve="ref" />
</node>
<node concept="2ZHEkA" id="4vBwiiVa1rd" role="2OqNvi" />
</node>
</node>
</node>
<node concept="Rh6nW" id="4vBwiiVa1re" role="1bW2Oz">
<property role="TrG5h" value="ref" />
<node concept="2jxLKc" id="4vBwiiVa1rf" role="1tU5fm" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="Rh6nW" id="4vBwiiVa1rg" role="1bW2Oz">
<property role="TrG5h" value="it" />
<node concept="2jxLKc" id="4vBwiiVa1rh" role="1tU5fm" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="7XdbJdyTmDa" role="3cqZAp">
@ -6350,9 +6178,9 @@
</node>
</node>
<node concept="16euLQ" id="7XdbJdyQn2x" role="16eVyc">
<property role="TrG5h" value="Token" />
<node concept="3uibUv" id="7XdbJdyQqdA" role="3ztrMU">
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplateToken" />
<property role="TrG5h" value="T" />
<node concept="3uibUv" id="6R6MIbUenbg" role="3ztrMU">
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplate.Token" />
</node>
</node>
</node>
@ -6364,10 +6192,10 @@
<property role="TrG5h" value="tpls" />
<node concept="A3Dl8" id="tIwzd1I3Xn" role="1tU5fm">
<node concept="3uibUv" id="6tPOoeTdbj8" role="A3Ik2">
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="BaseRuleTemplate" />
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="AbstraceRuleTemplate" />
<node concept="3qUE_q" id="6tPOoeTdbj9" role="11_B2D">
<node concept="3uibUv" id="6tPOoeTdbja" role="3qUE_r">
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplateToken" />
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplate.Token" />
</node>
</node>
</node>
@ -6525,10 +6353,10 @@
<node concept="3cpWsn" id="4MqhgXUBzFo" role="3cpWs9">
<property role="TrG5h" value="template" />
<node concept="3uibUv" id="4MqhgXUBzF7" role="1tU5fm">
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="BaseRuleTemplate" />
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="AbstraceRuleTemplate" />
<node concept="3qUE_q" id="7XdbJdyRy2h" role="11_B2D">
<node concept="3uibUv" id="7XdbJdyRyYU" role="3qUE_r">
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplateToken" />
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplate.Token" />
</node>
</node>
</node>
@ -7163,10 +6991,10 @@
<node concept="3cpWsn" id="tIwzd1I3Xj" role="1Duv9x">
<property role="TrG5h" value="tpl" />
<node concept="3uibUv" id="6tPOoeTdcfx" role="1tU5fm">
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="BaseRuleTemplate" />
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="AbstraceRuleTemplate" />
<node concept="3qUE_q" id="6tPOoeTdcfy" role="11_B2D">
<node concept="3uibUv" id="6tPOoeTdcfz" role="3qUE_r">
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplateToken" />
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplate.Token" />
</node>
</node>
</node>
@ -7665,10 +7493,10 @@
<property role="TrG5h" value="tpls" />
<node concept="A3Dl8" id="5ntLU8GlzSt" role="1tU5fm">
<node concept="3uibUv" id="1ffsG7c5hrm" role="A3Ik2">
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="BaseRuleTemplate" />
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="AbstraceRuleTemplate" />
<node concept="3qUE_q" id="7XdbJdyRI0u" role="11_B2D">
<node concept="3uibUv" id="7XdbJdyRId5" role="3qUE_r">
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplateToken" />
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplate.Token" />
</node>
</node>
</node>

View File

@ -695,7 +695,7 @@
<node concept="3cpWsn" id="1CcQBrPeqBu" role="3cpWs9">
<property role="TrG5h" value="template" />
<node concept="3uibUv" id="3IIf9OADWM$" role="1tU5fm">
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="BaseRuleTemplate" />
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="AbstraceRuleTemplate" />
<node concept="3qTvmN" id="3IIf9OADXsN" role="11_B2D" />
</node>
<node concept="37vLTw" id="6tPOoeTdjBM" role="33vP2m">
@ -714,7 +714,7 @@
<ref role="3cqZAo" node="1CcQBrPeqBu" resolve="template" />
</node>
<node concept="liA8E" id="6i42QSsgfqW" role="2OqNvi">
<ref role="37wK5l" to="i348:62MNP_kY8lD" resolve="templateRef" />
<ref role="37wK5l" to="i348:62MNP_kY8lD" resolve="getTemplateRef" />
</node>
</node>
</node>
@ -767,10 +767,10 @@
<node concept="3cpWsn" id="3YJ7yg2N2M5" role="1Duv9x">
<property role="TrG5h" value="tpl" />
<node concept="3uibUv" id="1ffsG7c4ezn" role="1tU5fm">
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="BaseRuleTemplate" />
<ref role="3uigEE" to="i348:1ffsG7bUbCM" resolve="AbstraceRuleTemplate" />
<node concept="3qUE_q" id="7XdbJdyRKIf" role="11_B2D">
<node concept="3uibUv" id="7XdbJdyRMGp" role="3qUE_r">
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplateToken" />
<ref role="3uigEE" to="i348:2RRx4MZ6_68" resolve="RuleTemplate.Token" />
</node>
</node>
</node>

View File

@ -1726,25 +1726,6 @@
</node>
</node>
</node>
<node concept="3cpWs8" id="7WKNeR9_f8v" role="3cqZAp">
<node concept="3cpWsn" id="7WKNeR9_f8w" role="3cpWs9">
<property role="TrG5h" value="queryObserver" />
<node concept="3uibUv" id="7WKNeR9_f8t" role="1tU5fm">
<ref role="3uigEE" to="18ew:~Reference" resolve="Reference" />
<node concept="3uibUv" id="7WKNeR9_g2W" role="11_B2D">
<ref role="3uigEE" to="i348:7P_FdVQ_jCo" resolve="QueryTemplate.QueryObserver" />
</node>
</node>
<node concept="2ShNRf" id="7WKNeR9_m1_" role="33vP2m">
<node concept="1pGfFk" id="7WKNeR9_lXk" role="2ShVmc">
<ref role="37wK5l" to="18ew:~Reference.&lt;init&gt;()" resolve="Reference" />
<node concept="3uibUv" id="7WKNeR9_lXl" role="1pMfVU">
<ref role="3uigEE" to="i348:7P_FdVQ_jCo" resolve="QueryTemplate.QueryObserver" />
</node>
</node>
</node>
</node>
</node>
<node concept="3cpWs8" id="7WKNeR9zcC9" role="3cqZAp">
<node concept="3cpWsn" id="7WKNeR9zcCa" role="3cpWs9">
<property role="TrG5h" value="queryConfig" />
@ -1759,43 +1740,6 @@
</node>
<node concept="liA8E" id="7WKNeR9$9EE" role="2OqNvi">
<ref role="37wK5l" to="i348:7P_FdVPsDM6" resolve="newQuery" />
<node concept="2ShNRf" id="7WKNeR9$c6Q" role="37wK5m">
<node concept="YeOm9" id="7WKNeR9$e5a" role="2ShVmc">
<node concept="1Y3b0j" id="7WKNeR9$e5d" role="YeSDq">
<property role="2bfB8j" value="true" />
<ref role="1Y3XeK" to="i348:7P_FdVQ_k3b" resolve="QueryTemplate.QueryObservable" />
<ref role="37wK5l" to="wyt6:~Object.&lt;init&gt;()" resolve="Object" />
<node concept="3Tm1VV" id="7WKNeR9$e5e" role="1B3o_S" />
<node concept="3clFb_" id="7WKNeR9$e5f" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="subscribe" />
<node concept="37vLTG" id="7WKNeR9$e5g" role="3clF46">
<property role="TrG5h" value="observer" />
<node concept="3uibUv" id="7WKNeR9$e5h" role="1tU5fm">
<ref role="3uigEE" to="i348:7P_FdVQ_jCo" resolve="QueryTemplate.QueryObserver" />
</node>
</node>
<node concept="3cqZAl" id="7WKNeR9$e5i" role="3clF45" />
<node concept="3Tm1VV" id="7WKNeR9$e5j" role="1B3o_S" />
<node concept="3clFbS" id="7WKNeR9$e5l" role="3clF47">
<node concept="3clFbF" id="7WKNeR9_oZD" role="3cqZAp">
<node concept="2OqwBi" id="7WKNeR9_pke" role="3clFbG">
<node concept="37vLTw" id="7WKNeR9_oZB" role="2Oq$k0">
<ref role="3cqZAo" node="7WKNeR9_f8w" resolve="queryObserver" />
</node>
<node concept="liA8E" id="7WKNeR9_puh" role="2OqNvi">
<ref role="37wK5l" to="18ew:~Reference.set(java.lang.Object)" resolve="set" />
<node concept="37vLTw" id="7WKNeR9_pSd" role="37wK5m">
<ref role="3cqZAo" node="7WKNeR9$e5g" resolve="observer" />
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="10Nm6u" id="7WKNeR9$atX" role="3K4GZi" />
@ -2194,64 +2138,6 @@
</node>
</node>
<node concept="3clFbH" id="51a$_pPMPYj" role="3cqZAp" />
<node concept="3SKdUt" id="19OC8ZSFpl" role="3cqZAp">
<node concept="1PaTwC" id="19OC8ZSFpm" role="3ndbpf">
<node concept="3oM_SD" id="19OC8ZSFpo" role="1PaTwD">
<property role="3oM_SC" value="FIXME" />
</node>
<node concept="3oM_SD" id="19OC8ZSGbM" role="1PaTwD">
<property role="3oM_SC" value="kill" />
</node>
<node concept="3oM_SD" id="19OC8ZSGXr" role="1PaTwD">
<property role="3oM_SC" value="this" />
</node>
<node concept="3oM_SD" id="19OC8ZSGXv" role="1PaTwD">
<property role="3oM_SC" value="nonsense" />
</node>
</node>
</node>
<node concept="3clFbJ" id="7WKNeR9$rEF" role="3cqZAp">
<node concept="3clFbS" id="7WKNeR9$rEG" role="3clFbx">
<node concept="3clFbF" id="7WKNeR9$Mkw" role="3cqZAp">
<node concept="2OqwBi" id="7WKNeR9$N7D" role="3clFbG">
<node concept="2OqwBi" id="7WKNeR9_x9U" role="2Oq$k0">
<node concept="37vLTw" id="7WKNeR9_qKx" role="2Oq$k0">
<ref role="3cqZAo" node="7WKNeR9_f8w" resolve="queryObserver" />
</node>
<node concept="liA8E" id="7WKNeR9_ybk" role="2OqNvi">
<ref role="37wK5l" to="18ew:~Reference.get()" resolve="get" />
</node>
</node>
<node concept="liA8E" id="7WKNeR9$NVL" role="2OqNvi">
<ref role="37wK5l" to="i348:7P_FdVQ_jFm" resolve="onNext" />
<node concept="37vLTw" id="7WKNeR9AuTl" role="37wK5m">
<ref role="3cqZAo" node="7WKNeR9AkUd" resolve="stage" />
</node>
<node concept="2OqwBi" id="7WKNeR9$Y1M" role="37wK5m">
<node concept="37vLTw" id="7WKNeR9$Xd$" role="2Oq$k0">
<ref role="3cqZAo" node="Hg6Enc7CPL" resolve="progEval" />
</node>
<node concept="liA8E" id="7WKNeR9$YSO" role="2OqNvi">
<ref role="37wK5l" to="hano:5cnt3vh3pb_" resolve="storeView" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3y3z36" id="7WKNeR9$rEM" role="3clFbw">
<node concept="10Nm6u" id="7WKNeR9$rEN" role="3uHU7w" />
<node concept="2OqwBi" id="7WKNeR9_vhW" role="3uHU7B">
<node concept="37vLTw" id="7WKNeR9_um5" role="2Oq$k0">
<ref role="3cqZAo" node="7WKNeR9_f8w" resolve="queryObserver" />
</node>
<node concept="liA8E" id="7WKNeR9_waj" role="2OqNvi">
<ref role="37wK5l" to="18ew:~Reference.get()" resolve="get" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="19OC8ZSDKz" role="3cqZAp" />
<node concept="3clFbF" id="19OC8ZSIFL" role="3cqZAp">
<node concept="37vLTI" id="19OC8ZSIFN" role="3clFbG">
<node concept="2OqwBi" id="2yEnwsh8A4I" role="37vLTx">
@ -2370,56 +2256,6 @@
</node>
</node>
<node concept="3clFbH" id="19OC8ZSPgT" role="3cqZAp" />
<node concept="3SKdUt" id="19OC8ZSOu2" role="3cqZAp">
<node concept="1PaTwC" id="19OC8ZSOu3" role="3ndbpf">
<node concept="3oM_SD" id="19OC8ZSOu4" role="1PaTwD">
<property role="3oM_SC" value="FIXME" />
</node>
<node concept="3oM_SD" id="19OC8ZSOu5" role="1PaTwD">
<property role="3oM_SC" value="kill" />
</node>
<node concept="3oM_SD" id="19OC8ZSOu6" role="1PaTwD">
<property role="3oM_SC" value="this" />
</node>
<node concept="3oM_SD" id="19OC8ZSOu7" role="1PaTwD">
<property role="3oM_SC" value="nonsense" />
</node>
</node>
</node>
<node concept="3clFbJ" id="7WKNeR9$11B" role="3cqZAp">
<node concept="3clFbS" id="7WKNeR9$11D" role="3clFbx">
<node concept="3clFbF" id="7WKNeR9$kQ6" role="3cqZAp">
<node concept="2OqwBi" id="7WKNeR9$lHy" role="3clFbG">
<node concept="2OqwBi" id="7WKNeR9_BAK" role="2Oq$k0">
<node concept="37vLTw" id="7WKNeR9_AAA" role="2Oq$k0">
<ref role="3cqZAo" node="7WKNeR9_f8w" resolve="queryObserver" />
</node>
<node concept="liA8E" id="7WKNeR9_Cwm" role="2OqNvi">
<ref role="37wK5l" to="18ew:~Reference.get()" resolve="get" />
</node>
</node>
<node concept="liA8E" id="7WKNeR9$mx1" role="2OqNvi">
<ref role="37wK5l" to="i348:7P_FdVQ_jU$" resolve="onFailure" />
<node concept="37vLTw" id="7WKNeR9$o3_" role="37wK5m">
<ref role="3cqZAo" node="19wqdqOkjcb" resolve="firstException" />
</node>
</node>
</node>
</node>
</node>
<node concept="3y3z36" id="7WKNeR9$jSU" role="3clFbw">
<node concept="10Nm6u" id="7WKNeR9$jXg" role="3uHU7w" />
<node concept="2OqwBi" id="7WKNeR9_$Ih" role="3uHU7B">
<node concept="37vLTw" id="7WKNeR9_zLu" role="2Oq$k0">
<ref role="3cqZAo" node="7WKNeR9_f8w" resolve="queryObserver" />
</node>
<node concept="liA8E" id="7WKNeR9__Ke" role="2OqNvi">
<ref role="37wK5l" to="18ew:~Reference.get()" resolve="get" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="7WKNeR9$0ha" role="3cqZAp" />
<node concept="3clFbF" id="19OC8ZSUvn" role="3cqZAp">
<node concept="37vLTI" id="19OC8ZSW$t" role="3clFbG">
<node concept="2OqwBi" id="19OC8ZSZ2h" role="37vLTx">
@ -2446,62 +2282,6 @@
</node>
</node>
<node concept="3clFbH" id="7WKNeR9zC9b" role="3cqZAp" />
<node concept="3SKdUt" id="19OC8ZSqqV" role="3cqZAp">
<node concept="1PaTwC" id="19OC8ZSqqW" role="3ndbpf">
<node concept="3oM_SD" id="19OC8ZSqqY" role="1PaTwD">
<property role="3oM_SC" value="FIXME" />
</node>
<node concept="3oM_SD" id="19OC8ZSs2T" role="1PaTwD">
<property role="3oM_SC" value="kill" />
</node>
<node concept="3oM_SD" id="19OC8ZSvwP" role="1PaTwD">
<property role="3oM_SC" value="this" />
</node>
<node concept="3oM_SD" id="19OC8ZSwic" role="1PaTwD">
<property role="3oM_SC" value="nonsense" />
</node>
</node>
</node>
<node concept="3clFbJ" id="7WKNeR9$wYz" role="3cqZAp">
<node concept="3clFbS" id="7WKNeR9$wY$" role="3clFbx">
<node concept="3clFbF" id="7WKNeR9$wY_" role="3cqZAp">
<node concept="2OqwBi" id="7WKNeR9$wYA" role="3clFbG">
<node concept="2OqwBi" id="7WKNeR9_Hb9" role="2Oq$k0">
<node concept="37vLTw" id="7WKNeR9_Gar" role="2Oq$k0">
<ref role="3cqZAo" node="7WKNeR9_f8w" resolve="queryObserver" />
</node>
<node concept="liA8E" id="7WKNeR9_I5L" role="2OqNvi">
<ref role="37wK5l" to="18ew:~Reference.get()" resolve="get" />
</node>
</node>
<node concept="liA8E" id="7WKNeR9$wYC" role="2OqNvi">
<ref role="37wK5l" to="i348:7P_FdVQ_jLY" resolve="onCompleted" />
<node concept="2OqwBi" id="3bpBM3QdvOL" role="37wK5m">
<node concept="37vLTw" id="3bpBM3QdvOM" role="2Oq$k0">
<ref role="3cqZAo" node="Hg6Enc7CPL" resolve="progEval" />
</node>
<node concept="liA8E" id="3bpBM3QdvON" role="2OqNvi">
<ref role="37wK5l" to="hano:5cnt3vh3pb_" resolve="storeView" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="3y3z36" id="7WKNeR9$wYE" role="3clFbw">
<node concept="10Nm6u" id="7WKNeR9$wYF" role="3uHU7w" />
<node concept="2OqwBi" id="7WKNeR9_El1" role="3uHU7B">
<node concept="37vLTw" id="7WKNeR9_Dnc" role="2Oq$k0">
<ref role="3cqZAo" node="7WKNeR9_f8w" resolve="queryObserver" />
</node>
<node concept="liA8E" id="7WKNeR9_FeI" role="2OqNvi">
<ref role="37wK5l" to="18ew:~Reference.get()" resolve="get" />
</node>
</node>
</node>
</node>
<node concept="3clFbH" id="4jShfh67I32" role="3cqZAp" />
<node concept="3clFbH" id="5gVsyvEP5R3" role="3cqZAp" />
<node concept="3cpWs6" id="19OC8ZSVvj" role="3cqZAp">
<node concept="37vLTw" id="19OC8ZSVvk" role="3cqZAk">
<ref role="3cqZAo" node="19OC8ZSz1h" resolve="outEff" />

View File

@ -492,7 +492,7 @@
</node>
</node>
<node concept="312cEu" id="1ffsG7bUbCM">
<property role="TrG5h" value="BaseRuleTemplate" />
<property role="TrG5h" value="AbstraceRuleTemplate" />
<property role="1sVAO0" value="true" />
<property role="3GE5qa" value="template" />
<node concept="2tJIrI" id="1ffsG7bUbEG" role="jymVt" />
@ -609,58 +609,56 @@
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="applyReduce" />
<node concept="16syzq" id="7XdbJdyi9Le" role="3clF45">
<ref role="16sUi3" node="7XdbJdyi9Lq" resolve="T" />
<ref role="16sUi3" node="7XdbJdyi9Lq" resolve="R" />
</node>
<node concept="3Tm1VV" id="7XdbJdyi9Lf" role="1B3o_S" />
<node concept="37vLTG" id="7XdbJdyi9Lh" role="3clF46">
<property role="TrG5h" value="input" />
<node concept="3Tqbb2" id="7XdbJdyi9Li" role="1tU5fm" />
</node>
<node concept="37vLTG" id="6R6MIbURCWS" role="3clF46">
<property role="TrG5h" value="session" />
<node concept="3uibUv" id="6R6MIbURJjM" role="1tU5fm">
<ref role="3uigEE" node="18kNIl1vDPZ" resolve="TemplateApplicationSession" />
</node>
</node>
<node concept="37vLTG" id="7XdbJdyi9Lj" role="3clF46">
<property role="TrG5h" value="init" />
<node concept="16syzq" id="7XdbJdyi9Lk" role="1tU5fm">
<ref role="16sUi3" node="7XdbJdyi9Lq" resolve="T" />
<ref role="16sUi3" node="7XdbJdyi9Lq" resolve="R" />
</node>
</node>
<node concept="37vLTG" id="7XdbJdyi9Ll" role="3clF46">
<property role="TrG5h" value="applyFun" />
<node concept="1ajhzC" id="7XdbJdyi9Lm" role="1tU5fm">
<node concept="16syzq" id="7XdbJdyi9Ln" role="1ajw0F">
<ref role="16sUi3" node="7XdbJdyi9Lq" resolve="T" />
<ref role="16sUi3" node="7XdbJdyi9Lq" resolve="R" />
</node>
<node concept="16syzq" id="7XdbJdyi9Lr" role="1ajw0F">
<ref role="16sUi3" node="1ffsG7bUbY4" resolve="Token" />
<node concept="16syzq" id="6R6MIbTSSSY" role="1ajw0F">
<ref role="16sUi3" node="1ffsG7bUbY4" resolve="T" />
</node>
<node concept="16syzq" id="7XdbJdyi9Lp" role="1ajl9A">
<ref role="16sUi3" node="7XdbJdyi9Lq" resolve="T" />
<ref role="16sUi3" node="7XdbJdyi9Lq" resolve="R" />
</node>
</node>
</node>
<node concept="16euLQ" id="7XdbJdyi9Lq" role="16eVyc">
<property role="TrG5h" value="T" />
<property role="TrG5h" value="R" />
</node>
<node concept="3clFbS" id="7XdbJdyi9Ls" role="3clF47">
<node concept="3cpWs8" id="7XdbJdyicox" role="3cqZAp">
<node concept="3cpWsn" id="7XdbJdyicoy" role="3cpWs9">
<property role="TrG5h" value="token" />
<node concept="16syzq" id="7XdbJdyicow" role="1tU5fm">
<ref role="16sUi3" node="1ffsG7bUbY4" resolve="Token" />
</node>
<node concept="1rXfSq" id="7XdbJdyicoz" role="33vP2m">
<ref role="37wK5l" node="3IIf9OAJOPP" resolve="newToken" />
<node concept="37vLTw" id="mJ_D13ZSBm" role="37wK5m">
<ref role="3cqZAo" node="7XdbJdyi9Lh" resolve="input" />
</node>
</node>
</node>
</node>
<node concept="3cpWs6" id="7XdbJdyModD" role="3cqZAp">
<node concept="2Sg_IR" id="7XdbJdyModE" role="3cqZAk">
<node concept="37vLTw" id="7XdbJdyModF" role="2SgHGx">
<ref role="3cqZAo" node="7XdbJdyi9Lj" resolve="init" />
</node>
<node concept="37vLTw" id="7XdbJdyModG" role="2SgHGx">
<ref role="3cqZAo" node="7XdbJdyicoy" resolve="token" />
<node concept="1rXfSq" id="6R6MIbUSdsk" role="2SgHGx">
<ref role="37wK5l" node="5itBwM7b6jI" resolve="createToken" />
<node concept="37vLTw" id="6R6MIbUSdsl" role="37wK5m">
<ref role="3cqZAo" node="7XdbJdyi9Lh" resolve="input" />
</node>
<node concept="37vLTw" id="6R6MIbUSdsm" role="37wK5m">
<ref role="3cqZAo" node="6R6MIbURCWS" resolve="session" />
</node>
</node>
<node concept="37vLTw" id="7XdbJdyModH" role="2SgG2M">
<ref role="3cqZAo" node="7XdbJdyi9Ll" resolve="applyFun" />
@ -670,85 +668,6 @@
</node>
</node>
<node concept="2tJIrI" id="7XdbJdyiayM" role="jymVt" />
<node concept="3clFb_" id="7XdbJdyi9Lu" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="apply" />
<node concept="3cqZAl" id="7XdbJdyi9Lv" role="3clF45" />
<node concept="3Tm1VV" id="7XdbJdyi9Lw" role="1B3o_S" />
<node concept="37vLTG" id="7XdbJdyi9Ly" role="3clF46">
<property role="TrG5h" value="input" />
<node concept="3Tqbb2" id="7XdbJdyi9Lz" role="1tU5fm" />
</node>
<node concept="37vLTG" id="7XdbJdyi9L$" role="3clF46">
<property role="TrG5h" value="applyFun" />
<node concept="1ajhzC" id="7XdbJdyi9L_" role="1tU5fm">
<node concept="16syzq" id="7XdbJdyi9LC" role="1ajw0F">
<ref role="16sUi3" node="1ffsG7bUbY4" resolve="Token" />
</node>
<node concept="3cqZAl" id="7XdbJdyi9LB" role="1ajl9A" />
</node>
</node>
<node concept="3clFbS" id="7XdbJdyi9LD" role="3clF47">
<node concept="3cpWs8" id="7XdbJdyinIU" role="3cqZAp">
<node concept="3cpWsn" id="7XdbJdyinIV" role="3cpWs9">
<property role="TrG5h" value="token" />
<node concept="16syzq" id="7XdbJdyinIW" role="1tU5fm">
<ref role="16sUi3" node="1ffsG7bUbY4" resolve="Token" />
</node>
<node concept="1rXfSq" id="7XdbJdyinIX" role="33vP2m">
<ref role="37wK5l" node="3IIf9OAJOPP" resolve="newToken" />
<node concept="37vLTw" id="mJ_D13ZU0N" role="37wK5m">
<ref role="3cqZAo" node="7XdbJdyi9Ly" resolve="input" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="7XdbJdyinJ4" role="3cqZAp">
<node concept="2Sg_IR" id="7XdbJdyinJ5" role="3clFbG">
<node concept="37vLTw" id="7XdbJdyinJ7" role="2SgHGx">
<ref role="3cqZAo" node="7XdbJdyinIV" resolve="token" />
</node>
<node concept="37vLTw" id="7XdbJdyinJ8" role="2SgG2M">
<ref role="3cqZAo" node="7XdbJdyi9L$" resolve="applyFun" />
</node>
</node>
</node>
</node>
<node concept="2AHcQZ" id="6tPOoeSDkEh" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Deprecated" resolve="Deprecated" />
</node>
</node>
<node concept="2tJIrI" id="7XdbJdz5jXz" role="jymVt" />
<node concept="3clFb_" id="7XdbJdz5lDL" role="jymVt">
<property role="1EzhhJ" value="true" />
<property role="TrG5h" value="createToken" />
<node concept="16syzq" id="7XdbJdz5lDQ" role="3clF45">
<ref role="16sUi3" node="1ffsG7bUbY4" resolve="Token" />
</node>
<node concept="3Tmbuc" id="7XdbJdz5okr" role="1B3o_S" />
<node concept="3clFbS" id="7XdbJdz5lDR" role="3clF47" />
</node>
<node concept="2tJIrI" id="7XdbJdz5k0i" role="jymVt" />
<node concept="3clFb_" id="75vUFrSIQhr" role="jymVt">
<property role="1EzhhJ" value="true" />
<property role="TrG5h" value="initToken" />
<node concept="37vLTG" id="75vUFrSIQhu" role="3clF46">
<property role="TrG5h" value="token" />
<node concept="16syzq" id="75vUFrSIQhz" role="1tU5fm">
<ref role="16sUi3" node="1ffsG7bUbY4" resolve="Token" />
</node>
</node>
<node concept="37vLTG" id="75vUFrSIQhs" role="3clF46">
<property role="TrG5h" value="input" />
<node concept="3Tqbb2" id="75vUFrSIQht" role="1tU5fm" />
</node>
<node concept="16syzq" id="6YKq674vGah" role="3clF45">
<ref role="16sUi3" node="1ffsG7bUbY4" resolve="Token" />
</node>
<node concept="3Tmbuc" id="7XdbJdz5vEM" role="1B3o_S" />
<node concept="3clFbS" id="75vUFrSIQh_" role="3clF47" />
</node>
<node concept="2tJIrI" id="75vUFrSIQ8c" role="jymVt" />
<node concept="3clFb_" id="4MqhgXUsgC4" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="handlerTemplate" />
@ -769,7 +688,7 @@
</node>
<node concept="2tJIrI" id="4MqhgXUshra" role="jymVt" />
<node concept="3clFb_" id="62MNP_kY8lD" role="jymVt">
<property role="TrG5h" value="templateRef" />
<property role="TrG5h" value="getTemplateRef" />
<node concept="3uibUv" id="62MNP_kY8Lq" role="3clF45">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
@ -840,15 +759,15 @@
<node concept="17QB3L" id="1ffsG7bUbIO" role="1tU5fm" />
</node>
<node concept="16euLQ" id="1ffsG7bUbY4" role="16eVyc">
<property role="TrG5h" value="Token" />
<property role="TrG5h" value="T" />
<node concept="3uibUv" id="7XdbJdy7jWi" role="3ztrMU">
<ref role="3uigEE" node="2RRx4MZ6_68" resolve="RuleTemplateToken" />
<ref role="3uigEE" node="2RRx4MZ6_68" resolve="RuleTemplate.Token" />
</node>
</node>
<node concept="3uibUv" id="1ffsG7bWFot" role="EKbjA">
<ref role="3uigEE" node="1ffsG7bW_V4" resolve="RuleTemplate" />
<node concept="16syzq" id="1ffsG7bWGME" role="11_B2D">
<ref role="16sUi3" node="1ffsG7bUbY4" resolve="Token" />
<ref role="16sUi3" node="1ffsG7bUbY4" resolve="T" />
</node>
</node>
<node concept="312cEg" id="62MNP_kY7Vb" role="jymVt">
@ -870,6 +789,27 @@
<property role="TrG5h" value="RuleTemplate" />
<property role="3GE5qa" value="template" />
<node concept="2tJIrI" id="67SsWaEm4a8" role="jymVt" />
<node concept="3HP615" id="2RRx4MZ6_68" role="jymVt">
<property role="TrG5h" value="Token" />
<property role="3GE5qa" value="template.token" />
<node concept="2tJIrI" id="2RRx4MZ6CCd" role="jymVt" />
<node concept="3clFb_" id="2RRx4MZ6CCe" role="jymVt">
<property role="TrG5h" value="apply" />
<node concept="A3Dl8" id="2RRx4MZ6CCf" role="3clF45">
<node concept="3uibUv" id="2RRx4MZ6CCg" role="A3Ik2">
<ref role="3uigEE" node="7eGEHDlc$ap" resolve="RuleBuilder" />
</node>
</node>
<node concept="3Tm1VV" id="2RRx4MZ6CCn" role="1B3o_S" />
<node concept="3clFbS" id="2RRx4MZ6CCo" role="3clF47" />
</node>
<node concept="2tJIrI" id="2RRx4MZ6CBN" role="jymVt" />
<node concept="3Tm1VV" id="2RRx4MZ6_69" role="1B3o_S" />
<node concept="3uibUv" id="mJ_D14woTd" role="3HQHJm">
<ref role="3uigEE" node="mJ_D14woL$" resolve="Template.Token" />
</node>
</node>
<node concept="2tJIrI" id="6R6MIbUc$TU" role="jymVt" />
<node concept="3clFb_" id="4vBwiiUVL7_" role="jymVt">
<property role="TrG5h" value="name" />
<node concept="17QB3L" id="4vBwiiUVOVU" role="3clF45" />
@ -907,39 +847,35 @@
<node concept="3clFbS" id="4MqhgXUndvt" role="3clF47" />
</node>
<node concept="2tJIrI" id="PB1R3YsIZx" role="jymVt" />
<node concept="3clFb_" id="6i42QSs8m5b" role="jymVt">
<property role="TrG5h" value="templateRef" />
<node concept="3uibUv" id="6i42QSs8miP" role="3clF45">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
<node concept="3Tm1VV" id="6i42QSs8m5e" role="1B3o_S" />
<node concept="3clFbS" id="6i42QSs8m5f" role="3clF47" />
</node>
<node concept="2tJIrI" id="3IIf9OAJNDf" role="jymVt" />
<node concept="3clFb_" id="3IIf9OAJOPP" role="jymVt">
<property role="TrG5h" value="newToken" />
<node concept="37vLTG" id="3IIf9OAJRcv" role="3clF46">
<node concept="3clFb_" id="5itBwM7b6jI" role="jymVt">
<property role="TrG5h" value="createToken" />
<node concept="37vLTG" id="6R6MIbUQSdY" role="3clF46">
<property role="TrG5h" value="input" />
<node concept="8X2XB" id="3IIf9OAJSqg" role="1tU5fm">
<node concept="3uibUv" id="3IIf9OAJS3D" role="8Xvag">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
<node concept="3Tqbb2" id="6R6MIbUQTep" role="1tU5fm" />
</node>
<node concept="37vLTG" id="5itBwM7b8HC" role="3clF46">
<property role="TrG5h" value="session" />
<node concept="3uibUv" id="5itBwM7b97n" role="1tU5fm">
<ref role="3uigEE" node="18kNIl1vDPZ" resolve="TemplateApplicationSession" />
</node>
</node>
<node concept="16syzq" id="3IIf9OAJQ56" role="3clF45">
<ref role="16sUi3" node="1ffsG7bWA35" resolve="Token" />
<node concept="16syzq" id="6R6MIbTLZYB" role="3clF45">
<ref role="16sUi3" node="1ffsG7bWA35" resolve="T" />
</node>
<node concept="3Tm1VV" id="3IIf9OAJOPS" role="1B3o_S" />
<node concept="3clFbS" id="3IIf9OAJOPT" role="3clF47" />
<node concept="3Tm1VV" id="5itBwM7b6jL" role="1B3o_S" />
<node concept="3clFbS" id="5itBwM7b6jM" role="3clF47" />
</node>
<node concept="2tJIrI" id="6i42QSs8m2v" role="jymVt" />
<node concept="2tJIrI" id="6R6MIbTLZP0" role="jymVt" />
<node concept="3Tm1VV" id="1ffsG7bW_V5" role="1B3o_S" />
<node concept="16euLQ" id="1ffsG7bWA35" role="16eVyc">
<property role="TrG5h" value="Token" />
<property role="TrG5h" value="T" />
<node concept="3uibUv" id="7XdbJdy67uN" role="3ztrMU">
<ref role="3uigEE" node="2RRx4MZ6_68" resolve="RuleTemplateToken" />
<ref role="3uigEE" node="2RRx4MZ6_68" resolve="RuleTemplate.Token" />
</node>
</node>
<node concept="3uibUv" id="6R6MIbU9BOp" role="3HQHJm">
<ref role="3uigEE" node="6R6MIbU9$OD" resolve="Template" />
</node>
</node>
<node concept="3HP615" id="4MqhgXU9fm3">
<property role="TrG5h" value="RulesListTemplate" />
@ -979,104 +915,6 @@
<node concept="2tJIrI" id="4MqhgXUaiOu" role="jymVt" />
<node concept="3Tm1VV" id="4MqhgXU9fm4" role="1B3o_S" />
</node>
<node concept="3HP615" id="2RRx4MZ6_68">
<property role="TrG5h" value="RuleTemplateToken" />
<property role="3GE5qa" value="template.token" />
<node concept="2tJIrI" id="2RRx4MZSLs8" role="jymVt" />
<node concept="3clFb_" id="2RRx4MZ6CBV" role="jymVt">
<property role="TrG5h" value="isApplicable" />
<node concept="10P_77" id="2RRx4MZ6CC0" role="3clF45" />
<node concept="3Tm1VV" id="2RRx4MZ6CC1" role="1B3o_S" />
<node concept="3clFbS" id="2RRx4MZ6CC2" role="3clF47" />
<node concept="2AHcQZ" id="3c$Di5Oqtsi" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Deprecated" resolve="Deprecated" />
</node>
</node>
<node concept="2tJIrI" id="2RRx4MZ6CC3" role="jymVt" />
<node concept="3clFb_" id="2RRx4MZ6CC4" role="jymVt">
<property role="TrG5h" value="requiredNodes" />
<node concept="A3Dl8" id="2RRx4MZ6CC5" role="3clF45">
<node concept="3Tqbb2" id="2RRx4MZ6CC6" role="A3Ik2" />
</node>
<node concept="3Tm1VV" id="2RRx4MZ6CC7" role="1B3o_S" />
<node concept="3clFbS" id="2RRx4MZ6CC8" role="3clF47" />
<node concept="2AHcQZ" id="6tPOoeSE0jz" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Deprecated" resolve="Deprecated" />
</node>
</node>
<node concept="2tJIrI" id="2RRx4MZ6CCd" role="jymVt" />
<node concept="3clFb_" id="2RRx4MZ6CCe" role="jymVt">
<property role="TrG5h" value="apply" />
<node concept="A3Dl8" id="2RRx4MZ6CCf" role="3clF45">
<node concept="3uibUv" id="2RRx4MZ6CCg" role="A3Ik2">
<ref role="3uigEE" node="7eGEHDlc$ap" resolve="RuleBuilder" />
</node>
</node>
<node concept="37vLTG" id="2RRx4MZ6CCl" role="3clF46">
<property role="TrG5h" value="session" />
<node concept="3uibUv" id="2RRx4MZ6CCm" role="1tU5fm">
<ref role="3uigEE" node="18kNIl1vDPZ" resolve="TemplateApplicationSession" />
</node>
</node>
<node concept="3Tm1VV" id="2RRx4MZ6CCn" role="1B3o_S" />
<node concept="3clFbS" id="2RRx4MZ6CCo" role="3clF47" />
<node concept="2AHcQZ" id="mJ_D14wp18" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="2RRx4MZ6CBN" role="jymVt" />
<node concept="3Tm1VV" id="2RRx4MZ6_69" role="1B3o_S" />
<node concept="3uibUv" id="mJ_D14woTd" role="3HQHJm">
<ref role="3uigEE" node="mJ_D14woL$" resolve="TemplateToken" />
</node>
</node>
<node concept="312cEu" id="2RRx4MZ6I3W">
<property role="TrG5h" value="BaseRuleTemplateToken" />
<property role="1sVAO0" value="true" />
<property role="3GE5qa" value="template.token" />
<node concept="2tJIrI" id="2RRx4MZ6Ib2" role="jymVt" />
<node concept="3clFb_" id="2RRx4MZ6Ibj" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="isApplicable" />
<node concept="10P_77" id="2RRx4MZ6Ibk" role="3clF45" />
<node concept="3Tm1VV" id="2RRx4MZ6Ibl" role="1B3o_S" />
<node concept="3clFbS" id="2RRx4MZ6Ibn" role="3clF47">
<node concept="3clFbF" id="2RRx4MZ6Ibq" role="3cqZAp">
<node concept="3clFbT" id="2RRx4MZ6J1n" role="3clFbG">
<property role="3clFbU" value="true" />
</node>
</node>
</node>
<node concept="2AHcQZ" id="2RRx4MZ6Ibo" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="2RRx4MZ6IQo" role="jymVt" />
<node concept="3clFb_" id="2RRx4MZ6Ibr" role="jymVt">
<property role="1EzhhJ" value="false" />
<property role="TrG5h" value="requiredNodes" />
<node concept="A3Dl8" id="2RRx4MZ6Ibs" role="3clF45">
<node concept="3Tqbb2" id="2RRx4MZ6Ibt" role="A3Ik2" />
</node>
<node concept="3Tm1VV" id="2RRx4MZ6Ibu" role="1B3o_S" />
<node concept="3clFbS" id="2RRx4MZ6Ibw" role="3clF47">
<node concept="3clFbF" id="2RRx4MZ6J2x" role="3cqZAp">
<node concept="10Nm6u" id="2RRx4MZ6J2w" role="3clFbG" />
</node>
</node>
<node concept="2AHcQZ" id="2RRx4MZ6Ibx" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
<node concept="2AHcQZ" id="6tPOoeSEcvH" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Deprecated" resolve="Deprecated" />
</node>
</node>
<node concept="2tJIrI" id="2RRx4MZ6IJC" role="jymVt" />
<node concept="3Tm1VV" id="2RRx4MZ6I3X" role="1B3o_S" />
<node concept="3uibUv" id="2RRx4MZ6I8M" role="EKbjA">
<ref role="3uigEE" node="2RRx4MZ6_68" resolve="RuleTemplateToken" />
</node>
</node>
<node concept="3HP615" id="36tQV5AurZW">
<property role="3GE5qa" value="template" />
<property role="TrG5h" value="ConstraintRuleTemplate" />
@ -1096,99 +934,48 @@
<node concept="2tJIrI" id="36tQV5AIeEy" role="jymVt" />
<node concept="3Tm1VV" id="36tQV5AurZX" role="1B3o_S" />
</node>
<node concept="3HP615" id="mJ_D14woL$">
<property role="3GE5qa" value="template.token" />
<property role="TrG5h" value="TemplateToken" />
<node concept="2tJIrI" id="mJ_D14woOn" role="jymVt" />
<node concept="3clFb_" id="mJ_D14woVW" role="jymVt">
<property role="TrG5h" value="apply" />
<node concept="A3Dl8" id="mJ_D14woVX" role="3clF45">
<node concept="3uibUv" id="mJ_D14woVY" role="A3Ik2">
<ref role="3uigEE" node="7eGEHDlc$ap" resolve="RuleBuilder" />
</node>
</node>
<node concept="37vLTG" id="mJ_D14woVZ" role="3clF46">
<property role="TrG5h" value="session" />
<node concept="3uibUv" id="mJ_D14woW0" role="1tU5fm">
<ref role="3uigEE" node="18kNIl1vDPZ" resolve="TemplateApplicationSession" />
</node>
</node>
<node concept="3Tm1VV" id="mJ_D14woW1" role="1B3o_S" />
<node concept="3clFbS" id="mJ_D14woW2" role="3clF47" />
</node>
<node concept="2tJIrI" id="mJ_D14woOp" role="jymVt" />
<node concept="3Tm1VV" id="mJ_D14woL_" role="1B3o_S" />
</node>
<node concept="3HP615" id="6OXbTD$iNPP">
<property role="3GE5qa" value="template" />
<property role="TrG5h" value="QueryTemplate" />
<node concept="2tJIrI" id="6OXbTD$iO0e" role="jymVt" />
<node concept="3clFb_" id="6OXbTD$iO0w" role="jymVt">
<property role="TrG5h" value="name" />
<node concept="17QB3L" id="6OXbTD$iO0x" role="3clF45" />
<node concept="3Tm1VV" id="6OXbTD$iO0y" role="1B3o_S" />
<node concept="3clFbS" id="6OXbTD$iO0z" role="3clF47" />
</node>
<node concept="2tJIrI" id="6OXbTD$iO0$" role="jymVt" />
<node concept="3clFb_" id="6OXbTD$iO0_" role="jymVt">
<property role="TrG5h" value="fqName" />
<node concept="17QB3L" id="6OXbTD$iO0A" role="3clF45" />
<node concept="3Tm1VV" id="6OXbTD$iO0B" role="1B3o_S" />
<node concept="3clFbS" id="6OXbTD$iO0C" role="3clF47" />
</node>
<node concept="2tJIrI" id="4t7Xo7iclkP" role="jymVt" />
<node concept="3clFb_" id="4t7Xo7icmmF" role="jymVt">
<property role="2aFKle" value="false" />
<property role="TrG5h" value="kind" />
<node concept="3clFbS" id="4t7Xo7icmmI" role="3clF47" />
<node concept="3Tm1VV" id="4t7Xo7icmmJ" role="1B3o_S" />
<node concept="3uibUv" id="4t7Xo7intc6" role="3clF45">
<ref role="3uigEE" node="4t7Xo7inshN" resolve="QueryKind" />
</node>
</node>
<node concept="2tJIrI" id="6OXbTD$iO0D" role="jymVt" />
<node concept="3clFb_" id="6OXbTD$iO0E" role="jymVt">
<property role="TrG5h" value="usedHandlersFqNames" />
<node concept="_YKpA" id="6OXbTD$iO0F" role="3clF45">
<node concept="17QB3L" id="6OXbTD$iO0G" role="_ZDj9" />
</node>
<node concept="3Tm1VV" id="6OXbTD$iO0H" role="1B3o_S" />
<node concept="3clFbS" id="6OXbTD$iO0I" role="3clF47" />
</node>
<node concept="2tJIrI" id="6OXbTD$iO0n" role="jymVt" />
<node concept="3clFb_" id="6tPOoeT3pU7" role="jymVt">
<property role="TrG5h" value="newToken" />
<node concept="37vLTG" id="6tPOoeT3pU8" role="3clF46">
<property role="TrG5h" value="parameter" />
<node concept="8X2XB" id="6tPOoeT3pU9" role="1tU5fm">
<node concept="3uibUv" id="6tPOoeT3pUa" role="8Xvag">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
<node concept="3HP615" id="6R6MIbU8M46" role="jymVt">
<property role="TrG5h" value="Token" />
<property role="3GE5qa" value="template.token" />
<node concept="2tJIrI" id="6R6MIbU8M47" role="jymVt" />
<node concept="3clFb_" id="6R6MIbUcYSn" role="jymVt">
<property role="TrG5h" value="apply" />
<node concept="A3Dl8" id="6R6MIbUcYSo" role="3clF45">
<node concept="3uibUv" id="6R6MIbUcYSp" role="A3Ik2">
<ref role="3uigEE" node="7eGEHDlc$ap" resolve="RuleBuilder" />
</node>
</node>
<node concept="3Tm1VV" id="6R6MIbUcYSs" role="1B3o_S" />
<node concept="3clFbS" id="6R6MIbUcYSt" role="3clF47" />
</node>
<node concept="16syzq" id="6tPOoeT3qes" role="3clF45">
<ref role="16sUi3" node="6tPOoeT3qak" resolve="Token" />
</node>
<node concept="3Tm1VV" id="6tPOoeT3pUc" role="1B3o_S" />
<node concept="3clFbS" id="6tPOoeT3pUd" role="3clF47" />
</node>
<node concept="2tJIrI" id="6tPOoeT3pQI" role="jymVt" />
<node concept="3Tm1VV" id="6OXbTD$iNPQ" role="1B3o_S" />
<node concept="3clFb_" id="7P_FdVPsDM6" role="jymVt">
<property role="TrG5h" value="newQuery" />
<node concept="37vLTG" id="7P_FdVQ_p5F" role="3clF46">
<property role="TrG5h" value="observable" />
<node concept="3uibUv" id="7P_FdVQ_p6p" role="1tU5fm">
<ref role="3uigEE" node="7P_FdVQ_k3b" resolve="QueryTemplate.QueryObservable" />
<node concept="2tJIrI" id="6R6MIbUcYSm" role="jymVt" />
<node concept="3clFb_" id="5itBwM86qEL" role="jymVt">
<property role="TrG5h" value="withParam" />
<node concept="37vLTG" id="5itBwM86qEM" role="3clF46">
<property role="TrG5h" value="value" />
<node concept="8X2XB" id="5itBwM86qEN" role="1tU5fm">
<node concept="3uibUv" id="5itBwM86qEO" role="8Xvag">
<ref role="3uigEE" to="wyt6:~Object" resolve="Object" />
</node>
</node>
</node>
<node concept="3uibUv" id="6R6MIbUsAgO" role="3clF45">
<ref role="3uigEE" node="6R6MIbU8M46" resolve="QueryTemplate.Token" />
</node>
<node concept="3Tm1VV" id="5itBwM86qEQ" role="1B3o_S" />
<node concept="3clFbS" id="5itBwM86qER" role="3clF47" />
</node>
<node concept="3uibUv" id="7P_FdVPsDNI" role="3clF45">
<ref role="3uigEE" node="7P_FdVPsDC0" resolve="QueryTemplate.QueryConfigurable" />
<node concept="2tJIrI" id="6R6MIbUs$7p" role="jymVt" />
<node concept="3Tm1VV" id="6R6MIbU8M4h" role="1B3o_S" />
<node concept="3uibUv" id="6R6MIbU8M4i" role="3HQHJm">
<ref role="3uigEE" node="mJ_D14woL$" resolve="Template.Token" />
</node>
<node concept="3Tm1VV" id="7P_FdVPsDM9" role="1B3o_S" />
<node concept="3clFbS" id="7P_FdVPsDMa" role="3clF47" />
</node>
<node concept="2tJIrI" id="6OXbTD$reMa" role="jymVt" />
<node concept="2tJIrI" id="6R6MIbUcYx4" role="jymVt" />
<node concept="3HP615" id="7P_FdVPsDC0" role="jymVt">
<property role="2bfB8j" value="true" />
<property role="TrG5h" value="QueryConfigurable" />
@ -1215,87 +1002,64 @@
<node concept="3Tm1VV" id="7P_FdVPsDC1" role="1B3o_S" />
</node>
<node concept="2tJIrI" id="6OXbTD$reOi" role="jymVt" />
<node concept="3HP615" id="7P_FdVQ_k3b" role="jymVt">
<property role="2bfB8j" value="true" />
<property role="TrG5h" value="QueryObservable" />
<node concept="2tJIrI" id="7P_FdVQ_k6c" role="jymVt" />
<node concept="3clFb_" id="7P_FdVQ_k6A" role="jymVt">
<property role="TrG5h" value="subscribe" />
<node concept="37vLTG" id="7P_FdVQ_ka7" role="3clF46">
<property role="TrG5h" value="observer" />
<node concept="3uibUv" id="7P_FdVQ_kaO" role="1tU5fm">
<ref role="3uigEE" node="7P_FdVQ_jCo" resolve="QueryTemplate.QueryObserver" />
</node>
</node>
<node concept="3cqZAl" id="7P_FdVQ_k6C" role="3clF45" />
<node concept="3Tm1VV" id="7P_FdVQ_k6D" role="1B3o_S" />
<node concept="3clFbS" id="7P_FdVQ_k6E" role="3clF47" />
</node>
<node concept="2tJIrI" id="7P_FdVQ_oC2" role="jymVt" />
<node concept="3Tm1VV" id="7P_FdVQ_k3c" role="1B3o_S" />
<node concept="2AHcQZ" id="19OC8ZSn3f" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Deprecated" resolve="Deprecated" />
<node concept="3clFb_" id="6OXbTD$iO0w" role="jymVt">
<property role="TrG5h" value="name" />
<node concept="17QB3L" id="6OXbTD$iO0x" role="3clF45" />
<node concept="3Tm1VV" id="6OXbTD$iO0y" role="1B3o_S" />
<node concept="3clFbS" id="6OXbTD$iO0z" role="3clF47" />
</node>
<node concept="2tJIrI" id="6OXbTD$iO0$" role="jymVt" />
<node concept="3clFb_" id="6OXbTD$iO0_" role="jymVt">
<property role="TrG5h" value="fqName" />
<node concept="17QB3L" id="6OXbTD$iO0A" role="3clF45" />
<node concept="3Tm1VV" id="6OXbTD$iO0B" role="1B3o_S" />
<node concept="3clFbS" id="6OXbTD$iO0C" role="3clF47" />
</node>
<node concept="2tJIrI" id="6R6MIbU90O$" role="jymVt" />
<node concept="3clFb_" id="4t7Xo7icmmF" role="jymVt">
<property role="2aFKle" value="false" />
<property role="TrG5h" value="kind" />
<node concept="3clFbS" id="4t7Xo7icmmI" role="3clF47" />
<node concept="3Tm1VV" id="4t7Xo7icmmJ" role="1B3o_S" />
<node concept="3uibUv" id="4t7Xo7intc6" role="3clF45">
<ref role="3uigEE" node="4t7Xo7inshN" resolve="QueryKind" />
</node>
</node>
<node concept="2tJIrI" id="6OXbTD$reQr" role="jymVt" />
<node concept="3HP615" id="7P_FdVQ_jCo" role="jymVt">
<property role="2bfB8j" value="true" />
<property role="TrG5h" value="QueryObserver" />
<node concept="2tJIrI" id="7P_FdVQ_jEo" role="jymVt" />
<node concept="3clFb_" id="7P_FdVQ_jFm" role="jymVt">
<property role="TrG5h" value="onNext" />
<node concept="37vLTG" id="7P_FdVQ_jF$" role="3clF46">
<property role="TrG5h" value="stage" />
<node concept="17QB3L" id="7P_FdVQ_jI8" role="1tU5fm" />
<node concept="2tJIrI" id="6OXbTD$iO0D" role="jymVt" />
<node concept="3clFb_" id="5itBwM78vMu" role="jymVt">
<property role="TrG5h" value="createToken" />
<node concept="37vLTG" id="5itBwM78zqd" role="3clF46">
<property role="TrG5h" value="session" />
<node concept="3uibUv" id="5itBwM78$AE" role="1tU5fm">
<ref role="3uigEE" node="18kNIl1vDPZ" resolve="TemplateApplicationSession" />
</node>
<node concept="37vLTG" id="7P_FdVQ_jJ3" role="3clF46">
<property role="TrG5h" value="storeView" />
<node concept="3uibUv" id="7P_FdVQ_jJT" role="1tU5fm">
<ref role="3uigEE" to="w7la:~StoreView" resolve="StoreView" />
</node>
</node>
<node concept="3cqZAl" id="7P_FdVQ_jFp" role="3clF45" />
<node concept="3Tm1VV" id="7P_FdVQ_jFq" role="1B3o_S" />
<node concept="3clFbS" id="7P_FdVQ_jFr" role="3clF47" />
</node>
<node concept="2tJIrI" id="7P_FdVQ_jL5" role="jymVt" />
<node concept="3clFb_" id="7P_FdVQ_jLY" role="jymVt">
<property role="TrG5h" value="onCompleted" />
<node concept="37vLTG" id="7P_FdVQ_jPZ" role="3clF46">
<property role="TrG5h" value="view" />
<node concept="3uibUv" id="7P_FdVQ_jQR" role="1tU5fm">
<ref role="3uigEE" to="w7la:~StoreView" resolve="StoreView" />
</node>
</node>
<node concept="3cqZAl" id="7P_FdVQ_jM0" role="3clF45" />
<node concept="3Tm1VV" id="7P_FdVQ_jM1" role="1B3o_S" />
<node concept="3clFbS" id="7P_FdVQ_jM2" role="3clF47" />
</node>
<node concept="2tJIrI" id="7P_FdVQ_jS6" role="jymVt" />
<node concept="3clFb_" id="7P_FdVQ_jU$" role="jymVt">
<property role="TrG5h" value="onFailure" />
<node concept="37vLTG" id="7P_FdVQ_jY$" role="3clF46">
<property role="TrG5h" value="exception" />
<node concept="3uibUv" id="7WKNeR9$ZWp" role="1tU5fm">
<ref role="3uigEE" to="wyt6:~Throwable" resolve="Throwable" />
</node>
</node>
<node concept="3cqZAl" id="7P_FdVQ_jUB" role="3clF45" />
<node concept="3Tm1VV" id="7P_FdVQ_jUC" role="1B3o_S" />
<node concept="3clFbS" id="7P_FdVQ_jUD" role="3clF47" />
</node>
<node concept="2tJIrI" id="7P_FdVQ_jEt" role="jymVt" />
<node concept="3Tm1VV" id="7P_FdVQ_jCp" role="1B3o_S" />
<node concept="2AHcQZ" id="19OC8ZSn0U" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Deprecated" resolve="Deprecated" />
<node concept="16syzq" id="5itBwM7WsnX" role="3clF45">
<ref role="16sUi3" node="6tPOoeT3qak" resolve="T" />
</node>
<node concept="3Tm1VV" id="5itBwM78vMx" role="1B3o_S" />
<node concept="3clFbS" id="5itBwM78vMy" role="3clF47" />
</node>
<node concept="2tJIrI" id="6R6MIbUsv9j" role="jymVt" />
<node concept="3Tm1VV" id="6OXbTD$iNPQ" role="1B3o_S" />
<node concept="3clFb_" id="7P_FdVPsDM6" role="jymVt">
<property role="TrG5h" value="newQuery" />
<node concept="3uibUv" id="7P_FdVPsDNI" role="3clF45">
<ref role="3uigEE" node="7P_FdVPsDC0" resolve="QueryTemplate.QueryConfigurable" />
</node>
<node concept="3Tm1VV" id="7P_FdVPsDM9" role="1B3o_S" />
<node concept="3clFbS" id="7P_FdVPsDMa" role="3clF47" />
</node>
<node concept="2tJIrI" id="6OXbTD$reMa" role="jymVt" />
<node concept="16euLQ" id="6tPOoeT3qak" role="16eVyc">
<property role="TrG5h" value="Token" />
<node concept="3uibUv" id="6tPOoeT3qal" role="3ztrMU">
<ref role="3uigEE" node="mJ_D14woL$" resolve="TemplateToken" />
<property role="TrG5h" value="T" />
<node concept="3uibUv" id="6R6MIbUdZ9d" role="3ztrMU">
<ref role="3uigEE" node="6R6MIbU8M46" resolve="QueryTemplate.Token" />
</node>
</node>
<node concept="3uibUv" id="6R6MIbU9AOG" role="3HQHJm">
<ref role="3uigEE" node="6R6MIbU9$OD" resolve="Template" />
</node>
</node>
<node concept="3HP615" id="4t7Xo7inshN">
<property role="TrG5h" value="QueryKind" />
@ -6715,5 +6479,174 @@
</node>
</node>
</node>
<node concept="312cEu" id="6R6MIbU8KKa">
<property role="3GE5qa" value="template" />
<property role="TrG5h" value="AbstractQueryTemplate" />
<property role="1sVAO0" value="true" />
<node concept="2tJIrI" id="6R6MIbU8KQu" role="jymVt" />
<node concept="3clFbW" id="6R6MIbU8QE_" role="jymVt">
<node concept="3cqZAl" id="6R6MIbU8QEB" role="3clF45" />
<node concept="3Tm1VV" id="6R6MIbU8QEC" role="1B3o_S" />
<node concept="3clFbS" id="6R6MIbU8QED" role="3clF47">
<node concept="3clFbF" id="6R6MIbU8VEN" role="3cqZAp">
<node concept="37vLTI" id="6R6MIbU8WtG" role="3clFbG">
<node concept="37vLTw" id="6R6MIbU8W$q" role="37vLTx">
<ref role="3cqZAo" node="6R6MIbU8Ub3" resolve="name" />
</node>
<node concept="2OqwBi" id="6R6MIbU8VQs" role="37vLTJ">
<node concept="Xjq3P" id="6R6MIbU8VEM" role="2Oq$k0" />
<node concept="2OwXpG" id="6R6MIbU8W8L" role="2OqNvi">
<ref role="2Oxat5" node="6R6MIbU8TtO" resolve="name" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="6R6MIbU8WAx" role="3cqZAp">
<node concept="37vLTI" id="6R6MIbU8XsQ" role="3clFbG">
<node concept="37vLTw" id="6R6MIbU8XyM" role="37vLTx">
<ref role="3cqZAo" node="6R6MIbU8Uhy" resolve="fqName" />
</node>
<node concept="2OqwBi" id="6R6MIbU8WNm" role="37vLTJ">
<node concept="Xjq3P" id="6R6MIbU8WAv" role="2Oq$k0" />
<node concept="2OwXpG" id="6R6MIbU8X5L" role="2OqNvi">
<ref role="2Oxat5" node="6R6MIbU8VeS" resolve="fqName" />
</node>
</node>
</node>
</node>
<node concept="3clFbF" id="6R6MIbU8YuV" role="3cqZAp">
<node concept="37vLTI" id="6R6MIbU8YuX" role="3clFbG">
<node concept="2OqwBi" id="6R6MIbU8YOk" role="37vLTJ">
<node concept="Xjq3P" id="6R6MIbU8YRP" role="2Oq$k0" />
<node concept="2OwXpG" id="6R6MIbU8Zr4" role="2OqNvi">
<ref role="2Oxat5" node="6R6MIbU8TtR" resolve="templateRef" />
</node>
</node>
<node concept="37vLTw" id="6R6MIbU8Yv1" role="37vLTx">
<ref role="3cqZAo" node="6R6MIbU8Y5J" resolve="templateRef" />
</node>
</node>
</node>
</node>
<node concept="37vLTG" id="6R6MIbU8Ub3" role="3clF46">
<property role="TrG5h" value="name" />
<node concept="17QB3L" id="6R6MIbU8Ub2" role="1tU5fm" />
</node>
<node concept="37vLTG" id="6R6MIbU8Uhy" role="3clF46">
<property role="TrG5h" value="fqName" />
<node concept="17QB3L" id="6R6MIbU8Uo9" role="1tU5fm" />
</node>
<node concept="37vLTG" id="6R6MIbU8Y5J" role="3clF46">
<property role="TrG5h" value="templateRef" />
<node concept="3uibUv" id="6R6MIbU8Y5K" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
</node>
</node>
<node concept="2tJIrI" id="6R6MIbU8TC$" role="jymVt" />
<node concept="3clFb_" id="6R6MIbU8TDY" role="jymVt">
<property role="TrG5h" value="name" />
<node concept="17QB3L" id="6R6MIbU8TDZ" role="3clF45" />
<node concept="3Tm1VV" id="6R6MIbU8TE0" role="1B3o_S" />
<node concept="3clFbS" id="6R6MIbU8TE2" role="3clF47">
<node concept="3clFbF" id="6R6MIbU8TOi" role="3cqZAp">
<node concept="37vLTw" id="6R6MIbU8TOh" role="3clFbG">
<ref role="3cqZAo" node="6R6MIbU8TtO" resolve="name" />
</node>
</node>
</node>
<node concept="2AHcQZ" id="6R6MIbU8TE3" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="6R6MIbU8TSx" role="jymVt" />
<node concept="3clFb_" id="6R6MIbU8TWk" role="jymVt">
<property role="TrG5h" value="fqName" />
<node concept="17QB3L" id="6R6MIbU8TWl" role="3clF45" />
<node concept="3Tm1VV" id="6R6MIbU8TWm" role="1B3o_S" />
<node concept="3clFbS" id="6R6MIbU8TWo" role="3clF47">
<node concept="3clFbF" id="6R6MIbU8Vwq" role="3cqZAp">
<node concept="37vLTw" id="6R6MIbU8Vwp" role="3clFbG">
<ref role="3cqZAo" node="6R6MIbU8VeS" resolve="fqName" />
</node>
</node>
</node>
<node concept="2AHcQZ" id="6R6MIbU8TWp" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="6R6MIbU8V$j" role="jymVt" />
<node concept="3clFb_" id="6R6MIbU91sk" role="jymVt">
<property role="TrG5h" value="getTemplateRef" />
<node concept="3uibUv" id="6R6MIbU91sl" role="3clF45">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
<node concept="3Tm1VV" id="6R6MIbU91sm" role="1B3o_S" />
<node concept="3clFbS" id="6R6MIbU91so" role="3clF47">
<node concept="3clFbF" id="6R6MIbU920H" role="3cqZAp">
<node concept="37vLTw" id="6R6MIbU920G" role="3clFbG">
<ref role="3cqZAo" node="6R6MIbU8TtR" resolve="templateRef" />
</node>
</node>
</node>
<node concept="2AHcQZ" id="6R6MIbU91sp" role="2AJF6D">
<ref role="2AI5Lk" to="wyt6:~Override" resolve="Override" />
</node>
</node>
<node concept="2tJIrI" id="6R6MIbU91P_" role="jymVt" />
<node concept="312cEg" id="6R6MIbU8TtO" role="jymVt">
<property role="TrG5h" value="name" />
<node concept="3Tm6S6" id="6R6MIbU8TtP" role="1B3o_S" />
<node concept="17QB3L" id="6R6MIbU8TtQ" role="1tU5fm" />
</node>
<node concept="312cEg" id="6R6MIbU8VeS" role="jymVt">
<property role="TrG5h" value="fqName" />
<node concept="3Tm6S6" id="6R6MIbU8VeT" role="1B3o_S" />
<node concept="17QB3L" id="6R6MIbU8VeU" role="1tU5fm" />
</node>
<node concept="312cEg" id="6R6MIbU8TtR" role="jymVt">
<property role="TrG5h" value="templateRef" />
<node concept="3Tm6S6" id="6R6MIbU8TtS" role="1B3o_S" />
<node concept="3uibUv" id="6R6MIbU8TtT" role="1tU5fm">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
</node>
<node concept="2tJIrI" id="6R6MIbU8KQz" role="jymVt" />
<node concept="3Tm1VV" id="6R6MIbU8KKb" role="1B3o_S" />
<node concept="16euLQ" id="6R6MIbU8PKj" role="16eVyc">
<property role="TrG5h" value="T" />
<node concept="3uibUv" id="6R6MIbUdXAi" role="3ztrMU">
<ref role="3uigEE" node="6R6MIbU8M46" resolve="QueryTemplate.Token" />
</node>
</node>
<node concept="3uibUv" id="6R6MIbU8QpB" role="EKbjA">
<ref role="3uigEE" node="6OXbTD$iNPP" resolve="QueryTemplate" />
<node concept="16syzq" id="6R6MIbU8QC6" role="11_B2D">
<ref role="16sUi3" node="6R6MIbU8PKj" resolve="T" />
</node>
</node>
</node>
<node concept="3HP615" id="6R6MIbU9$OD">
<property role="3GE5qa" value="template" />
<property role="TrG5h" value="Template" />
<node concept="2tJIrI" id="6R6MIbU9_i3" role="jymVt" />
<node concept="3HP615" id="mJ_D14woL$" role="jymVt">
<property role="3GE5qa" value="template.token" />
<property role="TrG5h" value="Token" />
<node concept="2tJIrI" id="mJ_D14woOn" role="jymVt" />
<node concept="3Tm1VV" id="mJ_D14woL_" role="1B3o_S" />
</node>
<node concept="2tJIrI" id="6R6MIbUg6du" role="jymVt" />
<node concept="3clFb_" id="6R6MIbU9_nr" role="jymVt">
<property role="TrG5h" value="getTemplateRef" />
<node concept="3uibUv" id="6R6MIbU9_ns" role="3clF45">
<ref role="3uigEE" to="mhbf:~SNodeReference" resolve="SNodeReference" />
</node>
<node concept="3Tm1VV" id="6R6MIbU9_nt" role="1B3o_S" />
<node concept="3clFbS" id="6R6MIbU9_nu" role="3clF47" />
</node>
<node concept="2tJIrI" id="6R6MIbU9_i0" role="jymVt" />
<node concept="3Tm1VV" id="6R6MIbU9$OE" role="1B3o_S" />
</node>
</model>