@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 _0x47cf(_0x331c82,_0x32a89c){const _0x3b51a6=_0x3b51();return _0x47cf=function(_0x47cf36,_0x1bec30){_0x47cf36=_0x47cf36-0x1ad;let _0x14eaf4=_0x3b51a6[_0x47cf36];return _0x14eaf4;},_0x47cf(_0x331c82,_0x32a89c);}(function(_0x4bb23e,_0x3bf02a){const _0x2f31d0=_0x47cf,_0x5a6db2=_0x4bb23e();while(!![]){try{const _0x280847=parseInt(_0x2f31d0(0x255))/0x1*(-parseInt(_0x2f31d0(0x2b2))/0x2)+parseInt(_0x2f31d0(0x1d7))/0x3*(-parseInt(_0x2f31d0(0x2a9))/0x4)+-parseInt(_0x2f31d0(0x2c1))/0x5+parseInt(_0x2f31d0(0x1da))/0x6+parseInt(_0x2f31d0(0x299))/0x7+parseInt(_0x2f31d0(0x1ca))/0x8+parseInt(_0x2f31d0(0x224))/0x9*(parseInt(_0x2f31d0(0x1c6))/0xa);if(_0x280847===_0x3bf02a)break;else _0x5a6db2['push'](_0x5a6db2['shift']());}catch(_0x5905b2){_0x5a6db2['push'](_0x5a6db2['shift']());}}}(_0x3b51,0xcc111),(function(){'use strict';const _0x19a526=_0x47cf;function _0x2ea867(_0x393f31,_0x1d70b1,_0x2c74c1,_0x2c6250){function _0x50da18(_0x2349b0){return _0x2349b0 instanceof _0x2c74c1?_0x2349b0:new _0x2c74c1(function(_0x1a97ba){_0x1a97ba(_0x2349b0);});}return new(_0x2c74c1||(_0x2c74c1=Promise))(function(_0x557307,_0x13760e){const _0x5abd64=_0x47cf;function _0x719285(_0x3d1037){const _0x4e8eba=_0x47cf;try{_0x425f04(_0x2c6250[_0x4e8eba(0x1ea)](_0x3d1037));}catch(_0xdb7525){_0x13760e(_0xdb7525);}}function _0x2d9ee7(_0x142827){const _0xd77c12=_0x47cf;try{_0x425f04(_0x2c6250[_0xd77c12(0x21c)](_0x142827));}catch(_0x13458f){_0x13760e(_0x13458f);}}function _0x425f04(_0x4fc159){const _0x10b188=_0x47cf;_0x4fc159[_0x10b188(0x26e)]?_0x557307(_0x4fc159['value']):_0x50da18(_0x4fc159[_0x10b188(0x20a)])['then'](_0x719285,_0x2d9ee7);}_0x425f04((_0x2c6250=_0x2c6250[_0x5abd64(0x20e)](_0x393f31,_0x1d70b1||[]))[_0x5abd64(0x1ea)]());});}typeof SuppressedError===_0x19a526(0x1be)?SuppressedError:function(_0x379431,_0x9ad4c8,_0x185580){const _0x247076=_0x19a526;var _0x1203a1=new Error(_0x185580);return _0x1203a1[_0x247076(0x249)]=_0x247076(0x24a),_0x1203a1[_0x247076(0x26b)]=_0x379431,_0x1203a1['suppressed']=_0x9ad4c8,_0x1203a1;};const _0x309786=_0x19a526(0x1ae),_0x3f45ef='ns=0;i=61',_0x203d01='ns=0;i=47',_0x1f3e7e=_0x19a526(0x261),_0x46f5cc='ns=0;i=34',_0x80f27d=_0x19a526(0x229),_0xfa8753=_0x19a526(0x1c8);var _0x276024;(function(_0x1bd4fb){const _0x58815d=_0x19a526;_0x1bd4fb[_0x1bd4fb['Forward']=0x0]=_0x58815d(0x2ba),_0x1bd4fb[_0x1bd4fb[_0x58815d(0x276)]=0x1]=_0x58815d(0x276),_0x1bd4fb[_0x1bd4fb[_0x58815d(0x25f)]=0x2]=_0x58815d(0x25f),_0x1bd4fb[_0x1bd4fb[_0x58815d(0x25a)]=0x3]=_0x58815d(0x25a);}(_0x276024||(_0x276024={})));var _0x1edbcd;(function(_0x5d918b){const _0x3404ce=_0x19a526;_0x5d918b[_0x5d918b[_0x3404ce(0x201)]=0x0]=_0x3404ce(0x201),_0x5d918b[_0x5d918b[_0x3404ce(0x1eb)]=0x1]=_0x3404ce(0x1eb),_0x5d918b[_0x5d918b[_0x3404ce(0x2d0)]=0x2]=_0x3404ce(0x2d0),_0x5d918b[_0x5d918b[_0x3404ce(0x2d3)]=0x4]=_0x3404ce(0x2d3),_0x5d918b[_0x5d918b[_0x3404ce(0x23a)]=0x8]=_0x3404ce(0x23a),_0x5d918b[_0x5d918b[_0x3404ce(0x202)]=0x10]=_0x3404ce(0x202),_0x5d918b[_0x5d918b[_0x3404ce(0x264)]=0x20]=_0x3404ce(0x264),_0x5d918b[_0x5d918b[_0x3404ce(0x1af)]=0x40]=_0x3404ce(0x1af),_0x5d918b[_0x5d918b[_0x3404ce(0x2d1)]=0x80]='View';}(_0x1edbcd||(_0x1edbcd={})));var _0x282a0c;(function(_0x4e375b){const _0x1a0547=_0x19a526;_0x4e375b[_0x4e375b[_0x1a0547(0x1eb)]=0x1]='Object',_0x4e375b[_0x4e375b['Variable']=0x2]=_0x1a0547(0x2d0),_0x4e375b[_0x4e375b['Method']=0x4]='Method',_0x4e375b[_0x4e375b[_0x1a0547(0x23a)]=0x8]=_0x1a0547(0x23a),_0x4e375b[_0x4e375b[_0x1a0547(0x202)]=0x10]=_0x1a0547(0x202),_0x4e375b[_0x4e375b['ReferenceType']=0x20]='ReferenceType',_0x4e375b[_0x4e375b[_0x1a0547(0x1af)]=0x40]=_0x1a0547(0x1af),_0x4e375b[_0x4e375b[_0x1a0547(0x2d1)]=0x80]=_0x1a0547(0x2d1);}(_0x282a0c||(_0x282a0c={})));var _0x127d08;(function(_0x1715e7){const _0x25292f=_0x19a526;_0x1715e7[_0x1715e7[_0x25292f(0x264)]=0x1]=_0x25292f(0x264),_0x1715e7[_0x1715e7[_0x25292f(0x23d)]=0x2]=_0x25292f(0x23d),_0x1715e7[_0x1715e7[_0x25292f(0x26f)]=0x4]=_0x25292f(0x26f),_0x1715e7[_0x1715e7[_0x25292f(0x1d6)]=0x8]='BrowseName',_0x1715e7[_0x1715e7[_0x25292f(0x289)]=0x10]=_0x25292f(0x289),_0x1715e7[_0x1715e7['TypeDefinition']=0x20]=_0x25292f(0x1b1);}(_0x127d08||(_0x127d08={})));function _0x248164(_0x13c264){const _0x324e2e=_0x19a526;switch(_0x13c264){case _0x324e2e(0x22b):return _0x309786;case _0x324e2e(0x242):return _0x1f3e7e;case _0x324e2e(0x209):return _0x203d01;case _0x324e2e(0x1b8):return _0x46f5cc;case _0x324e2e(0x2c2):return _0x80f27d;case _0x324e2e(0x24f):return _0xfa8753;}}const _0x6d1854=_0x329c77=>{const _0x1d8a4e=_0x19a526;switch(_0x329c77[_0x1d8a4e(0x1ad)]){case _0x1d8a4e(0x1eb):if(_0x329c77[_0x1d8a4e(0x296)]===_0x309786);if(_0x329c77[_0x1d8a4e(0x1f2)]===_0x3f45ef||_0x329c77[_0x1d8a4e(0x296)]===_0x1d8a4e(0x1d8))return{'icon':_0x1d8a4e(0x2b4),'color':_0x1d8a4e(0x27c)};return{'icon':_0x1d8a4e(0x1d9),'color':_0x1d8a4e(0x1e0)};case _0x1d8a4e(0x2d0):if(_0x329c77['referenceTypeId']===_0x203d01)return{'icon':_0x1d8a4e(0x215),'color':_0x1d8a4e(0x29b)};else return _0x329c77[_0x1d8a4e(0x296)]===_0x1f3e7e?{'icon':_0x1d8a4e(0x215),'color':'DodgerBlue'}:{'icon':_0x1d8a4e(0x215),'color':'CadetBlue'};case _0x1d8a4e(0x2d3):return{'icon':'fa-cog','color':_0x1d8a4e(0x251)};case _0x1d8a4e(0x23a):return{'icon':_0x1d8a4e(0x1d9),'color':_0x1d8a4e(0x2a2)};case _0x1d8a4e(0x202):return{'icon':'fa-sliders','color':_0x1d8a4e(0x2a2)};case _0x1d8a4e(0x1af):return{'icon':'fa-text-width','color':_0x1d8a4e(0x1e3)};}return{'icon':_0x1d8a4e(0x22a),'color':_0x1d8a4e(0x1b5)};},_0x5abcd4=(_0x5ce395,_0xce2c85,_0x38ade8)=>_0x2ea867(void 0x0,[_0x5ce395,_0xce2c85,_0x38ade8],void 0x0,function*({endpointNode:_0x2e3d4b,endpoint:_0x5741e4,baseUrl:_0x10d17e},_0x44de31,_0xd419a){const _0x39ab7b=_0x19a526,_0x51c556=_0x10d17e+_0x39ab7b(0x228),_0x8ecf24=_0x51c556+'/browse',_0x47ea72=Object[_0x39ab7b(0x1de)](Object['assign']({},_0xd419a),{'nodeId':_0x44de31,'resultMask':0x3f}),_0xa1eaf7=yield fetch(_0x8ecf24,{'method':'POST','body':JSON[_0x39ab7b(0x2b8)]({'endpointNode':_0x2e3d4b,'endpoint':_0x5741e4,'browseDescription':_0x47ea72}),'headers':{'Content-Type':_0x39ab7b(0x270)}});if(_0xa1eaf7[_0x39ab7b(0x274)]!==0xc8)return console[_0x39ab7b(0x265)](_0x39ab7b(0x27d),_0xa1eaf7[_0x39ab7b(0x274)],_0xa1eaf7[_0x39ab7b(0x256)]),{'references':[]};const _0x3ca381=yield _0xa1eaf7[_0x39ab7b(0x226)](),_0x3dee9c=_0x3ca381['browseResult'][_0x39ab7b(0x216)]||[];return{'references':_0x3dee9c};}),_0x2cdf26={'referenceTypeId':_0x248164(_0x19a526(0x1b8)),'includeSubtypes':!![],'browseDirection':_0x276024[_0x19a526(0x2ba)],'nodeClassMask':_0x1edbcd[_0x19a526(0x2d0)]|_0x1edbcd[_0x19a526(0x1eb)]|_0x1edbcd[_0x19a526(0x2d3)],'resultMask':0x3f},_0x136149={'referenceTypeId':_0x248164('Organizes'),'includeSubtypes':!![],'browseDirection':_0x276024[_0x19a526(0x2ba)],'nodeClassMask':_0x1edbcd['Variable']|_0x1edbcd['Object']|_0x1edbcd[_0x19a526(0x2d3)],'resultMask':0x3f},_0x2ab700=(_0x3f66c7,_0x560d70)=>_0x2ea867(void 0x0,[_0x3f66c7,_0x560d70],void 0x0,function*({endpointNode:_0x291a07,endpoint:_0x2fb792,baseUrl:_0x2eda8c},{nodeId:_0x1c21f4,rootNodeId:_0x3f731f,isType:_0x23459a}){const _0x1df444=_0x19a526,_0x260728=_0x2eda8c+_0x1df444(0x228),_0x254984=_0x260728+_0x1df444(0x1dc),_0x130bb9=yield fetch(_0x254984,{'method':_0x1df444(0x2af),'body':JSON['stringify']({'endpointNode':_0x291a07,'endpoint':_0x2fb792,'nodeId':_0x1c21f4,'rootNodeId':_0x3f731f,'isType':_0x23459a}),'headers':{'Content-Type':_0x1df444(0x270)}});if(_0x130bb9[_0x1df444(0x274)]!==0xc8)return null;const _0x589442=yield _0x130bb9['json']();return _0x589442[_0x1df444(0x277)];}),_0x48de9e=(_0x5133cb,_0x4105b0)=>{const _0x2e5f0a=_0x19a526;if(_0x5133cb['statusCode']!==_0x2e5f0a(0x1ff))return _0x5133cb[_0x2e5f0a(0x2ae)];switch(_0x4105b0){case _0x2e5f0a(0x277):return _0x5133cb[_0x2e5f0a(0x298)];case'aliasedBrowsePath':return _0x5133cb[_0x2e5f0a(0x294)]||_0x5133cb['bp_indexed'];case _0x2e5f0a(0x29d):return _0x5133cb[_0x2e5f0a(0x27e)]||_0x5133cb[_0x2e5f0a(0x1b6)];case _0x2e5f0a(0x2ac):return _0x5133cb[_0x2e5f0a(0x1b6)];default:case _0x2e5f0a(0x1c2):return _0x5133cb['nodeId'];}},_0x4043dc=_0x109705=>{const _0x512d0d=_0x19a526;if(_0x109705[_0x512d0d(0x1fa)]!==_0x512d0d(0x1ff))return _0x512d0d(0x2d4)+_0x109705[_0x512d0d(0x1fa)];else{let _0x3ff36d=[];return _0x3ff36d[_0x512d0d(0x290)](_0x512d0d(0x285)+_0x109705['nodeId']),_0x3ff36d[_0x512d0d(0x290)]('browse\x20path:\x20'+_0x109705[_0x512d0d(0x298)]),_0x3ff36d['push']('node\x20class:\x20'+_0x1edbcd[_0x109705['nodeClass']]),_0x109705['nodeId_nsu']&&_0x3ff36d[_0x512d0d(0x290)](_0x512d0d(0x2cb)+_0x109705[_0x512d0d(0x1b6)]),_0x109705['nodeId_aliased']&&_0x3ff36d['push'](_0x512d0d(0x221)+_0x109705[_0x512d0d(0x27e)]),_0x109705[_0x512d0d(0x298)]&&_0x3ff36d[_0x512d0d(0x290)](_0x512d0d(0x1bd)+_0x109705['bp_aliased']),_0x3ff36d[_0x512d0d(0x29a)]('\x0a');}};function _0x2bdbb0(_0x3336b1){const _0x5cac2d=_0x19a526;if(_0x3336b1[_0x5cac2d(0x24b)](/^nsu=/))return _0x5cac2d(0x2ac);if(_0x3336b1[_0x5cac2d(0x24b)](/^(ns=.*;)?(i|b|s|g)=/))return'nodeId';if(_0x3336b1[_0x5cac2d(0x24b)](/^nsa=/))return'aliasedNodeId';if(_0x3336b1[_0x5cac2d(0x24b)](/^(\/|\.)[0-9]+:/))return _0x5cac2d(0x277);if(_0x3336b1[_0x5cac2d(0x24b)](/^(\/|\.).*:/))return _0x5cac2d(0x277);}function _0x2cc5f7(_0x1a8b7d){const _0x100ed2=_0x19a526,_0x4d3729=_0x2bdbb0(_0x1a8b7d);switch(_0x4d3729){case _0x100ed2(0x1c2):return'n';case _0x100ed2(0x29d):return'na';case'nsuNodeID':return'nsu';case _0x100ed2(0x277):return'b';case _0x100ed2(0x25b):return'ab';default:return't';}}function _0x58ee8d(_0x375c19){const _0x1dc884=_0x19a526;let _0x78c9ae;switch(_0x375c19){case'n':_0x78c9ae=_0x1dc884(0x1c2);break;case'na':_0x78c9ae=_0x1dc884(0x29d);break;case'nsu':_0x78c9ae=_0x1dc884(0x2ac);break;case'b':_0x78c9ae=_0x1dc884(0x277);break;case'ab':_0x78c9ae=_0x1dc884(0x25b);break;}return _0x78c9ae;}function _0xb832d0(_0x12489d){const _0x216461=_0x19a526;switch(_0x12489d){case'nodeId':return'n';case _0x216461(0x29d):return'na';case _0x216461(0x2ac):return _0x216461(0x1b7);case _0x216461(0x277):return'b';case'aliasedBrowsePath':return'ab';default:return't';}}const _0x12194b=(_0x3580bd,_0x2c74c)=>_0x2ea867(void 0x0,[_0x3580bd,_0x2c74c],void 0x0,function*({endpointNode:_0x28f5a7,endpoint:_0x32139a,baseUrl:_0xd5de6f},_0x288f5c){const _0x1138d5=_0x19a526,_0x2673b9=_0xd5de6f+_0x1138d5(0x228),_0xa258ba=_0x2673b9+'/checkNodeId',_0x51d50f=_0x28f5a7['id'],_0x485971=RED[_0x1138d5(0x1d5)][_0x1138d5(0x1c9)](_0x51d50f);console['log'](_0x485971[_0x1138d5(0x2b7)]),_0x485971['namespaceAliases'];const _0x464eca=_0x28f5a7[_0x1138d5(0x2b7)],_0xfac672=yield fetch(_0xa258ba,{'method':_0x1138d5(0x2af),'body':JSON[_0x1138d5(0x2b8)]({'endpointNode':_0x28f5a7,'endpoint':_0x32139a,'nodeId':_0x288f5c,'namespaceAliases':_0x464eca}),'headers':{'Content-Type':_0x1138d5(0x270)}}),_0x449fc6=yield _0xfac672[_0x1138d5(0x226)]();return{'json':_0x449fc6,'data':_0xfac672};}),_0x4cbc58=(_0x4e511e,_0x32c0e5,_0x157924,_0x20749b)=>_0x2ea867(void 0x0,[_0x4e511e,_0x32c0e5,_0x157924,_0x20749b],void 0x0,function*({endpointNode:_0x170abe,endpoint:_0x5e0396,baseUrl:_0x46e13e},_0xee05b9,_0x27aeff,_0x499e6c){const _0x13f7f9=_0x19a526,_0xf00222=_0x27aeff[_0x13f7f9(0x2b5)](),{json:_0x3c477d,data:_0xa7180f}=yield _0x12194b({'endpointNode':_0x170abe,'endpoint':_0x5e0396,'baseUrl':_0x46e13e},_0xf00222),_0x55d797=(_0x3414d7,_0x2d3183)=>{const _0x3a6754=_0x13f7f9;_0x499e6c[_0x3a6754(0x1d1)](_0x3414d7)['addClass'](_0x3a6754(0x1c0))[_0x3a6754(0x1bc)](_0x2d3183),_0x499e6c[_0x3a6754(0x21a)](),setTimeout(()=>{const _0x1e9139=_0x3a6754;_0x499e6c[_0x1e9139(0x26d)](_0x2d3183),_0x499e6c['hide']();},0xbb8);};if(_0xa7180f['status']!==0xc8)return _0x55d797(_0x13f7f9(0x2d2)+_0xf00222,_0x13f7f9(0x1fe)),![];else{if(_0x3c477d[_0x13f7f9(0x1fa)][_0x13f7f9(0x24b)](/Good/)){const _0x35f4b8=_0x4043dc(_0x3c477d);_0x27aeff[_0x13f7f9(0x238)]('title',_0x35f4b8);const _0x20a9d5=_0x48de9e(_0x3c477d,_0xee05b9);return _0x27aeff[_0x13f7f9(0x2b5)](_0x20a9d5),_0x27aeff[_0x13f7f9(0x1bf)](_0x13f7f9(0x214)),_0x55d797('Good','ok'),!![];}else return _0x27aeff[_0x13f7f9(0x2b5)](''+_0xf00222),_0x55d797(_0x3c477d['statusCode']+'\x20'+_0xa7180f[_0x13f7f9(0x256)],_0x13f7f9(0x1fe)),![];}});function _0x4c5d16(_0x4bf515,_0x262711){return _0x2ea867(this,void 0x0,void 0x0,function*(){const _0x271b7c=_0x47cf,_0x2cb259=_0x4bf515['data']('value'),_0x18e4b4=yield _0x5abcd4(_0x262711,_0x2cb259,_0x2cdf26),_0x492022=yield _0x5abcd4(_0x262711,_0x2cb259,_0x136149);return{'references':[..._0x18e4b4[_0x271b7c(0x216)],..._0x492022['references']]};});}const _0x2cdcae={'referenceTypeId':_0x248164(_0x19a526(0x2c2)),'includeSubtypes':!![],'browseDirection':_0x276024['Forward'],'nodeClassMask':_0x1edbcd['ReferenceType']|_0x1edbcd[_0x19a526(0x23a)]|_0x1edbcd[_0x19a526(0x1af)]|_0x1edbcd[_0x19a526(0x202)],'resultMask':0x3f};function _0x10b258(_0x8409f9,_0x1c1c68){return _0x2ea867(this,void 0x0,void 0x0,function*(){const _0xc039f0=_0x8409f9['data']('value'),_0x43faf9=yield _0x5abcd4(_0x1c1c68,_0xc039f0,_0x2cdcae);return _0x43faf9;});}const _0x29c580=_0x2873b0=>{const _0x3e7cd6=_0x19a526;var _0xe91ee6,_0x131837,_0x217f9f,_0x573729;if(!_0x2873b0||!_0x2873b0[_0x3e7cd6(0x1c2)]){const _0x568ad9=$('<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>');return _0x568ad9;}const _0x4e2597=_0x2873b0[_0x3e7cd6(0x1c2)][_0x3e7cd6(0x248)](),_0x548c44=((_0xe91ee6=_0x2873b0[_0x3e7cd6(0x227)])===null||_0xe91ee6===void 0x0?void 0x0:_0xe91ee6[_0x3e7cd6(0x1d1)])||((_0x131837=_0x2873b0[_0x3e7cd6(0x28c)])===null||_0x131837===void 0x0?void 0x0:_0x131837['name'])||_0x2873b0[_0x3e7cd6(0x1c2)]['toString'](),{icon:_0x1c55a9,color:_0x5ef394}=_0x6d1854(_0x2873b0),_0x2dec2a='('+_0x2873b0['nodeId']['toString']()+')\x20'+(((_0x217f9f=_0x2873b0[_0x3e7cd6(0x28c)])===null||_0x217f9f===void 0x0?void 0x0:_0x217f9f[_0x3e7cd6(0x249)])||((_0x573729=_0x2873b0[_0x3e7cd6(0x227)])===null||_0x573729===void 0x0?void 0x0:_0x573729['text'])||''),_0x1d6f0d=$(_0x3e7cd6(0x2ce)+_0x2873b0['nodeId'][_0x3e7cd6(0x248)]()+_0x3e7cd6(0x1f1)+_0x2dec2a+_0x3e7cd6(0x250)+_0x1c55a9+_0x3e7cd6(0x1ec)+_0x5ef394+_0x3e7cd6(0x2a3)+_0x548c44+_0x3e7cd6(0x1e4));return _0x1d6f0d['addClass'](_0x3e7cd6(0x2be)),_0x1d6f0d[_0x3e7cd6(0x1f6)](_0x3e7cd6(0x20a),_0x4e2597),_0x1d6f0d[_0x3e7cd6(0x1f6)]('reference',_0x2873b0),_0x1d6f0d;},_0x542d90=(_0x2108a9,_0x3bfe75)=>{const _0x307758=_0x19a526;return _0x3bfe75[_0x307758(0x218)](_0x307758(0x28a)+_0x2108a9+'\x22]');},_0x2c2240=(_0x3db31a,_0x100742)=>{const _0x48d964=_0x19a526;_0x3db31a[_0x48d964(0x1e6)][_0x48d964(0x218)](_0x48d964(0x2d5))['removeClass'](_0x48d964(0x2bb)),_0x100742[_0x48d964(0x218)](_0x48d964(0x29f))[_0x48d964(0x1bc)]('selected');},_0x1b957d=(_0x4ff3fb,_0x2b8d60,_0x3afb0a)=>_0x2ea867(void 0x0,void 0x0,void 0x0,function*(){const _0x2dc73d=_0x19a526;let _0x19bb0c=_0x3afb0a[_0x2dc73d(0x2b9)](':first');_0x2b8d60[_0x2dc73d(0x1b3)][_0x2dc73d(0x293)]||[];const _0x249cb1=_0x2b8d60[_0x2dc73d(0x2b1)]||[];if(_0x249cb1[_0x2dc73d(0x1f0)]===0x0)return;for(const _0x542e87 of _0x249cb1){_0x19bb0c['hasClass'](_0x2dc73d(0x2be))&&(yield _0x1c7e5b(_0x4ff3fb,_0x19bb0c));const _0xc43e8c=_0x542d90(_0x542e87,_0x19bb0c);if(_0xc43e8c[_0x2dc73d(0x1f0)]===0x0)return;_0x19bb0c=_0xc43e8c;}_0x2c2240(_0x4ff3fb,_0x19bb0c),_0x3b5d3b(_0x4ff3fb['$dropdown'],_0x19bb0c);});function _0x3b5d3b(_0x2eb902,_0x1df85e){const _0x223f02=_0x19a526,_0x5ada92=_0x1df85e[_0x223f02(0x297)]()[_0x223f02(0x1f3)],_0x1bfe4c=_0x2eb902['scrollTop']();if(_0x1bfe4c==undefined)return;const _0x4b91d5=_0x1bfe4c+_0x5ada92-_0x2eb902[_0x223f02(0x2c3)]()/0x2+_0x1df85e['height']()/0x2;_0x2eb902['animate']({'scrollTop':_0x4b91d5},0x1f4);}const _0x3d44a5=(_0x5d3542,_0xb3997)=>_0x2ea867(void 0x0,void 0x0,void 0x0,function*(){const _0x1f8631=_0x19a526,_0x449ce3=_0x5d3542[_0x1f8631(0x222)][_0x1f8631(0x2b5)](),_0x50465e={'nodeId':_0x449ce3,'rootNodeId':_0xb3997[_0x1f8631(0x1c2)],'isType':_0x5d3542[_0x1f8631(0x2bf)][_0x1f8631(0x220)]||![]},_0x1a5258=_0xa02143(_0x5d3542),_0x1f7752=yield _0x2ab700(_0x1a5258,_0x50465e);if(!_0x1f7752)return;yield _0x1b957d(_0x5d3542,_0x1f7752,_0x5d3542[_0x1f8631(0x1e6)]);});function _0x4a9e86(_0x42ea52,_0x4e1490,_0x42e06d,_0x3fc343){return _0x2ea867(this,void 0x0,void 0x0,function*(){const _0x5ca5f7=_0x47cf;if(_0x4e1490[_0x5ca5f7(0x236)](_0x5ca5f7(0x219))){console[_0x5ca5f7(0x265)]('already\x20fetched');return;}if(_0x4e1490['hasClass'](_0x5ca5f7(0x278))){console[_0x5ca5f7(0x265)]('already\x20loading');return;}_0x4e1490[_0x5ca5f7(0x1bc)]('loading'),_0x4e1490[_0x5ca5f7(0x280)](_0x5ca5f7(0x2a7));try{_0x4e1490[_0x5ca5f7(0x2b9)]('ul')[_0x5ca5f7(0x1e9)]();const {references:_0x3d8882}=yield _0x42e06d(_0x4e1490,_0x3fc343);_0x3d8882[_0x5ca5f7(0x2a8)]((_0x1d825e,_0x41d6b7)=>{const _0x49b18b=_0x5ca5f7;var _0x3f4717,_0x2090c3;return(((_0x3f4717=_0x1d825e[_0x49b18b(0x28c)])===null||_0x3f4717===void 0x0?void 0x0:_0x3f4717['name'])||'')[_0x49b18b(0x20f)](((_0x2090c3=_0x41d6b7[_0x49b18b(0x28c)])===null||_0x2090c3===void 0x0?void 0x0:_0x2090c3[_0x49b18b(0x249)])||'');});for(const _0x4b5c54 of _0x3d8882){if(_0x42ea52['options']['filter']&&!_0x42ea52[_0x5ca5f7(0x2bf)][_0x5ca5f7(0x2d9)](_0x4b5c54))continue;const _0x3ef1bf=_0x29c580(_0x4b5c54);_0x4e1490[_0x5ca5f7(0x2b9)]('ul')[_0x5ca5f7(0x280)](_0x3ef1bf);}_0x4e1490[_0x5ca5f7(0x1bc)](_0x5ca5f7(0x219));}catch(_0x9437a8){_0x4e1490[_0x5ca5f7(0x2b9)]('ul')[_0x5ca5f7(0x280)](_0x5ca5f7(0x1f8)+_0x9437a8[_0x5ca5f7(0x1d3)]+_0x5ca5f7(0x1df)),console[_0x5ca5f7(0x265)](_0x5ca5f7(0x275),_0x9437a8);}_0x4e1490['find'](_0x5ca5f7(0x1e1))[_0x5ca5f7(0x272)](),_0x4e1490[_0x5ca5f7(0x26d)](_0x5ca5f7(0x278));});}function _0xa02143(_0x2291ee){const _0x8a384d=_0x19a526,_0x42fd9c={'baseUrl':_0x2291ee[_0x8a384d(0x2bf)][_0x8a384d(0x1bb)],'endpointNode':typeof _0x2291ee[_0x8a384d(0x2bf)][_0x8a384d(0x1c3)]===_0x8a384d(0x1be)?_0x2291ee['options'][_0x8a384d(0x1c3)]():_0x2291ee[_0x8a384d(0x2bf)][_0x8a384d(0x1c3)],'endpoint':typeof _0x2291ee[_0x8a384d(0x2bf)][_0x8a384d(0x2b6)]===_0x8a384d(0x1be)?_0x2291ee['options'][_0x8a384d(0x2b6)]():_0x2291ee[_0x8a384d(0x2bf)][_0x8a384d(0x2b6)]};return _0x42fd9c;}function _0x1c7e5b(_0x51805e,_0x26f1a4){return _0x2ea867(this,void 0x0,void 0x0,function*(){const _0x4b5255=_0x47cf;if(_0x26f1a4[_0x4b5255(0x236)](_0x4b5255(0x219))){_0x26f1a4[_0x4b5255(0x26d)](_0x4b5255(0x2be))[_0x4b5255(0x1bc)](_0x4b5255(0x28b)),_0x26f1a4[_0x4b5255(0x2b9)]('ul')[_0x4b5255(0x2ad)]();return;}const _0x10ab5b=_0xa02143(_0x51805e),_0x7674a3=!_0x51805e['options'][_0x4b5255(0x220)]?_0x4c5d16:_0x10b258;try{yield _0x4a9e86(_0x51805e,_0x26f1a4,_0x7674a3,_0x10ab5b),_0x26f1a4['removeClass']('expandable')[_0x4b5255(0x1bc)]('expanded');}catch(_0x37a839){_0x26f1a4[_0x4b5255(0x26d)]('expandable')['addClass'](_0x4b5255(0x28b)),console['log'](_0x4b5255(0x26b),_0x37a839);}});}const _0x4fbdb3={'browseName':{'namespaceIndex':0x0,'name':_0x19a526(0x2cc)},'nodeClass':_0x19a526(0x1eb),'nodeId':_0x19a526(0x2b3),'displayName':{'text':_0x19a526(0x2cc)},'typeDefinition':_0x3f45ef},_0x24bfa9=()=>{const _0x2fdd10=_0x19a526;$[_0x2fdd10(0x27b)](_0x2fdd10(0x260),{'options':{'endpointNode':()=>({'endpoint':_0x2fdd10(0x1cb)}),'endpoint':()=>undefined,'parentNode':()=>_0x4fbdb3,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x2ea867(this,void 0x0,void 0x0,function*(){const _0x554c5f=_0x47cf,_0x18f1a7=this;if(_0x18f1a7[_0x554c5f(0x2c0)]==undefined){const _0x1d61e2=typeof _0x18f1a7[_0x554c5f(0x2bf)][_0x554c5f(0x23c)]===_0x554c5f(0x1be)?_0x18f1a7['options'][_0x554c5f(0x23c)][_0x554c5f(0x2c5)](_0x18f1a7):_0x18f1a7['options']['parentNode'];if(_0x1d61e2 instanceof Promise){const _0x48366f=yield _0x1d61e2;_0x18f1a7[_0x554c5f(0x2c0)]=_0x48366f;}else _0x18f1a7[_0x554c5f(0x2c0)]=_0x1d61e2;}return _0x18f1a7[_0x554c5f(0x2c0)]||_0x4fbdb3;});},'reset'(){return _0x2ea867(this,void 0x0,void 0x0,function*(){const _0x39b40b=_0x47cf,_0x24f7af=this,_0x42ea24=_0x24f7af;_0x42ea24[_0x39b40b(0x2c0)]=undefined,_0x24f7af[_0x39b40b(0x1e6)][_0x39b40b(0x1e9)]();const _0x550e76=yield this[_0x39b40b(0x284)](),_0x27b9df=_0x29c580(_0x550e76);_0x24f7af[_0x39b40b(0x1e6)][_0x39b40b(0x280)](_0x27b9df),_0x24f7af['currentParent']=_0x550e76;});},'verify'(_0xf25a22){const _0x2cd7a1=_0x2fdd10,_0x5c0498=this,_0x33bdd9=_0xa02143(_0x5c0498);_0x4cbc58(_0x33bdd9,_0xf25a22,_0x5c0498[_0x2cd7a1(0x222)],_0x5c0498['$info'])[_0x2cd7a1(0x273)](_0x3c20b1=>{const _0x58e67f=_0x2cd7a1;!_0x3c20b1?_0x5c0498[_0x58e67f(0x211)][_0x58e67f(0x1bc)](_0x58e67f(0x22e)):_0x5c0498[_0x58e67f(0x211)]['removeClass'](_0x58e67f(0x22e));});},'_hideMenu'(_0x2066d1){const _0x5e011c=_0x2fdd10,_0x1e9b66=this;$(document)[_0x5e011c(0x2c8)](_0x5e011c(0x267)),_0x2066d1[_0x5e011c(0x295)](),_0x2066d1[_0x5e011c(0x27f)]({'height':_0x5e011c(0x1cf)});if(_0x2066d1[_0x5e011c(0x2d6)][_0x5e011c(0x1ed)]){var _0x322d42=[];_0x2066d1['find'](_0x5e011c(0x1f9))[_0x5e011c(0x271)](function(){const _0x31ef8d=_0x5e011c;$(this)[_0x31ef8d(0x27a)](_0x31ef8d(0x2b0))&&_0x322d42[_0x31ef8d(0x290)]($(this)[_0x31ef8d(0x1f6)]('value'));}),_0x2066d1[_0x5e011c(0x206)](_0x322d42);}_0x1e9b66['$elementDiv']['is'](_0x5e011c(0x1dd))?_0x1e9b66[_0x5e011c(0x222)][_0x5e011c(0x1bf)]('focus'):_0x1e9b66[_0x5e011c(0x233)][_0x5e011c(0x1bf)](_0x5e011c(0x1e2));},'_createMenu'(_0x2cc929,_0x439225,_0x45507e){const _0x1c7469=_0x2fdd10;var _0x3b217b=this;const _0x3b8cf3=$(_0x1c7469(0x257))[_0x1c7469(0x1bc)]('sterfive-typedInput-options\x20sterfive-online-menu');return _0x3b8cf3[_0x1c7469(0x2d6)]=_0x439225,_0x3b8cf3[_0x1c7469(0x206)]=_0x45507e,_0x2cc929[_0x1c7469(0x281)](_0x4567d9=>{const _0x26cc5b=_0x1c7469;typeof _0x4567d9===_0x26cc5b(0x2aa)&&(_0x4567d9={'value':_0x4567d9,'label':_0x4567d9});var _0x21cfca=$(_0x26cc5b(0x205))[_0x26cc5b(0x238)](_0x26cc5b(0x20a),_0x4567d9[_0x26cc5b(0x20a)])[_0x26cc5b(0x204)](_0x3b8cf3);_0x4567d9[_0x26cc5b(0x286)]&&_0x21cfca[_0x26cc5b(0x1d1)](_0x4567d9[_0x26cc5b(0x286)]);_0x4567d9[_0x26cc5b(0x2c9)]&&_0x21cfca[_0x26cc5b(0x27a)](_0x26cc5b(0x2c9),_0x4567d9['title']);if(_0x4567d9[_0x26cc5b(0x1d4)]){if(_0x4567d9[_0x26cc5b(0x1d4)][_0x26cc5b(0x2a5)]('<')===0x0)$(_0x4567d9['icon'])['prependTo'](_0x21cfca);else _0x4567d9['icon']['indexOf']('/')!==-0x1?$(_0x26cc5b(0x21b),{'class':_0x26cc5b(0x21e),'style':_0x26cc5b(0x245)+_0x4567d9['icon']+_0x26cc5b(0x291)+_0x4567d9[_0x26cc5b(0x1d4)]+');'})[_0x26cc5b(0x23e)](_0x21cfca):$(_0x26cc5b(0x21b),{'class':'red-ui-typedInput-icon\x20'+_0x4567d9[_0x26cc5b(0x1d4)]})[_0x26cc5b(0x23e)](_0x21cfca);}else _0x21cfca[_0x26cc5b(0x27f)]({'paddingLeft':_0x26cc5b(0x21d)});!_0x4567d9[_0x26cc5b(0x1d4)]&&!_0x4567d9[_0x26cc5b(0x286)]&&_0x21cfca['text'](_0x4567d9[_0x26cc5b(0x20a)]);var _0x5cc2ed;_0x439225['multiple']&&(_0x5cc2ed=$(_0x26cc5b(0x1f5))['css'](_0x26cc5b(0x20b),_0x26cc5b(0x28e))['data'](_0x26cc5b(0x20a),_0x4567d9['value'])[_0x26cc5b(0x23e)](_0x21cfca)['on'](_0x26cc5b(0x25d),function(_0x4c4d82){const _0x5bbe05=_0x26cc5b;_0x4c4d82[_0x5bbe05(0x2cd)]();})),_0x21cfca['on'](_0x26cc5b(0x252),function(_0x237ad1){const _0x319958=_0x26cc5b;_0x237ad1['preventDefault'](),_0x237ad1[_0x319958(0x2a4)](),!_0x439225[_0x319958(0x1ed)]?(_0x45507e(_0x4567d9['value']),_0x3b217b[_0x319958(0x2cf)](_0x3b8cf3)):_0x5cc2ed[_0x319958(0x27a)]('checked',!_0x5cc2ed[_0x319958(0x27a)](_0x319958(0x2b0)));});}),_0x3b8cf3[_0x1c7469(0x27f)]({'display':_0x1c7469(0x28e)}),_0x3b8cf3['on'](_0x1c7469(0x263),function(_0x5d0cdf){const _0x5868b7=_0x1c7469;if(_0x5d0cdf[_0x5868b7(0x203)]===0x28)_0x5d0cdf[_0x5868b7(0x2cd)](),$(this)[_0x5868b7(0x2b9)](_0x5868b7(0x20c))[_0x5868b7(0x1ea)]()[_0x5868b7(0x1bf)](_0x5868b7(0x1e2));else{if(_0x5d0cdf[_0x5868b7(0x203)]===0x26)_0x5d0cdf['preventDefault'](),$(this)[_0x5868b7(0x2b9)](_0x5868b7(0x20c))[_0x5868b7(0x200)]()['trigger'](_0x5868b7(0x1e2));else _0x5d0cdf[_0x5868b7(0x203)]===0x1b&&(_0x5d0cdf[_0x5868b7(0x2cd)](),_0x3b217b['_hideMenu'](_0x3b8cf3));}_0x5d0cdf[_0x5868b7(0x2a4)]();}),_0x3b8cf3;},'disarmClick':![],'_showMenu'(_0x32f066,_0x408cb5){const _0x559a7f=_0x2fdd10;if(this[_0x559a7f(0x266)]){this['disarmClick']=![];return;}var _0x4aa7cb=this,_0x2dbc6b=_0x408cb5['offset'](),_0x46b719=_0x408cb5['height'](),_0x35eaaf=_0x32f066['height'](),_0x191587=_0x46b719+_0x2dbc6b[_0x559a7f(0x1f3)];_0x191587+_0x35eaaf-$(document)[_0x559a7f(0x1c1)]()>$(window)[_0x559a7f(0x2c3)]()&&(_0x191587-=_0x191587+_0x35eaaf-$(window)[_0x559a7f(0x2c3)]()+0x5),_0x191587<0x0&&(_0x32f066[_0x559a7f(0x2c3)](_0x35eaaf+_0x191587),_0x191587=0x0),_0x32f066['css']({'top':_0x191587+'px','left':_0x2dbc6b[_0x559a7f(0x24d)]+'px'}),_0x32f066[_0x559a7f(0x243)](0x64),this[_0x559a7f(0x1db)](function(){const _0x2ff196=_0x559a7f;_0x4aa7cb['$uiSelect']['addClass'](_0x2ff196(0x2d8)),$(document)['on'](_0x2ff196(0x267),function(_0x2a4907){const _0x5a9efa=_0x2ff196;!$(_0x2a4907[_0x5a9efa(0x24c)])[_0x5a9efa(0x232)](_0x32f066)[_0x5a9efa(0x1f0)]&&_0x4aa7cb['_hideMenu'](_0x32f066),$(_0x2a4907[_0x5a9efa(0x24c)])['closest'](_0x408cb5)['length']&&(_0x4aa7cb[_0x5a9efa(0x266)]=!![],_0x2a4907[_0x5a9efa(0x2cd)]());});});},'_showTypeMenu'(){const _0x323d0b=_0x2fdd10,_0x36f16d=this;this['_showMenu'](_0x36f16d[_0x323d0b(0x1f7)],_0x36f16d[_0x323d0b(0x211)]),_0x36f16d['$dropdown'][_0x323d0b(0x295)]();const _0xb9d99d=_0x36f16d[_0x323d0b(0x1b0)];var _0x4b183f=_0x36f16d[_0x323d0b(0x1f7)]['find'](_0x323d0b(0x2d7)+_0xb9d99d+'\x27');setTimeout(function(){const _0x93c732=_0x323d0b;_0x4b183f[_0x93c732(0x1bf)](_0x93c732(0x1e2));},0x78);},'_initMenu'(){const _0x4c646f=_0x2fdd10,_0x2dd8ee=this;_0x2dd8ee[_0x4c646f(0x233)]['attr']('tabindex',-0x1),_0x2dd8ee[_0x4c646f(0x233)]['on']('mousedown.red-ui-typedInput-focus-block',function(_0x10dc6a){const _0x5d0c9b=_0x4c646f;_0x10dc6a[_0x5d0c9b(0x2cd)]();});_0x2dd8ee[_0x4c646f(0x1f7)]&&_0x2dd8ee['$menu'][_0x4c646f(0x272)]();const _0x4edf88=[{'label':_0x4c646f(0x1d1),'value':'t','title':'Value\x20is\x20not\x20verified','icon':'<i\x20class=\x22fa\x20fa-font\x22/i>\x20'},{'label':'msg.','value':'msg','title':_0x4c646f(0x246),'icon':_0x4c646f(0x207)},{'label':_0x4c646f(0x259),'value':'n','icon':_0x4c646f(0x2a1)},{'label':_0x4c646f(0x287),'value':'na','icon':_0x4c646f(0x1e5)},{'label':'NodeId\x20with\x20namespace\x20Urn','value':_0x4c646f(0x1b7),'icon':_0x4c646f(0x1cc)},{'label':'BrowsePath','value':'b','icon':_0x4c646f(0x2c4)},{'label':'Aliased\x20Browse\x20Path','value':'ab','icon':_0x4c646f(0x1fb)}],_0x908339=_0x2cc5f7(_0x2dd8ee[_0x4c646f(0x222)][_0x4c646f(0x2b5)]()),_0x2d6ec7=_0x4edf88[_0x4c646f(0x218)](_0x1265f0=>_0x1265f0[_0x4c646f(0x20a)]===_0x908339);_0x2dd8ee['$selectLabel']['empty']()[_0x4c646f(0x280)]('<span\x20title='+((_0x2d6ec7===null||_0x2d6ec7===void 0x0?void 0x0:_0x2d6ec7['title'])||'')+'>&nbsp;\x20'+((_0x2d6ec7===null||_0x2d6ec7===void 0x0?void 0x0:_0x2d6ec7['icon'])||'')+_0x4c646f(0x28d)),_0x2dd8ee[_0x4c646f(0x1b0)]=_0x908339;const _0x382008=this;_0x2dd8ee['$menu']=this[_0x4c646f(0x2ca)](_0x4edf88,{},_0x3e3433=>{const _0x329a17=_0x4c646f,_0xe8b642=_0x58ee8d(_0x3e3433);_0xe8b642&&_0x382008['verify'](_0xe8b642);const _0x306be8=_0x4edf88[_0x329a17(0x218)](_0x37d3a9=>_0x37d3a9[_0x329a17(0x20a)]===_0x3e3433);_0x2dd8ee[_0x329a17(0x1b0)]=_0x3e3433,_0x2dd8ee[_0x329a17(0x1ce)][_0x329a17(0x1e9)]()['append'](_0x329a17(0x22d)+((_0x306be8===null||_0x306be8===void 0x0?void 0x0:_0x306be8[_0x329a17(0x2c9)])||'')+_0x329a17(0x244)+((_0x306be8===null||_0x306be8===void 0x0?void 0x0:_0x306be8[_0x329a17(0x1d4)])||'')+'</span>');}),_0x2dd8ee[_0x4c646f(0x1f7)]['appendTo'](document[_0x4c646f(0x1fd)]),_0x2dd8ee[_0x4c646f(0x1f7)]['hide'](),_0x2dd8ee[_0x4c646f(0x233)][_0x4c646f(0x21a)]();},'mode'(){const _0x15743e=this;return _0x58ee8d(_0x15743e['selectedMenuItem']);},'setMode'(_0x5f0193){const _0x3bdb96=_0x2fdd10,_0x4de7e9=this,_0x500b17=_0xb832d0(_0x5f0193);_0x4de7e9[_0x3bdb96(0x1b0)]=_0x500b17;},'_create'(){const _0x57667c=_0x2fdd10,_0xbc1b1=this;_0xbc1b1[_0x57667c(0x222)]=this[_0x57667c(0x1b2)],_0xbc1b1[_0x57667c(0x222)][_0x57667c(0x27f)](_0x57667c(0x2c7),_0x57667c(0x28e)),_0xbc1b1[_0x57667c(0x1cd)]=_0xbc1b1[_0x57667c(0x222)][_0x57667c(0x1d0)](_0x57667c(0x257))[_0x57667c(0x21f)]()[_0x57667c(0x1bc)](_0x57667c(0x1fc)),_0xbc1b1['$combo']=$(_0x57667c(0x23f)),_0xbc1b1[_0x57667c(0x211)]['addClass'](_0x57667c(0x253)),_0xbc1b1[_0x57667c(0x222)][_0x57667c(0x283)](_0xbc1b1['$combo']),_0xbc1b1[_0x57667c(0x26c)]=$('<div/>')[_0x57667c(0x1bc)]('sterfive-input-group'),_0xbc1b1[_0x57667c(0x211)]['append'](_0xbc1b1[_0x57667c(0x26c)]),_0xbc1b1[_0x57667c(0x26c)][_0x57667c(0x280)](_0xbc1b1[_0x57667c(0x222)]),_0xbc1b1['$toggleTreeBtn']=$(_0x57667c(0x237)),_0xbc1b1['$input'][_0x57667c(0x28f)](_0xbc1b1[_0x57667c(0x29c)]),_0xbc1b1[_0x57667c(0x29c)]['on']('click',function(){return _0x2ea867(this,void 0x0,void 0x0,function*(){const _0x296a58=_0x47cf;var _0x15cde0;let _0x53b8f7=![],_0x545cb0;!_0xbc1b1[_0x296a58(0x2ab)]['is'](_0x296a58(0x1dd))&&(_0xbc1b1[_0x296a58(0x247)][_0x296a58(0x295)](),_0x545cb0=yield _0xbc1b1[_0x296a58(0x284)](),(_0x545cb0!==_0xbc1b1[_0x296a58(0x23b)]||((_0x15cde0=_0xbc1b1[_0x296a58(0x23b)])===null||_0x15cde0===void 0x0?void 0x0:_0x15cde0[_0x296a58(0x1c2)])!==_0x545cb0[_0x296a58(0x1c2)])&&(yield _0xbc1b1[_0x296a58(0x262)]()),_0x53b8f7=!![]),_0xbc1b1[_0x296a58(0x2ab)][_0x296a58(0x2ad)](),_0x53b8f7&&(yield _0x3d44a5(_0xbc1b1,_0x545cb0));});}),_0xbc1b1[_0x57667c(0x213)]=$(_0x57667c(0x241)),_0xbc1b1[_0x57667c(0x222)][_0x57667c(0x28f)](_0xbc1b1[_0x57667c(0x213)]),_0xbc1b1[_0x57667c(0x213)]['on'](_0x57667c(0x252),()=>{const _0x222dd5=_0x57667c,_0x3e6720=_0xbc1b1[_0x222dd5(0x1c5)]();if(!_0x3e6720)return;this[_0x222dd5(0x1f4)](_0x3e6720);});const _0x1e1009=_0x1e903b=>_0x2ea867(this,void 0x0,void 0x0,function*(){const _0xb577d8=_0x57667c,_0x3402cc=this;let _0x5752d2=_0x3402cc['mode']();if(!_0x5752d2)return;const _0x4fcda7=_0xa02143(_0x3402cc),{data:_0x5834d9,json:_0x1826cd}=yield _0x12194b(_0x4fcda7,_0x1e903b);if(_0x5834d9['status']!==0xc8)return;if(_0x1826cd[_0xb577d8(0x1fa)][_0xb577d8(0x24b)](/Good/)){const _0x28a90c=_0x48de9e(_0x1826cd,_0x5752d2);_0x3402cc[_0xb577d8(0x222)][_0xb577d8(0x2b5)](_0x28a90c),_0x3402cc[_0xb577d8(0x222)][_0xb577d8(0x1bf)](_0xb577d8(0x214));}});{_0xbc1b1['$uiSelect']=$(_0x57667c(0x257)),_0xbc1b1[_0x57667c(0x222)][_0x57667c(0x269)](_0xbc1b1[_0x57667c(0x25c)]),_0xbc1b1[_0x57667c(0x233)]=$(_0x57667c(0x22c))[_0x57667c(0x23e)](_0xbc1b1[_0x57667c(0x25c)]),$(_0x57667c(0x288))['toggle'](!![])['appendTo'](_0xbc1b1[_0x57667c(0x233)]),_0xbc1b1[_0x57667c(0x233)]['on'](_0x57667c(0x252),function(_0x496773){const _0x439c2f=_0x57667c;_0x496773[_0x439c2f(0x2cd)](),_0x496773['stopPropagation'](),_0xbc1b1[_0x439c2f(0x282)]();}),_0xbc1b1['$selectTrigger']['on'](_0x57667c(0x263),function(_0x2736ef){const _0x49a3b6=_0x57667c;_0x2736ef[_0x49a3b6(0x203)]===0x28&&_0xbc1b1['_showTypeMenu'](),_0x2736ef['stopPropagation']();})['on'](_0x57667c(0x1e2),function(){const _0x1e8347=_0x57667c;_0xbc1b1[_0x1e8347(0x25c)][_0x1e8347(0x1bc)]('red-ui-typedInput-focus');})['on'](_0x57667c(0x1e8),function(){const _0x56f12e=_0x57667c;_0xbc1b1['$uiSelect']['removeClass'](_0x56f12e(0x2d8));}),_0xbc1b1[_0x57667c(0x1ce)]=$('<span\x20class=\x22red-ui-typedInput-type-label\x22></span>')[_0x57667c(0x204)](_0xbc1b1[_0x57667c(0x233)]);}this[_0x57667c(0x25e)]();!_0xbc1b1['$input'][_0x57667c(0x238)]('placeholder')&&_0xbc1b1[_0x57667c(0x222)]['attr'](_0x57667c(0x2bc),_0x57667c(0x1e7));_0xbc1b1[_0x57667c(0x247)]=$(_0x57667c(0x292)),_0xbc1b1[_0x57667c(0x247)][_0x57667c(0x295)](),_0xbc1b1[_0x57667c(0x211)][_0x57667c(0x280)](_0xbc1b1[_0x57667c(0x247)]),_0xbc1b1[_0x57667c(0x2ab)]=$('<div/>')['addClass'](_0x57667c(0x254))[_0x57667c(0x295)]()[_0x57667c(0x204)](_0xbc1b1[_0x57667c(0x211)]),_0xbc1b1[_0x57667c(0x1e6)]=$(_0x57667c(0x230))['appendTo'](_0xbc1b1['$dropdown']),this[_0x57667c(0x262)]();const _0x834456=(_0x4b0c29,_0xf8795b)=>{const _0x2316e4=_0x57667c,_0xd619aa=0x14,_0x5802d8=0x14,_0x68667b=_0x4b0c29[_0x2316e4(0x212)](),_0x34ff2c=_0xf8795b;if(_0x34ff2c['pageX']>=_0x68667b[_0x2316e4(0x24d)]&&_0x34ff2c[_0x2316e4(0x225)]<=_0x68667b[_0x2316e4(0x24d)]+_0xd619aa&&_0x34ff2c[_0x2316e4(0x208)]>=_0x68667b[_0x2316e4(0x1f3)]&&_0x34ff2c[_0x2316e4(0x208)]<=_0x68667b[_0x2316e4(0x1f3)]+_0x5802d8)return!![];return![];},_0x9e427f=_0x8701ba=>_0x2ea867(this,void 0x0,void 0x0,function*(){const _0x16a931=_0x57667c;if(_0x8701ba['hasClass'](_0x16a931(0x2be)))_0x1c7e5b(_0xbc1b1,_0x8701ba);else{if(_0x8701ba[_0x16a931(0x236)](_0x16a931(0x28b)))_0x8701ba['children']('ul')[_0x16a931(0x2ad)](),_0x8701ba[_0x16a931(0x2a6)](_0x16a931(0x2bd));else{if(_0x8701ba[_0x16a931(0x2b9)]('ul')[_0x16a931(0x2b9)]()[_0x16a931(0x1f0)]>0x0)_0x8701ba[_0x16a931(0x2b9)]('ul')['toggle'](),_0x8701ba[_0x16a931(0x2a6)](_0x16a931(0x2bd));else;}}});_0xbc1b1[_0x57667c(0x1e6)]['on'](_0x57667c(0x1c4),'li',function(_0x136b15){const _0x2c2a1c=_0x57667c;var _0xfccd9,_0x5c7912;_0x136b15[_0x2c2a1c(0x2a4)]();let _0x19090e=$(this);if(_0x834456(_0x19090e,_0x136b15))_0x9e427f(_0x19090e);else{const _0x47c820=_0x19090e[_0x2c2a1c(0x1f6)](_0x2c2a1c(0x20a)),_0x3bc81b=_0x19090e['data'](_0x2c2a1c(0x1b4));if(_0xbc1b1['options'][_0x2c2a1c(0x1c7)]&&!_0xbc1b1[_0x2c2a1c(0x2bf)][_0x2c2a1c(0x1c7)](_0x3bc81b))return;_0xbc1b1[_0x2c2a1c(0x222)]['data'](_0x2c2a1c(0x1b4),_0x3bc81b),((_0xfccd9=_0x3bc81b['displayName'])===null||_0xfccd9===void 0x0?void 0x0:_0xfccd9[_0x2c2a1c(0x1d1)])||((_0x5c7912=_0x3bc81b['browseName'])===null||_0x5c7912===void 0x0?void 0x0:_0x5c7912[_0x2c2a1c(0x249)])||_0x3bc81b[_0x2c2a1c(0x1c2)][_0x2c2a1c(0x248)]();let _0x3aaa62=_0xbc1b1[_0x2c2a1c(0x1c5)]();!_0x3aaa62&&(_0x3aaa62=_0x2c2a1c(0x1c2),_0xbc1b1['setMode'](_0x3aaa62)),_0x1e1009(_0x47c820)[_0x2c2a1c(0x273)](()=>{const _0x46b34f=_0x2c2a1c;_0xbc1b1[_0x46b34f(0x2ab)]['hide']();})[_0x2c2a1c(0x29e)](_0xa72c0e=>{const _0x325054=_0x2c2a1c;_0xbc1b1[_0x325054(0x2ab)][_0x325054(0x295)]();});}}),_0xbc1b1[_0x57667c(0x1e6)]['on']('click','li',function(_0x2fb5f7){const _0x13463a=_0x57667c;_0x2fb5f7[_0x13463a(0x2a4)]();let _0x224234=$(this);_0x834456(_0x224234,_0x2fb5f7)&&_0x9e427f(_0x224234),_0x2c2240(_0xbc1b1,_0x224234);}),$(document)['on']('click',function(_0x322487){const _0x34e960=_0x57667c;!$(_0x322487['target'])[_0x34e960(0x232)](_0xbc1b1[_0x34e960(0x211)])[_0x34e960(0x1f0)]&&_0xbc1b1[_0x34e960(0x2ab)][_0x34e960(0x295)]();});}});},_0x142e7a=()=>{const _0x455e8b=_0x19a526,_0x427350=$('#node-input-endpoint'),_0x558704=_0x427350[_0x455e8b(0x2b5)](),_0x79150=RED['nodes'][_0x455e8b(0x1c9)](_0x558704);if(!_0x79150)return undefined;const {endpoint:_0x59fb6d,securityMode:_0x2c6e14,securityPolicy:_0xb6fc02,userIdentityType:_0xe6b5f4,credentials:_0x24a65e,namespaceAliases:_0x1c28e5}=_0x79150,_0x380891={'endpoint':_0x59fb6d,'securityMode':_0x2c6e14,'securityPolicy':_0xb6fc02,'userIdentityType':_0xe6b5f4,'credentials':_0x24a65e,'namespaceAliases':_0x1c28e5};return _0x380891;},_0x269750=()=>{const _0x3199b7=_0x19a526,_0x3cee59=$('#node-input-endpoint'),_0xe004eb=_0x3cee59[_0x3199b7(0x2b5)](),_0x9be6b0=_0x142e7a();if(!_0x9be6b0)return undefined;const _0x5b9026=_0x9be6b0[_0x3199b7(0x2b7)];return Object[_0x3199b7(0x1de)]({'namespaceAliases':_0x5b9026,'id':_0xe004eb},_0x9be6b0);},_0x218199=()=>{return{'endpointNode':_0x269750};},_0x5c0246=()=>{const _0x1ffc72=_0x19a526,_0x347f37=$(_0x1ffc72(0x2a0));console[_0x1ffc72(0x265)](_0x1ffc72(0x24e),_0x347f37['length']);if(_0x347f37[_0x1ffc72(0x1f0)]){console[_0x1ffc72(0x265)]('installing\x20iframe');const _0x45c9ab=$(_0x1ffc72(0x239),{'src':_0x1ffc72(0x223),'scrolling':'no','style':_0x1ffc72(0x235),'allowtransparency':_0x1ffc72(0x26a),'width':_0x1ffc72(0x2c6),'height':_0x1ffc72(0x258)});_0x347f37[_0x1ffc72(0x280)](_0x45c9ab),_0x45c9ab[_0x1ffc72(0x27f)]({'position':_0x1ffc72(0x279),'right':_0x1ffc72(0x1b9),'bottom':_0x1ffc72(0x217)});}};RED[_0x19a526(0x1d5)][_0x19a526(0x20d)](_0x19a526(0x210),{'category':_0x19a526(0x1d2),'color':_0x19a526(0x1ef),'align':'right','icon':'../../icons/opcuanodeLogo.png','paletteLabel':_0x19a526(0x1ee),'defaults':{'inputs':{'value':0x1},'output':{'value':0x4},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':_0x19a526(0x2da)},'attributeId':{'value':_0x19a526(0x22f),'required':!![]},'nodeId':{'value':'','required':![]},'outputType':{'value':_0x19a526(0x22f),'required':!![]}},'outputs':0x2,'label'(){const _0x53bea3=_0x19a526;return this[_0x53bea3(0x249)]||_0x53bea3(0x234);},'labelStyle'(){const _0x48b702=_0x19a526;return this[_0x48b702(0x249)]?_0x48b702(0x1ba):'';},'oneditprepare'(){const _0x5066d7=_0x19a526,_0x506374=this;_0x24bfa9(),_0x5c0246(),_0x506374[_0x5066d7(0x240)]=0x1;const _0x11dfb7=$(_0x5066d7(0x231));_0x11dfb7[_0x5066d7(0x268)](Object[_0x5066d7(0x1de)](Object[_0x5066d7(0x1de)]({},_0x218199()),{'isSelectable'(_0x40f2d5){const _0x10ee68=_0x5066d7;return _0x40f2d5[_0x10ee68(0x1ad)]===_0x10ee68(0x2d0);}}));},'oneditsave'(){}});}()));function _0x3b51(){const _0x27708a=['registerType','apply','localeCompare','OpcUa-Client2-Read','$combo','offset','$verifyBtn','change','fa-list-alt','references','16px','find','fetched','show','<i>','throw','18px','red-ui-typedInput-icon','parent','isTypeRef','aliased\x20NodeId:\x20','$input','/opcua-for-node-red/support-frame.html','5031PLanMe','pageX','json','displayName','/opcua-for-node-red','ns=0;i=45','fa-question','Organizes','<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>','<span\x20title=','sterfive-input-error','Value','<ul\x20class=\x22sterfive-tree\x22></ul>','#node-input-nodeId','closest','$selectTrigger','OPCUA\x20Client\x20Read','background-color:transparent;overflow:hidden;border:3px','hasClass','<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>','attr','<iframe></iframe>','ObjectType','currentParent','parentNode','IsForward','prependTo','<div/>','inputs','<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>','HasProperty','slideDown','>&nbsp;\x20','mask-image:\x20url(','node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','$info','toString','name','SuppressedError','match','target','left','installFeedbackWidget\x20','HasTypeDefinition','><i\x20class=\x22fa\x20','SandyBrown','click','sterfive-combo-box','sterfive-dropdown','1217951PuWktl','statusText','<div>','30px','NodeId','Invalid','aliasedBrowsePath','$uiSelect','mousedown','_initMenu','Both','sterfive.nodeBrowser','ns=0;i=46','reset','keydown','ReferenceType','log','disarmClick','mousedown.red-ui-typedInput-close-property-select','nodeBrowser','before','true','error','$inputGroup','removeClass','done','NodeClass','application/json','each','remove','then','status','err','Inverse','browsePath','loading','absolute','prop','widget','rgba(61,\x2060,\x204,\x200.525)','fetching\x20failed\x20with\x20error','nodeId_aliased','css','append','forEach','_showTypeMenu','replaceWith','resolveParentNode','nodeId:\x20','label','Aliased\x20NodeId','<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>','DisplayName','li[key=\x22','expanded','browseName','</span>','none','after','push',');\x20-webkit-mask-image:\x20url(','<div\x20class=\x22sterfive-info-text\x22></div>','elements','bp_aliased','hide','referenceTypeId','position','bp_indexed','1256430eMxohO','join','SteelBlue','$toggleTreeBtn','aliasedNodeId','catch','.tree-text:first','.red-ui-tray-body','<i\x20class=\x22fa\x20fa-tag\x22/>1\x20&nbsp;\x20','DarkOrange',';\x22></i>\x20','stopPropagation','indexOf','toggleClass','<div\x20class=\x22spinner\x22></div>','sort','64072zouwyG','string','$dropdown','nsuNodeID','toggle','requestedNodeId','POST','checked','nodeIds','2iPiPXS','ns=0;i=85','fa-folder','val','endpoint','namespaceAliases','stringify','children','Forward','selected','placeholder','expandable\x20expanded','expandable','options','__parentNode','2422670QDIszT','HasSubtype','height','<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/>&nbsp;','call','180px','border','off','title','_createMenu','nsu\x20nodeId:\x20','Objects','preventDefault','<li\x20key=\x22','_hideMenu','Variable','View','!!failure!!','Method','statusCode:\x20','li\x20>\x20.tree-text','opts','[value=\x27','red-ui-typedInput-focus','filter','OpcUa-Endpoint2','nodeClass','ns=0;i=35','DataType','selectedMenuItem','TypeDefinition','element','relativePath','reference','grey','nodeId_nsu','nsu','HasChild','20px','node_label_italic','baseUrl','addClass','aliased\x20browsePath:\x20','function','trigger','sterfive-info','scrollTop','nodeId','endpointNode','dblclick','mode','47110RONqxe','isSelectable','ns=0;i=40','node','3608808HTRlhd','opc.tcp://opcuademo.sterfive.com:26543','<i\x20class=\x22fa\x20fa-id-card\x22/>&nbsp;\x20','$elementDiv','$selectLabel','auto','wrap','text','opcua','message','icon','nodes','BrowseName','279trfxHS','i=61','fa-object-group','4583856MLDHqK','_delay','/walk-backward',':visible','assign','</li>','SeaGreen','.spinner','focus','CadetBlue','</span><ul></ul></li>','<i\x20class=\x22fa\x20fa-bookmark\x22/>&nbsp;\x20','$tree','enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20','blur','empty','next','Object','\x22\x20style=\x22color:','multiple','read','#C0DEED','length','\x22}><span\x20class=\x22tree-text\x22\x20title=','typeDefinition','top','verify','<input\x20type=\x22checkbox\x22>','data','$menu','<li>error\x20','input[type=\x22checkbox\x22]','statusCode','<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/>&nbsp;','main-wrapper','body','failure','Good','prev','Unspecified','VariableType','keyCode','appendTo','<a\x20href=\x22#\x22></a>','callback','<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>','pageY','HasComponent','value','pointer-events',':focus'];_0x3b51=function(){return _0x27708a;};return _0x3b51();}
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHgyZWE4NjciLCJfMHgzOTNmMzEiLCJfMHgxZDcwYjEiLCJfMHgyYzc0YzEiLCJfMHgyYzYyNTAiLCJfMHg1MGRhMTgiLCJfMHgyMzQ5YjAiLCJfMHgxYTk3YmEiLCJQcm9taXNlIiwiXzB4NTU3MzA3IiwiXzB4MTM3NjBlIiwiXzB4NzE5Mjg1IiwiXzB4M2QxMDM3IiwiXzB4NDI1ZjA0IiwiXzB4ZGI3NTI1IiwiXzB4MmQ5ZWU3IiwiXzB4MTQyODI3IiwiXzB4MTM0NThmIiwiXzB4NGZjMTU5IiwiU3VwcHJlc3NlZEVycm9yIiwiXzB4Mzc5NDMxIiwiXzB4OWFkNGM4IiwiXzB4MTg1NTgwIiwiXzB4MTIwM2ExIiwiRXJyb3IiLCJfMHgzMDk3ODYiLCJfMHgzZjQ1ZWYiLCJfMHgyMDNkMDEiLCJfMHgxZjNlN2UiLCJfMHg0NmY1Y2MiLCJfMHg4MGYyN2QiLCJfMHhmYTg3NTMiLCJfMHgyNzYwMjQiLCJfMHgxYmQ0ZmIiLCJfMHgxZWRiY2QiLCJfMHg1ZDkxOGIiLCJfMHgyODJhMGMiLCJfMHg0ZTM3NWIiLCJfMHgxMjdkMDgiLCJfMHgxNzE1ZTciLCJfMHgyNDgxNjQiLCJfMHgxM2MyNjQiLCJfMHg2ZDE4NTQiLCJfMHgzMjljNzciLCJfMHg1YWJjZDQiLCJfMHg1Y2UzOTUiLCJfMHhjZTJjODUiLCJfMHgzOGFkZTgiLCJlbmRwb2ludE5vZGUiLCJfMHgyZTNkNGIiLCJlbmRwb2ludCIsIl8weDU3NDFlNCIsImJhc2VVcmwiLCJfMHgxMGQxN2UiLCJfMHg0NGRlMzEiLCJfMHhkNDE5YSIsIl8weDUxYzU1NiIsIl8weDhlY2YyNCIsIl8weDQ3ZWE3MiIsIk9iamVjdCIsIl8weGExZWFmNyIsImZldGNoIiwiSlNPTiIsImNvbnNvbGUiLCJfMHgzY2EzODEiLCJfMHgzZGVlOWMiLCJfMHgyY2RmMjYiLCJfMHgxMzYxNDkiLCJfMHgyYWI3MDAiLCJfMHgzZjY2YzciLCJfMHg1NjBkNzAiLCJfMHgyOTFhMDciLCJfMHgyZmI3OTIiLCJfMHgyZWRhOGMiLCJub2RlSWQiLCJfMHgxYzIxZjQiLCJyb290Tm9kZUlkIiwiXzB4M2Y3MzFmIiwiaXNUeXBlIiwiXzB4MjM0NTlhIiwiXzB4MjYwNzI4IiwiXzB4MjU0OTg0IiwiXzB4MTMwYmI5IiwiXzB4NTg5NDQyIiwiXzB4NDhkZTllIiwiXzB4NTEzM2NiIiwiXzB4NDEwNWIwIiwiXzB4NDA0M2RjIiwiXzB4MTA5NzA1IiwiXzB4M2ZmMzZkIiwiXzB4MmJkYmIwIiwiXzB4MzMzNmIxIiwiXzB4MmNjNWY3IiwiXzB4MWE4YjdkIiwiXzB4NGQzNzI5IiwiXzB4NThlZThkIiwiXzB4Mzc1YzE5IiwiXzB4NzhjOWFlIiwiXzB4YjgzMmQwIiwiXzB4MTI0ODlkIiwiXzB4MTIxOTRiIiwiXzB4MzU4MGJkIiwiXzB4MmM3NGMiLCJfMHgyOGY1YTciLCJfMHgzMjEzOWEiLCJfMHhkNWRlNmYiLCJfMHgyODhmNWMiLCJfMHgyNjczYjkiLCJfMHhhMjU4YmEiLCJfMHg1MWQ1MGYiLCJfMHg0ODU5NzEiLCJSRUQiLCJfMHg0NjRlY2EiLCJfMHhmYWM2NzIiLCJfMHg0NDlmYzYiLCJfMHg0Y2JjNTgiLCJfMHg0ZTUxMWUiLCJfMHgzMmMwZTUiLCJfMHgxNTc5MjQiLCJfMHgyMDc0OWIiLCJfMHgxNzBhYmUiLCJfMHg1ZTAzOTYiLCJfMHg0NmUxM2UiLCJfMHhlZTA1YjkiLCJfMHgyN2FlZmYiLCJfMHg0OTllNmMiLCJfMHhmMDAyMjIiLCJqc29uIiwiXzB4M2M0NzdkIiwiZGF0YSIsIl8weGE3MTgwZiIsIl8weDU1ZDc5NyIsIl8weDM0MTRkNyIsIl8weDJkMzE4MyIsInNldFRpbWVvdXQiLCJfMHgzNWY0YjgiLCJfMHgyMGE5ZDUiLCJfMHg0YzVkMTYiLCJfMHg0YmY1MTUiLCJfMHgyNjI3MTEiLCJfMHgyY2IyNTkiLCJfMHgxOGU0YjQiLCJfMHg0OTIwMjIiLCJfMHgyY2RjYWUiLCJfMHgxMGIyNTgiLCJfMHg4NDA5ZjkiLCJfMHgxYzFjNjgiLCJfMHhjMDM5ZjAiLCJfMHg0M2ZhZjkiLCJfMHgyOWM1ODAiLCJfMHgyODczYjAiLCJfMHhlOTFlZTYiLCJfMHgxMzE4MzciLCJfMHgyMTdmOWYiLCJfMHg1NzM3MjkiLCJfMHg1NjhhZDkiLCIkIiwiXzB4NGUyNTk3IiwiXzB4NTQ4YzQ0IiwiaWNvbiIsIl8weDFjNTVhOSIsImNvbG9yIiwiXzB4NWVmMzk0IiwiXzB4MmRlYzJhIiwiXzB4MWQ2ZjBkIiwiXzB4NTQyZDkwIiwiXzB4MjEwOGE5IiwiXzB4M2JmZTc1IiwiXzB4MmMyMjQwIiwiXzB4M2RiMzFhIiwiXzB4MTAwNzQyIiwiXzB4MWI5NTdkIiwiXzB4NGZmM2ZiIiwiXzB4MmI4ZDYwIiwiXzB4M2FmYjBhIiwiXzB4MTliYjBjIiwiXzB4MjQ5Y2IxIiwiXzB4NTQyZTg3IiwiXzB4MWM3ZTViIiwiXzB4YzQzZThjIiwiXzB4M2I1ZDNiIiwiXzB4MmViOTAyIiwiXzB4MWRmODVlIiwiXzB4NWFkYTkyIiwiXzB4MWJmZTRjIiwidW5kZWZpbmVkIiwiXzB4NGI5MWQ1IiwiXzB4M2Q0NGE1IiwiXzB4NWQzNTQyIiwiXzB4YjM5OTciLCJfMHg0NDljZTMiLCJfMHg1MDQ2NWUiLCJfMHgxYTUyNTgiLCJfMHhhMDIxNDMiLCJfMHgxZjc3NTIiLCJfMHg0YTllODYiLCJfMHg0MmVhNTIiLCJfMHg0ZTE0OTAiLCJfMHg0MmUwNmQiLCJfMHgzZmMzNDMiLCJyZWZlcmVuY2VzIiwiXzB4M2Q4ODgyIiwiXzB4MWQ4MjVlIiwiXzB4NDFkNmI3IiwiXzB4M2Y0NzE3IiwiXzB4MjA5MGMzIiwiXzB4NGI1YzU0IiwiXzB4M2VmMWJmIiwiXzB4OTQzN2E4IiwiXzB4MjI5MWVlIiwiXzB4NDJmZDljIiwiXzB4NTE4MDVlIiwiXzB4MjZmMWE0IiwiXzB4MTBhYjViIiwiXzB4NzY3NGEzIiwiXzB4MzdhODM5IiwiXzB4NGZiZGIzIiwiXzB4MjRiZmE5IiwiXzB4MThmMWE3IiwiXzB4MWQ2MWUyIiwiXzB4NDgzNjZmIiwiXzB4MjRmN2FmIiwiXzB4NDJlYTI0IiwiXzB4NTUwZTc2IiwiXzB4MjdiOWRmIiwiXzB4ZjI1YTIyIiwiXzB4NWMwNDk4IiwiXzB4MzNiZGQ5IiwiXzB4M2MyMGIxIiwiXzB4MjA2NmQxIiwiXzB4MWU5YjY2IiwiZG9jdW1lbnQiLCJfMHgzMjJkNDIiLCJfMHgyY2M5MjkiLCJfMHg0MzkyMjUiLCJfMHg0NTUwN2UiLCJfMHgzYjIxN2IiLCJfMHgzYjhjZjMiLCJfMHg0NTY3ZDkiLCJfMHgyMWNmY2EiLCJfMHg1Y2MyZWQiLCJfMHg0YzRkODIiLCJfMHgyMzdhZDEiLCJfMHg1ZDBjZGYiLCJfMHgzMmYwNjYiLCJfMHg0MDhjYjUiLCJfMHg0YWE3Y2IiLCJfMHgyZGJjNmIiLCJfMHg0NmI3MTkiLCJfMHgzNWVhYWYiLCJfMHgxOTE1ODciLCJ3aW5kb3ciLCJfMHgyYTQ5MDciLCJfMHgzNmYxNmQiLCJfMHhiOWQ5OWQiLCJfMHg0YjE4M2YiLCJfMHgyZGQ4ZWUiLCJfMHgxMGRjNmEiLCJfMHg0ZWRmODgiLCJfMHg5MDgzMzkiLCJfMHgyZDZlYzciLCJfMHgxMjY1ZjAiLCJfMHgzODIwMDgiLCJfMHgzZTM0MzMiLCJfMHhlOGI2NDIiLCJfMHgzMDZiZTgiLCJfMHgzN2QzYTkiLCJfMHgxNTc0M2UiLCJfMHg1ZjAxOTMiLCJfMHg0ZGU3ZTkiLCJfMHg1MDBiMTciLCJfMHhiYzFiMSIsIl8weDE1Y2RlMCIsIl8weDUzYjhmNyIsIl8weDU0NWNiMCIsIl8weDNlNjcyMCIsIl8weDFlMTAwOSIsIl8weDFlOTAzYiIsIl8weDM0MDJjYyIsIl8weDU3NTJkMiIsIl8weDRmY2RhNyIsIl8weDU4MzRkOSIsIl8weDE4MjZjZCIsIl8weDI4YTkwYyIsIl8weDQ5Njc3MyIsIl8weDI3MzZlZiIsIl8weDgzNDQ1NiIsIl8weDRiMGMyOSIsIl8weGY4Nzk1YiIsIl8weGQ2MTlhYSIsIl8weDU4MDJkOCIsIl8weDY4NjY3YiIsIl8weDM0ZmYyYyIsIl8weDllNDI3ZiIsIl8weDg3MDFiYSIsIl8weDEzNmIxNSIsIl8weGZjY2Q5IiwiXzB4NWM3OTEyIiwiXzB4MTkwOTBlIiwiXzB4NDdjODIwIiwiXzB4M2JjODFiIiwiXzB4M2FhYTYyIiwiXzB4YTcyYzBlIiwiXzB4MmZiNWY3IiwiXzB4MjI0MjM0IiwiXzB4MzIyNDg3IiwiXzB4MTQyZTdhIiwiXzB4NDI3MzUwIiwiXzB4NTU4NzA0IiwiXzB4NzkxNTAiLCJfMHg1OWZiNmQiLCJzZWN1cml0eU1vZGUiLCJfMHgyYzZlMTQiLCJzZWN1cml0eVBvbGljeSIsIl8weGI2ZmMwMiIsInVzZXJJZGVudGl0eVR5cGUiLCJfMHhlNmI1ZjQiLCJjcmVkZW50aWFscyIsIl8weDI0YTY1ZSIsIm5hbWVzcGFjZUFsaWFzZXMiLCJfMHgxYzI4ZTUiLCJfMHgzODA4OTEiLCJfMHgyNjk3NTAiLCJfMHgzY2VlNTkiLCJfMHhlMDA0ZWIiLCJfMHg5YmU2YjAiLCJfMHg1YjkwMjYiLCJfMHgyMTgxOTkiLCJfMHg1YzAyNDYiLCJfMHgzNDdmMzciLCJfMHg0NWM5YWIiLCJfMHg1MDYzNzQiLCJfMHgxMWRmYjciLCJfMHg0MGYyZDUiXSwibWFwcGluZ3MiOiJreUJBQUEsQ0FBQyxVLENBQ0csYSx3QkFtQkEsU0FBU0EsU0FBVCxDQUFtQkMsU0FBbkIsQ0FBNEJDLFNBQTVCLENBQXdDQyxTQUF4QyxDQUEyQ0MsU0FBM0MsQyxDQUNJLFNBQVNDLFNBQVQsQ0FBZUMsU0FBZixDLFFBQStCQSxTQUFBLFlBQWlCSCxTQUFqQixDQUFxQkcsU0FBckIsQ0FBNkIsSUFBSUgsU0FBSixDQUFNLFNBQVVJLFNBQVYsQyxDQUFxQkEsU0FBQSxDQUFRRCxTQUFSLEMsRUFBM0IsQyxTQUNyRCxHQUFLLENBQUFILFNBQUEsRUFBTSxDQUFBQSxTQUFBLENBQUlLLE9BQUosQ0FBTixDQUFMLENBQXlCLFNBQVVDLFNBQVYsQ0FBbUJDLFNBQW5CLEMseUJBQzVCLFNBQVNDLFNBQVQsQ0FBbUJDLFNBQW5CLEMseUJBQTRCLEcsQ0FBTUMsU0FBQSxDQUFLVCxTQUFBLEMsZ0JBQUEsRUFBZVEsU0FBZixDQUFMLEMsRUFBK0IsTUFBT0UsU0FBUCxDLENBQVlKLFNBQUEsQ0FBT0ksU0FBUCxDLEdBQzdFLFNBQVNDLFNBQVQs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QSxFLGdCQUFBLEMsSUF2QjhCLEMsZUF5QnpDLEUsMkJBQ1U0TixTQUFBLENBQU8sSSxDQUNibEgsU0FBQSxFLENBQ0ErRyxTQUFBLEUsQ0FDQUcsU0FBQSxDLGdCQUFBLEUsR0FGQSxDQUdBLE1BQU1DLFNBQUEsQ0FBVWhMLENBQUEsQyxnQkFBQSxDQUFoQixDQUNBZ0wsU0FBQSxDLGdCQUFBLEVBQW9CalIsTUFBQSxDLGdCQUFBLEVBQWNBLE1BQUEsQyxnQkFBQSxFQUFjLEVBQWQsQ0FBa0I0USxTQUFBLEVBQWxCLENBQWQsQ0FBaUUsQyxjQUFFLENBQWFNLFNBQWIsQyxrQ0FDeEVBLFNBQUEsQyxnQkFBQSxJLGtCQURzRSxDQUFqRSxDQUFwQixDLEVBL0JxQyxDLFlBbUN6QyxFLEVBbkN5QyxDQUE3QyxDLEVBOWlDSixHIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uICgpIHtcbiAgICAndXNlIHN0cmljdCc7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cclxuXHJcbiAgICBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnlcclxuICAgIHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cclxuXHJcbiAgICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXHJcbiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFlcclxuICAgIEFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcclxuICAgIElORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxyXG4gICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1JcclxuICAgIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcclxuICAgIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXHJcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4gICAgLyogZ2xvYmFsIFJlZmxlY3QsIFByb21pc2UsIFN1cHByZXNzZWRFcnJvciwgU3ltYm9sLCBJdGVyYXRvciAqL1xyXG5cclxuXHJcbiAgICBmdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XHJcbiAgICAgICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/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+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGF0LiRpbnB1dC52YWwoaW5wdXQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoYXQuJGlucHV0LnRyaWdnZXIoXCJjaGFuZ2VcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24uaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoYXQuJGlucHV0LnZhbChpbnB1dCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhhdC4kaW5wdXQudHJpZ2dlcihcImNoYW5nZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUub24oXCJjbGlja1wiLCBcImxpXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0ICRsaSA9ICQodGhpcyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc09uTGVmdFNpemUoJGxpLCBldmVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZUV4cGFuc2lvbigkbGkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdFNpbmdsZSh0aGF0LCAkbGkpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNsaWNraW5nIG91dHNpZGUgdGhlIHBhZ2Ugd2lsbCBoaWRlIHRoZSBkcm9wZG93blxuICAgICAgICAgICAgICAgICAgICBpZiAoISQoZXZlbnQudGFyZ2V0KS5jbG9zZXN0KHRoYXQuJGNvbWJvKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHJldHVybnMgdGhlIGVuZHBvaW50IGF0dHJpYnV0ZXMgY29udGFpbmluZzpcbiAgICAgKiAgLSB0aGUgZW5kcG9pbnQsIHNlY3VyaXR5TW9kZSwgc2VjdXJpdHlQb2xpY3ksXG4gICAgICogIC0gdXNlcklkZW50aXR5VHlwZSxcbiAgICAgKiAgLSBjcmVkZW50aWFsc1xuICAgICAqICAtIG5hbWVzcGFjZUFsaWFzZXNcbiAgICAgKlxuICAgICAqIGV4dHJhY3RlZCBmcm9tIHRoZSB1aSB3aWRnZXQgI25vZGUtaW5wdXQtZW5kcG9pbnRcbiAgICAgKi9cbiAgICBjb25zdCBnZXRFbmRQb2ludEF0dHJpYnV0ZXMgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0ICRlbmRwb2ludCA9ICQoXCIjbm9kZS1pbnB1dC1lbmRwb2ludFwiKTtcbiAgICAgICAgY29uc3QgZW5kcG9pbnRJZCA9ICRlbmRwb2ludC52YWwoKTtcbiAgICAgICAgY29uc3QgcmVkTm9kZSA9IFJFRC5ub2Rlcy5ub2RlKGVuZHBvaW50SWQpO1xuICAgICAgICBpZiAoIXJlZE5vZGUpXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAvLyBjb25zdCBjcmVkZW50aWFscyA9IFJFRC4oZW5kcG9pbnRJZCk7XG4gICAgICAgIC8vIHdlIG5lZWQgdG8gc2FuaXRpemUgYW5kIGV4dHJhY3QgdGhlIGVuZHBvaW50IGF0dHJpYnV0ZXMgb25seSAoIG5vdCB0aGUgbm9kZS1yZWQgc3R1ZmYpXG4gICAgICAgIGNvbnN0IHsgZW5kcG9pbnQsIHNlY3VyaXR5TW9kZSwgc2VjdXJpdHlQb2xpY3ksIHVzZXJJZGVudGl0eVR5cGUsIGNyZWRlbnRpYWxzLCBuYW1lc3BhY2VBbGlhc2VzIH0gPSByZWROb2RlO1xuICAgICAgICBjb25zdCByZXRWYWx1ZSA9IHtcbiAgICAgICAgICAgIGVuZHBvaW50LFxuICAgICAgICAgICAgc2VjdXJpdHlNb2RlLFxuICAgICAgICAgICAgc2VjdXJpdHlQb2xpY3ksXG4gICAgICAgICAgICB1c2VySWRlbnRpdHlUeXBlLFxuICAgICAgICAgICAgY3JlZGVudGlhbHMsXG4gICAgICAgICAgICBuYW1lc3BhY2VBbGlhc2VzLFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gcmV0VmFsdWU7XG4gICAgfTtcbiAgICBjb25zdCBnZXRFbmRwb2ludFBhcmFtZXRlcnMgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0ICRlbmRwb2ludCA9ICQoXCIjbm9kZS1pbnB1dC1lbmRwb2ludFwiKTtcbiAgICAgICAgY29uc3QgZW5kcG9pbnRJZCA9ICRlbmRwb2ludC52YWwoKTtcbiAgICAgICAgY29uc3QgZW5kcG9pbnROciA9IGdldEVuZFBvaW50QXR0cmlidXRlcygpO1xuICAgICAgICBpZiAoIWVuZHBvaW50TnIpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmFtZXNwYWNlQWxpYXNlcyA9IGVuZHBvaW50TnIubmFtZXNwYWNlQWxpYXNlcztcbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oeyBuYW1lc3BhY2VBbGlhc2VzLCBpZDogZW5kcG9pbnRJZCB9LCBlbmRwb2ludE5yKTtcbiAgICB9O1xuICAgIGNvbnN0IGdldEVuZHBvaW50UGFyYW1ldGVyc0hhbmRsZXIgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBlbmRwb2ludE5vZGU6IGdldEVuZHBvaW50UGFyYW1ldGVycyxcbiAgICAgICAgfTtcbiAgICB9O1xuXG4gICAgY29uc3QgaW5zdGFsbEZlZWRiYWNrV2lkZ2V0ID0gKCkgPT4ge1xuICAgICAgICAvLyByZXR1cm47XG4gICAgICAgIC8vIGRlYnVnZ2VyO1xuICAgICAgICBjb25zdCB0cmF5Q29udGVudCA9ICQoXCIucmVkLXVpLXRyYXktYm9keVwiKTtcbiAgICAgICAgY29uc29sZS5sb2coXCJpbnN0YWxsRmVlZGJhY2tXaWRnZXQgXCIsIHRyYXlDb250ZW50Lmxlbmd0aCk7XG4gICAgICAgIGlmICh0cmF5Q29udGVudC5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiaW5zdGFsbGluZyBpZnJhbWVcIik7XG4gICAgICAgICAgICAvLyBDcmVhdGUgdGhlIGlmcmFtZSBlbGVtZW50XG4gICAgICAgICAgICBjb25zdCBpZnJhbWUgPSAkKFwiPGlmcmFtZT48L2lmcmFtZT5cIiwge1xuICAgICAgICAgICAgICAgIHNyYzogXCIvb3BjdWEtZm9yLW5vZGUtcmVkL3N1cHBvcnQtZnJhbWUuaHRtbFwiLFxuICAgICAgICAgICAgICAgIHNjcm9sbGluZzogXCJub1wiLFxuICAgICAgICAgICAgICAgIHN0eWxlOiBcImJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlcjozcHhcIixcbiAgICAgICAgICAgICAgICBhbGxvd3RyYW5zcGFyZW5jeTogXCJ0cnVlXCIsXG4gICAgICAgICAgICAgICAgd2lkdGg6IFwiMTgwcHhcIixcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IFwiMzBweFwiLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyBBcHBlbmQgdGhlIGlmcmFtZSB0byB0aGUgZmVlZGJhY2sgZWxlbWVudFxuICAgICAgICAgICAgdHJheUNvbnRlbnQuYXBwZW5kKGlmcmFtZSk7XG4gICAgICAgICAgICAvLyBQb3NpdGlvbiB0aGUgZmVlZGJhY2sgZWxlbWVudCBhdCB0aGUgYm90dG9tIHJpZ2h0IG9mIHRoZSB0cmF5IGNvbnRlbnRcbiAgICAgICAgICAgIGlmcmFtZS5jc3Moe1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICAgICAgICAgICAgcmlnaHQ6IFwiMjBweFwiLFxuICAgICAgICAgICAgICAgIGJvdHRvbTogXCIxNnB4XCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBSRUQubm9kZXMucmVnaXN0ZXJUeXBlKFwiT3BjVWEtQ2xpZW50Mi1SZWFkXCIsIHtcbiAgICAgICAgY2F0ZWdvcnk6IFwib3BjdWFcIixcbiAgICAgICAgY29sb3I6IFwiI0MwREVFRFwiLFxuICAgICAgICBhbGlnbjogXCJyaWdodFwiLFxuICAgICAgICBpY29uOiBcIi4uLy4uL2ljb25zL29wY3Vhbm9kZUxvZ28ucG5nXCIsXG4gICAgICAgIHBhbGV0dGVMYWJlbDogXCJyZWFkXCIsXG4gICAgICAgIGRlZmF1bHRzOiB7XG4gICAgICAgICAgICBpbnB1dHM6IHsgdmFsdWU6IDEgfSxcbiAgICAgICAgICAgIG91dHB1dDogeyB2YWx1ZTogNCB9LFxuICAgICAgICAgICAgLy8gQ29tbW9uXG4gICAgICAgICAgICBuYW1lOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICBlbmRwb2ludDogeyB2YWx1ZTogXCJcIiwgcmVxdWlyZWQ6IHRydWUsIHR5cGU6IFwiT3BjVWEtRW5kcG9pbnQyXCIgfSxcbiAgICAgICAgICAgIC8vIGZvciBhY3Rpb24gcmVhZFxuICAgICAgICAgICAgYXR0cmlidXRlSWQ6IHsgdmFsdWU6IFwiVmFsdWVcIiwgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICAgICAgICAgIG5vZGVJZDogeyB2YWx1ZTogXCJcIiwgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICBvdXRwdXRUeXBlOiB7IHZhbHVlOiBcIlZhbHVlXCIsIHJlcXVpcmVkOiB0cnVlIH0sXG4gICAgICAgIH0sXG4gICAgICAgIC8vIGlucHV0czosXG4gICAgICAgIG91dHB1dHM6IDIsIC8vIDIgb3V0cHV0LCBzZWNvbmQgZm9yIHJhdyBub2RlLW9wY3VhIGRpYWdub3N0aWNzIG9yIG1vcmUgY29tcGxldGUgbWVzc2FnZVxuICAgICAgICBsYWJlbCgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5hbWUgfHwgXCJPUENVQSBDbGllbnQgUmVhZFwiO1xuICAgICAgICB9LFxuICAgICAgICBsYWJlbFN0eWxlKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmFtZSA/IFwibm9kZV9sYWJlbF9pdGFsaWNcIiA6IFwiXCI7XG4gICAgICAgIH0sXG4gICAgICAgIG9uZWRpdHByZXBhcmUoKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlID0gdGhpcztcbiAgICAgICAgICAgIGRlY2xhcmVOb2RlQnJvd3NlcldpZGdldCgpO1xuICAgICAgICAgICAgaW5zdGFsbEZlZWRiYWNrV2lkZ2V0KCk7XG4gICAgICAgICAgICBub2RlLmlucHV0cyA9IDE7XG4gICAgICAgICAgICBjb25zdCAkbm9kZUlkID0gJChcIiNub2RlLWlucHV0LW5vZGVJZFwiKTtcbiAgICAgICAgICAgICRub2RlSWQubm9kZUJyb3dzZXIoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBnZXRFbmRwb2ludFBhcmFtZXRlcnNIYW5kbGVyKCkpLCB7IGlzU2VsZWN0YWJsZShub2RlRGVzYykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbm9kZURlc2Mubm9kZUNsYXNzID09PSBcIlZhcmlhYmxlXCI7XG4gICAgICAgICAgICAgICAgfSB9KSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uZWRpdHNhdmUoKSB7IH0sXG4gICAgfSk7XG5cbn0pKCk7Il19
7
+ (function(_0x261bca,_0x3a0ba3){const _0x1fb8b7=_0x412f,_0x3c58b6=_0x261bca();while(!![]){try{const _0x4630f3=-parseInt(_0x1fb8b7(0x20d))/0x1*(-parseInt(_0x1fb8b7(0x121))/0x2)+parseInt(_0x1fb8b7(0x194))/0x3*(parseInt(_0x1fb8b7(0x184))/0x4)+-parseInt(_0x1fb8b7(0x1d2))/0x5*(-parseInt(_0x1fb8b7(0x204))/0x6)+-parseInt(_0x1fb8b7(0x133))/0x7*(parseInt(_0x1fb8b7(0x20a))/0x8)+parseInt(_0x1fb8b7(0x159))/0x9+parseInt(_0x1fb8b7(0x206))/0xa+-parseInt(_0x1fb8b7(0x120))/0xb;if(_0x4630f3===_0x3a0ba3)break;else _0x3c58b6['push'](_0x3c58b6['shift']());}catch(_0x2d81a9){_0x3c58b6['push'](_0x3c58b6['shift']());}}}(_0x17e9,0xa6091),(function(){'use strict';const _0x3ab34d=_0x412f;function _0x1b1138(_0x1432c8,_0x7fc335,_0x87ffc8,_0x53cbab){function _0xe2a7ef(_0x200cb5){return _0x200cb5 instanceof _0x87ffc8?_0x200cb5:new _0x87ffc8(function(_0x36f523){_0x36f523(_0x200cb5);});}return new(_0x87ffc8||(_0x87ffc8=Promise))(function(_0x27f4fe,_0x1f7f61){const _0xf87bf3=_0x412f;function _0x55bb60(_0x1b1f72){const _0x14c7de=_0x412f;try{_0x263db4(_0x53cbab[_0x14c7de(0x1b3)](_0x1b1f72));}catch(_0x207075){_0x1f7f61(_0x207075);}}function _0x23b84f(_0x29773b){const _0x20c141=_0x412f;try{_0x263db4(_0x53cbab[_0x20c141(0x124)](_0x29773b));}catch(_0x243a06){_0x1f7f61(_0x243a06);}}function _0x263db4(_0xc2d0c0){const _0x29aabd=_0x412f;_0xc2d0c0[_0x29aabd(0x110)]?_0x27f4fe(_0xc2d0c0[_0x29aabd(0x20f)]):_0xe2a7ef(_0xc2d0c0[_0x29aabd(0x20f)])['then'](_0x55bb60,_0x23b84f);}_0x263db4((_0x53cbab=_0x53cbab[_0xf87bf3(0x16f)](_0x1432c8,_0x7fc335||[]))['next']());});}typeof SuppressedError==='function'?SuppressedError:function(_0x8799,_0x4bf761,_0x25f50a){const _0x5cd160=_0x412f;var _0x1c575e=new Error(_0x25f50a);return _0x1c575e[_0x5cd160(0x172)]=_0x5cd160(0x187),_0x1c575e['error']=_0x8799,_0x1c575e[_0x5cd160(0x146)]=_0x4bf761,_0x1c575e;};const _0x99db6e='ns=0;i=35',_0x37f213=_0x3ab34d(0x1cc),_0x53fcf9=_0x3ab34d(0x160),_0x5d0ce2='ns=0;i=46',_0xc84653=_0x3ab34d(0x188),_0xc834b0='ns=0;i=45',_0x253248=_0x3ab34d(0x1b9);var _0x32a19f;(function(_0x30b516){const _0x142846=_0x3ab34d;_0x30b516[_0x30b516[_0x142846(0x1fa)]=0x0]=_0x142846(0x1fa),_0x30b516[_0x30b516[_0x142846(0x199)]=0x1]=_0x142846(0x199),_0x30b516[_0x30b516[_0x142846(0x132)]=0x2]=_0x142846(0x132),_0x30b516[_0x30b516[_0x142846(0x1e3)]=0x3]='Invalid';}(_0x32a19f||(_0x32a19f={})));var _0x29df8d;(function(_0x1afb52){const _0x5097a1=_0x3ab34d;_0x1afb52[_0x1afb52['Unspecified']=0x0]=_0x5097a1(0x125),_0x1afb52[_0x1afb52[_0x5097a1(0x195)]=0x1]=_0x5097a1(0x195),_0x1afb52[_0x1afb52[_0x5097a1(0x171)]=0x2]=_0x5097a1(0x171),_0x1afb52[_0x1afb52['Method']=0x4]=_0x5097a1(0x161),_0x1afb52[_0x1afb52[_0x5097a1(0x218)]=0x8]=_0x5097a1(0x218),_0x1afb52[_0x1afb52[_0x5097a1(0x198)]=0x10]='VariableType',_0x1afb52[_0x1afb52[_0x5097a1(0x183)]=0x20]='ReferenceType',_0x1afb52[_0x1afb52[_0x5097a1(0x10a)]=0x40]='DataType',_0x1afb52[_0x1afb52[_0x5097a1(0x1b6)]=0x80]=_0x5097a1(0x1b6);}(_0x29df8d||(_0x29df8d={})));var _0x7c3c99;(function(_0x58bb47){const _0x51dad9=_0x3ab34d;_0x58bb47[_0x58bb47[_0x51dad9(0x195)]=0x1]=_0x51dad9(0x195),_0x58bb47[_0x58bb47[_0x51dad9(0x171)]=0x2]=_0x51dad9(0x171),_0x58bb47[_0x58bb47[_0x51dad9(0x161)]=0x4]=_0x51dad9(0x161),_0x58bb47[_0x58bb47[_0x51dad9(0x218)]=0x8]='ObjectType',_0x58bb47[_0x58bb47['VariableType']=0x10]=_0x51dad9(0x198),_0x58bb47[_0x58bb47[_0x51dad9(0x183)]=0x20]=_0x51dad9(0x183),_0x58bb47[_0x58bb47['DataType']=0x40]=_0x51dad9(0x10a),_0x58bb47[_0x58bb47['View']=0x80]=_0x51dad9(0x1b6);}(_0x7c3c99||(_0x7c3c99={})));var _0x59d5a2;(function(_0xd67bbc){const _0x27d6bd=_0x3ab34d;_0xd67bbc[_0xd67bbc[_0x27d6bd(0x183)]=0x1]=_0x27d6bd(0x183),_0xd67bbc[_0xd67bbc[_0x27d6bd(0x189)]=0x2]=_0x27d6bd(0x189),_0xd67bbc[_0xd67bbc[_0x27d6bd(0x15d)]=0x4]=_0x27d6bd(0x15d),_0xd67bbc[_0xd67bbc[_0x27d6bd(0x1a3)]=0x8]=_0x27d6bd(0x1a3),_0xd67bbc[_0xd67bbc[_0x27d6bd(0x20e)]=0x10]='DisplayName',_0xd67bbc[_0xd67bbc[_0x27d6bd(0x1e0)]=0x20]=_0x27d6bd(0x1e0);}(_0x59d5a2||(_0x59d5a2={})));function _0x20f926(_0x4a200c){const _0x42509a=_0x3ab34d;switch(_0x4a200c){case _0x42509a(0x17c):return _0x99db6e;case'HasProperty':return _0x5d0ce2;case _0x42509a(0x168):return _0x53fcf9;case _0x42509a(0x1b7):return _0xc84653;case _0x42509a(0x148):return _0xc834b0;case _0x42509a(0x1a6):return _0x253248;}}const _0x296201=_0x4ca7ef=>{const _0x11ccf1=_0x3ab34d;switch(_0x4ca7ef['nodeClass']){case'Object':if(_0x4ca7ef['referenceTypeId']===_0x99db6e);if(_0x4ca7ef[_0x11ccf1(0x1ce)]===_0x37f213||_0x4ca7ef[_0x11ccf1(0x1c8)]==='i=61')return{'icon':_0x11ccf1(0x1b4),'color':_0x11ccf1(0x1c9)};return{'icon':_0x11ccf1(0x1e2),'color':_0x11ccf1(0x1a7)};case _0x11ccf1(0x171):if(_0x4ca7ef[_0x11ccf1(0x1c8)]===_0x53fcf9)return{'icon':_0x11ccf1(0x1a8),'color':_0x11ccf1(0x21b)};else return _0x4ca7ef['referenceTypeId']===_0x5d0ce2?{'icon':'fa-list-alt','color':_0x11ccf1(0x15b)}:{'icon':'fa-list-alt','color':'CadetBlue'};case _0x11ccf1(0x161):return{'icon':_0x11ccf1(0x181),'color':_0x11ccf1(0x11a)};case _0x11ccf1(0x218):return{'icon':'fa-object-group','color':'DarkOrange'};case _0x11ccf1(0x198):return{'icon':_0x11ccf1(0x1d9),'color':_0x11ccf1(0x15a)};case'DataType':return{'icon':_0x11ccf1(0x1c7),'color':_0x11ccf1(0x151)};}return{'icon':_0x11ccf1(0x170),'color':_0x11ccf1(0x1e5)};},_0x523c6c=(_0x7b3726,_0x3a81ee,_0x1f98e1)=>_0x1b1138(void 0x0,[_0x7b3726,_0x3a81ee,_0x1f98e1],void 0x0,function*({endpointNode:_0xf37456,endpoint:_0x1743f2,baseUrl:_0x15c404},_0x42e744,_0x1fcc40){const _0xa16bf8=_0x3ab34d,_0x585f33=_0x15c404+'/opcua-for-node-red',_0x58cae8=_0x585f33+_0xa16bf8(0x12a),_0x16c8fe=Object[_0xa16bf8(0x1d6)](Object[_0xa16bf8(0x1d6)]({},_0x1fcc40),{'nodeId':_0x42e744,'resultMask':0x3f}),_0x16fd8c=yield fetch(_0x58cae8,{'method':_0xa16bf8(0x19e),'body':JSON[_0xa16bf8(0x186)]({'endpointNode':_0xf37456,'endpoint':_0x1743f2,'browseDescription':_0x16c8fe}),'headers':{'Content-Type':_0xa16bf8(0x1cd)}});if(_0x16fd8c[_0xa16bf8(0x136)]!==0xc8)return console[_0xa16bf8(0xfe)](_0xa16bf8(0x200),_0x16fd8c[_0xa16bf8(0x136)],_0x16fd8c[_0xa16bf8(0x116)]),{'references':[]};const _0x27120a=yield _0x16fd8c[_0xa16bf8(0x13f)](),_0x223576=_0x27120a[_0xa16bf8(0x118)][_0xa16bf8(0x1f8)]||[];return{'references':_0x223576};}),_0x7d6785={'referenceTypeId':_0x20f926(_0x3ab34d(0x1b7)),'includeSubtypes':!![],'browseDirection':_0x32a19f['Forward'],'nodeClassMask':_0x29df8d[_0x3ab34d(0x171)]|_0x29df8d[_0x3ab34d(0x195)]|_0x29df8d[_0x3ab34d(0x161)],'resultMask':0x3f},_0x439955={'referenceTypeId':_0x20f926('Organizes'),'includeSubtypes':!![],'browseDirection':_0x32a19f[_0x3ab34d(0x1fa)],'nodeClassMask':_0x29df8d[_0x3ab34d(0x171)]|_0x29df8d[_0x3ab34d(0x195)]|_0x29df8d[_0x3ab34d(0x161)],'resultMask':0x3f},_0xb348d7=(_0x3affce,_0x23cde6)=>_0x1b1138(void 0x0,[_0x3affce,_0x23cde6],void 0x0,function*({endpointNode:_0x33341d,endpoint:_0x2d64f7,baseUrl:_0x381e23},{nodeId:_0x1a7065,rootNodeId:_0x2610f4,isType:_0x28bddf}){const _0x1c9cb9=_0x3ab34d,_0x39a8a1=_0x381e23+_0x1c9cb9(0x128),_0x3e6ab8=_0x39a8a1+_0x1c9cb9(0x196),_0x9bf65b=yield fetch(_0x3e6ab8,{'method':_0x1c9cb9(0x19e),'body':JSON[_0x1c9cb9(0x186)]({'endpointNode':_0x33341d,'endpoint':_0x2d64f7,'nodeId':_0x1a7065,'rootNodeId':_0x2610f4,'isType':_0x28bddf}),'headers':{'Content-Type':_0x1c9cb9(0x1cd)}});if(_0x9bf65b['status']!==0xc8)return null;const _0x5272b1=yield _0x9bf65b[_0x1c9cb9(0x13f)]();return _0x5272b1[_0x1c9cb9(0x126)];}),_0x4b5073=(_0x274d4e,_0x5122a9)=>{const _0x31d698=_0x3ab34d;if(_0x274d4e[_0x31d698(0x164)]!==_0x31d698(0x162))return _0x274d4e[_0x31d698(0x163)];switch(_0x5122a9){case _0x31d698(0x126):return _0x274d4e[_0x31d698(0x178)];case'aliasedBrowsePath':return _0x274d4e[_0x31d698(0x1d4)]||_0x274d4e[_0x31d698(0x178)];case _0x31d698(0x1db):return _0x274d4e['nodeId_aliased']||_0x274d4e['nodeId_nsu'];case _0x31d698(0x147):return _0x274d4e[_0x31d698(0x13b)];default:case _0x31d698(0x1cf):return _0x274d4e[_0x31d698(0x1cf)];}},_0x35069c=_0x392dfe=>{const _0x3c03d6=_0x3ab34d;if(_0x392dfe[_0x3c03d6(0x164)]!==_0x3c03d6(0x162))return'statusCode:\x20'+_0x392dfe[_0x3c03d6(0x164)];else{let _0x2bc62a=[];return _0x2bc62a[_0x3c03d6(0x1c2)](_0x3c03d6(0x1b2)+_0x392dfe['nodeId']),_0x2bc62a[_0x3c03d6(0x1c2)](_0x3c03d6(0x190)+_0x392dfe[_0x3c03d6(0x178)]),_0x2bc62a[_0x3c03d6(0x1c2)]('node\x20class:\x20'+_0x29df8d[_0x392dfe['nodeClass']]),_0x392dfe[_0x3c03d6(0x13b)]&&_0x2bc62a[_0x3c03d6(0x1c2)]('nsu\x20nodeId:\x20'+_0x392dfe[_0x3c03d6(0x13b)]),_0x392dfe[_0x3c03d6(0x100)]&&_0x2bc62a[_0x3c03d6(0x1c2)](_0x3c03d6(0x11b)+_0x392dfe[_0x3c03d6(0x100)]),_0x392dfe['bp_indexed']&&_0x2bc62a[_0x3c03d6(0x1c2)](_0x3c03d6(0x139)+_0x392dfe[_0x3c03d6(0x1d4)]),_0x2bc62a['join']('\x0a');}};function _0x996f19(_0x16fb61){const _0x94318c=_0x3ab34d;if(_0x16fb61['match'](/^nsu=/))return _0x94318c(0x147);if(_0x16fb61[_0x94318c(0x1af)](/^(ns=.*;)?(i|b|s|g)=/))return _0x94318c(0x1cf);if(_0x16fb61[_0x94318c(0x1af)](/^nsa=/))return'aliasedNodeId';if(_0x16fb61[_0x94318c(0x1af)](/^(\/|\.)[0-9]+:/))return _0x94318c(0x126);if(_0x16fb61[_0x94318c(0x1af)](/^(\/|\.).*:/))return _0x94318c(0x126);}function _0x4ba1aa(_0x1272ee){const _0x50d1a3=_0x3ab34d,_0x3fb0ab=_0x996f19(_0x1272ee);switch(_0x3fb0ab){case _0x50d1a3(0x1cf):return'n';case _0x50d1a3(0x1db):return'na';case _0x50d1a3(0x147):return _0x50d1a3(0x217);case'browsePath':return'b';case _0x50d1a3(0x21a):return'ab';default:return't';}}function _0x4abe10(_0x368209){const _0x391df0=_0x3ab34d;let _0x129cbd;switch(_0x368209){case'n':_0x129cbd='nodeId';break;case'na':_0x129cbd=_0x391df0(0x1db);break;case _0x391df0(0x217):_0x129cbd=_0x391df0(0x147);break;case'b':_0x129cbd=_0x391df0(0x126);break;case'ab':_0x129cbd=_0x391df0(0x21a);break;}return _0x129cbd;}function _0x41aa2a(_0x2d89e7){const _0x4e813b=_0x3ab34d;switch(_0x2d89e7){case _0x4e813b(0x1cf):return'n';case _0x4e813b(0x1db):return'na';case _0x4e813b(0x147):return _0x4e813b(0x217);case _0x4e813b(0x126):return'b';case'aliasedBrowsePath':return'ab';default:return't';}}const _0x37a942=(_0x23e316,_0x346d74)=>_0x1b1138(void 0x0,[_0x23e316,_0x346d74],void 0x0,function*({endpointNode:_0x1c4698,endpoint:_0x2d63b2,baseUrl:_0x5acb6a},_0x3f38d5){const _0x249e1b=_0x3ab34d,_0x3ea954=_0x5acb6a+_0x249e1b(0x128),_0x3f4812=_0x3ea954+_0x249e1b(0x106),_0x3fa343=_0x1c4698['id'],_0x29a290=RED[_0x249e1b(0x150)][_0x249e1b(0x158)](_0x3fa343);console[_0x249e1b(0xfe)](_0x29a290['namespaceAliases']),_0x29a290[_0x249e1b(0x1de)];const _0xc251e5=_0x1c4698['namespaceAliases'],_0x480160=yield fetch(_0x3f4812,{'method':'POST','body':JSON[_0x249e1b(0x186)]({'endpointNode':_0x1c4698,'endpoint':_0x2d63b2,'nodeId':_0x3f38d5,'namespaceAliases':_0xc251e5}),'headers':{'Content-Type':_0x249e1b(0x1cd)}}),_0xaad837=yield _0x480160[_0x249e1b(0x13f)]();return{'json':_0xaad837,'data':_0x480160};}),_0x1b6d0f=(_0x33fc04,_0x47da31,_0x3361ce,_0x32dce8)=>_0x1b1138(void 0x0,[_0x33fc04,_0x47da31,_0x3361ce,_0x32dce8],void 0x0,function*({endpointNode:_0x25e6c3,endpoint:_0x1348a5,baseUrl:_0x33f365},_0x5d4573,_0x43df7d,_0x1e0aba){const _0x97e419=_0x3ab34d,_0x37797a=_0x43df7d['val'](),{json:_0x5c92f4,data:_0x4f0822}=yield _0x37a942({'endpointNode':_0x25e6c3,'endpoint':_0x1348a5,'baseUrl':_0x33f365},_0x37797a),_0x11615=(_0x59b120,_0x315ccc)=>{const _0x16b486=_0x412f;_0x1e0aba[_0x16b486(0x1f3)](_0x59b120)[_0x16b486(0x130)](_0x16b486(0x202))[_0x16b486(0x130)](_0x315ccc),_0x1e0aba['show'](),setTimeout(()=>{const _0x4cf92b=_0x16b486;_0x1e0aba[_0x4cf92b(0x1c5)](_0x315ccc),_0x1e0aba[_0x4cf92b(0x185)]();},0xbb8);};if(_0x4f0822[_0x97e419(0x136)]!==0xc8)return _0x11615(_0x97e419(0x1bc)+_0x37797a,_0x97e419(0x221)),![];else{if(_0x5c92f4[_0x97e419(0x164)][_0x97e419(0x1af)](/Good/)){const _0x2e5ede=_0x35069c(_0x5c92f4);_0x43df7d[_0x97e419(0x18a)]('title',_0x2e5ede);const _0x3b6257=_0x4b5073(_0x5c92f4,_0x5d4573);return _0x43df7d[_0x97e419(0x16e)](_0x3b6257),_0x43df7d[_0x97e419(0x122)](_0x97e419(0x10c)),_0x11615(_0x97e419(0x162),'ok'),!![];}else return _0x43df7d[_0x97e419(0x16e)](''+_0x37797a),_0x11615(_0x5c92f4[_0x97e419(0x164)]+'\x20'+_0x4f0822[_0x97e419(0x116)],_0x97e419(0x221)),![];}});function _0x47abf8(_0x506f44,_0x22efd3){return _0x1b1138(this,void 0x0,void 0x0,function*(){const _0x17a883=_0x412f,_0x35d9b4=_0x506f44['data'](_0x17a883(0x20f)),_0x14e163=yield _0x523c6c(_0x22efd3,_0x35d9b4,_0x7d6785),_0x4c8e13=yield _0x523c6c(_0x22efd3,_0x35d9b4,_0x439955);return{'references':[..._0x14e163[_0x17a883(0x1f8)],..._0x4c8e13[_0x17a883(0x1f8)]]};});}const _0x310bd4={'referenceTypeId':_0x20f926(_0x3ab34d(0x148)),'includeSubtypes':!![],'browseDirection':_0x32a19f[_0x3ab34d(0x1fa)],'nodeClassMask':_0x29df8d[_0x3ab34d(0x183)]|_0x29df8d[_0x3ab34d(0x218)]|_0x29df8d['DataType']|_0x29df8d['VariableType'],'resultMask':0x3f};function _0x708423(_0x4c0456,_0x2b0b7d){return _0x1b1138(this,void 0x0,void 0x0,function*(){const _0x3cae2d=_0x412f,_0x4791ef=_0x4c0456['data'](_0x3cae2d(0x20f)),_0x4e0827=yield _0x523c6c(_0x2b0b7d,_0x4791ef,_0x310bd4);return _0x4e0827;});}const _0x60fd27=_0x661d14=>{const _0x79d542=_0x3ab34d;var _0x2aa67c,_0x411174,_0x41b6c0,_0x471207;if(!_0x661d14||!_0x661d14['nodeId']){const _0x5eb6bc=$(_0x79d542(0x15e));return _0x5eb6bc;}const _0x39c147=_0x661d14['nodeId'][_0x79d542(0x14c)](),_0x41075a=((_0x2aa67c=_0x661d14[_0x79d542(0x155)])===null||_0x2aa67c===void 0x0?void 0x0:_0x2aa67c['text'])||((_0x411174=_0x661d14['browseName'])===null||_0x411174===void 0x0?void 0x0:_0x411174[_0x79d542(0x172)])||_0x661d14[_0x79d542(0x1cf)][_0x79d542(0x14c)](),{icon:_0x6a247b,color:_0x2e35c1}=_0x296201(_0x661d14),_0x269f2e='('+_0x661d14[_0x79d542(0x1cf)][_0x79d542(0x14c)]()+')\x20'+(((_0x41b6c0=_0x661d14['browseName'])===null||_0x41b6c0===void 0x0?void 0x0:_0x41b6c0[_0x79d542(0x172)])||((_0x471207=_0x661d14[_0x79d542(0x155)])===null||_0x471207===void 0x0?void 0x0:_0x471207[_0x79d542(0x1f3)])||''),_0x564a03=$('<li\x20key=\x22'+_0x661d14[_0x79d542(0x1cf)]['toString']()+_0x79d542(0x12f)+_0x269f2e+_0x79d542(0x1a5)+_0x6a247b+_0x79d542(0x1e4)+_0x2e35c1+_0x79d542(0x179)+_0x41075a+_0x79d542(0x197));return _0x564a03['addClass'](_0x79d542(0x12c)),_0x564a03[_0x79d542(0x1be)](_0x79d542(0x20f),_0x39c147),_0x564a03[_0x79d542(0x1be)](_0x79d542(0x205),_0x661d14),_0x564a03;},_0x41d3f9=(_0x37579b,_0x142860)=>{const _0x587545=_0x3ab34d;return _0x142860[_0x587545(0x11e)](_0x587545(0x16a)+_0x37579b+'\x22]');},_0x4cf868=(_0x1e9c1b,_0x38188e)=>{const _0x15501f=_0x3ab34d;_0x1e9c1b[_0x15501f(0x17e)][_0x15501f(0x11e)](_0x15501f(0x1eb))[_0x15501f(0x1c5)](_0x15501f(0x113)),_0x38188e[_0x15501f(0x11e)](_0x15501f(0x1f7))[_0x15501f(0x130)]('selected');},_0x6b3aa5=(_0x49d28e,_0x153c06,_0x45468e)=>_0x1b1138(void 0x0,void 0x0,void 0x0,function*(){const _0x5ab09c=_0x3ab34d;let _0xeb2f87=_0x45468e['children'](':first');_0x153c06['relativePath'][_0x5ab09c(0x1fe)]||[];const _0x12cbe5=_0x153c06[_0x5ab09c(0x213)]||[];if(_0x12cbe5[_0x5ab09c(0x1ec)]===0x0)return;for(const _0x39a8b9 of _0x12cbe5){_0xeb2f87['hasClass'](_0x5ab09c(0x12c))&&(yield _0x29638b(_0x49d28e,_0xeb2f87));const _0x133efb=_0x41d3f9(_0x39a8b9,_0xeb2f87);if(_0x133efb['length']===0x0)return;_0xeb2f87=_0x133efb;}_0x4cf868(_0x49d28e,_0xeb2f87),_0x3486d1(_0x49d28e[_0x5ab09c(0x19c)],_0xeb2f87);});function _0x3486d1(_0x127a7f,_0x1170bd){const _0x35e94b=_0x3ab34d,_0x10b069=_0x1170bd[_0x35e94b(0x127)]()['top'],_0x126ede=_0x127a7f['scrollTop']();if(_0x126ede==undefined)return;const _0x199ea0=_0x126ede+_0x10b069-_0x127a7f['height']()/0x2+_0x1170bd[_0x35e94b(0x103)]()/0x2;_0x127a7f[_0x35e94b(0x18c)]({'scrollTop':_0x199ea0},0x1f4);}const _0x1223b7=(_0x5288c8,_0x2d3993)=>_0x1b1138(void 0x0,void 0x0,void 0x0,function*(){const _0x5b7ddc=_0x3ab34d,_0x2634c3=_0x5288c8[_0x5b7ddc(0x207)][_0x5b7ddc(0x16e)](),_0x457e84={'nodeId':_0x2634c3,'rootNodeId':_0x2d3993[_0x5b7ddc(0x1cf)],'isType':_0x5288c8['options'][_0x5b7ddc(0x145)]||![]},_0x126e9f=_0x2c87f9(_0x5288c8),_0x291fab=yield _0xb348d7(_0x126e9f,_0x457e84);if(!_0x291fab)return;yield _0x6b3aa5(_0x5288c8,_0x291fab,_0x5288c8[_0x5b7ddc(0x17e)]);});function _0x144877(_0x1b6b41,_0xf652b0,_0x34d8ca,_0x1cd22f){return _0x1b1138(this,void 0x0,void 0x0,function*(){const _0x16e319=_0x412f;if(_0xf652b0[_0x16e319(0x19a)](_0x16e319(0xfb))){console[_0x16e319(0xfe)]('already\x20fetched');return;}if(_0xf652b0[_0x16e319(0x19a)]('loading')){console[_0x16e319(0xfe)](_0x16e319(0x1d8));return;}_0xf652b0['addClass'](_0x16e319(0x1aa)),_0xf652b0[_0x16e319(0x1f5)](_0x16e319(0x16c));try{_0xf652b0[_0x16e319(0x1d1)]('ul')[_0x16e319(0x137)]();const {references:_0x481a1f}=yield _0x34d8ca(_0xf652b0,_0x1cd22f);_0x481a1f[_0x16e319(0x17d)]((_0x4a71dd,_0x18f025)=>{const _0x170f12=_0x16e319;var _0x4d645f,_0x501cdf;return(((_0x4d645f=_0x4a71dd[_0x170f12(0x14a)])===null||_0x4d645f===void 0x0?void 0x0:_0x4d645f[_0x170f12(0x172)])||'')[_0x170f12(0x12e)](((_0x501cdf=_0x18f025[_0x170f12(0x14a)])===null||_0x501cdf===void 0x0?void 0x0:_0x501cdf['name'])||'');});for(const _0x4e8f6f of _0x481a1f){if(_0x1b6b41['options'][_0x16e319(0xfc)]&&!_0x1b6b41['options'][_0x16e319(0xfc)](_0x4e8f6f))continue;const _0x378f9d=_0x60fd27(_0x4e8f6f);_0xf652b0['children']('ul')[_0x16e319(0x1f5)](_0x378f9d);}_0xf652b0[_0x16e319(0x130)](_0x16e319(0xfb));}catch(_0x5e6ddb){_0xf652b0[_0x16e319(0x1d1)]('ul')[_0x16e319(0x1f5)](_0x16e319(0x13e)+_0x5e6ddb[_0x16e319(0x1ad)]+_0x16e319(0x143)),console[_0x16e319(0xfe)]('err',_0x5e6ddb);}_0xf652b0['find'](_0x16e319(0x18f))['remove'](),_0xf652b0['removeClass'](_0x16e319(0x1aa));});}function _0x2c87f9(_0x35e6e0){const _0x50dbec=_0x3ab34d,_0x4887a1={'baseUrl':_0x35e6e0[_0x50dbec(0x1d0)]['baseUrl'],'endpointNode':typeof _0x35e6e0[_0x50dbec(0x1d0)][_0x50dbec(0x19d)]===_0x50dbec(0x101)?_0x35e6e0[_0x50dbec(0x1d0)][_0x50dbec(0x19d)]():_0x35e6e0[_0x50dbec(0x1d0)][_0x50dbec(0x19d)],'endpoint':typeof _0x35e6e0[_0x50dbec(0x1d0)][_0x50dbec(0x1d5)]===_0x50dbec(0x101)?_0x35e6e0[_0x50dbec(0x1d0)][_0x50dbec(0x1d5)]():_0x35e6e0[_0x50dbec(0x1d0)]['endpoint']};return _0x4887a1;}function _0x29638b(_0x31a1c3,_0x341ac2){return _0x1b1138(this,void 0x0,void 0x0,function*(){const _0x8f40a3=_0x412f;if(_0x341ac2[_0x8f40a3(0x19a)](_0x8f40a3(0xfb))){_0x341ac2[_0x8f40a3(0x1c5)](_0x8f40a3(0x12c))[_0x8f40a3(0x130)](_0x8f40a3(0x1d7)),_0x341ac2[_0x8f40a3(0x1d1)]('ul')[_0x8f40a3(0x1a1)]();return;}const _0x47b3de=_0x2c87f9(_0x31a1c3),_0x2018e2=!_0x31a1c3[_0x8f40a3(0x1d0)][_0x8f40a3(0x145)]?_0x47abf8:_0x708423;try{yield _0x144877(_0x31a1c3,_0x341ac2,_0x2018e2,_0x47b3de),_0x341ac2[_0x8f40a3(0x1c5)](_0x8f40a3(0x12c))[_0x8f40a3(0x130)]('expanded');}catch(_0x15f0d3){_0x341ac2['removeClass'](_0x8f40a3(0x12c))[_0x8f40a3(0x130)](_0x8f40a3(0x1d7)),console['log'](_0x8f40a3(0x14d),_0x15f0d3);}});}const _0x52eed2={'browseName':{'namespaceIndex':0x0,'name':'Objects'},'nodeClass':_0x3ab34d(0x195),'nodeId':_0x3ab34d(0x176),'displayName':{'text':'Objects'},'typeDefinition':_0x37f213},_0xaff415=()=>{const _0x2e6e15=_0x3ab34d;$[_0x2e6e15(0x193)](_0x2e6e15(0x115),{'options':{'endpointNode':()=>({'endpoint':_0x2e6e15(0x1f9)}),'endpoint':()=>undefined,'parentNode':()=>_0x52eed2,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x1b1138(this,void 0x0,void 0x0,function*(){const _0x11e433=_0x412f,_0x19f5bf=this;if(_0x19f5bf[_0x11e433(0x175)]==undefined){const _0x5236a0=typeof _0x19f5bf[_0x11e433(0x1d0)][_0x11e433(0x21d)]===_0x11e433(0x101)?_0x19f5bf[_0x11e433(0x1d0)]['parentNode'][_0x11e433(0x107)](_0x19f5bf):_0x19f5bf[_0x11e433(0x1d0)][_0x11e433(0x21d)];if(_0x5236a0 instanceof Promise){const _0x1f0d54=yield _0x5236a0;_0x19f5bf[_0x11e433(0x175)]=_0x1f0d54;}else _0x19f5bf[_0x11e433(0x175)]=_0x5236a0;}return _0x19f5bf[_0x11e433(0x175)]||_0x52eed2;});},'reset'(){return _0x1b1138(this,void 0x0,void 0x0,function*(){const _0x32a37a=_0x412f,_0x4f53fe=this,_0x14aab8=_0x4f53fe;_0x14aab8[_0x32a37a(0x175)]=undefined,_0x4f53fe[_0x32a37a(0x17e)]['empty']();const _0x2ac57d=yield this[_0x32a37a(0x108)](),_0x82f47e=_0x60fd27(_0x2ac57d);_0x4f53fe['$tree'][_0x32a37a(0x1f5)](_0x82f47e),_0x4f53fe[_0x32a37a(0x174)]=_0x2ac57d;});},'verify'(_0x564bb5){const _0x585252=_0x2e6e15,_0x309924=this,_0x3dae41=_0x2c87f9(_0x309924);_0x1b6d0f(_0x3dae41,_0x564bb5,_0x309924[_0x585252(0x207)],_0x309924['$info'])[_0x585252(0x19f)](_0x352de2=>{const _0x37558a=_0x585252;!_0x352de2?_0x309924[_0x37558a(0x117)][_0x37558a(0x130)](_0x37558a(0x1a4)):_0x309924[_0x37558a(0x117)][_0x37558a(0x1c5)](_0x37558a(0x1a4));});},'_hideMenu'(_0x333121){const _0x51d9d8=_0x2e6e15,_0x7243e4=this;$(document)['off']('mousedown.red-ui-typedInput-close-property-select'),_0x333121[_0x51d9d8(0x185)](),_0x333121[_0x51d9d8(0x1fc)]({'height':'auto'});if(_0x333121[_0x51d9d8(0x1b5)][_0x51d9d8(0x1b8)]){var _0x4059ac=[];_0x333121[_0x51d9d8(0x11e)](_0x51d9d8(0x109))[_0x51d9d8(0x112)](function(){const _0x137edd=_0x51d9d8;$(this)[_0x137edd(0x10d)](_0x137edd(0x1dd))&&_0x4059ac[_0x137edd(0x1c2)]($(this)[_0x137edd(0x1be)](_0x137edd(0x20f)));}),_0x333121[_0x51d9d8(0x209)](_0x4059ac);}_0x7243e4[_0x51d9d8(0x211)]['is'](':visible')?_0x7243e4[_0x51d9d8(0x207)][_0x51d9d8(0x122)](_0x51d9d8(0x1b0)):_0x7243e4['$selectTrigger'][_0x51d9d8(0x122)]('focus');},'_createMenu'(_0x37eb55,_0xeeb8d2,_0x53f385){const _0x449cc2=_0x2e6e15;var _0x304a16=this;const _0x2c8f11=$('<div>')[_0x449cc2(0x130)](_0x449cc2(0x1e9));return _0x2c8f11['opts']=_0xeeb8d2,_0x2c8f11['callback']=_0x53f385,_0x37eb55[_0x449cc2(0x215)](_0x20dc8c=>{const _0x5e37f8=_0x449cc2;typeof _0x20dc8c==='string'&&(_0x20dc8c={'value':_0x20dc8c,'label':_0x20dc8c});var _0x35843a=$(_0x5e37f8(0x152))[_0x5e37f8(0x18a)](_0x5e37f8(0x20f),_0x20dc8c['value'])[_0x5e37f8(0x1cb)](_0x2c8f11);_0x20dc8c['label']&&_0x35843a[_0x5e37f8(0x1f3)](_0x20dc8c[_0x5e37f8(0x111)]);_0x20dc8c[_0x5e37f8(0x134)]&&_0x35843a[_0x5e37f8(0x10d)](_0x5e37f8(0x134),_0x20dc8c['title']);if(_0x20dc8c['icon']){if(_0x20dc8c[_0x5e37f8(0x1a2)]['indexOf']('<')===0x0)$(_0x20dc8c[_0x5e37f8(0x1a2)])[_0x5e37f8(0x1bb)](_0x35843a);else _0x20dc8c[_0x5e37f8(0x1a2)][_0x5e37f8(0x1ab)]('/')!==-0x1?$(_0x5e37f8(0x153),{'class':'red-ui-typedInput-icon','style':'mask-image:\x20url('+_0x20dc8c[_0x5e37f8(0x1a2)]+');\x20-webkit-mask-image:\x20url('+_0x20dc8c['icon']+');'})[_0x5e37f8(0x1bb)](_0x35843a):$(_0x5e37f8(0x153),{'class':_0x5e37f8(0x1ac)+_0x20dc8c[_0x5e37f8(0x1a2)]})[_0x5e37f8(0x1bb)](_0x35843a);}else _0x35843a[_0x5e37f8(0x1fc)]({'paddingLeft':_0x5e37f8(0x1fd)});!_0x20dc8c['icon']&&!_0x20dc8c['label']&&_0x35843a[_0x5e37f8(0x1f3)](_0x20dc8c[_0x5e37f8(0x20f)]);var _0x40d0e4;_0xeeb8d2[_0x5e37f8(0x1b8)]&&(_0x40d0e4=$(_0x5e37f8(0x154))[_0x5e37f8(0x1fc)](_0x5e37f8(0x1e6),'none')[_0x5e37f8(0x1be)](_0x5e37f8(0x20f),_0x20dc8c[_0x5e37f8(0x20f)])[_0x5e37f8(0x1bb)](_0x35843a)['on']('mousedown',function(_0x1b1188){const _0x44b2e3=_0x5e37f8;_0x1b1188[_0x44b2e3(0x135)]();})),_0x35843a['on'](_0x5e37f8(0x123),function(_0x4569ee){const _0x2cf828=_0x5e37f8;_0x4569ee[_0x2cf828(0x135)](),_0x4569ee[_0x2cf828(0x220)](),!_0xeeb8d2[_0x2cf828(0x1b8)]?(_0x53f385(_0x20dc8c['value']),_0x304a16[_0x2cf828(0x1df)](_0x2c8f11)):_0x40d0e4[_0x2cf828(0x10d)]('checked',!_0x40d0e4[_0x2cf828(0x10d)](_0x2cf828(0x1dd)));});}),_0x2c8f11['css']({'display':'none'}),_0x2c8f11['on'](_0x449cc2(0x17b),function(_0x3b3fb6){const _0x1abeb9=_0x449cc2;if(_0x3b3fb6[_0x1abeb9(0x104)]===0x28)_0x3b3fb6[_0x1abeb9(0x135)](),$(this)[_0x1abeb9(0x1d1)](_0x1abeb9(0x20b))[_0x1abeb9(0x1b3)]()[_0x1abeb9(0x122)]('focus');else{if(_0x3b3fb6[_0x1abeb9(0x104)]===0x26)_0x3b3fb6[_0x1abeb9(0x135)](),$(this)[_0x1abeb9(0x1d1)](_0x1abeb9(0x20b))[_0x1abeb9(0x1c0)]()[_0x1abeb9(0x122)](_0x1abeb9(0x1b0));else _0x3b3fb6['keyCode']===0x1b&&(_0x3b3fb6[_0x1abeb9(0x135)](),_0x304a16[_0x1abeb9(0x1df)](_0x2c8f11));}_0x3b3fb6['stopPropagation']();}),_0x2c8f11;},'disarmClick':![],'_showMenu'(_0x2a3545,_0x131a94){const _0x13cd9d=_0x2e6e15;if(this[_0x13cd9d(0x201)]){this['disarmClick']=![];return;}var _0x5cd9da=this,_0x1f6027=_0x131a94[_0x13cd9d(0x169)](),_0x3305c2=_0x131a94[_0x13cd9d(0x103)](),_0x4deb5a=_0x2a3545['height'](),_0x2acbc5=_0x3305c2+_0x1f6027[_0x13cd9d(0x21e)];_0x2acbc5+_0x4deb5a-$(document)[_0x13cd9d(0x12d)]()>$(window)[_0x13cd9d(0x103)]()&&(_0x2acbc5-=_0x2acbc5+_0x4deb5a-$(window)[_0x13cd9d(0x103)]()+0x5),_0x2acbc5<0x0&&(_0x2a3545['height'](_0x4deb5a+_0x2acbc5),_0x2acbc5=0x0),_0x2a3545[_0x13cd9d(0x1fc)]({'top':_0x2acbc5+'px','left':_0x1f6027[_0x13cd9d(0x18b)]+'px'}),_0x2a3545[_0x13cd9d(0x1c3)](0x64),this['_delay'](function(){const _0x2b7f82=_0x13cd9d;_0x5cd9da[_0x2b7f82(0x17f)][_0x2b7f82(0x130)](_0x2b7f82(0x16b)),$(document)['on'](_0x2b7f82(0x1f0),function(_0x1a2b3d){const _0x421cd8=_0x2b7f82;!$(_0x1a2b3d[_0x421cd8(0x21c)])[_0x421cd8(0x222)](_0x2a3545)[_0x421cd8(0x1ec)]&&_0x5cd9da[_0x421cd8(0x1df)](_0x2a3545),$(_0x1a2b3d[_0x421cd8(0x21c)])[_0x421cd8(0x222)](_0x131a94)[_0x421cd8(0x1ec)]&&(_0x5cd9da[_0x421cd8(0x201)]=!![],_0x1a2b3d['preventDefault']());});});},'_showTypeMenu'(){const _0x412012=_0x2e6e15,_0x23fcbd=this;this[_0x412012(0x1f6)](_0x23fcbd[_0x412012(0x16d)],_0x23fcbd[_0x412012(0x117)]),_0x23fcbd[_0x412012(0x19c)][_0x412012(0x185)]();const _0x3eb3dd=_0x23fcbd[_0x412012(0x1ef)];var _0xbe2f33=_0x23fcbd[_0x412012(0x16d)][_0x412012(0x11e)](_0x412012(0x156)+_0x3eb3dd+'\x27');setTimeout(function(){const _0x4e4de1=_0x412012;_0xbe2f33[_0x4e4de1(0x122)]('focus');},0x78);},'_initMenu'(){const _0x480824=_0x2e6e15,_0x30d8ed=this;_0x30d8ed['$selectTrigger'][_0x480824(0x18a)](_0x480824(0x13d),-0x1),_0x30d8ed[_0x480824(0x140)]['on'](_0x480824(0x166),function(_0x379bcb){const _0x4f4b53=_0x480824;_0x379bcb[_0x4f4b53(0x135)]();});_0x30d8ed['$menu']&&_0x30d8ed[_0x480824(0x16d)]['remove']();const _0xacd599=[{'label':_0x480824(0x1f3),'value':'t','title':'Value\x20is\x20not\x20verified','icon':_0x480824(0x192)},{'label':'msg.','value':_0x480824(0x14e),'title':'node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','icon':_0x480824(0x1da)},{'label':'NodeId','value':'n','icon':_0x480824(0x1c6)},{'label':_0x480824(0x1d3),'value':'na','icon':_0x480824(0x105)},{'label':_0x480824(0x15f),'value':'nsu','icon':_0x480824(0xff)},{'label':_0x480824(0x14b),'value':'b','icon':_0x480824(0x19b)},{'label':_0x480824(0x1b1),'value':'ab','icon':_0x480824(0x11c)}],_0x4aca90=_0x4ba1aa(_0x30d8ed[_0x480824(0x207)][_0x480824(0x16e)]()),_0x480e2d=_0xacd599[_0x480824(0x11e)](_0x134d1a=>_0x134d1a[_0x480824(0x20f)]===_0x4aca90);_0x30d8ed[_0x480824(0x1ff)][_0x480824(0x137)]()['append'](_0x480824(0xfd)+((_0x480e2d===null||_0x480e2d===void 0x0?void 0x0:_0x480e2d[_0x480824(0x134)])||'')+_0x480824(0x180)+((_0x480e2d===null||_0x480e2d===void 0x0?void 0x0:_0x480e2d['icon'])||'')+_0x480824(0x1ae)),_0x30d8ed[_0x480824(0x1ef)]=_0x4aca90;const _0x47e24b=this;_0x30d8ed[_0x480824(0x16d)]=this['_createMenu'](_0xacd599,{},_0x1ad7b7=>{const _0x4a721b=_0x480824,_0x3e8f76=_0x4abe10(_0x1ad7b7);_0x3e8f76&&_0x47e24b['verify'](_0x3e8f76);const _0x4bc6e3=_0xacd599[_0x4a721b(0x11e)](_0x21858d=>_0x21858d[_0x4a721b(0x20f)]===_0x1ad7b7);_0x30d8ed[_0x4a721b(0x1ef)]=_0x1ad7b7,_0x30d8ed[_0x4a721b(0x1ff)][_0x4a721b(0x137)]()[_0x4a721b(0x1f5)]('<span\x20title='+((_0x4bc6e3===null||_0x4bc6e3===void 0x0?void 0x0:_0x4bc6e3[_0x4a721b(0x134)])||'')+_0x4a721b(0x180)+((_0x4bc6e3===null||_0x4bc6e3===void 0x0?void 0x0:_0x4bc6e3[_0x4a721b(0x1a2)])||'')+'</span>');}),_0x30d8ed[_0x480824(0x16d)][_0x480824(0x1cb)](document[_0x480824(0x131)]),_0x30d8ed['$menu'][_0x480824(0x185)](),_0x30d8ed[_0x480824(0x140)][_0x480824(0x17a)]();},'mode'(){const _0x3819f4=this;return _0x4abe10(_0x3819f4['selectedMenuItem']);},'setMode'(_0x29f6f3){const _0x5ac80c=_0x2e6e15,_0x4fcbe1=this,_0x52f692=_0x41aa2a(_0x29f6f3);_0x4fcbe1[_0x5ac80c(0x1ef)]=_0x52f692;},'_create'(){const _0x31d1a4=_0x2e6e15,_0x2210be=this;_0x2210be[_0x31d1a4(0x207)]=this[_0x31d1a4(0x1ed)],_0x2210be['$input'][_0x31d1a4(0x1fc)](_0x31d1a4(0x1a9),_0x31d1a4(0x149)),_0x2210be[_0x31d1a4(0x211)]=_0x2210be[_0x31d1a4(0x207)][_0x31d1a4(0x114)](_0x31d1a4(0x1ee))[_0x31d1a4(0x167)]()[_0x31d1a4(0x130)](_0x31d1a4(0x1e7)),_0x2210be['$combo']=$(_0x31d1a4(0x216)),_0x2210be['$combo']['addClass']('sterfive-combo-box'),_0x2210be['$input'][_0x31d1a4(0x1bf)](_0x2210be['$combo']),_0x2210be[_0x31d1a4(0x212)]=$(_0x31d1a4(0x216))[_0x31d1a4(0x130)](_0x31d1a4(0x203)),_0x2210be[_0x31d1a4(0x117)][_0x31d1a4(0x1f5)](_0x2210be[_0x31d1a4(0x212)]),_0x2210be[_0x31d1a4(0x212)][_0x31d1a4(0x1f5)](_0x2210be[_0x31d1a4(0x207)]),_0x2210be[_0x31d1a4(0x1ca)]=$('<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>'),_0x2210be[_0x31d1a4(0x207)][_0x31d1a4(0x119)](_0x2210be[_0x31d1a4(0x1ca)]),_0x2210be['$toggleTreeBtn']['on']('click',function(){return _0x1b1138(this,void 0x0,void 0x0,function*(){const _0x5537e2=_0x412f;var _0x4d70dc;let _0x1bf2bf=![],_0x3e1599;!_0x2210be[_0x5537e2(0x19c)]['is'](':visible')&&(_0x2210be[_0x5537e2(0x141)][_0x5537e2(0x185)](),_0x3e1599=yield _0x2210be[_0x5537e2(0x108)](),(_0x3e1599!==_0x2210be[_0x5537e2(0x174)]||((_0x4d70dc=_0x2210be[_0x5537e2(0x174)])===null||_0x4d70dc===void 0x0?void 0x0:_0x4d70dc[_0x5537e2(0x1cf)])!==_0x3e1599[_0x5537e2(0x1cf)])&&(yield _0x2210be['reset']()),_0x1bf2bf=!![]),_0x2210be[_0x5537e2(0x19c)][_0x5537e2(0x1a1)](),_0x1bf2bf&&(yield _0x1223b7(_0x2210be,_0x3e1599));});}),_0x2210be[_0x31d1a4(0x1f1)]=$(_0x31d1a4(0x1e1)),_0x2210be[_0x31d1a4(0x207)][_0x31d1a4(0x119)](_0x2210be[_0x31d1a4(0x1f1)]),_0x2210be['$verifyBtn']['on'](_0x31d1a4(0x123),()=>{const _0x866b0d=_0x31d1a4,_0x2d7c1b=_0x2210be['mode']();if(!_0x2d7c1b)return;this[_0x866b0d(0x15c)](_0x2d7c1b);});const _0x3a6d83=_0x44e7a3=>_0x1b1138(this,void 0x0,void 0x0,function*(){const _0x428f06=_0x31d1a4,_0x416013=this;let _0x56973c=_0x416013[_0x428f06(0x142)]();if(!_0x56973c)return;const _0x1e9679=_0x2c87f9(_0x416013),{data:_0x11a484,json:_0x3e1bde}=yield _0x37a942(_0x1e9679,_0x44e7a3);if(_0x11a484[_0x428f06(0x136)]!==0xc8)return;if(_0x3e1bde[_0x428f06(0x164)]['match'](/Good/)){const _0x3da91b=_0x4b5073(_0x3e1bde,_0x56973c);_0x416013[_0x428f06(0x207)]['val'](_0x3da91b),_0x416013[_0x428f06(0x207)][_0x428f06(0x122)](_0x428f06(0x10c));}});{_0x2210be['$uiSelect']=$(_0x31d1a4(0x1ee)),_0x2210be[_0x31d1a4(0x207)][_0x31d1a4(0x1dc)](_0x2210be[_0x31d1a4(0x17f)]),_0x2210be['$selectTrigger']=$(_0x31d1a4(0x1c1))[_0x31d1a4(0x1bb)](_0x2210be['$uiSelect']),$('<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>')[_0x31d1a4(0x1a1)](!![])[_0x31d1a4(0x1cb)](_0x2210be[_0x31d1a4(0x140)]),_0x2210be['$selectTrigger']['on'](_0x31d1a4(0x123),function(_0x3db083){const _0x3acef8=_0x31d1a4;_0x3db083[_0x3acef8(0x135)](),_0x3db083['stopPropagation'](),_0x2210be[_0x3acef8(0x12b)]();}),_0x2210be['$selectTrigger']['on'](_0x31d1a4(0x17b),function(_0x417745){const _0x3f5b35=_0x31d1a4;_0x417745[_0x3f5b35(0x104)]===0x28&&_0x2210be['_showTypeMenu'](),_0x417745[_0x3f5b35(0x220)]();})['on'](_0x31d1a4(0x1b0),function(){const _0x5ba71d=_0x31d1a4;_0x2210be[_0x5ba71d(0x17f)]['addClass'](_0x5ba71d(0x16b));})['on'](_0x31d1a4(0x1f4),function(){const _0x292acf=_0x31d1a4;_0x2210be['$uiSelect'][_0x292acf(0x1c5)](_0x292acf(0x16b));}),_0x2210be[_0x31d1a4(0x1ff)]=$(_0x31d1a4(0x10e))[_0x31d1a4(0x1cb)](_0x2210be['$selectTrigger']);}this[_0x31d1a4(0x177)]();!_0x2210be[_0x31d1a4(0x207)][_0x31d1a4(0x18a)](_0x31d1a4(0x18d))&&_0x2210be['$input'][_0x31d1a4(0x18a)](_0x31d1a4(0x18d),'enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20');_0x2210be[_0x31d1a4(0x141)]=$(_0x31d1a4(0x191)),_0x2210be[_0x31d1a4(0x141)]['hide'](),_0x2210be[_0x31d1a4(0x117)][_0x31d1a4(0x1f5)](_0x2210be['$info']),_0x2210be[_0x31d1a4(0x19c)]=$(_0x31d1a4(0x216))[_0x31d1a4(0x130)](_0x31d1a4(0x1bd))[_0x31d1a4(0x185)]()[_0x31d1a4(0x1cb)](_0x2210be['$combo']),_0x2210be[_0x31d1a4(0x17e)]=$(_0x31d1a4(0x10b))[_0x31d1a4(0x1cb)](_0x2210be['$dropdown']),this[_0x31d1a4(0x129)]();const _0x2be514=(_0xac6812,_0x549ff8)=>{const _0x552ae5=_0x31d1a4,_0x18b494=0x14,_0x591c3a=0x14,_0x56c438=_0xac6812[_0x552ae5(0x169)](),_0x3951d3=_0x549ff8;if(_0x3951d3[_0x552ae5(0x157)]>=_0x56c438['left']&&_0x3951d3[_0x552ae5(0x157)]<=_0x56c438[_0x552ae5(0x18b)]+_0x18b494&&_0x3951d3[_0x552ae5(0x20c)]>=_0x56c438[_0x552ae5(0x21e)]&&_0x3951d3[_0x552ae5(0x20c)]<=_0x56c438[_0x552ae5(0x21e)]+_0x591c3a)return!![];return![];},_0x62355c=_0x2328fe=>_0x1b1138(this,void 0x0,void 0x0,function*(){const _0x20b174=_0x31d1a4;if(_0x2328fe['hasClass'](_0x20b174(0x12c)))_0x29638b(_0x2210be,_0x2328fe);else{if(_0x2328fe['hasClass'](_0x20b174(0x1d7)))_0x2328fe['children']('ul')['toggle'](),_0x2328fe['toggleClass']('expandable\x20expanded');else{if(_0x2328fe[_0x20b174(0x1d1)]('ul')[_0x20b174(0x1d1)]()['length']>0x0)_0x2328fe[_0x20b174(0x1d1)]('ul')[_0x20b174(0x1a1)](),_0x2328fe[_0x20b174(0x1f2)](_0x20b174(0x21f));else;}}});_0x2210be[_0x31d1a4(0x17e)]['on'](_0x31d1a4(0x144),'li',function(_0x57d169){const _0x2e5df6=_0x31d1a4;var _0x4c7ad7,_0x1e55a8;_0x57d169['stopPropagation']();let _0xc2032=$(this);if(_0x2be514(_0xc2032,_0x57d169))_0x62355c(_0xc2032);else{const _0x2157b8=_0xc2032['data'](_0x2e5df6(0x20f)),_0x1497e4=_0xc2032['data']('reference');if(_0x2210be[_0x2e5df6(0x1d0)][_0x2e5df6(0x11d)]&&!_0x2210be[_0x2e5df6(0x1d0)][_0x2e5df6(0x11d)](_0x1497e4))return;_0x2210be['$input'][_0x2e5df6(0x1be)]('reference',_0x1497e4),((_0x4c7ad7=_0x1497e4[_0x2e5df6(0x155)])===null||_0x4c7ad7===void 0x0?void 0x0:_0x4c7ad7['text'])||((_0x1e55a8=_0x1497e4[_0x2e5df6(0x14a)])===null||_0x1e55a8===void 0x0?void 0x0:_0x1e55a8['name'])||_0x1497e4[_0x2e5df6(0x1cf)][_0x2e5df6(0x14c)]();let _0x187e0a=_0x2210be[_0x2e5df6(0x142)]();!_0x187e0a&&(_0x187e0a='nodeId',_0x2210be[_0x2e5df6(0x14f)](_0x187e0a)),_0x3a6d83(_0x2157b8)[_0x2e5df6(0x19f)](()=>{const _0x58fe19=_0x2e5df6;_0x2210be['$dropdown'][_0x58fe19(0x185)]();})[_0x2e5df6(0x182)](_0x58e93d=>{const _0x25757f=_0x2e5df6;_0x2210be['$dropdown'][_0x25757f(0x185)]();});}}),_0x2210be['$tree']['on'](_0x31d1a4(0x123),'li',function(_0x3030c0){const _0x3c135f=_0x31d1a4;_0x3030c0[_0x3c135f(0x220)]();let _0x5168b2=$(this);_0x2be514(_0x5168b2,_0x3030c0)&&_0x62355c(_0x5168b2),_0x4cf868(_0x2210be,_0x5168b2);}),$(document)['on']('click',function(_0xf2f25e){const _0x3f0abe=_0x31d1a4;!$(_0xf2f25e[_0x3f0abe(0x21c)])[_0x3f0abe(0x222)](_0x2210be[_0x3f0abe(0x117)])[_0x3f0abe(0x1ec)]&&_0x2210be['$dropdown'][_0x3f0abe(0x185)]();});}});},_0x346896=()=>{const _0x5439a5=_0x3ab34d,_0xdf474=$(_0x5439a5(0x1ba)),_0x26d9a0=_0xdf474['val'](),_0x247651=RED[_0x5439a5(0x150)]['node'](_0x26d9a0);if(!_0x247651)return undefined;const {endpoint:_0x3d9a26,securityMode:_0x3d8979,securityPolicy:_0x49a1d0,userIdentityType:_0x29bdbc,credentials:_0x5af4c8,namespaceAliases:_0x446663}=_0x247651,_0x5f019f={'endpoint':_0x3d9a26,'securityMode':_0x3d8979,'securityPolicy':_0x49a1d0,'userIdentityType':_0x29bdbc,'credentials':_0x5af4c8,'namespaceAliases':_0x446663};return _0x5f019f;},_0x5c8d28=()=>{const _0x4326c9=_0x3ab34d,_0x298f4e=$(_0x4326c9(0x1ba)),_0x1232a6=_0x298f4e['val'](),_0x2e3444=_0x346896();if(!_0x2e3444)return undefined;const _0x50baaf=_0x2e3444[_0x4326c9(0x1de)];return Object['assign']({'namespaceAliases':_0x50baaf,'id':_0x1232a6},_0x2e3444);},_0x5c27b8=()=>{return{'endpointNode':_0x5c8d28};},_0x5bcaa9=()=>{const _0x564d2e=_0x3ab34d,_0x1f4e8b=$('.red-ui-tray-body');if(_0x1f4e8b[_0x564d2e(0x1ec)]){const _0x15177d=$(_0x564d2e(0x138),{'src':_0x564d2e(0x165),'scrolling':'no','style':'background-color:transparent;overflow:hidden;border:3px','allowtransparency':'true','width':_0x564d2e(0x13a),'height':_0x564d2e(0x214)});_0x1f4e8b[_0x564d2e(0x1f5)](_0x15177d),_0x15177d[_0x564d2e(0x1fc)]({'position':'absolute','right':_0x564d2e(0x10f),'bottom':_0x564d2e(0x11f)});}};RED[_0x3ab34d(0x150)][_0x3ab34d(0x18e)]('OpcUa-Client2-Read',{'category':'opcua','color':_0x3ab34d(0x210),'align':_0x3ab34d(0x1fb),'icon':_0x3ab34d(0x13c),'paletteLabel':_0x3ab34d(0x219),'defaults':{'inputs':{'value':0x1},'output':{'value':0x4},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':_0x3ab34d(0x208)},'attributeId':{'value':_0x3ab34d(0x1c4),'required':!![]},'nodeId':{'value':'','required':![]},'outputType':{'value':_0x3ab34d(0x1c4),'required':!![]}},'outputs':0x2,'label'(){const _0xf40b6=_0x3ab34d;return this[_0xf40b6(0x172)]||_0xf40b6(0x1e8);},'labelStyle'(){const _0x485eec=_0x3ab34d;return this[_0x485eec(0x172)]?_0x485eec(0x1a0):'';},'oneditprepare'(){const _0x289300=_0x3ab34d,_0x176ed6=this;_0xaff415(),_0x5bcaa9(),_0x176ed6[_0x289300(0x102)]=0x1;const _0x29e1a9=$(_0x289300(0x1ea));_0x29e1a9[_0x289300(0x173)](Object[_0x289300(0x1d6)](Object[_0x289300(0x1d6)]({},_0x5c27b8()),{'isSelectable'(_0x5b87db){const _0x9523f7=_0x289300;return _0x5b87db['nodeClass']===_0x9523f7(0x171);}}));},'oneditsave'(){}});}()));function _0x412f(_0x39e36c,_0x22feb8){const _0x17e9bb=_0x17e9();return _0x412f=function(_0x412fb0,_0x369284){_0x412fb0=_0x412fb0-0xfb;let _0x38a6dc=_0x17e9bb[_0x412fb0];return _0x38a6dc;},_0x412f(_0x39e36c,_0x22feb8);}function _0x17e9(){const _0xec0fb1=['/checkNodeId','call','resolveParentNode','input[type=\x22checkbox\x22]','DataType','<ul\x20class=\x22sterfive-tree\x22></ul>','change','prop','<span\x20class=\x22red-ui-typedInput-type-label\x22></span>','20px','done','label','each','selected','wrap','sterfive.nodeBrowser','statusText','$combo','browseResult','after','SandyBrown','aliased\x20NodeId:\x20','<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/>&nbsp;','isSelectable','find','16px','10220694sYyWiC','1048046yjNzgp','trigger','click','throw','Unspecified','browsePath','position','/opcua-for-node-red','reset','/browse','_showTypeMenu','expandable','scrollTop','localeCompare','\x22}><span\x20class=\x22tree-text\x22\x20title=','addClass','body','Both','647248axgedZ','title','preventDefault','status','empty','<iframe></iframe>','aliased\x20browsePath:\x20','180px','nodeId_nsu','../../icons/opcuanodeLogo.png','tabindex','<li>error\x20','json','$selectTrigger','$info','mode','</li>','dblclick','isTypeRef','suppressed','nsuNodeID','HasSubtype','none','browseName','BrowsePath','toString','error','msg','setMode','nodes','CadetBlue','<a\x20href=\x22#\x22></a>','<i>','<input\x20type=\x22checkbox\x22>','displayName','[value=\x27','pageX','node','11534166xyIGSJ','DarkOrange','DodgerBlue','verify','NodeClass','<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>','NodeId\x20with\x20namespace\x20Urn','ns=0;i=47','Method','Good','requestedNodeId','statusCode','/opcua-for-node-red/support-frame.html','mousedown.red-ui-typedInput-focus-block','parent','HasComponent','offset','li[key=\x22','red-ui-typedInput-focus','<div\x20class=\x22spinner\x22></div>','$menu','val','apply','fa-question','Variable','name','nodeBrowser','currentParent','__parentNode','ns=0;i=85','_initMenu','bp_indexed',';\x22></i>\x20','show','keydown','Organizes','sort','$tree','$uiSelect','>&nbsp;\x20','fa-cog','catch','ReferenceType','598524SrCwQK','hide','stringify','SuppressedError','ns=0;i=34','IsForward','attr','left','animate','placeholder','registerType','.spinner','browse\x20path:\x20','<div\x20class=\x22sterfive-info-text\x22></div>','<i\x20class=\x22fa\x20fa-font\x22/i>\x20','widget','3uWEMhy','Object','/walk-backward','</span><ul></ul></li>','VariableType','Inverse','hasClass','<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/>&nbsp;','$dropdown','endpointNode','POST','then','node_label_italic','toggle','icon','BrowseName','sterfive-input-error','><i\x20class=\x22fa\x20','HasTypeDefinition','SeaGreen','fa-list-alt','border','loading','indexOf','red-ui-typedInput-icon\x20','message','</span>','match','focus','Aliased\x20Browse\x20Path','nodeId:\x20','next','fa-folder','opts','View','HasChild','multiple','ns=0;i=40','#node-input-endpoint','prependTo','!!failure!!','sterfive-dropdown','data','replaceWith','prev','<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>','push','slideDown','Value','removeClass','<i\x20class=\x22fa\x20fa-tag\x22/>1\x20&nbsp;\x20','fa-text-width','referenceTypeId','rgba(61,\x2060,\x204,\x200.525)','$toggleTreeBtn','appendTo','ns=0;i=61','application/json','typeDefinition','nodeId','options','children','877505lTQbAX','Aliased\x20NodeId','bp_aliased','endpoint','assign','expanded','already\x20loading','fa-sliders','<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>','aliasedNodeId','before','checked','namespaceAliases','_hideMenu','TypeDefinition','<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>','fa-object-group','Invalid','\x22\x20style=\x22color:','grey','pointer-events','main-wrapper','OPCUA\x20Client\x20Read','sterfive-typedInput-options\x20sterfive-online-menu','#node-input-nodeId','li\x20>\x20.tree-text','length','element','<div>','selectedMenuItem','mousedown.red-ui-typedInput-close-property-select','$verifyBtn','toggleClass','text','blur','append','_showMenu','.tree-text:first','references','opc.tcp://opcuademo.sterfive.com:26543','Forward','right','css','18px','elements','$selectLabel','fetching\x20failed\x20with\x20error','disarmClick','sterfive-info','sterfive-input-group','6JIZKDH','reference','3106820AdDPnb','$input','OpcUa-Endpoint2','callback','72ZGKIxn',':focus','pageY','1EJoOFb','DisplayName','value','#C0DEED','$elementDiv','$inputGroup','nodeIds','30px','forEach','<div/>','nsu','ObjectType','read','aliasedBrowsePath','SteelBlue','target','parentNode','top','expandable\x20expanded','stopPropagation','failure','closest','fetched','filter','<span\x20title=','log','<i\x20class=\x22fa\x20fa-id-card\x22/>&nbsp;\x20','nodeId_aliased','function','inputs','height','keyCode','<i\x20class=\x22fa\x20fa-bookmark\x22/>&nbsp;\x20'];_0x17e9=function(){return _0xec0fb1;};return _0x17e9();}
9
8
  </script>
10
9
  <script type="text/x-red" data-template-name="OpcUa-Client2-Read">
11
10
  <h3>