@opcua/for-node-red 3.9.0 → 3.10.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/LICENSE.md +1 -1
- package/all.js +4 -150
- package/config-panel/assets/{index-Cbauh_EP.css → index-CxGeB_Tt.css} +1 -1
- package/config-panel/index.html +5 -3
- package/package.json +2 -1
- package/source/OpcUa-Client2-Browse/OpcUa-Client2-Browse.html +3 -4
- package/source/OpcUa-Client2-Call/OpcUa-Client2-Call.html +7 -2
- package/source/OpcUa-Client2-Explore/OpcUa-Client2-Explore.html +1 -2
- package/source/OpcUa-Client2-ExtensionObject/OpcUa-Client2-ExtensionObject.html +1 -2
- package/source/OpcUa-Client2-FileOperation/OpcUa-Client2-FileOperation.css +2 -0
- package/source/OpcUa-Client2-FileOperation/OpcUa-Client2-FileOperation.html +75 -0
- package/source/OpcUa-Client2-FileOperation/OpcUa-Client2-FileOperation.js +2 -0
- package/source/OpcUa-Client2-HistoryRead/OpcUa-Client2-HistoryRead.html +1 -2
- package/source/OpcUa-Client2-Monitor/OpcUa-Client2-Monitor.html +1 -2
- package/source/OpcUa-Client2-MonitorEvent/OpcUa-Client2-MonitorEvent.html +1 -2
- package/source/OpcUa-Client2-Read/OpcUa-Client2-Read.html +1 -2
- package/source/OpcUa-Client2-Write/OpcUa-Client2-Write.html +1 -2
- package/source/OpcUa-Endpoint2/OpcUa-Endpoint2.html +1 -2
- /package/config-panel/assets/{index-Dbq8sVaJ.js → index-DgIjB-ey.js} +0 -0
@@ -4,8 +4,7 @@
|
|
4
4
|
</style>
|
5
5
|
|
6
6
|
<script type="text/javascript">
|
7
|
-
function _0x5e55(_0xbdb485,_0x4d0db6){const _0x1cb348=_0x1cb3();return _0x5e55=function(_0x5e55f3,_0x2cf51e){_0x5e55f3=_0x5e55f3-0x159;let _0x2b8389=_0x1cb348[_0x5e55f3];return _0x2b8389;},_0x5e55(_0xbdb485,_0x4d0db6);}function _0x1cb3(){const _0x4655c7=['_hideMenu','sort','<i\x20class=\x22fa\x20fa-bookmark\x22/> \x20','nodeId','$inputGroup','SuppressedError','Organizes','fa-object-group','statusCode','#node-input-endpoint','20px','references','HasSubtype','enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20','trigger','nsu','trim','.tree-text:first','HasComponent','throw',');\x20-webkit-mask-image:\x20url(','animate',':visible','OpcUa-Endpoint2','i=31','#node-input-nodeClassMask','application/json','.spinner','installing\x20iframe','bp_indexed','<span\x20class=\x22red-ui-typedInput-type-label\x22></span>','push','fa-cog','endpointNode','replaceWith','_createMenu','displayName','<div/>','after','scrollTop','click','fa-list-alt','/walk-backward','already\x20fetched','nodes','16px','_delay','callback','Invalid','then','#node-input-nodeId','/opcua-for-node-red','msg','append','show','namespaceAliases','aliasedBrowsePath','browsePath','position','msg.','widget','Variable\x20|\x20Object\x20|\x20Method\x20|\x20ObjectType\x20|\x20VariableType','$input','reset','mousedown.red-ui-typedInput-focus-block','attr','Good','data','<i>','expandable\x20expanded','filter','resolveParentNode','setMode','css','<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> ','catch','VariableType','reference','fa-folder','slideDown','title','ns=0;i=85','ReferenceType','verify','sterfive-input-error','string','180px','red-ui-typedInput-icon\x20','<iframe></iframe>','SeaGreen','$tree','$info','fetching\x20failed\x20with\x20error','top','focus','background-color:transparent;overflow:hidden;border:3px','sterfive-typedInput-options\x20sterfive-online-menu','icon','<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>','li[key=\x22','appendTo','ReferenceType\x20|\x20BrowseName\x20|\x20TypeDefinition\x20|\x20DisplayName\x20|\x20NodeClass\x20|\x20IsForward','toggle','Unknown\x20bit\x20name','absolute','browseName','message','pointer-events','DodgerBlue','checked','$combo','find','<input\x20type=\x22checkbox\x22>','nodeBrowser','keydown','Aliased\x20Browse\x20Path','#node-input-referenceTypeId','81820suKeON','value','ns=0;i=61','$dropdown','13902UOSPFq','<li>error\x20','View','body','9gMAKpV','parent','_showTypeMenu','next','mode','Both','OPCUA\x20Browse','prev','$elementDiv','ObjectType','../../icons/opcuanodeLogo.png','endpoint','opc.tcp://opcuademo.sterfive.com:26543','$menu','children','Inverse','nodeId_nsu','before','ns=0;i=40','element','target','8FndATM','text','<div\x20class=\x22sterfive-info-text\x22></div>','HasTypeDefinition','log','!!failure!!','browse\x20path:\x20','expandable','nsuNodeID','nodeIds','#C0DEED','Aliased\x20NodeId','__parentNode','$uiSelect','nodeId_aliased','remove','prependTo','ns=0;i=34','\x22}><span\x20class=\x22tree-text\x22\x20title=','localeCompare','installFeedbackWidget\x20','baseUrl','DisplayName','nsu\x20nodeId:\x20','json','Method','<li\x20key=\x22','input[type=\x22checkbox\x22]','tabindex','/checkNodeId','BrowseName','namesToBits','NodeClass','updateValue','input-group','selected','604467HbVevi','fa-text-width','1655292aQUreY','$selectTrigger','hide','</span><ul></ul></li>','disarmClick','OpcUa-Client2-Browse','change','offset','</span>','inputs','val','aliasedNodeId','isTypeRef','sterfive-info','.red-ui-tray-body','name','<div\x20class=\x22custom-option\x22\x20data-value=\x22','browse','keyCode','multiple','<span\x20title=','Unspecified','map','main-wrapper','<div>','$selectLabel','isSelectable','2068sDzrad','failure','NodeId\x20with\x20namespace\x20Urn','insertAfter','toString','browseResult','hasClass','join','nodeClass','options','entries','sterfive.nodeBrowser','SandyBrown','/opcua-for-node-red/support-frame.html','sterfive-input-group','closest','opts','relativePath','nodeId:\x20','stringify','requestedNodeId','preventDefault','grey','18px','aliased\x20browsePath:\x20','length','_showMenu','DarkOrange','err','\x20|\x20','HasProperty','<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>','ns=0;i=35','> \x20','empty','expanded','2742WoCaQX','Variable','error','currentParent','<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>','function','match','bp_aliased','addClass','toggleClass','46162068xJjnpy','CadetBlue','auto','fetched','li\x20>\x20.tree-text','registerType','[value=\x27','node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','POST','.custom-option','number','left','Forward','label','396844yymnuU','HasChild','indexOf','red-ui-typedInput-focus','none','Object','pageY','96qaIcJB','aliased\x20NodeId:\x20',';\x22></i>\x20','IsForward','already\x20loading','node','suppressed','<span\x20class=\x22custom-checkbox\x22></span>','removeClass','parentNode','<ul\x20class=\x22sterfive-tree\x22></ul>','$verifyBtn','sterfive.flagEditor','_initMenu','Value\x20is\x20not\x20verified','30px','ns=0;i=47','referenceTypeId','each','parentElement','placeholder','DataType','right','<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>','References','<i\x20class=\x22fa\x20fa-font\x22/i>\x20','selectedMenuItem','TypeDefinition','fa-question','pageX','mousedown.red-ui-typedInput-close-property-select','prop','<a\x20href=\x22#\x22></a>','Objects','status','$toggleTreeBtn','node_label_italic','i=61','assign','loading','sterfive-combo-box','8700160monJNX','height','stopPropagation'];_0x1cb3=function(){return _0x4655c7;};return _0x1cb3();}(function(_0x4f1f2f,_0x99253d){const _0x447d2b=_0x5e55,_0x1de239=_0x4f1f2f();while(!![]){try{const _0x390183=parseInt(_0x447d2b(0x286))/0x1*(-parseInt(_0x447d2b(0x1c1))/0x2)+-parseInt(_0x447d2b(0x271))/0x3*(parseInt(_0x447d2b(0x16a))/0x4)+-parseInt(_0x447d2b(0x1f1))/0x5+-parseInt(_0x447d2b(0x1a9))/0x6*(-parseInt(_0x447d2b(0x26d))/0x7)+parseInt(_0x447d2b(0x1c8))/0x8*(-parseInt(_0x447d2b(0x168))/0x9)+parseInt(_0x447d2b(0x269))/0xa*(parseInt(_0x447d2b(0x185))/0xb)+parseInt(_0x447d2b(0x1b3))/0xc;if(_0x390183===_0x99253d)break;else _0x1de239['push'](_0x1de239['shift']());}catch(_0x7e690e){_0x1de239['push'](_0x1de239['shift']());}}}(_0x1cb3,0xe0140),(function(){'use strict';const _0x26ab0e=_0x5e55;function _0x51888e(_0x150c90,_0x1c822c,_0x406a16,_0x307591){function _0x486bbf(_0x36cc20){return _0x36cc20 instanceof _0x406a16?_0x36cc20:new _0x406a16(function(_0x1822b0){_0x1822b0(_0x36cc20);});}return new(_0x406a16||(_0x406a16=Promise))(function(_0x27a667,_0x29bbee){const _0x316228=_0x5e55;function _0x3c244c(_0x11cad0){const _0x7a53a6=_0x5e55;try{_0x142c7f(_0x307591[_0x7a53a6(0x274)](_0x11cad0));}catch(_0x1239c8){_0x29bbee(_0x1239c8);}}function _0x2f028b(_0xc60125){const _0x3d5e14=_0x5e55;try{_0x142c7f(_0x307591[_0x3d5e14(0x207)](_0xc60125));}catch(_0x48950b){_0x29bbee(_0x48950b);}}function _0x142c7f(_0x3a57fc){const _0x44d4f7=_0x5e55;_0x3a57fc['done']?_0x27a667(_0x3a57fc[_0x44d4f7(0x26a)]):_0x486bbf(_0x3a57fc[_0x44d4f7(0x26a)])[_0x44d4f7(0x225)](_0x3c244c,_0x2f028b);}_0x142c7f((_0x307591=_0x307591['apply'](_0x150c90,_0x1c822c||[]))[_0x316228(0x274)]());});}typeof SuppressedError==='function'?SuppressedError:function(_0x4be305,_0x2f125a,_0xe26240){const _0x814280=_0x5e55;var _0x2b1438=new Error(_0xe26240);return _0x2b1438[_0x814280(0x179)]=_0x814280(0x1f9),_0x2b1438[_0x814280(0x1ab)]=_0x4be305,_0x2b1438[_0x814280(0x1ce)]=_0x2f125a,_0x2b1438;};const _0x446144=_0x26ab0e(0x1a5),_0x13f358=_0x26ab0e(0x26b),_0xe1a1e=_0x26ab0e(0x1d8),_0x16f255='ns=0;i=46',_0x56f79f=_0x26ab0e(0x297),_0x49039b='ns=0;i=45',_0x239611=_0x26ab0e(0x283);var _0x37691e;(function(_0x5e8f33){const _0x9a7bf2=_0x26ab0e;_0x5e8f33[_0x5e8f33[_0x9a7bf2(0x1bf)]=0x0]=_0x9a7bf2(0x1bf),_0x5e8f33[_0x5e8f33[_0x9a7bf2(0x280)]=0x1]=_0x9a7bf2(0x280),_0x5e8f33[_0x5e8f33['Both']=0x2]=_0x9a7bf2(0x276),_0x5e8f33[_0x5e8f33[_0x9a7bf2(0x224)]=0x3]=_0x9a7bf2(0x224);}(_0x37691e||(_0x37691e={})));var _0x43e0b0;(function(_0x162730){const _0x2d725b=_0x26ab0e;_0x162730[_0x162730[_0x2d725b(0x17f)]=0x0]=_0x2d725b(0x17f),_0x162730[_0x162730[_0x2d725b(0x1c6)]=0x1]=_0x2d725b(0x1c6),_0x162730[_0x162730[_0x2d725b(0x1aa)]=0x2]='Variable',_0x162730[_0x162730[_0x2d725b(0x15d)]=0x4]=_0x2d725b(0x15d),_0x162730[_0x162730[_0x2d725b(0x27a)]=0x8]=_0x2d725b(0x27a),_0x162730[_0x162730[_0x2d725b(0x240)]=0x10]=_0x2d725b(0x240),_0x162730[_0x162730[_0x2d725b(0x246)]=0x20]=_0x2d725b(0x246),_0x162730[_0x162730['DataType']=0x40]=_0x2d725b(0x1dd),_0x162730[_0x162730[_0x2d725b(0x26f)]=0x80]=_0x2d725b(0x26f);}(_0x43e0b0||(_0x43e0b0={})));var _0xb06c55;(function(_0x18010a){const _0x7bd103=_0x26ab0e;_0x18010a[_0x18010a[_0x7bd103(0x1c6)]=0x1]='Object',_0x18010a[_0x18010a[_0x7bd103(0x1aa)]=0x2]=_0x7bd103(0x1aa),_0x18010a[_0x18010a[_0x7bd103(0x15d)]=0x4]=_0x7bd103(0x15d),_0x18010a[_0x18010a['ObjectType']=0x8]='ObjectType',_0x18010a[_0x18010a['VariableType']=0x10]=_0x7bd103(0x240),_0x18010a[_0x18010a[_0x7bd103(0x246)]=0x20]=_0x7bd103(0x246),_0x18010a[_0x18010a[_0x7bd103(0x1dd)]=0x40]='DataType',_0x18010a[_0x18010a[_0x7bd103(0x26f)]=0x80]='View';}(_0xb06c55||(_0xb06c55={})));function _0x33ad28(_0x325f18,_0x4a70e1){const _0x114914=_0x26ab0e;if(typeof _0x4a70e1===_0x114914(0x1bd))return _0x4a70e1;const _0x53d197=parseInt(_0x4a70e1,0xa);if(!isNaN(_0x53d197))return _0x53d197;const _0x52a949=_0x4a70e1['split'](/\||;|,/)[_0x114914(0x180)](_0x5ace79=>_0x5ace79[_0x114914(0x204)]());let _0x2909f6=0x0;for(const _0x21bdf6 of _0x52a949){_0x2909f6|=_0x325f18[_0x21bdf6];}return _0x2909f6;}function _0x14d8ce(_0xf5fa54,_0x3e7180){const _0x519302=_0x26ab0e;_0x3e7180=_0x33ad28(_0xf5fa54,_0x3e7180);const _0x2e732e=[];if(!_0xf5fa54)return _0x2e732e[_0x519302(0x18c)](_0x519302(0x1a2));for(const [_0x11abf8,_0x3ef944]of Object[_0x519302(0x18f)](_0xf5fa54)){typeof _0x3e7180==='number'&&((_0x3e7180&_0x3ef944)===_0x3ef944&&_0x2e732e[_0x519302(0x213)](_0x11abf8));}return _0x2e732e[_0x519302(0x18c)](_0x519302(0x1a2));}var _0x3844e5;(function(_0x34addc){const _0xbbe19=_0x26ab0e;_0x34addc[_0x34addc[_0xbbe19(0x246)]=0x1]=_0xbbe19(0x246),_0x34addc[_0x34addc[_0xbbe19(0x1cb)]=0x2]='IsForward',_0x34addc[_0x34addc[_0xbbe19(0x164)]=0x4]='NodeClass',_0x34addc[_0x34addc[_0xbbe19(0x162)]=0x8]=_0xbbe19(0x162),_0x34addc[_0x34addc[_0xbbe19(0x15a)]=0x10]=_0xbbe19(0x15a),_0x34addc[_0x34addc[_0xbbe19(0x1e3)]=0x20]=_0xbbe19(0x1e3);}(_0x3844e5||(_0x3844e5={})));function _0x2d0627(_0x467d98){const _0x544cfa=_0x26ab0e;switch(_0x467d98){case _0x544cfa(0x1fa):return _0x446144;case _0x544cfa(0x1a3):return _0x16f255;case _0x544cfa(0x206):return _0xe1a1e;case _0x544cfa(0x1c2):return _0x56f79f;case'HasSubtype':return _0x49039b;case _0x544cfa(0x289):return _0x239611;}}const _0x1e80ac=_0x16d610=>{const _0x2f1fc8=_0x26ab0e;switch(_0x16d610[_0x2f1fc8(0x18d)]){case'Object':if(_0x16d610[_0x2f1fc8(0x1d9)]===_0x446144);if(_0x16d610['typeDefinition']===_0x13f358||_0x16d610[_0x2f1fc8(0x1d9)]===_0x2f1fc8(0x1ed))return{'icon':_0x2f1fc8(0x242),'color':'rgba(61,\x2060,\x204,\x200.525)'};return{'icon':_0x2f1fc8(0x1fb),'color':_0x2f1fc8(0x24d)};case _0x2f1fc8(0x1aa):if(_0x16d610[_0x2f1fc8(0x1d9)]===_0xe1a1e)return{'icon':_0x2f1fc8(0x21d),'color':'SteelBlue'};else return _0x16d610[_0x2f1fc8(0x1d9)]===_0x16f255?{'icon':_0x2f1fc8(0x21d),'color':_0x2f1fc8(0x260)}:{'icon':_0x2f1fc8(0x21d),'color':'CadetBlue'};case _0x2f1fc8(0x15d):return{'icon':_0x2f1fc8(0x214),'color':_0x2f1fc8(0x191)};case'ObjectType':return{'icon':_0x2f1fc8(0x1fb),'color':_0x2f1fc8(0x1a0)};case _0x2f1fc8(0x240):return{'icon':'fa-sliders','color':_0x2f1fc8(0x1a0)};case'DataType':return{'icon':_0x2f1fc8(0x169),'color':_0x2f1fc8(0x1b4)};}return{'icon':_0x2f1fc8(0x1e4),'color':_0x2f1fc8(0x19b)};},_0x468a65=(_0x22420b,_0x4d3c4a,_0x4ad8e7)=>_0x51888e(void 0x0,[_0x22420b,_0x4d3c4a,_0x4ad8e7],void 0x0,function*({endpointNode:_0xb8a5a9,endpoint:_0x1eb637,baseUrl:_0x5ce582},_0x492a9c,_0x53734f){const _0x5a51f3=_0x26ab0e,_0x3c2288=_0x5ce582+_0x5a51f3(0x227),_0x16a36c=_0x3c2288+'/browse',_0x2edf9f=Object['assign'](Object[_0x5a51f3(0x1ee)]({},_0x53734f),{'nodeId':_0x492a9c,'resultMask':0x3f}),_0x5c0034=yield fetch(_0x16a36c,{'method':_0x5a51f3(0x1bb),'body':JSON[_0x5a51f3(0x198)]({'endpointNode':_0xb8a5a9,'endpoint':_0x1eb637,'browseDescription':_0x2edf9f}),'headers':{'Content-Type':_0x5a51f3(0x20e)}});if(_0x5c0034[_0x5a51f3(0x1ea)]!==0xc8)return console[_0x5a51f3(0x28a)](_0x5a51f3(0x250),_0x5c0034['status'],_0x5c0034['statusText']),{'references':[]};const _0xc0d5e2=yield _0x5c0034[_0x5a51f3(0x15c)](),_0x3c5c55=_0xc0d5e2[_0x5a51f3(0x18a)]['references']||[];return{'references':_0x3c5c55};}),_0x1a7417={'referenceTypeId':_0x2d0627(_0x26ab0e(0x1c2)),'includeSubtypes':!![],'browseDirection':_0x37691e[_0x26ab0e(0x1bf)],'nodeClassMask':_0x43e0b0['Variable']|_0x43e0b0[_0x26ab0e(0x1c6)]|_0x43e0b0[_0x26ab0e(0x15d)],'resultMask':0x3f},_0x48ac31={'referenceTypeId':_0x2d0627(_0x26ab0e(0x1fa)),'includeSubtypes':!![],'browseDirection':_0x37691e['Forward'],'nodeClassMask':_0x43e0b0[_0x26ab0e(0x1aa)]|_0x43e0b0['Object']|_0x43e0b0[_0x26ab0e(0x15d)],'resultMask':0x3f},_0x50be34=(_0x10dbe7,_0x56162e)=>_0x51888e(void 0x0,[_0x10dbe7,_0x56162e],void 0x0,function*({endpointNode:_0x577bd8,endpoint:_0x78c96c,baseUrl:_0xe882ba},{nodeId:_0x16ab91,rootNodeId:_0x2564c4,isType:_0x43f13c}){const _0x1b7c5f=_0x26ab0e,_0x1cad60=_0xe882ba+_0x1b7c5f(0x227),_0x5ef8a1=_0x1cad60+_0x1b7c5f(0x21e),_0x51e637=yield fetch(_0x5ef8a1,{'method':_0x1b7c5f(0x1bb),'body':JSON['stringify']({'endpointNode':_0x577bd8,'endpoint':_0x78c96c,'nodeId':_0x16ab91,'rootNodeId':_0x2564c4,'isType':_0x43f13c}),'headers':{'Content-Type':_0x1b7c5f(0x20e)}});if(_0x51e637[_0x1b7c5f(0x1ea)]!==0xc8)return null;const _0x1b9c1b=yield _0x51e637[_0x1b7c5f(0x15c)]();return _0x1b9c1b[_0x1b7c5f(0x22d)];}),_0x3b6f12=(_0x1778ab,_0x5da5e2)=>{const _0x43cca5=_0x26ab0e;if(_0x1778ab[_0x43cca5(0x1fc)]!==_0x43cca5(0x236))return _0x1778ab[_0x43cca5(0x199)];switch(_0x5da5e2){case'browsePath':return _0x1778ab[_0x43cca5(0x211)];case _0x43cca5(0x22c):return _0x1778ab[_0x43cca5(0x1b0)]||_0x1778ab[_0x43cca5(0x211)];case _0x43cca5(0x175):return _0x1778ab[_0x43cca5(0x294)]||_0x1778ab[_0x43cca5(0x281)];case _0x43cca5(0x28e):return _0x1778ab[_0x43cca5(0x281)];default:case _0x43cca5(0x1f7):return _0x1778ab[_0x43cca5(0x1f7)];}},_0x3740f0=_0x3ff7d5=>{const _0x43e331=_0x26ab0e;if(_0x3ff7d5[_0x43e331(0x1fc)]!==_0x43e331(0x236))return'statusCode:\x20'+_0x3ff7d5[_0x43e331(0x1fc)];else{let _0xfe2c2c=[];return _0xfe2c2c[_0x43e331(0x213)](_0x43e331(0x197)+_0x3ff7d5['nodeId']),_0xfe2c2c[_0x43e331(0x213)](_0x43e331(0x28c)+_0x3ff7d5[_0x43e331(0x211)]),_0xfe2c2c['push']('node\x20class:\x20'+_0x43e0b0[_0x3ff7d5[_0x43e331(0x18d)]]),_0x3ff7d5[_0x43e331(0x281)]&&_0xfe2c2c[_0x43e331(0x213)](_0x43e331(0x15b)+_0x3ff7d5[_0x43e331(0x281)]),_0x3ff7d5[_0x43e331(0x294)]&&_0xfe2c2c['push'](_0x43e331(0x1c9)+_0x3ff7d5[_0x43e331(0x294)]),_0x3ff7d5[_0x43e331(0x211)]&&_0xfe2c2c[_0x43e331(0x213)](_0x43e331(0x19d)+_0x3ff7d5[_0x43e331(0x1b0)]),_0xfe2c2c['join']('\x0a');}};function _0xb30ea0(_0x1c4e7a){const _0x5becde=_0x26ab0e;if(_0x1c4e7a[_0x5becde(0x1af)](/^nsu=/))return _0x5becde(0x28e);if(_0x1c4e7a['match'](/^(ns=.*;)?(i|b|s|g)=/))return'nodeId';if(_0x1c4e7a[_0x5becde(0x1af)](/^nsa=/))return _0x5becde(0x175);if(_0x1c4e7a['match'](/^(\/|\.)[0-9]+:/))return _0x5becde(0x22d);if(_0x1c4e7a[_0x5becde(0x1af)](/^(\/|\.).*:/))return _0x5becde(0x22d);}function _0x588f63(_0x40488e){const _0x3d5437=_0x26ab0e,_0x5ba717=_0xb30ea0(_0x40488e);switch(_0x5ba717){case _0x3d5437(0x1f7):return'n';case _0x3d5437(0x175):return'na';case _0x3d5437(0x28e):return _0x3d5437(0x203);case _0x3d5437(0x22d):return'b';case _0x3d5437(0x22c):return'ab';default:return't';}}function _0x5d8056(_0x4ff8c0){const _0x7a3359=_0x26ab0e;let _0xba6746;switch(_0x4ff8c0){case'n':_0xba6746=_0x7a3359(0x1f7);break;case'na':_0xba6746=_0x7a3359(0x175);break;case _0x7a3359(0x203):_0xba6746=_0x7a3359(0x28e);break;case'b':_0xba6746=_0x7a3359(0x22d);break;case'ab':_0xba6746=_0x7a3359(0x22c);break;}return _0xba6746;}function _0x5c3b7c(_0x3d120f){const _0xaf125b=_0x26ab0e;switch(_0x3d120f){case'nodeId':return'n';case _0xaf125b(0x175):return'na';case'nsuNodeID':return _0xaf125b(0x203);case'browsePath':return'b';case'aliasedBrowsePath':return'ab';default:return't';}}const _0x570cd6=(_0x194018,_0x15003e)=>_0x51888e(void 0x0,[_0x194018,_0x15003e],void 0x0,function*({endpointNode:_0x10b67c,endpoint:_0x360c0b,baseUrl:_0x58d8d6},_0x39a9aa){const _0x304e14=_0x26ab0e,_0x543454=_0x58d8d6+_0x304e14(0x227),_0x45a5f3=_0x543454+_0x304e14(0x161),_0x5d24ad=_0x10b67c['id'],_0x451d8=RED['nodes']['node'](_0x5d24ad);console[_0x304e14(0x28a)](_0x451d8[_0x304e14(0x22b)]),_0x451d8[_0x304e14(0x22b)];const _0x2dbe78=_0x10b67c[_0x304e14(0x22b)],_0x3b4253=yield fetch(_0x45a5f3,{'method':_0x304e14(0x1bb),'body':JSON[_0x304e14(0x198)]({'endpointNode':_0x10b67c,'endpoint':_0x360c0b,'nodeId':_0x39a9aa,'namespaceAliases':_0x2dbe78}),'headers':{'Content-Type':_0x304e14(0x20e)}}),_0x31d3f9=yield _0x3b4253['json']();return{'json':_0x31d3f9,'data':_0x3b4253};}),_0x10eee1=(_0x44a81a,_0x41ff14,_0xfe9f3,_0x337bd8)=>_0x51888e(void 0x0,[_0x44a81a,_0x41ff14,_0xfe9f3,_0x337bd8],void 0x0,function*({endpointNode:_0x2ea0cf,endpoint:_0x334212,baseUrl:_0x334c44},_0x2de964,_0x3fb792,_0x38aacb){const _0x11ad1a=_0x26ab0e,_0x2c9d9c=_0x3fb792[_0x11ad1a(0x174)](),{json:_0x1ce10d,data:_0x2565a5}=yield _0x570cd6({'endpointNode':_0x2ea0cf,'endpoint':_0x334212,'baseUrl':_0x334c44},_0x2c9d9c),_0xc8dac1=(_0x1c6b89,_0x3ee2db)=>{const _0x2e3381=_0x11ad1a;_0x38aacb[_0x2e3381(0x287)](_0x1c6b89)[_0x2e3381(0x1b1)](_0x2e3381(0x177))['addClass'](_0x3ee2db),_0x38aacb[_0x2e3381(0x22a)](),setTimeout(()=>{const _0x49e952=_0x2e3381;_0x38aacb[_0x49e952(0x1d0)](_0x3ee2db),_0x38aacb[_0x49e952(0x16c)]();},0xbb8);};if(_0x2565a5[_0x11ad1a(0x1ea)]!==0xc8)return _0xc8dac1(_0x11ad1a(0x28b)+_0x2c9d9c,_0x11ad1a(0x186)),![];else{if(_0x1ce10d[_0x11ad1a(0x1fc)][_0x11ad1a(0x1af)](/Good/)){const _0x52bfd4=_0x3740f0(_0x1ce10d);_0x3fb792['attr'](_0x11ad1a(0x244),_0x52bfd4);const _0x4187ae=_0x3b6f12(_0x1ce10d,_0x2de964);return _0x3fb792[_0x11ad1a(0x174)](_0x4187ae),_0x3fb792[_0x11ad1a(0x202)](_0x11ad1a(0x170)),_0xc8dac1(_0x11ad1a(0x236),'ok'),!![];}else return _0x3fb792[_0x11ad1a(0x174)](''+_0x2c9d9c),_0xc8dac1(_0x1ce10d[_0x11ad1a(0x1fc)]+'\x20'+_0x2565a5['statusText'],_0x11ad1a(0x186)),![];}});function _0x17e596(_0x2917da,_0x11b87c){return _0x51888e(this,void 0x0,void 0x0,function*(){const _0x25dd93=_0x5e55,_0x49adc3=_0x2917da[_0x25dd93(0x237)](_0x25dd93(0x26a)),_0x215eaa=yield _0x468a65(_0x11b87c,_0x49adc3,_0x1a7417),_0x2fcf20=yield _0x468a65(_0x11b87c,_0x49adc3,_0x48ac31);return{'references':[..._0x215eaa[_0x25dd93(0x1ff)],..._0x2fcf20[_0x25dd93(0x1ff)]]};});}const _0x5d7e56={'referenceTypeId':_0x2d0627(_0x26ab0e(0x200)),'includeSubtypes':!![],'browseDirection':_0x37691e[_0x26ab0e(0x1bf)],'nodeClassMask':_0x43e0b0[_0x26ab0e(0x246)]|_0x43e0b0[_0x26ab0e(0x27a)]|_0x43e0b0[_0x26ab0e(0x1dd)]|_0x43e0b0[_0x26ab0e(0x240)],'resultMask':0x3f};function _0x25d3a9(_0x492af2,_0x34abbf){return _0x51888e(this,void 0x0,void 0x0,function*(){const _0x1b946c=_0x5e55,_0x2016a0=_0x492af2[_0x1b946c(0x237)](_0x1b946c(0x26a)),_0xa1df49=yield _0x468a65(_0x34abbf,_0x2016a0,_0x5d7e56);return _0xa1df49;});}const _0x3db4a9=_0x323e5e=>{const _0x271fdf=_0x26ab0e;var _0x4531c2,_0x5a5757,_0x3888ae,_0x26a663;if(!_0x323e5e||!_0x323e5e[_0x271fdf(0x1f7)]){const _0x27facb=$('<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>');return _0x27facb;}const _0x430d31=_0x323e5e[_0x271fdf(0x1f7)]['toString'](),_0x536c49=((_0x4531c2=_0x323e5e[_0x271fdf(0x218)])===null||_0x4531c2===void 0x0?void 0x0:_0x4531c2[_0x271fdf(0x287)])||((_0x5a5757=_0x323e5e[_0x271fdf(0x25d)])===null||_0x5a5757===void 0x0?void 0x0:_0x5a5757[_0x271fdf(0x179)])||_0x323e5e[_0x271fdf(0x1f7)][_0x271fdf(0x189)](),{icon:_0xca6fde,color:_0x58dba2}=_0x1e80ac(_0x323e5e),_0x411d53='('+_0x323e5e[_0x271fdf(0x1f7)][_0x271fdf(0x189)]()+')\x20'+(((_0x3888ae=_0x323e5e[_0x271fdf(0x25d)])===null||_0x3888ae===void 0x0?void 0x0:_0x3888ae[_0x271fdf(0x179)])||((_0x26a663=_0x323e5e[_0x271fdf(0x218)])===null||_0x26a663===void 0x0?void 0x0:_0x26a663[_0x271fdf(0x287)])||''),_0x3e1a1f=$(_0x271fdf(0x15e)+_0x323e5e['nodeId']['toString']()+_0x271fdf(0x298)+_0x411d53+'><i\x20class=\x22fa\x20'+_0xca6fde+'\x22\x20style=\x22color:'+_0x58dba2+_0x271fdf(0x1ca)+_0x536c49+_0x271fdf(0x16d));return _0x3e1a1f[_0x271fdf(0x1b1)](_0x271fdf(0x28d)),_0x3e1a1f[_0x271fdf(0x237)](_0x271fdf(0x26a),_0x430d31),_0x3e1a1f[_0x271fdf(0x237)](_0x271fdf(0x241),_0x323e5e),_0x3e1a1f;},_0x4fc1c4=(_0x2a607d,_0x27ed18)=>{const _0x2e9b97=_0x26ab0e;return _0x27ed18[_0x2e9b97(0x263)](_0x2e9b97(0x257)+_0x2a607d+'\x22]');},_0x23a96a=(_0x62a026,_0x4ded88)=>{const _0x57cc4d=_0x26ab0e;_0x62a026[_0x57cc4d(0x24e)][_0x57cc4d(0x263)](_0x57cc4d(0x1b7))['removeClass']('selected'),_0x4ded88[_0x57cc4d(0x263)](_0x57cc4d(0x205))[_0x57cc4d(0x1b1)]('selected');},_0x480602=(_0x3363dc,_0x36f150,_0x3668dd)=>_0x51888e(void 0x0,void 0x0,void 0x0,function*(){const _0x1f2c89=_0x26ab0e;let _0x59c025=_0x3668dd['children'](':first');_0x36f150[_0x1f2c89(0x196)]['elements']||[];const _0x1b2997=_0x36f150[_0x1f2c89(0x28f)]||[];if(_0x1b2997[_0x1f2c89(0x19e)]===0x0)return;for(const _0x5cffd5 of _0x1b2997){_0x59c025['hasClass']('expandable')&&(yield _0x15a606(_0x3363dc,_0x59c025));const _0x3b34d7=_0x4fc1c4(_0x5cffd5,_0x59c025);if(_0x3b34d7[_0x1f2c89(0x19e)]===0x0)return;_0x59c025=_0x3b34d7;}_0x23a96a(_0x3363dc,_0x59c025),_0xe1703f(_0x3363dc['$dropdown'],_0x59c025);});function _0xe1703f(_0x17be9d,_0x1b6761){const _0x535fb8=_0x26ab0e,_0x5bcfee=_0x1b6761[_0x535fb8(0x22e)]()[_0x535fb8(0x251)],_0x136aa3=_0x17be9d[_0x535fb8(0x21b)]();if(_0x136aa3==undefined)return;const _0x494b7e=_0x136aa3+_0x5bcfee-_0x17be9d['height']()/0x2+_0x1b6761[_0x535fb8(0x1f2)]()/0x2;_0x17be9d[_0x535fb8(0x209)]({'scrollTop':_0x494b7e},0x1f4);}const _0xb5f643=(_0x5d957e,_0x1c36ab)=>_0x51888e(void 0x0,void 0x0,void 0x0,function*(){const _0x1f331e=_0x26ab0e,_0x3267b0=_0x5d957e[_0x1f331e(0x232)][_0x1f331e(0x174)](),_0x237614={'nodeId':_0x3267b0,'rootNodeId':_0x1c36ab[_0x1f331e(0x1f7)],'isType':_0x5d957e[_0x1f331e(0x18e)]['isTypeRef']||![]},_0x300bcb=_0x5506e0(_0x5d957e),_0x255853=yield _0x50be34(_0x300bcb,_0x237614);if(!_0x255853)return;yield _0x480602(_0x5d957e,_0x255853,_0x5d957e['$tree']);});function _0x269920(_0x3e0837,_0x499d64,_0x46ce55,_0x47f1b9){return _0x51888e(this,void 0x0,void 0x0,function*(){const _0x23efdc=_0x5e55;if(_0x499d64[_0x23efdc(0x18b)](_0x23efdc(0x1b6))){console[_0x23efdc(0x28a)](_0x23efdc(0x21f));return;}if(_0x499d64['hasClass']('loading')){console[_0x23efdc(0x28a)](_0x23efdc(0x1cc));return;}_0x499d64['addClass'](_0x23efdc(0x1ef)),_0x499d64[_0x23efdc(0x229)]('<div\x20class=\x22spinner\x22></div>');try{_0x499d64['children']('ul')['empty']();const {references:_0x1cbe99}=yield _0x46ce55(_0x499d64,_0x47f1b9);_0x1cbe99[_0x23efdc(0x1f5)]((_0x33d09a,_0x99bdec)=>{const _0x57a641=_0x23efdc;var _0x5f0384,_0x44f6ca;return(((_0x5f0384=_0x33d09a['browseName'])===null||_0x5f0384===void 0x0?void 0x0:_0x5f0384[_0x57a641(0x179)])||'')[_0x57a641(0x299)](((_0x44f6ca=_0x99bdec['browseName'])===null||_0x44f6ca===void 0x0?void 0x0:_0x44f6ca[_0x57a641(0x179)])||'');});for(const _0x3b1451 of _0x1cbe99){if(_0x3e0837[_0x23efdc(0x18e)][_0x23efdc(0x23a)]&&!_0x3e0837[_0x23efdc(0x18e)][_0x23efdc(0x23a)](_0x3b1451))continue;const _0x3454c5=_0x3db4a9(_0x3b1451);_0x499d64['children']('ul')['append'](_0x3454c5);}_0x499d64[_0x23efdc(0x1b1)]('fetched');}catch(_0x463d6b){_0x499d64[_0x23efdc(0x27f)]('ul')[_0x23efdc(0x229)](_0x23efdc(0x26e)+_0x463d6b[_0x23efdc(0x25e)]+'</li>'),console[_0x23efdc(0x28a)](_0x23efdc(0x1a1),_0x463d6b);}_0x499d64[_0x23efdc(0x263)](_0x23efdc(0x20f))[_0x23efdc(0x295)](),_0x499d64[_0x23efdc(0x1d0)](_0x23efdc(0x1ef));});}function _0x5506e0(_0x10c028){const _0x1c0ab6=_0x26ab0e,_0x400d76={'baseUrl':_0x10c028[_0x1c0ab6(0x18e)][_0x1c0ab6(0x159)],'endpointNode':typeof _0x10c028[_0x1c0ab6(0x18e)][_0x1c0ab6(0x215)]===_0x1c0ab6(0x1ae)?_0x10c028[_0x1c0ab6(0x18e)][_0x1c0ab6(0x215)]():_0x10c028['options'][_0x1c0ab6(0x215)],'endpoint':typeof _0x10c028[_0x1c0ab6(0x18e)]['endpoint']==='function'?_0x10c028[_0x1c0ab6(0x18e)][_0x1c0ab6(0x27c)]():_0x10c028[_0x1c0ab6(0x18e)]['endpoint']};return _0x400d76;}function _0x15a606(_0x52f3ea,_0x1f31dc){return _0x51888e(this,void 0x0,void 0x0,function*(){const _0xc6aad8=_0x5e55;if(_0x1f31dc[_0xc6aad8(0x18b)](_0xc6aad8(0x1b6))){_0x1f31dc[_0xc6aad8(0x1d0)]('expandable')[_0xc6aad8(0x1b1)](_0xc6aad8(0x1a8)),_0x1f31dc[_0xc6aad8(0x27f)]('ul')[_0xc6aad8(0x25a)]();return;}const _0x20aa80=_0x5506e0(_0x52f3ea),_0x47206d=!_0x52f3ea[_0xc6aad8(0x18e)][_0xc6aad8(0x176)]?_0x17e596:_0x25d3a9;try{yield _0x269920(_0x52f3ea,_0x1f31dc,_0x47206d,_0x20aa80),_0x1f31dc[_0xc6aad8(0x1d0)](_0xc6aad8(0x28d))['addClass'](_0xc6aad8(0x1a8));}catch(_0x401fa9){_0x1f31dc[_0xc6aad8(0x1d0)](_0xc6aad8(0x28d))[_0xc6aad8(0x1b1)]('expanded'),console[_0xc6aad8(0x28a)](_0xc6aad8(0x1ab),_0x401fa9);}});}const _0x284567={'browseName':{'namespaceIndex':0x0,'name':'Objects'},'nodeClass':_0x26ab0e(0x1c6),'nodeId':_0x26ab0e(0x245),'displayName':{'text':_0x26ab0e(0x1e9)},'typeDefinition':_0x13f358},_0xb6116b=()=>{const _0x5bd2db=_0x26ab0e;$['widget'](_0x5bd2db(0x190),{'options':{'endpointNode':()=>({'endpoint':_0x5bd2db(0x27d)}),'endpoint':()=>undefined,'parentNode':()=>_0x284567,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x51888e(this,void 0x0,void 0x0,function*(){const _0x4b0ec9=_0x5e55,_0x116a87=this;if(_0x116a87[_0x4b0ec9(0x292)]==undefined){const _0xe56c4c=typeof _0x116a87[_0x4b0ec9(0x18e)][_0x4b0ec9(0x1d1)]===_0x4b0ec9(0x1ae)?_0x116a87[_0x4b0ec9(0x18e)][_0x4b0ec9(0x1d1)]['call'](_0x116a87):_0x116a87[_0x4b0ec9(0x18e)]['parentNode'];if(_0xe56c4c instanceof Promise){const _0x29ebab=yield _0xe56c4c;_0x116a87[_0x4b0ec9(0x292)]=_0x29ebab;}else _0x116a87[_0x4b0ec9(0x292)]=_0xe56c4c;}return _0x116a87['__parentNode']||_0x284567;});},'reset'(){return _0x51888e(this,void 0x0,void 0x0,function*(){const _0x1098b6=_0x5e55,_0x252a4b=this,_0x86cb33=_0x252a4b;_0x86cb33['__parentNode']=undefined,_0x252a4b[_0x1098b6(0x24e)][_0x1098b6(0x1a7)]();const _0x5f002e=yield this['resolveParentNode'](),_0x70b00b=_0x3db4a9(_0x5f002e);_0x252a4b[_0x1098b6(0x24e)][_0x1098b6(0x229)](_0x70b00b),_0x252a4b[_0x1098b6(0x1ac)]=_0x5f002e;});},'verify'(_0x382f0a){const _0x5e1f5f=_0x5bd2db,_0xb0fb36=this,_0x1ad2c0=_0x5506e0(_0xb0fb36);_0x10eee1(_0x1ad2c0,_0x382f0a,_0xb0fb36['$input'],_0xb0fb36[_0x5e1f5f(0x24f)])[_0x5e1f5f(0x225)](_0x4c9aed=>{const _0x4e7be7=_0x5e1f5f;!_0x4c9aed?_0xb0fb36[_0x4e7be7(0x262)][_0x4e7be7(0x1b1)](_0x4e7be7(0x248)):_0xb0fb36[_0x4e7be7(0x262)][_0x4e7be7(0x1d0)](_0x4e7be7(0x248));});},'_hideMenu'(_0x4cfa41){const _0x325516=_0x5bd2db,_0x220591=this;$(document)['off'](_0x325516(0x1e6)),_0x4cfa41['hide'](),_0x4cfa41[_0x325516(0x23d)]({'height':_0x325516(0x1b5)});if(_0x4cfa41[_0x325516(0x195)][_0x325516(0x17d)]){var _0x333017=[];_0x4cfa41[_0x325516(0x263)](_0x325516(0x15f))[_0x325516(0x1da)](function(){const _0x54d8a7=_0x325516;$(this)[_0x54d8a7(0x1e7)]('checked')&&_0x333017[_0x54d8a7(0x213)]($(this)[_0x54d8a7(0x237)](_0x54d8a7(0x26a)));}),_0x4cfa41[_0x325516(0x223)](_0x333017);}_0x220591[_0x325516(0x279)]['is'](_0x325516(0x20a))?_0x220591[_0x325516(0x232)][_0x325516(0x202)](_0x325516(0x252)):_0x220591[_0x325516(0x16b)][_0x325516(0x202)](_0x325516(0x252));},'_createMenu'(_0x36ea22,_0x1713e1,_0x628dbf){const _0x2552a2=_0x5bd2db;var _0x50caff=this;const _0x193cb8=$(_0x2552a2(0x182))[_0x2552a2(0x1b1)](_0x2552a2(0x254));return _0x193cb8[_0x2552a2(0x195)]=_0x1713e1,_0x193cb8[_0x2552a2(0x223)]=_0x628dbf,_0x36ea22['forEach'](_0x2c9964=>{const _0x5890b6=_0x2552a2;typeof _0x2c9964===_0x5890b6(0x249)&&(_0x2c9964={'value':_0x2c9964,'label':_0x2c9964});var _0x2db51f=$(_0x5890b6(0x1e8))[_0x5890b6(0x235)](_0x5890b6(0x26a),_0x2c9964[_0x5890b6(0x26a)])[_0x5890b6(0x258)](_0x193cb8);_0x2c9964[_0x5890b6(0x1c0)]&&_0x2db51f[_0x5890b6(0x287)](_0x2c9964[_0x5890b6(0x1c0)]);_0x2c9964[_0x5890b6(0x244)]&&_0x2db51f[_0x5890b6(0x1e7)](_0x5890b6(0x244),_0x2c9964[_0x5890b6(0x244)]);if(_0x2c9964[_0x5890b6(0x255)]){if(_0x2c9964['icon'][_0x5890b6(0x1c3)]('<')===0x0)$(_0x2c9964[_0x5890b6(0x255)])[_0x5890b6(0x296)](_0x2db51f);else _0x2c9964[_0x5890b6(0x255)][_0x5890b6(0x1c3)]('/')!==-0x1?$(_0x5890b6(0x238),{'class':'red-ui-typedInput-icon','style':'mask-image:\x20url('+_0x2c9964[_0x5890b6(0x255)]+_0x5890b6(0x208)+_0x2c9964[_0x5890b6(0x255)]+');'})[_0x5890b6(0x296)](_0x2db51f):$(_0x5890b6(0x238),{'class':_0x5890b6(0x24b)+_0x2c9964[_0x5890b6(0x255)]})[_0x5890b6(0x296)](_0x2db51f);}else _0x2db51f[_0x5890b6(0x23d)]({'paddingLeft':_0x5890b6(0x19c)});!_0x2c9964[_0x5890b6(0x255)]&&!_0x2c9964[_0x5890b6(0x1c0)]&&_0x2db51f[_0x5890b6(0x287)](_0x2c9964[_0x5890b6(0x26a)]);var _0x2094a1;_0x1713e1[_0x5890b6(0x17d)]&&(_0x2094a1=$(_0x5890b6(0x264))[_0x5890b6(0x23d)](_0x5890b6(0x25f),_0x5890b6(0x1c5))[_0x5890b6(0x237)](_0x5890b6(0x26a),_0x2c9964[_0x5890b6(0x26a)])['prependTo'](_0x2db51f)['on']('mousedown',function(_0x27b153){const _0x503548=_0x5890b6;_0x27b153[_0x503548(0x19a)]();})),_0x2db51f['on']('click',function(_0x1187ec){const _0x3fdbac=_0x5890b6;_0x1187ec['preventDefault'](),_0x1187ec[_0x3fdbac(0x1f3)](),!_0x1713e1[_0x3fdbac(0x17d)]?(_0x628dbf(_0x2c9964[_0x3fdbac(0x26a)]),_0x50caff['_hideMenu'](_0x193cb8)):_0x2094a1[_0x3fdbac(0x1e7)](_0x3fdbac(0x261),!_0x2094a1[_0x3fdbac(0x1e7)](_0x3fdbac(0x261)));});}),_0x193cb8[_0x2552a2(0x23d)]({'display':'none'}),_0x193cb8['on'](_0x2552a2(0x266),function(_0x14dfa9){const _0x345284=_0x2552a2;if(_0x14dfa9[_0x345284(0x17c)]===0x28)_0x14dfa9[_0x345284(0x19a)](),$(this)[_0x345284(0x27f)](':focus')[_0x345284(0x274)]()[_0x345284(0x202)]('focus');else{if(_0x14dfa9[_0x345284(0x17c)]===0x26)_0x14dfa9[_0x345284(0x19a)](),$(this)['children'](':focus')[_0x345284(0x278)]()[_0x345284(0x202)]('focus');else _0x14dfa9[_0x345284(0x17c)]===0x1b&&(_0x14dfa9['preventDefault'](),_0x50caff['_hideMenu'](_0x193cb8));}_0x14dfa9[_0x345284(0x1f3)]();}),_0x193cb8;},'disarmClick':![],'_showMenu'(_0x4f4b36,_0x521dbd){const _0x3b491a=_0x5bd2db;if(this['disarmClick']){this[_0x3b491a(0x16e)]=![];return;}var _0x1d01b4=this,_0x41e366=_0x521dbd['offset'](),_0x4f7ac8=_0x521dbd['height'](),_0x4b8bcf=_0x4f4b36[_0x3b491a(0x1f2)](),_0xbdc7dc=_0x4f7ac8+_0x41e366['top'];_0xbdc7dc+_0x4b8bcf-$(document)[_0x3b491a(0x21b)]()>$(window)[_0x3b491a(0x1f2)]()&&(_0xbdc7dc-=_0xbdc7dc+_0x4b8bcf-$(window)[_0x3b491a(0x1f2)]()+0x5),_0xbdc7dc<0x0&&(_0x4f4b36[_0x3b491a(0x1f2)](_0x4b8bcf+_0xbdc7dc),_0xbdc7dc=0x0),_0x4f4b36[_0x3b491a(0x23d)]({'top':_0xbdc7dc+'px','left':_0x41e366['left']+'px'}),_0x4f4b36[_0x3b491a(0x243)](0x64),this[_0x3b491a(0x222)](function(){const _0x50eb14=_0x3b491a;_0x1d01b4[_0x50eb14(0x293)][_0x50eb14(0x1b1)](_0x50eb14(0x1c4)),$(document)['on'](_0x50eb14(0x1e6),function(_0x49cfa3){const _0x470b24=_0x50eb14;!$(_0x49cfa3[_0x470b24(0x285)])[_0x470b24(0x194)](_0x4f4b36)[_0x470b24(0x19e)]&&_0x1d01b4[_0x470b24(0x1f4)](_0x4f4b36),$(_0x49cfa3['target'])[_0x470b24(0x194)](_0x521dbd)[_0x470b24(0x19e)]&&(_0x1d01b4['disarmClick']=!![],_0x49cfa3['preventDefault']());});});},'_showTypeMenu'(){const _0x2f29e9=_0x5bd2db,_0x529309=this;this[_0x2f29e9(0x19f)](_0x529309[_0x2f29e9(0x27e)],_0x529309['$combo']),_0x529309[_0x2f29e9(0x26c)][_0x2f29e9(0x16c)]();const _0x394792=_0x529309['selectedMenuItem'];var _0x3f2a91=_0x529309[_0x2f29e9(0x27e)][_0x2f29e9(0x263)](_0x2f29e9(0x1b9)+_0x394792+'\x27');setTimeout(function(){const _0x19de23=_0x2f29e9;_0x3f2a91['trigger'](_0x19de23(0x252));},0x78);},'_initMenu'(){const _0x50416b=_0x5bd2db,_0x31c9a7=this;_0x31c9a7['$selectTrigger'][_0x50416b(0x235)](_0x50416b(0x160),-0x1),_0x31c9a7[_0x50416b(0x16b)]['on'](_0x50416b(0x234),function(_0x2374a0){const _0x3ec191=_0x50416b;_0x2374a0[_0x3ec191(0x19a)]();});_0x31c9a7[_0x50416b(0x27e)]&&_0x31c9a7[_0x50416b(0x27e)]['remove']();const _0x456936=[{'label':_0x50416b(0x287),'value':'t','title':_0x50416b(0x1d6),'icon':_0x50416b(0x1e1)},{'label':_0x50416b(0x22f),'value':_0x50416b(0x228),'title':_0x50416b(0x1ba),'icon':_0x50416b(0x1a4)},{'label':'NodeId','value':'n','icon':'<i\x20class=\x22fa\x20fa-tag\x22/>1\x20 \x20'},{'label':_0x50416b(0x291),'value':'na','icon':_0x50416b(0x1f6)},{'label':_0x50416b(0x187),'value':'nsu','icon':'<i\x20class=\x22fa\x20fa-id-card\x22/> \x20'},{'label':'BrowsePath','value':'b','icon':'<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> '},{'label':_0x50416b(0x267),'value':'ab','icon':_0x50416b(0x23e)}],_0x2e0429=_0x588f63(_0x31c9a7[_0x50416b(0x232)][_0x50416b(0x174)]()),_0x239c21=_0x456936[_0x50416b(0x263)](_0x3e6b1a=>_0x3e6b1a[_0x50416b(0x26a)]===_0x2e0429);_0x31c9a7[_0x50416b(0x183)]['empty']()['append']('<span\x20title='+((_0x239c21===null||_0x239c21===void 0x0?void 0x0:_0x239c21[_0x50416b(0x244)])||'')+'> \x20'+((_0x239c21===null||_0x239c21===void 0x0?void 0x0:_0x239c21['icon'])||'')+_0x50416b(0x172)),_0x31c9a7[_0x50416b(0x1e2)]=_0x2e0429;const _0x1b8a7d=this;_0x31c9a7[_0x50416b(0x27e)]=this[_0x50416b(0x217)](_0x456936,{},_0x176471=>{const _0x2cfc6b=_0x50416b,_0x275598=_0x5d8056(_0x176471);_0x275598&&_0x1b8a7d[_0x2cfc6b(0x247)](_0x275598);const _0x29644f=_0x456936['find'](_0xb31cec=>_0xb31cec[_0x2cfc6b(0x26a)]===_0x176471);_0x31c9a7[_0x2cfc6b(0x1e2)]=_0x176471,_0x31c9a7['$selectLabel'][_0x2cfc6b(0x1a7)]()[_0x2cfc6b(0x229)](_0x2cfc6b(0x17e)+((_0x29644f===null||_0x29644f===void 0x0?void 0x0:_0x29644f[_0x2cfc6b(0x244)])||'')+_0x2cfc6b(0x1a6)+((_0x29644f===null||_0x29644f===void 0x0?void 0x0:_0x29644f[_0x2cfc6b(0x255)])||'')+_0x2cfc6b(0x172));}),_0x31c9a7[_0x50416b(0x27e)][_0x50416b(0x258)](document[_0x50416b(0x270)]),_0x31c9a7[_0x50416b(0x27e)][_0x50416b(0x16c)](),_0x31c9a7[_0x50416b(0x16b)]['show']();},'mode'(){const _0xa5651b=_0x5bd2db,_0x1ea6e7=this;return _0x5d8056(_0x1ea6e7[_0xa5651b(0x1e2)]);},'setMode'(_0x2caa83){const _0xe7f848=_0x5bd2db,_0x73a54c=this,_0x4d24aa=_0x5c3b7c(_0x2caa83);_0x73a54c[_0xe7f848(0x1e2)]=_0x4d24aa;},'_create'(){const _0x1dce4c=_0x5bd2db,_0x57cfa3=this;_0x57cfa3[_0x1dce4c(0x232)]=this[_0x1dce4c(0x284)],_0x57cfa3[_0x1dce4c(0x232)]['css']('border','none'),_0x57cfa3[_0x1dce4c(0x279)]=_0x57cfa3['$input']['wrap'](_0x1dce4c(0x182))[_0x1dce4c(0x272)]()['addClass'](_0x1dce4c(0x181)),_0x57cfa3[_0x1dce4c(0x262)]=$('<div/>'),_0x57cfa3[_0x1dce4c(0x262)][_0x1dce4c(0x1b1)](_0x1dce4c(0x1f0)),_0x57cfa3[_0x1dce4c(0x232)][_0x1dce4c(0x216)](_0x57cfa3[_0x1dce4c(0x262)]),_0x57cfa3[_0x1dce4c(0x1f8)]=$(_0x1dce4c(0x219))[_0x1dce4c(0x1b1)](_0x1dce4c(0x193)),_0x57cfa3[_0x1dce4c(0x262)]['append'](_0x57cfa3[_0x1dce4c(0x1f8)]),_0x57cfa3[_0x1dce4c(0x1f8)]['append'](_0x57cfa3[_0x1dce4c(0x232)]),_0x57cfa3[_0x1dce4c(0x1eb)]=$(_0x1dce4c(0x256)),_0x57cfa3['$input'][_0x1dce4c(0x21a)](_0x57cfa3[_0x1dce4c(0x1eb)]),_0x57cfa3[_0x1dce4c(0x1eb)]['on'](_0x1dce4c(0x21c),function(){return _0x51888e(this,void 0x0,void 0x0,function*(){const _0x5da667=_0x5e55;var _0x11c751;let _0x1884f2=![],_0x3e1b32;!_0x57cfa3[_0x5da667(0x26c)]['is'](_0x5da667(0x20a))&&(_0x57cfa3[_0x5da667(0x24f)]['hide'](),_0x3e1b32=yield _0x57cfa3[_0x5da667(0x23b)](),(_0x3e1b32!==_0x57cfa3[_0x5da667(0x1ac)]||((_0x11c751=_0x57cfa3[_0x5da667(0x1ac)])===null||_0x11c751===void 0x0?void 0x0:_0x11c751[_0x5da667(0x1f7)])!==_0x3e1b32[_0x5da667(0x1f7)])&&(yield _0x57cfa3['reset']()),_0x1884f2=!![]),_0x57cfa3[_0x5da667(0x26c)][_0x5da667(0x25a)](),_0x1884f2&&(yield _0xb5f643(_0x57cfa3,_0x3e1b32));});}),_0x57cfa3[_0x1dce4c(0x1d3)]=$(_0x1dce4c(0x1df)),_0x57cfa3['$input'][_0x1dce4c(0x21a)](_0x57cfa3[_0x1dce4c(0x1d3)]),_0x57cfa3[_0x1dce4c(0x1d3)]['on'](_0x1dce4c(0x21c),()=>{const _0x1e2aba=_0x1dce4c,_0x3530ec=_0x57cfa3[_0x1e2aba(0x275)]();if(!_0x3530ec)return;this['verify'](_0x3530ec);});const _0x137ce0=_0x13aa8c=>_0x51888e(this,void 0x0,void 0x0,function*(){const _0x3fe2dd=_0x1dce4c,_0x145e02=this;let _0x189590=_0x145e02[_0x3fe2dd(0x275)]();if(!_0x189590)return;const _0x33f38a=_0x5506e0(_0x145e02),{data:_0x1550a8,json:_0x1d4f76}=yield _0x570cd6(_0x33f38a,_0x13aa8c);if(_0x1550a8[_0x3fe2dd(0x1ea)]!==0xc8)return;if(_0x1d4f76[_0x3fe2dd(0x1fc)][_0x3fe2dd(0x1af)](/Good/)){const _0xc5c07f=_0x3b6f12(_0x1d4f76,_0x189590);_0x145e02[_0x3fe2dd(0x232)][_0x3fe2dd(0x174)](_0xc5c07f),_0x145e02[_0x3fe2dd(0x232)][_0x3fe2dd(0x202)]('change');}});{_0x57cfa3[_0x1dce4c(0x293)]=$(_0x1dce4c(0x182)),_0x57cfa3[_0x1dce4c(0x232)][_0x1dce4c(0x282)](_0x57cfa3[_0x1dce4c(0x293)]),_0x57cfa3[_0x1dce4c(0x16b)]=$('<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>')[_0x1dce4c(0x296)](_0x57cfa3[_0x1dce4c(0x293)]),$(_0x1dce4c(0x1ad))[_0x1dce4c(0x25a)](!![])[_0x1dce4c(0x258)](_0x57cfa3[_0x1dce4c(0x16b)]),_0x57cfa3[_0x1dce4c(0x16b)]['on'](_0x1dce4c(0x21c),function(_0x21bacc){const _0x23419b=_0x1dce4c;_0x21bacc[_0x23419b(0x19a)](),_0x21bacc[_0x23419b(0x1f3)](),_0x57cfa3[_0x23419b(0x273)]();}),_0x57cfa3[_0x1dce4c(0x16b)]['on'](_0x1dce4c(0x266),function(_0x23e0be){const _0xd57d88=_0x1dce4c;_0x23e0be['keyCode']===0x28&&_0x57cfa3[_0xd57d88(0x273)](),_0x23e0be[_0xd57d88(0x1f3)]();})['on'](_0x1dce4c(0x252),function(){_0x57cfa3['$uiSelect']['addClass']('red-ui-typedInput-focus');})['on']('blur',function(){const _0x531d84=_0x1dce4c;_0x57cfa3[_0x531d84(0x293)][_0x531d84(0x1d0)](_0x531d84(0x1c4));}),_0x57cfa3['$selectLabel']=$(_0x1dce4c(0x212))[_0x1dce4c(0x258)](_0x57cfa3['$selectTrigger']);}this[_0x1dce4c(0x1d5)]();!_0x57cfa3[_0x1dce4c(0x232)][_0x1dce4c(0x235)](_0x1dce4c(0x1dc))&&_0x57cfa3[_0x1dce4c(0x232)]['attr'](_0x1dce4c(0x1dc),_0x1dce4c(0x201));_0x57cfa3['$info']=$(_0x1dce4c(0x288)),_0x57cfa3[_0x1dce4c(0x24f)][_0x1dce4c(0x16c)](),_0x57cfa3['$combo'][_0x1dce4c(0x229)](_0x57cfa3['$info']),_0x57cfa3[_0x1dce4c(0x26c)]=$(_0x1dce4c(0x219))[_0x1dce4c(0x1b1)]('sterfive-dropdown')[_0x1dce4c(0x16c)]()['appendTo'](_0x57cfa3[_0x1dce4c(0x262)]),_0x57cfa3[_0x1dce4c(0x24e)]=$(_0x1dce4c(0x1d2))[_0x1dce4c(0x258)](_0x57cfa3[_0x1dce4c(0x26c)]),this[_0x1dce4c(0x233)]();const _0x41bd4f=(_0x5cd6e6,_0x412ae2)=>{const _0xf33d17=_0x1dce4c,_0x20846a=0x14,_0x144a51=0x14,_0x5df1ef=_0x5cd6e6[_0xf33d17(0x171)](),_0x53ce86=_0x412ae2;if(_0x53ce86[_0xf33d17(0x1e5)]>=_0x5df1ef[_0xf33d17(0x1be)]&&_0x53ce86[_0xf33d17(0x1e5)]<=_0x5df1ef[_0xf33d17(0x1be)]+_0x20846a&&_0x53ce86[_0xf33d17(0x1c7)]>=_0x5df1ef[_0xf33d17(0x251)]&&_0x53ce86[_0xf33d17(0x1c7)]<=_0x5df1ef[_0xf33d17(0x251)]+_0x144a51)return!![];return![];},_0x4d100d=_0x519b4f=>_0x51888e(this,void 0x0,void 0x0,function*(){const _0x7f4833=_0x1dce4c;if(_0x519b4f['hasClass'](_0x7f4833(0x28d)))_0x15a606(_0x57cfa3,_0x519b4f);else{if(_0x519b4f[_0x7f4833(0x18b)]('expanded'))_0x519b4f[_0x7f4833(0x27f)]('ul')[_0x7f4833(0x25a)](),_0x519b4f['toggleClass']('expandable\x20expanded');else{if(_0x519b4f[_0x7f4833(0x27f)]('ul')[_0x7f4833(0x27f)]()[_0x7f4833(0x19e)]>0x0)_0x519b4f[_0x7f4833(0x27f)]('ul')[_0x7f4833(0x25a)](),_0x519b4f['toggleClass'](_0x7f4833(0x239));else;}}});_0x57cfa3[_0x1dce4c(0x24e)]['on']('dblclick','li',function(_0x887833){const _0x143ef3=_0x1dce4c;var _0x355b0d,_0x45c339;_0x887833[_0x143ef3(0x1f3)]();let _0x4b98b6=$(this);if(_0x41bd4f(_0x4b98b6,_0x887833))_0x4d100d(_0x4b98b6);else{const _0xb7b475=_0x4b98b6[_0x143ef3(0x237)](_0x143ef3(0x26a)),_0x2ea059=_0x4b98b6[_0x143ef3(0x237)](_0x143ef3(0x241));if(_0x57cfa3['options'][_0x143ef3(0x184)]&&!_0x57cfa3[_0x143ef3(0x18e)]['isSelectable'](_0x2ea059))return;_0x57cfa3['$input']['data']('reference',_0x2ea059),((_0x355b0d=_0x2ea059[_0x143ef3(0x218)])===null||_0x355b0d===void 0x0?void 0x0:_0x355b0d['text'])||((_0x45c339=_0x2ea059[_0x143ef3(0x25d)])===null||_0x45c339===void 0x0?void 0x0:_0x45c339[_0x143ef3(0x179)])||_0x2ea059['nodeId']['toString']();let _0xb32312=_0x57cfa3[_0x143ef3(0x275)]();!_0xb32312&&(_0xb32312=_0x143ef3(0x1f7),_0x57cfa3[_0x143ef3(0x23c)](_0xb32312)),_0x137ce0(_0xb7b475)['then'](()=>{const _0x5009c1=_0x143ef3;_0x57cfa3['$dropdown'][_0x5009c1(0x16c)]();})[_0x143ef3(0x23f)](_0x2881e3=>{const _0x361ae9=_0x143ef3;_0x57cfa3['$dropdown'][_0x361ae9(0x16c)]();});}}),_0x57cfa3['$tree']['on'](_0x1dce4c(0x21c),'li',function(_0x15de2b){const _0x400b5f=_0x1dce4c;_0x15de2b[_0x400b5f(0x1f3)]();let _0x409e3f=$(this);_0x41bd4f(_0x409e3f,_0x15de2b)&&_0x4d100d(_0x409e3f),_0x23a96a(_0x57cfa3,_0x409e3f);}),$(document)['on'](_0x1dce4c(0x21c),function(_0x4713dc){const _0x3d5c3e=_0x1dce4c;!$(_0x4713dc['target'])[_0x3d5c3e(0x194)](_0x57cfa3['$combo'])[_0x3d5c3e(0x19e)]&&_0x57cfa3['$dropdown']['hide']();});}});},_0x2bd0fa=()=>{const _0x3ad517=_0x26ab0e;$[_0x3ad517(0x230)](_0x3ad517(0x1d4),{'options':{'namesToBits':{},'value':0x0},'_create'(){const _0x5d1428=_0x3ad517,_0x1cf906=this;_0x1cf906[_0x5d1428(0x232)]=this[_0x5d1428(0x284)],_0x1cf906[_0x5d1428(0x262)]=$(_0x5d1428(0x219)),_0x1cf906[_0x5d1428(0x262)][_0x5d1428(0x1b1)]('sterfive-combo-box'),this[_0x5d1428(0x284)][0x0][_0x5d1428(0x1db)]['replaceChild'](_0x1cf906[_0x5d1428(0x262)][0x0],this[_0x5d1428(0x284)][0x0]),_0x1cf906[_0x5d1428(0x1f8)]=$(_0x5d1428(0x219))[_0x5d1428(0x1b1)](_0x5d1428(0x166)),_0x1cf906[_0x5d1428(0x262)][_0x5d1428(0x229)](_0x1cf906[_0x5d1428(0x1f8)]),_0x1cf906['$inputGroup'][_0x5d1428(0x229)](_0x1cf906[_0x5d1428(0x232)]),_0x1cf906[_0x5d1428(0x1eb)]=$('<button><i\x20class=\x22fa\x20fa-eye\x22></i></button>'),_0x1cf906[_0x5d1428(0x1f8)][_0x5d1428(0x229)](_0x1cf906[_0x5d1428(0x1eb)]),_0x1cf906[_0x5d1428(0x1eb)]['on'](_0x5d1428(0x21c),function(){const _0x51783a=_0x5d1428;_0x1cf906[_0x51783a(0x26c)]['toggle'](),_0x1cf906['$dropdown']['is'](_0x51783a(0x20a))&&(_0x1ab775(),_0x1cf906[_0x51783a(0x262)][_0x51783a(0x263)](_0x51783a(0x1bc))[_0x51783a(0x1da)](function(){const _0x103090=_0x51783a;let _0x2db86e=$(this)[_0x103090(0x287)]();const _0x20112b=_0x1cf906[_0x103090(0x18e)][_0x103090(0x163)][_0x2db86e];if(_0x20112b===undefined)throw new Error(_0x103090(0x25b));(_0x1cf906['options'][_0x103090(0x26a)]&_0x20112b)===_0x20112b?$(this)[_0x103090(0x1b1)](_0x103090(0x167)):$(this)['removeClass'](_0x103090(0x167));}),_0x1cf906[_0x51783a(0x165)]());}),_0x1cf906[_0x5d1428(0x26c)]=$('<div\x20class=\x22custom-select\x22></div>')[_0x5d1428(0x16c)]()[_0x5d1428(0x188)](this[_0x5d1428(0x284)]),$[_0x5d1428(0x1da)](this[_0x5d1428(0x18e)]['namesToBits'],function(_0x4f73d1){const _0x297462=_0x5d1428,_0x5a021a=$(_0x297462(0x17a)+_0x4f73d1+'\x22>'+_0x297462(0x1cf)+_0x4f73d1+'</div>');_0x1cf906[_0x297462(0x26c)]['append'](_0x5a021a);}),_0x1cf906[_0x5d1428(0x26c)]['on'](_0x5d1428(0x21c),_0x5d1428(0x1bc),function(){const _0x3ea23a=_0x5d1428;$(this)[_0x3ea23a(0x1b2)](_0x3ea23a(0x167));const _0x4e2956=$(this)[_0x3ea23a(0x237)]('value');$(this)[_0x3ea23a(0x18b)](_0x3ea23a(0x167))?_0x57aae6(_0x4e2956):_0x29eb1d(_0x4e2956),_0x1cf906['updateValue']();}),_0x1cf906['$combo'][_0x5d1428(0x229)](_0x1cf906[_0x5d1428(0x26c)]);const _0x1ab775=()=>{const _0x4bc84f=_0x5d1428,_0x449dc5=this[_0x4bc84f(0x284)][_0x4bc84f(0x174)]();_0x1cf906[_0x4bc84f(0x18e)][_0x4bc84f(0x26a)]=_0x33ad28(_0x1cf906[_0x4bc84f(0x18e)][_0x4bc84f(0x163)],_0x449dc5);},_0x57aae6=_0x54611c=>{const _0x415272=_0x5d1428,_0x423557=_0x1cf906['options'][_0x415272(0x163)][_0x54611c];if(_0x423557===undefined)throw new Error('Unknown\x20bit\x20name');this['options']['value']|=_0x423557;},_0x29eb1d=_0x801fad=>{const _0x4ffc08=_0x5d1428,_0x1c0497=_0x1cf906[_0x4ffc08(0x18e)][_0x4ffc08(0x163)][_0x801fad];if(_0x1c0497===undefined)throw new Error(_0x4ffc08(0x25b));this[_0x4ffc08(0x18e)]['value']&=~_0x1c0497,this[_0x4ffc08(0x284)][_0x4ffc08(0x174)](_0x14d8ce(_0x1cf906[_0x4ffc08(0x18e)][_0x4ffc08(0x163)],this['options']['value']));};_0x1ab775();},'updateValue'(){const _0x4a0534=_0x3ad517,_0x367194=this;this[_0x4a0534(0x284)][_0x4a0534(0x174)](_0x14d8ce(_0x367194[_0x4a0534(0x18e)][_0x4a0534(0x163)],this[_0x4a0534(0x18e)]['value']));},'_destroy'(){const _0x3f0840=_0x3ad517,_0x1ec0f9=this;_0x1ec0f9[_0x3f0840(0x26c)][_0x3f0840(0x295)]();}});},_0x4d5924=()=>{const _0x53ae70=_0x26ab0e,_0x3f49e2=$(_0x53ae70(0x1fd)),_0x360589=_0x3f49e2['val'](),_0x25ae1e=RED[_0x53ae70(0x220)][_0x53ae70(0x1cd)](_0x360589);if(!_0x25ae1e)return undefined;const {endpoint:_0x5b603f,securityMode:_0x327263,securityPolicy:_0x10f083,userIdentityType:_0x5a2a57,credentials:_0x5dfc18,namespaceAliases:_0x4daef9}=_0x25ae1e,_0x195888={'endpoint':_0x5b603f,'securityMode':_0x327263,'securityPolicy':_0x10f083,'userIdentityType':_0x5a2a57,'credentials':_0x5dfc18,'namespaceAliases':_0x4daef9};return _0x195888;},_0x4b9569=()=>{const _0x557fb9=_0x26ab0e,_0x5c2df7=$(_0x557fb9(0x1fd)),_0x39a404=_0x5c2df7[_0x557fb9(0x174)](),_0x49570b=_0x4d5924();if(!_0x49570b)return undefined;const _0x2a372a=_0x49570b[_0x557fb9(0x22b)];return Object[_0x557fb9(0x1ee)]({'namespaceAliases':_0x2a372a,'id':_0x39a404},_0x49570b);},_0x12659c=()=>{return{'endpointNode':_0x4b9569};},_0x1c7a97=()=>{const _0x33a3e3=_0x26ab0e,_0x269144=$(_0x33a3e3(0x178));console['log'](_0x33a3e3(0x29a),_0x269144['length']);if(_0x269144['length']){console[_0x33a3e3(0x28a)](_0x33a3e3(0x210));const _0x46a212=$(_0x33a3e3(0x24c),{'src':_0x33a3e3(0x192),'scrolling':'no','style':_0x33a3e3(0x253),'allowtransparency':'true','width':_0x33a3e3(0x24a),'height':_0x33a3e3(0x1d7)});_0x269144[_0x33a3e3(0x229)](_0x46a212),_0x46a212[_0x33a3e3(0x23d)]({'position':_0x33a3e3(0x25c),'right':_0x33a3e3(0x1fe),'bottom':_0x33a3e3(0x221)});}};RED[_0x26ab0e(0x220)][_0x26ab0e(0x1b8)](_0x26ab0e(0x16f),{'category':'opcua','color':_0x26ab0e(0x290),'align':_0x26ab0e(0x1de),'icon':_0x26ab0e(0x27b),'paletteLabel':_0x26ab0e(0x17b),'defaults':{'inputs':{'value':0x1},'output':{'value':0x4},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':_0x26ab0e(0x20b)},'nodeId':{'value':'','required':![]},'referenceTypeId':{'value':_0x26ab0e(0x1c2),'required':![]},'includeSubtypes':{'value':![],'required':!![]},'browseDirection':{'value':_0x26ab0e(0x1bf),'required':!![]},'nodeClassMask':{'value':_0x26ab0e(0x231),'required':![]},'resultMask':{'value':_0x26ab0e(0x259),'required':![]}},'outputs':0x1,'label'(){const _0x3d90a4=_0x26ab0e;return this[_0x3d90a4(0x179)]||_0x3d90a4(0x277);},'labelStyle'(){const _0x360fb3=_0x26ab0e;return this[_0x360fb3(0x179)]?_0x360fb3(0x1ec):'';},'oneditprepare'(){const _0x31801a=_0x26ab0e,_0x3c8a65=this;_0xb6116b(),_0x2bd0fa(),_0x1c7a97(),_0x3c8a65[_0x31801a(0x173)]=0x1;const _0x2b4854=$(_0x31801a(0x20d));_0x2b4854['flagEditor']({'namesToBits':{'Object':0x1,'Variable':0x2,'Method':0x4,'ObjectType':0x8,'VariableType':0x10,'ReferenceType':0x20,'DataType':0x40,'View':0x80},'value':0x0});const _0x4b2239=$('#node-input-resultMask');_0x4b2239['flagEditor']({'namesToBits':{'ReferenceType':0x1,'IsForward':0x2,'NodeClass':0x4,'BrowseName':0x8,'DisplayName':0x10,'TypeDefinition':0x20},'value':0x3f});const _0x1e5197=$(_0x31801a(0x226));_0x1e5197[_0x31801a(0x265)](Object[_0x31801a(0x1ee)](Object[_0x31801a(0x1ee)]({},_0x12659c()),{'isSelectable'(_0x1d4ac5){const _0x47ed50=_0x31801a;return _0x1d4ac5['nodeClass']===_0x47ed50(0x1aa)||_0x1d4ac5[_0x47ed50(0x18d)]===_0x47ed50(0x1c6);}}));const _0x11912c={'nodeId':_0x31801a(0x20c),'referenceTypeId':'','browseName':{'namespaceIndex':0x0,'name':_0x31801a(0x1e0)},'displayName':{'text':_0x31801a(0x1e0)},'nodeClass':'ReferenceType','typeDefinition':_0x31801a(0x20c)},_0x3b3406=$(_0x31801a(0x268));_0x3b3406[_0x31801a(0x265)](Object[_0x31801a(0x1ee)](Object[_0x31801a(0x1ee)]({},_0x12659c()),{'parentNode':()=>_0x11912c,'isSelectable'(_0x52cfe7){const _0x1fa4a4=_0x31801a;return _0x52cfe7[_0x1fa4a4(0x18d)]===_0x1fa4a4(0x246);},'isTypeRef':!![]}));},'oneditsave'(){}});}()));
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHg1MTg4OGUiLCJfMHgxNTBjOTAiLCJfMHgxYzgyMmMiLCJfMHg0MDZhMTYiLCJfMHgzMDc1OTEiLCJfMHg0ODZiYmYiLCJfMHgzNmNjMjAiLCJfMHgxODIyYjAiLCJQcm9taXNlIiwiXzB4MjdhNjY3IiwiXzB4MjliYmVlIiwiXzB4M2MyNDRjIiwiXzB4MTFjYWQwIiwiXzB4MTQyYzdmIiwiXzB4MTIzOWM4IiwiXzB4MmYwMjhiIiwiXzB4YzYwMTI1IiwiXzB4NDg5NTBiIiwiXzB4M2E1N2ZjIiwiU3VwcHJlc3NlZEVycm9yIiwiXzB4NGJlMzA1IiwiXzB4MmYxMjVhIiwiXzB4ZTI2MjQwIiwiXzB4MmIxNDM4IiwiRXJyb3IiLCJfMHg0NDYxNDQiLCJfMHgxM2YzNTgiLCJfMHhlMWExZSIsIl8weDE2ZjI1NSIsIl8weDU2Zjc5ZiIsIl8weDQ5MDM5YiIsIl8weDIzOTYxMSIsIl8weDM3NjkxZSIsIl8weDVlOGYzMyIsIl8weDQzZTBiMCIsIl8weDE2MjczMCIsIl8weGIwNmM1NSIsIl8weDE4MDEwYSIsIl8weDMzYWQyOCIsIl8weDMyNWYxOCIsIl8weDRhNzBlMSIsIl8weDUzZDE5NyIsInBhcnNlSW50IiwiaXNOYU4iLCJfMHg1MmE5NDkiLCJfMHg1YWNlNzkiLCJfMHgyOTA5ZjYiLCJfMHgyMWJkZjYiLCJfMHgxNGQ4Y2UiLCJfMHhmNWZhNTQiLCJfMHgzZTcxODAiLCJfMHgyZTczMmUiLCJfMHgxMWFiZjgiLCJfMHgzZWY5NDQiLCJPYmplY3QiLCJfMHgzODQ0ZTUiLCJfMHgzNGFkZGMiLCJfMHgyZDA2MjciLCJfMHg0NjdkOTgiLCJfMHgxZTgwYWMiLCJfMHgxNmQ2MTAiLCJfMHg0NjhhNjUiLCJfMHgyMjQyMGIiLCJfMHg0ZDNjNGEiLCJfMHg0YWQ4ZTciLCJlbmRwb2ludE5vZGUiLCJfMHhiOGE1YTkiLCJlbmRwb2ludCIsIl8weDFlYjYzNyIsImJhc2VVcmwiLCJfMHg1Y2U1ODIiLCJfMHg0OTJhOWMiLCJfMHg1MzczNGYiLCJfMHgzYzIyODgiLCJfMHgxNmEzNmMiLCJfMHgyZWRmOWYiLCJfMHg1YzAwMzQiLCJmZXRjaCIsIkpTT04iLCJjb25zb2xlIiwiXzB4YzBkNWUyIiwiXzB4M2M1YzU1IiwiXzB4MWE3NDE3IiwiXzB4NDhhYzMxIiwiXzB4NTBiZTM0IiwiXzB4MTBkYmU3IiwiXzB4NTYxNjJlIiwiXzB4NTc3YmQ4IiwiXzB4NzhjOTZjIiwiXzB4ZTg4MmJhIiwibm9kZUlkIiwiXzB4MTZhYjkxIiwicm9vdE5vZGVJZCIsIl8weDI1NjRjNCIsImlzVHlwZSIsIl8weDQzZjEzYyIsIl8weDFjYWQ2MCIsIl8weDVlZjhhMSIsIl8weDUxZTYzNyIsIl8weDFiOWMxYiIsIl8weDNiNmYxMiIsIl8weDE3NzhhYiIsIl8weDVkYTVlMiIsIl8weDM3NDBmMCIsIl8weDNmZjdkNSIsIl8weGZlMmMyYyIsIl8weGIzMGVhMCIsIl8weDFjNGU3YSIsIl8weDU4OGY2MyIsIl8weDQwNDg4ZSIsIl8weDViYTcxNyIsIl8weDVkODA1NiIsIl8weDRmZjhjMCIsIl8weGJhNjc0NiIsIl8weDVjM2I3YyIsIl8weDNkMTIwZiIsIl8weDU3MGNkNiIsIl8weDE5NDAxOCIsIl8weDE1MDAzZSIsIl8weDEwYjY3YyIsIl8weDM2MGMwYiIsIl8weDU4ZDhkNiIsIl8weDM5YTlhYSIsIl8weDU0MzQ1NCIsIl8weDQ1YTVmMyIsIl8weDVkMjRhZCIsIl8weDQ1MWQ4IiwiUkVEIiwiXzB4MmRiZTc4IiwiXzB4M2I0MjUzIiwiXzB4MzFkM2Y5IiwiXzB4MTBlZWUxIiwiXzB4NDRhODFhIiwiXzB4NDFmZjE0IiwiXzB4ZmU5ZjMiLCJfMHgzMzdiZDgiLCJfMHgyZWEwY2YiLCJfMHgzMzQyMTIiLCJfMHgzMzRjNDQiLCJfMHgyZGU5NjQiLCJfMHgzZmI3OTIiLCJfMHgzOGFhY2IiLCJfMHgyYzlkOWMiLCJqc29uIiwiXzB4MWNlMTBkIiwiZGF0YSIsIl8weDI1NjVhNSIsIl8weGM4ZGFjMSIsIl8weDFjNmI4OSIsIl8weDNlZTJkYiIsInNldFRpbWVvdXQiLCJfMHg1MmJmZDQiLCJfMHg0MTg3YWUiLCJfMHgxN2U1OTYiLCJfMHgyOTE3ZGEiLCJfMHgxMWI4N2MiLCJfMHg0OWFkYzMiLCJfMHgyMTVlYWEiLCJfMHgyZmNmMjAiLCJfMHg1ZDdlNTYiLCJfMHgyNWQzYTkiLCJfMHg0OTJhZjIiLCJfMHgzNGFiYmYiLCJfMHgyMDE2YTAiLCJfMHhhMWRmNDkiLCJfMHgzZGI0YTkiLCJfMHgzMjNlNWUiLCJfMHg0NTMxYzIiLCJfMHg1YTU3NTciLCJfMHgzODg4YWUiLCJfMHgyNmE2NjMiLCJfMHgyN2ZhY2IiLCIkIiwiXzB4NDMwZDMxIiwiXzB4NTM2YzQ5IiwiaWNvbiIsIl8weGNhNmZkZSIsImNvbG9yIiwiXzB4NThkYmEyIiwiXzB4NDExZDUzIiwiXzB4M2UxYTFmIiwiXzB4NGZjMWM0IiwiXzB4MmE2MDdkIiwiXzB4MjdlZDE4IiwiXzB4MjNhOTZhIiwiXzB4NjJhMDI2IiwiXzB4NGRlZDg4IiwiXzB4NDgwNjAyIiwiXzB4MzM2M2RjIiwiXzB4MzZmMTUwIiwiXzB4MzY2OGRkIiwiXzB4NTljMDI1IiwiXzB4MWIyOTk3IiwiXzB4NWNmZmQ1IiwiXzB4MTVhNjA2IiwiXzB4M2IzNGQ3IiwiXzB4ZTE3MDNmIiwiXzB4MTdiZTlkIiwiXzB4MWI2NzYxIiwiXzB4NWJjZmVlIiwiXzB4MTM2YWEzIiwidW5kZWZpbmVkIiwiXzB4NDk0YjdlIiwiXzB4YjVmNjQzIiwiXzB4NWQ5NTdlIiwiXzB4MWMzNmFiIiwiXzB4MzI2N2IwIiwiXzB4MjM3NjE0IiwiXzB4MzAwYmNiIiwiXzB4NTUwNmUwIiwiXzB4MjU1ODUzIiwiXzB4MjY5OTIwIiwiXzB4M2UwODM3IiwiXzB4NDk5ZDY0IiwiXzB4NDZjZTU1IiwiXzB4NDdmMWI5IiwicmVmZXJlbmNlcyIsIl8weDFjYmU5OSIsIl8weDMzZDA5YSIsIl8weDk5YmRlYyIsIl8weDVmMDM4NCIsIl8weDQ0ZjZjYSIsIl8weDNiMTQ1MSIsIl8weDM0NTRjNSIsIl8weDQ2M2Q2YiIsIl8weDEwYzAyOCIsIl8weDQwMGQ3NiIsIl8weDUyZjNlYSIsIl8weDFmMzFkYyIsIl8weDIwYWE4MCIsIl8weDQ3MjA2ZCIsIl8weDQwMWZhOSIsIl8weDI4NDU2NyIsIl8weGI2MTE2YiIsIl8weDExNmE4NyIsIl8weGU1NmM0YyIsIl8weDI5ZWJhYiIsIl8weDI1MmE0YiIsIl8weDg2Y2IzMyIsIl8weDVmMDAyZSIsIl8weDcwYjAwYiIsIl8weDM4MmYwYSIsIl8weGIwZmIzNiIsIl8weDFhZDJjMCIsIl8weDRjOWFlZCIsIl8weDRjZmE0MSIsIl8weDIyMDU5MSIsImRvY3VtZW50IiwiXzB4MzMzMDE3IiwiXzB4MzZlYTIyIiwiXzB4MTcxM2UxIiwiXzB4NjI4ZGJmIiwiXzB4NTBjYWZmIiwiXzB4MTkzY2I4IiwiXzB4MmM5OTY0IiwiXzB4MmRiNTFmIiwiXzB4MjA5NGExIiwiXzB4MjdiMTUzIiwiXzB4MTE4N2VjIiwiXzB4MTRkZmE5IiwiXzB4NGY0YjM2IiwiXzB4NTIxZGJkIiwiXzB4MWQwMWI0IiwiXzB4NDFlMzY2IiwiXzB4NGY3YWM4IiwiXzB4NGI4YmNmIiwiXzB4YmRjN2RjIiwid2luZG93IiwiXzB4NDljZmEzIiwiXzB4NTI5MzA5IiwiXzB4Mzk0NzkyIiwiXzB4M2YyYTkxIiwiXzB4MzFjOWE3IiwiXzB4MjM3NGEwIiwiXzB4NDU2OTM2IiwiXzB4MmUwNDI5IiwiXzB4MjM5YzIxIiwiXzB4M2U2YjFhIiwiXzB4MWI4YTdkIiwiXzB4MTc2NDcxIiwiXzB4Mjc1NTk4IiwiXzB4Mjk2NDRmIiwiXzB4YjMxY2VjIiwiXzB4MWVhNmU3IiwiXzB4MmNhYTgzIiwiXzB4NzNhNTRjIiwiXzB4NGQyNGFhIiwiXzB4NTdjZmEzIiwiXzB4MTFjNzUxIiwiXzB4MTg4NGYyIiwiXzB4M2UxYjMyIiwiXzB4MzUzMGVjIiwiXzB4MTM3Y2UwIiwiXzB4MTNhYThjIiwiXzB4MTQ1ZTAyIiwiXzB4MTg5NTkwIiwiXzB4MzNmMzhhIiwiXzB4MTU1MGE4IiwiXzB4MWQ0Zjc2IiwiXzB4YzVjMDdmIiwiXzB4MjFiYWNjIiwiXzB4MjNlMGJlIiwiXzB4NDFiZDRmIiwiXzB4NWNkNmU2IiwiXzB4NDEyYWUyIiwiXzB4MjA4NDZhIiwiXzB4MTQ0YTUxIiwiXzB4NWRmMWVmIiwiXzB4NTNjZTg2IiwiXzB4NGQxMDBkIiwiXzB4NTE5YjRmIiwiXzB4ODg3ODMzIiwiXzB4MzU1YjBkIiwiXzB4NDVjMzM5IiwiXzB4NGI5OGI2IiwiXzB4YjdiNDc1IiwiXzB4MmVhMDU5IiwiXzB4YjMyMzEyIiwiXzB4Mjg4MWUzIiwiXzB4MTVkZTJiIiwiXzB4NDA5ZTNmIiwiXzB4NDcxM2RjIiwiXzB4MmJkMGZhIiwiXzB4MWNmOTA2IiwiXzB4MWFiNzc1IiwiXzB4MmRiODZlIiwiXzB4MjAxMTJiIiwiXzB4NGY3M2QxIiwiXzB4NWEwMjFhIiwiXzB4NGUyOTU2IiwiXzB4NTdhYWU2IiwiXzB4MjllYjFkIiwiXzB4NDQ5ZGM1IiwiXzB4NTQ2MTFjIiwiXzB4NDIzNTU3IiwiXzB4ODAxZmFkIiwiXzB4MWMwNDk3IiwiXzB4MzY3MTk0IiwiXzB4MWVjMGY5IiwiXzB4NGQ1OTI0IiwiXzB4M2Y0OWUyIiwiXzB4MzYwNTg5IiwiXzB4MjVhZTFlIiwiXzB4NWI2MDNmIiwic2VjdXJpdHlNb2RlIiwiXzB4MzI3MjYzIiwic2VjdXJpdHlQb2xpY3kiLCJfMHgxMGYwODMiLCJ1c2VySWRlbnRpdHlUeXBlIiwiXzB4NWEyYTU3IiwiY3JlZGVudGlhbHMiLCJfMHg1ZGZjMTgiLCJuYW1lc3BhY2VBbGlhc2VzIiwiXzB4NGRhZWY5IiwiXzB4MTk1ODg4IiwiXzB4NGI5NTY5IiwiXzB4NWMyZGY3IiwiXzB4MzlhNDA0IiwiXzB4NDk1NzBiIiwiXzB4MmEzNzJhIiwiXzB4MTI2NTljIiwiXzB4MWM3YTk3IiwiXzB4MjY5MTQ0IiwiXzB4NDZhMjEyIiwiXzB4M2M4YTY1IiwiXzB4MmI0ODU0IiwiXzB4NGIyMjM5IiwiXzB4MWU1MTk3IiwiXzB4MWQ0YWM1IiwiXzB4MTE5MTJjIiwiXzB4M2IzNDA2IiwiXzB4NTJjZmU3Il0sIm1hcHBpbmdzIjoic3ZNQUFBLENBQUMsVSxD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LEVBQWNBLE1BQUEsQyxnQkFBQSxFQUFjLEVBQWQsQ0FBa0JrVCxTQUFBLEVBQWxCLENBQWQsQ0FBaUUsQyxjQUFFLENBQWFRLFNBQWIsQyxrQ0FDeEVBLFNBQUEsQyxXQUFBLEksZ0JBQUEsRUFBcUNBLFNBQUEsQyxnQkFBQSxJLGtCQURpQyxDQUFqRSxDQUFwQixFQUdBLE1BQU1DLFNBQUEsQ0FBcUIsQyxRQUN2QixDLGdCQUR1QixDLGlCQUV2QixDLEVBRnVCLEMsWUFHdkIsQ0FBWSxDLGdCQUFFLEMsR0FBRixDLE1BQXFCLEMsZ0JBQXJCLENBSFcsQyxhQUl2QixDQUFhLEMsTUFBRSxDLGdCQUFGLENBSlUsQyxXQUt2QixDLGVBTHVCLEMsZ0JBTXZCLEMsZ0JBTnVCLENBQTNCLENBUU1DLFNBQUEsQ0FBbUJ0TSxDQUFBLEMsZ0JBQUEsQ0FSekIsQ0FTQXNNLFNBQUEsQyxnQkFBQSxFQUE2QjVULE1BQUEsQyxnQkFBQSxFQUFjQSxNQUFBLEMsZ0JBQUEsRUFBYyxFQUFkLENBQWtCa1QsU0FBQSxFQUFsQixDQUFkLENBQWlFLEMsWUFBRSxDQUFZLElBQU1TLFNBQXBCLEMsY0FDMUYsQ0FBYUUsU0FBYixDLGtDQUNXQSxTQUFBLEMsZ0JBQUEsSSxrQkFGK0UsQyxXQUd2RixDLElBSHVGLENBQWpFLENBQTdCLEMsRUF4RXVDLEMsWUE2RTNDLEUsRUE3RTJDLENBQS9DLEMsRUFqckNKLEciLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gKCkge1xuICAgICd1c2Ugc3RyaWN0JztcblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlxyXG5cclxuICAgIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxyXG4gICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLlxyXG5cclxuICAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcclxuICAgIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxyXG4gICAgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULFxyXG4gICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXHJcbiAgICBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxyXG4gICAgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUlxyXG4gICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cclxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbiAgICAvKiBnbG9iYWwgUmVmbGVjdCwgUHJvbWlzZSwgU3VwcHJlc3NlZEVycm9yLCBTeW1ib2wsIEl0ZXJhdG9yICovXHJcblxyXG5cclxuICAgIGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgICAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cclxuICAgICAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cclxuICAgICAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHR5cGVvZiBTdXBwcmVzc2VkRXJyb3IgPT09IFwiZnVuY3Rpb25cIiA/IFN1cHByZXNzZWRFcnJvciA6IGZ1bmN0aW9uIChlcnJvciwgc3VwcHJlc3NlZCwgbWVzc2FnZSkge1xyXG4gICAgICAgIHZhciBlID0gbmV3IEVycm9yKG1lc3NhZ2UpO1xyXG4gICAgICAgIHJldHVybiBlLm5hbWUgPSBcIlN1cHByZXNzZWRFcnJvclwiLCBlLmVycm9yID0gZXJyb3IsIGUuc3VwcHJlc3NlZCA9IHN1cHByZXNzZWQsIGU7XHJcbiAgICB9O1xuXG4gICAgY29uc3QgT3JnYW5pemVzUmVmTm9kZUlkID0gXCJucz0wO2k9MzVcIjtcbiAgICBjb25zdCBGb2xkZXJUeXBlID0gXCJucz0wO2k9NjFcIjtcbiAgICBjb25zdCBIYXNDb21wb25lbnRSZWZOb2RlSWQgPSBcIm5zPTA7aT00N1wiO1xuICAgIGNvbnN0IEhhc1Byb3BlcnR5UmVmTm9kZUlkID0gXCJucz0wO2k9NDZcIjtcbiAgICBjb25zdCBIYXNDaGlsZFJlZk5vZGVJZCA9IFwibnM9MDtpPTM0XCI7XG4gICAgY29uc3QgSGFzU3VidHlwZVJlZk5vZGVJZCA9IFwibnM9MDtpPTQ1XCI7XG4gICAgY29uc3QgSGFzVHlwZURlZmluaXRpb25SZWZOb2RlSWQgPSBcIm5zPTA7aT00MFwiO1xuXG4gICAgdmFyIEJyb3dzZURpcmVjdGlvbjtcbiAgICAoZnVuY3Rpb24gKEJyb3dzZURpcmVjdGlvbikge1xuICAgICAgICBCcm93c2VEaXJlY3Rpb25bQnJvd3NlRGlyZWN0aW9uW1wiRm9yd2FyZFwiXSA9IDBdID0gXCJGb3J3YXJkXCI7XG4gICAgICAgIEJyb3dzZURpcmVjdGlvbltCcm93c2VEaXJlY3Rpb25bXCJJbnZlcnNlXCJdID0gMV0gPSBcIkludmVyc2VcIjtcbiAgICAgICAgQnJvd3NlRGlyZWN0aW9uW0Jyb3dzZURpcmVjdGlvbltcIkJvdGhcIl0gPSAyXSA9IFwiQm90aFwiO1xuICAgICAgICBCcm93c2VEaXJlY3Rpb25bQnJvd3NlRGlyZWN0aW9uW1wiSW52YWxpZFwiXSA9IDNdID0gXCJJbnZhbGlkXCI7XG4gICAgfSkoQnJvd3NlRGlyZWN0aW9uIHx8IChCcm93c2VEaXJlY3Rpb24gPSB7fSkpO1xuICAgIHZhciBOb2RlQ2xhc3M7XG4gICAgKGZ1bmN0aW9uIChOb2RlQ2xhc3MpIHtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIlVuc3BlY2lmaWVkXCJdID0gMF0gPSBcIlVuc3BlY2lmaWVkXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJPYmplY3RcIl0gPSAxXSA9IFwiT2JqZWN0XCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJWYXJpYWJsZVwiXSA9IDJdID0gXCJWYXJpYWJsZVwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiTWV0aG9kXCJdID0gNF0gPSBcIk1ldGhvZFwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiT2JqZWN0VHlwZVwiXSA9IDhdID0gXCJPYmplY3RUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJWYXJpYWJsZVR5cGVcIl0gPSAxNl0gPSBcIlZhcmlhYmxlVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiUmVmZXJlbmNlVHlwZVwiXSA9IDMyXSA9IFwiUmVmZXJlbmNlVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiRGF0YVR5cGVcIl0gPSA2NF0gPSBcIkRhdGFUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJWaWV3XCJdID0gMTI4XSA9IFwiVmlld1wiO1xuICAgIH0pKE5vZGVDbGFzcyB8fCAoTm9kZUNsYXNzID0ge30pKTtcbiAgICB2YXIgTm9kZUNsYXNzTWFzaztcbiAgICAoZnVuY3Rpb24gKE5vZGVDbGFzc01hc2spIHtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiT2JqZWN0XCJdID0gMV0gPSBcIk9iamVjdFwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJWYXJpYWJsZVwiXSA9IDJdID0gXCJWYXJpYWJsZVwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJNZXRob2RcIl0gPSA0XSA9IFwiTWV0aG9kXCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIk9iamVjdFR5cGVcIl0gPSA4XSA9IFwiT2JqZWN0VHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJWYXJpYWJsZVR5cGVcIl0gPSAxNl0gPSBcIlZhcmlhYmxlVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJSZWZlcmVuY2VUeXBlXCJdID0gMzJdID0gXCJSZWZlcmVuY2VUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIkRhdGFUeXBlXCJdID0gNjRdID0gXCJEYXRhVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJWaWV3XCJdID0gMTI4XSA9IFwiVmlld1wiO1xuICAgIH0pKE5vZGVDbGFzc01hc2sgfHwgKE5vZGVDbGFzc01hc2sgPSB7fSkpO1xuICAgIGZ1bmN0aW9uIGNvZXJjZUZsYWdNYXNrVG9OdW1iZXIodHlwZSwgc3RyKSB7XG4gICAgICAgIGlmICh0eXBlb2Ygc3RyID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgICByZXR1cm4gc3RyO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0ckFzTnVtID0gcGFyc2VJbnQoc3RyLCAxMCk7XG4gICAgICAgIGlmICghaXNOYU4oc3RyQXNOdW0pKSB7XG4gICAgICAgICAgICByZXR1cm4gc3RyQXNOdW07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZmxhZ3MgPSBzdHIuc3BsaXQoL1xcfHw7fCwvKS5tYXAoKGEpID0+IGEudHJpbSgpKTtcbiAgICAgICAgbGV0IHJlc3VsdCA9IDA7XG4gICAgICAgIGZvciAoY29uc3QgZmxhZyBvZiBmbGFncykge1xuICAgICAgICAgICAgcmVzdWx0IHw9IHR5cGVbZmxhZ107XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgZnVuY3Rpb24gY29lcmNlRmxhZ01hc2tUb1N0cmluZyh0eXBlLCB2YWx1ZSkge1xuICAgICAgICB2YWx1ZSA9IGNvZXJjZUZsYWdNYXNrVG9OdW1iZXIodHlwZSwgdmFsdWUpO1xuICAgICAgICBjb25zdCByID0gW107XG4gICAgICAgIGlmICghdHlwZSlcbiAgICAgICAgICAgIHJldHVybiByLmpvaW4oXCIgfCBcIik7XG4gICAgICAgIGZvciAoY29uc3QgW2tleSwgYml0TWFza10gb2YgT2JqZWN0LmVudHJpZXModHlwZSkpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAoKHZhbHVlICYgYml0TWFzaykgPT09IGJpdE1hc2spIHtcbiAgICAgICAgICAgICAgICAgICAgci5wdXNoKGtleSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByLmpvaW4oXCIgfCBcIik7XG4gICAgfVxuICAgIHZhciBSZXN1bHRNYXNrO1xuICAgIChmdW5jdGlvbiAoUmVzdWx0TWFzaykge1xuICAgICAgICBSZXN1bHRNYXNrW1Jlc3VsdE1hc2tbXCJSZWZlcmVuY2VUeXBlXCJdID0gMV0gPSBcIlJlZmVyZW5jZVR5cGVcIjtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiSXNGb3J3YXJkXCJdID0gMl0gPSBcIklzRm9yd2FyZFwiO1xuICAgICAgICBSZXN1bHRNYXNrW1Jlc3VsdE1hc2tbXCJOb2RlQ2xhc3NcIl0gPSA0XSA9IFwiTm9kZUNsYXNzXCI7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIkJyb3dzZU5hbWVcIl0gPSA4XSA9IFwiQnJvd3NlTmFtZVwiO1xuICAgICAgICBSZXN1bHRNYXNrW1Jlc3VsdE1hc2tbXCJEaXNwbGF5TmFtZVwiXSA9IDE2XSA9IFwiRGlzcGxheU5hbWVcIjtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiVHlwZURlZmluaXRpb25cIl0gPSAzMl0gPSBcIlR5cGVEZWZpbml0aW9uXCI7XG4gICAgfSkoUmVzdWx0TWFzayB8fCAoUmVzdWx0TWFzayA9IHt9KSk7XG4gICAgLy8gIGNvbnN0IHEgPSBSZWZlcmVuY2VUeXBlSWRzLk9yZ2FuaXplcztcbiAgICBmdW5jdGlvbiByZXNvbHZlTm9kZUlkKG5vZGVJZExpa2UpIHtcbiAgICAgICAgc3dpdGNoIChub2RlSWRMaWtlKSB7XG4gICAgICAgICAgICBjYXNlIFwiT3JnYW5pemVzXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE9yZ2FuaXplc1JlZk5vZGVJZDtcbiAgICAgICAgICAgIGNhc2UgXCJIYXNQcm9wZXJ0eVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBIYXNQcm9wZXJ0eVJlZk5vZGVJZDtcbiAgICAgICAgICAgIGNhc2UgXCJIYXNDb21wb25lbnRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGFzQ29tcG9uZW50UmVmTm9kZUlkO1xuICAgICAgICAgICAgY2FzZSBcIkhhc0NoaWxkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEhhc0NoaWxkUmVmTm9kZUlkO1xuICAgICAgICAgICAgY2FzZSBcIkhhc1N1YnR5cGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGFzU3VidHlwZVJlZk5vZGVJZDtcbiAgICAgICAgICAgIGNhc2UgXCJIYXNUeXBlRGVmaW5pdGlvblwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBIYXNUeXBlRGVmaW5pdGlvblJlZk5vZGVJZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGdldEljb24gPSAocmVmZXJlbmNlKSA9PiB7XG4gICAgICAgIHN3aXRjaCAocmVmZXJlbmNlLm5vZGVDbGFzcykge1xuICAgICAgICAgICAgY2FzZSBcIk9iamVjdFwiOlxuICAgICAgICAgICAgICAgIGlmIChyZWZlcmVuY2UucmVmZXJlbmNlVHlwZUlkID09PSBPcmdhbml6ZXNSZWZOb2RlSWQpIDtcbiAgICAgICAgICAgICAgICBpZiAocmVmZXJlbmNlLnR5cGVEZWZpbml0aW9uID09PSBGb2xkZXJUeXBlIHx8IHJlZmVyZW5jZS5yZWZlcmVuY2VUeXBlSWQgPT09IFwiaT02MVwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtZm9sZGVyXCIsIGNvbG9yOiBcInJnYmEoNjEsIDYwLCA0LCAwLjUyNSlcIiB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLW9iamVjdC1ncm91cFwiLCBjb2xvcjogXCJTZWFHcmVlblwiIH07XG4gICAgICAgICAgICBjYXNlIFwiVmFyaWFibGVcIjpcbiAgICAgICAgICAgICAgICBpZiAocmVmZXJlbmNlLnJlZmVyZW5jZVR5cGVJZCA9PT0gSGFzQ29tcG9uZW50UmVmTm9kZUlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtbGlzdC1hbHRcIiwgY29sb3I6IFwiU3RlZWxCbHVlXCIgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocmVmZXJlbmNlLnJlZmVyZW5jZVR5cGVJZCA9PT0gSGFzUHJvcGVydHlSZWZOb2RlSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1saXN0LWFsdFwiLCBjb2xvcjogXCJEb2RnZXJCbHVlXCIgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtbGlzdC1hbHRcIiwgY29sb3I6IFwiQ2FkZXRCbHVlXCIgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIFwiTWV0aG9kXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1jb2dcIiwgY29sb3I6IFwiU2FuZHlCcm93blwiIH07XG4gICAgICAgICAgICBjYXNlIFwiT2JqZWN0VHlwZVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtb2JqZWN0LWdyb3VwXCIsIGNvbG9yOiBcIkRhcmtPcmFuZ2VcIiB9O1xuICAgICAgICAgICAgY2FzZSBcIlZhcmlhYmxlVHlwZVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtc2xpZGVyc1wiLCBjb2xvcjogXCJEYXJrT3JhbmdlXCIgfTtcbiAgICAgICAgICAgIGNhc2UgXCJEYXRhVHlwZVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtdGV4dC13aWR0aFwiLCBjb2xvcjogXCJDYWRldEJsdWVcIiB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IGljb246IFwiZmEtcXVlc3Rpb25cIiwgY29sb3I6IFwiZ3JleVwiIH07XG4gICAgfTtcblxuICAgIGNvbnN0IGJyb3dzZSA9IChfYSwgbm9kZUlkXzEsIHRlbXBsYXRlXzEpID0+IF9fYXdhaXRlcih2b2lkIDAsIFtfYSwgbm9kZUlkXzEsIHRlbXBsYXRlXzFdLCB2b2lkIDAsIGZ1bmN0aW9uKiAoeyBlbmRwb2ludE5vZGUsIGVuZHBvaW50LCBiYXNlVXJsIH0sIG5vZGVJZCwgdGVtcGxhdGUpIHtcbiAgICAgICAgY29uc3Qgcm9vdCA9IGAke2Jhc2VVcmx9L29wY3VhLWZvci1ub2RlLXJlZGA7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L2Jyb3dzZWA7XG4gICAgICAgIGNvbnN0IGJyb3dzZURlc2NyaXB0aW9uID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCB0ZW1wbGF0ZSksIHsgbm9kZUlkLCByZXN1bHRNYXNrOiA2MyB9KTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHlpZWxkIGZldGNoKHVybCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICBlbmRwb2ludE5vZGUsXG4gICAgICAgICAgICAgICAgZW5kcG9pbnQsXG4gICAgICAgICAgICAgICAgYnJvd3NlRGVzY3JpcHRpb24sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChkYXRhLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImZldGNoaW5nIGZhaWxlZCB3aXRoIGVycm9yXCIsIGRhdGEuc3RhdHVzLCBkYXRhLnN0YXR1c1RleHQpO1xuICAgICAgICAgICAgcmV0dXJuIHsgcmVmZXJlbmNlczogW10gfTtcbiAgICAgICAgfVxuICAgICAgICAvLyBjb25zb2xlLmxvZyhcImJyb3dzZSBmZXRjaGVkIDogXCIsIGRhdGEuc3RhdHVzLCBkYXRhLnN0YXR1c1RleHQpO1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IHlpZWxkIGRhdGEuanNvbigpO1xuICAgICAgICBjb25zdCByZWZlcmVuY2VzID0gcmVzcG9uc2UuYnJvd3NlUmVzdWx0LnJlZmVyZW5jZXMgfHwgW107XG4gICAgICAgIHJldHVybiB7IHJlZmVyZW5jZXMgfTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHRlbXBsYXRlMSA9IHtcbiAgICAgICAgcmVmZXJlbmNlVHlwZUlkOiByZXNvbHZlTm9kZUlkKFwiSGFzQ2hpbGRcIiksXG4gICAgICAgIGluY2x1ZGVTdWJ0eXBlczogdHJ1ZSxcbiAgICAgICAgYnJvd3NlRGlyZWN0aW9uOiBCcm93c2VEaXJlY3Rpb24uRm9yd2FyZCxcbiAgICAgICAgbm9kZUNsYXNzTWFzazogTm9kZUNsYXNzLlZhcmlhYmxlIHwgTm9kZUNsYXNzLk9iamVjdCB8IE5vZGVDbGFzcy5NZXRob2QsXG4gICAgICAgIC8vICBOb2RlQ2xhc3MuT2JqZWN0VHlwZSB8XG4gICAgICAgIC8vICBOb2RlQ2xhc3MuVmFyaWFibGVUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLlJlZmVyZW5jZVR5cGUgfFxuICAgICAgICAvLyBOb2RlQ2xhc3MuRGF0YVR5cGUgfFxuICAgICAgICAvLyBOb2RlQ2xhc3MuVmlldyxcbiAgICAgICAgcmVzdWx0TWFzazogNjMsXG4gICAgfTtcbiAgICBjb25zdCB0ZW1wbGF0ZTIgPSB7XG4gICAgICAgIHJlZmVyZW5jZVR5cGVJZDogcmVzb2x2ZU5vZGVJZChcIk9yZ2FuaXplc1wiKSxcbiAgICAgICAgaW5jbHVkZVN1YnR5cGVzOiB0cnVlLFxuICAgICAgICBicm93c2VEaXJlY3Rpb246IEJyb3dzZURpcmVjdGlvbi5Gb3J3YXJkLFxuICAgICAgICBub2RlQ2xhc3NNYXNrOiBOb2RlQ2xhc3MuVmFyaWFibGUgfCBOb2RlQ2xhc3MuT2JqZWN0IHwgTm9kZUNsYXNzLk1ldGhvZCxcbiAgICAgICAgLy8gIE5vZGVDbGFzcy5PYmplY3RUeXBlIHxcbiAgICAgICAgLy8gIE5vZGVDbGFzcy5WYXJpYWJsZVR5cGUgfFxuICAgICAgICAvLyBOb2RlQ2xhc3MuUmVmZXJlbmNlVHlwZSB8XG4gICAgICAgIC8vIE5vZGVDbGFzcy5EYXRhVHlwZSB8XG4gICAgICAgIC8vIE5vZGVDbGFzcy5WaWV3LFxuICAgICAgICByZXN1bHRNYXNrOiA2MyxcbiAgICB9O1xuICAgIGNvbnN0IHdhbGtCYWNrd2FyZCA9IChfYSwgX2IpID0+IF9fYXdhaXRlcih2b2lkIDAsIFtfYSwgX2JdLCB2b2lkIDAsIGZ1bmN0aW9uKiAoeyBlbmRwb2ludE5vZGUsIGVuZHBvaW50LCBiYXNlVXJsIH0sIHsgbm9kZUlkLCByb290Tm9kZUlkLCBpc1R5cGUgfSkge1xuICAgICAgICBjb25zdCByb290ID0gYCR7YmFzZVVybH0vb3BjdWEtZm9yLW5vZGUtcmVkYDtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7cm9vdH0vd2Fsay1iYWNrd2FyZGA7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB5aWVsZCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlLFxuICAgICAgICAgICAgICAgIGVuZHBvaW50LFxuICAgICAgICAgICAgICAgIG5vZGVJZCxcbiAgICAgICAgICAgICAgICByb290Tm9kZUlkLFxuICAgICAgICAgICAgICAgIGlzVHlwZSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgaGVhZGVyczogeyBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9LFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGRhdGEuc3RhdHVzICE9PSAyMDApIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGpzb24gPSAoeWllbGQgZGF0YS5qc29uKCkpO1xuICAgICAgICByZXR1cm4ganNvbi5icm93c2VQYXRoO1xuICAgIH0pO1xuICAgIGNvbnN0IGNob29zZU5vZGVJZCA9IChkYXRhLCBtb2RlKSA9PiB7XG4gICAgICAgIGlmIChkYXRhLnN0YXR1c0NvZGUgIT09IFwiR29vZFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0YS5yZXF1ZXN0ZWROb2RlSWQ7XG4gICAgICAgIH1cbiAgICAgICAgc3dpdGNoIChtb2RlKSB7XG4gICAgICAgICAgICBjYXNlIFwiYnJvd3NlUGF0aFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLmJwX2luZGV4ZWQ7XG4gICAgICAgICAgICBjYXNlIFwiYWxpYXNlZEJyb3dzZVBhdGhcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5icF9hbGlhc2VkIHx8IGRhdGEuYnBfaW5kZXhlZDtcbiAgICAgICAgICAgIGNhc2UgXCJhbGlhc2VkTm9kZUlkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEubm9kZUlkX2FsaWFzZWQgfHwgZGF0YS5ub2RlSWRfbnN1O1xuICAgICAgICAgICAgY2FzZSBcIm5zdU5vZGVJRFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLm5vZGVJZF9uc3U7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgY2FzZSBcIm5vZGVJZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLm5vZGVJZDtcbiAgICAgICAgfVxuICAgIH07XG4gICAgY29uc3QgbWFrZVRvb2x0aXAgPSAoZGF0YSkgPT4ge1xuICAgICAgICBpZiAoZGF0YS5zdGF0dXNDb2RlICE9PSBcIkdvb2RcIikge1xuICAgICAgICAgICAgcmV0dXJuIGBzdGF0dXNDb2RlOiAke2RhdGEuc3RhdHVzQ29kZX1gO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgbGV0IHN0ciA9IFtdO1xuICAgICAgICAgICAgc3RyLnB1c2goYG5vZGVJZDogJHtkYXRhLm5vZGVJZH1gKTtcbiAgICAgICAgICAgIHN0ci5wdXNoKGBicm93c2UgcGF0aDogJHtkYXRhLmJwX2luZGV4ZWR9YCk7XG4gICAgICAgICAgICBzdHIucHVzaChgbm9kZSBjbGFzczogJHtOb2RlQ2xhc3NbZGF0YS5ub2RlQ2xhc3NdfWApO1xuICAgICAgICAgICAgaWYgKGRhdGEubm9kZUlkX25zdSkge1xuICAgICAgICAgICAgICAgIHN0ci5wdXNoKGBuc3Ugbm9kZUlkOiAke2RhdGEubm9kZUlkX25zdX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChkYXRhLm5vZGVJZF9hbGlhc2VkKSB7XG4gICAgICAgICAgICAgICAgc3RyLnB1c2goYGFsaWFzZWQgTm9kZUlkOiAke2RhdGEubm9kZUlkX2FsaWFzZWR9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZGF0YS5icF9pbmRleGVkKSB7XG4gICAgICAgICAgICAgICAgc3RyLnB1c2goYGFsaWFzZWQgYnJvd3NlUGF0aDogJHtkYXRhLmJwX2FsaWFzZWR9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc3RyLmpvaW4oXCJcXG5cIik7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIGZ1bmN0aW9uIGZpZ3VyZU91dE1vZGUoZW5oYW5jZWROb2RlSWQpIHtcbiAgICAgICAgaWYgKGVuaGFuY2VkTm9kZUlkLm1hdGNoKC9ebnN1PS8pKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJuc3VOb2RlSURcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5oYW5jZWROb2RlSWQubWF0Y2goL14obnM9Lio7KT8oaXxifHN8Zyk9LykpIHtcbiAgICAgICAgICAgIHJldHVybiBcIm5vZGVJZFwiO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbmhhbmNlZE5vZGVJZC5tYXRjaCgvXm5zYT0vKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiYWxpYXNlZE5vZGVJZFwiO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbmhhbmNlZE5vZGVJZC5tYXRjaCgvXihcXC98XFwuKVswLTldKzovKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiYnJvd3NlUGF0aFwiO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbmhhbmNlZE5vZGVJZC5tYXRjaCgvXihcXC98XFwuKS4qOi8pKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJicm93c2VQYXRoXCI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gZmlndXJlT3V0TWVuVUl0ZW1WYWx1ZShzdHIpIHtcbiAgICAgICAgY29uc3QgbW9kZSA9IGZpZ3VyZU91dE1vZGUoc3RyKTtcbiAgICAgICAgc3dpdGNoIChtb2RlKSB7XG4gICAgICAgICAgICBjYXNlIFwibm9kZUlkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiblwiO1xuICAgICAgICAgICAgY2FzZSBcImFsaWFzZWROb2RlSWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJuYVwiO1xuICAgICAgICAgICAgY2FzZSBcIm5zdU5vZGVJRFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIm5zdVwiO1xuICAgICAgICAgICAgY2FzZSBcImJyb3dzZVBhdGhcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJiXCI7XG4gICAgICAgICAgICBjYXNlIFwiYWxpYXNlZEJyb3dzZVBhdGhcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJhYlwiO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJ0XCI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gdG9Nb2RlKHYpIHtcbiAgICAgICAgbGV0IG1vZGU7XG4gICAgICAgIHN3aXRjaCAodikge1xuICAgICAgICAgICAgY2FzZSBcIm5cIjpcbiAgICAgICAgICAgICAgICBtb2RlID0gXCJub2RlSWRcIjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJuYVwiOlxuICAgICAgICAgICAgICAgIG1vZGUgPSBcImFsaWFzZWROb2RlSWRcIjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJuc3VcIjpcbiAgICAgICAgICAgICAgICBtb2RlID0gXCJuc3VOb2RlSURcIjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJiXCI6XG4gICAgICAgICAgICAgICAgbW9kZSA9IFwiYnJvd3NlUGF0aFwiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcImFiXCI6XG4gICAgICAgICAgICAgICAgbW9kZSA9IFwiYWxpYXNlZEJyb3dzZVBhdGhcIjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbW9kZTtcbiAgICB9XG4gICAgZnVuY3Rpb24gZnJvbU1vZGUobW9kZSkge1xuICAgICAgICBzd2l0Y2ggKG1vZGUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJub2RlSWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJuXCI7XG4gICAgICAgICAgICBjYXNlIFwiYWxpYXNlZE5vZGVJZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIm5hXCI7XG4gICAgICAgICAgICBjYXNlIFwibnN1Tm9kZUlEXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwibnN1XCI7XG4gICAgICAgICAgICBjYXNlIFwiYnJvd3NlUGF0aFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcImJcIjtcbiAgICAgICAgICAgIGNhc2UgXCJhbGlhc2VkQnJvd3NlUGF0aFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcImFiXCI7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBcInRcIjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBfY2FsbENoZWNrTm9kZUlkID0gKF9hLCBub2RlSWRfMSkgPT4gX19hd2FpdGVyKHZvaWQgMCwgW19hLCBub2RlSWRfMV0sIHZvaWQgMCwgZnVuY3Rpb24qICh7IGVuZHBvaW50Tm9kZSwgZW5kcG9pbnQsIGJhc2VVcmwgfSwgbm9kZUlkKSB7XG4gICAgICAgIGNvbnN0IHJvb3QgPSBgJHtiYXNlVXJsfS9vcGN1YS1mb3Itbm9kZS1yZWRgO1xuICAgICAgICBjb25zdCB1cmwgPSBgJHtyb290fS9jaGVja05vZGVJZGA7XG4gICAgICAgIGNvbnN0IGVJZCA9IGVuZHBvaW50Tm9kZS5pZDtcbiAgICAgICAgY29uc3QgbiA9IFJFRC5ub2Rlcy5ub2RlKGVJZCk7XG4gICAgICAgIGNvbnNvbGUubG9nKG4ubmFtZXNwYWNlQWxpYXNlcyk7XG4gICAgICAgIG4ubmFtZXNwYWNlQWxpYXNlcztcbiAgICAgICAgY29uc3QgbmFtZXNwYWNlQWxpYXNlcyA9IGVuZHBvaW50Tm9kZS5uYW1lc3BhY2VBbGlhc2VzO1xuICAgICAgICBjb25zdCBkYXRhID0geWllbGQgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgIGVuZHBvaW50Tm9kZSxcbiAgICAgICAgICAgICAgICBlbmRwb2ludCxcbiAgICAgICAgICAgICAgICBub2RlSWQsXG4gICAgICAgICAgICAgICAgbmFtZXNwYWNlQWxpYXNlcyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgaGVhZGVyczogeyBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9LFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QganNvbiA9ICh5aWVsZCBkYXRhLmpzb24oKSk7XG4gICAgICAgIHJldHVybiB7IGpzb24sIGRhdGEgfTtcbiAgICB9KTtcbiAgICBjb25zdCBpbnRlcm5hbFZlcmlmeSA9IChfYSwgbW9kZV8xLCAkaW5wdXRFbGVtZW50XzEsICRpbmZvXzEpID0+IF9fYXdhaXRlcih2b2lkIDAsIFtfYSwgbW9kZV8xLCAkaW5wdXRFbGVtZW50XzEsICRpbmZvXzFdLCB2b2lkIDAsIGZ1bmN0aW9uKiAoeyBlbmRwb2ludE5vZGUsIGVuZHBvaW50LCBiYXNlVXJsIH0sIG1vZGUsICRpbnB1dEVsZW1lbnQsICRpbmZvKSB7XG4gICAgICAgIGNvbnN0IGVuaGFuY2VkTm9kZUlkID0gJGlucHV0RWxlbWVudC52YWwoKTtcbiAgICAgICAgY29uc3QgeyBqc29uLCBkYXRhIH0gPSB5aWVsZCBfY2FsbENoZWNrTm9kZUlkKHsgZW5kcG9pbnROb2RlLCBlbmRwb2ludCwgYmFzZVVybCB9LCBlbmhhbmNlZE5vZGVJZCk7XG4gICAgICAgIGNvbnN0IHNldE5vdGlmaWNhdGlvbiA9ICh0ZXh0LCBjbGFzc05hbWUpID0+IHtcbiAgICAgICAgICAgICRpbmZvLnRleHQodGV4dCkuYWRkQ2xhc3MoXCJzdGVyZml2ZS1pbmZvXCIpLmFkZENsYXNzKGNsYXNzTmFtZSk7XG4gICAgICAgICAgICAkaW5mby5zaG93KCk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAkaW5mby5yZW1vdmVDbGFzcyhjbGFzc05hbWUpO1xuICAgICAgICAgICAgICAgICRpbmZvLmhpZGUoKTtcbiAgICAgICAgICAgIH0sIDMwMDApO1xuICAgICAgICB9O1xuICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgLy8gZG8gc29tZXRoaW5nO1xuICAgICAgICAgICAgc2V0Tm90aWZpY2F0aW9uKFwiISFmYWlsdXJlISFcIiArIGVuaGFuY2VkTm9kZUlkLCBcImZhaWx1cmVcIik7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAoanNvbi5zdGF0dXNDb2RlLm1hdGNoKC9Hb29kLykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0b29sdGlwID0gbWFrZVRvb2x0aXAoanNvbik7XG4gICAgICAgICAgICAgICAgJGlucHV0RWxlbWVudC5hdHRyKFwidGl0bGVcIiwgdG9vbHRpcCk7XG4gICAgICAgICAgICAgICAgLy8gZG8gc29tZXRoaW5nXG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWROb2RlSWQgPSBjaG9vc2VOb2RlSWQoanNvbiwgbW9kZSk7XG4gICAgICAgICAgICAgICAgJGlucHV0RWxlbWVudC52YWwoc2VsZWN0ZWROb2RlSWQpO1xuICAgICAgICAgICAgICAgICRpbnB1dEVsZW1lbnQudHJpZ2dlcihcImNoYW5nZVwiKTtcbiAgICAgICAgICAgICAgICBzZXROb3RpZmljYXRpb24oXCJHb29kXCIsIFwib2tcIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAkaW5wdXRFbGVtZW50LnZhbChgJHtlbmhhbmNlZE5vZGVJZH1gKTtcbiAgICAgICAgICAgICAgICBzZXROb3RpZmljYXRpb24oYCR7anNvbi5zdGF0dXNDb2RlfSAke2RhdGEuc3RhdHVzVGV4dH1gLCBcImZhaWx1cmVcIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG4gICAgZnVuY3Rpb24gZmV0Y2hDaGlsZHJlbigkbm9kZSwgZGF0YSkge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgY29uc3Qgbm9kZUlkID0gJG5vZGUuZGF0YShcInZhbHVlXCIpO1xuICAgICAgICAgICAgY29uc3QgYnJvd3NlUmVzdWx0MSA9IHlpZWxkIGJyb3dzZShkYXRhLCBub2RlSWQsIHRlbXBsYXRlMSk7XG4gICAgICAgICAgICBjb25zdCBicm93c2VSZXN1bHQyID0geWllbGQgYnJvd3NlKGRhdGEsIG5vZGVJZCwgdGVtcGxhdGUyKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcmVmZXJlbmNlczogWy4uLmJyb3dzZVJlc3VsdDEucmVmZXJlbmNlcywgLi4uYnJvd3NlUmVzdWx0Mi5yZWZlcmVuY2VzXSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCB0ZW1wbGF0ZVNUID0ge1xuICAgICAgICByZWZlcmVuY2VUeXBlSWQ6IHJlc29sdmVOb2RlSWQoXCJIYXNTdWJ0eXBlXCIpLFxuICAgICAgICBpbmNsdWRlU3VidHlwZXM6IHRydWUsXG4gICAgICAgIGJyb3dzZURpcmVjdGlvbjogQnJvd3NlRGlyZWN0aW9uLkZvcndhcmQsXG4gICAgICAgIG5vZGVDbGFzc01hc2s6IE5vZGVDbGFzcy5SZWZlcmVuY2VUeXBlIHwgTm9kZUNsYXNzLk9iamVjdFR5cGUgfCBOb2RlQ2xhc3MuRGF0YVR5cGUgfCBOb2RlQ2xhc3MuVmFyaWFibGVUeXBlLFxuICAgICAgICByZXN1bHRNYXNrOiA2MyxcbiAgICB9O1xuICAgIGZ1bmN0aW9uIGZldGNoU3VidHlwZXMoJG5vZGUsIGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGVJZCA9ICRub2RlLmRhdGEoXCJ2YWx1ZVwiKTtcbiAgICAgICAgICAgIGNvbnN0IGJyb3dzZVJlc3VsdDEgPSB5aWVsZCBicm93c2UoZGF0YSwgbm9kZUlkLCB0ZW1wbGF0ZVNUKTtcbiAgICAgICAgICAgIHJldHVybiBicm93c2VSZXN1bHQxO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgbWFrZUVsZW1lbnQgPSAocmVmZXJlbmNlKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jLCBfZDtcbiAgICAgICAgaWYgKCFyZWZlcmVuY2UgfHwgIXJlZmVyZW5jZS5ub2RlSWQpIHtcbiAgICAgICAgICAgIGNvbnN0ICRlbGVtZW50ID0gJChgPGxpPjxpIGNsYXNzPVwiZmEgZmEtZXJyb3JcIiBzdHlsZT1cImNvbG9yOnJlZDtcIj48L2k+bm8gcmVmZXJlbmNlICE8dWw+PC91bD48L2xpPmApO1xuICAgICAgICAgICAgcmV0dXJuICRlbGVtZW50O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG4gPSByZWZlcmVuY2Uubm9kZUlkLnRvU3RyaW5nKCk7XG4gICAgICAgIGNvbnN0IHQgPSAoKF9hID0gcmVmZXJlbmNlLmRpc3BsYXlOYW1lKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EudGV4dCkgfHwgKChfYiA9IHJlZmVyZW5jZS5icm93c2VOYW1lKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IubmFtZSkgfHwgcmVmZXJlbmNlLm5vZGVJZC50b1N0cmluZygpO1xuICAgICAgICBjb25zdCB7IGljb24sIGNvbG9yIH0gPSBnZXRJY29uKHJlZmVyZW5jZSk7XG4gICAgICAgIGNvbnN0IHRpdGxlID0gYCgke3JlZmVyZW5jZS5ub2RlSWQudG9TdHJpbmcoKX0pICR7KChfYyA9IHJlZmVyZW5jZS5icm93c2VOYW1lKSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2MubmFtZSkgfHwgKChfZCA9IHJlZmVyZW5jZS5kaXNwbGF5TmFtZSkgPT09IG51bGwgfHwgX2QgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9kLnRleHQpIHx8IFwiXCJ9YDtcbiAgICAgICAgY29uc3QgJGVsZW1lbnQgPSAkKGA8bGkga2V5PVwiJHtyZWZlcmVuY2Uubm9kZUlkLnRvU3RyaW5nKCl9XCJ9PjxzcGFuIGNsYXNzPVwidHJlZS10ZXh0XCIgdGl0bGU9JHt0aXRsZX0+PGkgY2xhc3M9XCJmYSAke2ljb259XCIgc3R5bGU9XCJjb2xvcjoke2NvbG9yfTtcIj48L2k+ICR7dH08L3NwYW4+PHVsPjwvdWw+PC9saT5gKTtcbiAgICAgICAgJGVsZW1lbnQuYWRkQ2xhc3MoXCJleHBhbmRhYmxlXCIpO1xuICAgICAgICAkZWxlbWVudC5kYXRhKFwidmFsdWVcIiwgbik7XG4gICAgICAgICRlbGVtZW50LmRhdGEoXCJyZWZlcmVuY2VcIiwgcmVmZXJlbmNlKTtcbiAgICAgICAgcmV0dXJuICRlbGVtZW50O1xuICAgIH07XG4gICAgY29uc3QgZmluZEVsZW1lbnQgPSAobm9kZUlkLCAkdHJlZSkgPT4ge1xuICAgICAgICByZXR1cm4gJHRyZWUuZmluZChgbGlba2V5PVwiJHtub2RlSWR9XCJdYCk7XG4gICAgfTtcbiAgICBjb25zdCBzZWxlY3RTaW5nbGUgPSAodGhhdCwgJGxpKSA9PiB7XG4gICAgICAgIHRoYXQuJHRyZWUuZmluZChcImxpID4gLnRyZWUtdGV4dFwiKS5yZW1vdmVDbGFzcyhcInNlbGVjdGVkXCIpO1xuICAgICAgICAvLyBjbGVhciBhbGwgc2VsZWN0ZWQgaXRlbXNcbiAgICAgICAgJGxpLmZpbmQoXCIudHJlZS10ZXh0OmZpcnN0XCIpLmFkZENsYXNzKFwic2VsZWN0ZWRcIik7XG4gICAgfTtcbiAgICBjb25zdCBhdXRvRXhwYW5kID0gKHRoYXQsIGJyb3dzZVBhdGgsICR0cmVlKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgLy8gZXhwYW5kIHRoZSB0cmVlIHRvIHNob3cgdGhlIG5vZGVJZFxuICAgICAgICBsZXQgJGN1cnJlbnQgPSAkdHJlZS5jaGlsZHJlbihcIjpmaXJzdFwiKTtcbiAgICAgICAgYnJvd3NlUGF0aC5yZWxhdGl2ZVBhdGguZWxlbWVudHMgfHwgW107XG4gICAgICAgIGNvbnN0IG5vZGVJZHMgPSBicm93c2VQYXRoLm5vZGVJZHMgfHwgW107XG4gICAgICAgIGlmIChub2RlSWRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGZvciAoY29uc3QgbiBvZiBub2RlSWRzKSB7XG4gICAgICAgICAgICBpZiAoJGN1cnJlbnQuaGFzQ2xhc3MoXCJleHBhbmRhYmxlXCIpKSB7XG4gICAgICAgICAgICAgICAgLy8gbmVlZCB0byBleHBhbmQgYW5kIHNlbGVjdCB0aGUgcmlnaHQgZWxlbWVudFxuICAgICAgICAgICAgICAgIHlpZWxkIF9leHBhbmRMaSh0aGF0LCAkY3VycmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCAkZWxlbWVudCA9IGZpbmRFbGVtZW50KG4sICRjdXJyZW50KTtcbiAgICAgICAgICAgIGlmICgkZWxlbWVudC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkY3VycmVudCA9ICRlbGVtZW50O1xuICAgICAgICB9XG4gICAgICAgIHNlbGVjdFNpbmdsZSh0aGF0LCAkY3VycmVudCk7XG4gICAgICAgIHNjcm9sbFRvTGkodGhhdC4kZHJvcGRvd24sICRjdXJyZW50KTtcbiAgICB9KTtcbiAgICBmdW5jdGlvbiBzY3JvbGxUb0xpKCRjb250YWluZXIsICR0YXJnZXRMaSkge1xuICAgICAgICAvLyBHZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSB0YXJnZXQgaXRlbSByZWxhdGl2ZSB0byBpdHMgY29udGFpbmVyXG4gICAgICAgIGNvbnN0IGxpUG9zID0gJHRhcmdldExpLnBvc2l0aW9uKCkudG9wO1xuICAgICAgICAvLyBHZXQgdGhlIGN1cnJlbnQgc2Nyb2xsIHBvc2l0aW9uIG9mIHRoZSBjb250YWluZXJcbiAgICAgICAgY29uc3QgY29udGFpbmVyU2Nyb2xsVG9wID0gJGNvbnRhaW5lci5zY3JvbGxUb3AoKTtcbiAgICAgICAgaWYgKGNvbnRhaW5lclNjcm9sbFRvcCA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHBvc2l0aW9uIHRvIHNjcm9sbCB0byAoY3VycmVudCBzY3JvbGwgKyBpdGVtJ3MgcG9zaXRpb24pXG4gICAgICAgIC8vIEFkanVzdCB0aGlzIGNhbGN1bGF0aW9uIGJhc2VkIG9uIHlvdXIgbmVlZHNcbiAgICAgICAgY29uc3Qgc2Nyb2xsVG8gPSBjb250YWluZXJTY3JvbGxUb3AgKyBsaVBvcyAtICRjb250YWluZXIuaGVpZ2h0KCkgLyAyICsgJHRhcmdldExpLmhlaWdodCgpIC8gMjtcbiAgICAgICAgLy8gU2Nyb2xsIHRoZSBjb250YWluZXIgdG8gZW5zdXJlIHRoZSBpdGVtIGlzIHZpc2libGVcbiAgICAgICAgJGNvbnRhaW5lci5hbmltYXRlKHtcbiAgICAgICAgICAgIHNjcm9sbFRvcDogc2Nyb2xsVG8sXG4gICAgICAgIH0sIDUwMCk7IC8vIEFkanVzdCB0aGUgZHVyYXRpb24gKDUwMG1zKSBhcyBuZWVkZWRcbiAgICB9XG4gICAgY29uc3QgcmVhY2hTZWxlY3Rpb24gPSAodGhhdCwgcGFyZW50Tm9kZSkgPT4gX19hd2FpdGVyKHZvaWQgMCwgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIGNvbnN0IG5vZGVJZCA9IHRoYXQuJGlucHV0LnZhbCgpO1xuICAgICAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICAgICAgbm9kZUlkLFxuICAgICAgICAgICAgcm9vdE5vZGVJZDogcGFyZW50Tm9kZS5ub2RlSWQsXG4gICAgICAgICAgICBpc1R5cGU6IHRoYXQub3B0aW9ucy5pc1R5cGVSZWYgfHwgZmFsc2UsXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGRhdGEgPSBtYWtlQ29ubmVjdGlvbih0aGF0KTtcbiAgICAgICAgY29uc3QgYnJvd3NlUGF0aCA9IHlpZWxkIHdhbGtCYWNrd2FyZChkYXRhLCBvcHRpb25zKTtcbiAgICAgICAgaWYgKCFicm93c2VQYXRoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgeWllbGQgYXV0b0V4cGFuZCh0aGF0LCBicm93c2VQYXRoLCB0aGF0LiR0cmVlKTtcbiAgICB9KTtcbiAgICBmdW5jdGlvbiBfZmV0Y2hEYXRhRm9yTm9kZSh0aGF0LCAkbm9kZSwgZmV0Y2hGdW5jLCBkYXRhKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBpZiAoJG5vZGUuaGFzQ2xhc3MoXCJmZXRjaGVkXCIpKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJhbHJlYWR5IGZldGNoZWRcIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCRub2RlLmhhc0NsYXNzKFwibG9hZGluZ1wiKSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiYWxyZWFkeSBsb2FkaW5nXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICRub2RlLmFkZENsYXNzKFwibG9hZGluZ1wiKTtcbiAgICAgICAgICAgICRub2RlLmFwcGVuZCgnPGRpdiBjbGFzcz1cInNwaW5uZXJcIj48L2Rpdj4nKTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgJG5vZGUuY2hpbGRyZW4oXCJ1bFwiKS5lbXB0eSgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgcmVmZXJlbmNlcyB9ID0geWllbGQgZmV0Y2hGdW5jKCRub2RlLCBkYXRhKTtcbiAgICAgICAgICAgICAgICAvLyBzb3J0IHJlZmVyZW5jZSAgIGJ5IGJyb3dzZU5hbWVcbiAgICAgICAgICAgICAgICByZWZlcmVuY2VzLnNvcnQoKGEsIGIpID0+IHsgdmFyIF9hLCBfYjsgcmV0dXJuICgoKF9hID0gYS5icm93c2VOYW1lKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EubmFtZSkgfHwgXCJcIikubG9jYWxlQ29tcGFyZSgoKF9iID0gYi5icm93c2VOYW1lKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IubmFtZSkgfHwgXCJcIik7IH0pO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcmVmZXJlbmNlIG9mIHJlZmVyZW5jZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoYXQub3B0aW9ucy5maWx0ZXIgJiYgIXRoYXQub3B0aW9ucy5maWx0ZXIocmVmZXJlbmNlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgJGVsZW1lbnQgPSBtYWtlRWxlbWVudChyZWZlcmVuY2UpO1xuICAgICAgICAgICAgICAgICAgICAkbm9kZS5jaGlsZHJlbihcInVsXCIpLmFwcGVuZCgkZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICRub2RlLmFkZENsYXNzKFwiZmV0Y2hlZFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAkbm9kZS5jaGlsZHJlbihcInVsXCIpLmFwcGVuZChgPGxpPmVycm9yICR7ZXJyLm1lc3NhZ2V9PC9saT5gKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImVyclwiLCBlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJG5vZGUuZmluZChcIi5zcGlubmVyXCIpLnJlbW92ZSgpO1xuICAgICAgICAgICAgJG5vZGUucmVtb3ZlQ2xhc3MoXCJsb2FkaW5nXCIpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgZnVuY3Rpb24gbWFrZUNvbm5lY3Rpb24odGhhdCkge1xuICAgICAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICAgICAgYmFzZVVybDogdGhhdC5vcHRpb25zLmJhc2VVcmwsXG4gICAgICAgICAgICBlbmRwb2ludE5vZGU6IHR5cGVvZiB0aGF0Lm9wdGlvbnMuZW5kcG9pbnROb2RlID09PSBcImZ1bmN0aW9uXCIgPyB0aGF0Lm9wdGlvbnMuZW5kcG9pbnROb2RlKCkgOiB0aGF0Lm9wdGlvbnMuZW5kcG9pbnROb2RlLFxuICAgICAgICAgICAgZW5kcG9pbnQ6IHR5cGVvZiB0aGF0Lm9wdGlvbnMuZW5kcG9pbnQgPT09IFwiZnVuY3Rpb25cIiA/IHRoYXQub3B0aW9ucy5lbmRwb2ludCgpIDogdGhhdC5vcHRpb25zLmVuZHBvaW50LFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG4gICAgZnVuY3Rpb24gX2V4cGFuZExpKHRoYXQsICRsaSkge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgaWYgKCRsaS5oYXNDbGFzcyhcImZldGNoZWRcIikpIHtcbiAgICAgICAgICAgICAgICAkbGkucmVtb3ZlQ2xhc3MoXCJleHBhbmRhYmxlXCIpLmFkZENsYXNzKFwiZXhwYW5kZWRcIik7XG4gICAgICAgICAgICAgICAgJGxpLmNoaWxkcmVuKFwidWxcIikudG9nZ2xlKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gRmV0Y2ggbmV3IGRhdGEgZm9yIHRoaXMgbm9kZVxuICAgICAgICAgICAgY29uc3QgZGF0YSA9IG1ha2VDb25uZWN0aW9uKHRoYXQpO1xuICAgICAgICAgICAgY29uc3QgZiA9ICF0aGF0Lm9wdGlvbnMuaXNUeXBlUmVmID8gZmV0Y2hDaGlsZHJlbiA6IGZldGNoU3VidHlwZXM7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHlpZWxkIF9mZXRjaERhdGFGb3JOb2RlKHRoYXQsICRsaSwgZiwgZGF0YSk7XG4gICAgICAgICAgICAgICAgLy8gbWFyayBhcyBleHBhbmRlZFxuICAgICAgICAgICAgICAgICRsaS5yZW1vdmVDbGFzcyhcImV4cGFuZGFibGVcIikuYWRkQ2xhc3MoXCJleHBhbmRlZFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAkbGkucmVtb3ZlQ2xhc3MoXCJleHBhbmRhYmxlXCIpLmFkZENsYXNzKFwiZXhwYW5kZWRcIik7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJlcnJvclwiLCBlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgZGVmYXVsdFBhcmVudE5vZGUgPSB7XG4gICAgICAgIGJyb3dzZU5hbWU6IHsgbmFtZXNwYWNlSW5kZXg6IDAsIG5hbWU6IFwiT2JqZWN0c1wiIH0sXG4gICAgICAgIG5vZGVDbGFzczogXCJPYmplY3RcIixcbiAgICAgICAgbm9kZUlkOiBcIm5zPTA7aT04NVwiLFxuICAgICAgICBkaXNwbGF5TmFtZTogeyB0ZXh0OiBcIk9iamVjdHNcIiB9LFxuICAgICAgICB0eXBlRGVmaW5pdGlvbjogRm9sZGVyVHlwZSxcbiAgICB9O1xuICAgIGNvbnN0IGRlY2xhcmVOb2RlQnJvd3NlcldpZGdldCA9ICgpID0+IHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFsgVGVtcGVyYXR1cmUgIF1cbiAgICAgICAgICogICAoIHRvb2x0aXAgOiAoL09iamVjdHMvTXlTZW5zb3IpIChucz0xO3M9VGVtcGVyYXR1cmUpKVxuICAgICAgICAgKiBbICsgW0ZvbGRlcl0gT2JqZWN0c11cbiAgICAgICAgICogWyAgICAgW09iamVjdF0gTXlTZW5zb3JdXG4gICAgICAgICAqIFsgICAgICggKSBbVmFyaWFibGVdIFRlbXBlcmF0dXJlXVxuICAgICAgICAgKi9cbiAgICAgICAgJC53aWRnZXQoXCJzdGVyZml2ZS5ub2RlQnJvd3NlclwiLCB7XG4gICAgICAgICAgICAvKiBkZWZhdWx0IG9wdGlvbnMgKi9cbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBlbmRwb2ludE5vZGU6ICgpID0+ICh7IGVuZHBvaW50OiBcIm9wYy50Y3A6Ly9vcGN1YWRlbW8uc3RlcmZpdmUuY29tOjI2NTQzXCIgfSksXG4gICAgICAgICAgICAgICAgZW5kcG9pbnQ6ICgpID0+IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBwYXJlbnROb2RlOiAoKSA9PiBkZWZhdWx0UGFyZW50Tm9kZSxcbiAgICAgICAgICAgICAgICBmaWx0ZXI6ICgpID0+IHRydWUsXG4gICAgICAgICAgICAgICAgYmFzZVVybDogXCJcIixcbiAgICAgICAgICAgICAgICBpc1R5cGVSZWY6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlc29sdmVQYXJlbnROb2RlKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhhdC5fX3BhcmVudE5vZGUgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhID0gdHlwZW9mIHRoYXQub3B0aW9ucy5wYXJlbnROb2RlID09PSBcImZ1bmN0aW9uXCIgPyB0aGF0Lm9wdGlvbnMucGFyZW50Tm9kZS5jYWxsKHRoYXQpIDogdGhhdC5vcHRpb25zLnBhcmVudE5vZGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYSBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkZXNjID0geWllbGQgYTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9fcGFyZW50Tm9kZSA9IGRlc2M7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9fcGFyZW50Tm9kZSA9IGE7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoYXQuX19wYXJlbnROb2RlIHx8IGRlZmF1bHRQYXJlbnROb2RlO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlc2V0KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgICAgICAvLyBhbHNvIHJlc2V0IHBhcmVudCBub2RlXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGEgPSB0aGF0O1xuICAgICAgICAgICAgICAgICAgICBhLl9fcGFyZW50Tm9kZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kdHJlZS5lbXB0eSgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnROb2RlID0geWllbGQgdGhpcy5yZXNvbHZlUGFyZW50Tm9kZSgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCAkZWxlbWVudCA9IG1ha2VFbGVtZW50KHBhcmVudE5vZGUpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiR0cmVlLmFwcGVuZCgkZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuY3VycmVudFBhcmVudCA9IHBhcmVudE5vZGU7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdmVyaWZ5KG1vZGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICAvLyBGZXRjaCBuZXcgZGF0YSBmb3IgdGhpcyBub2RlXG4gICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IG1ha2VDb25uZWN0aW9uKHRoYXQpO1xuICAgICAgICAgICAgICAgIGludGVybmFsVmVyaWZ5KGRhdGEsIG1vZGUsIHRoYXQuJGlucHV0LCB0aGF0LiRpbmZvKS50aGVuKChzdWNjZXNzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghc3VjY2Vzcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kY29tYm8uYWRkQ2xhc3MoXCJzdGVyZml2ZS1pbnB1dC1lcnJvclwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLnJlbW92ZUNsYXNzKFwic3RlcmZpdmUtaW5wdXQtZXJyb3JcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfaGlkZU1lbnUobWVudSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLm9mZihcIm1vdXNlZG93bi5yZWQtdWktdHlwZWRJbnB1dC1jbG9zZS1wcm9wZXJ0eS1zZWxlY3RcIik7XG4gICAgICAgICAgICAgICAgbWVudS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgbWVudS5jc3Moe1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IFwiYXV0b1wiLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmIChtZW51Lm9wdHMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHNlbGVjdGVkID0gW107XG4gICAgICAgICAgICAgICAgICAgIG1lbnUuZmluZCgnaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdJykuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoJCh0aGlzKS5wcm9wKFwiY2hlY2tlZFwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkLnB1c2goJCh0aGlzKS5kYXRhKFwidmFsdWVcIikpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgbWVudS5jYWxsYmFjayhzZWxlY3RlZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0aGF0LiRlbGVtZW50RGl2LmlzKFwiOnZpc2libGVcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQudHJpZ2dlcihcImZvY3VzXCIpO1xuICAgICAgICAgICAgICAgICAgICAvL3h4IH0gZWxzZSBpZiAodGhpcy4kb3B0aW9uU2VsZWN0VHJpZ2dlci5pcyhcIjp2aXNpYmxlXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIC8veHggICAgIHRoYXQuJG9wdGlvblNlbGVjdFRyaWdnZXIudHJpZ2dlcihcImZvY3VzXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0VHJpZ2dlci50cmlnZ2VyKFwiZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF9jcmVhdGVNZW51KG1lbnVPcHRpb25zLCBvcHRzLCBjYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIHZhciB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICBjb25zdCBtZW51ID0gJChcIjxkaXY+XCIpLmFkZENsYXNzKFwic3RlcmZpdmUtdHlwZWRJbnB1dC1vcHRpb25zIHN0ZXJmaXZlLW9ubGluZS1tZW51XCIpO1xuICAgICAgICAgICAgICAgIG1lbnUub3B0cyA9IG9wdHM7XG4gICAgICAgICAgICAgICAgbWVudS5jYWxsYmFjayA9IGNhbGxiYWNrO1xuICAgICAgICAgICAgICAgIG1lbnVPcHRpb25zLmZvckVhY2goKG9wdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIG9wdCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3B0ID0geyB2YWx1ZTogb3B0LCBsYWJlbDogb3B0IH07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdmFyIG9wID0gJCgnPGEgaHJlZj1cIiNcIj48L2E+JykuYXR0cihcInZhbHVlXCIsIG9wdC52YWx1ZSkuYXBwZW5kVG8obWVudSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHQubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wLnRleHQob3B0LmxhYmVsKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAob3B0LnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcC5wcm9wKFwidGl0bGVcIiwgb3B0LnRpdGxlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAob3B0Lmljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvcHQuaWNvbi5pbmRleE9mKFwiPFwiKSA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQob3B0Lmljb24pLnByZXBlbmRUbyhvcCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChvcHQuaWNvbi5pbmRleE9mKFwiL1wiKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiPGk+XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M6IFwicmVkLXVpLXR5cGVkSW5wdXQtaWNvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogXCJtYXNrLWltYWdlOiB1cmwoXCIgKyBvcHQuaWNvbiArIFwiKTsgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIgKyBvcHQuaWNvbiArIFwiKTtcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5wcmVwZW5kVG8ob3ApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIjxpPlwiLCB7IGNsYXNzOiBcInJlZC11aS10eXBlZElucHV0LWljb24gXCIgKyBvcHQuaWNvbiB9KS5wcmVwZW5kVG8ob3ApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3AuY3NzKHsgcGFkZGluZ0xlZnQ6IFwiMThweFwiIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmICghb3B0Lmljb24gJiYgIW9wdC5sYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3AudGV4dChvcHQudmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHZhciBjYjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdHMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNiID0gJCgnPGlucHV0IHR5cGU9XCJjaGVja2JveFwiPicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNzcyhcInBvaW50ZXItZXZlbnRzXCIsIFwibm9uZVwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kYXRhKFwidmFsdWVcIiwgb3B0LnZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wcmVwZW5kVG8ob3ApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm9uKFwibW91c2Vkb3duXCIsIGZ1bmN0aW9uIChldnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG9wLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdHMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhvcHQudmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX2hpZGVNZW51KG1lbnUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2IucHJvcChcImNoZWNrZWRcIiwgIWNiLnByb3AoXCJjaGVja2VkXCIpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgbWVudS5jc3Moe1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBtZW51Lm9uKFwia2V5ZG93blwiLCBmdW5jdGlvbiAoZXZ0KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChldnQua2V5Q29kZSA9PT0gNDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRE9XTlxuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5jaGlsZHJlbihcIjpmb2N1c1wiKS5uZXh0KCkudHJpZ2dlcihcImZvY3VzXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGV2dC5rZXlDb2RlID09PSAzOCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBVUFxuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5jaGlsZHJlbihcIjpmb2N1c1wiKS5wcmV2KCkudHJpZ2dlcihcImZvY3VzXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGV2dC5rZXlDb2RlID09PSAyNykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRVNDQVBFXG4gICAgICAgICAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX2hpZGVNZW51KG1lbnUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWVudTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkaXNhcm1DbGljazogZmFsc2UsXG4gICAgICAgICAgICBfc2hvd01lbnUobWVudSwgcmVsYXRpdmVUbykge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRpc2FybUNsaWNrKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzYXJtQ2xpY2sgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB2YXIgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgdmFyIHBvcyA9IHJlbGF0aXZlVG8ub2Zmc2V0KCk7XG4gICAgICAgICAgICAgICAgdmFyIGhlaWdodCA9IHJlbGF0aXZlVG8uaGVpZ2h0KCk7XG4gICAgICAgICAgICAgICAgdmFyIG1lbnVIZWlnaHQgPSBtZW51LmhlaWdodCgpO1xuICAgICAgICAgICAgICAgIHZhciB0b3AgPSBoZWlnaHQgKyBwb3MudG9wO1xuICAgICAgICAgICAgICAgIGlmICh0b3AgKyBtZW51SGVpZ2h0IC0gJChkb2N1bWVudCkuc2Nyb2xsVG9wKCkgPiAkKHdpbmRvdykuaGVpZ2h0KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wIC09IHRvcCArIG1lbnVIZWlnaHQgLSAkKHdpbmRvdykuaGVpZ2h0KCkgKyA1O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodG9wIDwgMCkge1xuICAgICAgICAgICAgICAgICAgICBtZW51LmhlaWdodChtZW51SGVpZ2h0ICsgdG9wKTtcbiAgICAgICAgICAgICAgICAgICAgdG9wID0gMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbWVudS5jc3Moe1xuICAgICAgICAgICAgICAgICAgICB0b3A6IHRvcCArIFwicHhcIixcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogcG9zLmxlZnQgKyBcInB4XCIsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgbWVudS5zbGlkZURvd24oMTAwKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9kZWxheShmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHVpU2VsZWN0LmFkZENsYXNzKFwicmVkLXVpLXR5cGVkSW5wdXQtZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKFwibW91c2Vkb3duLnJlZC11aS10eXBlZElucHV0LWNsb3NlLXByb3BlcnR5LXNlbGVjdFwiLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghJChldmVudC50YXJnZXQpLmNsb3Nlc3QobWVudSkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5faGlkZU1lbnUobWVudSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoJChldmVudC50YXJnZXQpLmNsb3Nlc3QocmVsYXRpdmVUbykubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5kaXNhcm1DbGljayA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX3Nob3dUeXBlTWVudSgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICB0aGlzLl9zaG93TWVudSh0aGF0LiRtZW51LCB0aGF0LiRjb21ibyk7XG4gICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24uaGlkZSgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHR5cGUgPSB0aGF0LnNlbGVjdGVkTWVudUl0ZW07XG4gICAgICAgICAgICAgICAgdmFyIHNlbGVjdGVkID0gdGhhdC4kbWVudS5maW5kKFwiW3ZhbHVlPSdcIiArIHR5cGUgKyBcIidcIik7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkLnRyaWdnZXIoXCJmb2N1c1wiKTtcbiAgICAgICAgICAgICAgICB9LCAxMjApO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF9pbml0TWVudSgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyLmF0dHIoXCJ0YWJpbmRleFwiLCAtMSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0VHJpZ2dlci5vbihcIm1vdXNlZG93bi5yZWQtdWktdHlwZWRJbnB1dC1mb2N1cy1ibG9ja1wiLCBmdW5jdGlvbiAoZXZ0KSB7XG4gICAgICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmICh0aGF0LiRtZW51KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJG1lbnUucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIGZhLWlkLWNhcmRcbiAgICAgICAgICAgICAgICBjb25zdCB0eXBlTGlzdCA9IFtcbiAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogXCJ0ZXh0XCIsIHZhbHVlOiBcInRcIiwgdGl0bGU6IFwiVmFsdWUgaXMgbm90IHZlcmlmaWVkXCIsIGljb246ICc8aSBjbGFzcz1cImZhIGZhLWZvbnRcIi9pPiAnIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIm1zZy5cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcIm1zZ1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwibm9kZSBpZCBvciAgYnJvd3NlIHBhdGggY29tZXMgZnJvbSBpbmplY3RlZCBtc2cgcGFyYW1ldGVyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnPGkgY2xhc3M9XCJmYSBmYS1lbnZlbG9wZS1vcGVuLW9cIi8+JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogXCJOb2RlSWRcIiwgdmFsdWU6IFwiblwiLCBpY29uOiAnPGkgY2xhc3M9XCJmYSBmYS10YWdcIi8+MSAmbmJzcDsgJyB9LFxuICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiBcIkFsaWFzZWQgTm9kZUlkXCIsIHZhbHVlOiBcIm5hXCIsIGljb246ICc8aSBjbGFzcz1cImZhIGZhLWJvb2ttYXJrXCIvPiZuYnNwOyAnIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6IFwiTm9kZUlkIHdpdGggbmFtZXNwYWNlIFVyblwiLCB2YWx1ZTogXCJuc3VcIiwgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtaWQtY2FyZFwiLz4mbmJzcDsgJyB9LFxuICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiBcIkJyb3dzZVBhdGhcIiwgdmFsdWU6IFwiYlwiLCBpY29uOiAnPGkgY2xhc3M9XCJmYSBmYS10YWdcIi8+PGkgY2xhc3M9XCJmYSBmYS1maWdodGVyLWpldFwiLz4mbmJzcDsnIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBcIkFsaWFzZWQgQnJvd3NlIFBhdGhcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcImFiXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uOiAnPGkgY2xhc3M9XCJmYSBmYS1ib29rbWFya1wiLz48aSBjbGFzcz1cImZhIGZhLWZpZ2h0ZXItamV0XCIvPiZuYnNwOycsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgICAgICBjb25zdCBhID0gZmlndXJlT3V0TWVuVUl0ZW1WYWx1ZSh0aGF0LiRpbnB1dC52YWwoKSk7XG4gICAgICAgICAgICAgICAgY29uc3QgZSA9IHR5cGVMaXN0LmZpbmQoKHgpID0+IHgudmFsdWUgPT09IGEpO1xuICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdExhYmVsLmVtcHR5KCkuYXBwZW5kKGA8c3BhbiB0aXRsZT0keyhlID09PSBudWxsIHx8IGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGUudGl0bGUpIHx8IFwiXCJ9PiZuYnNwOyAkeyhlID09PSBudWxsIHx8IGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGUuaWNvbikgfHwgXCJcIn08L3NwYW4+YCk7XG4gICAgICAgICAgICAgICAgdGhhdC5zZWxlY3RlZE1lbnVJdGVtID0gYTtcbiAgICAgICAgICAgICAgICBjb25zdCB0dCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgdGhhdC4kbWVudSA9IHRoaXMuX2NyZWF0ZU1lbnUodHlwZUxpc3QsIHt9LCAodikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtb2RlID0gdG9Nb2RlKHYpO1xuICAgICAgICAgICAgICAgICAgICBpZiAobW9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gb24gTWVudSBzZWxlY3RlZCAhXG4gICAgICAgICAgICAgICAgICAgICAgICB0dC52ZXJpZnkobW9kZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZSA9IHR5cGVMaXN0LmZpbmQoKHgpID0+IHgudmFsdWUgPT09IHYpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LnNlbGVjdGVkTWVudUl0ZW0gPSB2O1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RMYWJlbC5lbXB0eSgpLmFwcGVuZChgPHNwYW4gdGl0bGU9JHsoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnRpdGxlKSB8fCBcIlwifT4mbmJzcDsgJHsoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLmljb24pIHx8IFwiXCJ9PC9zcGFuPmApO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoYXQuJG1lbnUuYXBwZW5kVG8oZG9jdW1lbnQuYm9keSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kbWVudS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0VHJpZ2dlci5zaG93KCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbW9kZSgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICByZXR1cm4gdG9Nb2RlKHRoYXQuc2VsZWN0ZWRNZW51SXRlbSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2V0TW9kZShtb2RlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgY29uc3QgcyA9IGZyb21Nb2RlKG1vZGUpO1xuICAgICAgICAgICAgICAgIHRoYXQuc2VsZWN0ZWRNZW51SXRlbSA9IHM7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX2NyZWF0ZSgpIHtcbiAgICAgICAgICAgICAgICAvLyBkZWJ1Z2dlcjtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dCA9IHRoaXMuZWxlbWVudDtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5jc3MoXCJib3JkZXJcIiwgXCJub25lXCIpO1xuICAgICAgICAgICAgICAgIC8vIHRoYXQuJGlucHV0LmFkZENsYXNzKFwicmVkLXVpLXR5cGVkSW5wdXRcIik7XG4gICAgICAgICAgICAgICAgdGhhdC4kZWxlbWVudERpdiA9IHRoYXQuJGlucHV0LndyYXAoXCI8ZGl2PlwiKS5wYXJlbnQoKS5hZGRDbGFzcyhcIm1haW4td3JhcHBlclwiKTtcbiAgICAgICAgICAgICAgICAvLyAjcmVnaW9uIENvbWJvIGJyb3dzZXJcbiAgICAgICAgICAgICAgICB0aGF0LiRjb21ibyA9ICQoXCI8ZGl2Lz5cIik7XG4gICAgICAgICAgICAgICAgdGhhdC4kY29tYm8uYWRkQ2xhc3MoXCJzdGVyZml2ZS1jb21iby1ib3hcIik7XG4gICAgICAgICAgICAgICAgLy8gdGhhdC4kY29tYm8uYWRkQ2xhc3MoXCJyZWQtdWktdHlwZWRJbnB1dC1pbnB1dC13cmFwXCIpO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LnJlcGxhY2VXaXRoKHRoYXQuJGNvbWJvKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dEdyb3VwID0gJChcIjxkaXYvPlwiKS5hZGRDbGFzcyhcInN0ZXJmaXZlLWlucHV0LWdyb3VwXCIpO1xuICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLmFwcGVuZCh0aGF0LiRpbnB1dEdyb3VwKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dEdyb3VwLmFwcGVuZCh0aGF0LiRpbnB1dCk7XG4gICAgICAgICAgICAgICAgLy8gI2VuZHJlZ2lvblxuICAgICAgICAgICAgICAgIC8vICNyZWdpb24gYWRkIGJ1dHRvbiBvbiB0aGUgcmlnaHQgc2lkZVxuICAgICAgICAgICAgICAgIC8vICNyZWdpb24gdG9nZ2xlVHJlZUJ0blxuICAgICAgICAgICAgICAgIHRoYXQuJHRvZ2dsZVRyZWVCdG4gPSAkKGA8YnV0dG9uIHRpdGxlPVwib3BlbiBPUENVQSBBZGRyZXNzU3BhY2UgQnJvd3NlclwiPjxpIGNsYXNzPVwiZmEgZmEtc2l0ZW1hcFwiPjwvaT48L2J1dHRvbj5gKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5hZnRlcih0aGF0LiR0b2dnbGVUcmVlQnRuKTtcbiAgICAgICAgICAgICAgICB0aGF0LiR0b2dnbGVUcmVlQnRuLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5lZWRUb1JlYWNoU2VsZWN0aW9uID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgcGFyZW50Tm9kZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhhdC4kZHJvcGRvd24uaXMoXCI6dmlzaWJsZVwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGluZm8uaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRyZWUgd2lkZ2V0IGlzIGdvaW5nIHRvIGJlY29tZSB2aXNpYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50Tm9kZSA9IHlpZWxkIHRoYXQucmVzb2x2ZVBhcmVudE5vZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocGFyZW50Tm9kZSAhPT0gdGhhdC5jdXJyZW50UGFyZW50IHx8ICgoX2EgPSB0aGF0LmN1cnJlbnRQYXJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5ub2RlSWQpICE9PSBwYXJlbnROb2RlLm5vZGVJZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5aWVsZCB0aGF0LnJlc2V0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRUb1JlYWNoU2VsZWN0aW9uID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLnRvZ2dsZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbmVlZFRvUmVhY2hTZWxlY3Rpb24gJiYgKHlpZWxkIHJlYWNoU2VsZWN0aW9uKHRoYXQsIHBhcmVudE5vZGUpKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgLy8gI2VuZHJlZ2lvblxuICAgICAgICAgICAgICAgIC8vICNyZWdpb24gdmVyaWZ5QnRuXG4gICAgICAgICAgICAgICAgdGhhdC4kdmVyaWZ5QnRuID0gJChgPGJ1dHRvbiB0aXRsZT1cInZlcmlmeSBub2RlSWQgb3IgYnJvd3NlUGF0aFwiPjxpIGNsYXNzPVwiZmEgZmEtcmVmcmVzaFwiPjwvaT48L2J1dHRvbj5gKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5hZnRlcih0aGF0LiR2ZXJpZnlCdG4pO1xuICAgICAgICAgICAgICAgIHRoYXQuJHZlcmlmeUJ0bi5vbihcImNsaWNrXCIsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbW9kZSA9IHRoYXQubW9kZSgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIW1vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZlcmlmeShtb2RlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvLyAjZW5kcmVnaW9uXG4gICAgICAgICAgICAgICAgLy8gI2VuZHJlZ2lvblxuICAgICAgICAgICAgICAgIGNvbnN0IG5vcm1hbGl6ZUlucHV0ID0gKGlucHV0KSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgICAgICBsZXQgbW9kZSA9IHRoYXQubW9kZSgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIW1vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyBGZXRjaCBuZXcgZGF0YSBmb3IgdGhpcyBub2RlXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbm5lY3Rpb25EYXRhID0gbWFrZUNvbm5lY3Rpb24odGhhdCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgZGF0YSwganNvbiB9ID0geWllbGQgX2NhbGxDaGVja05vZGVJZChjb25uZWN0aW9uRGF0YSwgaW5wdXQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChqc29uLnN0YXR1c0NvZGUubWF0Y2goL0dvb2QvKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWROb2RlSWQgPSBjaG9vc2VOb2RlSWQoanNvbiwgbW9kZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC52YWwoc2VsZWN0ZWROb2RlSWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQudHJpZ2dlcihcImNoYW5nZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgICAgIC8vIGNyZWF0ZSB0aGUgcHJlcGVuZGVkIGJ1dHRvblxuICAgICAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kdWlTZWxlY3QgPSAkKFwiPGRpdj5cIik7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LmJlZm9yZSh0aGF0LiR1aVNlbGVjdCk7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXIgPSAkKCc8YnV0dG9uIHR5cGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIj48L2J1dHRvbj4nKS5wcmVwZW5kVG8odGhhdC4kdWlTZWxlY3QpO1xuICAgICAgICAgICAgICAgICAgICAkKCc8aSBjbGFzcz1cInJlZC11aS10eXBlZElucHV0LWljb24gZmEgZmEtY2FyZXQtZG93blwiPjwvaT4nKS50b2dnbGUodHJ1ZSkuYXBwZW5kVG8odGhhdC4kc2VsZWN0VHJpZ2dlcik7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXIub24oXCJjbGlja1wiLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX3Nob3dUeXBlTWVudSgpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0VHJpZ2dlclxuICAgICAgICAgICAgICAgICAgICAgICAgLm9uKFwia2V5ZG93blwiLCBmdW5jdGlvbiAoZXZ0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZ0LmtleUNvZGUgPT09IDQwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRG93blxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX3Nob3dUeXBlTWVudSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgLm9uKFwiZm9jdXNcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kdWlTZWxlY3QuYWRkQ2xhc3MoXCJyZWQtdWktdHlwZWRJbnB1dC1mb2N1c1wiKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5vbihcImJsdXJcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdmFyIG9wdCA9IHRoYXQudHlwZU1hcFt0aGF0LnByb3BlcnR5VHlwZV07XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiAob3B0Lmhhc1ZhbHVlID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kdWlTZWxlY3QucmVtb3ZlQ2xhc3MoXCJyZWQtdWktdHlwZWRJbnB1dC1mb2N1c1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdExhYmVsID0gJCgnPHNwYW4gY2xhc3M9XCJyZWQtdWktdHlwZWRJbnB1dC10eXBlLWxhYmVsXCI+PC9zcGFuPicpLmFwcGVuZFRvKHRoYXQuJHNlbGVjdFRyaWdnZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLl9pbml0TWVudSgpO1xuICAgICAgICAgICAgICAgIGlmICghdGhhdC4kaW5wdXQuYXR0cihcInBsYWNlaG9sZGVyXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LmF0dHIoXCJwbGFjZWhvbGRlclwiLCBcImVudGVyIGEgbm9kZUlkIG9yIGEgYnJvd3NlUGF0aCBcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vICNyZWdpb24gdGVtcG9yYXR5IGluZm8gcGFuZWxcbiAgICAgICAgICAgICAgICB0aGF0LiRpbmZvID0gJChgPGRpdiBjbGFzcz1cInN0ZXJmaXZlLWluZm8tdGV4dFwiPjwvZGl2PmApO1xuICAgICAgICAgICAgICAgIHRoYXQuJGluZm8uaGlkZSgpO1xuICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLmFwcGVuZCh0aGF0LiRpbmZvKTtcbiAgICAgICAgICAgICAgICAvLyAjZW5kcmVnaW9uXG4gICAgICAgICAgICAgICAgLy8gI3JlZ2lvbiBkcm9wIGRvd24gdHJlZVxuICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duID0gJChcIjxkaXYvPlwiKS5hZGRDbGFzcyhcInN0ZXJmaXZlLWRyb3Bkb3duXCIpLmhpZGUoKS5hcHBlbmRUbyh0aGF0LiRjb21ibyk7XG4gICAgICAgICAgICAgICAgdGhhdC4kdHJlZSA9ICQoYDx1bCBjbGFzcz1cInN0ZXJmaXZlLXRyZWVcIj48L3VsPmApLmFwcGVuZFRvKHRoYXQuJGRyb3Bkb3duKTtcbiAgICAgICAgICAgICAgICAvLyB0aGF0LiRkcm9wZG93bi5zaG93KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICAgICAgICAgIC8vICNlbmRyZWdpb25cbiAgICAgICAgICAgICAgICBjb25zdCBpc09uTGVmdFNpemUgPSAoJGxpLCBldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBiZWZvcmVXaWR0aCA9IDIwOyAvLyBTZXQgd2lkdGggb2YgdGhlIDo6YmVmb3JlIGNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYmVmb3JlSGVpZ2h0ID0gMjA7IC8vIFNldCBoZWlnaHQgb2YgdGhlIDo6YmVmb3JlIGNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudFBvcyA9ICRsaS5vZmZzZXQoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZSA9IGV2ZW50O1xuICAgICAgICAgICAgICAgICAgICBpZiAoZS5wYWdlWCA+PSBlbGVtZW50UG9zLmxlZnQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGUucGFnZVggPD0gZWxlbWVudFBvcy5sZWZ0ICsgYmVmb3JlV2lkdGggJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGUucGFnZVkgPj0gZWxlbWVudFBvcy50b3AgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGUucGFnZVkgPD0gZWxlbWVudFBvcy50b3AgKyBiZWZvcmVIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IHRvZ2dsZUV4cGFuc2lvbiA9ICgkbGkpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCRsaS5oYXNDbGFzcyhcImV4cGFuZGFibGVcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIF9leHBhbmRMaSh0aGF0LCAkbGkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCRsaS5oYXNDbGFzcyhcImV4cGFuZGVkXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBUb2dnbGUgaXRzIGV4cGFuZGVkL2NvbGxhcHNlZCBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgJGxpLmNoaWxkcmVuKFwidWxcIikudG9nZ2xlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTd2FwIGV4cGFuZGFibGUgYW5kIGV4cGFuZGVkIGNsYXNzZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICRsaS50b2dnbGVDbGFzcyhcImV4cGFuZGFibGUgZXhwYW5kZWRcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoJGxpLmNoaWxkcmVuKFwidWxcIikuY2hpbGRyZW4oKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAkbGkuY2hpbGRyZW4oXCJ1bFwiKS50b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFN3YXAgZXhwYW5kYWJsZSBhbmQgZXhwYW5kZWQgY2xhc3Nlc1xuICAgICAgICAgICAgICAgICAgICAgICAgJGxpLnRvZ2dsZUNsYXNzKFwiZXhwYW5kYWJsZSBleHBhbmRlZFwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGF0LiR0cmVlLm9uKFwiZGJsY2xpY2tcIiwgXCJsaVwiLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIGxldCAkbGkgPSAkKHRoaXMpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPbkxlZnRTaXplKCRsaSwgZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVFeHBhbnNpb24oJGxpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gJGxpLmRhdGEoXCJ2YWx1ZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlZmVyZW5jZSA9ICRsaS5kYXRhKFwicmVmZXJlbmNlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoYXQub3B0aW9ucy5pc1NlbGVjdGFibGUgJiYgIXRoYXQub3B0aW9ucy5pc1NlbGVjdGFibGUocmVmZXJlbmNlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LmRhdGEoXCJyZWZlcmVuY2VcIiwgcmVmZXJlbmNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICgoX2EgPSByZWZlcmVuY2UuZGlzcGxheU5hbWUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS50ZXh0KSB8fCAoKF9iID0gcmVmZXJlbmNlLmJyb3dzZU5hbWUpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5uYW1lKSB8fCByZWZlcmVuY2Uubm9kZUlkLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25zdCBpbnB1dCA9IGBbJHtkaXNwbGF5TmFtZX1dKCR7dmFsdWV9KWA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbW9kZSA9IHRoYXQubW9kZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFtb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZSA9IFwibm9kZUlkXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5zZXRNb2RlKG1vZGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsaXplSW5wdXQodmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoYXQuJGlucHV0LnZhbChpbnB1dCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhhdC4kaW5wdXQudHJpZ2dlcihcImNoYW5nZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhhdC4kaW5wdXQudmFsKGlucHV0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGF0LiRpbnB1dC50cmlnZ2VyKFwiY2hhbmdlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kdHJlZS5vbihcImNsaWNrXCIsIFwibGlcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgJGxpID0gJCh0aGlzKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzT25MZWZ0U2l6ZSgkbGksIGV2ZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlRXhwYW5zaW9uKCRsaSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0U2luZ2xlKHRoYXQsICRsaSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgJChkb2N1bWVudCkub24oXCJjbGlja1wiLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gY2xpY2tpbmcgb3V0c2lkZSB0aGUgcGFnZSB3aWxsIGhpZGUgdGhlIGRyb3Bkb3duXG4gICAgICAgICAgICAgICAgICAgIGlmICghJChldmVudC50YXJnZXQpLmNsb3Nlc3QodGhhdC4kY29tYm8pLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24uaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgY29uc3QgZGVjbGFyZUZsYWdFZGl0b3JXaWRnZXQgPSAoKSA9PiB7XG4gICAgICAgICQud2lkZ2V0KFwic3RlcmZpdmUuZmxhZ0VkaXRvclwiLCB7XG4gICAgICAgICAgICAvLyBkZWZhdWx0IG9wdGlvbnNcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBuYW1lc1RvQml0czoge1xuICAgICAgICAgICAgICAgIC8vIEFkZCBtb3JlIG5hbWVzIGFuZCBiaXQgdmFsdWVzXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogMCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfY3JlYXRlKCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIC8vIEN1c3RvbSBEcm9wZG93blxuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0ID0gdGhpcy5lbGVtZW50O1xuICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvID0gJChcIjxkaXYvPlwiKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5hZGRDbGFzcyhcInN0ZXJmaXZlLWNvbWJvLWJveFwiKTtcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRbMF0ucGFyZW50RWxlbWVudC5yZXBsYWNlQ2hpbGQodGhhdC4kY29tYm9bMF0sIHRoaXMuZWxlbWVudFswXSk7XG4gICAgICAgICAgICAgICAgLy8gdGhpcy5lbGVtZW50LnJlcGxhY2VXaXRoKHRoYXQuJGNvbWJvKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dEdyb3VwID0gJChcIjxkaXYvPlwiKS5hZGRDbGFzcyhcImlucHV0LWdyb3VwXCIpO1xuICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLmFwcGVuZCh0aGF0LiRpbnB1dEdyb3VwKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dEdyb3VwLmFwcGVuZCh0aGF0LiRpbnB1dCk7XG4gICAgICAgICAgICAgICAgLy8gdGhlIHRvZ2dsZSB0cmVlIGJ1dHRvbjpcbiAgICAgICAgICAgICAgICAvLyAgIHdoZW4gd2UgY2xpY2sgaXQgdGhlIGRyb3AgZG93biBwYW5lbCBpcyBkaXNwbGF5ZWRcbiAgICAgICAgICAgICAgICB0aGF0LiR0b2dnbGVUcmVlQnRuID0gJChgPGJ1dHRvbj48aSBjbGFzcz1cImZhIGZhLWV5ZVwiPjwvaT48L2J1dHRvbj5gKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dEdyb3VwLmFwcGVuZCh0aGF0LiR0b2dnbGVUcmVlQnRuKTtcbiAgICAgICAgICAgICAgICB0aGF0LiR0b2dnbGVUcmVlQnRuLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi50b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoYXQuJGRyb3Bkb3duLmlzKFwiOnZpc2libGVcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoYXQuJHNlbGVjdC5mb2N1cygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlRnJvbUlucHV0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5maW5kKFwiLmN1c3RvbS1vcHRpb25cIikuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG9wdGlvbk5hbWUgPSAkKHRoaXMpLnRleHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBiaXRWYWx1ZSA9IHRoYXQub3B0aW9ucy5uYW1lc1RvQml0c1tvcHRpb25OYW1lXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYml0VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIGJpdCBuYW1lXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHRoYXQub3B0aW9ucy52YWx1ZSAmIGJpdFZhbHVlKSA9PT0gYml0VmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcyhcInNlbGVjdGVkXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5yZW1vdmVDbGFzcyhcInNlbGVjdGVkXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVXBkYXRlIHRoZSBoaWRkZW4gc2VsZWN0IGVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQudXBkYXRlVmFsdWUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIC8vIHRoZSBkcm9wIGRvd24gcGFuZWxcbiAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93biA9ICQoJzxkaXYgY2xhc3M9XCJjdXN0b20tc2VsZWN0XCI+PC9kaXY+JykuaGlkZSgpLmluc2VydEFmdGVyKHRoaXMuZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgJC5lYWNoKHRoaXMub3B0aW9ucy5uYW1lc1RvQml0cywgZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgJG9wdGlvbiA9ICQoJzxkaXYgY2xhc3M9XCJjdXN0b20tb3B0aW9uXCIgZGF0YS12YWx1ZT1cIicgK1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSArXG4gICAgICAgICAgICAgICAgICAgICAgICAnXCI+JyArXG4gICAgICAgICAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9XCJjdXN0b20tY2hlY2tib3hcIj48L3NwYW4+JyArXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lICtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiPC9kaXY+XCIpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi5hcHBlbmQoJG9wdGlvbik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgLy8gd2hlbiBhIG9wdGlvbnMgaW4gdGhlIGRyb3AgZG93biBwYW5lbCBpcyBjbGlja2VkLFxuICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLm9uKFwiY2xpY2tcIiwgXCIuY3VzdG9tLW9wdGlvblwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICQodGhpcykudG9nZ2xlQ2xhc3MoXCJzZWxlY3RlZFwiKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSAkKHRoaXMpLmRhdGEoXCJ2YWx1ZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykuaGFzQ2xhc3MoXCJzZWxlY3RlZFwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0Qml0KHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuc2V0Qml0KHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGF0LnVwZGF0ZVZhbHVlKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kY29tYm8uYXBwZW5kKHRoYXQuJGRyb3Bkb3duKTtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVGcm9tSW5wdXQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5lbGVtZW50LnZhbCgpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0Lm9wdGlvbnMudmFsdWUgPSBjb2VyY2VGbGFnTWFza1RvTnVtYmVyKHRoYXQub3B0aW9ucy5uYW1lc1RvQml0cywgdmFsdWUpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3Qgc2V0Qml0ID0gKGJpdE5hbWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYml0ID0gdGhhdC5vcHRpb25zLm5hbWVzVG9CaXRzW2JpdE5hbWVdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoYml0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlVua25vd24gYml0IG5hbWVcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLnZhbHVlIHw9IGJpdDtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IHVuc2V0Qml0ID0gKGJpdE5hbWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYml0ID0gdGhhdC5vcHRpb25zLm5hbWVzVG9CaXRzW2JpdE5hbWVdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoYml0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlVua25vd24gYml0IG5hbWVcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLnZhbHVlICY9IH5iaXQ7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC52YWwoY29lcmNlRmxhZ01hc2tUb1N0cmluZyh0aGF0Lm9wdGlvbnMubmFtZXNUb0JpdHMsIHRoaXMub3B0aW9ucy52YWx1ZSkpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdXBkYXRlRnJvbUlucHV0KCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdXBkYXRlVmFsdWUoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LnZhbChjb2VyY2VGbGFnTWFza1RvU3RyaW5nKHRoYXQub3B0aW9ucy5uYW1lc1RvQml0cywgdGhpcy5vcHRpb25zLnZhbHVlKSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX2Rlc3Ryb3koKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24ucmVtb3ZlKCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB0aGUgZW5kcG9pbnQgYXR0cmlidXRlcyBjb250YWluaW5nOlxuICAgICAqICAtIHRoZSBlbmRwb2ludCwgc2VjdXJpdHlNb2RlLCBzZWN1cml0eVBvbGljeSxcbiAgICAgKiAgLSB1c2VySWRlbnRpdHlUeXBlLFxuICAgICAqICAtIGNyZWRlbnRpYWxzXG4gICAgICogIC0gbmFtZXNwYWNlQWxpYXNlc1xuICAgICAqXG4gICAgICogZXh0cmFjdGVkIGZyb20gdGhlIHVpIHdpZGdldCAjbm9kZS1pbnB1dC1lbmRwb2ludFxuICAgICAqL1xuICAgIGNvbnN0IGdldEVuZFBvaW50QXR0cmlidXRlcyA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgJGVuZHBvaW50ID0gJChcIiNub2RlLWlucHV0LWVuZHBvaW50XCIpO1xuICAgICAgICBjb25zdCBlbmRwb2ludElkID0gJGVuZHBvaW50LnZhbCgpO1xuICAgICAgICBjb25zdCByZWROb2RlID0gUkVELm5vZGVzLm5vZGUoZW5kcG9pbnRJZCk7XG4gICAgICAgIGlmICghcmVkTm9kZSlcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIC8vIGNvbnN0IGNyZWRlbnRpYWxzID0gUkVELihlbmRwb2ludElkKTtcbiAgICAgICAgLy8gd2UgbmVlZCB0byBzYW5pdGl6ZSBhbmQgZXh0cmFjdCB0aGUgZW5kcG9pbnQgYXR0cmlidXRlcyBvbmx5ICggbm90IHRoZSBub2RlLXJlZCBzdHVmZilcbiAgICAgICAgY29uc3QgeyBlbmRwb2ludCwgc2VjdXJpdHlNb2RlLCBzZWN1cml0eVBvbGljeSwgdXNlcklkZW50aXR5VHlwZSwgY3JlZGVudGlhbHMsIG5hbWVzcGFjZUFsaWFzZXMgfSA9IHJlZE5vZGU7XG4gICAgICAgIGNvbnN0IHJldFZhbHVlID0ge1xuICAgICAgICAgICAgZW5kcG9pbnQsXG4gICAgICAgICAgICBzZWN1cml0eU1vZGUsXG4gICAgICAgICAgICBzZWN1cml0eVBvbGljeSxcbiAgICAgICAgICAgIHVzZXJJZGVudGl0eVR5cGUsXG4gICAgICAgICAgICBjcmVkZW50aWFscyxcbiAgICAgICAgICAgIG5hbWVzcGFjZUFsaWFzZXMsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiByZXRWYWx1ZTtcbiAgICB9O1xuICAgIGNvbnN0IGdldEVuZHBvaW50UGFyYW1ldGVycyA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgJGVuZHBvaW50ID0gJChcIiNub2RlLWlucHV0LWVuZHBvaW50XCIpO1xuICAgICAgICBjb25zdCBlbmRwb2ludElkID0gJGVuZHBvaW50LnZhbCgpO1xuICAgICAgICBjb25zdCBlbmRwb2ludE5yID0gZ2V0RW5kUG9pbnRBdHRyaWJ1dGVzKCk7XG4gICAgICAgIGlmICghZW5kcG9pbnROcikge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuYW1lc3BhY2VBbGlhc2VzID0gZW5kcG9pbnROci5uYW1lc3BhY2VBbGlhc2VzO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7IG5hbWVzcGFjZUFsaWFzZXMsIGlkOiBlbmRwb2ludElkIH0sIGVuZHBvaW50TnIpO1xuICAgIH07XG4gICAgY29uc3QgZ2V0RW5kcG9pbnRQYXJhbWV0ZXJzSGFuZGxlciA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGVuZHBvaW50Tm9kZTogZ2V0RW5kcG9pbnRQYXJhbWV0ZXJzLFxuICAgICAgICB9O1xuICAgIH07XG5cbiAgICBjb25zdCBpbnN0YWxsRmVlZGJhY2tXaWRnZXQgPSAoKSA9PiB7XG4gICAgICAgIC8vIHJldHVybjtcbiAgICAgICAgLy8gZGVidWdnZXI7XG4gICAgICAgIGNvbnN0IHRyYXlDb250ZW50ID0gJChcIi5yZWQtdWktdHJheS1ib2R5XCIpO1xuICAgICAgICBjb25zb2xlLmxvZyhcImluc3RhbGxGZWVkYmFja1dpZGdldCBcIiwgdHJheUNvbnRlbnQubGVuZ3RoKTtcbiAgICAgICAgaWYgKHRyYXlDb250ZW50Lmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJpbnN0YWxsaW5nIGlmcmFtZVwiKTtcbiAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgaWZyYW1lIGVsZW1lbnRcbiAgICAgICAgICAgIGNvbnN0IGlmcmFtZSA9ICQoXCI8aWZyYW1lPjwvaWZyYW1lPlwiLCB7XG4gICAgICAgICAgICAgICAgc3JjOiBcIi9vcGN1YS1mb3Itbm9kZS1yZWQvc3VwcG9ydC1mcmFtZS5odG1sXCIsXG4gICAgICAgICAgICAgICAgc2Nyb2xsaW5nOiBcIm5vXCIsXG4gICAgICAgICAgICAgICAgc3R5bGU6IFwiYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyOjNweFwiLFxuICAgICAgICAgICAgICAgIGFsbG93dHJhbnNwYXJlbmN5OiBcInRydWVcIixcbiAgICAgICAgICAgICAgICB3aWR0aDogXCIxODBweFwiLFxuICAgICAgICAgICAgICAgIGhlaWdodDogXCIzMHB4XCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIEFwcGVuZCB0aGUgaWZyYW1lIHRvIHRoZSBmZWVkYmFjayBlbGVtZW50XG4gICAgICAgICAgICB0cmF5Q29udGVudC5hcHBlbmQoaWZyYW1lKTtcbiAgICAgICAgICAgIC8vIFBvc2l0aW9uIHRoZSBmZWVkYmFjayBlbGVtZW50IGF0IHRoZSBib3R0b20gcmlnaHQgb2YgdGhlIHRyYXkgY29udGVudFxuICAgICAgICAgICAgaWZyYW1lLmNzcyh7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgICAgICAgICAgICByaWdodDogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgYm90dG9tOiBcIjE2cHhcIixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIFJFRC5ub2Rlcy5yZWdpc3RlclR5cGUoXCJPcGNVYS1DbGllbnQyLUJyb3dzZVwiLCB7XG4gICAgICAgIGNhdGVnb3J5OiBcIm9wY3VhXCIsXG4gICAgICAgIGNvbG9yOiBcIiNDMERFRURcIixcbiAgICAgICAgYWxpZ246IFwicmlnaHRcIixcbiAgICAgICAgaWNvbjogXCIuLi8uLi9pY29ucy9vcGN1YW5vZGVMb2dvLnBuZ1wiLFxuICAgICAgICBwYWxldHRlTGFiZWw6IFwiYnJvd3NlXCIsXG4gICAgICAgIGRlZmF1bHRzOiB7XG4gICAgICAgICAgICBpbnB1dHM6IHsgdmFsdWU6IDEgfSxcbiAgICAgICAgICAgIG91dHB1dDogeyB2YWx1ZTogNCB9LFxuICAgICAgICAgICAgLy8gQ29tbW9uXG4gICAgICAgICAgICBuYW1lOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICBlbmRwb2ludDogeyB2YWx1ZTogXCJcIiwgcmVxdWlyZWQ6IHRydWUsIHR5cGU6IFwiT3BjVWEtRW5kcG9pbnQyXCIgfSxcbiAgICAgICAgICAgIC8vIGZvciBhY3Rpb24gcmVhZFxuICAgICAgICAgICAgbm9kZUlkOiB7IHZhbHVlOiBcIlwiLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIHJlZmVyZW5jZVR5cGVJZDogeyB2YWx1ZTogXCJIYXNDaGlsZFwiLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIGluY2x1ZGVTdWJ0eXBlczogeyB2YWx1ZTogZmFsc2UsIHJlcXVpcmVkOiB0cnVlIH0sXG4gICAgICAgICAgICBicm93c2VEaXJlY3Rpb246IHsgdmFsdWU6IFwiRm9yd2FyZFwiLCByZXF1aXJlZDogdHJ1ZSB9LFxuICAgICAgICAgICAgbm9kZUNsYXNzTWFzazogeyB2YWx1ZTogXCJWYXJpYWJsZSB8IE9iamVjdCB8IE1ldGhvZCB8IE9iamVjdFR5cGUgfCBWYXJpYWJsZVR5cGVcIiwgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICByZXN1bHRNYXNrOiB7IHZhbHVlOiBcIlJlZmVyZW5jZVR5cGUgfCBCcm93c2VOYW1lIHwgVHlwZURlZmluaXRpb24gfCBEaXNwbGF5TmFtZSB8IE5vZGVDbGFzcyB8IElzRm9yd2FyZFwiLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgfSxcbiAgICAgICAgb3V0cHV0czogMSxcbiAgICAgICAgbGFiZWwoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5uYW1lIHx8IFwiT1BDVUEgQnJvd3NlXCI7XG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsU3R5bGUoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5uYW1lID8gXCJub2RlX2xhYmVsX2l0YWxpY1wiIDogXCJcIjtcbiAgICAgICAgfSxcbiAgICAgICAgb25lZGl0cHJlcGFyZSgpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzO1xuICAgICAgICAgICAgZGVjbGFyZU5vZGVCcm93c2VyV2lkZ2V0KCk7XG4gICAgICAgICAgICBkZWNsYXJlRmxhZ0VkaXRvcldpZGdldCgpO1xuICAgICAgICAgICAgaW5zdGFsbEZlZWRiYWNrV2lkZ2V0KCk7XG4gICAgICAgICAgICBub2RlLmlucHV0cyA9IDE7XG4gICAgICAgICAgICBjb25zdCAkbm9kZUNsYXNzTWFzayA9ICQoXCIjbm9kZS1pbnB1dC1ub2RlQ2xhc3NNYXNrXCIpO1xuICAgICAgICAgICAgJG5vZGVDbGFzc01hc2suZmxhZ0VkaXRvcih7XG4gICAgICAgICAgICAgICAgbmFtZXNUb0JpdHM6IHtcbiAgICAgICAgICAgICAgICAgICAgT2JqZWN0OiAxLFxuICAgICAgICAgICAgICAgICAgICBWYXJpYWJsZTogMixcbiAgICAgICAgICAgICAgICAgICAgTWV0aG9kOiA0LFxuICAgICAgICAgICAgICAgICAgICBPYmplY3RUeXBlOiA4LFxuICAgICAgICAgICAgICAgICAgICBWYXJpYWJsZVR5cGU6IDE2LFxuICAgICAgICAgICAgICAgICAgICBSZWZlcmVuY2VUeXBlOiAzMixcbiAgICAgICAgICAgICAgICAgICAgRGF0YVR5cGU6IDY0LFxuICAgICAgICAgICAgICAgICAgICBWaWV3OiAxMjgsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogMCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgJHJlc3VsdE1hc2sgPSAkKFwiI25vZGUtaW5wdXQtcmVzdWx0TWFza1wiKTtcbiAgICAgICAgICAgICRyZXN1bHRNYXNrLmZsYWdFZGl0b3Ioe1xuICAgICAgICAgICAgICAgIG5hbWVzVG9CaXRzOiB7XG4gICAgICAgICAgICAgICAgICAgIFJlZmVyZW5jZVR5cGU6IDEsXG4gICAgICAgICAgICAgICAgICAgIElzRm9yd2FyZDogMixcbiAgICAgICAgICAgICAgICAgICAgTm9kZUNsYXNzOiA0LFxuICAgICAgICAgICAgICAgICAgICBCcm93c2VOYW1lOiA4LFxuICAgICAgICAgICAgICAgICAgICBEaXNwbGF5TmFtZTogMTYsXG4gICAgICAgICAgICAgICAgICAgIFR5cGVEZWZpbml0aW9uOiAzMixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHZhbHVlOiA2MyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgJG5vZGVJZCA9ICQoXCIjbm9kZS1pbnB1dC1ub2RlSWRcIik7XG4gICAgICAgICAgICAkbm9kZUlkLm5vZGVCcm93c2VyKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgZ2V0RW5kcG9pbnRQYXJhbWV0ZXJzSGFuZGxlcigpKSwgeyBpc1NlbGVjdGFibGUobm9kZURlc2MpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5vZGVEZXNjLm5vZGVDbGFzcyA9PT0gXCJWYXJpYWJsZVwiIHx8IG5vZGVEZXNjLm5vZGVDbGFzcyA9PT0gXCJPYmplY3RcIjtcbiAgICAgICAgICAgICAgICB9IH0pKTtcbiAgICAgICAgICAgIGNvbnN0IHJlZmVyZW5jZXNOb2RlRGVzYyA9IHtcbiAgICAgICAgICAgICAgICBub2RlSWQ6IFwiaT0zMVwiLFxuICAgICAgICAgICAgICAgIHJlZmVyZW5jZVR5cGVJZDogXCJcIixcbiAgICAgICAgICAgICAgICBicm93c2VOYW1lOiB7IG5hbWVzcGFjZUluZGV4OiAwLCBuYW1lOiBcIlJlZmVyZW5jZXNcIiB9LFxuICAgICAgICAgICAgICAgIGRpc3BsYXlOYW1lOiB7IHRleHQ6IFwiUmVmZXJlbmNlc1wiIH0sXG4gICAgICAgICAgICAgICAgbm9kZUNsYXNzOiBcIlJlZmVyZW5jZVR5cGVcIixcbiAgICAgICAgICAgICAgICB0eXBlRGVmaW5pdGlvbjogXCJpPTMxXCIsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgJHJlZmVyZW5jZVR5cGVJZCA9ICQoXCIjbm9kZS1pbnB1dC1yZWZlcmVuY2VUeXBlSWRcIik7XG4gICAgICAgICAgICAkcmVmZXJlbmNlVHlwZUlkLm5vZGVCcm93c2VyKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgZ2V0RW5kcG9pbnRQYXJhbWV0ZXJzSGFuZGxlcigpKSwgeyBwYXJlbnROb2RlOiAoKSA9PiByZWZlcmVuY2VzTm9kZURlc2MsIC8vIFJlZmVyZW5jZXMsXG4gICAgICAgICAgICAgICAgaXNTZWxlY3RhYmxlKG5vZGVEZXNjKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBub2RlRGVzYy5ub2RlQ2xhc3MgPT09IFwiUmVmZXJlbmNlVHlwZVwiO1xuICAgICAgICAgICAgICAgIH0sIGlzVHlwZVJlZjogdHJ1ZSB9KSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uZWRpdHNhdmUoKSB7IH0sXG4gICAgfSk7XG5cbn0pKCk7Il19
|
7
|
+
function _0x1801(_0x1adf5f,_0x1581b6){const _0x115ee4=_0x115e();return _0x1801=function(_0x18016e,_0x4b632f){_0x18016e=_0x18016e-0x199;let _0x3b5769=_0x115ee4[_0x18016e];return _0x3b5769;},_0x1801(_0x1adf5f,_0x1581b6);}(function(_0x40b4c7,_0x490471){const _0x56dd7e=_0x1801,_0x3c879e=_0x40b4c7();while(!![]){try{const _0x302827=parseInt(_0x56dd7e(0x281))/0x1*(parseInt(_0x56dd7e(0x1bd))/0x2)+-parseInt(_0x56dd7e(0x2c8))/0x3*(-parseInt(_0x56dd7e(0x237))/0x4)+parseInt(_0x56dd7e(0x25c))/0x5+parseInt(_0x56dd7e(0x1ce))/0x6*(-parseInt(_0x56dd7e(0x1c7))/0x7)+-parseInt(_0x56dd7e(0x2c0))/0x8+-parseInt(_0x56dd7e(0x1ab))/0x9+-parseInt(_0x56dd7e(0x208))/0xa*(parseInt(_0x56dd7e(0x219))/0xb);if(_0x302827===_0x490471)break;else _0x3c879e['push'](_0x3c879e['shift']());}catch(_0x1647af){_0x3c879e['push'](_0x3c879e['shift']());}}}(_0x115e,0xf2fb3),(function(){'use strict';const _0x166750=_0x1801;function _0x934485(_0xddcb99,_0x21d61b,_0x390338,_0x348d89){function _0x4d0bbd(_0x4a4417){return _0x4a4417 instanceof _0x390338?_0x4a4417:new _0x390338(function(_0x149023){_0x149023(_0x4a4417);});}return new(_0x390338||(_0x390338=Promise))(function(_0xf6d648,_0xbcd7d7){const _0x583e7a=_0x1801;function _0x2298e3(_0x4a248a){try{_0xdc4a56(_0x348d89['next'](_0x4a248a));}catch(_0x1dc320){_0xbcd7d7(_0x1dc320);}}function _0xba07e8(_0x2eed8c){const _0x4d6643=_0x1801;try{_0xdc4a56(_0x348d89[_0x4d6643(0x266)](_0x2eed8c));}catch(_0x5158ae){_0xbcd7d7(_0x5158ae);}}function _0xdc4a56(_0x1aa4d2){const _0xb6ef1b=_0x1801;_0x1aa4d2[_0xb6ef1b(0x228)]?_0xf6d648(_0x1aa4d2[_0xb6ef1b(0x1c2)]):_0x4d0bbd(_0x1aa4d2[_0xb6ef1b(0x1c2)])[_0xb6ef1b(0x1d8)](_0x2298e3,_0xba07e8);}_0xdc4a56((_0x348d89=_0x348d89['apply'](_0xddcb99,_0x21d61b||[]))[_0x583e7a(0x2a2)]());});}typeof SuppressedError===_0x166750(0x1f7)?SuppressedError:function(_0x2c510c,_0x19d7de,_0x459a23){const _0x539a29=_0x166750;var _0x36ba55=new Error(_0x459a23);return _0x36ba55[_0x539a29(0x1f2)]=_0x539a29(0x1fe),_0x36ba55[_0x539a29(0x1cf)]=_0x2c510c,_0x36ba55[_0x539a29(0x20b)]=_0x19d7de,_0x36ba55;};const _0x3b278f=_0x166750(0x2cb),_0x18b0d6=_0x166750(0x1df),_0x133a0e=_0x166750(0x1b2),_0x554a70=_0x166750(0x273),_0x8e0c3f=_0x166750(0x1c9),_0x186fba=_0x166750(0x206),_0x2044d3=_0x166750(0x19a);var _0x411e87;(function(_0x4fd98f){const _0x195e91=_0x166750;_0x4fd98f[_0x4fd98f[_0x195e91(0x270)]=0x0]=_0x195e91(0x270),_0x4fd98f[_0x4fd98f[_0x195e91(0x1b0)]=0x1]='Inverse',_0x4fd98f[_0x4fd98f[_0x195e91(0x297)]=0x2]=_0x195e91(0x297),_0x4fd98f[_0x4fd98f[_0x195e91(0x20c)]=0x3]='Invalid';}(_0x411e87||(_0x411e87={})));var _0x25a8a3;(function(_0x278e07){const _0x29a633=_0x166750;_0x278e07[_0x278e07[_0x29a633(0x1b3)]=0x0]=_0x29a633(0x1b3),_0x278e07[_0x278e07[_0x29a633(0x1d0)]=0x1]=_0x29a633(0x1d0),_0x278e07[_0x278e07[_0x29a633(0x20f)]=0x2]=_0x29a633(0x20f),_0x278e07[_0x278e07[_0x29a633(0x282)]=0x4]=_0x29a633(0x282),_0x278e07[_0x278e07['ObjectType']=0x8]=_0x29a633(0x2a8),_0x278e07[_0x278e07[_0x29a633(0x1f8)]=0x10]=_0x29a633(0x1f8),_0x278e07[_0x278e07[_0x29a633(0x23e)]=0x20]=_0x29a633(0x23e),_0x278e07[_0x278e07['DataType']=0x40]=_0x29a633(0x27a),_0x278e07[_0x278e07[_0x29a633(0x242)]=0x80]=_0x29a633(0x242);}(_0x25a8a3||(_0x25a8a3={})));var _0x2fd35c;(function(_0xe2b065){const _0x31699a=_0x166750;_0xe2b065[_0xe2b065['Object']=0x1]=_0x31699a(0x1d0),_0xe2b065[_0xe2b065['Variable']=0x2]='Variable',_0xe2b065[_0xe2b065[_0x31699a(0x282)]=0x4]=_0x31699a(0x282),_0xe2b065[_0xe2b065['ObjectType']=0x8]=_0x31699a(0x2a8),_0xe2b065[_0xe2b065['VariableType']=0x10]=_0x31699a(0x1f8),_0xe2b065[_0xe2b065[_0x31699a(0x23e)]=0x20]='ReferenceType',_0xe2b065[_0xe2b065[_0x31699a(0x27a)]=0x40]=_0x31699a(0x27a),_0xe2b065[_0xe2b065[_0x31699a(0x242)]=0x80]=_0x31699a(0x242);}(_0x2fd35c||(_0x2fd35c={})));function _0x16caa8(_0x171168,_0x5e593e){const _0x3949c7=_0x166750;if(typeof _0x5e593e===_0x3949c7(0x211))return _0x5e593e;const _0x3e6139=parseInt(_0x5e593e,0xa);if(!isNaN(_0x3e6139))return _0x3e6139;const _0x5ce649=_0x5e593e[_0x3949c7(0x1dd)](/\||;|,/)['map'](_0xa3a450=>_0xa3a450[_0x3949c7(0x221)]());let _0x4640ec=0x0;for(const _0x2c3f20 of _0x5ce649){_0x4640ec|=_0x171168[_0x2c3f20];}return _0x4640ec;}function _0x5e3f20(_0x344566,_0x1e5e4e){const _0x5bf377=_0x166750;_0x1e5e4e=_0x16caa8(_0x344566,_0x1e5e4e);const _0x5615bd=[];if(!_0x344566)return _0x5615bd['join'](_0x5bf377(0x2b3));for(const [_0x11ee5b,_0x132458]of Object[_0x5bf377(0x25a)](_0x344566)){typeof _0x1e5e4e==='number'&&((_0x1e5e4e&_0x132458)===_0x132458&&_0x5615bd[_0x5bf377(0x2b7)](_0x11ee5b));}return _0x5615bd['join'](_0x5bf377(0x2b3));}var _0x62e4a8;(function(_0x44bdc4){const _0x3974ed=_0x166750;_0x44bdc4[_0x44bdc4[_0x3974ed(0x23e)]=0x1]=_0x3974ed(0x23e),_0x44bdc4[_0x44bdc4['IsForward']=0x2]=_0x3974ed(0x1da),_0x44bdc4[_0x44bdc4['NodeClass']=0x4]=_0x3974ed(0x22e),_0x44bdc4[_0x44bdc4[_0x3974ed(0x285)]=0x8]=_0x3974ed(0x285),_0x44bdc4[_0x44bdc4['DisplayName']=0x10]=_0x3974ed(0x252),_0x44bdc4[_0x44bdc4[_0x3974ed(0x255)]=0x20]='TypeDefinition';}(_0x62e4a8||(_0x62e4a8={})));function _0x2643f5(_0x29ddcd){const _0x11efe4=_0x166750;switch(_0x29ddcd){case _0x11efe4(0x283):return _0x3b278f;case _0x11efe4(0x26b):return _0x554a70;case _0x11efe4(0x248):return _0x133a0e;case _0x11efe4(0x1a9):return _0x8e0c3f;case _0x11efe4(0x21a):return _0x186fba;case _0x11efe4(0x245):return _0x2044d3;}}const _0x1b4439=_0x18349e=>{const _0x143ea8=_0x166750;switch(_0x18349e[_0x143ea8(0x294)]){case _0x143ea8(0x1d0):if(_0x18349e[_0x143ea8(0x203)]===_0x3b278f);if(_0x18349e[_0x143ea8(0x26f)]===_0x18b0d6||_0x18349e[_0x143ea8(0x203)]===_0x143ea8(0x264))return{'icon':_0x143ea8(0x224),'color':'rgba(61,\x2060,\x204,\x200.525)'};return{'icon':'fa-object-group','color':'SeaGreen'};case _0x143ea8(0x20f):if(_0x18349e[_0x143ea8(0x203)]===_0x133a0e)return{'icon':_0x143ea8(0x227),'color':_0x143ea8(0x1be)};else return _0x18349e[_0x143ea8(0x203)]===_0x554a70?{'icon':_0x143ea8(0x227),'color':_0x143ea8(0x1e3)}:{'icon':'fa-list-alt','color':_0x143ea8(0x1a0)};case'Method':return{'icon':_0x143ea8(0x1b9),'color':_0x143ea8(0x1a2)};case _0x143ea8(0x2a8):return{'icon':'fa-object-group','color':_0x143ea8(0x2c7)};case _0x143ea8(0x1f8):return{'icon':_0x143ea8(0x24c),'color':_0x143ea8(0x2c7)};case'DataType':return{'icon':_0x143ea8(0x24e),'color':_0x143ea8(0x1a0)};}return{'icon':_0x143ea8(0x267),'color':'grey'};},_0x70fa7f=(_0x18b291,_0x32c810,_0x50ed6f)=>_0x934485(void 0x0,[_0x18b291,_0x32c810,_0x50ed6f],void 0x0,function*({endpointNode:_0x582c3b,endpoint:_0x4de23c,baseUrl:_0x509e18},_0x5834f6,_0x344660){const _0x46fdd1=_0x166750,_0x3e993e=_0x509e18+_0x46fdd1(0x2d0),_0x39e425=_0x3e993e+'/browse',_0x3606ab=Object['assign'](Object[_0x46fdd1(0x2a5)]({},_0x344660),{'nodeId':_0x5834f6,'resultMask':0x3f}),_0x444531=yield fetch(_0x39e425,{'method':_0x46fdd1(0x257),'body':JSON[_0x46fdd1(0x21e)]({'endpointNode':_0x582c3b,'endpoint':_0x4de23c,'browseDescription':_0x3606ab}),'headers':{'Content-Type':_0x46fdd1(0x1fc)}});if(_0x444531[_0x46fdd1(0x2b9)]!==0xc8)return console[_0x46fdd1(0x29d)](_0x46fdd1(0x256),_0x444531[_0x46fdd1(0x2b9)],_0x444531['statusText']),{'references':[]};const _0x2363f0=yield _0x444531[_0x46fdd1(0x1d1)](),_0x144d15=_0x2363f0[_0x46fdd1(0x1ed)][_0x46fdd1(0x254)]||[];return{'references':_0x144d15};}),_0x57af6d={'referenceTypeId':_0x2643f5(_0x166750(0x1a9)),'includeSubtypes':!![],'browseDirection':_0x411e87[_0x166750(0x270)],'nodeClassMask':_0x25a8a3[_0x166750(0x20f)]|_0x25a8a3['Object']|_0x25a8a3[_0x166750(0x282)],'resultMask':0x3f},_0x7b51ea={'referenceTypeId':_0x2643f5(_0x166750(0x283)),'includeSubtypes':!![],'browseDirection':_0x411e87[_0x166750(0x270)],'nodeClassMask':_0x25a8a3[_0x166750(0x20f)]|_0x25a8a3[_0x166750(0x1d0)]|_0x25a8a3[_0x166750(0x282)],'resultMask':0x3f},_0x4350f6=(_0x184b0d,_0x4f36b4)=>_0x934485(void 0x0,[_0x184b0d,_0x4f36b4],void 0x0,function*({endpointNode:_0x22eee9,endpoint:_0x26cbef,baseUrl:_0x242c05},{nodeId:_0x5523d3,rootNodeId:_0x3634b9,isType:_0x509772}){const _0x55d644=_0x166750,_0xb2d42a=_0x242c05+_0x55d644(0x2d0),_0x51e99d=_0xb2d42a+'/walk-backward',_0x2e6dac=yield fetch(_0x51e99d,{'method':'POST','body':JSON[_0x55d644(0x21e)]({'endpointNode':_0x22eee9,'endpoint':_0x26cbef,'nodeId':_0x5523d3,'rootNodeId':_0x3634b9,'isType':_0x509772}),'headers':{'Content-Type':'application/json'}});if(_0x2e6dac[_0x55d644(0x2b9)]!==0xc8)return null;const _0x573fd4=yield _0x2e6dac[_0x55d644(0x1d1)]();return _0x573fd4['browsePath'];}),_0x5c56de=(_0x3de254,_0x240947)=>{const _0x512073=_0x166750;if(_0x3de254[_0x512073(0x290)]!==_0x512073(0x1b1))return _0x3de254['requestedNodeId'];switch(_0x240947){case _0x512073(0x1fb):return _0x3de254['bp_indexed'];case'aliasedBrowsePath':return _0x3de254[_0x512073(0x2ce)]||_0x3de254['bp_indexed'];case'aliasedNodeId':return _0x3de254[_0x512073(0x2a6)]||_0x3de254[_0x512073(0x1f0)];case _0x512073(0x2ad):return _0x3de254[_0x512073(0x1f0)];default:case _0x512073(0x222):return _0x3de254[_0x512073(0x222)];}},_0x5b6ff9=_0x2d1627=>{const _0x2121cd=_0x166750;if(_0x2d1627['statusCode']!==_0x2121cd(0x1b1))return _0x2121cd(0x230)+_0x2d1627['statusCode'];else{let _0x28dc2b=[];return _0x28dc2b[_0x2121cd(0x2b7)](_0x2121cd(0x2c2)+_0x2d1627[_0x2121cd(0x222)]),_0x28dc2b['push'](_0x2121cd(0x233)+_0x2d1627['bp_indexed']),_0x28dc2b[_0x2121cd(0x2b7)](_0x2121cd(0x26e)+_0x25a8a3[_0x2d1627[_0x2121cd(0x294)]]),_0x2d1627[_0x2121cd(0x1f0)]&&_0x28dc2b[_0x2121cd(0x2b7)](_0x2121cd(0x1aa)+_0x2d1627[_0x2121cd(0x1f0)]),_0x2d1627['nodeId_aliased']&&_0x28dc2b[_0x2121cd(0x2b7)](_0x2121cd(0x238)+_0x2d1627[_0x2121cd(0x2a6)]),_0x2d1627['bp_indexed']&&_0x28dc2b[_0x2121cd(0x2b7)](_0x2121cd(0x20e)+_0x2d1627[_0x2121cd(0x2ce)]),_0x28dc2b['join']('\x0a');}};function _0x4ae52c(_0x5cbff9){const _0x2b885f=_0x166750;if(_0x5cbff9[_0x2b885f(0x1d6)](/^nsu=/))return'nsuNodeID';if(_0x5cbff9[_0x2b885f(0x1d6)](/^(ns=.*;)?(i|b|s|g)=/))return'nodeId';if(_0x5cbff9[_0x2b885f(0x1d6)](/^nsa=/))return _0x2b885f(0x2a4);if(_0x5cbff9['match'](/^(\/|\.)[0-9]+:/))return _0x2b885f(0x1fb);if(_0x5cbff9[_0x2b885f(0x1d6)](/^(\/|\.).*:/))return _0x2b885f(0x1fb);}function _0x2a37bf(_0x268477){const _0xfeac46=_0x166750,_0x2c6288=_0x4ae52c(_0x268477);switch(_0x2c6288){case'nodeId':return'n';case _0xfeac46(0x2a4):return'na';case _0xfeac46(0x2ad):return _0xfeac46(0x29f);case _0xfeac46(0x1fb):return'b';case _0xfeac46(0x28a):return'ab';default:return't';}}function _0x11cbf4(_0x23ec14){const _0x16892e=_0x166750;let _0x4d399a;switch(_0x23ec14){case'n':_0x4d399a=_0x16892e(0x222);break;case'na':_0x4d399a='aliasedNodeId';break;case _0x16892e(0x29f):_0x4d399a=_0x16892e(0x2ad);break;case'b':_0x4d399a=_0x16892e(0x1fb);break;case'ab':_0x4d399a=_0x16892e(0x28a);break;}return _0x4d399a;}function _0x2a4e10(_0x306101){const _0x4442a7=_0x166750;switch(_0x306101){case'nodeId':return'n';case _0x4442a7(0x2a4):return'na';case _0x4442a7(0x2ad):return _0x4442a7(0x29f);case _0x4442a7(0x1fb):return'b';case _0x4442a7(0x28a):return'ab';default:return't';}}const _0x2a8237=(_0x22dc38,_0x5744bc)=>_0x934485(void 0x0,[_0x22dc38,_0x5744bc],void 0x0,function*({endpointNode:_0x374cbc,endpoint:_0x36976e,baseUrl:_0x6d4dfb},_0x516ac4){const _0x2e5b64=_0x166750,_0x3f2657=_0x6d4dfb+'/opcua-for-node-red',_0x35ea22=_0x3f2657+'/checkNodeId',_0x56a3ce=_0x374cbc['id'],_0x156fd8=RED[_0x2e5b64(0x232)]['node'](_0x56a3ce);console[_0x2e5b64(0x29d)](_0x156fd8[_0x2e5b64(0x19f)]),_0x156fd8['namespaceAliases'];const _0x2a1584=_0x374cbc[_0x2e5b64(0x19f)],_0x2af7bb=yield fetch(_0x35ea22,{'method':_0x2e5b64(0x257),'body':JSON['stringify']({'endpointNode':_0x374cbc,'endpoint':_0x36976e,'nodeId':_0x516ac4,'namespaceAliases':_0x2a1584}),'headers':{'Content-Type':_0x2e5b64(0x1fc)}}),_0x16c7ce=yield _0x2af7bb[_0x2e5b64(0x1d1)]();return{'json':_0x16c7ce,'data':_0x2af7bb};}),_0x2eafac=(_0x1dc1bd,_0x1a4b18,_0x10d4f8,_0x160bc1)=>_0x934485(void 0x0,[_0x1dc1bd,_0x1a4b18,_0x10d4f8,_0x160bc1],void 0x0,function*({endpointNode:_0x3482d0,endpoint:_0xc29bd3,baseUrl:_0x2b9884},_0x44f19b,_0x3b1eab,_0xad7ca9){const _0x2d9a18=_0x166750,_0x156958=_0x3b1eab['val'](),{json:_0x4be615,data:_0x16ef07}=yield _0x2a8237({'endpointNode':_0x3482d0,'endpoint':_0xc29bd3,'baseUrl':_0x2b9884},_0x156958),_0x47e350=(_0x26cd05,_0x4ff6f6)=>{const _0x20f80d=_0x1801;_0xad7ca9[_0x20f80d(0x199)](_0x26cd05)[_0x20f80d(0x28b)](_0x20f80d(0x22c))[_0x20f80d(0x28b)](_0x4ff6f6),_0xad7ca9[_0x20f80d(0x1cd)](),setTimeout(()=>{const _0x1d19bc=_0x20f80d;_0xad7ca9[_0x1d19bc(0x2b2)](_0x4ff6f6),_0xad7ca9[_0x1d19bc(0x1ac)]();},0xbb8);};if(_0x16ef07[_0x2d9a18(0x2b9)]!==0xc8)return _0x47e350(_0x2d9a18(0x1a7)+_0x156958,_0x2d9a18(0x1f6)),![];else{if(_0x4be615[_0x2d9a18(0x290)]['match'](/Good/)){const _0x1a2307=_0x5b6ff9(_0x4be615);_0x3b1eab[_0x2d9a18(0x2be)]('title',_0x1a2307);const _0x2057de=_0x5c56de(_0x4be615,_0x44f19b);return _0x3b1eab[_0x2d9a18(0x220)](_0x2057de),_0x3b1eab[_0x2d9a18(0x27c)](_0x2d9a18(0x1fa)),_0x47e350(_0x2d9a18(0x1b1),'ok'),!![];}else return _0x3b1eab['val'](''+_0x156958),_0x47e350(_0x4be615[_0x2d9a18(0x290)]+'\x20'+_0x16ef07['statusText'],_0x2d9a18(0x1f6)),![];}});function _0x5593c4(_0x5a1d42,_0x5f429b){return _0x934485(this,void 0x0,void 0x0,function*(){const _0x5b4420=_0x1801,_0x276b7b=_0x5a1d42[_0x5b4420(0x1ae)](_0x5b4420(0x1c2)),_0x32505c=yield _0x70fa7f(_0x5f429b,_0x276b7b,_0x57af6d),_0x55337c=yield _0x70fa7f(_0x5f429b,_0x276b7b,_0x7b51ea);return{'references':[..._0x32505c[_0x5b4420(0x254)],..._0x55337c[_0x5b4420(0x254)]]};});}const _0x522e46={'referenceTypeId':_0x2643f5(_0x166750(0x21a)),'includeSubtypes':!![],'browseDirection':_0x411e87[_0x166750(0x270)],'nodeClassMask':_0x25a8a3[_0x166750(0x23e)]|_0x25a8a3[_0x166750(0x2a8)]|_0x25a8a3[_0x166750(0x27a)]|_0x25a8a3['VariableType'],'resultMask':0x3f};function _0x91fde0(_0x17ec80,_0x217b1c){return _0x934485(this,void 0x0,void 0x0,function*(){const _0x537729=_0x1801,_0x143797=_0x17ec80['data'](_0x537729(0x1c2)),_0x4ecf36=yield _0x70fa7f(_0x217b1c,_0x143797,_0x522e46);return _0x4ecf36;});}const _0x311de6=_0x1a83ed=>{const _0x26024a=_0x166750;var _0x281312,_0x20ceed,_0x1bcf25,_0x3102e2;if(!_0x1a83ed||!_0x1a83ed['nodeId']){const _0x1c3eaa=$(_0x26024a(0x234));return _0x1c3eaa;}const _0xfb78d7=_0x1a83ed[_0x26024a(0x222)][_0x26024a(0x28d)](),_0x46ef31=((_0x281312=_0x1a83ed[_0x26024a(0x1a1)])===null||_0x281312===void 0x0?void 0x0:_0x281312[_0x26024a(0x199)])||((_0x20ceed=_0x1a83ed[_0x26024a(0x1ee)])===null||_0x20ceed===void 0x0?void 0x0:_0x20ceed['name'])||_0x1a83ed['nodeId']['toString'](),{icon:_0xf8b08b,color:_0x511a81}=_0x1b4439(_0x1a83ed),_0x59cf77='('+_0x1a83ed['nodeId'][_0x26024a(0x28d)]()+')\x20'+(((_0x1bcf25=_0x1a83ed[_0x26024a(0x1ee)])===null||_0x1bcf25===void 0x0?void 0x0:_0x1bcf25['name'])||((_0x3102e2=_0x1a83ed['displayName'])===null||_0x3102e2===void 0x0?void 0x0:_0x3102e2[_0x26024a(0x199)])||''),_0x1e2e65=$(_0x26024a(0x2ab)+_0x1a83ed[_0x26024a(0x222)][_0x26024a(0x28d)]()+_0x26024a(0x247)+_0x59cf77+_0x26024a(0x2ac)+_0xf8b08b+_0x26024a(0x2d1)+_0x511a81+_0x26024a(0x1db)+_0x46ef31+_0x26024a(0x22a));return _0x1e2e65[_0x26024a(0x28b)](_0x26024a(0x2a7)),_0x1e2e65[_0x26024a(0x1ae)](_0x26024a(0x1c2),_0xfb78d7),_0x1e2e65[_0x26024a(0x1ae)](_0x26024a(0x1ec),_0x1a83ed),_0x1e2e65;},_0x3e837e=(_0x116b2e,_0xd284bf)=>{const _0x1b12a2=_0x166750;return _0xd284bf[_0x1b12a2(0x2a3)](_0x1b12a2(0x271)+_0x116b2e+'\x22]');},_0x246c62=(_0x1dda72,_0x2cb727)=>{const _0x59a54f=_0x166750;_0x1dda72[_0x59a54f(0x261)][_0x59a54f(0x2a3)]('li\x20>\x20.tree-text')[_0x59a54f(0x2b2)](_0x59a54f(0x26a)),_0x2cb727[_0x59a54f(0x2a3)](_0x59a54f(0x1b5))['addClass'](_0x59a54f(0x26a));},_0xd75a4c=(_0x508e97,_0x1fff05,_0x175f5d)=>_0x934485(void 0x0,void 0x0,void 0x0,function*(){const _0x3d4774=_0x166750;let _0x210569=_0x175f5d[_0x3d4774(0x258)](_0x3d4774(0x2c5));_0x1fff05[_0x3d4774(0x1e8)][_0x3d4774(0x2b8)]||[];const _0x4fde1f=_0x1fff05[_0x3d4774(0x27f)]||[];if(_0x4fde1f['length']===0x0)return;for(const _0x19fd50 of _0x4fde1f){_0x210569[_0x3d4774(0x19d)]('expandable')&&(yield _0x40c4d9(_0x508e97,_0x210569));const _0x57de56=_0x3e837e(_0x19fd50,_0x210569);if(_0x57de56[_0x3d4774(0x25d)]===0x0)return;_0x210569=_0x57de56;}_0x246c62(_0x508e97,_0x210569),_0x3bf934(_0x508e97[_0x3d4774(0x214)],_0x210569);});function _0x3bf934(_0x3f1264,_0x15d58d){const _0x1828d6=_0x166750,_0x4051e9=_0x15d58d[_0x1828d6(0x1a5)]()[_0x1828d6(0x1ea)],_0x145572=_0x3f1264['scrollTop']();if(_0x145572==undefined)return;const _0x49b055=_0x145572+_0x4051e9-_0x3f1264[_0x1828d6(0x21d)]()/0x2+_0x15d58d['height']()/0x2;_0x3f1264[_0x1828d6(0x209)]({'scrollTop':_0x49b055},0x1f4);}const _0x3ae592=(_0x423533,_0x516c13)=>_0x934485(void 0x0,void 0x0,void 0x0,function*(){const _0x37af9d=_0x166750,_0xc7e229=_0x423533[_0x37af9d(0x276)][_0x37af9d(0x220)](),_0x32a4ab={'nodeId':_0xc7e229,'rootNodeId':_0x516c13[_0x37af9d(0x222)],'isType':_0x423533[_0x37af9d(0x1bc)][_0x37af9d(0x216)]||![]},_0x259a10=_0x1c11d8(_0x423533),_0x24a588=yield _0x4350f6(_0x259a10,_0x32a4ab);if(!_0x24a588)return;yield _0xd75a4c(_0x423533,_0x24a588,_0x423533[_0x37af9d(0x261)]);});function _0xeacc14(_0x5e5c0c,_0x271eb3,_0x3cf4e4,_0x111efb){return _0x934485(this,void 0x0,void 0x0,function*(){const _0x20bbcc=_0x1801;if(_0x271eb3[_0x20bbcc(0x19d)](_0x20bbcc(0x204))){console[_0x20bbcc(0x29d)](_0x20bbcc(0x210));return;}if(_0x271eb3[_0x20bbcc(0x19d)](_0x20bbcc(0x279))){console[_0x20bbcc(0x29d)](_0x20bbcc(0x26d));return;}_0x271eb3[_0x20bbcc(0x28b)](_0x20bbcc(0x279)),_0x271eb3[_0x20bbcc(0x263)](_0x20bbcc(0x22d));try{_0x271eb3[_0x20bbcc(0x258)]('ul')[_0x20bbcc(0x299)]();const {references:_0x22e43a}=yield _0x3cf4e4(_0x271eb3,_0x111efb);_0x22e43a[_0x20bbcc(0x27b)]((_0x12cd39,_0x89b006)=>{const _0x5d4999=_0x20bbcc;var _0x4b22ee,_0x394aac;return(((_0x4b22ee=_0x12cd39[_0x5d4999(0x1ee)])===null||_0x4b22ee===void 0x0?void 0x0:_0x4b22ee[_0x5d4999(0x1f2)])||'')[_0x5d4999(0x292)](((_0x394aac=_0x89b006['browseName'])===null||_0x394aac===void 0x0?void 0x0:_0x394aac[_0x5d4999(0x1f2)])||'');});for(const _0x336a47 of _0x22e43a){if(_0x5e5c0c[_0x20bbcc(0x1bc)]['filter']&&!_0x5e5c0c[_0x20bbcc(0x1bc)][_0x20bbcc(0x201)](_0x336a47))continue;const _0x309835=_0x311de6(_0x336a47);_0x271eb3['children']('ul')['append'](_0x309835);}_0x271eb3[_0x20bbcc(0x28b)](_0x20bbcc(0x204));}catch(_0x4f90dc){_0x271eb3[_0x20bbcc(0x258)]('ul')['append'](_0x20bbcc(0x2b1)+_0x4f90dc[_0x20bbcc(0x1c3)]+_0x20bbcc(0x1ad)),console[_0x20bbcc(0x29d)](_0x20bbcc(0x2bf),_0x4f90dc);}_0x271eb3[_0x20bbcc(0x2a3)](_0x20bbcc(0x226))['remove'](),_0x271eb3[_0x20bbcc(0x2b2)]('loading');});}function _0x1c11d8(_0x22293d){const _0x1556cb=_0x166750,_0x2c1cb7={'baseUrl':_0x22293d[_0x1556cb(0x1bc)]['baseUrl'],'endpointNode':typeof _0x22293d[_0x1556cb(0x1bc)][_0x1556cb(0x1e9)]===_0x1556cb(0x1f7)?_0x22293d[_0x1556cb(0x1bc)]['endpointNode']():_0x22293d[_0x1556cb(0x1bc)][_0x1556cb(0x1e9)],'endpoint':typeof _0x22293d[_0x1556cb(0x1bc)]['endpoint']==='function'?_0x22293d[_0x1556cb(0x1bc)][_0x1556cb(0x235)]():_0x22293d[_0x1556cb(0x1bc)][_0x1556cb(0x235)]};return _0x2c1cb7;}function _0x40c4d9(_0x103914,_0x278c7a){return _0x934485(this,void 0x0,void 0x0,function*(){const _0x49507e=_0x1801;if(_0x278c7a[_0x49507e(0x19d)](_0x49507e(0x204))){_0x278c7a[_0x49507e(0x2b2)](_0x49507e(0x2a7))[_0x49507e(0x28b)](_0x49507e(0x21b)),_0x278c7a['children']('ul')[_0x49507e(0x1e6)]();return;}const _0x69d162=_0x1c11d8(_0x103914),_0x1003e7=!_0x103914[_0x49507e(0x1bc)][_0x49507e(0x216)]?_0x5593c4:_0x91fde0;try{yield _0xeacc14(_0x103914,_0x278c7a,_0x1003e7,_0x69d162),_0x278c7a[_0x49507e(0x2b2)](_0x49507e(0x2a7))[_0x49507e(0x28b)](_0x49507e(0x21b));}catch(_0x4bfb42){_0x278c7a[_0x49507e(0x2b2)](_0x49507e(0x2a7))[_0x49507e(0x28b)](_0x49507e(0x21b)),console[_0x49507e(0x29d)]('error',_0x4bfb42);}});}const _0x29097f={'browseName':{'namespaceIndex':0x0,'name':_0x166750(0x19c)},'nodeClass':_0x166750(0x1d0),'nodeId':_0x166750(0x246),'displayName':{'text':_0x166750(0x19c)},'typeDefinition':_0x18b0d6},_0x215901=()=>{const _0x234b1d=_0x166750;$[_0x234b1d(0x1eb)]('sterfive.nodeBrowser',{'options':{'endpointNode':()=>({'endpoint':'opc.tcp://opcuademo.sterfive.com:26543'}),'endpoint':()=>undefined,'parentNode':()=>_0x29097f,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x934485(this,void 0x0,void 0x0,function*(){const _0x411979=_0x1801,_0xe91da=this;if(_0xe91da[_0x411979(0x2cd)]==undefined){const _0x2a22b1=typeof _0xe91da[_0x411979(0x1bc)][_0x411979(0x1a8)]==='function'?_0xe91da[_0x411979(0x1bc)][_0x411979(0x1a8)][_0x411979(0x28c)](_0xe91da):_0xe91da[_0x411979(0x1bc)][_0x411979(0x1a8)];if(_0x2a22b1 instanceof Promise){const _0x4cbbc7=yield _0x2a22b1;_0xe91da[_0x411979(0x2cd)]=_0x4cbbc7;}else _0xe91da[_0x411979(0x2cd)]=_0x2a22b1;}return _0xe91da[_0x411979(0x2cd)]||_0x29097f;});},'reset'(){return _0x934485(this,void 0x0,void 0x0,function*(){const _0x25c51c=_0x1801,_0x287753=this,_0x765f4b=_0x287753;_0x765f4b['__parentNode']=undefined,_0x287753[_0x25c51c(0x261)]['empty']();const _0x4383eb=yield this[_0x25c51c(0x291)](),_0x222f61=_0x311de6(_0x4383eb);_0x287753[_0x25c51c(0x261)][_0x25c51c(0x263)](_0x222f61),_0x287753[_0x25c51c(0x19e)]=_0x4383eb;});},'verify'(_0xee6904){const _0x9f1a75=_0x234b1d,_0x22f8ac=this,_0x27c31a=_0x1c11d8(_0x22f8ac);_0x2eafac(_0x27c31a,_0xee6904,_0x22f8ac[_0x9f1a75(0x276)],_0x22f8ac[_0x9f1a75(0x223)])[_0x9f1a75(0x1d8)](_0x18a7f9=>{const _0x15e05c=_0x9f1a75;!_0x18a7f9?_0x22f8ac['$combo'][_0x15e05c(0x28b)]('sterfive-input-error'):_0x22f8ac[_0x15e05c(0x287)][_0x15e05c(0x2b2)](_0x15e05c(0x29e));});},'_hideMenu'(_0xa2f4d4){const _0x22558a=_0x234b1d,_0x18c59d=this;$(document)[_0x22558a(0x1f4)](_0x22558a(0x1a6)),_0xa2f4d4[_0x22558a(0x1ac)](),_0xa2f4d4[_0x22558a(0x243)]({'height':_0x22558a(0x2a0)});if(_0xa2f4d4[_0x22558a(0x260)][_0x22558a(0x28f)]){var _0x10b884=[];_0xa2f4d4['find'](_0x22558a(0x1a3))['each'](function(){const _0x1b5eed=_0x22558a;$(this)['prop'](_0x1b5eed(0x200))&&_0x10b884[_0x1b5eed(0x2b7)]($(this)[_0x1b5eed(0x1ae)](_0x1b5eed(0x1c2)));}),_0xa2f4d4[_0x22558a(0x1dc)](_0x10b884);}_0x18c59d[_0x22558a(0x231)]['is'](_0x22558a(0x1bb))?_0x18c59d[_0x22558a(0x276)][_0x22558a(0x27c)](_0x22558a(0x239)):_0x18c59d[_0x22558a(0x288)][_0x22558a(0x27c)](_0x22558a(0x239));},'_createMenu'(_0x390b64,_0x19e787,_0xa111ed){const _0x3287b3=_0x234b1d;var _0x4c328e=this;const _0x32dee7=$(_0x3287b3(0x2c9))[_0x3287b3(0x28b)]('sterfive-typedInput-options\x20sterfive-online-menu');return _0x32dee7['opts']=_0x19e787,_0x32dee7[_0x3287b3(0x1dc)]=_0xa111ed,_0x390b64[_0x3287b3(0x1af)](_0x55d6e2=>{const _0x5094ac=_0x3287b3;typeof _0x55d6e2===_0x5094ac(0x27d)&&(_0x55d6e2={'value':_0x55d6e2,'label':_0x55d6e2});var _0x124de6=$(_0x5094ac(0x2bb))['attr']('value',_0x55d6e2[_0x5094ac(0x1c2)])[_0x5094ac(0x23c)](_0x32dee7);_0x55d6e2[_0x5094ac(0x241)]&&_0x124de6[_0x5094ac(0x199)](_0x55d6e2['label']);_0x55d6e2['title']&&_0x124de6[_0x5094ac(0x25b)](_0x5094ac(0x2b5),_0x55d6e2[_0x5094ac(0x2b5)]);if(_0x55d6e2[_0x5094ac(0x29a)]){if(_0x55d6e2['icon'][_0x5094ac(0x2af)]('<')===0x0)$(_0x55d6e2['icon'])['prependTo'](_0x124de6);else _0x55d6e2['icon'][_0x5094ac(0x2af)]('/')!==-0x1?$(_0x5094ac(0x23a),{'class':_0x5094ac(0x212),'style':'mask-image:\x20url('+_0x55d6e2[_0x5094ac(0x29a)]+');\x20-webkit-mask-image:\x20url('+_0x55d6e2[_0x5094ac(0x29a)]+');'})[_0x5094ac(0x21f)](_0x124de6):$(_0x5094ac(0x23a),{'class':_0x5094ac(0x1a4)+_0x55d6e2[_0x5094ac(0x29a)]})[_0x5094ac(0x21f)](_0x124de6);}else _0x124de6[_0x5094ac(0x243)]({'paddingLeft':_0x5094ac(0x28e)});!_0x55d6e2[_0x5094ac(0x29a)]&&!_0x55d6e2[_0x5094ac(0x241)]&&_0x124de6['text'](_0x55d6e2['value']);var _0x407512;_0x19e787[_0x5094ac(0x28f)]&&(_0x407512=$(_0x5094ac(0x2aa))[_0x5094ac(0x243)](_0x5094ac(0x2ca),_0x5094ac(0x24f))['data'](_0x5094ac(0x1c2),_0x55d6e2[_0x5094ac(0x1c2)])[_0x5094ac(0x21f)](_0x124de6)['on'](_0x5094ac(0x2cf),function(_0x5576ac){const _0xa023e8=_0x5094ac;_0x5576ac[_0xa023e8(0x2b0)]();})),_0x124de6['on'](_0x5094ac(0x207),function(_0x4fd548){const _0x1386c0=_0x5094ac;_0x4fd548[_0x1386c0(0x2b0)](),_0x4fd548[_0x1386c0(0x202)](),!_0x19e787[_0x1386c0(0x28f)]?(_0xa111ed(_0x55d6e2[_0x1386c0(0x1c2)]),_0x4c328e['_hideMenu'](_0x32dee7)):_0x407512['prop'](_0x1386c0(0x200),!_0x407512['prop']('checked'));});}),_0x32dee7[_0x3287b3(0x243)]({'display':_0x3287b3(0x24f)}),_0x32dee7['on'](_0x3287b3(0x262),function(_0x423286){const _0x47cf9b=_0x3287b3;if(_0x423286[_0x47cf9b(0x2c3)]===0x28)_0x423286[_0x47cf9b(0x2b0)](),$(this)[_0x47cf9b(0x258)](_0x47cf9b(0x24a))[_0x47cf9b(0x2a2)]()[_0x47cf9b(0x27c)](_0x47cf9b(0x239));else{if(_0x423286[_0x47cf9b(0x2c3)]===0x26)_0x423286['preventDefault'](),$(this)[_0x47cf9b(0x258)](_0x47cf9b(0x24a))[_0x47cf9b(0x1c1)]()['trigger'](_0x47cf9b(0x239));else _0x423286[_0x47cf9b(0x2c3)]===0x1b&&(_0x423286['preventDefault'](),_0x4c328e['_hideMenu'](_0x32dee7));}_0x423286['stopPropagation']();}),_0x32dee7;},'disarmClick':![],'_showMenu'(_0x4e63f1,_0xbd7468){const _0x3c9e99=_0x234b1d;if(this[_0x3c9e99(0x1f5)]){this[_0x3c9e99(0x1f5)]=![];return;}var _0x1873b9=this,_0x2870e8=_0xbd7468[_0x3c9e99(0x205)](),_0x3f7321=_0xbd7468[_0x3c9e99(0x21d)](),_0x4f8aea=_0x4e63f1[_0x3c9e99(0x21d)](),_0x2524b6=_0x3f7321+_0x2870e8[_0x3c9e99(0x1ea)];_0x2524b6+_0x4f8aea-$(document)[_0x3c9e99(0x27e)]()>$(window)['height']()&&(_0x2524b6-=_0x2524b6+_0x4f8aea-$(window)[_0x3c9e99(0x21d)]()+0x5),_0x2524b6<0x0&&(_0x4e63f1['height'](_0x4f8aea+_0x2524b6),_0x2524b6=0x0),_0x4e63f1['css']({'top':_0x2524b6+'px','left':_0x2870e8[_0x3c9e99(0x1e4)]+'px'}),_0x4e63f1[_0x3c9e99(0x1e5)](0x64),this['_delay'](function(){const _0x5b1974=_0x3c9e99;_0x1873b9[_0x5b1974(0x19b)][_0x5b1974(0x28b)](_0x5b1974(0x26c)),$(document)['on'](_0x5b1974(0x1a6),function(_0x5acb78){const _0x45c077=_0x5b1974;!$(_0x5acb78[_0x45c077(0x1e1)])[_0x45c077(0x1ff)](_0x4e63f1)['length']&&_0x1873b9[_0x45c077(0x25e)](_0x4e63f1),$(_0x5acb78[_0x45c077(0x1e1)])[_0x45c077(0x1ff)](_0xbd7468)[_0x45c077(0x25d)]&&(_0x1873b9[_0x45c077(0x1f5)]=!![],_0x5acb78[_0x45c077(0x2b0)]());});});},'_showTypeMenu'(){const _0x50cc4a=_0x234b1d,_0x4fb3be=this;this[_0x50cc4a(0x1c6)](_0x4fb3be[_0x50cc4a(0x275)],_0x4fb3be[_0x50cc4a(0x287)]),_0x4fb3be[_0x50cc4a(0x214)][_0x50cc4a(0x1ac)]();const _0x2f9307=_0x4fb3be[_0x50cc4a(0x20a)];var _0x1a3b07=_0x4fb3be[_0x50cc4a(0x275)][_0x50cc4a(0x2a3)](_0x50cc4a(0x23b)+_0x2f9307+'\x27');setTimeout(function(){const _0x36497f=_0x50cc4a;_0x1a3b07[_0x36497f(0x27c)](_0x36497f(0x239));},0x78);},'_initMenu'(){const _0x299aa6=_0x234b1d,_0x306f3c=this;_0x306f3c[_0x299aa6(0x288)][_0x299aa6(0x2be)]('tabindex',-0x1),_0x306f3c['$selectTrigger']['on'](_0x299aa6(0x1cc),function(_0x3b68fd){const _0xa3b58=_0x299aa6;_0x3b68fd[_0xa3b58(0x2b0)]();});_0x306f3c[_0x299aa6(0x275)]&&_0x306f3c['$menu'][_0x299aa6(0x1cb)]();const _0xe1b09a=[{'label':_0x299aa6(0x199),'value':'t','title':_0x299aa6(0x24b),'icon':'<i\x20class=\x22fa\x20fa-font\x22/i>\x20'},{'label':'msg.','value':_0x299aa6(0x274),'title':'node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','icon':_0x299aa6(0x1c0)},{'label':'NodeId','value':'n','icon':_0x299aa6(0x25f)},{'label':_0x299aa6(0x2b6),'value':'na','icon':_0x299aa6(0x1f1)},{'label':_0x299aa6(0x229),'value':'nsu','icon':'<i\x20class=\x22fa\x20fa-id-card\x22/> \x20'},{'label':_0x299aa6(0x278),'value':'b','icon':'<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> '},{'label':_0x299aa6(0x2c4),'value':'ab','icon':_0x299aa6(0x2bc)}],_0x330b56=_0x2a37bf(_0x306f3c[_0x299aa6(0x276)][_0x299aa6(0x220)]()),_0x30cc01=_0xe1b09a[_0x299aa6(0x2a3)](_0x28c385=>_0x28c385[_0x299aa6(0x1c2)]===_0x330b56);_0x306f3c[_0x299aa6(0x298)][_0x299aa6(0x299)]()[_0x299aa6(0x263)]('<span\x20title='+((_0x30cc01===null||_0x30cc01===void 0x0?void 0x0:_0x30cc01[_0x299aa6(0x2b5)])||'')+_0x299aa6(0x1d2)+((_0x30cc01===null||_0x30cc01===void 0x0?void 0x0:_0x30cc01[_0x299aa6(0x29a)])||'')+_0x299aa6(0x272)),_0x306f3c['selectedMenuItem']=_0x330b56;const _0x41f7b8=this;_0x306f3c[_0x299aa6(0x275)]=this['_createMenu'](_0xe1b09a,{},_0x532863=>{const _0x450d48=_0x299aa6,_0x35c485=_0x11cbf4(_0x532863);_0x35c485&&_0x41f7b8[_0x450d48(0x1f9)](_0x35c485);const _0x1c707a=_0xe1b09a[_0x450d48(0x2a3)](_0x4423f9=>_0x4423f9[_0x450d48(0x1c2)]===_0x532863);_0x306f3c[_0x450d48(0x20a)]=_0x532863,_0x306f3c[_0x450d48(0x298)]['empty']()[_0x450d48(0x263)](_0x450d48(0x1b8)+((_0x1c707a===null||_0x1c707a===void 0x0?void 0x0:_0x1c707a['title'])||'')+'> \x20'+((_0x1c707a===null||_0x1c707a===void 0x0?void 0x0:_0x1c707a[_0x450d48(0x29a)])||'')+'</span>');}),_0x306f3c['$menu'][_0x299aa6(0x23c)](document[_0x299aa6(0x2bd)]),_0x306f3c[_0x299aa6(0x275)][_0x299aa6(0x1ac)](),_0x306f3c[_0x299aa6(0x288)]['show']();},'mode'(){const _0x18bbba=_0x234b1d,_0x3e2ba0=this;return _0x11cbf4(_0x3e2ba0[_0x18bbba(0x20a)]);},'setMode'(_0x307df0){const _0xfceed1=_0x234b1d,_0x666eb9=this,_0x3f1026=_0x2a4e10(_0x307df0);_0x666eb9[_0xfceed1(0x20a)]=_0x3f1026;},'_create'(){const _0x18a90b=_0x234b1d,_0x5edae4=this;_0x5edae4[_0x18a90b(0x276)]=this[_0x18a90b(0x218)],_0x5edae4[_0x18a90b(0x276)][_0x18a90b(0x243)](_0x18a90b(0x1d4),_0x18a90b(0x24f)),_0x5edae4['$elementDiv']=_0x5edae4[_0x18a90b(0x276)][_0x18a90b(0x2b4)]('<div>')[_0x18a90b(0x23d)]()[_0x18a90b(0x28b)]('main-wrapper'),_0x5edae4['$combo']=$(_0x18a90b(0x251)),_0x5edae4[_0x18a90b(0x287)][_0x18a90b(0x28b)](_0x18a90b(0x217)),_0x5edae4[_0x18a90b(0x276)][_0x18a90b(0x1fd)](_0x5edae4['$combo']),_0x5edae4[_0x18a90b(0x1d7)]=$(_0x18a90b(0x251))['addClass']('sterfive-input-group'),_0x5edae4[_0x18a90b(0x287)][_0x18a90b(0x263)](_0x5edae4[_0x18a90b(0x1d7)]),_0x5edae4[_0x18a90b(0x1d7)][_0x18a90b(0x263)](_0x5edae4[_0x18a90b(0x276)]),_0x5edae4[_0x18a90b(0x286)]=$(_0x18a90b(0x1b7)),_0x5edae4[_0x18a90b(0x276)]['after'](_0x5edae4[_0x18a90b(0x286)]),_0x5edae4['$toggleTreeBtn']['on'](_0x18a90b(0x207),function(){return _0x934485(this,void 0x0,void 0x0,function*(){const _0x509068=_0x1801;var _0x180a6e;let _0x4d9d84=![],_0x2a0f01;!_0x5edae4[_0x509068(0x214)]['is'](_0x509068(0x1bb))&&(_0x5edae4[_0x509068(0x223)][_0x509068(0x1ac)](),_0x2a0f01=yield _0x5edae4[_0x509068(0x291)](),(_0x2a0f01!==_0x5edae4[_0x509068(0x19e)]||((_0x180a6e=_0x5edae4[_0x509068(0x19e)])===null||_0x180a6e===void 0x0?void 0x0:_0x180a6e[_0x509068(0x222)])!==_0x2a0f01[_0x509068(0x222)])&&(yield _0x5edae4[_0x509068(0x1b4)]()),_0x4d9d84=!![]),_0x5edae4['$dropdown'][_0x509068(0x1e6)](),_0x4d9d84&&(yield _0x3ae592(_0x5edae4,_0x2a0f01));});}),_0x5edae4[_0x18a90b(0x250)]=$(_0x18a90b(0x2c6)),_0x5edae4['$input']['after'](_0x5edae4[_0x18a90b(0x250)]),_0x5edae4['$verifyBtn']['on'](_0x18a90b(0x207),()=>{const _0x5baf0a=_0x18a90b,_0x56c6b9=_0x5edae4[_0x5baf0a(0x1c4)]();if(!_0x56c6b9)return;this['verify'](_0x56c6b9);});const _0x3e80e4=_0x163930=>_0x934485(this,void 0x0,void 0x0,function*(){const _0x353ccd=_0x18a90b,_0x5f450f=this;let _0x6fc248=_0x5f450f[_0x353ccd(0x1c4)]();if(!_0x6fc248)return;const _0x1d9d4c=_0x1c11d8(_0x5f450f),{data:_0x5c0561,json:_0x4046ac}=yield _0x2a8237(_0x1d9d4c,_0x163930);if(_0x5c0561[_0x353ccd(0x2b9)]!==0xc8)return;if(_0x4046ac['statusCode']['match'](/Good/)){const _0x2076e6=_0x5c56de(_0x4046ac,_0x6fc248);_0x5f450f[_0x353ccd(0x276)]['val'](_0x2076e6),_0x5f450f['$input'][_0x353ccd(0x27c)](_0x353ccd(0x1fa));}});{_0x5edae4['$uiSelect']=$('<div>'),_0x5edae4['$input'][_0x18a90b(0x23f)](_0x5edae4[_0x18a90b(0x19b)]),_0x5edae4['$selectTrigger']=$(_0x18a90b(0x1de))['prependTo'](_0x5edae4['$uiSelect']),$(_0x18a90b(0x2cc))[_0x18a90b(0x1e6)](!![])[_0x18a90b(0x23c)](_0x5edae4[_0x18a90b(0x288)]),_0x5edae4['$selectTrigger']['on'](_0x18a90b(0x207),function(_0x6e0918){const _0x11fdf9=_0x18a90b;_0x6e0918[_0x11fdf9(0x2b0)](),_0x6e0918['stopPropagation'](),_0x5edae4[_0x11fdf9(0x24d)]();}),_0x5edae4['$selectTrigger']['on']('keydown',function(_0x340840){const _0x21cf10=_0x18a90b;_0x340840[_0x21cf10(0x2c3)]===0x28&&_0x5edae4[_0x21cf10(0x24d)](),_0x340840[_0x21cf10(0x202)]();})['on'](_0x18a90b(0x239),function(){const _0x93b937=_0x18a90b;_0x5edae4['$uiSelect'][_0x93b937(0x28b)](_0x93b937(0x26c));})['on']('blur',function(){const _0x194d69=_0x18a90b;_0x5edae4['$uiSelect'][_0x194d69(0x2b2)]('red-ui-typedInput-focus');}),_0x5edae4[_0x18a90b(0x298)]=$(_0x18a90b(0x213))['appendTo'](_0x5edae4[_0x18a90b(0x288)]);}this[_0x18a90b(0x244)]();!_0x5edae4[_0x18a90b(0x276)][_0x18a90b(0x2be)]('placeholder')&&_0x5edae4['$input'][_0x18a90b(0x2be)](_0x18a90b(0x1d9),_0x18a90b(0x2a9));_0x5edae4[_0x18a90b(0x223)]=$('<div\x20class=\x22sterfive-info-text\x22></div>'),_0x5edae4[_0x18a90b(0x223)][_0x18a90b(0x1ac)](),_0x5edae4[_0x18a90b(0x287)][_0x18a90b(0x263)](_0x5edae4['$info']),_0x5edae4[_0x18a90b(0x214)]=$(_0x18a90b(0x251))['addClass'](_0x18a90b(0x249))[_0x18a90b(0x1ac)]()[_0x18a90b(0x23c)](_0x5edae4[_0x18a90b(0x287)]),_0x5edae4[_0x18a90b(0x261)]=$('<ul\x20class=\x22sterfive-tree\x22></ul>')[_0x18a90b(0x23c)](_0x5edae4[_0x18a90b(0x214)]),this[_0x18a90b(0x1b4)]();const _0x58a368=(_0x1106d5,_0x51fc9f)=>{const _0x58d16e=_0x18a90b,_0x129487=0x14,_0x38bdd3=0x14,_0x58089d=_0x1106d5['offset'](),_0x1b09a8=_0x51fc9f;if(_0x1b09a8['pageX']>=_0x58089d[_0x58d16e(0x1e4)]&&_0x1b09a8[_0x58d16e(0x277)]<=_0x58089d[_0x58d16e(0x1e4)]+_0x129487&&_0x1b09a8[_0x58d16e(0x29b)]>=_0x58089d[_0x58d16e(0x1ea)]&&_0x1b09a8['pageY']<=_0x58089d[_0x58d16e(0x1ea)]+_0x38bdd3)return!![];return![];},_0x44ea7f=_0x5cd89e=>_0x934485(this,void 0x0,void 0x0,function*(){const _0x29e0b3=_0x18a90b;if(_0x5cd89e[_0x29e0b3(0x19d)](_0x29e0b3(0x2a7)))_0x40c4d9(_0x5edae4,_0x5cd89e);else{if(_0x5cd89e[_0x29e0b3(0x19d)](_0x29e0b3(0x21b)))_0x5cd89e[_0x29e0b3(0x258)]('ul')[_0x29e0b3(0x1e6)](),_0x5cd89e['toggleClass'](_0x29e0b3(0x1d3));else{if(_0x5cd89e[_0x29e0b3(0x258)]('ul')[_0x29e0b3(0x258)]()[_0x29e0b3(0x25d)]>0x0)_0x5cd89e[_0x29e0b3(0x258)]('ul')[_0x29e0b3(0x1e6)](),_0x5cd89e['toggleClass'](_0x29e0b3(0x1d3));else;}}});_0x5edae4['$tree']['on'](_0x18a90b(0x240),'li',function(_0x148327){const _0x49f6cb=_0x18a90b;var _0x9b9652,_0x2b255d;_0x148327[_0x49f6cb(0x202)]();let _0x18e83b=$(this);if(_0x58a368(_0x18e83b,_0x148327))_0x44ea7f(_0x18e83b);else{const _0x5d4f94=_0x18e83b[_0x49f6cb(0x1ae)](_0x49f6cb(0x1c2)),_0x2e3855=_0x18e83b[_0x49f6cb(0x1ae)]('reference');if(_0x5edae4[_0x49f6cb(0x1bc)][_0x49f6cb(0x289)]&&!_0x5edae4['options'][_0x49f6cb(0x289)](_0x2e3855))return;_0x5edae4[_0x49f6cb(0x276)][_0x49f6cb(0x1ae)](_0x49f6cb(0x1ec),_0x2e3855),((_0x9b9652=_0x2e3855['displayName'])===null||_0x9b9652===void 0x0?void 0x0:_0x9b9652['text'])||((_0x2b255d=_0x2e3855[_0x49f6cb(0x1ee)])===null||_0x2b255d===void 0x0?void 0x0:_0x2b255d['name'])||_0x2e3855[_0x49f6cb(0x222)]['toString']();let _0x253eea=_0x5edae4['mode']();!_0x253eea&&(_0x253eea=_0x49f6cb(0x222),_0x5edae4[_0x49f6cb(0x1ca)](_0x253eea)),_0x3e80e4(_0x5d4f94)[_0x49f6cb(0x1d8)](()=>{const _0x8df250=_0x49f6cb;_0x5edae4[_0x8df250(0x214)][_0x8df250(0x1ac)]();})[_0x49f6cb(0x1d5)](_0x470026=>{const _0x54e6a5=_0x49f6cb;_0x5edae4[_0x54e6a5(0x214)][_0x54e6a5(0x1ac)]();});}}),_0x5edae4['$tree']['on'](_0x18a90b(0x207),'li',function(_0x13a4c0){const _0x1f9df7=_0x18a90b;_0x13a4c0[_0x1f9df7(0x202)]();let _0x444123=$(this);_0x58a368(_0x444123,_0x13a4c0)&&_0x44ea7f(_0x444123),_0x246c62(_0x5edae4,_0x444123);}),$(document)['on'](_0x18a90b(0x207),function(_0x27b920){const _0x526d0e=_0x18a90b;!$(_0x27b920[_0x526d0e(0x1e1)])['closest'](_0x5edae4[_0x526d0e(0x287)])[_0x526d0e(0x25d)]&&_0x5edae4[_0x526d0e(0x214)][_0x526d0e(0x1ac)]();});}});},_0x441bcd=()=>{const _0x38e618=_0x166750;$[_0x38e618(0x1eb)]('sterfive.flagEditor',{'options':{'namesToBits':{},'value':0x0},'_create'(){const _0x4cfdf2=_0x38e618,_0x26bd43=this;_0x26bd43[_0x4cfdf2(0x276)]=this[_0x4cfdf2(0x218)],_0x26bd43[_0x4cfdf2(0x287)]=$(_0x4cfdf2(0x251)),_0x26bd43[_0x4cfdf2(0x287)][_0x4cfdf2(0x28b)]('sterfive-combo-box'),this['element'][0x0]['parentElement'][_0x4cfdf2(0x296)](_0x26bd43[_0x4cfdf2(0x287)][0x0],this[_0x4cfdf2(0x218)][0x0]),_0x26bd43[_0x4cfdf2(0x1d7)]=$(_0x4cfdf2(0x251))[_0x4cfdf2(0x28b)](_0x4cfdf2(0x259)),_0x26bd43[_0x4cfdf2(0x287)][_0x4cfdf2(0x263)](_0x26bd43['$inputGroup']),_0x26bd43[_0x4cfdf2(0x1d7)][_0x4cfdf2(0x263)](_0x26bd43['$input']),_0x26bd43[_0x4cfdf2(0x286)]=$('<button><i\x20class=\x22fa\x20fa-eye\x22></i></button>'),_0x26bd43['$inputGroup'][_0x4cfdf2(0x263)](_0x26bd43['$toggleTreeBtn']),_0x26bd43[_0x4cfdf2(0x286)]['on'](_0x4cfdf2(0x207),function(){const _0x2174c1=_0x4cfdf2;_0x26bd43[_0x2174c1(0x214)]['toggle'](),_0x26bd43['$dropdown']['is'](_0x2174c1(0x1bb))&&(_0x1c9a88(),_0x26bd43[_0x2174c1(0x287)][_0x2174c1(0x2a3)](_0x2174c1(0x236))['each'](function(){const _0x1286f2=_0x2174c1;let _0x1631df=$(this)[_0x1286f2(0x199)]();const _0x271575=_0x26bd43[_0x1286f2(0x1bc)][_0x1286f2(0x269)][_0x1631df];if(_0x271575===undefined)throw new Error(_0x1286f2(0x2a1));(_0x26bd43['options'][_0x1286f2(0x1c2)]&_0x271575)===_0x271575?$(this)['addClass'](_0x1286f2(0x26a)):$(this)[_0x1286f2(0x2b2)](_0x1286f2(0x26a));}),_0x26bd43['updateValue']());}),_0x26bd43['$dropdown']=$(_0x4cfdf2(0x22f))[_0x4cfdf2(0x1ac)]()[_0x4cfdf2(0x253)](this[_0x4cfdf2(0x218)]),$['each'](this[_0x4cfdf2(0x1bc)][_0x4cfdf2(0x269)],function(_0x5d21dc){const _0x4d294a=_0x4cfdf2,_0x207ff5=$('<div\x20class=\x22custom-option\x22\x20data-value=\x22'+_0x5d21dc+'\x22>'+_0x4d294a(0x1e0)+_0x5d21dc+'</div>');_0x26bd43['$dropdown'][_0x4d294a(0x263)](_0x207ff5);}),_0x26bd43[_0x4cfdf2(0x214)]['on'](_0x4cfdf2(0x207),_0x4cfdf2(0x236),function(){const _0x57bec5=_0x4cfdf2;$(this)['toggleClass'](_0x57bec5(0x26a));const _0x37bb38=$(this)['data'](_0x57bec5(0x1c2));$(this)[_0x57bec5(0x19d)](_0x57bec5(0x26a))?_0x5d0bfc(_0x37bb38):_0x43449c(_0x37bb38),_0x26bd43[_0x57bec5(0x2ba)]();}),_0x26bd43['$combo']['append'](_0x26bd43[_0x4cfdf2(0x214)]);const _0x1c9a88=()=>{const _0x2fa9c5=_0x4cfdf2,_0x569b65=this[_0x2fa9c5(0x218)][_0x2fa9c5(0x220)]();_0x26bd43[_0x2fa9c5(0x1bc)][_0x2fa9c5(0x1c2)]=_0x16caa8(_0x26bd43[_0x2fa9c5(0x1bc)]['namesToBits'],_0x569b65);},_0x5d0bfc=_0x4b4cd4=>{const _0x56b842=_0x4cfdf2,_0x327b7e=_0x26bd43[_0x56b842(0x1bc)][_0x56b842(0x269)][_0x4b4cd4];if(_0x327b7e===undefined)throw new Error(_0x56b842(0x2a1));this[_0x56b842(0x1bc)][_0x56b842(0x1c2)]|=_0x327b7e;},_0x43449c=_0x247c5a=>{const _0x212324=_0x4cfdf2,_0x299a74=_0x26bd43['options'][_0x212324(0x269)][_0x247c5a];if(_0x299a74===undefined)throw new Error(_0x212324(0x2a1));this['options'][_0x212324(0x1c2)]&=~_0x299a74,this['element']['val'](_0x5e3f20(_0x26bd43[_0x212324(0x1bc)][_0x212324(0x269)],this[_0x212324(0x1bc)][_0x212324(0x1c2)]));};_0x1c9a88();},'updateValue'(){const _0x43a8c7=_0x38e618,_0x3ac841=this;this[_0x43a8c7(0x218)]['val'](_0x5e3f20(_0x3ac841[_0x43a8c7(0x1bc)][_0x43a8c7(0x269)],this[_0x43a8c7(0x1bc)][_0x43a8c7(0x1c2)]));},'_destroy'(){const _0x18199a=_0x38e618,_0x8a46ed=this;_0x8a46ed[_0x18199a(0x214)][_0x18199a(0x1cb)]();}});},_0x1354a3=()=>{const _0x1bbe3b=_0x166750,_0xfdc9df=$('#node-input-endpoint'),_0x3d5494=_0xfdc9df['val'](),_0x5c8cb4=RED[_0x1bbe3b(0x232)]['node'](_0x3d5494);if(!_0x5c8cb4)return undefined;const {endpoint:_0x1d5f08,securityMode:_0x2c4f89,securityPolicy:_0x46135d,userIdentityType:_0x1232c1,credentials:_0x1fab73,namespaceAliases:_0x49c365}=_0x5c8cb4,_0x36c036={'endpoint':_0x1d5f08,'securityMode':_0x2c4f89,'securityPolicy':_0x46135d,'userIdentityType':_0x1232c1,'credentials':_0x1fab73,'namespaceAliases':_0x49c365};return _0x36c036;},_0x1afafd=()=>{const _0x4d762c=_0x166750,_0x4cbdbd=$(_0x4d762c(0x22b)),_0x6b5d65=_0x4cbdbd['val'](),_0xba9f5c=_0x1354a3();if(!_0xba9f5c)return undefined;const _0x2ff41b=_0xba9f5c['namespaceAliases'];return Object[_0x4d762c(0x2a5)]({'namespaceAliases':_0x2ff41b,'id':_0x6b5d65},_0xba9f5c);},_0xf5ef3c=()=>{return{'endpointNode':_0x1afafd};},_0xb581b7=()=>{const _0x5dfe62=_0x166750,_0x536a0f=$(_0x5dfe62(0x293));if(_0x536a0f[_0x5dfe62(0x25d)]){const _0x59e841=$('<iframe></iframe>',{'src':_0x5dfe62(0x2ae),'scrolling':'no','style':_0x5dfe62(0x1ba),'allowtransparency':_0x5dfe62(0x1e2),'width':_0x5dfe62(0x1ef),'height':_0x5dfe62(0x215)});_0x536a0f[_0x5dfe62(0x263)](_0x59e841),_0x59e841[_0x5dfe62(0x243)]({'position':'absolute','right':'20px','bottom':_0x5dfe62(0x225)});}};RED['nodes'][_0x166750(0x2c1)](_0x166750(0x21c),{'category':'opcua','color':_0x166750(0x1b6),'align':'right','icon':_0x166750(0x1bf),'paletteLabel':_0x166750(0x20d),'defaults':{'inputs':{'value':0x1},'output':{'value':0x4},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':_0x166750(0x280)},'nodeId':{'value':'','required':![]},'referenceTypeId':{'value':_0x166750(0x1a9),'required':![]},'includeSubtypes':{'value':![],'required':!![]},'browseDirection':{'value':_0x166750(0x270),'required':!![]},'nodeClassMask':{'value':'Variable\x20|\x20Object\x20|\x20Method\x20|\x20ObjectType\x20|\x20VariableType','required':![]},'resultMask':{'value':_0x166750(0x265),'required':![]}},'outputs':0x1,'label'(){const _0x24d7b6=_0x166750;return this[_0x24d7b6(0x1f2)]||'OPCUA\x20Browse';},'labelStyle'(){const _0x4819dd=_0x166750;return this['name']?_0x4819dd(0x1e7):'';},'oneditprepare'(){const _0x4ad2b6=_0x166750,_0x5efd87=this;_0x215901(),_0x441bcd(),_0xb581b7(),_0x5efd87['inputs']=0x1;const _0x1f69c1=$(_0x4ad2b6(0x284));_0x1f69c1[_0x4ad2b6(0x1c8)]({'namesToBits':{'Object':0x1,'Variable':0x2,'Method':0x4,'ObjectType':0x8,'VariableType':0x10,'ReferenceType':0x20,'DataType':0x40,'View':0x80},'value':0x0});const _0x466b94=$(_0x4ad2b6(0x1f3));_0x466b94[_0x4ad2b6(0x1c8)]({'namesToBits':{'ReferenceType':0x1,'IsForward':0x2,'NodeClass':0x4,'BrowseName':0x8,'DisplayName':0x10,'TypeDefinition':0x20},'value':0x3f});const _0xfa2c8=$(_0x4ad2b6(0x268));_0xfa2c8[_0x4ad2b6(0x1c5)](Object[_0x4ad2b6(0x2a5)](Object[_0x4ad2b6(0x2a5)]({},_0xf5ef3c()),{'isSelectable'(_0x380862){const _0x51785b=_0x4ad2b6;return _0x380862[_0x51785b(0x294)]===_0x51785b(0x20f)||_0x380862[_0x51785b(0x294)]==='Object';}}));const _0x1f939f={'nodeId':'i=31','referenceTypeId':'','browseName':{'namespaceIndex':0x0,'name':_0x4ad2b6(0x29c)},'displayName':{'text':'References'},'nodeClass':_0x4ad2b6(0x23e),'typeDefinition':'i=31'},_0x566d58=$(_0x4ad2b6(0x295));_0x566d58[_0x4ad2b6(0x1c5)](Object['assign'](Object[_0x4ad2b6(0x2a5)]({},_0xf5ef3c()),{'parentNode':()=>_0x1f939f,'isSelectable'(_0x2c7091){const _0x5f482c=_0x4ad2b6;return _0x2c7091[_0x5f482c(0x294)]===_0x5f482c(0x23e);},'isTypeRef':!![]}));},'oneditsave'(){}});}()));function _0x115e(){const _0x2b3d1a=['DodgerBlue','left','slideDown','toggle','node_label_italic','relativePath','endpointNode','top','widget','reference','browseResult','browseName','180px','nodeId_nsu','<i\x20class=\x22fa\x20fa-bookmark\x22/> \x20','name','#node-input-resultMask','off','disarmClick','failure','function','VariableType','verify','change','browsePath','application/json','replaceWith','SuppressedError','closest','checked','filter','stopPropagation','referenceTypeId','fetched','offset','ns=0;i=45','click','250LWuHIr','animate','selectedMenuItem','suppressed','Invalid','browse','aliased\x20browsePath:\x20','Variable','already\x20fetched','number','red-ui-typedInput-icon','<span\x20class=\x22red-ui-typedInput-type-label\x22></span>','$dropdown','30px','isTypeRef','sterfive-combo-box','element','9790viZBrd','HasSubtype','expanded','OpcUa-Client2-Browse','height','stringify','prependTo','val','trim','nodeId','$info','fa-folder','16px','.spinner','fa-list-alt','done','NodeId\x20with\x20namespace\x20Urn','</span><ul></ul></li>','#node-input-endpoint','sterfive-info','<div\x20class=\x22spinner\x22></div>','NodeClass','<div\x20class=\x22custom-select\x22></div>','statusCode:\x20','$elementDiv','nodes','browse\x20path:\x20','<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>','endpoint','.custom-option','4tInvAE','aliased\x20NodeId:\x20','focus','<i>','[value=\x27','appendTo','parent','ReferenceType','before','dblclick','label','View','css','_initMenu','HasTypeDefinition','ns=0;i=85','\x22}><span\x20class=\x22tree-text\x22\x20title=','HasComponent','sterfive-dropdown',':focus','Value\x20is\x20not\x20verified','fa-sliders','_showTypeMenu','fa-text-width','none','$verifyBtn','<div/>','DisplayName','insertAfter','references','TypeDefinition','fetching\x20failed\x20with\x20error','POST','children','input-group','entries','prop','7772710qJoFHL','length','_hideMenu','<i\x20class=\x22fa\x20fa-tag\x22/>1\x20 \x20','opts','$tree','keydown','append','i=61','ReferenceType\x20|\x20BrowseName\x20|\x20TypeDefinition\x20|\x20DisplayName\x20|\x20NodeClass\x20|\x20IsForward','throw','fa-question','#node-input-nodeId','namesToBits','selected','HasProperty','red-ui-typedInput-focus','already\x20loading','node\x20class:\x20','typeDefinition','Forward','li[key=\x22','</span>','ns=0;i=46','msg','$menu','$input','pageX','BrowsePath','loading','DataType','sort','trigger','string','scrollTop','nodeIds','OpcUa-Endpoint2','5YaMQof','Method','Organizes','#node-input-nodeClassMask','BrowseName','$toggleTreeBtn','$combo','$selectTrigger','isSelectable','aliasedBrowsePath','addClass','call','toString','18px','multiple','statusCode','resolveParentNode','localeCompare','.red-ui-tray-body','nodeClass','#node-input-referenceTypeId','replaceChild','Both','$selectLabel','empty','icon','pageY','References','log','sterfive-input-error','nsu','auto','Unknown\x20bit\x20name','next','find','aliasedNodeId','assign','nodeId_aliased','expandable','ObjectType','enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20','<input\x20type=\x22checkbox\x22>','<li\x20key=\x22','><i\x20class=\x22fa\x20','nsuNodeID','/opcua-for-node-red/support-frame.html','indexOf','preventDefault','<li>error\x20','removeClass','\x20|\x20','wrap','title','Aliased\x20NodeId','push','elements','status','updateValue','<a\x20href=\x22#\x22></a>','<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> ','body','attr','err','12743040eWeMqP','registerType','nodeId:\x20','keyCode','Aliased\x20Browse\x20Path',':first','<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>','DarkOrange','3144588eyzQCB','<div>','pointer-events','ns=0;i=35','<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>','__parentNode','bp_aliased','mousedown','/opcua-for-node-red','\x22\x20style=\x22color:','text','ns=0;i=40','$uiSelect','Objects','hasClass','currentParent','namespaceAliases','CadetBlue','displayName','SandyBrown','input[type=\x22checkbox\x22]','red-ui-typedInput-icon\x20','position','mousedown.red-ui-typedInput-close-property-select','!!failure!!','parentNode','HasChild','nsu\x20nodeId:\x20','1089378fJnBCt','hide','</li>','data','forEach','Inverse','Good','ns=0;i=47','Unspecified','reset','.tree-text:first','#C0DEED','<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>','<span\x20title=','fa-cog','background-color:transparent;overflow:hidden;border:3px',':visible','options','166512ovlMEw','SteelBlue','../../icons/opcuanodeLogo.png','<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>','prev','value','message','mode','nodeBrowser','_showMenu','4067YegGkV','flagEditor','ns=0;i=34','setMode','remove','mousedown.red-ui-typedInput-focus-block','show','2970JmDOXT','error','Object','json','> \x20','expandable\x20expanded','border','catch','match','$inputGroup','then','placeholder','IsForward',';\x22></i>\x20','callback','split','<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>','ns=0;i=61','<span\x20class=\x22custom-checkbox\x22></span>','target','true'];_0x115e=function(){return _0x2b3d1a;};return _0x115e();}
|
9
8
|
</script>
|
10
9
|
<script type="text/x-red" data-template-name="OpcUa-Client2-Browse">
|
11
10
|
<style>
|
@@ -37,8 +36,8 @@ function _0x5e55(_0xbdb485,_0x4d0db6){const _0x1cb348=_0x1cb3();return _0x5e55=f
|
|
37
36
|
</style>
|
38
37
|
<h3>Opc-UA Browse</h3>
|
39
38
|
<div class="form-row">
|
40
|
-
<label for="node-input-name"><i class="icon-tasks"></i
|
41
|
-
<input type="text" id="node-input-name"
|
39
|
+
<label for="node-input-name"><i class="icon-tasks"></i><span data-i18n="node-red:common.label.name"></span></label>
|
40
|
+
<input type="text" id="node-input-name" data-i18n="[placeholder]node-red:common.label.name" />
|
42
41
|
</div>
|
43
42
|
<div class="form-row">
|
44
43
|
<label for="node-input-endpoint"><i class="icon-tasks"></i> Endpoint</label>
|