@opcua/for-node-red 2.5.1 → 2.5.4
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.
- package/all.js +1 -1
- package/package.json +2 -2
- package/source/OpcUa-Client2-Browse/OpcUa-Client2-Browse.html +2 -2
- package/source/OpcUa-Client2-Call/OpcUa-Client2-Call.html +2 -2
- package/source/OpcUa-Client2-Explore/OpcUa-Client2-Explore.html +2 -2
- package/source/OpcUa-Client2-Monitor/OpcUa-Client2-Monitor.html +2 -2
- package/source/OpcUa-Client2-MonitorEvent/OpcUa-Client2-MonitorEvent.html +2 -2
- package/source/OpcUa-Client2-Read/OpcUa-Client2-Read.html +2 -2
- package/source/OpcUa-Client2-Write/OpcUa-Client2-Write.html +2 -2
- package/source/OpcUa-Endpoint2/OpcUa-Endpoint2.html +2 -2
@@ -4,8 +4,8 @@
|
|
4
4
|
</style>
|
5
5
|
|
6
6
|
<script type="text/javascript">
|
7
|
-
function _0x1efc(_0x3d5800,_0x2b0de1){const _0x3b127b=_0x3b12();return _0x1efc=function(_0x1efc1b,_0x5d0364){_0x1efc1b=_0x1efc1b-0x12b;let _0x4b5760=_0x3b127b[_0x1efc1b];return _0x4b5760;},_0x1efc(_0x3d5800,_0x2b0de1);}(function(_0x1696c1,_0x485d37){const _0x1cfe1d=_0x1efc,_0x20c14d=_0x1696c1();while(!![]){try{const _0x404c0c=-parseInt(_0x1cfe1d(0x133))/0x1*(-parseInt(_0x1cfe1d(0x165))/0x2)+parseInt(_0x1cfe1d(0x188))/0x3*(parseInt(_0x1cfe1d(0x1e2))/0x4)+-parseInt(_0x1cfe1d(0x17c))/0x5*(-parseInt(_0x1cfe1d(0x1cd))/0x6)+parseInt(_0x1cfe1d(0x1d7))/0x7*(-parseInt(_0x1cfe1d(0x177))/0x8)+parseInt(_0x1cfe1d(0x15f))/0x9*(-parseInt(_0x1cfe1d(0x1e6))/0xa)+parseInt(_0x1cfe1d(0x1cf))/0xb*(parseInt(_0x1cfe1d(0x1a7))/0xc)+-parseInt(_0x1cfe1d(0x1a3))/0xd*(parseInt(_0x1cfe1d(0x14b))/0xe);if(_0x404c0c===_0x485d37)break;else _0x20c14d['push'](_0x20c14d['shift']());}catch(_0x851b0f){_0x20c14d['push'](_0x20c14d['shift']());}}}(_0x3b12,0x3b4c1),(function(){'use strict';const _0xe1786d=_0x1efc;function _0x3eeabd(_0x13b42d,_0x2400f3,_0x340365,_0x48b86c){function _0x11e6ca(_0x3c18f9){return _0x3c18f9 instanceof _0x340365?_0x3c18f9:new _0x340365(function(_0xeb5eb4){_0xeb5eb4(_0x3c18f9);});}return new(_0x340365||(_0x340365=Promise))(function(_0x5c0b25,_0xaf4312){const _0x1c5997=_0x1efc;function _0x1d4512(_0x4038d1){const _0x125dfc=_0x1efc;try{_0x32e0a1(_0x48b86c[_0x125dfc(0x1d8)](_0x4038d1));}catch(_0x5a3874){_0xaf4312(_0x5a3874);}}function _0x36fbf5(_0x2601a1){try{_0x32e0a1(_0x48b86c['throw'](_0x2601a1));}catch(_0x9ffc6f){_0xaf4312(_0x9ffc6f);}}function _0x32e0a1(_0x39d084){const _0x3d9a12=_0x1efc;_0x39d084[_0x3d9a12(0x1ab)]?_0x5c0b25(_0x39d084[_0x3d9a12(0x17a)]):_0x11e6ca(_0x39d084['value'])[_0x3d9a12(0x1c3)](_0x1d4512,_0x36fbf5);}_0x32e0a1((_0x48b86c=_0x48b86c[_0x1c5997(0x1c4)](_0x13b42d,_0x2400f3||[]))[_0x1c5997(0x1d8)]());});}typeof SuppressedError==='function'?SuppressedError:function(_0x1a223e,_0x93ca48,_0x5e3c63){const _0x4827e7=_0x1efc;var _0x2163ab=new Error(_0x5e3c63);return _0x2163ab[_0x4827e7(0x141)]=_0x4827e7(0x146),_0x2163ab[_0x4827e7(0x1cb)]=_0x1a223e,_0x2163ab[_0x4827e7(0x1e1)]=_0x93ca48,_0x2163ab;};function _0x159155(_0x2cc0a3,_0x35f870,_0x2db6ea,_0x52205f){const _0x41fda2=_0x1efc,_0x5260d8=$('#'+_0x2cc0a3+_0x41fda2(0x15d)),_0x46a892=$('#'+_0x2cc0a3+'-failure'),_0x15425a=$('#'+_0x2cc0a3+'-pending'),_0x73e0ad=$('#'+_0x2cc0a3+'-messages');let _0x24a3ee=![];_0x5260d8[_0x41fda2(0x152)](),_0x46a892[_0x41fda2(0x152)](),_0x15425a[_0x41fda2(0x152)](),_0x35f870['on']('click',()=>{const _0x3afdc6=_0x41fda2;if(_0x24a3ee)return;_0x24a3ee=!![],_0x15425a[_0x3afdc6(0x159)](_0x3afdc6(0x152)),_0x15425a[_0x3afdc6(0x1b0)]('Testing\x20Connection\x20...'),_0x5260d8[_0x3afdc6(0x19d)](_0x3afdc6(0x152)),_0x46a892[_0x3afdc6(0x19d)]('hide'),_0x73e0ad['html']('');const {body:_0x5d7664,url:_0x36a1d6}=_0x2db6ea();fetch(_0x36a1d6,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON[_0x3afdc6(0x19e)](_0x5d7664)})[_0x3afdc6(0x1c3)](_0x16adea=>_0x16adea[_0x3afdc6(0x1ce)]())['then'](_0x368251=>{const _0x4a8ed2=_0x3afdc6;_0x24a3ee=![],_0x15425a['hide'](),console['log'](JSON[_0x4a8ed2(0x19e)](_0x368251,null,'\x20'));if(_0x368251[_0x4a8ed2(0x1b8)]==='ok')_0x5260d8[_0x4a8ed2(0x159)](_0x4a8ed2(0x152)),_0x46a892[_0x4a8ed2(0x19d)]('hide'),_0x73e0ad[_0x4a8ed2(0x1b0)](_0x368251[_0x4a8ed2(0x157)]['replace']('\x0a',_0x4a8ed2(0x15b))),_0x52205f(null,_0x368251);else{const _0x42c647=_0x1c438f=>!_0x1c438f?'':_0x1c438f[_0x4a8ed2(0x1c9)]('\x0a')[_0x4a8ed2(0x12d)](_0x4502cf=>'<p>'+_0x4502cf+'</p>')[_0x4a8ed2(0x1b2)]('\x0a'),_0x52104f=_0x29b236=>Array['isArray'](_0x29b236)?_0x29b236[_0x4a8ed2(0x12d)](_0x42c647)[_0x4a8ed2(0x1b2)]('\x0a'):_0x42c647(_0x29b236);_0x5260d8['addClass'](_0x4a8ed2(0x152)),_0x46a892['removeClass']('hide'),_0x73e0ad[_0x4a8ed2(0x1b0)](_0x52104f(_0x368251[_0x4a8ed2(0x157)])+_0x52104f(_0x368251[_0x4a8ed2(0x1bf)])),_0x52205f(new Error(_0x368251[_0x4a8ed2(0x1b8)]),_0x368251);}})['catch'](_0x40971d=>{const _0x21c24f=_0x3afdc6;_0x24a3ee=![],_0x15425a['addClass']('hide'),_0x5260d8[_0x21c24f(0x19d)](_0x21c24f(0x152)),_0x46a892['removeClass']('hide'),_0x73e0ad['html']('internal\x20error\x20'+_0x40971d[_0x21c24f(0x157)]),console['log'](_0x21c24f(0x175),_0x40971d),_0x52205f(_0x40971d,null);});});}const _0x3fcf61='prctbl_1OJt49BCNccbzsVzkaANOgFL',_0x4253fb=_0xe1786d(0x148);function _0x2cdd1e(_0xfa6d91=''){return _0x3eeabd(this,void 0x0,void 0x0,function*(){const _0x6dce2f=_0x1efc,_0x1a9244=_0xfa6d91+_0x6dce2f(0x1d4),_0x14a29c=_0x1a9244+_0x6dce2f(0x1dc),_0x50b74c=yield fetch(_0x14a29c,{'method':_0x6dce2f(0x187),'headers':{'Content-Type':_0x6dce2f(0x186)}}),_0x37402a=new Date()[_0x6dce2f(0x17e)]();if(_0x50b74c[_0x6dce2f(0x16e)]!==0xc8)return console[_0x6dce2f(0x1b9)](_0x6dce2f(0x196),_0x50b74c[_0x6dce2f(0x16e)],_0x50b74c['statusText']),{'status':_0x6dce2f(0x1df),'type':_0x6dce2f(0x1d2),'licenceInfo':{'expiryDate':_0x37402a}};const _0x504fd0=yield _0x50b74c[_0x6dce2f(0x1ce)]();return _0x504fd0;});}const _0x42f769=()=>{const _0x2f70fd=_0xe1786d;$[_0x2f70fd(0x150)](_0x2f70fd(0x14c),{'options':{'baseUrl':''},'_create'(){const _0x367335=_0x2f70fd,_0x1b1b7d=this,_0x356457=_0x367335(0x13c),_0x32df80=_0x367335(0x182);_0x2cdd1e(_0x1b1b7d['baseUrl'])[_0x367335(0x1c3)](_0xe4aae0=>{const _0x49369b=_0x367335;let _0x4c82d5='',_0x4ccbd3='',_0x29528d='';const _0x3b99a9=_0xe4aae0[_0x49369b(0x16e)],_0x11d54d=_0xe4aae0[_0x49369b(0x192)];switch(_0x3b99a9){case _0x49369b(0x138):_0x4c82d5='fa\x20fa-check-circle';switch(_0xe4aae0[_0x49369b(0x179)]){case'TRIAL':{_0x4ccbd3=_0x49369b(0x139),_0x29528d=_0x49369b(0x12e)+_0x11d54d+_0x49369b(0x1ae)+_0x32df80+'\x20to\x20acquire\x20a\x20license.';break;}case _0x49369b(0x1c7):_0x4ccbd3=_0x49369b(0x1c0);_0x11d54d<0x5a&&_0x11d54d>=0x0&&(_0x4ccbd3+=_0x49369b(0x12b)+_0x11d54d+'\x20days.');_0x29528d=_0xe4aae0[_0x49369b(0x130)][_0x49369b(0x1a0)]+'\x20-\x20'+(_0xe4aae0['licenceInfo'][_0x49369b(0x1bd)]||'');break;case _0x49369b(0x1d2):_0x4ccbd3=_0x49369b(0x191),_0x29528d=_0x49369b(0x1bc)+_0x32df80+_0x49369b(0x154);break;}break;case _0x49369b(0x13d):_0x4c82d5=_0x49369b(0x198),_0x4ccbd3=_0x49369b(0x1a2),_0x29528d='Your\x20license\x20has\x20expired.\x20Please\x20contact\x20our\x20support\x20team\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.';break;case _0x49369b(0x1df):default:_0x4c82d5=_0x49369b(0x1a6),_0x4ccbd3='Your\x20license\x20is\x20currently\x20invalid.',_0x29528d=_0x49369b(0x16a)+_0x356457+_0x49369b(0x166);break;}this[_0x49369b(0x19b)][_0x49369b(0x19d)]('licence-widget'),this['element'][_0x49369b(0x19d)](_0x49369b(0x19a)+_0x3b99a9),this[_0x49369b(0x19b)][_0x49369b(0x142)]($(_0x49369b(0x1e3))[_0x49369b(0x19d)](_0x49369b(0x155))[_0x49369b(0x142)]($(_0x49369b(0x1d3))['addClass'](_0x4c82d5))),this[_0x49369b(0x19b)][_0x49369b(0x142)]($(_0x49369b(0x1e3))[_0x49369b(0x19d)]('licence-widget-msg')['text'](_0x4ccbd3)),this['element']['append']($('<br>')),this['element'][_0x49369b(0x142)]($(_0x49369b(0x1e3))[_0x49369b(0x19d)]('licence-widget-details')['append'](_0x29528d));if(_0x3b99a9===_0x49369b(0x13d)||_0x3b99a9===_0x49369b(0x1df)||_0xe4aae0['type']==='FREEWARE'||_0xe4aae0[_0x49369b(0x179)]===_0x49369b(0x1c6)){const _0x3c50bc=$(_0x49369b(0x16f));_0x3c50bc[_0x49369b(0x194)]('id',_0x49369b(0x168)),_0x3c50bc[_0x49369b(0x194)](_0x49369b(0x184),_0x49369b(0x1e4)),_0x3c50bc[_0x49369b(0x194)](_0x49369b(0x15e),_0x49369b(0x185)),_0x3c50bc[_0x49369b(0x183)](_0x49369b(0x162)),this[_0x49369b(0x19b)][_0x49369b(0x142)](_0x3c50bc);const _0x471254=document[_0x49369b(0x15c)](_0x49369b(0x163));_0x471254[_0x49369b(0x153)]=_0x49369b(0x197),_0x471254[_0x49369b(0x149)]=!![],$(_0x49369b(0x1b3))[_0x49369b(0x142)](_0x471254);const _0x3da2fb=$('<stripe-pricing-table/>');_0x3da2fb[_0x49369b(0x194)](_0x49369b(0x1dd),_0x3fcf61),_0x3da2fb[_0x49369b(0x194)]('publishable-key',_0x4253fb),_0x3da2fb[_0x49369b(0x194)](_0x49369b(0x15e),_0x49369b(0x1c5)),_0x3da2fb[_0x49369b(0x152)](),this['element'][_0x49369b(0x142)](_0x3da2fb),_0x3c50bc['on'](_0x49369b(0x19f),()=>{const _0x331f98=_0x49369b;_0x3da2fb[_0x331f98(0x158)](),_0x3c50bc[_0x331f98(0x152)](),this[_0x331f98(0x19b)]['attr'](_0x331f98(0x15e),'height:\x20100%\x20!important;');});}})['catch'](_0x659718=>{const _0x565dae=_0x367335;console[_0x565dae(0x1b9)](_0x659718);});}});};_0x42f769();function _0x48a8cf(_0x227b83){const _0x539360=_0xe1786d;let _0x43cbe5;try{_0x43cbe5=new URL(_0x227b83);}catch(_0x27a65d){return![];}return _0x43cbe5[_0x539360(0x1a4)]===_0x539360(0x1ad);}const _0x4b26fc={'publishingEnabled':!![],'requestedLifetimeCount':0x3e8,'requestedMaxKeepAliveCount':0xa,'requestedPublishingInterval':0x3e8,'maxNotificationsPerPublish':0x0,'priority':0x64};RED[_0xe1786d(0x1cc)]['registerType']('OpcUa-Endpoint2',{'category':_0xe1786d(0x1a8),'paletteLabel':'opcua\x20endpoint','defaults':{'name':{'value':''},'endpoint':{'value':_0xe1786d(0x13b),'required':!![],'validate':_0x48a8cf},'securityMode':{'value':_0xe1786d(0x1b1)},'securityPolicy':{'value':_0xe1786d(0x1b1),'validate':_0xeb38c2=>{if(!_0xeb38c2)return![];return!![];}},'userIdentityType':{'value':_0xe1786d(0x1ca)},'useTransport':{'value':![],'required':![]},'maxChunkCount':{'value':0x1,'required':![]},'maxMessageSize':{'value':0x2000,'required':![]},'receiveBufferSize':{'value':0x2000,'required':![]},'sendBufferSize':{'value':0x2000,'required':![]},'subscriptions':{'value':[{'id':'s1','name':'Default\x20Subscription','isDefault':!![],'parameters':Object['assign']({},_0x4b26fc)},{'id':'s2','name':_0xe1786d(0x180),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0x64,'requestedMaxKeepAliveCount':0x14,'requestedPublishingInterval':0x1388,'maxNotificationsPerPublish':0x64,'priority':0xa}},{'id':'s3','name':'Fast\x20Subscription','isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0xfa0,'requestedMaxKeepAliveCount':0x64,'requestedPublishingInterval':0xfa,'maxNotificationsPerPublish':0x64,'priority':0xc8}}],'required':![]}},'credentials':{'userName':{'type':_0xe1786d(0x183)},'password':{'type':_0xe1786d(0x1db)},'userCertificate':{'type':'text'},'userPrivatekey':{'type':_0xe1786d(0x1db)}},'label':function(){const _0x2c8ed3=_0xe1786d;return this[_0x2c8ed3(0x141)]||this[_0x2c8ed3(0x1da)]||_0x2c8ed3(0x178);},'oneditsave'(){const _0x10d84e=_0xe1786d,_0x26e6be=$(_0x10d84e(0x18d)),_0x287a9a=$('#node-config-input-securityMode');_0x26e6be['val']()===_0x10d84e(0x1b1)&&_0x287a9a['text'](_0x10d84e(0x1b1));const _0x20dcf2=$(_0x10d84e(0x1c8))[_0x10d84e(0x18c)]('items'),_0x4fa856=[],_0x2f7bc6=_0x31a810=>_0x31a810;_0x20dcf2[_0x10d84e(0x14d)](function(_0x5ef679,_0x105174){const _0x37aba6=_0x10d84e,_0x1d1eda=$(this),_0x5cbda2={'id':'s'+_0x5ef679,'name':_0x1d1eda[_0x37aba6(0x1b4)]('.input-name')['val'](),'isDefault':!!_0x1d1eda[_0x37aba6(0x1b4)](_0x37aba6(0x12f))[_0x37aba6(0x13a)](),'parameters':{'publishingEnabled':!!_0x1d1eda['find'](_0x37aba6(0x147))['is'](_0x37aba6(0x144)),'requestedLifetimeCount':_0x2f7bc6(_0x1d1eda[_0x37aba6(0x1b4)]('.input-requestedLifetimeCount')[_0x37aba6(0x13a)]()),'requestedMaxKeepAliveCount':_0x2f7bc6(_0x1d1eda[_0x37aba6(0x1b4)](_0x37aba6(0x18e))[_0x37aba6(0x13a)]()),'requestedPublishingInterval':_0x2f7bc6(_0x1d1eda[_0x37aba6(0x1b4)](_0x37aba6(0x171))[_0x37aba6(0x13a)]()),'maxNotificationsPerPublish':_0x2f7bc6(_0x1d1eda[_0x37aba6(0x1b4)](_0x37aba6(0x140))[_0x37aba6(0x13a)]()),'priority':_0x2f7bc6(_0x1d1eda['find'](_0x37aba6(0x1e5))[_0x37aba6(0x13a)]())}};_0x5cbda2[_0x37aba6(0x199)][_0x37aba6(0x15a)]=!![],_0x5cbda2[_0x37aba6(0x169)]&&_0x5cbda2['id']==='s0'&&(_0x5cbda2[_0x37aba6(0x141)]=_0x37aba6(0x1ba)),_0x4fa856['push'](_0x5cbda2);}),this['subscriptions']=_0x4fa856;},'oneditprepare'(){const _0x508097=_0xe1786d,_0x4287d7=this,_0x12814e=RED['tabs']['create']({'id':'node-config-endpoint-tabs','onchange':function(_0x5c1376){const _0x21ec0a=_0x1efc;$(_0x21ec0a(0x135))[_0x21ec0a(0x1a1)]()['hide'](),$('#'+_0x5c1376['id'])[_0x21ec0a(0x158)]();}});_0x12814e[_0x508097(0x174)]({'id':_0x508097(0x14e),'label':_0x508097(0x1d6)},0x0),_0x12814e[_0x508097(0x174)]({'id':_0x508097(0x132),'label':_0x508097(0x1d9)},0x1),setTimeout(function(){const _0x45b8c5=_0x508097;_0x12814e[_0x45b8c5(0x13e)]();},0x0);{const _0x14c0fe=_0x531afb=>{const _0x539427=_0x508097;switch(_0x531afb){case null:case undefined:case'':case _0x539427(0x1b1):$(_0x539427(0x137))[_0x539427(0x152)]();break;case _0x539427(0x190):case _0x539427(0x160):{const _0x4f20f9=$(_0x539427(0x137));(_0x4f20f9[_0x539427(0x13a)]()===_0x539427(0x1b1)||_0x4f20f9[_0x539427(0x13a)]()==='')&&_0x4f20f9[_0x539427(0x13a)](_0x539427(0x1a5)),$(_0x539427(0x137))[_0x539427(0x158)]();}break;default:console['log'](_0x539427(0x1bb)+_0x531afb);}};_0x14c0fe(_0x4287d7['securityMode']);const _0x179a70=$('#node-config-input-securityMode');_0x179a70['on'](_0x508097(0x14a),()=>{const _0x4bd888=_0x508097,_0x14e3df=_0x179a70[_0x4bd888(0x13a)]();_0x14c0fe(_0x14e3df);});}const _0x304bc3=$('#licenceWidget');_0x304bc3['licenceWidget']({'baseUrl':''});{const _0x11d909=$(_0x508097(0x1d1)),_0x2f05e7=$(_0x508097(0x16c)),_0x5d8c83=_0x7d81a7=>{const _0x2e7365=_0x508097;_0x7d81a7=_0x7d81a7||_0x2e7365(0x1ca);switch(_0x7d81a7){case _0x2e7365(0x1ca):$(_0x2e7365(0x1be))[_0x2e7365(0x13a)](''),$(_0x2e7365(0x136))['val'](''),_0x11d909[_0x2e7365(0x152)](),_0x2f05e7[_0x2e7365(0x152)]();break;case'UserName':_0x11d909[_0x2e7365(0x158)](),_0x2f05e7['hide']();break;case'Certificate':$(_0x2e7365(0x1be))[_0x2e7365(0x13a)](''),$(_0x2e7365(0x136))[_0x2e7365(0x13a)](''),_0x2f05e7[_0x2e7365(0x158)](),_0x11d909[_0x2e7365(0x152)]();break;default:console[_0x2e7365(0x1b9)]('invalid\x20userIdentityType\x20'+_0x7d81a7);}};_0x5d8c83(_0x4287d7['userIdentityType']);const _0x5d8edc=$(_0x508097(0x161));_0x5d8edc['on'](_0x508097(0x14a),()=>{const _0xb223f1=_0x508097,_0x59d27d=_0x5d8edc[_0xb223f1(0x13a)]();_0x5d8c83(_0x59d27d);});}{$(_0x508097(0x145))['hide'](),$(_0x508097(0x18a))['on'](_0x508097(0x14a),function(){const _0x5105bb=_0x508097;$(this)[_0x5105bb(0x16b)](_0x5105bb(0x14f))?$(_0x5105bb(0x145))[_0x5105bb(0x158)]():$(_0x5105bb(0x145))[_0x5105bb(0x152)]();});}{$(_0x508097(0x17f))['on'](_0x508097(0x19f),()=>_0x3eeabd(this,void 0x0,void 0x0,function*(){const _0x33c2b0=_0x508097,_0x4ba422=yield fetch(_0x33c2b0(0x1ac)),_0x4a137f=yield _0x4ba422[_0x33c2b0(0x1ce)](),_0x33df67=JSON[_0x33c2b0(0x19e)](_0x4a137f,null,'\x20');alert(_0x33df67);}));}{_0x159155(_0x508097(0x1a9),$(_0x508097(0x181)),()=>({'url':'/opcua-endpoint2/test-connection','body':{'endpointNode':{'id':_0x4287d7['id'],'endpoint':$('#node-config-input-endpoint')[_0x508097(0x13a)](),'securityMode':$(_0x508097(0x176))[_0x508097(0x13a)](),'securityPolicy':$(_0x508097(0x18d))[_0x508097(0x13a)](),'userIdentityType':$(_0x508097(0x161))['val'](),'userName':$(_0x508097(0x1be))[_0x508097(0x13a)](),'password':$(_0x508097(0x136))['val'](),'userCertificate':$(_0x508097(0x1c1))[_0x508097(0x13a)](),'userPrivatekey':$('#node-config-input-userPrivatekey')[_0x508097(0x13a)](),'certificate':$(_0x508097(0x134))[_0x508097(0x13a)](),'useTransport':$(_0x508097(0x1af))[_0x508097(0x16b)](_0x508097(0x14f)),'maxChunkCount':$(_0x508097(0x13f))[_0x508097(0x13a)](),'maxMessageSize':$(_0x508097(0x19c))['val'](),'receiveBufferSize':$(_0x508097(0x1d0))['val'](),'sendBufferSize':$('#node-input-sendBufferSize')['val']()}}}),()=>{});}{const _0x3a520e=(_0x146f9d,_0x30c419)=>{const _0x1cab5f=_0x508097;var _0x58876d=_0x146f9d[_0x1cab5f(0x143)]()||0x64;_0x146f9d[_0x1cab5f(0x1b4)](_0x1cab5f(0x1b5))[_0x1cab5f(0x164)](_0x1cab5f(0x143),_0x58876d-0xf);},_0x39aced=$(_0x508097(0x1c8))[_0x508097(0x1de)]({'min-height':_0x508097(0x156),'min-width':_0x508097(0x1aa)})[_0x508097(0x18c)]({'addItem':(_0x452085,_0x5074cd,_0x242fb7)=>{const _0xa0f20c=_0x508097,_0x5ae877=_0x242fb7,_0x13bd68=$(_0xa0f20c(0x1b6))[_0xa0f20c(0x17b)]()[_0xa0f20c(0x18f)](_0x452085);_0x13bd68[_0xa0f20c(0x1b7)]('id')[_0xa0f20c(0x159)](_0xa0f20c(0x152))[_0xa0f20c(0x159)](_0xa0f20c(0x172))[_0xa0f20c(0x194)]('data-i',_0x5074cd),_0x13bd68[_0xa0f20c(0x1b4)](_0xa0f20c(0x1c2))[_0xa0f20c(0x13a)](_0x5ae877[_0xa0f20c(0x141)]),_0x13bd68['find']('.input-requestedPublishingInterval')['val'](_0x5ae877['parameters'][_0xa0f20c(0x18b)]),_0x13bd68['find']('.input-requestedMaxKeepAliveCount')[_0xa0f20c(0x13a)](_0x5ae877[_0xa0f20c(0x199)][_0xa0f20c(0x151)]),_0x13bd68['find'](_0xa0f20c(0x167))[_0xa0f20c(0x13a)](_0x5ae877[_0xa0f20c(0x199)][_0xa0f20c(0x1d5)]),_0x13bd68[_0xa0f20c(0x1b4)](_0xa0f20c(0x140))[_0xa0f20c(0x13a)](_0x5ae877[_0xa0f20c(0x199)][_0xa0f20c(0x16d)]||0x0),_0x13bd68[_0xa0f20c(0x1b4)]('.input-priority')[_0xa0f20c(0x13a)](_0x5ae877[_0xa0f20c(0x199)][_0xa0f20c(0x189)]||0x0),_0x13bd68[_0xa0f20c(0x1b4)](_0xa0f20c(0x193))['text'](''+_0x5074cd),_0x5ae877[_0xa0f20c(0x169)]&&_0x13bd68['find'](_0xa0f20c(0x1c2))[_0xa0f20c(0x16b)](_0xa0f20c(0x12c),!![]),_0x13bd68[_0xa0f20c(0x1b4)](_0xa0f20c(0x12f))[_0xa0f20c(0x16b)](_0xa0f20c(0x14f),_0x5ae877[_0xa0f20c(0x169)]),_0x5ae877['isDefault']&&(_0x452085['find'](_0xa0f20c(0x17d))['addClass'](_0xa0f20c(0x152)),setTimeout(()=>_0x13bd68['find'](_0xa0f20c(0x12f))['prop']('disabled',!![]),0xa));},'removable':!![],'resizeItem':_0x3a520e}),_0x5ad6d7=()=>{const _0xcfb0d6=_0x508097,_0x2b369c=_0x4287d7[_0xcfb0d6(0x170)]||[];_0x2b369c[_0xcfb0d6(0x1e0)]===0x0&&_0x2b369c[_0xcfb0d6(0x195)]({'id':'s1','name':_0xcfb0d6(0x1ba),'isDefault':!![],'parameters':Object['assign']({},_0x4b26fc)});_0x39aced[_0xcfb0d6(0x18c)](_0xcfb0d6(0x131));for(const _0x43c746 of _0x2b369c){_0x39aced[_0xcfb0d6(0x18c)](_0xcfb0d6(0x173),_0x43c746);}};_0x5ad6d7();}}});}()));function _0x3b12(){const _0x502239=['invalid\x20endpoint','type','value','clone','676295fNrjhr','.red-ui-editableList-item-remove','toISOString','#checkCertificate','Slow\x20Subscription','#test-connection','<a\x20href=\x22https://www.sterfive.com/opcua/for-node-red\x22\x20target=”_blank”>Sterfive\x27s\x20website\x20</a>','text','class','margin-top:\x2020px;','application/json','POST','1233bPeMap','priority','#toggleAdvancedSection','requestedPublishingInterval','editableList','#node-config-input-securityPolicy','.input-requestedMaxKeepAliveCount','appendTo','Sign','Freeware\x20licence','daysLeft','.subscription-id','attr','push','fetching\x20failed\x20with\x20error','https://js.stripe.com/v3/pricing-table.js','fa\x20fa-calendar-time','parameters','licence-widget-','element','#node-input-maxMessageSize','addClass','stringify','click','licenceType','children','Licence\x20has\x20expired','106093EzGntM','protocol','Basic256Sha256','fa\x20fa-exclamation-circle','205500qjZiTZ','config','connection','260px','done','/opcua-endpoint2/client_certificate.json','opc.tcp:','\x20days.\x0aBuy\x20online\x20and\x20visit\x20','#node-input-useTransport','html','None','join','head','find','label','.template','removeAttr','result','log','Default\x20Subscription','invalid\x20securityMode\x20','This\x20is\x20a\x20freeware\x20licence,\x20and\x20have\x20some\x20limitations.\x0a','onPremiseServerHost','#node-config-input-userName','extra','Your\x20licence\x20is\x20valid.','#node-config-input-userCertificate','.input-name','then','apply','height:\x20100%;max-height:\x20100%;','TRIAL','PROFESSIONAL','#subscriptions-container','split','Anonymous','error','nodes','6kRJDwp','json','44klJkBa','#node-input-receiveBufferSize','.section-userIdentityType-UserName','FREEWARE','<i>','/opcua-endpoint2','requestedLifetimeCount','Connection','55237RBegnm','next','Subscriptions','endpoint','password','/licenceInfo','pricing-table-id','css','FAILED','length','suppressed','3604SBsNcZ','<span>','btn\x20btn-primary','.input-priority','1388060TImepE','\x20It\x20will\x20expire\x20in\x20','readonly','map','The\x20Trial\x20will\x20expire\x20in\x20','.input-isDefault','licenceInfo','empty','endpoint-tab-subscriptions','58MhPsEj','#node-input-certificate','#node-config-endpoint-tabs-content','#node-config-input-password','.section-securityPolicy','AUTHORIZED','Trial\x20licence','val','opc.tcp://opcuademo.sterfive.com:26543/UA/SampleServer','<a\x20href=\x22mailto:support@sterfive.com\x22\x20subject=\x22@opcua/for-node-red\x20support\x20request\x22>mailto:support@sterfive.com</a>','EXPIRED','resize','#node-input-maxChunkCount','.input-maxNotificationsPerPublish','name','append','width',':checked','#section-Advanced','SuppressedError','.input-publishingEnabled','pk_live_51HsE1sBCNccbzsVzt7zaq2uv20pkryWllAzvZgZd5AhwFI9A3qBIeOJvJwQF08lDoLpFqLjwmyA79wnPnYLsvKjt009f00VpCW','async','change','392LKqKeT','sterfive.licenceWidget','each','endpoint-tab-connection','checked','widget','requestedMaxKeepAliveCount','hide','src','\x20for\x20more\x20information.','licence-widget-icon','150px','message','show','removeClass','publishingEnabled','<br>','createElement','-success','style','9XDPSnx','SignAndEncrypt','#node-config-input-userIdentityType','Subscribe','script','typedInput','2062sUrRzB','\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.̀','.input-requestedLifetimeCount','subscribe-button','isDefault','Please\x20contact\x20','prop','.section-userIdentityType-Certificate','maxNotificationsPerPublish','status','<button/>','subscriptions','.input-requestedPublishingInterval','template','addItem','addTab','err','#node-config-input-securityMode','24mvadDE'];_0x3b12=function(){return _0x502239;};return _0x3b12();}
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHgzZWVhYmQiLCJfMHgxM2I0MmQiLCJfMHgyNDAwZjMiLCJfMHgzNDAzNjUiLCJfMHg0OGI4NmMiLCJfMHgxMWU2Y2EiLCJfMHgzYzE4ZjkiLCJfMHhlYjVlYjQiLCJQcm9taXNlIiwiXzB4NWMwYjI1IiwiXzB4YWY0MzEyIiwiXzB4MWQ0NTEyIiwiXzB4NDAzOGQxIiwiXzB4MzJlMGExIiwiXzB4NWEzODc0IiwiXzB4MzZmYmY1IiwiXzB4MjYwMWExIiwiXzB4OWZmYzZmIiwiXzB4MzlkMDg0IiwiU3VwcHJlc3NlZEVycm9yIiwiXzB4MWEyMjNlIiwiXzB4OTNjYTQ4IiwiXzB4NWUzYzYzIiwiXzB4MjE2M2FiIiwiRXJyb3IiLCJfMHgxNTkxNTUiLCJfMHgyY2MwYTMiLCJfMHgzNWY4NzAiLCJfMHgyZGI2ZWEiLCJfMHg1MjIwNWYiLCJfMHg1MjYwZDgiLCIkIiwiXzB4NDZhODkyIiwiXzB4MTU0MjVhIiwiXzB4NzNlMGFkIiwiXzB4MjRhM2VlIiwiYm9keSIsIl8weDVkNzY2NCIsInVybCIsIl8weDM2YTFkNiIsImZldGNoIiwiSlNPTiIsIl8weDE2YWRlYSIsIl8weDM2ODI1MSIsImNvbnNvbGUiLCJfMHg0MmM2NDciLCJfMHgxYzQzOGYiLCJfMHg0NTAyY2YiLCJfMHg1MjEwNGYiLCJfMHgyOWIyMzYiLCJBcnJheSIsIl8weDQwOTcxZCIsIl8weDNmY2Y2MSIsIl8weDQyNTNmYiIsIl8weDJjZGQxZSIsIl8weGZhNmQ5MSIsIl8weDFhOTI0NCIsIl8weDE0YTI5YyIsIl8weDUwYjc0YyIsIl8weDM3NDAyYSIsIkRhdGUiLCJfMHg1MDRmZDAiLCJfMHg0MmY3NjkiLCJfMHgxYjFiN2QiLCJfMHgzNTY0NTciLCJfMHgzMmRmODAiLCJfMHhlNGFhZTAiLCJfMHg0YzgyZDUiLCJfMHg0Y2NiZDMiLCJfMHgyOTUyOGQiLCJfMHgzYjk5YTkiLCJfMHgxMWQ1NGQiLCJfMHgzYzUwYmMiLCJfMHg0NzEyNTQiLCJkb2N1bWVudCIsIl8weDNkYTJmYiIsIl8weDY1OTcxOCIsIl8weDQ4YThjZiIsIl8weDIyN2I4MyIsIl8weDQzY2JlNSIsIlVSTCIsIl8weDI3YTY1ZCIsIl8weDRiMjZmYyIsIlJFRCIsIl8weGViMzhjMiIsIk9iamVjdCIsIl8weDI2ZTZiZSIsIl8weDI4N2E5YSIsIl8weDIwZGNmMiIsIl8weDRmYTg1NiIsIl8weDJmN2JjNiIsIl8weDMxYTgxMCIsIl8weDVlZjY3OSIsIl8weDEwNTE3NCIsIl8weDFkMWVkYSIsIl8weDVjYmRhMiIsIl8weDQyODdkNyIsIl8weDEyODE0ZSIsIl8weDVjMTM3NiIsInNldFRpbWVvdXQiLCJfMHgxNGMwZmUiLCJfMHg1MzFhZmIiLCJ1bmRlZmluZWQiLCJfMHg0ZjIwZjkiLCJfMHgxNzlhNzAiLCJfMHgxNGUzZGYiLCJfMHgzMDRiYzMiLCJfMHgxMWQ5MDkiLCJfMHgyZjA1ZTciLCJfMHg1ZDhjODMiLCJfMHg3ZDgxYTciLCJfMHg1ZDhlZGMiLCJfMHg1OWQyN2QiLCJfMHg0YmE0MjIiLCJfMHg0YTEzN2YiLCJfMHgzM2RmNjciLCJhbGVydCIsIl8weDNhNTIwZSIsIl8weDE0NmY5ZCIsIl8weDMwYzQxOSIsIl8weDU4ODc2ZCIsIl8weDM5YWNlZCIsIl8weDQ1MjA4NSIsIl8weDUwNzRjZCIsIl8weDI0MmZiNyIsIl8weDVhZTg3NyIsIl8weDEzYmQ2OCIsIl8weDVhZDZkNyIsIl8weDJiMzY5YyIsIl8weDQzYzc0NiJdLCJtYXBwaW5ncyI6IjA2QkFBQSxDQUFDLFUsQ0FDRyxhLHdCQW1CQSxTQUFTQSxTQUFULENBQW1CQyxTQUFuQixDQUE0QkMsU0FBNUIsQ0FBd0NDLFNBQXhDLENBQTJDQyxTQUEzQyxDLENBQ0ksU0FBU0MsU0FBVCxDQUFlQyxTQUFmLEMsUUFBK0JBLFNBQUEsWUFBaUJILFNBQWpCLENBQXFCRyxTQUFyQixDQUE2QixJQUFJSCxTQUFKLENBQU0sU0FBVUksU0FBVixDLENBQXFCQSxTQUFBLENBQVFELFNBQVIsQyxFQUEzQixDLFNBQ3JELEdBQUss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bkIsQyxDQU9KdUMsU0FBQSxDLGdCQUFBLEUsZ0JBQUEsRUFDQSxVQUFXUSxTQUFYLElBQTJCRCxTQUEzQixDLENBRUlQLFNBQUEsQyxnQkFBQSxFLGdCQUFBLENBQXlDUSxTQUF6QyxDLEdBOUNSLENBaURBRixTQUFBLEUsR0E5VDhCLENBQTFDLEMsRUF2T0osRyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiAoKSB7XG4gICAgJ3VzZSBzdHJpY3QnO1xuXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uXHJcblxyXG4gICAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XHJcbiAgICBwdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuXHJcblxyXG4gICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMgV0lUSFxyXG4gICAgUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXHJcbiAgICBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsXHJcbiAgICBJTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST01cclxuICAgIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXHJcbiAgICBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SXHJcbiAgICBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLlxyXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuICAgIC8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlLCBTdXBwcmVzc2VkRXJyb3IsIFN5bWJvbCAqL1xyXG5cclxuXHJcbiAgICBmdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XHJcbiAgICAgICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XHJcbiAgICAgICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0eXBlb2YgU3VwcHJlc3NlZEVycm9yID09PSBcImZ1bmN0aW9uXCIgPyBTdXBwcmVzc2VkRXJyb3IgOiBmdW5jdGlvbiAoZXJyb3IsIHN1cHByZXNzZWQsIG1lc3NhZ2UpIHtcclxuICAgICAgICB2YXIgZSA9IG5ldyBFcnJvcihtZXNzYWdlKTtcclxuICAgICAgICByZXR1cm4gZS5uYW1lID0gXCJTdXBwcmVzc2VkRXJyb3JcIiwgZS5lcnJvciA9IGVycm9yLCBlLnN1cHByZXNzZWQgPSBzdXBwcmVzc2VkLCBlO1xyXG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIG1hbmFnZUFQSUNhbGwocHJlZml4LCBidG4sIGZ1bmMsIG9uUmVzdWx0KSB7XG4gICAgICAgIGNvbnN0IHN1Y2Nlc3NJY29uID0gJChgIyR7cHJlZml4fS1zdWNjZXNzYCk7XG4gICAgICAgIGNvbnN0IGZhaWx1cmVJY29uID0gJChgIyR7cHJlZml4fS1mYWlsdXJlYCk7XG4gICAgICAgIGNvbnN0IHBlbmRpbmdJY29uID0gJChgIyR7cHJlZml4fS1wZW5kaW5nYCk7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2VzID0gJChgIyR7cHJlZml4fS1tZXNzYWdlc2ApO1xuICAgICAgICBsZXQgYWN0aW9uUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdWNjZXNzSWNvbi5oaWRlKCk7XG4gICAgICAgIGZhaWx1cmVJY29uLmhpZGUoKTtcbiAgICAgICAgcGVuZGluZ0ljb24uaGlkZSgpO1xuICAgICAgICBidG4ub24oXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoYWN0aW9uUGVuZGluZylcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBhY3Rpb25QZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHBlbmRpbmdJY29uLnJlbW92ZUNsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgIHBlbmRpbmdJY29uLmh0bWwoXCJUZXN0aW5nIENvbm5lY3Rpb24gLi4uXCIpO1xuICAgICAgICAgICAgc3VjY2Vzc0ljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgZmFpbHVyZUljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgbWVzc2FnZXMuaHRtbChcIlwiKTtcbiAgICAgICAgICAgIGNvbnN0IHsgYm9keSwgdXJsIH0gPSBmdW5jKCk7XG4gICAgICAgICAgICAvLyB4eCBjb25zb2xlLmxvZyhcInh4eHh4XCIsIGJvZHkpO1xuICAgICAgICAgICAgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoYm9keSksXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC50aGVuKChkYXRhKSA9PiBkYXRhLmpzb24oKSlcbiAgICAgICAgICAgICAgICAudGhlbigoanNvbikgPT4ge1xuICAgICAgICAgICAgICAgIGFjdGlvblBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBwZW5kaW5nSWNvbi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoanNvbiwgbnVsbCwgXCIgXCIpKTtcbiAgICAgICAgICAgICAgICBpZiAoanNvbi5yZXN1bHQgPT09IFwib2tcIikge1xuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzSWNvbi5yZW1vdmVDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgIGZhaWx1cmVJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZXMuaHRtbChqc29uLm1lc3NhZ2UucmVwbGFjZShcIlxcblwiLCBcIjxicj5cIikpO1xuICAgICAgICAgICAgICAgICAgICBvblJlc3VsdChudWxsLCBqc29uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFkYXB0ID0gKHN0cikgPT4gIXN0clxuICAgICAgICAgICAgICAgICAgICAgICAgPyBcIlwiXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHN0clxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zcGxpdChcIlxcblwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoKGEpID0+IGA8cD4ke2F9PC9wPmApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmpvaW4oXCJcXG5cIik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFkYXB0MiA9IChzdHIpID0+IChBcnJheS5pc0FycmF5KHN0cikgPyBzdHIubWFwKGFkYXB0KS5qb2luKFwiXFxuXCIpIDogYWRhcHQoc3RyKSk7XG4gICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3NJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgZmFpbHVyZUljb24ucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlcy5odG1sKGFkYXB0Mihqc29uLm1lc3NhZ2UpICsgYWRhcHQyKGpzb24uZXh0cmEpKTtcbiAgICAgICAgICAgICAgICAgICAgb25SZXN1bHQobmV3IEVycm9yKGpzb24ucmVzdWx0KSwganNvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIGFjdGlvblBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBwZW5kaW5nSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgc3VjY2Vzc0ljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgIGZhaWx1cmVJY29uLnJlbW92ZUNsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICBtZXNzYWdlcy5odG1sKFwiaW50ZXJuYWwgZXJyb3IgXCIgKyBlcnIubWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJlcnJcIiwgZXJyKTtcbiAgICAgICAgICAgICAgICBvblJlc3VsdChlcnIsIG51bGwpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHByaWNpbmdUYWJsZUlkID0gXCJwcmN0YmxfMU9KdDQ5QkNOY2NienNWemthQU5PZ0ZMXCI7XG4gICAgY29uc3QgcHVibGlzaGFibGVLZXkgPSBcInBrX2xpdmVfNTFIc0Uxc0JDTmNjYnpzVnp0N3phcTJ1djIwcGtyeVdsbEF6dlpnWmQ1QWh3Rkk5QTNxQkllT0p2SndRRjA4bERvTHBGcUxqd215QTc5d25QbllMc3ZLanQwMDlmMDBWcENXXCI7XG4gICAgZnVuY3Rpb24gZmV0Y2hMaWNlbmNlSW5mbyhiYXNlVXJsID0gXCJcIikge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgY29uc3Qgcm9vdCA9IGAke2Jhc2VVcmx9L29wY3VhLWVuZHBvaW50MmA7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSBgJHtyb290fS9saWNlbmNlSW5mb2A7XG4gICAgICAgICAgICBjb25zdCBkYXRhID0geWllbGQgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpO1xuICAgICAgICAgICAgaWYgKGRhdGEuc3RhdHVzICE9PSAyMDApIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImZldGNoaW5nIGZhaWxlZCB3aXRoIGVycm9yXCIsIGRhdGEuc3RhdHVzLCBkYXRhLnN0YXR1c1RleHQpO1xuICAgICAgICAgICAgICAgIHJldHVybiB7IHN0YXR1czogXCJGQUlMRURcIiwgdHlwZTogXCJGUkVFV0FSRVwiLCBsaWNlbmNlSW5mbzogeyBleHBpcnlEYXRlOiB0b2RheSB9IH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBqc29uID0geWllbGQgZGF0YS5qc29uKCk7XG4gICAgICAgICAgICByZXR1cm4ganNvbjtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IGRlY2xhcmVMaWNlbmNlV2lkZ2V0ID0gKCkgPT4ge1xuICAgICAgICAkLndpZGdldChcInN0ZXJmaXZlLmxpY2VuY2VXaWRnZXRcIiwge1xuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgIGJhc2VVcmw6IFwiXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX2NyZWF0ZSgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICBjb25zdCBjb250YWN0TGluayA9IGA8YSBocmVmPVwibWFpbHRvOnN1cHBvcnRAc3RlcmZpdmUuY29tXCIgc3ViamVjdD1cIkBvcGN1YS9mb3Itbm9kZS1yZWQgc3VwcG9ydCByZXF1ZXN0XCI+bWFpbHRvOnN1cHBvcnRAc3RlcmZpdmUuY29tPC9hPmA7XG4gICAgICAgICAgICAgICAgY29uc3Qgd2Vic2l0ZUxpbmsgPSBgPGEgaHJlZj1cImh0dHBzOi8vd3d3LnN0ZXJmaXZlLmNvbS9vcGN1YS9mb3Itbm9kZS1yZWRcIiB0YXJnZXQ94oCdX2JsYW5r4oCdPlN0ZXJmaXZlJ3Mgd2Vic2l0ZSA8L2E+YDtcbiAgICAgICAgICAgICAgICBmZXRjaExpY2VuY2VJbmZvKHRoYXQuYmFzZVVybClcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKGpzb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGljb24gPSBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBsZXQgbXNnID0gXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGRldGFpbHMgPSBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGF0dXMgPSBqc29uLnN0YXR1cztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF5TGVmdCA9IGpzb24uZGF5c0xlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoc3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiQVVUSE9SSVpFRFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb24gPSBcImZhIGZhLWNoZWNrLWNpcmNsZVwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoanNvbi50eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJUUklBTFwiOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBcIlRyaWFsIGxpY2VuY2VcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbHMgPSBgVGhlIFRyaWFsIHdpbGwgZXhwaXJlIGluICR7ZGF5TGVmdH0gZGF5cy5cXG5CdXkgb25saW5lIGFuZCB2aXNpdCAke3dlYnNpdGVMaW5rfSB0byBhY3F1aXJlIGEgbGljZW5zZS5gO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIlBST0ZFU1NJT05BTFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gYFlvdXIgbGljZW5jZSBpcyB2YWxpZC5gO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRheUxlZnQgPCA5MCAmJiBkYXlMZWZ0ID49IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgKz0gYCBJdCB3aWxsIGV4cGlyZSBpbiAke2RheUxlZnR9IGRheXMuYDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGRldGFpbHMgPSBgJHt3ZWJzaXRlTGlua308YnI+JHtjb250YWN0TGlua31gO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscyA9IGpzb24ubGljZW5jZUluZm8ubGljZW5jZVR5cGUgKyBcIiAtIFwiICsgKGpzb24ubGljZW5jZUluZm8ub25QcmVtaXNlU2VydmVySG9zdCB8fCBcIlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiRlJFRVdBUkVcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9IFwiRnJlZXdhcmUgbGljZW5jZVwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscyA9IGBUaGlzIGlzIGEgZnJlZXdhcmUgbGljZW5jZSwgYW5kIGhhdmUgc29tZSBsaW1pdGF0aW9ucy5cXG4ke3dlYnNpdGVMaW5rfSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5gO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkVYUElSRURcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uID0gXCJmYSBmYS1jYWxlbmRhci10aW1lXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gXCJMaWNlbmNlIGhhcyBleHBpcmVkXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscyA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiWW91ciBsaWNlbnNlIGhhcyBleHBpcmVkLiBQbGVhc2UgY29udGFjdCBvdXIgc3VwcG9ydCB0ZWFtIG9yIHZpc2l0IG91ciB3ZWJzaXRlIHRvIHJlbmV3IHlvdXIgbGljZW5zZSBhbmQgcmVnYWluIGFjY2VzcyB0byBvdXIgc2VydmljZXMuXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiRkFJTEVEXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb24gPSBcImZhIGZhLWV4Y2xhbWF0aW9uLWNpcmNsZVwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9IFwiWW91ciBsaWNlbnNlIGlzIGN1cnJlbnRseSBpbnZhbGlkLlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbHMgPSBgUGxlYXNlIGNvbnRhY3QgJHtjb250YWN0TGlua30gb3IgdmlzaXQgb3VyIHdlYnNpdGUgdG8gcmVuZXcgeW91ciBsaWNlbnNlIGFuZCByZWdhaW4gYWNjZXNzIHRvIG91ciBzZXJ2aWNlcy7MgGA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLyoqICovXG4gICAgICAgICAgICAgICAgICAgIC8vIHRoaXMuZWxlbWVudC50ZXh0KFwiTGljZW5jZSBcIiArIEpTT04uc3RyaW5naWZ5KGpzb24pKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFkZENsYXNzKFwibGljZW5jZS13aWRnZXRcIik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0LVwiICsgc3RhdHVzKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZCgkKFwiPHNwYW4+XCIpLmFkZENsYXNzKFwibGljZW5jZS13aWRnZXQtaWNvblwiKS5hcHBlbmQoJChcIjxpPlwiKS5hZGRDbGFzcyhpY29uKSkpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKCQoXCI8c3Bhbj5cIikuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldC1tc2dcIikudGV4dChtc2cpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZCgkKFwiPGJyPlwiKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoJChcIjxzcGFuPlwiKS5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0LWRldGFpbHNcIikuYXBwZW5kKGRldGFpbHMpKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXR1cyA9PT0gXCJFWFBJUkVEXCIgfHwgc3RhdHVzID09PSBcIkZBSUxFRFwiIHx8IGpzb24udHlwZSA9PT0gXCJGUkVFV0FSRVwiIHx8IGpzb24udHlwZSA9PT0gXCJUUklBTFwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdWJzY3JpYmVCdXR0b24gPSAkKFwiPGJ1dHRvbi8+XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlQnV0dG9uLmF0dHIoXCJpZFwiLCBcInN1YnNjcmliZS1idXR0b25cIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVCdXR0b24uYXR0cihcImNsYXNzXCIsIFwiYnRuIGJ0bi1wcmltYXJ5XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlQnV0dG9uLmF0dHIoXCJzdHlsZVwiLCBcIm1hcmdpbi10b3A6IDIwcHg7XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlQnV0dG9uLnRleHQoXCJTdWJzY3JpYmVcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKHN1YnNjcmliZUJ1dHRvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2V0IGF0dHJpYnV0ZXMgZm9yIHRoZSBzY3JpcHQgZWxlbWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgc2NyaXB0LnNyYyA9IFwiaHR0cHM6Ly9qcy5zdHJpcGUuY29tL3YzL3ByaWNpbmctdGFibGUuanNcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjcmlwdC5hc3luYyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBBcHBlbmQgdGhlIHNjcmlwdCBlbGVtZW50IHRvIHRoZSBoZWFkIChvciBib2R5KSBvZiB0aGUgZG9jdW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICQoXCJoZWFkXCIpLmFwcGVuZChzY3JpcHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RyaXBlUHJpY2luZ1RhYmxlID0gJChcIjxzdHJpcGUtcHJpY2luZy10YWJsZS8+XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2V0IGF0dHJpYnV0ZXMgZm9yIHRoZSBlbGVtZW50XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJpcGVQcmljaW5nVGFibGUuYXR0cihcInByaWNpbmctdGFibGUtaWRcIiwgcHJpY2luZ1RhYmxlSWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RyaXBlUHJpY2luZ1RhYmxlLmF0dHIoXCJwdWJsaXNoYWJsZS1rZXlcIiwgcHVibGlzaGFibGVLZXkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RyaXBlUHJpY2luZ1RhYmxlLmF0dHIoXCJzdHlsZVwiLCBcImhlaWdodDogMTAwJTttYXgtaGVpZ2h0OiAxMDAlO1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlwZVByaWNpbmdUYWJsZS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKHN0cmlwZVByaWNpbmdUYWJsZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVCdXR0b24ub24oXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaXBlUHJpY2luZ1RhYmxlLnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVCdXR0b24uaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hdHRyKFwic3R5bGVcIiwgXCJoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgZGVjbGFyZUxpY2VuY2VXaWRnZXQoKTtcbiAgICBmdW5jdGlvbiBpc1ZhbGlkT1BDX1VBX1VSSShzdHIpIHtcbiAgICAgICAgbGV0IHVybDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHVybCA9IG5ldyBVUkwoc3RyKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoXykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1cmwucHJvdG9jb2wgPT09IFwib3BjLnRjcDpcIjtcbiAgICB9XG4gICAgY29uc3QgZGVmYXVsdFN1YnNjcmlwdGlvblBhcmFtZXRlcnMgPSB7XG4gICAgICAgIHB1Ymxpc2hpbmdFbmFibGVkOiB0cnVlLFxuICAgICAgICByZXF1ZXN0ZWRMaWZldGltZUNvdW50OiAxMDAwLFxuICAgICAgICByZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudDogMTAsIC8vIGV2ZXJ5IDEwIHNlY29uZHNcbiAgICAgICAgcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsOiAxMDAwLFxuICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogMCxcbiAgICAgICAgcHJpb3JpdHk6IDEwMCxcbiAgICB9O1xuICAgIFJFRC5ub2Rlcy5yZWdpc3RlclR5cGUoXCJPcGNVYS1FbmRwb2ludDJcIiwge1xuICAgICAgICBjYXRlZ29yeTogXCJjb25maWdcIixcbiAgICAgICAgcGFsZXR0ZUxhYmVsOiBcIm9wY3VhIGVuZHBvaW50XCIsXG4gICAgICAgIGRlZmF1bHRzOiB7XG4gICAgICAgICAgICBuYW1lOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICBlbmRwb2ludDoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBcIm9wYy50Y3A6Ly9vcGN1YWRlbW8uc3RlcmZpdmUuY29tOjI2NTQzL1VBL1NhbXBsZVNlcnZlclwiLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIHZhbGlkYXRlOiBpc1ZhbGlkT1BDX1VBX1VSSSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAvLyBTZWN1cml0eSBNb2RlXG4gICAgICAgICAgICBzZWN1cml0eU1vZGU6IHsgdmFsdWU6IFwiTm9uZVwiIH0sXG4gICAgICAgICAgICBzZWN1cml0eVBvbGljeToge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBcIk5vbmVcIixcbiAgICAgICAgICAgICAgICB2YWxpZGF0ZTogKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdXNlcklkZW50aXR5VHlwZTogeyB2YWx1ZTogXCJBbm9ueW1vdXNcIiB9LFxuICAgICAgICAgICAgLy8gdG8gdXNlIHdoZW4gdXNlcklkZW50aXR5VHlwZSBpcyBVc2VyTmFtZVxuICAgICAgICAgICAgLy8gY3JlZGVudGlhbHM6IHtcbiAgICAgICAgICAgIC8vICAgICB1c2VyTmFtZTogeyB2YWx1ZTogXCJcIiwgdHlwZTogXCJ0ZXh0XCIgfSxcbiAgICAgICAgICAgIC8vICAgICBwYXNzd29yZDogeyB2YWx1ZTogXCJcIiwgdHlwZTogXCJwYXNzd29yZFwiIH0sXG4gICAgICAgICAgICAvLyAgICAgLy8gdG8gdXNlIHdoZW4gdXNlcklkZW50aXR5VHlwZSBpcyBDZXJ0aWZpY2F0ZVxuICAgICAgICAgICAgLy8gICAgIHVzZXJDZXJ0aWZpY2F0ZTogeyB2YWx1ZTogXCJcIiwgdHlwZTogXCJ0ZXh0XCIgfSxcbiAgICAgICAgICAgIC8vICAgICB1c2VyUHJpdmF0ZWtleTogeyB2YWx1ZTogXCJcIiAsIHR5cGU6IFwicGFzc3dvcmRcIn0sXG4gICAgICAgICAgICAvLyB9IGFzIGFueSAvKiBjaXJjdW12ZW50IGEgYnVnIGluIG5vZGUtcmVkICovLFxuICAgICAgICAgICAgLy8gdXNlcm5hbWVcbiAgICAgICAgICAgIHVzZVRyYW5zcG9ydDogeyB2YWx1ZTogZmFsc2UsIHJlcXVpcmVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgbWF4Q2h1bmtDb3VudDogeyB2YWx1ZTogMSwgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICBtYXhNZXNzYWdlU2l6ZTogeyB2YWx1ZTogODE5MiwgcmVxdWlyZWQ6IGZhbHNlIH0sIC8vIHNob3VsZCBiZSBhdCBsZWFzdCA4MTkyXG4gICAgICAgICAgICByZWNlaXZlQnVmZmVyU2l6ZTogeyB2YWx1ZTogODE5MiwgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICBzZW5kQnVmZmVyU2l6ZTogeyB2YWx1ZTogODE5MiwgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICBzdWJzY3JpcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwiczFcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiRGVmYXVsdCBTdWJzY3JpcHRpb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRGVmYXVsdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRTdWJzY3JpcHRpb25QYXJhbWV0ZXJzKSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwiczJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiU2xvdyBTdWJzY3JpcHRpb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRGVmYXVsdDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGlzaGluZ0VuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTGlmZXRpbWVDb3VudDogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50OiAyMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWw6IDUwMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2g6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogMTAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJzM1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJGYXN0IFN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaXNoaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRMaWZldGltZUNvdW50OiA0MDAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50OiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsOiAyNTAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2g6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogMjAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGNyZWRlbnRpYWxzOiB7XG4gICAgICAgICAgICB1c2VyTmFtZTogeyB0eXBlOiBcInRleHRcIiB9LFxuICAgICAgICAgICAgcGFzc3dvcmQ6IHsgdHlwZTogXCJwYXNzd29yZFwiIH0sXG4gICAgICAgICAgICB1c2VyQ2VydGlmaWNhdGU6IHsgdHlwZTogXCJ0ZXh0XCIgfSxcbiAgICAgICAgICAgIHVzZXJQcml2YXRla2V5OiB7IHR5cGU6IFwicGFzc3dvcmRcIiB9LFxuICAgICAgICB9LFxuICAgICAgICBsYWJlbDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmFtZSB8fCB0aGlzLmVuZHBvaW50IHx8IFwiaW52YWxpZCBlbmRwb2ludFwiO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRzYXZlKCkge1xuICAgICAgICAgICAgY29uc3QgX3NlY3VyaXR5UG9saWN5ID0gJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eVBvbGljeVwiKTtcbiAgICAgICAgICAgIGNvbnN0IF9zZWN1cml0eU1vZGUgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXNlY3VyaXR5TW9kZVwiKTtcbiAgICAgICAgICAgIGlmIChfc2VjdXJpdHlQb2xpY3kudmFsKCkgPT09IFwiTm9uZVwiKSB7XG4gICAgICAgICAgICAgICAgX3NlY3VyaXR5TW9kZS50ZXh0KFwiTm9uZVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vICgoKCgoKCgoKCggcmV0cmlldmUgc3Vic2NyaXB0aW9uIGRhdGEgKSkpKSkpKSkpKVxuICAgICAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uc0l0ZW1zID0gJChcIiNzdWJzY3JpcHRpb25zLWNvbnRhaW5lclwiKS5lZGl0YWJsZUxpc3QoXCJpdGVtc1wiKTtcbiAgICAgICAgICAgIGNvbnN0IHMgPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IG4gPSAoeCkgPT4geDtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbnNJdGVtcy5lYWNoKGZ1bmN0aW9uIChpbmRleCwgaXRlbSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGUgPSAkKHRoaXMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGEgPSB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBcInNcIiArIGluZGV4LFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBlLmZpbmQoXCIuaW5wdXQtbmFtZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiAhIWUuZmluZChcIi5pbnB1dC1pc0RlZmF1bHRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxpc2hpbmdFbmFibGVkOiAhIWUuZmluZChcIi5pbnB1dC1wdWJsaXNoaW5nRW5hYmxlZFwiKS5pcyhcIjpjaGVja2VkXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTGlmZXRpbWVDb3VudDogbihlLmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTGlmZXRpbWVDb3VudFwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudDogbihlLmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnRcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsOiBuKGUuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWxcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2g6IG4oZS5maW5kKFwiLmlucHV0LW1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoXCIpLnZhbCgpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiBuKGUuZmluZChcIi5pbnB1dC1wcmlvcml0eVwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAvLyBmb3JjZSB0byBiZSB0cnVlXG4gICAgICAgICAgICAgICAgYS5wYXJhbWV0ZXJzLnB1Ymxpc2hpbmdFbmFibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBpZiAoYS5pc0RlZmF1bHQgJiYgYS5pZCA9PT0gXCJzMFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIG5vcm1hbGl6ZSBkZWZhdWx0IHN1YnNjcmlwdGlvbiBuYW1lXG4gICAgICAgICAgICAgICAgICAgIGEubmFtZSA9IFwiRGVmYXVsdCBTdWJzY3JpcHRpb25cIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcy5wdXNoKGEpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBzO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRwcmVwYXJlKCkge1xuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXM7XG4gICAgICAgICAgICBjb25zdCB0YWJzID0gUkVELnRhYnMuY3JlYXRlKHtcbiAgICAgICAgICAgICAgICBpZDogXCJub2RlLWNvbmZpZy1lbmRwb2ludC10YWJzXCIsXG4gICAgICAgICAgICAgICAgb25jaGFuZ2U6IGZ1bmN0aW9uICh0YWIpIHtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1lbmRwb2ludC10YWJzLWNvbnRlbnRcIikuY2hpbGRyZW4oKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjXCIgKyB0YWIuaWQpLnNob3coKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0YWJzLmFkZFRhYih7XG4gICAgICAgICAgICAgICAgaWQ6IFwiZW5kcG9pbnQtdGFiLWNvbm5lY3Rpb25cIixcbiAgICAgICAgICAgICAgICBsYWJlbDogXCJDb25uZWN0aW9uXCIsXG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgIHRhYnMuYWRkVGFiKHtcbiAgICAgICAgICAgICAgICBpZDogXCJlbmRwb2ludC10YWItc3Vic2NyaXB0aW9uc1wiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBcIlN1YnNjcmlwdGlvbnNcIixcbiAgICAgICAgICAgIH0sIDEpO1xuICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgdGFicy5yZXNpemUoKTtcbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGhhbmRsZSBTZWN1cml0eSBjb250cm9sc1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVTZWN1cml0eUNvbnRyb2wgPSAoc2VjdXJpdHlNb2RlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoc2VjdXJpdHlNb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIG51bGw6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIHVuZGVmaW5lZDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJOb25lXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIi5zZWN0aW9uLXNlY3VyaXR5UG9saWN5XCIpLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJTaWduXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiU2lnbkFuZEVuY3J5cHRcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNwID0gJChcIi5zZWN0aW9uLXNlY3VyaXR5UG9saWN5XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3AudmFsKCkgPT09IFwiTm9uZVwiIHx8IHNwLnZhbCgpID09PSBcIlwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcC52YWwoXCJCYXNpYzI1NlNoYTI1NlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiLnNlY3Rpb24tc2VjdXJpdHlQb2xpY3lcIikuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJpbnZhbGlkIHNlY3VyaXR5TW9kZSBcIiArIHNlY3VyaXR5TW9kZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHVwZGF0ZVNlY3VyaXR5Q29udHJvbChub2RlLnNlY3VyaXR5TW9kZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgX3NlY3VyaXR5TW9kZSA9ICQoXCIjbm9kZS1jb25maWctaW5wdXQtc2VjdXJpdHlNb2RlXCIpO1xuICAgICAgICAgICAgICAgIF9zZWN1cml0eU1vZGUub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdTZWN1cml0eU1vZGUgPSBfc2VjdXJpdHlNb2RlLnZhbCgpO1xuICAgICAgICAgICAgICAgICAgICB1cGRhdGVTZWN1cml0eUNvbnRyb2wobmV3U2VjdXJpdHlNb2RlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGxpY2VuY2VXaWRnZXQgPSAkKFwiI2xpY2VuY2VXaWRnZXRcIik7XG4gICAgICAgICAgICBsaWNlbmNlV2lkZ2V0LmxpY2VuY2VXaWRnZXQoe1xuICAgICAgICAgICAgICAgIGJhc2VVcmw6IFwiXCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyBoYW5kbGUgdGhlIFVzZXIgSWRlbnRpdHkgQ29udHJvbHNcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29uc3QgYXV0aFJvdyA9ICQoXCIuc2VjdGlvbi11c2VySWRlbnRpdHlUeXBlLVVzZXJOYW1lXCIpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNlcnRSb3cgPSAkKFwiLnNlY3Rpb24tdXNlcklkZW50aXR5VHlwZS1DZXJ0aWZpY2F0ZVwiKTtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVJZGVudGl0eUNvbnRyb2xzID0gKHVzZXJJZGVudGl0eVR5cGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdXNlcklkZW50aXR5VHlwZSA9IHVzZXJJZGVudGl0eVR5cGUgfHwgXCJBbm9ueW1vdXNcIjtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh1c2VySWRlbnRpdHlUeXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiQW5vbnltb3VzXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyTmFtZVwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC1wYXNzd29yZFwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aFJvdy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydFJvdy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiVXNlck5hbWVcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRoUm93LnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0Um93LmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJDZXJ0aWZpY2F0ZVwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlck5hbWVcIikudmFsKFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1jb25maWctaW5wdXQtcGFzc3dvcmRcIikudmFsKFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRSb3cuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhSb3cuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImludmFsaWQgdXNlcklkZW50aXR5VHlwZSBcIiArIHVzZXJJZGVudGl0eVR5cGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB1cGRhdGVJZGVudGl0eUNvbnRyb2xzKG5vZGUudXNlcklkZW50aXR5VHlwZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgX3VzZXJJZGVudGl0eVR5cGUgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJJZGVudGl0eVR5cGVcIik7XG4gICAgICAgICAgICAgICAgX3VzZXJJZGVudGl0eVR5cGUub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdJZGVudGl0eVR5cGUgPSBfdXNlcklkZW50aXR5VHlwZS52YWwoKTtcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlSWRlbnRpdHlDb250cm9scyhuZXdJZGVudGl0eVR5cGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGhhbmRsZSBhZHZhbmNlZCBjb250cm9sc1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tQWR2YW5jZWRcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICQoXCIjdG9nZ2xlQWR2YW5jZWRTZWN0aW9uXCIpLm9uKFwiY2hhbmdlXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykucHJvcChcImNoZWNrZWRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBjaGVja2JveCBpcyBjaGVja2VkLCBzaG93IHRoZSBkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1BZHZhbmNlZFwiKS5zaG93KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBPdGhlcndpc2UsIGhpZGUgaXRcbiAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1BZHZhbmNlZFwiKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyBjaGVja0NlcnRpZmljYXRlXG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICQoXCIjY2hlY2tDZXJ0aWZpY2F0ZVwiKS5vbihcImNsaWNrXCIsICgpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IHlpZWxkIGZldGNoKFwiL29wY3VhLWVuZHBvaW50Mi9jbGllbnRfY2VydGlmaWNhdGUuanNvblwiKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5mbyA9IHlpZWxkIGRhdGEuanNvbigpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0ID0gSlNPTi5zdHJpbmdpZnkoaW5mbywgbnVsbCwgXCIgXCIpO1xuICAgICAgICAgICAgICAgICAgICBhbGVydCh0KTtcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgLy8gaGFuZGxlIHRoZSBUZXN0IGJ1dHRvblxuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBtYW5hZ2VBUElDYWxsKFwiY29ubmVjdGlvblwiLCAkKFwiI3Rlc3QtY29ubmVjdGlvblwiKSwgKCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgdXJsOiBcIi9vcGN1YS1lbmRwb2ludDIvdGVzdC1jb25uZWN0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgIGJvZHk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVuZHBvaW50Tm9kZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBub2RlLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZHBvaW50OiAkKFwiI25vZGUtY29uZmlnLWlucHV0LWVuZHBvaW50XCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3VyaXR5TW9kZTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eU1vZGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjdXJpdHlQb2xpY3k6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtc2VjdXJpdHlQb2xpY3lcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcklkZW50aXR5VHlwZTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VySWRlbnRpdHlUeXBlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJOYW1lOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJOYW1lXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3N3b3JkOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXBhc3N3b3JkXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJDZXJ0aWZpY2F0ZTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyQ2VydGlmaWNhdGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlclByaXZhdGVrZXk6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlclByaXZhdGVrZXlcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vIG5vdCB0ZXN0ZWQgeWV0IC4uLjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0aWZpY2F0ZTogJChcIiNub2RlLWlucHV0LWNlcnRpZmljYXRlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVRyYW5zcG9ydDogJChcIiNub2RlLWlucHV0LXVzZVRyYW5zcG9ydFwiKS5wcm9wKFwiY2hlY2tlZFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhDaHVua0NvdW50OiAkKFwiI25vZGUtaW5wdXQtbWF4Q2h1bmtDb3VudFwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhNZXNzYWdlU2l6ZTogJChcIiNub2RlLWlucHV0LW1heE1lc3NhZ2VTaXplXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY2VpdmVCdWZmZXJTaXplOiAkKFwiI25vZGUtaW5wdXQtcmVjZWl2ZUJ1ZmZlclNpemVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VuZEJ1ZmZlclNpemU6ICQoXCIjbm9kZS1pbnB1dC1zZW5kQnVmZmVyU2l6ZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSksICgpID0+IHsgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgLy8gIEluc3RhbGwgc3Vic2NyaXB0aW9ucyBMaXN0IG1hbmFnZW1lbnRcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzaXplVG9waWNzID0gKHRvcGljLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB2YXIgbmV3V2lkdGggPSB0b3BpYy53aWR0aCgpIHx8IDEwMDtcbiAgICAgICAgICAgICAgICAgICAgdG9waWMuZmluZChcImxhYmVsXCIpLnR5cGVkSW5wdXQoXCJ3aWR0aFwiLCBuZXdXaWR0aCAtIDE1KTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbkxpc3QgPSAkKFwiI3N1YnNjcmlwdGlvbnMtY29udGFpbmVyXCIpXG4gICAgICAgICAgICAgICAgICAgIC5jc3MoeyBcIm1pbi1oZWlnaHRcIjogXCIxNTBweFwiLCBcIm1pbi13aWR0aFwiOiBcIjI2MHB4XCIgfSlcbiAgICAgICAgICAgICAgICAgICAgLmVkaXRhYmxlTGlzdCh7XG4gICAgICAgICAgICAgICAgICAgIGFkZEl0ZW06IChjb250YWluZXIsIGluZGV4LCBkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBfZGF0YSA9IGRhdGE7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gJChcIi50ZW1wbGF0ZVwiKS5jbG9uZSgpLmFwcGVuZFRvKGNvbnRhaW5lcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnJlbW92ZUF0dHIoXCJpZFwiKS5yZW1vdmVDbGFzcyhcImhpZGVcIikucmVtb3ZlQ2xhc3MoXCJ0ZW1wbGF0ZVwiKS5hdHRyKFwiZGF0YS1pXCIsIGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1uYW1lXCIpLnZhbChfZGF0YS5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWxcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMucmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudFwiKS52YWwoX2RhdGEucGFyYW1ldGVycy5yZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTGlmZXRpbWVDb3VudFwiKS52YWwoX2RhdGEucGFyYW1ldGVycy5yZXF1ZXN0ZWRMaWZldGltZUNvdW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1tYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaFwiKS52YWwoX2RhdGEucGFyYW1ldGVycy5tYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCB8fCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1wcmlvcml0eVwiKS52YWwoX2RhdGEucGFyYW1ldGVycy5wcmlvcml0eSB8fCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5zdWJzY3JpcHRpb24taWRcIikudGV4dChcIlwiICsgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKF9kYXRhLmlzRGVmYXVsdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1uYW1lXCIpLnByb3AoXCJyZWFkb25seVwiLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1pc0RlZmF1bHRcIikucHJvcChcImNoZWNrZWRcIiwgX2RhdGEuaXNEZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1ha2Ugc3VyZSB0aGF0IGRlZmF1bHQgc3Vic2NyaXB0aW9uIGNhbm5vdCBiZSBhY2NpZGVudGFsbHkgcmVtb3ZlZFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKF9kYXRhLmlzRGVmYXVsdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci5maW5kKFwiLnJlZC11aS1lZGl0YWJsZUxpc3QtaXRlbS1yZW1vdmVcIikuYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gZWxlbWVudC5maW5kKFwiLmlucHV0LWlzRGVmYXVsdFwiKS5wcm9wKFwiZGlzYWJsZWRcIiwgdHJ1ZSksIDEwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgLy8gc29ydGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHJlbW92YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgcmVzaXplSXRlbTogcmVzaXplVG9waWNzLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNvbnN0IEFkZFN1YnNjcmlwdGlvbiA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9ucyA9IG5vZGUuc3Vic2NyaXB0aW9ucyB8fCBbXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN1YnNjcmlwdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBhZGQgbWlzc2luZyBkZWZhdWx0IHN1YnNjcmlwdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJzMVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiRGVmYXVsdCBTdWJzY3JpcHRpb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczogT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdFN1YnNjcmlwdGlvblBhcmFtZXRlcnMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uTGlzdC5lZGl0YWJsZUxpc3QoXCJlbXB0eVwiKTtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2Ygc3Vic2NyaXB0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3Vic2NyaXB0aW9uLmlzRGVmYXVsdCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uTGlzdC5lZGl0YWJsZUxpc3QoXCJhZGRJdGVtXCIsIHN1YnNjcmlwdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIEFkZFN1YnNjcmlwdGlvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgIH0pO1xuXG59KSgpOyJdfQ==
|
7
|
+
function _0x2d69(_0x29dc81,_0x5eb72c){const _0x5b57e2=_0x5b57();return _0x2d69=function(_0x2d694d,_0x245eb6){_0x2d694d=_0x2d694d-0x66;let _0x47c4f4=_0x5b57e2[_0x2d694d];return _0x47c4f4;},_0x2d69(_0x29dc81,_0x5eb72c);}function _0x5b57(){const _0x4e6d51=['addItem','suppressed','4615604Kbnpsj','1374351gyOTwp','onPremiseServerHost','name','.input-publishingEnabled','/opcua-endpoint2/client_certificate.json','#node-config-input-userIdentityType','typedInput','push','FREEWARE','#subscriptions-container','text','fa\x20fa-calendar-time','append','type','src','#toggleAdvancedSection','/licenceInfo','parameters','260px','Freeware\x20licence','5822440nhXaKB','hide','.input-requestedMaxKeepAliveCount','pk_live_51HsE1sBCNccbzsVzt7zaq2uv20pkryWllAzvZgZd5AhwFI9A3qBIeOJvJwQF08lDoLpFqLjwmyA79wnPnYLsvKjt009f00VpCW','.input-requestedPublishingInterval','opc.tcp://opcuademo.sterfive.com:26543/UA/SampleServer','Your\x20license\x20has\x20expired.\x20Please\x20contact\x20our\x20support\x20team\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.','.input-name','join','requestedPublishingInterval','maxNotificationsPerPublish','EXPIRED','#node-config-input-userPrivatekey','nodes','\x20to\x20acquire\x20a\x20license.','licence-widget-details','protocol','The\x20Trial\x20will\x20expire\x20in\x20','requestedLifetimeCount','opc.tcp:','widget','.input-requestedLifetimeCount','3UtSiov','each','PROFESSIONAL','25272aJheYM','removeClass','addClass','POST','tabs','height:\x20100%\x20!important;','Anonymous','.input-isDefault','11myqeST','None','<p>','#node-config-input-userName','.template','securityMode','isDefault','#test-connection','.section-userIdentityType-Certificate','licence-widget','licenceWidget','1130852pnIAHX','catch','https://js.stripe.com/v3/pricing-table.js','change','btn\x20btn-primary','licence-widget-','password','script','invalid\x20securityMode\x20','subscriptions','Slow\x20Subscription','daysLeft','fetching\x20failed\x20with\x20error','map','invalid\x20endpoint','checked','licence-widget-msg','#licenceWidget','endpoint-tab-subscriptions','application/json','.subscription-id','#node-input-useTransport','function','registerType','error','#node-config-endpoint-tabs-content','log','#node-config-input-securityPolicy','licenceType','style','-failure','</p>','statusText','#node-input-certificate','#node-input-receiveBufferSize','element','UserName','SignAndEncrypt','27663660wRTfSD','html','6KgLNRX','AUTHORIZED','json','licenceInfo','\x20for\x20more\x20information.','.input-maxNotificationsPerPublish','TRIAL','fa\x20fa-exclamation-circle','show','create','#section-Advanced','<span>','stringify','value','Licence\x20has\x20expired','attr','createElement','appendTo','internal\x20error\x20','editableList','throw','<a\x20href=\x22https://www.sterfive.com/opcua/for-node-red\x22\x20target=”_blank”>Sterfive\x27s\x20website\x20</a>','.input-priority','done','children','Please\x20contact\x20','config','endpoint','publishable-key','<i>','resize',':checked','#node-config-input-password','sterfive.licenceWidget','extra','This\x20is\x20a\x20freeware\x20licence,\x20and\x20have\x20some\x20limitations.\x0a','<br>','head','status','licence-widget-icon','css','\x20It\x20will\x20expire\x20in\x20','items','/opcua-endpoint2','FAILED','apply','template','split','margin-top:\x2020px;','\x20days.\x0aBuy\x20online\x20and\x20visit\x20','invalid\x20userIdentityType\x20','userIdentityType','assign','removeAttr','replace','disabled','#node-config-input-securityMode','click','isArray','height:\x20100%;max-height:\x20100%;','<button/>','4437559ngaNVa','.section-userIdentityType-UserName','empty','width','Default\x20Subscription','.section-securityPolicy','Subscribe','message','find','<stripe-pricing-table/>','#node-input-sendBufferSize','SuppressedError','label','next','-pending','result','2565RGqXqW','then','#node-config-input-endpoint','priority','Sign','-messages','val','requestedMaxKeepAliveCount','prop','Trial\x20licence'];_0x5b57=function(){return _0x4e6d51;};return _0x5b57();}(function(_0x438838,_0x317ec8){const _0x408d6f=_0x2d69,_0x5aef75=_0x438838();while(!![]){try{const _0xac89c9=parseInt(_0x408d6f(0xb6))/0x1+-parseInt(_0x408d6f(0xf6))/0x2*(-parseInt(_0x408d6f(0xe0))/0x3)+-parseInt(_0x408d6f(0xb5))/0x4+-parseInt(_0x408d6f(0xca))/0x5+parseInt(_0x408d6f(0x11e))/0x6*(-parseInt(_0x408d6f(0x99))/0x7)+-parseInt(_0x408d6f(0xe3))/0x8*(parseInt(_0x408d6f(0xa9))/0x9)+parseInt(_0x408d6f(0x11c))/0xa*(parseInt(_0x408d6f(0xeb))/0xb);if(_0xac89c9===_0x317ec8)break;else _0x5aef75['push'](_0x5aef75['shift']());}catch(_0x24ed38){_0x5aef75['push'](_0x5aef75['shift']());}}}(_0x5b57,0xd05fe),(function(){'use strict';const _0x3658fb=_0x2d69;function _0x52385f(_0x49d2bb,_0x534c6d,_0xaa00a7,_0xc47bf8){function _0xccd078(_0x3a8340){return _0x3a8340 instanceof _0xaa00a7?_0x3a8340:new _0xaa00a7(function(_0x1e143f){_0x1e143f(_0x3a8340);});}return new(_0xaa00a7||(_0xaa00a7=Promise))(function(_0x44761f,_0xd71033){const _0x4f8c93=_0x2d69;function _0xfa69aa(_0x40f0fa){const _0x4cb1b7=_0x2d69;try{_0x2c1990(_0xc47bf8[_0x4cb1b7(0xa6)](_0x40f0fa));}catch(_0x526332){_0xd71033(_0x526332);}}function _0x5c8199(_0x41e99a){const _0x5ec1e4=_0x2d69;try{_0x2c1990(_0xc47bf8[_0x5ec1e4(0x70)](_0x41e99a));}catch(_0x87197b){_0xd71033(_0x87197b);}}function _0x2c1990(_0x1470b4){const _0x34ca2b=_0x2d69;_0x1470b4[_0x34ca2b(0x73)]?_0x44761f(_0x1470b4[_0x34ca2b(0x69)]):_0xccd078(_0x1470b4[_0x34ca2b(0x69)])['then'](_0xfa69aa,_0x5c8199);}_0x2c1990((_0xc47bf8=_0xc47bf8[_0x4f8c93(0x89)](_0x49d2bb,_0x534c6d||[]))['next']());});}typeof SuppressedError===_0x3658fb(0x10c)?SuppressedError:function(_0x1c4410,_0x5f3ff2,_0x13ccee){const _0x841b82=_0x3658fb;var _0x3532a9=new Error(_0x13ccee);return _0x3532a9[_0x841b82(0xb8)]=_0x841b82(0xa4),_0x3532a9[_0x841b82(0x10e)]=_0x1c4410,_0x3532a9[_0x841b82(0xb4)]=_0x5f3ff2,_0x3532a9;};function _0x291c24(_0x42a58c,_0x571b2f,_0x329f06,_0x1b5047){const _0x1c114e=_0x3658fb,_0x50389a=$('#'+_0x42a58c+'-success'),_0x4b0133=$('#'+_0x42a58c+_0x1c114e(0x114)),_0x91600b=$('#'+_0x42a58c+_0x1c114e(0xa7)),_0xa43075=$('#'+_0x42a58c+_0x1c114e(0xae));let _0x50f48b=![];_0x50389a['hide'](),_0x4b0133[_0x1c114e(0xcb)](),_0x91600b['hide'](),_0x571b2f['on'](_0x1c114e(0x95),()=>{const _0x28fafb=_0x1c114e;if(_0x50f48b)return;_0x50f48b=!![],_0x91600b['removeClass']('hide'),_0x91600b['html']('Testing\x20Connection\x20...'),_0x50389a[_0x28fafb(0xe5)](_0x28fafb(0xcb)),_0x4b0133[_0x28fafb(0xe5)](_0x28fafb(0xcb)),_0xa43075[_0x28fafb(0x11d)]('');const {body:_0x29b991,url:_0x498a0a}=_0x329f06();fetch(_0x498a0a,{'method':_0x28fafb(0xe6),'headers':{'Content-Type':_0x28fafb(0x109)},'body':JSON['stringify'](_0x29b991)})['then'](_0x588f03=>_0x588f03[_0x28fafb(0x120)]())[_0x28fafb(0xaa)](_0x370b5d=>{const _0xfd3dab=_0x28fafb;_0x50f48b=![],_0x91600b['hide'](),console['log'](JSON[_0xfd3dab(0x68)](_0x370b5d,null,'\x20'));if(_0x370b5d[_0xfd3dab(0xa8)]==='ok')_0x50389a[_0xfd3dab(0xe4)](_0xfd3dab(0xcb)),_0x4b0133['addClass'](_0xfd3dab(0xcb)),_0xa43075['html'](_0x370b5d[_0xfd3dab(0xa0)][_0xfd3dab(0x92)]('\x0a',_0xfd3dab(0x80))),_0x1b5047(null,_0x370b5d);else{const _0x4c227d=_0x2d357b=>!_0x2d357b?'':_0x2d357b[_0xfd3dab(0x8b)]('\x0a')[_0xfd3dab(0x103)](_0x43613a=>_0xfd3dab(0xed)+_0x43613a+_0xfd3dab(0x115))['join']('\x0a'),_0x2bab18=_0x4f9bbf=>Array[_0xfd3dab(0x96)](_0x4f9bbf)?_0x4f9bbf['map'](_0x4c227d)[_0xfd3dab(0xd2)]('\x0a'):_0x4c227d(_0x4f9bbf);_0x50389a[_0xfd3dab(0xe5)](_0xfd3dab(0xcb)),_0x4b0133[_0xfd3dab(0xe4)](_0xfd3dab(0xcb)),_0xa43075[_0xfd3dab(0x11d)](_0x2bab18(_0x370b5d[_0xfd3dab(0xa0)])+_0x2bab18(_0x370b5d[_0xfd3dab(0x7e)])),_0x1b5047(new Error(_0x370b5d[_0xfd3dab(0xa8)]),_0x370b5d);}})[_0x28fafb(0xf7)](_0x3090b9=>{const _0x39a8ae=_0x28fafb;_0x50f48b=![],_0x91600b[_0x39a8ae(0xe5)](_0x39a8ae(0xcb)),_0x50389a['addClass'](_0x39a8ae(0xcb)),_0x4b0133['removeClass']('hide'),_0xa43075['html'](_0x39a8ae(0x6e)+_0x3090b9[_0x39a8ae(0xa0)]),console['log']('err',_0x3090b9),_0x1b5047(_0x3090b9,null);});});}const _0x48009d='prctbl_1OJt49BCNccbzsVzkaANOgFL',_0x526cc5=_0x3658fb(0xcd);function _0x189cab(_0x3841ac=''){return _0x52385f(this,void 0x0,void 0x0,function*(){const _0x4a23f1=_0x2d69,_0x4c0100=_0x3841ac+_0x4a23f1(0x87),_0x136463=_0x4c0100+_0x4a23f1(0xc6),_0x4df460=yield fetch(_0x136463,{'method':_0x4a23f1(0xe6),'headers':{'Content-Type':_0x4a23f1(0x109)}}),_0x360037=new Date()['toISOString']();if(_0x4df460[_0x4a23f1(0x82)]!==0xc8)return console[_0x4a23f1(0x110)](_0x4a23f1(0x102),_0x4df460[_0x4a23f1(0x82)],_0x4df460[_0x4a23f1(0x116)]),{'status':'FAILED','type':'FREEWARE','licenceInfo':{'expiryDate':_0x360037}};const _0x1e34b2=yield _0x4df460[_0x4a23f1(0x120)]();return _0x1e34b2;});}const _0xf202e1=()=>{const _0x3dfef9=_0x3658fb;$[_0x3dfef9(0xde)](_0x3dfef9(0x7d),{'options':{'baseUrl':''},'_create'(){const _0x49dd6b=_0x3dfef9,_0x153bf8=this,_0x485164='<a\x20href=\x22mailto:support@sterfive.com\x22\x20subject=\x22@opcua/for-node-red\x20support\x20request\x22>mailto:support@sterfive.com</a>',_0x1f4d30=_0x49dd6b(0x71);_0x189cab(_0x153bf8['baseUrl'])[_0x49dd6b(0xaa)](_0x424214=>{const _0x3e464a=_0x49dd6b;let _0x2ff370='',_0x198fbb='',_0x4297a7='';const _0x31af13=_0x424214[_0x3e464a(0x82)],_0x1f8784=_0x424214[_0x3e464a(0x101)];switch(_0x31af13){case _0x3e464a(0x11f):_0x2ff370='fa\x20fa-check-circle';switch(_0x424214[_0x3e464a(0xc3)]){case _0x3e464a(0x124):{_0x198fbb=_0x3e464a(0xb2),_0x4297a7=_0x3e464a(0xdb)+_0x1f8784+_0x3e464a(0x8d)+_0x1f4d30+_0x3e464a(0xd8);break;}case _0x3e464a(0xe2):_0x198fbb='Your\x20licence\x20is\x20valid.';_0x1f8784<0x5a&&_0x1f8784>=0x0&&(_0x198fbb+=_0x3e464a(0x85)+_0x1f8784+'\x20days.');_0x4297a7=_0x424214[_0x3e464a(0x121)][_0x3e464a(0x112)]+'\x20-\x20'+(_0x424214[_0x3e464a(0x121)][_0x3e464a(0xb7)]||'');break;case _0x3e464a(0xbe):_0x198fbb=_0x3e464a(0xc9),_0x4297a7=_0x3e464a(0x7f)+_0x1f4d30+_0x3e464a(0x122);break;}break;case'EXPIRED':_0x2ff370=_0x3e464a(0xc1),_0x198fbb=_0x3e464a(0x6a),_0x4297a7=_0x3e464a(0xd0);break;case'FAILED':default:_0x2ff370=_0x3e464a(0x125),_0x198fbb='Your\x20license\x20is\x20currently\x20invalid.',_0x4297a7=_0x3e464a(0x75)+_0x485164+'\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.̀';break;}this[_0x3e464a(0x119)]['addClass'](_0x3e464a(0xf4)),this[_0x3e464a(0x119)][_0x3e464a(0xe5)](_0x3e464a(0xfb)+_0x31af13),this[_0x3e464a(0x119)][_0x3e464a(0xc2)]($(_0x3e464a(0x67))[_0x3e464a(0xe5)](_0x3e464a(0x83))[_0x3e464a(0xc2)]($(_0x3e464a(0x79))[_0x3e464a(0xe5)](_0x2ff370))),this[_0x3e464a(0x119)][_0x3e464a(0xc2)]($(_0x3e464a(0x67))['addClass'](_0x3e464a(0x106))['text'](_0x198fbb)),this[_0x3e464a(0x119)][_0x3e464a(0xc2)]($(_0x3e464a(0x80))),this['element'][_0x3e464a(0xc2)]($(_0x3e464a(0x67))[_0x3e464a(0xe5)](_0x3e464a(0xd9))['append'](_0x4297a7));if(_0x31af13===_0x3e464a(0xd5)||_0x31af13===_0x3e464a(0x88)||_0x424214['type']===_0x3e464a(0xbe)||_0x424214[_0x3e464a(0xc3)]===_0x3e464a(0x124)){const _0x29e562=$(_0x3e464a(0x98));_0x29e562[_0x3e464a(0x6b)]('id','subscribe-button'),_0x29e562[_0x3e464a(0x6b)]('class',_0x3e464a(0xfa)),_0x29e562[_0x3e464a(0x6b)]('style',_0x3e464a(0x8c)),_0x29e562[_0x3e464a(0xc0)](_0x3e464a(0x9f)),this[_0x3e464a(0x119)][_0x3e464a(0xc2)](_0x29e562);const _0x7f62ee=document[_0x3e464a(0x6c)](_0x3e464a(0xfd));_0x7f62ee[_0x3e464a(0xc4)]=_0x3e464a(0xf8),_0x7f62ee['async']=!![],$(_0x3e464a(0x81))[_0x3e464a(0xc2)](_0x7f62ee);const _0x5072ed=$(_0x3e464a(0xa2));_0x5072ed['attr']('pricing-table-id',_0x48009d),_0x5072ed[_0x3e464a(0x6b)](_0x3e464a(0x78),_0x526cc5),_0x5072ed[_0x3e464a(0x6b)](_0x3e464a(0x113),_0x3e464a(0x97)),_0x5072ed[_0x3e464a(0xcb)](),this[_0x3e464a(0x119)][_0x3e464a(0xc2)](_0x5072ed),_0x29e562['on'](_0x3e464a(0x95),()=>{const _0x309b80=_0x3e464a;_0x5072ed[_0x309b80(0x126)](),_0x29e562[_0x309b80(0xcb)](),this[_0x309b80(0x119)][_0x309b80(0x6b)](_0x309b80(0x113),_0x309b80(0xe8));});}})[_0x49dd6b(0xf7)](_0x389012=>{const _0x441595=_0x49dd6b;console[_0x441595(0x110)](_0x389012);});}});};_0xf202e1();function _0xa68e92(_0x103e1c){const _0x4c5602=_0x3658fb;let _0x381a84;try{_0x381a84=new URL(_0x103e1c);}catch(_0x58ff97){return![];}return _0x381a84[_0x4c5602(0xda)]===_0x4c5602(0xdd);}const _0xcc435e={'publishingEnabled':!![],'requestedLifetimeCount':0x3e8,'requestedMaxKeepAliveCount':0xa,'requestedPublishingInterval':0x3e8,'maxNotificationsPerPublish':0x0,'priority':0x64};RED[_0x3658fb(0xd7)][_0x3658fb(0x10d)]('OpcUa-Endpoint2',{'category':_0x3658fb(0x76),'paletteLabel':'opcua\x20endpoint','defaults':{'name':{'value':''},'endpoint':{'value':_0x3658fb(0xcf),'required':!![],'validate':_0xa68e92},'securityMode':{'value':_0x3658fb(0xec)},'securityPolicy':{'value':_0x3658fb(0xec),'validate':_0x19655d=>{if(!_0x19655d)return![];return!![];}},'userIdentityType':{'value':_0x3658fb(0xe9)},'useTransport':{'value':![],'required':![]},'maxChunkCount':{'value':0x1,'required':![]},'maxMessageSize':{'value':0x2000,'required':![]},'receiveBufferSize':{'value':0x2000,'required':![]},'sendBufferSize':{'value':0x2000,'required':![]},'subscriptions':{'value':[{'id':'s1','name':_0x3658fb(0x9d),'isDefault':!![],'parameters':Object['assign']({},_0xcc435e)},{'id':'s2','name':_0x3658fb(0x100),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0x64,'requestedMaxKeepAliveCount':0x14,'requestedPublishingInterval':0x1388,'maxNotificationsPerPublish':0x64,'priority':0xa}},{'id':'s3','name':'Fast\x20Subscription','isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0xfa0,'requestedMaxKeepAliveCount':0x64,'requestedPublishingInterval':0xfa,'maxNotificationsPerPublish':0x64,'priority':0xc8}}],'required':![]}},'credentials':{'userName':{'type':'text'},'password':{'type':_0x3658fb(0xfc)},'userCertificate':{'type':_0x3658fb(0xc0)},'userPrivatekey':{'type':_0x3658fb(0xfc)}},'label':function(){const _0x52f6fa=_0x3658fb;return this[_0x52f6fa(0xb8)]||this[_0x52f6fa(0x77)]||_0x52f6fa(0x104);},'oneditsave'(){const _0x8879c9=_0x3658fb,_0x49e266=$(_0x8879c9(0x111)),_0x165e29=$(_0x8879c9(0x94));_0x49e266['val']()===_0x8879c9(0xec)&&_0x165e29['text']('None');const _0x237bd9=$(_0x8879c9(0xbf))[_0x8879c9(0x6f)](_0x8879c9(0x86)),_0x156031=[],_0x5d041f=_0x48372a=>_0x48372a;_0x237bd9[_0x8879c9(0xe1)](function(_0x2329c6,_0x3045fe){const _0x2f13e7=_0x8879c9,_0x5ac11e=$(this),_0x39a96a={'id':'s'+_0x2329c6,'name':_0x5ac11e[_0x2f13e7(0xa1)]('.input-name')[_0x2f13e7(0xaf)](),'isDefault':!!_0x5ac11e[_0x2f13e7(0xa1)](_0x2f13e7(0xea))[_0x2f13e7(0xaf)](),'parameters':{'publishingEnabled':!!_0x5ac11e[_0x2f13e7(0xa1)](_0x2f13e7(0xb9))['is'](_0x2f13e7(0x7b)),'requestedLifetimeCount':_0x5d041f(_0x5ac11e[_0x2f13e7(0xa1)](_0x2f13e7(0xdf))[_0x2f13e7(0xaf)]()),'requestedMaxKeepAliveCount':_0x5d041f(_0x5ac11e['find'](_0x2f13e7(0xcc))[_0x2f13e7(0xaf)]()),'requestedPublishingInterval':_0x5d041f(_0x5ac11e['find'](_0x2f13e7(0xce))[_0x2f13e7(0xaf)]()),'maxNotificationsPerPublish':_0x5d041f(_0x5ac11e['find'](_0x2f13e7(0x123))[_0x2f13e7(0xaf)]()),'priority':_0x5d041f(_0x5ac11e['find']('.input-priority')[_0x2f13e7(0xaf)]())}};_0x39a96a[_0x2f13e7(0xc7)]['publishingEnabled']=!![],_0x39a96a[_0x2f13e7(0xf1)]&&_0x39a96a['id']==='s0'&&(_0x39a96a[_0x2f13e7(0xb8)]=_0x2f13e7(0x9d)),_0x156031[_0x2f13e7(0xbd)](_0x39a96a);}),this[_0x8879c9(0xff)]=_0x156031;},'oneditprepare'(){const _0x2d9a34=_0x3658fb,_0x381ed3=this,_0x364de8=RED[_0x2d9a34(0xe7)][_0x2d9a34(0x127)]({'id':'node-config-endpoint-tabs','onchange':function(_0x5c659e){const _0x584f25=_0x2d9a34;$(_0x584f25(0x10f))[_0x584f25(0x74)]()[_0x584f25(0xcb)](),$('#'+_0x5c659e['id'])[_0x584f25(0x126)]();}});_0x364de8['addTab']({'id':'endpoint-tab-connection','label':'Connection'},0x0),_0x364de8['addTab']({'id':_0x2d9a34(0x108),'label':'Subscriptions'},0x1),setTimeout(function(){const _0x1a8203=_0x2d9a34;_0x364de8[_0x1a8203(0x7a)]();},0x0);{const _0x58be10=_0xf7dfd4=>{const _0x3b2f71=_0x2d9a34;switch(_0xf7dfd4){case null:case undefined:case'':case _0x3b2f71(0xec):$(_0x3b2f71(0x9e))['hide']();break;case _0x3b2f71(0xad):case _0x3b2f71(0x11b):{const _0x455baf=$(_0x3b2f71(0x9e));(_0x455baf[_0x3b2f71(0xaf)]()==='None'||_0x455baf['val']()==='')&&_0x455baf['val']('Basic256Sha256'),$(_0x3b2f71(0x9e))['show']();}break;default:console[_0x3b2f71(0x110)](_0x3b2f71(0xfe)+_0xf7dfd4);}};_0x58be10(_0x381ed3[_0x2d9a34(0xf0)]);const _0x2b3fbc=$(_0x2d9a34(0x94));_0x2b3fbc['on'](_0x2d9a34(0xf9),()=>{const _0x55359c=_0x2d9a34,_0x24670a=_0x2b3fbc[_0x55359c(0xaf)]();_0x58be10(_0x24670a);});}const _0x40b910=$(_0x2d9a34(0x107));_0x40b910[_0x2d9a34(0xf5)]({'baseUrl':''});{const _0x4b1407=$(_0x2d9a34(0x9a)),_0x4ced85=$(_0x2d9a34(0xf3)),_0x1952e4=_0x47a9cc=>{const _0xac17d9=_0x2d9a34;_0x47a9cc=_0x47a9cc||_0xac17d9(0xe9);switch(_0x47a9cc){case _0xac17d9(0xe9):$(_0xac17d9(0xee))['val'](''),$(_0xac17d9(0x7c))[_0xac17d9(0xaf)](''),_0x4b1407[_0xac17d9(0xcb)](),_0x4ced85['hide']();break;case _0xac17d9(0x11a):_0x4b1407[_0xac17d9(0x126)](),_0x4ced85[_0xac17d9(0xcb)]();break;case'Certificate':$(_0xac17d9(0xee))[_0xac17d9(0xaf)](''),$(_0xac17d9(0x7c))[_0xac17d9(0xaf)](''),_0x4ced85[_0xac17d9(0x126)](),_0x4b1407[_0xac17d9(0xcb)]();break;default:console[_0xac17d9(0x110)](_0xac17d9(0x8e)+_0x47a9cc);}};_0x1952e4(_0x381ed3[_0x2d9a34(0x8f)]);const _0x4e22a0=$(_0x2d9a34(0xbb));_0x4e22a0['on'](_0x2d9a34(0xf9),()=>{const _0x5b3476=_0x2d9a34,_0x1c8e42=_0x4e22a0[_0x5b3476(0xaf)]();_0x1952e4(_0x1c8e42);});}{$(_0x2d9a34(0x66))[_0x2d9a34(0xcb)](),$(_0x2d9a34(0xc5))['on']('change',function(){const _0x59cde7=_0x2d9a34;$(this)['prop']('checked')?$(_0x59cde7(0x66))[_0x59cde7(0x126)]():$(_0x59cde7(0x66))[_0x59cde7(0xcb)]();});}{$('#checkCertificate')['on']('click',()=>_0x52385f(this,void 0x0,void 0x0,function*(){const _0x325eaa=_0x2d9a34,_0x321f52=yield fetch(_0x325eaa(0xba)),_0x391d19=yield _0x321f52[_0x325eaa(0x120)](),_0x17f9ae=JSON['stringify'](_0x391d19,null,'\x20');alert(_0x17f9ae);}));}{_0x291c24('connection',$(_0x2d9a34(0xf2)),()=>({'url':'/opcua-endpoint2/test-connection','body':{'endpointNode':{'id':_0x381ed3['id'],'endpoint':$(_0x2d9a34(0xab))['val'](),'securityMode':$('#node-config-input-securityMode')[_0x2d9a34(0xaf)](),'securityPolicy':$(_0x2d9a34(0x111))[_0x2d9a34(0xaf)](),'userIdentityType':$('#node-config-input-userIdentityType')[_0x2d9a34(0xaf)](),'userName':$(_0x2d9a34(0xee))[_0x2d9a34(0xaf)](),'password':$(_0x2d9a34(0x7c))[_0x2d9a34(0xaf)](),'userCertificate':$('#node-config-input-userCertificate')[_0x2d9a34(0xaf)](),'userPrivatekey':$(_0x2d9a34(0xd6))[_0x2d9a34(0xaf)](),'certificate':$(_0x2d9a34(0x117))[_0x2d9a34(0xaf)](),'useTransport':$(_0x2d9a34(0x10b))[_0x2d9a34(0xb1)](_0x2d9a34(0x105)),'maxChunkCount':$('#node-input-maxChunkCount')[_0x2d9a34(0xaf)](),'maxMessageSize':$('#node-input-maxMessageSize')[_0x2d9a34(0xaf)](),'receiveBufferSize':$(_0x2d9a34(0x118))[_0x2d9a34(0xaf)](),'sendBufferSize':$(_0x2d9a34(0xa3))[_0x2d9a34(0xaf)]()}}}),()=>{});}{const _0x364e65=(_0x335500,_0x1c2472)=>{const _0x377dc7=_0x2d9a34;var _0x21d103=_0x335500[_0x377dc7(0x9c)]()||0x64;_0x335500['find'](_0x377dc7(0xa5))[_0x377dc7(0xbc)]('width',_0x21d103-0xf);},_0x86af1d=$('#subscriptions-container')[_0x2d9a34(0x84)]({'min-height':'150px','min-width':_0x2d9a34(0xc8)})[_0x2d9a34(0x6f)]({'addItem':(_0x3163ea,_0x434aeb,_0x1537a0)=>{const _0x1eb7a4=_0x2d9a34,_0x66f98e=_0x1537a0,_0x2aedc5=$(_0x1eb7a4(0xef))['clone']()[_0x1eb7a4(0x6d)](_0x3163ea);_0x2aedc5[_0x1eb7a4(0x91)]('id')[_0x1eb7a4(0xe4)](_0x1eb7a4(0xcb))[_0x1eb7a4(0xe4)](_0x1eb7a4(0x8a))[_0x1eb7a4(0x6b)]('data-i',_0x434aeb),_0x2aedc5[_0x1eb7a4(0xa1)](_0x1eb7a4(0xd1))[_0x1eb7a4(0xaf)](_0x66f98e[_0x1eb7a4(0xb8)]),_0x2aedc5[_0x1eb7a4(0xa1)]('.input-requestedPublishingInterval')['val'](_0x66f98e['parameters'][_0x1eb7a4(0xd3)]),_0x2aedc5[_0x1eb7a4(0xa1)](_0x1eb7a4(0xcc))[_0x1eb7a4(0xaf)](_0x66f98e[_0x1eb7a4(0xc7)][_0x1eb7a4(0xb0)]),_0x2aedc5['find'](_0x1eb7a4(0xdf))[_0x1eb7a4(0xaf)](_0x66f98e[_0x1eb7a4(0xc7)][_0x1eb7a4(0xdc)]),_0x2aedc5[_0x1eb7a4(0xa1)](_0x1eb7a4(0x123))[_0x1eb7a4(0xaf)](_0x66f98e[_0x1eb7a4(0xc7)][_0x1eb7a4(0xd4)]||0x0),_0x2aedc5[_0x1eb7a4(0xa1)](_0x1eb7a4(0x72))[_0x1eb7a4(0xaf)](_0x66f98e[_0x1eb7a4(0xc7)][_0x1eb7a4(0xac)]||0x0),_0x2aedc5[_0x1eb7a4(0xa1)](_0x1eb7a4(0x10a))[_0x1eb7a4(0xc0)](''+_0x434aeb),_0x66f98e['isDefault']&&_0x2aedc5['find']('.input-name')[_0x1eb7a4(0xb1)]('readonly',!![]),_0x2aedc5[_0x1eb7a4(0xa1)](_0x1eb7a4(0xea))[_0x1eb7a4(0xb1)](_0x1eb7a4(0x105),_0x66f98e['isDefault']),_0x66f98e[_0x1eb7a4(0xf1)]&&(_0x3163ea['find']('.red-ui-editableList-item-remove')['addClass'](_0x1eb7a4(0xcb)),setTimeout(()=>_0x2aedc5[_0x1eb7a4(0xa1)]('.input-isDefault')[_0x1eb7a4(0xb1)](_0x1eb7a4(0x93),!![]),0xa));},'removable':!![],'resizeItem':_0x364e65}),_0x200062=()=>{const _0x46cdf7=_0x2d9a34,_0x1f192d=_0x381ed3[_0x46cdf7(0xff)]||[];_0x1f192d['length']===0x0&&_0x1f192d[_0x46cdf7(0xbd)]({'id':'s1','name':_0x46cdf7(0x9d),'isDefault':!![],'parameters':Object[_0x46cdf7(0x90)]({},_0xcc435e)});_0x86af1d[_0x46cdf7(0x6f)](_0x46cdf7(0x9b));for(const _0x39ab0a of _0x1f192d){_0x86af1d[_0x46cdf7(0x6f)](_0x46cdf7(0xb3),_0x39ab0a);}};_0x200062();}}});}()));
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHg1MjM4NWYiLCJfMHg0OWQyYmIiLCJfMHg1MzRjNmQiLCJfMHhhYTAwYTciLCJfMHhjNDdiZjgiLCJfMHhjY2QwNzgiLCJfMHgzYTgzNDAiLCJfMHgxZTE0M2YiLCJQcm9taXNlIiwiXzB4NDQ3NjFmIiwiXzB4ZDcxMDMzIiwiXzB4ZmE2OWFhIiwiXzB4NDBmMGZhIiwiXzB4MmMxOTkwIiwiXzB4NTI2MzMyIiwiXzB4NWM4MTk5IiwiXzB4NDFlOTlhIiwiXzB4ODcxOTdiIiwiXzB4MTQ3MGI0IiwiU3VwcHJlc3NlZEVycm9yIiwiXzB4MWM0NDEwIiwiXzB4NWYzZmYyIiwiXzB4MTNjY2VlIiwiXzB4MzUzMmE5IiwiRXJyb3IiLCJfMHgyOTFjMjQiLCJfMHg0MmE1OGMiLCJfMHg1NzFiMmYiLCJfMHgzMjlmMDYiLCJfMHgxYjUwNDciLCJfMHg1MDM4OWEiLCIkIiwiXzB4NGIwMTMzIiwiXzB4OTE2MDBiIiwiXzB4YTQzMDc1IiwiXzB4NTBmNDhiIiwiYm9keSIsIl8weDI5Yjk5MSIsInVybCIsIl8weDQ5OGEwYSIsImZldGNoIiwiSlNPTiIsIl8weDU4OGYwMyIsIl8weDM3MGI1ZCIsImNvbnNvbGUiLCJfMHg0YzIyN2QiLCJfMHgyZDM1N2IiLCJfMHg0MzYxM2EiLCJfMHgyYmFiMTgiLCJfMHg0ZjliYmYiLCJBcnJheSIsIl8weDMwOTBiOSIsIl8weDQ4MDA5ZCIsIl8weDUyNmNjNSIsIl8weDE4OWNhYiIsIl8weDM4NDFhYyIsIl8weDRjMDEwMCIsIl8weDEzNjQ2MyIsIl8weDRkZjQ2MCIsIl8weDM2MDAzNyIsIkRhdGUiLCJfMHgxZTM0YjIiLCJfMHhmMjAyZTEiLCJfMHgxNTNiZjgiLCJfMHg0ODUxNjQiLCJfMHgxZjRkMzAiLCJfMHg0MjQyMTQiLCJfMHgyZmYzNzAiLCJfMHgxOThmYmIiLCJfMHg0Mjk3YTciLCJfMHgzMWFmMTMiLCJfMHgxZjg3ODQiLCJfMHgyOWU1NjIiLCJfMHg3ZjYyZWUiLCJkb2N1bWVudCIsIl8weDUwNzJlZCIsIl8weDM4OTAxMiIsIl8weGE2OGU5MiIsIl8weDEwM2UxYyIsIl8weDM4MWE4NCIsIlVSTCIsIl8weDU4ZmY5NyIsIl8weGNjNDM1ZSIsIlJFRCIsIl8weDE5NjU1ZCIsIk9iamVjdCIsIl8weDQ5ZTI2NiIsIl8weDE2NWUyOSIsIl8weDIzN2JkOSIsIl8weDE1NjAzMSIsIl8weDVkMDQxZiIsIl8weDQ4MzcyYSIsIl8weDIzMjljNiIsIl8weDMwNDVmZSIsIl8weDVhYzExZSIsIl8weDM5YTk2YSIsIl8weDM4MWVkMyIsIl8weDM2NGRlOCIsIl8weDVjNjU5ZSIsInNldFRpbWVvdXQiLCJfMHg1OGJlMTAiLCJfMHhmN2RmZDQiLCJ1bmRlZmluZWQiLCJfMHg0NTViYWYiLCJfMHgyYjNmYmMiLCJfMHgyNDY3MGEiLCJfMHg0MGI5MTAiLCJfMHg0YjE0MDciLCJfMHg0Y2VkODUiLCJfMHgxOTUyZTQiLCJfMHg0N2E5Y2MiLCJfMHg0ZTIyYTAiLCJfMHgxYzhlNDIiLCJfMHgzMjFmNTIiLCJfMHgzOTFkMTkiLCJfMHgxN2Y5YWUiLCJhbGVydCIsIl8weDM2NGU2NSIsIl8weDMzNTUwMCIsIl8weDFjMjQ3MiIsIl8weDIxZDEwMyIsIl8weDg2YWYxZCIsIl8weDMxNjNlYSIsIl8weDQzNGFlYiIsIl8weDE1MzdhMCIsIl8weDY2Zjk4ZSIsIl8weDJhZWRjNSIsIl8weDIwMDA2MiIsIl8weDFmMTkyZCIsIl8weDM5YWIwYSJdLCJtYXBwaW5ncyI6IjBrSkFBQSxDQUFDLFUsQ0FDRyxhLHdCQW1CQSxTQUFTQSxTQUFULENBQW1CQyxTQUFuQixDQUE0QkMsU0FBNUIsQ0FBd0NDLFNBQXhDLENBQTJDQyxTQUEzQyxDLENBQ0ksU0FBU0MsU0FBVCxDQUFlQyxTQUFmLEMsUUFBK0JBLFNBQUEsWUFBaUJILFNBQWpCLENBQXFCRyxTQUFyQixDQUE2QixJQUFJSCxTQUFKLENBQU0sU0FBVUksU0FBVixDLENBQXFCQSxTQUFBLENBQVFELFNBQVIsQyxFQUEzQixDLFNBQ3JELEdBQUss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QSxDLGVBQUEsRSxlQUFBLEUsZUFBQSxFQUFvQ0QsU0FBQSxDLGVBQUEsRSxlQUFBLEcsR0FBcEMsQyxDQUNBQyxTQUFBLEMsZUFBQSxFLGdCQUFBLEUsZUFBQSxFLEVBQXNDLENBQUtILFNBQTNDLEMsQ0FDSUUsU0FBQSxDLFdBQUEsQyxFQUNBQyxTQUFBLEMsTUFBQSxFLGFBQUEsRSxlQUFBLEUsVUFBQSxDLElBQUEsQyxDQUVKQSxTQUFBLEMsZUFBQSxFLGVBQUEsRSxlQUFBLEUsZ0JBQUEsQ0FBaURELFNBQUEsQyxXQUFBLENBQWpELEMsQ0FFSUEsU0FBQSxDLGVBQUEsQyxHQUNBSCxTQUFBLEMsTUFBQSxFLGtDQUFBLEUsVUFBQSxFLGVBQUEsQyxDQUNBdkIsVUFBQSxDQUFXLElBQU0yQixTQUFBLEMsZUFBQSxFLGtCQUFBLEUsZUFBQSxFLGVBQUEsQyxJQUFBLENBQWpCLEMsR0FBQSxDLEdBbkJNLEMsV0F1QmQsQyxJQXZCYyxDLFlBd0JkLENBQVlULFNBeEJFLENBRk8sQ0FKekIsQ0FnQ01VLFNBQUEsQ0FBa0IsSSwyQkFDZEMsU0FBQSxDQUFnQmhDLFNBQUEsQyxlQUFBLEdBQXNCLEUsQ0FDeENnQyxTQUFBLEMsUUFBQSxJLEtBRUFBLFNBQUEsQyxlQUFBLEVBQW1CLEMsSUFDZixDLElBRGUsQyxNQUVmLEMsZUFGZSxDLFdBR2YsQyxJQUhlLEMsWUFJZixDQUFZM0MsTUFBQSxDLGVBQUEsRUFBYyxFQUFkLENBQWtCSCxTQUFsQixDQUpHLENBQW5CLEMsQ0FPSnVDLFNBQUEsQyxlQUFBLEUsZUFBQSxFQUNBLFVBQVdRLFNBQVgsSUFBMkJELFNBQTNCLEMsQ0FFSVAsU0FBQSxDLGVBQUEsRSxlQUFBLENBQXlDUSxTQUF6QyxDLEdBOUNSLENBaURBRixTQUFBLEUsR0E5VDhCLENBQTFDLEMsRUF2T0osRyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiAoKSB7XG4gICAgJ3VzZSBzdHJpY3QnO1xuXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uXHJcblxyXG4gICAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XHJcbiAgICBwdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuXHJcblxyXG4gICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMgV0lUSFxyXG4gICAgUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXHJcbiAgICBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsXHJcbiAgICBJTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST01cclxuICAgIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXHJcbiAgICBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SXHJcbiAgICBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLlxyXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuICAgIC8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlLCBTdXBwcmVzc2VkRXJyb3IsIFN5bWJvbCAqL1xyXG5cclxuXHJcbiAgICBmdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XHJcbiAgICAgICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XHJcbiAgICAgICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0eXBlb2YgU3VwcHJlc3NlZEVycm9yID09PSBcImZ1bmN0aW9uXCIgPyBTdXBwcmVzc2VkRXJyb3IgOiBmdW5jdGlvbiAoZXJyb3IsIHN1cHByZXNzZWQsIG1lc3NhZ2UpIHtcclxuICAgICAgICB2YXIgZSA9IG5ldyBFcnJvcihtZXNzYWdlKTtcclxuICAgICAgICByZXR1cm4gZS5uYW1lID0gXCJTdXBwcmVzc2VkRXJyb3JcIiwgZS5lcnJvciA9IGVycm9yLCBlLnN1cHByZXNzZWQgPSBzdXBwcmVzc2VkLCBlO1xyXG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIG1hbmFnZUFQSUNhbGwocHJlZml4LCBidG4sIGZ1bmMsIG9uUmVzdWx0KSB7XG4gICAgICAgIGNvbnN0IHN1Y2Nlc3NJY29uID0gJChgIyR7cHJlZml4fS1zdWNjZXNzYCk7XG4gICAgICAgIGNvbnN0IGZhaWx1cmVJY29uID0gJChgIyR7cHJlZml4fS1mYWlsdXJlYCk7XG4gICAgICAgIGNvbnN0IHBlbmRpbmdJY29uID0gJChgIyR7cHJlZml4fS1wZW5kaW5nYCk7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2VzID0gJChgIyR7cHJlZml4fS1tZXNzYWdlc2ApO1xuICAgICAgICBsZXQgYWN0aW9uUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdWNjZXNzSWNvbi5oaWRlKCk7XG4gICAgICAgIGZhaWx1cmVJY29uLmhpZGUoKTtcbiAgICAgICAgcGVuZGluZ0ljb24uaGlkZSgpO1xuICAgICAgICBidG4ub24oXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoYWN0aW9uUGVuZGluZylcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBhY3Rpb25QZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHBlbmRpbmdJY29uLnJlbW92ZUNsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgIHBlbmRpbmdJY29uLmh0bWwoXCJUZXN0aW5nIENvbm5lY3Rpb24gLi4uXCIpO1xuICAgICAgICAgICAgc3VjY2Vzc0ljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgZmFpbHVyZUljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgbWVzc2FnZXMuaHRtbChcIlwiKTtcbiAgICAgICAgICAgIGNvbnN0IHsgYm9keSwgdXJsIH0gPSBmdW5jKCk7XG4gICAgICAgICAgICAvLyB4eCBjb25zb2xlLmxvZyhcInh4eHh4XCIsIGJvZHkpO1xuICAgICAgICAgICAgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoYm9keSksXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC50aGVuKChkYXRhKSA9PiBkYXRhLmpzb24oKSlcbiAgICAgICAgICAgICAgICAudGhlbigoanNvbikgPT4ge1xuICAgICAgICAgICAgICAgIGFjdGlvblBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBwZW5kaW5nSWNvbi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoanNvbiwgbnVsbCwgXCIgXCIpKTtcbiAgICAgICAgICAgICAgICBpZiAoanNvbi5yZXN1bHQgPT09IFwib2tcIikge1xuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzSWNvbi5yZW1vdmVDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgIGZhaWx1cmVJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZXMuaHRtbChqc29uLm1lc3NhZ2UucmVwbGFjZShcIlxcblwiLCBcIjxicj5cIikpO1xuICAgICAgICAgICAgICAgICAgICBvblJlc3VsdChudWxsLCBqc29uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFkYXB0ID0gKHN0cikgPT4gIXN0clxuICAgICAgICAgICAgICAgICAgICAgICAgPyBcIlwiXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHN0clxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zcGxpdChcIlxcblwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoKGEpID0+IGA8cD4ke2F9PC9wPmApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmpvaW4oXCJcXG5cIik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFkYXB0MiA9IChzdHIpID0+IChBcnJheS5pc0FycmF5KHN0cikgPyBzdHIubWFwKGFkYXB0KS5qb2luKFwiXFxuXCIpIDogYWRhcHQoc3RyKSk7XG4gICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3NJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgZmFpbHVyZUljb24ucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlcy5odG1sKGFkYXB0Mihqc29uLm1lc3NhZ2UpICsgYWRhcHQyKGpzb24uZXh0cmEpKTtcbiAgICAgICAgICAgICAgICAgICAgb25SZXN1bHQobmV3IEVycm9yKGpzb24ucmVzdWx0KSwganNvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIGFjdGlvblBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBwZW5kaW5nSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgc3VjY2Vzc0ljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgIGZhaWx1cmVJY29uLnJlbW92ZUNsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICBtZXNzYWdlcy5odG1sKFwiaW50ZXJuYWwgZXJyb3IgXCIgKyBlcnIubWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJlcnJcIiwgZXJyKTtcbiAgICAgICAgICAgICAgICBvblJlc3VsdChlcnIsIG51bGwpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHByaWNpbmdUYWJsZUlkID0gXCJwcmN0YmxfMU9KdDQ5QkNOY2NienNWemthQU5PZ0ZMXCI7XG4gICAgY29uc3QgcHVibGlzaGFibGVLZXkgPSBcInBrX2xpdmVfNTFIc0Uxc0JDTmNjYnpzVnp0N3phcTJ1djIwcGtyeVdsbEF6dlpnWmQ1QWh3Rkk5QTNxQkllT0p2SndRRjA4bERvTHBGcUxqd215QTc5d25QbllMc3ZLanQwMDlmMDBWcENXXCI7XG4gICAgZnVuY3Rpb24gZmV0Y2hMaWNlbmNlSW5mbyhiYXNlVXJsID0gXCJcIikge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgY29uc3Qgcm9vdCA9IGAke2Jhc2VVcmx9L29wY3VhLWVuZHBvaW50MmA7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSBgJHtyb290fS9saWNlbmNlSW5mb2A7XG4gICAgICAgICAgICBjb25zdCBkYXRhID0geWllbGQgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpO1xuICAgICAgICAgICAgaWYgKGRhdGEuc3RhdHVzICE9PSAyMDApIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImZldGNoaW5nIGZhaWxlZCB3aXRoIGVycm9yXCIsIGRhdGEuc3RhdHVzLCBkYXRhLnN0YXR1c1RleHQpO1xuICAgICAgICAgICAgICAgIHJldHVybiB7IHN0YXR1czogXCJGQUlMRURcIiwgdHlwZTogXCJGUkVFV0FSRVwiLCBsaWNlbmNlSW5mbzogeyBleHBpcnlEYXRlOiB0b2RheSB9IH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBqc29uID0geWllbGQgZGF0YS5qc29uKCk7XG4gICAgICAgICAgICByZXR1cm4ganNvbjtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IGRlY2xhcmVMaWNlbmNlV2lkZ2V0ID0gKCkgPT4ge1xuICAgICAgICAkLndpZGdldChcInN0ZXJmaXZlLmxpY2VuY2VXaWRnZXRcIiwge1xuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgIGJhc2VVcmw6IFwiXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX2NyZWF0ZSgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICBjb25zdCBjb250YWN0TGluayA9IGA8YSBocmVmPVwibWFpbHRvOnN1cHBvcnRAc3RlcmZpdmUuY29tXCIgc3ViamVjdD1cIkBvcGN1YS9mb3Itbm9kZS1yZWQgc3VwcG9ydCByZXF1ZXN0XCI+bWFpbHRvOnN1cHBvcnRAc3RlcmZpdmUuY29tPC9hPmA7XG4gICAgICAgICAgICAgICAgY29uc3Qgd2Vic2l0ZUxpbmsgPSBgPGEgaHJlZj1cImh0dHBzOi8vd3d3LnN0ZXJmaXZlLmNvbS9vcGN1YS9mb3Itbm9kZS1yZWRcIiB0YXJnZXQ94oCdX2JsYW5r4oCdPlN0ZXJmaXZlJ3Mgd2Vic2l0ZSA8L2E+YDtcbiAgICAgICAgICAgICAgICBmZXRjaExpY2VuY2VJbmZvKHRoYXQuYmFzZVVybClcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKGpzb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGljb24gPSBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBsZXQgbXNnID0gXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGRldGFpbHMgPSBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGF0dXMgPSBqc29uLnN0YXR1cztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF5TGVmdCA9IGpzb24uZGF5c0xlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoc3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiQVVUSE9SSVpFRFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb24gPSBcImZhIGZhLWNoZWNrLWNpcmNsZVwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoanNvbi50eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJUUklBTFwiOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBcIlRyaWFsIGxpY2VuY2VcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbHMgPSBgVGhlIFRyaWFsIHdpbGwgZXhwaXJlIGluICR7ZGF5TGVmdH0gZGF5cy5cXG5CdXkgb25saW5lIGFuZCB2aXNpdCAke3dlYnNpdGVMaW5rfSB0byBhY3F1aXJlIGEgbGljZW5zZS5gO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIlBST0ZFU1NJT05BTFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gYFlvdXIgbGljZW5jZSBpcyB2YWxpZC5gO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRheUxlZnQgPCA5MCAmJiBkYXlMZWZ0ID49IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgKz0gYCBJdCB3aWxsIGV4cGlyZSBpbiAke2RheUxlZnR9IGRheXMuYDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGRldGFpbHMgPSBgJHt3ZWJzaXRlTGlua308YnI+JHtjb250YWN0TGlua31gO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscyA9IGpzb24ubGljZW5jZUluZm8ubGljZW5jZVR5cGUgKyBcIiAtIFwiICsgKGpzb24ubGljZW5jZUluZm8ub25QcmVtaXNlU2VydmVySG9zdCB8fCBcIlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiRlJFRVdBUkVcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9IFwiRnJlZXdhcmUgbGljZW5jZVwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscyA9IGBUaGlzIGlzIGEgZnJlZXdhcmUgbGljZW5jZSwgYW5kIGhhdmUgc29tZSBsaW1pdGF0aW9ucy5cXG4ke3dlYnNpdGVMaW5rfSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5gO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkVYUElSRURcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uID0gXCJmYSBmYS1jYWxlbmRhci10aW1lXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gXCJMaWNlbmNlIGhhcyBleHBpcmVkXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscyA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiWW91ciBsaWNlbnNlIGhhcyBleHBpcmVkLiBQbGVhc2UgY29udGFjdCBvdXIgc3VwcG9ydCB0ZWFtIG9yIHZpc2l0IG91ciB3ZWJzaXRlIHRvIHJlbmV3IHlvdXIgbGljZW5zZSBhbmQgcmVnYWluIGFjY2VzcyB0byBvdXIgc2VydmljZXMuXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiRkFJTEVEXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb24gPSBcImZhIGZhLWV4Y2xhbWF0aW9uLWNpcmNsZVwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9IFwiWW91ciBsaWNlbnNlIGlzIGN1cnJlbnRseSBpbnZhbGlkLlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbHMgPSBgUGxlYXNlIGNvbnRhY3QgJHtjb250YWN0TGlua30gb3IgdmlzaXQgb3VyIHdlYnNpdGUgdG8gcmVuZXcgeW91ciBsaWNlbnNlIGFuZCByZWdhaW4gYWNjZXNzIHRvIG91ciBzZXJ2aWNlcy7MgGA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLyoqICovXG4gICAgICAgICAgICAgICAgICAgIC8vIHRoaXMuZWxlbWVudC50ZXh0KFwiTGljZW5jZSBcIiArIEpTT04uc3RyaW5naWZ5KGpzb24pKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFkZENsYXNzKFwibGljZW5jZS13aWRnZXRcIik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0LVwiICsgc3RhdHVzKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZCgkKFwiPHNwYW4+XCIpLmFkZENsYXNzKFwibGljZW5jZS13aWRnZXQtaWNvblwiKS5hcHBlbmQoJChcIjxpPlwiKS5hZGRDbGFzcyhpY29uKSkpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKCQoXCI8c3Bhbj5cIikuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldC1tc2dcIikudGV4dChtc2cpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZCgkKFwiPGJyPlwiKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoJChcIjxzcGFuPlwiKS5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0LWRldGFpbHNcIikuYXBwZW5kKGRldGFpbHMpKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXR1cyA9PT0gXCJFWFBJUkVEXCIgfHwgc3RhdHVzID09PSBcIkZBSUxFRFwiIHx8IGpzb24udHlwZSA9PT0gXCJGUkVFV0FSRVwiIHx8IGpzb24udHlwZSA9PT0gXCJUUklBTFwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdWJzY3JpYmVCdXR0b24gPSAkKFwiPGJ1dHRvbi8+XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlQnV0dG9uLmF0dHIoXCJpZFwiLCBcInN1YnNjcmliZS1idXR0b25cIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVCdXR0b24uYXR0cihcImNsYXNzXCIsIFwiYnRuIGJ0bi1wcmltYXJ5XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlQnV0dG9uLmF0dHIoXCJzdHlsZVwiLCBcIm1hcmdpbi10b3A6IDIwcHg7XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlQnV0dG9uLnRleHQoXCJTdWJzY3JpYmVcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKHN1YnNjcmliZUJ1dHRvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic2NyaXB0XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2V0IGF0dHJpYnV0ZXMgZm9yIHRoZSBzY3JpcHQgZWxlbWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgc2NyaXB0LnNyYyA9IFwiaHR0cHM6Ly9qcy5zdHJpcGUuY29tL3YzL3ByaWNpbmctdGFibGUuanNcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjcmlwdC5hc3luYyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBBcHBlbmQgdGhlIHNjcmlwdCBlbGVtZW50IHRvIHRoZSBoZWFkIChvciBib2R5KSBvZiB0aGUgZG9jdW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICQoXCJoZWFkXCIpLmFwcGVuZChzY3JpcHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RyaXBlUHJpY2luZ1RhYmxlID0gJChcIjxzdHJpcGUtcHJpY2luZy10YWJsZS8+XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2V0IGF0dHJpYnV0ZXMgZm9yIHRoZSBlbGVtZW50XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJpcGVQcmljaW5nVGFibGUuYXR0cihcInByaWNpbmctdGFibGUtaWRcIiwgcHJpY2luZ1RhYmxlSWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RyaXBlUHJpY2luZ1RhYmxlLmF0dHIoXCJwdWJsaXNoYWJsZS1rZXlcIiwgcHVibGlzaGFibGVLZXkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RyaXBlUHJpY2luZ1RhYmxlLmF0dHIoXCJzdHlsZVwiLCBcImhlaWdodDogMTAwJTttYXgtaGVpZ2h0OiAxMDAlO1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlwZVByaWNpbmdUYWJsZS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKHN0cmlwZVByaWNpbmdUYWJsZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVCdXR0b24ub24oXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaXBlUHJpY2luZ1RhYmxlLnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVCdXR0b24uaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hdHRyKFwic3R5bGVcIiwgXCJoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgZGVjbGFyZUxpY2VuY2VXaWRnZXQoKTtcbiAgICBmdW5jdGlvbiBpc1ZhbGlkT1BDX1VBX1VSSShzdHIpIHtcbiAgICAgICAgbGV0IHVybDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHVybCA9IG5ldyBVUkwoc3RyKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoXykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1cmwucHJvdG9jb2wgPT09IFwib3BjLnRjcDpcIjtcbiAgICB9XG4gICAgY29uc3QgZGVmYXVsdFN1YnNjcmlwdGlvblBhcmFtZXRlcnMgPSB7XG4gICAgICAgIHB1Ymxpc2hpbmdFbmFibGVkOiB0cnVlLFxuICAgICAgICByZXF1ZXN0ZWRMaWZldGltZUNvdW50OiAxMDAwLFxuICAgICAgICByZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudDogMTAsIC8vIGV2ZXJ5IDEwIHNlY29uZHNcbiAgICAgICAgcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsOiAxMDAwLFxuICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogMCxcbiAgICAgICAgcHJpb3JpdHk6IDEwMCxcbiAgICB9O1xuICAgIFJFRC5ub2Rlcy5yZWdpc3RlclR5cGUoXCJPcGNVYS1FbmRwb2ludDJcIiwge1xuICAgICAgICBjYXRlZ29yeTogXCJjb25maWdcIixcbiAgICAgICAgcGFsZXR0ZUxhYmVsOiBcIm9wY3VhIGVuZHBvaW50XCIsXG4gICAgICAgIGRlZmF1bHRzOiB7XG4gICAgICAgICAgICBuYW1lOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICBlbmRwb2ludDoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBcIm9wYy50Y3A6Ly9vcGN1YWRlbW8uc3RlcmZpdmUuY29tOjI2NTQzL1VBL1NhbXBsZVNlcnZlclwiLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIHZhbGlkYXRlOiBpc1ZhbGlkT1BDX1VBX1VSSSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAvLyBTZWN1cml0eSBNb2RlXG4gICAgICAgICAgICBzZWN1cml0eU1vZGU6IHsgdmFsdWU6IFwiTm9uZVwiIH0sXG4gICAgICAgICAgICBzZWN1cml0eVBvbGljeToge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBcIk5vbmVcIixcbiAgICAgICAgICAgICAgICB2YWxpZGF0ZTogKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdXNlcklkZW50aXR5VHlwZTogeyB2YWx1ZTogXCJBbm9ueW1vdXNcIiB9LFxuICAgICAgICAgICAgLy8gdG8gdXNlIHdoZW4gdXNlcklkZW50aXR5VHlwZSBpcyBVc2VyTmFtZVxuICAgICAgICAgICAgLy8gY3JlZGVudGlhbHM6IHtcbiAgICAgICAgICAgIC8vICAgICB1c2VyTmFtZTogeyB2YWx1ZTogXCJcIiwgdHlwZTogXCJ0ZXh0XCIgfSxcbiAgICAgICAgICAgIC8vICAgICBwYXNzd29yZDogeyB2YWx1ZTogXCJcIiwgdHlwZTogXCJwYXNzd29yZFwiIH0sXG4gICAgICAgICAgICAvLyAgICAgLy8gdG8gdXNlIHdoZW4gdXNlcklkZW50aXR5VHlwZSBpcyBDZXJ0aWZpY2F0ZVxuICAgICAgICAgICAgLy8gICAgIHVzZXJDZXJ0aWZpY2F0ZTogeyB2YWx1ZTogXCJcIiwgdHlwZTogXCJ0ZXh0XCIgfSxcbiAgICAgICAgICAgIC8vICAgICB1c2VyUHJpdmF0ZWtleTogeyB2YWx1ZTogXCJcIiAsIHR5cGU6IFwicGFzc3dvcmRcIn0sXG4gICAgICAgICAgICAvLyB9IGFzIGFueSAvKiBjaXJjdW12ZW50IGEgYnVnIGluIG5vZGUtcmVkICovLFxuICAgICAgICAgICAgLy8gdXNlcm5hbWVcbiAgICAgICAgICAgIHVzZVRyYW5zcG9ydDogeyB2YWx1ZTogZmFsc2UsIHJlcXVpcmVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgbWF4Q2h1bmtDb3VudDogeyB2YWx1ZTogMSwgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICBtYXhNZXNzYWdlU2l6ZTogeyB2YWx1ZTogODE5MiwgcmVxdWlyZWQ6IGZhbHNlIH0sIC8vIHNob3VsZCBiZSBhdCBsZWFzdCA4MTkyXG4gICAgICAgICAgICByZWNlaXZlQnVmZmVyU2l6ZTogeyB2YWx1ZTogODE5MiwgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICBzZW5kQnVmZmVyU2l6ZTogeyB2YWx1ZTogODE5MiwgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICBzdWJzY3JpcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwiczFcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiRGVmYXVsdCBTdWJzY3JpcHRpb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRGVmYXVsdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRTdWJzY3JpcHRpb25QYXJhbWV0ZXJzKSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwiczJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiU2xvdyBTdWJzY3JpcHRpb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRGVmYXVsdDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGlzaGluZ0VuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTGlmZXRpbWVDb3VudDogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50OiAyMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWw6IDUwMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2g6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogMTAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJzM1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJGYXN0IFN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaXNoaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRMaWZldGltZUNvdW50OiA0MDAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50OiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsOiAyNTAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2g6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogMjAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGNyZWRlbnRpYWxzOiB7XG4gICAgICAgICAgICB1c2VyTmFtZTogeyB0eXBlOiBcInRleHRcIiB9LFxuICAgICAgICAgICAgcGFzc3dvcmQ6IHsgdHlwZTogXCJwYXNzd29yZFwiIH0sXG4gICAgICAgICAgICB1c2VyQ2VydGlmaWNhdGU6IHsgdHlwZTogXCJ0ZXh0XCIgfSxcbiAgICAgICAgICAgIHVzZXJQcml2YXRla2V5OiB7IHR5cGU6IFwicGFzc3dvcmRcIiB9LFxuICAgICAgICB9LFxuICAgICAgICBsYWJlbDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmFtZSB8fCB0aGlzLmVuZHBvaW50IHx8IFwiaW52YWxpZCBlbmRwb2ludFwiO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRzYXZlKCkge1xuICAgICAgICAgICAgY29uc3QgX3NlY3VyaXR5UG9saWN5ID0gJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eVBvbGljeVwiKTtcbiAgICAgICAgICAgIGNvbnN0IF9zZWN1cml0eU1vZGUgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXNlY3VyaXR5TW9kZVwiKTtcbiAgICAgICAgICAgIGlmIChfc2VjdXJpdHlQb2xpY3kudmFsKCkgPT09IFwiTm9uZVwiKSB7XG4gICAgICAgICAgICAgICAgX3NlY3VyaXR5TW9kZS50ZXh0KFwiTm9uZVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vICgoKCgoKCgoKCggcmV0cmlldmUgc3Vic2NyaXB0aW9uIGRhdGEgKSkpKSkpKSkpKVxuICAgICAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uc0l0ZW1zID0gJChcIiNzdWJzY3JpcHRpb25zLWNvbnRhaW5lclwiKS5lZGl0YWJsZUxpc3QoXCJpdGVtc1wiKTtcbiAgICAgICAgICAgIGNvbnN0IHMgPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IG4gPSAoeCkgPT4geDtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbnNJdGVtcy5lYWNoKGZ1bmN0aW9uIChpbmRleCwgaXRlbSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGUgPSAkKHRoaXMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGEgPSB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBcInNcIiArIGluZGV4LFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBlLmZpbmQoXCIuaW5wdXQtbmFtZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiAhIWUuZmluZChcIi5pbnB1dC1pc0RlZmF1bHRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxpc2hpbmdFbmFibGVkOiAhIWUuZmluZChcIi5pbnB1dC1wdWJsaXNoaW5nRW5hYmxlZFwiKS5pcyhcIjpjaGVja2VkXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTGlmZXRpbWVDb3VudDogbihlLmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTGlmZXRpbWVDb3VudFwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudDogbihlLmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnRcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsOiBuKGUuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWxcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2g6IG4oZS5maW5kKFwiLmlucHV0LW1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoXCIpLnZhbCgpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiBuKGUuZmluZChcIi5pbnB1dC1wcmlvcml0eVwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAvLyBmb3JjZSB0byBiZSB0cnVlXG4gICAgICAgICAgICAgICAgYS5wYXJhbWV0ZXJzLnB1Ymxpc2hpbmdFbmFibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBpZiAoYS5pc0RlZmF1bHQgJiYgYS5pZCA9PT0gXCJzMFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIG5vcm1hbGl6ZSBkZWZhdWx0IHN1YnNjcmlwdGlvbiBuYW1lXG4gICAgICAgICAgICAgICAgICAgIGEubmFtZSA9IFwiRGVmYXVsdCBTdWJzY3JpcHRpb25cIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcy5wdXNoKGEpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBzO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRwcmVwYXJlKCkge1xuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXM7XG4gICAgICAgICAgICBjb25zdCB0YWJzID0gUkVELnRhYnMuY3JlYXRlKHtcbiAgICAgICAgICAgICAgICBpZDogXCJub2RlLWNvbmZpZy1lbmRwb2ludC10YWJzXCIsXG4gICAgICAgICAgICAgICAgb25jaGFuZ2U6IGZ1bmN0aW9uICh0YWIpIHtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1lbmRwb2ludC10YWJzLWNvbnRlbnRcIikuY2hpbGRyZW4oKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjXCIgKyB0YWIuaWQpLnNob3coKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0YWJzLmFkZFRhYih7XG4gICAgICAgICAgICAgICAgaWQ6IFwiZW5kcG9pbnQtdGFiLWNvbm5lY3Rpb25cIixcbiAgICAgICAgICAgICAgICBsYWJlbDogXCJDb25uZWN0aW9uXCIsXG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgIHRhYnMuYWRkVGFiKHtcbiAgICAgICAgICAgICAgICBpZDogXCJlbmRwb2ludC10YWItc3Vic2NyaXB0aW9uc1wiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBcIlN1YnNjcmlwdGlvbnNcIixcbiAgICAgICAgICAgIH0sIDEpO1xuICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgdGFicy5yZXNpemUoKTtcbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGhhbmRsZSBTZWN1cml0eSBjb250cm9sc1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVTZWN1cml0eUNvbnRyb2wgPSAoc2VjdXJpdHlNb2RlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoc2VjdXJpdHlNb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIG51bGw6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIHVuZGVmaW5lZDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJOb25lXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIi5zZWN0aW9uLXNlY3VyaXR5UG9saWN5XCIpLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJTaWduXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiU2lnbkFuZEVuY3J5cHRcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNwID0gJChcIi5zZWN0aW9uLXNlY3VyaXR5UG9saWN5XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3AudmFsKCkgPT09IFwiTm9uZVwiIHx8IHNwLnZhbCgpID09PSBcIlwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcC52YWwoXCJCYXNpYzI1NlNoYTI1NlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiLnNlY3Rpb24tc2VjdXJpdHlQb2xpY3lcIikuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJpbnZhbGlkIHNlY3VyaXR5TW9kZSBcIiArIHNlY3VyaXR5TW9kZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHVwZGF0ZVNlY3VyaXR5Q29udHJvbChub2RlLnNlY3VyaXR5TW9kZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgX3NlY3VyaXR5TW9kZSA9ICQoXCIjbm9kZS1jb25maWctaW5wdXQtc2VjdXJpdHlNb2RlXCIpO1xuICAgICAgICAgICAgICAgIF9zZWN1cml0eU1vZGUub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdTZWN1cml0eU1vZGUgPSBfc2VjdXJpdHlNb2RlLnZhbCgpO1xuICAgICAgICAgICAgICAgICAgICB1cGRhdGVTZWN1cml0eUNvbnRyb2wobmV3U2VjdXJpdHlNb2RlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGxpY2VuY2VXaWRnZXQgPSAkKFwiI2xpY2VuY2VXaWRnZXRcIik7XG4gICAgICAgICAgICBsaWNlbmNlV2lkZ2V0LmxpY2VuY2VXaWRnZXQoe1xuICAgICAgICAgICAgICAgIGJhc2VVcmw6IFwiXCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyBoYW5kbGUgdGhlIFVzZXIgSWRlbnRpdHkgQ29udHJvbHNcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29uc3QgYXV0aFJvdyA9ICQoXCIuc2VjdGlvbi11c2VySWRlbnRpdHlUeXBlLVVzZXJOYW1lXCIpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNlcnRSb3cgPSAkKFwiLnNlY3Rpb24tdXNlcklkZW50aXR5VHlwZS1DZXJ0aWZpY2F0ZVwiKTtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVJZGVudGl0eUNvbnRyb2xzID0gKHVzZXJJZGVudGl0eVR5cGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdXNlcklkZW50aXR5VHlwZSA9IHVzZXJJZGVudGl0eVR5cGUgfHwgXCJBbm9ueW1vdXNcIjtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh1c2VySWRlbnRpdHlUeXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiQW5vbnltb3VzXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyTmFtZVwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC1wYXNzd29yZFwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aFJvdy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydFJvdy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiVXNlck5hbWVcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRoUm93LnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0Um93LmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJDZXJ0aWZpY2F0ZVwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlck5hbWVcIikudmFsKFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1jb25maWctaW5wdXQtcGFzc3dvcmRcIikudmFsKFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRSb3cuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhSb3cuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImludmFsaWQgdXNlcklkZW50aXR5VHlwZSBcIiArIHVzZXJJZGVudGl0eVR5cGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB1cGRhdGVJZGVudGl0eUNvbnRyb2xzKG5vZGUudXNlcklkZW50aXR5VHlwZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgX3VzZXJJZGVudGl0eVR5cGUgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJJZGVudGl0eVR5cGVcIik7XG4gICAgICAgICAgICAgICAgX3VzZXJJZGVudGl0eVR5cGUub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdJZGVudGl0eVR5cGUgPSBfdXNlcklkZW50aXR5VHlwZS52YWwoKTtcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlSWRlbnRpdHlDb250cm9scyhuZXdJZGVudGl0eVR5cGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGhhbmRsZSBhZHZhbmNlZCBjb250cm9sc1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tQWR2YW5jZWRcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICQoXCIjdG9nZ2xlQWR2YW5jZWRTZWN0aW9uXCIpLm9uKFwiY2hhbmdlXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykucHJvcChcImNoZWNrZWRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBjaGVja2JveCBpcyBjaGVja2VkLCBzaG93IHRoZSBkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1BZHZhbmNlZFwiKS5zaG93KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBPdGhlcndpc2UsIGhpZGUgaXRcbiAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1BZHZhbmNlZFwiKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyBjaGVja0NlcnRpZmljYXRlXG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICQoXCIjY2hlY2tDZXJ0aWZpY2F0ZVwiKS5vbihcImNsaWNrXCIsICgpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IHlpZWxkIGZldGNoKFwiL29wY3VhLWVuZHBvaW50Mi9jbGllbnRfY2VydGlmaWNhdGUuanNvblwiKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5mbyA9IHlpZWxkIGRhdGEuanNvbigpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0ID0gSlNPTi5zdHJpbmdpZnkoaW5mbywgbnVsbCwgXCIgXCIpO1xuICAgICAgICAgICAgICAgICAgICBhbGVydCh0KTtcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgLy8gaGFuZGxlIHRoZSBUZXN0IGJ1dHRvblxuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBtYW5hZ2VBUElDYWxsKFwiY29ubmVjdGlvblwiLCAkKFwiI3Rlc3QtY29ubmVjdGlvblwiKSwgKCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgdXJsOiBcIi9vcGN1YS1lbmRwb2ludDIvdGVzdC1jb25uZWN0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgIGJvZHk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVuZHBvaW50Tm9kZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBub2RlLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZHBvaW50OiAkKFwiI25vZGUtY29uZmlnLWlucHV0LWVuZHBvaW50XCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3VyaXR5TW9kZTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eU1vZGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjdXJpdHlQb2xpY3k6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtc2VjdXJpdHlQb2xpY3lcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcklkZW50aXR5VHlwZTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VySWRlbnRpdHlUeXBlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJOYW1lOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJOYW1lXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3N3b3JkOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXBhc3N3b3JkXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJDZXJ0aWZpY2F0ZTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyQ2VydGlmaWNhdGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlclByaXZhdGVrZXk6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlclByaXZhdGVrZXlcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vIG5vdCB0ZXN0ZWQgeWV0IC4uLjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0aWZpY2F0ZTogJChcIiNub2RlLWlucHV0LWNlcnRpZmljYXRlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVRyYW5zcG9ydDogJChcIiNub2RlLWlucHV0LXVzZVRyYW5zcG9ydFwiKS5wcm9wKFwiY2hlY2tlZFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhDaHVua0NvdW50OiAkKFwiI25vZGUtaW5wdXQtbWF4Q2h1bmtDb3VudFwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhNZXNzYWdlU2l6ZTogJChcIiNub2RlLWlucHV0LW1heE1lc3NhZ2VTaXplXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY2VpdmVCdWZmZXJTaXplOiAkKFwiI25vZGUtaW5wdXQtcmVjZWl2ZUJ1ZmZlclNpemVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VuZEJ1ZmZlclNpemU6ICQoXCIjbm9kZS1pbnB1dC1zZW5kQnVmZmVyU2l6ZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSksICgpID0+IHsgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgLy8gIEluc3RhbGwgc3Vic2NyaXB0aW9ucyBMaXN0IG1hbmFnZW1lbnRcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzaXplVG9waWNzID0gKHRvcGljLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB2YXIgbmV3V2lkdGggPSB0b3BpYy53aWR0aCgpIHx8IDEwMDtcbiAgICAgICAgICAgICAgICAgICAgdG9waWMuZmluZChcImxhYmVsXCIpLnR5cGVkSW5wdXQoXCJ3aWR0aFwiLCBuZXdXaWR0aCAtIDE1KTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbkxpc3QgPSAkKFwiI3N1YnNjcmlwdGlvbnMtY29udGFpbmVyXCIpXG4gICAgICAgICAgICAgICAgICAgIC5jc3MoeyBcIm1pbi1oZWlnaHRcIjogXCIxNTBweFwiLCBcIm1pbi13aWR0aFwiOiBcIjI2MHB4XCIgfSlcbiAgICAgICAgICAgICAgICAgICAgLmVkaXRhYmxlTGlzdCh7XG4gICAgICAgICAgICAgICAgICAgIGFkZEl0ZW06IChjb250YWluZXIsIGluZGV4LCBkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBfZGF0YSA9IGRhdGE7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gJChcIi50ZW1wbGF0ZVwiKS5jbG9uZSgpLmFwcGVuZFRvKGNvbnRhaW5lcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnJlbW92ZUF0dHIoXCJpZFwiKS5yZW1vdmVDbGFzcyhcImhpZGVcIikucmVtb3ZlQ2xhc3MoXCJ0ZW1wbGF0ZVwiKS5hdHRyKFwiZGF0YS1pXCIsIGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1uYW1lXCIpLnZhbChfZGF0YS5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWxcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMucmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudFwiKS52YWwoX2RhdGEucGFyYW1ldGVycy5yZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTGlmZXRpbWVDb3VudFwiKS52YWwoX2RhdGEucGFyYW1ldGVycy5yZXF1ZXN0ZWRMaWZldGltZUNvdW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1tYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaFwiKS52YWwoX2RhdGEucGFyYW1ldGVycy5tYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCB8fCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1wcmlvcml0eVwiKS52YWwoX2RhdGEucGFyYW1ldGVycy5wcmlvcml0eSB8fCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5zdWJzY3JpcHRpb24taWRcIikudGV4dChcIlwiICsgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKF9kYXRhLmlzRGVmYXVsdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1uYW1lXCIpLnByb3AoXCJyZWFkb25seVwiLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1pc0RlZmF1bHRcIikucHJvcChcImNoZWNrZWRcIiwgX2RhdGEuaXNEZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1ha2Ugc3VyZSB0aGF0IGRlZmF1bHQgc3Vic2NyaXB0aW9uIGNhbm5vdCBiZSBhY2NpZGVudGFsbHkgcmVtb3ZlZFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKF9kYXRhLmlzRGVmYXVsdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci5maW5kKFwiLnJlZC11aS1lZGl0YWJsZUxpc3QtaXRlbS1yZW1vdmVcIikuYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gZWxlbWVudC5maW5kKFwiLmlucHV0LWlzRGVmYXVsdFwiKS5wcm9wKFwiZGlzYWJsZWRcIiwgdHJ1ZSksIDEwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgLy8gc29ydGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHJlbW92YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgcmVzaXplSXRlbTogcmVzaXplVG9waWNzLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNvbnN0IEFkZFN1YnNjcmlwdGlvbiA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9ucyA9IG5vZGUuc3Vic2NyaXB0aW9ucyB8fCBbXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN1YnNjcmlwdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBhZGQgbWlzc2luZyBkZWZhdWx0IHN1YnNjcmlwdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJzMVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiRGVmYXVsdCBTdWJzY3JpcHRpb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczogT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdFN1YnNjcmlwdGlvblBhcmFtZXRlcnMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uTGlzdC5lZGl0YWJsZUxpc3QoXCJlbXB0eVwiKTtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2Ygc3Vic2NyaXB0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3Vic2NyaXB0aW9uLmlzRGVmYXVsdCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uTGlzdC5lZGl0YWJsZUxpc3QoXCJhZGRJdGVtXCIsIHN1YnNjcmlwdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIEFkZFN1YnNjcmlwdGlvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgIH0pO1xuXG59KSgpOyJdfQ==
|
9
9
|
</script>
|
10
10
|
<script type="text/x-red" data-template-name="OpcUa-Endpoint2">
|
11
11
|
<div id="licenceWidget"></div>
|