@opcua/for-node-red 2.1.2 → 2.1.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.
@@ -4,8 +4,8 @@
4
4
  </style>
5
5
 
6
6
  <script type="text/javascript">
7
- function _0x4feb(){const _0x3f7030=['opc.tcp://opcuademo.sterfive.com:26543/UA/SampleServer','push','<p>','fa\x20fa-exclamation-circle','maxNotificationsPerPublish','endpoint-tab-subscriptions','append','fa\x20fa-check-circle','create','template','#node-input-maxMessageSize','editableList','endpoint-tab-connection','15eQfNSg','/opcua-endpoint2','SignAndEncrypt','json','resize','SuppressedError','15281rnXxJO','.input-name','addTab','-success','addItem','parameters','licence-widget-icon','done','Your\x20license\x20is\x20currently\x20invalid.','-failure','EXPIRED','priority','5316084UlFqvR','fetching\x20failed\x20with\x20error','Basic256Sha256','licenceWidget','isDefault','3590aEuceK','change','3918wVhKdE','join','requestedPublishingInterval','throw','.red-ui-editableList-item-remove','invalid\x20endpoint','tabs','node-config-endpoint-tabs','licence-widget','find','nodes','licence-widget-msg','licence-widget-','log','#node-config-input-securityMode','then','.input-requestedMaxKeepAliveCount','appendTo','#node-config-endpoint-tabs-content','result','name','Connection','.input-requestedPublishingInterval','text','Anonymous','clone','Default\x20Subscription','typedInput','removeClass','publishingEnabled','2130264PKFiOF','.subscription-id','endpoint','#node-config-input-userPrivatekey','POST','apply','150px','#node-input-certificate','.input-maxNotificationsPerPublish','#subscriptions-container','#section-Advanced','.section-userIdentityType-UserName','children','8WcRhfz','protocol','12334185Lpwirw','userIdentityType','#node-config-input-password','show','message','/opcua-endpoint2/test-connection','Licence\x20expired','472817NrbPkH','#node-input-maxChunkCount','connection','Fast\x20Subscription','sterfive.licenceWidget','Certificate','Subscriptions','replace','#node-input-receiveBufferSize','Slow\x20Subscription','.input-isDefault','<i>','catch','#node-config-input-userName','status','addClass','requestedMaxKeepAliveCount','.input-publishingEnabled','split','<br>','application/json','attr','#node-config-input-userIdentityType','value','config','.section-securityPolicy','securityMode','260px','#licenceWidget',':checked','prop','-pending','widget','val','opcua\x20endpoint','.input-requestedLifetimeCount','html','checked','2365400WJfqjn','data-i','#node-input-sendBufferSize','removeAttr','baseUrl','None','width','map','element','items','hide','subscriptions','#node-config-input-securityPolicy','err','next','suppressed','password','disabled','Testing\x20Connection\x20...','/licenceInfo','<span>','.template','label','#node-input-useTransport','96096vJbeJC'];_0x4feb=function(){return _0x3f7030;};return _0x4feb();}function _0x5640(_0x128a5d,_0x4dd866){const _0x4feb21=_0x4feb();return _0x5640=function(_0x564096,_0xa35521){_0x564096=_0x564096-0x9a;let _0x4d3329=_0x4feb21[_0x564096];return _0x4d3329;},_0x5640(_0x128a5d,_0x4dd866);}(function(_0x9b914a,_0x47e580){const _0x31f9cd=_0x5640,_0x5c67e6=_0x9b914a();while(!![]){try{const _0x272fcd=-parseInt(_0x31f9cd(0x11d))/0x1+parseInt(_0x31f9cd(0xaa))/0x2+parseInt(_0x31f9cd(0xe2))/0x3+-parseInt(_0x31f9cd(0x107))/0x4*(-parseInt(_0x31f9cd(0xd0))/0x5)+parseInt(_0x31f9cd(0xe9))/0x6*(parseInt(_0x31f9cd(0xd6))/0x7)+parseInt(_0x31f9cd(0x114))/0x8*(-parseInt(_0x31f9cd(0x116))/0x9)+parseInt(_0x31f9cd(0xe7))/0xa*(-parseInt(_0x31f9cd(0xc2))/0xb);if(_0x272fcd===_0x47e580)break;else _0x5c67e6['push'](_0x5c67e6['shift']());}catch(_0x5e2350){_0x5c67e6['push'](_0x5c67e6['shift']());}}}(_0x4feb,0xf3c13),(function(){'use strict';const _0x275601=_0x5640;function _0x221f60(_0x26506e,_0x4eff42,_0x31f09e,_0x279316){const _0x4e8a0e=_0x5640,_0x190d98=$('#'+_0x26506e+_0x4e8a0e(0xd9)),_0x48672d=$('#'+_0x26506e+_0x4e8a0e(0xdf)),_0x4c006c=$('#'+_0x26506e+_0x4e8a0e(0xa3)),_0x366b72=$('#'+_0x26506e+'-messages');let _0x1f8c72=![];_0x190d98['hide'](),_0x48672d[_0x4e8a0e(0xb4)](),_0x4c006c[_0x4e8a0e(0xb4)](),_0x4eff42['on']('click',()=>{const _0x1f9f25=_0x4e8a0e;if(_0x1f8c72)return;_0x1f8c72=!![],_0x4c006c[_0x1f9f25(0x105)](_0x1f9f25(0xb4)),_0x4c006c[_0x1f9f25(0xa8)](_0x1f9f25(0xbc)),_0x190d98[_0x1f9f25(0x12c)](_0x1f9f25(0xb4)),_0x48672d[_0x1f9f25(0x12c)](_0x1f9f25(0xb4)),_0x366b72[_0x1f9f25(0xa8)]('');const {body:_0x3be216,url:_0x74510e}=_0x31f09e();fetch(_0x74510e,{'method':_0x1f9f25(0x10b),'headers':{'Content-Type':_0x1f9f25(0x131)},'body':JSON['stringify'](_0x3be216)})['then'](_0x3d9c72=>_0x3d9c72['json']())[_0x1f9f25(0xf8)](_0x1801fa=>{const _0x5b17b3=_0x1f9f25;_0x1f8c72=![],_0x4c006c[_0x5b17b3(0xb4)](),console[_0x5b17b3(0xf6)](JSON['stringify'](_0x1801fa,null,'\x20'));if(_0x1801fa[_0x5b17b3(0xfc)]==='ok')_0x190d98[_0x5b17b3(0x105)](_0x5b17b3(0xb4)),_0x48672d[_0x5b17b3(0x12c)](_0x5b17b3(0xb4)),_0x366b72[_0x5b17b3(0xa8)](_0x1801fa['message'][_0x5b17b3(0x124)]('\x0a',_0x5b17b3(0x130))),_0x279316(null,_0x1801fa);else{const _0x3efb12=_0x2b9e6b=>!_0x2b9e6b?'':_0x2b9e6b[_0x5b17b3(0x12f)]('\x0a')[_0x5b17b3(0xb1)](_0x90201=>_0x5b17b3(0xc5)+_0x90201+'</p>')[_0x5b17b3(0xea)]('\x0a'),_0x34e98f=_0x2001ec=>Array['isArray'](_0x2001ec)?_0x2001ec[_0x5b17b3(0xb1)](_0x3efb12)[_0x5b17b3(0xea)]('\x0a'):_0x3efb12(_0x2001ec);_0x190d98[_0x5b17b3(0x12c)](_0x5b17b3(0xb4)),_0x48672d['removeClass'](_0x5b17b3(0xb4)),_0x366b72[_0x5b17b3(0xa8)](_0x34e98f(_0x1801fa['message'])+_0x34e98f(_0x1801fa['extra'])),_0x279316(new Error(_0x1801fa['result']),_0x1801fa);}})[_0x1f9f25(0x129)](_0x4e7ed6=>{const _0x4dd226=_0x1f9f25;_0x1f8c72=![],_0x4c006c[_0x4dd226(0x12c)](_0x4dd226(0xb4)),_0x190d98['addClass'](_0x4dd226(0xb4)),_0x48672d[_0x4dd226(0x105)](_0x4dd226(0xb4)),_0x366b72[_0x4dd226(0xa8)]('internal\x20error\x20'+_0x4e7ed6[_0x4dd226(0x11a)]),console[_0x4dd226(0xf6)](_0x4dd226(0xb7),_0x4e7ed6),_0x279316(_0x4e7ed6,null);});});}function _0x43b9a9(_0x4ff9db,_0x253834,_0xd3e1d1,_0x1eb10d){function _0x281c08(_0x4637af){return _0x4637af instanceof _0xd3e1d1?_0x4637af:new _0xd3e1d1(function(_0x20a182){_0x20a182(_0x4637af);});}return new(_0xd3e1d1||(_0xd3e1d1=Promise))(function(_0x26c573,_0x1aa049){const _0x30ae26=_0x5640;function _0x39fefd(_0x1a9d9f){const _0x484356=_0x5640;try{_0x1a0bc4(_0x1eb10d[_0x484356(0xb8)](_0x1a9d9f));}catch(_0x250dbc){_0x1aa049(_0x250dbc);}}function _0x37dcf6(_0x4498af){const _0x2f14f0=_0x5640;try{_0x1a0bc4(_0x1eb10d[_0x2f14f0(0xec)](_0x4498af));}catch(_0x2c30f0){_0x1aa049(_0x2c30f0);}}function _0x1a0bc4(_0x4f9077){const _0x3d4f6e=_0x5640;_0x4f9077[_0x3d4f6e(0xdd)]?_0x26c573(_0x4f9077[_0x3d4f6e(0x9b)]):_0x281c08(_0x4f9077[_0x3d4f6e(0x9b)])[_0x3d4f6e(0xf8)](_0x39fefd,_0x37dcf6);}_0x1a0bc4((_0x1eb10d=_0x1eb10d[_0x30ae26(0x10c)](_0x4ff9db,_0x253834||[]))[_0x30ae26(0xb8)]());});}typeof SuppressedError==='function'?SuppressedError:function(_0x480920,_0x1c1dc0,_0x921ad8){const _0xca3867=_0x5640;var _0x59028b=new Error(_0x921ad8);return _0x59028b['name']=_0xca3867(0xd5),_0x59028b['error']=_0x480920,_0x59028b[_0xca3867(0xb9)]=_0x1c1dc0,_0x59028b;};function _0x429928(_0x19af83=''){return _0x43b9a9(this,void 0x0,void 0x0,function*(){const _0x24fa2e=_0x5640,_0x43bc74=_0x19af83+_0x24fa2e(0xd1),_0x5847e9=_0x43bc74+_0x24fa2e(0xbd),_0x5156bd=yield fetch(_0x5847e9,{'method':'POST','headers':{'Content-Type':'application/json'}});if(_0x5156bd[_0x24fa2e(0x12b)]!==0xc8)return console['log'](_0x24fa2e(0xe3),_0x5156bd[_0x24fa2e(0x12b)],_0x5156bd['statusText']),{};const _0x56f8b7=yield _0x5156bd[_0x24fa2e(0xd3)]();return _0x56f8b7;});}const _0x45e79d=()=>{const _0x54a50d=_0x5640;$[_0x54a50d(0xa4)](_0x54a50d(0x121),{'options':{'baseUrl':''},'_create'(){const _0xf08ef1=_0x54a50d,_0x24cc5e=this;_0x429928(_0x24cc5e[_0xf08ef1(0xae)])[_0xf08ef1(0xf8)](_0x1ae9d4=>{const _0x1f9b5a=_0xf08ef1;let _0x18e39b='',_0x5f3bad='',_0x538a63='';const _0x3548cf=_0x1ae9d4[_0x1f9b5a(0x12b)];switch(_0x3548cf){case'AUTHORIZED':_0x18e39b=_0x1f9b5a(0xca);_0x1ae9d4['isDemo']?_0x5f3bad='Demo\x20licence':(_0x5f3bad='Your\x20licence\x20is\x20valid.',_0x538a63='');break;case _0x1f9b5a(0xe0):_0x18e39b='fa\x20fa-calendar-time',_0x5f3bad=_0x1f9b5a(0x11c),_0x538a63='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'FAILED':default:_0x18e39b=_0x1f9b5a(0xc6),_0x5f3bad=_0x1f9b5a(0xde),_0x538a63='Please\x20<a\x20href=\x22mailto:contact@sterfive.com\x22>\x20contact\x20our\x20support\x20team</a>\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.';break;}this[_0x1f9b5a(0xb2)][_0x1f9b5a(0x12c)](_0x1f9b5a(0xf1)),this['element'][_0x1f9b5a(0x12c)](_0x1f9b5a(0xf5)+_0x3548cf),this[_0x1f9b5a(0xb2)][_0x1f9b5a(0xc9)]($('<span>')[_0x1f9b5a(0x12c)](_0x1f9b5a(0xdc))[_0x1f9b5a(0xc9)]($(_0x1f9b5a(0x128))[_0x1f9b5a(0x12c)](_0x18e39b))),this['element'][_0x1f9b5a(0xc9)]($('<span>')['addClass'](_0x1f9b5a(0xf4))[_0x1f9b5a(0x100)](_0x5f3bad)),this[_0x1f9b5a(0xb2)][_0x1f9b5a(0xc9)]($(_0x1f9b5a(0x130))),this[_0x1f9b5a(0xb2)]['append']($(_0x1f9b5a(0xbe))[_0x1f9b5a(0x12c)]('licence-widget-details')['append'](_0x538a63));})['catch'](_0x448c05=>{const _0x5cf759=_0xf08ef1;console[_0x5cf759(0xf6)](_0x448c05);});}});};_0x45e79d();function _0x1b24d1(_0x1aadcc){const _0x315f76=_0x5640;let _0x559008;try{_0x559008=new URL(_0x1aadcc);}catch(_0xaf6ce4){return![];}return _0x559008[_0x315f76(0x115)]==='opc.tcp:';}const _0x1c7967={'publishingEnabled':!![],'requestedLifetimeCount':0x3e8,'requestedMaxKeepAliveCount':0xa,'requestedPublishingInterval':0x3e8,'maxNotificationsPerPublish':0x0,'priority':0x64};RED[_0x275601(0xf3)]['registerType']('OpcUa-Endpoint2',{'category':_0x275601(0x9c),'paletteLabel':_0x275601(0xa6),'defaults':{'name':{'value':''},'endpoint':{'value':_0x275601(0xc3),'required':!![],'validate':_0x1b24d1},'securityMode':{'value':'None'},'securityPolicy':{'value':_0x275601(0xaf),'validate':_0x529133=>{if(!_0x529133)return![];return!![];}},'userIdentityType':{'value':_0x275601(0x101)},'userName':{'value':''},'password':{'value':'','type':_0x275601(0xba)},'userCertificate':{'value':''},'userPrivatekey':{'value':''},'certificate':{'value':'n'},'localfile':{'value':''},'localkeyfile':{'value':''},'useTransport':{'value':![],'required':![]},'maxChunkCount':{'value':0x1,'required':![]},'maxMessageSize':{'value':0x2000,'required':![]},'receiveBufferSize':{'value':0x2000,'required':![]},'sendBufferSize':{'value':0x2000,'required':![]},'subscriptions':{'value':[{'id':'s1','name':_0x275601(0x103),'isDefault':!![],'parameters':Object['assign']({},_0x1c7967)},{'id':'s2','name':_0x275601(0x126),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0x64,'requestedMaxKeepAliveCount':0x14,'requestedPublishingInterval':0x1388,'maxNotificationsPerPublish':0x64,'priority':0xa}},{'id':'s3','name':_0x275601(0x120),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0xfa0,'requestedMaxKeepAliveCount':0x64,'requestedPublishingInterval':0xfa,'maxNotificationsPerPublish':0x64,'priority':0xc8}}],'required':![]}},'credentials':{'user':{'type':'text'},'password':{'type':'password'}},'label':function(){const _0x10ae4a=_0x275601;return this[_0x10ae4a(0xfd)]||this[_0x10ae4a(0x109)]||_0x10ae4a(0xee);},'oneditsave'(){const _0x5eac7f=_0x275601,_0x550258=$('#node-config-input-securityPolicy'),_0x3f3a62=$('#node-config-input-securityMode');_0x550258['val']()==='None'&&_0x3f3a62['text']('None');const _0x75f57d=$(_0x5eac7f(0x110))[_0x5eac7f(0xce)](_0x5eac7f(0xb3)),_0x19fda2=[],_0x44c36f=_0x55dd7a=>_0x55dd7a;_0x75f57d['each'](function(_0x1611d3,_0x14c30d){const _0x29ddca=_0x5eac7f,_0x37fef3=$(this),_0xcf6d1f={'id':'s'+_0x1611d3,'name':_0x37fef3[_0x29ddca(0xf2)](_0x29ddca(0xd7))[_0x29ddca(0xa5)](),'isDefault':!!_0x37fef3[_0x29ddca(0xf2)](_0x29ddca(0x127))[_0x29ddca(0xa5)](),'parameters':{'publishingEnabled':!!_0x37fef3[_0x29ddca(0xf2)](_0x29ddca(0x12e))['is'](_0x29ddca(0xa1)),'requestedLifetimeCount':_0x44c36f(_0x37fef3[_0x29ddca(0xf2)](_0x29ddca(0xa7))['val']()),'requestedMaxKeepAliveCount':_0x44c36f(_0x37fef3[_0x29ddca(0xf2)](_0x29ddca(0xf9))['val']()),'requestedPublishingInterval':_0x44c36f(_0x37fef3[_0x29ddca(0xf2)]('.input-requestedPublishingInterval')[_0x29ddca(0xa5)]()),'maxNotificationsPerPublish':_0x44c36f(_0x37fef3['find'](_0x29ddca(0x10f))[_0x29ddca(0xa5)]()),'priority':_0x44c36f(_0x37fef3[_0x29ddca(0xf2)]('.input-priority')['val']())}};_0xcf6d1f[_0x29ddca(0xdb)][_0x29ddca(0x106)]=!![],_0xcf6d1f['isDefault']&&_0xcf6d1f['id']==='s0'&&(_0xcf6d1f[_0x29ddca(0xfd)]=_0x29ddca(0x103)),_0x19fda2[_0x29ddca(0xc4)](_0xcf6d1f);}),this[_0x5eac7f(0xb5)]=_0x19fda2;},'oneditprepare'(){const _0x4cb234=_0x275601,_0x5352dd=this,_0x227575=RED[_0x4cb234(0xef)][_0x4cb234(0xcb)]({'id':_0x4cb234(0xf0),'onchange':function(_0x3ae135){const _0x2d983b=_0x4cb234;$(_0x2d983b(0xfb))[_0x2d983b(0x113)]()[_0x2d983b(0xb4)](),$('#'+_0x3ae135['id'])[_0x2d983b(0x119)]();}});_0x227575[_0x4cb234(0xd8)]({'id':_0x4cb234(0xcf),'label':_0x4cb234(0xfe)},0x0),_0x227575[_0x4cb234(0xd8)]({'id':_0x4cb234(0xc8),'label':_0x4cb234(0x123)},0x1),setTimeout(function(){const _0x1b04a0=_0x4cb234;_0x227575[_0x1b04a0(0xd4)]();},0x0);{const _0x23693f=_0x4e172f=>{const _0x419d4d=_0x4cb234;switch(_0x4e172f){case null:case undefined:case'':case _0x419d4d(0xaf):$(_0x419d4d(0x9d))[_0x419d4d(0xb4)]();break;case'Sign':case _0x419d4d(0xd2):{const _0x46c284=$(_0x419d4d(0x9d));(_0x46c284[_0x419d4d(0xa5)]()===_0x419d4d(0xaf)||_0x46c284['val']()==='')&&_0x46c284[_0x419d4d(0xa5)](_0x419d4d(0xe4)),$(_0x419d4d(0x9d))['show']();}break;default:console[_0x419d4d(0xf6)]('invalid\x20securityMode\x20'+_0x4e172f);}};_0x23693f(_0x5352dd[_0x4cb234(0x9e)]);const _0x2f9ee8=$(_0x4cb234(0xf7));_0x2f9ee8['on'](_0x4cb234(0xe8),()=>{const _0x5651e1=_0x4cb234,_0x441e1b=_0x2f9ee8[_0x5651e1(0xa5)]();_0x23693f(_0x441e1b);});}const _0x5c4122=$(_0x4cb234(0xa0));_0x5c4122[_0x4cb234(0xe5)]({'baseUrl':''});{const _0x331c5b=$(_0x4cb234(0x112)),_0x47a3b9=$('.section-userIdentityType-Certificate'),_0x27e201=_0x4d6712=>{const _0x4cf635=_0x4cb234;_0x4d6712=_0x4d6712||_0x4cf635(0x101);switch(_0x4d6712){case _0x4cf635(0x101):$('#node-config-input-userName')[_0x4cf635(0xa5)](''),$(_0x4cf635(0x118))[_0x4cf635(0xa5)](''),_0x331c5b['hide'](),_0x47a3b9[_0x4cf635(0xb4)]();break;case'UserName':_0x331c5b['show'](),_0x47a3b9[_0x4cf635(0xb4)]();break;case _0x4cf635(0x122):$('#node-config-input-userName')[_0x4cf635(0xa5)](''),$(_0x4cf635(0x118))[_0x4cf635(0xa5)](''),_0x47a3b9[_0x4cf635(0x119)](),_0x331c5b['hide']();break;default:console[_0x4cf635(0xf6)]('invalid\x20userIdentityType\x20'+_0x4d6712);}};_0x27e201(_0x5352dd[_0x4cb234(0x117)]);const _0x4d7300=$(_0x4cb234(0x9a));_0x4d7300['on']('change',()=>{const _0x18d6a4=_0x4d7300['val']();_0x27e201(_0x18d6a4);}),$(_0x4cb234(0x111))[_0x4cb234(0xb4)](),$('#toggleAdvancedSection')['on'](_0x4cb234(0xe8),function(){const _0x292dd5=_0x4cb234;$(this)[_0x292dd5(0xa2)](_0x292dd5(0xa9))?$('#section-Advanced')[_0x292dd5(0x119)]():$(_0x292dd5(0x111))[_0x292dd5(0xb4)]();}),_0x221f60(_0x4cb234(0x11f),$('#test-connection'),()=>({'url':_0x4cb234(0x11b),'body':{'endpointNode':{'id':_0x5352dd['id'],'endpoint':$('#node-config-input-endpoint')[_0x4cb234(0xa5)](),'securityMode':$(_0x4cb234(0xf7))['val'](),'securityPolicy':$(_0x4cb234(0xb6))[_0x4cb234(0xa5)](),'userIdentityType':$(_0x4cb234(0x9a))['val'](),'userName':$(_0x4cb234(0x12a))[_0x4cb234(0xa5)](),'password':$(_0x4cb234(0x118))[_0x4cb234(0xa5)](),'userCertificate':$('#node-config-input-userCertificate')['val'](),'userPrivatekey':$(_0x4cb234(0x10a))[_0x4cb234(0xa5)](),'certificate':$(_0x4cb234(0x10e))[_0x4cb234(0xa5)](),'localfile':$('#node-input-localfile')['val'](),'localkeyfile':$('#node-input-localkeyfile')[_0x4cb234(0xa5)](),'useTransport':$(_0x4cb234(0xc1))[_0x4cb234(0xa2)]('checked'),'maxChunkCount':$(_0x4cb234(0x11e))[_0x4cb234(0xa5)](),'maxMessageSize':$(_0x4cb234(0xcd))[_0x4cb234(0xa5)](),'receiveBufferSize':$(_0x4cb234(0x125))[_0x4cb234(0xa5)](),'sendBufferSize':$(_0x4cb234(0xac))[_0x4cb234(0xa5)]()}}}),()=>{});const _0x526ea8=(_0x3f2aef,_0x5912d5)=>{const _0xad351c=_0x4cb234;var _0x3b4ce5=_0x3f2aef[_0xad351c(0xb0)]()||0x64;_0x3f2aef['find'](_0xad351c(0xc0))[_0xad351c(0x104)](_0xad351c(0xb0),_0x3b4ce5-0xf);},_0x8c0af3=$(_0x4cb234(0x110))['css']({'min-height':_0x4cb234(0x10d),'min-width':_0x4cb234(0x9f)})['editableList']({'addItem':(_0x59d23b,_0x1f8b24,_0x328627)=>{const _0x76ea7b=_0x4cb234,_0x16bf25=_0x328627,_0x5d1f7c=$(_0x76ea7b(0xbf))[_0x76ea7b(0x102)]()[_0x76ea7b(0xfa)](_0x59d23b);_0x5d1f7c[_0x76ea7b(0xad)]('id')[_0x76ea7b(0x105)](_0x76ea7b(0xb4))[_0x76ea7b(0x105)](_0x76ea7b(0xcc))[_0x76ea7b(0x132)](_0x76ea7b(0xab),_0x1f8b24),_0x5d1f7c['find'](_0x76ea7b(0xd7))['val'](_0x16bf25[_0x76ea7b(0xfd)]),_0x5d1f7c[_0x76ea7b(0xf2)](_0x76ea7b(0xff))[_0x76ea7b(0xa5)](_0x16bf25[_0x76ea7b(0xdb)][_0x76ea7b(0xeb)]),_0x5d1f7c[_0x76ea7b(0xf2)]('.input-requestedMaxKeepAliveCount')['val'](_0x16bf25[_0x76ea7b(0xdb)][_0x76ea7b(0x12d)]),_0x5d1f7c[_0x76ea7b(0xf2)]('.input-requestedLifetimeCount')[_0x76ea7b(0xa5)](_0x16bf25[_0x76ea7b(0xdb)]['requestedLifetimeCount']),_0x5d1f7c[_0x76ea7b(0xf2)]('.input-maxNotificationsPerPublish')[_0x76ea7b(0xa5)](_0x16bf25['parameters'][_0x76ea7b(0xc7)]||0x0),_0x5d1f7c[_0x76ea7b(0xf2)]('.input-priority')[_0x76ea7b(0xa5)](_0x16bf25[_0x76ea7b(0xdb)][_0x76ea7b(0xe1)]||0x0),_0x5d1f7c[_0x76ea7b(0xf2)](_0x76ea7b(0x108))[_0x76ea7b(0x100)](''+_0x1f8b24),_0x16bf25['isDefault']&&_0x5d1f7c[_0x76ea7b(0xf2)](_0x76ea7b(0xd7))['prop']('readonly',!![]),_0x5d1f7c[_0x76ea7b(0xf2)](_0x76ea7b(0x127))[_0x76ea7b(0xa2)](_0x76ea7b(0xa9),_0x16bf25[_0x76ea7b(0xe6)]),_0x16bf25[_0x76ea7b(0xe6)]&&(_0x59d23b[_0x76ea7b(0xf2)](_0x76ea7b(0xed))['addClass'](_0x76ea7b(0xb4)),setTimeout(()=>_0x5d1f7c[_0x76ea7b(0xf2)]('.input-isDefault')[_0x76ea7b(0xa2)](_0x76ea7b(0xbb),!![]),0xa));},'removable':!![],'resizeItem':_0x526ea8}),_0x11b1c6=()=>{const _0x5c6aca=_0x4cb234,_0x1fc736=_0x5352dd[_0x5c6aca(0xb5)]||[];_0x1fc736['length']===0x0&&_0x1fc736[_0x5c6aca(0xc4)]({'id':'s1','name':_0x5c6aca(0x103),'isDefault':!![],'parameters':Object['assign']({},_0x1c7967)});_0x8c0af3[_0x5c6aca(0xce)]('empty');for(const _0xce7cbd of _0x1fc736){_0x8c0af3['editableList'](_0x5c6aca(0xda),_0xce7cbd);}};_0x11b1c6();}}});}()));
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHgyMjFmNjAiLCJfMHgyNjUwNmUiLCJfMHg0ZWZmNDIiLCJfMHgzMWYwOWUiLCJfMHgyNzkzMTYiLCJfMHgxOTBkOTgiLCIkIiwiXzB4NDg2NzJkIiwiXzB4NGMwMDZjIiwiXzB4MzY2YjcyIiwiXzB4MWY4YzcyIiwiYm9keSIsIl8weDNiZTIxNiIsInVybCIsIl8weDc0NTEwZSIsImZldGNoIiwiSlNPTiIsIl8weDNkOWM3MiIsIl8weDE4MDFmYSIsImNvbnNvbGUiLCJfMHgzZWZiMTIiLCJfMHgyYjllNmIiLCJfMHg5MDIwMSIsIl8weDM0ZTk4ZiIsIl8weDIwMDFlYyIsIkFycmF5IiwiRXJyb3IiLCJfMHg0ZTdlZDYiLCJfMHg0M2I5YTkiLCJfMHg0ZmY5ZGIiLCJfMHgyNTM4MzQiLCJfMHhkM2UxZDEiLCJfMHgxZWIxMGQiLCJfMHgyODFjMDgiLCJfMHg0NjM3YWYiLCJfMHgyMGExODIiLCJQcm9taXNlIiwiXzB4MjZjNTczIiwiXzB4MWFhMDQ5IiwiXzB4MzlmZWZkIiwiXzB4MWE5ZDlmIiwiXzB4MWEwYmM0IiwiXzB4MjUwZGJjIiwiXzB4MzdkY2Y2IiwiXzB4NDQ5OGFmIiwiXzB4MmMzMGYwIiwiXzB4NGY5MDc3IiwiU3VwcHJlc3NlZEVycm9yIiwiXzB4NDgwOTIwIiwiXzB4MWMxZGMwIiwiXzB4OTIxYWQ4IiwiXzB4NTkwMjhiIiwiXzB4NDI5OTI4IiwiXzB4MTlhZjgzIiwiXzB4NDNiYzc0IiwiXzB4NTg0N2U5IiwiXzB4NTE1NmJkIiwiXzB4NTZmOGI3IiwiXzB4NDVlNzlkIiwiXzB4MjRjYzVlIiwiXzB4MWFlOWQ0IiwiXzB4MThlMzliIiwiXzB4NWYzYmFkIiwiXzB4NTM4YTYzIiwiXzB4MzU0OGNmIiwiXzB4NDQ4YzA1IiwiXzB4MWIyNGQxIiwiXzB4MWFhZGNjIiwiXzB4NTU5MDA4IiwiVVJMIiwiXzB4YWY2Y2U0IiwiXzB4MWM3OTY3IiwiUkVEIiwiXzB4NTI5MTMzIiwiT2JqZWN0IiwiXzB4NTUwMjU4IiwiXzB4M2YzYTYyIiwiXzB4NzVmNTdkIiwiXzB4MTlmZGEyIiwiXzB4NDRjMzZmIiwiXzB4NTVkZDdhIiwiXzB4MTYxMWQzIiwiXzB4MTRjMzBkIiwiXzB4MzdmZWYzIiwiXzB4Y2Y2ZDFmIiwiXzB4NTM1MmRkIiwiXzB4MjI3NTc1IiwiXzB4M2FlMTM1Iiwic2V0VGltZW91dCIsIl8weDIzNjkzZiIsIl8weDRlMTcyZiIsInVuZGVmaW5lZCIsIl8weDQ2YzI4NCIsIl8weDJmOWVlOCIsIl8weDQ0MWUxYiIsIl8weDVjNDEyMiIsIl8weDMzMWM1YiIsIl8weDQ3YTNiOSIsIl8weDI3ZTIwMSIsIl8weDRkNjcxMiIsIl8weDRkNzMwMCIsIl8weDE4ZDZhNCIsIl8weDUyNmVhOCIsIl8weDNmMmFlZiIsIl8weDU5MTJkNSIsIl8weDNiNGNlNSIsIl8weDhjMGFmMyIsIl8weDU5ZDIzYiIsIl8weDFmOGIyNCIsIl8weDMyODYyNyIsIl8weDE2YmYyNSIsIl8weDVkMWY3YyIsIl8weDExYjFjNiIsIl8weDFmYzczNiIsIl8weGNlN2NiZCJdLCJtYXBwaW5ncyI6InM1R0FBQSxDQUFDLFUsQ0FDRyxhLHdCQUVBLFNBQVNBLFNBQVQsQ0FBdUJDLFNBQXZCLENBQStCQyxTQUEvQixDQUFvQ0MsU0FBcEMsQ0FBMENDLFNBQTFDLEMseUJBQ1VDLFNBQUEsQ0FBY0MsQ0FBQSxDLElBQU1MLFMsZ0JBQU4sQyxDQUNkTSxTQUFBLENBQWNELENBQUEsQyxJQUFNTCxTLGdCQUFOLEMsQ0FDZE8sU0FBQSxDQUFjRixDQUFBLEMsSUFBTUwsUyxnQkFBTixDLENBQ2RRLFNBQUEsQ0FBV0gsQ0FBQSxDLElBQU1MLFMsWUFBTixDLENBQ2pCLElBQUlTLFNBQUEsQyxHQUFKLENBQ0FMLFNBQUEsQyxNQUFBLEcsQ0FDQUUsU0FBQSxDLGVBQUEsRyxDQUNBQyxTQUFBLEMsZUFBQSxHLENBQ0FOLFNBQUEsQyxJQUFBLEUsT0FBQSxDQUFnQixJLDhCQUNSUSxTLENBQ0EsT0FDSkEsU0FBQSxDLEtBQ0FGLFNBQUEsQyxn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QUEsRUFBbUIsQyxJQUNmLEMsSUFEZSxDLE1BRWYsQyxnQkFGZSxDLFdBR2YsQyxJQUhlLEMsWUFJZixDQUFZdkMsTUFBQSxDLFFBQUEsRUFBYyxFQUFkLENBQWtCSCxTQUFsQixDQUpHLENBQW5CLEMsQ0FPSm1DLFNBQUEsQyxlQUFBLEUsT0FBQSxFQUNBLFVBQVdRLFNBQVgsSUFBMkJELFNBQTNCLEMsQ0FFSVAsU0FBQSxDLGNBQUEsRSxlQUFBLENBQXlDUSxTQUF6QyxDLEdBOUNSLENBaURBRixTQUFBLEUsR0FoVDhCLENBQTFDLEMsRUE1TEosRyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiAoKSB7XG4gICAgJ3VzZSBzdHJpY3QnO1xuXG4gICAgZnVuY3Rpb24gbWFuYWdlQVBJQ2FsbChwcmVmaXgsIGJ0biwgZnVuYywgb25SZXN1bHQpIHtcbiAgICAgICAgY29uc3Qgc3VjY2Vzc0ljb24gPSAkKGAjJHtwcmVmaXh9LXN1Y2Nlc3NgKTtcbiAgICAgICAgY29uc3QgZmFpbHVyZUljb24gPSAkKGAjJHtwcmVmaXh9LWZhaWx1cmVgKTtcbiAgICAgICAgY29uc3QgcGVuZGluZ0ljb24gPSAkKGAjJHtwcmVmaXh9LXBlbmRpbmdgKTtcbiAgICAgICAgY29uc3QgbWVzc2FnZXMgPSAkKGAjJHtwcmVmaXh9LW1lc3NhZ2VzYCk7XG4gICAgICAgIGxldCBhY3Rpb25QZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN1Y2Nlc3NJY29uLmhpZGUoKTtcbiAgICAgICAgZmFpbHVyZUljb24uaGlkZSgpO1xuICAgICAgICBwZW5kaW5nSWNvbi5oaWRlKCk7XG4gICAgICAgIGJ0bi5vbihcImNsaWNrXCIsICgpID0+IHtcbiAgICAgICAgICAgIGlmIChhY3Rpb25QZW5kaW5nKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIGFjdGlvblBlbmRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgcGVuZGluZ0ljb24ucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgcGVuZGluZ0ljb24uaHRtbChcIlRlc3RpbmcgQ29ubmVjdGlvbiAuLi5cIik7XG4gICAgICAgICAgICBzdWNjZXNzSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICBmYWlsdXJlSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICBtZXNzYWdlcy5odG1sKFwiXCIpO1xuICAgICAgICAgICAgY29uc3QgeyBib2R5LCB1cmwgfSA9IGZ1bmMoKTtcbiAgICAgICAgICAgIC8vIHh4IGNvbnNvbGUubG9nKFwieHh4eHhcIiwgYm9keSk7XG4gICAgICAgICAgICBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShib2R5KSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLnRoZW4oKGRhdGEpID0+IGRhdGEuanNvbigpKVxuICAgICAgICAgICAgICAgIC50aGVuKChqc29uKSA9PiB7XG4gICAgICAgICAgICAgICAgYWN0aW9uUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHBlbmRpbmdJY29uLmhpZGUoKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShqc29uLCBudWxsLCBcIiBcIikpO1xuICAgICAgICAgICAgICAgIGlmIChqc29uLnJlc3VsdCA9PT0gXCJva1wiKSB7XG4gICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3NJY29uLnJlbW92ZUNsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgZmFpbHVyZUljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlcy5odG1sKGpzb24ubWVzc2FnZS5yZXBsYWNlKFwiXFxuXCIsIFwiPGJyPlwiKSk7XG4gICAgICAgICAgICAgICAgICAgIG9uUmVzdWx0KG51bGwsIGpzb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRhcHQgPSAoc3RyKSA9PiAhc3RyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IFwiXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogc3RyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNwbGl0KFwiXFxuXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcCgoYSkgPT4gYDxwPiR7YX08L3A+YClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuam9pbihcIlxcblwiKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRhcHQyID0gKHN0cikgPT4gKEFycmF5LmlzQXJyYXkoc3RyKSA/IHN0ci5tYXAoYWRhcHQpLmpvaW4oXCJcXG5cIikgOiBhZGFwdChzdHIpKTtcbiAgICAgICAgICAgICAgICAgICAgc3VjY2Vzc0ljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICBmYWlsdXJlSWNvbi5yZW1vdmVDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VzLmh0bWwoYWRhcHQyKGpzb24ubWVzc2FnZSkgKyBhZGFwdDIoanNvbi5leHRyYSkpO1xuICAgICAgICAgICAgICAgICAgICBvblJlc3VsdChuZXcgRXJyb3IoanNvbi5yZXN1bHQpLCBqc29uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgYWN0aW9uUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHBlbmRpbmdJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICBzdWNjZXNzSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgZmFpbHVyZUljb24ucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgIG1lc3NhZ2VzLmh0bWwoXCJpbnRlcm5hbCBlcnJvciBcIiArIGVyci5tZXNzYWdlKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImVyclwiLCBlcnIpO1xuICAgICAgICAgICAgICAgIG9uUmVzdWx0KGVyciwgbnVsbCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uXHJcblxyXG4gICAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XHJcbiAgICBwdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuXHJcblxyXG4gICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMgV0lUSFxyXG4gICAgUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXHJcbiAgICBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsXHJcbiAgICBJTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST01cclxuICAgIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXHJcbiAgICBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SXHJcbiAgICBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLlxyXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuICAgIC8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlLCBTdXBwcmVzc2VkRXJyb3IsIFN5bWJvbCAqL1xyXG5cclxuXHJcbiAgICBmdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XHJcbiAgICAgICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XHJcbiAgICAgICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0eXBlb2YgU3VwcHJlc3NlZEVycm9yID09PSBcImZ1bmN0aW9uXCIgPyBTdXBwcmVzc2VkRXJyb3IgOiBmdW5jdGlvbiAoZXJyb3IsIHN1cHByZXNzZWQsIG1lc3NhZ2UpIHtcclxuICAgICAgICB2YXIgZSA9IG5ldyBFcnJvcihtZXNzYWdlKTtcclxuICAgICAgICByZXR1cm4gZS5uYW1lID0gXCJTdXBwcmVzc2VkRXJyb3JcIiwgZS5lcnJvciA9IGVycm9yLCBlLnN1cHByZXNzZWQgPSBzdXBwcmVzc2VkLCBlO1xyXG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGZldGNoTGljZW5jZUluZm8oYmFzZVVybCA9IFwiXCIpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IHJvb3QgPSBgJHtiYXNlVXJsfS9vcGN1YS1lbmRwb2ludDJgO1xuICAgICAgICAgICAgY29uc3QgdXJsID0gYCR7cm9vdH0vbGljZW5jZUluZm9gO1xuICAgICAgICAgICAgY29uc3QgZGF0YSA9IHlpZWxkIGZldGNoKHVybCwge1xuICAgICAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogeyBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZmV0Y2hpbmcgZmFpbGVkIHdpdGggZXJyb3JcIiwgZGF0YS5zdGF0dXMsIGRhdGEuc3RhdHVzVGV4dCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QganNvbiA9IHlpZWxkIGRhdGEuanNvbigpO1xuICAgICAgICAgICAgcmV0dXJuIGpzb247XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBkZWNsYXJlTGljZW5jZVdpZGdldCA9ICgpID0+IHtcbiAgICAgICAgJC53aWRnZXQoXCJzdGVyZml2ZS5saWNlbmNlV2lkZ2V0XCIsIHtcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBiYXNlVXJsOiBcIlwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF9jcmVhdGUoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgZmV0Y2hMaWNlbmNlSW5mbyh0aGF0LmJhc2VVcmwpXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKChqc29uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBpY29uID0gXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1zZyA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGxldCBkZXRhaWxzID0gXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RhdHVzID0ganNvbi5zdGF0dXM7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoc3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiQVVUSE9SSVpFRFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb24gPSBcImZhIGZhLWNoZWNrLWNpcmNsZVwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChqc29uLmlzRGVtbykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBcIkRlbW8gbGljZW5jZVwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gXCJZb3VyIGxpY2VuY2UgaXMgdmFsaWQuXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbHMgPSBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJFWFBJUkVEXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbiA9IFwiZmEgZmEtY2FsZW5kYXItdGltZVwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9IFwiTGljZW5jZSBleHBpcmVkXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscyA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiWW91ciBsaWNlbnNlIGhhcyBleHBpcmVkLiBQbGVhc2UgY29udGFjdCBvdXIgc3VwcG9ydCB0ZWFtIG9yIHZpc2l0IG91ciB3ZWJzaXRlIHRvIHJlbmV3IHlvdXIgbGljZW5zZSBhbmQgcmVnYWluIGFjY2VzcyB0byBvdXIgc2VydmljZXMuXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiRkFJTEVEXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb24gPSBcImZhIGZhLWV4Y2xhbWF0aW9uLWNpcmNsZVwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9IFwiWW91ciBsaWNlbnNlIGlzIGN1cnJlbnRseSBpbnZhbGlkLlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbHMgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUGxlYXNlIDxhIGhyZWY9XCJtYWlsdG86Y29udGFjdEBzdGVyZml2ZS5jb21cIj4gY29udGFjdCBvdXIgc3VwcG9ydCB0ZWFtPC9hPiBvciB2aXNpdCBvdXIgd2Vic2l0ZSB0byByZW5ldyB5b3VyIGxpY2Vuc2UgYW5kIHJlZ2FpbiBhY2Nlc3MgdG8gb3VyIHNlcnZpY2VzLic7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLyoqICovXG4gICAgICAgICAgICAgICAgICAgIC8vIHRoaXMuZWxlbWVudC50ZXh0KFwiTGljZW5jZSBcIiArIEpTT04uc3RyaW5naWZ5KGpzb24pKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFkZENsYXNzKFwibGljZW5jZS13aWRnZXRcIik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0LVwiICsgc3RhdHVzKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZCgkKFwiPHNwYW4+XCIpLmFkZENsYXNzKFwibGljZW5jZS13aWRnZXQtaWNvblwiKS5hcHBlbmQoJChcIjxpPlwiKS5hZGRDbGFzcyhpY29uKSkpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKCQoXCI8c3Bhbj5cIikuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldC1tc2dcIikudGV4dChtc2cpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZCgkKFwiPGJyPlwiKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoJChcIjxzcGFuPlwiKS5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0LWRldGFpbHNcIikuYXBwZW5kKGRldGFpbHMpKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIGRlY2xhcmVMaWNlbmNlV2lkZ2V0KCk7XG4gICAgZnVuY3Rpb24gaXNWYWxpZE9QQ19VQV9VUkkoc3RyKSB7XG4gICAgICAgIGxldCB1cmw7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB1cmwgPSBuZXcgVVJMKHN0cik7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKF8pIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdXJsLnByb3RvY29sID09PSBcIm9wYy50Y3A6XCI7XG4gICAgfVxuICAgIGNvbnN0IGRlZmF1bHRTdWJzY3JpcHRpb25QYXJhbWV0ZXJzID0ge1xuICAgICAgICBwdWJsaXNoaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgcmVxdWVzdGVkTGlmZXRpbWVDb3VudDogMTAwMCxcbiAgICAgICAgcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQ6IDEwLCAvLyBldmVyeSAxMCBzZWNvbmRzXG4gICAgICAgIHJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbDogMTAwMCxcbiAgICAgICAgbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2g6IDAsXG4gICAgICAgIHByaW9yaXR5OiAxMDAsXG4gICAgfTtcbiAgICBSRUQubm9kZXMucmVnaXN0ZXJUeXBlKFwiT3BjVWEtRW5kcG9pbnQyXCIsIHtcbiAgICAgICAgY2F0ZWdvcnk6IFwiY29uZmlnXCIsXG4gICAgICAgIHBhbGV0dGVMYWJlbDogXCJvcGN1YSBlbmRwb2ludFwiLFxuICAgICAgICBkZWZhdWx0czoge1xuICAgICAgICAgICAgbmFtZTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgZW5kcG9pbnQ6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogXCJvcGMudGNwOi8vb3BjdWFkZW1vLnN0ZXJmaXZlLmNvbToyNjU0My9VQS9TYW1wbGVTZXJ2ZXJcIixcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB2YWxpZGF0ZTogaXNWYWxpZE9QQ19VQV9VUkksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLy8gU2VjdXJpdHkgTW9kZVxuICAgICAgICAgICAgc2VjdXJpdHlNb2RlOiB7IHZhbHVlOiBcIk5vbmVcIiB9LFxuICAgICAgICAgICAgc2VjdXJpdHlQb2xpY3k6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogXCJOb25lXCIsXG4gICAgICAgICAgICAgICAgdmFsaWRhdGU6ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHVzZXJJZGVudGl0eVR5cGU6IHsgdmFsdWU6IFwiQW5vbnltb3VzXCIgfSxcbiAgICAgICAgICAgIC8vIHRvIHVzZSB3aGVuIHVzZXJJZGVudGl0eVR5cGUgaXMgVXNlck5hbWVcbiAgICAgICAgICAgIHVzZXJOYW1lOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICBwYXNzd29yZDogeyB2YWx1ZTogXCJcIiwgdHlwZTogXCJwYXNzd29yZFwiIH0sXG4gICAgICAgICAgICAvLyB0byB1c2Ugd2hlbiB1c2VySWRlbnRpdHlUeXBlIGlzIENlcnRpZmljYXRlXG4gICAgICAgICAgICB1c2VyQ2VydGlmaWNhdGU6IHsgdmFsdWU6IFwiXCIgfSxcbiAgICAgICAgICAgIHVzZXJQcml2YXRla2V5OiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICAvLyB1c2VybmFtZVxuICAgICAgICAgICAgLy8gVGhlc2UgYXJlIGZpeGVkIG9yIGNhbiBiZSByZWFkIHRocm91Z2ggZW5kUG9pbnRcbiAgICAgICAgICAgIGNlcnRpZmljYXRlOiB7IHZhbHVlOiBcIm5cIiB9LFxuICAgICAgICAgICAgbG9jYWxmaWxlOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICBsb2NhbGtleWZpbGU6IHsgdmFsdWU6IFwiXCIgfSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICB1c2VUcmFuc3BvcnQ6IHsgdmFsdWU6IGZhbHNlLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIG1heENodW5rQ291bnQ6IHsgdmFsdWU6IDEsIHJlcXVpcmVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgbWF4TWVzc2FnZVNpemU6IHsgdmFsdWU6IDgxOTIsIHJlcXVpcmVkOiBmYWxzZSB9LCAvLyBzaG91bGQgYmUgYXQgbGVhc3QgODE5MlxuICAgICAgICAgICAgcmVjZWl2ZUJ1ZmZlclNpemU6IHsgdmFsdWU6IDgxOTIsIHJlcXVpcmVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgc2VuZEJ1ZmZlclNpemU6IHsgdmFsdWU6IDgxOTIsIHJlcXVpcmVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgc3Vic2NyaXB0aW9uczoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcInMxXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIkRlZmF1bHQgU3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0U3Vic2NyaXB0aW9uUGFyYW1ldGVycyksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcInMyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIlNsb3cgU3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxpc2hpbmdFbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZExpZmV0aW1lQ291bnQ6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudDogMjAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsOiA1MDAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoOiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6IDEwLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwiczNcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiRmFzdCBTdWJzY3JpcHRpb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRGVmYXVsdDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGlzaGluZ0VuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTGlmZXRpbWVDb3VudDogNDAwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudDogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbDogMjUwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoOiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6IDIwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBjcmVkZW50aWFsczoge1xuICAgICAgICAgICAgdXNlcjogeyB0eXBlOiBcInRleHRcIiB9LFxuICAgICAgICAgICAgcGFzc3dvcmQ6IHsgdHlwZTogXCJwYXNzd29yZFwiIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5uYW1lIHx8IHRoaXMuZW5kcG9pbnQgfHwgXCJpbnZhbGlkIGVuZHBvaW50XCI7XG4gICAgICAgIH0sXG4gICAgICAgIG9uZWRpdHNhdmUoKSB7XG4gICAgICAgICAgICBjb25zdCBfc2VjdXJpdHlQb2xpY3kgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXNlY3VyaXR5UG9saWN5XCIpO1xuICAgICAgICAgICAgY29uc3QgX3NlY3VyaXR5TW9kZSA9ICQoXCIjbm9kZS1jb25maWctaW5wdXQtc2VjdXJpdHlNb2RlXCIpO1xuICAgICAgICAgICAgaWYgKF9zZWN1cml0eVBvbGljeS52YWwoKSA9PT0gXCJOb25lXCIpIHtcbiAgICAgICAgICAgICAgICBfc2VjdXJpdHlNb2RlLnRleHQoXCJOb25lXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gKCgoKCgoKCgoKCByZXRyaWV2ZSBzdWJzY3JpcHRpb24gZGF0YSApKSkpKSkpKSkpXG4gICAgICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25zSXRlbXMgPSAkKFwiI3N1YnNjcmlwdGlvbnMtY29udGFpbmVyXCIpLmVkaXRhYmxlTGlzdChcIml0ZW1zXCIpO1xuICAgICAgICAgICAgY29uc3QgcyA9IFtdO1xuICAgICAgICAgICAgY29uc3QgbiA9ICh4KSA9PiB4O1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9uc0l0ZW1zLmVhY2goZnVuY3Rpb24gKGluZGV4LCBpdGVtKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZSA9ICQodGhpcyk7XG4gICAgICAgICAgICAgICAgY29uc3QgYSA9IHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IFwic1wiICsgaW5kZXgsXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IGUuZmluZChcIi5pbnB1dC1uYW1lXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6ICEhZS5maW5kKFwiLmlucHV0LWlzRGVmYXVsdFwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHVibGlzaGluZ0VuYWJsZWQ6ICEhZS5maW5kKFwiLmlucHV0LXB1Ymxpc2hpbmdFbmFibGVkXCIpLmlzKFwiOmNoZWNrZWRcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRMaWZldGltZUNvdW50OiBuKGUuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRMaWZldGltZUNvdW50XCIpLnZhbCgpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50OiBuKGUuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudFwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWw6IG4oZS5maW5kKFwiLmlucHV0LXJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbFwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogbihlLmZpbmQoXCIuaW5wdXQtbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2hcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6IG4oZS5maW5kKFwiLmlucHV0LXByaW9yaXR5XCIpLnZhbCgpKSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIC8vIGZvcmNlIHRvIGJlIHRydWVcbiAgICAgICAgICAgICAgICBhLnBhcmFtZXRlcnMucHVibGlzaGluZ0VuYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmIChhLmlzRGVmYXVsdCAmJiBhLmlkID09PSBcInMwXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gbm9ybWFsaXplIGRlZmF1bHQgc3Vic2NyaXB0aW9uIG5hbWVcbiAgICAgICAgICAgICAgICAgICAgYS5uYW1lID0gXCJEZWZhdWx0IFN1YnNjcmlwdGlvblwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzLnB1c2goYSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IHM7XG4gICAgICAgIH0sXG4gICAgICAgIG9uZWRpdHByZXBhcmUoKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlID0gdGhpcztcbiAgICAgICAgICAgIGNvbnN0IHRhYnMgPSBSRUQudGFicy5jcmVhdGUoe1xuICAgICAgICAgICAgICAgIGlkOiBcIm5vZGUtY29uZmlnLWVuZHBvaW50LXRhYnNcIixcbiAgICAgICAgICAgICAgICBvbmNoYW5nZTogZnVuY3Rpb24gKHRhYikge1xuICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtY29uZmlnLWVuZHBvaW50LXRhYnMtY29udGVudFwiKS5jaGlsZHJlbigpLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNcIiArIHRhYi5pZCkuc2hvdygpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRhYnMuYWRkVGFiKHtcbiAgICAgICAgICAgICAgICBpZDogXCJlbmRwb2ludC10YWItY29ubmVjdGlvblwiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBcIkNvbm5lY3Rpb25cIixcbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgdGFicy5hZGRUYWIoe1xuICAgICAgICAgICAgICAgIGlkOiBcImVuZHBvaW50LXRhYi1zdWJzY3JpcHRpb25zXCIsXG4gICAgICAgICAgICAgICAgbGFiZWw6IFwiU3Vic2NyaXB0aW9uc1wiLFxuICAgICAgICAgICAgfSwgMSk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICB0YWJzLnJlc2l6ZSgpO1xuICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgLy8gaGFuZGxlIFNlY3VyaXR5IGNvbnRyb2xzXG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZVNlY3VyaXR5Q29udHJvbCA9IChzZWN1cml0eU1vZGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChzZWN1cml0eU1vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgbnVsbDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgdW5kZWZpbmVkOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIlwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIk5vbmVcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiLnNlY3Rpb24tc2VjdXJpdHlQb2xpY3lcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIlNpZ25cIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJTaWduQW5kRW5jcnlwdFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3AgPSAkKFwiLnNlY3Rpb24tc2VjdXJpdHlQb2xpY3lcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzcC52YWwoKSA9PT0gXCJOb25lXCIgfHwgc3AudmFsKCkgPT09IFwiXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwLnZhbChcIkJhc2ljMjU2U2hhMjU2XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIuc2VjdGlvbi1zZWN1cml0eVBvbGljeVwiKS5zaG93KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImludmFsaWQgc2VjdXJpdHlNb2RlIFwiICsgc2VjdXJpdHlNb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdXBkYXRlU2VjdXJpdHlDb250cm9sKG5vZGUuc2VjdXJpdHlNb2RlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBfc2VjdXJpdHlNb2RlID0gJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eU1vZGVcIik7XG4gICAgICAgICAgICAgICAgX3NlY3VyaXR5TW9kZS5vbihcImNoYW5nZVwiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld1NlY3VyaXR5TW9kZSA9IF9zZWN1cml0eU1vZGUudmFsKCk7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZVNlY3VyaXR5Q29udHJvbChuZXdTZWN1cml0eU1vZGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbGljZW5jZVdpZGdldCA9ICQoXCIjbGljZW5jZVdpZGdldFwiKTtcbiAgICAgICAgICAgIGxpY2VuY2VXaWRnZXQubGljZW5jZVdpZGdldCh7XG4gICAgICAgICAgICAgICAgYmFzZVVybDogXCJcIixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGhhbmRsZSB0aGUgVXNlciBJZGVudGl0eSBDb250cm9sc1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhdXRoUm93ID0gJChcIi5zZWN0aW9uLXVzZXJJZGVudGl0eVR5cGUtVXNlck5hbWVcIik7XG4gICAgICAgICAgICAgICAgY29uc3QgY2VydFJvdyA9ICQoXCIuc2VjdGlvbi11c2VySWRlbnRpdHlUeXBlLUNlcnRpZmljYXRlXCIpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZUlkZW50aXR5Q29udHJvbHMgPSAodXNlcklkZW50aXR5VHlwZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB1c2VySWRlbnRpdHlUeXBlID0gdXNlcklkZW50aXR5VHlwZSB8fCBcIkFub255bW91c1wiO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHVzZXJJZGVudGl0eVR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJBbm9ueW1vdXNcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJOYW1lXCIpLnZhbChcIlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtY29uZmlnLWlucHV0LXBhc3N3b3JkXCIpLnZhbChcIlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRoUm93LmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0Um93LmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJVc2VyTmFtZVwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhSb3cuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRSb3cuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkNlcnRpZmljYXRlXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyTmFtZVwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC1wYXNzd29yZFwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydFJvdy5zaG93KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aFJvdy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiaW52YWxpZCB1c2VySWRlbnRpdHlUeXBlIFwiICsgdXNlcklkZW50aXR5VHlwZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHVwZGF0ZUlkZW50aXR5Q29udHJvbHMobm9kZS51c2VySWRlbnRpdHlUeXBlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBfdXNlcklkZW50aXR5VHlwZSA9ICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlcklkZW50aXR5VHlwZVwiKTtcbiAgICAgICAgICAgICAgICBfdXNlcklkZW50aXR5VHlwZS5vbihcImNoYW5nZVwiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld0lkZW50aXR5VHlwZSA9IF91c2VySWRlbnRpdHlUeXBlLnZhbCgpO1xuICAgICAgICAgICAgICAgICAgICB1cGRhdGVJZGVudGl0eUNvbnRyb2xzKG5ld0lkZW50aXR5VHlwZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICAgICAvLyBoYW5kbGUgYWR2YW5jZWQgY29udHJvbHNcbiAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1BZHZhbmNlZFwiKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgJChcIiN0b2dnbGVBZHZhbmNlZFNlY3Rpb25cIikub24oXCJjaGFuZ2VcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoJCh0aGlzKS5wcm9wKFwiY2hlY2tlZFwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIGNoZWNrYm94IGlzIGNoZWNrZWQsIHNob3cgdGhlIGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNzZWN0aW9uLUFkdmFuY2VkXCIpLnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIE90aGVyd2lzZSwgaGlkZSBpdFxuICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNzZWN0aW9uLUFkdmFuY2VkXCIpLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgICAgLy8gaGFuZGxlIHRoZSBUZXN0IGJ1dHRvblxuICAgICAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgICAgbWFuYWdlQVBJQ2FsbChcImNvbm5lY3Rpb25cIiwgJChcIiN0ZXN0LWNvbm5lY3Rpb25cIiksICgpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIHVybDogXCIvb3BjdWEtZW5kcG9pbnQyL3Rlc3QtY29ubmVjdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICBib2R5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbmRwb2ludE5vZGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogbm9kZS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRwb2ludDogJChcIiNub2RlLWNvbmZpZy1pbnB1dC1lbmRwb2ludFwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWN1cml0eU1vZGU6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtc2VjdXJpdHlNb2RlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3VyaXR5UG9saWN5OiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXNlY3VyaXR5UG9saWN5XCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJJZGVudGl0eVR5cGU6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlcklkZW50aXR5VHlwZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyTmFtZTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyTmFtZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNzd29yZDogJChcIiNub2RlLWNvbmZpZy1pbnB1dC1wYXNzd29yZFwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyQ2VydGlmaWNhdGU6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlckNlcnRpZmljYXRlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJQcml2YXRla2V5OiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJQcml2YXRla2V5XCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLyBub3QgdGVzdGVkIHlldCAuLi46XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydGlmaWNhdGU6ICQoXCIjbm9kZS1pbnB1dC1jZXJ0aWZpY2F0ZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGZpbGU6ICQoXCIjbm9kZS1pbnB1dC1sb2NhbGZpbGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxrZXlmaWxlOiAkKFwiI25vZGUtaW5wdXQtbG9jYWxrZXlmaWxlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVRyYW5zcG9ydDogJChcIiNub2RlLWlucHV0LXVzZVRyYW5zcG9ydFwiKS5wcm9wKFwiY2hlY2tlZFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhDaHVua0NvdW50OiAkKFwiI25vZGUtaW5wdXQtbWF4Q2h1bmtDb3VudFwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhNZXNzYWdlU2l6ZTogJChcIiNub2RlLWlucHV0LW1heE1lc3NhZ2VTaXplXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY2VpdmVCdWZmZXJTaXplOiAkKFwiI25vZGUtaW5wdXQtcmVjZWl2ZUJ1ZmZlclNpemVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VuZEJ1ZmZlclNpemU6ICQoXCIjbm9kZS1pbnB1dC1zZW5kQnVmZmVyU2l6ZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSksICgpID0+IHsgfSk7XG4gICAgICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICAgICAvLyAgSW5zdGFsbCBzdWJzY3JpcHRpb25zIExpc3QgbWFuYWdlbWVudFxuICAgICAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgICAgY29uc3QgcmVzaXplVG9waWNzID0gKHRvcGljLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB2YXIgbmV3V2lkdGggPSB0b3BpYy53aWR0aCgpIHx8IDEwMDtcbiAgICAgICAgICAgICAgICAgICAgdG9waWMuZmluZChcImxhYmVsXCIpLnR5cGVkSW5wdXQoXCJ3aWR0aFwiLCBuZXdXaWR0aCAtIDE1KTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbkxpc3QgPSAkKFwiI3N1YnNjcmlwdGlvbnMtY29udGFpbmVyXCIpXG4gICAgICAgICAgICAgICAgICAgIC5jc3MoeyBcIm1pbi1oZWlnaHRcIjogXCIxNTBweFwiLCBcIm1pbi13aWR0aFwiOiBcIjI2MHB4XCIgfSlcbiAgICAgICAgICAgICAgICAgICAgLmVkaXRhYmxlTGlzdCh7XG4gICAgICAgICAgICAgICAgICAgIGFkZEl0ZW06IChjb250YWluZXIsIGluZGV4LCBkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBfZGF0YSA9IGRhdGE7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gJChcIi50ZW1wbGF0ZVwiKS5jbG9uZSgpLmFwcGVuZFRvKGNvbnRhaW5lcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnJlbW92ZUF0dHIoXCJpZFwiKS5yZW1vdmVDbGFzcyhcImhpZGVcIikucmVtb3ZlQ2xhc3MoXCJ0ZW1wbGF0ZVwiKS5hdHRyKFwiZGF0YS1pXCIsIGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1uYW1lXCIpLnZhbChfZGF0YS5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWxcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMucmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudFwiKS52YWwoX2RhdGEucGFyYW1ldGVycy5yZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTGlmZXRpbWVDb3VudFwiKS52YWwoX2RhdGEucGFyYW1ldGVycy5yZXF1ZXN0ZWRMaWZldGltZUNvdW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1tYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaFwiKS52YWwoX2RhdGEucGFyYW1ldGVycy5tYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCB8fCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1wcmlvcml0eVwiKS52YWwoX2RhdGEucGFyYW1ldGVycy5wcmlvcml0eSB8fCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5zdWJzY3JpcHRpb24taWRcIikudGV4dChcIlwiICsgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKF9kYXRhLmlzRGVmYXVsdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1uYW1lXCIpLnByb3AoXCJyZWFkb25seVwiLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1pc0RlZmF1bHRcIikucHJvcChcImNoZWNrZWRcIiwgX2RhdGEuaXNEZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1ha2Ugc3VyZSB0aGF0IGRlZmF1bHQgc3Vic2NyaXB0aW9uIGNhbm5vdCBiZSBhY2NpZGVudGFsbHkgcmVtb3ZlZFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKF9kYXRhLmlzRGVmYXVsdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci5maW5kKFwiLnJlZC11aS1lZGl0YWJsZUxpc3QtaXRlbS1yZW1vdmVcIikuYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gZWxlbWVudC5maW5kKFwiLmlucHV0LWlzRGVmYXVsdFwiKS5wcm9wKFwiZGlzYWJsZWRcIiwgdHJ1ZSksIDEwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgLy8gc29ydGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHJlbW92YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgcmVzaXplSXRlbTogcmVzaXplVG9waWNzLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNvbnN0IEFkZFN1YnNjcmlwdGlvbiA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9ucyA9IG5vZGUuc3Vic2NyaXB0aW9ucyB8fCBbXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN1YnNjcmlwdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBhZGQgbWlzc2luZyBkZWZhdWx0IHN1YnNjcmlwdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJzMVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiRGVmYXVsdCBTdWJzY3JpcHRpb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczogT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdFN1YnNjcmlwdGlvblBhcmFtZXRlcnMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uTGlzdC5lZGl0YWJsZUxpc3QoXCJlbXB0eVwiKTtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2Ygc3Vic2NyaXB0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3Vic2NyaXB0aW9uLmlzRGVmYXVsdCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uTGlzdC5lZGl0YWJsZUxpc3QoXCJhZGRJdGVtXCIsIHN1YnNjcmlwdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIEFkZFN1YnNjcmlwdGlvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgIH0pO1xuXG59KSgpOyJdfQ==
7
+ function _0xe49e(_0x178370,_0x39b5ad){const _0x31f641=_0x31f6();return _0xe49e=function(_0xe49e9f,_0x208d1a){_0xe49e9f=_0xe49e9f-0x101;let _0x15e3ab=_0x31f641[_0xe49e9f];return _0x15e3ab;},_0xe49e(_0x178370,_0x39b5ad);}function _0x31f6(){const _0x17b8a8=['238451MYbsoC','show','result','Your\x20licence\x20is\x20valid.','replace','then','10660RLWYOY','error','.input-requestedPublishingInterval','.input-name','#node-input-useTransport','fa\x20fa-calendar-time','1614570CmmYUc','licence-widget-msg','val','82208ULGwjm','isArray','prop','readonly','Subscriptions','element','opc.tcp:','addItem','.section-userIdentityType-UserName','FAILED','#node-config-input-securityMode','.input-priority','maxNotificationsPerPublish','Testing\x20Connection\x20...','value','hide','clone','securityMode','.section-userIdentityType-Certificate','-pending','html','widget','#node-input-certificate','next','/licenceInfo','throw','message','status','parameters','stringify','checked','Default\x20Subscription','push','err','9206559kNcjoP','click','Please\x20<a\x20href=\x22mailto:contact@sterfive.com\x22>\x20contact\x20our\x20support\x20team</a>\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.','apply','27670vIbCTu','.input-publishingEnabled','Your\x20license\x20is\x20currently\x20invalid.','licence-widget-icon','tabs','name','Basic256Sha256','#toggleAdvancedSection','SuppressedError','#node-config-input-securityPolicy','config','append','invalid\x20securityMode\x20','change','#node-config-input-userPrivatekey','#node-config-input-password','json','</p>','#node-config-endpoint-tabs-content','#test-connection','sterfive.licenceWidget','OpcUa-Endpoint2','requestedPublishingInterval','#subscriptions-container','find','455nLbyMI','removeClass','6YSvqeW','<br>','endpoint-tab-subscriptions','22oohPAa','fa\x20fa-check-circle','each','#node-input-sendBufferSize','POST','endpoint-tab-connection','/opcua-endpoint2','addTab','licenceWidget','invalid\x20userIdentityType\x20','.input-requestedMaxKeepAliveCount','.input-maxNotificationsPerPublish','Connection','/opcua-endpoint2/test-connection','48249264falQHk','.red-ui-editableList-item-remove','assign','function','1137SnyuwP','catch','#node-input-localfile','width','isDefault','editableList','length','450SgTHVk','items','requestedMaxKeepAliveCount','text','password','application/json','.section-securityPolicy','-success','#node-config-input-userName','join','statusText','UserName','addClass','Anonymous','<p>','internal\x20error\x20','done','nodes','-messages','typedInput','subscriptions','invalid\x20endpoint','None','publishingEnabled','empty','#node-config-input-userCertificate','endpoint','150px','log','<span>','map','.input-isDefault','licence-widget-','data-i','-failure','EXPIRED','SignAndEncrypt','extra','#node-config-input-userIdentityType','fetching\x20failed\x20with\x20error','#section-Advanced','registerType','isDemo','opcua\x20endpoint','licence-widget-details','disabled','Fast\x20Subscription','.input-requestedLifetimeCount','.template','Slow\x20Subscription','<i>','template','#node-input-receiveBufferSize',':checked','userIdentityType','css','Certificate','children'];_0x31f6=function(){return _0x17b8a8;};return _0x31f6();}(function(_0x4d6bd7,_0x3f0ef6){const _0x570289=_0xe49e,_0x5502a1=_0x4d6bd7();while(!![]){try{const _0x5ad1f7=parseInt(_0x570289(0x182))/0x1*(-parseInt(_0x570289(0x12c))/0x2)+-parseInt(_0x570289(0x141))/0x3*(parseInt(_0x570289(0x188))/0x4)+-parseInt(_0x570289(0x111))/0x5*(-parseInt(_0x570289(0x148))/0x6)+-parseInt(_0x570289(0x12a))/0x7*(parseInt(_0x570289(0x191))/0x8)+-parseInt(_0x570289(0x10d))/0x9+parseInt(_0x570289(0x18e))/0xa*(-parseInt(_0x570289(0x12f))/0xb)+parseInt(_0x570289(0x13d))/0xc;if(_0x5ad1f7===_0x3f0ef6)break;else _0x5502a1['push'](_0x5502a1['shift']());}catch(_0x3e75fa){_0x5502a1['push'](_0x5502a1['shift']());}}}(_0x31f6,0xaa135),(function(){'use strict';const _0x32c9f5=_0xe49e;function _0x33208e(_0x2f7e09,_0x406aa8,_0x391f59,_0x222b8c){const _0x18b342=_0xe49e,_0xc9c246=$('#'+_0x2f7e09+_0x18b342(0x14f)),_0x3f657b=$('#'+_0x2f7e09+_0x18b342(0x16a)),_0x5727f=$('#'+_0x2f7e09+_0x18b342(0x1a4)),_0x5918de=$('#'+_0x2f7e09+_0x18b342(0x15a));let _0x16d281=![];_0xc9c246[_0x18b342(0x1a0)](),_0x3f657b[_0x18b342(0x1a0)](),_0x5727f['hide'](),_0x406aa8['on'](_0x18b342(0x10e),()=>{const _0x3bcbb5=_0x18b342;if(_0x16d281)return;_0x16d281=!![],_0x5727f['removeClass'](_0x3bcbb5(0x1a0)),_0x5727f[_0x3bcbb5(0x1a5)](_0x3bcbb5(0x19e)),_0xc9c246[_0x3bcbb5(0x154)](_0x3bcbb5(0x1a0)),_0x3f657b[_0x3bcbb5(0x154)](_0x3bcbb5(0x1a0)),_0x5918de[_0x3bcbb5(0x1a5)]('');const {body:_0x2caded,url:_0x1a075b}=_0x391f59();fetch(_0x1a075b,{'method':_0x3bcbb5(0x133),'headers':{'Content-Type':'application/json'},'body':JSON[_0x3bcbb5(0x108)](_0x2caded)})[_0x3bcbb5(0x187)](_0x421919=>_0x421919[_0x3bcbb5(0x121)]())[_0x3bcbb5(0x187)](_0x12ba3e=>{const _0x1e4231=_0x3bcbb5;_0x16d281=![],_0x5727f['hide'](),console[_0x1e4231(0x164)](JSON[_0x1e4231(0x108)](_0x12ba3e,null,'\x20'));if(_0x12ba3e[_0x1e4231(0x184)]==='ok')_0xc9c246['removeClass'](_0x1e4231(0x1a0)),_0x3f657b[_0x1e4231(0x154)]('hide'),_0x5918de[_0x1e4231(0x1a5)](_0x12ba3e[_0x1e4231(0x105)][_0x1e4231(0x186)]('\x0a','<br>')),_0x222b8c(null,_0x12ba3e);else{const _0x579b72=_0x45877f=>!_0x45877f?'':_0x45877f['split']('\x0a')[_0x1e4231(0x166)](_0xbdee94=>_0x1e4231(0x156)+_0xbdee94+_0x1e4231(0x122))[_0x1e4231(0x151)]('\x0a'),_0x21b29d=_0x60f935=>Array[_0x1e4231(0x192)](_0x60f935)?_0x60f935[_0x1e4231(0x166)](_0x579b72)['join']('\x0a'):_0x579b72(_0x60f935);_0xc9c246[_0x1e4231(0x154)]('hide'),_0x3f657b[_0x1e4231(0x12b)](_0x1e4231(0x1a0)),_0x5918de['html'](_0x21b29d(_0x12ba3e[_0x1e4231(0x105)])+_0x21b29d(_0x12ba3e[_0x1e4231(0x16d)])),_0x222b8c(new Error(_0x12ba3e[_0x1e4231(0x184)]),_0x12ba3e);}})[_0x3bcbb5(0x142)](_0x18f37f=>{const _0x297794=_0x3bcbb5;_0x16d281=![],_0x5727f[_0x297794(0x154)]('hide'),_0xc9c246['addClass'](_0x297794(0x1a0)),_0x3f657b['removeClass']('hide'),_0x5918de[_0x297794(0x1a5)](_0x297794(0x157)+_0x18f37f[_0x297794(0x105)]),console['log'](_0x297794(0x10c),_0x18f37f),_0x222b8c(_0x18f37f,null);});});}function _0x5670de(_0x44a3ea,_0x206ed4,_0x1b4baa,_0x5065a5){function _0x591897(_0x48aa94){return _0x48aa94 instanceof _0x1b4baa?_0x48aa94:new _0x1b4baa(function(_0x354ef0){_0x354ef0(_0x48aa94);});}return new(_0x1b4baa||(_0x1b4baa=Promise))(function(_0x33811f,_0x28cd05){const _0x185238=_0xe49e;function _0xc99e11(_0x3a0689){const _0x12f30a=_0xe49e;try{_0x56398a(_0x5065a5[_0x12f30a(0x102)](_0x3a0689));}catch(_0x16d803){_0x28cd05(_0x16d803);}}function _0x472d5f(_0x2e6f48){const _0x2f377d=_0xe49e;try{_0x56398a(_0x5065a5[_0x2f377d(0x104)](_0x2e6f48));}catch(_0x2f6564){_0x28cd05(_0x2f6564);}}function _0x56398a(_0x3a5053){const _0x49bb8f=_0xe49e;_0x3a5053[_0x49bb8f(0x158)]?_0x33811f(_0x3a5053[_0x49bb8f(0x19f)]):_0x591897(_0x3a5053[_0x49bb8f(0x19f)])[_0x49bb8f(0x187)](_0xc99e11,_0x472d5f);}_0x56398a((_0x5065a5=_0x5065a5[_0x185238(0x110)](_0x44a3ea,_0x206ed4||[]))['next']());});}typeof SuppressedError===_0x32c9f5(0x140)?SuppressedError:function(_0x21f8d8,_0x546915,_0x3c1f1b){const _0x4a8bcf=_0x32c9f5;var _0x5bd183=new Error(_0x3c1f1b);return _0x5bd183[_0x4a8bcf(0x116)]=_0x4a8bcf(0x119),_0x5bd183[_0x4a8bcf(0x189)]=_0x21f8d8,_0x5bd183['suppressed']=_0x546915,_0x5bd183;};function _0x5024d3(_0x334d70=''){return _0x5670de(this,void 0x0,void 0x0,function*(){const _0x57f170=_0xe49e,_0x46e3ce=_0x334d70+_0x57f170(0x135),_0x4d73df=_0x46e3ce+_0x57f170(0x103),_0x585c7b=yield fetch(_0x4d73df,{'method':_0x57f170(0x133),'headers':{'Content-Type':_0x57f170(0x14d)}});if(_0x585c7b[_0x57f170(0x106)]!==0xc8)return console[_0x57f170(0x164)](_0x57f170(0x16f),_0x585c7b[_0x57f170(0x106)],_0x585c7b[_0x57f170(0x152)]),{};const _0x1291c3=yield _0x585c7b['json']();return _0x1291c3;});}const _0x27abb3=()=>{const _0x16fe7f=_0x32c9f5;$[_0x16fe7f(0x1a6)](_0x16fe7f(0x125),{'options':{'baseUrl':''},'_create'(){const _0x4e1c5f=_0x16fe7f,_0x155fca=this;_0x5024d3(_0x155fca['baseUrl'])[_0x4e1c5f(0x187)](_0x53dc54=>{const _0x2d7d23=_0x4e1c5f;let _0x41e0d6='',_0x4499e4='',_0xbf546f='';const _0x120b1d=_0x53dc54[_0x2d7d23(0x106)];switch(_0x120b1d){case'AUTHORIZED':_0x41e0d6=_0x2d7d23(0x130);_0x53dc54[_0x2d7d23(0x172)]?_0x4499e4='Demo\x20licence':(_0x4499e4=_0x2d7d23(0x185),_0xbf546f='');break;case _0x2d7d23(0x16b):_0x41e0d6=_0x2d7d23(0x18d),_0x4499e4='Licence\x20expired',_0xbf546f='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 _0x2d7d23(0x19a):default:_0x41e0d6='fa\x20fa-exclamation-circle',_0x4499e4=_0x2d7d23(0x113),_0xbf546f=_0x2d7d23(0x10f);break;}this['element']['addClass']('licence-widget'),this[_0x2d7d23(0x196)][_0x2d7d23(0x154)](_0x2d7d23(0x168)+_0x120b1d),this['element']['append']($(_0x2d7d23(0x165))['addClass'](_0x2d7d23(0x114))[_0x2d7d23(0x11c)]($(_0x2d7d23(0x17a))[_0x2d7d23(0x154)](_0x41e0d6))),this['element']['append']($(_0x2d7d23(0x165))[_0x2d7d23(0x154)](_0x2d7d23(0x18f))[_0x2d7d23(0x14b)](_0x4499e4)),this['element'][_0x2d7d23(0x11c)]($(_0x2d7d23(0x12d))),this[_0x2d7d23(0x196)][_0x2d7d23(0x11c)]($('<span>')['addClass'](_0x2d7d23(0x174))[_0x2d7d23(0x11c)](_0xbf546f));})[_0x4e1c5f(0x142)](_0x391b9e=>{const _0x559337=_0x4e1c5f;console[_0x559337(0x164)](_0x391b9e);});}});};_0x27abb3();function _0x5907c4(_0x4e0929){const _0x5c02b4=_0x32c9f5;let _0x2e008a;try{_0x2e008a=new URL(_0x4e0929);}catch(_0x3991d9){return![];}return _0x2e008a['protocol']===_0x5c02b4(0x197);}const _0x57789b={'publishingEnabled':!![],'requestedLifetimeCount':0x3e8,'requestedMaxKeepAliveCount':0xa,'requestedPublishingInterval':0x3e8,'maxNotificationsPerPublish':0x0,'priority':0x64};RED[_0x32c9f5(0x159)][_0x32c9f5(0x171)](_0x32c9f5(0x126),{'category':_0x32c9f5(0x11b),'paletteLabel':_0x32c9f5(0x173),'defaults':{'name':{'value':''},'endpoint':{'value':'opc.tcp://opcuademo.sterfive.com:26543/UA/SampleServer','required':!![],'validate':_0x5907c4},'securityMode':{'value':'None'},'securityPolicy':{'value':_0x32c9f5(0x15e),'validate':_0x32dd07=>{if(!_0x32dd07)return![];return!![];}},'userIdentityType':{'value':'Anonymous'},'userName':{'value':''},'password':{'value':'','type':_0x32c9f5(0x14c)},'userCertificate':{'value':''},'userPrivatekey':{'value':''},'certificate':{'value':'n'},'localfile':{'value':''},'localkeyfile':{'value':''},'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[_0x32c9f5(0x13f)]({},_0x57789b)},{'id':'s2','name':_0x32c9f5(0x179),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0x64,'requestedMaxKeepAliveCount':0x14,'requestedPublishingInterval':0x1388,'maxNotificationsPerPublish':0x64,'priority':0xa}},{'id':'s3','name':_0x32c9f5(0x176),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0xfa0,'requestedMaxKeepAliveCount':0x64,'requestedPublishingInterval':0xfa,'maxNotificationsPerPublish':0x64,'priority':0xc8}}],'required':![]}},'credentials':{'user':{'type':_0x32c9f5(0x14b)},'password':{'type':_0x32c9f5(0x14c)}},'label':function(){const _0x444a5f=_0x32c9f5;return this[_0x444a5f(0x116)]||this[_0x444a5f(0x162)]||_0x444a5f(0x15d);},'oneditsave'(){const _0x26259e=_0x32c9f5,_0x1c878b=$(_0x26259e(0x11a)),_0x1a61ce=$('#node-config-input-securityMode');_0x1c878b[_0x26259e(0x190)]()===_0x26259e(0x15e)&&_0x1a61ce[_0x26259e(0x14b)]('None');const _0x382482=$('#subscriptions-container')[_0x26259e(0x146)](_0x26259e(0x149)),_0x8fcdf9=[],_0xc3cbc8=_0x13bc4e=>_0x13bc4e;_0x382482[_0x26259e(0x131)](function(_0x2b9c8a,_0x31f44d){const _0x5eaf27=_0x26259e,_0x973b0b=$(this),_0x1d5543={'id':'s'+_0x2b9c8a,'name':_0x973b0b[_0x5eaf27(0x129)](_0x5eaf27(0x18b))[_0x5eaf27(0x190)](),'isDefault':!!_0x973b0b[_0x5eaf27(0x129)](_0x5eaf27(0x167))[_0x5eaf27(0x190)](),'parameters':{'publishingEnabled':!!_0x973b0b['find'](_0x5eaf27(0x112))['is'](_0x5eaf27(0x17d)),'requestedLifetimeCount':_0xc3cbc8(_0x973b0b['find'](_0x5eaf27(0x177))[_0x5eaf27(0x190)]()),'requestedMaxKeepAliveCount':_0xc3cbc8(_0x973b0b[_0x5eaf27(0x129)](_0x5eaf27(0x139))[_0x5eaf27(0x190)]()),'requestedPublishingInterval':_0xc3cbc8(_0x973b0b[_0x5eaf27(0x129)]('.input-requestedPublishingInterval')[_0x5eaf27(0x190)]()),'maxNotificationsPerPublish':_0xc3cbc8(_0x973b0b[_0x5eaf27(0x129)](_0x5eaf27(0x13a))[_0x5eaf27(0x190)]()),'priority':_0xc3cbc8(_0x973b0b[_0x5eaf27(0x129)]('.input-priority')[_0x5eaf27(0x190)]())}};_0x1d5543[_0x5eaf27(0x107)][_0x5eaf27(0x15f)]=!![],_0x1d5543[_0x5eaf27(0x145)]&&_0x1d5543['id']==='s0'&&(_0x1d5543[_0x5eaf27(0x116)]='Default\x20Subscription'),_0x8fcdf9[_0x5eaf27(0x10b)](_0x1d5543);}),this[_0x26259e(0x15c)]=_0x8fcdf9;},'oneditprepare'(){const _0x4f77ef=_0x32c9f5,_0x1ed3e8=this,_0x54fd4c=RED[_0x4f77ef(0x115)]['create']({'id':'node-config-endpoint-tabs','onchange':function(_0x85c4eb){const _0x202f4c=_0x4f77ef;$(_0x202f4c(0x123))[_0x202f4c(0x181)]()['hide'](),$('#'+_0x85c4eb['id'])['show']();}});_0x54fd4c['addTab']({'id':_0x4f77ef(0x134),'label':_0x4f77ef(0x13b)},0x0),_0x54fd4c[_0x4f77ef(0x136)]({'id':_0x4f77ef(0x12e),'label':_0x4f77ef(0x195)},0x1),setTimeout(function(){_0x54fd4c['resize']();},0x0);{const _0x4db8b9=_0x51b846=>{const _0x267632=_0x4f77ef;switch(_0x51b846){case null:case undefined:case'':case _0x267632(0x15e):$('.section-securityPolicy')[_0x267632(0x1a0)]();break;case'Sign':case _0x267632(0x16c):{const _0x210c98=$(_0x267632(0x14e));(_0x210c98['val']()===_0x267632(0x15e)||_0x210c98[_0x267632(0x190)]()==='')&&_0x210c98[_0x267632(0x190)](_0x267632(0x117)),$('.section-securityPolicy')[_0x267632(0x183)]();}break;default:console[_0x267632(0x164)](_0x267632(0x11d)+_0x51b846);}};_0x4db8b9(_0x1ed3e8[_0x4f77ef(0x1a2)]);const _0x28b54c=$(_0x4f77ef(0x19b));_0x28b54c['on'](_0x4f77ef(0x11e),()=>{const _0x5024d7=_0x4f77ef,_0x322c60=_0x28b54c[_0x5024d7(0x190)]();_0x4db8b9(_0x322c60);});}const _0x2a1a82=$('#licenceWidget');_0x2a1a82[_0x4f77ef(0x137)]({'baseUrl':''});{const _0x1afc30=$(_0x4f77ef(0x199)),_0x566da9=$(_0x4f77ef(0x1a3)),_0x1c1b49=_0x1d4a7b=>{const _0x478c14=_0x4f77ef;_0x1d4a7b=_0x1d4a7b||'Anonymous';switch(_0x1d4a7b){case _0x478c14(0x155):$(_0x478c14(0x150))[_0x478c14(0x190)](''),$('#node-config-input-password')[_0x478c14(0x190)](''),_0x1afc30[_0x478c14(0x1a0)](),_0x566da9['hide']();break;case _0x478c14(0x153):_0x1afc30[_0x478c14(0x183)](),_0x566da9['hide']();break;case _0x478c14(0x180):$(_0x478c14(0x150))[_0x478c14(0x190)](''),$(_0x478c14(0x120))[_0x478c14(0x190)](''),_0x566da9['show'](),_0x1afc30[_0x478c14(0x1a0)]();break;default:console[_0x478c14(0x164)](_0x478c14(0x138)+_0x1d4a7b);}};_0x1c1b49(_0x1ed3e8[_0x4f77ef(0x17e)]);const _0x11a9a3=$(_0x4f77ef(0x16e));_0x11a9a3['on'](_0x4f77ef(0x11e),()=>{const _0x2de37c=_0x4f77ef,_0x36d8e6=_0x11a9a3[_0x2de37c(0x190)]();_0x1c1b49(_0x36d8e6);}),$('#section-Advanced')[_0x4f77ef(0x1a0)](),$(_0x4f77ef(0x118))['on'](_0x4f77ef(0x11e),function(){const _0x5c67b8=_0x4f77ef;$(this)['prop'](_0x5c67b8(0x109))?$(_0x5c67b8(0x170))[_0x5c67b8(0x183)]():$(_0x5c67b8(0x170))[_0x5c67b8(0x1a0)]();}),_0x33208e('connection',$(_0x4f77ef(0x124)),()=>({'url':_0x4f77ef(0x13c),'body':{'endpointNode':{'id':_0x1ed3e8['id'],'endpoint':$('#node-config-input-endpoint')[_0x4f77ef(0x190)](),'securityMode':$(_0x4f77ef(0x19b))[_0x4f77ef(0x190)](),'securityPolicy':$(_0x4f77ef(0x11a))['val'](),'userIdentityType':$(_0x4f77ef(0x16e))[_0x4f77ef(0x190)](),'userName':$(_0x4f77ef(0x150))[_0x4f77ef(0x190)](),'password':$('#node-config-input-password')[_0x4f77ef(0x190)](),'userCertificate':$(_0x4f77ef(0x161))['val'](),'userPrivatekey':$(_0x4f77ef(0x11f))['val'](),'certificate':$(_0x4f77ef(0x101))[_0x4f77ef(0x190)](),'localfile':$(_0x4f77ef(0x143))[_0x4f77ef(0x190)](),'localkeyfile':$('#node-input-localkeyfile')[_0x4f77ef(0x190)](),'useTransport':$(_0x4f77ef(0x18c))['prop'](_0x4f77ef(0x109)),'maxChunkCount':$('#node-input-maxChunkCount')['val'](),'maxMessageSize':$('#node-input-maxMessageSize')[_0x4f77ef(0x190)](),'receiveBufferSize':$(_0x4f77ef(0x17c))['val'](),'sendBufferSize':$(_0x4f77ef(0x132))[_0x4f77ef(0x190)]()}}}),()=>{});const _0x3b923b=(_0x5d97d1,_0x4c0ee2)=>{const _0x1790a5=_0x4f77ef;var _0x1ce75e=_0x5d97d1[_0x1790a5(0x144)]()||0x64;_0x5d97d1[_0x1790a5(0x129)]('label')[_0x1790a5(0x15b)](_0x1790a5(0x144),_0x1ce75e-0xf);},_0x70a0a4=$(_0x4f77ef(0x128))[_0x4f77ef(0x17f)]({'min-height':_0x4f77ef(0x163),'min-width':'260px'})[_0x4f77ef(0x146)]({'addItem':(_0x2d227c,_0x2bdbf2,_0x119a8a)=>{const _0x45a163=_0x4f77ef,_0x5181c1=_0x119a8a,_0x1131a0=$(_0x45a163(0x178))[_0x45a163(0x1a1)]()['appendTo'](_0x2d227c);_0x1131a0['removeAttr']('id')['removeClass'](_0x45a163(0x1a0))[_0x45a163(0x12b)](_0x45a163(0x17b))['attr'](_0x45a163(0x169),_0x2bdbf2),_0x1131a0['find'](_0x45a163(0x18b))['val'](_0x5181c1[_0x45a163(0x116)]),_0x1131a0['find'](_0x45a163(0x18a))[_0x45a163(0x190)](_0x5181c1[_0x45a163(0x107)][_0x45a163(0x127)]),_0x1131a0[_0x45a163(0x129)](_0x45a163(0x139))[_0x45a163(0x190)](_0x5181c1[_0x45a163(0x107)][_0x45a163(0x14a)]),_0x1131a0[_0x45a163(0x129)](_0x45a163(0x177))[_0x45a163(0x190)](_0x5181c1[_0x45a163(0x107)]['requestedLifetimeCount']),_0x1131a0[_0x45a163(0x129)](_0x45a163(0x13a))[_0x45a163(0x190)](_0x5181c1['parameters'][_0x45a163(0x19d)]||0x0),_0x1131a0[_0x45a163(0x129)](_0x45a163(0x19c))[_0x45a163(0x190)](_0x5181c1[_0x45a163(0x107)]['priority']||0x0),_0x1131a0[_0x45a163(0x129)]('.subscription-id')['text'](''+_0x2bdbf2),_0x5181c1[_0x45a163(0x145)]&&_0x1131a0[_0x45a163(0x129)](_0x45a163(0x18b))[_0x45a163(0x193)](_0x45a163(0x194),!![]),_0x1131a0[_0x45a163(0x129)]('.input-isDefault')[_0x45a163(0x193)](_0x45a163(0x109),_0x5181c1[_0x45a163(0x145)]),_0x5181c1[_0x45a163(0x145)]&&(_0x2d227c[_0x45a163(0x129)](_0x45a163(0x13e))[_0x45a163(0x154)](_0x45a163(0x1a0)),setTimeout(()=>_0x1131a0[_0x45a163(0x129)](_0x45a163(0x167))[_0x45a163(0x193)](_0x45a163(0x175),!![]),0xa));},'removable':!![],'resizeItem':_0x3b923b}),_0x168931=()=>{const _0x450545=_0x4f77ef,_0x58e959=_0x1ed3e8[_0x450545(0x15c)]||[];_0x58e959[_0x450545(0x147)]===0x0&&_0x58e959[_0x450545(0x10b)]({'id':'s1','name':_0x450545(0x10a),'isDefault':!![],'parameters':Object[_0x450545(0x13f)]({},_0x57789b)});_0x70a0a4[_0x450545(0x146)](_0x450545(0x160));for(const _0x3e4e69 of _0x58e959){_0x70a0a4[_0x450545(0x146)](_0x450545(0x198),_0x3e4e69);}};_0x168931();}}});}()));
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHgzMzIwOGUiLCJfMHgyZjdlMDkiLCJfMHg0MDZhYTgiLCJfMHgzOTFmNTkiLCJfMHgyMjJiOGMiLCJfMHhjOWMyNDYiLCIkIiwiXzB4M2Y2NTdiIiwiXzB4NTcyN2YiLCJfMHg1OTE4ZGUiLCJfMHgxNmQyODEiLCJib2R5IiwiXzB4MmNhZGVkIiwidXJsIiwiXzB4MWEwNzViIiwiZmV0Y2giLCJKU09OIiwiXzB4NDIxOTE5IiwiXzB4MTJiYTNlIiwiY29uc29sZSIsIl8weDU3OWI3MiIsIl8weDQ1ODc3ZiIsIl8weGJkZWU5NCIsIl8weDIxYjI5ZCIsIl8weDYwZjkzNSIsIkFycmF5IiwiRXJyb3IiLCJfMHgxOGYzN2YiLCJfMHg1NjcwZGUiLCJfMHg0NGEzZWEiLCJfMHgyMDZlZDQiLCJfMHgxYjRiYWEiLCJfMHg1MDY1YTUiLCJfMHg1OTE4OTciLCJfMHg0OGFhOTQiLCJfMHgzNTRlZjAiLCJQcm9taXNlIiwiXzB4MzM4MTFmIiwiXzB4MjhjZDA1IiwiXzB4Yzk5ZTExIiwiXzB4M2EwNjg5IiwiXzB4NTYzOThhIiwiXzB4MTZkODAzIiwiXzB4NDcyZDVmIiwiXzB4MmU2ZjQ4IiwiXzB4MmY2NTY0IiwiXzB4M2E1MDUzIiwiU3VwcHJlc3NlZEVycm9yIiwiXzB4MjFmOGQ4IiwiXzB4NTQ2OTE1IiwiXzB4M2MxZjFiIiwiXzB4NWJkMTgzIiwiXzB4NTAyNGQzIiwiXzB4MzM0ZDcwIiwiXzB4NDZlM2NlIiwiXzB4NGQ3M2RmIiwiXzB4NTg1YzdiIiwiXzB4MTI5MWMzIiwiXzB4MjdhYmIzIiwiXzB4MTU1ZmNhIiwiXzB4NTNkYzU0IiwiXzB4NDFlMGQ2IiwiXzB4NDQ5OWU0IiwiXzB4YmY1NDZmIiwiXzB4MTIwYjFkIiwiXzB4MzkxYjllIiwiXzB4NTkwN2M0IiwiXzB4NGUwOTI5IiwiXzB4MmUwMDhhIiwiVVJMIiwiXzB4Mzk5MWQ5IiwiXzB4NTc3ODliIiwiUkVEIiwiXzB4MzJkZDA3IiwiT2JqZWN0IiwiXzB4MWM4NzhiIiwiXzB4MWE2MWNlIiwiXzB4MzgyNDgyIiwiXzB4OGZjZGY5IiwiXzB4YzNjYmM4IiwiXzB4MTNiYzRlIiwiXzB4MmI5YzhhIiwiXzB4MzFmNDRkIiwiXzB4OTczYjBiIiwiXzB4MWQ1NTQzIiwiXzB4MWVkM2U4IiwiXzB4NTRmZDRjIiwiXzB4ODVjNGViIiwic2V0VGltZW91dCIsIl8weDRkYjhiOSIsIl8weDUxYjg0NiIsInVuZGVmaW5lZCIsIl8weDIxMGM5OCIsIl8weDI4YjU0YyIsIl8weDMyMmM2MCIsIl8weDJhMWE4MiIsIl8weDFhZmMzMCIsIl8weDU2NmRhOSIsIl8weDFjMWI0OSIsIl8weDFkNGE3YiIsIl8weDExYTlhMyIsIl8weDM2ZDhlNiIsIl8weDNiOTIzYiIsIl8weDVkOTdkMSIsIl8weDRjMGVlMiIsIl8weDFjZTc1ZSIsIl8weDcwYTBhNCIsIl8weDJkMjI3YyIsIl8weDJiZGJmMiIsIl8weDExOWE4YSIsIl8weDUxODFjMSIsIl8weDExMzFhMCIsIl8weDE2ODkzMSIsIl8weDU4ZTk1OSIsIl8weDNlNGU2OSJdLCJtYXBwaW5ncyI6ImkxSEFBQSxDQUFDLFUsQ0FDRyxhLHdCQUVBLFNBQVNBLFNBQVQsQ0FBdUJDLFNBQXZCLENBQStCQyxTQUEvQixDQUFvQ0MsU0FBcEMsQ0FBMENDLFNBQTFDLEMseUJBQ1VDLFNBQUEsQ0FBY0MsQ0FBQSxDLElBQU1MLFMsaUJBQU4sQyxDQUNkTSxTQUFBLENBQWNELENBQUEsQyxJQUFNTCxTLGlCQUFOLEMsQ0FDZE8sUUFBQSxDQUFjRixDQUFBLEMsSUFBTUwsUyxpQkFBTixDLENBQ2RRLFNBQUEsQ0FBV0gsQ0FBQSxDLElBQU1MLFMsaUJBQU4sQyxDQUNqQixJQUFJUyxTQUFBLEMsR0FBSixDQUNBTCxTQUFBLEMsZ0JBQUEsRyxDQUNBRSxTQUFBLEMsZ0JBQUEsRyxDQUNBQyxRQUFBLEMsTUFBQSxHLENBQ0FOLFNBQUEsQyxJQUFBLEUsZ0JBQUEsQ0FBZ0IsSSw4QkFDUlEsUyxDQUNBLE9BQ0pBLFNBQUEsQyxLQUNBRixRQUFB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Z0JBQUEsRSxnQkFBQSxDLElBQUEsQ0FBakIsQyxHQUFBLEMsR0FuQk0sQyxXQXVCZCxDLElBdkJjLEMsWUF3QmQsQ0FBWVQsU0F4QkUsQ0FGTyxDQUp6QixDQWdDTVUsU0FBQSxDQUFrQixJLDJCQUNkQyxTQUFBLENBQWdCNUIsU0FBQSxDLGdCQUFBLEdBQXNCLEUsQ0FDeEM0QixTQUFBLEMsZ0JBQUEsSSxLQUVBQSxTQUFBLEMsZ0JBQUEsRUFBbUIsQyxJQUNmLEMsSUFEZSxDLE1BRWYsQyxnQkFGZSxDLFdBR2YsQyxJQUhlLEMsWUFJZixDQUFZdkMsTUFBQSxDLGdCQUFBLEVBQWMsRUFBZCxDQUFrQkgsU0FBbEIsQ0FKRyxDQUFuQixDLENBT0ptQyxTQUFBLEMsZ0JBQUEsRSxnQkFBQSxFQUNBLFVBQVdRLFNBQVgsSUFBMkJELFNBQTNCLEMsQ0FFSVAsU0FBQSxDLGdCQUFBLEUsZ0JBQUEsQ0FBeUNRLFNBQXpDLEMsR0E5Q1IsQ0FpREFGLFNBQUEsRSxHQWhUOEIsQ0FBMUMsQyxFQTVMSixHIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uICgpIHtcbiAgICAndXNlIHN0cmljdCc7XG5cbiAgICBmdW5jdGlvbiBtYW5hZ2VBUElDYWxsKHByZWZpeCwgYnRuLCBmdW5jLCBvblJlc3VsdCkge1xuICAgICAgICBjb25zdCBzdWNjZXNzSWNvbiA9ICQoYCMke3ByZWZpeH0tc3VjY2Vzc2ApO1xuICAgICAgICBjb25zdCBmYWlsdXJlSWNvbiA9ICQoYCMke3ByZWZpeH0tZmFpbHVyZWApO1xuICAgICAgICBjb25zdCBwZW5kaW5nSWNvbiA9ICQoYCMke3ByZWZpeH0tcGVuZGluZ2ApO1xuICAgICAgICBjb25zdCBtZXNzYWdlcyA9ICQoYCMke3ByZWZpeH0tbWVzc2FnZXNgKTtcbiAgICAgICAgbGV0IGFjdGlvblBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgc3VjY2Vzc0ljb24uaGlkZSgpO1xuICAgICAgICBmYWlsdXJlSWNvbi5oaWRlKCk7XG4gICAgICAgIHBlbmRpbmdJY29uLmhpZGUoKTtcbiAgICAgICAgYnRuLm9uKFwiY2xpY2tcIiwgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGFjdGlvblBlbmRpbmcpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgYWN0aW9uUGVuZGluZyA9IHRydWU7XG4gICAgICAgICAgICBwZW5kaW5nSWNvbi5yZW1vdmVDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICBwZW5kaW5nSWNvbi5odG1sKFwiVGVzdGluZyBDb25uZWN0aW9uIC4uLlwiKTtcbiAgICAgICAgICAgIHN1Y2Nlc3NJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgIGZhaWx1cmVJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgIG1lc3NhZ2VzLmh0bWwoXCJcIik7XG4gICAgICAgICAgICBjb25zdCB7IGJvZHksIHVybCB9ID0gZnVuYygpO1xuICAgICAgICAgICAgLy8geHggY29uc29sZS5sb2coXCJ4eHh4eFwiLCBib2R5KTtcbiAgICAgICAgICAgIGZldGNoKHVybCwge1xuICAgICAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGJvZHkpLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAudGhlbigoZGF0YSkgPT4gZGF0YS5qc29uKCkpXG4gICAgICAgICAgICAgICAgLnRoZW4oKGpzb24pID0+IHtcbiAgICAgICAgICAgICAgICBhY3Rpb25QZW5kaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgcGVuZGluZ0ljb24uaGlkZSgpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KGpzb24sIG51bGwsIFwiIFwiKSk7XG4gICAgICAgICAgICAgICAgaWYgKGpzb24ucmVzdWx0ID09PSBcIm9rXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgc3VjY2Vzc0ljb24ucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICBmYWlsdXJlSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VzLmh0bWwoanNvbi5tZXNzYWdlLnJlcGxhY2UoXCJcXG5cIiwgXCI8YnI+XCIpKTtcbiAgICAgICAgICAgICAgICAgICAgb25SZXN1bHQobnVsbCwganNvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGFwdCA9IChzdHIpID0+ICFzdHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gXCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgOiBzdHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3BsaXQoXCJcXG5cIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWFwKChhKSA9PiBgPHA+JHthfTwvcD5gKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5qb2luKFwiXFxuXCIpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGFwdDIgPSAoc3RyKSA9PiAoQXJyYXkuaXNBcnJheShzdHIpID8gc3RyLm1hcChhZGFwdCkuam9pbihcIlxcblwiKSA6IGFkYXB0KHN0cikpO1xuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgIGZhaWx1cmVJY29uLnJlbW92ZUNsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZXMuaHRtbChhZGFwdDIoanNvbi5tZXNzYWdlKSArIGFkYXB0Mihqc29uLmV4dHJhKSk7XG4gICAgICAgICAgICAgICAgICAgIG9uUmVzdWx0KG5ldyBFcnJvcihqc29uLnJlc3VsdCksIGpzb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICBhY3Rpb25QZW5kaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgcGVuZGluZ0ljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgIHN1Y2Nlc3NJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICBmYWlsdXJlSWNvbi5yZW1vdmVDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgbWVzc2FnZXMuaHRtbChcImludGVybmFsIGVycm9yIFwiICsgZXJyLm1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZXJyXCIsIGVycik7XG4gICAgICAgICAgICAgICAgb25SZXN1bHQoZXJyLCBudWxsKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cclxuXHJcbiAgICBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnlcclxuICAgIHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cclxuXHJcbiAgICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXHJcbiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFlcclxuICAgIEFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcclxuICAgIElORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxyXG4gICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1JcclxuICAgIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcclxuICAgIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXHJcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4gICAgLyogZ2xvYmFsIFJlZmxlY3QsIFByb21pc2UsIFN1cHByZXNzZWRFcnJvciwgU3ltYm9sICovXHJcblxyXG5cclxuICAgIGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgICAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cclxuICAgICAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cclxuICAgICAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHR5cGVvZiBTdXBwcmVzc2VkRXJyb3IgPT09IFwiZnVuY3Rpb25cIiA/IFN1cHByZXNzZWRFcnJvciA6IGZ1bmN0aW9uIChlcnJvciwgc3VwcHJlc3NlZCwgbWVzc2FnZSkge1xyXG4gICAgICAgIHZhciBlID0gbmV3IEVycm9yKG1lc3NhZ2UpO1xyXG4gICAgICAgIHJldHVybiBlLm5hbWUgPSBcIlN1cHByZXNzZWRFcnJvclwiLCBlLmVycm9yID0gZXJyb3IsIGUuc3VwcHJlc3NlZCA9IHN1cHByZXNzZWQsIGU7XHJcbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gZmV0Y2hMaWNlbmNlSW5mbyhiYXNlVXJsID0gXCJcIikge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgY29uc3Qgcm9vdCA9IGAke2Jhc2VVcmx9L29wY3VhLWVuZHBvaW50MmA7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSBgJHtyb290fS9saWNlbmNlSW5mb2A7XG4gICAgICAgICAgICBjb25zdCBkYXRhID0geWllbGQgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChkYXRhLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJmZXRjaGluZyBmYWlsZWQgd2l0aCBlcnJvclwiLCBkYXRhLnN0YXR1cywgZGF0YS5zdGF0dXNUZXh0KTtcbiAgICAgICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBqc29uID0geWllbGQgZGF0YS5qc29uKCk7XG4gICAgICAgICAgICByZXR1cm4ganNvbjtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IGRlY2xhcmVMaWNlbmNlV2lkZ2V0ID0gKCkgPT4ge1xuICAgICAgICAkLndpZGdldChcInN0ZXJmaXZlLmxpY2VuY2VXaWRnZXRcIiwge1xuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgIGJhc2VVcmw6IFwiXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX2NyZWF0ZSgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICBmZXRjaExpY2VuY2VJbmZvKHRoYXQuYmFzZVVybClcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKGpzb24pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGljb24gPSBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBsZXQgbXNnID0gXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGRldGFpbHMgPSBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGF0dXMgPSBqc29uLnN0YXR1cztcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJBVVRIT1JJWkVEXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbiA9IFwiZmEgZmEtY2hlY2stY2lyY2xlXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGpzb24uaXNEZW1vKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9IFwiRGVtbyBsaWNlbmNlXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBcIllvdXIgbGljZW5jZSBpcyB2YWxpZC5cIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscyA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkVYUElSRURcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uID0gXCJmYSBmYS1jYWxlbmRhci10aW1lXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gXCJMaWNlbmNlIGV4cGlyZWRcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJZb3VyIGxpY2Vuc2UgaGFzIGV4cGlyZWQuIFBsZWFzZSBjb250YWN0IG91ciBzdXBwb3J0IHRlYW0gb3IgdmlzaXQgb3VyIHdlYnNpdGUgdG8gcmVuZXcgeW91ciBsaWNlbnNlIGFuZCByZWdhaW4gYWNjZXNzIHRvIG91ciBzZXJ2aWNlcy5cIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJGQUlMRURcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbiA9IFwiZmEgZmEtZXhjbGFtYXRpb24tY2lyY2xlXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gXCJZb3VyIGxpY2Vuc2UgaXMgY3VycmVudGx5IGludmFsaWQuXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscyA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQbGVhc2UgPGEgaHJlZj1cIm1haWx0bzpjb250YWN0QHN0ZXJmaXZlLmNvbVwiPiBjb250YWN0IG91ciBzdXBwb3J0IHRlYW08L2E+IG9yIHZpc2l0IG91ciB3ZWJzaXRlIHRvIHJlbmV3IHlvdXIgbGljZW5zZSBhbmQgcmVnYWluIGFjY2VzcyB0byBvdXIgc2VydmljZXMuJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvKiogKi9cbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5lbGVtZW50LnRleHQoXCJMaWNlbmNlIFwiICsgSlNPTi5zdHJpbmdpZnkoanNvbikpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldFwiKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFkZENsYXNzKFwibGljZW5jZS13aWRnZXQtXCIgKyBzdGF0dXMpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKCQoXCI8c3Bhbj5cIikuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldC1pY29uXCIpLmFwcGVuZCgkKFwiPGk+XCIpLmFkZENsYXNzKGljb24pKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoJChcIjxzcGFuPlwiKS5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0LW1zZ1wiKS50ZXh0KG1zZykpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKCQoXCI8YnI+XCIpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZCgkKFwiPHNwYW4+XCIpLmFkZENsYXNzKFwibGljZW5jZS13aWRnZXQtZGV0YWlsc1wiKS5hcHBlbmQoZGV0YWlscykpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgZGVjbGFyZUxpY2VuY2VXaWRnZXQoKTtcbiAgICBmdW5jdGlvbiBpc1ZhbGlkT1BDX1VBX1VSSShzdHIpIHtcbiAgICAgICAgbGV0IHVybDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHVybCA9IG5ldyBVUkwoc3RyKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoXykge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1cmwucHJvdG9jb2wgPT09IFwib3BjLnRjcDpcIjtcbiAgICB9XG4gICAgY29uc3QgZGVmYXVsdFN1YnNjcmlwdGlvblBhcmFtZXRlcnMgPSB7XG4gICAgICAgIHB1Ymxpc2hpbmdFbmFibGVkOiB0cnVlLFxuICAgICAgICByZXF1ZXN0ZWRMaWZldGltZUNvdW50OiAxMDAwLFxuICAgICAgICByZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudDogMTAsIC8vIGV2ZXJ5IDEwIHNlY29uZHNcbiAgICAgICAgcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsOiAxMDAwLFxuICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogMCxcbiAgICAgICAgcHJpb3JpdHk6IDEwMCxcbiAgICB9O1xuICAgIFJFRC5ub2Rlcy5yZWdpc3RlclR5cGUoXCJPcGNVYS1FbmRwb2ludDJcIiwge1xuICAgICAgICBjYXRlZ29yeTogXCJjb25maWdcIixcbiAgICAgICAgcGFsZXR0ZUxhYmVsOiBcIm9wY3VhIGVuZHBvaW50XCIsXG4gICAgICAgIGRlZmF1bHRzOiB7XG4gICAgICAgICAgICBuYW1lOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICBlbmRwb2ludDoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBcIm9wYy50Y3A6Ly9vcGN1YWRlbW8uc3RlcmZpdmUuY29tOjI2NTQzL1VBL1NhbXBsZVNlcnZlclwiLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIHZhbGlkYXRlOiBpc1ZhbGlkT1BDX1VBX1VSSSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAvLyBTZWN1cml0eSBNb2RlXG4gICAgICAgICAgICBzZWN1cml0eU1vZGU6IHsgdmFsdWU6IFwiTm9uZVwiIH0sXG4gICAgICAgICAgICBzZWN1cml0eVBvbGljeToge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBcIk5vbmVcIixcbiAgICAgICAgICAgICAgICB2YWxpZGF0ZTogKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdXNlcklkZW50aXR5VHlwZTogeyB2YWx1ZTogXCJBbm9ueW1vdXNcIiB9LFxuICAgICAgICAgICAgLy8gdG8gdXNlIHdoZW4gdXNlcklkZW50aXR5VHlwZSBpcyBVc2VyTmFtZVxuICAgICAgICAgICAgdXNlck5hbWU6IHsgdmFsdWU6IFwiXCIgfSxcbiAgICAgICAgICAgIHBhc3N3b3JkOiB7IHZhbHVlOiBcIlwiLCB0eXBlOiBcInBhc3N3b3JkXCIgfSxcbiAgICAgICAgICAgIC8vIHRvIHVzZSB3aGVuIHVzZXJJZGVudGl0eVR5cGUgaXMgQ2VydGlmaWNhdGVcbiAgICAgICAgICAgIHVzZXJDZXJ0aWZpY2F0ZTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgdXNlclByaXZhdGVrZXk6IHsgdmFsdWU6IFwiXCIgfSxcbiAgICAgICAgICAgIC8vIHVzZXJuYW1lXG4gICAgICAgICAgICAvLyBUaGVzZSBhcmUgZml4ZWQgb3IgY2FuIGJlIHJlYWQgdGhyb3VnaCBlbmRQb2ludFxuICAgICAgICAgICAgY2VydGlmaWNhdGU6IHsgdmFsdWU6IFwiblwiIH0sXG4gICAgICAgICAgICBsb2NhbGZpbGU6IHsgdmFsdWU6IFwiXCIgfSxcbiAgICAgICAgICAgIGxvY2Fsa2V5ZmlsZTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIHVzZVRyYW5zcG9ydDogeyB2YWx1ZTogZmFsc2UsIHJlcXVpcmVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgbWF4Q2h1bmtDb3VudDogeyB2YWx1ZTogMSwgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICBtYXhNZXNzYWdlU2l6ZTogeyB2YWx1ZTogODE5MiwgcmVxdWlyZWQ6IGZhbHNlIH0sIC8vIHNob3VsZCBiZSBhdCBsZWFzdCA4MTkyXG4gICAgICAgICAgICByZWNlaXZlQnVmZmVyU2l6ZTogeyB2YWx1ZTogODE5MiwgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICBzZW5kQnVmZmVyU2l6ZTogeyB2YWx1ZTogODE5MiwgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICBzdWJzY3JpcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwiczFcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiRGVmYXVsdCBTdWJzY3JpcHRpb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRGVmYXVsdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRTdWJzY3JpcHRpb25QYXJhbWV0ZXJzKSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwiczJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiU2xvdyBTdWJzY3JpcHRpb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRGVmYXVsdDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGlzaGluZ0VuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTGlmZXRpbWVDb3VudDogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50OiAyMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWw6IDUwMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2g6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogMTAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJzM1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJGYXN0IFN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaXNoaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRMaWZldGltZUNvdW50OiA0MDAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50OiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsOiAyNTAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2g6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogMjAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGNyZWRlbnRpYWxzOiB7XG4gICAgICAgICAgICB1c2VyOiB7IHR5cGU6IFwidGV4dFwiIH0sXG4gICAgICAgICAgICBwYXNzd29yZDogeyB0eXBlOiBcInBhc3N3b3JkXCIgfSxcbiAgICAgICAgfSxcbiAgICAgICAgbGFiZWw6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5hbWUgfHwgdGhpcy5lbmRwb2ludCB8fCBcImludmFsaWQgZW5kcG9pbnRcIjtcbiAgICAgICAgfSxcbiAgICAgICAgb25lZGl0c2F2ZSgpIHtcbiAgICAgICAgICAgIGNvbnN0IF9zZWN1cml0eVBvbGljeSA9ICQoXCIjbm9kZS1jb25maWctaW5wdXQtc2VjdXJpdHlQb2xpY3lcIik7XG4gICAgICAgICAgICBjb25zdCBfc2VjdXJpdHlNb2RlID0gJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eU1vZGVcIik7XG4gICAgICAgICAgICBpZiAoX3NlY3VyaXR5UG9saWN5LnZhbCgpID09PSBcIk5vbmVcIikge1xuICAgICAgICAgICAgICAgIF9zZWN1cml0eU1vZGUudGV4dChcIk5vbmVcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyAoKCgoKCgoKCgoIHJldHJpZXZlIHN1YnNjcmlwdGlvbiBkYXRhICkpKSkpKSkpKSlcbiAgICAgICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbnNJdGVtcyA9ICQoXCIjc3Vic2NyaXB0aW9ucy1jb250YWluZXJcIikuZWRpdGFibGVMaXN0KFwiaXRlbXNcIik7XG4gICAgICAgICAgICBjb25zdCBzID0gW107XG4gICAgICAgICAgICBjb25zdCBuID0gKHgpID0+IHg7XG4gICAgICAgICAgICBzdWJzY3JpcHRpb25zSXRlbXMuZWFjaChmdW5jdGlvbiAoaW5kZXgsIGl0ZW0pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBlID0gJCh0aGlzKTtcbiAgICAgICAgICAgICAgICBjb25zdCBhID0ge1xuICAgICAgICAgICAgICAgICAgICBpZDogXCJzXCIgKyBpbmRleCxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogZS5maW5kKFwiLmlucHV0LW5hbWVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgIGlzRGVmYXVsdDogISFlLmZpbmQoXCIuaW5wdXQtaXNEZWZhdWx0XCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwdWJsaXNoaW5nRW5hYmxlZDogISFlLmZpbmQoXCIuaW5wdXQtcHVibGlzaGluZ0VuYWJsZWRcIikuaXMoXCI6Y2hlY2tlZFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZExpZmV0aW1lQ291bnQ6IG4oZS5maW5kKFwiLmlucHV0LXJlcXVlc3RlZExpZmV0aW1lQ291bnRcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQ6IG4oZS5maW5kKFwiLmlucHV0LXJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50XCIpLnZhbCgpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbDogbihlLmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsXCIpLnZhbCgpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoOiBuKGUuZmluZChcIi5pbnB1dC1tYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaFwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0eTogbihlLmZpbmQoXCIuaW5wdXQtcHJpb3JpdHlcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgLy8gZm9yY2UgdG8gYmUgdHJ1ZVxuICAgICAgICAgICAgICAgIGEucGFyYW1ldGVycy5wdWJsaXNoaW5nRW5hYmxlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgaWYgKGEuaXNEZWZhdWx0ICYmIGEuaWQgPT09IFwiczBcIikge1xuICAgICAgICAgICAgICAgICAgICAvLyBub3JtYWxpemUgZGVmYXVsdCBzdWJzY3JpcHRpb24gbmFtZVxuICAgICAgICAgICAgICAgICAgICBhLm5hbWUgPSBcIkRlZmF1bHQgU3Vic2NyaXB0aW9uXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHMucHVzaChhKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zID0gcztcbiAgICAgICAgfSxcbiAgICAgICAgb25lZGl0cHJlcGFyZSgpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzO1xuICAgICAgICAgICAgY29uc3QgdGFicyA9IFJFRC50YWJzLmNyZWF0ZSh7XG4gICAgICAgICAgICAgICAgaWQ6IFwibm9kZS1jb25maWctZW5kcG9pbnQtdGFic1wiLFxuICAgICAgICAgICAgICAgIG9uY2hhbmdlOiBmdW5jdGlvbiAodGFiKSB7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1jb25maWctZW5kcG9pbnQtdGFicy1jb250ZW50XCIpLmNoaWxkcmVuKCkuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAkKFwiI1wiICsgdGFiLmlkKS5zaG93KCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGFicy5hZGRUYWIoe1xuICAgICAgICAgICAgICAgIGlkOiBcImVuZHBvaW50LXRhYi1jb25uZWN0aW9uXCIsXG4gICAgICAgICAgICAgICAgbGFiZWw6IFwiQ29ubmVjdGlvblwiLFxuICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICB0YWJzLmFkZFRhYih7XG4gICAgICAgICAgICAgICAgaWQ6IFwiZW5kcG9pbnQtdGFiLXN1YnNjcmlwdGlvbnNcIixcbiAgICAgICAgICAgICAgICBsYWJlbDogXCJTdWJzY3JpcHRpb25zXCIsXG4gICAgICAgICAgICB9LCAxKTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHRhYnMucmVzaXplKCk7XG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyBoYW5kbGUgU2VjdXJpdHkgY29udHJvbHNcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlU2VjdXJpdHlDb250cm9sID0gKHNlY3VyaXR5TW9kZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHNlY3VyaXR5TW9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBudWxsOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSB1bmRlZmluZWQ6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiTm9uZVwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIuc2VjdGlvbi1zZWN1cml0eVBvbGljeVwiKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiU2lnblwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIlNpZ25BbmRFbmNyeXB0XCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzcCA9ICQoXCIuc2VjdGlvbi1zZWN1cml0eVBvbGljeVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNwLnZhbCgpID09PSBcIk5vbmVcIiB8fCBzcC52YWwoKSA9PT0gXCJcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3AudmFsKFwiQmFzaWMyNTZTaGEyNTZcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIi5zZWN0aW9uLXNlY3VyaXR5UG9saWN5XCIpLnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiaW52YWxpZCBzZWN1cml0eU1vZGUgXCIgKyBzZWN1cml0eU1vZGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB1cGRhdGVTZWN1cml0eUNvbnRyb2wobm9kZS5zZWN1cml0eU1vZGUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IF9zZWN1cml0eU1vZGUgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXNlY3VyaXR5TW9kZVwiKTtcbiAgICAgICAgICAgICAgICBfc2VjdXJpdHlNb2RlLm9uKFwiY2hhbmdlXCIsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3U2VjdXJpdHlNb2RlID0gX3NlY3VyaXR5TW9kZS52YWwoKTtcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlU2VjdXJpdHlDb250cm9sKG5ld1NlY3VyaXR5TW9kZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBsaWNlbmNlV2lkZ2V0ID0gJChcIiNsaWNlbmNlV2lkZ2V0XCIpO1xuICAgICAgICAgICAgbGljZW5jZVdpZGdldC5saWNlbmNlV2lkZ2V0KHtcbiAgICAgICAgICAgICAgICBiYXNlVXJsOiBcIlwiLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgLy8gaGFuZGxlIHRoZSBVc2VyIElkZW50aXR5IENvbnRyb2xzXG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbnN0IGF1dGhSb3cgPSAkKFwiLnNlY3Rpb24tdXNlcklkZW50aXR5VHlwZS1Vc2VyTmFtZVwiKTtcbiAgICAgICAgICAgICAgICBjb25zdCBjZXJ0Um93ID0gJChcIi5zZWN0aW9uLXVzZXJJZGVudGl0eVR5cGUtQ2VydGlmaWNhdGVcIik7XG4gICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlSWRlbnRpdHlDb250cm9scyA9ICh1c2VySWRlbnRpdHlUeXBlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHVzZXJJZGVudGl0eVR5cGUgPSB1c2VySWRlbnRpdHlUeXBlIHx8IFwiQW5vbnltb3VzXCI7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAodXNlcklkZW50aXR5VHlwZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkFub255bW91c1wiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlck5hbWVcIikudmFsKFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1jb25maWctaW5wdXQtcGFzc3dvcmRcIikudmFsKFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhSb3cuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRSb3cuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIlVzZXJOYW1lXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aFJvdy5zaG93KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydFJvdy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiQ2VydGlmaWNhdGVcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJOYW1lXCIpLnZhbChcIlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtY29uZmlnLWlucHV0LXBhc3N3b3JkXCIpLnZhbChcIlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0Um93LnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRoUm93LmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJpbnZhbGlkIHVzZXJJZGVudGl0eVR5cGUgXCIgKyB1c2VySWRlbnRpdHlUeXBlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdXBkYXRlSWRlbnRpdHlDb250cm9scyhub2RlLnVzZXJJZGVudGl0eVR5cGUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IF91c2VySWRlbnRpdHlUeXBlID0gJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VySWRlbnRpdHlUeXBlXCIpO1xuICAgICAgICAgICAgICAgIF91c2VySWRlbnRpdHlUeXBlLm9uKFwiY2hhbmdlXCIsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3SWRlbnRpdHlUeXBlID0gX3VzZXJJZGVudGl0eVR5cGUudmFsKCk7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZUlkZW50aXR5Q29udHJvbHMobmV3SWRlbnRpdHlUeXBlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgICAgIC8vIGhhbmRsZSBhZHZhbmNlZCBjb250cm9sc1xuICAgICAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgICAgJChcIiNzZWN0aW9uLUFkdmFuY2VkXCIpLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAkKFwiI3RvZ2dsZUFkdmFuY2VkU2VjdGlvblwiKS5vbihcImNoYW5nZVwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICgkKHRoaXMpLnByb3AoXCJjaGVja2VkXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgY2hlY2tib3ggaXMgY2hlY2tlZCwgc2hvdyB0aGUgZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tQWR2YW5jZWRcIikuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLCBoaWRlIGl0XG4gICAgICAgICAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tQWR2YW5jZWRcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICAgICAvLyBoYW5kbGUgdGhlIFRlc3QgYnV0dG9uXG4gICAgICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICAgICBtYW5hZ2VBUElDYWxsKFwiY29ubmVjdGlvblwiLCAkKFwiI3Rlc3QtY29ubmVjdGlvblwiKSwgKCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgdXJsOiBcIi9vcGN1YS1lbmRwb2ludDIvdGVzdC1jb25uZWN0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgIGJvZHk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVuZHBvaW50Tm9kZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBub2RlLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZHBvaW50OiAkKFwiI25vZGUtY29uZmlnLWlucHV0LWVuZHBvaW50XCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3VyaXR5TW9kZTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eU1vZGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjdXJpdHlQb2xpY3k6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtc2VjdXJpdHlQb2xpY3lcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcklkZW50aXR5VHlwZTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VySWRlbnRpdHlUeXBlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJOYW1lOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJOYW1lXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3N3b3JkOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXBhc3N3b3JkXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJDZXJ0aWZpY2F0ZTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyQ2VydGlmaWNhdGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlclByaXZhdGVrZXk6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlclByaXZhdGVrZXlcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vIG5vdCB0ZXN0ZWQgeWV0IC4uLjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0aWZpY2F0ZTogJChcIiNub2RlLWlucHV0LWNlcnRpZmljYXRlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZmlsZTogJChcIiNub2RlLWlucHV0LWxvY2FsZmlsZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGtleWZpbGU6ICQoXCIjbm9kZS1pbnB1dC1sb2NhbGtleWZpbGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlVHJhbnNwb3J0OiAkKFwiI25vZGUtaW5wdXQtdXNlVHJhbnNwb3J0XCIpLnByb3AoXCJjaGVja2VkXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heENodW5rQ291bnQ6ICQoXCIjbm9kZS1pbnB1dC1tYXhDaHVua0NvdW50XCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heE1lc3NhZ2VTaXplOiAkKFwiI25vZGUtaW5wdXQtbWF4TWVzc2FnZVNpemVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjZWl2ZUJ1ZmZlclNpemU6ICQoXCIjbm9kZS1pbnB1dC1yZWNlaXZlQnVmZmVyU2l6ZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZW5kQnVmZmVyU2l6ZTogJChcIiNub2RlLWlucHV0LXNlbmRCdWZmZXJTaXplXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KSwgKCkgPT4geyB9KTtcbiAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgICAgIC8vICBJbnN0YWxsIHN1YnNjcmlwdGlvbnMgTGlzdCBtYW5hZ2VtZW50XG4gICAgICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICAgICBjb25zdCByZXNpemVUb3BpY3MgPSAodG9waWMsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBuZXdXaWR0aCA9IHRvcGljLndpZHRoKCkgfHwgMTAwO1xuICAgICAgICAgICAgICAgICAgICB0b3BpYy5maW5kKFwibGFiZWxcIikudHlwZWRJbnB1dChcIndpZHRoXCIsIG5ld1dpZHRoIC0gMTUpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uTGlzdCA9ICQoXCIjc3Vic2NyaXB0aW9ucy1jb250YWluZXJcIilcbiAgICAgICAgICAgICAgICAgICAgLmNzcyh7IFwibWluLWhlaWdodFwiOiBcIjE1MHB4XCIsIFwibWluLXdpZHRoXCI6IFwiMjYwcHhcIiB9KVxuICAgICAgICAgICAgICAgICAgICAuZWRpdGFibGVMaXN0KHtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXRlbTogKGNvbnRhaW5lciwgaW5kZXgsIGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IF9kYXRhID0gZGF0YTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSAkKFwiLnRlbXBsYXRlXCIpLmNsb25lKCkuYXBwZW5kVG8oY29udGFpbmVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cihcImlkXCIpLnJlbW92ZUNsYXNzKFwiaGlkZVwiKS5yZW1vdmVDbGFzcyhcInRlbXBsYXRlXCIpLmF0dHIoXCJkYXRhLWlcIiwgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LW5hbWVcIikudmFsKF9kYXRhLm5hbWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LXJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbFwiKS52YWwoX2RhdGEucGFyYW1ldGVycy5yZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LXJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50XCIpLnZhbChfZGF0YS5wYXJhbWV0ZXJzLnJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRMaWZldGltZUNvdW50XCIpLnZhbChfZGF0YS5wYXJhbWV0ZXJzLnJlcXVlc3RlZExpZmV0aW1lQ291bnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LW1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoXCIpLnZhbChfZGF0YS5wYXJhbWV0ZXJzLm1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIHx8IDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LXByaW9yaXR5XCIpLnZhbChfZGF0YS5wYXJhbWV0ZXJzLnByaW9yaXR5IHx8IDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLnN1YnNjcmlwdGlvbi1pZFwiKS50ZXh0KFwiXCIgKyBpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoX2RhdGEuaXNEZWZhdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LW5hbWVcIikucHJvcChcInJlYWRvbmx5XCIsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LWlzRGVmYXVsdFwiKS5wcm9wKFwiY2hlY2tlZFwiLCBfZGF0YS5pc0RlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWFrZSBzdXJlIHRoYXQgZGVmYXVsdCBzdWJzY3JpcHRpb24gY2Fubm90IGJlIGFjY2lkZW50YWxseSByZW1vdmVkXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoX2RhdGEuaXNEZWZhdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyLmZpbmQoXCIucmVkLXVpLWVkaXRhYmxlTGlzdC1pdGVtLXJlbW92ZVwiKS5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBlbGVtZW50LmZpbmQoXCIuaW5wdXQtaXNEZWZhdWx0XCIpLnByb3AoXCJkaXNhYmxlZFwiLCB0cnVlKSwgMTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAvLyBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgcmVtb3ZhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICByZXNpemVJdGVtOiByZXNpemVUb3BpY3MsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgY29uc3QgQWRkU3Vic2NyaXB0aW9uID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25zID0gbm9kZS5zdWJzY3JpcHRpb25zIHx8IFtdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3Vic2NyaXB0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBtaXNzaW5nIGRlZmF1bHQgc3Vic2NyaXB0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcInMxXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJEZWZhdWx0IFN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzRGVmYXVsdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0U3Vic2NyaXB0aW9uUGFyYW1ldGVycyksXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb25MaXN0LmVkaXRhYmxlTGlzdChcImVtcHR5XCIpO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiBzdWJzY3JpcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBzdWJzY3JpcHRpb24uaXNEZWZhdWx0ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb25MaXN0LmVkaXRhYmxlTGlzdChcImFkZEl0ZW1cIiwgc3Vic2NyaXB0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgQWRkU3Vic2NyaXB0aW9uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgfSk7XG5cbn0pKCk7Il19
9
9
  </script>
10
10
  <script type="text/x-red" data-template-name="OpcUa-Endpoint2">
11
11
  <style>