@opcua/for-node-red 2.0.6 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/all.js +21030 -20460
- package/examples/coffe-machine.json +261 -0
- package/examples/events.json +0 -0
- package/examples/explore_coffee_machine.json +115 -0
- package/examples/extension-object.json +0 -0
- package/examples/read_extension-object.json +0 -0
- package/examples/read_subree_with_various_output_types.json +173 -0
- package/examples/read_subtree.json +132 -0
- package/examples/read_value_of_a_many_ua-variables_injected_node-id.json +229 -0
- package/examples/read_value_of_a_single_ua-variable_injected_node-id.json +153 -0
- package/package.json +5 -2
- package/source/OpcUa-Client2-Browse/OpcUa-Client2-Browse.css +2 -0
- package/source/OpcUa-Client2-Browse/OpcUa-Client2-Browse.html +101 -0
- package/source/OpcUa-Client2-Browse/OpcUa-Client2-Browse.js +2 -0
- package/source/OpcUa-Client2-Call/OpcUa-Client2-Call.css +1 -1
- package/source/OpcUa-Client2-Call/OpcUa-Client2-Call.html +3 -3
- package/source/OpcUa-Client2-Explore/OpcUa-Client2-Explore.css +2 -0
- package/source/OpcUa-Client2-Explore/OpcUa-Client2-Explore.html +45 -0
- package/source/OpcUa-Client2-Explore/OpcUa-Client2-Explore.js +2 -0
- package/source/OpcUa-Client2-Monitor/OpcUa-Client2-Monitor.css +1 -1
- package/source/OpcUa-Client2-Monitor/OpcUa-Client2-Monitor.html +8 -40
- package/source/OpcUa-Client2-MonitorEvent/OpcUa-Client2-MonitorEvent.css +1 -1
- package/source/OpcUa-Client2-MonitorEvent/OpcUa-Client2-MonitorEvent.html +12 -8
- package/source/OpcUa-Client2-Read/OpcUa-Client2-Read.css +1 -1
- package/source/OpcUa-Client2-Read/OpcUa-Client2-Read.html +102 -7
- package/source/OpcUa-Client2-Write/OpcUa-Client2-Write.css +1 -1
- package/source/OpcUa-Client2-Write/OpcUa-Client2-Write.html +3 -3
- package/source/OpcUa-Endpoint2/OpcUa-Endpoint2.html +2 -2
@@ -4,8 +4,8 @@
|
|
4
4
|
</style>
|
5
5
|
|
6
6
|
<script type="text/javascript">
|
7
|
-
(function(_0x419332,_0x33a4a9){const _0x460658=_0x5741,_0x520dd4=_0x419332();while(!![]){try{const _0x1f1613=-parseInt(_0x460658(0xb3))/0x1+-parseInt(_0x460658(0xcf))/0x2*(parseInt(_0x460658(0xd6))/0x3)+parseInt(_0x460658(0x131))/0x4*(-parseInt(_0x460658(0xe6))/0x5)+parseInt(_0x460658(0xa9))/0x6+-parseInt(_0x460658(0xa3))/0x7*(parseInt(_0x460658(0xea))/0x8)+parseInt(_0x460658(0x11c))/0x9*(parseInt(_0x460658(0xda))/0xa)+parseInt(_0x460658(0xd5))/0xb;if(_0x1f1613===_0x33a4a9)break;else _0x520dd4['push'](_0x520dd4['shift']());}catch(_0x2beff2){_0x520dd4['push'](_0x520dd4['shift']());}}}(_0x45b3,0xba0fd),(function(){'use strict';const _0x57754c=_0x5741;function _0x4bd827(_0x49a852,_0x49cd8d,_0x543fa3,_0x256afa){const _0x5dcf3e=_0x5741,_0x554ec5=$('#'+_0x49a852+_0x5dcf3e(0xb6)),_0x4bbc35=$('#'+_0x49a852+_0x5dcf3e(0xb4)),_0x4bbf0e=$('#'+_0x49a852+_0x5dcf3e(0x99)),_0x150026=$('#'+_0x49a852+_0x5dcf3e(0xaa));let _0x22165e=![];_0x554ec5['hide'](),_0x4bbc35[_0x5dcf3e(0x118)](),_0x4bbf0e[_0x5dcf3e(0x118)](),_0x49cd8d['on']('click',()=>{const _0x1fc92f=_0x5dcf3e;if(_0x22165e)return;_0x22165e=!![],_0x4bbf0e[_0x1fc92f(0x115)](_0x1fc92f(0x118)),_0x4bbf0e[_0x1fc92f(0x12c)]('Testing\x20Connection\x20...'),_0x554ec5['addClass'](_0x1fc92f(0x118)),_0x4bbc35[_0x1fc92f(0xe3)](_0x1fc92f(0x118)),_0x150026[_0x1fc92f(0x12c)]('');const {body:_0x42e268,url:_0x24b2ef}=_0x543fa3();console[_0x1fc92f(0xf1)]('xxxxx',_0x42e268),fetch(_0x24b2ef,{'method':_0x1fc92f(0xe4),'headers':{'Content-Type':_0x1fc92f(0xf4)},'body':JSON[_0x1fc92f(0x100)](_0x42e268)})[_0x1fc92f(0x114)](_0x572bba=>_0x572bba[_0x1fc92f(0xa0)]())[_0x1fc92f(0x114)](_0x8405b0=>{const _0x3dcc99=_0x1fc92f;_0x22165e=![],_0x4bbf0e[_0x3dcc99(0x118)](),console[_0x3dcc99(0xf1)](JSON['stringify'](_0x8405b0,null,'\x20'));if(_0x8405b0[_0x3dcc99(0x132)]==='ok')_0x554ec5['removeClass'](_0x3dcc99(0x118)),_0x4bbc35[_0x3dcc99(0xe3)](_0x3dcc99(0x118)),_0x150026['html'](_0x8405b0['message'][_0x3dcc99(0x134)]('\x0a',_0x3dcc99(0x98))),_0x256afa(null,_0x8405b0);else{const _0x2fcfc7=_0x2ce6b9=>!_0x2ce6b9?'':_0x2ce6b9[_0x3dcc99(0xb8)]('\x0a')[_0x3dcc99(0xd8)](_0x39b366=>_0x3dcc99(0x9f)+_0x39b366+_0x3dcc99(0x11d))['join']('\x0a'),_0x352ed7=_0x52ecc5=>Array['isArray'](_0x52ecc5)?_0x52ecc5[_0x3dcc99(0xd8)](_0x2fcfc7)[_0x3dcc99(0x103)]('\x0a'):_0x2fcfc7(_0x52ecc5);_0x554ec5[_0x3dcc99(0xe3)](_0x3dcc99(0x118)),_0x4bbc35[_0x3dcc99(0x115)](_0x3dcc99(0x118)),_0x150026[_0x3dcc99(0x12c)](_0x352ed7(_0x8405b0[_0x3dcc99(0x125)])+_0x352ed7(_0x8405b0[_0x3dcc99(0xd9)])),_0x256afa(new Error(_0x8405b0[_0x3dcc99(0x132)]),_0x8405b0);}})[_0x1fc92f(0xa4)](_0x206024=>{const _0x4dfefd=_0x1fc92f;_0x22165e=![],_0x4bbf0e['addClass'](_0x4dfefd(0x118)),_0x554ec5[_0x4dfefd(0xe3)](_0x4dfefd(0x118)),_0x4bbc35['removeClass'](_0x4dfefd(0x118)),_0x150026[_0x4dfefd(0x12c)]('internal\x20error\x20'+_0x206024[_0x4dfefd(0x125)]),console[_0x4dfefd(0xf1)]('err',_0x206024),_0x256afa(_0x206024,null);});});}function _0x10b2e2(_0x34e615,_0x4d9f08,_0x1d7fc6,_0x430ba3){function _0x13be71(_0x18c831){return _0x18c831 instanceof _0x1d7fc6?_0x18c831:new _0x1d7fc6(function(_0xf550e){_0xf550e(_0x18c831);});}return new(_0x1d7fc6||(_0x1d7fc6=Promise))(function(_0xff63cd,_0x47644f){const _0x9fa28d=_0x5741;function _0x42be4f(_0x5695a4){const _0x2039e5=_0x5741;try{_0xdec2b0(_0x430ba3[_0x2039e5(0xf2)](_0x5695a4));}catch(_0x5b3571){_0x47644f(_0x5b3571);}}function _0x3ac24a(_0x408280){try{_0xdec2b0(_0x430ba3['throw'](_0x408280));}catch(_0x21dc20){_0x47644f(_0x21dc20);}}function _0xdec2b0(_0x2b3810){const _0x29014a=_0x5741;_0x2b3810[_0x29014a(0xc9)]?_0xff63cd(_0x2b3810[_0x29014a(0x111)]):_0x13be71(_0x2b3810[_0x29014a(0x111)])[_0x29014a(0x114)](_0x42be4f,_0x3ac24a);}_0xdec2b0((_0x430ba3=_0x430ba3[_0x9fa28d(0x11e)](_0x34e615,_0x4d9f08||[]))[_0x9fa28d(0xf2)]());});}typeof SuppressedError===_0x57754c(0x104)?SuppressedError:function(_0x46afe5,_0x21f513,_0x4dc35e){const _0x6b9397=_0x57754c;var _0x11611d=new Error(_0x4dc35e);return _0x11611d['name']=_0x6b9397(0x112),_0x11611d['error']=_0x46afe5,_0x11611d['suppressed']=_0x21f513,_0x11611d;};function _0x3eea9c(_0x311d4d=''){return _0x10b2e2(this,void 0x0,void 0x0,function*(){const _0x16dc07=_0x5741,_0x20833d=_0x311d4d+'/opcua-endpoint2',_0x5ba37f=_0x20833d+_0x16dc07(0xeb),_0x3259ee=yield fetch(_0x5ba37f,{'method':'POST','headers':{'Content-Type':_0x16dc07(0xf4)}});if(_0x3259ee[_0x16dc07(0xbd)]!==0xc8)return console[_0x16dc07(0xf1)](_0x16dc07(0xbc),_0x3259ee[_0x16dc07(0xbd)],_0x3259ee[_0x16dc07(0xcd)]),{};const _0x49fc50=yield _0x3259ee[_0x16dc07(0xa0)]();return _0x49fc50;});}const _0x282473=()=>{const _0x11191a=_0x57754c;$[_0x11191a(0x9b)]('sterfive.licenceWidget',{'options':{'baseUrl':''},'_create'(){const _0x4d662b=_0x11191a,_0x9731eb=this;_0x3eea9c(_0x9731eb[_0x4d662b(0xa1)])['then'](_0xb633e8=>{const _0x337269=_0x4d662b;let _0x1f20fd='',_0x185dc1='',_0x56c02b='';const _0x1c0e3d=_0xb633e8[_0x337269(0xbd)];switch(_0x1c0e3d){case _0x337269(0xfb):_0x1f20fd=_0x337269(0x123);_0xb633e8[_0x337269(0xe9)]?_0x185dc1='Demo\x20licence':(_0x185dc1='Your\x20licence\x20is\x20valid.',_0x56c02b='');break;case _0x337269(0xce):_0x1f20fd=_0x337269(0x10f),_0x185dc1=_0x337269(0xa6),_0x56c02b=_0x337269(0x10e);break;case'FAILED':default:_0x1f20fd=_0x337269(0xb5),_0x185dc1=_0x337269(0xb0),_0x56c02b=_0x337269(0xbf);break;}this[_0x337269(0xba)][_0x337269(0xe3)]('licence-widget'),this[_0x337269(0xba)]['addClass'](_0x337269(0xa2)+_0x1c0e3d),this[_0x337269(0xba)][_0x337269(0xdc)]($('<span>')[_0x337269(0xe3)](_0x337269(0xd4))['append']($(_0x337269(0x127))[_0x337269(0xe3)](_0x1f20fd))),this[_0x337269(0xba)][_0x337269(0xdc)]($('<span>')[_0x337269(0xe3)](_0x337269(0x10c))['text'](_0x185dc1)),this[_0x337269(0xba)][_0x337269(0xdc)]($('<br>')),this['element'][_0x337269(0xdc)]($(_0x337269(0xd1))[_0x337269(0xe3)](_0x337269(0xde))[_0x337269(0xdc)](_0x56c02b));})[_0x4d662b(0xa4)](_0x468fee=>{const _0x79d2f1=_0x4d662b;console[_0x79d2f1(0xf1)](_0x468fee);});}});};_0x282473();function _0x6c017c(_0x210504){const _0x1a6f82=_0x57754c;let _0x55f475;try{_0x55f475=new URL(_0x210504);}catch(_0x2de325){return![];}return _0x55f475[_0x1a6f82(0xc3)]==='opc.tcp:';}const _0x6a0176={'publishingEnabled':!![],'requestedLifetimeCount':0x3e8,'requestedMaxKeepAliveCount':0xa,'requestedPublishingInterval':0x3e8,'maxNotificationsPerPublish':0x0,'priority':0x64};RED[_0x57754c(0xf0)][_0x57754c(0xbe)]('OpcUa-Endpoint2',{'category':_0x57754c(0xa5),'defaults':{'name':{'value':''},'endpoint':{'value':'opc.tcp://opcuademo.sterfive.com:26543/UA/SampleServer','required':!![],'validate':_0x6c017c},'securityMode':{'value':_0x57754c(0x126)},'securityPolicy':{'value':_0x57754c(0x126),'validate':_0x227aaf=>{if(!_0x227aaf)return![];return!![];}},'userIdentityType':{'value':_0x57754c(0xf8)},'userName':{'value':''},'password':{'value':'','type':'password'},'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':_0x57754c(0xe2),'isDefault':!![],'parameters':Object['assign']({},_0x6a0176)},{'id':'s2','name':_0x57754c(0x12e),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0x64,'requestedMaxKeepAliveCount':0x14,'requestedPublishingInterval':0x1388,'maxNotificationsPerPublish':0x64,'priority':0xa}},{'id':'s3','name':_0x57754c(0xfe),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0xfa0,'requestedMaxKeepAliveCount':0x64,'requestedPublishingInterval':0xfa,'maxNotificationsPerPublish':0x64,'priority':0xc8}}],'required':![]}},'credentials':{'user':{'type':_0x57754c(0xe8)},'password':{'type':_0x57754c(0xaf)}},'label':function(){const _0x4bf541=_0x57754c;return this[_0x4bf541(0x135)]||this[_0x4bf541(0x121)]||_0x4bf541(0xee);},'oneditsave'(){const _0x138891=_0x57754c,_0x558232=$(_0x138891(0xdf)),_0x316e86=$(_0x138891(0x133));_0x558232[_0x138891(0x9e)]()==='None'&&_0x316e86[_0x138891(0xe8)](_0x138891(0x126));const _0x2aec72=$('#subscriptions-container')[_0x138891(0x9a)](_0x138891(0xdd)),_0x2470bc=[],_0x26657c=_0x34b230=>_0x34b230;_0x2aec72[_0x138891(0xc1)](function(_0x4e7079,_0x51434e){const _0x14c258=_0x138891,_0x45b2de=$(this),_0x2d5748={'id':'s'+_0x4e7079,'name':_0x45b2de[_0x14c258(0x102)](_0x14c258(0xfc))[_0x14c258(0x9e)](),'isDefault':!!_0x45b2de[_0x14c258(0x102)](_0x14c258(0x119))['val'](),'parameters':{'publishingEnabled':!!_0x45b2de[_0x14c258(0x102)](_0x14c258(0x110))['is'](_0x14c258(0x129)),'requestedLifetimeCount':_0x26657c(_0x45b2de[_0x14c258(0x102)](_0x14c258(0xc7))['val']()),'requestedMaxKeepAliveCount':_0x26657c(_0x45b2de['find'](_0x14c258(0xca))['val']()),'requestedPublishingInterval':_0x26657c(_0x45b2de[_0x14c258(0x102)](_0x14c258(0xdb))[_0x14c258(0x9e)]()),'maxNotificationsPerPublish':_0x26657c(_0x45b2de[_0x14c258(0x102)]('.input-maxNotificationsPerPublish')[_0x14c258(0x9e)]()),'priority':_0x26657c(_0x45b2de[_0x14c258(0x102)]('.input-priority')[_0x14c258(0x9e)]())}};_0x2d5748[_0x14c258(0xe5)][_0x14c258(0xab)]=!![],_0x2d5748[_0x14c258(0xc4)]&&_0x2d5748['id']==='s0'&&(_0x2d5748[_0x14c258(0x135)]='Default\x20Subscription'),_0x2470bc['push'](_0x2d5748);}),this[_0x138891(0xae)]=_0x2470bc;},'oneditprepare'(){const _0x3d9fb4=_0x57754c,_0x5eec83=this,_0x10a415=RED[_0x3d9fb4(0x10b)][_0x3d9fb4(0x113)]({'id':'node-config-endpoint-tabs','onchange':function(_0x379331){const _0x5c8442=_0x3d9fb4;$(_0x5c8442(0x10a))[_0x5c8442(0xd3)]()[_0x5c8442(0x118)](),$('#'+_0x379331['id'])[_0x5c8442(0xac)]();}});_0x10a415[_0x3d9fb4(0x109)]({'id':'endpoint-tab-connection','label':_0x3d9fb4(0xcb)},0x0),_0x10a415[_0x3d9fb4(0x109)]({'id':'endpoint-tab-subscriptions','label':_0x3d9fb4(0x9c)},0x1),setTimeout(function(){const _0x465a14=_0x3d9fb4;_0x10a415[_0x465a14(0xed)]();},0x0);{const _0x59d350=_0x37c5a2=>{const _0x1d98da=_0x3d9fb4;switch(_0x37c5a2){case null:case undefined:case'':case _0x1d98da(0x126):$(_0x1d98da(0x122))['hide']();break;case _0x1d98da(0x9d):case'SignAndEncrypt':{const _0x167b11=$('.section-securityPolicy');(_0x167b11[_0x1d98da(0x9e)]()===_0x1d98da(0x126)||_0x167b11[_0x1d98da(0x9e)]()==='')&&_0x167b11[_0x1d98da(0x9e)]('Basic256Sha256'),$(_0x1d98da(0x122))['show']();}break;default:console['log']('invalid\x20securityMode\x20'+_0x37c5a2);}};_0x59d350(_0x5eec83[_0x3d9fb4(0xd0)]);const _0x25e253=$(_0x3d9fb4(0x133));_0x25e253['on'](_0x3d9fb4(0x11a),()=>{const _0x2b55a9=_0x3d9fb4,_0x294db4=_0x25e253[_0x2b55a9(0x9e)]();_0x59d350(_0x294db4);});}const _0xa8a8f0=$('#licenceWidget');_0xa8a8f0['licenceWidget']({'baseUrl':''});{const _0x4a5416=$(_0x3d9fb4(0xfd)),_0x20b17a=$(_0x3d9fb4(0x12b)),_0x57660d=_0x1fa271=>{const _0x491d00=_0x3d9fb4;_0x1fa271=_0x1fa271||_0x491d00(0xf8);switch(_0x1fa271){case _0x491d00(0xf8):$(_0x491d00(0xa7))[_0x491d00(0x9e)](''),$(_0x491d00(0xf5))[_0x491d00(0x9e)](''),_0x4a5416['hide'](),_0x20b17a[_0x491d00(0x118)]();break;case _0x491d00(0xf9):_0x4a5416[_0x491d00(0xac)](),_0x20b17a[_0x491d00(0x118)]();break;case _0x491d00(0x12d):$(_0x491d00(0xa7))['val'](''),$(_0x491d00(0xf5))['val'](''),_0x20b17a[_0x491d00(0xac)](),_0x4a5416[_0x491d00(0x118)]();break;default:console[_0x491d00(0xf1)](_0x491d00(0x12a)+_0x1fa271);}};_0x57660d(_0x5eec83['userIdentityType']);const _0x488d86=$('#node-config-input-userIdentityType');_0x488d86['on'](_0x3d9fb4(0x11a),()=>{const _0x29fcf2=_0x3d9fb4,_0x599d33=_0x488d86[_0x29fcf2(0x9e)]();_0x57660d(_0x599d33);}),$(_0x3d9fb4(0xc6))[_0x3d9fb4(0x118)](),$(_0x3d9fb4(0xe1))['on'](_0x3d9fb4(0x11a),function(){const _0x595c4e=_0x3d9fb4;$(this)[_0x595c4e(0xb9)](_0x595c4e(0xd7))?$(_0x595c4e(0xc6))[_0x595c4e(0xac)]():$(_0x595c4e(0xc6))[_0x595c4e(0x118)]();}),_0x4bd827('connection',$(_0x3d9fb4(0xc8)),()=>({'url':_0x3d9fb4(0xb7),'body':{'endpointNode':{'id':_0x5eec83['id'],'endpoint':$(_0x3d9fb4(0xec))['val'](),'securityMode':$(_0x3d9fb4(0x133))[_0x3d9fb4(0x9e)](),'securityPolicy':$(_0x3d9fb4(0xdf))[_0x3d9fb4(0x9e)](),'userIdentityType':$(_0x3d9fb4(0x130))[_0x3d9fb4(0x9e)](),'userName':$(_0x3d9fb4(0xa7))['val'](),'password':$(_0x3d9fb4(0xf5))[_0x3d9fb4(0x9e)](),'userCertificate':$(_0x3d9fb4(0x11b))[_0x3d9fb4(0x9e)](),'userPrivatekey':$(_0x3d9fb4(0x106))[_0x3d9fb4(0x9e)](),'certificate':$(_0x3d9fb4(0xf3))['val'](),'localfile':$(_0x3d9fb4(0x120))[_0x3d9fb4(0x9e)](),'localkeyfile':$(_0x3d9fb4(0x101))['val'](),'useTransport':$(_0x3d9fb4(0xcc))[_0x3d9fb4(0xb9)](_0x3d9fb4(0xd7)),'maxChunkCount':$(_0x3d9fb4(0xd2))[_0x3d9fb4(0x9e)](),'maxMessageSize':$(_0x3d9fb4(0xbb))['val'](),'receiveBufferSize':$(_0x3d9fb4(0xf7))['val'](),'sendBufferSize':$('#node-input-sendBufferSize')[_0x3d9fb4(0x9e)]()}}}),()=>{});const _0x38cf22=(_0x16945c,_0x11c441)=>{const _0x76cad9=_0x3d9fb4;var _0x1fd1ec=_0x16945c[_0x76cad9(0xc2)]()||0x64;_0x16945c[_0x76cad9(0x102)](_0x76cad9(0xe0))[_0x76cad9(0x116)](_0x76cad9(0xc2),_0x1fd1ec-0xf);},_0x107966=$('#subscriptions-container')[_0x3d9fb4(0x105)]({'min-height':_0x3d9fb4(0x12f),'min-width':_0x3d9fb4(0xb1)})['editableList']({'addItem':(_0x510c23,_0xab5a8,_0x1c9ceb)=>{const _0x42c42e=_0x3d9fb4,_0x5b4d5e=_0x1c9ceb,_0x20bccf=$('.template')[_0x42c42e(0xe7)]()[_0x42c42e(0xad)](_0x510c23);_0x20bccf[_0x42c42e(0xc5)]('id')['removeClass']('hide')[_0x42c42e(0x115)](_0x42c42e(0xff))[_0x42c42e(0xa8)]('data-i',_0xab5a8),_0x20bccf[_0x42c42e(0x102)]('.input-name')[_0x42c42e(0x9e)](_0x5b4d5e[_0x42c42e(0x135)]),_0x20bccf[_0x42c42e(0x102)](_0x42c42e(0xdb))['val'](_0x5b4d5e[_0x42c42e(0xe5)][_0x42c42e(0x108)]),_0x20bccf['find'](_0x42c42e(0xca))[_0x42c42e(0x9e)](_0x5b4d5e[_0x42c42e(0xe5)]['requestedMaxKeepAliveCount']),_0x20bccf[_0x42c42e(0x102)](_0x42c42e(0xc7))['val'](_0x5b4d5e[_0x42c42e(0xe5)][_0x42c42e(0x128)]),_0x20bccf[_0x42c42e(0x102)](_0x42c42e(0xfa))[_0x42c42e(0x9e)](_0x5b4d5e[_0x42c42e(0xe5)]['maxNotificationsPerPublish']||0x0),_0x20bccf['find'](_0x42c42e(0x10d))[_0x42c42e(0x9e)](_0x5b4d5e[_0x42c42e(0xe5)][_0x42c42e(0x107)]||0x0),_0x20bccf[_0x42c42e(0x102)](_0x42c42e(0xc0))[_0x42c42e(0xe8)](''+_0xab5a8),_0x5b4d5e[_0x42c42e(0xc4)]&&_0x20bccf['find'](_0x42c42e(0xfc))['prop'](_0x42c42e(0xb2),!![]),_0x20bccf[_0x42c42e(0x102)](_0x42c42e(0x119))[_0x42c42e(0xb9)](_0x42c42e(0xd7),_0x5b4d5e[_0x42c42e(0xc4)]),_0x5b4d5e[_0x42c42e(0xc4)]&&(_0x510c23['find'](_0x42c42e(0x117))[_0x42c42e(0xe3)](_0x42c42e(0x118)),setTimeout(()=>_0x20bccf[_0x42c42e(0x102)](_0x42c42e(0x119))['prop']('disabled',!![]),0xa));},'removable':!![],'resizeItem':_0x38cf22}),_0x162109=()=>{const _0x4dbe35=_0x3d9fb4,_0x1b67f5=_0x5eec83[_0x4dbe35(0xae)]||[];_0x1b67f5[_0x4dbe35(0xef)]===0x0&&_0x1b67f5[_0x4dbe35(0xf6)]({'id':'s1','name':_0x4dbe35(0xe2),'isDefault':!![],'parameters':Object[_0x4dbe35(0x11f)]({},_0x6a0176)});_0x107966[_0x4dbe35(0x9a)](_0x4dbe35(0x124));for(const _0x45e0cd of _0x1b67f5){_0x107966['editableList']('addItem',_0x45e0cd);}};_0x162109();}}});}()));function _0x5741(_0x3d5721,_0x425749){const _0x45b338=_0x45b3();return _0x5741=function(_0x5741d2,_0x3c169c){_0x5741d2=_0x5741d2-0x98;let _0x4abb4b=_0x45b338[_0x5741d2];return _0x4abb4b;},_0x5741(_0x3d5721,_0x425749);}function _0x45b3(){const _0xde9fe8=['Licence\x20expired','#node-config-input-userName','attr','6056094hCkmXq','-messages','publishingEnabled','show','appendTo','subscriptions','password','Your\x20license\x20is\x20currently\x20invalid.','260px','readonly','1017549DfZYqR','-failure','fa\x20fa-exclamation-circle','-success','/opcua-endpoint2/test-connection','split','prop','element','#node-input-maxMessageSize','fechting\x20failed\x20with\x20error','status','registerType','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.','.subscription-id','each','width','protocol','isDefault','removeAttr','#section-Advanced','.input-requestedLifetimeCount','#test-connection','done','.input-requestedMaxKeepAliveCount','Connection','#node-input-useTransport','statusText','EXPIRED','1212478RwlGtp','securityMode','<span>','#node-input-maxChunkCount','children','licence-widget-icon','28809759YxksMU','6ZSddOU','checked','map','extra','14798980vteAVe','.input-requestedPublishingInterval','append','items','licence-widget-details','#node-config-input-securityPolicy','label','#toggleAdvancedSection','Default\x20Subscription','addClass','POST','parameters','21635WacozL','clone','text','isDemo','2536SlwyHC','/licenceInfo','#node-config-input-endpoint','resize','invalid\x20endpoint','length','nodes','log','next','#node-input-certificate','application/json','#node-config-input-password','push','#node-input-receiveBufferSize','Anonymous','UserName','.input-maxNotificationsPerPublish','AUTHORIZED','.input-name','.section-userIdentityType-UserName','Fast\x20Subscription','template','stringify','#node-input-localkeyfile','find','join','function','css','#node-config-input-userPrivatekey','priority','requestedPublishingInterval','addTab','#node-config-endpoint-tabs-content','tabs','licence-widget-msg','.input-priority','Your\x20license\x20has\x20expired.\x20Please\x20contact\x20our\x20support\x20team\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.','fa\x20fa-calendar-time','.input-publishingEnabled','value','SuppressedError','create','then','removeClass','typedInput','.red-ui-editableList-item-remove','hide','.input-isDefault','change','#node-config-input-userCertificate','9HyXNbr','</p>','apply','assign','#node-input-localfile','endpoint','.section-securityPolicy','fa\x20fa-check-circle','empty','message','None','<i>','requestedLifetimeCount',':checked','invalid\x20userIdentityType\x20','.section-userIdentityType-Certificate','html','Certificate','Slow\x20Subscription','150px','#node-config-input-userIdentityType','1352owqJJm','result','#node-config-input-securityMode','replace','name','<br>','-pending','editableList','widget','Subscriptions','Sign','val','<p>','json','baseUrl','licence-widget-','14434XaTybl','catch','config'];_0x45b3=function(){return _0xde9fe8;};return _0x45b3();}
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHg0YmQ4MjciLCJfMHg0OWE4NTIiLCJfMHg0OWNkOGQiLCJfMHg1NDNmYTMiLCJfMHgyNTZhZmEiLCJfMHg1NTRlYzUiLCIkIiwiXzB4NGJiYzM1IiwiXzB4NGJiZjBlIiwiXzB4MTUwMDI2IiwiXzB4MjIxNjVlIiwiYm9keSIsIl8weDQyZTI2OCIsInVybCIsIl8weDI0YjJlZiIsImNvbnNvbGUiLCJmZXRjaCIsIkpTT04iLCJfMHg1NzJiYmEiLCJfMHg4NDA1YjAiLCJfMHgyZmNmYzciLCJfMHgyY2U2YjkiLCJfMHgzOWIzNjYiLCJfMHgzNTJlZDciLCJfMHg1MmVjYzUiLCJBcnJheSIsIkVycm9yIiwiXzB4MjA2MDI0IiwiXzB4MTBiMmUyIiwiXzB4MzRlNjE1IiwiXzB4NGQ5ZjA4IiwiXzB4MWQ3ZmM2IiwiXzB4NDMwYmEzIiwiXzB4MTNiZTcxIiwiXzB4MThjODMxIiwiXzB4ZjU1MGUiLCJQcm9taXNlIiwiXzB4ZmY2M2NkIiwiXzB4NDc2NDRmIiwiXzB4NDJiZTRmIiwiXzB4NTY5NWE0IiwiXzB4ZGVjMmIwIiwiXzB4NWIzNTcxIiwiXzB4M2FjMjRhIiwiXzB4NDA4MjgwIiwiXzB4MjFkYzIwIiwiXzB4MmIzODEwIiwiU3VwcHJlc3NlZEVycm9yIiwiXzB4NDZhZmU1IiwiXzB4MjFmNTEzIiwiXzB4NGRjMzVlIiwiXzB4MTE2MTFkIiwiXzB4M2VlYTljIiwiXzB4MzExZDRkIiwiXzB4MjA4MzNkIiwiXzB4NWJhMzdmIiwiXzB4MzI1OWVlIiwiXzB4NDlmYzUwIiwiXzB4MjgyNDczIiwiXzB4OTczMWViIiwiXzB4YjYzM2U4IiwiXzB4MWYyMGZkIiwiXzB4MTg1ZGMxIiwiXzB4NTZjMDJiIiwiXzB4MWMwZTNkIiwiXzB4NDY4ZmVlIiwiXzB4NmMwMTdjIiwiXzB4MjEwNTA0IiwiXzB4NTVmNDc1IiwiVVJMIiwiXzB4MmRlMzI1IiwiXzB4NmEwMTc2IiwiUkVEIiwiXzB4MjI3YWFmIiwiT2JqZWN0IiwiXzB4NTU4MjMyIiwiXzB4MzE2ZTg2IiwiXzB4MmFlYzcyIiwiXzB4MjQ3MGJjIiwiXzB4MjY2NTdjIiwiXzB4MzRiMjMwIiwiXzB4NGU3MDc5IiwiXzB4NTE0MzRlIiwiXzB4NDViMmRlIiwiXzB4MmQ1NzQ4IiwiXzB4NWVlYzgzIiwiXzB4MTBhNDE1IiwiXzB4Mzc5MzMxIiwic2V0VGltZW91dCIsIl8weDU5ZDM1MCIsIl8weDM3YzVhMiIsInVuZGVmaW5lZCIsIl8weDE2N2IxMSIsIl8weDI1ZTI1MyIsIl8weDI5NGRiNCIsIl8weGE4YThmMCIsIl8weDRhNTQxNiIsIl8weDIwYjE3YSIsIl8weDU3NjYwZCIsIl8weDFmYTI3MSIsIl8weDQ4OGQ4NiIsIl8weDU5OWQzMyIsIl8weDM4Y2YyMiIsIl8weDE2OTQ1YyIsIl8weDExYzQ0MSIsIl8weDFmZDFlYyIsIl8weDEwNzk2NiIsIl8weDUxMGMyMyIsIl8weGFiNWE4IiwiXzB4MWM5Y2ViIiwiXzB4NWI0ZDVlIiwiXzB4MjBiY2NmIiwiXzB4MTYyMTA5IiwiXzB4MWI2N2Y1IiwiXzB4NDVlMGNkIl0sIm1hcHBpbmdzIjoiZ21CQUFBLENBQUMsVSxDQUNHLGEsd0JBRUEsU0FBU0EsU0FBVCxDQUF1QkMsU0FBdkIsQ0FBK0JDLFNBQS9CLENBQW9DQyxTQUFwQyxDQUEwQ0MsU0FBMUMsQyx5QkFDVUMsU0FBQSxDQUFjQyxDQUFBLEMsSUFBTUwsUyxnQkFBTixDLENBQ2RNLFNBQUEsQ0FBY0QsQ0FBQSxDLElBQU1MLFMsZ0JBQU4sQyxDQUNkTyxTQUFBLENBQWNGLENBQUEsQyxJQUFNTCxTLGdCQUFOLEMsQ0FDZFEsU0FBQSxDQUFXSCxDQUFBLEMsSUFBTUwsUyxnQkFBTixDLENBQ2pCLElBQUlTLFNBQUEsQyxHQUFKLENBQ0FMLFNBQUEsQyxNQUFBLEcsQ0FDQUUsU0FBQSxDLGdCQUFBLEcsQ0FDQUMsU0FBQSxDLGdCQUFBLEcsQ0FDQU4sU0FBQSxDLElBQUEsRSxPQUFBLENBQWdCLEksOEJBQ1JRLFMsQ0FDQSxPQUNKQSxTQUFBLEMsS0FDQUYsU0FBQSxD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R0FBc0IsRSxDQUN4QzRCLFNBQUEsQyxlQUFBLEksS0FFQUEsU0FBQSxDLGVBQUEsRUFBbUIsQyxJQUNmLEMsSUFEZSxDLE1BRWYsQyxlQUZlLEMsV0FHZixDLElBSGUsQyxZQUlmLENBQVl2QyxNQUFBLEMsZ0JBQUEsRUFBYyxFQUFkLENBQWtCSCxTQUFsQixDQUpHLENBQW5CLEMsQ0FPSm1DLFNBQUEsQyxlQUFBLEUsZ0JBQUEsRUFDQSxVQUFXUSxTQUFYLElBQTJCRCxTQUEzQixDLENBRUlQLFNBQUEsQyxjQUFBLEUsU0FBQSxDQUF5Q1EsU0FBekMsQyxHQTlDUixDQWlEQUYsU0FBQSxFLEdBL1M4QixDQUExQyxDLEVBNUxKLEciLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gKCkge1xuICAgICd1c2Ugc3RyaWN0JztcblxuICAgIGZ1bmN0aW9uIG1hbmFnZUFQSUNhbGwocHJlZml4LCBidG4sIGZ1bmMsIG9uUmVzdWx0KSB7XG4gICAgICAgIGNvbnN0IHN1Y2Nlc3NJY29uID0gJChgIyR7cHJlZml4fS1zdWNjZXNzYCk7XG4gICAgICAgIGNvbnN0IGZhaWx1cmVJY29uID0gJChgIyR7cHJlZml4fS1mYWlsdXJlYCk7XG4gICAgICAgIGNvbnN0IHBlbmRpbmdJY29uID0gJChgIyR7cHJlZml4fS1wZW5kaW5nYCk7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2VzID0gJChgIyR7cHJlZml4fS1tZXNzYWdlc2ApO1xuICAgICAgICBsZXQgYWN0aW9uUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdWNjZXNzSWNvbi5oaWRlKCk7XG4gICAgICAgIGZhaWx1cmVJY29uLmhpZGUoKTtcbiAgICAgICAgcGVuZGluZ0ljb24uaGlkZSgpO1xuICAgICAgICBidG4ub24oXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoYWN0aW9uUGVuZGluZylcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBhY3Rpb25QZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHBlbmRpbmdJY29uLnJlbW92ZUNsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgIHBlbmRpbmdJY29uLmh0bWwoXCJUZXN0aW5nIENvbm5lY3Rpb24gLi4uXCIpO1xuICAgICAgICAgICAgc3VjY2Vzc0ljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgZmFpbHVyZUljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgbWVzc2FnZXMuaHRtbChcIlwiKTtcbiAgICAgICAgICAgIGNvbnN0IHsgYm9keSwgdXJsIH0gPSBmdW5jKCk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcInh4eHh4XCIsIGJvZHkpO1xuICAgICAgICAgICAgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoYm9keSksXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC50aGVuKChkYXRhKSA9PiBkYXRhLmpzb24oKSlcbiAgICAgICAgICAgICAgICAudGhlbigoanNvbikgPT4ge1xuICAgICAgICAgICAgICAgIGFjdGlvblBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBwZW5kaW5nSWNvbi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoanNvbiwgbnVsbCwgXCIgXCIpKTtcbiAgICAgICAgICAgICAgICBpZiAoanNvbi5yZXN1bHQgPT09IFwib2tcIikge1xuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzSWNvbi5yZW1vdmVDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgIGZhaWx1cmVJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZXMuaHRtbChqc29uLm1lc3NhZ2UucmVwbGFjZShcIlxcblwiLCBcIjxicj5cIikpO1xuICAgICAgICAgICAgICAgICAgICBvblJlc3VsdChudWxsLCBqc29uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFkYXB0ID0gKHN0cikgPT4gIXN0clxuICAgICAgICAgICAgICAgICAgICAgICAgPyBcIlwiXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHN0clxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zcGxpdChcIlxcblwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoKGEpID0+IGA8cD4ke2F9PC9wPmApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmpvaW4oXCJcXG5cIik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFkYXB0MiA9IChzdHIpID0+IChBcnJheS5pc0FycmF5KHN0cikgPyBzdHIubWFwKGFkYXB0KS5qb2luKFwiXFxuXCIpIDogYWRhcHQoc3RyKSk7XG4gICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3NJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgZmFpbHVyZUljb24ucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlcy5odG1sKGFkYXB0Mihqc29uLm1lc3NhZ2UpICsgYWRhcHQyKGpzb24uZXh0cmEpKTtcbiAgICAgICAgICAgICAgICAgICAgb25SZXN1bHQobmV3IEVycm9yKGpzb24ucmVzdWx0KSwganNvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIGFjdGlvblBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBwZW5kaW5nSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgc3VjY2Vzc0ljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgIGZhaWx1cmVJY29uLnJlbW92ZUNsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICBtZXNzYWdlcy5odG1sKFwiaW50ZXJuYWwgZXJyb3IgXCIgKyBlcnIubWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJlcnJcIiwgZXJyKTtcbiAgICAgICAgICAgICAgICBvblJlc3VsdChlcnIsIG51bGwpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlxyXG5cclxuICAgIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxyXG4gICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLlxyXG5cclxuICAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcclxuICAgIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxyXG4gICAgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULFxyXG4gICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXHJcbiAgICBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxyXG4gICAgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUlxyXG4gICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cclxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbiAgICAvKiBnbG9iYWwgUmVmbGVjdCwgUHJvbWlzZSwgU3VwcHJlc3NlZEVycm9yLCBTeW1ib2wgKi9cclxuXHJcblxyXG4gICAgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxyXG4gICAgICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdHlwZW9mIFN1cHByZXNzZWRFcnJvciA9PT0gXCJmdW5jdGlvblwiID8gU3VwcHJlc3NlZEVycm9yIDogZnVuY3Rpb24gKGVycm9yLCBzdXBwcmVzc2VkLCBtZXNzYWdlKSB7XHJcbiAgICAgICAgdmFyIGUgPSBuZXcgRXJyb3IobWVzc2FnZSk7XHJcbiAgICAgICAgcmV0dXJuIGUubmFtZSA9IFwiU3VwcHJlc3NlZEVycm9yXCIsIGUuZXJyb3IgPSBlcnJvciwgZS5zdXBwcmVzc2VkID0gc3VwcHJlc3NlZCwgZTtcclxuICAgIH07XG5cbiAgICBmdW5jdGlvbiBmZXRjaExpY2VuY2VJbmZvKGJhc2VVcmwgPSBcIlwiKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCByb290ID0gYCR7YmFzZVVybH0vb3BjdWEtZW5kcG9pbnQyYDtcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L2xpY2VuY2VJbmZvYDtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSB5aWVsZCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKGRhdGEuc3RhdHVzICE9PSAyMDApIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImZlY2h0aW5nIGZhaWxlZCB3aXRoIGVycm9yXCIsIGRhdGEuc3RhdHVzLCBkYXRhLnN0YXR1c1RleHQpO1xuICAgICAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGpzb24gPSB5aWVsZCBkYXRhLmpzb24oKTtcbiAgICAgICAgICAgIHJldHVybiBqc29uO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgZGVjbGFyZUxpY2VuY2VXaWRnZXQgPSAoKSA9PiB7XG4gICAgICAgICQud2lkZ2V0KFwic3RlcmZpdmUubGljZW5jZVdpZGdldFwiLCB7XG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgYmFzZVVybDogXCJcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfY3JlYXRlKCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIGZldGNoTGljZW5jZUluZm8odGhhdC5iYXNlVXJsKVxuICAgICAgICAgICAgICAgICAgICAudGhlbigoanNvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgaWNvbiA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGxldCBtc2cgPSBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBsZXQgZGV0YWlscyA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXR1cyA9IGpzb24uc3RhdHVzO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHN0YXR1cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkFVVEhPUklaRURcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uID0gXCJmYSBmYS1jaGVjay1jaXJjbGVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoanNvbi5pc0RlbW8pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gXCJEZW1vIGxpY2VuY2VcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9IFwiWW91ciBsaWNlbmNlIGlzIHZhbGlkLlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID0gXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiRVhQSVJFRFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb24gPSBcImZhIGZhLWNhbGVuZGFyLXRpbWVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBcIkxpY2VuY2UgZXhwaXJlZFwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbHMgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIllvdXIgbGljZW5zZSBoYXMgZXhwaXJlZC4gUGxlYXNlIGNvbnRhY3Qgb3VyIHN1cHBvcnQgdGVhbSBvciB2aXNpdCBvdXIgd2Vic2l0ZSB0byByZW5ldyB5b3VyIGxpY2Vuc2UgYW5kIHJlZ2FpbiBhY2Nlc3MgdG8gb3VyIHNlcnZpY2VzLlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkZBSUxFRFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uID0gXCJmYSBmYS1leGNsYW1hdGlvbi1jaXJjbGVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBcIllvdXIgbGljZW5zZSBpcyBjdXJyZW50bHkgaW52YWxpZC5cIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BsZWFzZSA8YSBocmVmPVwibWFpbHRvOmNvbnRhY3RAc3RlcmZpdmUuY29tXCI+IGNvbnRhY3Qgb3VyIHN1cHBvcnQgdGVhbTwvYT4gb3IgdmlzaXQgb3VyIHdlYnNpdGUgdG8gcmVuZXcgeW91ciBsaWNlbnNlIGFuZCByZWdhaW4gYWNjZXNzIHRvIG91ciBzZXJ2aWNlcy4nO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8qKiAqL1xuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLmVsZW1lbnQudGV4dChcIkxpY2VuY2UgXCIgKyBKU09OLnN0cmluZ2lmeShqc29uKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0XCIpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldC1cIiArIHN0YXR1cyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoJChcIjxzcGFuPlwiKS5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0LWljb25cIikuYXBwZW5kKCQoXCI8aT5cIikuYWRkQ2xhc3MoaWNvbikpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZCgkKFwiPHNwYW4+XCIpLmFkZENsYXNzKFwibGljZW5jZS13aWRnZXQtbXNnXCIpLnRleHQobXNnKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoJChcIjxicj5cIikpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKCQoXCI8c3Bhbj5cIikuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldC1kZXRhaWxzXCIpLmFwcGVuZChkZXRhaWxzKSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBkZWNsYXJlTGljZW5jZVdpZGdldCgpO1xuICAgIGZ1bmN0aW9uIGlzVmFsaWRPUENfVUFfVVJJKHN0cikge1xuICAgICAgICBsZXQgdXJsO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdXJsID0gbmV3IFVSTChzdHIpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChfKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVybC5wcm90b2NvbCA9PT0gXCJvcGMudGNwOlwiO1xuICAgIH1cbiAgICBjb25zdCBkZWZhdWx0U3Vic2NyaXB0aW9uUGFyYW1ldGVycyA9IHtcbiAgICAgICAgcHVibGlzaGluZ0VuYWJsZWQ6IHRydWUsXG4gICAgICAgIHJlcXVlc3RlZExpZmV0aW1lQ291bnQ6IDEwMDAsXG4gICAgICAgIHJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50OiAxMCxcbiAgICAgICAgcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsOiAxMDAwLFxuICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogMCxcbiAgICAgICAgcHJpb3JpdHk6IDEwMCxcbiAgICB9O1xuICAgIFJFRC5ub2Rlcy5yZWdpc3RlclR5cGUoXCJPcGNVYS1FbmRwb2ludDJcIiwge1xuICAgICAgICBjYXRlZ29yeTogXCJjb25maWdcIixcbiAgICAgICAgZGVmYXVsdHM6IHtcbiAgICAgICAgICAgIG5hbWU6IHsgdmFsdWU6IFwiXCIgfSxcbiAgICAgICAgICAgIGVuZHBvaW50OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IFwib3BjLnRjcDovL29wY3VhZGVtby5zdGVyZml2ZS5jb206MjY1NDMvVUEvU2FtcGxlU2VydmVyXCIsXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgdmFsaWRhdGU6IGlzVmFsaWRPUENfVUFfVVJJLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vIFNlY3VyaXR5IE1vZGVcbiAgICAgICAgICAgIHNlY3VyaXR5TW9kZTogeyB2YWx1ZTogXCJOb25lXCIgfSxcbiAgICAgICAgICAgIHNlY3VyaXR5UG9saWN5OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IFwiTm9uZVwiLFxuICAgICAgICAgICAgICAgIHZhbGlkYXRlOiAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB1c2VySWRlbnRpdHlUeXBlOiB7IHZhbHVlOiBcIkFub255bW91c1wiIH0sXG4gICAgICAgICAgICAvLyB0byB1c2Ugd2hlbiB1c2VySWRlbnRpdHlUeXBlIGlzIFVzZXJOYW1lXG4gICAgICAgICAgICB1c2VyTmFtZTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgcGFzc3dvcmQ6IHsgdmFsdWU6IFwiXCIsIHR5cGU6IFwicGFzc3dvcmRcIiB9LFxuICAgICAgICAgICAgLy8gdG8gdXNlIHdoZW4gdXNlcklkZW50aXR5VHlwZSBpcyBDZXJ0aWZpY2F0ZVxuICAgICAgICAgICAgdXNlckNlcnRpZmljYXRlOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICB1c2VyUHJpdmF0ZWtleTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgLy8gdXNlcm5hbWVcbiAgICAgICAgICAgIC8vIFRoZXNlIGFyZSBmaXhlZCBvciBjYW4gYmUgcmVhZCB0aHJvdWdoIGVuZFBvaW50XG4gICAgICAgICAgICBjZXJ0aWZpY2F0ZTogeyB2YWx1ZTogXCJuXCIgfSxcbiAgICAgICAgICAgIGxvY2FsZmlsZTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgbG9jYWxrZXlmaWxlOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgdXNlVHJhbnNwb3J0OiB7IHZhbHVlOiBmYWxzZSwgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICBtYXhDaHVua0NvdW50OiB7IHZhbHVlOiAxLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIG1heE1lc3NhZ2VTaXplOiB7IHZhbHVlOiA4MTkyLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIHJlY2VpdmVCdWZmZXJTaXplOiB7IHZhbHVlOiA4MTkyLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIHNlbmRCdWZmZXJTaXplOiB7IHZhbHVlOiA4MTkyLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJzMVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJEZWZhdWx0IFN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczogT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdFN1YnNjcmlwdGlvblBhcmFtZXRlcnMpLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJzMlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJTbG93IFN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaXNoaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRMaWZldGltZUNvdW50OiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQ6IDIwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbDogNTAwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAxMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcInMzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIkZhc3QgU3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxpc2hpbmdFbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZExpZmV0aW1lQ291bnQ6IDQwMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQ6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWw6IDI1MCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAyMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgY3JlZGVudGlhbHM6IHtcbiAgICAgICAgICAgIHVzZXI6IHsgdHlwZTogXCJ0ZXh0XCIgfSxcbiAgICAgICAgICAgIHBhc3N3b3JkOiB7IHR5cGU6IFwicGFzc3dvcmRcIiB9LFxuICAgICAgICB9LFxuICAgICAgICBsYWJlbDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmFtZSB8fCB0aGlzLmVuZHBvaW50IHx8IFwiaW52YWxpZCBlbmRwb2ludFwiO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRzYXZlKCkge1xuICAgICAgICAgICAgY29uc3QgX3NlY3VyaXR5UG9saWN5ID0gJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eVBvbGljeVwiKTtcbiAgICAgICAgICAgIGNvbnN0IF9zZWN1cml0eU1vZGUgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXNlY3VyaXR5TW9kZVwiKTtcbiAgICAgICAgICAgIGlmIChfc2VjdXJpdHlQb2xpY3kudmFsKCkgPT09IFwiTm9uZVwiKSB7XG4gICAgICAgICAgICAgICAgX3NlY3VyaXR5TW9kZS50ZXh0KFwiTm9uZVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vICgoKCgoKCgoKCggcmV0cmlldmUgc3Vic2NyaXB0aW9uIGRhdGEgKSkpKSkpKSkpKVxuICAgICAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uc0l0ZW1zID0gJChcIiNzdWJzY3JpcHRpb25zLWNvbnRhaW5lclwiKS5lZGl0YWJsZUxpc3QoXCJpdGVtc1wiKTtcbiAgICAgICAgICAgIGNvbnN0IHMgPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IG4gPSAoeCkgPT4geDtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbnNJdGVtcy5lYWNoKGZ1bmN0aW9uIChpbmRleCwgaXRlbSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGUgPSAkKHRoaXMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGEgPSB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBcInNcIiArIGluZGV4LFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBlLmZpbmQoXCIuaW5wdXQtbmFtZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiAhIWUuZmluZChcIi5pbnB1dC1pc0RlZmF1bHRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxpc2hpbmdFbmFibGVkOiAhIWUuZmluZChcIi5pbnB1dC1wdWJsaXNoaW5nRW5hYmxlZFwiKS5pcyhcIjpjaGVja2VkXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTGlmZXRpbWVDb3VudDogbihlLmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTGlmZXRpbWVDb3VudFwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudDogbihlLmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnRcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsOiBuKGUuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWxcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2g6IG4oZS5maW5kKFwiLmlucHV0LW1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoXCIpLnZhbCgpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiBuKGUuZmluZChcIi5pbnB1dC1wcmlvcml0eVwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAvLyBmb3JjZSB0byBiZSB0cnVlXG4gICAgICAgICAgICAgICAgYS5wYXJhbWV0ZXJzLnB1Ymxpc2hpbmdFbmFibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBpZiAoYS5pc0RlZmF1bHQgJiYgYS5pZCA9PT0gXCJzMFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIG5vcm1hbGl6ZSBkZWZhdWx0IHN1YnNjcmlwdGlvbiBuYW1lXG4gICAgICAgICAgICAgICAgICAgIGEubmFtZSA9IFwiRGVmYXVsdCBTdWJzY3JpcHRpb25cIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcy5wdXNoKGEpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBzO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRwcmVwYXJlKCkge1xuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXM7XG4gICAgICAgICAgICBjb25zdCB0YWJzID0gUkVELnRhYnMuY3JlYXRlKHtcbiAgICAgICAgICAgICAgICBpZDogXCJub2RlLWNvbmZpZy1lbmRwb2ludC10YWJzXCIsXG4gICAgICAgICAgICAgICAgb25jaGFuZ2U6IGZ1bmN0aW9uICh0YWIpIHtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1lbmRwb2ludC10YWJzLWNvbnRlbnRcIikuY2hpbGRyZW4oKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjXCIgKyB0YWIuaWQpLnNob3coKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0YWJzLmFkZFRhYih7XG4gICAgICAgICAgICAgICAgaWQ6IFwiZW5kcG9pbnQtdGFiLWNvbm5lY3Rpb25cIixcbiAgICAgICAgICAgICAgICBsYWJlbDogXCJDb25uZWN0aW9uXCIsXG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgIHRhYnMuYWRkVGFiKHtcbiAgICAgICAgICAgICAgICBpZDogXCJlbmRwb2ludC10YWItc3Vic2NyaXB0aW9uc1wiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBcIlN1YnNjcmlwdGlvbnNcIixcbiAgICAgICAgICAgIH0sIDEpO1xuICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgdGFicy5yZXNpemUoKTtcbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGhhbmRsZSBTZWN1cml0eSBjb250cm9sc1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVTZWN1cml0eUNvbnRyb2wgPSAoc2VjdXJpdHlNb2RlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoc2VjdXJpdHlNb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIG51bGw6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIHVuZGVmaW5lZDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJOb25lXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIi5zZWN0aW9uLXNlY3VyaXR5UG9saWN5XCIpLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJTaWduXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiU2lnbkFuZEVuY3J5cHRcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNwID0gJChcIi5zZWN0aW9uLXNlY3VyaXR5UG9saWN5XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3AudmFsKCkgPT09IFwiTm9uZVwiIHx8IHNwLnZhbCgpID09PSBcIlwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcC52YWwoXCJCYXNpYzI1NlNoYTI1NlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiLnNlY3Rpb24tc2VjdXJpdHlQb2xpY3lcIikuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJpbnZhbGlkIHNlY3VyaXR5TW9kZSBcIiArIHNlY3VyaXR5TW9kZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHVwZGF0ZVNlY3VyaXR5Q29udHJvbChub2RlLnNlY3VyaXR5TW9kZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgX3NlY3VyaXR5TW9kZSA9ICQoXCIjbm9kZS1jb25maWctaW5wdXQtc2VjdXJpdHlNb2RlXCIpO1xuICAgICAgICAgICAgICAgIF9zZWN1cml0eU1vZGUub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdTZWN1cml0eU1vZGUgPSBfc2VjdXJpdHlNb2RlLnZhbCgpO1xuICAgICAgICAgICAgICAgICAgICB1cGRhdGVTZWN1cml0eUNvbnRyb2wobmV3U2VjdXJpdHlNb2RlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGxpY2VuY2VXaWRnZXQgPSAkKFwiI2xpY2VuY2VXaWRnZXRcIik7XG4gICAgICAgICAgICBsaWNlbmNlV2lkZ2V0LmxpY2VuY2VXaWRnZXQoe1xuICAgICAgICAgICAgICAgIGJhc2VVcmw6IFwiXCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyBoYW5kbGUgdGhlIFVzZXIgSWRlbnRpdHkgQ29udHJvbHNcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29uc3QgYXV0aFJvdyA9ICQoXCIuc2VjdGlvbi11c2VySWRlbnRpdHlUeXBlLVVzZXJOYW1lXCIpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNlcnRSb3cgPSAkKFwiLnNlY3Rpb24tdXNlcklkZW50aXR5VHlwZS1DZXJ0aWZpY2F0ZVwiKTtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVJZGVudGl0eUNvbnRyb2xzID0gKHVzZXJJZGVudGl0eVR5cGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdXNlcklkZW50aXR5VHlwZSA9IHVzZXJJZGVudGl0eVR5cGUgfHwgXCJBbm9ueW1vdXNcIjtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh1c2VySWRlbnRpdHlUeXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiQW5vbnltb3VzXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyTmFtZVwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC1wYXNzd29yZFwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aFJvdy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydFJvdy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiVXNlck5hbWVcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRoUm93LnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0Um93LmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJDZXJ0aWZpY2F0ZVwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlck5hbWVcIikudmFsKFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1jb25maWctaW5wdXQtcGFzc3dvcmRcIikudmFsKFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRSb3cuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhSb3cuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImludmFsaWQgdXNlcklkZW50aXR5VHlwZSBcIiArIHVzZXJJZGVudGl0eVR5cGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB1cGRhdGVJZGVudGl0eUNvbnRyb2xzKG5vZGUudXNlcklkZW50aXR5VHlwZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgX3VzZXJJZGVudGl0eVR5cGUgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJJZGVudGl0eVR5cGVcIik7XG4gICAgICAgICAgICAgICAgX3VzZXJJZGVudGl0eVR5cGUub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdJZGVudGl0eVR5cGUgPSBfdXNlcklkZW50aXR5VHlwZS52YWwoKTtcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlSWRlbnRpdHlDb250cm9scyhuZXdJZGVudGl0eVR5cGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgICAgLy8gaGFuZGxlIGFkdmFuY2VkIGNvbnRyb2xzXG4gICAgICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tQWR2YW5jZWRcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICQoXCIjdG9nZ2xlQWR2YW5jZWRTZWN0aW9uXCIpLm9uKFwiY2hhbmdlXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykucHJvcChcImNoZWNrZWRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBjaGVja2JveCBpcyBjaGVja2VkLCBzaG93IHRoZSBkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1BZHZhbmNlZFwiKS5zaG93KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBPdGhlcndpc2UsIGhpZGUgaXRcbiAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1BZHZhbmNlZFwiKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgICAgIC8vIGhhbmRsZSB0aGUgVGVzdCBidXR0b25cbiAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgICAgIG1hbmFnZUFQSUNhbGwoXCJjb25uZWN0aW9uXCIsICQoXCIjdGVzdC1jb25uZWN0aW9uXCIpLCAoKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICB1cmw6IFwiL29wY3VhLWVuZHBvaW50Mi90ZXN0LWNvbm5lY3Rpb25cIixcbiAgICAgICAgICAgICAgICAgICAgYm9keToge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IG5vZGUuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kcG9pbnQ6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtZW5kcG9pbnRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjdXJpdHlNb2RlOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXNlY3VyaXR5TW9kZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWN1cml0eVBvbGljeTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eVBvbGljeVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VySWRlbnRpdHlUeXBlOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJJZGVudGl0eVR5cGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlck5hbWU6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlck5hbWVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmQ6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtcGFzc3dvcmRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlckNlcnRpZmljYXRlOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJDZXJ0aWZpY2F0ZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyUHJpdmF0ZWtleTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyUHJpdmF0ZWtleVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy8gbm90IHRlc3RlZCB5ZXQgLi4uOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRpZmljYXRlOiAkKFwiI25vZGUtaW5wdXQtY2VydGlmaWNhdGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxmaWxlOiAkKFwiI25vZGUtaW5wdXQtbG9jYWxmaWxlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2Fsa2V5ZmlsZTogJChcIiNub2RlLWlucHV0LWxvY2Fsa2V5ZmlsZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VUcmFuc3BvcnQ6ICQoXCIjbm9kZS1pbnB1dC11c2VUcmFuc3BvcnRcIikucHJvcChcImNoZWNrZWRcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Q2h1bmtDb3VudDogJChcIiNub2RlLWlucHV0LW1heENodW5rQ291bnRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4TWVzc2FnZVNpemU6ICQoXCIjbm9kZS1pbnB1dC1tYXhNZXNzYWdlU2l6ZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNlaXZlQnVmZmVyU2l6ZTogJChcIiNub2RlLWlucHV0LXJlY2VpdmVCdWZmZXJTaXplXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbmRCdWZmZXJTaXplOiAkKFwiI25vZGUtaW5wdXQtc2VuZEJ1ZmZlclNpemVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pLCAoKSA9PiB7IH0pO1xuICAgICAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgICAgLy8gIEluc3RhbGwgc3Vic2NyaXB0aW9ucyBMaXN0IG1hbmFnZW1lbnRcbiAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgICAgIGNvbnN0IHJlc2l6ZVRvcGljcyA9ICh0b3BpYywgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG5ld1dpZHRoID0gdG9waWMud2lkdGgoKSB8fCAxMDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcGljLmZpbmQoXCJsYWJlbFwiKS50eXBlZElucHV0KFwid2lkdGhcIiwgbmV3V2lkdGggLSAxNSk7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25MaXN0ID0gJChcIiNzdWJzY3JpcHRpb25zLWNvbnRhaW5lclwiKVxuICAgICAgICAgICAgICAgICAgICAuY3NzKHsgXCJtaW4taGVpZ2h0XCI6IFwiMTUwcHhcIiwgXCJtaW4td2lkdGhcIjogXCIyNjBweFwiIH0pXG4gICAgICAgICAgICAgICAgICAgIC5lZGl0YWJsZUxpc3Qoe1xuICAgICAgICAgICAgICAgICAgICBhZGRJdGVtOiAoY29udGFpbmVyLCBpbmRleCwgZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgX2RhdGEgPSBkYXRhO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9ICQoXCIudGVtcGxhdGVcIikuY2xvbmUoKS5hcHBlbmRUbyhjb250YWluZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5yZW1vdmVBdHRyKFwiaWRcIikucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpLnJlbW92ZUNsYXNzKFwidGVtcGxhdGVcIikuYXR0cihcImRhdGEtaVwiLCBpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtbmFtZVwiKS52YWwoX2RhdGEubmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsXCIpLnZhbChfZGF0YS5wYXJhbWV0ZXJzLnJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnRcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMucmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LXJlcXVlc3RlZExpZmV0aW1lQ291bnRcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMucmVxdWVzdGVkTGlmZXRpbWVDb3VudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2hcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMubWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2ggfHwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtcHJpb3JpdHlcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMucHJpb3JpdHkgfHwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuc3Vic2NyaXB0aW9uLWlkXCIpLnRleHQoXCJcIiArIGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChfZGF0YS5pc0RlZmF1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtbmFtZVwiKS5wcm9wKFwicmVhZG9ubHlcIiwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtaXNEZWZhdWx0XCIpLnByb3AoXCJjaGVja2VkXCIsIF9kYXRhLmlzRGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBtYWtlIHN1cmUgdGhhdCBkZWZhdWx0IHN1YnNjcmlwdGlvbiBjYW5ub3QgYmUgYWNjaWRlbnRhbGx5IHJlbW92ZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChfZGF0YS5pc0RlZmF1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXIuZmluZChcIi5yZWQtdWktZWRpdGFibGVMaXN0LWl0ZW0tcmVtb3ZlXCIpLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IGVsZW1lbnQuZmluZChcIi5pbnB1dC1pc0RlZmF1bHRcIikucHJvcChcImRpc2FibGVkXCIsIHRydWUpLCAxMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIC8vIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICByZW1vdmFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHJlc2l6ZUl0ZW06IHJlc2l6ZVRvcGljcyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBjb25zdCBBZGRTdWJzY3JpcHRpb24gPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbnMgPSBub2RlLnN1YnNjcmlwdGlvbnMgfHwgW107XG4gICAgICAgICAgICAgICAgICAgIGlmIChzdWJzY3JpcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWRkIG1pc3NpbmcgZGVmYXVsdCBzdWJzY3JpcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwiczFcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIkRlZmF1bHQgU3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRTdWJzY3JpcHRpb25QYXJhbWV0ZXJzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbkxpc3QuZWRpdGFibGVMaXN0KFwiZW1wdHlcIik7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIHN1YnNjcmlwdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHN1YnNjcmlwdGlvbi5pc0RlZmF1bHQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbkxpc3QuZWRpdGFibGVMaXN0KFwiYWRkSXRlbVwiLCBzdWJzY3JpcHRpb24pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBBZGRTdWJzY3JpcHRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICB9KTtcblxufSkoKTsiXX0=
|
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==
|
9
9
|
</script>
|
10
10
|
<script type="text/x-red" data-template-name="OpcUa-Endpoint2">
|
11
11
|
<style>
|