Built motion from commit 47436d59.|2.6.7
[motion2.git] / server / services / agi / scripts / index.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xeeb9=['transcript','join','confidence','googleASR\x20transcription','googleASR\x20confidence','catch','name','message','googleDialogflow','textRequest','result','resolvedQuery','fulfillment','speech','score','code','metadata','googleDialogflowV2','replace','SessionsClient','sessionPath','detectIntent','Dialogflow\x20V2\x20response:','queryResult','action','allRequiredParamsPresent','diagnosticInfo','end_conversation','fulfillmentText','intent','displayName','isFallback','languageCode','queryText','intentDetectionConfidence','tildeASR','Tilde\x20ASR\x20transcription','awsPolly','polly','awsLex','lex','ispeechTTS','%s?apikey=%s&action=convert&text=%s&voice=%s&speed=%s&format=mp3','ispeechASR','format','model=%s','freeform=3','sestekNDA','text','channelData','CustomAction','CustomActionData','AudioFromTts','Data','audiofile','dirName','http','md5','path','querystring','request-promise','randomstring','sox','google-tts-api','url','parse','util','./aws','./google','./sestek','./tilde','agi','https://api.ispeech.org/api/rest','protocol','https:','WHAT_EVER','get','statusCode','error','request\x20to\x20','\x20failed,\x20status\x20code\x20=\x20','statusMessage','createWriteStream','finish','finish\x20download\x20file','close','unlink','download\x20error','pipe','end','host','data','wav','error\x20convert','info','finish\x20to\x20convert','start','resolve','tmp','generate','.wav','writeFileSync','then','chmodSync','777','split','readFileSync','toString','base64','googleCloudTTS','?key=','ssml','input','voice','text:synthesize','POST','.mp3','from','audioContent','writeFile','googleCloudTTS\x20path','googleTTS','https://translate.google.com/_/TranslateWebserverUi/data/batchexecute','application/x-www-form-urlencoded','f.req=','stringify','null','parse\x20response\x20failed:\x0a','lang\x20\x22','\x22\x20might\x20not\x20exist','googleASR','asr','results','map','alternatives'];(function(_0x468459,_0x5cb69e){var _0x11e791=function(_0x1d44c7){while(--_0x1d44c7){_0x468459['push'](_0x468459['shift']());}};_0x11e791(++_0x5cb69e);}(_0xeeb9,0x1cd));var _0x9eeb=function(_0x10a6b4,_0x2fef82){_0x10a6b4=_0x10a6b4-0x0;var _0x5e4440=_0xeeb9[_0x10a6b4];return _0x5e4440;};'use strict';var apiai=require('apiai-promise');var BPromise=require('bluebird');var dialogflow=require('dialogflow');var fs=require('fs');var http=require(_0x9eeb('0x0'));var https=require('https');var md5=require(_0x9eeb('0x1'));var path=require(_0x9eeb('0x2'));var querystring=require(_0x9eeb('0x3'));var rp=require(_0x9eeb('0x4'));var rs=require(_0x9eeb('0x5'));var sox=require(_0x9eeb('0x6'));var tts=require(_0x9eeb('0x7'));var urlParse=require(_0x9eeb('0x8'))[_0x9eeb('0x9')];var util=require(_0x9eeb('0xa'));var aws=require(_0x9eeb('0xb'));var google=require(_0x9eeb('0xc'));var sestek=require(_0x9eeb('0xd'));var tilde=require(_0x9eeb('0xe'));var logger=require('../../../config/logger')(_0x9eeb('0xf'));var ISPEECH_API=_0x9eeb('0x10');function downloadFile(_0x163322,_0x45794c){return new BPromise(function(_0x3ed8f2,_0x308a5b){var _0xe478ee=urlParse(_0x163322);var _0x42098c=_0xe478ee[_0x9eeb('0x11')]===_0x9eeb('0x12')?https:http;var _0x408a82={'host':_0xe478ee['host'],'path':_0xe478ee[_0x9eeb('0x2')],'headers':{'user-agent':_0x9eeb('0x13')}};_0x42098c[_0x9eeb('0x14')](_0x408a82,function(_0x57c419){if(_0x57c419[_0x9eeb('0x15')]!==0xc8){logger[_0x9eeb('0x16')](_0x9eeb('0x17')+_0x163322+_0x9eeb('0x18')+_0x57c419[_0x9eeb('0x15')]+'\x20('+_0x57c419[_0x9eeb('0x19')]+')');_0x308a5b(new Error(_0x9eeb('0x17')+_0x163322+'\x20failed,\x20status\x20code\x20=\x20'+_0x57c419[_0x9eeb('0x15')]+'\x20('+_0x57c419[_0x9eeb('0x19')]+')'));return;}var _0x1b7f05=fs[_0x9eeb('0x1a')](_0x45794c);_0x1b7f05['on'](_0x9eeb('0x1b'),function(){logger['info'](_0x9eeb('0x1c'));_0x1b7f05[_0x9eeb('0x1d')](_0x3ed8f2);});_0x1b7f05['on'](_0x9eeb('0x16'),function(_0x47838a){fs[_0x9eeb('0x1e')](_0x45794c);logger[_0x9eeb('0x16')](_0x9eeb('0x1f'),_0x47838a);_0x308a5b(_0x47838a);});_0x57c419[_0x9eeb('0x20')](_0x1b7f05);})['on'](_0x9eeb('0x16'),function(_0x20aea9){logger[_0x9eeb('0x16')](_0x20aea9);_0x308a5b(_0x20aea9);})[_0x9eeb('0x21')]();});}function uploadFile(_0x3d29d8){return new BPromise(function(_0x4d290b,_0x5d42b6){var _0x14f335=urlParse(_0x3d29d8);var _0x18ae60=_0x14f335[_0x9eeb('0x11')]===_0x9eeb('0x12')?https:http;var _0x4d16b6={'host':_0x14f335[_0x9eeb('0x22')],'path':_0x14f335[_0x9eeb('0x2')],'headers':{'user-agent':_0x9eeb('0x13')}};_0x18ae60['get'](_0x4d16b6,function(_0x2ef6d8){if(_0x2ef6d8['statusCode']!==0xc8){_0x5d42b6(new Error(_0x9eeb('0x17')+_0x3d29d8+_0x9eeb('0x18')+_0x2ef6d8[_0x9eeb('0x15')]+'\x20('+_0x2ef6d8[_0x9eeb('0x19')]+')'));return;}var _0x4df9d9='';_0x2ef6d8['on'](_0x9eeb('0x23'),function(_0xf5636d){_0x4df9d9+=_0xf5636d;});_0x2ef6d8['on']('end',function(){_0x4d290b(_0x4df9d9);});})['on'](_0x9eeb('0x16'),function(_0x5314ce){_0x5d42b6(_0x5314ce);})[_0x9eeb('0x21')]();});}function convertFile(_0x32b822,_0x209699){return new BPromise(function(_0x460907,_0x2fd60e){var _0x27b7ea=sox['transcode'](_0x32b822,_0x209699,{'sampleRate':0x1f40,'format':_0x9eeb('0x24'),'channelCount':0x1,'bitRate':0xc0*0x400,'compressionQuality':0x5});_0x27b7ea['on'](_0x9eeb('0x16'),function(_0x4d0caa){logger[_0x9eeb('0x16')](_0x9eeb('0x25'),_0x4d0caa);_0x2fd60e(_0x4d0caa);});_0x27b7ea['on'](_0x9eeb('0x21'),function(){logger[_0x9eeb('0x26')](_0x9eeb('0x27'));_0x460907();});_0x27b7ea[_0x9eeb('0x28')]();});}function base64Decode(_0x1e5e17,_0x4bc194){var _0x5cabe0=path[_0x9eeb('0x29')](__dirname,_0x9eeb('0x2a'),rs[_0x9eeb('0x2b')](0x4)+_0x9eeb('0x2c'));fs[_0x9eeb('0x2d')](_0x5cabe0,_0x1e5e17,'base64');return convertFile(_0x5cabe0,_0x4bc194)[_0x9eeb('0x2e')](function(){try{fs[_0x9eeb('0x1e')](_0x5cabe0);fs[_0x9eeb('0x2f')](_0x4bc194,_0x9eeb('0x30'));}catch(_0xc98773){logger['error'](_0xc98773);}return _0x4bc194[_0x9eeb('0x31')]('.')[0x0];});}function base64Encode(_0x16c090){var _0xa82e8d=fs[_0x9eeb('0x32')](_0x16c090);return new Buffer(_0xa82e8d)[_0x9eeb('0x33')](_0x9eeb('0x34'));}exports[_0x9eeb('0x35')]=function(_0x13b028,_0x5e1e26,_0xdec3f,_0x235ff6,_0x27b8e0,_0x38a867){var _0x2b1465,_0x24f50f;var _0x33f56f='https://texttospeech.googleapis.com/v1/';var _0x44b7a0=_0x9eeb('0x36')+_0x13b028;var _0x306d58={};if(_0x5e1e26===_0x9eeb('0x37')){_0x306d58[_0x9eeb('0x38')]={'ssml':_0xdec3f};}else{_0x306d58[_0x9eeb('0x38')]={'text':_0xdec3f};};_0x306d58[_0x9eeb('0x39')]={'languageCode':_0x235ff6,'ssmlGender':_0x27b8e0};_0x306d58['audioConfig']={'audioEncoding':'MP3','sampleRateHertz':0x1f40};var _0x31f1f3={'url':_0x33f56f+_0x9eeb('0x3a')+_0x44b7a0,'method':_0x9eeb('0x3b'),'json':!![],'body':_0x306d58};return rp(_0x31f1f3)[_0x9eeb('0x2e')](function(_0x30f6ae){return new BPromise(function(_0x111850,_0x479037){_0x2b1465=path[_0x9eeb('0x29')](__dirname,_0x9eeb('0x2a'),rs['generate'](0x4)+_0x9eeb('0x3c'));var _0x416331=Buffer[_0x9eeb('0x3d')](_0x30f6ae[_0x9eeb('0x3e')],_0x9eeb('0x34'));return fs[_0x9eeb('0x3f')](_0x2b1465,_0x416331,function(_0x31ae67){_0x479037(_0x31ae67);},function(_0x595b4c){fs[_0x9eeb('0x2f')](_0x2b1465,_0x9eeb('0x30'));_0x111850(_0x595b4c);});});})[_0x9eeb('0x2e')](function(_0xb49a18){_0x24f50f=path['resolve'](__dirname,'tmp',rs['generate'](0x4)+'.wav');return convertFile(_0x2b1465,_0x24f50f);})[_0x9eeb('0x2e')](function(){try{fs['unlink'](_0x2b1465);fs[_0x9eeb('0x2f')](_0x24f50f,_0x9eeb('0x30'));}catch(_0x4d7eb3){logger['error'](_0x4d7eb3);}logger[_0x9eeb('0x26')](_0x9eeb('0x40'),_0x24f50f['split']('.')[0x0]);return _0x24f50f[_0x9eeb('0x31')]('.')[0x0];});};exports[_0x9eeb('0x41')]=function(_0x1adb96,_0x46903f){var _0x118ced=_0x9eeb('0x42');var _0x1be64c,_0x135086;var _0xcc8adf;var _0x301e4d={'encoding':'utf8','method':_0x9eeb('0x3b'),'timeout':0x2710,'url':_0x118ced,'headers':{'Content-Type':_0x9eeb('0x43')},'body':_0x9eeb('0x44')+encodeURIComponent(JSON[_0x9eeb('0x45')]([[['jQ1olc',JSON[_0x9eeb('0x45')]([_0x1adb96,_0x46903f||'en',![],_0x9eeb('0x46')]),null,'generic']]]))};return rp(_0x301e4d)['then'](function(_0xbd847b){try{_0xcc8adf=eval(_0xbd847b['slice'](0x5))[0x0][0x2];}catch(_0x25cee9){throw new Error(_0x9eeb('0x47')+_0xbd847b[_0x9eeb('0x23')]);}if(!_0xcc8adf){if(_0x1adb96['length']>0xc8){throw new Error('text\x20length\x20limit\x20reached');}else{throw new Error(_0x9eeb('0x48')+_0x46903f+_0x9eeb('0x49'));}}try{_0xcc8adf=eval(_0xcc8adf)[0x0];}catch(_0x52519b){throw new Error(_0x9eeb('0x47')+res[_0x9eeb('0x23')]);}const _0x2b862b=_0xcc8adf;_0x1be64c=path[_0x9eeb('0x29')](__dirname,_0x9eeb('0x2a'),rs[_0x9eeb('0x2b')](0x4)+_0x9eeb('0x3c'));fs[_0x9eeb('0x2d')](_0x1be64c,_0xcc8adf,{'encoding':_0x9eeb('0x34')});_0x135086=path['resolve'](__dirname,'tmp',rs['generate'](0x4)+_0x9eeb('0x2c'));return convertFile(_0x1be64c,_0x135086);})[_0x9eeb('0x2e')](function(){try{fs[_0x9eeb('0x1e')](_0x1be64c);fs[_0x9eeb('0x2f')](_0x135086,'777');}catch(_0xc2948a){logger[_0x9eeb('0x16')](_0xc2948a);}logger[_0x9eeb('0x26')]('goggleTTS\x20path',_0x135086[_0x9eeb('0x31')]('.')[0x0]);return _0x135086[_0x9eeb('0x31')]('.')[0x0];});};exports[_0x9eeb('0x4a')]=function(_0x3a14d4,_0x2ee5c3,_0x5bfe18){return google[_0x9eeb('0x4b')](_0x3a14d4,_0x2ee5c3,_0x5bfe18)[_0x9eeb('0x2e')](function(_0x2093b5){logger[_0x9eeb('0x26')](_0x2093b5['uri']);return rp(_0x2093b5);})[_0x9eeb('0x2e')](function(_0x3d1156){var _0x27409b='';var _0x213cfe=0x0;try{fs[_0x9eeb('0x1e')](_0x3a14d4);}catch(_0x5f1314){logger[_0x9eeb('0x16')](_0x5f1314);}if(_0x3d1156&&_0x3d1156[_0x9eeb('0x4c')]){_0x27409b=_0x3d1156['results'][_0x9eeb('0x4d')](function(_0x196cb6){return _0x196cb6&&_0x196cb6['alternatives'][0x0]&&_0x196cb6['alternatives'][0x0]['transcript']?_0x196cb6[_0x9eeb('0x4e')][0x0][_0x9eeb('0x4f')]:'';})[_0x9eeb('0x50')]('\x0a');_0x213cfe=_0x3d1156['results']['map'](function(_0x3b8a47){return _0x3b8a47&&_0x3b8a47['alternatives'][0x0]&&_0x3b8a47['alternatives'][0x0][_0x9eeb('0x51')]?_0x3b8a47[_0x9eeb('0x4e')][0x0]['confidence']:0x0;})['join']('\x0a');}logger[_0x9eeb('0x26')](_0x9eeb('0x52'),_0x27409b);logger[_0x9eeb('0x26')](_0x9eeb('0x53'),_0x213cfe);return{'transcript':_0x27409b,'confidence':_0x213cfe};})[_0x9eeb('0x54')](function(_0x2b60fd){logger[_0x9eeb('0x16')]('[%s]\x20%s:%s',_0x2b60fd[_0x9eeb('0x15')],_0x2b60fd[_0x9eeb('0x55')],_0x2b60fd[_0x9eeb('0x56')]);});};exports[_0x9eeb('0x57')]=function(_0x4d6dc3,_0x43ef65,_0x3e8af2,_0x2bdac7){var _0x3cf435=apiai(_0x43ef65,{'language':_0x2bdac7||'en'});return _0x3cf435[_0x9eeb('0x58')](_0x3e8af2,{'sessionId':md5(_0x4d6dc3)})[_0x9eeb('0x2e')](function(_0x307631){logger[_0x9eeb('0x26')](JSON[_0x9eeb('0x45')](_0x307631));return{'source':_0x307631[_0x9eeb('0x59')]['source'],'resolvedQuery':_0x307631[_0x9eeb('0x59')][_0x9eeb('0x5a')],'action':_0x307631['result']['action'],'actionIncomplete':_0x307631['result']['actionIncomplete'],'speech':_0x307631['result'][_0x9eeb('0x5b')][_0x9eeb('0x5c')],'score':_0x307631[_0x9eeb('0x59')][_0x9eeb('0x5d')],'statusCode':_0x307631['status'][_0x9eeb('0x5e')],'endConversation':_0x307631[_0x9eeb('0x59')]['metadata']['endConversation']||![],'isFallbackIntent':_0x307631[_0x9eeb('0x59')][_0x9eeb('0x5f')]['isFallbackIntent']};});};exports[_0x9eeb('0x60')]=function(_0x249d40,_0x55fa6e,_0x89ff53,_0x4d8fe0,_0x5379c0,_0x5a0eaa){var _0x5c9ebc=_0x4d8fe0[_0x9eeb('0x61')](/\\n/g,'\x0a');var _0x2a621a={'credentials':{'private_key':_0x5c9ebc,'client_email':_0x89ff53}};var _0x4bede6=new dialogflow[(_0x9eeb('0x62'))](_0x2a621a);var _0x3038ef=_0x4bede6[_0x9eeb('0x63')](_0x55fa6e,md5(_0x249d40));var _0x2909d8={'session':_0x3038ef,'queryInput':{'text':{'text':_0x5379c0,'languageCode':_0x5a0eaa}}};return _0x4bede6[_0x9eeb('0x64')](_0x2909d8)[_0x9eeb('0x2e')](function(_0x1c5268){if(_0x1c5268&&_0x1c5268['length']){logger[_0x9eeb('0x26')](_0x9eeb('0x65'),JSON[_0x9eeb('0x45')](_0x1c5268));var _0x5a17d6=_0x1c5268[0x0];if(_0x5a17d6){var _0xef71a1={'action':_0x5a17d6[_0x9eeb('0x66')][_0x9eeb('0x67')],'allRequiredParamsPresent':_0x5a17d6['queryResult'][_0x9eeb('0x68')],'endConversation':_0x5a17d6[_0x9eeb('0x66')][_0x9eeb('0x69')]&&_0x5a17d6['queryResult'][_0x9eeb('0x69')]['fields']?_0x5a17d6['queryResult']['diagnosticInfo']['fields'][_0x9eeb('0x6a')]['boolValue']:![],'fulfillmentText':_0x5a17d6[_0x9eeb('0x66')][_0x9eeb('0x6b')],'intentName':_0x5a17d6[_0x9eeb('0x66')][_0x9eeb('0x6c')][_0x9eeb('0x55')],'intentDisplayName':_0x5a17d6['queryResult'][_0x9eeb('0x6c')][_0x9eeb('0x6d')],'isFallbackIntent':_0x5a17d6[_0x9eeb('0x66')]['intent'][_0x9eeb('0x6e')],'languageCode':_0x5a17d6[_0x9eeb('0x66')][_0x9eeb('0x6f')],'queryText':_0x5a17d6[_0x9eeb('0x66')][_0x9eeb('0x70')],'responseId':_0x5a17d6['responseId'],'score':_0x5a17d6[_0x9eeb('0x66')][_0x9eeb('0x71')],'speech':_0x5a17d6[_0x9eeb('0x66')]['fulfillmentText'],'providerResponse':JSON['stringify'](_0x1c5268)};return _0xef71a1;}}});};exports[_0x9eeb('0x72')]=function(_0x50e0e1,_0x15049c,_0x345dcb,_0x501848){return tilde['asr'](_0x50e0e1,_0x15049c,_0x345dcb,_0x501848)[_0x9eeb('0x2e')](function(_0x787bfb){try{fs['unlink'](_0x50e0e1);}catch(_0xa49501){logger['error'](_0xa49501);}logger['info'](_0x9eeb('0x73'),_0x787bfb[_0x9eeb('0x4f')]);logger['info']('Tilde\x20ASR\x20confidence',_0x787bfb[_0x9eeb('0x51')]);return _0x787bfb;});};exports[_0x9eeb('0x74')]=function(_0x247916,_0x2c3c02,_0x1992e8,_0x26e7ac,_0x19feb2,_0x32b483){var _0x19e566=path[_0x9eeb('0x29')](__dirname,_0x9eeb('0x2a'),rs[_0x9eeb('0x2b')](0x4)+'.mp3');var _0x580c0e;return aws[_0x9eeb('0x75')](_0x247916,_0x2c3c02,_0x1992e8,_0x26e7ac,_0x19feb2,_0x32b483,_0x19e566)[_0x9eeb('0x2e')](function(){_0x580c0e=path[_0x9eeb('0x29')](__dirname,_0x9eeb('0x2a'),rs[_0x9eeb('0x2b')](0x4)+_0x9eeb('0x2c'));return convertFile(_0x19e566,_0x580c0e);})[_0x9eeb('0x2e')](function(){try{fs[_0x9eeb('0x1e')](_0x19e566);fs[_0x9eeb('0x2f')](_0x580c0e,'777');}catch(_0x476692){logger[_0x9eeb('0x16')](_0x476692);}return _0x580c0e['split']('.')[0x0];});};exports[_0x9eeb('0x76')]=function(_0x1d4e52,_0x111a84,_0x344580,_0x7dbe7e,_0x2f8259,_0x5d2b5f){return aws[_0x9eeb('0x77')](_0x1d4e52,_0x111a84,_0x344580,_0x7dbe7e,_0x2f8259,_0x5d2b5f)[_0x9eeb('0x2e')](function(_0x392300){logger[_0x9eeb('0x26')](JSON[_0x9eeb('0x45')](_0x392300));return _0x392300;});};exports[_0x9eeb('0x78')]=function(_0x2ef15c,_0xdd4cbf,_0x829554,_0x280a08){var _0x4c8c81=util['format'](_0x9eeb('0x79'),ISPEECH_API,_0x2ef15c,encodeURIComponent(_0xdd4cbf),_0x829554,_0x280a08);var _0x4fd550=path['resolve'](__dirname,'tmp',rs[_0x9eeb('0x2b')](0x4)+'.mp3');var _0x69a45a;return downloadFile(_0x4c8c81,_0x4fd550)[_0x9eeb('0x2e')](function(){_0x69a45a=path[_0x9eeb('0x29')](__dirname,'tmp',rs[_0x9eeb('0x2b')](0x4)+'.wav');return convertFile(_0x4fd550,_0x69a45a);})[_0x9eeb('0x2e')](function(){try{fs[_0x9eeb('0x1e')](_0x4fd550);fs['chmodSync'](_0x69a45a,_0x9eeb('0x30'));}catch(_0x3b8924){logger['error'](_0x3b8924);}return _0x69a45a[_0x9eeb('0x31')]('.')[0x0];});};exports[_0x9eeb('0x7a')]=function(_0x3e066f,_0x397509,_0x3ec298,_0x177e7f){var _0x4a65ab=util[_0x9eeb('0x7b')]('%s?apikey=%s&action=recognize&locale=%s&content-type=audio/x-wav&audio=%s&%s',ISPEECH_API,_0x397509,_0x3ec298,base64Encode(_0x3e066f),_0x177e7f?util[_0x9eeb('0x7b')](_0x9eeb('0x7c'),encodeURIComponent(_0x177e7f)):_0x9eeb('0x7d'));return uploadFile(_0x4a65ab)['then'](function(_0x7b5e1f){return querystring[_0x9eeb('0x9')](_0x7b5e1f);});};exports[_0x9eeb('0x7e')]=function(_0x1744b4,_0xaeda8e){return sestek['nda'](_0x1744b4,_0xaeda8e)['then'](function(_0x3d8724){logger[_0x9eeb('0x26')](JSON[_0x9eeb('0x45')](_0x3d8724));var _0x111fc6={'speech':_0x3d8724[_0x9eeb('0x7f')],'action':_0x3d8724[_0x9eeb('0x80')]?_0x3d8724[_0x9eeb('0x80')][_0x9eeb('0x81')]:undefined,'actiondata':_0x3d8724[_0x9eeb('0x80')]?_0x3d8724[_0x9eeb('0x80')][_0x9eeb('0x82')]:undefined};if(_0x3d8724['channelData']&&_0x3d8724[_0x9eeb('0x80')][_0x9eeb('0x83')]){return base64Decode(_0x3d8724[_0x9eeb('0x80')][_0x9eeb('0x83')][_0x9eeb('0x84')],path[_0x9eeb('0x29')](__dirname,_0x9eeb('0x2a'),rs[_0x9eeb('0x2b')](0x4)+_0x9eeb('0x2c')))[_0x9eeb('0x2e')](function(_0x56fbc7){_0x111fc6[_0x9eeb('0x85')]=_0x56fbc7;return _0x111fc6;});}return _0x111fc6;});};exports[_0x9eeb('0x86')]=function(){return __dirname;};