@opcua/for-node-red 3.8.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-CxGeB_Tt.css +1 -0
- package/config-panel/assets/index-DgIjB-ey.js +49 -0
- package/config-panel/index.html +5 -3
- package/examples/coffee-machine-2.json +3393 -0
- package/examples/svg_watertank.html +17 -0
- package/examples/tank.jsx +33 -0
- 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-DDkINW5U.js +0 -49
- package/config-panel/assets/index-DayGs2U8.css +0 -1
@@ -4,8 +4,7 @@
|
|
4
4
|
</style>
|
5
5
|
|
6
6
|
<script type="text/javascript">
|
7
|
-
function _0x5f46(){const _0x5edebb=['monitor\x20events','2687840Zoykgt','HasChild','NodeId','baseUrl','opts','#node-input-whereClause','<button><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>','sterfive-dropdown','status','<span\x20class=\x22custom-checkbox\x20unchecked\x22></span>','748120XvrYct','$inputGroup','<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>','ns=0;i=40','msg.','<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>','fa-object-group',');\x20-webkit-mask-image:\x20url(','$input','><i\x20class=\x22fa\x20','180px','browsePath','height','HasProperty','message','parent','$combo','sterfive-typedInput-options\x20sterfive-online-menu','<i\x20class=\x22fa\x20fa-bookmark\x22/> \x20','fetching\x20failed\x20with\x20error','/browse','setMode','fa-list-alt',';\x22></i>','_showMenu','nodeClass','<i\x20class=\x22fa\x20fa-font\x22/i>\x20','<div\x20class=\x22sterfive-info-text\x22></div>','DarkOrange','currentParent','mousedown','li[key=\x22','closest','<option/>','installing\x20iframe','span.custom-checkbox','#node-input-subscription','Variable','$menu','none','red-ui-typedInput-icon','30px','_installChildren','red-ui-typedInput-focus','ns=0;i=34','Value\x20is\x20not\x20verified','disarmClick','assign','border','top','references','\x22\x20style=\x22color:','already\x20fetched','fetched\x20:\x20','absolute','fa-text-width','/opcua-for-node-red','checked','reference','width','sort','offset','BrowseName','referenceTypeId','find',':visible','bp_indexed','clicked\x20on\x20icon','NodeId\x20with\x20namespace\x20Urn','replaceWith','subscriptions','> \x20','<span\x20title=','val','browseName','Both','#node-input-inputs','statusText','before','opc.tcp://opcuademo.sterfive.com:26543','/walk-backward','_delay','HasTypeDefinition','Inverse','change','<i\x20class=\x22fa\x20fa-id-card\x22/> \x20','endpoint','VariableType','sterfive.nodeBrowser','nodeBrowser','auto','HasSubtype','$tree','parentNode','NodeClass','$selectLabel','<div>','target',';\x22></i>\x20','selectedMenuItem','<i\x20class=\x22fa\x20','trigger','stopPropagation','text','SuppressedError','events','body','7132779EEWUmz','msg','push','off','failure','placeholder','<span\x20class=\x22cancel-button\x22>✖</span>','requestedNodeId','<span\x20class=\x22validate-button\x22>✔</span>','preventDefault','__parentNode','sterfive-info','$selectTrigger','widget','6sWBdfe','\x22}><span\x20class=\x22tree-text\x22\x20title=','join','appendTo','clicked\x20on\x20','_installTree','split','/checkNodeId','IsForward','SteelBlue','i=61','expanded','<a\x20href=\x22#\x22></a>','_populate','/opcua-for-node-red/support-frame.html','suppressed','log','sterfive-input-group','Invalid','bp_aliased','browse\x20path:\x20','each','TypeDefinition','fetched','toString','sterfive-combo-box','filter','prependTo','title','nodeId:\x20','_createMenu','removeClass','node','next','/extractEventTypes','reset','<span\x20class=\x22red-ui-typedInput-type-label\x22></span>','<ul></ul>','function','<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>','name','ObjectType','data','11dahdOw','class','scrollTop','SandyBrown','Aliased\x20Browse\x20Path','.tree-text:first','namespaceIndex','20px','</span>','$info','Aliased\x20NodeId','left','position','statusCode:\x20','SeaGreen','nodeId','relativePath','nsu','match','7149320IjIryH','has','json','verify','Objects','689YBNUlJ','node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','$uiSelect','catch','nodeId_aliased','inputs','input-group','CadetBlue','OpcUa-Client2-MonitorEvent','click','endpointNode','length','keyCode','<div/>',':first','Organizes','span.custom-checkbox.checked','ns=0;i=61','focus','fa-question','Forward','wrap','dblclick','opcua','#node-input-selectClauses','$toggleTreeBtn','\x20(ns=','DisplayName','pageY','3616ENvkFw','remove','nodeId_nsu','isTypeRef','node\x20class:\x20','<i\x20class=\x22fa\x20fa-tag\x22/>1\x20 \x20','replaceChild','element','126DXjTEM','calc(100%\x20-\x20','$elementDiv','data-value','css','_updateValues','</span><ul></ul></li>','sterfive-input-error',':focus','toggleClass','application/json','POST','aliasedNodeId','BrowsePath','Method','show','no-expandable','DataType','expandable\x20expanded','namespaceAliases','<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> ','fa-folder','true','options','forEach','$dropdown','call','.sterfive-tree\x20li','ns=0;i=47','string','4761633dCdLHD','hide','pageX','browseResult','<li\x20key=\x22','label','value','<iframe></iframe>','Unspecified','multiple','keydown','addClass','resolveParentNode','#node-input-endpoint','mousedown.red-ui-typedInput-close-property-select','ReferenceType','expandable','isSelectable','icon','_setInputValue','li\x20>\x20.tree-text','attr','after','hasClass','toggle','enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20','_hideMenu','unchecked','statusCode','blur','prop','<div\x20class=\x22spinner\x22></div>','tabindex','<i>','<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>','View','<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>','<input\x20type=\x22checkbox\x22>','prev','parentElement','right','displayName','aliasedBrowsePath','_initMenu','grey','<div\x20class=\x22floating-buttons\x22></div>','nsuNodeID','ns=0;i=46','background-color:transparent;overflow:hidden;border:3px','append','registerType','throw','[value=\x27','aliased\x20browsePath:\x20','selected','error','then','stringify','input[type=\x22checkbox\x22]','children','Good','#node-input-startImmediately','subTypes','Object','OpcUa-Endpoint2','apply','nodes','<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>','123680mydHRV','$verifyBtn','indexOf','empty'];_0x5f46=function(){return _0x5edebb;};return _0x5f46();}function _0xf83c(_0x11217c,_0xb4d7b0){const _0x5f46fb=_0x5f46();return _0xf83c=function(_0xf83c26,_0x25dc6c){_0xf83c26=_0xf83c26-0x10f;let _0x5bd734=_0x5f46fb[_0xf83c26];return _0x5bd734;},_0xf83c(_0x11217c,_0xb4d7b0);}(function(_0x420721,_0x3a5eb3){const _0x53b6ac=_0xf83c,_0x3e609d=_0x420721();while(!![]){try{const _0x2c2f84=parseInt(_0x53b6ac(0x1fd))/0x1*(parseInt(_0x53b6ac(0x21a))/0x2)+-parseInt(_0x53b6ac(0x240))/0x3+parseInt(_0x53b6ac(0x137))/0x4+parseInt(_0x53b6ac(0x1f8))/0x5*(parseInt(_0x53b6ac(0x1ba))/0x6)+parseInt(_0x53b6ac(0x222))/0x7*(-parseInt(_0x53b6ac(0x141))/0x8)+parseInt(_0x53b6ac(0x1ac))/0x9+parseInt(_0x53b6ac(0x132))/0xa*(parseInt(_0x53b6ac(0x1e5))/0xb);if(_0x2c2f84===_0x3a5eb3)break;else _0x3e609d['push'](_0x3e609d['shift']());}catch(_0x150640){_0x3e609d['push'](_0x3e609d['shift']());}}}(_0x5f46,0xd7522),(function(){'use strict';const _0x249b92=_0xf83c;function _0x419f38(_0x579546,_0x3584d6){const _0x2e5c66=_0xf83c,_0x1ebb67=$('#node-input-endpoint'),_0x4dba5a=$(_0x2e5c66(0x165)),_0x438565=()=>{const _0x3dcbf0=_0x2e5c66,_0x562394=_0x579546[_0x3dcbf0(0x130)]['node'](_0x1ebb67[_0x3dcbf0(0x18a)]());_0x4dba5a[_0x3dcbf0(0x135)]();if(!_0x562394||!_0x562394[_0x3dcbf0(0x187)])return;for(const _0x230e39 of _0x562394[_0x3dcbf0(0x187)]){const _0x534d6b=_0x230e39[_0x3dcbf0(0x1e2)]||_0x230e39['id'];$(_0x3dcbf0(0x162),{'value':_0x230e39['id'],'label':_0x534d6b,'selected':_0x230e39['id']===_0x3584d6['subscription']})[_0x3dcbf0(0x1a8)](_0x534d6b)[_0x3dcbf0(0x1bd)](_0x4dba5a);}};_0x438565(),_0x4dba5a['on'](_0x2e5c66(0x195),()=>{_0x3584d6['subscription']=_0x4dba5a['val']();}),_0x1ebb67['on']('change',()=>{_0x438565();});}function _0x50026f(_0xd37289,_0x536cff,_0xae58a9,_0x21fbc3){function _0x4de5f9(_0x4f4529){return _0x4f4529 instanceof _0xae58a9?_0x4f4529:new _0xae58a9(function(_0x397426){_0x397426(_0x4f4529);});}return new(_0xae58a9||(_0xae58a9=Promise))(function(_0x53afa6,_0xfbdd40){const _0x2e3010=_0xf83c;function _0x16e3f9(_0x29de69){try{_0x2924ab(_0x21fbc3['next'](_0x29de69));}catch(_0x1bb524){_0xfbdd40(_0x1bb524);}}function _0x14a542(_0x599b31){const _0xa0aea=_0xf83c;try{_0x2924ab(_0x21fbc3[_0xa0aea(0x121)](_0x599b31));}catch(_0x5f3b22){_0xfbdd40(_0x5f3b22);}}function _0x2924ab(_0x2e0d09){const _0x2c285b=_0xf83c;_0x2e0d09['done']?_0x53afa6(_0x2e0d09[_0x2c285b(0x246)]):_0x4de5f9(_0x2e0d09['value'])['then'](_0x16e3f9,_0x14a542);}_0x2924ab((_0x21fbc3=_0x21fbc3[_0x2e3010(0x12f)](_0xd37289,_0x536cff||[]))[_0x2e3010(0x1db)]());});}typeof SuppressedError===_0x249b92(0x1e0)?SuppressedError:function(_0x48c549,_0x1a6df9,_0xedc32){const _0x3f549c=_0x249b92;var _0x307896=new Error(_0xedc32);return _0x307896['name']=_0x3f549c(0x1a9),_0x307896[_0x3f549c(0x125)]=_0x48c549,_0x307896[_0x3f549c(0x1c9)]=_0x1a6df9,_0x307896;};const _0x290b62='ns=0;i=35',_0x28fa6c=_0x249b92(0x20e),_0x27a128=_0x249b92(0x23e),_0x2e2c82=_0x249b92(0x11d),_0x46855f=_0x249b92(0x16d),_0x367387='ns=0;i=45',_0x573f1a=_0x249b92(0x144);var _0xb712e0;(function(_0x3893c4){const _0x1e60e9=_0x249b92;_0x3893c4[_0x3893c4[_0x1e60e9(0x211)]=0x0]='Forward',_0x3893c4[_0x3893c4[_0x1e60e9(0x194)]=0x1]=_0x1e60e9(0x194),_0x3893c4[_0x3893c4['Both']=0x2]=_0x1e60e9(0x18c),_0x3893c4[_0x3893c4[_0x1e60e9(0x1cc)]=0x3]='Invalid';}(_0xb712e0||(_0xb712e0={})));var _0x2d4da0;(function(_0x56bdd6){const _0x5a55fc=_0x249b92;_0x56bdd6[_0x56bdd6[_0x5a55fc(0x248)]=0x0]=_0x5a55fc(0x248),_0x56bdd6[_0x56bdd6[_0x5a55fc(0x12d)]=0x1]=_0x5a55fc(0x12d),_0x56bdd6[_0x56bdd6[_0x5a55fc(0x166)]=0x2]='Variable',_0x56bdd6[_0x56bdd6[_0x5a55fc(0x230)]=0x4]='Method',_0x56bdd6[_0x56bdd6[_0x5a55fc(0x1e3)]=0x8]=_0x5a55fc(0x1e3),_0x56bdd6[_0x56bdd6[_0x5a55fc(0x198)]=0x10]=_0x5a55fc(0x198),_0x56bdd6[_0x56bdd6[_0x5a55fc(0x24f)]=0x20]=_0x5a55fc(0x24f),_0x56bdd6[_0x56bdd6[_0x5a55fc(0x233)]=0x40]=_0x5a55fc(0x233),_0x56bdd6[_0x56bdd6[_0x5a55fc(0x111)]=0x80]=_0x5a55fc(0x111);}(_0x2d4da0||(_0x2d4da0={})));var _0x51dd36;(function(_0x549ef0){const _0xe6cf17=_0x249b92;_0x549ef0[_0x549ef0['Object']=0x1]=_0xe6cf17(0x12d),_0x549ef0[_0x549ef0[_0xe6cf17(0x166)]=0x2]='Variable',_0x549ef0[_0x549ef0['Method']=0x4]=_0xe6cf17(0x230),_0x549ef0[_0x549ef0[_0xe6cf17(0x1e3)]=0x8]=_0xe6cf17(0x1e3),_0x549ef0[_0x549ef0[_0xe6cf17(0x198)]=0x10]=_0xe6cf17(0x198),_0x549ef0[_0x549ef0['ReferenceType']=0x20]='ReferenceType',_0x549ef0[_0x549ef0[_0xe6cf17(0x233)]=0x40]=_0xe6cf17(0x233),_0x549ef0[_0x549ef0[_0xe6cf17(0x111)]=0x80]='View';}(_0x51dd36||(_0x51dd36={})));var _0x228f00;(function(_0x2241ff){const _0xd97fa6=_0x249b92;_0x2241ff[_0x2241ff[_0xd97fa6(0x24f)]=0x1]=_0xd97fa6(0x24f),_0x2241ff[_0x2241ff[_0xd97fa6(0x1c2)]=0x2]=_0xd97fa6(0x1c2),_0x2241ff[_0x2241ff['NodeClass']=0x4]=_0xd97fa6(0x19f),_0x2241ff[_0x2241ff[_0xd97fa6(0x17f)]=0x8]=_0xd97fa6(0x17f),_0x2241ff[_0x2241ff[_0xd97fa6(0x218)]=0x10]=_0xd97fa6(0x218),_0x2241ff[_0x2241ff['TypeDefinition']=0x20]=_0xd97fa6(0x1d0);}(_0x228f00||(_0x228f00={})));function _0x2039df(_0x369cf3){const _0x590b9d=_0x249b92;switch(_0x369cf3){case _0x590b9d(0x20c):return _0x290b62;case _0x590b9d(0x14e):return _0x2e2c82;case'HasComponent':return _0x27a128;case _0x590b9d(0x138):return _0x46855f;case'HasSubtype':return _0x367387;case _0x590b9d(0x193):return _0x573f1a;}}const _0x218a2f=_0x53a1bf=>{const _0x5c1262=_0x249b92;switch(_0x53a1bf['nodeClass']){case _0x5c1262(0x12d):if(_0x53a1bf[_0x5c1262(0x180)]===_0x290b62);if(_0x53a1bf['typeDefinition']===_0x28fa6c||_0x53a1bf[_0x5c1262(0x180)]===_0x5c1262(0x1c4))return{'icon':_0x5c1262(0x237),'color':'rgba(61,\x2060,\x204,\x200.525)'};return{'icon':_0x5c1262(0x147),'color':_0x5c1262(0x1f3)};case _0x5c1262(0x166):if(_0x53a1bf[_0x5c1262(0x180)]===_0x27a128)return{'icon':_0x5c1262(0x157),'color':_0x5c1262(0x1c3)};else return _0x53a1bf[_0x5c1262(0x180)]===_0x2e2c82?{'icon':_0x5c1262(0x157),'color':'DodgerBlue'}:{'icon':_0x5c1262(0x157),'color':_0x5c1262(0x204)};case _0x5c1262(0x230):return{'icon':'fa-cog','color':_0x5c1262(0x1e8)};case _0x5c1262(0x1e3):return{'icon':_0x5c1262(0x147),'color':_0x5c1262(0x15d)};case _0x5c1262(0x198):return{'icon':'fa-sliders','color':_0x5c1262(0x15d)};case'DataType':return{'icon':_0x5c1262(0x178),'color':_0x5c1262(0x204)};}return{'icon':_0x5c1262(0x210),'color':_0x5c1262(0x11a)};},_0x3f90de=(_0x461dbb,_0x176dee,_0x2bd535)=>_0x50026f(void 0x0,[_0x461dbb,_0x176dee,_0x2bd535],void 0x0,function*({endpointNode:_0x5c095b,endpoint:_0x386b5e,baseUrl:_0x208825},_0x16df9f,_0x109207){const _0x386deb=_0x249b92,_0x5dd52d=_0x208825+_0x386deb(0x179),_0x142c64=_0x5dd52d+_0x386deb(0x155),_0x14b386=Object[_0x386deb(0x170)](Object[_0x386deb(0x170)]({},_0x109207),{'nodeId':_0x16df9f,'resultMask':0x3f}),_0x1b9b2c=yield fetch(_0x142c64,{'method':_0x386deb(0x22d),'body':JSON[_0x386deb(0x127)]({'endpointNode':_0x5c095b,'endpoint':_0x386b5e,'browseDescription':_0x14b386}),'headers':{'Content-Type':'application/json'}});if(_0x1b9b2c[_0x386deb(0x13f)]!==0xc8)return console[_0x386deb(0x1ca)](_0x386deb(0x154),_0x1b9b2c['status'],_0x1b9b2c['statusText']),{'references':[]};const _0x2a87fe=yield _0x1b9b2c[_0x386deb(0x1fa)](),_0x5670d0=_0x2a87fe[_0x386deb(0x243)][_0x386deb(0x173)]||[];return{'references':_0x5670d0};}),_0x4a89a2={'referenceTypeId':_0x2039df(_0x249b92(0x138)),'includeSubtypes':!![],'browseDirection':_0xb712e0[_0x249b92(0x211)],'nodeClassMask':_0x2d4da0[_0x249b92(0x166)]|_0x2d4da0[_0x249b92(0x12d)]|_0x2d4da0[_0x249b92(0x230)],'resultMask':0x3f},_0x582c93={'referenceTypeId':_0x2039df(_0x249b92(0x20c)),'includeSubtypes':!![],'browseDirection':_0xb712e0['Forward'],'nodeClassMask':_0x2d4da0['Variable']|_0x2d4da0[_0x249b92(0x12d)]|_0x2d4da0[_0x249b92(0x230)],'resultMask':0x3f},_0x419a99=(_0x4772c,_0x5d76bb)=>_0x50026f(void 0x0,[_0x4772c,_0x5d76bb],void 0x0,function*({endpointNode:_0x1506a3,endpoint:_0x253f5d,baseUrl:_0x26d9e5},{nodeId:_0x4bc74b,rootNodeId:_0x1f3333,isType:_0x337c79}){const _0xd6b459=_0x249b92,_0x3769ca=_0x26d9e5+_0xd6b459(0x179),_0x526521=_0x3769ca+_0xd6b459(0x191),_0x49841e=yield fetch(_0x526521,{'method':_0xd6b459(0x22d),'body':JSON[_0xd6b459(0x127)]({'endpointNode':_0x1506a3,'endpoint':_0x253f5d,'nodeId':_0x4bc74b,'rootNodeId':_0x1f3333,'isType':_0x337c79}),'headers':{'Content-Type':'application/json'}});if(_0x49841e[_0xd6b459(0x13f)]!==0xc8)return null;const _0x5b9d48=yield _0x49841e[_0xd6b459(0x1fa)]();return _0x5b9d48[_0xd6b459(0x14c)];}),_0x5a5f86=(_0x269341,_0x2baf33)=>{const _0x3c15a8=_0x249b92;if(_0x269341['statusCode']!==_0x3c15a8(0x12a))return _0x269341[_0x3c15a8(0x1b3)];switch(_0x2baf33){case'browsePath':return _0x269341[_0x3c15a8(0x183)];case _0x3c15a8(0x118):return _0x269341[_0x3c15a8(0x1cd)]||_0x269341[_0x3c15a8(0x183)];case'aliasedNodeId':return _0x269341[_0x3c15a8(0x201)]||_0x269341['nodeId_nsu'];case _0x3c15a8(0x11c):return _0x269341[_0x3c15a8(0x21c)];default:case'nodeId':return _0x269341[_0x3c15a8(0x1f4)];}},_0x2ac30a=_0x3dee79=>{const _0xa08079=_0x249b92;if(_0x3dee79['statusCode']!==_0xa08079(0x12a))return _0xa08079(0x1f2)+_0x3dee79[_0xa08079(0x25c)];else{let _0x20d5eb=[];return _0x20d5eb[_0xa08079(0x1ae)](_0xa08079(0x1d7)+_0x3dee79[_0xa08079(0x1f4)]),_0x20d5eb['push'](_0xa08079(0x1ce)+_0x3dee79[_0xa08079(0x183)]),_0x20d5eb['push'](_0xa08079(0x21e)+_0x2d4da0[_0x3dee79['nodeClass']]),_0x3dee79['nodeId_nsu']&&_0x20d5eb[_0xa08079(0x1ae)]('nsu\x20nodeId:\x20'+_0x3dee79[_0xa08079(0x21c)]),_0x3dee79[_0xa08079(0x201)]&&_0x20d5eb[_0xa08079(0x1ae)]('aliased\x20NodeId:\x20'+_0x3dee79[_0xa08079(0x201)]),_0x3dee79['bp_indexed']&&_0x20d5eb[_0xa08079(0x1ae)](_0xa08079(0x123)+_0x3dee79['bp_aliased']),_0x20d5eb[_0xa08079(0x1bc)]('\x0a');}};function _0x53fc8f(_0x1b88da){const _0x4c4963=_0x249b92;if(_0x1b88da[_0x4c4963(0x1f7)](/^nsu=/))return _0x4c4963(0x11c);if(_0x1b88da[_0x4c4963(0x1f7)](/^(ns=.*;)?(i|b|s|g)=/))return'nodeId';if(_0x1b88da[_0x4c4963(0x1f7)](/^nsa=/))return _0x4c4963(0x22e);if(_0x1b88da[_0x4c4963(0x1f7)](/^(\/|\.)[0-9]+:/))return _0x4c4963(0x14c);if(_0x1b88da[_0x4c4963(0x1f7)](/^(\/|\.).*:/))return _0x4c4963(0x14c);}function _0x48b5ed(_0x143308){const _0x40a7d9=_0x249b92,_0x1878e6=_0x53fc8f(_0x143308);switch(_0x1878e6){case _0x40a7d9(0x1f4):return'n';case _0x40a7d9(0x22e):return'na';case _0x40a7d9(0x11c):return _0x40a7d9(0x1f6);case _0x40a7d9(0x14c):return'b';case _0x40a7d9(0x118):return'ab';default:return't';}}function _0x338f47(_0x49518a){const _0x27507b=_0x249b92;let _0x2da248;switch(_0x49518a){case'n':_0x2da248='nodeId';break;case'na':_0x2da248=_0x27507b(0x22e);break;case _0x27507b(0x1f6):_0x2da248='nsuNodeID';break;case'b':_0x2da248=_0x27507b(0x14c);break;case'ab':_0x2da248=_0x27507b(0x118);break;}return _0x2da248;}function _0x242991(_0x455175){const _0x1f71ab=_0x249b92;switch(_0x455175){case _0x1f71ab(0x1f4):return'n';case _0x1f71ab(0x22e):return'na';case _0x1f71ab(0x11c):return _0x1f71ab(0x1f6);case _0x1f71ab(0x14c):return'b';case _0x1f71ab(0x118):return'ab';default:return't';}}const _0xbe56a2=(_0x203d45,_0x44ea13)=>_0x50026f(void 0x0,[_0x203d45,_0x44ea13],void 0x0,function*({endpointNode:_0x546a62,endpoint:_0xbfd355,baseUrl:_0x176130},_0x5746a3){const _0x1cb262=_0x249b92,_0x2edd13=_0x176130+_0x1cb262(0x179),_0x13faf1=_0x2edd13+_0x1cb262(0x1c1),_0x48ce5d=_0x546a62['id'],_0x5a9701=RED[_0x1cb262(0x130)]['node'](_0x48ce5d);console[_0x1cb262(0x1ca)](_0x5a9701[_0x1cb262(0x235)]),_0x5a9701['namespaceAliases'];const _0x42c172=_0x546a62['namespaceAliases'],_0x393491=yield fetch(_0x13faf1,{'method':_0x1cb262(0x22d),'body':JSON[_0x1cb262(0x127)]({'endpointNode':_0x546a62,'endpoint':_0xbfd355,'nodeId':_0x5746a3,'namespaceAliases':_0x42c172}),'headers':{'Content-Type':_0x1cb262(0x22c)}}),_0x3d62c2=yield _0x393491[_0x1cb262(0x1fa)]();return{'json':_0x3d62c2,'data':_0x393491};}),_0x13ec72=(_0x37f4db,_0x1a4128,_0x56bc33,_0xa1dba3)=>_0x50026f(void 0x0,[_0x37f4db,_0x1a4128,_0x56bc33,_0xa1dba3],void 0x0,function*({endpointNode:_0x12c393,endpoint:_0x1eaaf8,baseUrl:_0x2f211a},_0x48bc45,_0x86ff4d,_0x45a111){const _0x595b53=_0x249b92,_0x32a964=_0x86ff4d[_0x595b53(0x18a)](),{json:_0x39b034,data:_0x32ed91}=yield _0xbe56a2({'endpointNode':_0x12c393,'endpoint':_0x1eaaf8,'baseUrl':_0x2f211a},_0x32a964),_0x4c253e=(_0x27c601,_0x19561b)=>{const _0x2ca419=_0x595b53;_0x45a111[_0x2ca419(0x1a8)](_0x27c601)[_0x2ca419(0x24b)](_0x2ca419(0x1b7))[_0x2ca419(0x24b)](_0x19561b),_0x45a111[_0x2ca419(0x231)](),setTimeout(()=>{const _0x20b586=_0x2ca419;_0x45a111[_0x20b586(0x1d9)](_0x19561b),_0x45a111[_0x20b586(0x241)]();},0xbb8);};if(_0x32ed91[_0x595b53(0x13f)]!==0xc8)return _0x4c253e('!!failure!!'+_0x32a964,'failure'),![];else{if(_0x39b034['statusCode']['match'](/Good/)){const _0x4c77b7=_0x2ac30a(_0x39b034);_0x86ff4d['attr'](_0x595b53(0x1d6),_0x4c77b7);const _0x35878e=_0x5a5f86(_0x39b034,_0x48bc45);return _0x86ff4d[_0x595b53(0x18a)](_0x35878e),_0x86ff4d[_0x595b53(0x1a6)](_0x595b53(0x195)),_0x4c253e(_0x595b53(0x12a),'ok'),!![];}else return _0x86ff4d['val'](''+_0x32a964),_0x4c253e(_0x39b034[_0x595b53(0x25c)]+'\x20'+_0x32ed91[_0x595b53(0x18e)],_0x595b53(0x1b0)),![];}});function _0x363765(_0x2e4faf,_0x531d8a){return _0x50026f(this,void 0x0,void 0x0,function*(){const _0x4300bf=_0xf83c,_0x129c4d=_0x2e4faf['data'](_0x4300bf(0x246)),_0x3037c0=yield _0x3f90de(_0x531d8a,_0x129c4d,_0x4a89a2),_0x5ae03c=yield _0x3f90de(_0x531d8a,_0x129c4d,_0x582c93);return{'references':[..._0x3037c0[_0x4300bf(0x173)],..._0x5ae03c[_0x4300bf(0x173)]]};});}const _0xfea240={'referenceTypeId':_0x2039df(_0x249b92(0x19c)),'includeSubtypes':!![],'browseDirection':_0xb712e0[_0x249b92(0x211)],'nodeClassMask':_0x2d4da0[_0x249b92(0x24f)]|_0x2d4da0['ObjectType']|_0x2d4da0[_0x249b92(0x233)]|_0x2d4da0[_0x249b92(0x198)],'resultMask':0x3f};function _0x13899e(_0x336df4,_0xec65cc){return _0x50026f(this,void 0x0,void 0x0,function*(){const _0x5150ab=_0xf83c,_0x5b444e=_0x336df4[_0x5150ab(0x1e4)](_0x5150ab(0x246)),_0x331130=yield _0x3f90de(_0xec65cc,_0x5b444e,_0xfea240);return _0x331130;});}const _0x4f18cf=_0x363f3f=>{const _0x4009a2=_0x249b92;var _0x4aa22d,_0x43d3ee,_0x22d2b9,_0x3e6278;if(!_0x363f3f||!_0x363f3f['nodeId']){const _0x2cc139=$(_0x4009a2(0x143));return _0x2cc139;}const _0x3599d1=_0x363f3f['nodeId'][_0x4009a2(0x1d2)](),_0x4b5eb2=((_0x4aa22d=_0x363f3f[_0x4009a2(0x117)])===null||_0x4aa22d===void 0x0?void 0x0:_0x4aa22d[_0x4009a2(0x1a8)])||((_0x43d3ee=_0x363f3f[_0x4009a2(0x18b)])===null||_0x43d3ee===void 0x0?void 0x0:_0x43d3ee[_0x4009a2(0x1e2)])||_0x363f3f[_0x4009a2(0x1f4)][_0x4009a2(0x1d2)](),{icon:_0xe3e2d2,color:_0x2876bd}=_0x218a2f(_0x363f3f),_0x2a6875='('+_0x363f3f[_0x4009a2(0x1f4)]['toString']()+')\x20'+(((_0x22d2b9=_0x363f3f[_0x4009a2(0x18b)])===null||_0x22d2b9===void 0x0?void 0x0:_0x22d2b9[_0x4009a2(0x1e2)])||((_0x3e6278=_0x363f3f[_0x4009a2(0x117)])===null||_0x3e6278===void 0x0?void 0x0:_0x3e6278[_0x4009a2(0x1a8)])||''),_0x39ff00=$(_0x4009a2(0x244)+_0x363f3f[_0x4009a2(0x1f4)][_0x4009a2(0x1d2)]()+_0x4009a2(0x1bb)+_0x2a6875+_0x4009a2(0x14a)+_0xe3e2d2+'\x22\x20style=\x22color:'+_0x2876bd+_0x4009a2(0x1a3)+_0x4b5eb2+_0x4009a2(0x228));return _0x39ff00['addClass'](_0x4009a2(0x250)),_0x39ff00[_0x4009a2(0x1e4)]('value',_0x3599d1),_0x39ff00[_0x4009a2(0x1e4)]('reference',_0x363f3f),_0x39ff00;},_0x4be119=(_0x59ad54,_0x266420)=>{const _0x139445=_0x249b92;return _0x266420[_0x139445(0x181)](_0x139445(0x160)+_0x59ad54+'\x22]');},_0x27b97d=(_0xd4626e,_0x344902)=>{const _0x26f0c8=_0x249b92;_0xd4626e['$tree'][_0x26f0c8(0x181)](_0x26f0c8(0x254))[_0x26f0c8(0x1d9)](_0x26f0c8(0x124)),_0x344902[_0x26f0c8(0x181)](_0x26f0c8(0x1ea))[_0x26f0c8(0x24b)](_0x26f0c8(0x124));},_0x325577=(_0x29a7f4,_0x1765e1,_0x4525f1)=>_0x50026f(void 0x0,void 0x0,void 0x0,function*(){const _0x47fd2b=_0x249b92;let _0x17418e=_0x4525f1[_0x47fd2b(0x129)](_0x47fd2b(0x20b));_0x1765e1[_0x47fd2b(0x1f5)]['elements']||[];const _0x598e1b=_0x1765e1['nodeIds']||[];if(_0x598e1b['length']===0x0)return;for(const _0x995c9f of _0x598e1b){_0x17418e['hasClass'](_0x47fd2b(0x250))&&(yield _0x301160(_0x29a7f4,_0x17418e));const _0x1da935=_0x4be119(_0x995c9f,_0x17418e);if(_0x1da935[_0x47fd2b(0x208)]===0x0)return;_0x17418e=_0x1da935;}_0x27b97d(_0x29a7f4,_0x17418e),_0x4583ea(_0x29a7f4[_0x47fd2b(0x23b)],_0x17418e);});function _0x4583ea(_0x36a794,_0x2cbac6){const _0x1e460b=_0x249b92,_0x4e2a72=_0x2cbac6[_0x1e460b(0x1f1)]()[_0x1e460b(0x172)],_0x464821=_0x36a794[_0x1e460b(0x1e7)]();if(_0x464821==undefined)return;const _0x420fd4=_0x464821+_0x4e2a72-_0x36a794[_0x1e460b(0x14d)]()/0x2+_0x2cbac6['height']()/0x2;_0x36a794['animate']({'scrollTop':_0x420fd4},0x1f4);}const _0x487def=(_0xbbc19d,_0x1ce8b1)=>_0x50026f(void 0x0,void 0x0,void 0x0,function*(){const _0x35ed56=_0x249b92,_0x4feea9=_0xbbc19d[_0x35ed56(0x149)][_0x35ed56(0x18a)](),_0x2827a4={'nodeId':_0x4feea9,'rootNodeId':_0x1ce8b1[_0x35ed56(0x1f4)],'isType':_0xbbc19d[_0x35ed56(0x239)][_0x35ed56(0x21d)]||![]},_0x3929f2=_0x3dc75e(_0xbbc19d),_0x561837=yield _0x419a99(_0x3929f2,_0x2827a4);if(!_0x561837)return;yield _0x325577(_0xbbc19d,_0x561837,_0xbbc19d[_0x35ed56(0x19d)]);});function _0x120196(_0x464930,_0x285461,_0x247810,_0x3b06e8){return _0x50026f(this,void 0x0,void 0x0,function*(){const _0x53f83a=_0xf83c;if(_0x285461[_0x53f83a(0x257)](_0x53f83a(0x1d1))){console[_0x53f83a(0x1ca)](_0x53f83a(0x175));return;}if(_0x285461[_0x53f83a(0x257)]('loading')){console[_0x53f83a(0x1ca)]('already\x20loading');return;}_0x285461[_0x53f83a(0x24b)]('loading'),_0x285461['append'](_0x53f83a(0x25f));try{_0x285461[_0x53f83a(0x129)]('ul')[_0x53f83a(0x135)]();const {references:_0x1908ac}=yield _0x247810(_0x285461,_0x3b06e8);_0x1908ac[_0x53f83a(0x17d)]((_0x3cb8b3,_0x4dc39a)=>{const _0x184022=_0x53f83a;var _0x124f41,_0x4e15de;return(((_0x124f41=_0x3cb8b3[_0x184022(0x18b)])===null||_0x124f41===void 0x0?void 0x0:_0x124f41[_0x184022(0x1e2)])||'')['localeCompare'](((_0x4e15de=_0x4dc39a[_0x184022(0x18b)])===null||_0x4e15de===void 0x0?void 0x0:_0x4e15de[_0x184022(0x1e2)])||'');});for(const _0x1854a7 of _0x1908ac){if(_0x464930['options'][_0x53f83a(0x1d4)]&&!_0x464930['options'][_0x53f83a(0x1d4)](_0x1854a7))continue;const _0x1684b1=_0x4f18cf(_0x1854a7);_0x285461['children']('ul')[_0x53f83a(0x11f)](_0x1684b1);}_0x285461[_0x53f83a(0x24b)](_0x53f83a(0x1d1));}catch(_0x445020){_0x285461[_0x53f83a(0x129)]('ul')[_0x53f83a(0x11f)]('<li>error\x20'+_0x445020[_0x53f83a(0x14f)]+'</li>'),console[_0x53f83a(0x1ca)]('err',_0x445020);}_0x285461['find']('.spinner')[_0x53f83a(0x21b)](),_0x285461[_0x53f83a(0x1d9)]('loading');});}function _0x3dc75e(_0x403bbc){const _0x51d137=_0x249b92,_0x268154={'baseUrl':_0x403bbc[_0x51d137(0x239)][_0x51d137(0x13a)],'endpointNode':typeof _0x403bbc[_0x51d137(0x239)][_0x51d137(0x207)]==='function'?_0x403bbc['options']['endpointNode']():_0x403bbc[_0x51d137(0x239)][_0x51d137(0x207)],'endpoint':typeof _0x403bbc[_0x51d137(0x239)][_0x51d137(0x197)]===_0x51d137(0x1e0)?_0x403bbc[_0x51d137(0x239)][_0x51d137(0x197)]():_0x403bbc[_0x51d137(0x239)][_0x51d137(0x197)]};return _0x268154;}function _0x301160(_0x5e4bce,_0x157de8){return _0x50026f(this,void 0x0,void 0x0,function*(){const _0x1a74fa=_0xf83c;if(_0x157de8[_0x1a74fa(0x257)](_0x1a74fa(0x1d1))){_0x157de8[_0x1a74fa(0x1d9)]('expandable')['addClass'](_0x1a74fa(0x1c5)),_0x157de8[_0x1a74fa(0x129)]('ul')[_0x1a74fa(0x258)]();return;}const _0x10a506=_0x3dc75e(_0x5e4bce),_0x2d5fc3=!_0x5e4bce[_0x1a74fa(0x239)]['isTypeRef']?_0x363765:_0x13899e;try{yield _0x120196(_0x5e4bce,_0x157de8,_0x2d5fc3,_0x10a506),_0x157de8[_0x1a74fa(0x1d9)]('expandable')[_0x1a74fa(0x24b)]('expanded');}catch(_0x551404){_0x157de8[_0x1a74fa(0x1d9)](_0x1a74fa(0x250))['addClass'](_0x1a74fa(0x1c5)),console['log'](_0x1a74fa(0x125),_0x551404);}});}const _0x90b154={'browseName':{'namespaceIndex':0x0,'name':_0x249b92(0x1fc)},'nodeClass':_0x249b92(0x12d),'nodeId':'ns=0;i=85','displayName':{'text':_0x249b92(0x1fc)},'typeDefinition':_0x28fa6c},_0x5187c0=()=>{const _0x3f71ef=_0x249b92;$[_0x3f71ef(0x1b9)](_0x3f71ef(0x199),{'options':{'endpointNode':()=>({'endpoint':_0x3f71ef(0x190)}),'endpoint':()=>undefined,'parentNode':()=>_0x90b154,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x50026f(this,void 0x0,void 0x0,function*(){const _0x50729e=_0xf83c,_0x31dc10=this;if(_0x31dc10['__parentNode']==undefined){const _0xfeaa68=typeof _0x31dc10[_0x50729e(0x239)][_0x50729e(0x19e)]===_0x50729e(0x1e0)?_0x31dc10[_0x50729e(0x239)][_0x50729e(0x19e)][_0x50729e(0x23c)](_0x31dc10):_0x31dc10['options'][_0x50729e(0x19e)];if(_0xfeaa68 instanceof Promise){const _0x20d983=yield _0xfeaa68;_0x31dc10[_0x50729e(0x1b6)]=_0x20d983;}else _0x31dc10['__parentNode']=_0xfeaa68;}return _0x31dc10[_0x50729e(0x1b6)]||_0x90b154;});},'reset'(){return _0x50026f(this,void 0x0,void 0x0,function*(){const _0x2bfb40=_0xf83c,_0x2c6fd=this,_0x1ee93d=_0x2c6fd;_0x1ee93d[_0x2bfb40(0x1b6)]=undefined,_0x2c6fd['$tree'][_0x2bfb40(0x135)]();const _0x18fc3=yield this['resolveParentNode'](),_0x397320=_0x4f18cf(_0x18fc3);_0x2c6fd['$tree'][_0x2bfb40(0x11f)](_0x397320),_0x2c6fd[_0x2bfb40(0x15e)]=_0x18fc3;});},'verify'(_0x1edb23){const _0x4ec019=_0x3f71ef,_0x162fa6=this,_0x234775=_0x3dc75e(_0x162fa6);_0x13ec72(_0x234775,_0x1edb23,_0x162fa6[_0x4ec019(0x149)],_0x162fa6['$info'])[_0x4ec019(0x126)](_0x4dee46=>{const _0x21cd23=_0x4ec019;!_0x4dee46?_0x162fa6[_0x21cd23(0x151)][_0x21cd23(0x24b)](_0x21cd23(0x229)):_0x162fa6[_0x21cd23(0x151)][_0x21cd23(0x1d9)](_0x21cd23(0x229));});},'_hideMenu'(_0x58e540){const _0x555f16=_0x3f71ef,_0x1458f5=this;$(document)[_0x555f16(0x1af)](_0x555f16(0x24e)),_0x58e540['hide'](),_0x58e540[_0x555f16(0x226)]({'height':_0x555f16(0x19b)});if(_0x58e540[_0x555f16(0x13b)][_0x555f16(0x249)]){var _0x3fc51b=[];_0x58e540[_0x555f16(0x181)](_0x555f16(0x128))[_0x555f16(0x1cf)](function(){const _0x5658ec=_0x555f16;$(this)[_0x5658ec(0x25e)](_0x5658ec(0x17a))&&_0x3fc51b['push']($(this)[_0x5658ec(0x1e4)]('value'));}),_0x58e540['callback'](_0x3fc51b);}_0x1458f5[_0x555f16(0x224)]['is'](_0x555f16(0x182))?_0x1458f5[_0x555f16(0x149)][_0x555f16(0x1a6)](_0x555f16(0x20f)):_0x1458f5[_0x555f16(0x1b8)]['trigger'](_0x555f16(0x20f));},'_createMenu'(_0x49df2d,_0x31acb9,_0x6f79){const _0x4c2db0=_0x3f71ef;var _0x36a745=this;const _0x4f5e93=$(_0x4c2db0(0x1a1))[_0x4c2db0(0x24b)](_0x4c2db0(0x152));return _0x4f5e93[_0x4c2db0(0x13b)]=_0x31acb9,_0x4f5e93['callback']=_0x6f79,_0x49df2d[_0x4c2db0(0x23a)](_0x1d5a3b=>{const _0x4e1765=_0x4c2db0;typeof _0x1d5a3b===_0x4e1765(0x23f)&&(_0x1d5a3b={'value':_0x1d5a3b,'label':_0x1d5a3b});var _0xbeca52=$(_0x4e1765(0x1c6))[_0x4e1765(0x255)](_0x4e1765(0x246),_0x1d5a3b['value'])['appendTo'](_0x4f5e93);_0x1d5a3b[_0x4e1765(0x245)]&&_0xbeca52[_0x4e1765(0x1a8)](_0x1d5a3b['label']);_0x1d5a3b[_0x4e1765(0x1d6)]&&_0xbeca52[_0x4e1765(0x25e)](_0x4e1765(0x1d6),_0x1d5a3b[_0x4e1765(0x1d6)]);if(_0x1d5a3b[_0x4e1765(0x252)]){if(_0x1d5a3b[_0x4e1765(0x252)][_0x4e1765(0x134)]('<')===0x0)$(_0x1d5a3b[_0x4e1765(0x252)])[_0x4e1765(0x1d5)](_0xbeca52);else _0x1d5a3b['icon'][_0x4e1765(0x134)]('/')!==-0x1?$(_0x4e1765(0x10f),{'class':_0x4e1765(0x169),'style':'mask-image:\x20url('+_0x1d5a3b[_0x4e1765(0x252)]+_0x4e1765(0x148)+_0x1d5a3b['icon']+');'})[_0x4e1765(0x1d5)](_0xbeca52):$(_0x4e1765(0x10f),{'class':'red-ui-typedInput-icon\x20'+_0x1d5a3b[_0x4e1765(0x252)]})['prependTo'](_0xbeca52);}else _0xbeca52[_0x4e1765(0x226)]({'paddingLeft':'18px'});!_0x1d5a3b['icon']&&!_0x1d5a3b[_0x4e1765(0x245)]&&_0xbeca52[_0x4e1765(0x1a8)](_0x1d5a3b['value']);var _0xe2926b;_0x31acb9[_0x4e1765(0x249)]&&(_0xe2926b=$(_0x4e1765(0x113))['css']('pointer-events',_0x4e1765(0x168))[_0x4e1765(0x1e4)](_0x4e1765(0x246),_0x1d5a3b['value'])['prependTo'](_0xbeca52)['on'](_0x4e1765(0x15f),function(_0x311f2){_0x311f2['preventDefault']();})),_0xbeca52['on'](_0x4e1765(0x206),function(_0x149b56){const _0x2697e6=_0x4e1765;_0x149b56[_0x2697e6(0x1b5)](),_0x149b56[_0x2697e6(0x1a7)](),!_0x31acb9['multiple']?(_0x6f79(_0x1d5a3b[_0x2697e6(0x246)]),_0x36a745[_0x2697e6(0x25a)](_0x4f5e93)):_0xe2926b[_0x2697e6(0x25e)]('checked',!_0xe2926b[_0x2697e6(0x25e)](_0x2697e6(0x17a)));});}),_0x4f5e93[_0x4c2db0(0x226)]({'display':_0x4c2db0(0x168)}),_0x4f5e93['on']('keydown',function(_0x2d440c){const _0x2838b4=_0x4c2db0;if(_0x2d440c[_0x2838b4(0x209)]===0x28)_0x2d440c[_0x2838b4(0x1b5)](),$(this)[_0x2838b4(0x129)](_0x2838b4(0x22a))[_0x2838b4(0x1db)]()[_0x2838b4(0x1a6)](_0x2838b4(0x20f));else{if(_0x2d440c[_0x2838b4(0x209)]===0x26)_0x2d440c[_0x2838b4(0x1b5)](),$(this)[_0x2838b4(0x129)](_0x2838b4(0x22a))[_0x2838b4(0x114)]()[_0x2838b4(0x1a6)](_0x2838b4(0x20f));else _0x2d440c[_0x2838b4(0x209)]===0x1b&&(_0x2d440c[_0x2838b4(0x1b5)](),_0x36a745['_hideMenu'](_0x4f5e93));}_0x2d440c['stopPropagation']();}),_0x4f5e93;},'disarmClick':![],'_showMenu'(_0x3edcee,_0x7798e){const _0x141c27=_0x3f71ef;if(this['disarmClick']){this[_0x141c27(0x16f)]=![];return;}var _0x12a609=this,_0x4d88ef=_0x7798e[_0x141c27(0x17e)](),_0x248f3d=_0x7798e['height'](),_0x21d0fb=_0x3edcee[_0x141c27(0x14d)](),_0x552b35=_0x248f3d+_0x4d88ef['top'];_0x552b35+_0x21d0fb-$(document)[_0x141c27(0x1e7)]()>$(window)[_0x141c27(0x14d)]()&&(_0x552b35-=_0x552b35+_0x21d0fb-$(window)[_0x141c27(0x14d)]()+0x5),_0x552b35<0x0&&(_0x3edcee[_0x141c27(0x14d)](_0x21d0fb+_0x552b35),_0x552b35=0x0),_0x3edcee['css']({'top':_0x552b35+'px','left':_0x4d88ef[_0x141c27(0x1f0)]+'px'}),_0x3edcee['slideDown'](0x64),this[_0x141c27(0x192)](function(){const _0x1cb822=_0x141c27;_0x12a609[_0x1cb822(0x1ff)]['addClass'](_0x1cb822(0x16c)),$(document)['on'](_0x1cb822(0x24e),function(_0x598ebb){const _0x53ffef=_0x1cb822;!$(_0x598ebb[_0x53ffef(0x1a2)])['closest'](_0x3edcee)[_0x53ffef(0x208)]&&_0x12a609['_hideMenu'](_0x3edcee),$(_0x598ebb['target'])[_0x53ffef(0x161)](_0x7798e)[_0x53ffef(0x208)]&&(_0x12a609['disarmClick']=!![],_0x598ebb[_0x53ffef(0x1b5)]());});});},'_showTypeMenu'(){const _0xadd896=_0x3f71ef,_0x122345=this;this[_0xadd896(0x159)](_0x122345[_0xadd896(0x167)],_0x122345[_0xadd896(0x151)]),_0x122345['$dropdown']['hide']();const _0x1e38ea=_0x122345['selectedMenuItem'];var _0x366f70=_0x122345[_0xadd896(0x167)]['find'](_0xadd896(0x122)+_0x1e38ea+'\x27');setTimeout(function(){const _0x3abaa5=_0xadd896;_0x366f70[_0x3abaa5(0x1a6)]('focus');},0x78);},'_initMenu'(){const _0x56e7e3=_0x3f71ef,_0x5ee84e=this;_0x5ee84e[_0x56e7e3(0x1b8)][_0x56e7e3(0x255)](_0x56e7e3(0x260),-0x1),_0x5ee84e[_0x56e7e3(0x1b8)]['on']('mousedown.red-ui-typedInput-focus-block',function(_0x165c19){const _0x44672e=_0x56e7e3;_0x165c19[_0x44672e(0x1b5)]();});_0x5ee84e[_0x56e7e3(0x167)]&&_0x5ee84e[_0x56e7e3(0x167)][_0x56e7e3(0x21b)]();const _0x3aa91a=[{'label':_0x56e7e3(0x1a8),'value':'t','title':_0x56e7e3(0x16e),'icon':_0x56e7e3(0x15b)},{'label':_0x56e7e3(0x145),'value':_0x56e7e3(0x1ad),'title':_0x56e7e3(0x1fe),'icon':_0x56e7e3(0x131)},{'label':_0x56e7e3(0x139),'value':'n','icon':_0x56e7e3(0x21f)},{'label':_0x56e7e3(0x1ef),'value':'na','icon':_0x56e7e3(0x153)},{'label':_0x56e7e3(0x185),'value':_0x56e7e3(0x1f6),'icon':_0x56e7e3(0x196)},{'label':_0x56e7e3(0x22f),'value':'b','icon':'<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> '},{'label':_0x56e7e3(0x1e9),'value':'ab','icon':_0x56e7e3(0x236)}],_0x11926f=_0x48b5ed(_0x5ee84e['$input']['val']()),_0x4200bc=_0x3aa91a[_0x56e7e3(0x181)](_0x51fc5d=>_0x51fc5d['value']===_0x11926f);_0x5ee84e[_0x56e7e3(0x1a0)][_0x56e7e3(0x135)]()[_0x56e7e3(0x11f)](_0x56e7e3(0x189)+((_0x4200bc===null||_0x4200bc===void 0x0?void 0x0:_0x4200bc[_0x56e7e3(0x1d6)])||'')+_0x56e7e3(0x188)+((_0x4200bc===null||_0x4200bc===void 0x0?void 0x0:_0x4200bc[_0x56e7e3(0x252)])||'')+_0x56e7e3(0x1ed)),_0x5ee84e['selectedMenuItem']=_0x11926f;const _0x1c9044=this;_0x5ee84e[_0x56e7e3(0x167)]=this[_0x56e7e3(0x1d8)](_0x3aa91a,{},_0x2769ab=>{const _0x453b31=_0x56e7e3,_0x2925c1=_0x338f47(_0x2769ab);_0x2925c1&&_0x1c9044[_0x453b31(0x1fb)](_0x2925c1);const _0x5038bb=_0x3aa91a[_0x453b31(0x181)](_0x31b059=>_0x31b059['value']===_0x2769ab);_0x5ee84e[_0x453b31(0x1a4)]=_0x2769ab,_0x5ee84e[_0x453b31(0x1a0)][_0x453b31(0x135)]()[_0x453b31(0x11f)](_0x453b31(0x189)+((_0x5038bb===null||_0x5038bb===void 0x0?void 0x0:_0x5038bb['title'])||'')+_0x453b31(0x188)+((_0x5038bb===null||_0x5038bb===void 0x0?void 0x0:_0x5038bb['icon'])||'')+'</span>');}),_0x5ee84e[_0x56e7e3(0x167)][_0x56e7e3(0x1bd)](document[_0x56e7e3(0x1ab)]),_0x5ee84e[_0x56e7e3(0x167)]['hide'](),_0x5ee84e[_0x56e7e3(0x1b8)]['show']();},'mode'(){const _0x27699e=_0x3f71ef,_0x2f7bb3=this;return _0x338f47(_0x2f7bb3[_0x27699e(0x1a4)]);},'setMode'(_0x3aa33e){const _0x5d4880=this,_0x4862c3=_0x242991(_0x3aa33e);_0x5d4880['selectedMenuItem']=_0x4862c3;},'_create'(){const _0x56c2eb=_0x3f71ef,_0x518e1f=this;_0x518e1f[_0x56c2eb(0x149)]=this[_0x56c2eb(0x221)],_0x518e1f['$input'][_0x56c2eb(0x226)](_0x56c2eb(0x171),_0x56c2eb(0x168)),_0x518e1f['$elementDiv']=_0x518e1f[_0x56c2eb(0x149)][_0x56c2eb(0x212)]('<div>')[_0x56c2eb(0x150)]()[_0x56c2eb(0x24b)]('main-wrapper'),_0x518e1f[_0x56c2eb(0x151)]=$('<div/>'),_0x518e1f[_0x56c2eb(0x151)][_0x56c2eb(0x24b)](_0x56c2eb(0x1d3)),_0x518e1f[_0x56c2eb(0x149)][_0x56c2eb(0x186)](_0x518e1f[_0x56c2eb(0x151)]),_0x518e1f[_0x56c2eb(0x142)]=$(_0x56c2eb(0x20a))['addClass'](_0x56c2eb(0x1cb)),_0x518e1f[_0x56c2eb(0x151)]['append'](_0x518e1f[_0x56c2eb(0x142)]),_0x518e1f[_0x56c2eb(0x142)][_0x56c2eb(0x11f)](_0x518e1f[_0x56c2eb(0x149)]),_0x518e1f[_0x56c2eb(0x216)]=$(_0x56c2eb(0x112)),_0x518e1f[_0x56c2eb(0x149)][_0x56c2eb(0x256)](_0x518e1f[_0x56c2eb(0x216)]),_0x518e1f[_0x56c2eb(0x216)]['on']('click',function(){return _0x50026f(this,void 0x0,void 0x0,function*(){const _0x4dcf94=_0xf83c;var _0x21c0f4;let _0xba0b87=![],_0x533c25;!_0x518e1f['$dropdown']['is'](_0x4dcf94(0x182))&&(_0x518e1f[_0x4dcf94(0x1ee)][_0x4dcf94(0x241)](),_0x533c25=yield _0x518e1f[_0x4dcf94(0x24c)](),(_0x533c25!==_0x518e1f[_0x4dcf94(0x15e)]||((_0x21c0f4=_0x518e1f[_0x4dcf94(0x15e)])===null||_0x21c0f4===void 0x0?void 0x0:_0x21c0f4[_0x4dcf94(0x1f4)])!==_0x533c25[_0x4dcf94(0x1f4)])&&(yield _0x518e1f[_0x4dcf94(0x1dd)]()),_0xba0b87=!![]),_0x518e1f[_0x4dcf94(0x23b)][_0x4dcf94(0x258)](),_0xba0b87&&(yield _0x487def(_0x518e1f,_0x533c25));});}),_0x518e1f[_0x56c2eb(0x133)]=$(_0x56c2eb(0x146)),_0x518e1f['$input'][_0x56c2eb(0x256)](_0x518e1f[_0x56c2eb(0x133)]),_0x518e1f[_0x56c2eb(0x133)]['on'](_0x56c2eb(0x206),()=>{const _0x576c76=_0x56c2eb,_0x5e8782=_0x518e1f['mode']();if(!_0x5e8782)return;this[_0x576c76(0x1fb)](_0x5e8782);});const _0x2db1e1=_0x1888d2=>_0x50026f(this,void 0x0,void 0x0,function*(){const _0x39bc13=_0x56c2eb,_0x4e5018=this;let _0x58a0c7=_0x4e5018['mode']();if(!_0x58a0c7)return;const _0x1a68ed=_0x3dc75e(_0x4e5018),{data:_0x663fc9,json:_0x372273}=yield _0xbe56a2(_0x1a68ed,_0x1888d2);if(_0x663fc9[_0x39bc13(0x13f)]!==0xc8)return;if(_0x372273['statusCode']['match'](/Good/)){const _0x57987b=_0x5a5f86(_0x372273,_0x58a0c7);_0x4e5018[_0x39bc13(0x149)][_0x39bc13(0x18a)](_0x57987b),_0x4e5018[_0x39bc13(0x149)]['trigger'](_0x39bc13(0x195));}});{_0x518e1f[_0x56c2eb(0x1ff)]=$(_0x56c2eb(0x1a1)),_0x518e1f['$input'][_0x56c2eb(0x18f)](_0x518e1f[_0x56c2eb(0x1ff)]),_0x518e1f['$selectTrigger']=$(_0x56c2eb(0x110))[_0x56c2eb(0x1d5)](_0x518e1f[_0x56c2eb(0x1ff)]),$(_0x56c2eb(0x1e1))[_0x56c2eb(0x258)](!![])[_0x56c2eb(0x1bd)](_0x518e1f[_0x56c2eb(0x1b8)]),_0x518e1f[_0x56c2eb(0x1b8)]['on'](_0x56c2eb(0x206),function(_0x5b17aa){const _0x5633ba=_0x56c2eb;_0x5b17aa[_0x5633ba(0x1b5)](),_0x5b17aa[_0x5633ba(0x1a7)](),_0x518e1f['_showTypeMenu']();}),_0x518e1f['$selectTrigger']['on'](_0x56c2eb(0x24a),function(_0x6a2100){const _0x6935d6=_0x56c2eb;_0x6a2100['keyCode']===0x28&&_0x518e1f['_showTypeMenu'](),_0x6a2100[_0x6935d6(0x1a7)]();})['on'](_0x56c2eb(0x20f),function(){const _0x327f8f=_0x56c2eb;_0x518e1f[_0x327f8f(0x1ff)][_0x327f8f(0x24b)](_0x327f8f(0x16c));})['on'](_0x56c2eb(0x25d),function(){const _0x103614=_0x56c2eb;_0x518e1f[_0x103614(0x1ff)][_0x103614(0x1d9)](_0x103614(0x16c));}),_0x518e1f[_0x56c2eb(0x1a0)]=$(_0x56c2eb(0x1de))[_0x56c2eb(0x1bd)](_0x518e1f[_0x56c2eb(0x1b8)]);}this[_0x56c2eb(0x119)]();!_0x518e1f[_0x56c2eb(0x149)]['attr'](_0x56c2eb(0x1b1))&&_0x518e1f[_0x56c2eb(0x149)][_0x56c2eb(0x255)](_0x56c2eb(0x1b1),_0x56c2eb(0x259));_0x518e1f[_0x56c2eb(0x1ee)]=$(_0x56c2eb(0x15c)),_0x518e1f[_0x56c2eb(0x1ee)][_0x56c2eb(0x241)](),_0x518e1f['$combo'][_0x56c2eb(0x11f)](_0x518e1f[_0x56c2eb(0x1ee)]),_0x518e1f[_0x56c2eb(0x23b)]=$('<div/>')[_0x56c2eb(0x24b)]('sterfive-dropdown')[_0x56c2eb(0x241)]()['appendTo'](_0x518e1f[_0x56c2eb(0x151)]),_0x518e1f[_0x56c2eb(0x19d)]=$('<ul\x20class=\x22sterfive-tree\x22></ul>')[_0x56c2eb(0x1bd)](_0x518e1f[_0x56c2eb(0x23b)]),this['reset']();const _0x5419b9=(_0x3d6f97,_0x38e8e9)=>{const _0xe010e8=_0x56c2eb,_0x258746=0x14,_0x581da5=0x14,_0x1044fe=_0x3d6f97[_0xe010e8(0x17e)](),_0x3e7e8e=_0x38e8e9;if(_0x3e7e8e[_0xe010e8(0x242)]>=_0x1044fe[_0xe010e8(0x1f0)]&&_0x3e7e8e[_0xe010e8(0x242)]<=_0x1044fe[_0xe010e8(0x1f0)]+_0x258746&&_0x3e7e8e[_0xe010e8(0x219)]>=_0x1044fe[_0xe010e8(0x172)]&&_0x3e7e8e[_0xe010e8(0x219)]<=_0x1044fe[_0xe010e8(0x172)]+_0x581da5)return!![];return![];},_0x10b623=_0x5e8a68=>_0x50026f(this,void 0x0,void 0x0,function*(){const _0xdfa68a=_0x56c2eb;if(_0x5e8a68[_0xdfa68a(0x257)](_0xdfa68a(0x250)))_0x301160(_0x518e1f,_0x5e8a68);else{if(_0x5e8a68['hasClass'](_0xdfa68a(0x1c5)))_0x5e8a68[_0xdfa68a(0x129)]('ul')['toggle'](),_0x5e8a68[_0xdfa68a(0x22b)]('expandable\x20expanded');else{if(_0x5e8a68[_0xdfa68a(0x129)]('ul')['children']()[_0xdfa68a(0x208)]>0x0)_0x5e8a68['children']('ul')[_0xdfa68a(0x258)](),_0x5e8a68[_0xdfa68a(0x22b)]('expandable\x20expanded');else;}}});_0x518e1f[_0x56c2eb(0x19d)]['on'](_0x56c2eb(0x213),'li',function(_0x38b4e4){const _0x2028a9=_0x56c2eb;var _0x207609,_0x1424f4;_0x38b4e4['stopPropagation']();let _0xee8b2a=$(this);if(_0x5419b9(_0xee8b2a,_0x38b4e4))_0x10b623(_0xee8b2a);else{const _0x838e03=_0xee8b2a['data'](_0x2028a9(0x246)),_0x4d02b7=_0xee8b2a[_0x2028a9(0x1e4)](_0x2028a9(0x17b));if(_0x518e1f[_0x2028a9(0x239)][_0x2028a9(0x251)]&&!_0x518e1f['options']['isSelectable'](_0x4d02b7))return;_0x518e1f[_0x2028a9(0x149)][_0x2028a9(0x1e4)](_0x2028a9(0x17b),_0x4d02b7),((_0x207609=_0x4d02b7[_0x2028a9(0x117)])===null||_0x207609===void 0x0?void 0x0:_0x207609[_0x2028a9(0x1a8)])||((_0x1424f4=_0x4d02b7[_0x2028a9(0x18b)])===null||_0x1424f4===void 0x0?void 0x0:_0x1424f4['name'])||_0x4d02b7['nodeId'][_0x2028a9(0x1d2)]();let _0x5768e7=_0x518e1f['mode']();!_0x5768e7&&(_0x5768e7=_0x2028a9(0x1f4),_0x518e1f[_0x2028a9(0x156)](_0x5768e7)),_0x2db1e1(_0x838e03)[_0x2028a9(0x126)](()=>{const _0x3ad0b4=_0x2028a9;_0x518e1f[_0x3ad0b4(0x23b)][_0x3ad0b4(0x241)]();})[_0x2028a9(0x200)](_0x2133c7=>{_0x518e1f['$dropdown']['hide']();});}}),_0x518e1f['$tree']['on'](_0x56c2eb(0x206),'li',function(_0x134d0b){const _0x3df005=_0x56c2eb;_0x134d0b[_0x3df005(0x1a7)]();let _0x3895f4=$(this);_0x5419b9(_0x3895f4,_0x134d0b)&&_0x10b623(_0x3895f4),_0x27b97d(_0x518e1f,_0x3895f4);}),$(document)['on'](_0x56c2eb(0x206),function(_0xbc61f6){const _0x35535e=_0x56c2eb;!$(_0xbc61f6[_0x35535e(0x1a2)])['closest'](_0x518e1f[_0x35535e(0x151)])[_0x35535e(0x208)]&&_0x518e1f[_0x35535e(0x23b)][_0x35535e(0x241)]();});}});},_0x1e89a6=_0x5bfcad=>{const _0x1bfd5d=_0x249b92;var _0x301b37,_0x1832af,_0x5baafa;if(!_0x5bfcad){const _0x42f3d3=$(_0x1bfd5d(0x143));return _0x42f3d3;}const _0x171ab8=_0x5bfcad[_0x1bfd5d(0x1f4)][_0x1bfd5d(0x1d2)]();let _0x124f9e=((_0x301b37=_0x5bfcad[_0x1bfd5d(0x117)])===null||_0x301b37===void 0x0?void 0x0:_0x301b37[_0x1bfd5d(0x1a8)])||((_0x1832af=_0x5bfcad[_0x1bfd5d(0x18b)])===null||_0x1832af===void 0x0?void 0x0:_0x1832af[_0x1bfd5d(0x1e2)])||_0x5bfcad[_0x1bfd5d(0x1f4)][_0x1bfd5d(0x1d2)](),_0x1cdca4=(_0x5baafa=_0x5bfcad[_0x1bfd5d(0x18b)])===null||_0x5baafa===void 0x0?void 0x0:_0x5baafa[_0x1bfd5d(0x1eb)];_0x124f9e+=_0x1cdca4!==undefined&&_0x5bfcad[_0x1bfd5d(0x15a)][_0x1bfd5d(0x1f7)](/Type/)?_0x1bfd5d(0x217)+_0x1cdca4+')':'';const {icon:_0x3f1124,color:_0x3bc942}=_0x218a2f(_0x5bfcad),_0x1b0986=$('<li>');if(_0x5bfcad[_0x1bfd5d(0x15a)]===_0x1bfd5d(0x166)){const _0x3b3a22=$(_0x1bfd5d(0x140));_0x1b0986['append'](_0x3b3a22),_0x3b3a22['on'](_0x1bfd5d(0x206),function(){const _0x4dd958=_0x1bfd5d;_0x3b3a22[_0x4dd958(0x257)](_0x4dd958(0x25b))?_0x3b3a22[_0x4dd958(0x1d9)](_0x4dd958(0x25b))[_0x4dd958(0x24b)](_0x4dd958(0x17a)):_0x3b3a22[_0x4dd958(0x1d9)](_0x4dd958(0x17a))[_0x4dd958(0x24b)](_0x4dd958(0x25b));});}return _0x1b0986[_0x1bfd5d(0x11f)]($(_0x1bfd5d(0x1a5)+_0x3f1124+_0x1bfd5d(0x174)+_0x3bc942+_0x1bfd5d(0x158)+_0x124f9e+_0x1bfd5d(0x1df))),_0x1b0986[_0x1bfd5d(0x24b)](_0x1bfd5d(0x250)),_0x1b0986[_0x1bfd5d(0x1e4)]('value',_0x171ab8),_0x1b0986[_0x1bfd5d(0x1e4)](_0x1bfd5d(0x17b),_0x5bfcad),_0x1b0986;},_0x50d718=()=>{const _0x558cb4=_0x249b92;$[_0x558cb4(0x1b9)]('sterfive.eventFieldSelector',{'options':{'endpointNode':()=>({'endpoint':_0x558cb4(0x190)}),'endpoint':()=>undefined,'baseUrl':''},'_populate'(){return _0x50026f(this,void 0x0,void 0x0,function*(){const _0x219534=_0xf83c;var _0x468318;const _0x365604=this,_0x2e8770=new Set(((_0x468318=_0x365604[_0x219534(0x149)][_0x219534(0x18a)]())===null||_0x468318===void 0x0?void 0x0:_0x468318[_0x219534(0x1d2)]()[_0x219534(0x1c0)](';'))||[]),_0x104f69=_0x3dc75e(_0x365604),_0x586f53=yield _0x2f461d(_0x104f69);this[_0x219534(0x1bf)](_0x586f53,_0x2e8770);});},'_installTree'(_0x4c7e63,_0xf3e78c){const _0x5b0698=_0x558cb4,_0x4fb82c=this;_0x4fb82c[_0x5b0698(0x19d)][_0x5b0698(0x135)]();if(!_0x4c7e63[_0x5b0698(0x1aa)])return;const _0x56d07a=_0x4c7e63['events'],_0x9b46b0=_0x1e89a6(_0x56d07a);_0x4fb82c[_0x5b0698(0x19d)][_0x5b0698(0x11f)](_0x9b46b0);const _0x40b0de='';this[_0x5b0698(0x16b)](_0x9b46b0[_0x5b0698(0x129)]('ul'),_0x56d07a,_0x40b0de,_0xf3e78c),_0x9b46b0[_0x5b0698(0x1d9)]('expandable')[_0x5b0698(0x24b)](_0x5b0698(0x1c5)),this[_0x5b0698(0x227)](_0xf3e78c);},'_installChildren'(_0x28053b,_0x2e0f6c,_0x22a117,_0x30f7a2){const _0x100fef=_0x558cb4,_0x382c05=({name:_0x3fb83e,namespaceIndex:_0x4309f7})=>{if(_0x4309f7===0x0)return _0x3fb83e;return _0x4309f7+':'+_0x3fb83e;},_0x2c8ee0=_0x2e0f6c[_0x100fef(0x129)]||[],_0x1f0154=_0x2e0f6c['subTypes']||[],_0x31a975=[..._0x2c8ee0,..._0x1f0154];for(const _0x71ec97 of _0x31a975){const _0x64795a=_0x1e89a6(_0x71ec97);_0x28053b[_0x100fef(0x11f)](_0x64795a);let _0x2baf65='';_0x71ec97[_0x100fef(0x15a)]===_0x100fef(0x166)&&(_0x22a117?_0x2baf65=_0x22a117+'.'+_0x382c05(_0x71ec97[_0x100fef(0x18b)]):_0x2baf65=_0x382c05(_0x71ec97['browseName']),_0x64795a['attr'](_0x100fef(0x225),_0x2baf65));const _0x616b2c=_0x71ec97['children']&&_0x71ec97[_0x100fef(0x129)][_0x100fef(0x208)],_0x240d06=_0x71ec97[_0x100fef(0x12c)]&&_0x71ec97[_0x100fef(0x12c)][_0x100fef(0x208)];!_0x616b2c&&!_0x240d06?_0x64795a[_0x100fef(0x1d9)](_0x100fef(0x250))[_0x100fef(0x24b)](_0x100fef(0x232)):(this[_0x100fef(0x16b)](_0x64795a[_0x100fef(0x129)]('ul'),_0x71ec97,_0x2baf65,_0x30f7a2),_0x64795a[_0x100fef(0x1d9)](_0x100fef(0x250))[_0x100fef(0x24b)](_0x100fef(0x1c5)));}},'_updateSelectedFields'(){const _0x244ed0=_0x558cb4;var _0x1d13ca;const _0x153a26=this,_0x3772f0=new Set(((_0x1d13ca=_0x153a26[_0x244ed0(0x149)]['val']())===null||_0x1d13ca===void 0x0?void 0x0:_0x1d13ca['toString']()['split'](';'))||[]);this['_updateValues'](_0x3772f0);},'_updateValues'(_0x2d9eb9){const _0x3050f5=_0x558cb4;$(_0x3050f5(0x23d))[_0x3050f5(0x1cf)](function(){const _0x9dedf0=_0x3050f5,_0x1bd4ed=$(this),_0x381b7c=_0x1bd4ed['attr'](_0x9dedf0(0x225));_0x381b7c&&_0x2d9eb9[_0x9dedf0(0x1f9)](_0x381b7c)&&_0x1bd4ed[_0x9dedf0(0x129)](_0x9dedf0(0x164))[_0x9dedf0(0x1d9)](_0x9dedf0(0x25b))['addClass'](_0x9dedf0(0x17a));});},'_setInputValue'(){const _0x4a2742=_0x558cb4,_0x319f29=this,_0x5cd724=[];$(_0x4a2742(0x23d))['each'](function(){const _0x52518e=_0x4a2742,_0x18dc72=$(this);if(_0x18dc72[_0x52518e(0x129)](_0x52518e(0x20d))[_0x52518e(0x208)]>0x0){const _0x58b169=_0x18dc72['attr'](_0x52518e(0x225));if(_0x58b169)_0x5cd724[_0x52518e(0x1ae)](_0x58b169);}});const _0x139d47=[...new Set(_0x5cd724)][_0x4a2742(0x17d)]()[_0x4a2742(0x1bc)](';');_0x319f29['$input'][_0x4a2742(0x18a)](_0x139d47),_0x319f29[_0x4a2742(0x149)][_0x4a2742(0x1a6)](_0x4a2742(0x195));},'_create'(){const _0x46babe=_0x558cb4,_0x3fd879=this;_0x3fd879['$input']=this[_0x46babe(0x221)],_0x3fd879['$combo']=$('<div/>'),_0x3fd879[_0x46babe(0x151)][_0x46babe(0x24b)](_0x46babe(0x1d3)),this['element'][0x0][_0x46babe(0x115)][_0x46babe(0x220)](_0x3fd879[_0x46babe(0x151)][0x0],this[_0x46babe(0x221)][0x0]),_0x3fd879[_0x46babe(0x142)]=$(_0x46babe(0x20a))[_0x46babe(0x24b)](_0x46babe(0x203)),_0x3fd879[_0x46babe(0x151)][_0x46babe(0x11f)](_0x3fd879['$inputGroup']),_0x3fd879[_0x46babe(0x142)][_0x46babe(0x11f)](_0x3fd879['$input']),_0x3fd879[_0x46babe(0x216)]=$(_0x46babe(0x13d)),_0x3fd879[_0x46babe(0x142)][_0x46babe(0x11f)](_0x3fd879[_0x46babe(0x216)]),_0x3fd879[_0x46babe(0x216)]['on'](_0x46babe(0x206),function(){const _0x7c39c2=_0x46babe;_0x3fd879[_0x7c39c2(0x23b)][_0x7c39c2(0x258)](),_0x3fd879[_0x7c39c2(0x1ee)][_0x7c39c2(0x258)]();if(_0x3fd879[_0x7c39c2(0x23b)]['is'](_0x7c39c2(0x182))){_0x5e6964[_0x7c39c2(0x231)]();const _0x5bf185=_0x3fd879['$dropdown']['offset']();_0x5e6964[_0x7c39c2(0x226)]({'top':_0x5bf185[_0x7c39c2(0x172)]+'px','right':_0x7c39c2(0x223)+(_0x5bf185[_0x7c39c2(0x1f0)]+_0x3fd879[_0x7c39c2(0x23b)][_0x7c39c2(0x17c)]())+'px)'}),_0x3fd879[_0x7c39c2(0x1c7)](),_0x3fd879['_updateSelectedFields']();}else _0x5e6964[_0x7c39c2(0x241)]();});!_0x3fd879['$input'][_0x46babe(0x255)](_0x46babe(0x1b1))&&_0x3fd879[_0x46babe(0x149)][_0x46babe(0x255)](_0x46babe(0x1b1),'enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20');_0x3fd879['$info']=$(_0x46babe(0x15c)),_0x3fd879['$info']['hide'](),_0x3fd879[_0x46babe(0x23b)]=$(_0x46babe(0x20a))[_0x46babe(0x24b)](_0x46babe(0x13e))[_0x46babe(0x241)]();const _0x373bdd=$(_0x46babe(0x1b4)),_0x40d32b=$(_0x46babe(0x1b2)),_0x5e6964=$(_0x46babe(0x11b))[_0x46babe(0x11f)](_0x373bdd,_0x40d32b);_0x5e6964['hide'](),_0x373bdd['on']('click',()=>{const _0x391115=_0x46babe;_0x3fd879[_0x391115(0x253)](),_0x3fd879[_0x391115(0x23b)][_0x391115(0x241)]();}),_0x40d32b['on'](_0x46babe(0x206),()=>{const _0x3daa83=_0x46babe;_0x3fd879[_0x3daa83(0x23b)][_0x3daa83(0x241)]();}),_0x3fd879[_0x46babe(0x151)][_0x46babe(0x11f)](_0x3fd879['$info']),_0x3fd879['$combo'][_0x46babe(0x11f)](_0x3fd879[_0x46babe(0x23b)]),_0x3fd879[_0x46babe(0x19d)]=$('<ul\x20class=\x22sterfive-tree\x22></ul>'),_0x3fd879[_0x46babe(0x23b)]['empty']()[_0x46babe(0x11f)](_0x3fd879[_0x46babe(0x19d)],_0x5e6964),_0x3fd879['$tree']['on'](_0x46babe(0x206),'li',function(_0x37a26e){const _0x8e340c=_0x46babe;_0x37a26e[_0x8e340c(0x1a7)]();let _0x27d76a=$(this);const _0x4a948d=0x14,_0x22a272=0x14,_0x3c4af9=$(this)[_0x8e340c(0x17e)](),_0x1a7141=_0x37a26e;if(_0x1a7141[_0x8e340c(0x242)]>=_0x3c4af9['left']&&_0x1a7141[_0x8e340c(0x242)]<=_0x3c4af9[_0x8e340c(0x1f0)]+_0x4a948d&&_0x1a7141[_0x8e340c(0x219)]>=_0x3c4af9[_0x8e340c(0x172)]&&_0x1a7141['pageY']<=_0x3c4af9[_0x8e340c(0x172)]+_0x22a272){console['log'](_0x8e340c(0x184)),console[_0x8e340c(0x1ca)](_0x8e340c(0x1be),_0x27d76a[_0x8e340c(0x1e4)](_0x8e340c(0x246)),_0x27d76a['attr'](_0x8e340c(0x1e6)));if(_0x27d76a[_0x8e340c(0x257)]('expandable'))_0x27d76a[_0x8e340c(0x1d9)]('expandable')[_0x8e340c(0x24b)](_0x8e340c(0x1c5)),_0x27d76a[_0x8e340c(0x129)]('ul')['toggle']();else{if(_0x27d76a['hasClass'](_0x8e340c(0x1c5)))_0x27d76a['children']('ul')['toggle'](),_0x27d76a[_0x8e340c(0x22b)](_0x8e340c(0x234));else{if(_0x27d76a['children']('ul')['children']()[_0x8e340c(0x208)]>0x0)_0x27d76a['children']('ul')[_0x8e340c(0x258)](),_0x27d76a['toggleClass']('expandable\x20expanded');else;}}}}),$(document)['on'](_0x46babe(0x206),function(_0x6e11eb){const _0x343fd9=_0x46babe;!$(_0x6e11eb[_0x343fd9(0x1a2)])[_0x343fd9(0x161)](_0x3fd879[_0x343fd9(0x151)])['length']&&_0x3fd879['$dropdown'][_0x343fd9(0x241)]();}),this['_populate']();}});},_0x2f461d=_0x276563=>_0x50026f(void 0x0,[_0x276563],void 0x0,function*({endpointNode:_0x4290b7,endpoint:_0x31ecfc,baseUrl:_0x2c475b}){const _0x3bb17d=_0x249b92,_0xa1fa11=_0x2c475b+_0x3bb17d(0x179),_0x55b249=_0xa1fa11+_0x3bb17d(0x1dc),_0x46ecc3=yield fetch(_0x55b249,{'method':_0x3bb17d(0x22d),'body':JSON[_0x3bb17d(0x127)]({'endpointNode':_0x4290b7,'endpoint':_0x31ecfc}),'headers':{'Content-Type':_0x3bb17d(0x22c)}});if(_0x46ecc3[_0x3bb17d(0x13f)]!==0xc8)return console[_0x3bb17d(0x1ca)](_0x3bb17d(0x154),_0x46ecc3[_0x3bb17d(0x13f)],_0x46ecc3[_0x3bb17d(0x18e)]),{'events':null};console[_0x3bb17d(0x1ca)](_0x3bb17d(0x176),_0x46ecc3[_0x3bb17d(0x13f)],_0x46ecc3[_0x3bb17d(0x18e)]);const _0x236e53=yield _0x46ecc3['json'](),_0x41be65=_0x236e53[_0x3bb17d(0x1aa)];return{'events':_0x41be65};}),_0x43d4f6=()=>{const _0xe8d925=_0x249b92,_0x18f7ae=$(_0xe8d925(0x24d)),_0x4442ec=_0x18f7ae[_0xe8d925(0x18a)](),_0x2ab73f=RED[_0xe8d925(0x130)][_0xe8d925(0x1da)](_0x4442ec);if(!_0x2ab73f)return undefined;const {endpoint:_0x25ee8a,securityMode:_0x30e37e,securityPolicy:_0x1cf09e,userIdentityType:_0x5d2cd5,credentials:_0x10fcee,namespaceAliases:_0x567d78}=_0x2ab73f,_0x2bd19c={'endpoint':_0x25ee8a,'securityMode':_0x30e37e,'securityPolicy':_0x1cf09e,'userIdentityType':_0x5d2cd5,'credentials':_0x10fcee,'namespaceAliases':_0x567d78};return _0x2bd19c;},_0x1dbfac=()=>{const _0x48aec8=_0x249b92,_0x504fba=$(_0x48aec8(0x24d)),_0x1d4cd4=_0x504fba[_0x48aec8(0x18a)](),_0x498e84=_0x43d4f6();if(!_0x498e84)return undefined;const _0x334232=_0x498e84[_0x48aec8(0x235)];return Object[_0x48aec8(0x170)]({'namespaceAliases':_0x334232,'id':_0x1d4cd4},_0x498e84);},_0x70ed97=()=>{return{'endpointNode':_0x1dbfac};},_0x584575=()=>{const _0x522a59=_0x249b92,_0x269007=$('.red-ui-tray-body');console[_0x522a59(0x1ca)]('installFeedbackWidget\x20',_0x269007[_0x522a59(0x208)]);if(_0x269007[_0x522a59(0x208)]){console[_0x522a59(0x1ca)](_0x522a59(0x163));const _0x13d61c=$(_0x522a59(0x247),{'src':_0x522a59(0x1c8),'scrolling':'no','style':_0x522a59(0x11e),'allowtransparency':_0x522a59(0x238),'width':_0x522a59(0x14b),'height':_0x522a59(0x16a)});_0x269007[_0x522a59(0x11f)](_0x13d61c),_0x13d61c[_0x522a59(0x226)]({'position':_0x522a59(0x177),'right':_0x522a59(0x1ec),'bottom':'16px'});}};RED[_0x249b92(0x130)][_0x249b92(0x120)](_0x249b92(0x205),{'category':_0x249b92(0x214),'color':'#C0DEED','align':_0x249b92(0x116),'icon':'opcualogobig.png','paletteLabel':_0x249b92(0x136),'defaults':{'inputs':{'value':0x1},'output':{'value':0x4},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':_0x249b92(0x12e)},'subscription':{'value':'','required':!![],'validate':_0x45f42e=>{if(_0x45f42e==='')return![];return!![];}},'startImmediately':{'value':!![],'required':!![]},'nodeId':{'value':'','required':![],'validate':()=>!![]},'samplingInterval':{'value':0x3e8,'required':!![]},'discardOldest':{'value':!![],'required':!![]},'queueSize':{'value':0xa,'required':!![]},'selectClauses':{'value':'','required':!![]},'whereClause':{'value':'','required':![]}},'outputs':0x2,'label'(){const _0x18af8a=_0x249b92;return this[_0x18af8a(0x1e2)]||'OPCUA\x20Monitor';},'labelStyle'(){return this['name']?'node_label_italic':'';},'oneditprepare'(){const _0x535787=_0x249b92;_0x5187c0(),_0x50d718(),_0x419f38(RED,this),_0x584575(),$('node-input-startImmediately')['on']('change',()=>{const _0x214344=_0xf83c,_0x17995b=$(_0x214344(0x12b))[_0x214344(0x25e)]('checked');_0x17995b?$(_0x214344(0x18d))['val'](0x0):$(_0x214344(0x18d))[_0x214344(0x18a)](0x1);});const _0x119bc5=$('#node-input-nodeId');_0x119bc5[_0x535787(0x19a)](Object[_0x535787(0x170)](Object[_0x535787(0x170)]({},_0x70ed97()),{'filter'(_0x256bac){const _0x5de264=_0x535787;return _0x256bac[_0x5de264(0x15a)]==='Object';},'isSelectable'(_0x17ae3b){const _0x5ce7e9=_0x535787;return _0x17ae3b[_0x5ce7e9(0x15a)]===_0x5ce7e9(0x12d);}})),$(_0x535787(0x13c));const _0x27d552=$(_0x535787(0x215));_0x27d552['eventFieldSelector'](Object[_0x535787(0x170)]({},_0x70ed97()));},'oneditsave'(){const _0x1648fa=_0x249b92,_0x3f9dab=$(_0x1648fa(0x12b))[_0x1648fa(0x25e)](_0x1648fa(0x17a));_0x3f9dab?($('#node-input-startImmediately')[_0x1648fa(0x18a)](_0x3f9dab?0x0:0x1),this[_0x1648fa(0x202)]=_0x3f9dab?0x0:0x1):($('#node-input-startImmediately')['val'](0x1),this[_0x1648fa(0x202)]=0x1);}});}()));
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHg0MTlmMzgiLCJfMHg1Nzk1NDYiLCJfMHgzNTg0ZDYiLCJfMHgxZWJiNjciLCIkIiwiXzB4NGRiYTVhIiwiXzB4NDM4NTY1IiwiXzB4NTYyMzk0IiwiXzB4MjMwZTM5IiwiXzB4NTM0ZDZiIiwiXzB4NTAwMjZmIiwiXzB4ZDM3Mjg5IiwiXzB4NTM2Y2ZmIiwiXzB4YWU1OGE5IiwiXzB4MjFmYmMzIiwiXzB4NGRlNWY5IiwiXzB4NGY0NTI5IiwiXzB4Mzk3NDI2IiwiUHJvbWlzZSIsIl8weDUzYWZhNiIsIl8weGZiZGQ0MCIsIl8weDE2ZTNmOSIsIl8weDI5ZGU2OSIsIl8weDI5MjRhYiIsIl8weDFiYjUyNCIsIl8weDE0YTU0MiIsIl8weDU5OWIzMSIsIl8weDVmM2IyMiIsIl8weDJlMGQwOSIsIlN1cHByZXNzZWRFcnJvciIsIl8weDQ4YzU0OSIsIl8weDFhNmRmOSIsIl8weGVkYzMyIiwiXzB4MzA3ODk2IiwiRXJyb3IiLCJfMHgyOTBiNjIiLCJfMHgyOGZhNmMiLCJfMHgyN2ExMjgiLCJfMHgyZTJjODIiLCJfMHg0Njg1NWYiLCJfMHgzNjczODciLCJfMHg1NzNmMWEiLCJfMHhiNzEyZTAiLCJfMHgzODkzYzQiLCJfMHgyZDRkYTAiLCJfMHg1NmJkZDYiLCJfMHg1MWRkMzYiLCJfMHg1NDllZjAiLCJfMHgyMjhmMDAiLCJfMHgyMjQxZmYiLCJfMHgyMDM5ZGYiLCJfMHgzNjljZjMiLCJfMHgyMThhMmYiLCJfMHg1M2ExYmYiLCJfMHgzZjkwZGUiLCJfMHg0NjFkYmIiLCJfMHgxNzZkZWUiLCJfMHgyYmQ1MzUiLCJlbmRwb2ludE5vZGUiLCJfMHg1YzA5NWIiLCJlbmRwb2ludCIsIl8weDM4NmI1ZSIsImJhc2VVcmwiLCJfMHgyMDg4MjUiLCJfMHgxNmRmOWYiLCJfMHgxMDkyMDciLCJfMHg1ZGQ1MmQiLCJfMHgxNDJjNjQiLCJfMHgxNGIzODYiLCJPYmplY3QiLCJfMHgxYjliMmMiLCJmZXRjaCIsIkpTT04iLCJjb25zb2xlIiwiXzB4MmE4N2ZlIiwiXzB4NTY3MGQwIiwiXzB4NGE4OWEyIiwiXzB4NTgyYzkzIiwiXzB4NDE5YTk5IiwiXzB4NDc3MmMiLCJfMHg1ZDc2YmIiLCJfMHgxNTA2YTMiLCJfMHgyNTNmNWQiLCJfMHgyNmQ5ZTUiLCJub2RlSWQiLCJfMHg0YmM3NGIiLCJyb290Tm9kZUlkIiwiXzB4MWYzMzMzIiwiaXNUeXBlIiwiXzB4MzM3Yzc5IiwiXzB4Mzc2OWNhIiwiXzB4NTI2NTIxIiwiXzB4NDk4NDFlIiwiXzB4NWI5ZDQ4IiwiXzB4NWE1Zjg2IiwiXzB4MjY5MzQxIiwiXzB4MmJhZjMzIiwiXzB4MmFjMzBhIiwiXzB4M2RlZTc5IiwiXzB4MjBkNWViIiwiXzB4NTNmYzhmIiwiXzB4MWI4OGRhIiwiXzB4NDhiNWVkIiwiXzB4MTQzMzA4IiwiXzB4MTg3OGU2IiwiXzB4MzM4ZjQ3IiwiXzB4NDk1MThhIiwiXzB4MmRhMjQ4IiwiXzB4MjQyOTkxIiwiXzB4NDU1MTc1IiwiXzB4YmU1NmEyIiwiXzB4MjAzZDQ1IiwiXzB4NDRlYTEzIiwiXzB4NTQ2YTYyIiwiXzB4YmZkMzU1IiwiXzB4MTc2MTMwIiwiXzB4NTc0NmEzIiwiXzB4MmVkZDEzIiwiXzB4MTNmYWYxIiwiXzB4NDhjZTVkIiwiXzB4NWE5NzAxIiwiUkVEIiwiXzB4NDJjMTcyIiwiXzB4MzkzNDkxIiwiXzB4M2Q2MmMyIiwiXzB4MTNlYzcyIiwiXzB4MzdmNGRiIiwiXzB4MWE0MTI4IiwiXzB4NTZiYzMzIiwiXzB4YTFkYmEzIiwiXzB4MTJjMzkzIiwiXzB4MWVhYWY4IiwiXzB4MmYyMTFhIiwiXzB4NDhiYzQ1IiwiXzB4ODZmZjRkIiwiXzB4NDVhMTExIiwiXzB4MzJhOTY0IiwianNvbiIsIl8weDM5YjAzNCIsImRhdGEiLCJfMHgzMmVkOTEiLCJfMHg0YzI1M2UiLCJfMHgyN2M2MDEiLCJfMHgxOTU2MWIiLCJzZXRUaW1lb3V0IiwiXzB4NGM3N2I3IiwiXzB4MzU4NzhlIiwiXzB4MzYzNzY1IiwiXzB4MmU0ZmFmIiwiXzB4NTMxZDhhIiwiXzB4MTI5YzRkIiwiXzB4MzAzN2MwIiwiXzB4NWFlMDNjIiwiXzB4ZmVhMjQwIiwiXzB4MTM4OTllIiwiXzB4MzM2ZGY0IiwiXzB4ZWM2NWNjIiwiXzB4NWI0NDRlIiwiXzB4MzMxMTMwIiwiXzB4NGYxOGNmIiwiXzB4MzYzZjNmIiwiXzB4NGFhMjJkIiwiXzB4NDNkM2VlIiwiXzB4MjJkMmI5IiwiXzB4M2U2Mjc4IiwiXzB4MmNjMTM5IiwiXzB4MzU5OWQxIiwiXzB4NGI1ZWIyIiwiaWNvbiIsIl8weGUzZTJkMiIsImNvbG9yIiwiXzB4Mjg3NmJkIiwiXzB4MmE2ODc1IiwiXzB4MzlmZjAwIiwiXzB4NGJlMTE5IiwiXzB4NTlhZDU0IiwiXzB4MjY2NDIwIiwiXzB4MjdiOTdkIiwiXzB4ZDQ2MjZlIiwiXzB4MzQ0OTAyIiwiXzB4MzI1NTc3IiwiXzB4MjlhN2Y0IiwiXzB4MTc2NWUxIiwiXzB4NDUyNWYxIiwiXzB4MTc0MThlIiwiXzB4NTk4ZTFiIiwiXzB4OTk1YzlmIiwiXzB4MzAxMTYwIiwiXzB4MWRhOTM1IiwiXzB4NDU4M2VhIiwiXzB4MzZhNzk0IiwiXzB4MmNiYWM2IiwiXzB4NGUyYTcyIiwiXzB4NDY0ODIxIiwidW5kZWZpbmVkIiwiXzB4NDIwZmQ0IiwiXzB4NDg3ZGVmIiwiXzB4YmJjMTlkIiwiXzB4MWNlOGIxIiwiXzB4NGZlZWE5IiwiXzB4MjgyN2E0IiwiXzB4MzkyOWYyIiwiXzB4M2RjNzVlIiwiXzB4NTYxODM3IiwiXzB4MTIwMTk2IiwiXzB4NDY0OTMwIiwiXzB4Mjg1NDYxIiwiXzB4MjQ3ODEwIiwiXzB4M2IwNmU4IiwicmVmZXJlbmNlcyIsIl8weDE5MDhhYyIsIl8weDNjYjhiMyIsIl8weDRkYzM5YSIsIl8weDEyNGY0MSIsIl8weDRlMTVkZSIsIl8weDE4NTRhNyIsIl8weDE2ODRiMSIsIl8weDQ0NTAyMCIsIl8weDQwM2JiYyIsIl8weDI2ODE1NCIsIl8weDVlNGJjZSIsIl8weDE1N2RlOCIsIl8weDEwYTUwNiIsIl8weDJkNWZjMyIsIl8weDU1MTQwNCIsIl8weDkwYjE1NCIsIl8weDUxODdjMCIsIl8weDMxZGMxMCIsIl8weGZlYWE2OCIsIl8weDIwZDk4MyIsIl8weDJjNmZkIiwiXzB4MWVlOTNkIiwiXzB4MThmYzMiLCJfMHgzOTczMjAiLCJfMHgxZWRiMjMiLCJfMHgxNjJmYTYiLCJfMHgyMzQ3NzUiLCJfMHg0ZGVlNDYiLCJfMHg1OGU1NDAiLCJfMHgxNDU4ZjUiLCJkb2N1bWVudCIsIl8weDNmYzUxYiIsIl8weDQ5ZGYyZCIsIl8weDMxYWNiOSIsIl8weDZmNzkiLCJfMHgzNmE3NDUiLCJfMHg0ZjVlOTMiLCJfMHgxZDVhM2IiLCJfMHhiZWNhNTIiLCJfMHhlMjkyNmIiLCJfMHgzMTFmMiIsIl8weDE0OWI1NiIsIl8weDJkNDQwYyIsIl8weDNlZGNlZSIsIl8weDc3OThlIiwiXzB4MTJhNjA5IiwiXzB4NGQ4OGVmIiwiXzB4MjQ4ZjNkIiwiXzB4MjFkMGZiIiwiXzB4NTUyYjM1Iiwid2luZG93IiwiXzB4NTk4ZWJiIiwiXzB4MTIyMzQ1IiwiXzB4MWUzOGVhIiwiXzB4MzY2ZjcwIiwiXzB4NWVlODRlIiwiXzB4MTY1YzE5IiwiXzB4M2FhOTFhIiwiXzB4MTE5MjZmIiwiXzB4NDIwMGJjIiwiXzB4NTFmYzVkIiwiXzB4MWM5MDQ0IiwiXzB4Mjc2OWFiIiwiXzB4MjkyNWMxIiwiXzB4NTAzOGJiIiwiXzB4MzFiMDU5IiwiXzB4MmY3YmIzIiwiXzB4M2FhMzNlIiwiXzB4NWQ0ODgwIiwiXzB4NDg2MmMzIiwiXzB4NTE4ZTFmIiwiXzB4MjFjMGY0IiwiXzB4YmEwYjg3IiwiXzB4NTMzYzI1IiwiXzB4NWU4NzgyIiwiXzB4MmRiMWUxIiwiXzB4MTg4OGQyIiwiXzB4NGU1MDE4IiwiXzB4NThhMGM3IiwiXzB4MWE2OGVkIiwiXzB4NjYzZmM5IiwiXzB4MzcyMjczIiwiXzB4NTc5ODdiIiwiXzB4NWIxN2FhIiwiXzB4NmEyMTAwIiwiXzB4NTQxOWI5IiwiXzB4M2Q2Zjk3IiwiXzB4MzhlOGU5IiwiXzB4MjU4NzQ2IiwiXzB4NTgxZGE1IiwiXzB4MTA0NGZlIiwiXzB4M2U3ZThlIiwiXzB4MTBiNjIzIiwiXzB4NWU4YTY4IiwiXzB4MzhiNGU0IiwiXzB4MjA3NjA5IiwiXzB4MTQyNGY0IiwiXzB4ZWU4YjJhIiwiXzB4ODM4ZTAzIiwiXzB4NGQwMmI3IiwiXzB4NTc2OGU3IiwiXzB4MjEzM2M3IiwiXzB4MTM0ZDBiIiwiXzB4Mzg5NWY0IiwiXzB4YmM2MWY2IiwiXzB4MWU4OWE2IiwiXzB4NWJmY2FkIiwiXzB4MzAxYjM3IiwiXzB4MTgzMmFmIiwiXzB4NWJhYWZhIiwiXzB4NDJmM2QzIiwiXzB4MTcxYWI4IiwiXzB4MTI0ZjllIiwiXzB4MWNkY2E0IiwiXzB4M2YxMTI0IiwiXzB4M2JjOTQyIiwiXzB4MWIwOTg2IiwiXzB4M2IzYTIyIiwiXzB4NTBkNzE4IiwiXzB4NDY4MzE4IiwiXzB4MzY1NjA0IiwiXzB4MmU4NzcwIiwiU2V0IiwiXzB4MTA0ZjY5IiwiXzB4NTg2ZjUzIiwiXzB4MmY0NjFkIiwiXzB4NGM3ZTYzIiwiXzB4ZjNlNzhjIiwiXzB4NGZiODJjIiwiXzB4NTZkMDdhIiwiXzB4OWI0NmIwIiwiXzB4NDBiMGRlIiwiXzB4MjgwNTNiIiwiXzB4MmUwZjZjIiwiXzB4MjJhMTE3IiwiXzB4MzBmN2EyIiwiXzB4MzgyYzA1IiwibmFtZSIsIl8weDNmYjgzZSIsIm5hbWVzcGFjZUluZGV4IiwiXzB4NDMwOWY3IiwiXzB4MmM4ZWUwIiwiXzB4MWYwMTU0IiwiXzB4MzFhOTc1IiwiXzB4NzFlYzk3IiwiXzB4NjQ3OTVhIiwiXzB4MmJhZjY1IiwiXzB4NjE2YjJjIiwiXzB4MjQwZDA2IiwiXzB4MWQxM2NhIiwiXzB4MTUzYTI2IiwiXzB4Mzc3MmYwIiwiXzB4MmQ5ZWI5IiwiXzB4MWJkNGVkIiwiXzB4MzgxYjdjIiwiXzB4MzE5ZjI5IiwiXzB4NWNkNzI0IiwiXzB4MThkYzcyIiwiXzB4NThiMTY5IiwiXzB4MTM5ZDQ3IiwiXzB4M2ZkODc5IiwiXzB4NWU2OTY0IiwiXzB4NWJmMTg1IiwiXzB4MzczYmRkIiwiXzB4NDBkMzJiIiwiXzB4MzdhMjZlIiwiXzB4MjdkNzZhIiwiXzB4NGE5NDhkIiwiXzB4MjJhMjcyIiwiXzB4M2M0YWY5IiwiXzB4MWE3MTQxIiwiXzB4NmUxMWViIiwiXzB4Mjc2NTYzIiwiXzB4NDI5MGI3IiwiXzB4MzFlY2ZjIiwiXzB4MmM0NzViIiwiXzB4YTFmYTExIiwiXzB4NTViMjQ5IiwiXzB4NDZlY2MzIiwiXzB4MjM2ZTUzIiwiXzB4NDFiZTY1IiwiXzB4NDNkNGY2IiwiXzB4MThmN2FlIiwiXzB4NDQ0MmVjIiwiXzB4MmFiNzNmIiwiXzB4MjVlZThhIiwic2VjdXJpdHlNb2RlIiwiXzB4MzBlMzdlIiwic2VjdXJpdHlQb2xpY3kiLCJfMHgxY2YwOWUiLCJ1c2VySWRlbnRpdHlUeXBlIiwiXzB4NWQyY2Q1IiwiY3JlZGVudGlhbHMiLCJfMHgxMGZjZWUiLCJuYW1lc3BhY2VBbGlhc2VzIiwiXzB4NTY3ZDc4IiwiXzB4MmJkMTljIiwiXzB4MWRiZmFjIiwiXzB4NTA0ZmJhIiwiXzB4MWQ0Y2Q0IiwiXzB4NDk4ZTg0IiwiXzB4MzM0MjMyIiwiXzB4NzBlZDk3IiwiXzB4NTg0NTc1IiwiXzB4MjY5MDA3IiwiXzB4MTNkNjFjIiwiXzB4NDVmNDJlIiwiXzB4MTc5OTViIiwiXzB4MTE5YmM1IiwiXzB4MjU2YmFjIiwiXzB4MTdhZTNiIiwiXzB4MjdkNTUyIiwiXzB4M2Y5ZGFiIl0sIm1hcHBpbmdzIjoidW1OQUFBLENBQUMsVSxDQUNHLGEsd0JBRUEsU0FBU0EsU0FBVCxDQUFxQ0MsU0FBckMsQ0FBMENDLFNBQTFDLEMseUJBQ1VDLFNBQUEsQ0FBWUMsQ0FBQSxDLHNCQUFBLEMsQ0FDWkMsU0FBQSxDQUFnQkQsQ0FBQSxDLGdCQUFBLEMsQ0FFaEJFLFNBQUEsQ0FBNkIsSSwyQkFDekJDLFNBQUEsQ0FBV04sU0FBQSxDLGdCQUFBLEUsTUFBQSxFQUFlRSxTQUFBLEMsZ0JBQUEsR0FBZixDLENBQ2pCRSxTQUFBLEMsZ0JBQUEsSSxHQUNJLENBQUNFLFNBQUQsRUFBYSxDQUFDQSxTQUFBLEMsZ0JBQUEsQyxDQUNkLE9BRUosVUFBV0MsU0FBWCxJQUFnQkQs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QkFBQSxFLE1BL0V5QyxDQUFyRCxDLEVBNzBDSixHIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uICgpIHtcbiAgICAndXNlIHN0cmljdCc7XG5cbiAgICBmdW5jdGlvbiBpbnN0YWxsU3Vic2NyaXB0aW9uU2VsZWN0b3IoUkVELCBub2RlKSB7XG4gICAgICAgIGNvbnN0ICRlbmRwb2ludCA9ICQoXCIjbm9kZS1pbnB1dC1lbmRwb2ludFwiKTtcbiAgICAgICAgY29uc3QgJHN1YnNjcmlwdGlvbiA9ICQoXCIjbm9kZS1pbnB1dC1zdWJzY3JpcHRpb25cIik7XG4gICAgICAgIC8vIGRlYnVnZ2VyO1xuICAgICAgICBjb25zdCBpbnN0YWxsU3Vic2NyaXB0aW9uT3B0aW9ucyA9ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVuZHBvaW50ID0gUkVELm5vZGVzLm5vZGUoJGVuZHBvaW50LnZhbCgpKTtcbiAgICAgICAgICAgICRzdWJzY3JpcHRpb24uZW1wdHkoKTtcbiAgICAgICAgICAgIGlmICghZW5kcG9pbnQgfHwgIWVuZHBvaW50LnN1YnNjcmlwdGlvbnMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHMgb2YgZW5kcG9pbnQuc3Vic2NyaXB0aW9ucykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gcy5uYW1lIHx8IHMuaWQ7XG4gICAgICAgICAgICAgICAgJChcIjxvcHRpb24vPlwiLCB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzLmlkLFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogbGFiZWwsXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiBzLmlkID09PSBub2RlLnN1YnNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAudGV4dChsYWJlbClcbiAgICAgICAgICAgICAgICAgICAgLmFwcGVuZFRvKCRzdWJzY3JpcHRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBpbnN0YWxsU3Vic2NyaXB0aW9uT3B0aW9ucygpO1xuICAgICAgICAvLyBoYWNrXG4gICAgICAgIC8vICRpbnB1dEFjdGlvbi5vbihcImNoYW5nZVwiLCAoKSA9PiB7XG4gICAgICAgIC8vICAgICAkZW5kcG9pbnQub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAvLyAgICAgICAgIGluc3RhbGxTdWJzY3JpcHRpb25PcHRpb25zKCk7XG4gICAgICAgIC8vICAgICB9KTtcbiAgICAgICAgLy8gfSk7XG4gICAgICAgICRzdWJzY3JpcHRpb24ub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAgICAgbm9kZS5zdWJzY3JpcHRpb24gPSAkc3Vic2NyaXB0aW9uLnZhbCgpO1xuICAgICAgICAgICAgLy8gICAgaW5zdGFsbFN1YnNjcmlwdGlvbk9wdGlvbnMoKTtcbiAgICAgICAgfSk7XG4gICAgICAgICRlbmRwb2ludC5vbihcImNoYW5nZVwiLCAoKSA9PiB7XG4gICAgICAgICAgICBpbnN0YWxsU3Vic2NyaXB0aW9uT3B0aW9ucygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cclxuXHJcbiAgICBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnlcclxuICAgIHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cclxuXHJcbiAgICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXHJcbiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFlcclxuICAgIEFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcclxuICAgIElORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxyXG4gICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1JcclxuICAgIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcclxuICAgIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXHJcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4gICAgLyogZ2xvYmFsIFJlZmxlY3QsIFByb21pc2UsIFN1cHByZXNzZWRFcnJvciwgU3ltYm9sLCBJdGVyYXRvciAqL1xyXG5cclxuXHJcbiAgICBmdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XHJcbiAgICAgICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XHJcbiAgICAgICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0eXBlb2YgU3VwcHJlc3NlZEVycm9yID09PSBcImZ1bmN0aW9uXCIgPyBTdXBwcmVzc2VkRXJyb3IgOiBmdW5jdGlvbiAoZXJyb3IsIHN1cHByZXNzZWQsIG1lc3NhZ2UpIHtcclxuICAgICAgICB2YXIgZSA9IG5ldyBFcnJvcihtZXNzYWdlKTtcclxuICAgICAgICByZXR1cm4gZS5uYW1lID0gXCJTdXBwcmVzc2VkRXJyb3JcIiwgZS5lcnJvciA9IGVycm9yLCBlLnN1cHByZXNzZWQgPSBzdXBwcmVzc2VkLCBlO1xyXG4gICAgfTtcblxuICAgIGNvbnN0IE9yZ2FuaXplc1JlZk5vZGVJZCA9IFwibnM9MDtpPTM1XCI7XG4gICAgY29uc3QgRm9sZGVyVHlwZSA9IFwibnM9MDtpPTYxXCI7XG4gICAgY29uc3QgSGFzQ29tcG9uZW50UmVmTm9kZUlkID0gXCJucz0wO2k9NDdcIjtcbiAgICBjb25zdCBIYXNQcm9wZXJ0eVJlZk5vZGVJZCA9IFwibnM9MDtpPTQ2XCI7XG4gICAgY29uc3QgSGFzQ2hpbGRSZWZOb2RlSWQgPSBcIm5zPTA7aT0zNFwiO1xuICAgIGNvbnN0IEhhc1N1YnR5cGVSZWZOb2RlSWQgPSBcIm5zPTA7aT00NVwiO1xuICAgIGNvbnN0IEhhc1R5cGVEZWZpbml0aW9uUmVmTm9kZUlkID0gXCJucz0wO2k9NDBcIjtcblxuICAgIHZhciBCcm93c2VEaXJlY3Rpb247XG4gICAgKGZ1bmN0aW9uIChCcm93c2VEaXJlY3Rpb24pIHtcbiAgICAgICAgQnJvd3NlRGlyZWN0aW9uW0Jyb3dzZURpcmVjdGlvbltcIkZvcndhcmRcIl0gPSAwXSA9IFwiRm9yd2FyZFwiO1xuICAgICAgICBCcm93c2VEaXJlY3Rpb25bQnJvd3NlRGlyZWN0aW9uW1wiSW52ZXJzZVwiXSA9IDFdID0gXCJJbnZlcnNlXCI7XG4gICAgICAgIEJyb3dzZURpcmVjdGlvbltCcm93c2VEaXJlY3Rpb25bXCJCb3RoXCJdID0gMl0gPSBcIkJvdGhcIjtcbiAgICAgICAgQnJvd3NlRGlyZWN0aW9uW0Jyb3dzZURpcmVjdGlvbltcIkludmFsaWRcIl0gPSAzXSA9IFwiSW52YWxpZFwiO1xuICAgIH0pKEJyb3dzZURpcmVjdGlvbiB8fCAoQnJvd3NlRGlyZWN0aW9uID0ge30pKTtcbiAgICB2YXIgTm9kZUNsYXNzO1xuICAgIChmdW5jdGlvbiAoTm9kZUNsYXNzKSB7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJVbnNwZWNpZmllZFwiXSA9IDBdID0gXCJVbnNwZWNpZmllZFwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiT2JqZWN0XCJdID0gMV0gPSBcIk9iamVjdFwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiVmFyaWFibGVcIl0gPSAyXSA9IFwiVmFyaWFibGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIk1ldGhvZFwiXSA9IDRdID0gXCJNZXRob2RcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIk9iamVjdFR5cGVcIl0gPSA4XSA9IFwiT2JqZWN0VHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiVmFyaWFibGVUeXBlXCJdID0gMTZdID0gXCJWYXJpYWJsZVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIlJlZmVyZW5jZVR5cGVcIl0gPSAzMl0gPSBcIlJlZmVyZW5jZVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIkRhdGFUeXBlXCJdID0gNjRdID0gXCJEYXRhVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiVmlld1wiXSA9IDEyOF0gPSBcIlZpZXdcIjtcbiAgICB9KShOb2RlQ2xhc3MgfHwgKE5vZGVDbGFzcyA9IHt9KSk7XG4gICAgdmFyIE5vZGVDbGFzc01hc2s7XG4gICAgKGZ1bmN0aW9uIChOb2RlQ2xhc3NNYXNrKSB7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIk9iamVjdFwiXSA9IDFdID0gXCJPYmplY3RcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiVmFyaWFibGVcIl0gPSAyXSA9IFwiVmFyaWFibGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiTWV0aG9kXCJdID0gNF0gPSBcIk1ldGhvZFwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJPYmplY3RUeXBlXCJdID0gOF0gPSBcIk9iamVjdFR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiVmFyaWFibGVUeXBlXCJdID0gMTZdID0gXCJWYXJpYWJsZVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiUmVmZXJlbmNlVHlwZVwiXSA9IDMyXSA9IFwiUmVmZXJlbmNlVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJEYXRhVHlwZVwiXSA9IDY0XSA9IFwiRGF0YVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiVmlld1wiXSA9IDEyOF0gPSBcIlZpZXdcIjtcbiAgICB9KShOb2RlQ2xhc3NNYXNrIHx8IChOb2RlQ2xhc3NNYXNrID0ge30pKTtcbiAgICB2YXIgUmVzdWx0TWFzaztcbiAgICAoZnVuY3Rpb24gKFJlc3VsdE1hc2spIHtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiUmVmZXJlbmNlVHlwZVwiXSA9IDFdID0gXCJSZWZlcmVuY2VUeXBlXCI7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIklzRm9yd2FyZFwiXSA9IDJdID0gXCJJc0ZvcndhcmRcIjtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiTm9kZUNsYXNzXCJdID0gNF0gPSBcIk5vZGVDbGFzc1wiO1xuICAgICAgICBSZXN1bHRNYXNrW1Jlc3VsdE1hc2tbXCJCcm93c2VOYW1lXCJdID0gOF0gPSBcIkJyb3dzZU5hbWVcIjtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiRGlzcGxheU5hbWVcIl0gPSAxNl0gPSBcIkRpc3BsYXlOYW1lXCI7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIlR5cGVEZWZpbml0aW9uXCJdID0gMzJdID0gXCJUeXBlRGVmaW5pdGlvblwiO1xuICAgIH0pKFJlc3VsdE1hc2sgfHwgKFJlc3VsdE1hc2sgPSB7fSkpO1xuICAgIC8vICBjb25zdCBxID0gUmVmZXJlbmNlVHlwZUlkcy5Pcmdhbml6ZXM7XG4gICAgZnVuY3Rpb24gcmVzb2x2ZU5vZGVJZChub2RlSWRMaWtlKSB7XG4gICAgICAgIHN3aXRjaCAobm9kZUlkTGlrZSkge1xuICAgICAgICAgICAgY2FzZSBcIk9yZ2FuaXplc1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiBPcmdhbml6ZXNSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzUHJvcGVydHlcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGFzUHJvcGVydHlSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzQ29tcG9uZW50XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEhhc0NvbXBvbmVudFJlZk5vZGVJZDtcbiAgICAgICAgICAgIGNhc2UgXCJIYXNDaGlsZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBIYXNDaGlsZFJlZk5vZGVJZDtcbiAgICAgICAgICAgIGNhc2UgXCJIYXNTdWJ0eXBlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEhhc1N1YnR5cGVSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzVHlwZURlZmluaXRpb25cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGFzVHlwZURlZmluaXRpb25SZWZOb2RlSWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBnZXRJY29uID0gKHJlZmVyZW5jZSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKHJlZmVyZW5jZS5ub2RlQ2xhc3MpIHtcbiAgICAgICAgICAgIGNhc2UgXCJPYmplY3RcIjpcbiAgICAgICAgICAgICAgICBpZiAocmVmZXJlbmNlLnJlZmVyZW5jZVR5cGVJZCA9PT0gT3JnYW5pemVzUmVmTm9kZUlkKSA7XG4gICAgICAgICAgICAgICAgaWYgKHJlZmVyZW5jZS50eXBlRGVmaW5pdGlvbiA9PT0gRm9sZGVyVHlwZSB8fCByZWZlcmVuY2UucmVmZXJlbmNlVHlwZUlkID09PSBcImk9NjFcIikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWZvbGRlclwiLCBjb2xvcjogXCJyZ2JhKDYxLCA2MCwgNCwgMC41MjUpXCIgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1vYmplY3QtZ3JvdXBcIiwgY29sb3I6IFwiU2VhR3JlZW5cIiB9O1xuICAgICAgICAgICAgY2FzZSBcIlZhcmlhYmxlXCI6XG4gICAgICAgICAgICAgICAgaWYgKHJlZmVyZW5jZS5yZWZlcmVuY2VUeXBlSWQgPT09IEhhc0NvbXBvbmVudFJlZk5vZGVJZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWxpc3QtYWx0XCIsIGNvbG9yOiBcIlN0ZWVsQmx1ZVwiIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJlZmVyZW5jZS5yZWZlcmVuY2VUeXBlSWQgPT09IEhhc1Byb3BlcnR5UmVmTm9kZUlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtbGlzdC1hbHRcIiwgY29sb3I6IFwiRG9kZ2VyQmx1ZVwiIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWxpc3QtYWx0XCIsIGNvbG9yOiBcIkNhZGV0Qmx1ZVwiIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBcIk1ldGhvZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtY29nXCIsIGNvbG9yOiBcIlNhbmR5QnJvd25cIiB9O1xuICAgICAgICAgICAgY2FzZSBcIk9iamVjdFR5cGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLW9iamVjdC1ncm91cFwiLCBjb2xvcjogXCJEYXJrT3JhbmdlXCIgfTtcbiAgICAgICAgICAgIGNhc2UgXCJWYXJpYWJsZVR5cGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLXNsaWRlcnNcIiwgY29sb3I6IFwiRGFya09yYW5nZVwiIH07XG4gICAgICAgICAgICBjYXNlIFwiRGF0YVR5cGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLXRleHQtd2lkdGhcIiwgY29sb3I6IFwiQ2FkZXRCbHVlXCIgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLXF1ZXN0aW9uXCIsIGNvbG9yOiBcImdyZXlcIiB9O1xuICAgIH07XG5cbiAgICBjb25zdCBicm93c2UgPSAoX2EsIG5vZGVJZF8xLCB0ZW1wbGF0ZV8xKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCBbX2EsIG5vZGVJZF8xLCB0ZW1wbGF0ZV8xXSwgdm9pZCAwLCBmdW5jdGlvbiogKHsgZW5kcG9pbnROb2RlLCBlbmRwb2ludCwgYmFzZVVybCB9LCBub2RlSWQsIHRlbXBsYXRlKSB7XG4gICAgICAgIGNvbnN0IHJvb3QgPSBgJHtiYXNlVXJsfS9vcGN1YS1mb3Itbm9kZS1yZWRgO1xuICAgICAgICBjb25zdCB1cmwgPSBgJHtyb290fS9icm93c2VgO1xuICAgICAgICBjb25zdCBicm93c2VEZXNjcmlwdGlvbiA9IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgdGVtcGxhdGUpLCB7IG5vZGVJZCwgcmVzdWx0TWFzazogNjMgfSk7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB5aWVsZCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlLFxuICAgICAgICAgICAgICAgIGVuZHBvaW50LFxuICAgICAgICAgICAgICAgIGJyb3dzZURlc2NyaXB0aW9uLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJmZXRjaGluZyBmYWlsZWQgd2l0aCBlcnJvclwiLCBkYXRhLnN0YXR1cywgZGF0YS5zdGF0dXNUZXh0KTtcbiAgICAgICAgICAgIHJldHVybiB7IHJlZmVyZW5jZXM6IFtdIH07XG4gICAgICAgIH1cbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJicm93c2UgZmV0Y2hlZCA6IFwiLCBkYXRhLnN0YXR1cywgZGF0YS5zdGF0dXNUZXh0KTtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSB5aWVsZCBkYXRhLmpzb24oKTtcbiAgICAgICAgY29uc3QgcmVmZXJlbmNlcyA9IHJlc3BvbnNlLmJyb3dzZVJlc3VsdC5yZWZlcmVuY2VzIHx8IFtdO1xuICAgICAgICByZXR1cm4geyByZWZlcmVuY2VzIH07XG4gICAgfSk7XG5cbiAgICBjb25zdCB0ZW1wbGF0ZTEgPSB7XG4gICAgICAgIHJlZmVyZW5jZVR5cGVJZDogcmVzb2x2ZU5vZGVJZChcIkhhc0NoaWxkXCIpLFxuICAgICAgICBpbmNsdWRlU3VidHlwZXM6IHRydWUsXG4gICAgICAgIGJyb3dzZURpcmVjdGlvbjogQnJvd3NlRGlyZWN0aW9uLkZvcndhcmQsXG4gICAgICAgIG5vZGVDbGFzc01hc2s6IE5vZGVDbGFzcy5WYXJpYWJsZSB8IE5vZGVDbGFzcy5PYmplY3QgfCBOb2RlQ2xhc3MuTWV0aG9kLFxuICAgICAgICAvLyAgTm9kZUNsYXNzLk9iamVjdFR5cGUgfFxuICAgICAgICAvLyAgTm9kZUNsYXNzLlZhcmlhYmxlVHlwZSB8XG4gICAgICAgIC8vIE5vZGVDbGFzcy5SZWZlcmVuY2VUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLkRhdGFUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLlZpZXcsXG4gICAgICAgIHJlc3VsdE1hc2s6IDYzLFxuICAgIH07XG4gICAgY29uc3QgdGVtcGxhdGUyID0ge1xuICAgICAgICByZWZlcmVuY2VUeXBlSWQ6IHJlc29sdmVOb2RlSWQoXCJPcmdhbml6ZXNcIiksXG4gICAgICAgIGluY2x1ZGVTdWJ0eXBlczogdHJ1ZSxcbiAgICAgICAgYnJvd3NlRGlyZWN0aW9uOiBCcm93c2VEaXJlY3Rpb24uRm9yd2FyZCxcbiAgICAgICAgbm9kZUNsYXNzTWFzazogTm9kZUNsYXNzLlZhcmlhYmxlIHwgTm9kZUNsYXNzLk9iamVjdCB8IE5vZGVDbGFzcy5NZXRob2QsXG4gICAgICAgIC8vICBOb2RlQ2xhc3MuT2JqZWN0VHlwZSB8XG4gICAgICAgIC8vICBOb2RlQ2xhc3MuVmFyaWFibGVUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLlJlZmVyZW5jZVR5cGUgfFxuICAgICAgICAvLyBOb2RlQ2xhc3MuRGF0YVR5cGUgfFxuICAgICAgICAvLyBOb2RlQ2xhc3MuVmlldyxcbiAgICAgICAgcmVzdWx0TWFzazogNjMsXG4gICAgfTtcbiAgICBjb25zdCB3YWxrQmFja3dhcmQgPSAoX2EsIF9iKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCBbX2EsIF9iXSwgdm9pZCAwLCBmdW5jdGlvbiogKHsgZW5kcG9pbnROb2RlLCBlbmRwb2ludCwgYmFzZVVybCB9LCB7IG5vZGVJZCwgcm9vdE5vZGVJZCwgaXNUeXBlIH0pIHtcbiAgICAgICAgY29uc3Qgcm9vdCA9IGAke2Jhc2VVcmx9L29wY3VhLWZvci1ub2RlLXJlZGA7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L3dhbGstYmFja3dhcmRgO1xuICAgICAgICBjb25zdCBkYXRhID0geWllbGQgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgIGVuZHBvaW50Tm9kZSxcbiAgICAgICAgICAgICAgICBlbmRwb2ludCxcbiAgICAgICAgICAgICAgICBub2RlSWQsXG4gICAgICAgICAgICAgICAgcm9vdE5vZGVJZCxcbiAgICAgICAgICAgICAgICBpc1R5cGUsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChkYXRhLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBqc29uID0gKHlpZWxkIGRhdGEuanNvbigpKTtcbiAgICAgICAgcmV0dXJuIGpzb24uYnJvd3NlUGF0aDtcbiAgICB9KTtcbiAgICBjb25zdCBjaG9vc2VOb2RlSWQgPSAoZGF0YSwgbW9kZSkgPT4ge1xuICAgICAgICBpZiAoZGF0YS5zdGF0dXNDb2RlICE9PSBcIkdvb2RcIikge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGEucmVxdWVzdGVkTm9kZUlkO1xuICAgICAgICB9XG4gICAgICAgIHN3aXRjaCAobW9kZSkge1xuICAgICAgICAgICAgY2FzZSBcImJyb3dzZVBhdGhcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5icF9pbmRleGVkO1xuICAgICAgICAgICAgY2FzZSBcImFsaWFzZWRCcm93c2VQYXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEuYnBfYWxpYXNlZCB8fCBkYXRhLmJwX2luZGV4ZWQ7XG4gICAgICAgICAgICBjYXNlIFwiYWxpYXNlZE5vZGVJZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLm5vZGVJZF9hbGlhc2VkIHx8IGRhdGEubm9kZUlkX25zdTtcbiAgICAgICAgICAgIGNhc2UgXCJuc3VOb2RlSURcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5ub2RlSWRfbnN1O1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGNhc2UgXCJub2RlSWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5ub2RlSWQ7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IG1ha2VUb29sdGlwID0gKGRhdGEpID0+IHtcbiAgICAgICAgaWYgKGRhdGEuc3RhdHVzQ29kZSAhPT0gXCJHb29kXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBgc3RhdHVzQ29kZTogJHtkYXRhLnN0YXR1c0NvZGV9YDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGxldCBzdHIgPSBbXTtcbiAgICAgICAgICAgIHN0ci5wdXNoKGBub2RlSWQ6ICR7ZGF0YS5ub2RlSWR9YCk7XG4gICAgICAgICAgICBzdHIucHVzaChgYnJvd3NlIHBhdGg6ICR7ZGF0YS5icF9pbmRleGVkfWApO1xuICAgICAgICAgICAgc3RyLnB1c2goYG5vZGUgY2xhc3M6ICR7Tm9kZUNsYXNzW2RhdGEubm9kZUNsYXNzXX1gKTtcbiAgICAgICAgICAgIGlmIChkYXRhLm5vZGVJZF9uc3UpIHtcbiAgICAgICAgICAgICAgICBzdHIucHVzaChgbnN1IG5vZGVJZDogJHtkYXRhLm5vZGVJZF9uc3V9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZGF0YS5ub2RlSWRfYWxpYXNlZCkge1xuICAgICAgICAgICAgICAgIHN0ci5wdXNoKGBhbGlhc2VkIE5vZGVJZDogJHtkYXRhLm5vZGVJZF9hbGlhc2VkfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGRhdGEuYnBfaW5kZXhlZCkge1xuICAgICAgICAgICAgICAgIHN0ci5wdXNoKGBhbGlhc2VkIGJyb3dzZVBhdGg6ICR7ZGF0YS5icF9hbGlhc2VkfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHN0ci5qb2luKFwiXFxuXCIpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBmdW5jdGlvbiBmaWd1cmVPdXRNb2RlKGVuaGFuY2VkTm9kZUlkKSB7XG4gICAgICAgIGlmIChlbmhhbmNlZE5vZGVJZC5tYXRjaCgvXm5zdT0vKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwibnN1Tm9kZUlEXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVuaGFuY2VkTm9kZUlkLm1hdGNoKC9eKG5zPS4qOyk/KGl8YnxzfGcpPS8pKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJub2RlSWRcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5oYW5jZWROb2RlSWQubWF0Y2goL15uc2E9LykpIHtcbiAgICAgICAgICAgIHJldHVybiBcImFsaWFzZWROb2RlSWRcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5oYW5jZWROb2RlSWQubWF0Y2goL14oXFwvfFxcLilbMC05XSs6LykpIHtcbiAgICAgICAgICAgIHJldHVybiBcImJyb3dzZVBhdGhcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5oYW5jZWROb2RlSWQubWF0Y2goL14oXFwvfFxcLikuKjovKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiYnJvd3NlUGF0aFwiO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGZpZ3VyZU91dE1lblVJdGVtVmFsdWUoc3RyKSB7XG4gICAgICAgIGNvbnN0IG1vZGUgPSBmaWd1cmVPdXRNb2RlKHN0cik7XG4gICAgICAgIHN3aXRjaCAobW9kZSkge1xuICAgICAgICAgICAgY2FzZSBcIm5vZGVJZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIm5cIjtcbiAgICAgICAgICAgIGNhc2UgXCJhbGlhc2VkTm9kZUlkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwibmFcIjtcbiAgICAgICAgICAgIGNhc2UgXCJuc3VOb2RlSURcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJuc3VcIjtcbiAgICAgICAgICAgIGNhc2UgXCJicm93c2VQYXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiYlwiO1xuICAgICAgICAgICAgY2FzZSBcImFsaWFzZWRCcm93c2VQYXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiYWJcIjtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwidFwiO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIHRvTW9kZSh2KSB7XG4gICAgICAgIGxldCBtb2RlO1xuICAgICAgICBzd2l0Y2ggKHYpIHtcbiAgICAgICAgICAgIGNhc2UgXCJuXCI6XG4gICAgICAgICAgICAgICAgbW9kZSA9IFwibm9kZUlkXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwibmFcIjpcbiAgICAgICAgICAgICAgICBtb2RlID0gXCJhbGlhc2VkTm9kZUlkXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwibnN1XCI6XG4gICAgICAgICAgICAgICAgbW9kZSA9IFwibnN1Tm9kZUlEXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwiYlwiOlxuICAgICAgICAgICAgICAgIG1vZGUgPSBcImJyb3dzZVBhdGhcIjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJhYlwiOlxuICAgICAgICAgICAgICAgIG1vZGUgPSBcImFsaWFzZWRCcm93c2VQYXRoXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1vZGU7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGZyb21Nb2RlKG1vZGUpIHtcbiAgICAgICAgc3dpdGNoIChtb2RlKSB7XG4gICAgICAgICAgICBjYXNlIFwibm9kZUlkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiblwiO1xuICAgICAgICAgICAgY2FzZSBcImFsaWFzZWROb2RlSWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJuYVwiO1xuICAgICAgICAgICAgY2FzZSBcIm5zdU5vZGVJRFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIm5zdVwiO1xuICAgICAgICAgICAgY2FzZSBcImJyb3dzZVBhdGhcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJiXCI7XG4gICAgICAgICAgICBjYXNlIFwiYWxpYXNlZEJyb3dzZVBhdGhcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJhYlwiO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJ0XCI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgX2NhbGxDaGVja05vZGVJZCA9IChfYSwgbm9kZUlkXzEpID0+IF9fYXdhaXRlcih2b2lkIDAsIFtfYSwgbm9kZUlkXzFdLCB2b2lkIDAsIGZ1bmN0aW9uKiAoeyBlbmRwb2ludE5vZGUsIGVuZHBvaW50LCBiYXNlVXJsIH0sIG5vZGVJZCkge1xuICAgICAgICBjb25zdCByb290ID0gYCR7YmFzZVVybH0vb3BjdWEtZm9yLW5vZGUtcmVkYDtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7cm9vdH0vY2hlY2tOb2RlSWRgO1xuICAgICAgICBjb25zdCBlSWQgPSBlbmRwb2ludE5vZGUuaWQ7XG4gICAgICAgIGNvbnN0IG4gPSBSRUQubm9kZXMubm9kZShlSWQpO1xuICAgICAgICBjb25zb2xlLmxvZyhuLm5hbWVzcGFjZUFsaWFzZXMpO1xuICAgICAgICBuLm5hbWVzcGFjZUFsaWFzZXM7XG4gICAgICAgIGNvbnN0IG5hbWVzcGFjZUFsaWFzZXMgPSBlbmRwb2ludE5vZGUubmFtZXNwYWNlQWxpYXNlcztcbiAgICAgICAgY29uc3QgZGF0YSA9IHlpZWxkIGZldGNoKHVybCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICBlbmRwb2ludE5vZGUsXG4gICAgICAgICAgICAgICAgZW5kcG9pbnQsXG4gICAgICAgICAgICAgICAgbm9kZUlkLFxuICAgICAgICAgICAgICAgIG5hbWVzcGFjZUFsaWFzZXMsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGpzb24gPSAoeWllbGQgZGF0YS5qc29uKCkpO1xuICAgICAgICByZXR1cm4geyBqc29uLCBkYXRhIH07XG4gICAgfSk7XG4gICAgY29uc3QgaW50ZXJuYWxWZXJpZnkgPSAoX2EsIG1vZGVfMSwgJGlucHV0RWxlbWVudF8xLCAkaW5mb18xKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCBbX2EsIG1vZGVfMSwgJGlucHV0RWxlbWVudF8xLCAkaW5mb18xXSwgdm9pZCAwLCBmdW5jdGlvbiogKHsgZW5kcG9pbnROb2RlLCBlbmRwb2ludCwgYmFzZVVybCB9LCBtb2RlLCAkaW5wdXRFbGVtZW50LCAkaW5mbykge1xuICAgICAgICBjb25zdCBlbmhhbmNlZE5vZGVJZCA9ICRpbnB1dEVsZW1lbnQudmFsKCk7XG4gICAgICAgIGNvbnN0IHsganNvbiwgZGF0YSB9ID0geWllbGQgX2NhbGxDaGVja05vZGVJZCh7IGVuZHBvaW50Tm9kZSwgZW5kcG9pbnQsIGJhc2VVcmwgfSwgZW5oYW5jZWROb2RlSWQpO1xuICAgICAgICBjb25zdCBzZXROb3RpZmljYXRpb24gPSAodGV4dCwgY2xhc3NOYW1lKSA9PiB7XG4gICAgICAgICAgICAkaW5mby50ZXh0KHRleHQpLmFkZENsYXNzKFwic3RlcmZpdmUtaW5mb1wiKS5hZGRDbGFzcyhjbGFzc05hbWUpO1xuICAgICAgICAgICAgJGluZm8uc2hvdygpO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgJGluZm8ucmVtb3ZlQ2xhc3MoY2xhc3NOYW1lKTtcbiAgICAgICAgICAgICAgICAkaW5mby5oaWRlKCk7XG4gICAgICAgICAgICB9LCAzMDAwKTtcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKGRhdGEuc3RhdHVzICE9PSAyMDApIHtcbiAgICAgICAgICAgIC8vIGRvIHNvbWV0aGluZztcbiAgICAgICAgICAgIHNldE5vdGlmaWNhdGlvbihcIiEhZmFpbHVyZSEhXCIgKyBlbmhhbmNlZE5vZGVJZCwgXCJmYWlsdXJlXCIpO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKGpzb24uc3RhdHVzQ29kZS5tYXRjaCgvR29vZC8pKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdG9vbHRpcCA9IG1ha2VUb29sdGlwKGpzb24pO1xuICAgICAgICAgICAgICAgICRpbnB1dEVsZW1lbnQuYXR0cihcInRpdGxlXCIsIHRvb2x0aXApO1xuICAgICAgICAgICAgICAgIC8vIGRvIHNvbWV0aGluZ1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZUlkID0gY2hvb3NlTm9kZUlkKGpzb24sIG1vZGUpO1xuICAgICAgICAgICAgICAgICRpbnB1dEVsZW1lbnQudmFsKHNlbGVjdGVkTm9kZUlkKTtcbiAgICAgICAgICAgICAgICAkaW5wdXRFbGVtZW50LnRyaWdnZXIoXCJjaGFuZ2VcIik7XG4gICAgICAgICAgICAgICAgc2V0Tm90aWZpY2F0aW9uKFwiR29vZFwiLCBcIm9rXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgJGlucHV0RWxlbWVudC52YWwoYCR7ZW5oYW5jZWROb2RlSWR9YCk7XG4gICAgICAgICAgICAgICAgc2V0Tm90aWZpY2F0aW9uKGAke2pzb24uc3RhdHVzQ29kZX0gJHtkYXRhLnN0YXR1c1RleHR9YCwgXCJmYWlsdXJlXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGZ1bmN0aW9uIGZldGNoQ2hpbGRyZW4oJG5vZGUsIGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGVJZCA9ICRub2RlLmRhdGEoXCJ2YWx1ZVwiKTtcbiAgICAgICAgICAgIGNvbnN0IGJyb3dzZVJlc3VsdDEgPSB5aWVsZCBicm93c2UoZGF0YSwgbm9kZUlkLCB0ZW1wbGF0ZTEpO1xuICAgICAgICAgICAgY29uc3QgYnJvd3NlUmVzdWx0MiA9IHlpZWxkIGJyb3dzZShkYXRhLCBub2RlSWQsIHRlbXBsYXRlMik7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZmVyZW5jZXM6IFsuLi5icm93c2VSZXN1bHQxLnJlZmVyZW5jZXMsIC4uLmJyb3dzZVJlc3VsdDIucmVmZXJlbmNlc10sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgdGVtcGxhdGVTVCA9IHtcbiAgICAgICAgcmVmZXJlbmNlVHlwZUlkOiByZXNvbHZlTm9kZUlkKFwiSGFzU3VidHlwZVwiKSxcbiAgICAgICAgaW5jbHVkZVN1YnR5cGVzOiB0cnVlLFxuICAgICAgICBicm93c2VEaXJlY3Rpb246IEJyb3dzZURpcmVjdGlvbi5Gb3J3YXJkLFxuICAgICAgICBub2RlQ2xhc3NNYXNrOiBOb2RlQ2xhc3MuUmVmZXJlbmNlVHlwZSB8IE5vZGVDbGFzcy5PYmplY3RUeXBlIHwgTm9kZUNsYXNzLkRhdGFUeXBlIHwgTm9kZUNsYXNzLlZhcmlhYmxlVHlwZSxcbiAgICAgICAgcmVzdWx0TWFzazogNjMsXG4gICAgfTtcbiAgICBmdW5jdGlvbiBmZXRjaFN1YnR5cGVzKCRub2RlLCBkYXRhKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlSWQgPSAkbm9kZS5kYXRhKFwidmFsdWVcIik7XG4gICAgICAgICAgICBjb25zdCBicm93c2VSZXN1bHQxID0geWllbGQgYnJvd3NlKGRhdGEsIG5vZGVJZCwgdGVtcGxhdGVTVCk7XG4gICAgICAgICAgICByZXR1cm4gYnJvd3NlUmVzdWx0MTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IG1ha2VFbGVtZW50JDEgPSAocmVmZXJlbmNlKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jLCBfZDtcbiAgICAgICAgaWYgKCFyZWZlcmVuY2UgfHwgIXJlZmVyZW5jZS5ub2RlSWQpIHtcbiAgICAgICAgICAgIGNvbnN0ICRlbGVtZW50ID0gJChgPGxpPjxpIGNsYXNzPVwiZmEgZmEtZXJyb3JcIiBzdHlsZT1cImNvbG9yOnJlZDtcIj48L2k+bm8gcmVmZXJlbmNlICE8dWw+PC91bD48L2xpPmApO1xuICAgICAgICAgICAgcmV0dXJuICRlbGVtZW50O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG4gPSByZWZlcmVuY2Uubm9kZUlkLnRvU3RyaW5nKCk7XG4gICAgICAgIGNvbnN0IHQgPSAoKF9hID0gcmVmZXJlbmNlLmRpc3BsYXlOYW1lKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EudGV4dCkgfHwgKChfYiA9IHJlZmVyZW5jZS5icm93c2VOYW1lKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IubmFtZSkgfHwgcmVmZXJlbmNlLm5vZGVJZC50b1N0cmluZygpO1xuICAgICAgICBjb25zdCB7IGljb24sIGNvbG9yIH0gPSBnZXRJY29uKHJlZmVyZW5jZSk7XG4gICAgICAgIGNvbnN0IHRpdGxlID0gYCgke3JlZmVyZW5jZS5ub2RlSWQudG9TdHJpbmcoKX0pICR7KChfYyA9IHJlZmVyZW5jZS5icm93c2VOYW1lKSA9PT0gbnVsbCB8fCBfYyA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2MubmFtZSkgfHwgKChfZCA9IHJlZmVyZW5jZS5kaXNwbGF5TmFtZSkgPT09IG51bGwgfHwgX2QgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9kLnRleHQpIHx8IFwiXCJ9YDtcbiAgICAgICAgY29uc3QgJGVsZW1lbnQgPSAkKGA8bGkga2V5PVwiJHtyZWZlcmVuY2Uubm9kZUlkLnRvU3RyaW5nKCl9XCJ9PjxzcGFuIGNsYXNzPVwidHJlZS10ZXh0XCIgdGl0bGU9JHt0aXRsZX0+PGkgY2xhc3M9XCJmYSAke2ljb259XCIgc3R5bGU9XCJjb2xvcjoke2NvbG9yfTtcIj48L2k+ICR7dH08L3NwYW4+PHVsPjwvdWw+PC9saT5gKTtcbiAgICAgICAgJGVsZW1lbnQuYWRkQ2xhc3MoXCJleHBhbmRhYmxlXCIpO1xuICAgICAgICAkZWxlbWVudC5kYXRhKFwidmFsdWVcIiwgbik7XG4gICAgICAgICRlbGVtZW50LmRhdGEoXCJyZWZlcmVuY2VcIiwgcmVmZXJlbmNlKTtcbiAgICAgICAgcmV0dXJuICRlbGVtZW50O1xuICAgIH07XG4gICAgY29uc3QgZmluZEVsZW1lbnQgPSAobm9kZUlkLCAkdHJlZSkgPT4ge1xuICAgICAgICByZXR1cm4gJHRyZWUuZmluZChgbGlba2V5PVwiJHtub2RlSWR9XCJdYCk7XG4gICAgfTtcbiAgICBjb25zdCBzZWxlY3RTaW5nbGUgPSAodGhhdCwgJGxpKSA9PiB7XG4gICAgICAgIHRoYXQuJHRyZWUuZmluZChcImxpID4gLnRyZWUtdGV4dFwiKS5yZW1vdmVDbGFzcyhcInNlbGVjdGVkXCIpO1xuICAgICAgICAvLyBjbGVhciBhbGwgc2VsZWN0ZWQgaXRlbXNcbiAgICAgICAgJGxpLmZpbmQoXCIudHJlZS10ZXh0OmZpcnN0XCIpLmFkZENsYXNzKFwic2VsZWN0ZWRcIik7XG4gICAgfTtcbiAgICBjb25zdCBhdXRvRXhwYW5kID0gKHRoYXQsIGJyb3dzZVBhdGgsICR0cmVlKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgLy8gZXhwYW5kIHRoZSB0cmVlIHRvIHNob3cgdGhlIG5vZGVJZFxuICAgICAgICBsZXQgJGN1cnJlbnQgPSAkdHJlZS5jaGlsZHJlbihcIjpmaXJzdFwiKTtcbiAgICAgICAgYnJvd3NlUGF0aC5yZWxhdGl2ZVBhdGguZWxlbWVudHMgfHwgW107XG4gICAgICAgIGNvbnN0IG5vZGVJZHMgPSBicm93c2VQYXRoLm5vZGVJZHMgfHwgW107XG4gICAgICAgIGlmIChub2RlSWRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGZvciAoY29uc3QgbiBvZiBub2RlSWRzKSB7XG4gICAgICAgICAgICBpZiAoJGN1cnJlbnQuaGFzQ2xhc3MoXCJleHBhbmRhYmxlXCIpKSB7XG4gICAgICAgICAgICAgICAgLy8gbmVlZCB0byBleHBhbmQgYW5kIHNlbGVjdCB0aGUgcmlnaHQgZWxlbWVudFxuICAgICAgICAgICAgICAgIHlpZWxkIF9leHBhbmRMaSh0aGF0LCAkY3VycmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCAkZWxlbWVudCA9IGZpbmRFbGVtZW50KG4sICRjdXJyZW50KTtcbiAgICAgICAgICAgIGlmICgkZWxlbWVudC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkY3VycmVudCA9ICRlbGVtZW50O1xuICAgICAgICB9XG4gICAgICAgIHNlbGVjdFNpbmdsZSh0aGF0LCAkY3VycmVudCk7XG4gICAgICAgIHNjcm9sbFRvTGkodGhhdC4kZHJvcGRvd24sICRjdXJyZW50KTtcbiAgICB9KTtcbiAgICBmdW5jdGlvbiBzY3JvbGxUb0xpKCRjb250YWluZXIsICR0YXJnZXRMaSkge1xuICAgICAgICAvLyBHZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSB0YXJnZXQgaXRlbSByZWxhdGl2ZSB0byBpdHMgY29udGFpbmVyXG4gICAgICAgIGNvbnN0IGxpUG9zID0gJHRhcmdldExpLnBvc2l0aW9uKCkudG9wO1xuICAgICAgICAvLyBHZXQgdGhlIGN1cnJlbnQgc2Nyb2xsIHBvc2l0aW9uIG9mIHRoZSBjb250YWluZXJcbiAgICAgICAgY29uc3QgY29udGFpbmVyU2Nyb2xsVG9wID0gJGNvbnRhaW5lci5zY3JvbGxUb3AoKTtcbiAgICAgICAgaWYgKGNvbnRhaW5lclNjcm9sbFRvcCA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHBvc2l0aW9uIHRvIHNjcm9sbCB0byAoY3VycmVudCBzY3JvbGwgKyBpdGVtJ3MgcG9zaXRpb24pXG4gICAgICAgIC8vIEFkanVzdCB0aGlzIGNhbGN1bGF0aW9uIGJhc2VkIG9uIHlvdXIgbmVlZHNcbiAgICAgICAgY29uc3Qgc2Nyb2xsVG8gPSBjb250YWluZXJTY3JvbGxUb3AgKyBsaVBvcyAtICRjb250YWluZXIuaGVpZ2h0KCkgLyAyICsgJHRhcmdldExpLmhlaWdodCgpIC8gMjtcbiAgICAgICAgLy8gU2Nyb2xsIHRoZSBjb250YWluZXIgdG8gZW5zdXJlIHRoZSBpdGVtIGlzIHZpc2libGVcbiAgICAgICAgJGNvbnRhaW5lci5hbmltYXRlKHtcbiAgICAgICAgICAgIHNjcm9sbFRvcDogc2Nyb2xsVG8sXG4gICAgICAgIH0sIDUwMCk7IC8vIEFkanVzdCB0aGUgZHVyYXRpb24gKDUwMG1zKSBhcyBuZWVkZWRcbiAgICB9XG4gICAgY29uc3QgcmVhY2hTZWxlY3Rpb24gPSAodGhhdCwgcGFyZW50Tm9kZSkgPT4gX19hd2FpdGVyKHZvaWQgMCwgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIGNvbnN0IG5vZGVJZCA9IHRoYXQuJGlucHV0LnZhbCgpO1xuICAgICAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICAgICAgbm9kZUlkLFxuICAgICAgICAgICAgcm9vdE5vZGVJZDogcGFyZW50Tm9kZS5ub2RlSWQsXG4gICAgICAgICAgICBpc1R5cGU6IHRoYXQub3B0aW9ucy5pc1R5cGVSZWYgfHwgZmFsc2UsXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGRhdGEgPSBtYWtlQ29ubmVjdGlvbih0aGF0KTtcbiAgICAgICAgY29uc3QgYnJvd3NlUGF0aCA9IHlpZWxkIHdhbGtCYWNrd2FyZChkYXRhLCBvcHRpb25zKTtcbiAgICAgICAgaWYgKCFicm93c2VQYXRoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgeWllbGQgYXV0b0V4cGFuZCh0aGF0LCBicm93c2VQYXRoLCB0aGF0LiR0cmVlKTtcbiAgICB9KTtcbiAgICBmdW5jdGlvbiBfZmV0Y2hEYXRhRm9yTm9kZSh0aGF0LCAkbm9kZSwgZmV0Y2hGdW5jLCBkYXRhKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBpZiAoJG5vZGUuaGFzQ2xhc3MoXCJmZXRjaGVkXCIpKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJhbHJlYWR5IGZldGNoZWRcIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCRub2RlLmhhc0NsYXNzKFwibG9hZGluZ1wiKSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiYWxyZWFkeSBsb2FkaW5nXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICRub2RlLmFkZENsYXNzKFwibG9hZGluZ1wiKTtcbiAgICAgICAgICAgICRub2RlLmFwcGVuZCgnPGRpdiBjbGFzcz1cInNwaW5uZXJcIj48L2Rpdj4nKTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgJG5vZGUuY2hpbGRyZW4oXCJ1bFwiKS5lbXB0eSgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgcmVmZXJlbmNlcyB9ID0geWllbGQgZmV0Y2hGdW5jKCRub2RlLCBkYXRhKTtcbiAgICAgICAgICAgICAgICAvLyBzb3J0IHJlZmVyZW5jZSAgIGJ5IGJyb3dzZU5hbWVcbiAgICAgICAgICAgICAgICByZWZlcmVuY2VzLnNvcnQoKGEsIGIpID0+IHsgdmFyIF9hLCBfYjsgcmV0dXJuICgoKF9hID0gYS5icm93c2VOYW1lKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EubmFtZSkgfHwgXCJcIikubG9jYWxlQ29tcGFyZSgoKF9iID0gYi5icm93c2VOYW1lKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IubmFtZSkgfHwgXCJcIik7IH0pO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcmVmZXJlbmNlIG9mIHJlZmVyZW5jZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoYXQub3B0aW9ucy5maWx0ZXIgJiYgIXRoYXQub3B0aW9ucy5maWx0ZXIocmVmZXJlbmNlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgJGVsZW1lbnQgPSBtYWtlRWxlbWVudCQxKHJlZmVyZW5jZSk7XG4gICAgICAgICAgICAgICAgICAgICRub2RlLmNoaWxkcmVuKFwidWxcIikuYXBwZW5kKCRlbGVtZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJG5vZGUuYWRkQ2xhc3MoXCJmZXRjaGVkXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICRub2RlLmNoaWxkcmVuKFwidWxcIikuYXBwZW5kKGA8bGk+ZXJyb3IgJHtlcnIubWVzc2FnZX08L2xpPmApO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZXJyXCIsIGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkbm9kZS5maW5kKFwiLnNwaW5uZXJcIikucmVtb3ZlKCk7XG4gICAgICAgICAgICAkbm9kZS5yZW1vdmVDbGFzcyhcImxvYWRpbmdcIik7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBmdW5jdGlvbiBtYWtlQ29ubmVjdGlvbih0aGF0KSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgICAgICBiYXNlVXJsOiB0aGF0Lm9wdGlvbnMuYmFzZVVybCxcbiAgICAgICAgICAgIGVuZHBvaW50Tm9kZTogdHlwZW9mIHRoYXQub3B0aW9ucy5lbmRwb2ludE5vZGUgPT09IFwiZnVuY3Rpb25cIiA/IHRoYXQub3B0aW9ucy5lbmRwb2ludE5vZGUoKSA6IHRoYXQub3B0aW9ucy5lbmRwb2ludE5vZGUsXG4gICAgICAgICAgICBlbmRwb2ludDogdHlwZW9mIHRoYXQub3B0aW9ucy5lbmRwb2ludCA9PT0gXCJmdW5jdGlvblwiID8gdGhhdC5vcHRpb25zLmVuZHBvaW50KCkgOiB0aGF0Lm9wdGlvbnMuZW5kcG9pbnQsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbiAgICBmdW5jdGlvbiBfZXhwYW5kTGkodGhhdCwgJGxpKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBpZiAoJGxpLmhhc0NsYXNzKFwiZmV0Y2hlZFwiKSkge1xuICAgICAgICAgICAgICAgICRsaS5yZW1vdmVDbGFzcyhcImV4cGFuZGFibGVcIikuYWRkQ2xhc3MoXCJleHBhbmRlZFwiKTtcbiAgICAgICAgICAgICAgICAkbGkuY2hpbGRyZW4oXCJ1bFwiKS50b2dnbGUoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBGZXRjaCBuZXcgZGF0YSBmb3IgdGhpcyBub2RlXG4gICAgICAgICAgICBjb25zdCBkYXRhID0gbWFrZUNvbm5lY3Rpb24odGhhdCk7XG4gICAgICAgICAgICBjb25zdCBmID0gIXRoYXQub3B0aW9ucy5pc1R5cGVSZWYgPyBmZXRjaENoaWxkcmVuIDogZmV0Y2hTdWJ0eXBlcztcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgeWllbGQgX2ZldGNoRGF0YUZvck5vZGUodGhhdCwgJGxpLCBmLCBkYXRhKTtcbiAgICAgICAgICAgICAgICAvLyBtYXJrIGFzIGV4cGFuZGVkXG4gICAgICAgICAgICAgICAgJGxpLnJlbW92ZUNsYXNzKFwiZXhwYW5kYWJsZVwiKS5hZGRDbGFzcyhcImV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICRsaS5yZW1vdmVDbGFzcyhcImV4cGFuZGFibGVcIikuYWRkQ2xhc3MoXCJleHBhbmRlZFwiKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBkZWZhdWx0UGFyZW50Tm9kZSA9IHtcbiAgICAgICAgYnJvd3NlTmFtZTogeyBuYW1lc3BhY2VJbmRleDogMCwgbmFtZTogXCJPYmplY3RzXCIgfSxcbiAgICAgICAgbm9kZUNsYXNzOiBcIk9iamVjdFwiLFxuICAgICAgICBub2RlSWQ6IFwibnM9MDtpPTg1XCIsXG4gICAgICAgIGRpc3BsYXlOYW1lOiB7IHRleHQ6IFwiT2JqZWN0c1wiIH0sXG4gICAgICAgIHR5cGVEZWZpbml0aW9uOiBGb2xkZXJUeXBlLFxuICAgIH07XG4gICAgY29uc3QgZGVjbGFyZU5vZGVCcm93c2VyV2lkZ2V0ID0gKCkgPT4ge1xuICAgICAgICAvKipcbiAgICAgICAgICogWyBUZW1wZXJhdHVyZSAgXVxuICAgICAgICAgKiAgICggdG9vbHRpcCA6ICgvT2JqZWN0cy9NeVNlbnNvcikgKG5zPTE7cz1UZW1wZXJhdHVyZSkpXG4gICAgICAgICAqIFsgKyBbRm9sZGVyXSBPYmplY3RzXVxuICAgICAgICAgKiBbICAgICBbT2JqZWN0XSBNeVNlbnNvcl1cbiAgICAgICAgICogWyAgICAgKCApIFtWYXJpYWJsZV0gVGVtcGVyYXR1cmVdXG4gICAgICAgICAqL1xuICAgICAgICAkLndpZGdldChcInN0ZXJmaXZlLm5vZGVCcm93c2VyXCIsIHtcbiAgICAgICAgICAgIC8qIGRlZmF1bHQgb3B0aW9ucyAqL1xuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgIGVuZHBvaW50Tm9kZTogKCkgPT4gKHsgZW5kcG9pbnQ6IFwib3BjLnRjcDovL29wY3VhZGVtby5zdGVyZml2ZS5jb206MjY1NDNcIiB9KSxcbiAgICAgICAgICAgICAgICBlbmRwb2ludDogKCkgPT4gdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIHBhcmVudE5vZGU6ICgpID0+IGRlZmF1bHRQYXJlbnROb2RlLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICAgICAgICBiYXNlVXJsOiBcIlwiLFxuICAgICAgICAgICAgICAgIGlzVHlwZVJlZjogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVzb2x2ZVBhcmVudE5vZGUoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGF0Ll9fcGFyZW50Tm9kZSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGEgPSB0eXBlb2YgdGhhdC5vcHRpb25zLnBhcmVudE5vZGUgPT09IFwiZnVuY3Rpb25cIiA/IHRoYXQub3B0aW9ucy5wYXJlbnROb2RlLmNhbGwodGhhdCkgOiB0aGF0Lm9wdGlvbnMucGFyZW50Tm9kZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhIGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlc2MgPSB5aWVsZCBhO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX19wYXJlbnROb2RlID0gZGVzYztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX19wYXJlbnROb2RlID0gYTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhhdC5fX3BhcmVudE5vZGUgfHwgZGVmYXVsdFBhcmVudE5vZGU7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVzZXQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgICAgIC8vIGFsc28gcmVzZXQgcGFyZW50IG5vZGVcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYSA9IHRoYXQ7XG4gICAgICAgICAgICAgICAgICAgIGEuX19wYXJlbnROb2RlID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiR0cmVlLmVtcHR5KCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudE5vZGUgPSB5aWVsZCB0aGlzLnJlc29sdmVQYXJlbnROb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0ICRlbGVtZW50ID0gbWFrZUVsZW1lbnQkMShwYXJlbnROb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kdHJlZS5hcHBlbmQoJGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LmN1cnJlbnRQYXJlbnQgPSBwYXJlbnROb2RlO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHZlcmlmeShtb2RlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgLy8gRmV0Y2ggbmV3IGRhdGEgZm9yIHRoaXMgbm9kZVxuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBtYWtlQ29ubmVjdGlvbih0aGF0KTtcbiAgICAgICAgICAgICAgICBpbnRlcm5hbFZlcmlmeShkYXRhLCBtb2RlLCB0aGF0LiRpbnB1dCwgdGhhdC4kaW5mbykudGhlbigoc3VjY2VzcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLmFkZENsYXNzKFwic3RlcmZpdmUtaW5wdXQtZXJyb3JcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5yZW1vdmVDbGFzcyhcInN0ZXJmaXZlLWlucHV0LWVycm9yXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX2hpZGVNZW51KG1lbnUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vZmYoXCJtb3VzZWRvd24ucmVkLXVpLXR5cGVkSW5wdXQtY2xvc2UtcHJvcGVydHktc2VsZWN0XCIpO1xuICAgICAgICAgICAgICAgIG1lbnUuaGlkZSgpO1xuICAgICAgICAgICAgICAgIG1lbnUuY3NzKHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBcImF1dG9cIixcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAobWVudS5vcHRzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBzZWxlY3RlZCA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBtZW51LmZpbmQoJ2lucHV0W3R5cGU9XCJjaGVja2JveFwiXScpLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykucHJvcChcImNoZWNrZWRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZC5wdXNoKCQodGhpcykuZGF0YShcInZhbHVlXCIpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIG1lbnUuY2FsbGJhY2soc2VsZWN0ZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhhdC4kZWxlbWVudERpdi5pcyhcIjp2aXNpYmxlXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LnRyaWdnZXIoXCJmb2N1c1wiKTtcbiAgICAgICAgICAgICAgICAgICAgLy94eCB9IGVsc2UgaWYgKHRoaXMuJG9wdGlvblNlbGVjdFRyaWdnZXIuaXMoXCI6dmlzaWJsZVwiKSkge1xuICAgICAgICAgICAgICAgICAgICAvL3h4ICAgICB0aGF0LiRvcHRpb25TZWxlY3RUcmlnZ2VyLnRyaWdnZXIoXCJmb2N1c1wiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXIudHJpZ2dlcihcImZvY3VzXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfY3JlYXRlTWVudShtZW51T3B0aW9ucywgb3B0cywgY2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICB2YXIgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgY29uc3QgbWVudSA9ICQoXCI8ZGl2PlwiKS5hZGRDbGFzcyhcInN0ZXJmaXZlLXR5cGVkSW5wdXQtb3B0aW9ucyBzdGVyZml2ZS1vbmxpbmUtbWVudVwiKTtcbiAgICAgICAgICAgICAgICBtZW51Lm9wdHMgPSBvcHRzO1xuICAgICAgICAgICAgICAgIG1lbnUuY2FsbGJhY2sgPSBjYWxsYmFjaztcbiAgICAgICAgICAgICAgICBtZW51T3B0aW9ucy5mb3JFYWNoKChvcHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHQgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdCA9IHsgdmFsdWU6IG9wdCwgbGFiZWw6IG9wdCB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHZhciBvcCA9ICQoJzxhIGhyZWY9XCIjXCI+PC9hPicpLmF0dHIoXCJ2YWx1ZVwiLCBvcHQudmFsdWUpLmFwcGVuZFRvKG1lbnUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAob3B0LmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcC50ZXh0KG9wdC5sYWJlbCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdC50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3AucHJvcChcInRpdGxlXCIsIG9wdC50aXRsZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdC5pY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0Lmljb24uaW5kZXhPZihcIjxcIikgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKG9wdC5pY29uKS5wcmVwZW5kVG8ob3ApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAob3B0Lmljb24uaW5kZXhPZihcIi9cIikgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIjxpPlwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzOiBcInJlZC11aS10eXBlZElucHV0LWljb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IFwibWFzay1pbWFnZTogdXJsKFwiICsgb3B0Lmljb24gKyBcIik7IC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiICsgb3B0Lmljb24gKyBcIik7XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkucHJlcGVuZFRvKG9wKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCI8aT5cIiwgeyBjbGFzczogXCJyZWQtdWktdHlwZWRJbnB1dC1pY29uIFwiICsgb3B0Lmljb24gfSkucHJlcGVuZFRvKG9wKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wLmNzcyh7IHBhZGRpbmdMZWZ0OiBcIjE4cHhcIiB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdC5pY29uICYmICFvcHQubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wLnRleHQob3B0LnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB2YXIgY2I7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHRzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYiA9ICQoJzxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIj4nKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jc3MoXCJwb2ludGVyLWV2ZW50c1wiLCBcIm5vbmVcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZGF0YShcInZhbHVlXCIsIG9wdC52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJlcGVuZFRvKG9wKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5vbihcIm1vdXNlZG93blwiLCBmdW5jdGlvbiAoZXZ0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBvcC5vbihcImNsaWNrXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2sob3B0LnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9oaWRlTWVudShtZW51KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNiLnByb3AoXCJjaGVja2VkXCIsICFjYi5wcm9wKFwiY2hlY2tlZFwiKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIG1lbnUuY3NzKHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgbWVudS5vbihcImtleWRvd25cIiwgZnVuY3Rpb24gKGV2dCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXZ0LmtleUNvZGUgPT09IDQwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIERPV05cbiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuY2hpbGRyZW4oXCI6Zm9jdXNcIikubmV4dCgpLnRyaWdnZXIoXCJmb2N1c1wiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChldnQua2V5Q29kZSA9PT0gMzgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVVBcbiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuY2hpbGRyZW4oXCI6Zm9jdXNcIikucHJldigpLnRyaWdnZXIoXCJmb2N1c1wiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChldnQua2V5Q29kZSA9PT0gMjcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEVTQ0FQRVxuICAgICAgICAgICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9oaWRlTWVudShtZW51KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1lbnU7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGlzYXJtQ2xpY2s6IGZhbHNlLFxuICAgICAgICAgICAgX3Nob3dNZW51KG1lbnUsIHJlbGF0aXZlVG8pIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kaXNhcm1DbGljaykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc2FybUNsaWNrID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdmFyIHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHZhciBwb3MgPSByZWxhdGl2ZVRvLm9mZnNldCgpO1xuICAgICAgICAgICAgICAgIHZhciBoZWlnaHQgPSByZWxhdGl2ZVRvLmhlaWdodCgpO1xuICAgICAgICAgICAgICAgIHZhciBtZW51SGVpZ2h0ID0gbWVudS5oZWlnaHQoKTtcbiAgICAgICAgICAgICAgICB2YXIgdG9wID0gaGVpZ2h0ICsgcG9zLnRvcDtcbiAgICAgICAgICAgICAgICBpZiAodG9wICsgbWVudUhlaWdodCAtICQoZG9jdW1lbnQpLnNjcm9sbFRvcCgpID4gJCh3aW5kb3cpLmhlaWdodCgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcCAtPSB0b3AgKyBtZW51SGVpZ2h0IC0gJCh3aW5kb3cpLmhlaWdodCgpICsgNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRvcCA8IDApIHtcbiAgICAgICAgICAgICAgICAgICAgbWVudS5oZWlnaHQobWVudUhlaWdodCArIHRvcCk7XG4gICAgICAgICAgICAgICAgICAgIHRvcCA9IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG1lbnUuY3NzKHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiB0b3AgKyBcInB4XCIsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IHBvcy5sZWZ0ICsgXCJweFwiLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIG1lbnUuc2xpZGVEb3duKDEwMCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fZGVsYXkoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiR1aVNlbGVjdC5hZGRDbGFzcyhcInJlZC11aS10eXBlZElucHV0LWZvY3VzXCIpO1xuICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vbihcIm1vdXNlZG93bi5yZWQtdWktdHlwZWRJbnB1dC1jbG9zZS1wcm9wZXJ0eS1zZWxlY3RcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoISQoZXZlbnQudGFyZ2V0KS5jbG9zZXN0KG1lbnUpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX2hpZGVNZW51KG1lbnUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQoZXZlbnQudGFyZ2V0KS5jbG9zZXN0KHJlbGF0aXZlVG8pLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuZGlzYXJtQ2xpY2sgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF9zaG93VHlwZU1lbnUoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2hvd01lbnUodGhhdC4kbWVudSwgdGhhdC4kY29tYm8pO1xuICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLmhpZGUoKTtcbiAgICAgICAgICAgICAgICBjb25zdCB0eXBlID0gdGhhdC5zZWxlY3RlZE1lbnVJdGVtO1xuICAgICAgICAgICAgICAgIHZhciBzZWxlY3RlZCA9IHRoYXQuJG1lbnUuZmluZChcIlt2YWx1ZT0nXCIgKyB0eXBlICsgXCInXCIpO1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZC50cmlnZ2VyKFwiZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgfSwgMTIwKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfaW5pdE1lbnUoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0VHJpZ2dlci5hdHRyKFwidGFiaW5kZXhcIiwgLTEpO1xuICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXIub24oXCJtb3VzZWRvd24ucmVkLXVpLXR5cGVkSW5wdXQtZm9jdXMtYmxvY2tcIiwgZnVuY3Rpb24gKGV2dCkge1xuICAgICAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAodGhhdC4kbWVudSkge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRtZW51LnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBmYS1pZC1jYXJkXG4gICAgICAgICAgICAgICAgY29uc3QgdHlwZUxpc3QgPSBbXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6IFwidGV4dFwiLCB2YWx1ZTogXCJ0XCIsIHRpdGxlOiBcIlZhbHVlIGlzIG5vdCB2ZXJpZmllZFwiLCBpY29uOiAnPGkgY2xhc3M9XCJmYSBmYS1mb250XCIvaT4gJyB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCJtc2cuXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCJtc2dcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIm5vZGUgaWQgb3IgIGJyb3dzZSBwYXRoIGNvbWVzIGZyb20gaW5qZWN0ZWQgbXNnIHBhcmFtZXRlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtZW52ZWxvcGUtb3Blbi1vXCIvPicsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6IFwiTm9kZUlkXCIsIHZhbHVlOiBcIm5cIiwgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtdGFnXCIvPjEgJm5ic3A7ICcgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogXCJBbGlhc2VkIE5vZGVJZFwiLCB2YWx1ZTogXCJuYVwiLCBpY29uOiAnPGkgY2xhc3M9XCJmYSBmYS1ib29rbWFya1wiLz4mbmJzcDsgJyB9LFxuICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiBcIk5vZGVJZCB3aXRoIG5hbWVzcGFjZSBVcm5cIiwgdmFsdWU6IFwibnN1XCIsIGljb246ICc8aSBjbGFzcz1cImZhIGZhLWlkLWNhcmRcIi8+Jm5ic3A7ICcgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogXCJCcm93c2VQYXRoXCIsIHZhbHVlOiBcImJcIiwgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtdGFnXCIvPjxpIGNsYXNzPVwiZmEgZmEtZmlnaHRlci1qZXRcIi8+Jm5ic3A7JyB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCJBbGlhc2VkIEJyb3dzZSBQYXRoXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCJhYlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtYm9va21hcmtcIi8+PGkgY2xhc3M9XCJmYSBmYS1maWdodGVyLWpldFwiLz4mbmJzcDsnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgY29uc3QgYSA9IGZpZ3VyZU91dE1lblVJdGVtVmFsdWUodGhhdC4kaW5wdXQudmFsKCkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGUgPSB0eXBlTGlzdC5maW5kKCh4KSA9PiB4LnZhbHVlID09PSBhKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RMYWJlbC5lbXB0eSgpLmFwcGVuZChgPHNwYW4gdGl0bGU9JHsoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnRpdGxlKSB8fCBcIlwifT4mbmJzcDsgJHsoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLmljb24pIHx8IFwiXCJ9PC9zcGFuPmApO1xuICAgICAgICAgICAgICAgIHRoYXQuc2VsZWN0ZWRNZW51SXRlbSA9IGE7XG4gICAgICAgICAgICAgICAgY29uc3QgdHQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHRoYXQuJG1lbnUgPSB0aGlzLl9jcmVhdGVNZW51KHR5cGVMaXN0LCB7fSwgKHYpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbW9kZSA9IHRvTW9kZSh2KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG1vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9uIE1lbnUgc2VsZWN0ZWQgIVxuICAgICAgICAgICAgICAgICAgICAgICAgdHQudmVyaWZ5KG1vZGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGUgPSB0eXBlTGlzdC5maW5kKCh4KSA9PiB4LnZhbHVlID09PSB2KTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC5zZWxlY3RlZE1lbnVJdGVtID0gdjtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0TGFiZWwuZW1wdHkoKS5hcHBlbmQoYDxzcGFuIHRpdGxlPSR7KGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS50aXRsZSkgfHwgXCJcIn0+Jm5ic3A7ICR7KGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS5pY29uKSB8fCBcIlwifTwvc3Bhbj5gKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGF0LiRtZW51LmFwcGVuZFRvKGRvY3VtZW50LmJvZHkpO1xuICAgICAgICAgICAgICAgIHRoYXQuJG1lbnUuaGlkZSgpO1xuICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXIuc2hvdygpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG1vZGUoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRvTW9kZSh0aGF0LnNlbGVjdGVkTWVudUl0ZW0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNldE1vZGUobW9kZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIGNvbnN0IHMgPSBmcm9tTW9kZShtb2RlKTtcbiAgICAgICAgICAgICAgICB0aGF0LnNlbGVjdGVkTWVudUl0ZW0gPSBzO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF9jcmVhdGUoKSB7XG4gICAgICAgICAgICAgICAgLy8gZGVidWdnZXI7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQgPSB0aGlzLmVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuY3NzKFwiYm9yZGVyXCIsIFwibm9uZVwiKTtcbiAgICAgICAgICAgICAgICAvLyB0aGF0LiRpbnB1dC5hZGRDbGFzcyhcInJlZC11aS10eXBlZElucHV0XCIpO1xuICAgICAgICAgICAgICAgIHRoYXQuJGVsZW1lbnREaXYgPSB0aGF0LiRpbnB1dC53cmFwKFwiPGRpdj5cIikucGFyZW50KCkuYWRkQ2xhc3MoXCJtYWluLXdyYXBwZXJcIik7XG4gICAgICAgICAgICAgICAgLy8gI3JlZ2lvbiBDb21ibyBicm93c2VyXG4gICAgICAgICAgICAgICAgdGhhdC4kY29tYm8gPSAkKFwiPGRpdi8+XCIpO1xuICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLmFkZENsYXNzKFwic3RlcmZpdmUtY29tYm8tYm94XCIpO1xuICAgICAgICAgICAgICAgIC8vIHRoYXQuJGNvbWJvLmFkZENsYXNzKFwicmVkLXVpLXR5cGVkSW5wdXQtaW5wdXQtd3JhcFwiKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5yZXBsYWNlV2l0aCh0aGF0LiRjb21ibyk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXRHcm91cCA9ICQoXCI8ZGl2Lz5cIikuYWRkQ2xhc3MoXCJzdGVyZml2ZS1pbnB1dC1ncm91cFwiKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5hcHBlbmQodGhhdC4kaW5wdXRHcm91cCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXRHcm91cC5hcHBlbmQodGhhdC4kaW5wdXQpO1xuICAgICAgICAgICAgICAgIC8vICNlbmRyZWdpb25cbiAgICAgICAgICAgICAgICAvLyAjcmVnaW9uIGFkZCBidXR0b24gb24gdGhlIHJpZ2h0IHNpZGVcbiAgICAgICAgICAgICAgICAvLyAjcmVnaW9uIHRvZ2dsZVRyZWVCdG5cbiAgICAgICAgICAgICAgICB0aGF0LiR0b2dnbGVUcmVlQnRuID0gJChgPGJ1dHRvbiB0aXRsZT1cIm9wZW4gT1BDVUEgQWRkcmVzc1NwYWNlIEJyb3dzZXJcIj48aSBjbGFzcz1cImZhIGZhLXNpdGVtYXBcIj48L2k+PC9idXR0b24+YCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuYWZ0ZXIodGhhdC4kdG9nZ2xlVHJlZUJ0bik7XG4gICAgICAgICAgICAgICAgdGhhdC4kdG9nZ2xlVHJlZUJ0bi5vbihcImNsaWNrXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBuZWVkVG9SZWFjaFNlbGVjdGlvbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHBhcmVudE5vZGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoYXQuJGRyb3Bkb3duLmlzKFwiOnZpc2libGVcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbmZvLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0cmVlIHdpZGdldCBpcyBnb2luZyB0byBiZWNvbWUgdmlzaWJsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudE5vZGUgPSB5aWVsZCB0aGF0LnJlc29sdmVQYXJlbnROb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBhcmVudE5vZGUgIT09IHRoYXQuY3VycmVudFBhcmVudCB8fCAoKF9hID0gdGhhdC5jdXJyZW50UGFyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Eubm9kZUlkKSAhPT0gcGFyZW50Tm9kZS5ub2RlSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWllbGQgdGhhdC5yZXNldCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZWVkVG9SZWFjaFNlbGVjdGlvbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi50b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRUb1JlYWNoU2VsZWN0aW9uICYmICh5aWVsZCByZWFjaFNlbGVjdGlvbih0aGF0LCBwYXJlbnROb2RlKSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIC8vICNlbmRyZWdpb25cbiAgICAgICAgICAgICAgICAvLyAjcmVnaW9uIHZlcmlmeUJ0blxuICAgICAgICAgICAgICAgIHRoYXQuJHZlcmlmeUJ0biA9ICQoYDxidXR0b24gdGl0bGU9XCJ2ZXJpZnkgbm9kZUlkIG9yIGJyb3dzZVBhdGhcIj48aSBjbGFzcz1cImZhIGZhLXJlZnJlc2hcIj48L2k+PC9idXR0b24+YCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuYWZ0ZXIodGhhdC4kdmVyaWZ5QnRuKTtcbiAgICAgICAgICAgICAgICB0aGF0LiR2ZXJpZnlCdG4ub24oXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1vZGUgPSB0aGF0Lm1vZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFtb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy52ZXJpZnkobW9kZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgLy8gI2VuZHJlZ2lvblxuICAgICAgICAgICAgICAgIC8vICNlbmRyZWdpb25cbiAgICAgICAgICAgICAgICBjb25zdCBub3JtYWxpemVJbnB1dCA9IChpbnB1dCkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1vZGUgPSB0aGF0Lm1vZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFtb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gRmV0Y2ggbmV3IGRhdGEgZm9yIHRoaXMgbm9kZVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb25uZWN0aW9uRGF0YSA9IG1ha2VDb25uZWN0aW9uKHRoYXQpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGRhdGEsIGpzb24gfSA9IHlpZWxkIF9jYWxsQ2hlY2tOb2RlSWQoY29ubmVjdGlvbkRhdGEsIGlucHV0KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuc3RhdHVzICE9PSAyMDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoanNvbi5zdGF0dXNDb2RlLm1hdGNoKC9Hb29kLykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZUlkID0gY2hvb3NlTm9kZUlkKGpzb24sIG1vZGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQudmFsKHNlbGVjdGVkTm9kZUlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LnRyaWdnZXIoXCJjaGFuZ2VcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICAgICAvLyBjcmVhdGUgdGhlIHByZXBlbmRlZCBidXR0b25cbiAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHVpU2VsZWN0ID0gJChcIjxkaXY+XCIpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5iZWZvcmUodGhhdC4kdWlTZWxlY3QpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyID0gJCgnPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgdGFiaW5kZXg9XCIwXCI+PC9idXR0b24+JykucHJlcGVuZFRvKHRoYXQuJHVpU2VsZWN0KTtcbiAgICAgICAgICAgICAgICAgICAgJCgnPGkgY2xhc3M9XCJyZWQtdWktdHlwZWRJbnB1dC1pY29uIGZhIGZhLWNhcmV0LWRvd25cIj48L2k+JykudG9nZ2xlKHRydWUpLmFwcGVuZFRvKHRoYXQuJHNlbGVjdFRyaWdnZXIpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9zaG93VHlwZU1lbnUoKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5vbihcImtleWRvd25cIiwgZnVuY3Rpb24gKGV2dCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGV2dC5rZXlDb2RlID09PSA0MCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIERvd25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9zaG93VHlwZU1lbnUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5vbihcImZvY3VzXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJHVpU2VsZWN0LmFkZENsYXNzKFwicmVkLXVpLXR5cGVkSW5wdXQtZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAub24oXCJibHVyXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHZhciBvcHQgPSB0aGF0LnR5cGVNYXBbdGhhdC5wcm9wZXJ0eVR5cGVdO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWYgKG9wdC5oYXNWYWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJHVpU2VsZWN0LnJlbW92ZUNsYXNzKFwicmVkLXVpLXR5cGVkSW5wdXQtZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RMYWJlbCA9ICQoJzxzcGFuIGNsYXNzPVwicmVkLXVpLXR5cGVkSW5wdXQtdHlwZS1sYWJlbFwiPjwvc3Bhbj4nKS5hcHBlbmRUbyh0aGF0LiRzZWxlY3RUcmlnZ2VyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5faW5pdE1lbnUoKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoYXQuJGlucHV0LmF0dHIoXCJwbGFjZWhvbGRlclwiKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5hdHRyKFwicGxhY2Vob2xkZXJcIiwgXCJlbnRlciBhIG5vZGVJZCBvciBhIGJyb3dzZVBhdGggXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyAjcmVnaW9uIHRlbXBvcmF0eSBpbmZvIHBhbmVsXG4gICAgICAgICAgICAgICAgdGhhdC4kaW5mbyA9ICQoYDxkaXYgY2xhc3M9XCJzdGVyZml2ZS1pbmZvLXRleHRcIj48L2Rpdj5gKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbmZvLmhpZGUoKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5hcHBlbmQodGhhdC4kaW5mbyk7XG4gICAgICAgICAgICAgICAgLy8gI2VuZHJlZ2lvblxuICAgICAgICAgICAgICAgIC8vICNyZWdpb24gZHJvcCBkb3duIHRyZWVcbiAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93biA9ICQoXCI8ZGl2Lz5cIikuYWRkQ2xhc3MoXCJzdGVyZml2ZS1kcm9wZG93blwiKS5oaWRlKCkuYXBwZW5kVG8odGhhdC4kY29tYm8pO1xuICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUgPSAkKGA8dWwgY2xhc3M9XCJzdGVyZml2ZS10cmVlXCI+PC91bD5gKS5hcHBlbmRUbyh0aGF0LiRkcm9wZG93bik7XG4gICAgICAgICAgICAgICAgLy8gdGhhdC4kZHJvcGRvd24uc2hvdygpO1xuICAgICAgICAgICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgICAgICAgICAgICAvLyAjZW5kcmVnaW9uXG4gICAgICAgICAgICAgICAgY29uc3QgaXNPbkxlZnRTaXplID0gKCRsaSwgZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYmVmb3JlV2lkdGggPSAyMDsgLy8gU2V0IHdpZHRoIG9mIHRoZSA6OmJlZm9yZSBjb250ZW50XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJlZm9yZUhlaWdodCA9IDIwOyAvLyBTZXQgaGVpZ2h0IG9mIHRoZSA6OmJlZm9yZSBjb250ZW50XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRQb3MgPSAkbGkub2Zmc2V0KCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGUgPSBldmVudDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGUucGFnZVggPj0gZWxlbWVudFBvcy5sZWZ0ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBlLnBhZ2VYIDw9IGVsZW1lbnRQb3MubGVmdCArIGJlZm9yZVdpZHRoICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBlLnBhZ2VZID49IGVsZW1lbnRQb3MudG9wICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBlLnBhZ2VZIDw9IGVsZW1lbnRQb3MudG9wICsgYmVmb3JlSGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCB0b2dnbGVFeHBhbnNpb24gPSAoJGxpKSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICgkbGkuaGFzQ2xhc3MoXCJleHBhbmRhYmxlXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBfZXhwYW5kTGkodGhhdCwgJGxpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICgkbGkuaGFzQ2xhc3MoXCJleHBhbmRlZFwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVG9nZ2xlIGl0cyBleHBhbmRlZC9jb2xsYXBzZWQgc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICRsaS5jaGlsZHJlbihcInVsXCIpLnRvZ2dsZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3dhcCBleHBhbmRhYmxlIGFuZCBleHBhbmRlZCBjbGFzc2VzXG4gICAgICAgICAgICAgICAgICAgICAgICAkbGkudG9nZ2xlQ2xhc3MoXCJleHBhbmRhYmxlIGV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCRsaS5jaGlsZHJlbihcInVsXCIpLmNoaWxkcmVuKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJGxpLmNoaWxkcmVuKFwidWxcIikudG9nZ2xlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTd2FwIGV4cGFuZGFibGUgYW5kIGV4cGFuZGVkIGNsYXNzZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICRsaS50b2dnbGVDbGFzcyhcImV4cGFuZGFibGUgZXhwYW5kZWRcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSA7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kdHJlZS5vbihcImRibGNsaWNrXCIsIFwibGlcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgJGxpID0gJCh0aGlzKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzT25MZWZ0U2l6ZSgkbGksIGV2ZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlRXhwYW5zaW9uKCRsaSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9ICRsaS5kYXRhKFwidmFsdWVcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZWZlcmVuY2UgPSAkbGkuZGF0YShcInJlZmVyZW5jZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGF0Lm9wdGlvbnMuaXNTZWxlY3RhYmxlICYmICF0aGF0Lm9wdGlvbnMuaXNTZWxlY3RhYmxlKHJlZmVyZW5jZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5kYXRhKFwicmVmZXJlbmNlXCIsIHJlZmVyZW5jZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAoKF9hID0gcmVmZXJlbmNlLmRpc3BsYXlOYW1lKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EudGV4dCkgfHwgKChfYiA9IHJlZmVyZW5jZS5icm93c2VOYW1lKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IubmFtZSkgfHwgcmVmZXJlbmNlLm5vZGVJZC50b1N0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc3QgaW5wdXQgPSBgWyR7ZGlzcGxheU5hbWV9XSgke3ZhbHVlfSlgO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG1vZGUgPSB0aGF0Lm1vZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbW9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUgPSBcIm5vZGVJZFwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuc2V0TW9kZShtb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZUlucHV0KHZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGF0LiRpbnB1dC52YWwoaW5wdXQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoYXQuJGlucHV0LnRyaWdnZXIoXCJjaGFuZ2VcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24uaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoYXQuJGlucHV0LnZhbChpbnB1dCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhhdC4kaW5wdXQudHJpZ2dlcihcImNoYW5nZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUub24oXCJjbGlja1wiLCBcImxpXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0ICRsaSA9ICQodGhpcyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc09uTGVmdFNpemUoJGxpLCBldmVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZUV4cGFuc2lvbigkbGkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdFNpbmdsZSh0aGF0LCAkbGkpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNsaWNraW5nIG91dHNpZGUgdGhlIHBhZ2Ugd2lsbCBoaWRlIHRoZSBkcm9wZG93blxuICAgICAgICAgICAgICAgICAgICBpZiAoISQoZXZlbnQudGFyZ2V0KS5jbG9zZXN0KHRoYXQuJGNvbWJvKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIGNvbnN0IG1ha2VFbGVtZW50ID0gKHJlZmVyZW5jZSkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYztcbiAgICAgICAgaWYgKCFyZWZlcmVuY2UpIHtcbiAgICAgICAgICAgIGNvbnN0ICRlbGVtZW50ID0gJChgPGxpPjxpIGNsYXNzPVwiZmEgZmEtZXJyb3JcIiBzdHlsZT1cImNvbG9yOnJlZDtcIj48L2k+bm8gcmVmZXJlbmNlICE8dWw+PC91bD48L2xpPmApO1xuICAgICAgICAgICAgcmV0dXJuICRlbGVtZW50O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG4gPSByZWZlcmVuY2Uubm9kZUlkLnRvU3RyaW5nKCk7XG4gICAgICAgIGxldCB0ID0gKChfYSA9IHJlZmVyZW5jZS5kaXNwbGF5TmFtZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnRleHQpIHx8ICgoX2IgPSByZWZlcmVuY2UuYnJvd3NlTmFtZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLm5hbWUpIHx8IHJlZmVyZW5jZS5ub2RlSWQudG9TdHJpbmcoKTtcbiAgICAgICAgbGV0IG5zID0gKF9jID0gcmVmZXJlbmNlLmJyb3dzZU5hbWUpID09PSBudWxsIHx8IF9jID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYy5uYW1lc3BhY2VJbmRleDtcbiAgICAgICAgdCArPSBucyAhPT0gdW5kZWZpbmVkICYmIHJlZmVyZW5jZS5ub2RlQ2xhc3MubWF0Y2goL1R5cGUvKSA/IGAgKG5zPSR7bnN9KWAgOiBcIlwiO1xuICAgICAgICBjb25zdCB7IGljb24sIGNvbG9yIH0gPSBnZXRJY29uKHJlZmVyZW5jZSk7XG4gICAgICAgIGNvbnN0ICRlbGVtZW50ID0gJChgPGxpPmApO1xuICAgICAgICBpZiAocmVmZXJlbmNlLm5vZGVDbGFzcyA9PT0gXCJWYXJpYWJsZVwiKSB7XG4gICAgICAgICAgICBjb25zdCBjaGVja0JveCA9ICQoJzxzcGFuIGNsYXNzPVwiY3VzdG9tLWNoZWNrYm94IHVuY2hlY2tlZFwiPjwvc3Bhbj4nKTtcbiAgICAgICAgICAgICRlbGVtZW50LmFwcGVuZChjaGVja0JveCk7XG4gICAgICAgICAgICAvLyBUb2dnbGUgY2hlY2tib3ggc3RhdGUgd2hlbiBjbGlja2VkXG4gICAgICAgICAgICBjaGVja0JveC5vbihcImNsaWNrXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICBpZiAoY2hlY2tCb3guaGFzQ2xhc3MoXCJ1bmNoZWNrZWRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tCb3gucmVtb3ZlQ2xhc3MoXCJ1bmNoZWNrZWRcIikuYWRkQ2xhc3MoXCJjaGVja2VkXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY2hlY2tCb3gucmVtb3ZlQ2xhc3MoXCJjaGVja2VkXCIpLmFkZENsYXNzKFwidW5jaGVja2VkXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgICRlbGVtZW50LmFwcGVuZCgkKGA8aSBjbGFzcz1cImZhICR7aWNvbn1cIiBzdHlsZT1cImNvbG9yOiR7Y29sb3J9O1wiPjwvaT4ke3R9PHVsPjwvdWw+YCkpO1xuICAgICAgICAkZWxlbWVudC5hZGRDbGFzcyhcImV4cGFuZGFibGVcIik7XG4gICAgICAgICRlbGVtZW50LmRhdGEoXCJ2YWx1ZVwiLCBuKTtcbiAgICAgICAgJGVsZW1lbnQuZGF0YShcInJlZmVyZW5jZVwiLCByZWZlcmVuY2UpO1xuICAgICAgICByZXR1cm4gJGVsZW1lbnQ7XG4gICAgfTtcbiAgICBjb25zdCBkZWNsYXJlRXZlbnRGaWVsZFNlbGVjdG9yV2lkZ2V0ID0gKCkgPT4ge1xuICAgICAgICAvKipcbiAgICAgICAgICogWyBUZW1wZXJhdHVyZSAgXVxuICAgICAgICAgKiAgICggdG9vbHRpcCA6ICgvT2JqZWN0cy9NeVNlbnNvcikgKG5zPTE7cz1UZW1wZXJhdHVyZSkpXG4gICAgICAgICAqIFsgKyBbRm9sZGVyXSBPYmplY3RzXVxuICAgICAgICAgKiBbICAgICBbT2JqZWN0XSBNeVNlbnNvcl1cbiAgICAgICAgICogWyAgICAgKCApIFtWYXJpYWJsZV0gVGVtcGVyYXR1cmVdXG4gICAgICAgICAqL1xuICAgICAgICAkLndpZGdldChcInN0ZXJmaXZlLmV2ZW50RmllbGRTZWxlY3RvclwiLCB7XG4gICAgICAgICAgICAvKiBkZWZhdWx0IG9wdGlvbnMgKi9cbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICBlbmRwb2ludE5vZGU6ICgpID0+ICh7IGVuZHBvaW50OiBcIm9wYy50Y3A6Ly9vcGN1YWRlbW8uc3RlcmZpdmUuY29tOjI2NTQzXCIgfSksXG4gICAgICAgICAgICAgICAgZW5kcG9pbnQ6ICgpID0+IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBiYXNlVXJsOiBcIlwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF9wb3B1bGF0ZSgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZEZpZWxkID0gbmV3IFNldCgoKF9hID0gdGhhdC4kaW5wdXQudmFsKCkpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS50b1N0cmluZygpLnNwbGl0KFwiO1wiKSkgfHwgW10pO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gbWFrZUNvbm5lY3Rpb24odGhhdCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHlpZWxkIGV4dHJhY3RFdmVudEZpZWxkSW5mbyhkYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5faW5zdGFsbFRyZWUocmVzdWx0LCBzZWxlY3RlZEZpZWxkKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfaW5zdGFsbFRyZWUocmVzdWx0LCBzZWxlY3RGaWVsZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUuZW1wdHkoKTtcbiAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdC5ldmVudHMpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCByb290ID0gcmVzdWx0LmV2ZW50cztcbiAgICAgICAgICAgICAgICBjb25zdCAkcm9vdEVsZW1lbnQgPSBtYWtlRWxlbWVudChyb290KTtcbiAgICAgICAgICAgICAgICB0aGF0LiR0cmVlLmFwcGVuZCgkcm9vdEVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHByZWZpeCA9IFwiXCI7XG4gICAgICAgICAgICAgICAgdGhpcy5faW5zdGFsbENoaWxkcmVuKCRyb290RWxlbWVudC5jaGlsZHJlbihcInVsXCIpLCByb290LCBwcmVmaXgsIHNlbGVjdEZpZWxkKTtcbiAgICAgICAgICAgICAgICAkcm9vdEVsZW1lbnQucmVtb3ZlQ2xhc3MoXCJleHBhbmRhYmxlXCIpLmFkZENsYXNzKFwiZXhwYW5kZWRcIik7XG4gICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlVmFsdWVzKHNlbGVjdEZpZWxkKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfaW5zdGFsbENoaWxkcmVuKCRwYXJlbnQsIHBhcmVudCwgcHJlZml4LCBzZWxlY3RlZEZpZWxkKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYiA9ICh7IG5hbWUsIG5hbWVzcGFjZUluZGV4IH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5hbWVzcGFjZUluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmFtZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7bmFtZXNwYWNlSW5kZXh9OiR7bmFtZX1gO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBwYXJlbnQuY2hpbGRyZW4gfHwgW107XG4gICAgICAgICAgICAgICAgY29uc3Qgc3ViVHlwZXMgPSBwYXJlbnQuc3ViVHlwZXMgfHwgW107XG4gICAgICAgICAgICAgICAgY29uc3QgY2hpbGRyZW5BbmRTdWJUeXBlcyA9IFsuLi5jaGlsZHJlbiwgLi4uc3ViVHlwZXNdO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY2hpbGRyZW5BbmRTdWJUeXBlcykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCAkZWxlbWVudCA9IG1ha2VFbGVtZW50KGNoaWxkKTtcbiAgICAgICAgICAgICAgICAgICAgJHBhcmVudC5hcHBlbmQoJGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgcHJlZml4MiA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZC5ub2RlQ2xhc3MgPT09IFwiVmFyaWFibGVcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByZWZpeCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZpeDIgPSBwcmVmaXggKyBcIi5cIiArIGIoY2hpbGQuYnJvd3NlTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXgyID0gYihjaGlsZC5icm93c2VOYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICRlbGVtZW50LmF0dHIoXCJkYXRhLXZhbHVlXCIsIHByZWZpeDIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhhc0NoaWxkcmVuID0gY2hpbGQuY2hpbGRyZW4gJiYgY2hpbGQuY2hpbGRyZW4ubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBoYXNTdWJUeXBlcyA9IGNoaWxkLnN1YlR5cGVzICYmIGNoaWxkLnN1YlR5cGVzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFoYXNDaGlsZHJlbiAmJiAhaGFzU3ViVHlwZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICRlbGVtZW50LnJlbW92ZUNsYXNzKFwiZXhwYW5kYWJsZVwiKS5hZGRDbGFzcyhcIm5vLWV4cGFuZGFibGVcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9pbnN0YWxsQ2hpbGRyZW4oJGVsZW1lbnQuY2hpbGRyZW4oXCJ1bFwiKSwgY2hpbGQsIHByZWZpeDIsIHNlbGVjdGVkRmllbGQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgJGVsZW1lbnQucmVtb3ZlQ2xhc3MoXCJleHBhbmRhYmxlXCIpLmFkZENsYXNzKFwiZXhwYW5kZWRcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX3VwZGF0ZVNlbGVjdGVkRmllbGRzKCkge1xuICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZEZpZWxkcyA9IG5ldyBTZXQoKChfYSA9IHRoYXQuJGlucHV0LnZhbCgpKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EudG9TdHJpbmcoKS5zcGxpdChcIjtcIikpIHx8IFtdKTtcbiAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVWYWx1ZXMoc2VsZWN0ZWRGaWVsZHMpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF91cGRhdGVWYWx1ZXMoc2VsZWN0ZWRGaWVsZHMpIHtcbiAgICAgICAgICAgICAgICAkKFwiLnN0ZXJmaXZlLXRyZWUgbGlcIikuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0ICR0aGlzID0gJCh0aGlzKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdiA9ICR0aGlzLmF0dHIoXCJkYXRhLXZhbHVlXCIpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodiAmJiBzZWxlY3RlZEZpZWxkcy5oYXModikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLmNoaWxkcmVuKFwic3Bhbi5jdXN0b20tY2hlY2tib3hcIikucmVtb3ZlQ2xhc3MoXCJ1bmNoZWNrZWRcIikuYWRkQ2xhc3MoXCJjaGVja2VkXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX3NldElucHV0VmFsdWUoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgY29uc3QgbGlzdCA9IFtdO1xuICAgICAgICAgICAgICAgIC8vIGNyYXdsIHRoZSB0cmVlIHRvIGZpbmQgc2VsZWN0ZWQgZWxlbWVudHMgYW5kIGNyZWF0ZSBhIGxpc3Qgb2YgQnJvd3NlUGF0aFxuICAgICAgICAgICAgICAgICQoXCIuc3RlcmZpdmUtdHJlZSBsaVwiKS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgJHRoaXMgPSAkKHRoaXMpO1xuICAgICAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiB0aGUgZWxlbWVudCBpcyBzZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgICBpZiAoJHRoaXMuY2hpbGRyZW4oXCJzcGFuLmN1c3RvbS1jaGVja2JveC5jaGVja2VkXCIpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHYgPSAkdGhpcy5hdHRyKFwiZGF0YS12YWx1ZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3QucHVzaCh2KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gWy4uLm5ldyBTZXQobGlzdCldLnNvcnQoKS5qb2luKFwiO1wiKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC52YWwodmFsdWUpO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LnRyaWdnZXIoXCJjaGFuZ2VcIik7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX2NyZWF0ZSgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dCA9IHRoaXMuZWxlbWVudDtcbiAgICAgICAgICAgICAgICB0aGF0LiRjb21ibyA9ICQoXCI8ZGl2Lz5cIik7XG4gICAgICAgICAgICAgICAgdGhhdC4kY29tYm8uYWRkQ2xhc3MoXCJzdGVyZml2ZS1jb21iby1ib3hcIik7XG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50WzBdLnBhcmVudEVsZW1lbnQucmVwbGFjZUNoaWxkKHRoYXQuJGNvbWJvWzBdLCB0aGlzLmVsZW1lbnRbMF0pO1xuICAgICAgICAgICAgICAgIC8vIHRoaXMuZWxlbWVudC5yZXBsYWNlV2l0aCh0aGF0LiRjb21ibyk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXRHcm91cCA9ICQoXCI8ZGl2Lz5cIikuYWRkQ2xhc3MoXCJpbnB1dC1ncm91cFwiKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5hcHBlbmQodGhhdC4kaW5wdXRHcm91cCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXRHcm91cC5hcHBlbmQodGhhdC4kaW5wdXQpO1xuICAgICAgICAgICAgICAgIHRoYXQuJHRvZ2dsZVRyZWVCdG4gPSAkKGA8YnV0dG9uPjxpIGNsYXNzPVwiZmEgZmEtc2l0ZW1hcFwiPjwvaT48L2J1dHRvbj5gKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dEdyb3VwLmFwcGVuZCh0aGF0LiR0b2dnbGVUcmVlQnRuKTtcbiAgICAgICAgICAgICAgICB0aGF0LiR0b2dnbGVUcmVlQnRuLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi50b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5mby50b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoYXQuJGRyb3Bkb3duLmlzKFwiOnZpc2libGVcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICRmbG9hdGluZ0J1dHRvbnMuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2V0ID0gdGhhdC4kZHJvcGRvd24ub2Zmc2V0KCk7IC8vIEdldCB0aGUgdG9wLWxlZnQgY29ybmVyIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAkZmxvYXRpbmdCdXR0b25zLmNzcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBgJHtvZmZzZXQudG9wfXB4YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogYGNhbGMoMTAwJSAtICR7b2Zmc2V0LmxlZnQgKyB0aGF0LiRkcm9wZG93bi53aWR0aCgpfXB4KWAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX3BvcHVsYXRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll91cGRhdGVTZWxlY3RlZEZpZWxkcygpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgJGZsb2F0aW5nQnV0dG9ucy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoYXQuJGlucHV0LmF0dHIoXCJwbGFjZWhvbGRlclwiKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5hdHRyKFwicGxhY2Vob2xkZXJcIiwgXCJlbnRlciBhIG5vZGVJZCBvciBhIGJyb3dzZVBhdGggXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGF0LiRpbmZvID0gJChgPGRpdiBjbGFzcz1cInN0ZXJmaXZlLWluZm8tdGV4dFwiPjwvZGl2PmApO1xuICAgICAgICAgICAgICAgIHRoYXQuJGluZm8uaGlkZSgpO1xuICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duID0gJChcIjxkaXYvPlwiKS5hZGRDbGFzcyhcInN0ZXJmaXZlLWRyb3Bkb3duXCIpLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAvLyBjb25zdCAkc2Nyb2xsYWJsZUNvbnRlbnQgPSAkKCc8ZGl2IGNsYXNzPVwic3RlcmZpdmUtZHJvcGRvd24tc2Nyb2xsYWJsZS1jb250ZW50XCI+PC9kaXY+Jyk7XG4gICAgICAgICAgICAgICAgY29uc3QgJHZhbGlkYXRlQnV0dG9uID0gJCgnPHNwYW4gY2xhc3M9XCJ2YWxpZGF0ZS1idXR0b25cIj7inJQ8L3NwYW4+Jyk7IC8vIFVzZSBhbnkgaWNvbiBvciB0ZXh0IGhlcmVcbiAgICAgICAgICAgICAgICBjb25zdCAkY2FuY2VsQnV0dG9uID0gJCgnPHNwYW4gY2xhc3M9XCJjYW5jZWwtYnV0dG9uXCI+4pyWPC9zcGFuPicpOyAvLyBVc2UgYW55IGljb24gb3IgdGV4dCBoZXJlXG4gICAgICAgICAgICAgICAgY29uc3QgJGZsb2F0aW5nQnV0dG9ucyA9ICQoJzxkaXYgY2xhc3M9XCJmbG9hdGluZy1idXR0b25zXCI+PC9kaXY+JykuYXBwZW5kKCR2YWxpZGF0ZUJ1dHRvbiwgJGNhbmNlbEJ1dHRvbik7XG4gICAgICAgICAgICAgICAgJGZsb2F0aW5nQnV0dG9ucy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgLy8gRGVmaW5lIHlvdXIgdmFsaWRhdGlvbiBhbmQgY2FuY2VsbGF0aW9uIGxvZ2ljXG4gICAgICAgICAgICAgICAgJHZhbGlkYXRlQnV0dG9uLm9uKFwiY2xpY2tcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGF0Ll9zZXRJbnB1dFZhbHVlKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLmhpZGUoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAkY2FuY2VsQnV0dG9uLm9uKFwiY2xpY2tcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kY29tYm8uYXBwZW5kKHRoYXQuJGluZm8pO1xuICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLmFwcGVuZCh0aGF0LiRkcm9wZG93bik7XG4gICAgICAgICAgICAgICAgdGhhdC4kdHJlZSA9ICQoYDx1bCBjbGFzcz1cInN0ZXJmaXZlLXRyZWVcIj48L3VsPmApO1xuICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLmVtcHR5KCkuYXBwZW5kKHRoYXQuJHRyZWUsICRmbG9hdGluZ0J1dHRvbnMpO1xuICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUub24oXCJjbGlja1wiLCBcImxpXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0ICRsaSA9ICQodGhpcyk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJlZm9yZVdpZHRoID0gMjA7IC8vIFNldCB3aWR0aCBvZiB0aGUgOjpiZWZvcmUgY29udGVudFxuICAgICAgICAgICAgICAgICAgICBjb25zdCBiZWZvcmVIZWlnaHQgPSAyMDsgLy8gU2V0IGhlaWdodCBvZiB0aGUgOjpiZWZvcmUgY29udGVudFxuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50UG9zID0gJCh0aGlzKS5vZmZzZXQoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZSA9IGV2ZW50O1xuICAgICAgICAgICAgICAgICAgICBpZiAoZS5wYWdlWCA+PSBlbGVtZW50UG9zLmxlZnQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGUucGFnZVggPD0gZWxlbWVudFBvcy5sZWZ0ICsgYmVmb3JlV2lkdGggJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGUucGFnZVkgPj0gZWxlbWVudFBvcy50b3AgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGUucGFnZVkgPD0gZWxlbWVudFBvcy50b3AgKyBiZWZvcmVIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiY2xpY2tlZCBvbiBpY29uXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJjbGlja2VkIG9uIFwiLCAkbGkuZGF0YShcInZhbHVlXCIpLCAkbGkuYXR0cihcImNsYXNzXCIpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkbGkuaGFzQ2xhc3MoXCJleHBhbmRhYmxlXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpLnJlbW92ZUNsYXNzKFwiZXhwYW5kYWJsZVwiKS5hZGRDbGFzcyhcImV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaS5jaGlsZHJlbihcInVsXCIpLnRvZ2dsZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoJGxpLmhhc0NsYXNzKFwiZXhwYW5kZWRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUb2dnbGUgaXRzIGV4cGFuZGVkL2NvbGxhcHNlZCBzdGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaS5jaGlsZHJlbihcInVsXCIpLnRvZ2dsZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFN3YXAgZXhwYW5kYWJsZSBhbmQgZXhwYW5kZWQgY2xhc3Nlc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaS50b2dnbGVDbGFzcyhcImV4cGFuZGFibGUgZXhwYW5kZWRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICgkbGkuY2hpbGRyZW4oXCJ1bFwiKS5jaGlsZHJlbigpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGkuY2hpbGRyZW4oXCJ1bFwiKS50b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTd2FwIGV4cGFuZGFibGUgYW5kIGV4cGFuZGVkIGNsYXNzZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbGkudG9nZ2xlQ2xhc3MoXCJleHBhbmRhYmxlIGV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vbihcImNsaWNrXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBjbGlja2luZyBvdXRzaWRlIHRoZSBwYWdlIHdpbGwgaGlkZSB0aGUgZHJvcGRvd25cbiAgICAgICAgICAgICAgICAgICAgaWYgKCEkKGV2ZW50LnRhcmdldCkuY2xvc2VzdCh0aGF0LiRjb21ibykubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLl9wb3B1bGF0ZSgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBjb25zdCBleHRyYWN0RXZlbnRGaWVsZEluZm8gPSAoX2EpID0+IF9fYXdhaXRlcih2b2lkIDAsIFtfYV0sIHZvaWQgMCwgZnVuY3Rpb24qICh7IGVuZHBvaW50Tm9kZSwgZW5kcG9pbnQsIGJhc2VVcmwsIH0pIHtcbiAgICAgICAgY29uc3Qgcm9vdCA9IGAke2Jhc2VVcmx9L29wY3VhLWZvci1ub2RlLXJlZGA7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L2V4dHJhY3RFdmVudFR5cGVzYDtcbiAgICAgICAgY29uc3QgZGF0YSA9IHlpZWxkIGZldGNoKHVybCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICBlbmRwb2ludE5vZGUsXG4gICAgICAgICAgICAgICAgZW5kcG9pbnQsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChkYXRhLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImZldGNoaW5nIGZhaWxlZCB3aXRoIGVycm9yXCIsIGRhdGEuc3RhdHVzLCBkYXRhLnN0YXR1c1RleHQpO1xuICAgICAgICAgICAgcmV0dXJuIHsgZXZlbnRzOiBudWxsIH07XG4gICAgICAgIH1cbiAgICAgICAgY29uc29sZS5sb2coXCJmZXRjaGVkIDogXCIsIGRhdGEuc3RhdHVzLCBkYXRhLnN0YXR1c1RleHQpO1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IHlpZWxkIGRhdGEuanNvbigpO1xuICAgICAgICBjb25zdCBldmVudHMgPSByZXNwb25zZS5ldmVudHM7XG4gICAgICAgIHJldHVybiB7IGV2ZW50cyB9O1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB0aGUgZW5kcG9pbnQgYXR0cmlidXRlcyBjb250YWluaW5nOlxuICAgICAqICAtIHRoZSBlbmRwb2ludCwgc2VjdXJpdHlNb2RlLCBzZWN1cml0eVBvbGljeSxcbiAgICAgKiAgLSB1c2VySWRlbnRpdHlUeXBlLFxuICAgICAqICAtIGNyZWRlbnRpYWxzXG4gICAgICogIC0gbmFtZXNwYWNlQWxpYXNlc1xuICAgICAqXG4gICAgICogZXh0cmFjdGVkIGZyb20gdGhlIHVpIHdpZGdldCAjbm9kZS1pbnB1dC1lbmRwb2ludFxuICAgICAqL1xuICAgIGNvbnN0IGdldEVuZFBvaW50QXR0cmlidXRlcyA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgJGVuZHBvaW50ID0gJChcIiNub2RlLWlucHV0LWVuZHBvaW50XCIpO1xuICAgICAgICBjb25zdCBlbmRwb2ludElkID0gJGVuZHBvaW50LnZhbCgpO1xuICAgICAgICBjb25zdCByZWROb2RlID0gUkVELm5vZGVzLm5vZGUoZW5kcG9pbnRJZCk7XG4gICAgICAgIGlmICghcmVkTm9kZSlcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIC8vIGNvbnN0IGNyZWRlbnRpYWxzID0gUkVELihlbmRwb2ludElkKTtcbiAgICAgICAgLy8gd2UgbmVlZCB0byBzYW5pdGl6ZSBhbmQgZXh0cmFjdCB0aGUgZW5kcG9pbnQgYXR0cmlidXRlcyBvbmx5ICggbm90IHRoZSBub2RlLXJlZCBzdHVmZilcbiAgICAgICAgY29uc3QgeyBlbmRwb2ludCwgc2VjdXJpdHlNb2RlLCBzZWN1cml0eVBvbGljeSwgdXNlcklkZW50aXR5VHlwZSwgY3JlZGVudGlhbHMsIG5hbWVzcGFjZUFsaWFzZXMgfSA9IHJlZE5vZGU7XG4gICAgICAgIGNvbnN0IHJldFZhbHVlID0ge1xuICAgICAgICAgICAgZW5kcG9pbnQsXG4gICAgICAgICAgICBzZWN1cml0eU1vZGUsXG4gICAgICAgICAgICBzZWN1cml0eVBvbGljeSxcbiAgICAgICAgICAgIHVzZXJJZGVudGl0eVR5cGUsXG4gICAgICAgICAgICBjcmVkZW50aWFscyxcbiAgICAgICAgICAgIG5hbWVzcGFjZUFsaWFzZXMsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiByZXRWYWx1ZTtcbiAgICB9O1xuICAgIGNvbnN0IGdldEVuZHBvaW50UGFyYW1ldGVycyA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgJGVuZHBvaW50ID0gJChcIiNub2RlLWlucHV0LWVuZHBvaW50XCIpO1xuICAgICAgICBjb25zdCBlbmRwb2ludElkID0gJGVuZHBvaW50LnZhbCgpO1xuICAgICAgICBjb25zdCBlbmRwb2ludE5yID0gZ2V0RW5kUG9pbnRBdHRyaWJ1dGVzKCk7XG4gICAgICAgIGlmICghZW5kcG9pbnROcikge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuYW1lc3BhY2VBbGlhc2VzID0gZW5kcG9pbnROci5uYW1lc3BhY2VBbGlhc2VzO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7IG5hbWVzcGFjZUFsaWFzZXMsIGlkOiBlbmRwb2ludElkIH0sIGVuZHBvaW50TnIpO1xuICAgIH07XG4gICAgY29uc3QgZ2V0RW5kcG9pbnRQYXJhbWV0ZXJzSGFuZGxlciA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGVuZHBvaW50Tm9kZTogZ2V0RW5kcG9pbnRQYXJhbWV0ZXJzLFxuICAgICAgICB9O1xuICAgIH07XG5cbiAgICBjb25zdCBpbnN0YWxsRmVlZGJhY2tXaWRnZXQgPSAoKSA9PiB7XG4gICAgICAgIC8vIHJldHVybjtcbiAgICAgICAgLy8gZGVidWdnZXI7XG4gICAgICAgIGNvbnN0IHRyYXlDb250ZW50ID0gJChcIi5yZWQtdWktdHJheS1ib2R5XCIpO1xuICAgICAgICBjb25zb2xlLmxvZyhcImluc3RhbGxGZWVkYmFja1dpZGdldCBcIiwgdHJheUNvbnRlbnQubGVuZ3RoKTtcbiAgICAgICAgaWYgKHRyYXlDb250ZW50Lmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJpbnN0YWxsaW5nIGlmcmFtZVwiKTtcbiAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgaWZyYW1lIGVsZW1lbnRcbiAgICAgICAgICAgIGNvbnN0IGlmcmFtZSA9ICQoXCI8aWZyYW1lPjwvaWZyYW1lPlwiLCB7XG4gICAgICAgICAgICAgICAgc3JjOiBcIi9vcGN1YS1mb3Itbm9kZS1yZWQvc3VwcG9ydC1mcmFtZS5odG1sXCIsXG4gICAgICAgICAgICAgICAgc2Nyb2xsaW5nOiBcIm5vXCIsXG4gICAgICAgICAgICAgICAgc3R5bGU6IFwiYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyOjNweFwiLFxuICAgICAgICAgICAgICAgIGFsbG93dHJhbnNwYXJlbmN5OiBcInRydWVcIixcbiAgICAgICAgICAgICAgICB3aWR0aDogXCIxODBweFwiLFxuICAgICAgICAgICAgICAgIGhlaWdodDogXCIzMHB4XCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIEFwcGVuZCB0aGUgaWZyYW1lIHRvIHRoZSBmZWVkYmFjayBlbGVtZW50XG4gICAgICAgICAgICB0cmF5Q29udGVudC5hcHBlbmQoaWZyYW1lKTtcbiAgICAgICAgICAgIC8vIFBvc2l0aW9uIHRoZSBmZWVkYmFjayBlbGVtZW50IGF0IHRoZSBib3R0b20gcmlnaHQgb2YgdGhlIHRyYXkgY29udGVudFxuICAgICAgICAgICAgaWZyYW1lLmNzcyh7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgICAgICAgICAgICByaWdodDogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgYm90dG9tOiBcIjE2cHhcIixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIFJFRC5ub2Rlcy5yZWdpc3RlclR5cGUoXCJPcGNVYS1DbGllbnQyLU1vbml0b3JFdmVudFwiLCB7XG4gICAgICAgIGNhdGVnb3J5OiBcIm9wY3VhXCIsXG4gICAgICAgIGNvbG9yOiBcIiNDMERFRURcIixcbiAgICAgICAgYWxpZ246IFwicmlnaHRcIixcbiAgICAgICAgaWNvbjogXCJvcGN1YWxvZ29iaWcucG5nXCIsXG4gICAgICAgIHBhbGV0dGVMYWJlbDogXCJtb25pdG9yIGV2ZW50c1wiLFxuICAgICAgICBkZWZhdWx0czoge1xuICAgICAgICAgICAgaW5wdXRzOiB7IHZhbHVlOiAxIH0sXG4gICAgICAgICAgICBvdXRwdXQ6IHsgdmFsdWU6IDQgfSxcbiAgICAgICAgICAgIG5hbWU6IHsgdmFsdWU6IFwiXCIgfSxcbiAgICAgICAgICAgIGVuZHBvaW50OiB7IHZhbHVlOiBcIlwiLCByZXF1aXJlZDogdHJ1ZSwgdHlwZTogXCJPcGNVYS1FbmRwb2ludDJcIiB9LFxuICAgICAgICAgICAgc3Vic2NyaXB0aW9uOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IFwiXCIsXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgdmFsaWRhdGU6ICh2YWwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbCA9PT0gXCJcIilcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdGFydEltbWVkaWF0ZWx5OiB7IHZhbHVlOiB0cnVlLCByZXF1aXJlZDogdHJ1ZSB9LFxuICAgICAgICAgICAgLy8gd2UgdXNlIGEgZGlmZmVyZW50IHdpZGdldCBmb3IgZWRpdGluZyB0aGUgbm9kZUlkLCBiZWNhdXNlIHRoZSBiZWhhdmlvclxuICAgICAgICAgICAgLy8gaXMgc3BlY2lmaWMgdG8gbW9uaXRvciwgaG93ZXZlciBwcm9wZXJ0eSB3aWxsIGJlIHN0b3JlZCBpbiBub2RlSWRcbiAgICAgICAgICAgIG5vZGVJZDogeyB2YWx1ZTogXCJcIiwgcmVxdWlyZWQ6IGZhbHNlLCB2YWxpZGF0ZTogKCkgPT4gdHJ1ZSB9LFxuICAgICAgICAgICAgc2FtcGxpbmdJbnRlcnZhbDogeyB2YWx1ZTogMTAwMCwgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICAgICAgICAgIGRpc2NhcmRPbGRlc3Q6IHsgdmFsdWU6IHRydWUsIHJlcXVpcmVkOiB0cnVlIH0sXG4gICAgICAgICAgICBxdWV1ZVNpemU6IHsgdmFsdWU6IDEwLCByZXF1aXJlZDogdHJ1ZSB9LFxuICAgICAgICAgICAgc2VsZWN0Q2xhdXNlczogeyB2YWx1ZTogXCJcIiwgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICAgICAgICAgIHdoZXJlQ2xhdXNlOiB7IHZhbHVlOiBcIlwiLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgfSxcbiAgICAgICAgLy8gaW5wdXRzOixcbiAgICAgICAgb3V0cHV0czogMiwgLy8gMiBvdXRwdXQsIHNlY29uZCBmb3IgcmF3IG5vZGUtb3BjdWEgZGlhZ25vc3RpY3Mgb3IgbW9yZSBjb21wbGV0ZSBtZXNzYWdlXG4gICAgICAgIGxhYmVsKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmFtZSB8fCBcIk9QQ1VBIE1vbml0b3JcIjtcbiAgICAgICAgfSxcbiAgICAgICAgbGFiZWxTdHlsZSgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5hbWUgPyBcIm5vZGVfbGFiZWxfaXRhbGljXCIgOiBcIlwiO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRwcmVwYXJlKCkge1xuICAgICAgICAgICAgZGVjbGFyZU5vZGVCcm93c2VyV2lkZ2V0KCk7XG4gICAgICAgICAgICBkZWNsYXJlRXZlbnRGaWVsZFNlbGVjdG9yV2lkZ2V0KCk7XG4gICAgICAgICAgICBpbnN0YWxsU3Vic2NyaXB0aW9uU2VsZWN0b3IoUkVELCB0aGlzKTtcbiAgICAgICAgICAgIGluc3RhbGxGZWVkYmFja1dpZGdldCgpO1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGhhbmRsZSBBY3Rpb24gTW9uaXRvciBDb21tb25cbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyAtLSBpbnN0YWxsIHN1YnNjcmlwdGlvbiBzZWxlY3Rpb25cbiAgICAgICAgICAgICQoXCJub2RlLWlucHV0LXN0YXJ0SW1tZWRpYXRlbHlcIikub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNoZWNrZWQgPSAkKFwiI25vZGUtaW5wdXQtc3RhcnRJbW1lZGlhdGVseVwiKS5wcm9wKFwiY2hlY2tlZFwiKTtcbiAgICAgICAgICAgICAgICBpZiAoY2hlY2tlZCkge1xuICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtaW5wdXQtaW5wdXRzXCIpLnZhbCgwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC1pbnB1dHNcIikudmFsKDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGhhbmRsZSBBY3Rpb24gTW9uaXRvclxuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIGNvbnN0ICRub2RlSWQgPSAkKFwiI25vZGUtaW5wdXQtbm9kZUlkXCIpO1xuICAgICAgICAgICAgJG5vZGVJZC5ub2RlQnJvd3NlcihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGdldEVuZHBvaW50UGFyYW1ldGVyc0hhbmRsZXIoKSksIHsgZmlsdGVyKG5vZGVEZXNjKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBub2RlRGVzYy5ub2RlQ2xhc3MgPT09IFwiT2JqZWN0XCI7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBpc1NlbGVjdGFibGUobm9kZURlc2MpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5vZGVEZXNjLm5vZGVDbGFzcyA9PT0gXCJPYmplY3RcIiAvKiB0byBkbyB8fCBub2RlRGVzYy5ldmVudE5vdGlmaWVyID09PSAxICovO1xuICAgICAgICAgICAgICAgIH0gfSkpO1xuICAgICAgICAgICAgLy8gLS0tLS0tIGluc3RhbGwgZXZlbnQgZmllbGQgc2VsZWN0b3JcbiAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC13aGVyZUNsYXVzZVwiKTtcbiAgICAgICAgICAgIGNvbnN0ICRzZWxlY3RDbGF1c2VzID0gJChcIiNub2RlLWlucHV0LXNlbGVjdENsYXVzZXNcIik7XG4gICAgICAgICAgICAkc2VsZWN0Q2xhdXNlcy5ldmVudEZpZWxkU2VsZWN0b3IoT2JqZWN0LmFzc2lnbih7fSwgZ2V0RW5kcG9pbnRQYXJhbWV0ZXJzSGFuZGxlcigpKSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uZWRpdHNhdmUoKSB7XG4gICAgICAgICAgICBjb25zdCBzdGFydEltbWVkaWF0ZWx5ID0gJChcIiNub2RlLWlucHV0LXN0YXJ0SW1tZWRpYXRlbHlcIikucHJvcChcImNoZWNrZWRcIik7XG4gICAgICAgICAgICBpZiAoc3RhcnRJbW1lZGlhdGVseSkge1xuICAgICAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC1zdGFydEltbWVkaWF0ZWx5XCIpLnZhbChzdGFydEltbWVkaWF0ZWx5ID8gMCA6IDEpO1xuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRzID0gc3RhcnRJbW1lZGlhdGVseSA/IDAgOiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgJChcIiNub2RlLWlucHV0LXN0YXJ0SW1tZWRpYXRlbHlcIikudmFsKDEpO1xuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRzID0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICB9KTtcblxufSkoKTsiXX0=
|
7
|
+
function _0x16dc(_0x1b9bab,_0x35cb34){const _0x42d784=_0x42d7();return _0x16dc=function(_0x16dc9c,_0x33635f){_0x16dc9c=_0x16dc9c-0x1bb;let _0x51aef6=_0x42d784[_0x16dc9c];return _0x51aef6;},_0x16dc(_0x1b9bab,_0x35cb34);}(function(_0x3b9595,_0x2c13b5){const _0x1bfc91=_0x16dc,_0x91a46f=_0x3b9595();while(!![]){try{const _0x2f9571=parseInt(_0x1bfc91(0x1fc))/0x1*(parseInt(_0x1bfc91(0x1d1))/0x2)+parseInt(_0x1bfc91(0x210))/0x3*(parseInt(_0x1bfc91(0x291))/0x4)+parseInt(_0x1bfc91(0x208))/0x5+-parseInt(_0x1bfc91(0x287))/0x6*(parseInt(_0x1bfc91(0x1ec))/0x7)+parseInt(_0x1bfc91(0x2e2))/0x8+parseInt(_0x1bfc91(0x2e5))/0x9+-parseInt(_0x1bfc91(0x1eb))/0xa;if(_0x2f9571===_0x2c13b5)break;else _0x91a46f['push'](_0x91a46f['shift']());}catch(_0x82d562){_0x91a46f['push'](_0x91a46f['shift']());}}}(_0x42d7,0xa5f38),(function(){'use strict';const _0x528a1a=_0x16dc;function _0xd26ea3(_0x4dd3a6,_0x5cc1b4){const _0x158f75=_0x16dc,_0x2df1e9=$(_0x158f75(0x1e8)),_0x4d4776=$('#node-input-subscription'),_0x4cd3cf=()=>{const _0x5d0762=_0x158f75,_0x4c5d84=_0x4dd3a6['nodes'][_0x5d0762(0x1f4)](_0x2df1e9[_0x5d0762(0x2f5)]());_0x4d4776[_0x5d0762(0x2df)]();if(!_0x4c5d84||!_0x4c5d84[_0x5d0762(0x1dc)])return;for(const _0x302875 of _0x4c5d84[_0x5d0762(0x1dc)]){const _0x22b6c6=_0x302875[_0x5d0762(0x24d)]||_0x302875['id'];$(_0x5d0762(0x2bf),{'value':_0x302875['id'],'label':_0x22b6c6,'selected':_0x302875['id']===_0x5cc1b4['subscription']})['text'](_0x22b6c6)[_0x5d0762(0x1d0)](_0x4d4776);}};_0x4cd3cf(),_0x4d4776['on'](_0x158f75(0x2e4),()=>{const _0x42d13b=_0x158f75;_0x5cc1b4[_0x42d13b(0x267)]=_0x4d4776[_0x42d13b(0x2f5)]();}),_0x2df1e9['on'](_0x158f75(0x2e4),()=>{_0x4cd3cf();});}function _0x5c2ade(_0x26314f,_0x2825ec,_0x3995b0,_0x22d94f){function _0x152f92(_0x1b22a5){return _0x1b22a5 instanceof _0x3995b0?_0x1b22a5:new _0x3995b0(function(_0x5a35e7){_0x5a35e7(_0x1b22a5);});}return new(_0x3995b0||(_0x3995b0=Promise))(function(_0x1909b2,_0x241e47){const _0xd79300=_0x16dc;function _0x5de7dc(_0x41346b){const _0x470a83=_0x16dc;try{_0x3c465d(_0x22d94f[_0x470a83(0x27b)](_0x41346b));}catch(_0x2936af){_0x241e47(_0x2936af);}}function _0x55cfb1(_0x4767ba){const _0x2e4991=_0x16dc;try{_0x3c465d(_0x22d94f[_0x2e4991(0x1e0)](_0x4767ba));}catch(_0x377765){_0x241e47(_0x377765);}}function _0x3c465d(_0x34eae4){const _0x4fa753=_0x16dc;_0x34eae4['done']?_0x1909b2(_0x34eae4[_0x4fa753(0x275)]):_0x152f92(_0x34eae4[_0x4fa753(0x275)])['then'](_0x5de7dc,_0x55cfb1);}_0x3c465d((_0x22d94f=_0x22d94f[_0xd79300(0x2f7)](_0x26314f,_0x2825ec||[]))[_0xd79300(0x27b)]());});}typeof SuppressedError===_0x528a1a(0x304)?SuppressedError:function(_0x4ee8df,_0x1ee3d5,_0x46fb1d){const _0xcf21b9=_0x528a1a;var _0x5a3bd7=new Error(_0x46fb1d);return _0x5a3bd7['name']=_0xcf21b9(0x2fa),_0x5a3bd7[_0xcf21b9(0x200)]=_0x4ee8df,_0x5a3bd7[_0xcf21b9(0x27a)]=_0x1ee3d5,_0x5a3bd7;};const _0x4d2df0=_0x528a1a(0x269),_0x1d9825=_0x528a1a(0x2b0),_0x3ed50d=_0x528a1a(0x1ff),_0x5ed2a0=_0x528a1a(0x2a9),_0x510a4b='ns=0;i=34',_0x4ff7c6='ns=0;i=45',_0x3b7068=_0x528a1a(0x1cb);var _0x34872d;(function(_0x2ea53b){const _0x2a34b7=_0x528a1a;_0x2ea53b[_0x2ea53b[_0x2a34b7(0x216)]=0x0]=_0x2a34b7(0x216),_0x2ea53b[_0x2ea53b['Inverse']=0x1]=_0x2a34b7(0x222),_0x2ea53b[_0x2ea53b[_0x2a34b7(0x2aa)]=0x2]='Both',_0x2ea53b[_0x2ea53b[_0x2a34b7(0x306)]=0x3]='Invalid';}(_0x34872d||(_0x34872d={})));var _0x517211;(function(_0x281eef){const _0x512410=_0x528a1a;_0x281eef[_0x281eef[_0x512410(0x2ff)]=0x0]=_0x512410(0x2ff),_0x281eef[_0x281eef[_0x512410(0x301)]=0x1]=_0x512410(0x301),_0x281eef[_0x281eef['Variable']=0x2]=_0x512410(0x243),_0x281eef[_0x281eef[_0x512410(0x2bd)]=0x4]=_0x512410(0x2bd),_0x281eef[_0x281eef['ObjectType']=0x8]=_0x512410(0x2b5),_0x281eef[_0x281eef[_0x512410(0x1d7)]=0x10]='VariableType',_0x281eef[_0x281eef['ReferenceType']=0x20]=_0x512410(0x2af),_0x281eef[_0x281eef[_0x512410(0x236)]=0x40]=_0x512410(0x236),_0x281eef[_0x281eef[_0x512410(0x229)]=0x80]=_0x512410(0x229);}(_0x517211||(_0x517211={})));var _0x446d21;(function(_0x3f7559){const _0x32d0d9=_0x528a1a;_0x3f7559[_0x3f7559[_0x32d0d9(0x301)]=0x1]=_0x32d0d9(0x301),_0x3f7559[_0x3f7559['Variable']=0x2]=_0x32d0d9(0x243),_0x3f7559[_0x3f7559[_0x32d0d9(0x2bd)]=0x4]='Method',_0x3f7559[_0x3f7559['ObjectType']=0x8]=_0x32d0d9(0x2b5),_0x3f7559[_0x3f7559['VariableType']=0x10]=_0x32d0d9(0x1d7),_0x3f7559[_0x3f7559['ReferenceType']=0x20]=_0x32d0d9(0x2af),_0x3f7559[_0x3f7559[_0x32d0d9(0x236)]=0x40]='DataType',_0x3f7559[_0x3f7559[_0x32d0d9(0x229)]=0x80]=_0x32d0d9(0x229);}(_0x446d21||(_0x446d21={})));var _0x41c59e;(function(_0x4c7de8){const _0x3b4d70=_0x528a1a;_0x4c7de8[_0x4c7de8[_0x3b4d70(0x2af)]=0x1]=_0x3b4d70(0x2af),_0x4c7de8[_0x4c7de8[_0x3b4d70(0x2f6)]=0x2]=_0x3b4d70(0x2f6),_0x4c7de8[_0x4c7de8[_0x3b4d70(0x26c)]=0x4]=_0x3b4d70(0x26c),_0x4c7de8[_0x4c7de8[_0x3b4d70(0x2fc)]=0x8]=_0x3b4d70(0x2fc),_0x4c7de8[_0x4c7de8['DisplayName']=0x10]=_0x3b4d70(0x203),_0x4c7de8[_0x4c7de8['TypeDefinition']=0x20]='TypeDefinition';}(_0x41c59e||(_0x41c59e={})));function _0x3d393d(_0xe20f67){const _0x595c08=_0x528a1a;switch(_0xe20f67){case'Organizes':return _0x4d2df0;case'HasProperty':return _0x5ed2a0;case _0x595c08(0x241):return _0x3ed50d;case _0x595c08(0x2bb):return _0x510a4b;case _0x595c08(0x22b):return _0x4ff7c6;case _0x595c08(0x1cf):return _0x3b7068;}}const _0x536659=_0x50b854=>{const _0x94dc49=_0x528a1a;switch(_0x50b854[_0x94dc49(0x260)]){case _0x94dc49(0x301):if(_0x50b854[_0x94dc49(0x2cf)]===_0x4d2df0);if(_0x50b854[_0x94dc49(0x20f)]===_0x1d9825||_0x50b854[_0x94dc49(0x2cf)]==='i=61')return{'icon':_0x94dc49(0x1e4),'color':_0x94dc49(0x271)};return{'icon':'fa-object-group','color':_0x94dc49(0x2d2)};case _0x94dc49(0x243):if(_0x50b854[_0x94dc49(0x2cf)]===_0x3ed50d)return{'icon':_0x94dc49(0x2a0),'color':_0x94dc49(0x1d6)};else return _0x50b854[_0x94dc49(0x2cf)]===_0x5ed2a0?{'icon':_0x94dc49(0x2a0),'color':_0x94dc49(0x204)}:{'icon':'fa-list-alt','color':_0x94dc49(0x284)};case _0x94dc49(0x2bd):return{'icon':_0x94dc49(0x27d),'color':_0x94dc49(0x23f)};case _0x94dc49(0x2b5):return{'icon':_0x94dc49(0x256),'color':'DarkOrange'};case _0x94dc49(0x1d7):return{'icon':_0x94dc49(0x220),'color':'DarkOrange'};case'DataType':return{'icon':_0x94dc49(0x1fb),'color':_0x94dc49(0x284)};}return{'icon':_0x94dc49(0x270),'color':_0x94dc49(0x279)};},_0x20475e=(_0x1dd2fc,_0x30b875,_0x311dc3)=>_0x5c2ade(void 0x0,[_0x1dd2fc,_0x30b875,_0x311dc3],void 0x0,function*({endpointNode:_0x120624,endpoint:_0x5e01d3,baseUrl:_0x4e9cb7},_0x117b82,_0x3acb46){const _0x4cd784=_0x528a1a,_0x21bb57=_0x4e9cb7+_0x4cd784(0x2bc),_0x598ef8=_0x21bb57+_0x4cd784(0x282),_0x439325=Object[_0x4cd784(0x257)](Object['assign']({},_0x3acb46),{'nodeId':_0x117b82,'resultMask':0x3f}),_0x361eb1=yield fetch(_0x598ef8,{'method':'POST','body':JSON[_0x4cd784(0x22a)]({'endpointNode':_0x120624,'endpoint':_0x5e01d3,'browseDescription':_0x439325}),'headers':{'Content-Type':_0x4cd784(0x1f1)}});if(_0x361eb1[_0x4cd784(0x1f2)]!==0xc8)return console[_0x4cd784(0x1ce)](_0x4cd784(0x1be),_0x361eb1[_0x4cd784(0x1f2)],_0x361eb1['statusText']),{'references':[]};const _0x30dd77=yield _0x361eb1[_0x4cd784(0x1fa)](),_0x473afe=_0x30dd77[_0x4cd784(0x26f)][_0x4cd784(0x206)]||[];return{'references':_0x473afe};}),_0x241150={'referenceTypeId':_0x3d393d('HasChild'),'includeSubtypes':!![],'browseDirection':_0x34872d[_0x528a1a(0x216)],'nodeClassMask':_0x517211[_0x528a1a(0x243)]|_0x517211[_0x528a1a(0x301)]|_0x517211[_0x528a1a(0x2bd)],'resultMask':0x3f},_0x25301f={'referenceTypeId':_0x3d393d(_0x528a1a(0x2ee)),'includeSubtypes':!![],'browseDirection':_0x34872d[_0x528a1a(0x216)],'nodeClassMask':_0x517211[_0x528a1a(0x243)]|_0x517211[_0x528a1a(0x301)]|_0x517211[_0x528a1a(0x2bd)],'resultMask':0x3f},_0x1d5816=(_0x369bec,_0x29a0b6)=>_0x5c2ade(void 0x0,[_0x369bec,_0x29a0b6],void 0x0,function*({endpointNode:_0xe757d6,endpoint:_0x5675c4,baseUrl:_0x1be814},{nodeId:_0x3f110f,rootNodeId:_0x4ae6a8,isType:_0x437a4c}){const _0x3d30e8=_0x528a1a,_0x14cc49=_0x1be814+_0x3d30e8(0x2bc),_0x41a563=_0x14cc49+_0x3d30e8(0x2dd),_0x11dbcb=yield fetch(_0x41a563,{'method':_0x3d30e8(0x1e6),'body':JSON[_0x3d30e8(0x22a)]({'endpointNode':_0xe757d6,'endpoint':_0x5675c4,'nodeId':_0x3f110f,'rootNodeId':_0x4ae6a8,'isType':_0x437a4c}),'headers':{'Content-Type':_0x3d30e8(0x1f1)}});if(_0x11dbcb[_0x3d30e8(0x1f2)]!==0xc8)return null;const _0x53b4b1=yield _0x11dbcb[_0x3d30e8(0x1fa)]();return _0x53b4b1['browsePath'];}),_0x52e1fb=(_0x28b31c,_0x30c3d8)=>{const _0x3163bd=_0x528a1a;if(_0x28b31c[_0x3163bd(0x29f)]!==_0x3163bd(0x2da))return _0x28b31c[_0x3163bd(0x2b1)];switch(_0x30c3d8){case _0x3163bd(0x1cc):return _0x28b31c[_0x3163bd(0x262)];case _0x3163bd(0x20b):return _0x28b31c[_0x3163bd(0x302)]||_0x28b31c[_0x3163bd(0x262)];case _0x3163bd(0x278):return _0x28b31c[_0x3163bd(0x255)]||_0x28b31c[_0x3163bd(0x2ea)];case _0x3163bd(0x273):return _0x28b31c[_0x3163bd(0x2ea)];default:case _0x3163bd(0x307):return _0x28b31c['nodeId'];}},_0x27c013=_0x5ca27c=>{const _0x5526a2=_0x528a1a;if(_0x5ca27c[_0x5526a2(0x29f)]!==_0x5526a2(0x2da))return _0x5526a2(0x289)+_0x5ca27c['statusCode'];else{let _0x2fead8=[];return _0x2fead8['push'](_0x5526a2(0x230)+_0x5ca27c[_0x5526a2(0x307)]),_0x2fead8[_0x5526a2(0x1df)](_0x5526a2(0x247)+_0x5ca27c[_0x5526a2(0x262)]),_0x2fead8[_0x5526a2(0x1df)]('node\x20class:\x20'+_0x517211[_0x5ca27c['nodeClass']]),_0x5ca27c[_0x5526a2(0x2ea)]&&_0x2fead8[_0x5526a2(0x1df)]('nsu\x20nodeId:\x20'+_0x5ca27c[_0x5526a2(0x2ea)]),_0x5ca27c[_0x5526a2(0x255)]&&_0x2fead8[_0x5526a2(0x1df)](_0x5526a2(0x2d4)+_0x5ca27c[_0x5526a2(0x255)]),_0x5ca27c[_0x5526a2(0x262)]&&_0x2fead8['push'](_0x5526a2(0x1ca)+_0x5ca27c[_0x5526a2(0x302)]),_0x2fead8['join']('\x0a');}};function _0x75492b(_0x1fe5f7){const _0x11561e=_0x528a1a;if(_0x1fe5f7[_0x11561e(0x232)](/^nsu=/))return _0x11561e(0x273);if(_0x1fe5f7[_0x11561e(0x232)](/^(ns=.*;)?(i|b|s|g)=/))return'nodeId';if(_0x1fe5f7['match'](/^nsa=/))return _0x11561e(0x278);if(_0x1fe5f7[_0x11561e(0x232)](/^(\/|\.)[0-9]+:/))return _0x11561e(0x1cc);if(_0x1fe5f7[_0x11561e(0x232)](/^(\/|\.).*:/))return _0x11561e(0x1cc);}function _0x1849c7(_0x5831c7){const _0xc5eb71=_0x528a1a,_0x4ba45f=_0x75492b(_0x5831c7);switch(_0x4ba45f){case _0xc5eb71(0x307):return'n';case _0xc5eb71(0x278):return'na';case'nsuNodeID':return _0xc5eb71(0x223);case'browsePath':return'b';case'aliasedBrowsePath':return'ab';default:return't';}}function _0x5450e2(_0x1d83c1){const _0x5c5f31=_0x528a1a;let _0x124a32;switch(_0x1d83c1){case'n':_0x124a32=_0x5c5f31(0x307);break;case'na':_0x124a32='aliasedNodeId';break;case'nsu':_0x124a32=_0x5c5f31(0x273);break;case'b':_0x124a32=_0x5c5f31(0x1cc);break;case'ab':_0x124a32=_0x5c5f31(0x20b);break;}return _0x124a32;}function _0x5ee64a(_0x41556e){const _0x4bd92c=_0x528a1a;switch(_0x41556e){case'nodeId':return'n';case _0x4bd92c(0x278):return'na';case _0x4bd92c(0x273):return _0x4bd92c(0x223);case _0x4bd92c(0x1cc):return'b';case'aliasedBrowsePath':return'ab';default:return't';}}const _0x34de0c=(_0x44d244,_0x10a171)=>_0x5c2ade(void 0x0,[_0x44d244,_0x10a171],void 0x0,function*({endpointNode:_0x36089b,endpoint:_0x3b0b72,baseUrl:_0x34c05e},_0x25def0){const _0x3bbdd2=_0x528a1a,_0x3d71b1=_0x34c05e+_0x3bbdd2(0x2bc),_0x420ea8=_0x3d71b1+'/checkNodeId',_0x5681d1=_0x36089b['id'],_0x5712e1=RED['nodes'][_0x3bbdd2(0x1f4)](_0x5681d1);console[_0x3bbdd2(0x1ce)](_0x5712e1[_0x3bbdd2(0x1e9)]),_0x5712e1[_0x3bbdd2(0x1e9)];const _0x40d8f3=_0x36089b['namespaceAliases'],_0x461116=yield fetch(_0x420ea8,{'method':_0x3bbdd2(0x1e6),'body':JSON[_0x3bbdd2(0x22a)]({'endpointNode':_0x36089b,'endpoint':_0x3b0b72,'nodeId':_0x25def0,'namespaceAliases':_0x40d8f3}),'headers':{'Content-Type':_0x3bbdd2(0x1f1)}}),_0x1a0a7d=yield _0x461116['json']();return{'json':_0x1a0a7d,'data':_0x461116};}),_0x18899a=(_0xc7ccff,_0x2afea7,_0x384a2c,_0x100632)=>_0x5c2ade(void 0x0,[_0xc7ccff,_0x2afea7,_0x384a2c,_0x100632],void 0x0,function*({endpointNode:_0x593283,endpoint:_0xdec6b1,baseUrl:_0x256511},_0x47b807,_0x32a6b5,_0x3db764){const _0x2a5c74=_0x528a1a,_0x1c8e37=_0x32a6b5[_0x2a5c74(0x2f5)](),{json:_0x13e1de,data:_0x1e7d50}=yield _0x34de0c({'endpointNode':_0x593283,'endpoint':_0xdec6b1,'baseUrl':_0x256511},_0x1c8e37),_0x572518=(_0x128d95,_0x5831af)=>{const _0x5c84bc=_0x2a5c74;_0x3db764[_0x5c84bc(0x298)](_0x128d95)[_0x5c84bc(0x1d4)](_0x5c84bc(0x1e7))[_0x5c84bc(0x1d4)](_0x5831af),_0x3db764[_0x5c84bc(0x288)](),setTimeout(()=>{const _0x21ba1c=_0x5c84bc;_0x3db764[_0x21ba1c(0x1d5)](_0x5831af),_0x3db764[_0x21ba1c(0x29e)]();},0xbb8);};if(_0x1e7d50['status']!==0xc8)return _0x572518('!!failure!!'+_0x1c8e37,_0x2a5c74(0x1f0)),![];else{if(_0x13e1de[_0x2a5c74(0x29f)][_0x2a5c74(0x232)](/Good/)){const _0x274471=_0x27c013(_0x13e1de);_0x32a6b5[_0x2a5c74(0x2ad)](_0x2a5c74(0x283),_0x274471);const _0x45dde0=_0x52e1fb(_0x13e1de,_0x47b807);return _0x32a6b5[_0x2a5c74(0x2f5)](_0x45dde0),_0x32a6b5[_0x2a5c74(0x27e)](_0x2a5c74(0x2e4)),_0x572518(_0x2a5c74(0x2da),'ok'),!![];}else return _0x32a6b5[_0x2a5c74(0x2f5)](''+_0x1c8e37),_0x572518(_0x13e1de[_0x2a5c74(0x29f)]+'\x20'+_0x1e7d50[_0x2a5c74(0x2b2)],'failure'),![];}});function _0x14124c(_0xbdfdae,_0x292c53){return _0x5c2ade(this,void 0x0,void 0x0,function*(){const _0x1ea978=_0x16dc,_0x4125e7=_0xbdfdae['data'](_0x1ea978(0x275)),_0x4141de=yield _0x20475e(_0x292c53,_0x4125e7,_0x241150),_0x42a5ee=yield _0x20475e(_0x292c53,_0x4125e7,_0x25301f);return{'references':[..._0x4141de[_0x1ea978(0x206)],..._0x42a5ee['references']]};});}const _0x5d01a4={'referenceTypeId':_0x3d393d(_0x528a1a(0x22b)),'includeSubtypes':!![],'browseDirection':_0x34872d['Forward'],'nodeClassMask':_0x517211[_0x528a1a(0x2af)]|_0x517211[_0x528a1a(0x2b5)]|_0x517211[_0x528a1a(0x236)]|_0x517211[_0x528a1a(0x1d7)],'resultMask':0x3f};function _0x59ebed(_0x7d56d4,_0x456201){return _0x5c2ade(this,void 0x0,void 0x0,function*(){const _0x1ae2ad=_0x16dc,_0x4644b2=_0x7d56d4[_0x1ae2ad(0x218)]('value'),_0x540bab=yield _0x20475e(_0x456201,_0x4644b2,_0x5d01a4);return _0x540bab;});}const _0x1d3d1a=_0x297a7a=>{const _0x52c0b3=_0x528a1a;var _0x49130b,_0x3e5163,_0x25aac9,_0x2c073d;if(!_0x297a7a||!_0x297a7a[_0x52c0b3(0x307)]){const _0x5cddd6=$('<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>');return _0x5cddd6;}const _0x4bf099=_0x297a7a[_0x52c0b3(0x307)]['toString'](),_0x3670cd=((_0x49130b=_0x297a7a[_0x52c0b3(0x2c6)])===null||_0x49130b===void 0x0?void 0x0:_0x49130b[_0x52c0b3(0x298)])||((_0x3e5163=_0x297a7a[_0x52c0b3(0x29d)])===null||_0x3e5163===void 0x0?void 0x0:_0x3e5163[_0x52c0b3(0x24d)])||_0x297a7a[_0x52c0b3(0x307)][_0x52c0b3(0x2a1)](),{icon:_0x3d6064,color:_0x181cdf}=_0x536659(_0x297a7a),_0x29eda6='('+_0x297a7a[_0x52c0b3(0x307)][_0x52c0b3(0x2a1)]()+')\x20'+(((_0x25aac9=_0x297a7a[_0x52c0b3(0x29d)])===null||_0x25aac9===void 0x0?void 0x0:_0x25aac9[_0x52c0b3(0x24d)])||((_0x2c073d=_0x297a7a['displayName'])===null||_0x2c073d===void 0x0?void 0x0:_0x2c073d['text'])||''),_0x296b29=$('<li\x20key=\x22'+_0x297a7a[_0x52c0b3(0x307)][_0x52c0b3(0x2a1)]()+_0x52c0b3(0x20e)+_0x29eda6+_0x52c0b3(0x268)+_0x3d6064+'\x22\x20style=\x22color:'+_0x181cdf+_0x52c0b3(0x2d3)+_0x3670cd+'</span><ul></ul></li>');return _0x296b29['addClass'](_0x52c0b3(0x221)),_0x296b29[_0x52c0b3(0x218)]('value',_0x4bf099),_0x296b29[_0x52c0b3(0x218)](_0x52c0b3(0x2b6),_0x297a7a),_0x296b29;},_0xa8587c=(_0x78208f,_0x1414e0)=>{const _0x51040c=_0x528a1a;return _0x1414e0[_0x51040c(0x2c0)](_0x51040c(0x1c7)+_0x78208f+'\x22]');},_0x2ad3ed=(_0x38b060,_0x4f524e)=>{const _0x1b9595=_0x528a1a;_0x38b060['$tree'][_0x1b9595(0x2c0)]('li\x20>\x20.tree-text')[_0x1b9595(0x1d5)](_0x1b9595(0x1bc)),_0x4f524e[_0x1b9595(0x2c0)](_0x1b9595(0x205))[_0x1b9595(0x1d4)](_0x1b9595(0x1bc));},_0x3cc14d=(_0x2189f2,_0x283334,_0x5a57d3)=>_0x5c2ade(void 0x0,void 0x0,void 0x0,function*(){const _0x4be389=_0x528a1a;let _0x1aa987=_0x5a57d3['children'](_0x4be389(0x249));_0x283334[_0x4be389(0x1c4)][_0x4be389(0x21c)]||[];const _0x17aaeb=_0x283334['nodeIds']||[];if(_0x17aaeb[_0x4be389(0x308)]===0x0)return;for(const _0x117faf of _0x17aaeb){_0x1aa987[_0x4be389(0x1ef)]('expandable')&&(yield _0x41e9c2(_0x2189f2,_0x1aa987));const _0x11025f=_0xa8587c(_0x117faf,_0x1aa987);if(_0x11025f['length']===0x0)return;_0x1aa987=_0x11025f;}_0x2ad3ed(_0x2189f2,_0x1aa987),_0x284728(_0x2189f2[_0x4be389(0x22c)],_0x1aa987);});function _0x284728(_0x354348,_0x268717){const _0x318221=_0x528a1a,_0x197b2d=_0x268717[_0x318221(0x2ae)]()[_0x318221(0x2a3)],_0x3b69f9=_0x354348[_0x318221(0x21d)]();if(_0x3b69f9==undefined)return;const _0x39b6c8=_0x3b69f9+_0x197b2d-_0x354348['height']()/0x2+_0x268717['height']()/0x2;_0x354348['animate']({'scrollTop':_0x39b6c8},0x1f4);}const _0x4e6c5b=(_0x15d088,_0x16a8da)=>_0x5c2ade(void 0x0,void 0x0,void 0x0,function*(){const _0x531f91=_0x528a1a,_0x3941a2=_0x15d088['$input']['val'](),_0x1fc7f6={'nodeId':_0x3941a2,'rootNodeId':_0x16a8da['nodeId'],'isType':_0x15d088[_0x531f91(0x2a5)][_0x531f91(0x281)]||![]},_0x3a4bf5=_0x5cd5d6(_0x15d088),_0x4c178e=yield _0x1d5816(_0x3a4bf5,_0x1fc7f6);if(!_0x4c178e)return;yield _0x3cc14d(_0x15d088,_0x4c178e,_0x15d088[_0x531f91(0x2e8)]);});function _0x3ad892(_0x11abba,_0x28b4ae,_0x33bb39,_0x5e3361){return _0x5c2ade(this,void 0x0,void 0x0,function*(){const _0x3d1632=_0x16dc;if(_0x28b4ae[_0x3d1632(0x1ef)](_0x3d1632(0x24e))){console['log'](_0x3d1632(0x23c));return;}if(_0x28b4ae[_0x3d1632(0x1ef)]('loading')){console[_0x3d1632(0x1ce)](_0x3d1632(0x238));return;}_0x28b4ae[_0x3d1632(0x1d4)](_0x3d1632(0x2f4)),_0x28b4ae['append']('<div\x20class=\x22spinner\x22></div>');try{_0x28b4ae[_0x3d1632(0x296)]('ul')['empty']();const {references:_0x3c0c92}=yield _0x33bb39(_0x28b4ae,_0x5e3361);_0x3c0c92[_0x3d1632(0x1c3)]((_0xb79ada,_0x234c23)=>{const _0x3f41d4=_0x3d1632;var _0x66fa87,_0x5d6910;return(((_0x66fa87=_0xb79ada[_0x3f41d4(0x29d)])===null||_0x66fa87===void 0x0?void 0x0:_0x66fa87[_0x3f41d4(0x24d)])||'')[_0x3f41d4(0x300)](((_0x5d6910=_0x234c23[_0x3f41d4(0x29d)])===null||_0x5d6910===void 0x0?void 0x0:_0x5d6910['name'])||'');});for(const _0x145c1b of _0x3c0c92){if(_0x11abba[_0x3d1632(0x2a5)]['filter']&&!_0x11abba[_0x3d1632(0x2a5)][_0x3d1632(0x225)](_0x145c1b))continue;const _0x75c93f=_0x1d3d1a(_0x145c1b);_0x28b4ae[_0x3d1632(0x296)]('ul')[_0x3d1632(0x28b)](_0x75c93f);}_0x28b4ae['addClass'](_0x3d1632(0x24e));}catch(_0x59f3ab){_0x28b4ae[_0x3d1632(0x296)]('ul')[_0x3d1632(0x28b)]('<li>error\x20'+_0x59f3ab[_0x3d1632(0x2c9)]+_0x3d1632(0x1da)),console['log'](_0x3d1632(0x227),_0x59f3ab);}_0x28b4ae[_0x3d1632(0x2c0)](_0x3d1632(0x248))[_0x3d1632(0x29c)](),_0x28b4ae['removeClass'](_0x3d1632(0x2f4));});}function _0x5cd5d6(_0x308432){const _0x5bc50a=_0x528a1a,_0x766b2d={'baseUrl':_0x308432[_0x5bc50a(0x2a5)]['baseUrl'],'endpointNode':typeof _0x308432['options'][_0x5bc50a(0x1f8)]===_0x5bc50a(0x304)?_0x308432[_0x5bc50a(0x2a5)][_0x5bc50a(0x1f8)]():_0x308432[_0x5bc50a(0x2a5)][_0x5bc50a(0x1f8)],'endpoint':typeof _0x308432[_0x5bc50a(0x2a5)][_0x5bc50a(0x266)]===_0x5bc50a(0x304)?_0x308432[_0x5bc50a(0x2a5)][_0x5bc50a(0x266)]():_0x308432[_0x5bc50a(0x2a5)]['endpoint']};return _0x766b2d;}function _0x41e9c2(_0x4cdce4,_0x88563a){return _0x5c2ade(this,void 0x0,void 0x0,function*(){const _0x1c1117=_0x16dc;if(_0x88563a[_0x1c1117(0x1ef)](_0x1c1117(0x24e))){_0x88563a[_0x1c1117(0x1d5)](_0x1c1117(0x221))[_0x1c1117(0x1d4)](_0x1c1117(0x22d)),_0x88563a[_0x1c1117(0x296)]('ul')[_0x1c1117(0x234)]();return;}const _0x2c7d26=_0x5cd5d6(_0x4cdce4),_0xb6c0fe=!_0x4cdce4[_0x1c1117(0x2a5)][_0x1c1117(0x281)]?_0x14124c:_0x59ebed;try{yield _0x3ad892(_0x4cdce4,_0x88563a,_0xb6c0fe,_0x2c7d26),_0x88563a[_0x1c1117(0x1d5)](_0x1c1117(0x221))[_0x1c1117(0x1d4)](_0x1c1117(0x22d));}catch(_0x93682){_0x88563a[_0x1c1117(0x1d5)]('expandable')[_0x1c1117(0x1d4)]('expanded'),console[_0x1c1117(0x1ce)](_0x1c1117(0x200),_0x93682);}});}const _0x27e557={'browseName':{'namespaceIndex':0x0,'name':_0x528a1a(0x2a7)},'nodeClass':_0x528a1a(0x301),'nodeId':'ns=0;i=85','displayName':{'text':_0x528a1a(0x2a7)},'typeDefinition':_0x1d9825},_0xe3ea40=()=>{const _0x2b7273=_0x528a1a;$[_0x2b7273(0x2ba)](_0x2b7273(0x2d6),{'options':{'endpointNode':()=>({'endpoint':_0x2b7273(0x280)}),'endpoint':()=>undefined,'parentNode':()=>_0x27e557,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x5c2ade(this,void 0x0,void 0x0,function*(){const _0x18e4df=_0x16dc,_0xb2853e=this;if(_0xb2853e[_0x18e4df(0x27c)]==undefined){const _0xd84b94=typeof _0xb2853e['options'][_0x18e4df(0x1e1)]===_0x18e4df(0x304)?_0xb2853e[_0x18e4df(0x2a5)][_0x18e4df(0x1e1)][_0x18e4df(0x2e3)](_0xb2853e):_0xb2853e[_0x18e4df(0x2a5)][_0x18e4df(0x1e1)];if(_0xd84b94 instanceof Promise){const _0x59f0a6=yield _0xd84b94;_0xb2853e['__parentNode']=_0x59f0a6;}else _0xb2853e[_0x18e4df(0x27c)]=_0xd84b94;}return _0xb2853e['__parentNode']||_0x27e557;});},'reset'(){return _0x5c2ade(this,void 0x0,void 0x0,function*(){const _0x568274=_0x16dc,_0xacfaaa=this,_0x48d394=_0xacfaaa;_0x48d394['__parentNode']=undefined,_0xacfaaa[_0x568274(0x2e8)][_0x568274(0x2df)]();const _0x1d75eb=yield this[_0x568274(0x228)](),_0x1c6fd5=_0x1d3d1a(_0x1d75eb);_0xacfaaa[_0x568274(0x2e8)][_0x568274(0x28b)](_0x1c6fd5),_0xacfaaa[_0x568274(0x2fe)]=_0x1d75eb;});},'verify'(_0x54a3b4){const _0xf94803=_0x2b7273,_0x5311b1=this,_0x536501=_0x5cd5d6(_0x5311b1);_0x18899a(_0x536501,_0x54a3b4,_0x5311b1[_0xf94803(0x252)],_0x5311b1['$info'])['then'](_0x301202=>{const _0x4c7232=_0xf94803;!_0x301202?_0x5311b1['$combo'][_0x4c7232(0x1d4)](_0x4c7232(0x28a)):_0x5311b1[_0x4c7232(0x22f)][_0x4c7232(0x1d5)]('sterfive-input-error');});},'_hideMenu'(_0x4051f4){const _0x55ce9d=_0x2b7273,_0x46f5eb=this;$(document)[_0x55ce9d(0x21f)](_0x55ce9d(0x226)),_0x4051f4[_0x55ce9d(0x29e)](),_0x4051f4[_0x55ce9d(0x212)]({'height':_0x55ce9d(0x1c1)});if(_0x4051f4[_0x55ce9d(0x27f)][_0x55ce9d(0x26d)]){var _0x4aacb2=[];_0x4051f4[_0x55ce9d(0x2c0)](_0x55ce9d(0x250))[_0x55ce9d(0x2f8)](function(){const _0xe414db=_0x55ce9d;$(this)[_0xe414db(0x2d8)](_0xe414db(0x1d9))&&_0x4aacb2['push']($(this)['data'](_0xe414db(0x275)));}),_0x4051f4[_0x55ce9d(0x1de)](_0x4aacb2);}_0x46f5eb[_0x55ce9d(0x2b9)]['is'](_0x55ce9d(0x2c1))?_0x46f5eb[_0x55ce9d(0x252)][_0x55ce9d(0x27e)]('focus'):_0x46f5eb['$selectTrigger'][_0x55ce9d(0x27e)](_0x55ce9d(0x2d1));},'_createMenu'(_0x20ab82,_0x4619d4,_0x2fce7b){const _0x31996d=_0x2b7273;var _0xf108db=this;const _0x1e49f3=$(_0x31996d(0x1e3))['addClass'](_0x31996d(0x2c5));return _0x1e49f3[_0x31996d(0x27f)]=_0x4619d4,_0x1e49f3[_0x31996d(0x1de)]=_0x2fce7b,_0x20ab82['forEach'](_0x4115a3=>{const _0xacd1a1=_0x31996d;typeof _0x4115a3===_0xacd1a1(0x2e7)&&(_0x4115a3={'value':_0x4115a3,'label':_0x4115a3});var _0x5c1fd2=$('<a\x20href=\x22#\x22></a>')[_0xacd1a1(0x2ad)](_0xacd1a1(0x275),_0x4115a3[_0xacd1a1(0x275)])[_0xacd1a1(0x1d0)](_0x1e49f3);_0x4115a3[_0xacd1a1(0x305)]&&_0x5c1fd2['text'](_0x4115a3[_0xacd1a1(0x305)]);_0x4115a3[_0xacd1a1(0x283)]&&_0x5c1fd2[_0xacd1a1(0x2d8)](_0xacd1a1(0x283),_0x4115a3[_0xacd1a1(0x283)]);if(_0x4115a3[_0xacd1a1(0x1f9)]){if(_0x4115a3[_0xacd1a1(0x1f9)][_0xacd1a1(0x1ee)]('<')===0x0)$(_0x4115a3['icon'])[_0xacd1a1(0x2d7)](_0x5c1fd2);else _0x4115a3['icon'][_0xacd1a1(0x1ee)]('/')!==-0x1?$('<i>',{'class':'red-ui-typedInput-icon','style':'mask-image:\x20url('+_0x4115a3[_0xacd1a1(0x1f9)]+_0xacd1a1(0x294)+_0x4115a3[_0xacd1a1(0x1f9)]+');'})['prependTo'](_0x5c1fd2):$(_0xacd1a1(0x297),{'class':_0xacd1a1(0x21a)+_0x4115a3[_0xacd1a1(0x1f9)]})[_0xacd1a1(0x2d7)](_0x5c1fd2);}else _0x5c1fd2[_0xacd1a1(0x212)]({'paddingLeft':_0xacd1a1(0x295)});!_0x4115a3[_0xacd1a1(0x1f9)]&&!_0x4115a3['label']&&_0x5c1fd2[_0xacd1a1(0x298)](_0x4115a3[_0xacd1a1(0x275)]);var _0x417ef2;_0x4619d4['multiple']&&(_0x417ef2=$('<input\x20type=\x22checkbox\x22>')[_0xacd1a1(0x212)](_0xacd1a1(0x2b3),_0xacd1a1(0x29b))['data'](_0xacd1a1(0x275),_0x4115a3[_0xacd1a1(0x275)])[_0xacd1a1(0x2d7)](_0x5c1fd2)['on'](_0xacd1a1(0x1c8),function(_0x500934){_0x500934['preventDefault']();})),_0x5c1fd2['on'](_0xacd1a1(0x303),function(_0x57f3fb){const _0x34deba=_0xacd1a1;_0x57f3fb[_0x34deba(0x28d)](),_0x57f3fb[_0x34deba(0x1bf)](),!_0x4619d4['multiple']?(_0x2fce7b(_0x4115a3['value']),_0xf108db['_hideMenu'](_0x1e49f3)):_0x417ef2[_0x34deba(0x2d8)](_0x34deba(0x1d9),!_0x417ef2['prop']('checked'));});}),_0x1e49f3[_0x31996d(0x212)]({'display':'none'}),_0x1e49f3['on'](_0x31996d(0x2fd),function(_0x344fff){const _0x261a1d=_0x31996d;if(_0x344fff[_0x261a1d(0x1fe)]===0x28)_0x344fff[_0x261a1d(0x28d)](),$(this)[_0x261a1d(0x296)](_0x261a1d(0x202))[_0x261a1d(0x27b)]()[_0x261a1d(0x27e)](_0x261a1d(0x2d1));else{if(_0x344fff[_0x261a1d(0x1fe)]===0x26)_0x344fff[_0x261a1d(0x28d)](),$(this)[_0x261a1d(0x296)](_0x261a1d(0x202))[_0x261a1d(0x1fd)]()[_0x261a1d(0x27e)](_0x261a1d(0x2d1));else _0x344fff['keyCode']===0x1b&&(_0x344fff[_0x261a1d(0x28d)](),_0xf108db[_0x261a1d(0x277)](_0x1e49f3));}_0x344fff[_0x261a1d(0x1bf)]();}),_0x1e49f3;},'disarmClick':![],'_showMenu'(_0x5d7e6a,_0x492e6f){const _0x146b2c=_0x2b7273;if(this[_0x146b2c(0x2e6)]){this['disarmClick']=![];return;}var _0x30a4cb=this,_0x39d7af=_0x492e6f[_0x146b2c(0x2d0)](),_0x441fcd=_0x492e6f[_0x146b2c(0x2ac)](),_0x3ba475=_0x5d7e6a[_0x146b2c(0x2ac)](),_0x3374ac=_0x441fcd+_0x39d7af['top'];_0x3374ac+_0x3ba475-$(document)['scrollTop']()>$(window)[_0x146b2c(0x2ac)]()&&(_0x3374ac-=_0x3374ac+_0x3ba475-$(window)[_0x146b2c(0x2ac)]()+0x5),_0x3374ac<0x0&&(_0x5d7e6a['height'](_0x3ba475+_0x3374ac),_0x3374ac=0x0),_0x5d7e6a[_0x146b2c(0x212)]({'top':_0x3374ac+'px','left':_0x39d7af[_0x146b2c(0x309)]+'px'}),_0x5d7e6a[_0x146b2c(0x2f1)](0x64),this[_0x146b2c(0x20c)](function(){const _0x48d002=_0x146b2c;_0x30a4cb[_0x48d002(0x2db)]['addClass']('red-ui-typedInput-focus'),$(document)['on'](_0x48d002(0x226),function(_0x23cc7a){const _0x579192=_0x48d002;!$(_0x23cc7a['target'])[_0x579192(0x299)](_0x5d7e6a)['length']&&_0x30a4cb[_0x579192(0x277)](_0x5d7e6a),$(_0x23cc7a[_0x579192(0x2a6)])[_0x579192(0x299)](_0x492e6f)[_0x579192(0x308)]&&(_0x30a4cb['disarmClick']=!![],_0x23cc7a[_0x579192(0x28d)]());});});},'_showTypeMenu'(){const _0x1da44b=_0x2b7273,_0x528194=this;this[_0x1da44b(0x2be)](_0x528194[_0x1da44b(0x2d9)],_0x528194[_0x1da44b(0x22f)]),_0x528194[_0x1da44b(0x22c)][_0x1da44b(0x29e)]();const _0x4e8481=_0x528194[_0x1da44b(0x25f)];var _0xa5b826=_0x528194[_0x1da44b(0x2d9)][_0x1da44b(0x2c0)](_0x1da44b(0x1f5)+_0x4e8481+'\x27');setTimeout(function(){const _0x1e745a=_0x1da44b;_0xa5b826[_0x1e745a(0x27e)](_0x1e745a(0x2d1));},0x78);},'_initMenu'(){const _0xc54567=_0x2b7273,_0x3bd350=this;_0x3bd350['$selectTrigger']['attr'](_0xc54567(0x26e),-0x1),_0x3bd350[_0xc54567(0x1c0)]['on'](_0xc54567(0x211),function(_0xcecfad){const _0x58d8e4=_0xc54567;_0xcecfad[_0x58d8e4(0x28d)]();});_0x3bd350['$menu']&&_0x3bd350['$menu']['remove']();const _0x37deeb=[{'label':_0xc54567(0x298),'value':'t','title':_0xc54567(0x30a),'icon':_0xc54567(0x1c9)},{'label':_0xc54567(0x23e),'value':_0xc54567(0x2c8),'title':_0xc54567(0x1c6),'icon':'<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>'},{'label':_0xc54567(0x1d2),'value':'n','icon':_0xc54567(0x240)},{'label':_0xc54567(0x2d5),'value':'na','icon':_0xc54567(0x2dc)},{'label':_0xc54567(0x244),'value':_0xc54567(0x223),'icon':_0xc54567(0x1c5)},{'label':_0xc54567(0x2e0),'value':'b','icon':_0xc54567(0x1cd)},{'label':_0xc54567(0x1d8),'value':'ab','icon':'<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> '}],_0x3a7c15=_0x1849c7(_0x3bd350[_0xc54567(0x252)][_0xc54567(0x2f5)]()),_0xa56306=_0x37deeb[_0xc54567(0x2c0)](_0x23f3bd=>_0x23f3bd['value']===_0x3a7c15);_0x3bd350[_0xc54567(0x1f6)][_0xc54567(0x2df)]()[_0xc54567(0x28b)](_0xc54567(0x231)+((_0xa56306===null||_0xa56306===void 0x0?void 0x0:_0xa56306[_0xc54567(0x283)])||'')+_0xc54567(0x20a)+((_0xa56306===null||_0xa56306===void 0x0?void 0x0:_0xa56306[_0xc54567(0x1f9)])||'')+_0xc54567(0x215)),_0x3bd350[_0xc54567(0x25f)]=_0x3a7c15;const _0x4f1482=this;_0x3bd350[_0xc54567(0x2d9)]=this[_0xc54567(0x24c)](_0x37deeb,{},_0x1adecc=>{const _0x182a4c=_0xc54567,_0x574004=_0x5450e2(_0x1adecc);_0x574004&&_0x4f1482[_0x182a4c(0x21e)](_0x574004);const _0x1f7768=_0x37deeb['find'](_0x36cf94=>_0x36cf94[_0x182a4c(0x275)]===_0x1adecc);_0x3bd350[_0x182a4c(0x25f)]=_0x1adecc,_0x3bd350[_0x182a4c(0x1f6)][_0x182a4c(0x2df)]()[_0x182a4c(0x28b)](_0x182a4c(0x231)+((_0x1f7768===null||_0x1f7768===void 0x0?void 0x0:_0x1f7768[_0x182a4c(0x283)])||'')+_0x182a4c(0x20a)+((_0x1f7768===null||_0x1f7768===void 0x0?void 0x0:_0x1f7768[_0x182a4c(0x1f9)])||'')+_0x182a4c(0x215));}),_0x3bd350[_0xc54567(0x2d9)][_0xc54567(0x1d0)](document[_0xc54567(0x26a)]),_0x3bd350['$menu']['hide'](),_0x3bd350['$selectTrigger'][_0xc54567(0x288)]();},'mode'(){const _0x494b57=_0x2b7273,_0x15d4de=this;return _0x5450e2(_0x15d4de[_0x494b57(0x25f)]);},'setMode'(_0x376055){const _0x5ca1c4=_0x2b7273,_0x4e17d6=this,_0xf16cdb=_0x5ee64a(_0x376055);_0x4e17d6[_0x5ca1c4(0x25f)]=_0xf16cdb;},'_create'(){const _0x118572=_0x2b7273,_0x2c7b45=this;_0x2c7b45['$input']=this[_0x118572(0x245)],_0x2c7b45['$input'][_0x118572(0x212)]('border',_0x118572(0x29b)),_0x2c7b45['$elementDiv']=_0x2c7b45[_0x118572(0x252)]['wrap']('<div>')['parent']()[_0x118572(0x1d4)](_0x118572(0x246)),_0x2c7b45[_0x118572(0x22f)]=$('<div/>'),_0x2c7b45['$combo'][_0x118572(0x1d4)]('sterfive-combo-box'),_0x2c7b45['$input'][_0x118572(0x2ef)](_0x2c7b45[_0x118572(0x22f)]),_0x2c7b45[_0x118572(0x21b)]=$(_0x118572(0x1ea))[_0x118572(0x1d4)](_0x118572(0x1f3)),_0x2c7b45[_0x118572(0x22f)][_0x118572(0x28b)](_0x2c7b45[_0x118572(0x21b)]),_0x2c7b45[_0x118572(0x21b)]['append'](_0x2c7b45[_0x118572(0x252)]),_0x2c7b45[_0x118572(0x28e)]=$(_0x118572(0x235)),_0x2c7b45[_0x118572(0x252)][_0x118572(0x201)](_0x2c7b45[_0x118572(0x28e)]),_0x2c7b45[_0x118572(0x28e)]['on'](_0x118572(0x303),function(){return _0x5c2ade(this,void 0x0,void 0x0,function*(){const _0x625b74=_0x16dc;var _0x373556;let _0x1142d4=![],_0xe97d9e;!_0x2c7b45['$dropdown']['is'](_0x625b74(0x2c1))&&(_0x2c7b45[_0x625b74(0x265)][_0x625b74(0x29e)](),_0xe97d9e=yield _0x2c7b45[_0x625b74(0x228)](),(_0xe97d9e!==_0x2c7b45[_0x625b74(0x2fe)]||((_0x373556=_0x2c7b45[_0x625b74(0x2fe)])===null||_0x373556===void 0x0?void 0x0:_0x373556[_0x625b74(0x307)])!==_0xe97d9e[_0x625b74(0x307)])&&(yield _0x2c7b45[_0x625b74(0x1d3)]()),_0x1142d4=!![]),_0x2c7b45['$dropdown'][_0x625b74(0x234)](),_0x1142d4&&(yield _0x4e6c5b(_0x2c7b45,_0xe97d9e));});}),_0x2c7b45['$verifyBtn']=$(_0x118572(0x25a)),_0x2c7b45[_0x118572(0x252)][_0x118572(0x201)](_0x2c7b45[_0x118572(0x2ec)]),_0x2c7b45[_0x118572(0x2ec)]['on']('click',()=>{const _0xd53d08=_0x118572,_0x571da7=_0x2c7b45[_0xd53d08(0x1e5)]();if(!_0x571da7)return;this[_0xd53d08(0x21e)](_0x571da7);});const _0x2b6442=_0x3efb2c=>_0x5c2ade(this,void 0x0,void 0x0,function*(){const _0x5cc9e3=_0x118572,_0x28e9b2=this;let _0x5e809d=_0x28e9b2[_0x5cc9e3(0x1e5)]();if(!_0x5e809d)return;const _0x79c351=_0x5cd5d6(_0x28e9b2),{data:_0x49ed2c,json:_0x2e6120}=yield _0x34de0c(_0x79c351,_0x3efb2c);if(_0x49ed2c[_0x5cc9e3(0x1f2)]!==0xc8)return;if(_0x2e6120['statusCode'][_0x5cc9e3(0x232)](/Good/)){const _0x2ac61a=_0x52e1fb(_0x2e6120,_0x5e809d);_0x28e9b2[_0x5cc9e3(0x252)]['val'](_0x2ac61a),_0x28e9b2[_0x5cc9e3(0x252)][_0x5cc9e3(0x27e)](_0x5cc9e3(0x2e4));}});{_0x2c7b45[_0x118572(0x2db)]=$(_0x118572(0x1e3)),_0x2c7b45[_0x118572(0x252)]['before'](_0x2c7b45[_0x118572(0x2db)]),_0x2c7b45['$selectTrigger']=$('<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>')[_0x118572(0x2d7)](_0x2c7b45[_0x118572(0x2db)]),$(_0x118572(0x2a8))[_0x118572(0x234)](!![])[_0x118572(0x1d0)](_0x2c7b45[_0x118572(0x1c0)]),_0x2c7b45['$selectTrigger']['on'](_0x118572(0x303),function(_0x484be4){const _0x5e12f2=_0x118572;_0x484be4[_0x5e12f2(0x28d)](),_0x484be4[_0x5e12f2(0x1bf)](),_0x2c7b45[_0x5e12f2(0x2cc)]();}),_0x2c7b45[_0x118572(0x1c0)]['on'](_0x118572(0x2fd),function(_0xb1a04){const _0x49e72c=_0x118572;_0xb1a04[_0x49e72c(0x1fe)]===0x28&&_0x2c7b45[_0x49e72c(0x2cc)](),_0xb1a04[_0x49e72c(0x1bf)]();})['on'](_0x118572(0x2d1),function(){const _0x5756f9=_0x118572;_0x2c7b45[_0x5756f9(0x2db)][_0x5756f9(0x1d4)]('red-ui-typedInput-focus');})['on']('blur',function(){const _0x389902=_0x118572;_0x2c7b45['$uiSelect'][_0x389902(0x1d5)](_0x389902(0x1ed));}),_0x2c7b45[_0x118572(0x1f6)]=$(_0x118572(0x1dd))[_0x118572(0x1d0)](_0x2c7b45[_0x118572(0x1c0)]);}this[_0x118572(0x2c7)]();!_0x2c7b45[_0x118572(0x252)][_0x118572(0x2ad)](_0x118572(0x2cb))&&_0x2c7b45[_0x118572(0x252)]['attr'](_0x118572(0x2cb),_0x118572(0x1bd));_0x2c7b45['$info']=$(_0x118572(0x2e9)),_0x2c7b45[_0x118572(0x265)][_0x118572(0x29e)](),_0x2c7b45[_0x118572(0x22f)][_0x118572(0x28b)](_0x2c7b45[_0x118572(0x265)]),_0x2c7b45[_0x118572(0x22c)]=$(_0x118572(0x1ea))[_0x118572(0x1d4)](_0x118572(0x253))[_0x118572(0x29e)]()[_0x118572(0x1d0)](_0x2c7b45['$combo']),_0x2c7b45['$tree']=$(_0x118572(0x1db))['appendTo'](_0x2c7b45[_0x118572(0x22c)]),this[_0x118572(0x1d3)]();const _0x40c7fe=(_0x301b52,_0x42e6f5)=>{const _0x4d7a6a=_0x118572,_0x3d02f8=0x14,_0x46aa54=0x14,_0x379343=_0x301b52[_0x4d7a6a(0x2d0)](),_0x4c728b=_0x42e6f5;if(_0x4c728b[_0x4d7a6a(0x258)]>=_0x379343[_0x4d7a6a(0x309)]&&_0x4c728b[_0x4d7a6a(0x258)]<=_0x379343['left']+_0x3d02f8&&_0x4c728b[_0x4d7a6a(0x23a)]>=_0x379343[_0x4d7a6a(0x2a3)]&&_0x4c728b[_0x4d7a6a(0x23a)]<=_0x379343[_0x4d7a6a(0x2a3)]+_0x46aa54)return!![];return![];},_0x16f9f9=_0x137bd9=>_0x5c2ade(this,void 0x0,void 0x0,function*(){const _0x1189f1=_0x118572;if(_0x137bd9[_0x1189f1(0x1ef)](_0x1189f1(0x221)))_0x41e9c2(_0x2c7b45,_0x137bd9);else{if(_0x137bd9['hasClass']('expanded'))_0x137bd9[_0x1189f1(0x296)]('ul')['toggle'](),_0x137bd9[_0x1189f1(0x254)](_0x1189f1(0x28c));else{if(_0x137bd9[_0x1189f1(0x296)]('ul')['children']()[_0x1189f1(0x308)]>0x0)_0x137bd9['children']('ul')[_0x1189f1(0x234)](),_0x137bd9[_0x1189f1(0x254)](_0x1189f1(0x28c));else;}}});_0x2c7b45[_0x118572(0x2e8)]['on'](_0x118572(0x2fb),'li',function(_0x1f730a){const _0x132adb=_0x118572;var _0x130c73,_0x596ff9;_0x1f730a['stopPropagation']();let _0x43b03b=$(this);if(_0x40c7fe(_0x43b03b,_0x1f730a))_0x16f9f9(_0x43b03b);else{const _0x2eeee4=_0x43b03b[_0x132adb(0x218)](_0x132adb(0x275)),_0x2161e0=_0x43b03b[_0x132adb(0x218)](_0x132adb(0x2b6));if(_0x2c7b45['options']['isSelectable']&&!_0x2c7b45['options'][_0x132adb(0x264)](_0x2161e0))return;_0x2c7b45[_0x132adb(0x252)]['data'](_0x132adb(0x2b6),_0x2161e0),((_0x130c73=_0x2161e0[_0x132adb(0x2c6)])===null||_0x130c73===void 0x0?void 0x0:_0x130c73[_0x132adb(0x298)])||((_0x596ff9=_0x2161e0[_0x132adb(0x29d)])===null||_0x596ff9===void 0x0?void 0x0:_0x596ff9['name'])||_0x2161e0[_0x132adb(0x307)][_0x132adb(0x2a1)]();let _0x39bbe4=_0x2c7b45[_0x132adb(0x1e5)]();!_0x39bbe4&&(_0x39bbe4=_0x132adb(0x307),_0x2c7b45[_0x132adb(0x2f9)](_0x39bbe4)),_0x2b6442(_0x2eeee4)[_0x132adb(0x276)](()=>{const _0x333f34=_0x132adb;_0x2c7b45[_0x333f34(0x22c)][_0x333f34(0x29e)]();})['catch'](_0x5d87c2=>{const _0x3b8bda=_0x132adb;_0x2c7b45[_0x3b8bda(0x22c)][_0x3b8bda(0x29e)]();});}}),_0x2c7b45['$tree']['on']('click','li',function(_0x3cc6a5){const _0x1ebcb7=_0x118572;_0x3cc6a5[_0x1ebcb7(0x1bf)]();let _0x261386=$(this);_0x40c7fe(_0x261386,_0x3cc6a5)&&_0x16f9f9(_0x261386),_0x2ad3ed(_0x2c7b45,_0x261386);}),$(document)['on'](_0x118572(0x303),function(_0x44d9c4){const _0x66f7a3=_0x118572;!$(_0x44d9c4[_0x66f7a3(0x2a6)])[_0x66f7a3(0x299)](_0x2c7b45[_0x66f7a3(0x22f)])['length']&&_0x2c7b45[_0x66f7a3(0x22c)][_0x66f7a3(0x29e)]();});}});},_0x462011=_0x2dec81=>{const _0x3081d7=_0x528a1a;var _0x4c7515,_0x316d66,_0x1c5d83;if(!_0x2dec81){const _0x317aae=$(_0x3081d7(0x25c));return _0x317aae;}const _0x5b2a9c=_0x2dec81[_0x3081d7(0x307)][_0x3081d7(0x2a1)]();let _0x6bf049=((_0x4c7515=_0x2dec81[_0x3081d7(0x2c6)])===null||_0x4c7515===void 0x0?void 0x0:_0x4c7515['text'])||((_0x316d66=_0x2dec81[_0x3081d7(0x29d)])===null||_0x316d66===void 0x0?void 0x0:_0x316d66['name'])||_0x2dec81['nodeId'][_0x3081d7(0x2a1)](),_0x3422a7=(_0x1c5d83=_0x2dec81[_0x3081d7(0x29d)])===null||_0x1c5d83===void 0x0?void 0x0:_0x1c5d83[_0x3081d7(0x1f7)];_0x6bf049+=_0x3422a7!==undefined&&_0x2dec81[_0x3081d7(0x260)][_0x3081d7(0x232)](/Type/)?_0x3081d7(0x274)+_0x3422a7+')':'';const {icon:_0x8d8662,color:_0x4dd719}=_0x536659(_0x2dec81),_0x3de0d9=$(_0x3081d7(0x1bb));if(_0x2dec81['nodeClass']===_0x3081d7(0x243)){const _0x3e7ad3=$(_0x3081d7(0x2b8));_0x3de0d9[_0x3081d7(0x28b)](_0x3e7ad3),_0x3e7ad3['on'](_0x3081d7(0x303),function(){const _0x52ec8e=_0x3081d7;_0x3e7ad3[_0x52ec8e(0x1ef)](_0x52ec8e(0x2b7))?_0x3e7ad3['removeClass']('unchecked')[_0x52ec8e(0x1d4)](_0x52ec8e(0x1d9)):_0x3e7ad3['removeClass'](_0x52ec8e(0x1d9))[_0x52ec8e(0x1d4)]('unchecked');});}return _0x3de0d9[_0x3081d7(0x28b)]($(_0x3081d7(0x2cd)+_0x8d8662+_0x3081d7(0x242)+_0x4dd719+_0x3081d7(0x2f2)+_0x6bf049+'<ul></ul>')),_0x3de0d9[_0x3081d7(0x1d4)](_0x3081d7(0x221)),_0x3de0d9[_0x3081d7(0x218)](_0x3081d7(0x275),_0x5b2a9c),_0x3de0d9[_0x3081d7(0x218)](_0x3081d7(0x2b6),_0x2dec81),_0x3de0d9;},_0x3430c3=()=>{const _0x15d6a4=_0x528a1a;$['widget'](_0x15d6a4(0x2a4),{'options':{'endpointNode':()=>({'endpoint':'opc.tcp://opcuademo.sterfive.com:26543'}),'endpoint':()=>undefined,'baseUrl':''},'_populate'(){return _0x5c2ade(this,void 0x0,void 0x0,function*(){const _0x20a0c7=_0x16dc;var _0x36a041;const _0x3385b5=this,_0x98bae9=new Set(((_0x36a041=_0x3385b5[_0x20a0c7(0x252)][_0x20a0c7(0x2f5)]())===null||_0x36a041===void 0x0?void 0x0:_0x36a041[_0x20a0c7(0x2a1)]()[_0x20a0c7(0x2ed)](';'))||[]),_0x59e309=_0x5cd5d6(_0x3385b5),_0x51d4fa=yield _0x67e48(_0x59e309);this['_installTree'](_0x51d4fa,_0x98bae9);});},'_installTree'(_0x589d8e,_0x38f411){const _0x590ac5=_0x15d6a4,_0x4a65d1=this;_0x4a65d1[_0x590ac5(0x2e8)][_0x590ac5(0x2df)]();if(!_0x589d8e[_0x590ac5(0x2c4)])return;const _0x299dd8=_0x589d8e['events'],_0x13ae73=_0x462011(_0x299dd8);_0x4a65d1[_0x590ac5(0x2e8)][_0x590ac5(0x28b)](_0x13ae73);const _0x6de02a='';this[_0x590ac5(0x2c2)](_0x13ae73[_0x590ac5(0x296)]('ul'),_0x299dd8,_0x6de02a,_0x38f411),_0x13ae73[_0x590ac5(0x1d5)](_0x590ac5(0x221))[_0x590ac5(0x1d4)](_0x590ac5(0x22d)),this[_0x590ac5(0x2a2)](_0x38f411);},'_installChildren'(_0x5e40ec,_0x17d744,_0x5eda85,_0x5c8b64){const _0x45c49c=_0x15d6a4,_0x234ec6=({name:_0x246cff,namespaceIndex:_0x3739af})=>{if(_0x3739af===0x0)return _0x246cff;return _0x3739af+':'+_0x246cff;},_0x259c2b=_0x17d744[_0x45c49c(0x296)]||[],_0x4b4e43=_0x17d744[_0x45c49c(0x259)]||[],_0x434073=[..._0x259c2b,..._0x4b4e43];for(const _0x51f623 of _0x434073){const _0x3330b5=_0x462011(_0x51f623);_0x5e40ec['append'](_0x3330b5);let _0x1d1f50='';_0x51f623[_0x45c49c(0x260)]===_0x45c49c(0x243)&&(_0x5eda85?_0x1d1f50=_0x5eda85+'.'+_0x234ec6(_0x51f623['browseName']):_0x1d1f50=_0x234ec6(_0x51f623['browseName']),_0x3330b5['attr'](_0x45c49c(0x2eb),_0x1d1f50));const _0x16a19a=_0x51f623['children']&&_0x51f623[_0x45c49c(0x296)][_0x45c49c(0x308)],_0x50a97f=_0x51f623[_0x45c49c(0x259)]&&_0x51f623[_0x45c49c(0x259)][_0x45c49c(0x308)];!_0x16a19a&&!_0x50a97f?_0x3330b5[_0x45c49c(0x1d5)](_0x45c49c(0x221))[_0x45c49c(0x1d4)](_0x45c49c(0x219)):(this[_0x45c49c(0x2c2)](_0x3330b5[_0x45c49c(0x296)]('ul'),_0x51f623,_0x1d1f50,_0x5c8b64),_0x3330b5[_0x45c49c(0x1d5)](_0x45c49c(0x221))['addClass']('expanded'));}},'_updateSelectedFields'(){const _0x2a71b5=_0x15d6a4;var _0x34391e;const _0x415a0f=this,_0xd007d=new Set(((_0x34391e=_0x415a0f[_0x2a71b5(0x252)]['val']())===null||_0x34391e===void 0x0?void 0x0:_0x34391e['toString']()[_0x2a71b5(0x2ed)](';'))||[]);this['_updateValues'](_0xd007d);},'_updateValues'(_0x529766){const _0x432fb5=_0x15d6a4;$(_0x432fb5(0x22e))[_0x432fb5(0x2f8)](function(){const _0x23e908=_0x432fb5,_0x4b28f4=$(this),_0x1e15b7=_0x4b28f4[_0x23e908(0x2ad)](_0x23e908(0x2eb));_0x1e15b7&&_0x529766[_0x23e908(0x224)](_0x1e15b7)&&_0x4b28f4['children'](_0x23e908(0x2ab))[_0x23e908(0x1d5)]('unchecked')[_0x23e908(0x1d4)]('checked');});},'_setInputValue'(){const _0x14a3dd=_0x15d6a4,_0x1770b3=this,_0xf913ad=[];$('.sterfive-tree\x20li')['each'](function(){const _0x77d064=_0x16dc,_0xb8c98c=$(this);if(_0xb8c98c['children'](_0x77d064(0x237))[_0x77d064(0x308)]>0x0){const _0xfbb8e6=_0xb8c98c[_0x77d064(0x2ad)]('data-value');if(_0xfbb8e6)_0xf913ad[_0x77d064(0x1df)](_0xfbb8e6);}});const _0x4e0d38=[...new Set(_0xf913ad)][_0x14a3dd(0x1c3)]()[_0x14a3dd(0x24f)](';');_0x1770b3[_0x14a3dd(0x252)][_0x14a3dd(0x2f5)](_0x4e0d38),_0x1770b3[_0x14a3dd(0x252)][_0x14a3dd(0x27e)](_0x14a3dd(0x2e4));},'_create'(){const _0x514b48=_0x15d6a4,_0x273ec6=this;_0x273ec6[_0x514b48(0x252)]=this[_0x514b48(0x245)],_0x273ec6['$combo']=$(_0x514b48(0x1ea)),_0x273ec6[_0x514b48(0x22f)]['addClass'](_0x514b48(0x23b)),this[_0x514b48(0x245)][0x0][_0x514b48(0x25e)][_0x514b48(0x263)](_0x273ec6[_0x514b48(0x22f)][0x0],this[_0x514b48(0x245)][0x0]),_0x273ec6[_0x514b48(0x21b)]=$(_0x514b48(0x1ea))[_0x514b48(0x1d4)](_0x514b48(0x286)),_0x273ec6[_0x514b48(0x22f)]['append'](_0x273ec6[_0x514b48(0x21b)]),_0x273ec6[_0x514b48(0x21b)][_0x514b48(0x28b)](_0x273ec6[_0x514b48(0x252)]),_0x273ec6['$toggleTreeBtn']=$(_0x514b48(0x24b)),_0x273ec6[_0x514b48(0x21b)]['append'](_0x273ec6[_0x514b48(0x28e)]),_0x273ec6[_0x514b48(0x28e)]['on'](_0x514b48(0x303),function(){const _0x17a70c=_0x514b48;_0x273ec6[_0x17a70c(0x22c)][_0x17a70c(0x234)](),_0x273ec6[_0x17a70c(0x265)]['toggle']();if(_0x273ec6[_0x17a70c(0x22c)]['is'](':visible')){_0x55a3c4[_0x17a70c(0x288)]();const _0xc3f61a=_0x273ec6['$dropdown'][_0x17a70c(0x2d0)]();_0x55a3c4[_0x17a70c(0x212)]({'top':_0xc3f61a['top']+'px','right':'calc(100%\x20-\x20'+(_0xc3f61a[_0x17a70c(0x309)]+_0x273ec6[_0x17a70c(0x22c)][_0x17a70c(0x25d)]())+_0x17a70c(0x2e1)}),_0x273ec6['_populate'](),_0x273ec6[_0x17a70c(0x26b)]();}else _0x55a3c4[_0x17a70c(0x29e)]();});!_0x273ec6['$input'][_0x514b48(0x2ad)](_0x514b48(0x2cb))&&_0x273ec6[_0x514b48(0x252)][_0x514b48(0x2ad)](_0x514b48(0x2cb),_0x514b48(0x1bd));_0x273ec6[_0x514b48(0x265)]=$(_0x514b48(0x2e9)),_0x273ec6[_0x514b48(0x265)][_0x514b48(0x29e)](),_0x273ec6[_0x514b48(0x22c)]=$(_0x514b48(0x1ea))[_0x514b48(0x1d4)](_0x514b48(0x253))[_0x514b48(0x29e)]();const _0x39a190=$(_0x514b48(0x29a)),_0x5cef93=$(_0x514b48(0x285)),_0x55a3c4=$(_0x514b48(0x25b))['append'](_0x39a190,_0x5cef93);_0x55a3c4[_0x514b48(0x29e)](),_0x39a190['on'](_0x514b48(0x303),()=>{const _0x3a70d3=_0x514b48;_0x273ec6['_setInputValue'](),_0x273ec6[_0x3a70d3(0x22c)][_0x3a70d3(0x29e)]();}),_0x5cef93['on'](_0x514b48(0x303),()=>{const _0x2eae1c=_0x514b48;_0x273ec6[_0x2eae1c(0x22c)][_0x2eae1c(0x29e)]();}),_0x273ec6[_0x514b48(0x22f)][_0x514b48(0x28b)](_0x273ec6[_0x514b48(0x265)]),_0x273ec6['$combo'][_0x514b48(0x28b)](_0x273ec6[_0x514b48(0x22c)]),_0x273ec6[_0x514b48(0x2e8)]=$('<ul\x20class=\x22sterfive-tree\x22></ul>'),_0x273ec6[_0x514b48(0x22c)][_0x514b48(0x2df)]()['append'](_0x273ec6[_0x514b48(0x2e8)],_0x55a3c4),_0x273ec6[_0x514b48(0x2e8)]['on'](_0x514b48(0x303),'li',function(_0x188f9b){const _0x3b4623=_0x514b48;_0x188f9b[_0x3b4623(0x1bf)]();let _0x2fee2f=$(this);const _0xcb5d92=0x14,_0x22d2e6=0x14,_0x565187=$(this)[_0x3b4623(0x2d0)](),_0x3050c1=_0x188f9b;if(_0x3050c1[_0x3b4623(0x258)]>=_0x565187['left']&&_0x3050c1['pageX']<=_0x565187[_0x3b4623(0x309)]+_0xcb5d92&&_0x3050c1['pageY']>=_0x565187[_0x3b4623(0x2a3)]&&_0x3050c1[_0x3b4623(0x23a)]<=_0x565187['top']+_0x22d2e6){console['log']('clicked\x20on\x20icon'),console[_0x3b4623(0x1ce)](_0x3b4623(0x239),_0x2fee2f['data'](_0x3b4623(0x275)),_0x2fee2f[_0x3b4623(0x2ad)](_0x3b4623(0x1e2)));if(_0x2fee2f[_0x3b4623(0x1ef)](_0x3b4623(0x221)))_0x2fee2f[_0x3b4623(0x1d5)](_0x3b4623(0x221))[_0x3b4623(0x1d4)]('expanded'),_0x2fee2f[_0x3b4623(0x296)]('ul')[_0x3b4623(0x234)]();else{if(_0x2fee2f[_0x3b4623(0x1ef)](_0x3b4623(0x22d)))_0x2fee2f[_0x3b4623(0x296)]('ul')[_0x3b4623(0x234)](),_0x2fee2f[_0x3b4623(0x254)](_0x3b4623(0x28c));else{if(_0x2fee2f[_0x3b4623(0x296)]('ul')[_0x3b4623(0x296)]()['length']>0x0)_0x2fee2f[_0x3b4623(0x296)]('ul')[_0x3b4623(0x234)](),_0x2fee2f[_0x3b4623(0x254)](_0x3b4623(0x28c));else;}}}}),$(document)['on'](_0x514b48(0x303),function(_0x1fe308){const _0x51182b=_0x514b48;!$(_0x1fe308['target'])['closest'](_0x273ec6[_0x51182b(0x22f)])[_0x51182b(0x308)]&&_0x273ec6[_0x51182b(0x22c)][_0x51182b(0x29e)]();}),this[_0x514b48(0x20d)]();}});},_0x67e48=_0x3c5be6=>_0x5c2ade(void 0x0,[_0x3c5be6],void 0x0,function*({endpointNode:_0x36fcc7,endpoint:_0x13006f,baseUrl:_0x52ba40}){const _0x39346d=_0x528a1a,_0xe68c30=_0x52ba40+'/opcua-for-node-red',_0xa1cc5d=_0xe68c30+_0x39346d(0x2c3),_0x455583=yield fetch(_0xa1cc5d,{'method':_0x39346d(0x1e6),'body':JSON[_0x39346d(0x22a)]({'endpointNode':_0x36fcc7,'endpoint':_0x13006f}),'headers':{'Content-Type':_0x39346d(0x1f1)}});if(_0x455583[_0x39346d(0x1f2)]!==0xc8)return console['log'](_0x39346d(0x1be),_0x455583[_0x39346d(0x1f2)],_0x455583[_0x39346d(0x2b2)]),{'events':null};console[_0x39346d(0x1ce)](_0x39346d(0x2b4),_0x455583[_0x39346d(0x1f2)],_0x455583[_0x39346d(0x2b2)]);const _0x594691=yield _0x455583[_0x39346d(0x1fa)](),_0x29d972=_0x594691[_0x39346d(0x2c4)];return{'events':_0x29d972};}),_0x3516a6=()=>{const _0x2a6990=_0x528a1a,_0x3c2e9f=$(_0x2a6990(0x1e8)),_0x1f380e=_0x3c2e9f[_0x2a6990(0x2f5)](),_0x6b6cf9=RED[_0x2a6990(0x290)][_0x2a6990(0x1f4)](_0x1f380e);if(!_0x6b6cf9)return undefined;const {endpoint:_0x399fe5,securityMode:_0x5d4f42,securityPolicy:_0x555d0b,userIdentityType:_0x1c0856,credentials:_0x8d0646,namespaceAliases:_0x358e97}=_0x6b6cf9,_0x24c327={'endpoint':_0x399fe5,'securityMode':_0x5d4f42,'securityPolicy':_0x555d0b,'userIdentityType':_0x1c0856,'credentials':_0x8d0646,'namespaceAliases':_0x358e97};return _0x24c327;},_0x15feff=()=>{const _0x19ad9a=_0x528a1a,_0x419ab3=$(_0x19ad9a(0x1e8)),_0x3167c4=_0x419ab3[_0x19ad9a(0x2f5)](),_0x19cbc5=_0x3516a6();if(!_0x19cbc5)return undefined;const _0x472c94=_0x19cbc5['namespaceAliases'];return Object[_0x19ad9a(0x257)]({'namespaceAliases':_0x472c94,'id':_0x3167c4},_0x19cbc5);},_0x239ee9=()=>{return{'endpointNode':_0x15feff};},_0xe92e74=()=>{const _0x6fa4=_0x528a1a,_0x52a91e=$('.red-ui-tray-body');if(_0x52a91e[_0x6fa4(0x308)]){const _0x1cd5d7=$('<iframe></iframe>',{'src':_0x6fa4(0x2f3),'scrolling':'no','style':_0x6fa4(0x2ce),'allowtransparency':_0x6fa4(0x1c2),'width':_0x6fa4(0x28f),'height':_0x6fa4(0x209)});_0x52a91e[_0x6fa4(0x28b)](_0x1cd5d7),_0x1cd5d7[_0x6fa4(0x212)]({'position':_0x6fa4(0x2ca),'right':_0x6fa4(0x23d),'bottom':_0x6fa4(0x251)});}};RED[_0x528a1a(0x290)]['registerType']('OpcUa-Client2-MonitorEvent',{'category':_0x528a1a(0x292),'color':_0x528a1a(0x24a),'align':_0x528a1a(0x293),'icon':'opcualogobig.png','paletteLabel':'monitor\x20events','defaults':{'inputs':{'value':0x1},'output':{'value':0x4},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':_0x528a1a(0x2f0)},'subscription':{'value':'','required':!![],'validate':_0x320995=>{if(_0x320995==='')return![];return!![];}},'startImmediately':{'value':!![],'required':!![]},'nodeId':{'value':'','required':![],'validate':()=>!![]},'samplingInterval':{'value':0x3e8,'required':!![]},'discardOldest':{'value':!![],'required':!![]},'queueSize':{'value':0xa,'required':!![]},'selectClauses':{'value':'','required':!![]},'whereClause':{'value':'','required':![]}},'outputs':0x2,'label'(){const _0x4559b6=_0x528a1a;return this[_0x4559b6(0x24d)]||_0x4559b6(0x261);},'labelStyle'(){const _0xdca0f3=_0x528a1a;return this[_0xdca0f3(0x24d)]?'node_label_italic':'';},'oneditprepare'(){const _0x179633=_0x528a1a;_0xe3ea40(),_0x3430c3(),_0xd26ea3(RED,this),_0xe92e74(),$(_0x179633(0x233))['on'](_0x179633(0x2e4),()=>{const _0x5e5a22=_0x179633,_0x2a6644=$(_0x5e5a22(0x213))['prop'](_0x5e5a22(0x1d9));_0x2a6644?$(_0x5e5a22(0x272))[_0x5e5a22(0x2f5)](0x0):$('#node-input-inputs')[_0x5e5a22(0x2f5)](0x1);});const _0x4e8aaa=$(_0x179633(0x217));_0x4e8aaa['nodeBrowser'](Object['assign'](Object[_0x179633(0x257)]({},_0x239ee9()),{'filter'(_0x5ab2e0){const _0x379107=_0x179633;return _0x5ab2e0[_0x379107(0x260)]===_0x379107(0x301);},'isSelectable'(_0x53856b){const _0x265d84=_0x179633;return _0x53856b['nodeClass']===_0x265d84(0x301);}})),$(_0x179633(0x2de));const _0x451412=$(_0x179633(0x214));_0x451412['eventFieldSelector'](Object[_0x179633(0x257)]({},_0x239ee9()));},'oneditsave'(){const _0x2dcb66=_0x528a1a,_0x3adc23=$(_0x2dcb66(0x213))[_0x2dcb66(0x2d8)](_0x2dcb66(0x1d9));_0x3adc23?($(_0x2dcb66(0x213))[_0x2dcb66(0x2f5)](_0x3adc23?0x0:0x1),this[_0x2dcb66(0x207)]=_0x3adc23?0x0:0x1):($(_0x2dcb66(0x213))[_0x2dcb66(0x2f5)](0x1),this[_0x2dcb66(0x207)]=0x1);}});}()));function _0x42d7(){const _0x329fb9=['> \x20','aliasedBrowsePath','_delay','_populate','\x22}><span\x20class=\x22tree-text\x22\x20title=','typeDefinition','271998jPGGAy','mousedown.red-ui-typedInput-focus-block','css','#node-input-startImmediately','#node-input-selectClauses','</span>','Forward','#node-input-nodeId','data','no-expandable','red-ui-typedInput-icon\x20','$inputGroup','elements','scrollTop','verify','off','fa-sliders','expandable','Inverse','nsu','has','filter','mousedown.red-ui-typedInput-close-property-select','err','resolveParentNode','View','stringify','HasSubtype','$dropdown','expanded','.sterfive-tree\x20li','$combo','nodeId:\x20','<span\x20title=','match','node-input-startImmediately','toggle','<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>','DataType','span.custom-checkbox.checked','already\x20loading','clicked\x20on\x20','pageY','sterfive-combo-box','already\x20fetched','20px','msg.','SandyBrown','<i\x20class=\x22fa\x20fa-tag\x22/>1\x20 \x20','HasComponent','\x22\x20style=\x22color:','Variable','NodeId\x20with\x20namespace\x20Urn','element','main-wrapper','browse\x20path:\x20','.spinner',':first','#C0DEED','<button><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>','_createMenu','name','fetched','join','input[type=\x22checkbox\x22]','16px','$input','sterfive-dropdown','toggleClass','nodeId_aliased','fa-object-group','assign','pageX','subTypes','<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>','<div\x20class=\x22floating-buttons\x22></div>','<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>','width','parentElement','selectedMenuItem','nodeClass','OPCUA\x20Monitor','bp_indexed','replaceChild','isSelectable','$info','endpoint','subscription','><i\x20class=\x22fa\x20','ns=0;i=35','body','_updateSelectedFields','NodeClass','multiple','tabindex','browseResult','fa-question','rgba(61,\x2060,\x204,\x200.525)','#node-input-inputs','nsuNodeID','\x20(ns=','value','then','_hideMenu','aliasedNodeId','grey','suppressed','next','__parentNode','fa-cog','trigger','opts','opc.tcp://opcuademo.sterfive.com:26543','isTypeRef','/browse','title','CadetBlue','<span\x20class=\x22cancel-button\x22>✖</span>','input-group','12858IMOtju','show','statusCode:\x20','sterfive-input-error','append','expandable\x20expanded','preventDefault','$toggleTreeBtn','180px','nodes','12yBQUxN','opcua','right',');\x20-webkit-mask-image:\x20url(','18px','children','<i>','text','closest','<span\x20class=\x22validate-button\x22>✔</span>','none','remove','browseName','hide','statusCode','fa-list-alt','toString','_updateValues','top','sterfive.eventFieldSelector','options','target','Objects','<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>','ns=0;i=46','Both','span.custom-checkbox','height','attr','position','ReferenceType','ns=0;i=61','requestedNodeId','statusText','pointer-events','fetched\x20:\x20','ObjectType','reference','unchecked','<span\x20class=\x22custom-checkbox\x20unchecked\x22></span>','$elementDiv','widget','HasChild','/opcua-for-node-red','Method','_showMenu','<option/>','find',':visible','_installChildren','/extractEventTypes','events','sterfive-typedInput-options\x20sterfive-online-menu','displayName','_initMenu','msg','message','absolute','placeholder','_showTypeMenu','<i\x20class=\x22fa\x20','background-color:transparent;overflow:hidden;border:3px','referenceTypeId','offset','focus','SeaGreen',';\x22></i>\x20','aliased\x20NodeId:\x20','Aliased\x20NodeId','sterfive.nodeBrowser','prependTo','prop','$menu','Good','$uiSelect','<i\x20class=\x22fa\x20fa-bookmark\x22/> \x20','/walk-backward','#node-input-whereClause','empty','BrowsePath','px)','4261408DfwRhn','call','change','7732566ApxzPR','disarmClick','string','$tree','<div\x20class=\x22sterfive-info-text\x22></div>','nodeId_nsu','data-value','$verifyBtn','split','Organizes','replaceWith','OpcUa-Endpoint2','slideDown',';\x22></i>','/opcua-for-node-red/support-frame.html','loading','val','IsForward','apply','each','setMode','SuppressedError','dblclick','BrowseName','keydown','currentParent','Unspecified','localeCompare','Object','bp_aliased','click','function','label','Invalid','nodeId','length','left','Value\x20is\x20not\x20verified','<li>','selected','enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20','fetching\x20failed\x20with\x20error','stopPropagation','$selectTrigger','auto','true','sort','relativePath','<i\x20class=\x22fa\x20fa-id-card\x22/> \x20','node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','li[key=\x22','mousedown','<i\x20class=\x22fa\x20fa-font\x22/i>\x20','aliased\x20browsePath:\x20','ns=0;i=40','browsePath','<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> ','log','HasTypeDefinition','appendTo','6ghSTKO','NodeId','reset','addClass','removeClass','SteelBlue','VariableType','Aliased\x20Browse\x20Path','checked','</li>','<ul\x20class=\x22sterfive-tree\x22></ul>','subscriptions','<span\x20class=\x22red-ui-typedInput-type-label\x22></span>','callback','push','throw','parentNode','class','<div>','fa-folder','mode','POST','sterfive-info','#node-input-endpoint','namespaceAliases','<div/>','7222720wnVZGp','4130ynhtDg','red-ui-typedInput-focus','indexOf','hasClass','failure','application/json','status','sterfive-input-group','node','[value=\x27','$selectLabel','namespaceIndex','endpointNode','icon','json','fa-text-width','113799TkOnPp','prev','keyCode','ns=0;i=47','error','after',':focus','DisplayName','DodgerBlue','.tree-text:first','references','inputs','3305665pbDtrQ','30px'];_0x42d7=function(){return _0x329fb9;};return _0x42d7();}
|
9
8
|
</script>
|
10
9
|
<script type="text/x-red" data-template-name="OpcUa-Client2-MonitorEvent">
|
11
10
|
<style>
|