@opcua/for-node-red 3.9.0 → 3.11.0

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.
@@ -4,8 +4,7 @@
4
4
  </style>
5
5
 
6
6
  <script type="text/javascript">
7
- (function(_0x2dd48b,_0x2fb789){const _0x1aecc0=_0x5865,_0xecc4c1=_0x2dd48b();while(!![]){try{const _0x5ec0a3=-parseInt(_0x1aecc0(0x21f))/0x1*(-parseInt(_0x1aecc0(0x26f))/0x2)+-parseInt(_0x1aecc0(0x1f7))/0x3+parseInt(_0x1aecc0(0x232))/0x4*(parseInt(_0x1aecc0(0x262))/0x5)+parseInt(_0x1aecc0(0x28a))/0x6*(parseInt(_0x1aecc0(0x25f))/0x7)+-parseInt(_0x1aecc0(0x240))/0x8*(parseInt(_0x1aecc0(0x204))/0x9)+parseInt(_0x1aecc0(0x1c2))/0xa+-parseInt(_0x1aecc0(0x23e))/0xb*(parseInt(_0x1aecc0(0x283))/0xc);if(_0x5ec0a3===_0x2fb789)break;else _0xecc4c1['push'](_0xecc4c1['shift']());}catch(_0x4c7842){_0xecc4c1['push'](_0xecc4c1['shift']());}}}(_0x3d34,0xc521b),(function(){'use strict';const _0x2e85a2=_0x5865;function _0x5067b8(_0x36cfec,_0x546345,_0x134273,_0x1de879){function _0x1ce806(_0x42dbbb){return _0x42dbbb instanceof _0x134273?_0x42dbbb:new _0x134273(function(_0x5e1c05){_0x5e1c05(_0x42dbbb);});}return new(_0x134273||(_0x134273=Promise))(function(_0x39ccdd,_0x2700b4){const _0x99d8e=_0x5865;function _0x2a7e84(_0x5e8926){const _0x43b8e5=_0x5865;try{_0x3c54c4(_0x1de879[_0x43b8e5(0x251)](_0x5e8926));}catch(_0x4426ea){_0x2700b4(_0x4426ea);}}function _0x27893b(_0x546a26){const _0x8cc271=_0x5865;try{_0x3c54c4(_0x1de879[_0x8cc271(0x224)](_0x546a26));}catch(_0x22ee9d){_0x2700b4(_0x22ee9d);}}function _0x3c54c4(_0x27d2e1){const _0x48bd1c=_0x5865;_0x27d2e1[_0x48bd1c(0x203)]?_0x39ccdd(_0x27d2e1[_0x48bd1c(0x208)]):_0x1ce806(_0x27d2e1[_0x48bd1c(0x208)])[_0x48bd1c(0x1c3)](_0x2a7e84,_0x27893b);}_0x3c54c4((_0x1de879=_0x1de879[_0x99d8e(0x28d)](_0x36cfec,_0x546345||[]))[_0x99d8e(0x251)]());});}typeof SuppressedError===_0x2e85a2(0x212)?SuppressedError:function(_0x2e5fb0,_0x4da25a,_0x452a5f){const _0x102261=_0x2e85a2;var _0x6f611c=new Error(_0x452a5f);return _0x6f611c['name']=_0x102261(0x1f5),_0x6f611c[_0x102261(0x211)]=_0x2e5fb0,_0x6f611c[_0x102261(0x1dd)]=_0x4da25a,_0x6f611c;};const _0x2ab2d1=_0x2e85a2(0x25b),_0x2c7411=_0x2e85a2(0x20d),_0x2dbd45=_0x2e85a2(0x1ad),_0x2a31f5=_0x2e85a2(0x271),_0x12df8b=_0x2e85a2(0x18e),_0x1f689c=_0x2e85a2(0x260),_0x551f1b=_0x2e85a2(0x245);var _0x20e1c6;(function(_0x455404){const _0x1ff8e2=_0x2e85a2;_0x455404[_0x455404[_0x1ff8e2(0x220)]=0x0]=_0x1ff8e2(0x220),_0x455404[_0x455404[_0x1ff8e2(0x199)]=0x1]=_0x1ff8e2(0x199),_0x455404[_0x455404[_0x1ff8e2(0x227)]=0x2]=_0x1ff8e2(0x227),_0x455404[_0x455404[_0x1ff8e2(0x1d1)]=0x3]=_0x1ff8e2(0x1d1);}(_0x20e1c6||(_0x20e1c6={})));var _0x4c6359;(function(_0x3ca42e){const _0x98eda7=_0x2e85a2;_0x3ca42e[_0x3ca42e['Unspecified']=0x0]=_0x98eda7(0x1ae),_0x3ca42e[_0x3ca42e[_0x98eda7(0x1d2)]=0x1]=_0x98eda7(0x1d2),_0x3ca42e[_0x3ca42e['Variable']=0x2]='Variable',_0x3ca42e[_0x3ca42e[_0x98eda7(0x253)]=0x4]=_0x98eda7(0x253),_0x3ca42e[_0x3ca42e['ObjectType']=0x8]=_0x98eda7(0x239),_0x3ca42e[_0x3ca42e[_0x98eda7(0x205)]=0x10]=_0x98eda7(0x205),_0x3ca42e[_0x3ca42e[_0x98eda7(0x1fe)]=0x20]=_0x98eda7(0x1fe),_0x3ca42e[_0x3ca42e['DataType']=0x40]=_0x98eda7(0x1e4),_0x3ca42e[_0x3ca42e['View']=0x80]='View';}(_0x4c6359||(_0x4c6359={})));var _0x39b4f2;(function(_0x14992e){const _0x2db9ab=_0x2e85a2;_0x14992e[_0x14992e['Object']=0x1]=_0x2db9ab(0x1d2),_0x14992e[_0x14992e[_0x2db9ab(0x1dc)]=0x2]=_0x2db9ab(0x1dc),_0x14992e[_0x14992e[_0x2db9ab(0x253)]=0x4]=_0x2db9ab(0x253),_0x14992e[_0x14992e[_0x2db9ab(0x239)]=0x8]='ObjectType',_0x14992e[_0x14992e[_0x2db9ab(0x205)]=0x10]=_0x2db9ab(0x205),_0x14992e[_0x14992e[_0x2db9ab(0x1fe)]=0x20]=_0x2db9ab(0x1fe),_0x14992e[_0x14992e[_0x2db9ab(0x1e4)]=0x40]=_0x2db9ab(0x1e4),_0x14992e[_0x14992e['View']=0x80]=_0x2db9ab(0x25d);}(_0x39b4f2||(_0x39b4f2={})));var _0x10ecf0;(function(_0x160204){const _0x4fbb6e=_0x2e85a2;_0x160204[_0x160204[_0x4fbb6e(0x1fe)]=0x1]=_0x4fbb6e(0x1fe),_0x160204[_0x160204[_0x4fbb6e(0x292)]=0x2]='IsForward',_0x160204[_0x160204[_0x4fbb6e(0x233)]=0x4]=_0x4fbb6e(0x233),_0x160204[_0x160204[_0x4fbb6e(0x1d4)]=0x8]=_0x4fbb6e(0x1d4),_0x160204[_0x160204[_0x4fbb6e(0x26e)]=0x10]=_0x4fbb6e(0x26e),_0x160204[_0x160204['TypeDefinition']=0x20]=_0x4fbb6e(0x263);}(_0x10ecf0||(_0x10ecf0={})));function _0x14f191(_0x36b012){const _0x1526cc=_0x2e85a2;switch(_0x36b012){case _0x1526cc(0x1e7):return _0x2ab2d1;case _0x1526cc(0x1ee):return _0x2a31f5;case _0x1526cc(0x19c):return _0x2dbd45;case _0x1526cc(0x286):return _0x12df8b;case _0x1526cc(0x24e):return _0x1f689c;case'HasTypeDefinition':return _0x551f1b;}}const _0x5ddca2=_0x46ec67=>{const _0x2f1d0d=_0x2e85a2;switch(_0x46ec67[_0x2f1d0d(0x26a)]){case'Object':if(_0x46ec67['referenceTypeId']===_0x2ab2d1);if(_0x46ec67[_0x2f1d0d(0x1aa)]===_0x2c7411||_0x46ec67['referenceTypeId']===_0x2f1d0d(0x27a))return{'icon':_0x2f1d0d(0x190),'color':_0x2f1d0d(0x24d)};return{'icon':_0x2f1d0d(0x1e8),'color':'SeaGreen'};case _0x2f1d0d(0x1dc):if(_0x46ec67[_0x2f1d0d(0x274)]===_0x2dbd45)return{'icon':_0x2f1d0d(0x27d),'color':_0x2f1d0d(0x1c1)};else return _0x46ec67[_0x2f1d0d(0x274)]===_0x2a31f5?{'icon':'fa-list-alt','color':_0x2f1d0d(0x22c)}:{'icon':_0x2f1d0d(0x27d),'color':_0x2f1d0d(0x229)};case _0x2f1d0d(0x253):return{'icon':_0x2f1d0d(0x1c0),'color':_0x2f1d0d(0x26b)};case _0x2f1d0d(0x239):return{'icon':'fa-object-group','color':_0x2f1d0d(0x1b9)};case _0x2f1d0d(0x205):return{'icon':_0x2f1d0d(0x18c),'color':_0x2f1d0d(0x1b9)};case'DataType':return{'icon':_0x2f1d0d(0x21d),'color':_0x2f1d0d(0x229)};}return{'icon':_0x2f1d0d(0x1cb),'color':_0x2f1d0d(0x1a3)};},_0x103db4=(_0x512f83,_0x434d1f,_0x5dbd41)=>_0x5067b8(void 0x0,[_0x512f83,_0x434d1f,_0x5dbd41],void 0x0,function*({endpointNode:_0x42f50b,endpoint:_0x396a8f,baseUrl:_0x1214b7},_0x47481f,_0x402ed3){const _0x11b512=_0x2e85a2,_0x17e9ea=_0x1214b7+_0x11b512(0x1ed),_0x187cab=_0x17e9ea+'/browse',_0x2129e4=Object['assign'](Object[_0x11b512(0x1b2)]({},_0x402ed3),{'nodeId':_0x47481f,'resultMask':0x3f}),_0x109d0c=yield fetch(_0x187cab,{'method':_0x11b512(0x250),'body':JSON['stringify']({'endpointNode':_0x42f50b,'endpoint':_0x396a8f,'browseDescription':_0x2129e4}),'headers':{'Content-Type':_0x11b512(0x16c)}});if(_0x109d0c[_0x11b512(0x1bf)]!==0xc8)return console[_0x11b512(0x168)](_0x11b512(0x184),_0x109d0c[_0x11b512(0x1bf)],_0x109d0c[_0x11b512(0x1e6)]),{'references':[]};const _0xab8d51=yield _0x109d0c[_0x11b512(0x16e)](),_0x142a5c=_0xab8d51['browseResult'][_0x11b512(0x280)]||[];return{'references':_0x142a5c};}),_0x56a63d={'referenceTypeId':_0x14f191(_0x2e85a2(0x286)),'includeSubtypes':!![],'browseDirection':_0x20e1c6['Forward'],'nodeClassMask':_0x4c6359['Variable']|_0x4c6359[_0x2e85a2(0x1d2)]|_0x4c6359[_0x2e85a2(0x253)],'resultMask':0x3f},_0xf7e595={'referenceTypeId':_0x14f191(_0x2e85a2(0x1e7)),'includeSubtypes':!![],'browseDirection':_0x20e1c6[_0x2e85a2(0x220)],'nodeClassMask':_0x4c6359[_0x2e85a2(0x1dc)]|_0x4c6359[_0x2e85a2(0x1d2)]|_0x4c6359[_0x2e85a2(0x253)],'resultMask':0x3f},_0x2f0717=(_0x169f70,_0x507238)=>_0x5067b8(void 0x0,[_0x169f70,_0x507238],void 0x0,function*({endpointNode:_0x44ed9f,endpoint:_0x123265,baseUrl:_0x536a0f},{nodeId:_0x4ec35f,rootNodeId:_0x428ca6,isType:_0x11af7e}){const _0x3adf84=_0x2e85a2,_0x98bbf6=_0x536a0f+_0x3adf84(0x1ed),_0x471862=_0x98bbf6+_0x3adf84(0x167),_0x467aa6=yield fetch(_0x471862,{'method':_0x3adf84(0x250),'body':JSON[_0x3adf84(0x185)]({'endpointNode':_0x44ed9f,'endpoint':_0x123265,'nodeId':_0x4ec35f,'rootNodeId':_0x428ca6,'isType':_0x11af7e}),'headers':{'Content-Type':'application/json'}});if(_0x467aa6[_0x3adf84(0x1bf)]!==0xc8)return null;const _0x2aa657=yield _0x467aa6[_0x3adf84(0x16e)]();return _0x2aa657[_0x3adf84(0x1c7)];}),_0x73174a=(_0x22524c,_0x8fde0)=>{const _0x1c8d25=_0x2e85a2;if(_0x22524c['statusCode']!==_0x1c8d25(0x289))return _0x22524c[_0x1c8d25(0x273)];switch(_0x8fde0){case _0x1c8d25(0x1c7):return _0x22524c['bp_indexed'];case _0x1c8d25(0x18f):return _0x22524c[_0x1c8d25(0x264)]||_0x22524c['bp_indexed'];case _0x1c8d25(0x244):return _0x22524c[_0x1c8d25(0x216)]||_0x22524c[_0x1c8d25(0x215)];case _0x1c8d25(0x1e3):return _0x22524c[_0x1c8d25(0x215)];default:case'nodeId':return _0x22524c[_0x1c8d25(0x1a1)];}},_0x278df4=_0x565b25=>{const _0x146e80=_0x2e85a2;if(_0x565b25[_0x146e80(0x1ef)]!==_0x146e80(0x289))return'statusCode:\x20'+_0x565b25[_0x146e80(0x1ef)];else{let _0x103c1b=[];return _0x103c1b[_0x146e80(0x28c)](_0x146e80(0x1bb)+_0x565b25[_0x146e80(0x1a1)]),_0x103c1b[_0x146e80(0x28c)](_0x146e80(0x1a8)+_0x565b25[_0x146e80(0x287)]),_0x103c1b[_0x146e80(0x28c)](_0x146e80(0x285)+_0x4c6359[_0x565b25[_0x146e80(0x26a)]]),_0x565b25[_0x146e80(0x215)]&&_0x103c1b[_0x146e80(0x28c)](_0x146e80(0x1a2)+_0x565b25[_0x146e80(0x215)]),_0x565b25[_0x146e80(0x216)]&&_0x103c1b[_0x146e80(0x28c)]('aliased\x20NodeId:\x20'+_0x565b25[_0x146e80(0x216)]),_0x565b25['bp_indexed']&&_0x103c1b[_0x146e80(0x28c)](_0x146e80(0x1a6)+_0x565b25['bp_aliased']),_0x103c1b['join']('\x0a');}};function _0x578324(_0x5e4f98){const _0x2097fd=_0x2e85a2;if(_0x5e4f98[_0x2097fd(0x291)](/^nsu=/))return _0x2097fd(0x1e3);if(_0x5e4f98[_0x2097fd(0x291)](/^(ns=.*;)?(i|b|s|g)=/))return'nodeId';if(_0x5e4f98[_0x2097fd(0x291)](/^nsa=/))return _0x2097fd(0x244);if(_0x5e4f98[_0x2097fd(0x291)](/^(\/|\.)[0-9]+:/))return _0x2097fd(0x1c7);if(_0x5e4f98[_0x2097fd(0x291)](/^(\/|\.).*:/))return _0x2097fd(0x1c7);}function _0x32b349(_0x33ff09){const _0x258d71=_0x2e85a2,_0x4f2df5=_0x578324(_0x33ff09);switch(_0x4f2df5){case _0x258d71(0x1a1):return'n';case'aliasedNodeId':return'na';case _0x258d71(0x1e3):return _0x258d71(0x178);case'browsePath':return'b';case _0x258d71(0x18f):return'ab';default:return't';}}function _0x4ccb4c(_0x2ff606){const _0xb86fa9=_0x2e85a2;let _0x1f1cca;switch(_0x2ff606){case'n':_0x1f1cca=_0xb86fa9(0x1a1);break;case'na':_0x1f1cca=_0xb86fa9(0x244);break;case'nsu':_0x1f1cca=_0xb86fa9(0x1e3);break;case'b':_0x1f1cca=_0xb86fa9(0x1c7);break;case'ab':_0x1f1cca=_0xb86fa9(0x18f);break;}return _0x1f1cca;}function _0x3bda7d(_0x2f717a){const _0x2fe0b1=_0x2e85a2;switch(_0x2f717a){case _0x2fe0b1(0x1a1):return'n';case _0x2fe0b1(0x244):return'na';case _0x2fe0b1(0x1e3):return'nsu';case _0x2fe0b1(0x1c7):return'b';case _0x2fe0b1(0x18f):return'ab';default:return't';}}const _0x12464f=(_0x33c1ff,_0xef4623)=>_0x5067b8(void 0x0,[_0x33c1ff,_0xef4623],void 0x0,function*({endpointNode:_0x2695b4,endpoint:_0x3058a3,baseUrl:_0x53f12d},_0x538dec){const _0x1a2ea2=_0x2e85a2,_0x40162b=_0x53f12d+'/opcua-for-node-red',_0x310117=_0x40162b+_0x1a2ea2(0x196),_0x29236a=_0x2695b4['id'],_0x32f5ed=RED[_0x1a2ea2(0x1e1)][_0x1a2ea2(0x1b5)](_0x29236a);console[_0x1a2ea2(0x168)](_0x32f5ed[_0x1a2ea2(0x1fb)]),_0x32f5ed['namespaceAliases'];const _0x27f502=_0x2695b4[_0x1a2ea2(0x1fb)],_0x4fac8e=yield fetch(_0x310117,{'method':_0x1a2ea2(0x250),'body':JSON[_0x1a2ea2(0x185)]({'endpointNode':_0x2695b4,'endpoint':_0x3058a3,'nodeId':_0x538dec,'namespaceAliases':_0x27f502}),'headers':{'Content-Type':'application/json'}}),_0x5e92d9=yield _0x4fac8e['json']();return{'json':_0x5e92d9,'data':_0x4fac8e};}),_0x3babf3=(_0xb9f822,_0x51e892,_0x4e0051,_0x3b9590)=>_0x5067b8(void 0x0,[_0xb9f822,_0x51e892,_0x4e0051,_0x3b9590],void 0x0,function*({endpointNode:_0x194f6e,endpoint:_0x2c6593,baseUrl:_0x35fb56},_0x27f2dd,_0x14deb5,_0x2e48f7){const _0x46f311=_0x2e85a2,_0x23a892=_0x14deb5[_0x46f311(0x1d0)](),{json:_0x304832,data:_0x3c1265}=yield _0x12464f({'endpointNode':_0x194f6e,'endpoint':_0x2c6593,'baseUrl':_0x35fb56},_0x23a892),_0x190dbc=(_0x4a82e7,_0x2df5a7)=>{const _0x3096e3=_0x46f311;_0x2e48f7['text'](_0x4a82e7)['addClass'](_0x3096e3(0x228))['addClass'](_0x2df5a7),_0x2e48f7['show'](),setTimeout(()=>{const _0xc52f22=_0x3096e3;_0x2e48f7[_0xc52f22(0x230)](_0x2df5a7),_0x2e48f7['hide']();},0xbb8);};if(_0x3c1265['status']!==0xc8)return _0x190dbc(_0x46f311(0x1f6)+_0x23a892,_0x46f311(0x176)),![];else{if(_0x304832[_0x46f311(0x1ef)][_0x46f311(0x291)](/Good/)){const _0x3103ae=_0x278df4(_0x304832);_0x14deb5[_0x46f311(0x207)]('title',_0x3103ae);const _0xb102b2=_0x73174a(_0x304832,_0x27f2dd);return _0x14deb5[_0x46f311(0x1d0)](_0xb102b2),_0x14deb5['trigger']('change'),_0x190dbc(_0x46f311(0x289),'ok'),!![];}else return _0x14deb5[_0x46f311(0x1d0)](''+_0x23a892),_0x190dbc(_0x304832[_0x46f311(0x1ef)]+'\x20'+_0x3c1265['statusText'],'failure'),![];}});function _0x5cc60e(_0x2cf99c,_0x4ea12f){return _0x5067b8(this,void 0x0,void 0x0,function*(){const _0x118d4b=_0x5865,_0x14aae7=_0x2cf99c[_0x118d4b(0x247)](_0x118d4b(0x208)),_0x99c2f9=yield _0x103db4(_0x4ea12f,_0x14aae7,_0x56a63d),_0x353427=yield _0x103db4(_0x4ea12f,_0x14aae7,_0xf7e595);return{'references':[..._0x99c2f9['references'],..._0x353427['references']]};});}const _0x47aa67={'referenceTypeId':_0x14f191(_0x2e85a2(0x24e)),'includeSubtypes':!![],'browseDirection':_0x20e1c6[_0x2e85a2(0x220)],'nodeClassMask':_0x4c6359[_0x2e85a2(0x1fe)]|_0x4c6359[_0x2e85a2(0x239)]|_0x4c6359[_0x2e85a2(0x1e4)]|_0x4c6359[_0x2e85a2(0x205)],'resultMask':0x3f};function _0x2c49bf(_0x5229d2,_0x1131c1){return _0x5067b8(this,void 0x0,void 0x0,function*(){const _0x4b7550=_0x5865,_0x1bd9a3=_0x5229d2[_0x4b7550(0x247)](_0x4b7550(0x208)),_0x1bd460=yield _0x103db4(_0x1131c1,_0x1bd9a3,_0x47aa67);return _0x1bd460;});}const _0x2bb5f2=_0x59778b=>{const _0x24bba9=_0x2e85a2;var _0x45c921,_0x4314d4,_0x558f32,_0xa02347;if(!_0x59778b||!_0x59778b[_0x24bba9(0x1a1)]){const _0x454d3c=$('<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>');return _0x454d3c;}const _0x9e91d=_0x59778b['nodeId'][_0x24bba9(0x202)](),_0x2ea77e=((_0x45c921=_0x59778b['displayName'])===null||_0x45c921===void 0x0?void 0x0:_0x45c921[_0x24bba9(0x267)])||((_0x4314d4=_0x59778b[_0x24bba9(0x276)])===null||_0x4314d4===void 0x0?void 0x0:_0x4314d4[_0x24bba9(0x1bd)])||_0x59778b[_0x24bba9(0x1a1)]['toString'](),{icon:_0x5ea8bc,color:_0x5d0e60}=_0x5ddca2(_0x59778b),_0x1809aa='('+_0x59778b[_0x24bba9(0x1a1)]['toString']()+')\x20'+(((_0x558f32=_0x59778b[_0x24bba9(0x276)])===null||_0x558f32===void 0x0?void 0x0:_0x558f32[_0x24bba9(0x1bd)])||((_0xa02347=_0x59778b['displayName'])===null||_0xa02347===void 0x0?void 0x0:_0xa02347['text'])||''),_0x3f8eb6=$(_0x24bba9(0x1c5)+_0x59778b[_0x24bba9(0x1a1)][_0x24bba9(0x202)]()+_0x24bba9(0x1ce)+_0x1809aa+_0x24bba9(0x257)+_0x5ea8bc+'\x22\x20style=\x22color:'+_0x5d0e60+_0x24bba9(0x189)+_0x2ea77e+'</span><ul></ul></li>');return _0x3f8eb6[_0x24bba9(0x1a4)](_0x24bba9(0x181)),_0x3f8eb6['data'](_0x24bba9(0x208),_0x9e91d),_0x3f8eb6['data'](_0x24bba9(0x279),_0x59778b),_0x3f8eb6;},_0x2cc815=(_0x1e6c11,_0x4acaed)=>{const _0x547f8d=_0x2e85a2;return _0x4acaed[_0x547f8d(0x214)]('li[key=\x22'+_0x1e6c11+'\x22]');},_0x5411d8=(_0x24d57f,_0x4ae5f8)=>{const _0x39c305=_0x2e85a2;_0x24d57f[_0x39c305(0x26c)][_0x39c305(0x214)](_0x39c305(0x1fc))[_0x39c305(0x230)](_0x39c305(0x1fd)),_0x4ae5f8[_0x39c305(0x214)]('.tree-text:first')[_0x39c305(0x1a4)](_0x39c305(0x1fd));},_0x4635a0=(_0x4ebb1a,_0x89a62a,_0x2f8faa)=>_0x5067b8(void 0x0,void 0x0,void 0x0,function*(){const _0x3cc6cf=_0x2e85a2;let _0x5c48fe=_0x2f8faa[_0x3cc6cf(0x170)](_0x3cc6cf(0x288));_0x89a62a[_0x3cc6cf(0x268)][_0x3cc6cf(0x201)]||[];const _0x4db693=_0x89a62a['nodeIds']||[];if(_0x4db693[_0x3cc6cf(0x1da)]===0x0)return;for(const _0x311d72 of _0x4db693){_0x5c48fe['hasClass'](_0x3cc6cf(0x181))&&(yield _0x291c31(_0x4ebb1a,_0x5c48fe));const _0x47385d=_0x2cc815(_0x311d72,_0x5c48fe);if(_0x47385d[_0x3cc6cf(0x1da)]===0x0)return;_0x5c48fe=_0x47385d;}_0x5411d8(_0x4ebb1a,_0x5c48fe),_0x3e7b39(_0x4ebb1a['$dropdown'],_0x5c48fe);});function _0x3e7b39(_0x5d2a82,_0x2e5eb0){const _0x5eefe5=_0x2e85a2,_0x5c05bd=_0x2e5eb0[_0x5eefe5(0x177)]()[_0x5eefe5(0x19f)],_0x33550a=_0x5d2a82[_0x5eefe5(0x27f)]();if(_0x33550a==undefined)return;const _0x4a863b=_0x33550a+_0x5c05bd-_0x5d2a82[_0x5eefe5(0x261)]()/0x2+_0x2e5eb0[_0x5eefe5(0x261)]()/0x2;_0x5d2a82['animate']({'scrollTop':_0x4a863b},0x1f4);}const _0x472114=(_0x371805,_0x511213)=>_0x5067b8(void 0x0,void 0x0,void 0x0,function*(){const _0x5f0ab4=_0x2e85a2,_0x28bc1a=_0x371805[_0x5f0ab4(0x218)][_0x5f0ab4(0x1d0)](),_0x493108={'nodeId':_0x28bc1a,'rootNodeId':_0x511213[_0x5f0ab4(0x1a1)],'isType':_0x371805[_0x5f0ab4(0x272)]['isTypeRef']||![]},_0x4ad02b=_0xfda639(_0x371805),_0x24c8ac=yield _0x2f0717(_0x4ad02b,_0x493108);if(!_0x24c8ac)return;yield _0x4635a0(_0x371805,_0x24c8ac,_0x371805['$tree']);});function _0x14454f(_0x3fbbe2,_0x545c6a,_0x4e8142,_0x1761f1){return _0x5067b8(this,void 0x0,void 0x0,function*(){const _0x2b85a4=_0x5865;if(_0x545c6a[_0x2b85a4(0x17c)](_0x2b85a4(0x1d8))){console[_0x2b85a4(0x168)](_0x2b85a4(0x187));return;}if(_0x545c6a[_0x2b85a4(0x17c)](_0x2b85a4(0x197))){console[_0x2b85a4(0x168)](_0x2b85a4(0x243));return;}_0x545c6a[_0x2b85a4(0x1a4)]('loading'),_0x545c6a[_0x2b85a4(0x1b1)](_0x2b85a4(0x1d3));try{_0x545c6a['children']('ul')[_0x2b85a4(0x183)]();const {references:_0x56a5b3}=yield _0x4e8142(_0x545c6a,_0x1761f1);_0x56a5b3[_0x2b85a4(0x25e)]((_0x26ace4,_0x202cbc)=>{const _0x10492f=_0x2b85a4;var _0x567908,_0xb851f4;return(((_0x567908=_0x26ace4[_0x10492f(0x276)])===null||_0x567908===void 0x0?void 0x0:_0x567908[_0x10492f(0x1bd)])||'')[_0x10492f(0x16a)](((_0xb851f4=_0x202cbc[_0x10492f(0x276)])===null||_0xb851f4===void 0x0?void 0x0:_0xb851f4[_0x10492f(0x1bd)])||'');});for(const _0x3b6a57 of _0x56a5b3){if(_0x3fbbe2[_0x2b85a4(0x272)][_0x2b85a4(0x1a0)]&&!_0x3fbbe2[_0x2b85a4(0x272)][_0x2b85a4(0x1a0)](_0x3b6a57))continue;const _0x3aa327=_0x2bb5f2(_0x3b6a57);_0x545c6a['children']('ul')[_0x2b85a4(0x1b1)](_0x3aa327);}_0x545c6a[_0x2b85a4(0x1a4)]('fetched');}catch(_0x397e19){_0x545c6a['children']('ul')[_0x2b85a4(0x1b1)](_0x2b85a4(0x1ec)+_0x397e19[_0x2b85a4(0x27b)]+_0x2b85a4(0x221)),console[_0x2b85a4(0x168)](_0x2b85a4(0x174),_0x397e19);}_0x545c6a['find'](_0x2b85a4(0x194))['remove'](),_0x545c6a[_0x2b85a4(0x230)](_0x2b85a4(0x197));});}function _0xfda639(_0x1dcd49){const _0x90c40f=_0x2e85a2,_0x1084e7={'baseUrl':_0x1dcd49[_0x90c40f(0x272)][_0x90c40f(0x20e)],'endpointNode':typeof _0x1dcd49[_0x90c40f(0x272)]['endpointNode']===_0x90c40f(0x212)?_0x1dcd49[_0x90c40f(0x272)][_0x90c40f(0x248)]():_0x1dcd49['options'][_0x90c40f(0x248)],'endpoint':typeof _0x1dcd49[_0x90c40f(0x272)][_0x90c40f(0x237)]==='function'?_0x1dcd49[_0x90c40f(0x272)][_0x90c40f(0x237)]():_0x1dcd49['options'][_0x90c40f(0x237)]};return _0x1084e7;}function _0x291c31(_0x2fe5a3,_0x32182b){return _0x5067b8(this,void 0x0,void 0x0,function*(){const _0x185dd1=_0x5865;if(_0x32182b[_0x185dd1(0x17c)](_0x185dd1(0x1d8))){_0x32182b[_0x185dd1(0x230)]('expandable')['addClass']('expanded'),_0x32182b[_0x185dd1(0x170)]('ul')['toggle']();return;}const _0x3da95d=_0xfda639(_0x2fe5a3),_0x40186d=!_0x2fe5a3[_0x185dd1(0x272)][_0x185dd1(0x195)]?_0x5cc60e:_0x2c49bf;try{yield _0x14454f(_0x2fe5a3,_0x32182b,_0x40186d,_0x3da95d),_0x32182b[_0x185dd1(0x230)](_0x185dd1(0x181))[_0x185dd1(0x1a4)](_0x185dd1(0x249));}catch(_0x2e7165){_0x32182b[_0x185dd1(0x230)](_0x185dd1(0x181))[_0x185dd1(0x1a4)](_0x185dd1(0x249)),console[_0x185dd1(0x168)](_0x185dd1(0x211),_0x2e7165);}});}const _0x54f1a0={'browseName':{'namespaceIndex':0x0,'name':_0x2e85a2(0x27c)},'nodeClass':'Object','nodeId':_0x2e85a2(0x1bc),'displayName':{'text':_0x2e85a2(0x27c)},'typeDefinition':_0x2c7411},_0x2d1272=()=>{$['widget']('sterfive.nodeBrowser',{'options':{'endpointNode':()=>({'endpoint':'opc.tcp://opcuademo.sterfive.com:26543'}),'endpoint':()=>undefined,'parentNode':()=>_0x54f1a0,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x5067b8(this,void 0x0,void 0x0,function*(){const _0x16d634=_0x5865,_0x5c5b6c=this;if(_0x5c5b6c[_0x16d634(0x1d9)]==undefined){const _0xae6b0a=typeof _0x5c5b6c[_0x16d634(0x272)]['parentNode']===_0x16d634(0x212)?_0x5c5b6c[_0x16d634(0x272)][_0x16d634(0x1cc)]['call'](_0x5c5b6c):_0x5c5b6c['options'][_0x16d634(0x1cc)];if(_0xae6b0a instanceof Promise){const _0x58285a=yield _0xae6b0a;_0x5c5b6c['__parentNode']=_0x58285a;}else _0x5c5b6c[_0x16d634(0x1d9)]=_0xae6b0a;}return _0x5c5b6c[_0x16d634(0x1d9)]||_0x54f1a0;});},'reset'(){return _0x5067b8(this,void 0x0,void 0x0,function*(){const _0x575c02=_0x5865,_0x29d01c=this,_0x12ce70=_0x29d01c;_0x12ce70[_0x575c02(0x1d9)]=undefined,_0x29d01c['$tree']['empty']();const _0x4c4d80=yield this[_0x575c02(0x242)](),_0x12acc9=_0x2bb5f2(_0x4c4d80);_0x29d01c[_0x575c02(0x26c)][_0x575c02(0x1b1)](_0x12acc9),_0x29d01c['currentParent']=_0x4c4d80;});},'verify'(_0x4ffb22){const _0x5f50dc=_0x5865,_0x2c2601=this,_0x5d8c13=_0xfda639(_0x2c2601);_0x3babf3(_0x5d8c13,_0x4ffb22,_0x2c2601[_0x5f50dc(0x218)],_0x2c2601['$info'])[_0x5f50dc(0x1c3)](_0x165fe6=>{const _0x2e2830=_0x5f50dc;!_0x165fe6?_0x2c2601[_0x2e2830(0x182)]['addClass'](_0x2e2830(0x23c)):_0x2c2601[_0x2e2830(0x182)][_0x2e2830(0x230)]('sterfive-input-error');});},'_hideMenu'(_0x4222d0){const _0x4af655=_0x5865,_0x144f5a=this;$(document)[_0x4af655(0x22a)](_0x4af655(0x20b)),_0x4222d0[_0x4af655(0x191)](),_0x4222d0[_0x4af655(0x19d)]({'height':'auto'});if(_0x4222d0[_0x4af655(0x254)][_0x4af655(0x24c)]){var _0x3932a2=[];_0x4222d0[_0x4af655(0x214)]('input[type=\x22checkbox\x22]')['each'](function(){const _0x28cdc3=_0x4af655;$(this)[_0x28cdc3(0x175)](_0x28cdc3(0x1cf))&&_0x3932a2[_0x28cdc3(0x28c)]($(this)['data'](_0x28cdc3(0x208)));}),_0x4222d0[_0x4af655(0x290)](_0x3932a2);}_0x144f5a[_0x4af655(0x1cd)]['is'](_0x4af655(0x223))?_0x144f5a[_0x4af655(0x218)][_0x4af655(0x21e)](_0x4af655(0x22b)):_0x144f5a['$selectTrigger']['trigger'](_0x4af655(0x22b));},'_createMenu'(_0x34ba97,_0x38cab4,_0x3dc641){const _0x4e91a0=_0x5865;var _0x227c64=this;const _0xd6bd63=$(_0x4e91a0(0x26d))['addClass'](_0x4e91a0(0x222));return _0xd6bd63['opts']=_0x38cab4,_0xd6bd63['callback']=_0x3dc641,_0x34ba97[_0x4e91a0(0x1ca)](_0x3a5af8=>{const _0x6795ac=_0x4e91a0;typeof _0x3a5af8==='string'&&(_0x3a5af8={'value':_0x3a5af8,'label':_0x3a5af8});var _0x1562ef=$(_0x6795ac(0x171))[_0x6795ac(0x207)](_0x6795ac(0x208),_0x3a5af8[_0x6795ac(0x208)])[_0x6795ac(0x1e9)](_0xd6bd63);_0x3a5af8[_0x6795ac(0x219)]&&_0x1562ef['text'](_0x3a5af8[_0x6795ac(0x219)]);_0x3a5af8[_0x6795ac(0x277)]&&_0x1562ef[_0x6795ac(0x175)](_0x6795ac(0x277),_0x3a5af8[_0x6795ac(0x277)]);if(_0x3a5af8['icon']){if(_0x3a5af8[_0x6795ac(0x293)][_0x6795ac(0x20a)]('<')===0x0)$(_0x3a5af8[_0x6795ac(0x293)])[_0x6795ac(0x1b3)](_0x1562ef);else _0x3a5af8[_0x6795ac(0x293)][_0x6795ac(0x20a)]('/')!==-0x1?$(_0x6795ac(0x265),{'class':_0x6795ac(0x256),'style':_0x6795ac(0x18b)+_0x3a5af8[_0x6795ac(0x293)]+_0x6795ac(0x1ba)+_0x3a5af8[_0x6795ac(0x293)]+');'})[_0x6795ac(0x1b3)](_0x1562ef):$(_0x6795ac(0x265),{'class':_0x6795ac(0x231)+_0x3a5af8[_0x6795ac(0x293)]})[_0x6795ac(0x1b3)](_0x1562ef);}else _0x1562ef[_0x6795ac(0x19d)]({'paddingLeft':_0x6795ac(0x1ac)});!_0x3a5af8[_0x6795ac(0x293)]&&!_0x3a5af8[_0x6795ac(0x219)]&&_0x1562ef[_0x6795ac(0x267)](_0x3a5af8[_0x6795ac(0x208)]);var _0x3f79ca;_0x38cab4['multiple']&&(_0x3f79ca=$('<input\x20type=\x22checkbox\x22>')['css'](_0x6795ac(0x225),_0x6795ac(0x1b4))[_0x6795ac(0x247)]('value',_0x3a5af8['value'])[_0x6795ac(0x1b3)](_0x1562ef)['on'](_0x6795ac(0x1eb),function(_0x5b1eaa){const _0x4f802d=_0x6795ac;_0x5b1eaa[_0x4f802d(0x209)]();})),_0x1562ef['on']('click',function(_0x4a184a){const _0x2beaf9=_0x6795ac;_0x4a184a[_0x2beaf9(0x209)](),_0x4a184a[_0x2beaf9(0x23f)](),!_0x38cab4['multiple']?(_0x3dc641(_0x3a5af8[_0x2beaf9(0x208)]),_0x227c64[_0x2beaf9(0x173)](_0xd6bd63)):_0x3f79ca['prop']('checked',!_0x3f79ca[_0x2beaf9(0x175)](_0x2beaf9(0x1cf)));});}),_0xd6bd63[_0x4e91a0(0x19d)]({'display':_0x4e91a0(0x1b4)}),_0xd6bd63['on']('keydown',function(_0x5914c4){const _0x4b6b22=_0x4e91a0;if(_0x5914c4[_0x4b6b22(0x24b)]===0x28)_0x5914c4[_0x4b6b22(0x209)](),$(this)[_0x4b6b22(0x170)](_0x4b6b22(0x1f3))['next']()['trigger']('focus');else{if(_0x5914c4[_0x4b6b22(0x24b)]===0x26)_0x5914c4[_0x4b6b22(0x209)](),$(this)['children'](':focus')[_0x4b6b22(0x28b)]()[_0x4b6b22(0x21e)](_0x4b6b22(0x22b));else _0x5914c4[_0x4b6b22(0x24b)]===0x1b&&(_0x5914c4[_0x4b6b22(0x209)](),_0x227c64[_0x4b6b22(0x173)](_0xd6bd63));}_0x5914c4[_0x4b6b22(0x23f)]();}),_0xd6bd63;},'disarmClick':![],'_showMenu'(_0x57e306,_0xcc47e){const _0x5a406f=_0x5865;if(this[_0x5a406f(0x17e)]){this[_0x5a406f(0x17e)]=![];return;}var _0x482695=this,_0xf08360=_0xcc47e[_0x5a406f(0x246)](),_0x5f1e43=_0xcc47e[_0x5a406f(0x261)](),_0x523c11=_0x57e306[_0x5a406f(0x261)](),_0x72470d=_0x5f1e43+_0xf08360['top'];_0x72470d+_0x523c11-$(document)[_0x5a406f(0x27f)]()>$(window)['height']()&&(_0x72470d-=_0x72470d+_0x523c11-$(window)[_0x5a406f(0x261)]()+0x5),_0x72470d<0x0&&(_0x57e306[_0x5a406f(0x261)](_0x523c11+_0x72470d),_0x72470d=0x0),_0x57e306[_0x5a406f(0x19d)]({'top':_0x72470d+'px','left':_0xf08360['left']+'px'}),_0x57e306['slideDown'](0x64),this['_delay'](function(){const _0x34d798=_0x5a406f;_0x482695['$uiSelect']['addClass'](_0x34d798(0x1a9)),$(document)['on']('mousedown.red-ui-typedInput-close-property-select',function(_0x24c559){const _0x4b1204=_0x34d798;!$(_0x24c559[_0x4b1204(0x198)])[_0x4b1204(0x180)](_0x57e306)['length']&&_0x482695[_0x4b1204(0x173)](_0x57e306),$(_0x24c559[_0x4b1204(0x198)])[_0x4b1204(0x180)](_0xcc47e)[_0x4b1204(0x1da)]&&(_0x482695['disarmClick']=!![],_0x24c559[_0x4b1204(0x209)]());});});},'_showTypeMenu'(){const _0x5ca6f2=_0x5865,_0x3b57b9=this;this[_0x5ca6f2(0x19b)](_0x3b57b9[_0x5ca6f2(0x24f)],_0x3b57b9['$combo']),_0x3b57b9[_0x5ca6f2(0x1df)][_0x5ca6f2(0x191)]();const _0x307619=_0x3b57b9[_0x5ca6f2(0x23a)];var _0x5265b7=_0x3b57b9[_0x5ca6f2(0x24f)][_0x5ca6f2(0x214)]('[value=\x27'+_0x307619+'\x27');setTimeout(function(){const _0x20ac5b=_0x5ca6f2;_0x5265b7[_0x20ac5b(0x21e)](_0x20ac5b(0x22b));},0x78);},'_initMenu'(){const _0x524403=_0x5865,_0x51e48f=this;_0x51e48f[_0x524403(0x1d6)][_0x524403(0x207)]('tabindex',-0x1),_0x51e48f[_0x524403(0x1d6)]['on'](_0x524403(0x17f),function(_0x1545ca){const _0x2ec15e=_0x524403;_0x1545ca[_0x2ec15e(0x209)]();});_0x51e48f[_0x524403(0x24f)]&&_0x51e48f[_0x524403(0x24f)][_0x524403(0x1ff)]();const _0x2bec3b=[{'label':_0x524403(0x267),'value':'t','title':_0x524403(0x252),'icon':_0x524403(0x236)},{'label':_0x524403(0x259),'value':_0x524403(0x1ab),'title':_0x524403(0x16b),'icon':_0x524403(0x169)},{'label':_0x524403(0x269),'value':'n','icon':_0x524403(0x24a)},{'label':_0x524403(0x28f),'value':'na','icon':_0x524403(0x258)},{'label':_0x524403(0x284),'value':_0x524403(0x178),'icon':_0x524403(0x22e)},{'label':_0x524403(0x1f8),'value':'b','icon':'<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/>&nbsp;'},{'label':_0x524403(0x23d),'value':'ab','icon':_0x524403(0x235)}],_0x56261f=_0x32b349(_0x51e48f['$input']['val']()),_0x25634a=_0x2bec3b[_0x524403(0x214)](_0x53ceec=>_0x53ceec[_0x524403(0x208)]===_0x56261f);_0x51e48f[_0x524403(0x1fa)][_0x524403(0x183)]()[_0x524403(0x1b1)](_0x524403(0x1db)+((_0x25634a===null||_0x25634a===void 0x0?void 0x0:_0x25634a[_0x524403(0x277)])||'')+_0x524403(0x1c4)+((_0x25634a===null||_0x25634a===void 0x0?void 0x0:_0x25634a[_0x524403(0x293)])||'')+_0x524403(0x19a)),_0x51e48f[_0x524403(0x23a)]=_0x56261f;const _0x473c6c=this;_0x51e48f[_0x524403(0x24f)]=this[_0x524403(0x278)](_0x2bec3b,{},_0x373c6c=>{const _0x52e763=_0x524403,_0xd2e6cc=_0x4ccb4c(_0x373c6c);_0xd2e6cc&&_0x473c6c['verify'](_0xd2e6cc);const _0x427e31=_0x2bec3b['find'](_0x5b7883=>_0x5b7883[_0x52e763(0x208)]===_0x373c6c);_0x51e48f[_0x52e763(0x23a)]=_0x373c6c,_0x51e48f[_0x52e763(0x1fa)][_0x52e763(0x183)]()[_0x52e763(0x1b1)](_0x52e763(0x1db)+((_0x427e31===null||_0x427e31===void 0x0?void 0x0:_0x427e31[_0x52e763(0x277)])||'')+_0x52e763(0x1c4)+((_0x427e31===null||_0x427e31===void 0x0?void 0x0:_0x427e31['icon'])||'')+_0x52e763(0x19a));}),_0x51e48f[_0x524403(0x24f)]['appendTo'](document[_0x524403(0x1a7)]),_0x51e48f[_0x524403(0x24f)][_0x524403(0x191)](),_0x51e48f[_0x524403(0x1d6)]['show']();},'mode'(){const _0x2ccead=_0x5865,_0x11218d=this;return _0x4ccb4c(_0x11218d[_0x2ccead(0x23a)]);},'setMode'(_0x3248e6){const _0x39bc4f=_0x5865,_0x553401=this,_0x5e74b6=_0x3bda7d(_0x3248e6);_0x553401[_0x39bc4f(0x23a)]=_0x5e74b6;},'_create'(){const _0xa6de5b=_0x5865,_0x1a7737=this;_0x1a7737[_0xa6de5b(0x218)]=this['element'],_0x1a7737[_0xa6de5b(0x218)][_0xa6de5b(0x19d)](_0xa6de5b(0x186),'none'),_0x1a7737[_0xa6de5b(0x1cd)]=_0x1a7737[_0xa6de5b(0x218)][_0xa6de5b(0x179)](_0xa6de5b(0x26d))[_0xa6de5b(0x1f0)]()[_0xa6de5b(0x1a4)](_0xa6de5b(0x1e2)),_0x1a7737['$combo']=$(_0xa6de5b(0x16f)),_0x1a7737['$combo'][_0xa6de5b(0x1a4)](_0xa6de5b(0x1b8)),_0x1a7737[_0xa6de5b(0x218)][_0xa6de5b(0x1b6)](_0x1a7737['$combo']),_0x1a7737[_0xa6de5b(0x21a)]=$('<div/>')[_0xa6de5b(0x1a4)](_0xa6de5b(0x20f)),_0x1a7737[_0xa6de5b(0x182)][_0xa6de5b(0x1b1)](_0x1a7737[_0xa6de5b(0x21a)]),_0x1a7737[_0xa6de5b(0x21a)][_0xa6de5b(0x1b1)](_0x1a7737[_0xa6de5b(0x218)]),_0x1a7737[_0xa6de5b(0x1f4)]=$('<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>'),_0x1a7737['$input'][_0xa6de5b(0x217)](_0x1a7737['$toggleTreeBtn']),_0x1a7737['$toggleTreeBtn']['on']('click',function(){return _0x5067b8(this,void 0x0,void 0x0,function*(){const _0x320fcf=_0x5865;var _0x1ca9b0;let _0x56606f=![],_0xfc2f1d;!_0x1a7737[_0x320fcf(0x1df)]['is'](_0x320fcf(0x223))&&(_0x1a7737[_0x320fcf(0x270)][_0x320fcf(0x191)](),_0xfc2f1d=yield _0x1a7737[_0x320fcf(0x242)](),(_0xfc2f1d!==_0x1a7737['currentParent']||((_0x1ca9b0=_0x1a7737['currentParent'])===null||_0x1ca9b0===void 0x0?void 0x0:_0x1ca9b0['nodeId'])!==_0xfc2f1d[_0x320fcf(0x1a1)])&&(yield _0x1a7737[_0x320fcf(0x27e)]()),_0x56606f=!![]),_0x1a7737[_0x320fcf(0x1df)][_0x320fcf(0x18d)](),_0x56606f&&(yield _0x472114(_0x1a7737,_0xfc2f1d));});}),_0x1a7737[_0xa6de5b(0x1af)]=$(_0xa6de5b(0x213)),_0x1a7737[_0xa6de5b(0x218)][_0xa6de5b(0x217)](_0x1a7737[_0xa6de5b(0x1af)]),_0x1a7737['$verifyBtn']['on'](_0xa6de5b(0x19e),()=>{const _0x84a743=_0xa6de5b,_0x299fc6=_0x1a7737[_0x84a743(0x1b7)]();if(!_0x299fc6)return;this['verify'](_0x299fc6);});const _0x41f523=_0x2c8ecc=>_0x5067b8(this,void 0x0,void 0x0,function*(){const _0x299788=_0xa6de5b,_0x5b432e=this;let _0x556e68=_0x5b432e['mode']();if(!_0x556e68)return;const _0x2660b5=_0xfda639(_0x5b432e),{data:_0x38ccb7,json:_0x30c8f6}=yield _0x12464f(_0x2660b5,_0x2c8ecc);if(_0x38ccb7['status']!==0xc8)return;if(_0x30c8f6[_0x299788(0x1ef)][_0x299788(0x291)](/Good/)){const _0x3567e1=_0x73174a(_0x30c8f6,_0x556e68);_0x5b432e[_0x299788(0x218)][_0x299788(0x1d0)](_0x3567e1),_0x5b432e[_0x299788(0x218)][_0x299788(0x21e)](_0x299788(0x18a));}});{_0x1a7737[_0xa6de5b(0x282)]=$('<div>'),_0x1a7737['$input'][_0xa6de5b(0x23b)](_0x1a7737[_0xa6de5b(0x282)]),_0x1a7737[_0xa6de5b(0x1d6)]=$(_0xa6de5b(0x238))['prependTo'](_0x1a7737[_0xa6de5b(0x282)]),$(_0xa6de5b(0x206))[_0xa6de5b(0x18d)](!![])[_0xa6de5b(0x1e9)](_0x1a7737[_0xa6de5b(0x1d6)]),_0x1a7737[_0xa6de5b(0x1d6)]['on'](_0xa6de5b(0x19e),function(_0x77ce45){const _0x232d17=_0xa6de5b;_0x77ce45['preventDefault'](),_0x77ce45[_0x232d17(0x23f)](),_0x1a7737[_0x232d17(0x1f1)]();}),_0x1a7737[_0xa6de5b(0x1d6)]['on'](_0xa6de5b(0x1d5),function(_0x2162e0){const _0x581523=_0xa6de5b;_0x2162e0['keyCode']===0x28&&_0x1a7737[_0x581523(0x1f1)](),_0x2162e0[_0x581523(0x23f)]();})['on'](_0xa6de5b(0x22b),function(){const _0x3a90e7=_0xa6de5b;_0x1a7737[_0x3a90e7(0x282)][_0x3a90e7(0x1a4)](_0x3a90e7(0x1a9));})['on'](_0xa6de5b(0x28e),function(){const _0x559b8f=_0xa6de5b;_0x1a7737[_0x559b8f(0x282)][_0x559b8f(0x230)](_0x559b8f(0x1a9));}),_0x1a7737['$selectLabel']=$('<span\x20class=\x22red-ui-typedInput-type-label\x22></span>')[_0xa6de5b(0x1e9)](_0x1a7737[_0xa6de5b(0x1d6)]);}this[_0xa6de5b(0x200)]();!_0x1a7737[_0xa6de5b(0x218)]['attr'](_0xa6de5b(0x226))&&_0x1a7737[_0xa6de5b(0x218)][_0xa6de5b(0x207)]('placeholder',_0xa6de5b(0x234));_0x1a7737[_0xa6de5b(0x270)]=$(_0xa6de5b(0x193)),_0x1a7737[_0xa6de5b(0x270)][_0xa6de5b(0x191)](),_0x1a7737[_0xa6de5b(0x182)][_0xa6de5b(0x1b1)](_0x1a7737[_0xa6de5b(0x270)]),_0x1a7737[_0xa6de5b(0x1df)]=$(_0xa6de5b(0x16f))[_0xa6de5b(0x1a4)](_0xa6de5b(0x22d))['hide']()['appendTo'](_0x1a7737[_0xa6de5b(0x182)]),_0x1a7737['$tree']=$('<ul\x20class=\x22sterfive-tree\x22></ul>')[_0xa6de5b(0x1e9)](_0x1a7737[_0xa6de5b(0x1df)]),this[_0xa6de5b(0x27e)]();const _0x164e9=(_0x31459f,_0x57d2f3)=>{const _0xd0de3e=_0xa6de5b,_0x399f03=0x14,_0x134741=0x14,_0x373f5d=_0x31459f[_0xd0de3e(0x246)](),_0x1fa780=_0x57d2f3;if(_0x1fa780[_0xd0de3e(0x172)]>=_0x373f5d['left']&&_0x1fa780[_0xd0de3e(0x172)]<=_0x373f5d[_0xd0de3e(0x20c)]+_0x399f03&&_0x1fa780[_0xd0de3e(0x1b0)]>=_0x373f5d[_0xd0de3e(0x19f)]&&_0x1fa780['pageY']<=_0x373f5d['top']+_0x134741)return!![];return![];},_0x56f211=_0x3fa4c8=>_0x5067b8(this,void 0x0,void 0x0,function*(){const _0x205e7e=_0xa6de5b;if(_0x3fa4c8[_0x205e7e(0x17c)](_0x205e7e(0x181)))_0x291c31(_0x1a7737,_0x3fa4c8);else{if(_0x3fa4c8['hasClass'](_0x205e7e(0x249)))_0x3fa4c8['children']('ul')[_0x205e7e(0x18d)](),_0x3fa4c8[_0x205e7e(0x22f)]('expandable\x20expanded');else{if(_0x3fa4c8[_0x205e7e(0x170)]('ul')[_0x205e7e(0x170)]()['length']>0x0)_0x3fa4c8['children']('ul')['toggle'](),_0x3fa4c8[_0x205e7e(0x22f)](_0x205e7e(0x25a));else;}}});_0x1a7737[_0xa6de5b(0x26c)]['on'](_0xa6de5b(0x1d7),'li',function(_0x5a3a57){const _0x71f13f=_0xa6de5b;var _0x4b8b85,_0x39f78d;_0x5a3a57[_0x71f13f(0x23f)]();let _0xa7e2d1=$(this);if(_0x164e9(_0xa7e2d1,_0x5a3a57))_0x56f211(_0xa7e2d1);else{const _0x35fb16=_0xa7e2d1['data'](_0x71f13f(0x208)),_0x28abf5=_0xa7e2d1[_0x71f13f(0x247)]('reference');if(_0x1a7737[_0x71f13f(0x272)][_0x71f13f(0x281)]&&!_0x1a7737[_0x71f13f(0x272)]['isSelectable'](_0x28abf5))return;_0x1a7737[_0x71f13f(0x218)]['data'](_0x71f13f(0x279),_0x28abf5),((_0x4b8b85=_0x28abf5[_0x71f13f(0x1f9)])===null||_0x4b8b85===void 0x0?void 0x0:_0x4b8b85['text'])||((_0x39f78d=_0x28abf5[_0x71f13f(0x276)])===null||_0x39f78d===void 0x0?void 0x0:_0x39f78d[_0x71f13f(0x1bd)])||_0x28abf5[_0x71f13f(0x1a1)][_0x71f13f(0x202)]();let _0x2ae6af=_0x1a7737[_0x71f13f(0x1b7)]();!_0x2ae6af&&(_0x2ae6af=_0x71f13f(0x1a1),_0x1a7737[_0x71f13f(0x16d)](_0x2ae6af)),_0x41f523(_0x35fb16)[_0x71f13f(0x1c3)](()=>{const _0x294006=_0x71f13f;_0x1a7737['$dropdown'][_0x294006(0x191)]();})[_0x71f13f(0x1a5)](_0x3c3e5b=>{const _0x422045=_0x71f13f;_0x1a7737[_0x422045(0x1df)][_0x422045(0x191)]();});}}),_0x1a7737['$tree']['on'](_0xa6de5b(0x19e),'li',function(_0x14e588){_0x14e588['stopPropagation']();let _0x160d09=$(this);_0x164e9(_0x160d09,_0x14e588)&&_0x56f211(_0x160d09),_0x5411d8(_0x1a7737,_0x160d09);}),$(document)['on'](_0xa6de5b(0x19e),function(_0x27b3c9){const _0x4b127a=_0xa6de5b;!$(_0x27b3c9[_0x4b127a(0x198)])['closest'](_0x1a7737[_0x4b127a(0x182)])[_0x4b127a(0x1da)]&&_0x1a7737['$dropdown'][_0x4b127a(0x191)]();});}});},_0x50ac1f=()=>{const _0x2a8e85=_0x2e85a2,_0x1a4960=$(_0x2a8e85(0x21b)),_0x3b704d=_0x1a4960[_0x2a8e85(0x1d0)](),_0x1ccce5=RED['nodes']['node'](_0x3b704d);if(!_0x1ccce5)return undefined;const {endpoint:_0x340488,securityMode:_0x1fedba,securityPolicy:_0x5485fd,userIdentityType:_0x424efb,credentials:_0x1aa9ab,namespaceAliases:_0x59d4e4}=_0x1ccce5,_0x5f5b6f={'endpoint':_0x340488,'securityMode':_0x1fedba,'securityPolicy':_0x5485fd,'userIdentityType':_0x424efb,'credentials':_0x1aa9ab,'namespaceAliases':_0x59d4e4};return _0x5f5b6f;},_0x13dc3e=()=>{const _0x2d2a7e=_0x2e85a2,_0x3c25d5=$(_0x2d2a7e(0x21b)),_0x18b234=_0x3c25d5['val'](),_0x1d9dfc=_0x50ac1f();if(!_0x1d9dfc)return undefined;const _0x1de306=_0x1d9dfc[_0x2d2a7e(0x1fb)];return Object[_0x2d2a7e(0x1b2)]({'namespaceAliases':_0x1de306,'id':_0x18b234},_0x1d9dfc);},_0x18f7a7=()=>{return{'endpointNode':_0x13dc3e};},_0x1245e5=()=>{const _0x150bf3=_0x2e85a2,_0x4aacb1=$('.red-ui-tray-body');console[_0x150bf3(0x168)](_0x150bf3(0x1e5),_0x4aacb1['length']);if(_0x4aacb1[_0x150bf3(0x1da)]){console[_0x150bf3(0x168)](_0x150bf3(0x1e0));const _0x1299aa=$(_0x150bf3(0x1c6),{'src':'/opcua-for-node-red/support-frame.html','scrolling':'no','style':_0x150bf3(0x188),'allowtransparency':_0x150bf3(0x1ea),'width':'180px','height':_0x150bf3(0x275)});_0x4aacb1['append'](_0x1299aa),_0x1299aa[_0x150bf3(0x19d)]({'position':_0x150bf3(0x1c9),'right':_0x150bf3(0x1f2),'bottom':'16px'});}};RED[_0x2e85a2(0x1e1)][_0x2e85a2(0x266)](_0x2e85a2(0x21c),{'category':_0x2e85a2(0x25c),'color':'#C0DEED','align':_0x2e85a2(0x17b),'icon':_0x2e85a2(0x210),'paletteLabel':_0x2e85a2(0x17a),'defaults':{'inputs':{'value':0x1},'output':{'value':0x4},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':_0x2e85a2(0x17d)},'attributeId':{'value':_0x2e85a2(0x192),'required':!![]},'nodeId':{'value':'','required':![]}},'inputs':0x1,'outputs':0x1,'label'(){const _0x23de87=_0x2e85a2;return this[_0x23de87(0x1bd)]||_0x23de87(0x1de);},'labelStyle'(){const _0x5e2756=_0x2e85a2;return this[_0x5e2756(0x1bd)]?_0x5e2756(0x1be):'';},'oneditprepare'(){const _0x3e1eb8=_0x2e85a2,_0x539bc0=this;_0x2d1272(),_0x1245e5(),_0x539bc0[_0x3e1eb8(0x255)]=0x1;const _0x38ff95=$(_0x3e1eb8(0x1c8));_0x38ff95[_0x3e1eb8(0x241)](Object[_0x3e1eb8(0x1b2)](Object['assign']({},_0x18f7a7()),{'isSelectable'(_0x5ea39f){const _0x49b9ae=_0x3e1eb8;return _0x5ea39f[_0x49b9ae(0x26a)]===_0x49b9ae(0x1dc);}}));},'oneditsave'(){}});}()));function _0x5865(_0x44dec8,_0x4d42e9){const _0x3d34b9=_0x3d34();return _0x5865=function(_0x58652b,_0x4ce1b7){_0x58652b=_0x58652b-0x167;let _0x2e2e0a=_0x3d34b9[_0x58652b];return _0x2e2e0a;},_0x5865(_0x44dec8,_0x4d42e9);}function _0x3d34(){const _0x106995=['2WSMVBe','$info','ns=0;i=46','options','requestedNodeId','referenceTypeId','30px','browseName','title','_createMenu','reference','i=61','message','Objects','fa-list-alt','reset','scrollTop','references','isSelectable','$uiSelect','377592cVoTqw','NodeId\x20with\x20namespace\x20Urn','node\x20class:\x20','HasChild','bp_indexed',':first','Good','24lSKVYh','prev','push','apply','blur','Aliased\x20NodeId','callback','match','IsForward','icon','/walk-backward','log','<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>','localeCompare','node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','application/json','setMode','json','<div/>','children','<a\x20href=\x22#\x22></a>','pageX','_hideMenu','err','prop','failure','position','nsu','wrap','write','right','hasClass','OpcUa-Endpoint2','disarmClick','mousedown.red-ui-typedInput-focus-block','closest','expandable','$combo','empty','fetching\x20failed\x20with\x20error','stringify','border','already\x20fetched','background-color:transparent;overflow:hidden;border:3px',';\x22></i>\x20','change','mask-image:\x20url(','fa-sliders','toggle','ns=0;i=34','aliasedBrowsePath','fa-folder','hide','Value','<div\x20class=\x22sterfive-info-text\x22></div>','.spinner','isTypeRef','/checkNodeId','loading','target','Inverse','</span>','_showMenu','HasComponent','css','click','top','filter','nodeId','nsu\x20nodeId:\x20','grey','addClass','catch','aliased\x20browsePath:\x20','body','browse\x20path:\x20','red-ui-typedInput-focus','typeDefinition','msg','18px','ns=0;i=47','Unspecified','$verifyBtn','pageY','append','assign','prependTo','none','node','replaceWith','mode','sterfive-combo-box','DarkOrange',');\x20-webkit-mask-image:\x20url(','nodeId:\x20','ns=0;i=85','name','node_label_italic','status','fa-cog','SteelBlue','8371320HcnxYK','then','>&nbsp;\x20','<li\x20key=\x22','<iframe></iframe>','browsePath','#node-input-nodeId','absolute','forEach','fa-question','parentNode','$elementDiv','\x22}><span\x20class=\x22tree-text\x22\x20title=','checked','val','Invalid','Object','<div\x20class=\x22spinner\x22></div>','BrowseName','keydown','$selectTrigger','dblclick','fetched','__parentNode','length','<span\x20title=','Variable','suppressed','OPCUA\x20Client\x20Write','$dropdown','installing\x20iframe','nodes','main-wrapper','nsuNodeID','DataType','installFeedbackWidget\x20','statusText','Organizes','fa-object-group','appendTo','true','mousedown','<li>error\x20','/opcua-for-node-red','HasProperty','statusCode','parent','_showTypeMenu','20px',':focus','$toggleTreeBtn','SuppressedError','!!failure!!','1121781JLvGus','BrowsePath','displayName','$selectLabel','namespaceAliases','li\x20>\x20.tree-text','selected','ReferenceType','remove','_initMenu','elements','toString','done','45315GoeaEU','VariableType','<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>','attr','value','preventDefault','indexOf','mousedown.red-ui-typedInput-close-property-select','left','ns=0;i=61','baseUrl','sterfive-input-group','../../icons/opcuanodeLogo.png','error','function','<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>','find','nodeId_nsu','nodeId_aliased','after','$input','label','$inputGroup','#node-input-endpoint','OpcUa-Client2-Write','fa-text-width','trigger','202855fKYwLn','Forward','</li>','sterfive-typedInput-options\x20sterfive-online-menu',':visible','throw','pointer-events','placeholder','Both','sterfive-info','CadetBlue','off','focus','DodgerBlue','sterfive-dropdown','<i\x20class=\x22fa\x20fa-id-card\x22/>&nbsp;\x20','toggleClass','removeClass','red-ui-typedInput-icon\x20','5482988oqrFYq','NodeClass','enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20','<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/>&nbsp;','<i\x20class=\x22fa\x20fa-font\x22/i>\x20','endpoint','<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>','ObjectType','selectedMenuItem','before','sterfive-input-error','Aliased\x20Browse\x20Path','407GSwXYc','stopPropagation','848MVOwrW','nodeBrowser','resolveParentNode','already\x20loading','aliasedNodeId','ns=0;i=40','offset','data','endpointNode','expanded','<i\x20class=\x22fa\x20fa-tag\x22/>1\x20&nbsp;\x20','keyCode','multiple','rgba(61,\x2060,\x204,\x200.525)','HasSubtype','$menu','POST','next','Value\x20is\x20not\x20verified','Method','opts','inputs','red-ui-typedInput-icon','><i\x20class=\x22fa\x20','<i\x20class=\x22fa\x20fa-bookmark\x22/>&nbsp;\x20','msg.','expandable\x20expanded','ns=0;i=35','opcua','View','sort','820043IXTFKR','ns=0;i=45','height','5qQNxxv','TypeDefinition','bp_aliased','<i>','registerType','text','relativePath','NodeId','nodeClass','SandyBrown','$tree','<div>','DisplayName'];_0x3d34=function(){return _0x106995;};return _0x3d34();}
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHg1MDY3YjgiLCJfMHgzNmNmZWMiLCJfMHg1NDYzNDUiLCJfMHgxMzQyNzMiLCJfMHgxZGU4NzkiLCJfMHgxY2U4MDYiLCJfMHg0MmRiYmIiLCJfMHg1ZTFjMDUiLCJQcm9taXNlIiwiXzB4MzljY2RkIiwiXzB4MjcwMGI0IiwiXzB4MmE3ZTg0IiwiXzB4NWU4OTI2IiwiXzB4M2M1NGM0IiwiXzB4NDQyNmVhIiwiXzB4Mjc4OTNiIiwiXzB4NTQ2YTI2IiwiXzB4MjJlZTlkIiwiXzB4MjdkMmUxIiwiU3VwcHJlc3NlZEVycm9yIiwiXzB4MmU1ZmIwIiwiXzB4NGRhMjVhIiwiXzB4NDUyYTVmIiwiXzB4NmY2MTFjIiwiRXJyb3IiLCJfMHgyYWIyZDEiLCJfMHgyYzc0MTEiLCJfMHgyZGJkNDUiLCJfMHgyYTMxZjUiLCJfMHgxMmRmOGIiLCJfMHgxZjY4OWMiLCJfMHg1NTFmMWIiLCJfMHgyMGUxYzYiLCJfMHg0NTU0MDQiLCJfMHg0YzYzNTkiLCJfMHgzY2E0MmUiLCJfMHgzOWI0ZjIiLCJfMHgxNDk5MmUiLCJfMHgxMGVjZjAiLCJfMHgxNjAyMDQiLCJfMHgxNGYxOTEiLCJfMHgzNmIwMTIiLCJfMHg1ZGRjYTIiLCJfMHg0NmVjNjciLCJfMHgxMDNkYjQiLCJfMHg1MTJmODMiLCJfMHg0MzRkMWYiLCJfMHg1ZGJkNDEiLCJlbmRwb2ludE5vZGUiLCJfMHg0MmY1MGIiLCJlbmRwb2ludCIsIl8weDM5NmE4ZiIsImJhc2VVcmwiLCJfMHgxMjE0YjciLCJfMHg0NzQ4MWYiLCJfMHg0MDJlZDMiLCJfMHgxN2U5ZWEiLCJfMHgxODdjYWIiLCJfMHgyMTI5ZTQiLCJPYmplY3QiLCJfMHgxMDlkMGMiLCJmZXRjaCIsIkpTT04iLCJjb25zb2xlIiwiXzB4YWI4ZDUxIiwiXzB4MTQyYTVjIiwiXzB4NTZhNjNkIiwiXzB4ZjdlNTk1IiwiXzB4MmYwNzE3IiwiXzB4MTY5ZjcwIiwiXzB4NTA3MjM4IiwiXzB4NDRlZDlmIiwiXzB4MTIzMjY1IiwiXzB4NTM2YTBmIiwibm9kZUlkIiwiXzB4NGVjMzVmIiwicm9vdE5vZGVJZCIsIl8weDQyOGNhNiIsImlzVHlwZSIsIl8weDExYWY3ZSIsIl8weDk4YmJmNiIsIl8weDQ3MTg2MiIsIl8weDQ2N2FhNiIsIl8weDJhYTY1NyIsIl8weDczMTc0YSIsIl8weDIyNTI0YyIsIl8weDhmZGUwIiwiXzB4Mjc4ZGY0IiwiXzB4NTY1YjI1IiwiXzB4MTAzYzFiIiwiXzB4NTc4MzI0IiwiXzB4NWU0Zjk4IiwiXzB4MzJiMzQ5IiwiXzB4MzNmZjA5IiwiXzB4NGYyZGY1IiwiXzB4NGNjYjRjIiwiXzB4MmZmNjA2IiwiXzB4MWYxY2NhIiwiXzB4M2JkYTdkIiwiXzB4MmY3MTdhIiwiXzB4MTI0NjRmIiwiXzB4MzNjMWZmIiwiXzB4ZWY0NjIzIiwiXzB4MjY5NWI0IiwiXzB4MzA1OGEzIiwiXzB4NTNmMTJkIiwiXzB4NTM4ZGVjIiwiXzB4NDAxNjJiIiwiXzB4MzEwMTE3IiwiXzB4MjkyMzZhIiwiXzB4MzJmNWVkIiwiUkVEIiwiXzB4MjdmNTAyIiwiXzB4NGZhYzhlIiwiXzB4NWU5MmQ5IiwiXzB4M2JhYmYzIiwiXzB4YjlmODIyIiwiXzB4NTFlODkyIiwiXzB4NGUwMDUxIiwiXzB4M2I5NTkwIiwiXzB4MTk0ZjZlIiwiXzB4MmM2NTkzIiwiXzB4MzVmYjU2IiwiXzB4MjdmMmRkIiwiXzB4MTRkZWI1IiwiXzB4MmU0OGY3IiwiXzB4MjNhODkyIiwianNvbiIsIl8weDMwNDgzMiIsImRhdGEiLCJfMHgzYzEyNjUiLCJfMHgxOTBkYmMiLCJfMHg0YTgyZTciLCJfMHgyZGY1YTciLCJzZXRUaW1lb3V0IiwiXzB4MzEwM2FlIiwiXzB4YjEwMmIyIiwiXzB4NWNjNjBlIiwiXzB4MmNmOTljIiwiXzB4NGVhMTJmIiwiXzB4MTRhYWU3IiwiXzB4OTljMmY5IiwiXzB4MzUzNDI3IiwiXzB4NDdhYTY3IiwiXzB4MmM0OWJmIiwiXzB4NTIyOWQyIiwiXzB4MTEzMWMxIiwiXzB4MWJkOWEzIiwiXzB4MWJkNDYwIiwiXzB4MmJiNWYyIiwiXzB4NTk3NzhiIiwiXzB4NDVjOTIxIiwiXzB4NDMxNGQ0IiwiXzB4NTU4ZjMyIiwiXzB4YTAyMzQ3IiwiXzB4NDU0ZDNjIiwiJCIsIl8weDllOTFkIiwiXzB4MmVhNzdlIiwiaWNvbiIsIl8weDVlYThiYyIsImNvbG9yIiwiXzB4NWQwZTYwIiwiXzB4MTgwOWFhIiwiXzB4M2Y4ZWI2IiwiXzB4MmNjODE1IiwiXzB4MWU2YzExIiwiXzB4NGFjYWVkIiwiXzB4NTQxMWQ4IiwiXzB4MjRkNTdmIiwiXzB4NGFlNWY4IiwiXzB4NDYzNWEwIiwiXzB4NGViYjFhIiwiXzB4ODlhNjJhIiwiXzB4MmY4ZmFhIiwiXzB4NWM0OGZlIiwiXzB4NGRiNjkzIiwiXzB4MzExZDcyIiwiXzB4MjkxYzMxIiwiXzB4NDczODVkIiwiXzB4M2U3YjM5IiwiXzB4NWQyYTgyIiwiXzB4MmU1ZWIwIiwiXzB4NWMwNWJkIiwiXzB4MzM1NTBhIiwidW5kZWZpbmVkIiwiXzB4NGE4NjNiIiwiXzB4NDcyMTE0IiwiXzB4MzcxODA1IiwiXzB4NTExMjEzIiwiXzB4MjhiYzFhIiwiXzB4NDkzMTA4IiwiXzB4NGFkMDJiIiwiXzB4ZmRhNjM5IiwiXzB4MjRjOGFjIiwiXzB4MTQ0NTRmIiwiXzB4M2ZiYmUyIiwiXzB4NTQ1YzZhIiwiXzB4NGU4MTQyIiwiXzB4MTc2MWYxIiwicmVmZXJlbmNlcyIsIl8weDU2YTViMyIsIl8weDI2YWNlNCIsIl8weDIwMmNiYyIsIl8weDU2NzkwOCIsIl8weGI4NTFmNCIsIl8weDNiNmE1NyIsIl8weDNhYTMyNyIsIl8weDM5N2UxOSIsIl8weDFkY2Q0OSIsIl8weDEwODRlNyIsIl8weDJmZTVhMyIsIl8weDMyMTgyYiIsIl8weDNkYTk1ZCIsIl8weDQwMTg2ZCIsIl8weDJlNzE2NSIsIl8weDU0ZjFhMCIsIl8weDJkMTI3MiIsIl8weDVjNWI2YyIsIl8weGFlNmIwYSIsIl8weDU4Mjg1YSIsIl8weDI5ZDAxYyIsIl8weDEyY2U3MCIsIl8weDRjNGQ4MCIsIl8weDEyYWNjOSIsIl8weDRmZmIyMiIsIl8weDJjMjYwMSIsIl8weDVkOGMxMyIsIl8weDE2NWZlNiIsIl8weDQyMjJkMCIsIl8weDE0NGY1YSIsImRvY3VtZW50IiwiXzB4MzkzMmEyIiwiXzB4MzRiYTk3IiwiXzB4MzhjYWI0IiwiXzB4M2RjNjQxIiwiXzB4MjI3YzY0IiwiXzB4ZDZiZDYzIiwiXzB4M2E1YWY4IiwiXzB4MTU2MmVmIiwiXzB4M2Y3OWNhIiwiXzB4NWIxZWFhIiwiXzB4NGExODRhIiwiXzB4NTkxNGM0IiwiXzB4NTdlMzA2IiwiXzB4Y2M0N2UiLCJfMHg0ODI2OTUiLCJfMHhmMDgzNjAiLCJfMHg1ZjFlNDMiLCJfMHg1MjNjMTEiLCJfMHg3MjQ3MGQiLCJ3aW5kb3ciLCJfMHgyNGM1NTkiLCJfMHgzYjU3YjkiLCJfMHgzMDc2MTkiLCJfMHg1MjY1YjciLCJfMHg1MWU0OGYiLCJfMHgxNTQ1Y2EiLCJfMHgyYmVjM2IiLCJfMHg1NjI2MWYiLCJfMHgyNTYzNGEiLCJfMHg1M2NlZWMiLCJfMHg0NzNjNmMiLCJfMHgzNzNjNmMiLCJfMHhkMmU2Y2MiLCJfMHg0MjdlMzEiLCJfMHg1Yjc4ODMiLCJfMHgxMTIxOGQiLCJfMHgzMjQ4ZTYiLCJfMHg1NTM0MDEiLCJfMHg1ZTc0YjYiLCJfMHgxYTc3MzciLCJfMHgxY2E5YjAiLCJfMHg1NjYwNmYiLCJfMHhmYzJmMWQiLCJfMHgyOTlmYzYiLCJfMHg0MWY1MjMiLCJfMHgyYzhlY2MiLCJfMHg1YjQzMmUiLCJfMHg1NTZlNjgiLCJfMHgyNjYwYjUiLCJfMHgzOGNjYjciLCJfMHgzMGM4ZjYiLCJfMHgzNTY3ZTEiLCJfMHg3N2NlNDUiLCJfMHgyMTYyZTAiLCJfMHgxNjRlOSIsIl8weDMxNDU5ZiIsIl8weDU3ZDJmMyIsIl8weDM5OWYwMyIsIl8weDEzNDc0MSIsIl8weDM3M2Y1ZCIsIl8weDFmYTc4MCIsIl8weDU2ZjIxMSIsIl8weDNmYTRjOCIsIl8weDVhM2E1NyIsIl8weDRiOGI4NSIsIl8weDM5Zjc4ZCIsIl8weGE3ZTJkMSIsIl8weDM1ZmIxNiIsIl8weDI4YWJmNSIsIl8weDJhZTZhZiIsIl8weDNjM2U1YiIsIl8weDE0ZTU4OCIsIl8weDE2MGQwOSIsIl8weDI3YjNjOSIsIl8weDUwYWMxZiIsIl8weDFhNDk2MCIsIl8weDNiNzA0ZCIsIl8weDFjY2NlNSIsIl8weDM0MDQ4OCIsInNlY3VyaXR5TW9kZSIsIl8weDFmZWRiYSIsInNlY3VyaXR5UG9saWN5IiwiXzB4NTQ4NWZkIiwidXNlcklkZW50aXR5VHlwZSIsIl8weDQyNGVmYiIsImNyZWRlbnRpYWxzIiwiXzB4MWFhOWFiIiwibmFtZXNwYWNlQWxpYXNlcyIsIl8weDU5ZDRlNCIsIl8weDVmNWI2ZiIsIl8weDEzZGMzZSIsIl8weDNjMjVkNSIsIl8weDE4YjIzNCIsIl8weDFkOWRmYyIsIl8weDFkZTMwNiIsIl8weDE4ZjdhNyIsIl8weDEyNDVlNSIsIl8weDRhYWNiMSIsIl8weDEyOTlhYSIsIl8weDUzOWJjMCIsIl8weDM4ZmY5NSIsIl8weDVlYTM5ZiJdLCJtYXBwaW5ncyI6IjJvQkFBQSxDQUFDLFUsQ0FDRyxhLHdCQW1CQSxTQUFTQSxTQUFULENBQW1CQyxTQUFuQixDQUE0QkMsU0FBNUIsQ0FBd0NDLFNBQXhDLENBQTJDQyxTQUEzQyxDLENBQ0ksU0FBU0MsU0FBVCxDQUFlQyxTQUFmLEMsUUFBK0JBLFNBQUEsWUFBaUJILFNBQWpCLENBQXFCRyxTQUFyQixDQUE2QixJQUFJSCxTQUFKLENBQU0sU0FBVUksU0FBVixDLENBQXFCQSxTQUFBLENBQVFELFNBQVIsQyxFQUEzQixDLFNBQ3JELEdBQUssQ0FBQUgsU0FBQSxFQUFNLENBQUFBLFNBQUEsQ0FBSUssT0FBSixDQUFOLENBQUwsQ0FBeUIsU0FBVUMsU0FBVixDQUFtQkMsU0FBbkIsQyx3QkFDNUIsU0FBU0MsU0FBVCxDQUFtQkMsU0FBbkIsQyx5QkFBNEIsRyxDQUFNQyxTQUFBLENBQUtULFNBQUEsQyxnQkFBQSxFQUFlUSxTQUFmLENBQUwsQyxFQUErQixNQUFPRSxTQUFQLEMsQ0FBWUosU0FBQSxDQUFPSSxTQUFQLEMsR0FDN0UsU0FBU0MsU0FB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LFNBQUEsRSxDQUNBK0csU0FBQSxFLENBQ0FHLFNBQUEsQyxnQkFBQSxFLEdBRkEsQ0FHQSxNQUFNQyxTQUFBLENBQVVoTCxDQUFBLEMsZ0JBQUEsQ0FBaEIsQ0FDQWdMLFNBQUEsQyxnQkFBQSxFQUFvQmpSLE1BQUEsQyxnQkFBQSxFQUFjQSxNQUFBLEMsUUFBQSxFQUFjLEVBQWQsQ0FBa0I0USxTQUFBLEVBQWxCLENBQWQsQ0FBaUUsQyxjQUFFLENBQWFNLFNBQWIsQyxrQ0FDeEVBLFNBQUEsQyxnQkFBQSxJLGtCQURzRSxDQUFqRSxDQUFwQixDLEVBN0JzQyxDLFlBaUMxQyxFLEVBakMwQyxDQUE5QyxDLEVBOWlDSixHIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uICgpIHtcbiAgICAndXNlIHN0cmljdCc7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cclxuXHJcbiAgICBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnlcclxuICAgIHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cclxuXHJcbiAgICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXHJcbiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFlcclxuICAgIEFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcclxuICAgIElORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxyXG4gICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1JcclxuICAgIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcclxuICAgIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXHJcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4gICAgLyogZ2xvYmFsIFJlZmxlY3QsIFByb21pc2UsIFN1cHByZXNzZWRFcnJvciwgU3ltYm9sLCBJdGVyYXRvciAqL1xyXG5cclxuXHJcbiAgICBmdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XHJcbiAgICAgICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XHJcbiAgICAgICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0eXBlb2YgU3VwcHJlc3NlZEVycm9yID09PSBcImZ1bmN0aW9uXCIgPyBTdXBwcmVzc2VkRXJyb3IgOiBmdW5jdGlvbiAoZXJyb3IsIHN1cHByZXNzZWQsIG1lc3NhZ2UpIHtcclxuICAgICAgICB2YXIgZSA9IG5ldyBFcnJvcihtZXNzYWdlKTtcclxuICAgICAgICByZXR1cm4gZS5uYW1lID0gXCJTdXBwcmVzc2VkRXJyb3JcIiwgZS5lcnJvciA9IGVycm9yLCBlLnN1cHByZXNzZWQgPSBzdXBwcmVzc2VkLCBlO1xyXG4gICAgfTtcblxuICAgIGNvbnN0IE9yZ2FuaXplc1JlZk5vZGVJZCA9IFwibnM9MDtpPTM1XCI7XG4gICAgY29uc3QgRm9sZGVyVHlwZSA9IFwibnM9MDtpPTYxXCI7XG4gICAgY29uc3QgSGFzQ29tcG9uZW50UmVmTm9kZUlkID0gXCJucz0wO2k9NDdcIjtcbiAgICBjb25zdCBIYXNQcm9wZXJ0eVJlZk5vZGVJZCA9IFwibnM9MDtpPTQ2XCI7XG4gICAgY29uc3QgSGFzQ2hpbGRSZWZOb2RlSWQgPSBcIm5zPTA7aT0zNFwiO1xuICAgIGNvbnN0IEhhc1N1YnR5cGVSZWZOb2RlSWQgPSBcIm5zPTA7aT00NVwiO1xuICAgIGNvbnN0IEhhc1R5cGVEZWZpbml0aW9uUmVmTm9kZUlkID0gXCJucz0wO2k9NDBcIjtcblxuICAgIHZhciBCcm93c2VEaXJlY3Rpb247XG4gICAgKGZ1bmN0aW9uIChCcm93c2VEaXJlY3Rpb24pIHtcbiAgICAgICAgQnJvd3NlRGlyZWN0aW9uW0Jyb3dzZURpcmVjdGlvbltcIkZvcndhcmRcIl0gPSAwXSA9IFwiRm9yd2FyZFwiO1xuICAgICAgICBCcm93c2VEaXJlY3Rpb25bQnJvd3NlRGlyZWN0aW9uW1wiSW52ZXJzZVwiXSA9IDFdID0gXCJJbnZlcnNlXCI7XG4gICAgICAgIEJyb3dzZURpcmVjdGlvbltCcm93c2VEaXJlY3Rpb25bXCJCb3RoXCJdID0gMl0gPSBcIkJvdGhcIjtcbiAgICAgICAgQnJvd3NlRGlyZWN0aW9uW0Jyb3dzZURpcmVjdGlvbltcIkludmFsaWRcIl0gPSAzXSA9IFwiSW52YWxpZFwiO1xuICAgIH0pKEJyb3dzZURpcmVjdGlvbiB8fCAoQnJvd3NlRGlyZWN0aW9uID0ge30pKTtcbiAgICB2YXIgTm9kZUNsYXNzO1xuICAgIChmdW5jdGlvbiAoTm9kZUNsYXNzKSB7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJVbnNwZWNpZmllZFwiXSA9IDBdID0gXCJVbnNwZWNpZmllZFwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiT2JqZWN0XCJdID0gMV0gPSBcIk9iamVjdFwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiVmFyaWFibGVcIl0gPSAyXSA9IFwiVmFyaWFibGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIk1ldGhvZFwiXSA9IDRdID0gXCJNZXRob2RcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIk9iamVjdFR5cGVcIl0gPSA4XSA9IFwiT2JqZWN0VHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiVmFyaWFibGVUeXBlXCJdID0gMTZdID0gXCJWYXJpYWJsZVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIlJlZmVyZW5jZVR5cGVcIl0gPSAzMl0gPSBcIlJlZmVyZW5jZVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIkRhdGFUeXBlXCJdID0gNjRdID0gXCJEYXRhVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiVmlld1wiXSA9IDEyOF0gPSBcIlZpZXdcIjtcbiAgICB9KShOb2RlQ2xhc3MgfHwgKE5vZGVDbGFzcyA9IHt9KSk7XG4gICAgdmFyIE5vZGVDbGFzc01hc2s7XG4gICAgKGZ1bmN0aW9uIChOb2RlQ2xhc3NNYXNrKSB7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIk9iamVjdFwiXSA9IDFdID0gXCJPYmplY3RcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiVmFyaWFibGVcIl0gPSAyXSA9IFwiVmFyaWFibGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiTWV0aG9kXCJdID0gNF0gPSBcIk1ldGhvZFwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJPYmplY3RUeXBlXCJdID0gOF0gPSBcIk9iamVjdFR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiVmFyaWFibGVUeXBlXCJdID0gMTZdID0gXCJWYXJpYWJsZVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiUmVmZXJlbmNlVHlwZVwiXSA9IDMyXSA9IFwiUmVmZXJlbmNlVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJEYXRhVHlwZVwiXSA9IDY0XSA9IFwiRGF0YVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiVmlld1wiXSA9IDEyOF0gPSBcIlZpZXdcIjtcbiAgICB9KShOb2RlQ2xhc3NNYXNrIHx8IChOb2RlQ2xhc3NNYXNrID0ge30pKTtcbiAgICB2YXIgUmVzdWx0TWFzaztcbiAgICAoZnVuY3Rpb24gKFJlc3VsdE1hc2spIHtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiUmVmZXJlbmNlVHlwZVwiXSA9IDFdID0gXCJSZWZlcmVuY2VUeXBlXCI7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIklzRm9yd2FyZFwiXSA9IDJdID0gXCJJc0ZvcndhcmRcIjtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiTm9kZUNsYXNzXCJdID0gNF0gPSBcIk5vZGVDbGFzc1wiO1xuICAgICAgICBSZXN1bHRNYXNrW1Jlc3VsdE1hc2tbXCJCcm93c2VOYW1lXCJdID0gOF0gPSBcIkJyb3dzZU5hbWVcIjtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiRGlzcGxheU5hbWVcIl0gPSAxNl0gPSBcIkRpc3BsYXlOYW1lXCI7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIlR5cGVEZWZpbml0aW9uXCJdID0gMzJdID0gXCJUeXBlRGVmaW5pdGlvblwiO1xuICAgIH0pKFJlc3VsdE1hc2sgfHwgKFJlc3VsdE1hc2sgPSB7fSkpO1xuICAgIC8vICBjb25zdCBxID0gUmVmZXJlbmNlVHlwZUlkcy5Pcmdhbml6ZXM7XG4gICAgZnVuY3Rpb24gcmVzb2x2ZU5vZGVJZChub2RlSWRMaWtlKSB7XG4gICAgICAgIHN3aXRjaCAobm9kZUlkTGlrZSkge1xuICAgICAgICAgICAgY2FzZSBcIk9yZ2FuaXplc1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiBPcmdhbml6ZXNSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzUHJvcGVydHlcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGFzUHJvcGVydHlSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzQ29tcG9uZW50XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEhhc0NvbXBvbmVudFJlZk5vZGVJZDtcbiAgICAgICAgICAgIGNhc2UgXCJIYXNDaGlsZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBIYXNDaGlsZFJlZk5vZGVJZDtcbiAgICAgICAgICAgIGNhc2UgXCJIYXNTdWJ0eXBlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEhhc1N1YnR5cGVSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzVHlwZURlZmluaXRpb25cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGFzVHlwZURlZmluaXRpb25SZWZOb2RlSWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBnZXRJY29uID0gKHJlZmVyZW5jZSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKHJlZmVyZW5jZS5ub2RlQ2xhc3MpIHtcbiAgICAgICAgICAgIGNhc2UgXCJPYmplY3RcIjpcbiAgICAgICAgICAgICAgICBpZiAocmVmZXJlbmNlLnJlZmVyZW5jZVR5cGVJZCA9PT0gT3JnYW5pemVzUmVmTm9kZUlkKSA7XG4gICAgICAgICAgICAgICAgaWYgKHJlZmVyZW5jZS50eXBlRGVmaW5pdGlvbiA9PT0gRm9sZGVyVHlwZSB8fCByZWZlcmVuY2UucmVmZXJlbmNlVHlwZUlkID09PSBcImk9NjFcIikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWZvbGRlclwiLCBjb2xvcjogXCJyZ2JhKDYxLCA2MCwgNCwgMC41MjUpXCIgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1vYmplY3QtZ3JvdXBcIiwgY29sb3I6IFwiU2VhR3JlZW5cIiB9O1xuICAgICAgICAgICAgY2FzZSBcIlZhcmlhYmxlXCI6XG4gICAgICAgICAgICAgICAgaWYgKHJlZmVyZW5jZS5yZWZlcmVuY2VUeXBlSWQgPT09IEhhc0NvbXBvbmVudFJlZk5vZGVJZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWxpc3QtYWx0XCIsIGNvbG9yOiBcIlN0ZWVsQmx1ZVwiIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJlZmVyZW5jZS5yZWZlcmVuY2VUeXBlSWQgPT09IEhhc1Byb3BlcnR5UmVmTm9kZUlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtbGlzdC1hbHRcIiwgY29sb3I6IFwiRG9kZ2VyQmx1ZVwiIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWxpc3QtYWx0XCIsIGNvbG9yOiBcIkNhZGV0Qmx1ZVwiIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBcIk1ldGhvZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtY29nXCIsIGNvbG9yOiBcIlNhbmR5QnJvd25cIiB9O1xuICAgICAgICAgICAgY2FzZSBcIk9iamVjdFR5cGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLW9iamVjdC1ncm91cFwiLCBjb2xvcjogXCJEYXJrT3JhbmdlXCIgfTtcbiAgICAgICAgICAgIGNhc2UgXCJWYXJpYWJsZVR5cGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLXNsaWRlcnNcIiwgY29sb3I6IFwiRGFya09yYW5nZVwiIH07XG4gICAgICAgICAgICBjYXNlIFwiRGF0YVR5cGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLXRleHQtd2lkdGhcIiwgY29sb3I6IFwiQ2FkZXRCbHVlXCIgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLXF1ZXN0aW9uXCIsIGNvbG9yOiBcImdyZXlcIiB9O1xuICAgIH07XG5cbiAgICBjb25zdCBicm93c2UgPSAoX2EsIG5vZGVJZF8xLCB0ZW1wbGF0ZV8xKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCBbX2EsIG5vZGVJZF8xLCB0ZW1wbGF0ZV8xXSwgdm9pZCAwLCBmdW5jdGlvbiogKHsgZW5kcG9pbnROb2RlLCBlbmRwb2ludCwgYmFzZVVybCB9LCBub2RlSWQsIHRlbXBsYXRlKSB7XG4gICAgICAgIGNvbnN0IHJvb3QgPSBgJHtiYXNlVXJsfS9vcGN1YS1mb3Itbm9kZS1yZWRgO1xuICAgICAgICBjb25zdCB1cmwgPSBgJHtyb290fS9icm93c2VgO1xuICAgICAgICBjb25zdCBicm93c2VEZXNjcmlwdGlvbiA9IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgdGVtcGxhdGUpLCB7IG5vZGVJZCwgcmVzdWx0TWFzazogNjMgfSk7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB5aWVsZCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlLFxuICAgICAgICAgICAgICAgIGVuZHBvaW50LFxuICAgICAgICAgICAgICAgIGJyb3dzZURlc2NyaXB0aW9uLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJmZXRjaGluZyBmYWlsZWQgd2l0aCBlcnJvclwiLCBkYXRhLnN0YXR1cywgZGF0YS5zdGF0dXNUZXh0KTtcbiAgICAgICAgICAgIHJldHVybiB7IHJlZmVyZW5jZXM6IFtdIH07XG4gICAgICAgIH1cbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJicm93c2UgZmV0Y2hlZCA6IFwiLCBkYXRhLnN0YXR1cywgZGF0YS5zdGF0dXNUZXh0KTtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSB5aWVsZCBkYXRhLmpzb24oKTtcbiAgICAgICAgY29uc3QgcmVmZXJlbmNlcyA9IHJlc3BvbnNlLmJyb3dzZVJlc3VsdC5yZWZlcmVuY2VzIHx8IFtdO1xuICAgICAgICByZXR1cm4geyByZWZlcmVuY2VzIH07XG4gICAgfSk7XG5cbiAgICBjb25zdCB0ZW1wbGF0ZTEgPSB7XG4gICAgICAgIHJlZmVyZW5jZVR5cGVJZDogcmVzb2x2ZU5vZGVJZChcIkhhc0NoaWxkXCIpLFxuICAgICAgICBpbmNsdWRlU3VidHlwZXM6IHRydWUsXG4gICAgICAgIGJyb3dzZURpcmVjdGlvbjogQnJvd3NlRGlyZWN0aW9uLkZvcndhcmQsXG4gICAgICAgIG5vZGVDbGFzc01hc2s6IE5vZGVDbGFzcy5WYXJpYWJsZSB8IE5vZGVDbGFzcy5PYmplY3QgfCBOb2RlQ2xhc3MuTWV0aG9kLFxuICAgICAgICAvLyAgTm9kZUNsYXNzLk9iamVjdFR5cGUgfFxuICAgICAgICAvLyAgTm9kZUNsYXNzLlZhcmlhYmxlVHlwZSB8XG4gICAgICAgIC8vIE5vZGVDbGFzcy5SZWZlcmVuY2VUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLkRhdGFUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLlZpZXcsXG4gICAgICAgIHJlc3VsdE1hc2s6IDYzLFxuICAgIH07XG4gICAgY29uc3QgdGVtcGxhdGUyID0ge1xuICAgICAgICByZWZlcmVuY2VUeXBlSWQ6IHJlc29sdmVOb2RlSWQoXCJPcmdhbml6ZXNcIiksXG4gICAgICAgIGluY2x1ZGVTdWJ0eXBlczogdHJ1ZSxcbiAgICAgICAgYnJvd3NlRGlyZWN0aW9uOiBCcm93c2VEaXJlY3Rpb24uRm9yd2FyZCxcbiAgICAgICAgbm9kZUNsYXNzTWFzazogTm9kZUNsYXNzLlZhcmlhYmxlIHwgTm9kZUNsYXNzLk9iamVjdCB8IE5vZGVDbGFzcy5NZXRob2QsXG4gICAgICAgIC8vICBOb2RlQ2xhc3MuT2JqZWN0VHlwZSB8XG4gICAgICAgIC8vICBOb2RlQ2xhc3MuVmFyaWFibGVUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLlJlZmVyZW5jZVR5cGUgfFxuICAgICAgICAvLyBOb2RlQ2xhc3MuRGF0YVR5cGUgfFxuICAgICAgICAvLyBOb2RlQ2xhc3MuVmlldyxcbiAgICAgICAgcmVzdWx0TWFzazogNjMsXG4gICAgfTtcbiAgICBjb25zdCB3YWxrQmFja3dhcmQgPSAoX2EsIF9iKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCBbX2EsIF9iXSwgdm9pZCAwLCBmdW5jdGlvbiogKHsgZW5kcG9pbnROb2RlLCBlbmRwb2ludCwgYmFzZVVybCB9LCB7IG5vZGVJZCwgcm9vdE5vZGVJZCwgaXNUeXBlIH0pIHtcbiAgICAgICAgY29uc3Qgcm9vdCA9IGAke2Jhc2VVcmx9L29wY3VhLWZvci1ub2RlLXJlZGA7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L3dhbGstYmFja3dhcmRgO1xuICAgICAgICBjb25zdCBkYXRhID0geWllbGQgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgIGVuZHBvaW50Tm9kZSxcbiAgICAgICAgICAgICAgICBlbmRwb2ludCxcbiAgICAgICAgICAgICAgICBub2RlSWQsXG4gICAgICAgICAgICAgICAgcm9vdE5vZGVJZCxcbiAgICAgICAgICAgICAgICBpc1R5cGUsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChkYXRhLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBqc29uID0gKHlpZWxkIGRhdGEuanNvbigpKTtcbiAgICAgICAgcmV0dXJuIGpzb24uYnJvd3NlUGF0aDtcbiAgICB9KTtcbiAgICBjb25zdCBjaG9vc2VOb2RlSWQgPSAoZGF0YSwgbW9kZSkgPT4ge1xuICAgICAgICBpZiAoZGF0YS5zdGF0dXNDb2RlICE9PSBcIkdvb2RcIikge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGEucmVxdWVzdGVkTm9kZUlkO1xuICAgICAgICB9XG4gICAgICAgIHN3aXRjaCAobW9kZSkge1xuICAgICAgICAgICAgY2FzZSBcImJyb3dzZVBhdGhcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5icF9pbmRleGVkO1xuICAgICAgICAgICAgY2FzZSBcImFsaWFzZWRCcm93c2VQYXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEuYnBfYWxpYXNlZCB8fCBkYXRhLmJwX2luZGV4ZWQ7XG4gICAgICAgICAgICBjYXNlIFwiYWxpYXNlZE5vZGVJZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLm5vZGVJZF9hbGlhc2VkIHx8IGRhdGEubm9kZUlkX25zdTtcbiAgICAgICAgICAgIGNhc2UgXCJuc3VOb2RlSURcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5ub2RlSWRfbnN1O1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGNhc2UgXCJub2RlSWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5ub2RlSWQ7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IG1ha2VUb29sdGlwID0gKGRhdGEpID0+IHtcbiAgICAgICAgaWYgKGRhdGEuc3RhdHVzQ29kZSAhPT0gXCJHb29kXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBgc3RhdHVzQ29kZTogJHtkYXRhLnN0YXR1c0NvZGV9YDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGxldCBzdHIgPSBbXTtcbiAgICAgICAgICAgIHN0ci5wdXNoKGBub2RlSWQ6ICR7ZGF0YS5ub2RlSWR9YCk7XG4gICAgICAgICAgICBzdHIucHVzaChgYnJvd3NlIHBhdGg6ICR7ZGF0YS5icF9pbmRleGVkfWApO1xuICAgICAgICAgICAgc3RyLnB1c2goYG5vZGUgY2xhc3M6ICR7Tm9kZUNsYXNzW2RhdGEubm9kZUNsYXNzXX1gKTtcbiAgICAgICAgICAgIGlmIChkYXRhLm5vZGVJZF9uc3UpIHtcbiAgICAgICAgICAgICAgICBzdHIucHVzaChgbnN1IG5vZGVJZDogJHtkYXRhLm5vZGVJZF9uc3V9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZGF0YS5ub2RlSWRfYWxpYXNlZCkge1xuICAgICAgICAgICAgICAgIHN0ci5wdXNoKGBhbGlhc2VkIE5vZGVJZDogJHtkYXRhLm5vZGVJZF9hbGlhc2VkfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGRhdGEuYnBfaW5kZXhlZCkge1xuICAgICAgICAgICAgICAgIHN0ci5wdXNoKGBhbGlhc2VkIGJyb3dzZVBhdGg6ICR7ZGF0YS5icF9hbGlhc2VkfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHN0ci5qb2luKFwiXFxuXCIpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBmdW5jdGlvbiBmaWd1cmVPdXRNb2RlKGVuaGFuY2VkTm9kZUlkKSB7XG4gICAgICAgIGlmIChlbmhhbmNlZE5vZGVJZC5tYXRjaCgvXm5zdT0vKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwibnN1Tm9kZUlEXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVuaGFuY2VkTm9kZUlkLm1hdGNoKC9eKG5zPS4qOyk/KGl8YnxzfGcpPS8pKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJub2RlSWRcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5oYW5jZWROb2RlSWQubWF0Y2goL15uc2E9LykpIHtcbiAgICAgICAgICAgIHJldHVybiBcImFsaWFzZWROb2RlSWRcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5oYW5jZWROb2RlSWQubWF0Y2goL14oXFwvfFxcLilbMC05XSs6LykpIHtcbiAgICAgICAgICAgIHJldHVybiBcImJyb3dzZVBhdGhcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5oYW5jZWROb2RlSWQubWF0Y2goL14oXFwvfFxcLikuKjovKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiYnJvd3NlUGF0aFwiO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGZpZ3VyZU91dE1lblVJdGVtVmFsdWUoc3RyKSB7XG4gICAgICAgIGNvbnN0IG1vZGUgPSBmaWd1cmVPdXRNb2RlKHN0cik7XG4gICAgICAgIHN3aXRjaCAobW9kZSkge1xuICAgICAgICAgICAgY2FzZSBcIm5vZGVJZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIm5cIjtcbiAgICAgICAgICAgIGNhc2UgXCJhbGlhc2VkTm9kZUlkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwibmFcIjtcbiAgICAgICAgICAgIGNhc2UgXCJuc3VOb2RlSURcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJuc3VcIjtcbiAgICAgICAgICAgIGNhc2UgXCJicm93c2VQYXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiYlwiO1xuICAgICAgICAgICAgY2FzZSBcImFsaWFzZWRCcm93c2VQYXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiYWJcIjtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwidFwiO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIHRvTW9kZSh2KSB7XG4gICAgICAgIGxldCBtb2RlO1xuICAgICAgICBzd2l0Y2ggKHYpIHtcbiAgICAgICAgICAgIGNhc2UgXCJuXCI6XG4gICAgICAgICAgICAgICAgbW9kZSA9IFwibm9kZUlkXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwibmFcIjpcbiAgICAgICAgICAgICAgICBtb2RlID0gXCJhbGlhc2VkTm9kZUlkXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwibnN1XCI6XG4gICAgICAgICAgICAgICAgbW9kZSA9IFwibnN1Tm9kZUlEXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwiYlwiOlxuICAgICAgICAgICAgICAgIG1vZGUgPSBcImJyb3dzZVBhdGhcIjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJhYlwiOlxuICAgICAgICAgICAgICAgIG1vZGUgPSBcImFsaWFzZWRCcm93c2VQYXRoXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1vZGU7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGZyb21Nb2RlKG1vZGUpIHtcbiAgICAgICAgc3dpdGNoIChtb2RlKSB7XG4gICAgICAgICAgICBjYXNlIFwibm9kZUlkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiblwiO1xuICAgICAgICAgICAgY2FzZSBcImFsaWFzZWROb2RlSWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJuYVwiO1xuICAgICAgICAgICAgY2FzZSBcIm5zdU5vZGVJRFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIm5zdVwiO1xuICAgICAgICAgICAgY2FzZSBcImJyb3dzZVBhdGhcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJiXCI7XG4gICAgICAgICAgICBjYXNlIFwiYWxpYXNlZEJyb3dzZVBhdGhcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJhYlwiO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJ0XCI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgX2NhbGxDaGVja05vZGVJZCA9IChfYSwgbm9kZUlkXzEpID0+IF9fYXdhaXRlcih2b2lkIDAsIFtfYSwgbm9kZUlkXzFdLCB2b2lkIDAsIGZ1bmN0aW9uKiAoeyBlbmRwb2ludE5vZGUsIGVuZHBvaW50LCBiYXNlVXJsIH0sIG5vZGVJZCkge1xuICAgICAgICBjb25zdCByb290ID0gYCR7YmFzZVVybH0vb3BjdWEtZm9yLW5vZGUtcmVkYDtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7cm9vdH0vY2hlY2tOb2RlSWRgO1xuICAgICAgICBjb25zdCBlSWQgPSBlbmRwb2ludE5vZGUuaWQ7XG4gICAgICAgIGNvbnN0IG4gPSBSRUQubm9kZXMubm9kZShlSWQpO1xuICAgICAgICBjb25zb2xlLmxvZyhuLm5hbWVzcGFjZUFsaWFzZXMpO1xuICAgICAgICBuLm5hbWVzcGFjZUFsaWFzZXM7XG4gICAgICAgIGNvbnN0IG5hbWVzcGFjZUFsaWFzZXMgPSBlbmRwb2ludE5vZGUubmFtZXNwYWNlQWxpYXNlcztcbiAgICAgICAgY29uc3QgZGF0YSA9IHlpZWxkIGZldGNoKHVybCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICBlbmRwb2ludE5vZGUsXG4gICAgICAgICAgICAgICAgZW5kcG9pbnQsXG4gICAgICAgICAgICAgICAgbm9kZUlkLFxuICAgICAgICAgICAgICAgIG5hbWVzcGFjZUFsaWFzZXMsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGpzb24gPSAoeWllbGQgZGF0YS5qc29uKCkpO1xuICAgICAgICByZXR1cm4geyBqc29uLCBkYXRhIH07XG4gICAgfSk7XG4gICAgY29uc3QgaW50ZXJuYWxWZXJpZnkgPSAoX2EsIG1vZGVfMSwgJGlucHV0RWxlbWVudF8xLCAkaW5mb18xKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCBbX2EsIG1vZGVfMSwgJGlucHV0RWxlbWVudF8xLCAkaW5mb18xXSwgdm9pZCAwLCBmdW5jdGlvbiogKHsgZW5kcG9pbnROb2RlLCBlbmRwb2ludCwgYmFzZVVybCB9LCBtb2RlLCAkaW5wdXRFbGVtZW50LCAkaW5mbykge1xuICAgICAgICBjb25zdCBlbmhhbmNlZE5vZGVJZCA9ICRpbnB1dEVsZW1lbnQudmFsKCk7XG4gICAgICAgIGNvbnN0IHsganNvbiwgZGF0YSB9ID0geWllbGQgX2NhbGxDaGVja05vZGVJZCh7IGVuZHBvaW50Tm9kZSwgZW5kcG9pbnQsIGJhc2VVcmwgfSwgZW5oYW5jZWROb2RlSWQpO1xuICAgICAgICBjb25zdCBzZXROb3RpZmljYXRpb24gPSAodGV4dCwgY2xhc3NOYW1lKSA9PiB7XG4gICAgICAgICAgICAkaW5mby50ZXh0KHRleHQpLmFkZENsYXNzKFwic3RlcmZpdmUtaW5mb1wiKS5hZGRDbGFzcyhjbGFzc05hbWUpO1xuICAgICAgICAgICAgJGluZm8uc2hvdygpO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgJGluZm8ucmVtb3ZlQ2xhc3MoY2xhc3NOYW1lKTtcbiAgICAgICAgICAgICAgICAkaW5mby5oaWRlKCk7XG4gICAgICAgICAgICB9LCAzMDAwKTtcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKGRhdGEuc3RhdHVzICE9PSAyMDApIHtcbiAgICAgICAgICAgIC8vIGRvIHNvbWV0aGluZztcbiAgICAgICAgICAgIHNldE5vdGlmaWNhdGlvbihcIiEhZmFpbHVyZSEhXCIgKyBlbmhhbmNlZE5vZGVJZCwgXCJmYWlsdXJlXCIpO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKGpzb24uc3RhdHVzQ29kZS5tYXRjaCgvR29vZC8pKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdG9vbHRpcCA9IG1ha2VUb29sdGlwKGpzb24pO1xuICAgICAgICAgICAgICAgICRpbnB1dEVsZW1lbnQuYXR0cihcInRpdGxlXCIsIHRvb2x0aXApO1xuICAgICAgICAgICAgICAgIC8vIGRvIHNvbWV0aGluZ1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZUlkID0gY2hvb3NlTm9kZUlkKGpzb24sIG1vZGUpO1xuICAgICAgICAgICAgICAgICRpbnB1dEVsZW1lbnQudmFsKHNlbGVjdGVkTm9kZUlkKTtcbiAgICAgICAgICAgICAgICAkaW5wdXRFbGVtZW50LnRyaWdnZXIoXCJjaGFuZ2VcIik7XG4gICAgICAgICAgICAgICAgc2V0Tm90aWZpY2F0aW9uKFwiR29vZFwiLCBcIm9rXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgJGlucHV0RWxlbWVudC52YWwoYCR7ZW5oYW5jZWROb2RlSWR9YCk7XG4gICAgICAgICAgICAgICAgc2V0Tm90aWZpY2F0aW9uKGAke2pzb24uc3RhdHVzQ29kZX0gJHtkYXRhLnN0YXR1c1RleHR9YCwgXCJmYWlsdXJlXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGZ1bmN0aW9uIGZldGNoQ2hpbGRyZW4oJG5vZGUsIGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGVJZCA9ICRub2RlLmRhdGEoXCJ2YWx1ZVwiKTtcbiAgICAgICAgICAgIGNvbnN0IGJyb3dzZVJlc3VsdDEgPSB5aWVsZCBicm93c2UoZGF0YSwgbm9kZUlkLCB0ZW1wbGF0ZTEpO1xuICAgICAgICAgICAgY29uc3QgYnJvd3NlUmVzdWx0MiA9IHlpZWxkIGJyb3dzZShkYXRhLCBub2RlSWQsIHRlbXBsYXRlMik7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZmVyZW5jZXM6IFsuLi5icm93c2VSZXN1bHQxLnJlZmVyZW5jZXMsIC4uLmJyb3dzZVJlc3VsdDIucmVmZXJlbmNlc10sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgdGVtcGxhdGVTVCA9IHtcbiAgICAgICAgcmVmZXJlbmNlVHlwZUlkOiByZXNvbHZlTm9kZUlkKFwiSGFzU3VidHlwZVwiKSxcbiAgICAgICAgaW5jbHVkZVN1YnR5cGVzOiB0cnVlLFxuICAgICAgICBicm93c2VEaXJlY3Rpb246IEJyb3dzZURpcmVjdGlvbi5Gb3J3YXJkLFxuICAgICAgICBub2RlQ2xhc3NNYXNrOiBOb2RlQ2xhc3MuUmVmZXJlbmNlVHlwZSB8IE5vZGVDbGFzcy5PYmplY3RUeXBlIHwgTm9kZUNsYXNzLkRhdGFUeXBlIHwgTm9kZUNsYXNzLlZhcmlhYmxlVHlwZSxcbiAgICAgICAgcmVzdWx0TWFzazogNjMsXG4gICAgfTtcbiAgICBmdW5jdGlvbiBmZXRjaFN1YnR5cGVzKCRub2RlLCBkYXRhKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlSWQgPSAkbm9kZS5kYXRhKFwidmFsdWVcIik7XG4gICAgICAgICAgICBjb25zdCBicm93c2VSZXN1bHQxID0geWllbGQgYnJvd3NlKGRhdGEsIG5vZGVJZCwgdGVtcGxhdGVTVCk7XG4gICAgICAgICAgICByZXR1cm4gYnJvd3NlUmVzdWx0MTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IG1ha2VFbGVtZW50ID0gKHJlZmVyZW5jZSkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYywgX2Q7XG4gICAgICAgIGlmICghcmVmZXJlbmNlIHx8ICFyZWZlcmVuY2Uubm9kZUlkKSB7XG4gICAgICAgICAgICBjb25zdCAkZWxlbWVudCA9ICQoYDxsaT48aSBjbGFzcz1cImZhIGZhLWVycm9yXCIgc3R5bGU9XCJjb2xvcjpyZWQ7XCI+PC9pPm5vIHJlZmVyZW5jZSAhPHVsPjwvdWw+PC9saT5gKTtcbiAgICAgICAgICAgIHJldHVybiAkZWxlbWVudDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuID0gcmVmZXJlbmNlLm5vZGVJZC50b1N0cmluZygpO1xuICAgICAgICBjb25zdCB0ID0gKChfYSA9IHJlZmVyZW5jZS5kaXNwbGF5TmFtZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnRleHQpIHx8ICgoX2IgPSByZWZlcmVuY2UuYnJvd3NlTmFtZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLm5hbWUpIHx8IHJlZmVyZW5jZS5ub2RlSWQudG9TdHJpbmcoKTtcbiAgICAgICAgY29uc3QgeyBpY29uLCBjb2xvciB9ID0gZ2V0SWNvbihyZWZlcmVuY2UpO1xuICAgICAgICBjb25zdCB0aXRsZSA9IGAoJHtyZWZlcmVuY2Uubm9kZUlkLnRvU3RyaW5nKCl9KSAkeygoX2MgPSByZWZlcmVuY2UuYnJvd3NlTmFtZSkgPT09IG51bGwgfHwgX2MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9jLm5hbWUpIHx8ICgoX2QgPSByZWZlcmVuY2UuZGlzcGxheU5hbWUpID09PSBudWxsIHx8IF9kID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZC50ZXh0KSB8fCBcIlwifWA7XG4gICAgICAgIGNvbnN0ICRlbGVtZW50ID0gJChgPGxpIGtleT1cIiR7cmVmZXJlbmNlLm5vZGVJZC50b1N0cmluZygpfVwifT48c3BhbiBjbGFzcz1cInRyZWUtdGV4dFwiIHRpdGxlPSR7dGl0bGV9PjxpIGNsYXNzPVwiZmEgJHtpY29ufVwiIHN0eWxlPVwiY29sb3I6JHtjb2xvcn07XCI+PC9pPiAke3R9PC9zcGFuPjx1bD48L3VsPjwvbGk+YCk7XG4gICAgICAgICRlbGVtZW50LmFkZENsYXNzKFwiZXhwYW5kYWJsZVwiKTtcbiAgICAgICAgJGVsZW1lbnQuZGF0YShcInZhbHVlXCIsIG4pO1xuICAgICAgICAkZWxlbWVudC5kYXRhKFwicmVmZXJlbmNlXCIsIHJlZmVyZW5jZSk7XG4gICAgICAgIHJldHVybiAkZWxlbWVudDtcbiAgICB9O1xuICAgIGNvbnN0IGZpbmRFbGVtZW50ID0gKG5vZGVJZCwgJHRyZWUpID0+IHtcbiAgICAgICAgcmV0dXJuICR0cmVlLmZpbmQoYGxpW2tleT1cIiR7bm9kZUlkfVwiXWApO1xuICAgIH07XG4gICAgY29uc3Qgc2VsZWN0U2luZ2xlID0gKHRoYXQsICRsaSkgPT4ge1xuICAgICAgICB0aGF0LiR0cmVlLmZpbmQoXCJsaSA+IC50cmVlLXRleHRcIikucmVtb3ZlQ2xhc3MoXCJzZWxlY3RlZFwiKTtcbiAgICAgICAgLy8gY2xlYXIgYWxsIHNlbGVjdGVkIGl0ZW1zXG4gICAgICAgICRsaS5maW5kKFwiLnRyZWUtdGV4dDpmaXJzdFwiKS5hZGRDbGFzcyhcInNlbGVjdGVkXCIpO1xuICAgIH07XG4gICAgY29uc3QgYXV0b0V4cGFuZCA9ICh0aGF0LCBicm93c2VQYXRoLCAkdHJlZSkgPT4gX19hd2FpdGVyKHZvaWQgMCwgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIC8vIGV4cGFuZCB0aGUgdHJlZSB0byBzaG93IHRoZSBub2RlSWRcbiAgICAgICAgbGV0ICRjdXJyZW50ID0gJHRyZWUuY2hpbGRyZW4oXCI6Zmlyc3RcIik7XG4gICAgICAgIGJyb3dzZVBhdGgucmVsYXRpdmVQYXRoLmVsZW1lbnRzIHx8IFtdO1xuICAgICAgICBjb25zdCBub2RlSWRzID0gYnJvd3NlUGF0aC5ub2RlSWRzIHx8IFtdO1xuICAgICAgICBpZiAobm9kZUlkcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IG4gb2Ygbm9kZUlkcykge1xuICAgICAgICAgICAgaWYgKCRjdXJyZW50Lmhhc0NsYXNzKFwiZXhwYW5kYWJsZVwiKSkge1xuICAgICAgICAgICAgICAgIC8vIG5lZWQgdG8gZXhwYW5kIGFuZCBzZWxlY3QgdGhlIHJpZ2h0IGVsZW1lbnRcbiAgICAgICAgICAgICAgICB5aWVsZCBfZXhwYW5kTGkodGhhdCwgJGN1cnJlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgJGVsZW1lbnQgPSBmaW5kRWxlbWVudChuLCAkY3VycmVudCk7XG4gICAgICAgICAgICBpZiAoJGVsZW1lbnQubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJGN1cnJlbnQgPSAkZWxlbWVudDtcbiAgICAgICAgfVxuICAgICAgICBzZWxlY3RTaW5nbGUodGhhdCwgJGN1cnJlbnQpO1xuICAgICAgICBzY3JvbGxUb0xpKHRoYXQuJGRyb3Bkb3duLCAkY3VycmVudCk7XG4gICAgfSk7XG4gICAgZnVuY3Rpb24gc2Nyb2xsVG9MaSgkY29udGFpbmVyLCAkdGFyZ2V0TGkpIHtcbiAgICAgICAgLy8gR2V0IHRoZSBwb3NpdGlvbiBvZiB0aGUgdGFyZ2V0IGl0ZW0gcmVsYXRpdmUgdG8gaXRzIGNvbnRhaW5lclxuICAgICAgICBjb25zdCBsaVBvcyA9ICR0YXJnZXRMaS5wb3NpdGlvbigpLnRvcDtcbiAgICAgICAgLy8gR2V0IHRoZSBjdXJyZW50IHNjcm9sbCBwb3NpdGlvbiBvZiB0aGUgY29udGFpbmVyXG4gICAgICAgIGNvbnN0IGNvbnRhaW5lclNjcm9sbFRvcCA9ICRjb250YWluZXIuc2Nyb2xsVG9wKCk7XG4gICAgICAgIGlmIChjb250YWluZXJTY3JvbGxUb3AgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBwb3NpdGlvbiB0byBzY3JvbGwgdG8gKGN1cnJlbnQgc2Nyb2xsICsgaXRlbSdzIHBvc2l0aW9uKVxuICAgICAgICAvLyBBZGp1c3QgdGhpcyBjYWxjdWxhdGlvbiBiYXNlZCBvbiB5b3VyIG5lZWRzXG4gICAgICAgIGNvbnN0IHNjcm9sbFRvID0gY29udGFpbmVyU2Nyb2xsVG9wICsgbGlQb3MgLSAkY29udGFpbmVyLmhlaWdodCgpIC8gMiArICR0YXJnZXRMaS5oZWlnaHQoKSAvIDI7XG4gICAgICAgIC8vIFNjcm9sbCB0aGUgY29udGFpbmVyIHRvIGVuc3VyZSB0aGUgaXRlbSBpcyB2aXNpYmxlXG4gICAgICAgICRjb250YWluZXIuYW5pbWF0ZSh7XG4gICAgICAgICAgICBzY3JvbGxUb3A6IHNjcm9sbFRvLFxuICAgICAgICB9LCA1MDApOyAvLyBBZGp1c3QgdGhlIGR1cmF0aW9uICg1MDBtcykgYXMgbmVlZGVkXG4gICAgfVxuICAgIGNvbnN0IHJlYWNoU2VsZWN0aW9uID0gKHRoYXQsIHBhcmVudE5vZGUpID0+IF9fYXdhaXRlcih2b2lkIDAsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICBjb25zdCBub2RlSWQgPSB0aGF0LiRpbnB1dC52YWwoKTtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgICAgIG5vZGVJZCxcbiAgICAgICAgICAgIHJvb3ROb2RlSWQ6IHBhcmVudE5vZGUubm9kZUlkLFxuICAgICAgICAgICAgaXNUeXBlOiB0aGF0Lm9wdGlvbnMuaXNUeXBlUmVmIHx8IGZhbHNlLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBkYXRhID0gbWFrZUNvbm5lY3Rpb24odGhhdCk7XG4gICAgICAgIGNvbnN0IGJyb3dzZVBhdGggPSB5aWVsZCB3YWxrQmFja3dhcmQoZGF0YSwgb3B0aW9ucyk7XG4gICAgICAgIGlmICghYnJvd3NlUGF0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHlpZWxkIGF1dG9FeHBhbmQodGhhdCwgYnJvd3NlUGF0aCwgdGhhdC4kdHJlZSk7XG4gICAgfSk7XG4gICAgZnVuY3Rpb24gX2ZldGNoRGF0YUZvck5vZGUodGhhdCwgJG5vZGUsIGZldGNoRnVuYywgZGF0YSkge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgaWYgKCRub2RlLmhhc0NsYXNzKFwiZmV0Y2hlZFwiKSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiYWxyZWFkeSBmZXRjaGVkXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICgkbm9kZS5oYXNDbGFzcyhcImxvYWRpbmdcIikpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImFscmVhZHkgbG9hZGluZ1wiKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkbm9kZS5hZGRDbGFzcyhcImxvYWRpbmdcIik7XG4gICAgICAgICAgICAkbm9kZS5hcHBlbmQoJzxkaXYgY2xhc3M9XCJzcGlubmVyXCI+PC9kaXY+Jyk7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICRub2RlLmNoaWxkcmVuKFwidWxcIikuZW1wdHkoKTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHJlZmVyZW5jZXMgfSA9IHlpZWxkIGZldGNoRnVuYygkbm9kZSwgZGF0YSk7XG4gICAgICAgICAgICAgICAgLy8gc29ydCByZWZlcmVuY2UgICBieSBicm93c2VOYW1lXG4gICAgICAgICAgICAgICAgcmVmZXJlbmNlcy5zb3J0KChhLCBiKSA9PiB7IHZhciBfYSwgX2I7IHJldHVybiAoKChfYSA9IGEuYnJvd3NlTmFtZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLm5hbWUpIHx8IFwiXCIpLmxvY2FsZUNvbXBhcmUoKChfYiA9IGIuYnJvd3NlTmFtZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLm5hbWUpIHx8IFwiXCIpOyB9KTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHJlZmVyZW5jZSBvZiByZWZlcmVuY2VzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGF0Lm9wdGlvbnMuZmlsdGVyICYmICF0aGF0Lm9wdGlvbnMuZmlsdGVyKHJlZmVyZW5jZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0ICRlbGVtZW50ID0gbWFrZUVsZW1lbnQocmVmZXJlbmNlKTtcbiAgICAgICAgICAgICAgICAgICAgJG5vZGUuY2hpbGRyZW4oXCJ1bFwiKS5hcHBlbmQoJGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAkbm9kZS5hZGRDbGFzcyhcImZldGNoZWRcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgJG5vZGUuY2hpbGRyZW4oXCJ1bFwiKS5hcHBlbmQoYDxsaT5lcnJvciAke2Vyci5tZXNzYWdlfTwvbGk+YCk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJlcnJcIiwgZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICRub2RlLmZpbmQoXCIuc3Bpbm5lclwiKS5yZW1vdmUoKTtcbiAgICAgICAgICAgICRub2RlLnJlbW92ZUNsYXNzKFwibG9hZGluZ1wiKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIG1ha2VDb25uZWN0aW9uKHRoYXQpIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgICAgIGJhc2VVcmw6IHRoYXQub3B0aW9ucy5iYXNlVXJsLFxuICAgICAgICAgICAgZW5kcG9pbnROb2RlOiB0eXBlb2YgdGhhdC5vcHRpb25zLmVuZHBvaW50Tm9kZSA9PT0gXCJmdW5jdGlvblwiID8gdGhhdC5vcHRpb25zLmVuZHBvaW50Tm9kZSgpIDogdGhhdC5vcHRpb25zLmVuZHBvaW50Tm9kZSxcbiAgICAgICAgICAgIGVuZHBvaW50OiB0eXBlb2YgdGhhdC5vcHRpb25zLmVuZHBvaW50ID09PSBcImZ1bmN0aW9uXCIgPyB0aGF0Lm9wdGlvbnMuZW5kcG9pbnQoKSA6IHRoYXQub3B0aW9ucy5lbmRwb2ludCxcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuICAgIGZ1bmN0aW9uIF9leHBhbmRMaSh0aGF0LCAkbGkpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGlmICgkbGkuaGFzQ2xhc3MoXCJmZXRjaGVkXCIpKSB7XG4gICAgICAgICAgICAgICAgJGxpLnJlbW92ZUNsYXNzKFwiZXhwYW5kYWJsZVwiKS5hZGRDbGFzcyhcImV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgICAgICRsaS5jaGlsZHJlbihcInVsXCIpLnRvZ2dsZSgpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEZldGNoIG5ldyBkYXRhIGZvciB0aGlzIG5vZGVcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBtYWtlQ29ubmVjdGlvbih0aGF0KTtcbiAgICAgICAgICAgIGNvbnN0IGYgPSAhdGhhdC5vcHRpb25zLmlzVHlwZVJlZiA/IGZldGNoQ2hpbGRyZW4gOiBmZXRjaFN1YnR5cGVzO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICB5aWVsZCBfZmV0Y2hEYXRhRm9yTm9kZSh0aGF0LCAkbGksIGYsIGRhdGEpO1xuICAgICAgICAgICAgICAgIC8vIG1hcmsgYXMgZXhwYW5kZWRcbiAgICAgICAgICAgICAgICAkbGkucmVtb3ZlQ2xhc3MoXCJleHBhbmRhYmxlXCIpLmFkZENsYXNzKFwiZXhwYW5kZWRcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgJGxpLnJlbW92ZUNsYXNzKFwiZXhwYW5kYWJsZVwiKS5hZGRDbGFzcyhcImV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZXJyb3JcIiwgZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IGRlZmF1bHRQYXJlbnROb2RlID0ge1xuICAgICAgICBicm93c2VOYW1lOiB7IG5hbWVzcGFjZUluZGV4OiAwLCBuYW1lOiBcIk9iamVjdHNcIiB9LFxuICAgICAgICBub2RlQ2xhc3M6IFwiT2JqZWN0XCIsXG4gICAgICAgIG5vZGVJZDogXCJucz0wO2k9ODVcIixcbiAgICAgICAgZGlzcGxheU5hbWU6IHsgdGV4dDogXCJPYmplY3RzXCIgfSxcbiAgICAgICAgdHlwZURlZmluaXRpb246IEZvbGRlclR5cGUsXG4gICAgfTtcbiAgICBjb25zdCBkZWNsYXJlTm9kZUJyb3dzZXJXaWRnZXQgPSAoKSA9PiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBbIFRlbXBlcmF0dXJlICBdXG4gICAgICAgICAqICAgKCB0b29sdGlwIDogKC9PYmplY3RzL015U2Vuc29yKSAobnM9MTtzPVRlbXBlcmF0dXJlKSlcbiAgICAgICAgICogWyArIFtGb2xkZXJdIE9iamVjdHNdXG4gICAgICAgICAqIFsgICAgIFtPYmplY3RdIE15U2Vuc29yXVxuICAgICAgICAgKiBbICAgICAoICkgW1ZhcmlhYmxlXSBUZW1wZXJhdHVyZV1cbiAgICAgICAgICovXG4gICAgICAgICQud2lkZ2V0KFwic3RlcmZpdmUubm9kZUJyb3dzZXJcIiwge1xuICAgICAgICAgICAgLyogZGVmYXVsdCBvcHRpb25zICovXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlOiAoKSA9PiAoeyBlbmRwb2ludDogXCJvcGMudGNwOi8vb3BjdWFkZW1vLnN0ZXJmaXZlLmNvbToyNjU0M1wiIH0pLFxuICAgICAgICAgICAgICAgIGVuZHBvaW50OiAoKSA9PiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgcGFyZW50Tm9kZTogKCkgPT4gZGVmYXVsdFBhcmVudE5vZGUsXG4gICAgICAgICAgICAgICAgZmlsdGVyOiAoKSA9PiB0cnVlLFxuICAgICAgICAgICAgICAgIGJhc2VVcmw6IFwiXCIsXG4gICAgICAgICAgICAgICAgaXNUeXBlUmVmOiBmYWxzZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZXNvbHZlUGFyZW50Tm9kZSgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoYXQuX19wYXJlbnROb2RlID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYSA9IHR5cGVvZiB0aGF0Lm9wdGlvbnMucGFyZW50Tm9kZSA9PT0gXCJmdW5jdGlvblwiID8gdGhhdC5vcHRpb25zLnBhcmVudE5vZGUuY2FsbCh0aGF0KSA6IHRoYXQub3B0aW9ucy5wYXJlbnROb2RlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGEgaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVzYyA9IHlpZWxkIGE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fX3BhcmVudE5vZGUgPSBkZXNjO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fX3BhcmVudE5vZGUgPSBhO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGF0Ll9fcGFyZW50Tm9kZSB8fCBkZWZhdWx0UGFyZW50Tm9kZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZXNldCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICAgICAgLy8gYWxzbyByZXNldCBwYXJlbnQgbm9kZVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhID0gdGhhdDtcbiAgICAgICAgICAgICAgICAgICAgYS5fX3BhcmVudE5vZGUgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUuZW1wdHkoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFyZW50Tm9kZSA9IHlpZWxkIHRoaXMucmVzb2x2ZVBhcmVudE5vZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgJGVsZW1lbnQgPSBtYWtlRWxlbWVudChwYXJlbnROb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kdHJlZS5hcHBlbmQoJGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LmN1cnJlbnRQYXJlbnQgPSBwYXJlbnROb2RlO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHZlcmlmeShtb2RlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgLy8gRmV0Y2ggbmV3IGRhdGEgZm9yIHRoaXMgbm9kZVxuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBtYWtlQ29ubmVjdGlvbih0aGF0KTtcbiAgICAgICAgICAgICAgICBpbnRlcm5hbFZlcmlmeShkYXRhLCBtb2RlLCB0aGF0LiRpbnB1dCwgdGhhdC4kaW5mbykudGhlbigoc3VjY2VzcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLmFkZENsYXNzKFwic3RlcmZpdmUtaW5wdXQtZXJyb3JcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5yZW1vdmVDbGFzcyhcInN0ZXJmaXZlLWlucHV0LWVycm9yXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX2hpZGVNZW51KG1lbnUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vZmYoXCJtb3VzZWRvd24ucmVkLXVpLXR5cGVkSW5wdXQtY2xvc2UtcHJvcGVydHktc2VsZWN0XCIpO1xuICAgICAgICAgICAgICAgIG1lbnUuaGlkZSgpO1xuICAgICAgICAgICAgICAgIG1lbnUuY3NzKHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBcImF1dG9cIixcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAobWVudS5vcHRzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBzZWxlY3RlZCA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBtZW51LmZpbmQoJ2lucHV0W3R5cGU9XCJjaGVja2JveFwiXScpLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykucHJvcChcImNoZWNrZWRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZC5wdXNoKCQodGhpcykuZGF0YShcInZhbHVlXCIpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIG1lbnUuY2FsbGJhY2soc2VsZWN0ZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhhdC4kZWxlbWVudERpdi5pcyhcIjp2aXNpYmxlXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LnRyaWdnZXIoXCJmb2N1c1wiKTtcbiAgICAgICAgICAgICAgICAgICAgLy94eCB9IGVsc2UgaWYgKHRoaXMuJG9wdGlvblNlbGVjdFRyaWdnZXIuaXMoXCI6dmlzaWJsZVwiKSkge1xuICAgICAgICAgICAgICAgICAgICAvL3h4ICAgICB0aGF0LiRvcHRpb25TZWxlY3RUcmlnZ2VyLnRyaWdnZXIoXCJmb2N1c1wiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXIudHJpZ2dlcihcImZvY3VzXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfY3JlYXRlTWVudShtZW51T3B0aW9ucywgb3B0cywgY2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICB2YXIgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgY29uc3QgbWVudSA9ICQoXCI8ZGl2PlwiKS5hZGRDbGFzcyhcInN0ZXJmaXZlLXR5cGVkSW5wdXQtb3B0aW9ucyBzdGVyZml2ZS1vbmxpbmUtbWVudVwiKTtcbiAgICAgICAgICAgICAgICBtZW51Lm9wdHMgPSBvcHRzO1xuICAgICAgICAgICAgICAgIG1lbnUuY2FsbGJhY2sgPSBjYWxsYmFjaztcbiAgICAgICAgICAgICAgICBtZW51T3B0aW9ucy5mb3JFYWNoKChvcHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHQgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdCA9IHsgdmFsdWU6IG9wdCwgbGFiZWw6IG9wdCB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHZhciBvcCA9ICQoJzxhIGhyZWY9XCIjXCI+PC9hPicpLmF0dHIoXCJ2YWx1ZVwiLCBvcHQudmFsdWUpLmFwcGVuZFRvKG1lbnUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAob3B0LmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcC50ZXh0KG9wdC5sYWJlbCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdC50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3AucHJvcChcInRpdGxlXCIsIG9wdC50aXRsZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdC5pY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0Lmljb24uaW5kZXhPZihcIjxcIikgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKG9wdC5pY29uKS5wcmVwZW5kVG8ob3ApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAob3B0Lmljb24uaW5kZXhPZihcIi9cIikgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIjxpPlwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzOiBcInJlZC11aS10eXBlZElucHV0LWljb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IFwibWFzay1pbWFnZTogdXJsKFwiICsgb3B0Lmljb24gKyBcIik7IC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiICsgb3B0Lmljb24gKyBcIik7XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkucHJlcGVuZFRvKG9wKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCI8aT5cIiwgeyBjbGFzczogXCJyZWQtdWktdHlwZWRJbnB1dC1pY29uIFwiICsgb3B0Lmljb24gfSkucHJlcGVuZFRvKG9wKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wLmNzcyh7IHBhZGRpbmdMZWZ0OiBcIjE4cHhcIiB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdC5pY29uICYmICFvcHQubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wLnRleHQob3B0LnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB2YXIgY2I7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHRzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYiA9ICQoJzxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIj4nKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jc3MoXCJwb2ludGVyLWV2ZW50c1wiLCBcIm5vbmVcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZGF0YShcInZhbHVlXCIsIG9wdC52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJlcGVuZFRvKG9wKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5vbihcIm1vdXNlZG93blwiLCBmdW5jdGlvbiAoZXZ0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBvcC5vbihcImNsaWNrXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2sob3B0LnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9oaWRlTWVudShtZW51KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNiLnByb3AoXCJjaGVja2VkXCIsICFjYi5wcm9wKFwiY2hlY2tlZFwiKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIG1lbnUuY3NzKHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgbWVudS5vbihcImtleWRvd25cIiwgZnVuY3Rpb24gKGV2dCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXZ0LmtleUNvZGUgPT09IDQwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIERPV05cbiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuY2hpbGRyZW4oXCI6Zm9jdXNcIikubmV4dCgpLnRyaWdnZXIoXCJmb2N1c1wiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChldnQua2V5Q29kZSA9PT0gMzgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVVBcbiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuY2hpbGRyZW4oXCI6Zm9jdXNcIikucHJldigpLnRyaWdnZXIoXCJmb2N1c1wiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChldnQua2V5Q29kZSA9PT0gMjcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEVTQ0FQRVxuICAgICAgICAgICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9oaWRlTWVudShtZW51KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1lbnU7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGlzYXJtQ2xpY2s6IGZhbHNlLFxuICAgICAgICAgICAgX3Nob3dNZW51KG1lbnUsIHJlbGF0aXZlVG8pIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kaXNhcm1DbGljaykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc2FybUNsaWNrID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdmFyIHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHZhciBwb3MgPSByZWxhdGl2ZVRvLm9mZnNldCgpO1xuICAgICAgICAgICAgICAgIHZhciBoZWlnaHQgPSByZWxhdGl2ZVRvLmhlaWdodCgpO1xuICAgICAgICAgICAgICAgIHZhciBtZW51SGVpZ2h0ID0gbWVudS5oZWlnaHQoKTtcbiAgICAgICAgICAgICAgICB2YXIgdG9wID0gaGVpZ2h0ICsgcG9zLnRvcDtcbiAgICAgICAgICAgICAgICBpZiAodG9wICsgbWVudUhlaWdodCAtICQoZG9jdW1lbnQpLnNjcm9sbFRvcCgpID4gJCh3aW5kb3cpLmhlaWdodCgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcCAtPSB0b3AgKyBtZW51SGVpZ2h0IC0gJCh3aW5kb3cpLmhlaWdodCgpICsgNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRvcCA8IDApIHtcbiAgICAgICAgICAgICAgICAgICAgbWVudS5oZWlnaHQobWVudUhlaWdodCArIHRvcCk7XG4gICAgICAgICAgICAgICAgICAgIHRvcCA9IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG1lbnUuY3NzKHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiB0b3AgKyBcInB4XCIsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IHBvcy5sZWZ0ICsgXCJweFwiLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIG1lbnUuc2xpZGVEb3duKDEwMCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fZGVsYXkoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiR1aVNlbGVjdC5hZGRDbGFzcyhcInJlZC11aS10eXBlZElucHV0LWZvY3VzXCIpO1xuICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vbihcIm1vdXNlZG93bi5yZWQtdWktdHlwZWRJbnB1dC1jbG9zZS1wcm9wZXJ0eS1zZWxlY3RcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoISQoZXZlbnQudGFyZ2V0KS5jbG9zZXN0KG1lbnUpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX2hpZGVNZW51KG1lbnUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQoZXZlbnQudGFyZ2V0KS5jbG9zZXN0KHJlbGF0aXZlVG8pLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuZGlzYXJtQ2xpY2sgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF9zaG93VHlwZU1lbnUoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2hvd01lbnUodGhhdC4kbWVudSwgdGhhdC4kY29tYm8pO1xuICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLmhpZGUoKTtcbiAgICAgICAgICAgICAgICBjb25zdCB0eXBlID0gdGhhdC5zZWxlY3RlZE1lbnVJdGVtO1xuICAgICAgICAgICAgICAgIHZhciBzZWxlY3RlZCA9IHRoYXQuJG1lbnUuZmluZChcIlt2YWx1ZT0nXCIgKyB0eXBlICsgXCInXCIpO1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZC50cmlnZ2VyKFwiZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgfSwgMTIwKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfaW5pdE1lbnUoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0VHJpZ2dlci5hdHRyKFwidGFiaW5kZXhcIiwgLTEpO1xuICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXIub24oXCJtb3VzZWRvd24ucmVkLXVpLXR5cGVkSW5wdXQtZm9jdXMtYmxvY2tcIiwgZnVuY3Rpb24gKGV2dCkge1xuICAgICAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAodGhhdC4kbWVudSkge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRtZW51LnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBmYS1pZC1jYXJkXG4gICAgICAgICAgICAgICAgY29uc3QgdHlwZUxpc3QgPSBbXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6IFwidGV4dFwiLCB2YWx1ZTogXCJ0XCIsIHRpdGxlOiBcIlZhbHVlIGlzIG5vdCB2ZXJpZmllZFwiLCBpY29uOiAnPGkgY2xhc3M9XCJmYSBmYS1mb250XCIvaT4gJyB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCJtc2cuXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCJtc2dcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIm5vZGUgaWQgb3IgIGJyb3dzZSBwYXRoIGNvbWVzIGZyb20gaW5qZWN0ZWQgbXNnIHBhcmFtZXRlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtZW52ZWxvcGUtb3Blbi1vXCIvPicsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6IFwiTm9kZUlkXCIsIHZhbHVlOiBcIm5cIiwgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtdGFnXCIvPjEgJm5ic3A7ICcgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogXCJBbGlhc2VkIE5vZGVJZFwiLCB2YWx1ZTogXCJuYVwiLCBpY29uOiAnPGkgY2xhc3M9XCJmYSBmYS1ib29rbWFya1wiLz4mbmJzcDsgJyB9LFxuICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiBcIk5vZGVJZCB3aXRoIG5hbWVzcGFjZSBVcm5cIiwgdmFsdWU6IFwibnN1XCIsIGljb246ICc8aSBjbGFzcz1cImZhIGZhLWlkLWNhcmRcIi8+Jm5ic3A7ICcgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogXCJCcm93c2VQYXRoXCIsIHZhbHVlOiBcImJcIiwgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtdGFnXCIvPjxpIGNsYXNzPVwiZmEgZmEtZmlnaHRlci1qZXRcIi8+Jm5ic3A7JyB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCJBbGlhc2VkIEJyb3dzZSBQYXRoXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCJhYlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtYm9va21hcmtcIi8+PGkgY2xhc3M9XCJmYSBmYS1maWdodGVyLWpldFwiLz4mbmJzcDsnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgY29uc3QgYSA9IGZpZ3VyZU91dE1lblVJdGVtVmFsdWUodGhhdC4kaW5wdXQudmFsKCkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGUgPSB0eXBlTGlzdC5maW5kKCh4KSA9PiB4LnZhbHVlID09PSBhKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RMYWJlbC5lbXB0eSgpLmFwcGVuZChgPHNwYW4gdGl0bGU9JHsoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnRpdGxlKSB8fCBcIlwifT4mbmJzcDsgJHsoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLmljb24pIHx8IFwiXCJ9PC9zcGFuPmApO1xuICAgICAgICAgICAgICAgIHRoYXQuc2VsZWN0ZWRNZW51SXRlbSA9IGE7XG4gICAgICAgICAgICAgICAgY29uc3QgdHQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHRoYXQuJG1lbnUgPSB0aGlzLl9jcmVhdGVNZW51KHR5cGVMaXN0LCB7fSwgKHYpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbW9kZSA9IHRvTW9kZSh2KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG1vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9uIE1lbnUgc2VsZWN0ZWQgIVxuICAgICAgICAgICAgICAgICAgICAgICAgdHQudmVyaWZ5KG1vZGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGUgPSB0eXBlTGlzdC5maW5kKCh4KSA9PiB4LnZhbHVlID09PSB2KTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC5zZWxlY3RlZE1lbnVJdGVtID0gdjtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0TGFiZWwuZW1wdHkoKS5hcHBlbmQoYDxzcGFuIHRpdGxlPSR7KGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS50aXRsZSkgfHwgXCJcIn0+Jm5ic3A7ICR7KGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS5pY29uKSB8fCBcIlwifTwvc3Bhbj5gKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGF0LiRtZW51LmFwcGVuZFRvKGRvY3VtZW50LmJvZHkpO1xuICAgICAgICAgICAgICAgIHRoYXQuJG1lbnUuaGlkZSgpO1xuICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXIuc2hvdygpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG1vZGUoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRvTW9kZSh0aGF0LnNlbGVjdGVkTWVudUl0ZW0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNldE1vZGUobW9kZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIGNvbnN0IHMgPSBmcm9tTW9kZShtb2RlKTtcbiAgICAgICAgICAgICAgICB0aGF0LnNlbGVjdGVkTWVudUl0ZW0gPSBzO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF9jcmVhdGUoKSB7XG4gICAgICAgICAgICAgICAgLy8gZGVidWdnZXI7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQgPSB0aGlzLmVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuY3NzKFwiYm9yZGVyXCIsIFwibm9uZVwiKTtcbiAgICAgICAgICAgICAgICAvLyB0aGF0LiRpbnB1dC5hZGRDbGFzcyhcInJlZC11aS10eXBlZElucHV0XCIpO1xuICAgICAgICAgICAgICAgIHRoYXQuJGVsZW1lbnREaXYgPSB0aGF0LiRpbnB1dC53cmFwKFwiPGRpdj5cIikucGFyZW50KCkuYWRkQ2xhc3MoXCJtYWluLXdyYXBwZXJcIik7XG4gICAgICAgICAgICAgICAgLy8gI3JlZ2lvbiBDb21ibyBicm93c2VyXG4gICAgICAgICAgICAgICAgdGhhdC4kY29tYm8gPSAkKFwiPGRpdi8+XCIpO1xuICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLmFkZENsYXNzKFwic3RlcmZpdmUtY29tYm8tYm94XCIpO1xuICAgICAgICAgICAgICAgIC8vIHRoYXQuJGNvbWJvLmFkZENsYXNzKFwicmVkLXVpLXR5cGVkSW5wdXQtaW5wdXQtd3JhcFwiKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5yZXBsYWNlV2l0aCh0aGF0LiRjb21ibyk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXRHcm91cCA9ICQoXCI8ZGl2Lz5cIikuYWRkQ2xhc3MoXCJzdGVyZml2ZS1pbnB1dC1ncm91cFwiKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5hcHBlbmQodGhhdC4kaW5wdXRHcm91cCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXRHcm91cC5hcHBlbmQodGhhdC4kaW5wdXQpO1xuICAgICAgICAgICAgICAgIC8vICNlbmRyZWdpb25cbiAgICAgICAgICAgICAgICAvLyAjcmVnaW9uIGFkZCBidXR0b24gb24gdGhlIHJpZ2h0IHNpZGVcbiAgICAgICAgICAgICAgICAvLyAjcmVnaW9uIHRvZ2dsZVRyZWVCdG5cbiAgICAgICAgICAgICAgICB0aGF0LiR0b2dnbGVUcmVlQnRuID0gJChgPGJ1dHRvbiB0aXRsZT1cIm9wZW4gT1BDVUEgQWRkcmVzc1NwYWNlIEJyb3dzZXJcIj48aSBjbGFzcz1cImZhIGZhLXNpdGVtYXBcIj48L2k+PC9idXR0b24+YCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuYWZ0ZXIodGhhdC4kdG9nZ2xlVHJlZUJ0bik7XG4gICAgICAgICAgICAgICAgdGhhdC4kdG9nZ2xlVHJlZUJ0bi5vbihcImNsaWNrXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBuZWVkVG9SZWFjaFNlbGVjdGlvbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHBhcmVudE5vZGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoYXQuJGRyb3Bkb3duLmlzKFwiOnZpc2libGVcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbmZvLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0cmVlIHdpZGdldCBpcyBnb2luZyB0byBiZWNvbWUgdmlzaWJsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudE5vZGUgPSB5aWVsZCB0aGF0LnJlc29sdmVQYXJlbnROb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBhcmVudE5vZGUgIT09IHRoYXQuY3VycmVudFBhcmVudCB8fCAoKF9hID0gdGhhdC5jdXJyZW50UGFyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Eubm9kZUlkKSAhPT0gcGFyZW50Tm9kZS5ub2RlSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWllbGQgdGhhdC5yZXNldCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZWVkVG9SZWFjaFNlbGVjdGlvbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi50b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRUb1JlYWNoU2VsZWN0aW9uICYmICh5aWVsZCByZWFjaFNlbGVjdGlvbih0aGF0LCBwYXJlbnROb2RlKSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIC8vICNlbmRyZWdpb25cbiAgICAgICAgICAgICAgICAvLyAjcmVnaW9uIHZlcmlmeUJ0blxuICAgICAgICAgICAgICAgIHRoYXQuJHZlcmlmeUJ0biA9ICQoYDxidXR0b24gdGl0bGU9XCJ2ZXJpZnkgbm9kZUlkIG9yIGJyb3dzZVBhdGhcIj48aSBjbGFzcz1cImZhIGZhLXJlZnJlc2hcIj48L2k+PC9idXR0b24+YCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuYWZ0ZXIodGhhdC4kdmVyaWZ5QnRuKTtcbiAgICAgICAgICAgICAgICB0aGF0LiR2ZXJpZnlCdG4ub24oXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1vZGUgPSB0aGF0Lm1vZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFtb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy52ZXJpZnkobW9kZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgLy8gI2VuZHJlZ2lvblxuICAgICAgICAgICAgICAgIC8vICNlbmRyZWdpb25cbiAgICAgICAgICAgICAgICBjb25zdCBub3JtYWxpemVJbnB1dCA9IChpbnB1dCkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1vZGUgPSB0aGF0Lm1vZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFtb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gRmV0Y2ggbmV3IGRhdGEgZm9yIHRoaXMgbm9kZVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb25uZWN0aW9uRGF0YSA9IG1ha2VDb25uZWN0aW9uKHRoYXQpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGRhdGEsIGpzb24gfSA9IHlpZWxkIF9jYWxsQ2hlY2tOb2RlSWQoY29ubmVjdGlvbkRhdGEsIGlucHV0KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuc3RhdHVzICE9PSAyMDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoanNvbi5zdGF0dXNDb2RlLm1hdGNoKC9Hb29kLykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZUlkID0gY2hvb3NlTm9kZUlkKGpzb24sIG1vZGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQudmFsKHNlbGVjdGVkTm9kZUlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LnRyaWdnZXIoXCJjaGFuZ2VcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICAgICAvLyBjcmVhdGUgdGhlIHByZXBlbmRlZCBidXR0b25cbiAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHVpU2VsZWN0ID0gJChcIjxkaXY+XCIpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5iZWZvcmUodGhhdC4kdWlTZWxlY3QpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyID0gJCgnPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgdGFiaW5kZXg9XCIwXCI+PC9idXR0b24+JykucHJlcGVuZFRvKHRoYXQuJHVpU2VsZWN0KTtcbiAgICAgICAgICAgICAgICAgICAgJCgnPGkgY2xhc3M9XCJyZWQtdWktdHlwZWRJbnB1dC1pY29uIGZhIGZhLWNhcmV0LWRvd25cIj48L2k+JykudG9nZ2xlKHRydWUpLmFwcGVuZFRvKHRoYXQuJHNlbGVjdFRyaWdnZXIpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9zaG93VHlwZU1lbnUoKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5vbihcImtleWRvd25cIiwgZnVuY3Rpb24gKGV2dCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGV2dC5rZXlDb2RlID09PSA0MCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIERvd25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9zaG93VHlwZU1lbnUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5vbihcImZvY3VzXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJHVpU2VsZWN0LmFkZENsYXNzKFwicmVkLXVpLXR5cGVkSW5wdXQtZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAub24oXCJibHVyXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHZhciBvcHQgPSB0aGF0LnR5cGVNYXBbdGhhdC5wcm9wZXJ0eVR5cGVdO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWYgKG9wdC5oYXNWYWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJHVpU2VsZWN0LnJlbW92ZUNsYXNzKFwicmVkLXVpLXR5cGVkSW5wdXQtZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RMYWJlbCA9ICQoJzxzcGFuIGNsYXNzPVwicmVkLXVpLXR5cGVkSW5wdXQtdHlwZS1sYWJlbFwiPjwvc3Bhbj4nKS5hcHBlbmRUbyh0aGF0LiRzZWxlY3RUcmlnZ2VyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5faW5pdE1lbnUoKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoYXQuJGlucHV0LmF0dHIoXCJwbGFjZWhvbGRlclwiKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5hdHRyKFwicGxhY2Vob2xkZXJcIiwgXCJlbnRlciBhIG5vZGVJZCBvciBhIGJyb3dzZVBhdGggXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyAjcmVnaW9uIHRlbXBvcmF0eSBpbmZvIHBhbmVsXG4gICAgICAgICAgICAgICAgdGhhdC4kaW5mbyA9ICQoYDxkaXYgY2xhc3M9XCJzdGVyZml2ZS1pbmZvLXRleHRcIj48L2Rpdj5gKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbmZvLmhpZGUoKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5hcHBlbmQodGhhdC4kaW5mbyk7XG4gICAgICAgICAgICAgICAgLy8gI2VuZHJlZ2lvblxuICAgICAgICAgICAgICAgIC8vICNyZWdpb24gZHJvcCBkb3duIHRyZWVcbiAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93biA9ICQoXCI8ZGl2Lz5cIikuYWRkQ2xhc3MoXCJzdGVyZml2ZS1kcm9wZG93blwiKS5oaWRlKCkuYXBwZW5kVG8odGhhdC4kY29tYm8pO1xuICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUgPSAkKGA8dWwgY2xhc3M9XCJzdGVyZml2ZS10cmVlXCI+PC91bD5gKS5hcHBlbmRUbyh0aGF0LiRkcm9wZG93bik7XG4gICAgICAgICAgICAgICAgLy8gdGhhdC4kZHJvcGRvd24uc2hvdygpO1xuICAgICAgICAgICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgICAgICAgICAgICAvLyAjZW5kcmVnaW9uXG4gICAgICAgICAgICAgICAgY29uc3QgaXNPbkxlZnRTaXplID0gKCRsaSwgZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYmVmb3JlV2lkdGggPSAyMDsgLy8gU2V0IHdpZHRoIG9mIHRoZSA6OmJlZm9yZSBjb250ZW50XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJlZm9yZUhlaWdodCA9IDIwOyAvLyBTZXQgaGVpZ2h0IG9mIHRoZSA6OmJlZm9yZSBjb250ZW50XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRQb3MgPSAkbGkub2Zmc2V0KCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGUgPSBldmVudDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGUucGFnZVggPj0gZWxlbWVudFBvcy5sZWZ0ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBlLnBhZ2VYIDw9IGVsZW1lbnRQb3MubGVmdCArIGJlZm9yZVdpZHRoICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBlLnBhZ2VZID49IGVsZW1lbnRQb3MudG9wICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBlLnBhZ2VZIDw9IGVsZW1lbnRQb3MudG9wICsgYmVmb3JlSGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCB0b2dnbGVFeHBhbnNpb24gPSAoJGxpKSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICgkbGkuaGFzQ2xhc3MoXCJleHBhbmRhYmxlXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBfZXhwYW5kTGkodGhhdCwgJGxpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICgkbGkuaGFzQ2xhc3MoXCJleHBhbmRlZFwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVG9nZ2xlIGl0cyBleHBhbmRlZC9jb2xsYXBzZWQgc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICRsaS5jaGlsZHJlbihcInVsXCIpLnRvZ2dsZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3dhcCBleHBhbmRhYmxlIGFuZCBleHBhbmRlZCBjbGFzc2VzXG4gICAgICAgICAgICAgICAgICAgICAgICAkbGkudG9nZ2xlQ2xhc3MoXCJleHBhbmRhYmxlIGV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCRsaS5jaGlsZHJlbihcInVsXCIpLmNoaWxkcmVuKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJGxpLmNoaWxkcmVuKFwidWxcIikudG9nZ2xlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTd2FwIGV4cGFuZGFibGUgYW5kIGV4cGFuZGVkIGNsYXNzZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICRsaS50b2dnbGVDbGFzcyhcImV4cGFuZGFibGUgZXhwYW5kZWRcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSA7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kdHJlZS5vbihcImRibGNsaWNrXCIsIFwibGlcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgJGxpID0gJCh0aGlzKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzT25MZWZ0U2l6ZSgkbGksIGV2ZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlRXhwYW5zaW9uKCRsaSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9ICRsaS5kYXRhKFwidmFsdWVcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZWZlcmVuY2UgPSAkbGkuZGF0YShcInJlZmVyZW5jZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGF0Lm9wdGlvbnMuaXNTZWxlY3RhYmxlICYmICF0aGF0Lm9wdGlvbnMuaXNTZWxlY3RhYmxlKHJlZmVyZW5jZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5kYXRhKFwicmVmZXJlbmNlXCIsIHJlZmVyZW5jZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAoKF9hID0gcmVmZXJlbmNlLmRpc3BsYXlOYW1lKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EudGV4dCkgfHwgKChfYiA9IHJlZmVyZW5jZS5icm93c2VOYW1lKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IubmFtZSkgfHwgcmVmZXJlbmNlLm5vZGVJZC50b1N0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc3QgaW5wdXQgPSBgWyR7ZGlzcGxheU5hbWV9XSgke3ZhbHVlfSlgO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG1vZGUgPSB0aGF0Lm1vZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbW9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUgPSBcIm5vZGVJZFwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuc2V0TW9kZShtb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZUlucHV0KHZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGF0LiRpbnB1dC52YWwoaW5wdXQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoYXQuJGlucHV0LnRyaWdnZXIoXCJjaGFuZ2VcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24uaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoYXQuJGlucHV0LnZhbChpbnB1dCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhhdC4kaW5wdXQudHJpZ2dlcihcImNoYW5nZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUub24oXCJjbGlja1wiLCBcImxpXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0ICRsaSA9ICQodGhpcyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc09uTGVmdFNpemUoJGxpLCBldmVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZUV4cGFuc2lvbigkbGkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdFNpbmdsZSh0aGF0LCAkbGkpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNsaWNraW5nIG91dHNpZGUgdGhlIHBhZ2Ugd2lsbCBoaWRlIHRoZSBkcm9wZG93blxuICAgICAgICAgICAgICAgICAgICBpZiAoISQoZXZlbnQudGFyZ2V0KS5jbG9zZXN0KHRoYXQuJGNvbWJvKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHJldHVybnMgdGhlIGVuZHBvaW50IGF0dHJpYnV0ZXMgY29udGFpbmluZzpcbiAgICAgKiAgLSB0aGUgZW5kcG9pbnQsIHNlY3VyaXR5TW9kZSwgc2VjdXJpdHlQb2xpY3ksXG4gICAgICogIC0gdXNlcklkZW50aXR5VHlwZSxcbiAgICAgKiAgLSBjcmVkZW50aWFsc1xuICAgICAqICAtIG5hbWVzcGFjZUFsaWFzZXNcbiAgICAgKlxuICAgICAqIGV4dHJhY3RlZCBmcm9tIHRoZSB1aSB3aWRnZXQgI25vZGUtaW5wdXQtZW5kcG9pbnRcbiAgICAgKi9cbiAgICBjb25zdCBnZXRFbmRQb2ludEF0dHJpYnV0ZXMgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0ICRlbmRwb2ludCA9ICQoXCIjbm9kZS1pbnB1dC1lbmRwb2ludFwiKTtcbiAgICAgICAgY29uc3QgZW5kcG9pbnRJZCA9ICRlbmRwb2ludC52YWwoKTtcbiAgICAgICAgY29uc3QgcmVkTm9kZSA9IFJFRC5ub2Rlcy5ub2RlKGVuZHBvaW50SWQpO1xuICAgICAgICBpZiAoIXJlZE5vZGUpXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAvLyBjb25zdCBjcmVkZW50aWFscyA9IFJFRC4oZW5kcG9pbnRJZCk7XG4gICAgICAgIC8vIHdlIG5lZWQgdG8gc2FuaXRpemUgYW5kIGV4dHJhY3QgdGhlIGVuZHBvaW50IGF0dHJpYnV0ZXMgb25seSAoIG5vdCB0aGUgbm9kZS1yZWQgc3R1ZmYpXG4gICAgICAgIGNvbnN0IHsgZW5kcG9pbnQsIHNlY3VyaXR5TW9kZSwgc2VjdXJpdHlQb2xpY3ksIHVzZXJJZGVudGl0eVR5cGUsIGNyZWRlbnRpYWxzLCBuYW1lc3BhY2VBbGlhc2VzIH0gPSByZWROb2RlO1xuICAgICAgICBjb25zdCByZXRWYWx1ZSA9IHtcbiAgICAgICAgICAgIGVuZHBvaW50LFxuICAgICAgICAgICAgc2VjdXJpdHlNb2RlLFxuICAgICAgICAgICAgc2VjdXJpdHlQb2xpY3ksXG4gICAgICAgICAgICB1c2VySWRlbnRpdHlUeXBlLFxuICAgICAgICAgICAgY3JlZGVudGlhbHMsXG4gICAgICAgICAgICBuYW1lc3BhY2VBbGlhc2VzLFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gcmV0VmFsdWU7XG4gICAgfTtcbiAgICBjb25zdCBnZXRFbmRwb2ludFBhcmFtZXRlcnMgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0ICRlbmRwb2ludCA9ICQoXCIjbm9kZS1pbnB1dC1lbmRwb2ludFwiKTtcbiAgICAgICAgY29uc3QgZW5kcG9pbnRJZCA9ICRlbmRwb2ludC52YWwoKTtcbiAgICAgICAgY29uc3QgZW5kcG9pbnROciA9IGdldEVuZFBvaW50QXR0cmlidXRlcygpO1xuICAgICAgICBpZiAoIWVuZHBvaW50TnIpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmFtZXNwYWNlQWxpYXNlcyA9IGVuZHBvaW50TnIubmFtZXNwYWNlQWxpYXNlcztcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oeyBuYW1lc3BhY2VBbGlhc2VzLCBpZDogZW5kcG9pbnRJZCB9LCBlbmRwb2ludE5yKTtcbiAgICB9O1xuICAgIGNvbnN0IGdldEVuZHBvaW50UGFyYW1ldGVyc0hhbmRsZXIgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBlbmRwb2ludE5vZGU6IGdldEVuZHBvaW50UGFyYW1ldGVycyxcbiAgICAgICAgfTtcbiAgICB9O1xuXG4gICAgY29uc3QgaW5zdGFsbEZlZWRiYWNrV2lkZ2V0ID0gKCkgPT4ge1xuICAgICAgICAvLyByZXR1cm47XG4gICAgICAgIC8vIGRlYnVnZ2VyO1xuICAgICAgICBjb25zdCB0cmF5Q29udGVudCA9ICQoXCIucmVkLXVpLXRyYXktYm9keVwiKTtcbiAgICAgICAgY29uc29sZS5sb2coXCJpbnN0YWxsRmVlZGJhY2tXaWRnZXQgXCIsIHRyYXlDb250ZW50Lmxlbmd0aCk7XG4gICAgICAgIGlmICh0cmF5Q29udGVudC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiaW5zdGFsbGluZyBpZnJhbWVcIik7XG4gICAgICAgICAgICAvLyBDcmVhdGUgdGhlIGlmcmFtZSBlbGVtZW50XG4gICAgICAgICAgICBjb25zdCBpZnJhbWUgPSAkKFwiPGlmcmFtZT48L2lmcmFtZT5cIiwge1xuICAgICAgICAgICAgICAgIHNyYzogXCIvb3BjdWEtZm9yLW5vZGUtcmVkL3N1cHBvcnQtZnJhbWUuaHRtbFwiLFxuICAgICAgICAgICAgICAgIHNjcm9sbGluZzogXCJub1wiLFxuICAgICAgICAgICAgICAgIHN0eWxlOiBcImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlcjozcHhcIixcbiAgICAgICAgICAgICAgICBhbGxvd3RyYW5zcGFyZW5jeTogXCJ0cnVlXCIsXG4gICAgICAgICAgICAgICAgd2lkdGg6IFwiMTgwcHhcIixcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IFwiMzBweFwiLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyBBcHBlbmQgdGhlIGlmcmFtZSB0byB0aGUgZmVlZGJhY2sgZWxlbWVudFxuICAgICAgICAgICAgdHJheUNvbnRlbnQuYXBwZW5kKGlmcmFtZSk7XG4gICAgICAgICAgICAvLyBQb3NpdGlvbiB0aGUgZmVlZGJhY2sgZWxlbWVudCBhdCB0aGUgYm90dG9tIHJpZ2h0IG9mIHRoZSB0cmF5IGNvbnRlbnRcbiAgICAgICAgICAgIGlmcmFtZS5jc3Moe1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICAgICAgICAgICAgcmlnaHQ6IFwiMjBweFwiLFxuICAgICAgICAgICAgICAgIGJvdHRvbTogXCIxNnB4XCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBSRUQubm9kZXMucmVnaXN0ZXJUeXBlKFwiT3BjVWEtQ2xpZW50Mi1Xcml0ZVwiLCB7XG4gICAgICAgIGNhdGVnb3J5OiBcIm9wY3VhXCIsXG4gICAgICAgIGNvbG9yOiBcIiNDMERFRURcIixcbiAgICAgICAgYWxpZ246IFwicmlnaHRcIixcbiAgICAgICAgaWNvbjogXCIuLi8uLi9pY29ucy9vcGN1YW5vZGVMb2dvLnBuZ1wiLFxuICAgICAgICBwYWxldHRlTGFiZWw6IFwid3JpdGVcIixcbiAgICAgICAgZGVmYXVsdHM6IHtcbiAgICAgICAgICAgIGlucHV0czogeyB2YWx1ZTogMSB9LFxuICAgICAgICAgICAgb3V0cHV0OiB7IHZhbHVlOiA0IH0sXG4gICAgICAgICAgICAvLyBDb21tb25cbiAgICAgICAgICAgIG5hbWU6IHsgdmFsdWU6IFwiXCIgfSxcbiAgICAgICAgICAgIGVuZHBvaW50OiB7IHZhbHVlOiBcIlwiLCByZXF1aXJlZDogdHJ1ZSwgdHlwZTogXCJPcGNVYS1FbmRwb2ludDJcIiB9LFxuICAgICAgICAgICAgYXR0cmlidXRlSWQ6IHsgdmFsdWU6IFwiVmFsdWVcIiwgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICAgICAgICAgIG5vZGVJZDogeyB2YWx1ZTogXCJcIiwgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGlucHV0czogMSxcbiAgICAgICAgb3V0cHV0czogMSxcbiAgICAgICAgbGFiZWwoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5uYW1lIHx8IFwiT1BDVUEgQ2xpZW50IFdyaXRlXCI7XG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsU3R5bGUoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5uYW1lID8gXCJub2RlX2xhYmVsX2l0YWxpY1wiIDogXCJcIjtcbiAgICAgICAgfSxcbiAgICAgICAgb25lZGl0cHJlcGFyZSgpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzO1xuICAgICAgICAgICAgZGVjbGFyZU5vZGVCcm93c2VyV2lkZ2V0KCk7XG4gICAgICAgICAgICBpbnN0YWxsRmVlZGJhY2tXaWRnZXQoKTtcbiAgICAgICAgICAgIG5vZGUuaW5wdXRzID0gMTtcbiAgICAgICAgICAgIGNvbnN0ICRub2RlSWQgPSAkKFwiI25vZGUtaW5wdXQtbm9kZUlkXCIpO1xuICAgICAgICAgICAgJG5vZGVJZC5ub2RlQnJvd3NlcihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGdldEVuZHBvaW50UGFyYW1ldGVyc0hhbmRsZXIoKSksIHsgaXNTZWxlY3RhYmxlKG5vZGVEZXNjKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBub2RlRGVzYy5ub2RlQ2xhc3MgPT09IFwiVmFyaWFibGVcIjtcbiAgICAgICAgICAgICAgICB9IH0pKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25lZGl0c2F2ZSgpIHsgfSxcbiAgICB9KTtcblxufSkoKTsiXX0=
7
+ function _0xcd36(){const _0x109b10=['localeCompare','<div>','click','<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/>&nbsp;','function','4764735HheTkB','BrowseName','text','appendTo','toggle','err','<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>','keyCode','children','scrollTop','POST','$input','<div\x20class=\x22spinner\x22></div>','NodeId\x20with\x20namespace\x20Urn','opcua','ReferenceType','_showTypeMenu','HasChild','DodgerBlue','aliasedBrowsePath','$dropdown','20px','log','_delay','SeaGreen','<li>error\x20','fetched','left','referenceTypeId','endpointNode','node\x20class:\x20','absolute','namespaceAliases','expanded','length','placeholder','hasClass','180px','preventDefault','parentNode','fa-question','fetching\x20failed\x20with\x20error','Aliased\x20Browse\x20Path','nsuNodeID','forEach','selectedMenuItem','currentParent','reset','<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/>&nbsp;','opts','Invalid','View','mousedown','$combo','li\x20>\x20.tree-text','Objects','fa-object-group','pageX','multiple','browsePath','TypeDefinition','nodeId','#node-input-endpoint','sterfive-typedInput-options\x20sterfive-online-menu','nodeId_nsu','typeDefinition','<i\x20class=\x22fa\x20fa-tag\x22/>1\x20&nbsp;\x20','ns=0;i=61','301RGdSwQ','SteelBlue','node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','<i>','statusText','attr','bp_aliased','right','keydown','$selectTrigger','toggleClass','rgba(61,\x2060,\x204,\x200.525)','Forward','height','mask-image:\x20url(','bp_indexed','prependTo','widget','HasComponent','remove','node','li[key=\x22','SuppressedError','expandable\x20expanded','/opcua-for-node-red/support-frame.html','../../icons/opcuanodeLogo.png','string','call','icon','displayName','before','fa-cog','endpoint','<iframe></iframe>','Organizes','label','3233814EWaVxc','msg.','title','$uiSelect','red-ui-typedInput-focus','\x22\x20style=\x22color:','match','ns=0;i=35','failure','NodeClass','callback','$verifyBtn','isTypeRef','nodeId_aliased','prop','sterfive-input-error','3474444pbARLX','_initMenu','$info','IsForward','CadetBlue','find','Unspecified','nodeId:\x20','nodeClass','nsu\x20nodeId:\x20','empty','join','ObjectType','ns=0;i=40','application/json','selected','<span\x20class=\x22red-ui-typedInput-type-label\x22></span>','aliased\x20browsePath:\x20','<i\x20class=\x22fa\x20fa-bookmark\x22/>&nbsp;\x20','VariableType','elements','val','156690LJJNYv','30px','target','Value','name','replaceWith','browseName','1100513aJzctd','Both','<div/>','</span>','!!failure!!','pointer-events','focus','wrap','body','sterfive.nodeBrowser','ns=0;i=46','already\x20fetched','BrowsePath','dblclick','16px','ns=0;i=34','position','NodeId','/walk-backward','fa-folder','each','$elementDiv','1568040YQxdRS','prev','<input\x20type=\x22checkbox\x22>','Method','aliased\x20NodeId:\x20','#C0DEED','resolveParentNode','enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20','<ul\x20class=\x22sterfive-tree\x22></ul>','expandable','top','toString','css','background-color:transparent;overflow:hidden;border:3px','reference','/opcua-for-node-red','$tree','<span\x20title=','none','><i\x20class=\x22fa\x20','nodeIds','OpcUa-Client2-Write','Inverse','after','fa-text-width','stringify','sterfive-combo-box','trigger','inputs','<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>','DisplayName','red-ui-typedInput-icon','apply','blur','filter','show','removeClass','true','tabindex','<i\x20class=\x22fa\x20fa-id-card\x22/>&nbsp;\x20','nodeBrowser','references',':focus','json','$selectLabel','closest','$inputGroup','hide','msg','value',':visible','statusCode','nodes','_createMenu','border','<a\x20href=\x22#\x22></a>','DataType','18px','nsu','$menu','Object','grey','status','browseResult','write','.spinner','.tree-text:first','push','ns=0;i=45','append','</span><ul></ul></li>','sort','HasTypeDefinition','>&nbsp;\x20','element','options','__parentNode','aliasedNodeId','baseUrl','assign','offset','$toggleTreeBtn','DarkOrange','<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>','setMode','stopPropagation','isSelectable','Good','mode','21425376JXFGAn','disarmClick','_hideMenu','Variable','SandyBrown','throw','checked','/checkNodeId','HasSubtype','loading','mousedown.red-ui-typedInput-close-property-select','slideDown','indexOf','ns=0;i=47','red-ui-typedInput-icon\x20','then','change','data','.red-ui-tray-body','next','<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>','error','sterfive-input-group','verify','fa-list-alt','input[type=\x22checkbox\x22]','addClass','fa-sliders'];_0xcd36=function(){return _0x109b10;};return _0xcd36();}function _0x3598(_0x512809,_0x433af6){const _0xcd3674=_0xcd36();return _0x3598=function(_0x35988,_0x596103){_0x35988=_0x35988-0xa2;let _0x2cfb0a=_0xcd3674[_0x35988];return _0x2cfb0a;},_0x3598(_0x512809,_0x433af6);}(function(_0xdb6824,_0x3c2080){const _0xaf8ea0=_0x3598,_0xe56b5d=_0xdb6824();while(!![]){try{const _0x23c0ad=-parseInt(_0xaf8ea0(0xf9))/0x1+-parseInt(_0xaf8ea0(0x10f))/0x2+-parseInt(_0xaf8ea0(0xcc))/0x3+parseInt(_0xaf8ea0(0xdc))/0x4+-parseInt(_0xaf8ea0(0x189))/0x5+parseInt(_0xaf8ea0(0xf2))/0x6*(parseInt(_0xaf8ea0(0xa8))/0x7)+parseInt(_0xaf8ea0(0x168))/0x8;if(_0x23c0ad===_0x3c2080)break;else _0xe56b5d['push'](_0xe56b5d['shift']());}catch(_0x16adea){_0xe56b5d['push'](_0xe56b5d['shift']());}}}(_0xcd36,0xb8286),(function(){'use strict';const _0xdff7ef=_0x3598;function _0x42adaa(_0x5f0438,_0x2bae86,_0x36e632,_0x5e857c){function _0x74eac8(_0x507433){return _0x507433 instanceof _0x36e632?_0x507433:new _0x36e632(function(_0x36efbe){_0x36efbe(_0x507433);});}return new(_0x36e632||(_0x36e632=Promise))(function(_0x4cbd06,_0x9a6ade){const _0xba2cf6=_0x3598;function _0x2f1250(_0x1193c1){const _0x3da65b=_0x3598;try{_0x1635ce(_0x5e857c[_0x3da65b(0x17b)](_0x1193c1));}catch(_0x2baa95){_0x9a6ade(_0x2baa95);}}function _0x4ef90a(_0x4a0bcd){const _0x187221=_0x3598;try{_0x1635ce(_0x5e857c[_0x187221(0x16d)](_0x4a0bcd));}catch(_0x4e7471){_0x9a6ade(_0x4e7471);}}function _0x1635ce(_0x42f7c9){const _0x533c59=_0x3598;_0x42f7c9['done']?_0x4cbd06(_0x42f7c9['value']):_0x74eac8(_0x42f7c9['value'])[_0x533c59(0x177)](_0x2f1250,_0x4ef90a);}_0x1635ce((_0x5e857c=_0x5e857c[_0xba2cf6(0x12f)](_0x5f0438,_0x2bae86||[]))['next']());});}typeof SuppressedError===_0xdff7ef(0x188)?SuppressedError:function(_0x2f3096,_0x1d858f,_0xbc9e08){const _0x1a9883=_0xdff7ef;var _0x4eb386=new Error(_0xbc9e08);return _0x4eb386[_0x1a9883(0xf6)]=_0x1a9883(0xbe),_0x4eb386['error']=_0x2f3096,_0x4eb386['suppressed']=_0x1d858f,_0x4eb386;};const _0x416ff1=_0xdff7ef(0xd3),_0x3002ca=_0xdff7ef(0xa7),_0x3d8d34=_0xdff7ef(0x175),_0x573f20=_0xdff7ef(0x103),_0x5f2af0=_0xdff7ef(0x108),_0x404fc7=_0xdff7ef(0x153),_0x307b62=_0xdff7ef(0xe9);var _0x3bd851;(function(_0x5d710c){const _0x2de363=_0xdff7ef;_0x5d710c[_0x5d710c[_0x2de363(0xb4)]=0x0]=_0x2de363(0xb4),_0x5d710c[_0x5d710c[_0x2de363(0x125)]=0x1]=_0x2de363(0x125),_0x5d710c[_0x5d710c[_0x2de363(0xfa)]=0x2]=_0x2de363(0xfa),_0x5d710c[_0x5d710c['Invalid']=0x3]=_0x2de363(0x1bb);}(_0x3bd851||(_0x3bd851={})));var _0x540974;(function(_0x43317b){const _0x4a2c5d=_0xdff7ef;_0x43317b[_0x43317b[_0x4a2c5d(0xe2)]=0x0]=_0x4a2c5d(0xe2),_0x43317b[_0x43317b[_0x4a2c5d(0x14b)]=0x1]=_0x4a2c5d(0x14b),_0x43317b[_0x43317b[_0x4a2c5d(0x16b)]=0x2]=_0x4a2c5d(0x16b),_0x43317b[_0x43317b['Method']=0x4]=_0x4a2c5d(0x112),_0x43317b[_0x43317b[_0x4a2c5d(0xe8)]=0x8]=_0x4a2c5d(0xe8),_0x43317b[_0x43317b[_0x4a2c5d(0xef)]=0x10]='VariableType',_0x43317b[_0x43317b[_0x4a2c5d(0x198)]=0x20]='ReferenceType',_0x43317b[_0x43317b['DataType']=0x40]='DataType',_0x43317b[_0x43317b[_0x4a2c5d(0x1bc)]=0x80]='View';}(_0x540974||(_0x540974={})));var _0x47a61a;(function(_0x46d58d){const _0x179288=_0xdff7ef;_0x46d58d[_0x46d58d[_0x179288(0x14b)]=0x1]=_0x179288(0x14b),_0x46d58d[_0x46d58d[_0x179288(0x16b)]=0x2]=_0x179288(0x16b),_0x46d58d[_0x46d58d[_0x179288(0x112)]=0x4]='Method',_0x46d58d[_0x46d58d['ObjectType']=0x8]='ObjectType',_0x46d58d[_0x46d58d[_0x179288(0xef)]=0x10]=_0x179288(0xef),_0x46d58d[_0x46d58d[_0x179288(0x198)]=0x20]=_0x179288(0x198),_0x46d58d[_0x46d58d[_0x179288(0x147)]=0x40]='DataType',_0x46d58d[_0x46d58d[_0x179288(0x1bc)]=0x80]=_0x179288(0x1bc);}(_0x47a61a||(_0x47a61a={})));var _0x2f3b29;(function(_0x28482f){const _0x323bc2=_0xdff7ef;_0x28482f[_0x28482f['ReferenceType']=0x1]=_0x323bc2(0x198),_0x28482f[_0x28482f['IsForward']=0x2]=_0x323bc2(0xdf),_0x28482f[_0x28482f[_0x323bc2(0xd5)]=0x4]=_0x323bc2(0xd5),_0x28482f[_0x28482f[_0x323bc2(0x18a)]=0x8]='BrowseName',_0x28482f[_0x28482f[_0x323bc2(0x12d)]=0x10]='DisplayName',_0x28482f[_0x28482f[_0x323bc2(0x1c5)]=0x20]='TypeDefinition';}(_0x2f3b29||(_0x2f3b29={})));function _0x59c7d6(_0x2ac612){const _0x644c29=_0xdff7ef;switch(_0x2ac612){case _0x644c29(0xca):return _0x416ff1;case'HasProperty':return _0x573f20;case _0x644c29(0xba):return _0x3d8d34;case _0x644c29(0x19a):return _0x5f2af0;case'HasSubtype':return _0x404fc7;case _0x644c29(0x157):return _0x307b62;}}const _0x255775=_0xf2e0ee=>{const _0x568f74=_0xdff7ef;switch(_0xf2e0ee['nodeClass']){case _0x568f74(0x14b):if(_0xf2e0ee[_0x568f74(0x1a5)]===_0x416ff1);if(_0xf2e0ee[_0x568f74(0xa5)]===_0x3002ca||_0xf2e0ee[_0x568f74(0x1a5)]==='i=61')return{'icon':_0x568f74(0x10c),'color':_0x568f74(0xb3)};return{'icon':_0x568f74(0x1c1),'color':_0x568f74(0x1a1)};case _0x568f74(0x16b):if(_0xf2e0ee[_0x568f74(0x1a5)]===_0x3d8d34)return{'icon':_0x568f74(0x180),'color':_0x568f74(0xa9)};else return _0xf2e0ee['referenceTypeId']===_0x573f20?{'icon':_0x568f74(0x180),'color':_0x568f74(0x19b)}:{'icon':_0x568f74(0x180),'color':_0x568f74(0xe0)};case _0x568f74(0x112):return{'icon':_0x568f74(0xc7),'color':_0x568f74(0x16c)};case'ObjectType':return{'icon':_0x568f74(0x1c1),'color':_0x568f74(0x161)};case _0x568f74(0xef):return{'icon':_0x568f74(0x183),'color':_0x568f74(0x161)};case'DataType':return{'icon':_0x568f74(0x127),'color':_0x568f74(0xe0)};}return{'icon':_0x568f74(0x1b1),'color':_0x568f74(0x14c)};},_0x27b60e=(_0x341fde,_0x2510bd,_0x161160)=>_0x42adaa(void 0x0,[_0x341fde,_0x2510bd,_0x161160],void 0x0,function*({endpointNode:_0x2ac422,endpoint:_0x2c18ac,baseUrl:_0x204d27},_0x137362,_0x2f3848){const _0x5917b6=_0xdff7ef,_0x587b2d=_0x204d27+_0x5917b6(0x11e),_0x5a51c9=_0x587b2d+'/browse',_0x4851c2=Object[_0x5917b6(0x15e)](Object[_0x5917b6(0x15e)]({},_0x2f3848),{'nodeId':_0x137362,'resultMask':0x3f}),_0x3eb655=yield fetch(_0x5a51c9,{'method':_0x5917b6(0x193),'body':JSON['stringify']({'endpointNode':_0x2ac422,'endpoint':_0x2c18ac,'browseDescription':_0x4851c2}),'headers':{'Content-Type':_0x5917b6(0xea)}});if(_0x3eb655[_0x5917b6(0x14d)]!==0xc8)return console[_0x5917b6(0x19f)](_0x5917b6(0x1b2),_0x3eb655[_0x5917b6(0x14d)],_0x3eb655['statusText']),{'references':[]};const _0x1b7423=yield _0x3eb655[_0x5917b6(0x13a)](),_0x21b91b=_0x1b7423[_0x5917b6(0x14e)][_0x5917b6(0x138)]||[];return{'references':_0x21b91b};}),_0x884b8={'referenceTypeId':_0x59c7d6(_0xdff7ef(0x19a)),'includeSubtypes':!![],'browseDirection':_0x3bd851[_0xdff7ef(0xb4)],'nodeClassMask':_0x540974[_0xdff7ef(0x16b)]|_0x540974[_0xdff7ef(0x14b)]|_0x540974[_0xdff7ef(0x112)],'resultMask':0x3f},_0x4fd019={'referenceTypeId':_0x59c7d6('Organizes'),'includeSubtypes':!![],'browseDirection':_0x3bd851[_0xdff7ef(0xb4)],'nodeClassMask':_0x540974[_0xdff7ef(0x16b)]|_0x540974[_0xdff7ef(0x14b)]|_0x540974[_0xdff7ef(0x112)],'resultMask':0x3f},_0x354871=(_0x32262c,_0x373ea6)=>_0x42adaa(void 0x0,[_0x32262c,_0x373ea6],void 0x0,function*({endpointNode:_0x199159,endpoint:_0x170a0f,baseUrl:_0xca1f81},{nodeId:_0x491a5e,rootNodeId:_0x3f0167,isType:_0x52a8fd}){const _0x43f253=_0xdff7ef,_0x3ec449=_0xca1f81+'/opcua-for-node-red',_0x56ec5e=_0x3ec449+_0x43f253(0x10b),_0x29d55c=yield fetch(_0x56ec5e,{'method':_0x43f253(0x193),'body':JSON[_0x43f253(0x128)]({'endpointNode':_0x199159,'endpoint':_0x170a0f,'nodeId':_0x491a5e,'rootNodeId':_0x3f0167,'isType':_0x52a8fd}),'headers':{'Content-Type':_0x43f253(0xea)}});if(_0x29d55c['status']!==0xc8)return null;const _0x4dd08f=yield _0x29d55c[_0x43f253(0x13a)]();return _0x4dd08f[_0x43f253(0x1c4)];}),_0x503d62=(_0x14abc1,_0x5ddf7c)=>{const _0x135aae=_0xdff7ef;if(_0x14abc1[_0x135aae(0x142)]!==_0x135aae(0x166))return _0x14abc1['requestedNodeId'];switch(_0x5ddf7c){case _0x135aae(0x1c4):return _0x14abc1[_0x135aae(0xb7)];case'aliasedBrowsePath':return _0x14abc1[_0x135aae(0xae)]||_0x14abc1[_0x135aae(0xb7)];case'aliasedNodeId':return _0x14abc1['nodeId_aliased']||_0x14abc1[_0x135aae(0xa4)];case _0x135aae(0x1b4):return _0x14abc1[_0x135aae(0xa4)];default:case _0x135aae(0x1c6):return _0x14abc1[_0x135aae(0x1c6)];}},_0x26f9a2=_0x1443e8=>{const _0x47e2dd=_0xdff7ef;if(_0x1443e8[_0x47e2dd(0x142)]!=='Good')return'statusCode:\x20'+_0x1443e8[_0x47e2dd(0x142)];else{let _0x2a24cb=[];return _0x2a24cb[_0x47e2dd(0x152)](_0x47e2dd(0xe3)+_0x1443e8[_0x47e2dd(0x1c6)]),_0x2a24cb[_0x47e2dd(0x152)]('browse\x20path:\x20'+_0x1443e8['bp_indexed']),_0x2a24cb['push'](_0x47e2dd(0x1a7)+_0x540974[_0x1443e8[_0x47e2dd(0xe4)]]),_0x1443e8[_0x47e2dd(0xa4)]&&_0x2a24cb[_0x47e2dd(0x152)](_0x47e2dd(0xe5)+_0x1443e8['nodeId_nsu']),_0x1443e8['nodeId_aliased']&&_0x2a24cb[_0x47e2dd(0x152)](_0x47e2dd(0x113)+_0x1443e8[_0x47e2dd(0xd9)]),_0x1443e8[_0x47e2dd(0xb7)]&&_0x2a24cb[_0x47e2dd(0x152)](_0x47e2dd(0xed)+_0x1443e8['bp_aliased']),_0x2a24cb[_0x47e2dd(0xe7)]('\x0a');}};function _0x176cd6(_0x5e172e){const _0x37ce66=_0xdff7ef;if(_0x5e172e['match'](/^nsu=/))return _0x37ce66(0x1b4);if(_0x5e172e['match'](/^(ns=.*;)?(i|b|s|g)=/))return _0x37ce66(0x1c6);if(_0x5e172e[_0x37ce66(0xd2)](/^nsa=/))return _0x37ce66(0x15c);if(_0x5e172e['match'](/^(\/|\.)[0-9]+:/))return _0x37ce66(0x1c4);if(_0x5e172e['match'](/^(\/|\.).*:/))return _0x37ce66(0x1c4);}function _0x481119(_0x43959f){const _0xe78d93=_0xdff7ef,_0x1e5792=_0x176cd6(_0x43959f);switch(_0x1e5792){case'nodeId':return'n';case'aliasedNodeId':return'na';case _0xe78d93(0x1b4):return _0xe78d93(0x149);case'browsePath':return'b';case _0xe78d93(0x19c):return'ab';default:return't';}}function _0x1b663d(_0x5bca56){const _0x12c508=_0xdff7ef;let _0x57e486;switch(_0x5bca56){case'n':_0x57e486=_0x12c508(0x1c6);break;case'na':_0x57e486='aliasedNodeId';break;case _0x12c508(0x149):_0x57e486='nsuNodeID';break;case'b':_0x57e486=_0x12c508(0x1c4);break;case'ab':_0x57e486='aliasedBrowsePath';break;}return _0x57e486;}function _0x8974c0(_0x396611){const _0x3d854b=_0xdff7ef;switch(_0x396611){case'nodeId':return'n';case _0x3d854b(0x15c):return'na';case _0x3d854b(0x1b4):return _0x3d854b(0x149);case _0x3d854b(0x1c4):return'b';case'aliasedBrowsePath':return'ab';default:return't';}}const _0x45a2f7=(_0x4eb275,_0x104074)=>_0x42adaa(void 0x0,[_0x4eb275,_0x104074],void 0x0,function*({endpointNode:_0x144c72,endpoint:_0x3d13ea,baseUrl:_0x3985ef},_0x5d9210){const _0x207403=_0xdff7ef,_0x580b5a=_0x3985ef+_0x207403(0x11e),_0x1c8504=_0x580b5a+_0x207403(0x16f),_0x19225d=_0x144c72['id'],_0x3ad8af=RED[_0x207403(0x143)][_0x207403(0xbc)](_0x19225d);console[_0x207403(0x19f)](_0x3ad8af[_0x207403(0x1a9)]),_0x3ad8af['namespaceAliases'];const _0x4540ac=_0x144c72[_0x207403(0x1a9)],_0x1b948e=yield fetch(_0x1c8504,{'method':'POST','body':JSON[_0x207403(0x128)]({'endpointNode':_0x144c72,'endpoint':_0x3d13ea,'nodeId':_0x5d9210,'namespaceAliases':_0x4540ac}),'headers':{'Content-Type':_0x207403(0xea)}}),_0x3f26de=yield _0x1b948e[_0x207403(0x13a)]();return{'json':_0x3f26de,'data':_0x1b948e};}),_0x25eb4f=(_0x1af863,_0x32b1e4,_0x203a82,_0xc66a1d)=>_0x42adaa(void 0x0,[_0x1af863,_0x32b1e4,_0x203a82,_0xc66a1d],void 0x0,function*({endpointNode:_0x31c04f,endpoint:_0xaf3d23,baseUrl:_0x5195f1},_0x51dabd,_0x2c7896,_0x4b933b){const _0x1a2bfb=_0xdff7ef,_0x5ce777=_0x2c7896['val'](),{json:_0x3d79a9,data:_0x3a9bed}=yield _0x45a2f7({'endpointNode':_0x31c04f,'endpoint':_0xaf3d23,'baseUrl':_0x5195f1},_0x5ce777),_0x5d5165=(_0x266c8b,_0x5ad66f)=>{const _0x52e8e6=_0x3598;_0x4b933b[_0x52e8e6(0x18b)](_0x266c8b)[_0x52e8e6(0x182)]('sterfive-info')['addClass'](_0x5ad66f),_0x4b933b[_0x52e8e6(0x132)](),setTimeout(()=>{const _0x28afa0=_0x52e8e6;_0x4b933b[_0x28afa0(0x133)](_0x5ad66f),_0x4b933b['hide']();},0xbb8);};if(_0x3a9bed[_0x1a2bfb(0x14d)]!==0xc8)return _0x5d5165(_0x1a2bfb(0xfd)+_0x5ce777,'failure'),![];else{if(_0x3d79a9['statusCode'][_0x1a2bfb(0xd2)](/Good/)){const _0x19fbc5=_0x26f9a2(_0x3d79a9);_0x2c7896[_0x1a2bfb(0xad)](_0x1a2bfb(0xce),_0x19fbc5);const _0x2861b8=_0x503d62(_0x3d79a9,_0x51dabd);return _0x2c7896[_0x1a2bfb(0xf1)](_0x2861b8),_0x2c7896[_0x1a2bfb(0x12a)](_0x1a2bfb(0x178)),_0x5d5165('Good','ok'),!![];}else return _0x2c7896[_0x1a2bfb(0xf1)](''+_0x5ce777),_0x5d5165(_0x3d79a9[_0x1a2bfb(0x142)]+'\x20'+_0x3a9bed[_0x1a2bfb(0xac)],_0x1a2bfb(0xd4)),![];}});function _0x3b6841(_0xa945f6,_0x4b408f){return _0x42adaa(this,void 0x0,void 0x0,function*(){const _0x2dd648=_0x3598,_0x2441be=_0xa945f6[_0x2dd648(0x179)](_0x2dd648(0x140)),_0x402a5c=yield _0x27b60e(_0x4b408f,_0x2441be,_0x884b8),_0x51eb8c=yield _0x27b60e(_0x4b408f,_0x2441be,_0x4fd019);return{'references':[..._0x402a5c['references'],..._0x51eb8c[_0x2dd648(0x138)]]};});}const _0x4fc8cd={'referenceTypeId':_0x59c7d6(_0xdff7ef(0x170)),'includeSubtypes':!![],'browseDirection':_0x3bd851['Forward'],'nodeClassMask':_0x540974['ReferenceType']|_0x540974[_0xdff7ef(0xe8)]|_0x540974[_0xdff7ef(0x147)]|_0x540974[_0xdff7ef(0xef)],'resultMask':0x3f};function _0x59483b(_0x5bab9f,_0x3309c3){return _0x42adaa(this,void 0x0,void 0x0,function*(){const _0x1f6149=_0x3598,_0x2d8411=_0x5bab9f[_0x1f6149(0x179)](_0x1f6149(0x140)),_0x42776d=yield _0x27b60e(_0x3309c3,_0x2d8411,_0x4fc8cd);return _0x42776d;});}const _0xd28efd=_0x6c329d=>{const _0x4cebb2=_0xdff7ef;var _0x4988ab,_0x380ef0,_0x430213,_0x3e5883;if(!_0x6c329d||!_0x6c329d[_0x4cebb2(0x1c6)]){const _0x4a6591=$('<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>');return _0x4a6591;}const _0x1cf435=_0x6c329d[_0x4cebb2(0x1c6)][_0x4cebb2(0x11a)](),_0x4d3a7d=((_0x4988ab=_0x6c329d['displayName'])===null||_0x4988ab===void 0x0?void 0x0:_0x4988ab['text'])||((_0x380ef0=_0x6c329d[_0x4cebb2(0xf8)])===null||_0x380ef0===void 0x0?void 0x0:_0x380ef0[_0x4cebb2(0xf6)])||_0x6c329d['nodeId'][_0x4cebb2(0x11a)](),{icon:_0x491c7a,color:_0x5aaa1a}=_0x255775(_0x6c329d),_0x1e316b='('+_0x6c329d[_0x4cebb2(0x1c6)]['toString']()+')\x20'+(((_0x430213=_0x6c329d[_0x4cebb2(0xf8)])===null||_0x430213===void 0x0?void 0x0:_0x430213[_0x4cebb2(0xf6)])||((_0x3e5883=_0x6c329d['displayName'])===null||_0x3e5883===void 0x0?void 0x0:_0x3e5883[_0x4cebb2(0x18b)])||''),_0x118d48=$('<li\x20key=\x22'+_0x6c329d['nodeId']['toString']()+'\x22}><span\x20class=\x22tree-text\x22\x20title='+_0x1e316b+_0x4cebb2(0x122)+_0x491c7a+_0x4cebb2(0xd1)+_0x5aaa1a+';\x22></i>\x20'+_0x4d3a7d+_0x4cebb2(0x155));return _0x118d48[_0x4cebb2(0x182)]('expandable'),_0x118d48[_0x4cebb2(0x179)](_0x4cebb2(0x140),_0x1cf435),_0x118d48[_0x4cebb2(0x179)]('reference',_0x6c329d),_0x118d48;},_0x3db823=(_0xdb8243,_0x15fd6f)=>{const _0x8385d5=_0xdff7ef;return _0x15fd6f[_0x8385d5(0xe1)](_0x8385d5(0xbd)+_0xdb8243+'\x22]');},_0x5dd988=(_0x33e4d5,_0x56a055)=>{const _0x266790=_0xdff7ef;_0x33e4d5[_0x266790(0x11f)][_0x266790(0xe1)](_0x266790(0x1bf))[_0x266790(0x133)](_0x266790(0xeb)),_0x56a055[_0x266790(0xe1)](_0x266790(0x151))[_0x266790(0x182)](_0x266790(0xeb));},_0x429652=(_0xed1de0,_0x2b3dda,_0x40b8a7)=>_0x42adaa(void 0x0,void 0x0,void 0x0,function*(){const _0x2caaf8=_0xdff7ef;let _0x38ece7=_0x40b8a7['children'](':first');_0x2b3dda['relativePath'][_0x2caaf8(0xf0)]||[];const _0x264389=_0x2b3dda[_0x2caaf8(0x123)]||[];if(_0x264389['length']===0x0)return;for(const _0x451dbb of _0x264389){_0x38ece7[_0x2caaf8(0x1ad)](_0x2caaf8(0x118))&&(yield _0x569e8a(_0xed1de0,_0x38ece7));const _0x3d9bd4=_0x3db823(_0x451dbb,_0x38ece7);if(_0x3d9bd4[_0x2caaf8(0x1ab)]===0x0)return;_0x38ece7=_0x3d9bd4;}_0x5dd988(_0xed1de0,_0x38ece7),_0x479595(_0xed1de0[_0x2caaf8(0x19d)],_0x38ece7);});function _0x479595(_0x36a68c,_0x584fc3){const _0x3e89e9=_0xdff7ef,_0x5393a3=_0x584fc3[_0x3e89e9(0x109)]()['top'],_0x57c605=_0x36a68c[_0x3e89e9(0x192)]();if(_0x57c605==undefined)return;const _0x2de390=_0x57c605+_0x5393a3-_0x36a68c['height']()/0x2+_0x584fc3[_0x3e89e9(0xb5)]()/0x2;_0x36a68c['animate']({'scrollTop':_0x2de390},0x1f4);}const _0x4226c3=(_0x3c7ce6,_0xd9ff20)=>_0x42adaa(void 0x0,void 0x0,void 0x0,function*(){const _0x3d551f=_0xdff7ef,_0x454e7d=_0x3c7ce6['$input'][_0x3d551f(0xf1)](),_0x33cf8c={'nodeId':_0x454e7d,'rootNodeId':_0xd9ff20[_0x3d551f(0x1c6)],'isType':_0x3c7ce6[_0x3d551f(0x15a)][_0x3d551f(0xd8)]||![]},_0x58eef4=_0x516809(_0x3c7ce6),_0x108376=yield _0x354871(_0x58eef4,_0x33cf8c);if(!_0x108376)return;yield _0x429652(_0x3c7ce6,_0x108376,_0x3c7ce6['$tree']);});function _0x4a1e3b(_0x2a256e,_0x5da295,_0x95caad,_0x3d1578){return _0x42adaa(this,void 0x0,void 0x0,function*(){const _0x43f889=_0x3598;if(_0x5da295[_0x43f889(0x1ad)]('fetched')){console[_0x43f889(0x19f)](_0x43f889(0x104));return;}if(_0x5da295[_0x43f889(0x1ad)](_0x43f889(0x171))){console[_0x43f889(0x19f)]('already\x20loading');return;}_0x5da295['addClass']('loading'),_0x5da295['append'](_0x43f889(0x195));try{_0x5da295['children']('ul')['empty']();const {references:_0x4563fb}=yield _0x95caad(_0x5da295,_0x3d1578);_0x4563fb[_0x43f889(0x156)]((_0x4be775,_0x42607c)=>{const _0xc29080=_0x43f889;var _0x18b23d,_0x4cb42b;return(((_0x18b23d=_0x4be775['browseName'])===null||_0x18b23d===void 0x0?void 0x0:_0x18b23d[_0xc29080(0xf6)])||'')[_0xc29080(0x184)](((_0x4cb42b=_0x42607c[_0xc29080(0xf8)])===null||_0x4cb42b===void 0x0?void 0x0:_0x4cb42b[_0xc29080(0xf6)])||'');});for(const _0x342e11 of _0x4563fb){if(_0x2a256e[_0x43f889(0x15a)][_0x43f889(0x131)]&&!_0x2a256e[_0x43f889(0x15a)]['filter'](_0x342e11))continue;const _0x502c47=_0xd28efd(_0x342e11);_0x5da295[_0x43f889(0x191)]('ul')[_0x43f889(0x154)](_0x502c47);}_0x5da295[_0x43f889(0x182)](_0x43f889(0x1a3));}catch(_0x350ea8){_0x5da295[_0x43f889(0x191)]('ul')['append'](_0x43f889(0x1a2)+_0x350ea8['message']+'</li>'),console['log'](_0x43f889(0x18e),_0x350ea8);}_0x5da295[_0x43f889(0xe1)](_0x43f889(0x150))[_0x43f889(0xbb)](),_0x5da295['removeClass'](_0x43f889(0x171));});}function _0x516809(_0x2b88b9){const _0x20b450=_0xdff7ef,_0x1c9b17={'baseUrl':_0x2b88b9[_0x20b450(0x15a)][_0x20b450(0x15d)],'endpointNode':typeof _0x2b88b9[_0x20b450(0x15a)][_0x20b450(0x1a6)]===_0x20b450(0x188)?_0x2b88b9[_0x20b450(0x15a)][_0x20b450(0x1a6)]():_0x2b88b9['options'][_0x20b450(0x1a6)],'endpoint':typeof _0x2b88b9[_0x20b450(0x15a)][_0x20b450(0xc8)]===_0x20b450(0x188)?_0x2b88b9[_0x20b450(0x15a)][_0x20b450(0xc8)]():_0x2b88b9['options'][_0x20b450(0xc8)]};return _0x1c9b17;}function _0x569e8a(_0x2e6f0a,_0x3b5256){return _0x42adaa(this,void 0x0,void 0x0,function*(){const _0x9f03bf=_0x3598;if(_0x3b5256[_0x9f03bf(0x1ad)]('fetched')){_0x3b5256[_0x9f03bf(0x133)](_0x9f03bf(0x118))['addClass'](_0x9f03bf(0x1aa)),_0x3b5256['children']('ul')[_0x9f03bf(0x18d)]();return;}const _0x472c28=_0x516809(_0x2e6f0a),_0x308916=!_0x2e6f0a[_0x9f03bf(0x15a)][_0x9f03bf(0xd8)]?_0x3b6841:_0x59483b;try{yield _0x4a1e3b(_0x2e6f0a,_0x3b5256,_0x308916,_0x472c28),_0x3b5256[_0x9f03bf(0x133)]('expandable')[_0x9f03bf(0x182)](_0x9f03bf(0x1aa));}catch(_0x22f5eb){_0x3b5256[_0x9f03bf(0x133)](_0x9f03bf(0x118))[_0x9f03bf(0x182)](_0x9f03bf(0x1aa)),console['log'](_0x9f03bf(0x17d),_0x22f5eb);}});}const _0x289ba6={'browseName':{'namespaceIndex':0x0,'name':'Objects'},'nodeClass':_0xdff7ef(0x14b),'nodeId':'ns=0;i=85','displayName':{'text':_0xdff7ef(0x1c0)},'typeDefinition':_0x3002ca},_0x3521cf=()=>{const _0x33eba9=_0xdff7ef;$[_0x33eba9(0xb9)](_0x33eba9(0x102),{'options':{'endpointNode':()=>({'endpoint':'opc.tcp://opcuademo.sterfive.com:26543'}),'endpoint':()=>undefined,'parentNode':()=>_0x289ba6,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x42adaa(this,void 0x0,void 0x0,function*(){const _0x1ef675=_0x3598,_0x538435=this;if(_0x538435[_0x1ef675(0x15b)]==undefined){const _0x32437c=typeof _0x538435[_0x1ef675(0x15a)]['parentNode']===_0x1ef675(0x188)?_0x538435[_0x1ef675(0x15a)][_0x1ef675(0x1b0)][_0x1ef675(0xc3)](_0x538435):_0x538435['options'][_0x1ef675(0x1b0)];if(_0x32437c instanceof Promise){const _0x4d4545=yield _0x32437c;_0x538435[_0x1ef675(0x15b)]=_0x4d4545;}else _0x538435[_0x1ef675(0x15b)]=_0x32437c;}return _0x538435[_0x1ef675(0x15b)]||_0x289ba6;});},'reset'(){return _0x42adaa(this,void 0x0,void 0x0,function*(){const _0x2c9af1=_0x3598,_0x2b6974=this,_0x437574=_0x2b6974;_0x437574[_0x2c9af1(0x15b)]=undefined,_0x2b6974[_0x2c9af1(0x11f)][_0x2c9af1(0xe6)]();const _0x375fed=yield this['resolveParentNode'](),_0x52b03f=_0xd28efd(_0x375fed);_0x2b6974[_0x2c9af1(0x11f)][_0x2c9af1(0x154)](_0x52b03f),_0x2b6974[_0x2c9af1(0x1b7)]=_0x375fed;});},'verify'(_0x50976d){const _0x4eabf2=_0x33eba9,_0x5d8b12=this,_0x2adb27=_0x516809(_0x5d8b12);_0x25eb4f(_0x2adb27,_0x50976d,_0x5d8b12['$input'],_0x5d8b12[_0x4eabf2(0xde)])['then'](_0x326731=>{const _0x31ccde=_0x4eabf2;!_0x326731?_0x5d8b12[_0x31ccde(0x1be)][_0x31ccde(0x182)]('sterfive-input-error'):_0x5d8b12['$combo'][_0x31ccde(0x133)](_0x31ccde(0xdb));});},'_hideMenu'(_0x31f58){const _0x1cc988=_0x33eba9,_0x12b56b=this;$(document)['off']('mousedown.red-ui-typedInput-close-property-select'),_0x31f58['hide'](),_0x31f58[_0x1cc988(0x11b)]({'height':'auto'});if(_0x31f58[_0x1cc988(0x1ba)][_0x1cc988(0x1c3)]){var _0x31d9ff=[];_0x31f58['find'](_0x1cc988(0x181))[_0x1cc988(0x10d)](function(){const _0x5890f4=_0x1cc988;$(this)[_0x5890f4(0xda)](_0x5890f4(0x16e))&&_0x31d9ff[_0x5890f4(0x152)]($(this)[_0x5890f4(0x179)](_0x5890f4(0x140)));}),_0x31f58['callback'](_0x31d9ff);}_0x12b56b[_0x1cc988(0x10e)]['is'](':visible')?_0x12b56b['$input'][_0x1cc988(0x12a)](_0x1cc988(0xff)):_0x12b56b[_0x1cc988(0xb1)][_0x1cc988(0x12a)](_0x1cc988(0xff));},'_createMenu'(_0x324437,_0x1dbd10,_0x15f9e2){const _0x3b6275=_0x33eba9;var _0x1b68ea=this;const _0x53fc76=$('<div>')[_0x3b6275(0x182)](_0x3b6275(0xa3));return _0x53fc76[_0x3b6275(0x1ba)]=_0x1dbd10,_0x53fc76[_0x3b6275(0xd6)]=_0x15f9e2,_0x324437[_0x3b6275(0x1b5)](_0x460e2d=>{const _0x979fb1=_0x3b6275;typeof _0x460e2d===_0x979fb1(0xc2)&&(_0x460e2d={'value':_0x460e2d,'label':_0x460e2d});var _0x15abba=$(_0x979fb1(0x146))[_0x979fb1(0xad)](_0x979fb1(0x140),_0x460e2d[_0x979fb1(0x140)])[_0x979fb1(0x18c)](_0x53fc76);_0x460e2d[_0x979fb1(0xcb)]&&_0x15abba[_0x979fb1(0x18b)](_0x460e2d[_0x979fb1(0xcb)]);_0x460e2d[_0x979fb1(0xce)]&&_0x15abba[_0x979fb1(0xda)]('title',_0x460e2d[_0x979fb1(0xce)]);if(_0x460e2d[_0x979fb1(0xc4)]){if(_0x460e2d['icon'][_0x979fb1(0x174)]('<')===0x0)$(_0x460e2d[_0x979fb1(0xc4)])[_0x979fb1(0xb8)](_0x15abba);else _0x460e2d[_0x979fb1(0xc4)][_0x979fb1(0x174)]('/')!==-0x1?$(_0x979fb1(0xab),{'class':_0x979fb1(0x12e),'style':_0x979fb1(0xb6)+_0x460e2d[_0x979fb1(0xc4)]+');\x20-webkit-mask-image:\x20url('+_0x460e2d[_0x979fb1(0xc4)]+');'})['prependTo'](_0x15abba):$(_0x979fb1(0xab),{'class':_0x979fb1(0x176)+_0x460e2d['icon']})[_0x979fb1(0xb8)](_0x15abba);}else _0x15abba['css']({'paddingLeft':_0x979fb1(0x148)});!_0x460e2d[_0x979fb1(0xc4)]&&!_0x460e2d[_0x979fb1(0xcb)]&&_0x15abba[_0x979fb1(0x18b)](_0x460e2d[_0x979fb1(0x140)]);var _0x166769;_0x1dbd10[_0x979fb1(0x1c3)]&&(_0x166769=$(_0x979fb1(0x111))['css'](_0x979fb1(0xfe),_0x979fb1(0x121))[_0x979fb1(0x179)]('value',_0x460e2d[_0x979fb1(0x140)])[_0x979fb1(0xb8)](_0x15abba)['on'](_0x979fb1(0x1bd),function(_0x331f37){const _0x4c9277=_0x979fb1;_0x331f37[_0x4c9277(0x1af)]();})),_0x15abba['on'](_0x979fb1(0x186),function(_0x14a7d4){const _0x5ba5d7=_0x979fb1;_0x14a7d4[_0x5ba5d7(0x1af)](),_0x14a7d4[_0x5ba5d7(0x164)](),!_0x1dbd10['multiple']?(_0x15f9e2(_0x460e2d[_0x5ba5d7(0x140)]),_0x1b68ea[_0x5ba5d7(0x16a)](_0x53fc76)):_0x166769[_0x5ba5d7(0xda)]('checked',!_0x166769[_0x5ba5d7(0xda)](_0x5ba5d7(0x16e)));});}),_0x53fc76[_0x3b6275(0x11b)]({'display':_0x3b6275(0x121)}),_0x53fc76['on'](_0x3b6275(0xb0),function(_0x385694){const _0x5c322c=_0x3b6275;if(_0x385694['keyCode']===0x28)_0x385694[_0x5c322c(0x1af)](),$(this)[_0x5c322c(0x191)](_0x5c322c(0x139))[_0x5c322c(0x17b)]()['trigger']('focus');else{if(_0x385694['keyCode']===0x26)_0x385694[_0x5c322c(0x1af)](),$(this)['children'](_0x5c322c(0x139))[_0x5c322c(0x110)]()[_0x5c322c(0x12a)](_0x5c322c(0xff));else _0x385694[_0x5c322c(0x190)]===0x1b&&(_0x385694[_0x5c322c(0x1af)](),_0x1b68ea['_hideMenu'](_0x53fc76));}_0x385694[_0x5c322c(0x164)]();}),_0x53fc76;},'disarmClick':![],'_showMenu'(_0x347275,_0x28473f){const _0x59aef4=_0x33eba9;if(this[_0x59aef4(0x169)]){this['disarmClick']=![];return;}var _0x34a801=this,_0x4fb372=_0x28473f['offset'](),_0x513e69=_0x28473f['height'](),_0x122f4c=_0x347275[_0x59aef4(0xb5)](),_0x13a2c9=_0x513e69+_0x4fb372[_0x59aef4(0x119)];_0x13a2c9+_0x122f4c-$(document)[_0x59aef4(0x192)]()>$(window)[_0x59aef4(0xb5)]()&&(_0x13a2c9-=_0x13a2c9+_0x122f4c-$(window)[_0x59aef4(0xb5)]()+0x5),_0x13a2c9<0x0&&(_0x347275[_0x59aef4(0xb5)](_0x122f4c+_0x13a2c9),_0x13a2c9=0x0),_0x347275[_0x59aef4(0x11b)]({'top':_0x13a2c9+'px','left':_0x4fb372[_0x59aef4(0x1a4)]+'px'}),_0x347275[_0x59aef4(0x173)](0x64),this[_0x59aef4(0x1a0)](function(){const _0x14b952=_0x59aef4;_0x34a801[_0x14b952(0xcf)][_0x14b952(0x182)](_0x14b952(0xd0)),$(document)['on'](_0x14b952(0x172),function(_0x57f689){const _0x178fed=_0x14b952;!$(_0x57f689[_0x178fed(0xf4)])['closest'](_0x347275)[_0x178fed(0x1ab)]&&_0x34a801[_0x178fed(0x16a)](_0x347275),$(_0x57f689[_0x178fed(0xf4)])[_0x178fed(0x13c)](_0x28473f)['length']&&(_0x34a801['disarmClick']=!![],_0x57f689[_0x178fed(0x1af)]());});});},'_showTypeMenu'(){const _0x13f1f2=_0x33eba9,_0x46e18d=this;this['_showMenu'](_0x46e18d['$menu'],_0x46e18d['$combo']),_0x46e18d['$dropdown'][_0x13f1f2(0x13e)]();const _0x449ab2=_0x46e18d['selectedMenuItem'];var _0x34e684=_0x46e18d[_0x13f1f2(0x14a)]['find']('[value=\x27'+_0x449ab2+'\x27');setTimeout(function(){const _0x37070c=_0x13f1f2;_0x34e684['trigger'](_0x37070c(0xff));},0x78);},'_initMenu'(){const _0x33ea7c=_0x33eba9,_0x4b3b52=this;_0x4b3b52[_0x33ea7c(0xb1)][_0x33ea7c(0xad)](_0x33ea7c(0x135),-0x1),_0x4b3b52[_0x33ea7c(0xb1)]['on']('mousedown.red-ui-typedInput-focus-block',function(_0x2ef8c4){_0x2ef8c4['preventDefault']();});_0x4b3b52[_0x33ea7c(0x14a)]&&_0x4b3b52[_0x33ea7c(0x14a)][_0x33ea7c(0xbb)]();const _0x1ce757=[{'label':'text','value':'t','title':'Value\x20is\x20not\x20verified','icon':'<i\x20class=\x22fa\x20fa-font\x22/i>\x20'},{'label':_0x33ea7c(0xcd),'value':_0x33ea7c(0x13f),'title':_0x33ea7c(0xaa),'icon':'<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>'},{'label':_0x33ea7c(0x10a),'value':'n','icon':_0x33ea7c(0xa6)},{'label':'Aliased\x20NodeId','value':'na','icon':_0x33ea7c(0xee)},{'label':_0x33ea7c(0x196),'value':_0x33ea7c(0x149),'icon':_0x33ea7c(0x136)},{'label':_0x33ea7c(0x105),'value':'b','icon':_0x33ea7c(0x1b9)},{'label':_0x33ea7c(0x1b3),'value':'ab','icon':_0x33ea7c(0x187)}],_0x16d280=_0x481119(_0x4b3b52[_0x33ea7c(0x194)][_0x33ea7c(0xf1)]()),_0x4da4ed=_0x1ce757[_0x33ea7c(0xe1)](_0xee9fb3=>_0xee9fb3[_0x33ea7c(0x140)]===_0x16d280);_0x4b3b52[_0x33ea7c(0x13b)][_0x33ea7c(0xe6)]()[_0x33ea7c(0x154)]('<span\x20title='+((_0x4da4ed===null||_0x4da4ed===void 0x0?void 0x0:_0x4da4ed[_0x33ea7c(0xce)])||'')+_0x33ea7c(0x158)+((_0x4da4ed===null||_0x4da4ed===void 0x0?void 0x0:_0x4da4ed[_0x33ea7c(0xc4)])||'')+_0x33ea7c(0xfc)),_0x4b3b52[_0x33ea7c(0x1b6)]=_0x16d280;const _0x3db009=this;_0x4b3b52[_0x33ea7c(0x14a)]=this[_0x33ea7c(0x144)](_0x1ce757,{},_0x41b20d=>{const _0x60156d=_0x33ea7c,_0x554d09=_0x1b663d(_0x41b20d);_0x554d09&&_0x3db009[_0x60156d(0x17f)](_0x554d09);const _0x44d9be=_0x1ce757[_0x60156d(0xe1)](_0xa3aab2=>_0xa3aab2[_0x60156d(0x140)]===_0x41b20d);_0x4b3b52['selectedMenuItem']=_0x41b20d,_0x4b3b52['$selectLabel']['empty']()[_0x60156d(0x154)](_0x60156d(0x120)+((_0x44d9be===null||_0x44d9be===void 0x0?void 0x0:_0x44d9be[_0x60156d(0xce)])||'')+_0x60156d(0x158)+((_0x44d9be===null||_0x44d9be===void 0x0?void 0x0:_0x44d9be[_0x60156d(0xc4)])||'')+_0x60156d(0xfc));}),_0x4b3b52[_0x33ea7c(0x14a)][_0x33ea7c(0x18c)](document[_0x33ea7c(0x101)]),_0x4b3b52[_0x33ea7c(0x14a)]['hide'](),_0x4b3b52[_0x33ea7c(0xb1)]['show']();},'mode'(){const _0x1ae4ca=_0x33eba9,_0x2a493d=this;return _0x1b663d(_0x2a493d[_0x1ae4ca(0x1b6)]);},'setMode'(_0x42cacf){const _0x1faeda=_0x33eba9,_0x315a82=this,_0xbfbe2d=_0x8974c0(_0x42cacf);_0x315a82[_0x1faeda(0x1b6)]=_0xbfbe2d;},'_create'(){const _0x346b34=_0x33eba9,_0x40446e=this;_0x40446e['$input']=this[_0x346b34(0x159)],_0x40446e[_0x346b34(0x194)][_0x346b34(0x11b)](_0x346b34(0x145),_0x346b34(0x121)),_0x40446e['$elementDiv']=_0x40446e[_0x346b34(0x194)][_0x346b34(0x100)](_0x346b34(0x185))['parent']()[_0x346b34(0x182)]('main-wrapper'),_0x40446e[_0x346b34(0x1be)]=$('<div/>'),_0x40446e['$combo'][_0x346b34(0x182)](_0x346b34(0x129)),_0x40446e[_0x346b34(0x194)][_0x346b34(0xf7)](_0x40446e[_0x346b34(0x1be)]),_0x40446e[_0x346b34(0x13d)]=$(_0x346b34(0xfb))[_0x346b34(0x182)](_0x346b34(0x17e)),_0x40446e[_0x346b34(0x1be)]['append'](_0x40446e[_0x346b34(0x13d)]),_0x40446e[_0x346b34(0x13d)]['append'](_0x40446e['$input']),_0x40446e[_0x346b34(0x160)]=$(_0x346b34(0x17c)),_0x40446e[_0x346b34(0x194)]['after'](_0x40446e['$toggleTreeBtn']),_0x40446e[_0x346b34(0x160)]['on'](_0x346b34(0x186),function(){return _0x42adaa(this,void 0x0,void 0x0,function*(){const _0x34f84d=_0x3598;var _0x5d249a;let _0x2cb561=![],_0x5ae812;!_0x40446e['$dropdown']['is'](_0x34f84d(0x141))&&(_0x40446e[_0x34f84d(0xde)][_0x34f84d(0x13e)](),_0x5ae812=yield _0x40446e[_0x34f84d(0x115)](),(_0x5ae812!==_0x40446e[_0x34f84d(0x1b7)]||((_0x5d249a=_0x40446e[_0x34f84d(0x1b7)])===null||_0x5d249a===void 0x0?void 0x0:_0x5d249a[_0x34f84d(0x1c6)])!==_0x5ae812['nodeId'])&&(yield _0x40446e[_0x34f84d(0x1b8)]()),_0x2cb561=!![]),_0x40446e[_0x34f84d(0x19d)][_0x34f84d(0x18d)](),_0x2cb561&&(yield _0x4226c3(_0x40446e,_0x5ae812));});}),_0x40446e[_0x346b34(0xd7)]=$(_0x346b34(0x162)),_0x40446e[_0x346b34(0x194)][_0x346b34(0x126)](_0x40446e[_0x346b34(0xd7)]),_0x40446e[_0x346b34(0xd7)]['on']('click',()=>{const _0x33585f=_0x346b34,_0x2a7208=_0x40446e[_0x33585f(0x167)]();if(!_0x2a7208)return;this[_0x33585f(0x17f)](_0x2a7208);});const _0xec11d2=_0x33c207=>_0x42adaa(this,void 0x0,void 0x0,function*(){const _0x36aa2c=_0x346b34,_0x3f78b5=this;let _0x211980=_0x3f78b5['mode']();if(!_0x211980)return;const _0x43f662=_0x516809(_0x3f78b5),{data:_0x135cea,json:_0x1b8308}=yield _0x45a2f7(_0x43f662,_0x33c207);if(_0x135cea[_0x36aa2c(0x14d)]!==0xc8)return;if(_0x1b8308[_0x36aa2c(0x142)][_0x36aa2c(0xd2)](/Good/)){const _0x5af0c3=_0x503d62(_0x1b8308,_0x211980);_0x3f78b5[_0x36aa2c(0x194)]['val'](_0x5af0c3),_0x3f78b5[_0x36aa2c(0x194)][_0x36aa2c(0x12a)](_0x36aa2c(0x178));}});{_0x40446e['$uiSelect']=$(_0x346b34(0x185)),_0x40446e[_0x346b34(0x194)][_0x346b34(0xc6)](_0x40446e[_0x346b34(0xcf)]),_0x40446e[_0x346b34(0xb1)]=$(_0x346b34(0x18f))[_0x346b34(0xb8)](_0x40446e[_0x346b34(0xcf)]),$(_0x346b34(0x12c))[_0x346b34(0x18d)](!![])['appendTo'](_0x40446e['$selectTrigger']),_0x40446e[_0x346b34(0xb1)]['on'](_0x346b34(0x186),function(_0xef8aef){const _0x142633=_0x346b34;_0xef8aef[_0x142633(0x1af)](),_0xef8aef['stopPropagation'](),_0x40446e[_0x142633(0x199)]();}),_0x40446e[_0x346b34(0xb1)]['on']('keydown',function(_0x2553f7){const _0x25955c=_0x346b34;_0x2553f7[_0x25955c(0x190)]===0x28&&_0x40446e[_0x25955c(0x199)](),_0x2553f7[_0x25955c(0x164)]();})['on']('focus',function(){const _0x547f22=_0x346b34;_0x40446e['$uiSelect'][_0x547f22(0x182)](_0x547f22(0xd0));})['on'](_0x346b34(0x130),function(){const _0x453add=_0x346b34;_0x40446e[_0x453add(0xcf)][_0x453add(0x133)](_0x453add(0xd0));}),_0x40446e[_0x346b34(0x13b)]=$(_0x346b34(0xec))[_0x346b34(0x18c)](_0x40446e[_0x346b34(0xb1)]);}this[_0x346b34(0xdd)]();!_0x40446e[_0x346b34(0x194)]['attr'](_0x346b34(0x1ac))&&_0x40446e[_0x346b34(0x194)][_0x346b34(0xad)]('placeholder',_0x346b34(0x116));_0x40446e[_0x346b34(0xde)]=$('<div\x20class=\x22sterfive-info-text\x22></div>'),_0x40446e[_0x346b34(0xde)][_0x346b34(0x13e)](),_0x40446e[_0x346b34(0x1be)][_0x346b34(0x154)](_0x40446e[_0x346b34(0xde)]),_0x40446e[_0x346b34(0x19d)]=$(_0x346b34(0xfb))[_0x346b34(0x182)]('sterfive-dropdown')[_0x346b34(0x13e)]()['appendTo'](_0x40446e['$combo']),_0x40446e[_0x346b34(0x11f)]=$(_0x346b34(0x117))[_0x346b34(0x18c)](_0x40446e[_0x346b34(0x19d)]),this['reset']();const _0x40b6fb=(_0x3bee0d,_0x4a84ca)=>{const _0x57cbfc=_0x346b34,_0x802b9=0x14,_0x5df08f=0x14,_0x1003ae=_0x3bee0d[_0x57cbfc(0x15f)](),_0x121bf7=_0x4a84ca;if(_0x121bf7[_0x57cbfc(0x1c2)]>=_0x1003ae['left']&&_0x121bf7[_0x57cbfc(0x1c2)]<=_0x1003ae[_0x57cbfc(0x1a4)]+_0x802b9&&_0x121bf7['pageY']>=_0x1003ae[_0x57cbfc(0x119)]&&_0x121bf7['pageY']<=_0x1003ae[_0x57cbfc(0x119)]+_0x5df08f)return!![];return![];},_0x443545=_0x38492=>_0x42adaa(this,void 0x0,void 0x0,function*(){const _0x1d8d68=_0x346b34;if(_0x38492['hasClass']('expandable'))_0x569e8a(_0x40446e,_0x38492);else{if(_0x38492[_0x1d8d68(0x1ad)](_0x1d8d68(0x1aa)))_0x38492['children']('ul')['toggle'](),_0x38492[_0x1d8d68(0xb2)](_0x1d8d68(0xbf));else{if(_0x38492[_0x1d8d68(0x191)]('ul')[_0x1d8d68(0x191)]()[_0x1d8d68(0x1ab)]>0x0)_0x38492[_0x1d8d68(0x191)]('ul')['toggle'](),_0x38492[_0x1d8d68(0xb2)](_0x1d8d68(0xbf));else;}}});_0x40446e['$tree']['on'](_0x346b34(0x106),'li',function(_0x1bf76d){const _0x51c5be=_0x346b34;var _0x1e83be,_0x66aa75;_0x1bf76d[_0x51c5be(0x164)]();let _0x2c39cf=$(this);if(_0x40b6fb(_0x2c39cf,_0x1bf76d))_0x443545(_0x2c39cf);else{const _0x2333c6=_0x2c39cf[_0x51c5be(0x179)]('value'),_0x2c44ce=_0x2c39cf[_0x51c5be(0x179)](_0x51c5be(0x11d));if(_0x40446e[_0x51c5be(0x15a)][_0x51c5be(0x165)]&&!_0x40446e['options'][_0x51c5be(0x165)](_0x2c44ce))return;_0x40446e['$input'][_0x51c5be(0x179)]('reference',_0x2c44ce),((_0x1e83be=_0x2c44ce[_0x51c5be(0xc5)])===null||_0x1e83be===void 0x0?void 0x0:_0x1e83be[_0x51c5be(0x18b)])||((_0x66aa75=_0x2c44ce['browseName'])===null||_0x66aa75===void 0x0?void 0x0:_0x66aa75[_0x51c5be(0xf6)])||_0x2c44ce[_0x51c5be(0x1c6)][_0x51c5be(0x11a)]();let _0x1586d0=_0x40446e[_0x51c5be(0x167)]();!_0x1586d0&&(_0x1586d0=_0x51c5be(0x1c6),_0x40446e[_0x51c5be(0x163)](_0x1586d0)),_0xec11d2(_0x2333c6)['then'](()=>{const _0x3b420e=_0x51c5be;_0x40446e[_0x3b420e(0x19d)][_0x3b420e(0x13e)]();})['catch'](_0x3dda75=>{const _0x582e6f=_0x51c5be;_0x40446e[_0x582e6f(0x19d)][_0x582e6f(0x13e)]();});}}),_0x40446e[_0x346b34(0x11f)]['on'](_0x346b34(0x186),'li',function(_0x5c6a92){const _0x2b67f3=_0x346b34;_0x5c6a92[_0x2b67f3(0x164)]();let _0x566f34=$(this);_0x40b6fb(_0x566f34,_0x5c6a92)&&_0x443545(_0x566f34),_0x5dd988(_0x40446e,_0x566f34);}),$(document)['on'](_0x346b34(0x186),function(_0x474f9d){const _0x1a71cc=_0x346b34;!$(_0x474f9d[_0x1a71cc(0xf4)])['closest'](_0x40446e[_0x1a71cc(0x1be)])[_0x1a71cc(0x1ab)]&&_0x40446e[_0x1a71cc(0x19d)][_0x1a71cc(0x13e)]();});}});},_0x1d1571=()=>{const _0x39e9ec=_0xdff7ef,_0x1e4487=$(_0x39e9ec(0xa2)),_0x2c4ef0=_0x1e4487['val'](),_0x4031ae=RED[_0x39e9ec(0x143)]['node'](_0x2c4ef0);if(!_0x4031ae)return undefined;const {endpoint:_0x20402e,securityMode:_0x488376,securityPolicy:_0x85ddd,userIdentityType:_0x5f24ae,credentials:_0x3bf0df,namespaceAliases:_0xadd417}=_0x4031ae,_0x19fb81={'endpoint':_0x20402e,'securityMode':_0x488376,'securityPolicy':_0x85ddd,'userIdentityType':_0x5f24ae,'credentials':_0x3bf0df,'namespaceAliases':_0xadd417};return _0x19fb81;},_0x4fa8da=()=>{const _0x318fd4=_0xdff7ef,_0x6392c0=$(_0x318fd4(0xa2)),_0x527f43=_0x6392c0[_0x318fd4(0xf1)](),_0x39ca6b=_0x1d1571();if(!_0x39ca6b)return undefined;const _0x4c4c5d=_0x39ca6b[_0x318fd4(0x1a9)];return Object['assign']({'namespaceAliases':_0x4c4c5d,'id':_0x527f43},_0x39ca6b);},_0x445b4d=()=>{return{'endpointNode':_0x4fa8da};},_0x5a0b4d=()=>{const _0x1abcee=_0xdff7ef,_0x4a5653=$(_0x1abcee(0x17a));if(_0x4a5653['length']){const _0x36822d=$(_0x1abcee(0xc9),{'src':_0x1abcee(0xc0),'scrolling':'no','style':_0x1abcee(0x11c),'allowtransparency':_0x1abcee(0x134),'width':_0x1abcee(0x1ae),'height':_0x1abcee(0xf3)});_0x4a5653[_0x1abcee(0x154)](_0x36822d),_0x36822d[_0x1abcee(0x11b)]({'position':_0x1abcee(0x1a8),'right':_0x1abcee(0x19e),'bottom':_0x1abcee(0x107)});}};RED[_0xdff7ef(0x143)]['registerType'](_0xdff7ef(0x124),{'category':_0xdff7ef(0x197),'color':_0xdff7ef(0x114),'align':_0xdff7ef(0xaf),'icon':_0xdff7ef(0xc1),'paletteLabel':_0xdff7ef(0x14f),'defaults':{'inputs':{'value':0x1},'output':{'value':0x4},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':'OpcUa-Endpoint2'},'attributeId':{'value':_0xdff7ef(0xf5),'required':!![]},'nodeId':{'value':'','required':![]}},'inputs':0x1,'outputs':0x1,'label'(){const _0x31088e=_0xdff7ef;return this[_0x31088e(0xf6)]||'OPCUA\x20Client\x20Write';},'labelStyle'(){const _0x4f4bc5=_0xdff7ef;return this[_0x4f4bc5(0xf6)]?'node_label_italic':'';},'oneditprepare'(){const _0xb86c8e=_0xdff7ef,_0x5bd5ad=this;_0x3521cf(),_0x5a0b4d(),_0x5bd5ad[_0xb86c8e(0x12b)]=0x1;const _0x401f1a=$('#node-input-nodeId');_0x401f1a[_0xb86c8e(0x137)](Object[_0xb86c8e(0x15e)](Object[_0xb86c8e(0x15e)]({},_0x445b4d()),{'isSelectable'(_0x3723a7){const _0xb388fb=_0xb86c8e;return _0x3723a7['nodeClass']===_0xb388fb(0x16b);}}));},'oneditsave'(){}});}()));
9
8
  </script>
10
9
  <script type="text/x-red" data-template-name="OpcUa-Client2-Write">
11
10
  <h3>OpcUa Write</h3>