Built motion from commit 2238b68.|1.0.18
[motion.git] / server / config / automations / fax.js
index 499567e..a602cd9 100644 (file)
@@ -1 +1 @@
-var _0xa4c0=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x6D\x6F\x6D\x65\x6E\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x46\x61\x78\x52\x6F\x6F\x6D","\x53\x65\x74\x74\x69\x6E\x67\x73","\x45\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x4D\x61\x69\x6C\x20\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x20","\x6C\x6F\x67","\x46\x61\x78\x20\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x20\x65\x78\x65\x63\x20\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x69\x64","\x64\x61\x74\x61\x31","\x73\x74\x61\x74\x75\x73","\x61\x63\x74\x69\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x41\x63\x74\x69\x6F\x6E\x73","\x74\x68\x65\x6E","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x70\x75\x73\x68","\x24\x61\x6E\x64","\x77\x68\x65\x72\x65","\x41\x6C\x6C","\x24\x6F\x72","\x41\x6E\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x6C\x6C","\x73\x63\x6F\x70\x65","\x41\x75\x74\x6F\x6D\x61\x74\x69\x63\x20\x6D\x61\x69\x6C\x20\x73\x74\x61\x74\x75\x73\x20\x65\x72\x72\x6F\x72","\x75\x70\x64\x61\x74\x65","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x65\x71\x75\x61\x6C\x73","\x6E\x6F\x74\x5F\x65\x71\x75\x61\x6C\x73","\x6F\x70\x65\x72\x61\x74\x6F\x72","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x68\x6F\x75\x72\x73","\x73\x75\x62\x74\x72\x61\x63\x74","\x67\x72\x65\x61\x74\x65\x72","\x67\x72\x65\x61\x74\x65\x72\x5F\x6F\x72\x5F\x65\x71\x75\x61\x6C","\x6C\x65\x73\x73","\x6C\x65\x73\x73\x5F\x6F\x72\x5F\x65\x71\x75\x61\x6C","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x46\x61\x78\x20\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x20","\x20\x73\x65\x74\x20\x77\x69\x74\x68\x20\x74\x69\x6D\x65\x6F\x75\x74\x20","\x74\x69\x6D\x65\x6F\x75\x74","\x69\x6E\x74\x65\x72\x76\x61\x6C","\x65\x78\x70\x6F\x72\x74\x73","\x20\x63\x72\x65\x61\x74\x65\x64\x2C\x20\x74\x68\x65\x20\x73\x74\x61\x74\x75\x73\x20\x69\x73\x20","\x63\x68\x61\x6E\x6E\x65\x6C","\x66\x61\x78","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x20\x75\x70\x64\x61\x74\x65\x64\x2C\x20\x74\x68\x65\x20\x73\x74\x61\x74\x75\x73\x20\x69\x73\x20","\x46\x61\x78\x20\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x20\x75\x6E\x73\x65\x74\x20","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x20\x64\x65\x6C\x65\x74\x65\x64","\x61\x66\x74\x65\x72\x44\x65\x6C\x65\x74\x65","\x46\x61\x78\x20\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x20\x69\x6E\x69\x74\x20\x65\x72\x72\x6F\x72"];_0xa4c0[0];var _=require(_0xa4c0[1]);var config=require(_0xa4c0[2]);var moment=require(_0xa4c0[3]);var sequelize=require(_0xa4c0[5])[_0xa4c0[4]];var Automation=require(_0xa4c0[5])[_0xa4c0[6]];var FaxRoom=require(_0xa4c0[5])[_0xa4c0[7]];var Settings=require(_0xa4c0[5])[_0xa4c0[8]];var automationTimeout;var activeFaxAutomations={};function executeAutomation(_0x68efxb){console[_0xa4c0[10]](_0xa4c0[9],_0x68efxb);var _0x68efxc;return Automation[_0xa4c0[30]](_0xa4c0[29])[_0xa4c0[28]](_0x68efxb)[_0xa4c0[19]](function(_0x68efx11){_0x68efxc=_0x68efx11;var _0x68efx12={where:{$and:[],$or:[]}};_0x68efx11[_0xa4c0[24]][_0xa4c0[17]](function(_0x68efx13){_0x68efx12[_0xa4c0[23]][_0xa4c0[22]][_0xa4c0[21]](getCondition(_0x68efx13[_0xa4c0[20]]))});_0x68efx11[_0xa4c0[26]][_0xa4c0[17]](function(_0x68efx13){_0x68efx12[_0xa4c0[23]][_0xa4c0[25]][_0xa4c0[21]](getCondition(_0x68efx13[_0xa4c0[20]]))});return FaxRoom[_0xa4c0[27]](_0x68efx12)})[_0xa4c0[19]](function(_0x68efxe){_0x68efxe[_0xa4c0[17]](function(_0x68efxf){_0x68efxc[_0xa4c0[18]][_0xa4c0[17]](function(_0x68efx10){switch(_0x68efx10[_0xa4c0[16]]){case _0xa4c0[15]:setStatus(_0x68efxf[_0xa4c0[13]],_0x68efx10[_0xa4c0[14]]);break;default:}})})})[_0xa4c0[12]](function(_0x68efxd){console[_0xa4c0[10]](_0xa4c0[11],_0x68efxd)})}function setStatus(_0x68efx15,_0x68efx16){return FaxRoom[_0xa4c0[32]]({status:_0x68efx16},{where:{id:_0x68efx15}})[_0xa4c0[12]](function(_0x68efxd){console[_0xa4c0[10]](_0xa4c0[31],_0x68efxd)})}function getCondition(_0x68efx13){var _0x68efx18={};switch(_0x68efx13[_0xa4c0[33]]){case _0xa4c0[15]:switch(_0x68efx13[_0xa4c0[37]]){case _0xa4c0[35]:_0x68efx18[_0x68efx13[_0xa4c0[33]]]=_0x68efx13[_0xa4c0[34]];break;case _0xa4c0[36]:_0x68efx18[_0x68efx13[_0xa4c0[33]]]={$ne:_0x68efx13[_0xa4c0[34]]};break;default:};break;case _0xa4c0[46]:var _0x68efx19=moment()[_0xa4c0[41]](parseInt(_0x68efx13[_0xa4c0[34]],10),_0xa4c0[40])[_0xa4c0[39]](_0xa4c0[38]);switch(_0x68efx13[_0xa4c0[37]]){case _0xa4c0[42]:_0x68efx18[_0x68efx13[_0xa4c0[33]]]={lt:_0x68efx19};break;case _0xa4c0[43]:_0x68efx18[_0x68efx13[_0xa4c0[33]]]={$lte:_0x68efx19};break;case _0xa4c0[44]:_0x68efx18[_0x68efx13[_0xa4c0[33]]]={$gt:_0x68efx19};break;case _0xa4c0[45]:_0x68efx18[_0x68efx13[_0xa4c0[33]]]={$gte:_0x68efx19};break;default:};break;default:};return _0x68efx18}function createInterval(_0x68efx11){console[_0xa4c0[10]](_0xa4c0[47],_0x68efx11[_0xa4c0[13]],_0xa4c0[48],_0x68efx11[_0xa4c0[49]]*60*1000);activeFaxAutomations[_0xa4c0[50]+_0x68efx11[_0xa4c0[13]]]=setInterval(function(){executeAutomation(_0x68efx11[_0xa4c0[13]])},_0x68efx11[_0xa4c0[49]]*60*1000)}module[_0xa4c0[51]]=function(){Automation[_0xa4c0[55]](function(_0x68efx1b,_0x68efx1c){console[_0xa4c0[10]](_0xa4c0[47],_0x68efx1b[_0xa4c0[13]],_0xa4c0[52],_0x68efx1b[_0xa4c0[15]]);if(_0x68efx1b[_0xa4c0[15]]&&_0x68efx1b[_0xa4c0[53]]===_0xa4c0[54]){createInterval(_0x68efx1b)}});Automation[_0xa4c0[58]](function(_0x68efx1b,_0x68efx1c){console[_0xa4c0[10]](_0xa4c0[47],_0x68efx1b[_0xa4c0[13]],_0xa4c0[56],_0x68efx1b[_0xa4c0[15]]);if(activeFaxAutomations[_0xa4c0[50]+_0x68efx1b[_0xa4c0[13]]]){console[_0xa4c0[10]](_0xa4c0[57],_0x68efx1b[_0xa4c0[13]]);clearInterval(activeFaxAutomations[_0xa4c0[50]+_0x68efx1b[_0xa4c0[13]]]);delete activeFaxAutomations[_0xa4c0[50]+_0x68efx1b[_0xa4c0[13]]]};if(_0x68efx1b[_0xa4c0[15]]&&_0x68efx1b[_0xa4c0[53]]===_0xa4c0[54]){createInterval(_0x68efx1b)}});Automation[_0xa4c0[60]](function(_0x68efx1b,_0x68efx1c){console[_0xa4c0[10]](_0xa4c0[47],_0x68efx1b[_0xa4c0[13]],_0xa4c0[59]);if(activeFaxAutomations[_0xa4c0[50]+_0x68efx1b[_0xa4c0[13]]]){console[_0xa4c0[10]](_0xa4c0[57],_0x68efx1b[_0xa4c0[13]]);clearInterval(activeFaxAutomations[_0xa4c0[50]+_0x68efx1b[_0xa4c0[13]]]);delete activeFaxAutomations[_0xa4c0[50]+_0x68efx1b[_0xa4c0[13]]]}});return Automation[_0xa4c0[30]](_0xa4c0[29])[_0xa4c0[27]]({where:{status:true,channel:_0xa4c0[54]},attributes:[_0xa4c0[13],_0xa4c0[49]]})[_0xa4c0[19]](function(_0x68efx1d){_0x68efx1d[_0xa4c0[17]](function(_0x68efx11){createInterval(_0x68efx11)})})[_0xa4c0[12]](function(_0x68efxd){console[_0xa4c0[10]](_0xa4c0[61],_0x68efxd)})}
\ No newline at end of file
+var _0x813c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x6F\x6D\x65\x6E\x74","\x6D\x6F\x74\x69\x6F\x6E","\x2E\x2E\x2F\x6C\x6F\x67\x67\x65\x72\x2E\x6A\x73","\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x46\x61\x78\x52\x6F\x6F\x6D","\x5B\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x5D\x20\x45\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x46\x61\x78","\x69\x6E\x66\x6F","\x5B\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x5D\x20\x45\x72\x72\x6F\x72\x20\x69\x6E\x20\x46\x61\x78\x20\x65\x78\x65\x63","\x65\x72\x72\x6F\x72","\x5B\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x5D\x20\x4D\x65\x73\x73\x61\x67\x65\x3A","\x6D\x65\x73\x73\x61\x67\x65","\x5B\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x5D\x20\x53\x74\x61\x63\x6B\x3A","\x73\x74\x61\x63\x6B","\x63\x61\x74\x63\x68","\x69\x64","\x64\x61\x74\x61\x31","\x73\x74\x61\x74\x75\x73","\x61\x63\x74\x69\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x41\x63\x74\x69\x6F\x6E\x73","\x74\x68\x65\x6E","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x70\x75\x73\x68","\x41\x6C\x6C","\x41\x6E\x79","\x6C\x65\x6E\x67\x74\x68","\x24\x61\x6E\x64","\x77\x68\x65\x72\x65","\x24\x6F\x72","\x66\x69\x6E\x64\x41\x6C\x6C","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x6C\x6C","\x73\x63\x6F\x70\x65","\x5B\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x5D\x20\x45\x72\x72\x6F\x72\x20\x69\x6E\x20\x46\x61\x78\x20\x73\x65\x74\x53\x74\x61\x74\x75\x73","\x75\x70\x64\x61\x74\x65","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x65\x71\x75\x61\x6C\x73","\x6E\x6F\x74\x5F\x65\x71\x75\x61\x6C\x73","\x6F\x70\x65\x72\x61\x74\x6F\x72","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x68\x6F\x75\x72\x73","\x73\x75\x62\x74\x72\x61\x63\x74","\x67\x72\x65\x61\x74\x65\x72","\x67\x72\x65\x61\x74\x65\x72\x5F\x6F\x72\x5F\x65\x71\x75\x61\x6C","\x6C\x65\x73\x73","\x6C\x65\x73\x73\x5F\x6F\x72\x5F\x65\x71\x75\x61\x6C","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x5B\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x5D\x20\x4D\x61\x69\x6C","\x73\x65\x74\x20\x77\x69\x74\x68\x20\x74\x69\x6D\x65\x6F\x75\x74","\x74\x69\x6D\x65\x6F\x75\x74","\x69\x6E\x74\x65\x72\x76\x61\x6C","\x65\x78\x70\x6F\x72\x74\x73","\x5B\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x5D\x20\x46\x61\x78\x20\x73\x65\x72\x76\x69\x63\x65\x20\x73\x74\x61\x72\x74\x65\x64","\x63\x68\x61\x6E\x6E\x65\x6C","\x66\x61\x78","\x5B\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x5D\x20\x46\x61\x78","\x63\x72\x65\x61\x74\x65\x64\x2C\x20\x74\x68\x65\x20\x73\x74\x61\x74\x75\x73\x20\x69\x73","\x64\x65\x62\x75\x67","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65\x64\x2C\x20\x74\x68\x65\x20\x73\x74\x61\x74\x75\x73\x20\x69\x73","\x5B\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x5D\x20\x46\x61\x78\x20\x75\x6E\x73\x65\x74\x20","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x20\x64\x65\x6C\x65\x74\x65\x64","\x61\x66\x74\x65\x72\x44\x65\x6C\x65\x74\x65","\x5B\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x5D\x20\x45\x72\x72\x6F\x72\x20\x69\x6E\x20\x4D\x61\x69\x6C\x20\x69\x6E\x69\x74","\x5B\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x5D\x20\x46\x61\x78\x20\x61\x72\x65"];_0x813c[0];var _=require(_0x813c[1]);var moment=require(_0x813c[2]);var logger=require(_0x813c[4])(_0x813c[3]);var Automation=require(_0x813c[6])[_0x813c[5]];var FaxRoom=require(_0x813c[6])[_0x813c[7]];var activeFaxAutomations={};function executeAutomation(_0x5d52x8){logger[_0x813c[9]](_0x813c[8],_0x5d52x8);var _0x5d52x9;return Automation[_0x813c[35]](_0x813c[34])[_0x813c[33]](_0x5d52x8)[_0x813c[23]](function(_0x5d52xe){_0x5d52x9= _0x5d52xe;var _0x5d52xf=[];var _0x5d52x10=[];var _0x5d52x11={where:{}};_0x5d52xe[_0x813c[26]][_0x813c[21]](function(_0x5d52x12){_0x5d52x10[_0x813c[25]](getCondition(_0x5d52x12[_0x813c[24]]))});_0x5d52xe[_0x813c[27]][_0x813c[21]](function(_0x5d52x12){_0x5d52xf[_0x813c[25]](getCondition(_0x5d52x12[_0x813c[24]]))});if(_0x5d52x10[_0x813c[28]]){_0x5d52x11[_0x813c[30]][_0x813c[29]]= _0x5d52x10};if(_0x5d52xf[_0x813c[28]]){_0x5d52x11[_0x813c[30]][_0x813c[31]]= _0x5d52xf};return FaxRoom[_0x813c[32]](_0x5d52x11)})[_0x813c[23]](function(_0x5d52xb){_0x5d52xb[_0x813c[21]](function(_0x5d52xc){_0x5d52x9[_0x813c[22]][_0x813c[21]](function(_0x5d52xd){switch(_0x5d52xd[_0x813c[20]]){case _0x813c[19]:setStatus(_0x5d52xc[_0x813c[17]],_0x5d52xd[_0x813c[18]]);break;default:}})})})[_0x813c[16]](function(_0x5d52xa){logger[_0x813c[11]](_0x813c[10]);logger[_0x813c[11]](_0x813c[12],_0x5d52xa[_0x813c[13]]);logger[_0x813c[11]](_0x813c[14],_0x5d52xa[_0x813c[15]])})}function setStatus(_0x5d52x14,_0x5d52x15){return FaxRoom[_0x813c[37]]({status:_0x5d52x15},{where:{id:_0x5d52x14}})[_0x813c[16]](function(_0x5d52xa){logger[_0x813c[11]](_0x813c[36]);logger[_0x813c[11]](_0x813c[12],_0x5d52xa[_0x813c[13]]);logger[_0x813c[11]](_0x813c[14],_0x5d52xa[_0x813c[15]])})}function getCondition(_0x5d52x12){var _0x5d52x17={};switch(_0x5d52x12[_0x813c[38]]){case _0x813c[19]:switch(_0x5d52x12[_0x813c[42]]){case _0x813c[40]:_0x5d52x17[_0x5d52x12[_0x813c[38]]]= _0x5d52x12[_0x813c[39]];break;case _0x813c[41]:_0x5d52x17[_0x5d52x12[_0x813c[38]]]= {$ne:_0x5d52x12[_0x813c[39]]};break;default:};break;case _0x813c[51]:var _0x5d52x18=moment()[_0x813c[46]](parseInt(_0x5d52x12[_0x813c[39]],10),_0x813c[45])[_0x813c[44]](_0x813c[43]);switch(_0x5d52x12[_0x813c[42]]){case _0x813c[47]:_0x5d52x17[_0x5d52x12[_0x813c[38]]]= {lt:_0x5d52x18};break;case _0x813c[48]:_0x5d52x17[_0x5d52x12[_0x813c[38]]]= {$lte:_0x5d52x18};break;case _0x813c[49]:_0x5d52x17[_0x5d52x12[_0x813c[38]]]= {$gt:_0x5d52x18};break;case _0x813c[50]:_0x5d52x17[_0x5d52x12[_0x813c[38]]]= {$gte:_0x5d52x18};break;default:};break;default:};return _0x5d52x17}function createInterval(_0x5d52xe){logger[_0x813c[9]](_0x813c[52],_0x5d52xe[_0x813c[17]],_0x813c[53],_0x5d52xe[_0x813c[54]]* 60* 1000);activeFaxAutomations[_0x813c[55]+ _0x5d52xe[_0x813c[17]]]= setInterval(function(){executeAutomation(_0x5d52xe[_0x813c[17]])},_0x5d52xe[_0x813c[54]]* 60* 1000)}module[_0x813c[56]]= function(){logger[_0x813c[9]](_0x813c[57]);Automation[_0x813c[63]](function(_0x5d52x1a,_0x5d52x1b){if(_0x5d52x1a[_0x813c[58]]=== _0x813c[59]){logger[_0x813c[62]](_0x813c[60],_0x5d52x1a[_0x813c[17]],_0x813c[61],_0x5d52x1a[_0x813c[19]]);if(_0x5d52x1a[_0x813c[19]]){createInterval(_0x5d52x1a)}}});Automation[_0x813c[66]](function(_0x5d52x1a,_0x5d52x1b){if(_0x5d52x1a[_0x813c[58]]=== _0x813c[59]){logger[_0x813c[62]](_0x813c[60],_0x5d52x1a[_0x813c[17]],_0x813c[64],_0x5d52x1a[_0x813c[19]]);if(activeFaxAutomations[_0x813c[55]+ _0x5d52x1a[_0x813c[17]]]){logger[_0x813c[62]](_0x813c[65],_0x5d52x1a[_0x813c[17]]);clearInterval(activeFaxAutomations[_0x813c[55]+ _0x5d52x1a[_0x813c[17]]]);delete activeFaxAutomations[_0x813c[55]+ _0x5d52x1a[_0x813c[17]]]};if(_0x5d52x1a[_0x813c[19]]){createInterval(_0x5d52x1a)}}});Automation[_0x813c[68]](function(_0x5d52x1a,_0x5d52x1b){if(_0x5d52x1a[_0x813c[58]]=== _0x813c[59]){logger[_0x813c[62]](_0x813c[60],_0x5d52x1a[_0x813c[17]],_0x813c[67]);if(activeFaxAutomations[_0x813c[55]+ _0x5d52x1a[_0x813c[17]]]){logger[_0x813c[62]](_0x813c[65],_0x5d52x1a[_0x813c[17]]);clearInterval(activeFaxAutomations[_0x813c[55]+ _0x5d52x1a[_0x813c[17]]]);delete activeFaxAutomations[_0x813c[55]+ _0x5d52x1a[_0x813c[17]]]}}});return Automation[_0x813c[35]](_0x813c[34])[_0x813c[32]]({where:{status:true,channel:_0x813c[59]},attributes:[_0x813c[17],_0x813c[54]]})[_0x813c[23]](function(_0x5d52x1c){logger[_0x813c[62]](_0x813c[70],_0x5d52x1c[_0x813c[28]]);_0x5d52x1c[_0x813c[21]](function(_0x5d52xe){createInterval(_0x5d52xe)})})[_0x813c[16]](function(_0x5d52xa){logger[_0x813c[11]](_0x813c[69]);logger[_0x813c[11]](_0x813c[12],_0x5d52xa[_0x813c[13]]);logger[_0x813c[11]](_0x813c[14],_0x5d52xa[_0x813c[15]])})}
\ No newline at end of file