diff --git a/.gitignore b/.gitignore index 72167c8..5be1285 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ node_modules_l/ .history/ build/linux-unpacked/ build/win-unpacked/ +dist/electron/ # Executables *.swf *.air diff --git a/build/builder-debug.yml b/build/builder-debug.yml new file mode 100644 index 0000000..638c993 --- /dev/null +++ b/build/builder-debug.yml @@ -0,0 +1,217 @@ +x64: + firstOrDefaultFilePatterns: + - '!**/node_modules' + - '!build{,/**/*}' + - '!build{,/**/*}' + - dist/electron/**/* + - package.json + - '!**/*.{iml,hprof,orig,pyc,pyo,rbc,swp,csproj,sln,suo,xproj,cc,d.ts,pdb}' + - '!**/._*' + - '!**/electron-builder.{yaml,yml,json,json5,toml}' + - '!**/{.git,.hg,.svn,CVS,RCS,SCCS,__pycache__,.DS_Store,thumbs.db,.gitignore,.gitkeep,.gitattributes,.npmignore,.idea,.vs,.flowconfig,.jshintrc,.eslintrc,.circleci,.yarn-integrity,.yarn-metadata.json,yarn-error.log,yarn.lock,package-lock.json,npm-debug.log,appveyor.yml,.travis.yml,circle.yml,.nyc_output}' + - '!.yarn{,/**/*}' + - '!.editorconfig' + - '!.yarnrc.yml' + nodeModuleFilePatterns: + - '**/*' + - dist/electron/**/* +nsis: + script: |- + !include "G:\YUANJIE\4.0\node_modules\app-builder-lib\templates\nsis\include\StdUtils.nsh" + !addincludedir "G:\YUANJIE\4.0\node_modules\app-builder-lib\templates\nsis\include" + !macro _isUpdated _a _b _t _f + ${StdUtils.TestParameter} $R9 "updated" + StrCmp "$R9" "true" `${_t}` `${_f}` + !macroend + !define isUpdated `"" isUpdated ""` + + !macro _isForceRun _a _b _t _f + ${StdUtils.TestParameter} $R9 "force-run" + StrCmp "$R9" "true" `${_t}` `${_f}` + !macroend + !define isForceRun `"" isForceRun ""` + + !macro _isKeepShortcuts _a _b _t _f + ${StdUtils.TestParameter} $R9 "keep-shortcuts" + StrCmp "$R9" "true" `${_t}` `${_f}` + !macroend + !define isKeepShortcuts `"" isKeepShortcuts ""` + + !macro _isNoDesktopShortcut _a _b _t _f + ${StdUtils.TestParameter} $R9 "no-desktop-shortcut" + StrCmp "$R9" "true" `${_t}` `${_f}` + !macroend + !define isNoDesktopShortcut `"" isNoDesktopShortcut ""` + + !macro _isDeleteAppData _a _b _t _f + ${StdUtils.TestParameter} $R9 "delete-app-data" + StrCmp "$R9" "true" `${_t}` `${_f}` + !macroend + !define isDeleteAppData `"" isDeleteAppData ""` + + !macro _isForAllUsers _a _b _t _f + ${StdUtils.TestParameter} $R9 "allusers" + StrCmp "$R9" "true" `${_t}` `${_f}` + !macroend + !define isForAllUsers `"" isForAllUsers ""` + + !macro _isForCurrentUser _a _b _t _f + ${StdUtils.TestParameter} $R9 "currentuser" + StrCmp "$R9" "true" `${_t}` `${_f}` + !macroend + !define isForCurrentUser `"" isForCurrentUser ""` + + !macro addLangs + !insertmacro MUI_LANGUAGE "English" + !insertmacro MUI_LANGUAGE "German" + !insertmacro MUI_LANGUAGE "French" + !insertmacro MUI_LANGUAGE "SpanishInternational" + !insertmacro MUI_LANGUAGE "SimpChinese" + !insertmacro MUI_LANGUAGE "TradChinese" + !insertmacro MUI_LANGUAGE "Japanese" + !insertmacro MUI_LANGUAGE "Korean" + !insertmacro MUI_LANGUAGE "Italian" + !insertmacro MUI_LANGUAGE "Dutch" + !insertmacro MUI_LANGUAGE "Danish" + !insertmacro MUI_LANGUAGE "Swedish" + !insertmacro MUI_LANGUAGE "Norwegian" + !insertmacro MUI_LANGUAGE "Finnish" + !insertmacro MUI_LANGUAGE "Russian" + !insertmacro MUI_LANGUAGE "Portuguese" + !insertmacro MUI_LANGUAGE "PortugueseBR" + !insertmacro MUI_LANGUAGE "Polish" + !insertmacro MUI_LANGUAGE "Ukrainian" + !insertmacro MUI_LANGUAGE "Czech" + !insertmacro MUI_LANGUAGE "Slovak" + !insertmacro MUI_LANGUAGE "Hungarian" + !insertmacro MUI_LANGUAGE "Arabic" + !insertmacro MUI_LANGUAGE "Turkish" + !insertmacro MUI_LANGUAGE "Thai" + !insertmacro MUI_LANGUAGE "Vietnamese" + !macroend + + !addincludedir "G:\YUANJIE\4.0\build" + !include "G:\YUANJIE\4.0\installer.nsh" + !addplugindir /x86-unicode "C:\Users\YC\AppData\Local\electron-builder\Cache\nsis\nsis-resources-3.4.1\plugins\x86-unicode" + !include "C:\Users\YC\AppData\Local\Temp\t-P7VRbu\1-messages.nsh" + !include "C:\Users\YC\AppData\Local\Temp\t-P7VRbu\0-messages.nsh" + + Var newStartMenuLink + Var oldStartMenuLink + Var newDesktopLink + Var oldDesktopLink + Var oldShortcutName + Var oldMenuDirectory + + !include "common.nsh" + !include "MUI2.nsh" + !include "multiUser.nsh" + !include "allowOnlyOneInstallerInstance.nsh" + + !ifdef INSTALL_MODE_PER_ALL_USERS + !ifdef BUILD_UNINSTALLER + RequestExecutionLevel user + !else + RequestExecutionLevel admin + !endif + !else + RequestExecutionLevel user + !endif + + !ifdef BUILD_UNINSTALLER + SilentInstall silent + !else + Var appExe + Var launchLink + !endif + + !ifdef ONE_CLICK + !include "oneClick.nsh" + !else + !include "assistedInstaller.nsh" + !endif + + !insertmacro addLangs + + !ifmacrodef customHeader + !insertmacro customHeader + !endif + + Function .onInit + SetOutPath $INSTDIR + ${LogSet} on + + !ifmacrodef preInit + !insertmacro preInit + !endif + + !ifdef DISPLAY_LANG_SELECTOR + !insertmacro MUI_LANGDLL_DISPLAY + !endif + + !ifdef BUILD_UNINSTALLER + WriteUninstaller "${UNINSTALLER_OUT_FILE}" + !insertmacro quitSuccess + !else + !insertmacro check64BitAndSetRegView + + !ifdef ONE_CLICK + !insertmacro ALLOW_ONLY_ONE_INSTALLER_INSTANCE + !else + ${IfNot} ${UAC_IsInnerInstance} + !insertmacro ALLOW_ONLY_ONE_INSTALLER_INSTANCE + ${EndIf} + !endif + + !insertmacro initMultiUser + + !ifmacrodef customInit + !insertmacro customInit + !endif + + !ifmacrodef addLicenseFiles + InitPluginsDir + !insertmacro addLicenseFiles + !endif + !endif + FunctionEnd + + !ifndef BUILD_UNINSTALLER + !include "installUtil.nsh" + !endif + + Section "install" + !ifndef BUILD_UNINSTALLER + # If we're running a silent upgrade of a per-machine installation, elevate so extracting the new app will succeed. + # For a non-silent install, the elevation will be triggered when the install mode is selected in the UI, + # but that won't be executed when silent. + !ifndef INSTALL_MODE_PER_ALL_USERS + !ifndef ONE_CLICK + ${if} $hasPerMachineInstallation == "1" # set in onInit by initMultiUser + ${andIf} ${Silent} + ${ifNot} ${UAC_IsAdmin} + ShowWindow $HWNDPARENT ${SW_HIDE} + !insertmacro UAC_RunElevated + ${Switch} $0 + ${Case} 0 + ${Break} + ${Case} 1223 ;user aborted + ${Break} + ${Default} + MessageBox mb_IconStop|mb_TopMost|mb_SetForeground "Unable to elevate, error $0" + ${Break} + ${EndSwitch} + Quit + ${else} + !insertmacro setInstallModePerAllUsers + ${endIf} + ${endIf} + !endif + !endif + !include "installSection.nsh" + !endif + SectionEnd + + !ifdef BUILD_UNINSTALLER + !include "uninstaller.nsh" + !endif diff --git a/build/builder-effective-config.yaml b/build/builder-effective-config.yaml new file mode 100644 index 0000000..a9cf13a --- /dev/null +++ b/build/builder-effective-config.yaml @@ -0,0 +1,46 @@ +directories: + output: build + buildResources: build +extraFiles: + - from: ./collada2gltf/ + to: ./collada2gltf + - from: ./convert/ + to: ./convert + - from: ./yjearth4_0/ + to: ./yjearth4_0 + - from: ./ffplay/ + to: ./ffplay + - from: ./build/icons/ + to: ./icons +productName: 实景三维电子沙盘系统 +appId: org.dzsp_shijing_offline_Y_save +files: + - filter: + - dist/electron/**/* +dmg: + contents: + - x: 410 + 'y': 150 + type: link + path: /Applications + - x: 130 + 'y': 150 + type: file +mac: + icon: build/icons/icon.icns +win: + icon: build/icons/earth.ico +linux: + target: deb + icon: build/icons/81.png + desktop: + Icon: /opt/实景三维电子沙盘系统/icons/earth.png + executableArgs: + - '--no-sandbox' +nsis: + include: installer.nsh + oneClick: false + perMachine: true + allowToChangeInstallationDirectory: true + language: '2052' +electronVersion: 13.6.9 diff --git a/build/实景三维电子沙盘系统 Setup 4.0.0.exe.blockmap b/build/实景三维电子沙盘系统 Setup 4.0.0.exe.blockmap new file mode 100644 index 0000000..ab746a6 Binary files /dev/null and b/build/实景三维电子沙盘系统 Setup 4.0.0.exe.blockmap differ diff --git a/config/app_config.js b/config/app_config.js index 0eff2ff..963f581 100644 --- a/config/app_config.js +++ b/config/app_config.js @@ -1,7 +1,7 @@ -let name = 'dzsp_jingyuepaichusuo_offline_save'; //dzsp_yingjizhihuibeidou_offline_Y_save //dzsp_shijingjiangjin_offline_Y_save // dzsp_shijinghaidong_offline_Y_save //cc ,dzsp_yingjizhihuijunyong_offline_Y_save,dzsp_yingjizhihui_offline_Y_save,dzsp_shijing_offline_Y_save,dzsp_mudanyuan_offline_Y_save,'dzsp_wujingqinwu_offline_Y_save','dzsp_jilingongan_offline_Y_save' -let productName = '便携式应急指挥电子沙盘系统北斗定位+'; //便携式应急指挥电子沙盘系统北斗定位+ //实景三维无人机智能巡检系统 // 海东市自然灾害风险普查可视化分析平台 //便携式应急指挥电子沙盘系统 //便携式应急指挥电子沙盘系统(军用版) //新版4.0//"实景三维电子沙盘系统";//"作战目标数字孪生仿真系统", "实景三维电子沙盘系统" ’牡丹园智慧景区管理系统‘,"武警勤务指挥电子沙盘系统”,"吉林省公安厅三维模型展示平台" -let productName_tw = '可擕式應急指揮電子沙盤系統北斗定位+'; -let productName_en = 'Portable emergency command electronic sand table system Beidou positioning+'; +let name = 'dzsp_yingjizhihui_offline_Y_save'; //dzsp_yingjizhihuibeidou_offline_Y_save //dzsp_shijingjiangjin_offline_Y_save // dzsp_shijinghaidong_offline_Y_save //cc ,dzsp_yingjizhihuijunyong_offline_Y_save,dzsp_yingjizhihui_offline_Y_save,dzsp_shijing_offline_Y_save,dzsp_mudanyuan_offline_Y_save,'dzsp_wujingqinwu_offline_Y_save','dzsp_jilingongan_offline_Y_save' +let productName = '便携式应急指挥电子沙盘系统'; //便携式应急指挥电子沙盘系统北斗定位+ //实景三维无人机智能巡检系统 // 海东市自然灾害风险普查可视化分析平台 //便携式应急指挥电子沙盘系统 //便携式应急指挥电子沙盘系统(军用版) //新版4.0//"实景三维电子沙盘系统";//"作战目标数字孪生仿真系统", "实景三维电子沙盘系统" ’牡丹园智慧景区管理系统‘,"武警勤务指挥电子沙盘系统”,"吉林省公安厅三维模型展示平台" +let productName_tw = '可擕式應急指揮電子沙盤系統'; +let productName_en = 'Portable emergency command electronic sand table system'; let obj = { baseApi: "", // 本地api请求地址,注意:如果你使用了代理,请设置成'/' PORT: 8099, diff --git a/dist/electron/main.js b/dist/electron/main.js index 78c0dc9..278d49f 100644 --- a/dist/electron/main.js +++ b/dist/electron/main.js @@ -1 +1,10521 @@ -module.exports=function(e){function t(n){if(o[n])return o[n].exports;var r=o[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var o={};return t.m=e,t.c=o,t.d=function(e,o,n){t.o(e,o)||Object.defineProperty(e,o,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var o=e&&e.__esModule?function(){return e['default']}:function(){return e};return t.d(o,'a',o),o},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p='',t(t.s=55)}([function(e){var t=e.exports={version:'2.6.12'};'number'==typeof __e&&(__e=t)},function(e){e.exports=require('path')},function(e){var t=e.exports='undefined'!=typeof window&&window.Math==Math?window:'undefined'!=typeof self&&self.Math==Math?self:Function('return this')();'number'==typeof __g&&(__g=t)},function(e,t,o){var n=o(41)('wks'),r=o(29),s=o(2).Symbol,a='function'==typeof s,i=e.exports=function(e){return n[e]||(n[e]=a&&s[e]||(a?s:r)('Symbol.'+e))};i.store=n},function(e,t,o){var n=o(2),r=o(0),s=o(11),a=o(12),i=o(13),l='prototype',d=function(e,t,o){var c,p,u,h=e&d.F,f=e&d.G,m=e&d.S,g=e&d.P,y=e&d.B,b=e&d.W,_=f?r:r[t]||(r[t]={}),x=_[l],E=f?n:m?n[t]:(n[t]||{})[l];for(c in f&&(o=t),o)p=!h&&E&&void 0!==E[c],p&&i(_,c)||(u=p?E[c]:o[c],_[c]=f&&'function'!=typeof E[c]?o[c]:y&&p?s(u,n):b&&E[c]==u?function(e){var t=function(t,o,n){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,o);}return new e(t,o,n)}return e.apply(this,arguments)};return t[l]=e[l],t}(u):g&&'function'==typeof u?s(Function.call,u):u,g&&((_.virtual||(_.virtual={}))[c]=u,e&d.R&&x&&!x[c]&&a(x,c,u)))};d.F=1,d.G=2,d.S=4,d.P=8,d.B=16,d.W=32,d.U=64,d.R=128,e.exports=d},function(e){e.exports=function(e){return'object'==typeof e?null!==e:'function'==typeof e}},function(e){e.exports=require('fs')},function(e,t,o){var n=o(8),r=o(60),s=o(37),a=Object.defineProperty;t.f=o(9)?Object.defineProperty:function(e,t,o){if(n(e),t=s(t,!0),n(o),r)try{return a(e,t,o)}catch(t){}if('get'in o||'set'in o)throw TypeError('Accessors not supported!');return'value'in o&&(e[t]=o.value),e}},function(e,t,o){var n=o(5);e.exports=function(e){if(!n(e))throw TypeError(e+' is not an object!');return e}},function(e,t,o){e.exports=!o(15)(function(){return 7!=Object.defineProperty({},'a',{get:function(){return 7}}).a})},function(e){e.exports=require('os')},function(e,t,o){var n=o(20);e.exports=function(e,t,o){return(n(e),void 0===t)?e:1===o?function(o){return e.call(t,o)}:2===o?function(o,n){return e.call(t,o,n)}:3===o?function(o,n,r){return e.call(t,o,n,r)}:function(){return e.apply(t,arguments)}}},function(e,t,o){var n=o(7),r=o(27);e.exports=o(9)?function(e,t,o){return n.f(e,t,r(1,o))}:function(e,t,o){return e[t]=o,e}},function(e){var t={}.hasOwnProperty;e.exports=function(e,o){return t.call(e,o)}},function(e){e.exports=require('child_process')},function(e){e.exports=function(e){try{return!!e()}catch(t){return!0}}},function(e){e.exports={}},function(e,t,o){var n=o(63),r=o(34);e.exports=function(e){return n(r(e))}},function(e,t,o){'use strict';var n=o(95)(!0);o(35)(String,'String',function(e){this._t=e+'',this._i=0},function(){var e,t=this._t,o=this._i;return o>=t.length?{value:void 0,done:!0}:(e=n(t,o),this._i+=e.length,{value:e,done:!1})})},function(e){e.exports=!0},function(e){e.exports=function(e){if('function'!=typeof e)throw TypeError(e+' is not a function!');return e}},function(e){var t={}.toString;e.exports=function(e){return t.call(e).slice(8,-1)}},function(e,t,o){var n=o(7).f,r=o(13),s=o(3)('toStringTag');e.exports=function(e,t,o){e&&!r(e=o?e:e.prototype,s)&&n(e,s,{configurable:!0,value:t})}},function(e,t,o){o(100);for(var n=o(2),r=o(12),s=o(16),a=o(3)('toStringTag'),l='CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList'.split(','),d=0;df;f++)if(y=t?_(a(m=e[f])[0],m[1]):_(e[f]),y===d||y===c)return y;}else for(g=b.call(e);!(m=g.next()).done;)if(y=r(g,_,m.value,t),y===d||y===c)return y};t.BREAK=d,t.RETURN=c},function(e){e.exports=require('electron')},function(e,t,o){'use strict';function n(){var e=process.cwd();console.log('process.env.NODE_ENV','production');var t=process.execPath.replaceAll('\\','/').split('/');return t.pop(),e=t.join('/'),e}o.d(t,'a',function(){return n})},function(e){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,o){var n=o(8),r=o(97),s=o(42),a=o(40)('IE_PROTO'),i=function(){},l='prototype',d=function(){var e,t=o(36)('iframe'),n=s.length,r='<',a='>';for(t.style.display='none',o(64).appendChild(t),t.src='javascript:',e=t.contentWindow.document,e.open(),e.write(r+'script'+a+'document.F=Object'+r+'/script'+a),e.close(),d=e.F;n--;)delete d[l][s[n]];return d()};e.exports=Object.create||function(e,t){var o;return null===e?o=d():(i[l]=n(e),o=new i,i[l]=null,o[a]=e),void 0===t?o:r(o,t)}},function(e){var t=0,o=Math.random();e.exports=function(e){return'Symbol('.concat(e===void 0?'':e,')_',(++t+o).toString(36))}},function(e,t,o){var n=o(34);e.exports=function(e){return Object(n(e))}},function(e,t,o){var n=o(21),r=o(3)('toStringTag'),s='Arguments'==n(function(){return arguments}()),a=function(e,t){try{return e[t]}catch(t){}};e.exports=function(e){var t,o,i;return e===void 0?'Undefined':null===e?'Null':'string'==typeof(o=a(t=Object(e),r))?o:s?n(t):'Object'==(i=n(t))&&'function'==typeof t.callee?'Arguments':i}},function(e,t,o){'use strict';function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var r=o(93),s=n(r),a=o(102),i=n(a),l='function'==typeof i.default&&'symbol'==typeof s.default?function(e){return typeof e}:function(e){return e&&'function'==typeof i.default&&e.constructor===i.default&&e!==i.default.prototype?'symbol':typeof e};t.default='function'==typeof i.default&&'symbol'===l(s.default)?function(e){return'undefined'==typeof e?'undefined':l(e)}:function(e){return e&&'function'==typeof i.default&&e.constructor===i.default&&e!==i.default.prototype?'symbol':'undefined'==typeof e?'undefined':l(e)}},function(e){var t=Math.ceil,o=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(065536)throw new TypeError('pattern is too long')};s.prototype.parse=function(e,o){function r(){a&&('*'===a?(p+=f,g=!0):'?'===a?(p+=h,g=!0):p+='\\'+a,w.debug('clearStateChar %j %j',a,p),a=!1)}y(e);var s=this.options;if('**'===e){if(!s.noglobstar)return c;e='*'}if(''===e)return'';for(var a,d,p='',g=!!s.nocase,_=!1,x=[],E=[],S=!1,O=-1,k=-1,v='.'===e.charAt(0)?'':s.dot?'(?!(?:^|\\/)\\.{1,2}(?:$|\\/))':'(?!\\.)',w=this,T=0,i=e.length;T>> no match, partial?',e,u,t,h),u===a)}var m;if('string'==typeof l?(m=d===l,this.debug('string match',l,d,m)):(m=d.match(l),this.debug('pattern match',l,d,m)),!m)return!1}if(r===a&&s===i)return!0;if(r===a)return o;if(s===i)return r===a-1&&''===e[r];throw new Error('wtf?')}},function(e){e.exports=require('util')},function(e){'use strict';function t(e){return'/'===e.charAt(0)}function o(e){var t=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/,o=t.exec(e),n=o[1]||'',r=!!(n&&':'!==n.charAt(1));return!!(o[2]||r)}e.exports='win32'===process.platform?o:t,e.exports.posix=t,e.exports.win32=o},function(e,t,o){'use strict';function n(){var e=O.platform(),t=o(6),n='';'win32'===e&&(n='yjearth4.exe'),'linux'===e&&(n='yjearth4');var r='';'win32'===e&&(r='yjearth4'+h.execPath+'.exe'),'linux'===e&&(r='yjearth4'+h.execPath);var s=b.join(Object(S.a)()+'/yjearth4_0/',n),a=b.join(Object(S.a)()+'/yjearth4_0/',r);console.log('oldPath',a),t.access(s,t.constants.F_OK,function(e){return e?void console.error(s+' does not exist.'):void t.rename(s,a,function(e){return e?void console.error('Error renaming '+s+' to '+a+': '+e):void console.log('File renamed from '+s+' to '+a)})})}function r(){Object(u.b)(),Object(x.a)();var e=h.execPath;console.log('process.env.NODE_ENV +++','production'),n(),Object(E.a)(e),setTimeout(function(){Object(c.runProcess)(e,h.db_path),k=new a.BrowserWindow({minWidth:1500,minHeight:860,useContentSize:!0,simpleFullscreen:!0,resizable:!0,frame:d.a.IsUseSysTitle,icon:P,show:!0,webPreferences:{nodeIntegration:!0,contextIsolation:!1,enableRemoteModule:!0,webSecurity:!1,devTools:!0,scrollBounce:'darwin'===process.platform}}),k.loadURL(w),k.center(),k.maximize(),m.a.Mainfunc(k),k.webContents.on('did-finish-load',function(){k.show(),k.focus(),k.webContents.executeJavaScript('\n const { ipcRenderer } = require(\'electron\'); \n window.addEventListener(\'dragover\', (event) => {\n event.preventDefault();\n event.dataTransfer.dropEffect = \'copy\'; // \u663E\u793A\u590D\u5236\u6548\u679C\n });\n window.addEventListener(\'drop\', (event) => {\n event.preventDefault();\n const files = event.dataTransfer.files;\n if (files.length > 0) {\n ipcRenderer.send(\'files-dropped\', Array.from(files).map(file => file.path));\n }\n });\n ')}),k.webContents.on('did-fail-load',function(){}),k.on('closed',function(){k=null}),k.on('close',function(t){t.preventDefault(),a.dialog.showMessageBox(k,{type:'warning',title:'\u63D0\u793A',message:'\u662F\u5426\u786E\u8BA4\u9000\u51FA\u7CFB\u7EDF?',buttons:['cancel','ok']}).then(function(e){e.response&&(k=null,Object(c.closeChild)(),a.app.exit())})}),a.Menu.setApplicationMenu(null),!1,a.globalShortcut.register('CommandOrControl+f5',function(){k.reload(),k.webContents.once('did-finish-load',function(){setTimeout(function(){k&&!k.isDestroyed()&&(console.log('\u53D1\u9001\u64AD\u653E\u89C6\u9891\u6D88\u606F'),k.webContents.send('start-login-video'))},500)})}),console.log(k.WebPreferences);var t=!0;a.globalShortcut.register('CommandOrControl+f12',function(){k.openDevTools(t),t=!t})},1e3)}function s(){return k}Object.defineProperty(t,'__esModule',{value:!0}),o.d(t,'getmainWindow',function(){return s});var a=o(25),i=o.n(a),l=o(86),d=o.n(l),c=o(56),p=o.n(c),u=o(57),h=o(91),f=o.n(h),m=o(92),g=o(183),y=o.n(g),b=o(1),_=o.n(b),x=o(84),E=o(184),S=o(26),O=o(10);process.env.ELECTRON_DISABLE_SECURITY_WARNINGS=!0,global.__static=o(1).join(__dirname,'/static').replace(/\\/g,'\\\\');var k=void 0,v=void 0,w='file://'+__dirname+'/index.html',T=!a.app.isPackaged,P=b.join(Object(S.a)(),'resources/app.asar/dist/electron/static/logo_ico/81.png'),M=a.app.requestSingleInstanceLock();M?(a.app.on('ready',r),a.app.isReady(),a.app.on('window-all-closed',function(){'darwin'!==process.platform&&a.app.quit()}),a.app.on('activate',function(){null===k&&r()}),a.app.on('second-instance',function(){k&&(k.isMinimized()&&k.restore(),k.focus())}),a.app.on('before-quit',function(){Object(c.closeChild)()}),global.sharedObject={hasService:!1}):a.app.quit()},function(e,t,o){function n(){var e=process.cwd(),t=process.execPath.replaceAll('\\','/').split('/');return t.pop(),e=t.join('/'),e}var r=o(14),s=r.exec,a=r.spawn,i=o(10),l=o(1),d=o(6),c=null;e.exports={runProcess:function(e){var t=1d;)n(l,o=t[d++])&&(~s(i,o)||i.push(o));return i}},function(e,t,o){var n=o(21);e.exports=Object('z').propertyIsEnumerable(0)?Object:function(e){return'String'==n(e)?e.split(''):Object(e)}},function(e,t,o){var n=o(2).document;e.exports=n&&n.documentElement},function(e,t,o){var n=o(13),r=o(30),s=o(40)('IE_PROTO'),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=r(e),n(e,s)?e[s]:'function'==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},function(e){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,o){var n=o(21);e.exports=Array.isArray||function(e){return'Array'==n(e)}},function(e,t,o){var n=o(62),r=o(42).concat('length','prototype');t.f=Object.getOwnPropertyNames||function(e){return n(e,r)}},function(e,t,o){var n=o(46),r=o(27),s=o(17),a=o(37),i=o(13),l=o(60),d=Object.getOwnPropertyDescriptor;t.f=o(9)?d:function(e,t){if(e=s(e),t=a(t,!0),l)try{return d(e,t)}catch(t){}return i(e,t)?r(!n.f.call(e,t),e[t]):void 0}},function(e,t,o){var n=o(31),r=o(3)('iterator'),s=o(16);e.exports=o(0).getIteratorMethod=function(e){if(e!=void 0)return e[r]||e['@@iterator']||s[n(e)]}},function(e,t,o){'use strict';var n=o(2),r=o(0),s=o(7),a=o(9),i=o(3)('species');e.exports=function(e){var t='function'==typeof r[e]?r[e]:n[e];a&&t&&!t[i]&&s.f(t,i,{configurable:!0,get:function(){return this}})}},function(e,t,o){var n=o(5);e.exports=function(e,t){if(!n(e)||e._t!==t)throw TypeError('Incompatible receiver, '+t+' required!');return e}},function(e,t,o){var n=o(8),r=o(20),s=o(3)('species');e.exports=function(e,t){var o,a=n(e).constructor;return a===void 0||(o=n(a)[s])==void 0?t:r(o)}},function(e,t,o){var n,r,s,a=o(11),i=o(136),l=o(64),d=o(36),c=o(2),p=c.process,u=c.setImmediate,h=c.clearImmediate,f=c.MessageChannel,m=c.Dispatch,g=0,y={},b='onreadystatechange',_=function(){var e=+this;if(y.hasOwnProperty(e)){var t=y[e];delete y[e],t()}},x=function(e){_.call(e.data)};u&&h||(u=function(e){for(var t=[],o=1;arguments.length>o;)t.push(arguments[o++]);return y[++g]=function(){i('function'==typeof e?e:Function(e),t)},n(g),g},h=function(e){delete y[e]},'process'==o(21)(p)?n=function(e){p.nextTick(a(_,e,1))}:m&&m.now?n=function(e){m.now(a(_,e,1))}:f?(r=new f,s=r.port2,r.port1.onmessage=x,n=a(s.postMessage,s,1)):c.addEventListener&&'function'==typeof postMessage&&!c.importScripts?(n=function(e){c.postMessage(e+'','*')},c.addEventListener('message',x,!1)):b in d('script')?n=function(e){l.appendChild(d('script'))[b]=function(){l.removeChild(this),_.call(e)}}:n=function(e){setTimeout(a(_,e,1),0)}),e.exports={set:u,clear:h}},function(e){e.exports=function(e){try{return{e:!1,v:e()}}catch(t){return{e:!0,v:t}}}},function(e,t,o){var n=o(8),r=o(5),s=o(50);e.exports=function(e,t){if(n(e),r(t)&&t.constructor===e)return t;var o=s.f(e),a=o.resolve;return a(t),o.promise}},function(e,t,o){function n(e,t,o){if('function'==typeof t&&(o=t,t={}),t||(t={}),t.sync){if(o)throw new TypeError('callback provided to sync glob');return m(e,t)}return new s(e,t,o)}function r(e,t){if(null===t||'object'!=typeof t)return e;for(var o=Object.keys(t),n=o.length;n--;)e[o[n]]=t[o[n]];return e}function s(e,t,o){function r(){--n._processing,0>=n._processing&&(l?process.nextTick(function(){n._finish()}):n._finish())}if('function'==typeof t&&(o=t,t=null),t&&t.sync){if(o)throw new TypeError('callback provided to sync glob');return new k(e,t)}if(!(this instanceof s))return new s(e,t,o);y(this,e,t),this._didRealPath=!1;var a=this.minimatch.set.length;this.matches=Array(a),'function'==typeof o&&(o=O(o),this.on('error',o),this.on('end',function(e){o(null,e)}));var n=this;if(this._processing=0,this._emitQueue=[],this._processQueue=[],this.paused=!1,this.noprocess)return this;if(0===a)return r();for(var l=!0,d=0;dthis.maxLength)return t();if(!this.stat&&b(this.cache,o)){var r=this.cache[o];if(Array.isArray(r)&&(r='DIR'),!n||'DIR'===r)return t(null,r);if(n&&'FILE'===r)return t()}var s=this.statCache[o];if(s!==void 0){if(!1===s)return t(null,s);var a=s.isDirectory()?'DIR':'FILE';return n&&'FILE'==a?t():t(null,a,s)}var i=this,l=_('stat\0'+o,function(n,r){return r&&r.isSymbolicLink()?i.fs.stat(o,function(n,s){n?i._stat2(e,o,null,r,t):i._stat2(e,o,n,s,t)}):void i._stat2(e,o,n,r,t)});l&&i.fs.lstat(o,l)},s.prototype._stat2=function(e,t,o,n,r){if(o&&('ENOENT'===o.code||'ENOTDIR'===o.code))return this.statCache[t]=!1,r();var s='/'===e.slice(-1);if(this.statCache[t]=n,'/'===t.slice(-1)&&n&&!n.isDirectory())return r(null,!1,n);var a=!0;return n&&(a=n.isDirectory()?'DIR':'FILE'),this.cache[t]=this.cache[t]||a,s&&'FILE'===a?r():r(null,a,n)}},function(e,t,o){function n(e){return e&&'realpath'===e.syscall&&('ELOOP'===e.code||'ENOMEM'===e.code||'ENAMETOOLONG'===e.code)}function r(e,t,o){return c?i(e,t,o):void('function'==typeof t&&(o=t,t=null),i(e,t,function(r,s){n(r)?u.realpath(e,t,o):o(r,s)}))}function s(e,t){if(c)return l(e,t);try{return l(e,t)}catch(o){if(n(o))return u.realpathSync(e,t);throw o}}e.exports=r,r.realpath=r,r.sync=s,r.realpathSync=s,r.monkeypatch=function(){a.realpath=r,a.realpathSync=s},r.unmonkeypatch=function(){a.realpath=i,a.realpathSync=l};var a=o(6),i=a.realpath,l=a.realpathSync,d=process.version,c=/^v[0-5]\./.test(d),u=o(143)},function(e){e.exports=require('events')},function(e,t,o){function n(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function r(e,t){return e.localeCompare(t,'en')}function s(e,t){e.ignore=t.ignore||[],Array.isArray(e.ignore)||(e.ignore=[e.ignore]),e.ignore.length&&(e.ignore=e.ignore.map(a))}function a(e){var t=null;if('/**'===e.slice(-3)){var o=e.replace(/(\/\*\*)+$/,'');t=new h(o,{dot:!0})}return{matcher:new h(e,{dot:!0}),gmatcher:t}}function i(e,t){var o=t;return o='/'===t.charAt(0)?c.join(e.root,t):u(t)||''===t?t:e.changedCwd?c.resolve(e.cwd,t):c.resolve(t),'win32'===process.platform&&(o=o.replace(/\\/g,'/')),o}function l(e,t){return!!e.ignore.length&&e.ignore.some(function(e){return e.matcher.match(t)||!!(e.gmatcher&&e.gmatcher.match(t))})}t.setopts=function(e,t,o){if(o||(o={}),o.matchBase&&-1===t.indexOf('/')){if(o.noglobstar)throw new Error('base matching requires globstar');t='**/'+t}e.silent=!!o.silent,e.pattern=t,e.strict=!1!==o.strict,e.realpath=!!o.realpath,e.realpathCache=o.realpathCache||Object.create(null),e.follow=!!o.follow,e.dot=!!o.dot,e.mark=!!o.mark,e.nodir=!!o.nodir,e.nodir&&(e.mark=!0),e.sync=!!o.sync,e.nounique=!!o.nounique,e.nonull=!!o.nonull,e.nosort=!!o.nosort,e.nocase=!!o.nocase,e.stat=!!o.stat,e.noprocess=!!o.noprocess,e.absolute=!!o.absolute,e.fs=o.fs||d,e.maxLength=o.maxLength||Infinity,e.cache=o.cache||Object.create(null),e.statCache=o.statCache||Object.create(null),e.symlinks=o.symlinks||Object.create(null),s(e,o),e.changedCwd=!1;var r=process.cwd();n(o,'cwd')?(e.cwd=c.resolve(o.cwd),e.changedCwd=e.cwd!==r):e.cwd=r,e.root=o.root||c.resolve(e.cwd,'/'),e.root=c.resolve(e.root),'win32'===process.platform&&(e.root=e.root.replace(/\\/g,'/')),e.cwdAbs=u(e.cwd)?e.cwd:i(e,e.cwd),'win32'===process.platform&&(e.cwdAbs=e.cwdAbs.replace(/\\/g,'/')),e.nomount=!!o.nomount,o.nonegate=!0,o.nocomment=!0,o.allowWindowsEscape=!1,e.minimatch=new h(t,o),e.options=e.minimatch.options},t.ownProp=n,t.makeAbs=i,t.finish=function(t){for(var e,o=t.nounique,n=o?[]:Object.create(null),s=0,a=t.matches.length;ss||s>=i?e?'':void 0:(d=c.charCodeAt(s),55296>d||56319(a=c.charCodeAt(s+1))||57343d;)n.f(e,o=a[d++],t[o]);return e}},function(e,t,o){var n=o(17),r=o(39),s=o(99);e.exports=function(e){return function(t,o,a){var i,l=n(t),d=r(l.length),c=s(a,d);if(e&&o!=o){for(;d>c;)if(i=l[c++],i!=i)return!0;}else for(;d>c;c++)if((e||c in l)&&l[c]===o)return e||c||0;return!e&&-1}}},function(e,t,o){var n=o(33),r=Math.max,s=Math.min;e.exports=function(e,t){return e=n(e),0>e?r(e+t,0):s(e,t)}},function(e,t,o){'use strict';var n=o(101),r=o(66),s=o(16),a=o(17);e.exports=o(35)(Array,'Array',function(e,t){this._t=a(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,o=this._i++;return!e||o>=e.length?(this._t=void 0,r(1)):'keys'==t?r(0,o):'values'==t?r(0,e[o]):r(0,[o,e[o]])},'values'),s.Arguments=s.Array,n('keys'),n('values'),n('entries')},function(e){e.exports=function(){}},function(e,t,o){e.exports={default:o(103),__esModule:!0}},function(e,t,o){o(104),o(47),o(107),o(108),e.exports=o(0).Symbol},function(e,t,o){'use strict';var n=o(2),r=o(13),s=o(9),a=o(4),i=o(61),l=o(44).KEY,d=o(15),c=o(41),p=o(22),u=o(29),h=o(3),f=o(43),m=o(45),g=o(105),y=o(68),b=o(8),_=o(5),x=o(30),E=o(17),S=o(37),O=o(27),v=o(28),w=o(106),T=o(70),P=o(67),M=o(7),A=o(38),I=T.f,R=M.f,D=w.f,N=n.Symbol,C=n.JSON,L=C&&C.stringify,$='prototype',F=h('_hidden'),G=h('toPrimitive'),Y={}.propertyIsEnumerable,W=c('symbol-registry'),H=c('symbols'),U=c('op-symbols'),B=Object[$],K='function'==typeof N&&!!P.f,q=n.QObject,z=!q||!q[$]||!q[$].findChild,V=s&&d(function(){return 7!=v(R({},'a',{get:function(){return R(this,'a',{value:7}).a}})).a})?function(e,t,o){var n=I(B,t);n&&delete B[t],R(e,t,o),n&&e!==B&&R(B,t,n)}:R,J=function(e){var t=H[e]=v(N[$]);return t._k=e,t},Q=K&&'symbol'==typeof N.iterator?function(e){return'symbol'==typeof e}:function(e){return e instanceof N},Z=function(e,t,o){return e===B&&Z(U,t,o),b(e),t=S(t,!0),b(o),r(H,t)?(o.enumerable?(r(e,F)&&e[F][t]&&(e[F][t]=!1),o=v(o,{enumerable:O(0,!1)})):(!r(e,F)&&R(e,F,O(1,{})),e[F][t]=!0),V(e,t,o)):R(e,t,o)},X=function(e,t){b(e);for(var o,n=g(t=E(t)),r=0,s=n.length;s>r;)Z(e,o=n[r++],t[o]);return e},ee=function(e){var t=Y.call(this,e=S(e,!0));return this===B&&r(H,e)&&!r(U,e)?!1:t||!r(this,e)||!r(H,e)||r(this,F)&&this[F][e]?t:!0},te=function(e,t){if(e=E(e),t=S(t,!0),e!==B||!r(H,t)||r(U,t)){var o=I(e,t);return o&&r(H,t)&&!(r(e,F)&&e[F][t])&&(o.enumerable=!0),o}},oe=function(e){for(var t,o=D(E(e)),n=[],s=0;o.length>s;)r(H,t=o[s++])||t==F||t==l||n.push(t);return n},ne=function(e){for(var t,o=e===B,n=D(o?U:E(e)),s=[],a=0;n.length>a;)r(H,t=n[a++])&&(!o||r(B,t))&&s.push(H[t]);return s};K||(N=function(){if(this instanceof N)throw TypeError('Symbol is not a constructor!');var e=u(0se;)h(re[se++]);for(var j=A(h.store),ae=0;j.length>ae;)m(j[ae++]);a(a.S+a.F*!K,'Symbol',{for:function(e){return r(W,e+='')?W[e]:W[e]=N(e)},keyFor:function(e){if(!Q(e))throw TypeError(e+' is not a symbol!');for(var t in W)if(W[t]===e)return t},useSetter:function(){z=!0},useSimple:function(){z=!1}}),a(a.S+a.F*!K,'Object',{create:function(e,t){return t===void 0?v(e):X(v(e),t)},defineProperty:Z,defineProperties:X,getOwnPropertyDescriptor:te,getOwnPropertyNames:oe,getOwnPropertySymbols:ne});var k=d(function(){P.f(1)});a(a.S+a.F*k,'Object',{getOwnPropertySymbols:function(e){return P.f(x(e))}}),C&&a(a.S+a.F*(!K||d(function(){var e=N();return'[null]'!=L([e])||'{}'!=L({a:e})||'{}'!=L(Object(e))})),'JSON',{stringify:function(e){for(var t,o,n=[e],r=1;arguments.length>r;)n.push(arguments[r++]);if(o=t=n[1],(_(t)||void 0!==e)&&!Q(e))return y(t)||(t=function(e,t){if('function'==typeof o&&(t=o.call(this,e,t)),!Q(t))return t}),n[1]=t,L.apply(C,n)}}),N[$][G]||o(12)(N[$],G,N[$].valueOf),p(N,'Symbol'),p(Math,'Math',!0),p(n.JSON,'JSON',!0)},function(e,t,o){var n=o(38),r=o(67),s=o(46);e.exports=function(e){var t=n(e),o=r.f;if(o)for(var a,l=o(e),d=s.f,c=0;l.length>c;)d.call(e,a=l[c++])&&t.push(a);return t}},function(e,t,o){var n=o(17),r=o(69).f,s={}.toString,a='object'==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],i=function(e){try{return r(e)}catch(t){return a.slice()}};e.exports.f=function(e){return a&&'[object Window]'==s.call(e)?i(e):r(n(e))}},function(e,t,o){o(45)('asyncIterator')},function(e,t,o){o(45)('observable')},function(e,t,o){e.exports={default:o(110),__esModule:!0}},function(e,t,o){o(47),o(18),o(23),o(111),o(119),o(122),o(124),e.exports=o(0).Map},function(e,t,o){'use strict';var n=o(112),r=o(73),s='Map';e.exports=o(115)(s,function(e){return function(){return e(this,0b;b++)if((5==e||d||b in g)&&(u=g[b],h=y(u,b,m),e))if(o)_[b]=h;else if(h)switch(e){case 3:return!0;case 5:return u;case 6:return b;case 2:_.push(u);}else if(l)return!1;return d?-1:3==e||l?l:_}}},function(e,t,o){var n=o(118);e.exports=function(e,t){return new(n(e))(t)}},function(e,t,o){var n=o(5),r=o(68),s=o(3)('species');e.exports=function(e){var t;return r(e)&&(t=e.constructor,'function'==typeof t&&(t===Array||r(t.prototype))&&(t=void 0),n(t)&&(t=t[s],null===t&&(t=void 0))),void 0===t?Array:t}},function(e,t,o){var n=o(4);n(n.P+n.R,'Map',{toJSON:o(120)('Map')})},function(e,t,o){var n=o(31),r=o(121);e.exports=function(e){return function(){if(n(this)!=e)throw TypeError(e+'#toJSON isn\'t generic');return r(this)}}},function(e,t,o){var n=o(24);e.exports=function(e,t){var o=[];return n(e,!1,o.push,o,t),o}},function(e,t,o){o(123)('Map')},function(e,t,o){'use strict';var n=o(4);e.exports=function(e){n(n.S,e,{of:function(){for(var e=arguments.length,t=Array(e);e--;)t[e]=arguments[e];return new this(t)}})}},function(e,t,o){o(125)('Map')},function(e,t,o){'use strict';var n=o(4),r=o(20),s=o(11),a=o(24);e.exports=function(e){n(n.S,e,{from:function(e){var t,o,i,n,l=arguments[1];return(r(this),t=void 0!==l,t&&r(l),void 0==e)?new this:(o=[],t?(i=0,n=s(l,arguments[2],2),a(e,!1,function(e){o.push(n(e,i++))})):a(e,!1,o.push,o),new this(o))}})}},function(e,t,o){'use strict';function n(e,t){console.log(e);try{var o=s.exec(e,{cwd:r.join(process.cwd(),'convert')});o.stdout.on('data',function(){}),o.stderr.on('data',function(){console.log('stderr_________________________')}),o.on('close',function(e){console.log('out code_______________________\uFF1A'+e),t()})}catch(t){console.log(t)}}t.c=function(e,t,o){n('start '+a+' -f osgb -i '+e+' -o '+t,o)},t.d=function(e,t,o){n('start '+a+' -f shape -i '+e+' -o '+t+' --height height',o)},t.a=function(e,t,o){n('start '+a+' -f b3dm -i '+e+' -o '+t,o)},t.b=function(e,t,o){try{var n=s.exec('start '+l+' -i '+e+' -o '+t,{cwd:r.join(process.cwd(),'collada2gltf')});n.on('close',function(){o()})}catch(t){console.log(t)}};var r=o(1),s=o(14),a=r.join(process.cwd(),'/convert/_3dtile.exe'),l=r.join(process.cwd(),'/collada2gltf/COLLADA2GLTF-bin.exe')},function(e,t,o){'use strict';t.a=function(){this.obj2gltf=function(e){s(e+'.obj').then(function(t){var o=Buffer.from(r()(t));a.writeFileSync(e+'.gltf',o)})},this.obj2glb=function(e,t,o){s(e,{binary:!0}).then(function(e){a.writeFileSync(t,e),o()})}};var n=o(128),r=o.n(n),s=o(130),a=o(6),i=o(131),l=i.processGltf},function(e,t,o){e.exports={default:o(129),__esModule:!0}},function(e,t,o){var n=o(0),r=n.JSON||(n.JSON={stringify:JSON.stringify});e.exports=function(){return r.stringify.apply(r,arguments)}},function(e){e.exports=require('obj2gltf')},function(e){e.exports=require('gltf-pipeline')},function(e,t,o){'use strict';t.a=function(){function e(e,t){var o=2')))})}catch(e){r(e)}})}this.fbx2glb=function(t,o,n){e(t,o,['--khr-materials-unlit']).then(function(e){n(e)},function(e){n(e)})}};var n=o(133),r=o.n(n),s=o(14),a=o(6),i=o(10),l=o(1),d=o(142);console.log(l.join(process.cwd(),'convert/FBX2glTF.exe'))},function(e,t,o){e.exports={default:o(134),__esModule:!0}},function(e,t,o){o(47),o(18),o(23),o(135),o(140),o(141),e.exports=o(0).Promise},function(e,t,o){'use strict';var n,r,s,a,i=o(19),l=o(2),d=o(11),c=o(31),p=o(4),u=o(5),h=o(20),f=o(49),m=o(24),g=o(74),y=o(75).set,b=o(137)(),_=o(50),x=o(76),E=o(138),S=o(77),O='Promise',k=l.TypeError,v=l.process,w=v&&v.versions,T=w&&w.v8||'',P=l[O],M='process'==c(v),j=function(){},A=r=_.f,I=!!function(){try{var e=P.resolve(1),t=(e.constructor={})[o(3)('species')]=function(e){e(j,j)};return(M||'function'==typeof PromiseRejectionEvent)&&e.then(j)instanceof t&&0!==T.indexOf('6.6')&&-1===E.indexOf('Chrome/66')}catch(t){}}(),R=function(e){var t;return u(e)&&'function'==typeof(t=e.then)&&t},D=function(e,t){if(!e._n){e._n=!0;var o=e._c;b(function(){for(var n=e._v,r=1==e._s,s=0,a=function(t){var o,s,a,i=r?t.ok:t.fail,l=t.resolve,d=t.reject,c=t.domain;try{i?(!r&&(2==e._h&&L(e),e._h=1),!0===i?o=n:(c&&c.enter(),o=i(n),c&&(c.exit(),a=!0)),o===t.promise?d(k('Promise-chain cycle')):(s=R(o))?s.call(o,l,d):l(o)):d(n)}catch(t){c&&!a&&c.exit(),d(t)}};o.length>s;)a(o[s++]);e._c=[],e._n=!1,t&&!e._h&&N(e)})}},N=function(e){y.call(l,function(){var t,o,n,r=e._v,s=C(e);if(s&&(t=x(function(){M?v.emit('unhandledRejection',r,e):(o=l.onunhandledrejection)?o({promise:e,reason:r}):(n=l.console)&&n.error&&n.error('Unhandled promise rejection',r)}),e._h=M||C(e)?2:1),e._a=void 0,s&&t.e)throw t.v})},C=function(e){return 1!==e._h&&0===(e._a||e._c).length},L=function(e){y.call(l,function(){var t;M?v.emit('rejectionHandled',e):(t=l.onrejectionhandled)&&t({promise:e,reason:e._v})})},$=function(e){var t=this;t._d||(t._d=!0,t=t._w||t,t._v=e,t._s=2,!t._a&&(t._a=t._c.slice()),D(t,!0))},F=function(e){var t,o=this;if(!o._d){o._d=!0,o=o._w||o;try{if(o===e)throw k('Promise can\'t be resolved itself');(t=R(e))?b(function(){var n={_w:o,_d:!1};try{t.call(e,d(F,n,1),d($,n,1))}catch(t){$.call(n,t)}}):(o._v=e,o._s=1,D(o,!1))}catch(t){$.call({_w:o,_d:!1},t)}}};I||(P=function(e){f(this,P,O,'_h'),h(e),n.call(this);try{e(d(F,this,1),d($,this,1))}catch(e){$.call(this,e)}},n=function(){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},n.prototype=o(48)(P.prototype,{then:function(e,t){var o=A(g(this,P));return o.ok='function'!=typeof e||e,o.fail='function'==typeof t&&t,o.domain=M?v.domain:void 0,this._c.push(o),this._a&&this._a.push(o),this._s&&D(this,!1),o.promise},catch:function(e){return this.then(void 0,e)}}),s=function(){var e=new n;this.promise=e,this.resolve=d(F,e,1),this.reject=d($,e,1)},_.f=A=function(e){return e===P||e===a?new s(e):r(e)}),p(p.G+p.W+p.F*!I,{Promise:P}),o(22)(P,O),o(72)(O),a=o(0)[O],p(p.S+p.F*!I,O,{reject:function(e){var t=A(this),o=t.reject;return o(e),t.promise}}),p(p.S+p.F*(i||!I),O,{resolve:function(e){return S(i&&this===a?P:this,e)}}),p(p.S+p.F*!(I&&o(139)(function(e){P.all(e)['catch'](j)})),O,{all:function(e){var t=this,o=A(t),n=o.resolve,r=o.reject,s=x(function(){var o=[],s=0,a=1;m(e,!1,function(e){var i=s++,l=!1;o.push(void 0),a++,t.resolve(e).then(function(e){l||(l=!0,o[i]=e,--a||n(o))},r)}),--a||n(o)});return s.e&&r(s.v),o.promise},race:function(e){var t=this,o=A(t),n=o.reject,r=x(function(){m(e,!1,function(e){t.resolve(e).then(o.resolve,n)})});return r.e&&n(r.v),o.promise}})},function(e){e.exports=function(e,t,o){var n=o===void 0;switch(t.length){case 0:return n?e():e.call(o);case 1:return n?e(t[0]):e.call(o,t[0]);case 2:return n?e(t[0],t[1]):e.call(o,t[0],t[1]);case 3:return n?e(t[0],t[1],t[2]):e.call(o,t[0],t[1],t[2]);case 4:return n?e(t[0],t[1],t[2],t[3]):e.call(o,t[0],t[1],t[2],t[3]);}return e.apply(o,t)}},function(e,t,o){var n=o(2),r=o(75).set,s=n.MutationObserver||n.WebKitMutationObserver,a=n.process,i=n.Promise,l='process'==o(21)(a);e.exports=function(){var t,o,d,e=function(){var e,n;for(l&&(e=a.domain)&&e.exit();t;){n=t.fn,t=t.next;try{n()}catch(n){throw t?d():o=void 0,n}}o=void 0,e&&e.enter()};if(l)d=function(){a.nextTick(e)};else if(s&&!(n.navigator&&n.navigator.standalone)){var c=!0,p=document.createTextNode('');new s(e).observe(p,{characterData:!0}),d=function(){p.data=c=!c}}else if(i&&i.resolve){var u=i.resolve(void 0);d=function(){u.then(e)}}else d=function(){r.call(n,e)};return function(e){var n={fn:e,next:void 0};o&&(o.next=n),t||(t=n,d()),o=n}}},function(e,t,o){var n=o(2),r=n.navigator;e.exports=r&&r.userAgent||''},function(e,t,o){var n=o(3)('iterator'),r=!1;try{var s=[7][n]();s['return']=function(){r=!0},Array.from(s,function(){throw 2})}catch(t){}e.exports=function(e,t){if(!t&&!r)return!1;var o=!1;try{var s=[7],a=s[n]();a.next=function(){return{done:o=!0}},s[n]=function(){return a},e(s)}catch(t){}return o}},function(e,t,o){'use strict';var n=o(4),r=o(0),s=o(2),a=o(74),i=o(77);n(n.P+n.R,'Promise',{finally:function(t){var o=a(this,r.Promise||s.Promise),e='function'==typeof t;return this.then(e?function(e){return i(o,t()).then(function(){return e})}:t,e?function(n){return i(o,t()).then(function(){throw n})}:t)}})},function(e,t,o){'use strict';var n=o(4),r=o(50),s=o(76);n(n.S,'Promise',{try:function(e){var t=r.f(this),o=s(e);return(o.e?t.reject:t.resolve)(o.v),t.promise}})},function(e,t,o){function r(e){if(['unlink','chmod','stat','lstat','rmdir','readdir'].forEach(function(t){e[t]=e[t]||p[t],t+='Sync',e[t]=e[t]||p[t]}),e.maxBusyTries=e.maxBusyTries||3,e.emfileWait=e.emfileWait||1e3,!1===e.glob&&(e.disableGlob=!0),!0!==e.disableGlob&&void 0===g)throw Error('glob dependency not found, set `options.disableGlob = true` if intentional');e.disableGlob=e.disableGlob||!1,e.glob=e.glob||b}function s(e,t,o){function s(e){l=l||e,0==--d&&o(l)}function a(e,r){return e?o(e):(d=r.length,0===d?o():void r.forEach(function(e){n(e,t,function o(r){if(r){if(('EBUSY'===r.code||'ENOTEMPTY'===r.code||'EPERM'===r.code)&&i=e.length)return t&&(t[m]=e),o(null,e);c.lastIndex=f;var n=c.exec(e);return b=g,g+=n[0],y=b+n[1],f=c.lastIndex,x[y]||t&&t[y]===y?process.nextTick(l):t&&Object.prototype.hasOwnProperty.call(t,y)?h(t[y]):i.lstat(y,d)}function d(e,n){if(e)return o(e);if(!n.isSymbolicLink())return x[y]=!0,t&&(t[y]=y),process.nextTick(l);if(!a){var r=n.dev.toString(32)+':'+n.ino.toString(32);if(_.hasOwnProperty(r))return p(null,_[r],y)}i.stat(y,function(e){return e?o(e):void i.readlink(y,function(e,t){a||(_[r]=t),p(e,t)})})}function p(e,n,r){if(e)return o(e);var a=s.resolve(b,n);t&&(t[r]=a),h(a)}function h(t){e=s.resolve(t,e.slice(f)),n()}if('function'!=typeof o&&(o=r(t),t=null),e=s.resolve(e),t&&Object.prototype.hasOwnProperty.call(t,e))return process.nextTick(o.bind(null,null,t[e]));var f,g,y,b,m=e,_={},x={};n()}},function(e,t,o){function r(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function n(e){return e.split('\\\\').join(i).split('\\{').join(c).split('\\}').join(b).split('\\,').join(m).split('\\.').join(y)}function s(e){return e.split(i).join('\\').split(c).join('{').split(b).join('}').split(m).join(',').split(y).join('.')}function a(e){if(!e)return[''];var t=[],o=g('{','}',e);if(!o)return e.split(',');var n=o.pre,r=o.body,s=o.post,i=n.split(',');i[i.length-1]+='{'+r+'}';var l=a(s);return s.length&&(i[i.length-1]+=l.shift(),i.push.apply(i,l)),t.push.apply(t,i),t}function l(e){return'{'+e+'}'}function d(e){return /^-?0\d/.test(e)}function p(e,t){return e<=t}function u(e,t){return e>=t}function h(e,t){var o=[],s=g('{','}',e);if(!s||/\$$/.test(s.pre))return[e];var _=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(s.body),E=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(s.body),S=_||E,O=0<=s.body.indexOf(',');if(!S&&!O)return s.post.match(/,.*\}/)?(e=s.pre+'{'+s.body+b+s.post,h(e)):[e];var v;if(S)v=s.body.split(/\.\./);else if(v=a(s.body),1===v.length&&(v=h(v[0],!1).map(l),1===v.length)){var n=s.post.length?h(s.post,!1):[''];return n.map(function(e){return s.pre+v[0]+e})}var w,T=s.pre,n=s.post.length?h(s.post,!1):[''];if(S){var P=r(v[0]),x=r(v[1]),y=Math.max(v[0].length,v[1].length),M=3==v.length?Math.abs(r(v[2])):1,A=p;xR?'-'+D+i.slice(1):D+i}}w.push(i)}}else w=f(v,function(e){return h(e,!1)});for(var N=0;Nthis.maxLength)return!1;if(!this.stat&&m(this.cache,t)){var n=this.cache[t];if(Array.isArray(n)&&(n='DIR'),!o||'DIR'===n)return n;if(o&&'FILE'===n)return!1}var r=this.statCache[t];if(!r){var s;try{s=this.fs.lstatSync(t)}catch(e){if(e&&('ENOENT'===e.code||'ENOTDIR'===e.code))return this.statCache[t]=!1,!1}if(s&&s.isSymbolicLink())try{r=this.fs.statSync(t)}catch(e){r=s}else r=s}this.statCache[t]=r;var n=!0;return r&&(n=r.isDirectory()?'DIR':'FILE'),this.cache[t]=this.cache[t]||n,o&&'FILE'===n?!1:n},r.prototype._mark=function(e){return h.mark(this,e)},r.prototype._makeAbs=function(e){return h.makeAbs(this,e)}},function(e,t,o){function n(e){return i(function t(){var o=a[e],n=o.length,s=r(arguments);try{for(var l=0;ln?(o.splice(0,n),process.nextTick(function(){t.apply(null,s)})):delete a[e]}})}function r(e){for(var t=e.length,o=[],n=0;n=t?o:''+Array(t+1-n.length).join(e)+o},L='en',g={};g[L]={name:'en',weekdays:['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],months:['January','February','March','April','May','June','July','August','September','October','November','December'],ordinal:function(o){var t=['th','st','nd','rd'],e=o%100;return'['+o+(t[(e-20)%10]||t[e]||t[0])+']'}};var D='$isDayjsObject',p=function(e){return e instanceof b||e&&e[D]},S=function o(t,l,n){var d;if(!t)return L;if('string'==typeof t){var c=t.toLowerCase();g[c]&&(d=c),l&&(g[c]=l,d=c);var s=t.split('-');if(!d&&1=t?'+':'-')+y(n,2,'0')+':'+y(e%60,2,'0')},m:function o(t,e){if(t.date()e-r,s=t.clone().add(n+(a?-1:1),I);return+(-(n+(e-r)/(a?r-s:s-r))||0)},a:function(e){return 0>e?Math.ceil(e)||0:s(e)},p:function(e){return{M:I,y:N,w:n,d:A,D:C,h:j,m:P,s:T,ms:E,Q:R}[e]||((e||'')+'').toLowerCase().replace(/s$/,'')},u:function(e){return void 0===e}};O.l=S,O.i=p,O.w=function(o,t){return w(o,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var b=function(){function o(e){this.$L=S(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[D]=!0}var a=Math.round,r=o.prototype;return r.parse=function(e){this.$d=function(o){var t=o.date,a=o.utc;if(null===t)return new Date(NaN);if(O.u(t))return new Date;if(t instanceof Date)return new Date(t);if('string'==typeof t&&!/Z$/i.test(t)){var n=t.match(l);if(n){var r=n[2]-1||0,i=(n[7]||'0').substring(0,3);return a?new Date(Date.UTC(n[1],r,n[3]||1,n[4]||0,n[5]||0,n[6]||0,i)):new Date(n[1],r,n[3]||1,n[4]||0,n[5]||0,n[6]||0,i)}}return new Date(t)}(e),this.init()},r.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},r.$utils=function(){return O},r.isValid=function(){return this.$d.toString()!==v},r.isSame=function(o,t){var e=w(o);return this.startOf(t)<=e&&e<=this.endOf(t)},r.isAfter=function(o,t){return w(o)o?'AM':'PM';return e?n.toLowerCase():n};return m.replace(M,function(l,t){return t||function(l){return'YY'===l?(p.$y+'').slice(-2):'YYYY'===l?O.s(p.$y,4,'0'):'M'===l?i+1:'MM'===l?O.s(i+1,2,'0'):'MMM'===l?c(e.monthsShort,i,o,3):'MMMM'===l?c(o,i):'D'===l?p.$D:'DD'===l?O.s(p.$D,2,'0'):'d'===l?p.$W+'':'dd'===l?c(e.weekdaysMin,p.$W,a,2):'ddd'===l?c(e.weekdaysShort,p.$W,a,3):'dddd'===l?a[p.$W]:'H'===l?r+'':'HH'===l?O.s(r,2,'0'):'h'===l?u(1):'hh'===l?u(2):'a'===l?d(r,s,!0):'A'===l?d(r,s,!1):'m'===l?s+'':'mm'===l?O.s(s,2,'0'):'s'===l?p.$s+'':'ss'===l?O.s(p.$s,2,'0'):'SSS'===l?O.s(p.$ms,3,'0'):'Z'===l?n:null}(l)||n.replace(':','')})},r.utcOffset=function(){return 15*-a(this.$d.getTimezoneOffset()/15)},r.diff=function(o,r,s){var a,i=this,l=O.p(r),d=w(o),c=(d.utcOffset()-this.utcOffset())*t,p=this-d,u=function(){return O.m(i,d)};return a=l===N?u()/12:l===I?u():l===R?u()/3:l===n?(p-c)/6048e5:l===A?(p-c)/864e5:l===j?p/e:l===P?p/t:l===T?p/x:p,s?a:O.a(a)},r.daysInMonth=function(){return this.endOf(I).$D},r.$locale=function(){return g[this.$L]},r.locale=function(o,s){if(!o)return this.$L;var e=this.clone(),n=S(o,s,!0);return n&&(e.$L=n),e},r.clone=function(){return O.w(this.$d,this)},r.toDate=function(){return new Date(this.valueOf())},r.toJSON=function(){return this.isValid()?this.toISOString():null},r.toISOString=function(){return this.$d.toISOString()},r.toString=function(){return this.$d.toUTCString()},o}(),_=b.prototype;return w.prototype=_,[['$ms',E],['$s',T],['$m',P],['$H',j],['$W',A],['$M',I],['$y',N],['$D',C]].forEach(function(o){_[o[1]]=function(t){return this.$g(t,o[0],o[1])}}),w.extend=function(o,t){return o.$i||(o(t,b,w),o.$i=!0),w},w.locale=S,w.isDayjs=p,w.unix=function(e){return w(1e3*e)},w.en=g[L],w.Ls=g,w.p={},w})},function(e,t,o){'use strict';function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var r=o(173),s=n(r),a=o(85),l=n(a);t.default=function(){function e(e,t){var o=[],n=!0,r=!1,s=void 0;try{for(var a,i=(0,l.default)(e);!(n=(a=i.next()).done)&&(o.push(a.value),!(t&&o.length===t));n=!0);}catch(e){r=!0,s=e}finally{try{!n&&i['return']&&i['return']()}finally{if(r)throw s}}return o}return function(t,o){if(Array.isArray(t))return t;if((0,s.default)(Object(t)))return e(t,o);throw new TypeError('Invalid attempt to destructure non-iterable instance')}}()},function(e,t,o){e.exports={default:o(174),__esModule:!0}},function(e,t,o){o(23),o(18),e.exports=o(175)},function(e,t,o){var n=o(31),r=o(3)('iterator'),s=o(16);e.exports=o(0).isIterable=function(e){var t=Object(e);return t[r]!==void 0||'@@iterator'in t||s.hasOwnProperty(n(t))}},function(e,t,o){o(23),o(18),e.exports=o(177)},function(e,t,o){var n=o(8),r=o(71);e.exports=o(0).getIterator=function(e){var t=r(e);if('function'!=typeof t)throw TypeError(e+' is not iterable!');return n(t.call(e))}},function(e){e.exports=require('dgram')},function(e,t,o){'use strict';var n=o(180),r=o(1),s=process.cwd();s=process.execPath.replaceAll('\\','/').split('/'),s.pop(),s=s.join('/'),console.log(r.join(s,'logs/access.log')),n.configure({appenders:{access:{type:'dateFile',filename:r.join(s,'logs/access.log'),pattern:'-yyyy-MM-dd-hh',alwaysIncludePattern:!0,layout:{type:'pattern',pattern:'[%d{yyyy-MM-dd hh:mm:ss}] %m'}}},categories:{default:{appenders:['access'],level:'debug'}}});n.getLogger()},function(e){e.exports=require('log4js')},function(e){e.exports=require('ini')},function(e){e.exports=require('http')},function(){},function(e,t,o){'use strict';function n(e){var t;switch(l.platform()){case'win32':e='yjearth4'+e+'.exe',t='tasklist | findstr "'+e+'"',i(t,function(t,o){if(t)return void console.error('\u6267\u884C tasklist \u547D\u4EE4\u65F6\u51FA\u9519: '+t);var n=o.split('\n'),r=!0,a=!1,l=void 0;try{for(var d,c,p=s()(n);!(r=(d=p.next()).done);r=!0)c=d.value,c.includes(e)&&function(){var t=c.split(/\s+/),o=t[1];i('taskkill /F /PID '+o,function(t){return t?void console.error('\u6740\u6B7B\u8FDB\u7A0B\u65F6\u51FA\u9519: '+t):void console.log('\u5DF2\u5728 Windows \u7CFB\u7EDF\u6740\u6B7B\u8FDB\u7A0B '+e+' (PID: '+o+')')})}()}catch(e){a=!0,l=e}finally{try{!r&&p.return&&p.return()}finally{if(a)throw l}}});break;case'linux':t='ps -ef | grep "yjearth4'+e+'"',i(t,function(t,o){if(t)return void console.error('\u6267\u884C ps \u547D\u4EE4\u65F6\u51FA\u9519: '+t);var n=o.split('\n'),r=!0,a=!1,l=void 0;try{for(var d,c,p=s()(n);!(r=(d=p.next()).done);r=!0)c=d.value,c.includes(e)&&function(){var t=c.split(/\s+/),o=t[1];i('kill -9 '+o,function(t){return t?void console.error('\u6740\u6B7B\u8FDB\u7A0B\u65F6\u51FA\u9519: '+t):void console.log('\u5DF2\u5728 Linux \u7CFB\u7EDF\u6740\u6B7B\u8FDB\u7A0B '+e+' (PID: '+o+')')})}()}catch(e){a=!0,l=e}finally{try{!r&&p.return&&p.return()}finally{if(a)throw l}}});break;default:console.error('\u4E0D\u652F\u6301\u7684\u64CD\u4F5C\u7CFB\u7EDF: '+l.platform());}}o.d(t,'a',function(){return n});var r=o(85),s=o.n(r),a=o(14),i=a.exec,l=o(10)}]); \ No newline at end of file +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 88); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports) { + +var core = module.exports = { version: '2.6.12' }; +if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef + + +/***/ }), +/* 1 */ +/***/ (function(module, exports) { + +module.exports = require("path"); + +/***/ }), +/* 2 */ +/***/ (function(module, exports) { + +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +var global = module.exports = typeof window != 'undefined' && window.Math == Math + ? window : typeof self != 'undefined' && self.Math == Math ? self + // eslint-disable-next-line no-new-func + : Function('return this')(); +if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef + + +/***/ }), +/* 3 */ +/***/ (function(module, exports, __webpack_require__) { + +var store = __webpack_require__(43)('wks'); +var uid = __webpack_require__(30); +var Symbol = __webpack_require__(2).Symbol; +var USE_SYMBOL = typeof Symbol == 'function'; + +var $exports = module.exports = function (name) { + return store[name] || (store[name] = + USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); +}; + +$exports.store = store; + + +/***/ }), +/* 4 */ +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(2); +var core = __webpack_require__(0); +var ctx = __webpack_require__(11); +var hide = __webpack_require__(12); +var has = __webpack_require__(14); +var PROTOTYPE = 'prototype'; + +var $export = function (type, name, source) { + var IS_FORCED = type & $export.F; + var IS_GLOBAL = type & $export.G; + var IS_STATIC = type & $export.S; + var IS_PROTO = type & $export.P; + var IS_BIND = type & $export.B; + var IS_WRAP = type & $export.W; + var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); + var expProto = exports[PROTOTYPE]; + var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]; + var key, own, out; + if (IS_GLOBAL) source = name; + for (key in source) { + // contains in native + own = !IS_FORCED && target && target[key] !== undefined; + if (own && has(exports, key)) continue; + // export native or passed + out = own ? target[key] : source[key]; + // prevent global pollution for namespaces + exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key] + // bind timers to global for call from export context + : IS_BIND && own ? ctx(out, global) + // wrap global constructors for prevent change them in library + : IS_WRAP && target[key] == out ? (function (C) { + var F = function (a, b, c) { + if (this instanceof C) { + switch (arguments.length) { + case 0: return new C(); + case 1: return new C(a); + case 2: return new C(a, b); + } return new C(a, b, c); + } return C.apply(this, arguments); + }; + F[PROTOTYPE] = C[PROTOTYPE]; + return F; + // make static versions for prototype methods + })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; + // export proto methods to core.%CONSTRUCTOR%.methods.%NAME% + if (IS_PROTO) { + (exports.virtual || (exports.virtual = {}))[key] = out; + // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME% + if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out); + } + } +}; +// type bitmap +$export.F = 1; // forced +$export.G = 2; // global +$export.S = 4; // static +$export.P = 8; // proto +$export.B = 16; // bind +$export.W = 32; // wrap +$export.U = 64; // safe +$export.R = 128; // real proto method for `library` +module.exports = $export; + + +/***/ }), +/* 5 */ +/***/ (function(module, exports) { + +module.exports = function (it) { + return typeof it === 'object' ? it !== null : typeof it === 'function'; +}; + + +/***/ }), +/* 6 */ +/***/ (function(module, exports) { + +module.exports = require("fs"); + +/***/ }), +/* 7 */ +/***/ (function(module, exports, __webpack_require__) { + +var anObject = __webpack_require__(8); +var IE8_DOM_DEFINE = __webpack_require__(62); +var toPrimitive = __webpack_require__(39); +var dP = Object.defineProperty; + +exports.f = __webpack_require__(9) ? Object.defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPrimitive(P, true); + anObject(Attributes); + if (IE8_DOM_DEFINE) try { + return dP(O, P, Attributes); + } catch (e) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; +}; + + +/***/ }), +/* 8 */ +/***/ (function(module, exports, __webpack_require__) { + +var isObject = __webpack_require__(5); +module.exports = function (it) { + if (!isObject(it)) throw TypeError(it + ' is not an object!'); + return it; +}; + + +/***/ }), +/* 9 */ +/***/ (function(module, exports, __webpack_require__) { + +// Thank's IE8 for his funny defineProperty +module.exports = !__webpack_require__(16)(function () { + return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; +}); + + +/***/ }), +/* 10 */ +/***/ (function(module, exports) { + +module.exports = require("os"); + +/***/ }), +/* 11 */ +/***/ (function(module, exports, __webpack_require__) { + +// optional / simple context binding +var aFunction = __webpack_require__(21); +module.exports = function (fn, that, length) { + aFunction(fn); + if (that === undefined) return fn; + switch (length) { + case 1: return function (a) { + return fn.call(that, a); + }; + case 2: return function (a, b) { + return fn.call(that, a, b); + }; + case 3: return function (a, b, c) { + return fn.call(that, a, b, c); + }; + } + return function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + + +/***/ }), +/* 12 */ +/***/ (function(module, exports, __webpack_require__) { + +var dP = __webpack_require__(7); +var createDesc = __webpack_require__(28); +module.exports = __webpack_require__(9) ? function (object, key, value) { + return dP.f(object, key, createDesc(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + + +/***/ }), +/* 13 */ +/***/ (function(module, exports) { + +module.exports = require("electron"); + +/***/ }), +/* 14 */ +/***/ (function(module, exports) { + +var hasOwnProperty = {}.hasOwnProperty; +module.exports = function (it, key) { + return hasOwnProperty.call(it, key); +}; + + +/***/ }), +/* 15 */ +/***/ (function(module, exports) { + +module.exports = require("child_process"); + +/***/ }), +/* 16 */ +/***/ (function(module, exports) { + +module.exports = function (exec) { + try { + return !!exec(); + } catch (e) { + return true; + } +}; + + +/***/ }), +/* 17 */ +/***/ (function(module, exports) { + +module.exports = {}; + + +/***/ }), +/* 18 */ +/***/ (function(module, exports, __webpack_require__) { + +// to indexed object, toObject with fallback for non-array-like ES3 strings +var IObject = __webpack_require__(65); +var defined = __webpack_require__(36); +module.exports = function (it) { + return IObject(defined(it)); +}; + + +/***/ }), +/* 19 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $at = __webpack_require__(112)(true); + +// 21.1.3.27 String.prototype[@@iterator]() +__webpack_require__(37)(String, 'String', function (iterated) { + this._t = String(iterated); // target + this._i = 0; // next index +// 21.1.5.2.1 %StringIteratorPrototype%.next() +}, function () { + var O = this._t; + var index = this._i; + var point; + if (index >= O.length) return { value: undefined, done: true }; + point = $at(O, index); + this._i += point.length; + return { value: point, done: false }; +}); + + +/***/ }), +/* 20 */ +/***/ (function(module, exports) { + +module.exports = true; + + +/***/ }), +/* 21 */ +/***/ (function(module, exports) { + +module.exports = function (it) { + if (typeof it != 'function') throw TypeError(it + ' is not a function!'); + return it; +}; + + +/***/ }), +/* 22 */ +/***/ (function(module, exports) { + +var toString = {}.toString; + +module.exports = function (it) { + return toString.call(it).slice(8, -1); +}; + + +/***/ }), +/* 23 */ +/***/ (function(module, exports, __webpack_require__) { + +var def = __webpack_require__(7).f; +var has = __webpack_require__(14); +var TAG = __webpack_require__(3)('toStringTag'); + +module.exports = function (it, tag, stat) { + if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); +}; + + +/***/ }), +/* 24 */ +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(117); +var global = __webpack_require__(2); +var hide = __webpack_require__(12); +var Iterators = __webpack_require__(17); +var TO_STRING_TAG = __webpack_require__(3)('toStringTag'); + +var DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' + + 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' + + 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' + + 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' + + 'TextTrackList,TouchList').split(','); + +for (var i = 0; i < DOMIterables.length; i++) { + var NAME = DOMIterables[i]; + var Collection = global[NAME]; + var proto = Collection && Collection.prototype; + if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); + Iterators[NAME] = Iterators.Array; +} + + +/***/ }), +/* 25 */ +/***/ (function(module, exports, __webpack_require__) { + +var ctx = __webpack_require__(11); +var call = __webpack_require__(130); +var isArrayIter = __webpack_require__(131); +var anObject = __webpack_require__(8); +var toLength = __webpack_require__(41); +var getIterFn = __webpack_require__(73); +var BREAK = {}; +var RETURN = {}; +var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) { + var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable); + var f = ctx(fn, that, entries ? 2 : 1); + var index = 0; + var length, step, iterator, result; + if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!'); + // fast case for arrays with default iterator + if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) { + result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); + if (result === BREAK || result === RETURN) return result; + } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) { + result = call(iterator, f, step.value, entries); + if (result === BREAK || result === RETURN) return result; + } +}; +exports.BREAK = BREAK; +exports.RETURN = RETURN; + + +/***/ }), +/* 26 */ +/***/ (function(module, exports) { + +module.exports = require("util"); + +/***/ }), +/* 27 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return GetHomeDir; }); +/* unused harmony export GetAsar */ + +function GetHomeDir() { + var HOME_DIR = process.cwd(); + console.log("process.env.NODE_ENV", process.env.NODE_ENV); + if (process.env.NODE_ENV === "production") { + var arr = process.execPath.replaceAll("\\", "/").split("/"); + arr.pop(); + HOME_DIR = arr.join("/"); + } + return HOME_DIR; +} + +function GetAsar() { + if (process.env.NODE_ENV === "production") { + var arr = process.execPath.replaceAll("\\", "/").split("/"); + arr.pop(); + HOME_DIR = arr.join("/"); + } + return HOME_DIR; +} + + +/***/ }), +/* 28 */ +/***/ (function(module, exports) { + +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + + +/***/ }), +/* 29 */ +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) +var anObject = __webpack_require__(8); +var dPs = __webpack_require__(114); +var enumBugKeys = __webpack_require__(44); +var IE_PROTO = __webpack_require__(42)('IE_PROTO'); +var Empty = function () { /* empty */ }; +var PROTOTYPE = 'prototype'; + +// Create object with fake `null` prototype: use iframe Object with cleared prototype +var createDict = function () { + // Thrash, waste and sodomy: IE GC bug + var iframe = __webpack_require__(38)('iframe'); + var i = enumBugKeys.length; + var lt = '<'; + var gt = '>'; + var iframeDocument; + iframe.style.display = 'none'; + __webpack_require__(66).appendChild(iframe); + iframe.src = 'javascript:'; // eslint-disable-line no-script-url + // createDict = iframe.contentWindow.Object; + // html.removeChild(iframe); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); + iframeDocument.close(); + createDict = iframeDocument.F; + while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]]; + return createDict(); +}; + +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + Empty[PROTOTYPE] = anObject(O); + result = new Empty(); + Empty[PROTOTYPE] = null; + // add "__proto__" for Object.getPrototypeOf polyfill + result[IE_PROTO] = O; + } else result = createDict(); + return Properties === undefined ? result : dPs(result, Properties); +}; + + +/***/ }), +/* 30 */ +/***/ (function(module, exports) { + +var id = 0; +var px = Math.random(); +module.exports = function (key) { + return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); +}; + + +/***/ }), +/* 31 */ +/***/ (function(module, exports, __webpack_require__) { + +// 7.1.13 ToObject(argument) +var defined = __webpack_require__(36); +module.exports = function (it) { + return Object(defined(it)); +}; + + +/***/ }), +/* 32 */ +/***/ (function(module, exports, __webpack_require__) { + +// getting tag from 19.1.3.6 Object.prototype.toString() +var cof = __webpack_require__(22); +var TAG = __webpack_require__(3)('toStringTag'); +// ES3 wrong here +var ARG = cof(function () { return arguments; }()) == 'Arguments'; + +// fallback for IE11 Script Access Denied error +var tryGet = function (it, key) { + try { + return it[key]; + } catch (e) { /* empty */ } +}; + +module.exports = function (it) { + var O, T, B; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T + // builtinTag case + : ARG ? cof(O) + // ES3 arguments fallback + : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; +}; + + +/***/ }), +/* 33 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); +/* WEBPACK VAR INJECTION */(function(__dirname) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getmainWindow", function() { return getmainWindow; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_electron__ = __webpack_require__(13); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_electron___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_electron__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__config__ = __webpack_require__(103); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__config___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__config__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__back_processGo__ = __webpack_require__(58); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__back_processGo___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__back_processGo__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__back_app__ = __webpack_require__(59); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__dbPath__ = __webpack_require__(108); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__dbPath___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4__dbPath__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__back_ipcMain__ = __webpack_require__(109); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__back_awesomeProject3_test__ = __webpack_require__(200); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__back_awesomeProject3_test___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6__back_awesomeProject3_test__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_path__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_path___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_path__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__back_sandTable_udpServer__ = __webpack_require__(86); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__tool__ = __webpack_require__(201); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__back_config__ = __webpack_require__(27); + + + + + + + + + + + +var os = __webpack_require__(10); +var sharedObject = {}; + +process.env.ELECTRON_DISABLE_SECURITY_WARNINGS = true; + +if (process.env.NODE_ENV !== "development") { + global.__static = __webpack_require__(1).join(__dirname, "/static").replace(/\\/g, "\\\\"); +} + +var mainWindow = void 0; +var splashWindow = void 0; +var winURL = process.env.NODE_ENV === "development" ? "http://localhost:" + __WEBPACK_IMPORTED_MODULE_1__config___default.a.AppConfig.PORT : "file://" + __dirname + "/index.html"; + +var isDev = !__WEBPACK_IMPORTED_MODULE_0_electron__["app"].isPackaged; + +var icon = process.env.NODE_ENV === "development" ? __WEBPACK_IMPORTED_MODULE_7_path__["join"](Object(__WEBPACK_IMPORTED_MODULE_10__back_config__["a" /* GetHomeDir */])(), "static/logo_ico/81.ico") : __WEBPACK_IMPORTED_MODULE_7_path__["join"](Object(__WEBPACK_IMPORTED_MODULE_10__back_config__["a" /* GetHomeDir */])(), "resources/app.asar/" + "dist/electron/static/logo_ico/81.png"); +function reExeName() { + var platform = os.platform(); + var fs = __webpack_require__(6); + var cmd = ""; + if (platform === "win32") { + cmd = "yjearth4.exe"; + } + if (platform === "linux") { + cmd = "yjearth4"; + } + var newcmd = ""; + if (platform === "win32") { + newcmd = "yjearth4" + __WEBPACK_IMPORTED_MODULE_4__dbPath__["execPath"] + ".exe"; + } + if (platform === "linux") { + newcmd = "yjearth4" + __WEBPACK_IMPORTED_MODULE_4__dbPath__["execPath"]; + } + + var oldPath = __WEBPACK_IMPORTED_MODULE_7_path__["join"](Object(__WEBPACK_IMPORTED_MODULE_10__back_config__["a" /* GetHomeDir */])() + "/yjearth4_0/", cmd); + + var newPath = __WEBPACK_IMPORTED_MODULE_7_path__["join"](Object(__WEBPACK_IMPORTED_MODULE_10__back_config__["a" /* GetHomeDir */])() + "/yjearth4_0/", newcmd); + console.log("oldPath", newPath); + + fs.access(oldPath, fs.constants.F_OK, function (err) { + if (err) { + console.error(oldPath + " does not exist."); + return; + } + + fs.rename(oldPath, newPath, function (err) { + if (err) { + console.error("Error renaming " + oldPath + " to " + newPath + ": " + err); + return; + } + + console.log("File renamed from " + oldPath + " to " + newPath); + }); + }); +} +function createSplashWindow() { + splashWindow = new __WEBPACK_IMPORTED_MODULE_0_electron__["BrowserWindow"]({ + width: 896, + height: 510, + transparent: true, + frame: false, + alwaysOnTop: true, + icon: icon, + webPreferences: { + nodeIntegration: true, + contextIsolation: false, + enableRemoteModule: true, + webSecurity: false, + devTools: false + } + }); + + splashWindow.loadURL(splashURL); + + splashWindow.on("closed", function () { + splashWindow = null; + }); + + splashWindow.webContents.on("did-finish-load", function () { + splashWindow.show(); + }); + + var _require = __webpack_require__(13), + ipcMain = _require.ipcMain; + + ipcMain.on("splash-completed", function () { + setTimeout(function () { + if (mainWindow && !mainWindow.isDestroyed()) { + mainWindow.maximize(); + mainWindow.show(); + mainWindow.focus(); + + setTimeout(function () { + mainWindow.webContents.send("start-login-video"); + }, 200); + } + + if (splashWindow && !splashWindow.isDestroyed()) { + splashWindow.close(); + } + }, 500); + }); +} +function createWindow() { + Object(__WEBPACK_IMPORTED_MODULE_3__back_app__["b" /* start */])(); + Object(__WEBPACK_IMPORTED_MODULE_8__back_sandTable_udpServer__["a" /* Init */])(); + var prefix = __WEBPACK_IMPORTED_MODULE_4__dbPath__["execPath"]; + console.log("process.env.NODE_ENV +++", process.env.NODE_ENV); + if (process.env.NODE_ENV === "production") { + reExeName(); + } else { + prefix = ""; + } + Object(__WEBPACK_IMPORTED_MODULE_9__tool__["a" /* killProcessByName */])(prefix); + setTimeout(function () { + Object(__WEBPACK_IMPORTED_MODULE_2__back_processGo__["runProcess"])(prefix, __WEBPACK_IMPORTED_MODULE_4__dbPath__["db_path"]); + + mainWindow = new __WEBPACK_IMPORTED_MODULE_0_electron__["BrowserWindow"]({ + minWidth: 1500, + minHeight: 860, + useContentSize: true, + simpleFullscreen: true, + resizable: true, + frame: __WEBPACK_IMPORTED_MODULE_1__config___default.a.IsUseSysTitle, + icon: icon, + show: true, + webPreferences: { + nodeIntegration: true, + contextIsolation: false, + enableRemoteModule: true, + webSecurity: false, + + devTools: true, + + scrollBounce: process.platform === "darwin" + } + }); + mainWindow.loadURL(winURL); + mainWindow.center(); + mainWindow.maximize(); + __WEBPACK_IMPORTED_MODULE_5__back_ipcMain__["a" /* default */].Mainfunc(mainWindow); + + mainWindow.webContents.on("did-finish-load", function () { + mainWindow.show(); + mainWindow.focus(); + mainWindow.webContents.executeJavaScript("\n const { ipcRenderer } = require('electron'); \n window.addEventListener('dragover', (event) => {\n event.preventDefault();\n event.dataTransfer.dropEffect = 'copy'; // \u663E\u793A\u590D\u5236\u6548\u679C\n });\n window.addEventListener('drop', (event) => {\n event.preventDefault();\n const files = event.dataTransfer.files;\n if (files.length > 0) {\n ipcRenderer.send('files-dropped', Array.from(files).map(file => file.path));\n }\n });\n "); + }); + + mainWindow.webContents.on("did-fail-load", function () {}); + + mainWindow.on("closed", function () { + mainWindow = null; + }); + mainWindow.on("close", function (e) { + e.preventDefault(); + __WEBPACK_IMPORTED_MODULE_0_electron__["dialog"].showMessageBox(mainWindow, { + type: "warning", + title: "提示", + message: "是否确认退出系统?", + buttons: ["cancel", "ok"] + }).then(function (res) { + if (res.response) { + mainWindow = null; + Object(__WEBPACK_IMPORTED_MODULE_2__back_processGo__["closeChild"])(); + __WEBPACK_IMPORTED_MODULE_0_electron__["app"].exit(); + } + }); + }); + __WEBPACK_IMPORTED_MODULE_0_electron__["Menu"].setApplicationMenu(null); + if (process.env.NODE_ENV === "development") mainWindow.webContents.openDevTools({ + mode: "undocked" + }); + __WEBPACK_IMPORTED_MODULE_0_electron__["globalShortcut"].register("CommandOrControl+f5", function () { + mainWindow.reload(); + + mainWindow.webContents.once("did-finish-load", function () { + setTimeout(function () { + if (mainWindow && !mainWindow.isDestroyed()) { + console.log("发送播放视频消息"); + mainWindow.webContents.send("start-login-video"); + } + }, 500); + }); + }); + console.log(mainWindow.WebPreferences); + var flg = true; + __WEBPACK_IMPORTED_MODULE_0_electron__["globalShortcut"].register("CommandOrControl+f12", function () { + mainWindow.openDevTools(flg); + flg = !flg; + }); + }, 1000); +} +function getmainWindow() { + return mainWindow; +} + +var gotTheLock = __WEBPACK_IMPORTED_MODULE_0_electron__["app"].requestSingleInstanceLock(); + +if (!gotTheLock) { + __WEBPACK_IMPORTED_MODULE_0_electron__["app"].quit(); +} else { + __WEBPACK_IMPORTED_MODULE_0_electron__["app"].on("ready", createWindow); + if (__WEBPACK_IMPORTED_MODULE_0_electron__["app"].isReady()) {} + + __WEBPACK_IMPORTED_MODULE_0_electron__["app"].on("window-all-closed", function () { + if (process.platform !== "darwin") { + __WEBPACK_IMPORTED_MODULE_0_electron__["app"].quit(); + } + }); + + __WEBPACK_IMPORTED_MODULE_0_electron__["app"].on("activate", function () { + if (mainWindow === null) { + createWindow(); + } + }); + __WEBPACK_IMPORTED_MODULE_0_electron__["app"].on("second-instance", function (event, commandLine, workingDirectory) { + if (mainWindow) { + if (mainWindow.isMinimized()) mainWindow.restore(); + mainWindow.focus(); + } + }); + __WEBPACK_IMPORTED_MODULE_0_electron__["app"].on("before-quit", function () { + Object(__WEBPACK_IMPORTED_MODULE_2__back_processGo__["closeChild"])(); + }); + + global.sharedObject = { + hasService: false + }; +} + +/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, "src\\main")) + +/***/ }), +/* 34 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.__esModule = true; + +var _iterator = __webpack_require__(110); + +var _iterator2 = _interopRequireDefault(_iterator); + +var _symbol = __webpack_require__(119); + +var _symbol2 = _interopRequireDefault(_symbol); + +var _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj; }; + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) { + return typeof obj === "undefined" ? "undefined" : _typeof(obj); +} : function (obj) { + return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj); +}; + +/***/ }), +/* 35 */ +/***/ (function(module, exports) { + +// 7.1.4 ToInteger +var ceil = Math.ceil; +var floor = Math.floor; +module.exports = function (it) { + return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); +}; + + +/***/ }), +/* 36 */ +/***/ (function(module, exports) { + +// 7.2.1 RequireObjectCoercible(argument) +module.exports = function (it) { + if (it == undefined) throw TypeError("Can't call method on " + it); + return it; +}; + + +/***/ }), +/* 37 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var LIBRARY = __webpack_require__(20); +var $export = __webpack_require__(4); +var redefine = __webpack_require__(63); +var hide = __webpack_require__(12); +var Iterators = __webpack_require__(17); +var $iterCreate = __webpack_require__(113); +var setToStringTag = __webpack_require__(23); +var getPrototypeOf = __webpack_require__(67); +var ITERATOR = __webpack_require__(3)('iterator'); +var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` +var FF_ITERATOR = '@@iterator'; +var KEYS = 'keys'; +var VALUES = 'values'; + +var returnThis = function () { return this; }; + +module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { + $iterCreate(Constructor, NAME, next); + var getMethod = function (kind) { + if (!BUGGY && kind in proto) return proto[kind]; + switch (kind) { + case KEYS: return function keys() { return new Constructor(this, kind); }; + case VALUES: return function values() { return new Constructor(this, kind); }; + } return function entries() { return new Constructor(this, kind); }; + }; + var TAG = NAME + ' Iterator'; + var DEF_VALUES = DEFAULT == VALUES; + var VALUES_BUG = false; + var proto = Base.prototype; + var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]; + var $default = $native || getMethod(DEFAULT); + var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined; + var $anyNative = NAME == 'Array' ? proto.entries || $native : $native; + var methods, key, IteratorPrototype; + // Fix native + if ($anyNative) { + IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); + if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) { + // Set @@toStringTag to native iterators + setToStringTag(IteratorPrototype, TAG, true); + // fix for some old engines + if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis); + } + } + // fix Array#{values, @@iterator}.name in V8 / FF + if (DEF_VALUES && $native && $native.name !== VALUES) { + VALUES_BUG = true; + $default = function values() { return $native.call(this); }; + } + // Define iterator + if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) { + hide(proto, ITERATOR, $default); + } + // Plug for library + Iterators[NAME] = $default; + Iterators[TAG] = returnThis; + if (DEFAULT) { + methods = { + values: DEF_VALUES ? $default : getMethod(VALUES), + keys: IS_SET ? $default : getMethod(KEYS), + entries: $entries + }; + if (FORCED) for (key in methods) { + if (!(key in proto)) redefine(proto, key, methods[key]); + } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); + } + return methods; +}; + + +/***/ }), +/* 38 */ +/***/ (function(module, exports, __webpack_require__) { + +var isObject = __webpack_require__(5); +var document = __webpack_require__(2).document; +// typeof document.createElement is 'object' in old IE +var is = isObject(document) && isObject(document.createElement); +module.exports = function (it) { + return is ? document.createElement(it) : {}; +}; + + +/***/ }), +/* 39 */ +/***/ (function(module, exports, __webpack_require__) { + +// 7.1.1 ToPrimitive(input [, PreferredType]) +var isObject = __webpack_require__(5); +// instead of the ES6 spec version, we didn't implement @@toPrimitive case +// and the second argument - flag - preferred type is a string +module.exports = function (it, S) { + if (!isObject(it)) return it; + var fn, val; + if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; + if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; + if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; + throw TypeError("Can't convert object to primitive value"); +}; + + +/***/ }), +/* 40 */ +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.14 / 15.2.3.14 Object.keys(O) +var $keys = __webpack_require__(64); +var enumBugKeys = __webpack_require__(44); + +module.exports = Object.keys || function keys(O) { + return $keys(O, enumBugKeys); +}; + + +/***/ }), +/* 41 */ +/***/ (function(module, exports, __webpack_require__) { + +// 7.1.15 ToLength +var toInteger = __webpack_require__(35); +var min = Math.min; +module.exports = function (it) { + return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 +}; + + +/***/ }), +/* 42 */ +/***/ (function(module, exports, __webpack_require__) { + +var shared = __webpack_require__(43)('keys'); +var uid = __webpack_require__(30); +module.exports = function (key) { + return shared[key] || (shared[key] = uid(key)); +}; + + +/***/ }), +/* 43 */ +/***/ (function(module, exports, __webpack_require__) { + +var core = __webpack_require__(0); +var global = __webpack_require__(2); +var SHARED = '__core-js_shared__'; +var store = global[SHARED] || (global[SHARED] = {}); + +(module.exports = function (key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: core.version, + mode: __webpack_require__(20) ? 'pure' : 'global', + copyright: '© 2020 Denis Pushkarev (zloirock.ru)' +}); + + +/***/ }), +/* 44 */ +/***/ (function(module, exports) { + +// IE 8- don't enum bug keys +module.exports = ( + 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' +).split(','); + + +/***/ }), +/* 45 */ +/***/ (function(module, exports, __webpack_require__) { + +exports.f = __webpack_require__(3); + + +/***/ }), +/* 46 */ +/***/ (function(module, exports, __webpack_require__) { + +var META = __webpack_require__(30)('meta'); +var isObject = __webpack_require__(5); +var has = __webpack_require__(14); +var setDesc = __webpack_require__(7).f; +var id = 0; +var isExtensible = Object.isExtensible || function () { + return true; +}; +var FREEZE = !__webpack_require__(16)(function () { + return isExtensible(Object.preventExtensions({})); +}); +var setMeta = function (it) { + setDesc(it, META, { value: { + i: 'O' + ++id, // object ID + w: {} // weak collections IDs + } }); +}; +var fastKey = function (it, create) { + // return primitive with prefix + if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; + if (!has(it, META)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return 'F'; + // not necessary to add metadata + if (!create) return 'E'; + // add missing metadata + setMeta(it); + // return object ID + } return it[META].i; +}; +var getWeak = function (it, create) { + if (!has(it, META)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return true; + // not necessary to add metadata + if (!create) return false; + // add missing metadata + setMeta(it); + // return hash weak collections IDs + } return it[META].w; +}; +// add metadata on freeze-family methods calling +var onFreeze = function (it) { + if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it); + return it; +}; +var meta = module.exports = { + KEY: META, + NEED: false, + fastKey: fastKey, + getWeak: getWeak, + onFreeze: onFreeze +}; + + +/***/ }), +/* 47 */ +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(2); +var core = __webpack_require__(0); +var LIBRARY = __webpack_require__(20); +var wksExt = __webpack_require__(45); +var defineProperty = __webpack_require__(7).f; +module.exports = function (name) { + var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {}); + if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) }); +}; + + +/***/ }), +/* 48 */ +/***/ (function(module, exports) { + +exports.f = {}.propertyIsEnumerable; + + +/***/ }), +/* 49 */ +/***/ (function(module, exports) { + + + +/***/ }), +/* 50 */ +/***/ (function(module, exports, __webpack_require__) { + +var hide = __webpack_require__(12); +module.exports = function (target, src, safe) { + for (var key in src) { + if (safe && target[key]) target[key] = src[key]; + else hide(target, key, src[key]); + } return target; +}; + + +/***/ }), +/* 51 */ +/***/ (function(module, exports) { + +module.exports = function (it, Constructor, name, forbiddenField) { + if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) { + throw TypeError(name + ': incorrect invocation!'); + } return it; +}; + + +/***/ }), +/* 52 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// 25.4.1.5 NewPromiseCapability(C) +var aFunction = __webpack_require__(21); + +function PromiseCapability(C) { + var resolve, reject; + this.promise = new C(function ($$resolve, $$reject) { + if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); + resolve = $$resolve; + reject = $$reject; + }); + this.resolve = aFunction(resolve); + this.reject = aFunction(reject); +} + +module.exports.f = function (C) { + return new PromiseCapability(C); +}; + + +/***/ }), +/* 53 */ +/***/ (function(module, exports) { + +module.exports = require("assert"); + +/***/ }), +/* 54 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = minimatch +minimatch.Minimatch = Minimatch + +var path = (function () { try { return __webpack_require__(1) } catch (e) {}}()) || { + sep: '/' +} +minimatch.sep = path.sep + +var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {} +var expand = __webpack_require__(161) + +var plTypes = { + '!': { open: '(?:(?!(?:', close: '))[^/]*?)'}, + '?': { open: '(?:', close: ')?' }, + '+': { open: '(?:', close: ')+' }, + '*': { open: '(?:', close: ')*' }, + '@': { open: '(?:', close: ')' } +} + +// any single thing other than / +// don't need to escape / when using new RegExp() +var qmark = '[^/]' + +// * => any number of characters +var star = qmark + '*?' + +// ** when dots are allowed. Anything goes, except .. and . +// not (^ or / followed by one or two dots followed by $ or /), +// followed by anything, any number of times. +var twoStarDot = '(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?' + +// not a ^ or / followed by a dot, +// followed by anything, any number of times. +var twoStarNoDot = '(?:(?!(?:\\\/|^)\\.).)*?' + +// characters that need to be escaped in RegExp. +var reSpecials = charSet('().*{}+?[]^$\\!') + +// "abc" -> { a:true, b:true, c:true } +function charSet (s) { + return s.split('').reduce(function (set, c) { + set[c] = true + return set + }, {}) +} + +// normalizes slashes. +var slashSplit = /\/+/ + +minimatch.filter = filter +function filter (pattern, options) { + options = options || {} + return function (p, i, list) { + return minimatch(p, pattern, options) + } +} + +function ext (a, b) { + b = b || {} + var t = {} + Object.keys(a).forEach(function (k) { + t[k] = a[k] + }) + Object.keys(b).forEach(function (k) { + t[k] = b[k] + }) + return t +} + +minimatch.defaults = function (def) { + if (!def || typeof def !== 'object' || !Object.keys(def).length) { + return minimatch + } + + var orig = minimatch + + var m = function minimatch (p, pattern, options) { + return orig(p, pattern, ext(def, options)) + } + + m.Minimatch = function Minimatch (pattern, options) { + return new orig.Minimatch(pattern, ext(def, options)) + } + m.Minimatch.defaults = function defaults (options) { + return orig.defaults(ext(def, options)).Minimatch + } + + m.filter = function filter (pattern, options) { + return orig.filter(pattern, ext(def, options)) + } + + m.defaults = function defaults (options) { + return orig.defaults(ext(def, options)) + } + + m.makeRe = function makeRe (pattern, options) { + return orig.makeRe(pattern, ext(def, options)) + } + + m.braceExpand = function braceExpand (pattern, options) { + return orig.braceExpand(pattern, ext(def, options)) + } + + m.match = function (list, pattern, options) { + return orig.match(list, pattern, ext(def, options)) + } + + return m +} + +Minimatch.defaults = function (def) { + return minimatch.defaults(def).Minimatch +} + +function minimatch (p, pattern, options) { + assertValidPattern(pattern) + + if (!options) options = {} + + // shortcut: comments match nothing. + if (!options.nocomment && pattern.charAt(0) === '#') { + return false + } + + return new Minimatch(pattern, options).match(p) +} + +function Minimatch (pattern, options) { + if (!(this instanceof Minimatch)) { + return new Minimatch(pattern, options) + } + + assertValidPattern(pattern) + + if (!options) options = {} + + pattern = pattern.trim() + + // windows support: need to use /, not \ + if (!options.allowWindowsEscape && path.sep !== '/') { + pattern = pattern.split(path.sep).join('/') + } + + this.options = options + this.set = [] + this.pattern = pattern + this.regexp = null + this.negate = false + this.comment = false + this.empty = false + this.partial = !!options.partial + + // make the set of regexps etc. + this.make() +} + +Minimatch.prototype.debug = function () {} + +Minimatch.prototype.make = make +function make () { + var pattern = this.pattern + var options = this.options + + // empty patterns and comments match nothing. + if (!options.nocomment && pattern.charAt(0) === '#') { + this.comment = true + return + } + if (!pattern) { + this.empty = true + return + } + + // step 1: figure out negation, etc. + this.parseNegate() + + // step 2: expand braces + var set = this.globSet = this.braceExpand() + + if (options.debug) this.debug = function debug() { console.error.apply(console, arguments) } + + this.debug(this.pattern, set) + + // step 3: now we have a set, so turn each one into a series of path-portion + // matching patterns. + // These will be regexps, except in the case of "**", which is + // set to the GLOBSTAR object for globstar behavior, + // and will not contain any / characters + set = this.globParts = set.map(function (s) { + return s.split(slashSplit) + }) + + this.debug(this.pattern, set) + + // glob --> regexps + set = set.map(function (s, si, set) { + return s.map(this.parse, this) + }, this) + + this.debug(this.pattern, set) + + // filter out everything that didn't compile properly. + set = set.filter(function (s) { + return s.indexOf(false) === -1 + }) + + this.debug(this.pattern, set) + + this.set = set +} + +Minimatch.prototype.parseNegate = parseNegate +function parseNegate () { + var pattern = this.pattern + var negate = false + var options = this.options + var negateOffset = 0 + + if (options.nonegate) return + + for (var i = 0, l = pattern.length + ; i < l && pattern.charAt(i) === '!' + ; i++) { + negate = !negate + negateOffset++ + } + + if (negateOffset) this.pattern = pattern.substr(negateOffset) + this.negate = negate +} + +// Brace expansion: +// a{b,c}d -> abd acd +// a{b,}c -> abc ac +// a{0..3}d -> a0d a1d a2d a3d +// a{b,c{d,e}f}g -> abg acdfg acefg +// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg +// +// Invalid sets are not expanded. +// a{2..}b -> a{2..}b +// a{b}c -> a{b}c +minimatch.braceExpand = function (pattern, options) { + return braceExpand(pattern, options) +} + +Minimatch.prototype.braceExpand = braceExpand + +function braceExpand (pattern, options) { + if (!options) { + if (this instanceof Minimatch) { + options = this.options + } else { + options = {} + } + } + + pattern = typeof pattern === 'undefined' + ? this.pattern : pattern + + assertValidPattern(pattern) + + // Thanks to Yeting Li for + // improving this regexp to avoid a ReDOS vulnerability. + if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) { + // shortcut. no need to expand. + return [pattern] + } + + return expand(pattern) +} + +var MAX_PATTERN_LENGTH = 1024 * 64 +var assertValidPattern = function (pattern) { + if (typeof pattern !== 'string') { + throw new TypeError('invalid pattern') + } + + if (pattern.length > MAX_PATTERN_LENGTH) { + throw new TypeError('pattern is too long') + } +} + +// parse a component of the expanded set. +// At this point, no pattern may contain "/" in it +// so we're going to return a 2d array, where each entry is the full +// pattern, split on '/', and then turned into a regular expression. +// A regexp is made at the end which joins each array with an +// escaped /, and another full one which joins each regexp with |. +// +// Following the lead of Bash 4.1, note that "**" only has special meaning +// when it is the *only* thing in a path portion. Otherwise, any series +// of * is equivalent to a single *. Globstar behavior is enabled by +// default, and can be disabled by setting options.noglobstar. +Minimatch.prototype.parse = parse +var SUBPARSE = {} +function parse (pattern, isSub) { + assertValidPattern(pattern) + + var options = this.options + + // shortcuts + if (pattern === '**') { + if (!options.noglobstar) + return GLOBSTAR + else + pattern = '*' + } + if (pattern === '') return '' + + var re = '' + var hasMagic = !!options.nocase + var escaping = false + // ? => one single character + var patternListStack = [] + var negativeLists = [] + var stateChar + var inClass = false + var reClassStart = -1 + var classStart = -1 + // . and .. never match anything that doesn't start with ., + // even when options.dot is set. + var patternStart = pattern.charAt(0) === '.' ? '' // anything + // not (start or / followed by . or .. followed by / or end) + : options.dot ? '(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))' + : '(?!\\.)' + var self = this + + function clearStateChar () { + if (stateChar) { + // we had some state-tracking character + // that wasn't consumed by this pass. + switch (stateChar) { + case '*': + re += star + hasMagic = true + break + case '?': + re += qmark + hasMagic = true + break + default: + re += '\\' + stateChar + break + } + self.debug('clearStateChar %j %j', stateChar, re) + stateChar = false + } + } + + for (var i = 0, len = pattern.length, c + ; (i < len) && (c = pattern.charAt(i)) + ; i++) { + this.debug('%s\t%s %s %j', pattern, i, re, c) + + // skip over any that are escaped. + if (escaping && reSpecials[c]) { + re += '\\' + c + escaping = false + continue + } + + switch (c) { + /* istanbul ignore next */ + case '/': { + // completely not allowed, even escaped. + // Should already be path-split by now. + return false + } + + case '\\': + clearStateChar() + escaping = true + continue + + // the various stateChar values + // for the "extglob" stuff. + case '?': + case '*': + case '+': + case '@': + case '!': + this.debug('%s\t%s %s %j <-- stateChar', pattern, i, re, c) + + // all of those are literals inside a class, except that + // the glob [!a] means [^a] in regexp + if (inClass) { + this.debug(' in class') + if (c === '!' && i === classStart + 1) c = '^' + re += c + continue + } + + // if we already have a stateChar, then it means + // that there was something like ** or +? in there. + // Handle the stateChar, then proceed with this one. + self.debug('call clearStateChar %j', stateChar) + clearStateChar() + stateChar = c + // if extglob is disabled, then +(asdf|foo) isn't a thing. + // just clear the statechar *now*, rather than even diving into + // the patternList stuff. + if (options.noext) clearStateChar() + continue + + case '(': + if (inClass) { + re += '(' + continue + } + + if (!stateChar) { + re += '\\(' + continue + } + + patternListStack.push({ + type: stateChar, + start: i - 1, + reStart: re.length, + open: plTypes[stateChar].open, + close: plTypes[stateChar].close + }) + // negation is (?:(?!js)[^/]*) + re += stateChar === '!' ? '(?:(?!(?:' : '(?:' + this.debug('plType %j %j', stateChar, re) + stateChar = false + continue + + case ')': + if (inClass || !patternListStack.length) { + re += '\\)' + continue + } + + clearStateChar() + hasMagic = true + var pl = patternListStack.pop() + // negation is (?:(?!js)[^/]*) + // The others are (?:) + re += pl.close + if (pl.type === '!') { + negativeLists.push(pl) + } + pl.reEnd = re.length + continue + + case '|': + if (inClass || !patternListStack.length || escaping) { + re += '\\|' + escaping = false + continue + } + + clearStateChar() + re += '|' + continue + + // these are mostly the same in regexp and glob + case '[': + // swallow any state-tracking char before the [ + clearStateChar() + + if (inClass) { + re += '\\' + c + continue + } + + inClass = true + classStart = i + reClassStart = re.length + re += c + continue + + case ']': + // a right bracket shall lose its special + // meaning and represent itself in + // a bracket expression if it occurs + // first in the list. -- POSIX.2 2.8.3.2 + if (i === classStart + 1 || !inClass) { + re += '\\' + c + escaping = false + continue + } + + // handle the case where we left a class open. + // "[z-a]" is valid, equivalent to "\[z-a\]" + // split where the last [ was, make sure we don't have + // an invalid re. if so, re-walk the contents of the + // would-be class to re-translate any characters that + // were passed through as-is + // TODO: It would probably be faster to determine this + // without a try/catch and a new RegExp, but it's tricky + // to do safely. For now, this is safe and works. + var cs = pattern.substring(classStart + 1, i) + try { + RegExp('[' + cs + ']') + } catch (er) { + // not a valid class! + var sp = this.parse(cs, SUBPARSE) + re = re.substr(0, reClassStart) + '\\[' + sp[0] + '\\]' + hasMagic = hasMagic || sp[1] + inClass = false + continue + } + + // finish up the class. + hasMagic = true + inClass = false + re += c + continue + + default: + // swallow any state char that wasn't consumed + clearStateChar() + + if (escaping) { + // no need + escaping = false + } else if (reSpecials[c] + && !(c === '^' && inClass)) { + re += '\\' + } + + re += c + + } // switch + } // for + + // handle the case where we left a class open. + // "[abc" is valid, equivalent to "\[abc" + if (inClass) { + // split where the last [ was, and escape it + // this is a huge pita. We now have to re-walk + // the contents of the would-be class to re-translate + // any characters that were passed through as-is + cs = pattern.substr(classStart + 1) + sp = this.parse(cs, SUBPARSE) + re = re.substr(0, reClassStart) + '\\[' + sp[0] + hasMagic = hasMagic || sp[1] + } + + // handle the case where we had a +( thing at the *end* + // of the pattern. + // each pattern list stack adds 3 chars, and we need to go through + // and escape any | chars that were passed through as-is for the regexp. + // Go through and escape them, taking care not to double-escape any + // | chars that were already escaped. + for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) { + var tail = re.slice(pl.reStart + pl.open.length) + this.debug('setting tail', re, pl) + // maybe some even number of \, then maybe 1 \, followed by a | + tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function (_, $1, $2) { + if (!$2) { + // the | isn't already escaped, so escape it. + $2 = '\\' + } + + // need to escape all those slashes *again*, without escaping the + // one that we need for escaping the | character. As it works out, + // escaping an even number of slashes can be done by simply repeating + // it exactly after itself. That's why this trick works. + // + // I am sorry that you have to see this. + return $1 + $1 + $2 + '|' + }) + + this.debug('tail=%j\n %s', tail, tail, pl, re) + var t = pl.type === '*' ? star + : pl.type === '?' ? qmark + : '\\' + pl.type + + hasMagic = true + re = re.slice(0, pl.reStart) + t + '\\(' + tail + } + + // handle trailing things that only matter at the very end. + clearStateChar() + if (escaping) { + // trailing \\ + re += '\\\\' + } + + // only need to apply the nodot start if the re starts with + // something that could conceivably capture a dot + var addPatternStart = false + switch (re.charAt(0)) { + case '[': case '.': case '(': addPatternStart = true + } + + // Hack to work around lack of negative lookbehind in JS + // A pattern like: *.!(x).!(y|z) needs to ensure that a name + // like 'a.xyz.yz' doesn't match. So, the first negative + // lookahead, has to look ALL the way ahead, to the end of + // the pattern. + for (var n = negativeLists.length - 1; n > -1; n--) { + var nl = negativeLists[n] + + var nlBefore = re.slice(0, nl.reStart) + var nlFirst = re.slice(nl.reStart, nl.reEnd - 8) + var nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + var nlAfter = re.slice(nl.reEnd) + + nlLast += nlAfter + + // Handle nested stuff like *(*.js|!(*.json)), where open parens + // mean that we should *not* include the ) in the bit that is considered + // "after" the negated section. + var openParensBefore = nlBefore.split('(').length - 1 + var cleanAfter = nlAfter + for (i = 0; i < openParensBefore; i++) { + cleanAfter = cleanAfter.replace(/\)[+*?]?/, '') + } + nlAfter = cleanAfter + + var dollar = '' + if (nlAfter === '' && isSub !== SUBPARSE) { + dollar = '$' + } + var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast + re = newRe + } + + // if the re is not "" at this point, then we need to make sure + // it doesn't match against an empty path part. + // Otherwise a/* will match a/, which it should not. + if (re !== '' && hasMagic) { + re = '(?=.)' + re + } + + if (addPatternStart) { + re = patternStart + re + } + + // parsing just a piece of a larger pattern. + if (isSub === SUBPARSE) { + return [re, hasMagic] + } + + // skip the regexp for non-magical patterns + // unescape anything in it, though, so that it'll be + // an exact match against a file etc. + if (!hasMagic) { + return globUnescape(pattern) + } + + var flags = options.nocase ? 'i' : '' + try { + var regExp = new RegExp('^' + re + '$', flags) + } catch (er) /* istanbul ignore next - should be impossible */ { + // If it was an invalid regular expression, then it can't match + // anything. This trick looks for a character after the end of + // the string, which is of course impossible, except in multi-line + // mode, but it's not a /m regex. + return new RegExp('$.') + } + + regExp._glob = pattern + regExp._src = re + + return regExp +} + +minimatch.makeRe = function (pattern, options) { + return new Minimatch(pattern, options || {}).makeRe() +} + +Minimatch.prototype.makeRe = makeRe +function makeRe () { + if (this.regexp || this.regexp === false) return this.regexp + + // at this point, this.set is a 2d array of partial + // pattern strings, or "**". + // + // It's better to use .match(). This function shouldn't + // be used, really, but it's pretty convenient sometimes, + // when you just want to work with a regex. + var set = this.set + + if (!set.length) { + this.regexp = false + return this.regexp + } + var options = this.options + + var twoStar = options.noglobstar ? star + : options.dot ? twoStarDot + : twoStarNoDot + var flags = options.nocase ? 'i' : '' + + var re = set.map(function (pattern) { + return pattern.map(function (p) { + return (p === GLOBSTAR) ? twoStar + : (typeof p === 'string') ? regExpEscape(p) + : p._src + }).join('\\\/') + }).join('|') + + // must match entire pattern + // ending in a * or ** will make it less strict. + re = '^(?:' + re + ')$' + + // can match anything, as long as it's not this. + if (this.negate) re = '^(?!' + re + ').*$' + + try { + this.regexp = new RegExp(re, flags) + } catch (ex) /* istanbul ignore next - should be impossible */ { + this.regexp = false + } + return this.regexp +} + +minimatch.match = function (list, pattern, options) { + options = options || {} + var mm = new Minimatch(pattern, options) + list = list.filter(function (f) { + return mm.match(f) + }) + if (mm.options.nonull && !list.length) { + list.push(pattern) + } + return list +} + +Minimatch.prototype.match = function match (f, partial) { + if (typeof partial === 'undefined') partial = this.partial + this.debug('match', f, this.pattern) + // short-circuit in the case of busted things. + // comments, etc. + if (this.comment) return false + if (this.empty) return f === '' + + if (f === '/' && partial) return true + + var options = this.options + + // windows: need to use /, not \ + if (path.sep !== '/') { + f = f.split(path.sep).join('/') + } + + // treat the test path as a set of pathparts. + f = f.split(slashSplit) + this.debug(this.pattern, 'split', f) + + // just ONE of the pattern sets in this.set needs to match + // in order for it to be valid. If negating, then just one + // match means that we have failed. + // Either way, return on the first hit. + + var set = this.set + this.debug(this.pattern, 'set', set) + + // Find the basename of the path by looking for the last non-empty segment + var filename + var i + for (i = f.length - 1; i >= 0; i--) { + filename = f[i] + if (filename) break + } + + for (i = 0; i < set.length; i++) { + var pattern = set[i] + var file = f + if (options.matchBase && pattern.length === 1) { + file = [filename] + } + var hit = this.matchOne(file, pattern, partial) + if (hit) { + if (options.flipNegate) return true + return !this.negate + } + } + + // didn't get any hits. this is success if it's a negative + // pattern, failure otherwise. + if (options.flipNegate) return false + return this.negate +} + +// set partial to true to test if, for example, +// "/a/b" matches the start of "/*/b/*/d" +// Partial means, if you run out of file before you run +// out of pattern, then that's fine, as long as all +// the parts match. +Minimatch.prototype.matchOne = function (file, pattern, partial) { + var options = this.options + + this.debug('matchOne', + { 'this': this, file: file, pattern: pattern }) + + this.debug('matchOne', file.length, pattern.length) + + for (var fi = 0, + pi = 0, + fl = file.length, + pl = pattern.length + ; (fi < fl) && (pi < pl) + ; fi++, pi++) { + this.debug('matchOne loop') + var p = pattern[pi] + var f = file[fi] + + this.debug(pattern, p, f) + + // should be impossible. + // some invalid regexp stuff in the set. + /* istanbul ignore if */ + if (p === false) return false + + if (p === GLOBSTAR) { + this.debug('GLOBSTAR', [pattern, p, f]) + + // "**" + // a/**/b/**/c would match the following: + // a/b/x/y/z/c + // a/x/y/z/b/c + // a/b/x/b/x/c + // a/b/c + // To do this, take the rest of the pattern after + // the **, and see if it would match the file remainder. + // If so, return success. + // If not, the ** "swallows" a segment, and try again. + // This is recursively awful. + // + // a/**/b/**/c matching a/b/x/y/z/c + // - a matches a + // - doublestar + // - matchOne(b/x/y/z/c, b/**/c) + // - b matches b + // - doublestar + // - matchOne(x/y/z/c, c) -> no + // - matchOne(y/z/c, c) -> no + // - matchOne(z/c, c) -> no + // - matchOne(c, c) yes, hit + var fr = fi + var pr = pi + 1 + if (pr === pl) { + this.debug('** at the end') + // a ** at the end will just swallow the rest. + // We have found a match. + // however, it will not swallow /.x, unless + // options.dot is set. + // . and .. are *never* matched by **, for explosively + // exponential reasons. + for (; fi < fl; fi++) { + if (file[fi] === '.' || file[fi] === '..' || + (!options.dot && file[fi].charAt(0) === '.')) return false + } + return true + } + + // ok, let's see if we can swallow whatever we can. + while (fr < fl) { + var swallowee = file[fr] + + this.debug('\nglobstar while', file, fr, pattern, pr, swallowee) + + // XXX remove this slice. Just pass the start index. + if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) { + this.debug('globstar found match!', fr, fl, swallowee) + // found a match. + return true + } else { + // can't swallow "." or ".." ever. + // can only swallow ".foo" when explicitly asked. + if (swallowee === '.' || swallowee === '..' || + (!options.dot && swallowee.charAt(0) === '.')) { + this.debug('dot detected!', file, fr, pattern, pr) + break + } + + // ** swallows a segment, and continue. + this.debug('globstar swallow a segment, and continue') + fr++ + } + } + + // no match was found. + // However, in partial mode, we can't say this is necessarily over. + // If there's more *pattern* left, then + /* istanbul ignore if */ + if (partial) { + // ran out of file + this.debug('\n>>> no match, partial?', file, fr, pattern, pr) + if (fr === fl) return true + } + return false + } + + // something other than ** + // non-magic patterns just have to match exactly + // patterns with magic have been turned into regexps. + var hit + if (typeof p === 'string') { + hit = f === p + this.debug('string match', p, f, hit) + } else { + hit = f.match(p) + this.debug('pattern match', p, f, hit) + } + + if (!hit) return false + } + + // Note: ending in / means that we'll get a final "" + // at the end of the pattern. This can only match a + // corresponding "" at the end of the file. + // If the file ends in /, then it can only match a + // a pattern that ends in /, unless the pattern just + // doesn't have any more for it. But, a/b/ should *not* + // match "a/b/*", even though "" matches against the + // [^/]*? pattern, except in partial mode, where it might + // simply not be reached yet. + // However, a/b/ should still satisfy a/* + + // now either we fell off the end of the pattern, or we're done. + if (fi === fl && pi === pl) { + // ran out of pattern and filename at the same time. + // an exact hit! + return true + } else if (fi === fl) { + // ran out of file, but still had pattern left. + // this is ok if we're doing the match as part of + // a glob fs traversal. + return partial + } else /* istanbul ignore else */ if (pi === pl) { + // ran out of pattern, still have file left. + // this is only acceptable if we're on the very last + // empty segment of a file with a trailing slash. + // a/* should match a/b/ + return (fi === fl - 1) && (file[fi] === '') + } + + // should be unreachable. + /* istanbul ignore next */ + throw new Error('wtf?') +} + +// replace stuff like \* with * +function globUnescape (s) { + return s.replace(/\\(.)/g, '$1') +} + +function regExpEscape (s) { + return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&') +} + + +/***/ }), +/* 55 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +function posix(path) { + return path.charAt(0) === '/'; +} + +function win32(path) { + // https://github.com/nodejs/node/blob/b3fcc245fb25539909ef1d5eaa01dbf92e168633/lib/path.js#L56 + var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/; + var result = splitDeviceRe.exec(path); + var device = result[1] || ''; + var isUnc = Boolean(device && device.charAt(1) !== ':'); + + // UNC paths are always absolute + return Boolean(result[2] || isUnc); +} + +module.exports = process.platform === 'win32' ? win32 : posix; +module.exports.posix = posix; +module.exports.win32 = win32; + + +/***/ }), +/* 56 */ +/***/ (function(module, exports, __webpack_require__) { + + +/** + * This is the common logic for both the Node.js and web browser + * implementations of `debug()`. + */ + +function setup(env) { + createDebug.debug = createDebug; + createDebug.default = createDebug; + createDebug.coerce = coerce; + createDebug.disable = disable; + createDebug.enable = enable; + createDebug.enabled = enabled; + createDebug.humanize = __webpack_require__(97); + createDebug.destroy = destroy; + + Object.keys(env).forEach(key => { + createDebug[key] = env[key]; + }); + + /** + * The currently active debug mode names, and names to skip. + */ + + createDebug.names = []; + createDebug.skips = []; + + /** + * Map of special "%n" handling functions, for the debug "format" argument. + * + * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". + */ + createDebug.formatters = {}; + + /** + * Selects a color for a debug namespace + * @param {String} namespace The namespace string for the debug instance to be colored + * @return {Number|String} An ANSI color code for the given namespace + * @api private + */ + function selectColor(namespace) { + let hash = 0; + + for (let i = 0; i < namespace.length; i++) { + hash = ((hash << 5) - hash) + namespace.charCodeAt(i); + hash |= 0; // Convert to 32bit integer + } + + return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; + } + createDebug.selectColor = selectColor; + + /** + * Create a debugger with the given `namespace`. + * + * @param {String} namespace + * @return {Function} + * @api public + */ + function createDebug(namespace) { + let prevTime; + let enableOverride = null; + let namespacesCache; + let enabledCache; + + function debug(...args) { + // Disabled? + if (!debug.enabled) { + return; + } + + const self = debug; + + // Set `diff` timestamp + const curr = Number(new Date()); + const ms = curr - (prevTime || curr); + self.diff = ms; + self.prev = prevTime; + self.curr = curr; + prevTime = curr; + + args[0] = createDebug.coerce(args[0]); + + if (typeof args[0] !== 'string') { + // Anything else let's inspect with %O + args.unshift('%O'); + } + + // Apply any `formatters` transformations + let index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => { + // If we encounter an escaped % then don't increase the array index + if (match === '%%') { + return '%'; + } + index++; + const formatter = createDebug.formatters[format]; + if (typeof formatter === 'function') { + const val = args[index]; + match = formatter.call(self, val); + + // Now we need to remove `args[index]` since it's inlined in the `format` + args.splice(index, 1); + index--; + } + return match; + }); + + // Apply env-specific formatting (colors, etc.) + createDebug.formatArgs.call(self, args); + + const logFn = self.log || createDebug.log; + logFn.apply(self, args); + } + + debug.namespace = namespace; + debug.useColors = createDebug.useColors(); + debug.color = createDebug.selectColor(namespace); + debug.extend = extend; + debug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release. + + Object.defineProperty(debug, 'enabled', { + enumerable: true, + configurable: false, + get: () => { + if (enableOverride !== null) { + return enableOverride; + } + if (namespacesCache !== createDebug.namespaces) { + namespacesCache = createDebug.namespaces; + enabledCache = createDebug.enabled(namespace); + } + + return enabledCache; + }, + set: v => { + enableOverride = v; + } + }); + + // Env-specific initialization logic for debug instances + if (typeof createDebug.init === 'function') { + createDebug.init(debug); + } + + return debug; + } + + function extend(namespace, delimiter) { + const newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace); + newDebug.log = this.log; + return newDebug; + } + + /** + * Enables a debug mode by namespaces. This can include modes + * separated by a colon and wildcards. + * + * @param {String} namespaces + * @api public + */ + function enable(namespaces) { + createDebug.save(namespaces); + createDebug.namespaces = namespaces; + + createDebug.names = []; + createDebug.skips = []; + + const split = (typeof namespaces === 'string' ? namespaces : '') + .trim() + .replace(' ', ',') + .split(',') + .filter(Boolean); + + for (const ns of split) { + if (ns[0] === '-') { + createDebug.skips.push(ns.slice(1)); + } else { + createDebug.names.push(ns); + } + } + } + + /** + * Checks if the given string matches a namespace template, honoring + * asterisks as wildcards. + * + * @param {String} search + * @param {String} template + * @return {Boolean} + */ + function matchesTemplate(search, template) { + let searchIndex = 0; + let templateIndex = 0; + let starIndex = -1; + let matchIndex = 0; + + while (searchIndex < search.length) { + if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) { + // Match character or proceed with wildcard + if (template[templateIndex] === '*') { + starIndex = templateIndex; + matchIndex = searchIndex; + templateIndex++; // Skip the '*' + } else { + searchIndex++; + templateIndex++; + } + } else if (starIndex !== -1) { // eslint-disable-line no-negated-condition + // Backtrack to the last '*' and try to match more characters + templateIndex = starIndex + 1; + matchIndex++; + searchIndex = matchIndex; + } else { + return false; // No match + } + } + + // Handle trailing '*' in template + while (templateIndex < template.length && template[templateIndex] === '*') { + templateIndex++; + } + + return templateIndex === template.length; + } + + /** + * Disable debug output. + * + * @return {String} namespaces + * @api public + */ + function disable() { + const namespaces = [ + ...createDebug.names, + ...createDebug.skips.map(namespace => '-' + namespace) + ].join(','); + createDebug.enable(''); + return namespaces; + } + + /** + * Returns true if the given mode name is enabled, false otherwise. + * + * @param {String} name + * @return {Boolean} + * @api public + */ + function enabled(name) { + for (const skip of createDebug.skips) { + if (matchesTemplate(name, skip)) { + return false; + } + } + + for (const ns of createDebug.names) { + if (matchesTemplate(name, ns)) { + return true; + } + } + + return false; + } + + /** + * Coerce `val`. + * + * @param {Mixed} val + * @return {Mixed} + * @api private + */ + function coerce(val) { + if (val instanceof Error) { + return val.stack || val.message; + } + return val; + } + + /** + * XXX DO NOT USE. This is a temporary stub function. + * XXX It WILL be removed in the next major release. + */ + function destroy() { + console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'); + } + + createDebug.enable(createDebug.load()); + + return createDebug; +} + +module.exports = setup; + + +/***/ }), +/* 57 */ +/***/ (function(module, exports) { + +function webpackEmptyContext(req) { + throw new Error("Cannot find module '" + req + "'."); +} +webpackEmptyContext.keys = function() { return []; }; +webpackEmptyContext.resolve = webpackEmptyContext; +module.exports = webpackEmptyContext; +webpackEmptyContext.id = 57; + +/***/ }), +/* 58 */ +/***/ (function(module, exports, __webpack_require__) { + +var _require = __webpack_require__(15), + exec = _require.exec, + spawn = _require.spawn; + +var os = __webpack_require__(10); +var path = __webpack_require__(1); +var fs = __webpack_require__(6); + +var child = null; + +function runProcess(execPath) { + var dbPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "C:\\Users\\Administrator\\Desktop\\go"; + + var platform = os.platform(); + var cmd = ""; + if (platform === "win32") { + cmd = "yjearth4" + execPath + ".exe"; + } + if (platform === "linux") { + cmd = "yjearth4" + execPath; + } + if (!fs.existsSync(dbPath)) { + fs.mkdirSync(dbPath); + } + + var home_path = path.join(GetHomeDir(), "/yjearth4_0/"); + + console.log(home_path); + var cmd_path = path.join(home_path, cmd); + console.log("cmd_path0", cmd_path); + child = spawn(cmd_path, [dbPath], { + cwd: home_path, + stdio: "ignore" + }).on("exit", function (err) { + console.log("out"); + console.log(err); + global.sharedObject.hasService = false; + }).on("stdio", function (err, s) { + console.log(err); + console.log(s); + }); + global.sharedObject.hasService = true; +} + +function GetHomeDir() { + var HOME_DIR = process.cwd(); + + if (process.env.NODE_ENV === "production") { + var arr = process.execPath.replaceAll("\\", "/").split("/"); + arr.pop(); + HOME_DIR = arr.join("/"); + } + return HOME_DIR; +} + +function closeChild() { + if (child) { + child.kill(); + child = null; + } +} + +module.exports = { runProcess: runProcess, closeChild: closeChild }; + +/***/ }), +/* 59 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return apps; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return start; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_electron__ = __webpack_require__(13); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_electron___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_electron__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__config__ = __webpack_require__(27); + +var net = __webpack_require__(107); +var express = __webpack_require__(60); +var path = __webpack_require__(1); + + + +var SERVER_PORTS = 55110; + +function portIsOccupied(port, cb) { + port = Number(port); + var server = net.createServer().listen(port); + + server.on("listening", function () { + server.close(); + console.log("端口【" + port + "】 可用"); + SERVER_PORTS = port; + cb(port); + }); + + server.on("error", function (err) { + if (err.code === "EADDRINUSE") { + console.log("端口【" + port + "】 被占用"); + portIsOccupied(++port, cb); + } + }); +} + +var apps = void 0; + +function createApp() { + apps = express(); + + apps.all("*", function (req, res, next) { + res.header("Access-Control-Allow-Origin", "*"); + + res.header("Access-Control-Allow-Headers", "content-type"); + + res.header("Access-Control-Allow-Methods", "POST,GET"); + if (req.url === "/api/v1/file/upload") { + req.setTimeout(1000 * 60 * 2 * 5 * 2); + res.setTimeout(1000 * 60 * 2 * 5 * 2); + } + if (req.method.toLowerCase() === "options") res.sendStatus(200);else { + next(); + } + }); + + + var prefix = process.env.NODE_ENV === "development" ? "" : "resources/app.asar/dist/electron/"; + var static_path = ["./", "static"]; + var home_dir = Object(__WEBPACK_IMPORTED_MODULE_1__config__["a" /* GetHomeDir */])(); + static_path.forEach(function (p) { + apps.use(express.static(path.join(path.join(home_dir, prefix), p))); + }); +} +function start() { + createApp(); + portIsOccupied(SERVER_PORTS, function (avilablePort) { + apps.listen(avilablePort); + + global.sharedObject.avilablePort = avilablePort; + }); +} + + + + +/***/ }), +/* 60 */ +/***/ (function(module, exports) { + +module.exports = require("express"); + +/***/ }), +/* 61 */ +/***/ (function(module, exports) { + +module.exports = require("electron-store"); + +/***/ }), +/* 62 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = !__webpack_require__(9) && !__webpack_require__(16)(function () { + return Object.defineProperty(__webpack_require__(38)('div'), 'a', { get: function () { return 7; } }).a != 7; +}); + + +/***/ }), +/* 63 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(12); + + +/***/ }), +/* 64 */ +/***/ (function(module, exports, __webpack_require__) { + +var has = __webpack_require__(14); +var toIObject = __webpack_require__(18); +var arrayIndexOf = __webpack_require__(115)(false); +var IE_PROTO = __webpack_require__(42)('IE_PROTO'); + +module.exports = function (object, names) { + var O = toIObject(object); + var i = 0; + var result = []; + var key; + for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key); + // Don't enum bug & hidden keys + while (names.length > i) if (has(O, key = names[i++])) { + ~arrayIndexOf(result, key) || result.push(key); + } + return result; +}; + + +/***/ }), +/* 65 */ +/***/ (function(module, exports, __webpack_require__) { + +// fallback for non-array-like ES3 and non-enumerable old V8 strings +var cof = __webpack_require__(22); +// eslint-disable-next-line no-prototype-builtins +module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { + return cof(it) == 'String' ? it.split('') : Object(it); +}; + + +/***/ }), +/* 66 */ +/***/ (function(module, exports, __webpack_require__) { + +var document = __webpack_require__(2).document; +module.exports = document && document.documentElement; + + +/***/ }), +/* 67 */ +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) +var has = __webpack_require__(14); +var toObject = __webpack_require__(31); +var IE_PROTO = __webpack_require__(42)('IE_PROTO'); +var ObjectProto = Object.prototype; + +module.exports = Object.getPrototypeOf || function (O) { + O = toObject(O); + if (has(O, IE_PROTO)) return O[IE_PROTO]; + if (typeof O.constructor == 'function' && O instanceof O.constructor) { + return O.constructor.prototype; + } return O instanceof Object ? ObjectProto : null; +}; + + +/***/ }), +/* 68 */ +/***/ (function(module, exports) { + +module.exports = function (done, value) { + return { value: value, done: !!done }; +}; + + +/***/ }), +/* 69 */ +/***/ (function(module, exports) { + +exports.f = Object.getOwnPropertySymbols; + + +/***/ }), +/* 70 */ +/***/ (function(module, exports, __webpack_require__) { + +// 7.2.2 IsArray(argument) +var cof = __webpack_require__(22); +module.exports = Array.isArray || function isArray(arg) { + return cof(arg) == 'Array'; +}; + + +/***/ }), +/* 71 */ +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) +var $keys = __webpack_require__(64); +var hiddenKeys = __webpack_require__(44).concat('length', 'prototype'); + +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return $keys(O, hiddenKeys); +}; + + +/***/ }), +/* 72 */ +/***/ (function(module, exports, __webpack_require__) { + +var pIE = __webpack_require__(48); +var createDesc = __webpack_require__(28); +var toIObject = __webpack_require__(18); +var toPrimitive = __webpack_require__(39); +var has = __webpack_require__(14); +var IE8_DOM_DEFINE = __webpack_require__(62); +var gOPD = Object.getOwnPropertyDescriptor; + +exports.f = __webpack_require__(9) ? gOPD : function getOwnPropertyDescriptor(O, P) { + O = toIObject(O); + P = toPrimitive(P, true); + if (IE8_DOM_DEFINE) try { + return gOPD(O, P); + } catch (e) { /* empty */ } + if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]); +}; + + +/***/ }), +/* 73 */ +/***/ (function(module, exports, __webpack_require__) { + +var classof = __webpack_require__(32); +var ITERATOR = __webpack_require__(3)('iterator'); +var Iterators = __webpack_require__(17); +module.exports = __webpack_require__(0).getIteratorMethod = function (it) { + if (it != undefined) return it[ITERATOR] + || it['@@iterator'] + || Iterators[classof(it)]; +}; + + +/***/ }), +/* 74 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(2); +var core = __webpack_require__(0); +var dP = __webpack_require__(7); +var DESCRIPTORS = __webpack_require__(9); +var SPECIES = __webpack_require__(3)('species'); + +module.exports = function (KEY) { + var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY]; + if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, { + configurable: true, + get: function () { return this; } + }); +}; + + +/***/ }), +/* 75 */ +/***/ (function(module, exports, __webpack_require__) { + +var isObject = __webpack_require__(5); +module.exports = function (it, TYPE) { + if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!'); + return it; +}; + + +/***/ }), +/* 76 */ +/***/ (function(module, exports, __webpack_require__) { + +// 7.3.20 SpeciesConstructor(O, defaultConstructor) +var anObject = __webpack_require__(8); +var aFunction = __webpack_require__(21); +var SPECIES = __webpack_require__(3)('species'); +module.exports = function (O, D) { + var C = anObject(O).constructor; + var S; + return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S); +}; + + +/***/ }), +/* 77 */ +/***/ (function(module, exports, __webpack_require__) { + +var ctx = __webpack_require__(11); +var invoke = __webpack_require__(153); +var html = __webpack_require__(66); +var cel = __webpack_require__(38); +var global = __webpack_require__(2); +var process = global.process; +var setTask = global.setImmediate; +var clearTask = global.clearImmediate; +var MessageChannel = global.MessageChannel; +var Dispatch = global.Dispatch; +var counter = 0; +var queue = {}; +var ONREADYSTATECHANGE = 'onreadystatechange'; +var defer, channel, port; +var run = function () { + var id = +this; + // eslint-disable-next-line no-prototype-builtins + if (queue.hasOwnProperty(id)) { + var fn = queue[id]; + delete queue[id]; + fn(); + } +}; +var listener = function (event) { + run.call(event.data); +}; +// Node.js 0.9+ & IE10+ has setImmediate, otherwise: +if (!setTask || !clearTask) { + setTask = function setImmediate(fn) { + var args = []; + var i = 1; + while (arguments.length > i) args.push(arguments[i++]); + queue[++counter] = function () { + // eslint-disable-next-line no-new-func + invoke(typeof fn == 'function' ? fn : Function(fn), args); + }; + defer(counter); + return counter; + }; + clearTask = function clearImmediate(id) { + delete queue[id]; + }; + // Node.js 0.8- + if (__webpack_require__(22)(process) == 'process') { + defer = function (id) { + process.nextTick(ctx(run, id, 1)); + }; + // Sphere (JS game engine) Dispatch API + } else if (Dispatch && Dispatch.now) { + defer = function (id) { + Dispatch.now(ctx(run, id, 1)); + }; + // Browsers with MessageChannel, includes WebWorkers + } else if (MessageChannel) { + channel = new MessageChannel(); + port = channel.port2; + channel.port1.onmessage = listener; + defer = ctx(port.postMessage, port, 1); + // Browsers with postMessage, skip WebWorkers + // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' + } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) { + defer = function (id) { + global.postMessage(id + '', '*'); + }; + global.addEventListener('message', listener, false); + // IE8- + } else if (ONREADYSTATECHANGE in cel('script')) { + defer = function (id) { + html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () { + html.removeChild(this); + run.call(id); + }; + }; + // Rest old browsers + } else { + defer = function (id) { + setTimeout(ctx(run, id, 1), 0); + }; + } +} +module.exports = { + set: setTask, + clear: clearTask +}; + + +/***/ }), +/* 78 */ +/***/ (function(module, exports) { + +module.exports = function (exec) { + try { + return { e: false, v: exec() }; + } catch (e) { + return { e: true, v: e }; + } +}; + + +/***/ }), +/* 79 */ +/***/ (function(module, exports, __webpack_require__) { + +var anObject = __webpack_require__(8); +var isObject = __webpack_require__(5); +var newPromiseCapability = __webpack_require__(52); + +module.exports = function (C, x) { + anObject(C); + if (isObject(x) && x.constructor === C) return x; + var promiseCapability = newPromiseCapability.f(C); + var resolve = promiseCapability.resolve; + resolve(x); + return promiseCapability.promise; +}; + + +/***/ }), +/* 80 */ +/***/ (function(module, exports, __webpack_require__) { + +// Approach: +// +// 1. Get the minimatch set +// 2. For each pattern in the set, PROCESS(pattern, false) +// 3. Store matches per-set, then uniq them +// +// PROCESS(pattern, inGlobStar) +// Get the first [n] items from pattern that are all strings +// Join these together. This is PREFIX. +// If there is no more remaining, then stat(PREFIX) and +// add to matches if it succeeds. END. +// +// If inGlobStar and PREFIX is symlink and points to dir +// set ENTRIES = [] +// else readdir(PREFIX) as ENTRIES +// If fail, END +// +// with ENTRIES +// If pattern[n] is GLOBSTAR +// // handle the case where the globstar match is empty +// // by pruning it out, and testing the resulting pattern +// PROCESS(pattern[0..n] + pattern[n+1 .. $], false) +// // handle other cases. +// for ENTRY in ENTRIES (not dotfiles) +// // attach globstar + tail onto the entry +// // Mark that this entry is a globstar match +// PROCESS(pattern[0..n] + ENTRY + pattern[n .. $], true) +// +// else // not globstar +// for ENTRY in ENTRIES (not dotfiles, unless pattern[n] is dot) +// Test ENTRY against pattern[n] +// If fails, continue +// If passes, PROCESS(pattern[0..n] + item + pattern[n+1 .. $]) +// +// Caveat: +// Cache all stats and readdirs results to minimize syscall. Since all +// we ever care about is existence and directory-ness, we can just keep +// `true` for files, and [children,...] for directories, or `false` for +// things that don't exist. + +module.exports = glob + +var rp = __webpack_require__(81) +var minimatch = __webpack_require__(54) +var Minimatch = minimatch.Minimatch +var inherits = __webpack_require__(164) +var EE = __webpack_require__(82).EventEmitter +var path = __webpack_require__(1) +var assert = __webpack_require__(53) +var isAbsolute = __webpack_require__(55) +var globSync = __webpack_require__(166) +var common = __webpack_require__(83) +var setopts = common.setopts +var ownProp = common.ownProp +var inflight = __webpack_require__(167) +var util = __webpack_require__(26) +var childrenIgnored = common.childrenIgnored +var isIgnored = common.isIgnored + +var once = __webpack_require__(85) + +function glob (pattern, options, cb) { + if (typeof options === 'function') cb = options, options = {} + if (!options) options = {} + + if (options.sync) { + if (cb) + throw new TypeError('callback provided to sync glob') + return globSync(pattern, options) + } + + return new Glob(pattern, options, cb) +} + +glob.sync = globSync +var GlobSync = glob.GlobSync = globSync.GlobSync + +// old api surface +glob.glob = glob + +function extend (origin, add) { + if (add === null || typeof add !== 'object') { + return origin + } + + var keys = Object.keys(add) + var i = keys.length + while (i--) { + origin[keys[i]] = add[keys[i]] + } + return origin +} + +glob.hasMagic = function (pattern, options_) { + var options = extend({}, options_) + options.noprocess = true + + var g = new Glob(pattern, options) + var set = g.minimatch.set + + if (!pattern) + return false + + if (set.length > 1) + return true + + for (var j = 0; j < set[0].length; j++) { + if (typeof set[0][j] !== 'string') + return true + } + + return false +} + +glob.Glob = Glob +inherits(Glob, EE) +function Glob (pattern, options, cb) { + if (typeof options === 'function') { + cb = options + options = null + } + + if (options && options.sync) { + if (cb) + throw new TypeError('callback provided to sync glob') + return new GlobSync(pattern, options) + } + + if (!(this instanceof Glob)) + return new Glob(pattern, options, cb) + + setopts(this, pattern, options) + this._didRealPath = false + + // process each pattern in the minimatch set + var n = this.minimatch.set.length + + // The matches are stored as {: true,...} so that + // duplicates are automagically pruned. + // Later, we do an Object.keys() on these. + // Keep them as a list so we can fill in when nonull is set. + this.matches = new Array(n) + + if (typeof cb === 'function') { + cb = once(cb) + this.on('error', cb) + this.on('end', function (matches) { + cb(null, matches) + }) + } + + var self = this + this._processing = 0 + + this._emitQueue = [] + this._processQueue = [] + this.paused = false + + if (this.noprocess) + return this + + if (n === 0) + return done() + + var sync = true + for (var i = 0; i < n; i ++) { + this._process(this.minimatch.set[i], i, false, done) + } + sync = false + + function done () { + --self._processing + if (self._processing <= 0) { + if (sync) { + process.nextTick(function () { + self._finish() + }) + } else { + self._finish() + } + } + } +} + +Glob.prototype._finish = function () { + assert(this instanceof Glob) + if (this.aborted) + return + + if (this.realpath && !this._didRealpath) + return this._realpath() + + common.finish(this) + this.emit('end', this.found) +} + +Glob.prototype._realpath = function () { + if (this._didRealpath) + return + + this._didRealpath = true + + var n = this.matches.length + if (n === 0) + return this._finish() + + var self = this + for (var i = 0; i < this.matches.length; i++) + this._realpathSet(i, next) + + function next () { + if (--n === 0) + self._finish() + } +} + +Glob.prototype._realpathSet = function (index, cb) { + var matchset = this.matches[index] + if (!matchset) + return cb() + + var found = Object.keys(matchset) + var self = this + var n = found.length + + if (n === 0) + return cb() + + var set = this.matches[index] = Object.create(null) + found.forEach(function (p, i) { + // If there's a problem with the stat, then it means that + // one or more of the links in the realpath couldn't be + // resolved. just return the abs value in that case. + p = self._makeAbs(p) + rp.realpath(p, self.realpathCache, function (er, real) { + if (!er) + set[real] = true + else if (er.syscall === 'stat') + set[p] = true + else + self.emit('error', er) // srsly wtf right here + + if (--n === 0) { + self.matches[index] = set + cb() + } + }) + }) +} + +Glob.prototype._mark = function (p) { + return common.mark(this, p) +} + +Glob.prototype._makeAbs = function (f) { + return common.makeAbs(this, f) +} + +Glob.prototype.abort = function () { + this.aborted = true + this.emit('abort') +} + +Glob.prototype.pause = function () { + if (!this.paused) { + this.paused = true + this.emit('pause') + } +} + +Glob.prototype.resume = function () { + if (this.paused) { + this.emit('resume') + this.paused = false + if (this._emitQueue.length) { + var eq = this._emitQueue.slice(0) + this._emitQueue.length = 0 + for (var i = 0; i < eq.length; i ++) { + var e = eq[i] + this._emitMatch(e[0], e[1]) + } + } + if (this._processQueue.length) { + var pq = this._processQueue.slice(0) + this._processQueue.length = 0 + for (var i = 0; i < pq.length; i ++) { + var p = pq[i] + this._processing-- + this._process(p[0], p[1], p[2], p[3]) + } + } + } +} + +Glob.prototype._process = function (pattern, index, inGlobStar, cb) { + assert(this instanceof Glob) + assert(typeof cb === 'function') + + if (this.aborted) + return + + this._processing++ + if (this.paused) { + this._processQueue.push([pattern, index, inGlobStar, cb]) + return + } + + //console.error('PROCESS %d', this._processing, pattern) + + // Get the first [n] parts of pattern that are all strings. + var n = 0 + while (typeof pattern[n] === 'string') { + n ++ + } + // now n is the index of the first one that is *not* a string. + + // see if there's anything else + var prefix + switch (n) { + // if not, then this is rather simple + case pattern.length: + this._processSimple(pattern.join('/'), index, cb) + return + + case 0: + // pattern *starts* with some non-trivial item. + // going to readdir(cwd), but not include the prefix in matches. + prefix = null + break + + default: + // pattern has some string bits in the front. + // whatever it starts with, whether that's 'absolute' like /foo/bar, + // or 'relative' like '../baz' + prefix = pattern.slice(0, n).join('/') + break + } + + var remain = pattern.slice(n) + + // get the list of entries. + var read + if (prefix === null) + read = '.' + else if (isAbsolute(prefix) || + isAbsolute(pattern.map(function (p) { + return typeof p === 'string' ? p : '[*]' + }).join('/'))) { + if (!prefix || !isAbsolute(prefix)) + prefix = '/' + prefix + read = prefix + } else + read = prefix + + var abs = this._makeAbs(read) + + //if ignored, skip _processing + if (childrenIgnored(this, read)) + return cb() + + var isGlobStar = remain[0] === minimatch.GLOBSTAR + if (isGlobStar) + this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb) + else + this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb) +} + +Glob.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar, cb) { + var self = this + this._readdir(abs, inGlobStar, function (er, entries) { + return self._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb) + }) +} + +Glob.prototype._processReaddir2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) { + + // if the abs isn't a dir, then nothing can match! + if (!entries) + return cb() + + // It will only match dot entries if it starts with a dot, or if + // dot is set. Stuff like @(.foo|.bar) isn't allowed. + var pn = remain[0] + var negate = !!this.minimatch.negate + var rawGlob = pn._glob + var dotOk = this.dot || rawGlob.charAt(0) === '.' + + var matchedEntries = [] + for (var i = 0; i < entries.length; i++) { + var e = entries[i] + if (e.charAt(0) !== '.' || dotOk) { + var m + if (negate && !prefix) { + m = !e.match(pn) + } else { + m = e.match(pn) + } + if (m) + matchedEntries.push(e) + } + } + + //console.error('prd2', prefix, entries, remain[0]._glob, matchedEntries) + + var len = matchedEntries.length + // If there are no matched entries, then nothing matches. + if (len === 0) + return cb() + + // if this is the last remaining pattern bit, then no need for + // an additional stat *unless* the user has specified mark or + // stat explicitly. We know they exist, since readdir returned + // them. + + if (remain.length === 1 && !this.mark && !this.stat) { + if (!this.matches[index]) + this.matches[index] = Object.create(null) + + for (var i = 0; i < len; i ++) { + var e = matchedEntries[i] + if (prefix) { + if (prefix !== '/') + e = prefix + '/' + e + else + e = prefix + e + } + + if (e.charAt(0) === '/' && !this.nomount) { + e = path.join(this.root, e) + } + this._emitMatch(index, e) + } + // This was the last one, and no stats were needed + return cb() + } + + // now test all matched entries as stand-ins for that part + // of the pattern. + remain.shift() + for (var i = 0; i < len; i ++) { + var e = matchedEntries[i] + var newPattern + if (prefix) { + if (prefix !== '/') + e = prefix + '/' + e + else + e = prefix + e + } + this._process([e].concat(remain), index, inGlobStar, cb) + } + cb() +} + +Glob.prototype._emitMatch = function (index, e) { + if (this.aborted) + return + + if (isIgnored(this, e)) + return + + if (this.paused) { + this._emitQueue.push([index, e]) + return + } + + var abs = isAbsolute(e) ? e : this._makeAbs(e) + + if (this.mark) + e = this._mark(e) + + if (this.absolute) + e = abs + + if (this.matches[index][e]) + return + + if (this.nodir) { + var c = this.cache[abs] + if (c === 'DIR' || Array.isArray(c)) + return + } + + this.matches[index][e] = true + + var st = this.statCache[abs] + if (st) + this.emit('stat', e, st) + + this.emit('match', e) +} + +Glob.prototype._readdirInGlobStar = function (abs, cb) { + if (this.aborted) + return + + // follow all symlinked directories forever + // just proceed as if this is a non-globstar situation + if (this.follow) + return this._readdir(abs, false, cb) + + var lstatkey = 'lstat\0' + abs + var self = this + var lstatcb = inflight(lstatkey, lstatcb_) + + if (lstatcb) + self.fs.lstat(abs, lstatcb) + + function lstatcb_ (er, lstat) { + if (er && er.code === 'ENOENT') + return cb() + + var isSym = lstat && lstat.isSymbolicLink() + self.symlinks[abs] = isSym + + // If it's not a symlink or a dir, then it's definitely a regular file. + // don't bother doing a readdir in that case. + if (!isSym && lstat && !lstat.isDirectory()) { + self.cache[abs] = 'FILE' + cb() + } else + self._readdir(abs, false, cb) + } +} + +Glob.prototype._readdir = function (abs, inGlobStar, cb) { + if (this.aborted) + return + + cb = inflight('readdir\0'+abs+'\0'+inGlobStar, cb) + if (!cb) + return + + //console.error('RD %j %j', +inGlobStar, abs) + if (inGlobStar && !ownProp(this.symlinks, abs)) + return this._readdirInGlobStar(abs, cb) + + if (ownProp(this.cache, abs)) { + var c = this.cache[abs] + if (!c || c === 'FILE') + return cb() + + if (Array.isArray(c)) + return cb(null, c) + } + + var self = this + self.fs.readdir(abs, readdirCb(this, abs, cb)) +} + +function readdirCb (self, abs, cb) { + return function (er, entries) { + if (er) + self._readdirError(abs, er, cb) + else + self._readdirEntries(abs, entries, cb) + } +} + +Glob.prototype._readdirEntries = function (abs, entries, cb) { + if (this.aborted) + return + + // if we haven't asked to stat everything, then just + // assume that everything in there exists, so we can avoid + // having to stat it a second time. + if (!this.mark && !this.stat) { + for (var i = 0; i < entries.length; i ++) { + var e = entries[i] + if (abs === '/') + e = abs + e + else + e = abs + '/' + e + this.cache[e] = true + } + } + + this.cache[abs] = entries + return cb(null, entries) +} + +Glob.prototype._readdirError = function (f, er, cb) { + if (this.aborted) + return + + // handle errors, and cache the information + switch (er.code) { + case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205 + case 'ENOTDIR': // totally normal. means it *does* exist. + var abs = this._makeAbs(f) + this.cache[abs] = 'FILE' + if (abs === this.cwdAbs) { + var error = new Error(er.code + ' invalid cwd ' + this.cwd) + error.path = this.cwd + error.code = er.code + this.emit('error', error) + this.abort() + } + break + + case 'ENOENT': // not terribly unusual + case 'ELOOP': + case 'ENAMETOOLONG': + case 'UNKNOWN': + this.cache[this._makeAbs(f)] = false + break + + default: // some unusual error. Treat as failure. + this.cache[this._makeAbs(f)] = false + if (this.strict) { + this.emit('error', er) + // If the error is handled, then we abort + // if not, we threw out of here + this.abort() + } + if (!this.silent) + console.error('glob error', er) + break + } + + return cb() +} + +Glob.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar, cb) { + var self = this + this._readdir(abs, inGlobStar, function (er, entries) { + self._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb) + }) +} + + +Glob.prototype._processGlobStar2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) { + //console.error('pgs2', prefix, remain[0], entries) + + // no entries means not a dir, so it can never have matches + // foo.txt/** doesn't match foo.txt + if (!entries) + return cb() + + // test without the globstar, and with every child both below + // and replacing the globstar. + var remainWithoutGlobStar = remain.slice(1) + var gspref = prefix ? [ prefix ] : [] + var noGlobStar = gspref.concat(remainWithoutGlobStar) + + // the noGlobStar pattern exits the inGlobStar state + this._process(noGlobStar, index, false, cb) + + var isSym = this.symlinks[abs] + var len = entries.length + + // If it's a symlink, and we're in a globstar, then stop + if (isSym && inGlobStar) + return cb() + + for (var i = 0; i < len; i++) { + var e = entries[i] + if (e.charAt(0) === '.' && !this.dot) + continue + + // these two cases enter the inGlobStar state + var instead = gspref.concat(entries[i], remainWithoutGlobStar) + this._process(instead, index, true, cb) + + var below = gspref.concat(entries[i], remain) + this._process(below, index, true, cb) + } + + cb() +} + +Glob.prototype._processSimple = function (prefix, index, cb) { + // XXX review this. Shouldn't it be doing the mounting etc + // before doing stat? kinda weird? + var self = this + this._stat(prefix, function (er, exists) { + self._processSimple2(prefix, index, er, exists, cb) + }) +} +Glob.prototype._processSimple2 = function (prefix, index, er, exists, cb) { + + //console.error('ps2', prefix, exists) + + if (!this.matches[index]) + this.matches[index] = Object.create(null) + + // If it doesn't exist, then just mark the lack of results + if (!exists) + return cb() + + if (prefix && isAbsolute(prefix) && !this.nomount) { + var trail = /[\/\\]$/.test(prefix) + if (prefix.charAt(0) === '/') { + prefix = path.join(this.root, prefix) + } else { + prefix = path.resolve(this.root, prefix) + if (trail) + prefix += '/' + } + } + + if (process.platform === 'win32') + prefix = prefix.replace(/\\/g, '/') + + // Mark this as a match + this._emitMatch(index, prefix) + cb() +} + +// Returns either 'DIR', 'FILE', or false +Glob.prototype._stat = function (f, cb) { + var abs = this._makeAbs(f) + var needDir = f.slice(-1) === '/' + + if (f.length > this.maxLength) + return cb() + + if (!this.stat && ownProp(this.cache, abs)) { + var c = this.cache[abs] + + if (Array.isArray(c)) + c = 'DIR' + + // It exists, but maybe not how we need it + if (!needDir || c === 'DIR') + return cb(null, c) + + if (needDir && c === 'FILE') + return cb() + + // otherwise we have to stat, because maybe c=true + // if we know it exists, but not what it is. + } + + var exists + var stat = this.statCache[abs] + if (stat !== undefined) { + if (stat === false) + return cb(null, stat) + else { + var type = stat.isDirectory() ? 'DIR' : 'FILE' + if (needDir && type === 'FILE') + return cb() + else + return cb(null, type, stat) + } + } + + var self = this + var statcb = inflight('stat\0' + abs, lstatcb_) + if (statcb) + self.fs.lstat(abs, statcb) + + function lstatcb_ (er, lstat) { + if (lstat && lstat.isSymbolicLink()) { + // If it's a symlink, then treat it as the target, unless + // the target does not exist, then treat it as a file. + return self.fs.stat(abs, function (er, stat) { + if (er) + self._stat2(f, abs, null, lstat, cb) + else + self._stat2(f, abs, er, stat, cb) + }) + } else { + self._stat2(f, abs, er, lstat, cb) + } + } +} + +Glob.prototype._stat2 = function (f, abs, er, stat, cb) { + if (er && (er.code === 'ENOENT' || er.code === 'ENOTDIR')) { + this.statCache[abs] = false + return cb() + } + + var needDir = f.slice(-1) === '/' + this.statCache[abs] = stat + + if (abs.slice(-1) === '/' && stat && !stat.isDirectory()) + return cb(null, false, stat) + + var c = true + if (stat) + c = stat.isDirectory() ? 'DIR' : 'FILE' + this.cache[abs] = this.cache[abs] || c + + if (needDir && c === 'FILE') + return cb() + + return cb(null, c, stat) +} + + +/***/ }), +/* 81 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = realpath +realpath.realpath = realpath +realpath.sync = realpathSync +realpath.realpathSync = realpathSync +realpath.monkeypatch = monkeypatch +realpath.unmonkeypatch = unmonkeypatch + +var fs = __webpack_require__(6) +var origRealpath = fs.realpath +var origRealpathSync = fs.realpathSync + +var version = process.version +var ok = /^v[0-5]\./.test(version) +var old = __webpack_require__(160) + +function newError (er) { + return er && er.syscall === 'realpath' && ( + er.code === 'ELOOP' || + er.code === 'ENOMEM' || + er.code === 'ENAMETOOLONG' + ) +} + +function realpath (p, cache, cb) { + if (ok) { + return origRealpath(p, cache, cb) + } + + if (typeof cache === 'function') { + cb = cache + cache = null + } + origRealpath(p, cache, function (er, result) { + if (newError(er)) { + old.realpath(p, cache, cb) + } else { + cb(er, result) + } + }) +} + +function realpathSync (p, cache) { + if (ok) { + return origRealpathSync(p, cache) + } + + try { + return origRealpathSync(p, cache) + } catch (er) { + if (newError(er)) { + return old.realpathSync(p, cache) + } else { + throw er + } + } +} + +function monkeypatch () { + fs.realpath = realpath + fs.realpathSync = realpathSync +} + +function unmonkeypatch () { + fs.realpath = origRealpath + fs.realpathSync = origRealpathSync +} + + +/***/ }), +/* 82 */ +/***/ (function(module, exports) { + +module.exports = require("events"); + +/***/ }), +/* 83 */ +/***/ (function(module, exports, __webpack_require__) { + +exports.setopts = setopts +exports.ownProp = ownProp +exports.makeAbs = makeAbs +exports.finish = finish +exports.mark = mark +exports.isIgnored = isIgnored +exports.childrenIgnored = childrenIgnored + +function ownProp (obj, field) { + return Object.prototype.hasOwnProperty.call(obj, field) +} + +var fs = __webpack_require__(6) +var path = __webpack_require__(1) +var minimatch = __webpack_require__(54) +var isAbsolute = __webpack_require__(55) +var Minimatch = minimatch.Minimatch + +function alphasort (a, b) { + return a.localeCompare(b, 'en') +} + +function setupIgnores (self, options) { + self.ignore = options.ignore || [] + + if (!Array.isArray(self.ignore)) + self.ignore = [self.ignore] + + if (self.ignore.length) { + self.ignore = self.ignore.map(ignoreMap) + } +} + +// ignore patterns are always in dot:true mode. +function ignoreMap (pattern) { + var gmatcher = null + if (pattern.slice(-3) === '/**') { + var gpattern = pattern.replace(/(\/\*\*)+$/, '') + gmatcher = new Minimatch(gpattern, { dot: true }) + } + + return { + matcher: new Minimatch(pattern, { dot: true }), + gmatcher: gmatcher + } +} + +function setopts (self, pattern, options) { + if (!options) + options = {} + + // base-matching: just use globstar for that. + if (options.matchBase && -1 === pattern.indexOf("/")) { + if (options.noglobstar) { + throw new Error("base matching requires globstar") + } + pattern = "**/" + pattern + } + + self.silent = !!options.silent + self.pattern = pattern + self.strict = options.strict !== false + self.realpath = !!options.realpath + self.realpathCache = options.realpathCache || Object.create(null) + self.follow = !!options.follow + self.dot = !!options.dot + self.mark = !!options.mark + self.nodir = !!options.nodir + if (self.nodir) + self.mark = true + self.sync = !!options.sync + self.nounique = !!options.nounique + self.nonull = !!options.nonull + self.nosort = !!options.nosort + self.nocase = !!options.nocase + self.stat = !!options.stat + self.noprocess = !!options.noprocess + self.absolute = !!options.absolute + self.fs = options.fs || fs + + self.maxLength = options.maxLength || Infinity + self.cache = options.cache || Object.create(null) + self.statCache = options.statCache || Object.create(null) + self.symlinks = options.symlinks || Object.create(null) + + setupIgnores(self, options) + + self.changedCwd = false + var cwd = process.cwd() + if (!ownProp(options, "cwd")) + self.cwd = cwd + else { + self.cwd = path.resolve(options.cwd) + self.changedCwd = self.cwd !== cwd + } + + self.root = options.root || path.resolve(self.cwd, "/") + self.root = path.resolve(self.root) + if (process.platform === "win32") + self.root = self.root.replace(/\\/g, "/") + + // TODO: is an absolute `cwd` supposed to be resolved against `root`? + // e.g. { cwd: '/test', root: __dirname } === path.join(__dirname, '/test') + self.cwdAbs = isAbsolute(self.cwd) ? self.cwd : makeAbs(self, self.cwd) + if (process.platform === "win32") + self.cwdAbs = self.cwdAbs.replace(/\\/g, "/") + self.nomount = !!options.nomount + + // disable comments and negation in Minimatch. + // Note that they are not supported in Glob itself anyway. + options.nonegate = true + options.nocomment = true + // always treat \ in patterns as escapes, not path separators + options.allowWindowsEscape = false + + self.minimatch = new Minimatch(pattern, options) + self.options = self.minimatch.options +} + +function finish (self) { + var nou = self.nounique + var all = nou ? [] : Object.create(null) + + for (var i = 0, l = self.matches.length; i < l; i ++) { + var matches = self.matches[i] + if (!matches || Object.keys(matches).length === 0) { + if (self.nonull) { + // do like the shell, and spit out the literal glob + var literal = self.minimatch.globSet[i] + if (nou) + all.push(literal) + else + all[literal] = true + } + } else { + // had matches + var m = Object.keys(matches) + if (nou) + all.push.apply(all, m) + else + m.forEach(function (m) { + all[m] = true + }) + } + } + + if (!nou) + all = Object.keys(all) + + if (!self.nosort) + all = all.sort(alphasort) + + // at *some* point we statted all of these + if (self.mark) { + for (var i = 0; i < all.length; i++) { + all[i] = self._mark(all[i]) + } + if (self.nodir) { + all = all.filter(function (e) { + var notDir = !(/\/$/.test(e)) + var c = self.cache[e] || self.cache[makeAbs(self, e)] + if (notDir && c) + notDir = c !== 'DIR' && !Array.isArray(c) + return notDir + }) + } + } + + if (self.ignore.length) + all = all.filter(function(m) { + return !isIgnored(self, m) + }) + + self.found = all +} + +function mark (self, p) { + var abs = makeAbs(self, p) + var c = self.cache[abs] + var m = p + if (c) { + var isDir = c === 'DIR' || Array.isArray(c) + var slash = p.slice(-1) === '/' + + if (isDir && !slash) + m += '/' + else if (!isDir && slash) + m = m.slice(0, -1) + + if (m !== p) { + var mabs = makeAbs(self, m) + self.statCache[mabs] = self.statCache[abs] + self.cache[mabs] = self.cache[abs] + } + } + + return m +} + +// lotta situps... +function makeAbs (self, f) { + var abs = f + if (f.charAt(0) === '/') { + abs = path.join(self.root, f) + } else if (isAbsolute(f) || f === '') { + abs = f + } else if (self.changedCwd) { + abs = path.resolve(self.cwd, f) + } else { + abs = path.resolve(f) + } + + if (process.platform === 'win32') + abs = abs.replace(/\\/g, '/') + + return abs +} + + +// Return true, if pattern ends with globstar '**', for the accompanying parent directory. +// Ex:- If node_modules/** is the pattern, add 'node_modules' to ignore list along with it's contents +function isIgnored (self, path) { + if (!self.ignore.length) + return false + + return self.ignore.some(function(item) { + return item.matcher.match(path) || !!(item.gmatcher && item.gmatcher.match(path)) + }) +} + +function childrenIgnored (self, path) { + if (!self.ignore.length) + return false + + return self.ignore.some(function(item) { + return !!(item.gmatcher && item.gmatcher.match(path)) + }) +} + + +/***/ }), +/* 84 */ +/***/ (function(module, exports) { + +// Returns a wrapper function that returns a wrapped callback +// The wrapper function should do some stuff, and return a +// presumably different callback function. +// This makes sure that own properties are retained, so that +// decorations and such are not lost along the way. +module.exports = wrappy +function wrappy (fn, cb) { + if (fn && cb) return wrappy(fn)(cb) + + if (typeof fn !== 'function') + throw new TypeError('need wrapper function') + + Object.keys(fn).forEach(function (k) { + wrapper[k] = fn[k] + }) + + return wrapper + + function wrapper() { + var args = new Array(arguments.length) + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i] + } + var ret = fn.apply(this, args) + var cb = args[args.length-1] + if (typeof ret === 'function' && ret !== cb) { + Object.keys(cb).forEach(function (k) { + ret[k] = cb[k] + }) + } + return ret + } +} + + +/***/ }), +/* 85 */ +/***/ (function(module, exports, __webpack_require__) { + +var wrappy = __webpack_require__(84) +module.exports = wrappy(once) +module.exports.strict = wrappy(onceStrict) + +once.proto = once(function () { + Object.defineProperty(Function.prototype, 'once', { + value: function () { + return once(this) + }, + configurable: true + }) + + Object.defineProperty(Function.prototype, 'onceStrict', { + value: function () { + return onceStrict(this) + }, + configurable: true + }) +}) + +function once (fn) { + var f = function () { + if (f.called) return f.value + f.called = true + return f.value = fn.apply(this, arguments) + } + f.called = false + return f +} + +function onceStrict (fn) { + var f = function () { + if (f.called) + throw new Error(f.onceError) + f.called = true + return f.value = fn.apply(this, arguments) + } + var name = fn.name || 'Function wrapped with `once`' + f.onceError = name + " shouldn't be called more than once" + f.called = false + return f +} + + +/***/ }), +/* 86 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* unused harmony export GetUdpServerPort */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return UpdateUdpServerPort; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Init; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return sendMsg; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_slicedToArray__ = __webpack_require__(189); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_slicedToArray___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_slicedToArray__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__index__ = __webpack_require__(33); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__log__ = __webpack_require__(196); + +var dgram = __webpack_require__(195); + +var server = void 0; +var Store = __webpack_require__(61); +var store = new Store(); + +var sandTable_udp_server_port = "sandTable_udp_server_port"; +function Init() { + if (server) { + server.close(); + server = null; + } + var port = GetUdpServerPort().port; + server = dgram.createSocket("udp4"); + server.on("listening", function () { + var address = server.address(); + console.log("server running " + address.address + ":" + address.port); + }); + + server.on("message", function (msg, remoteInfo) { + console.log("udp server got " + msg + " from " + remoteInfo.address + ":" + remoteInfo.port); + + try { + var s = JSON.parse(msg.toString()); + var positions = []; + + var angle = 45; + if (typeof s == "string") s = JSON.parse(s); + console.log(s); + + if (s.Placemark.hasOwnProperty("Point")) { + var arr = s.Placemark.Point.coordinates.split(","); + var position = { + lng: Number(arr[0]), + lat: Number(arr[1]), + alt: Number(arr[2]) || 0 + }; + if (arr.length > 2) position.alt = arr[2]; + if (arr.length > 3) angle = arr[3]; + positions.push(position); + } else { + var coordinates = s.Placemark.Polygon.outerBoundaryIs.LinearRing.coordinates; + var parseCoordinates = function parseCoordinates(coords) { + return coords.split(" ").map(function (pair) { + var _pair$split$map = pair.split(",").map(Number), + _pair$split$map2 = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_slicedToArray___default()(_pair$split$map, 2), + lng = _pair$split$map2[0], + lat = _pair$split$map2[1]; + + return { lng: lng, lat: lat }; + }); + }; + positions = parseCoordinates(coordinates); + } + Object(__WEBPACK_IMPORTED_MODULE_1__index__["getmainWindow"])().webContents.send(sandTable_udp_server_port, positions, angle); + } catch (err) { + console.log(err); + } + }); + server.on("error", function (err) { + console.log("server error", err); + }); + server.bind(port); +} +function sendMsg(val) { + var msg = void 0; + var port = store.get("sandTable_udp_client_port"); + var ip = store.get("sandTable_udp_client_host"); + var num = val.toString().split(""); + var swit = Number(num.pop()); + if (swit == 1 || swit == 0) { + var cnt = num.join(""); + if (cnt == "FF") { + var message = Buffer.from([0xff, Number(swit)]); + server.send(message, port, ip); + msg = "发送成功"; + } else { + var exp = /^[+-]?\d*(\.\d*)?(e[+-]?\d+)?$/; + if (exp.test(cnt)) { + var cntHex = cnt.toString(16); + var switHex = swit.toString(16); + var _message = Buffer.from([cntHex, switHex], "hex"); + server.send(_message, port, ip); + msg = "发送成功"; + } else { + msg = "接受失败"; + } + } + } + return msg; +} + +function UpdateUdpServerPort(port) { + store.set(sandTable_udp_server_port, port); + + Init(); +} + +function GetUdpServerPort() { + var port = 6000; + var server_port = store.get(sandTable_udp_server_port); + if (!server_port) { + store.set(sandTable_udp_server_port, port); + } else { + port = server_port; + } + var host = getHostIP(); + return { port: port, host: host }; +} +function getHostIP() { + var os = __webpack_require__(10); + var interfaces = os.networkInterfaces(); + var hostIP = ""; + console.log(interfaces); + + for (var networkInterface in interfaces) { + if (networkInterface.indexOf("以太网") > -1) { + var iface = interfaces[networkInterface]; + for (var i = 0; i < iface.length; i++) { + var _iface$i = iface[i], + address = _iface$i.address, + family = _iface$i.family, + internal = _iface$i.internal; + + if (family === "IPv4" && !internal) { + hostIP = address; + break; + } + } + + if (hostIP) { + break; + } + } + } + + return hostIP; +} + + + +/***/ }), +/* 87 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = { "default": __webpack_require__(193), __esModule: true }; + +/***/ }), +/* 88 */ +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(89); +module.exports = __webpack_require__(33); + + +/***/ }), +/* 89 */ +/***/ (function(module, exports, __webpack_require__) { + + +process.env.NODE_ENV = 'development'; + +__webpack_require__(90)({ showDevTools: true }); + +__webpack_require__(13).app.on('ready', function () {}); + +__webpack_require__(33); + +/***/ }), +/* 90 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +const electron = __webpack_require__(13); +const localShortcut = __webpack_require__(91); +const isDev = __webpack_require__(102); + +const app = electron.app; +const BrowserWindow = electron.BrowserWindow; +const isMacOS = process.platform === 'darwin'; + +function devTools(win) { + win = win || BrowserWindow.getFocusedWindow(); + + if (win) { + win.toggleDevTools(); + } +} + +function openDevTools(win, showDevTools) { + win = win || BrowserWindow.getFocusedWindow(); + + if (win) { + const mode = showDevTools === true ? undefined : showDevTools; + win.webContents.openDevTools({mode}); + } +} + +function refresh(win) { + win = win || BrowserWindow.getFocusedWindow(); + + if (win) { + win.webContents.reloadIgnoringCache(); + } +} + +function inspectElements() { + const win = BrowserWindow.getFocusedWindow(); + const inspect = () => { + win.devToolsWebContents.executeJavaScript('DevToolsAPI.enterInspectElementMode()'); + }; + + if (win) { + if (win.webContents.isDevToolsOpened()) { + inspect(); + } else { + win.webContents.on('devtools-opened', inspect); + win.openDevTools(); + } + } +} + +const addExtensionIfInstalled = (name, getPath) => { + const isExtensionInstalled = name => { + return BrowserWindow.getDevToolsExtensions && + {}.hasOwnProperty.call(BrowserWindow.getDevToolsExtensions(), name); + }; + + try { + if (!isExtensionInstalled(name)) { + BrowserWindow.addDevToolsExtension(getPath(name)); + } + } catch (err) {} +}; + +module.exports = opts => { + opts = Object.assign({ + enabled: null, + showDevTools: false + }, opts); + + if (opts.enabled === false || (opts.enabled === null && !isDev)) { + return; + } + + app.on('browser-window-created', (e, win) => { + if (opts.showDevTools) { + openDevTools(win, opts.showDevTools); + } + }); + + app.on('ready', () => { + addExtensionIfInstalled('devtron', name => !(function webpackMissingModule() { var e = new Error("Cannot find module \".\""); e.code = 'MODULE_NOT_FOUND'; throw e; }()).path); + // TODO: Use this when https://github.com/firejune/electron-react-devtools/pull/6 is out + // addExtensionIfInstalled('electron-react-devtools', name => require(name).path); + addExtensionIfInstalled('electron-react-devtools', name => __webpack_require__(1).dirname(/*require.resolve*/(!(function webpackMissingModule() { var e = new Error("Cannot find module \".\""); e.code = 'MODULE_NOT_FOUND'; throw e; }())))); + + localShortcut.register('CmdOrCtrl+Shift+C', inspectElements); + localShortcut.register(isMacOS ? 'Cmd+Alt+I' : 'Ctrl+Shift+I', devTools); + localShortcut.register('F12', devTools); + + localShortcut.register('CmdOrCtrl+R', refresh); + localShortcut.register('F5', refresh); + }); +}; + +module.exports.refresh = refresh; +module.exports.devTools = devTools; +module.exports.openDevTools = openDevTools; + + +/***/ }), +/* 91 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +const {app, BrowserWindow} = __webpack_require__(13); +const isAccelerator = __webpack_require__(92); +const equals = __webpack_require__(93); +const {toKeyEvent} = __webpack_require__(94); +const _debug = __webpack_require__(95); + +const debug = _debug('electron-localshortcut'); + +// A placeholder to register shortcuts +// on any window of the app. +const ANY_WINDOW = {}; + +const windowsWithShortcuts = new WeakMap(); + +const title = win => { + if (win) { + try { + return win.getTitle(); + // eslint-disable-next-line no-unused-vars + } catch (error) { + return 'A destroyed window'; + } + } + + return 'An falsy value'; +}; + +function _checkAccelerator(accelerator) { + if (!isAccelerator(accelerator)) { + const w = {}; + Error.captureStackTrace(w); + const stack = w.stack ? w.stack.split('\n').slice(4).join('\n') : w.message; + const msg = ` +WARNING: ${accelerator} is not a valid accelerator. + +${stack} +`; + console.error(msg); + } +} + +/** + * Disable all of the shortcuts registered on the BrowserWindow instance. + * Registered shortcuts no more works on the `window` instance, but the module + * keep a reference on them. You can reactivate them later by calling `enableAll` + * method on the same window instance. + * @param {BrowserWindow} win BrowserWindow instance + */ +function disableAll(win) { + debug(`Disabling all shortcuts on window ${title(win)}`); + const wc = win.webContents; + const shortcutsOfWindow = windowsWithShortcuts.get(wc); + + for (const shortcut of shortcutsOfWindow) { + shortcut.enabled = false; + } +} + +/** + * Enable all of the shortcuts registered on the BrowserWindow instance that + * you had previously disabled calling `disableAll` method. + * @param {BrowserWindow} win BrowserWindow instance + */ +function enableAll(win) { + debug(`Enabling all shortcuts on window ${title(win)}`); + const wc = win.webContents; + const shortcutsOfWindow = windowsWithShortcuts.get(wc); + + for (const shortcut of shortcutsOfWindow) { + shortcut.enabled = true; + } +} + +/** + * Unregisters all of the shortcuts registered on any focused BrowserWindow + * instance. This method does not unregister any shortcut you registered on + * a particular window instance. + * @param {BrowserWindow} win BrowserWindow instance + */ +function unregisterAll(win) { + debug(`Unregistering all shortcuts on window ${title(win)}`); + const wc = win.webContents; + const shortcutsOfWindow = windowsWithShortcuts.get(wc); + if (shortcutsOfWindow && shortcutsOfWindow.removeListener) { + // Remove listener from window + shortcutsOfWindow.removeListener(); + windowsWithShortcuts.delete(wc); + } +} + +function _normalizeEvent(input) { + const normalizedEvent = { + code: input.code, + key: input.key + }; + + ['alt', 'shift', 'meta'].forEach(prop => { + if (typeof input[prop] !== 'undefined') { + normalizedEvent[`${prop}Key`] = input[prop]; + } + }); + + if (typeof input.control !== 'undefined') { + normalizedEvent.ctrlKey = input.control; + } + + return normalizedEvent; +} + +function _findShortcut(event, shortcutsOfWindow) { + let i = 0; + for (const shortcut of shortcutsOfWindow) { + if (equals(shortcut.eventStamp, event)) { + return i; + } + + i++; + } + + return -1; +} + +const _onBeforeInput = shortcutsOfWindow => (e, input) => { + if (input.type === 'keyUp') { + return; + } + + const event = _normalizeEvent(input); + + debug(`before-input-event: ${input} is translated to: ${event}`); + for (const {eventStamp, callback} of shortcutsOfWindow) { + if (equals(eventStamp, event)) { + debug(`eventStamp: ${eventStamp} match`); + callback(); + + return; + } + + debug(`eventStamp: ${eventStamp} no match`); + } +}; + +/** + * Registers the shortcut `accelerator`on the BrowserWindow instance. + * @param {BrowserWindow} win - BrowserWindow instance to register. + * This argument could be omitted, in this case the function register + * the shortcut on all app windows. + * @param {String|Array} accelerator - the shortcut to register + * @param {Function} callback This function is called when the shortcut is pressed + * and the window is focused and not minimized. + */ +function register(win, accelerator, callback) { + let wc; + if (typeof callback === 'undefined') { + wc = ANY_WINDOW; + callback = accelerator; + accelerator = win; + } else { + wc = win.webContents; + } + + if (Array.isArray(accelerator) === true) { + accelerator.forEach(accelerator => { + if (typeof accelerator === 'string') { + register(win, accelerator, callback); + } + }); + return; + } + + debug(`Registering callback for ${accelerator} on window ${title(win)}`); + _checkAccelerator(accelerator); + + debug(`${accelerator} seems a valid shortcut sequence.`); + + let shortcutsOfWindow; + if (windowsWithShortcuts.has(wc)) { + debug('Window has others shortcuts registered.'); + shortcutsOfWindow = windowsWithShortcuts.get(wc); + } else { + debug('This is the first shortcut of the window.'); + shortcutsOfWindow = []; + windowsWithShortcuts.set(wc, shortcutsOfWindow); + + if (wc === ANY_WINDOW) { + const keyHandler = _onBeforeInput(shortcutsOfWindow); + const enableAppShortcuts = (e, win) => { + const wc = win.webContents; + wc.on('before-input-event', keyHandler); + wc.once('closed', () => + wc.removeListener('before-input-event', keyHandler) + ); + }; + + // Enable shortcut on current windows + const windows = BrowserWindow.getAllWindows(); + + windows.forEach(win => enableAppShortcuts(null, win)); + + // Enable shortcut on future windows + app.on('browser-window-created', enableAppShortcuts); + + shortcutsOfWindow.removeListener = () => { + const windows = BrowserWindow.getAllWindows(); + windows.forEach(win => + win.webContents.removeListener('before-input-event', keyHandler) + ); + app.removeListener('browser-window-created', enableAppShortcuts); + }; + } else { + const keyHandler = _onBeforeInput(shortcutsOfWindow); + wc.on('before-input-event', keyHandler); + + // Save a reference to allow remove of listener from elsewhere + shortcutsOfWindow.removeListener = () => + wc.removeListener('before-input-event', keyHandler); + wc.once('closed', shortcutsOfWindow.removeListener); + } + } + + debug('Adding shortcut to window set.'); + + const eventStamp = toKeyEvent(accelerator); + + shortcutsOfWindow.push({ + eventStamp, + callback, + enabled: true + }); + + debug('Shortcut registered.'); +} + +/** + * Unregisters the shortcut of `accelerator` registered on the BrowserWindow instance. + * @param {BrowserWindow} win - BrowserWindow instance to unregister. + * This argument could be omitted, in this case the function unregister the shortcut + * on all app windows. If you registered the shortcut on a particular window instance, it will do nothing. + * @param {String|Array} accelerator - the shortcut to unregister + */ +function unregister(win, accelerator) { + let wc; + if (typeof accelerator === 'undefined') { + wc = ANY_WINDOW; + accelerator = win; + } else { + if (win.isDestroyed()) { + debug('Early return because window is destroyed.'); + return; + } + + wc = win.webContents; + } + + if (Array.isArray(accelerator) === true) { + accelerator.forEach(accelerator => { + if (typeof accelerator === 'string') { + unregister(win, accelerator); + } + }); + return; + } + + debug(`Unregistering callback for ${accelerator} on window ${title(win)}`); + + _checkAccelerator(accelerator); + + debug(`${accelerator} seems a valid shortcut sequence.`); + + if (!windowsWithShortcuts.has(wc)) { + debug('Early return because window has never had shortcuts registered.'); + return; + } + + const shortcutsOfWindow = windowsWithShortcuts.get(wc); + + const eventStamp = toKeyEvent(accelerator); + const shortcutIdx = _findShortcut(eventStamp, shortcutsOfWindow); + if (shortcutIdx === -1) { + return; + } + + shortcutsOfWindow.splice(shortcutIdx, 1); + + // If the window has no more shortcuts, + // we remove it early from the WeakMap + // and unregistering the event listener + if (shortcutsOfWindow.length === 0) { + // Remove listener from window + shortcutsOfWindow.removeListener(); + + // Remove window from shortcuts catalog + windowsWithShortcuts.delete(wc); + } +} + +/** + * Returns `true` or `false` depending on whether the shortcut `accelerator` + * is registered on `window`. + * @param {BrowserWindow} win - BrowserWindow instance to check. This argument + * could be omitted, in this case the function returns whether the shortcut + * `accelerator` is registered on all app windows. If you registered the + * shortcut on a particular window instance, it return false. + * @param {String} accelerator - the shortcut to check + * @return {Boolean} - if the shortcut `accelerator` is registered on `window`. + */ +function isRegistered(win, accelerator) { + _checkAccelerator(accelerator); + const wc = win.webContents; + const shortcutsOfWindow = windowsWithShortcuts.get(wc); + const eventStamp = toKeyEvent(accelerator); + + return _findShortcut(eventStamp, shortcutsOfWindow) !== -1; +} + +module.exports = { + register, + unregister, + isRegistered, + unregisterAll, + enableAll, + disableAll +}; + + +/***/ }), +/* 92 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +const modifiers = /^(Command|Cmd|Control|Ctrl|CommandOrControl|CmdOrCtrl|Alt|Option|AltGr|Shift|Super)$/; +const keyCodes = /^([0-9A-Z)!@#$%^&*(:+<_>?~{|}";=,\-./`[\\\]']|F1*[1-9]|F10|F2[0-4]|Plus|Space|Tab|Backspace|Delete|Insert|Return|Enter|Up|Down|Left|Right|Home|End|PageUp|PageDown|Escape|Esc|VolumeUp|VolumeDown|VolumeMute|MediaNextTrack|MediaPreviousTrack|MediaStop|MediaPlayPause|PrintScreen)$/; + +module.exports = function (str) { + let parts = str.split("+"); + let keyFound = false; + return parts.every((val, index) => { + const isKey = keyCodes.test(val); + const isModifier = modifiers.test(val); + if (isKey) { + // Key must be unique + if (keyFound) return false; + keyFound = true; + } + // Key is required + if (index === parts.length - 1 && !keyFound) return false; + return isKey || isModifier; + }); +}; + + +/***/ }), +/* 93 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +function _lower(key) { + if (typeof key !== 'string') { + return key; + } + return key.toLowerCase(); +} + +function areEqual(ev1, ev2) { + if (ev1 === ev2) { + // Same object + // console.log(`Events are same.`) + return true; + } + + for (const prop of ['altKey', 'ctrlKey', 'shiftKey', 'metaKey']) { + const [value1, value2] = [ev1[prop], ev2[prop]]; + + if (Boolean(value1) !== Boolean(value2)) { + // One of the prop is different + // console.log(`Comparing prop ${prop}: ${value1} ${value2}`); + return false; + } + } + + if ((_lower(ev1.key) === _lower(ev2.key) && ev1.key !== undefined) || + (ev1.code === ev2.code && ev1.code !== undefined)) { + // Events are equals + return true; + } + + // Key or code are differents + // console.log(`key or code are differents. ${ev1.key} !== ${ev2.key} ${ev1.code} !== ${ev2.code}`); + + return false; +} + +module.exports = areEqual; + + +/***/ }), +/* 94 */ +/***/ (function(module, exports) { + +const modifiers = /^(CommandOrControl|CmdOrCtrl|Command|Cmd|Control|Ctrl|AltGr|Option|Alt|Shift|Super)/i; +const keyCodes = /^(Plus|Space|Tab|Backspace|Delete|Insert|Return|Enter|Up|Down|Left|Right|Home|End|PageUp|PageDown|Escape|Esc|VolumeUp|VolumeDown|VolumeMute|MediaNextTrack|MediaPreviousTrack|MediaStop|MediaPlayPause|PrintScreen|F24|F23|F22|F21|F20|F19|F18|F17|F16|F15|F14|F13|F12|F11|F10|F9|F8|F7|F6|F5|F4|F3|F2|F1|[0-9A-Z)!@#$%^&*(:+<_>?~{|}";=,\-./`[\\\]'])/i; +const UNSUPPORTED = {}; + +function _command(accelerator, event, modifier) { + if (process.platform !== 'darwin') { + return UNSUPPORTED; + } + + if (event.metaKey) { + throw new Error('Double `Command` modifier specified.'); + } + + return { + event: Object.assign({}, event, {metaKey: true}), + accelerator: accelerator.slice(modifier.length) + }; +} + +function _super(accelerator, event, modifier) { + if (event.metaKey) { + throw new Error('Double `Super` modifier specified.'); + } + + return { + event: Object.assign({}, event, {metaKey: true}), + accelerator: accelerator.slice(modifier.length) + }; +} + +function _commandorcontrol(accelerator, event, modifier) { + if (process.platform === 'darwin') { + if (event.metaKey) { + throw new Error('Double `Command` modifier specified.'); + } + + return { + event: Object.assign({}, event, {metaKey: true}), + accelerator: accelerator.slice(modifier.length) + }; + } + + if (event.ctrlKey) { + throw new Error('Double `Control` modifier specified.'); + } + + return { + event: Object.assign({}, event, {ctrlKey: true}), + accelerator: accelerator.slice(modifier.length) + }; +} + +function _alt(accelerator, event, modifier) { + if (modifier === 'option' && process.platform !== 'darwin') { + return UNSUPPORTED; + } + + if (event.altKey) { + throw new Error('Double `Alt` modifier specified.'); + } + + return { + event: Object.assign({}, event, {altKey: true}), + accelerator: accelerator.slice(modifier.length) + }; +} + +function _shift(accelerator, event, modifier) { + if (event.shiftKey) { + throw new Error('Double `Shift` modifier specified.'); + } + + return { + event: Object.assign({}, event, {shiftKey: true}), + accelerator: accelerator.slice(modifier.length) + }; +} + +function _control(accelerator, event, modifier) { + if (event.ctrlKey) { + throw new Error('Double `Control` modifier specified.'); + } + + return { + event: Object.assign({}, event, {ctrlKey: true}), + accelerator: accelerator.slice(modifier.length) + }; +} + +function reduceModifier({accelerator, event}, modifier) { + switch (modifier) { + case 'command': + case 'cmd': { + return _command(accelerator, event, modifier); + } + + case 'super': { + return _super(accelerator, event, modifier); + } + + case 'control': + case 'ctrl': { + return _control(accelerator, event, modifier); + } + + case 'commandorcontrol': + case 'cmdorctrl': { + return _commandorcontrol(accelerator, event, modifier); + } + + case 'option': + case 'altgr': + case 'alt': { + return _alt(accelerator, event, modifier); + } + + case 'shift': { + return _shift(accelerator, event, modifier); + } + + default: + console.error(modifier); + } +} + +function reducePlus({accelerator, event}) { + return { + event, + accelerator: accelerator.trim().slice(1) + }; +} + +const virtualKeyCodes = { + 0: 'Digit0', + 1: 'Digit1', + 2: 'Digit2', + 3: 'Digit3', + 4: 'Digit4', + 5: 'Digit5', + 6: 'Digit6', + 7: 'Digit7', + 8: 'Digit8', + 9: 'Digit9', + '-': 'Minus', + '=': 'Equal', + Q: 'KeyQ', + W: 'KeyW', + E: 'KeyE', + R: 'KeyR', + T: 'KeyT', + Y: 'KeyY', + U: 'KeyU', + I: 'KeyI', + O: 'KeyO', + P: 'KeyP', + '[': 'BracketLeft', + ']': 'BracketRight', + A: 'KeyA', + S: 'KeyS', + D: 'KeyD', + F: 'KeyF', + G: 'KeyG', + H: 'KeyH', + J: 'KeyJ', + K: 'KeyK', + L: 'KeyL', + ';': 'Semicolon', + '\'': 'Quote', + '`': 'Backquote', + '/': 'Backslash', + Z: 'KeyZ', + X: 'KeyX', + C: 'KeyC', + V: 'KeyV', + B: 'KeyB', + N: 'KeyN', + M: 'KeyM', + ',': 'Comma', + '.': 'Period', + '\\': 'Slash', + ' ': 'Space' +}; + +function reduceKey({accelerator, event}, key) { + if (key.length > 1 || event.key) { + throw new Error(`Unvalid keycode \`${key}\`.`); + } + + const code = + key.toUpperCase() in virtualKeyCodes ? + virtualKeyCodes[key.toUpperCase()] : + null; + + return { + event: Object.assign({}, event, {key}, code ? {code} : null), + accelerator: accelerator.trim().slice(key.length) + }; +} + +const domKeys = Object.assign(Object.create(null), { + plus: 'Add', + space: 'Space', + tab: 'Tab', + backspace: 'Backspace', + delete: 'Delete', + insert: 'Insert', + return: 'Return', + enter: 'Return', + up: 'ArrowUp', + down: 'ArrowDown', + left: 'ArrowLeft', + right: 'ArrowRight', + home: 'Home', + end: 'End', + pageup: 'PageUp', + pagedown: 'PageDown', + escape: 'Escape', + esc: 'Escape', + volumeup: 'AudioVolumeUp', + volumedown: 'AudioVolumeDown', + volumemute: 'AudioVolumeMute', + medianexttrack: 'MediaTrackNext', + mediaprevioustrack: 'MediaTrackPrevious', + mediastop: 'MediaStop', + mediaplaypause: 'MediaPlayPause', + printscreen: 'PrintScreen' +}); + +// Add function keys +for (let i = 1; i <= 24; i++) { + domKeys[`f${i}`] = `F${i}`; +} + +function reduceCode({accelerator, event}, {code, key}) { + if (event.code) { + throw new Error(`Duplicated keycode \`${key}\`.`); + } + + return { + event: Object.assign({}, event, {key}, code ? {code} : null), + accelerator: accelerator.trim().slice((key && key.length) || 0) + }; +} + +/** + * This function transform an Electron Accelerator string into + * a DOM KeyboardEvent object. + * + * @param {string} accelerator an Electron Accelerator string, e.g. `Ctrl+C` or `Shift+Space`. + * @return {object} a DOM KeyboardEvent object derivate from the `accelerator` argument. + */ +function toKeyEvent(accelerator) { + let state = {accelerator, event: {}}; + while (state.accelerator !== '') { + const modifierMatch = state.accelerator.match(modifiers); + if (modifierMatch) { + const modifier = modifierMatch[0].toLowerCase(); + state = reduceModifier(state, modifier); + if (state === UNSUPPORTED) { + return {unsupportedKeyForPlatform: true}; + } + } else if (state.accelerator.trim()[0] === '+') { + state = reducePlus(state); + } else { + const codeMatch = state.accelerator.match(keyCodes); + if (codeMatch) { + const code = codeMatch[0].toLowerCase(); + if (code in domKeys) { + state = reduceCode(state, { + code: domKeys[code], + key: code + }); + } else { + state = reduceKey(state, code); + } + } else { + throw new Error(`Unvalid accelerator: "${state.accelerator}"`); + } + } + } + + return state.event; +} + +module.exports = { + UNSUPPORTED, + reduceModifier, + reducePlus, + reduceKey, + reduceCode, + toKeyEvent +}; + + +/***/ }), +/* 95 */ +/***/ (function(module, exports, __webpack_require__) { + +/** + * Detect Electron renderer / nwjs process, which is node, but we should + * treat as a browser. + */ + +if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) { + module.exports = __webpack_require__(96); +} else { + module.exports = __webpack_require__(98); +} + + +/***/ }), +/* 96 */ +/***/ (function(module, exports, __webpack_require__) { + +/* eslint-env browser */ + +/** + * This is the web browser implementation of `debug()`. + */ + +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; +exports.storage = localstorage(); +exports.destroy = (() => { + let warned = false; + + return () => { + if (!warned) { + warned = true; + console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'); + } + }; +})(); + +/** + * Colors. + */ + +exports.colors = [ + '#0000CC', + '#0000FF', + '#0033CC', + '#0033FF', + '#0066CC', + '#0066FF', + '#0099CC', + '#0099FF', + '#00CC00', + '#00CC33', + '#00CC66', + '#00CC99', + '#00CCCC', + '#00CCFF', + '#3300CC', + '#3300FF', + '#3333CC', + '#3333FF', + '#3366CC', + '#3366FF', + '#3399CC', + '#3399FF', + '#33CC00', + '#33CC33', + '#33CC66', + '#33CC99', + '#33CCCC', + '#33CCFF', + '#6600CC', + '#6600FF', + '#6633CC', + '#6633FF', + '#66CC00', + '#66CC33', + '#9900CC', + '#9900FF', + '#9933CC', + '#9933FF', + '#99CC00', + '#99CC33', + '#CC0000', + '#CC0033', + '#CC0066', + '#CC0099', + '#CC00CC', + '#CC00FF', + '#CC3300', + '#CC3333', + '#CC3366', + '#CC3399', + '#CC33CC', + '#CC33FF', + '#CC6600', + '#CC6633', + '#CC9900', + '#CC9933', + '#CCCC00', + '#CCCC33', + '#FF0000', + '#FF0033', + '#FF0066', + '#FF0099', + '#FF00CC', + '#FF00FF', + '#FF3300', + '#FF3333', + '#FF3366', + '#FF3399', + '#FF33CC', + '#FF33FF', + '#FF6600', + '#FF6633', + '#FF9900', + '#FF9933', + '#FFCC00', + '#FFCC33' +]; + +/** + * Currently only WebKit-based Web Inspectors, Firefox >= v31, + * and the Firebug extension (any Firefox version) are known + * to support "%c" CSS customizations. + * + * TODO: add a `localStorage` variable to explicitly enable/disable colors + */ + +// eslint-disable-next-line complexity +function useColors() { + // NB: In an Electron preload script, document will be defined but not fully + // initialized. Since we know we're in Chrome, we'll just detect this case + // explicitly + if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) { + return true; + } + + // Internet Explorer and Edge do not support colors. + if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { + return false; + } + + let m; + + // Is webkit? http://stackoverflow.com/a/16459606/376773 + // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 + // eslint-disable-next-line no-return-assign + return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || + // Is firebug? http://stackoverflow.com/a/398120/376773 + (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || + // Is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + (typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31) || + // Double check webkit in userAgent just in case we are in a worker + (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); +} + +/** + * Colorize log arguments if enabled. + * + * @api public + */ + +function formatArgs(args) { + args[0] = (this.useColors ? '%c' : '') + + this.namespace + + (this.useColors ? ' %c' : ' ') + + args[0] + + (this.useColors ? '%c ' : ' ') + + '+' + module.exports.humanize(this.diff); + + if (!this.useColors) { + return; + } + + const c = 'color: ' + this.color; + args.splice(1, 0, c, 'color: inherit'); + + // The final "%c" is somewhat tricky, because there could be other + // arguments passed either before or after the %c, so we need to + // figure out the correct index to insert the CSS into + let index = 0; + let lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, match => { + if (match === '%%') { + return; + } + index++; + if (match === '%c') { + // We only are interested in the *last* %c + // (the user may have provided their own) + lastC = index; + } + }); + + args.splice(lastC, 0, c); +} + +/** + * Invokes `console.debug()` when available. + * No-op when `console.debug` is not a "function". + * If `console.debug` is not available, falls back + * to `console.log`. + * + * @api public + */ +exports.log = console.debug || console.log || (() => {}); + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ +function save(namespaces) { + try { + if (namespaces) { + exports.storage.setItem('debug', namespaces); + } else { + exports.storage.removeItem('debug'); + } + } catch (error) { + // Swallow + // XXX (@Qix-) should we be logging these? + } +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ +function load() { + let r; + try { + r = exports.storage.getItem('debug'); + } catch (error) { + // Swallow + // XXX (@Qix-) should we be logging these? + } + + // If debug isn't set in LS, and we're in Electron, try to load $DEBUG + if (!r && typeof process !== 'undefined' && 'env' in process) { + r = process.env.DEBUG; + } + + return r; +} + +/** + * Localstorage attempts to return the localstorage. + * + * This is necessary because safari throws + * when a user disables cookies/localstorage + * and you attempt to access it. + * + * @return {LocalStorage} + * @api private + */ + +function localstorage() { + try { + // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context + // The Browser also has localStorage in the global context. + return localStorage; + } catch (error) { + // Swallow + // XXX (@Qix-) should we be logging these? + } +} + +module.exports = __webpack_require__(56)(exports); + +const {formatters} = module.exports; + +/** + * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + */ + +formatters.j = function (v) { + try { + return JSON.stringify(v); + } catch (error) { + return '[UnexpectedJSONParseError]: ' + error.message; + } +}; + + +/***/ }), +/* 97 */ +/***/ (function(module, exports) { + +/** + * Helpers. + */ + +var s = 1000; +var m = s * 60; +var h = m * 60; +var d = h * 24; +var w = d * 7; +var y = d * 365.25; + +/** + * Parse or format the given `val`. + * + * Options: + * + * - `long` verbose formatting [false] + * + * @param {String|Number} val + * @param {Object} [options] + * @throws {Error} throw an error if val is not a non-empty string or a number + * @return {String|Number} + * @api public + */ + +module.exports = function (val, options) { + options = options || {}; + var type = typeof val; + if (type === 'string' && val.length > 0) { + return parse(val); + } else if (type === 'number' && isFinite(val)) { + return options.long ? fmtLong(val) : fmtShort(val); + } + throw new Error( + 'val is not a non-empty string or a valid number. val=' + + JSON.stringify(val) + ); +}; + +/** + * Parse the given `str` and return milliseconds. + * + * @param {String} str + * @return {Number} + * @api private + */ + +function parse(str) { + str = String(str); + if (str.length > 100) { + return; + } + var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( + str + ); + if (!match) { + return; + } + var n = parseFloat(match[1]); + var type = (match[2] || 'ms').toLowerCase(); + switch (type) { + case 'years': + case 'year': + case 'yrs': + case 'yr': + case 'y': + return n * y; + case 'weeks': + case 'week': + case 'w': + return n * w; + case 'days': + case 'day': + case 'd': + return n * d; + case 'hours': + case 'hour': + case 'hrs': + case 'hr': + case 'h': + return n * h; + case 'minutes': + case 'minute': + case 'mins': + case 'min': + case 'm': + return n * m; + case 'seconds': + case 'second': + case 'secs': + case 'sec': + case 's': + return n * s; + case 'milliseconds': + case 'millisecond': + case 'msecs': + case 'msec': + case 'ms': + return n; + default: + return undefined; + } +} + +/** + * Short format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtShort(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return Math.round(ms / d) + 'd'; + } + if (msAbs >= h) { + return Math.round(ms / h) + 'h'; + } + if (msAbs >= m) { + return Math.round(ms / m) + 'm'; + } + if (msAbs >= s) { + return Math.round(ms / s) + 's'; + } + return ms + 'ms'; +} + +/** + * Long format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + +function fmtLong(ms) { + var msAbs = Math.abs(ms); + if (msAbs >= d) { + return plural(ms, msAbs, d, 'day'); + } + if (msAbs >= h) { + return plural(ms, msAbs, h, 'hour'); + } + if (msAbs >= m) { + return plural(ms, msAbs, m, 'minute'); + } + if (msAbs >= s) { + return plural(ms, msAbs, s, 'second'); + } + return ms + ' ms'; +} + +/** + * Pluralization helper. + */ + +function plural(ms, msAbs, n, name) { + var isPlural = msAbs >= n * 1.5; + return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : ''); +} + + +/***/ }), +/* 98 */ +/***/ (function(module, exports, __webpack_require__) { + +/** + * Module dependencies. + */ + +const tty = __webpack_require__(99); +const util = __webpack_require__(26); + +/** + * This is the Node.js implementation of `debug()`. + */ + +exports.init = init; +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; +exports.destroy = util.deprecate( + () => {}, + 'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.' +); + +/** + * Colors. + */ + +exports.colors = [6, 2, 3, 4, 5, 1]; + +try { + // Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json) + // eslint-disable-next-line import/no-extraneous-dependencies + const supportsColor = __webpack_require__(100); + + if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) { + exports.colors = [ + 20, + 21, + 26, + 27, + 32, + 33, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 56, + 57, + 62, + 63, + 68, + 69, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 92, + 93, + 98, + 99, + 112, + 113, + 128, + 129, + 134, + 135, + 148, + 149, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 178, + 179, + 184, + 185, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 214, + 215, + 220, + 221 + ]; + } +} catch (error) { + // Swallow - we only care if `supports-color` is available; it doesn't have to be. +} + +/** + * Build up the default `inspectOpts` object from the environment variables. + * + * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js + */ + +exports.inspectOpts = Object.keys(process.env).filter(key => { + return /^debug_/i.test(key); +}).reduce((obj, key) => { + // Camel-case + const prop = key + .substring(6) + .toLowerCase() + .replace(/_([a-z])/g, (_, k) => { + return k.toUpperCase(); + }); + + // Coerce string value into JS value + let val = process.env[key]; + if (/^(yes|on|true|enabled)$/i.test(val)) { + val = true; + } else if (/^(no|off|false|disabled)$/i.test(val)) { + val = false; + } else if (val === 'null') { + val = null; + } else { + val = Number(val); + } + + obj[prop] = val; + return obj; +}, {}); + +/** + * Is stdout a TTY? Colored output is enabled when `true`. + */ + +function useColors() { + return 'colors' in exports.inspectOpts ? + Boolean(exports.inspectOpts.colors) : + tty.isatty(process.stderr.fd); +} + +/** + * Adds ANSI color escape codes if enabled. + * + * @api public + */ + +function formatArgs(args) { + const {namespace: name, useColors} = this; + + if (useColors) { + const c = this.color; + const colorCode = '\u001B[3' + (c < 8 ? c : '8;5;' + c); + const prefix = ` ${colorCode};1m${name} \u001B[0m`; + + args[0] = prefix + args[0].split('\n').join('\n' + prefix); + args.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\u001B[0m'); + } else { + args[0] = getDate() + name + ' ' + args[0]; + } +} + +function getDate() { + if (exports.inspectOpts.hideDate) { + return ''; + } + return new Date().toISOString() + ' '; +} + +/** + * Invokes `util.formatWithOptions()` with the specified arguments and writes to stderr. + */ + +function log(...args) { + return process.stderr.write(util.formatWithOptions(exports.inspectOpts, ...args) + '\n'); +} + +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ +function save(namespaces) { + if (namespaces) { + process.env.DEBUG = namespaces; + } else { + // If you set a process.env field to null or undefined, it gets cast to the + // string 'null' or 'undefined'. Just delete instead. + delete process.env.DEBUG; + } +} + +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ + +function load() { + return process.env.DEBUG; +} + +/** + * Init logic for `debug` instances. + * + * Create a new `inspectOpts` object in case `useColors` is set + * differently for a particular `debug` instance. + */ + +function init(debug) { + debug.inspectOpts = {}; + + const keys = Object.keys(exports.inspectOpts); + for (let i = 0; i < keys.length; i++) { + debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; + } +} + +module.exports = __webpack_require__(56)(exports); + +const {formatters} = module.exports; + +/** + * Map %o to `util.inspect()`, all on a single line. + */ + +formatters.o = function (v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts) + .split('\n') + .map(str => str.trim()) + .join(' '); +}; + +/** + * Map %O to `util.inspect()`, allowing multiple lines if needed. + */ + +formatters.O = function (v) { + this.inspectOpts.colors = this.useColors; + return util.inspect(v, this.inspectOpts); +}; + + +/***/ }), +/* 99 */ +/***/ (function(module, exports) { + +module.exports = require("tty"); + +/***/ }), +/* 100 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +const os = __webpack_require__(10); +const hasFlag = __webpack_require__(101); + +const env = process.env; + +let forceColor; +if (hasFlag('no-color') || + hasFlag('no-colors') || + hasFlag('color=false')) { + forceColor = false; +} else if (hasFlag('color') || + hasFlag('colors') || + hasFlag('color=true') || + hasFlag('color=always')) { + forceColor = true; +} +if ('FORCE_COLOR' in env) { + forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0; +} + +function translateLevel(level) { + if (level === 0) { + return false; + } + + return { + level, + hasBasic: true, + has256: level >= 2, + has16m: level >= 3 + }; +} + +function supportsColor(stream) { + if (forceColor === false) { + return 0; + } + + if (hasFlag('color=16m') || + hasFlag('color=full') || + hasFlag('color=truecolor')) { + return 3; + } + + if (hasFlag('color=256')) { + return 2; + } + + if (stream && !stream.isTTY && forceColor !== true) { + return 0; + } + + const min = forceColor ? 1 : 0; + + if (process.platform === 'win32') { + // Node.js 7.5.0 is the first version of Node.js to include a patch to + // libuv that enables 256 color output on Windows. Anything earlier and it + // won't work. However, here we target Node.js 8 at minimum as it is an LTS + // release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows + // release that supports 256 colors. Windows 10 build 14931 is the first release + // that supports 16m/TrueColor. + const osRelease = os.release().split('.'); + if ( + Number(process.versions.node.split('.')[0]) >= 8 && + Number(osRelease[0]) >= 10 && + Number(osRelease[2]) >= 10586 + ) { + return Number(osRelease[2]) >= 14931 ? 3 : 2; + } + + return 1; + } + + if ('CI' in env) { + if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') { + return 1; + } + + return min; + } + + if ('TEAMCITY_VERSION' in env) { + return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; + } + + if (env.COLORTERM === 'truecolor') { + return 3; + } + + if ('TERM_PROGRAM' in env) { + const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10); + + switch (env.TERM_PROGRAM) { + case 'iTerm.app': + return version >= 3 ? 3 : 2; + case 'Apple_Terminal': + return 2; + // No default + } + } + + if (/-256(color)?$/i.test(env.TERM)) { + return 2; + } + + if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { + return 1; + } + + if ('COLORTERM' in env) { + return 1; + } + + if (env.TERM === 'dumb') { + return min; + } + + return min; +} + +function getSupportLevel(stream) { + const level = supportsColor(stream); + return translateLevel(level); +} + +module.exports = { + supportsColor: getSupportLevel, + stdout: getSupportLevel(process.stdout), + stderr: getSupportLevel(process.stderr) +}; + + +/***/ }), +/* 101 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +module.exports = (flag, argv) => { + argv = argv || process.argv; + const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--'); + const pos = argv.indexOf(prefix + flag); + const terminatorPos = argv.indexOf('--'); + return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos); +}; + + +/***/ }), +/* 102 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +const getFromEnv = parseInt(process.env.ELECTRON_IS_DEV, 10) === 1; +const isEnvSet = 'ELECTRON_IS_DEV' in process.env; + +module.exports = isEnvSet ? getFromEnv : (process.defaultApp || /node_modules[\\/]electron[\\/]/.test(process.execPath)); + + +/***/ }), +/* 103 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = { + build: { + env: __webpack_require__(104) + }, + dev: { + removeElectronJunk: true, + env: __webpack_require__(105) + }, + IsUseSysTitle: true, + AppConfig: __webpack_require__(106) +}; + +/***/ }), +/* 104 */ +/***/ (function(module, exports) { + +module.exports = { + NODE_ENV: '"production"', + BASE_API: '"http://127.0.0.1:8890/yjearth4.0"', + HOST: '"http://127.0.0.1:8890"', + + DOCKAIR: '"http://192.168.110.24:9136"', + DOCKSOCKETURL: '"ws://192.168.110.24:9136/websocket"', + + REMOTEAIR: '"http://121.37.119.107:6789"', + REMOTESOCKETURL: '"ws://121.37.119.107:6789/api/v1/ws"', + AI_URL: '"http://121.37.119.107:8000"' +}; + +/***/ }), +/* 105 */ +/***/ (function(module, exports) { + +module.exports = { + NODE_ENV: '"development"', + BASE_API: '"http://127.0.0.1:8890/yjearth4.0"', + HOST: '"http://127.0.0.1:8890"', + + DOCKAIR: '"http://192.168.110.24:9136"', + DOCKSOCKETURL: '"ws://192.168.110.24:9136/websocket"', + REMOTEAIR: '"http://192.168.110.26:6789"', + REMOTEAIR2: '"http://192.168.110.47:8000"', + REMOTESOCKETURL: '"ws://192.168.110.26:6789/api/v1/ws"', + + AI_URL: '"http://121.37.119.107:8000"' +}; + +/***/ }), +/* 106 */ +/***/ (function(module, exports) { + +var name = 'dzsp_yingjizhihui_offline_Y_save'; +var productName = '便携式应急指挥电子沙盘系统'; +var productName_tw = '可擕式應急指揮電子沙盤系統'; +var productName_en = 'Portable emergency command electronic sand table system'; +var obj = { + baseApi: "", + PORT: 8099, + head: "henan_head", + name: name, + version: "v4.0.0", + productName: productName, + productName_tw: productName_tw, + productName_en: productName_en, + build_productName: productName, + build_win_icon: 'build/icons/81.ico', + + build_extraFiles: [{ + from: "./collada2gltf/", + to: "./collada2gltf" + }, { + from: "./convert/", + to: "./convert" + }, { + from: "./yjearth4_0/", + to: "./yjearth4_0" + }, { + from: "./ffplay/", + to: "./ffplay" + }, { + from: "./build/icons/", + to: "./icons" + }], + installUrl: "D:\\ProgramFiles\\" + name, + build_appId: "org." + name, + APPSECRET: "", + appVersion: "earth", + build_linux_desktop_Icon: "/opt/" + productName + "/icons/81.png" +}; +module.exports = obj; + +/***/ }), +/* 107 */ +/***/ (function(module, exports) { + +module.exports = require("net"); + +/***/ }), +/* 108 */ +/***/ (function(module, exports, __webpack_require__) { + +var os = __webpack_require__(10); + +var Store = __webpack_require__(61); +var path = new Store().path; +var arr = []; +if (os.platform() == "win32") { + arr = path.split("\\"); +} +if (os.platform() == "linux") { + arr = path.split("/"); +} +arr[arr.length - 1] = ""; +var db_path = arr.join("/"); + +var exePathStr = process.execPath.replaceAll("\\", "/"); +var exePaths = exePathStr.split("/"); +exePaths[exePaths.length - 2]; +module.exports = { db_path: db_path, execPath: exePaths[exePaths.length - 2] }; + +/***/ }), +/* 109 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_typeof__ = __webpack_require__(34); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_typeof___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_typeof__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_map__ = __webpack_require__(126); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_map__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_electron__ = __webpack_require__(13); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_electron___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_electron__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__convert_main__ = __webpack_require__(143); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__convert_obj2gltf__ = __webpack_require__(144); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__convert_fbx2gltf__ = __webpack_require__(149); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__app__ = __webpack_require__(59); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__recorder__ = __webpack_require__(168); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_os__ = __webpack_require__(10); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_os___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_os__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_child_process__ = __webpack_require__(15); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_child_process___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_child_process__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_dayjs__ = __webpack_require__(188); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_dayjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_dayjs__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__back_sandTable_udpServer__ = __webpack_require__(86); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__processGo__ = __webpack_require__(58); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__processGo___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_12__processGo__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__config__ = __webpack_require__(27); + + + + + + + + + + + + + + + +var fs = __webpack_require__(6); +var ini = __webpack_require__(198); +var path = __webpack_require__(1); +var express = __webpack_require__(60); +var cwd = path.join(Object(__WEBPACK_IMPORTED_MODULE_13__config__["a" /* GetHomeDir */])(), "/ffplay/"); +var http = __webpack_require__(199); +var recorder = ""; + +var ffplayProcesses = new __WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_map___default.a(); +/* harmony default export */ __webpack_exports__["a"] = ({ + Mainfunc: function Mainfunc(mainWindow) { + __WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("setStaticFile", function (event, url) { + if (fs.existsSync(url)) { + var arr = url.replaceAll("\\", "/").split("/"); + arr.pop(); + __WEBPACK_IMPORTED_MODULE_6__app__["a" /* apps */].use(express.static(arr.join("/"))); + } + }); + __WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("restart", function (e) { + Object(__WEBPACK_IMPORTED_MODULE_12__processGo__["closeChild"])(); + __WEBPACK_IMPORTED_MODULE_2_electron__["app"].relaunch(); + __WEBPACK_IMPORTED_MODULE_2_electron__["app"].exit(); + }); + __WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("getHead", function (event) { + event.sender.send("headRes", process.env.Head); + }); + + __WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("open-directory-dialog", function (event, option) { + __WEBPACK_IMPORTED_MODULE_2_electron__["dialog"].showOpenDialog(__WEBPACK_IMPORTED_MODULE_2_electron__["BrowserWindow"].getFocusedWindow(), { + properties: option.properties, + filters: option.filters + }).then(function (files) { + var arr = []; + + if (!files.canceled) { + files.filePaths.forEach(function (url) { + arr.push(url.replace(/\\/g, "/")); + }); + } + event.sender.send("selectedItem", arr); + }); + }); + + __WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("openFFPlay", function (e, obj) { + var cmd = ""; + var platform = __WEBPACK_IMPORTED_MODULE_8_os___default.a.platform(); + if (platform === "win32") { + cmd = "ffplay.exe"; + } else { + cmd = "ffplay"; + } + var title = obj.name; + console.log("obj", obj); + + console.log(path.join(Object(__WEBPACK_IMPORTED_MODULE_13__config__["a" /* GetHomeDir */])(), "/ffplay/" + cmd)); + var child = Object(__WEBPACK_IMPORTED_MODULE_9_child_process__["spawn"])(path.join(Object(__WEBPACK_IMPORTED_MODULE_13__config__["a" /* GetHomeDir */])(), "/ffplay/" + cmd), ["-window_title", title, "-x", "1300", "-y", "730", "-rtsp_transport", "tcp", obj.url], { + cwd: cwd, + stdio: "ignore" + }).on("exit", function (err) { + console.log("out"); + console.log(err); + e.sender.send("openFFPlayOut", err); + }); + + console.log("child", child.pid); + child.unref(); + }); + + __WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("saveFile", function (event, _ref) { + var title = _ref.title, + filename = _ref.filename, + filters = _ref.filters; + + __WEBPACK_IMPORTED_MODULE_2_electron__["dialog"].showSaveDialog({ + title: title, + defaultPath: filename, + filters: filters + }).then(function (files) { + var path = ""; + if (!files.canceled) { + path = files.filePath.replace(/\\/g, "/"); + } + event.sender.send("selectedFileItem", path); + }); + }); + __WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("startRecoder", function (event) { + recorder = new __WEBPACK_IMPORTED_MODULE_7__recorder__["a" /* Recorder */](); + recorder.start(); + }); + __WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("endRecoder", function (event) { + if (!recorder) { + console.log("recorder不存在"); + return; + } + recorder.end(function () { + var path = __WEBPACK_IMPORTED_MODULE_2_electron__["dialog"].showSaveDialogSync({ + title: "保存视频文件", + defaultPath: __WEBPACK_IMPORTED_MODULE_10_dayjs___default()().format("YYYYMMDDHHmmss") + "视频录制.mp4", + filters: [{ name: "文件类型", extensions: ["mp4"] }] + }); + if (path != undefined) { + recorder.move(path, function () { + recorder = null; + }); + } else { + recorder = null; + } + }); + }); + __WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("saveNetFile", function (event, _ref2) { + var title = _ref2.title, + filename = _ref2.filename, + filters = _ref2.filters, + url = _ref2.url; + + __WEBPACK_IMPORTED_MODULE_2_electron__["dialog"].showSaveDialog({ + title: title, + defaultPath: filename, + filters: filters + }).then(function (files) { + var path = ""; + if (!files.canceled) { + var callBack = function callBack(key) { + console.log("下载完成"); + event.sender.send("saveNetFileRes", key); + }; + + var downloadFile = function downloadFile(url, path) { + http.get(url, function (response) { + var contentLength = parseInt(response.headers["content-length"]); + var downloadedLength = 0; + response.pipe(fs.createWriteStream(path)); + response.on("end", function () { + callBack("success"); + }); + }).on("error", function (err) { + console.log("完成"); + callBack("error"); + }); + }; + + path = files.filePath.replace(/\\/g, "/"); + + downloadFile(url, path); + } + }); + }); + __WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("requireGEMarkerName", function (event, obj) { + + var data = {}; + for (var objKey in obj) { + var files = fs.readdirSync(path.join(global.__static ? global.__static : Object(__WEBPACK_IMPORTED_MODULE_13__config__["a" /* GetHomeDir */])() + "/static", obj[objKey])); + console.log(files); + for (var i = 0; i < files.length; i++) { + files[i] = obj[objKey] + "/" + files[i]; + } + data[obj[objKey]] = files; + } + + event.sender.send("dirFiles", data); + }); + __WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("transformModel", function (event, option) { + var callBack = function callBack(msg) { + event.sender.send("transformModelRes", "模型转换结束", msg); + }; + var fun = option.fun, + input = option.input, + output = option.output; + + switch (fun) { + case "osgbToglb": + Object(__WEBPACK_IMPORTED_MODULE_3__convert_main__["c" /* osgbToglb */])(input, output, callBack); + break; + case "shapeToglb": + Object(__WEBPACK_IMPORTED_MODULE_3__convert_main__["d" /* shapeToglb */])(input, output, callBack); + break; + case "b3dmToglb": + Object(__WEBPACK_IMPORTED_MODULE_3__convert_main__["a" /* b3dmToglb */])(input, output, callBack); + break; + case "objToglb": + new __WEBPACK_IMPORTED_MODULE_4__convert_obj2gltf__["a" /* Format */]().obj2glb(input, output, callBack); + break; + case "daeTogltf": + Object(__WEBPACK_IMPORTED_MODULE_3__convert_main__["b" /* daeTogltf */])(input, output, callBack); + break; + case "Fbx2glb": + new __WEBPACK_IMPORTED_MODULE_5__convert_fbx2gltf__["a" /* Fbx2glb */]().fbx2glb(input, output, callBack); + break; + } + }); + __WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("newDir", function (event, option) { + var dir = ""; + option.paths.forEach(function (item) { + dir = path.join(dir, item); + }); + if (!fs.existsSync(dir)) { + fs.mkdirSync(dir); + } + var filePath = path.join(dir, option.name + ".png"); + fs.writeFile(filePath, option.buffer, function (err) { + var res = filePath; + if (err) { + res = "失败"; + } + event.sender.send("newDirRes", res); + }); + }); + + __WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("getIniConfig", function (event, option) { + console.log("1111111111111111111111111111111111111111111111111111111111111"); + var iniPath = path.join(Object(__WEBPACK_IMPORTED_MODULE_13__config__["a" /* GetHomeDir */])(), "/yjearth4_0/static/config/config.ini"); + console.log("iniPath", iniPath); + + var iniContent = ini.parse(fs.readFileSync(iniPath, "utf-8")); + + for (var section in option) { + var property = option[section]; + if ((typeof property === "undefined" ? "undefined" : __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_typeof___default()(property)) == "object") { + for (var key in property) { + iniContent[section][key] = property[key]; + } + } + } + fs.writeFileSync(iniPath, ini.stringify(iniContent)); + + event.sender.send("IniConfig", iniContent); + }); + + __WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("submitPort", function (event, port) { + Object(__WEBPACK_IMPORTED_MODULE_11__back_sandTable_udpServer__["b" /* UpdateUdpServerPort */])(port); + event.sender.send("submitPortRes", port); + }); + __WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("setNodes", function (event, val) { + var msg = Object(__WEBPACK_IMPORTED_MODULE_11__back_sandTable_udpServer__["c" /* sendMsg */])(val); + event.sender.send("replayRenderer", msg); + }); + + __WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("files-dropped", function (event, filePaths) { + event.sender.send("DroppedFiles", filePaths); + }); + + __WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].handle("get-shared-object", function () { + return global.sharedObject; + }); + + __WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].handle("set-shared-object", function (event, key, value) { + global.sharedObject[key] = value; + return { success: true }; + }); + __WEBPACK_IMPORTED_MODULE_2_electron__["ipcMain"].on("changeField", function (e, val) { + mainWindow.webContents.send("changeFields", val); + }); + } +}); + +/***/ }), +/* 110 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = { "default": __webpack_require__(111), __esModule: true }; + +/***/ }), +/* 111 */ +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(19); +__webpack_require__(24); +module.exports = __webpack_require__(45).f('iterator'); + + +/***/ }), +/* 112 */ +/***/ (function(module, exports, __webpack_require__) { + +var toInteger = __webpack_require__(35); +var defined = __webpack_require__(36); +// true -> String#at +// false -> String#codePointAt +module.exports = function (TO_STRING) { + return function (that, pos) { + var s = String(defined(that)); + var i = toInteger(pos); + var l = s.length; + var a, b; + if (i < 0 || i >= l) return TO_STRING ? '' : undefined; + a = s.charCodeAt(i); + return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff + ? TO_STRING ? s.charAt(i) : a + : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; + }; +}; + + +/***/ }), +/* 113 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var create = __webpack_require__(29); +var descriptor = __webpack_require__(28); +var setToStringTag = __webpack_require__(23); +var IteratorPrototype = {}; + +// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() +__webpack_require__(12)(IteratorPrototype, __webpack_require__(3)('iterator'), function () { return this; }); + +module.exports = function (Constructor, NAME, next) { + Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); + setToStringTag(Constructor, NAME + ' Iterator'); +}; + + +/***/ }), +/* 114 */ +/***/ (function(module, exports, __webpack_require__) { + +var dP = __webpack_require__(7); +var anObject = __webpack_require__(8); +var getKeys = __webpack_require__(40); + +module.exports = __webpack_require__(9) ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var keys = getKeys(Properties); + var length = keys.length; + var i = 0; + var P; + while (length > i) dP.f(O, P = keys[i++], Properties[P]); + return O; +}; + + +/***/ }), +/* 115 */ +/***/ (function(module, exports, __webpack_require__) { + +// false -> Array#indexOf +// true -> Array#includes +var toIObject = __webpack_require__(18); +var toLength = __webpack_require__(41); +var toAbsoluteIndex = __webpack_require__(116); +module.exports = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIObject($this); + var length = toLength(O.length); + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare + if (IS_INCLUDES && el != el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare + if (value != value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) if (IS_INCLUDES || index in O) { + if (O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; + + +/***/ }), +/* 116 */ +/***/ (function(module, exports, __webpack_require__) { + +var toInteger = __webpack_require__(35); +var max = Math.max; +var min = Math.min; +module.exports = function (index, length) { + index = toInteger(index); + return index < 0 ? max(index + length, 0) : min(index, length); +}; + + +/***/ }), +/* 117 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var addToUnscopables = __webpack_require__(118); +var step = __webpack_require__(68); +var Iterators = __webpack_require__(17); +var toIObject = __webpack_require__(18); + +// 22.1.3.4 Array.prototype.entries() +// 22.1.3.13 Array.prototype.keys() +// 22.1.3.29 Array.prototype.values() +// 22.1.3.30 Array.prototype[@@iterator]() +module.exports = __webpack_require__(37)(Array, 'Array', function (iterated, kind) { + this._t = toIObject(iterated); // target + this._i = 0; // next index + this._k = kind; // kind +// 22.1.5.2.1 %ArrayIteratorPrototype%.next() +}, function () { + var O = this._t; + var kind = this._k; + var index = this._i++; + if (!O || index >= O.length) { + this._t = undefined; + return step(1); + } + if (kind == 'keys') return step(0, index); + if (kind == 'values') return step(0, O[index]); + return step(0, [index, O[index]]); +}, 'values'); + +// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) +Iterators.Arguments = Iterators.Array; + +addToUnscopables('keys'); +addToUnscopables('values'); +addToUnscopables('entries'); + + +/***/ }), +/* 118 */ +/***/ (function(module, exports) { + +module.exports = function () { /* empty */ }; + + +/***/ }), +/* 119 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = { "default": __webpack_require__(120), __esModule: true }; + +/***/ }), +/* 120 */ +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(121); +__webpack_require__(49); +__webpack_require__(124); +__webpack_require__(125); +module.exports = __webpack_require__(0).Symbol; + + +/***/ }), +/* 121 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// ECMAScript 6 symbols shim +var global = __webpack_require__(2); +var has = __webpack_require__(14); +var DESCRIPTORS = __webpack_require__(9); +var $export = __webpack_require__(4); +var redefine = __webpack_require__(63); +var META = __webpack_require__(46).KEY; +var $fails = __webpack_require__(16); +var shared = __webpack_require__(43); +var setToStringTag = __webpack_require__(23); +var uid = __webpack_require__(30); +var wks = __webpack_require__(3); +var wksExt = __webpack_require__(45); +var wksDefine = __webpack_require__(47); +var enumKeys = __webpack_require__(122); +var isArray = __webpack_require__(70); +var anObject = __webpack_require__(8); +var isObject = __webpack_require__(5); +var toObject = __webpack_require__(31); +var toIObject = __webpack_require__(18); +var toPrimitive = __webpack_require__(39); +var createDesc = __webpack_require__(28); +var _create = __webpack_require__(29); +var gOPNExt = __webpack_require__(123); +var $GOPD = __webpack_require__(72); +var $GOPS = __webpack_require__(69); +var $DP = __webpack_require__(7); +var $keys = __webpack_require__(40); +var gOPD = $GOPD.f; +var dP = $DP.f; +var gOPN = gOPNExt.f; +var $Symbol = global.Symbol; +var $JSON = global.JSON; +var _stringify = $JSON && $JSON.stringify; +var PROTOTYPE = 'prototype'; +var HIDDEN = wks('_hidden'); +var TO_PRIMITIVE = wks('toPrimitive'); +var isEnum = {}.propertyIsEnumerable; +var SymbolRegistry = shared('symbol-registry'); +var AllSymbols = shared('symbols'); +var OPSymbols = shared('op-symbols'); +var ObjectProto = Object[PROTOTYPE]; +var USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f; +var QObject = global.QObject; +// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 +var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; + +// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 +var setSymbolDesc = DESCRIPTORS && $fails(function () { + return _create(dP({}, 'a', { + get: function () { return dP(this, 'a', { value: 7 }).a; } + })).a != 7; +}) ? function (it, key, D) { + var protoDesc = gOPD(ObjectProto, key); + if (protoDesc) delete ObjectProto[key]; + dP(it, key, D); + if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc); +} : dP; + +var wrap = function (tag) { + var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]); + sym._k = tag; + return sym; +}; + +var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) { + return typeof it == 'symbol'; +} : function (it) { + return it instanceof $Symbol; +}; + +var $defineProperty = function defineProperty(it, key, D) { + if (it === ObjectProto) $defineProperty(OPSymbols, key, D); + anObject(it); + key = toPrimitive(key, true); + anObject(D); + if (has(AllSymbols, key)) { + if (!D.enumerable) { + if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {})); + it[HIDDEN][key] = true; + } else { + if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false; + D = _create(D, { enumerable: createDesc(0, false) }); + } return setSymbolDesc(it, key, D); + } return dP(it, key, D); +}; +var $defineProperties = function defineProperties(it, P) { + anObject(it); + var keys = enumKeys(P = toIObject(P)); + var i = 0; + var l = keys.length; + var key; + while (l > i) $defineProperty(it, key = keys[i++], P[key]); + return it; +}; +var $create = function create(it, P) { + return P === undefined ? _create(it) : $defineProperties(_create(it), P); +}; +var $propertyIsEnumerable = function propertyIsEnumerable(key) { + var E = isEnum.call(this, key = toPrimitive(key, true)); + if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false; + return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true; +}; +var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) { + it = toIObject(it); + key = toPrimitive(key, true); + if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return; + var D = gOPD(it, key); + if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true; + return D; +}; +var $getOwnPropertyNames = function getOwnPropertyNames(it) { + var names = gOPN(toIObject(it)); + var result = []; + var i = 0; + var key; + while (names.length > i) { + if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key); + } return result; +}; +var $getOwnPropertySymbols = function getOwnPropertySymbols(it) { + var IS_OP = it === ObjectProto; + var names = gOPN(IS_OP ? OPSymbols : toIObject(it)); + var result = []; + var i = 0; + var key; + while (names.length > i) { + if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]); + } return result; +}; + +// 19.4.1.1 Symbol([description]) +if (!USE_NATIVE) { + $Symbol = function Symbol() { + if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!'); + var tag = uid(arguments.length > 0 ? arguments[0] : undefined); + var $set = function (value) { + if (this === ObjectProto) $set.call(OPSymbols, value); + if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false; + setSymbolDesc(this, tag, createDesc(1, value)); + }; + if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set }); + return wrap(tag); + }; + redefine($Symbol[PROTOTYPE], 'toString', function toString() { + return this._k; + }); + + $GOPD.f = $getOwnPropertyDescriptor; + $DP.f = $defineProperty; + __webpack_require__(71).f = gOPNExt.f = $getOwnPropertyNames; + __webpack_require__(48).f = $propertyIsEnumerable; + $GOPS.f = $getOwnPropertySymbols; + + if (DESCRIPTORS && !__webpack_require__(20)) { + redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); + } + + wksExt.f = function (name) { + return wrap(wks(name)); + }; +} + +$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol }); + +for (var es6Symbols = ( + // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14 + 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables' +).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]); + +for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]); + +$export($export.S + $export.F * !USE_NATIVE, 'Symbol', { + // 19.4.2.1 Symbol.for(key) + 'for': function (key) { + return has(SymbolRegistry, key += '') + ? SymbolRegistry[key] + : SymbolRegistry[key] = $Symbol(key); + }, + // 19.4.2.5 Symbol.keyFor(sym) + keyFor: function keyFor(sym) { + if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!'); + for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key; + }, + useSetter: function () { setter = true; }, + useSimple: function () { setter = false; } +}); + +$export($export.S + $export.F * !USE_NATIVE, 'Object', { + // 19.1.2.2 Object.create(O [, Properties]) + create: $create, + // 19.1.2.4 Object.defineProperty(O, P, Attributes) + defineProperty: $defineProperty, + // 19.1.2.3 Object.defineProperties(O, Properties) + defineProperties: $defineProperties, + // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) + getOwnPropertyDescriptor: $getOwnPropertyDescriptor, + // 19.1.2.7 Object.getOwnPropertyNames(O) + getOwnPropertyNames: $getOwnPropertyNames, + // 19.1.2.8 Object.getOwnPropertySymbols(O) + getOwnPropertySymbols: $getOwnPropertySymbols +}); + +// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives +// https://bugs.chromium.org/p/v8/issues/detail?id=3443 +var FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); }); + +$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', { + getOwnPropertySymbols: function getOwnPropertySymbols(it) { + return $GOPS.f(toObject(it)); + } +}); + +// 24.3.2 JSON.stringify(value [, replacer [, space]]) +$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () { + var S = $Symbol(); + // MS Edge converts symbol values to JSON as {} + // WebKit converts symbol values to JSON as null + // V8 throws on boxed symbols + return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}'; +})), 'JSON', { + stringify: function stringify(it) { + var args = [it]; + var i = 1; + var replacer, $replacer; + while (arguments.length > i) args.push(arguments[i++]); + $replacer = replacer = args[1]; + if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined + if (!isArray(replacer)) replacer = function (key, value) { + if (typeof $replacer == 'function') value = $replacer.call(this, key, value); + if (!isSymbol(value)) return value; + }; + args[1] = replacer; + return _stringify.apply($JSON, args); + } +}); + +// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint) +$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(12)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); +// 19.4.3.5 Symbol.prototype[@@toStringTag] +setToStringTag($Symbol, 'Symbol'); +// 20.2.1.9 Math[@@toStringTag] +setToStringTag(Math, 'Math', true); +// 24.3.3 JSON[@@toStringTag] +setToStringTag(global.JSON, 'JSON', true); + + +/***/ }), +/* 122 */ +/***/ (function(module, exports, __webpack_require__) { + +// all enumerable object keys, includes symbols +var getKeys = __webpack_require__(40); +var gOPS = __webpack_require__(69); +var pIE = __webpack_require__(48); +module.exports = function (it) { + var result = getKeys(it); + var getSymbols = gOPS.f; + if (getSymbols) { + var symbols = getSymbols(it); + var isEnum = pIE.f; + var i = 0; + var key; + while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key); + } return result; +}; + + +/***/ }), +/* 123 */ +/***/ (function(module, exports, __webpack_require__) { + +// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window +var toIObject = __webpack_require__(18); +var gOPN = __webpack_require__(71).f; +var toString = {}.toString; + +var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames + ? Object.getOwnPropertyNames(window) : []; + +var getWindowNames = function (it) { + try { + return gOPN(it); + } catch (e) { + return windowNames.slice(); + } +}; + +module.exports.f = function getOwnPropertyNames(it) { + return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it)); +}; + + +/***/ }), +/* 124 */ +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(47)('asyncIterator'); + + +/***/ }), +/* 125 */ +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(47)('observable'); + + +/***/ }), +/* 126 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = { "default": __webpack_require__(127), __esModule: true }; + +/***/ }), +/* 127 */ +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(49); +__webpack_require__(19); +__webpack_require__(24); +__webpack_require__(128); +__webpack_require__(136); +__webpack_require__(139); +__webpack_require__(141); +module.exports = __webpack_require__(0).Map; + + +/***/ }), +/* 128 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var strong = __webpack_require__(129); +var validate = __webpack_require__(75); +var MAP = 'Map'; + +// 23.1 Map Objects +module.exports = __webpack_require__(132)(MAP, function (get) { + return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +}, { + // 23.1.3.6 Map.prototype.get(key) + get: function get(key) { + var entry = strong.getEntry(validate(this, MAP), key); + return entry && entry.v; + }, + // 23.1.3.9 Map.prototype.set(key, value) + set: function set(key, value) { + return strong.def(validate(this, MAP), key === 0 ? 0 : key, value); + } +}, strong, true); + + +/***/ }), +/* 129 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var dP = __webpack_require__(7).f; +var create = __webpack_require__(29); +var redefineAll = __webpack_require__(50); +var ctx = __webpack_require__(11); +var anInstance = __webpack_require__(51); +var forOf = __webpack_require__(25); +var $iterDefine = __webpack_require__(37); +var step = __webpack_require__(68); +var setSpecies = __webpack_require__(74); +var DESCRIPTORS = __webpack_require__(9); +var fastKey = __webpack_require__(46).fastKey; +var validate = __webpack_require__(75); +var SIZE = DESCRIPTORS ? '_s' : 'size'; + +var getEntry = function (that, key) { + // fast case + var index = fastKey(key); + var entry; + if (index !== 'F') return that._i[index]; + // frozen object case + for (entry = that._f; entry; entry = entry.n) { + if (entry.k == key) return entry; + } +}; + +module.exports = { + getConstructor: function (wrapper, NAME, IS_MAP, ADDER) { + var C = wrapper(function (that, iterable) { + anInstance(that, C, NAME, '_i'); + that._t = NAME; // collection type + that._i = create(null); // index + that._f = undefined; // first entry + that._l = undefined; // last entry + that[SIZE] = 0; // size + if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); + }); + redefineAll(C.prototype, { + // 23.1.3.1 Map.prototype.clear() + // 23.2.3.2 Set.prototype.clear() + clear: function clear() { + for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) { + entry.r = true; + if (entry.p) entry.p = entry.p.n = undefined; + delete data[entry.i]; + } + that._f = that._l = undefined; + that[SIZE] = 0; + }, + // 23.1.3.3 Map.prototype.delete(key) + // 23.2.3.4 Set.prototype.delete(value) + 'delete': function (key) { + var that = validate(this, NAME); + var entry = getEntry(that, key); + if (entry) { + var next = entry.n; + var prev = entry.p; + delete that._i[entry.i]; + entry.r = true; + if (prev) prev.n = next; + if (next) next.p = prev; + if (that._f == entry) that._f = next; + if (that._l == entry) that._l = prev; + that[SIZE]--; + } return !!entry; + }, + // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) + // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) + forEach: function forEach(callbackfn /* , that = undefined */) { + validate(this, NAME); + var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); + var entry; + while (entry = entry ? entry.n : this._f) { + f(entry.v, entry.k, this); + // revert to the last existing entry + while (entry && entry.r) entry = entry.p; + } + }, + // 23.1.3.7 Map.prototype.has(key) + // 23.2.3.7 Set.prototype.has(value) + has: function has(key) { + return !!getEntry(validate(this, NAME), key); + } + }); + if (DESCRIPTORS) dP(C.prototype, 'size', { + get: function () { + return validate(this, NAME)[SIZE]; + } + }); + return C; + }, + def: function (that, key, value) { + var entry = getEntry(that, key); + var prev, index; + // change existing entry + if (entry) { + entry.v = value; + // create new entry + } else { + that._l = entry = { + i: index = fastKey(key, true), // <- index + k: key, // <- key + v: value, // <- value + p: prev = that._l, // <- previous entry + n: undefined, // <- next entry + r: false // <- removed + }; + if (!that._f) that._f = entry; + if (prev) prev.n = entry; + that[SIZE]++; + // add to index + if (index !== 'F') that._i[index] = entry; + } return that; + }, + getEntry: getEntry, + setStrong: function (C, NAME, IS_MAP) { + // add .keys, .values, .entries, [@@iterator] + // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 + $iterDefine(C, NAME, function (iterated, kind) { + this._t = validate(iterated, NAME); // target + this._k = kind; // kind + this._l = undefined; // previous + }, function () { + var that = this; + var kind = that._k; + var entry = that._l; + // revert to the last existing entry + while (entry && entry.r) entry = entry.p; + // get next entry + if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) { + // or finish the iteration + that._t = undefined; + return step(1); + } + // return step by kind + if (kind == 'keys') return step(0, entry.k); + if (kind == 'values') return step(0, entry.v); + return step(0, [entry.k, entry.v]); + }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); + + // add [@@species], 23.1.2.2, 23.2.2.2 + setSpecies(NAME); + } +}; + + +/***/ }), +/* 130 */ +/***/ (function(module, exports, __webpack_require__) { + +// call something on iterator step with safe closing on error +var anObject = __webpack_require__(8); +module.exports = function (iterator, fn, value, entries) { + try { + return entries ? fn(anObject(value)[0], value[1]) : fn(value); + // 7.4.6 IteratorClose(iterator, completion) + } catch (e) { + var ret = iterator['return']; + if (ret !== undefined) anObject(ret.call(iterator)); + throw e; + } +}; + + +/***/ }), +/* 131 */ +/***/ (function(module, exports, __webpack_require__) { + +// check on default Array iterator +var Iterators = __webpack_require__(17); +var ITERATOR = __webpack_require__(3)('iterator'); +var ArrayProto = Array.prototype; + +module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); +}; + + +/***/ }), +/* 132 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__(2); +var $export = __webpack_require__(4); +var meta = __webpack_require__(46); +var fails = __webpack_require__(16); +var hide = __webpack_require__(12); +var redefineAll = __webpack_require__(50); +var forOf = __webpack_require__(25); +var anInstance = __webpack_require__(51); +var isObject = __webpack_require__(5); +var setToStringTag = __webpack_require__(23); +var dP = __webpack_require__(7).f; +var each = __webpack_require__(133)(0); +var DESCRIPTORS = __webpack_require__(9); + +module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) { + var Base = global[NAME]; + var C = Base; + var ADDER = IS_MAP ? 'set' : 'add'; + var proto = C && C.prototype; + var O = {}; + if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () { + new C().entries().next(); + }))) { + // create collection constructor + C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER); + redefineAll(C.prototype, methods); + meta.NEED = true; + } else { + C = wrapper(function (target, iterable) { + anInstance(target, C, NAME, '_c'); + target._c = new Base(); + if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target); + }); + each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) { + var IS_ADDER = KEY == 'add' || KEY == 'set'; + if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) { + anInstance(this, C, KEY); + if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false; + var result = this._c[KEY](a === 0 ? 0 : a, b); + return IS_ADDER ? this : result; + }); + }); + IS_WEAK || dP(C.prototype, 'size', { + get: function () { + return this._c.size; + } + }); + } + + setToStringTag(C, NAME); + + O[NAME] = C; + $export($export.G + $export.W + $export.F, O); + + if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP); + + return C; +}; + + +/***/ }), +/* 133 */ +/***/ (function(module, exports, __webpack_require__) { + +// 0 -> Array#forEach +// 1 -> Array#map +// 2 -> Array#filter +// 3 -> Array#some +// 4 -> Array#every +// 5 -> Array#find +// 6 -> Array#findIndex +var ctx = __webpack_require__(11); +var IObject = __webpack_require__(65); +var toObject = __webpack_require__(31); +var toLength = __webpack_require__(41); +var asc = __webpack_require__(134); +module.exports = function (TYPE, $create) { + var IS_MAP = TYPE == 1; + var IS_FILTER = TYPE == 2; + var IS_SOME = TYPE == 3; + var IS_EVERY = TYPE == 4; + var IS_FIND_INDEX = TYPE == 6; + var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; + var create = $create || asc; + return function ($this, callbackfn, that) { + var O = toObject($this); + var self = IObject(O); + var f = ctx(callbackfn, that, 3); + var length = toLength(self.length); + var index = 0; + var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined; + var val, res; + for (;length > index; index++) if (NO_HOLES || index in self) { + val = self[index]; + res = f(val, index, O); + if (TYPE) { + if (IS_MAP) result[index] = res; // map + else if (res) switch (TYPE) { + case 3: return true; // some + case 5: return val; // find + case 6: return index; // findIndex + case 2: result.push(val); // filter + } else if (IS_EVERY) return false; // every + } + } + return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result; + }; +}; + + +/***/ }), +/* 134 */ +/***/ (function(module, exports, __webpack_require__) { + +// 9.4.2.3 ArraySpeciesCreate(originalArray, length) +var speciesConstructor = __webpack_require__(135); + +module.exports = function (original, length) { + return new (speciesConstructor(original))(length); +}; + + +/***/ }), +/* 135 */ +/***/ (function(module, exports, __webpack_require__) { + +var isObject = __webpack_require__(5); +var isArray = __webpack_require__(70); +var SPECIES = __webpack_require__(3)('species'); + +module.exports = function (original) { + var C; + if (isArray(original)) { + C = original.constructor; + // cross-realm fallback + if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; + if (isObject(C)) { + C = C[SPECIES]; + if (C === null) C = undefined; + } + } return C === undefined ? Array : C; +}; + + +/***/ }), +/* 136 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/DavidBruant/Map-Set.prototype.toJSON +var $export = __webpack_require__(4); + +$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__(137)('Map') }); + + +/***/ }), +/* 137 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://github.com/DavidBruant/Map-Set.prototype.toJSON +var classof = __webpack_require__(32); +var from = __webpack_require__(138); +module.exports = function (NAME) { + return function toJSON() { + if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic"); + return from(this); + }; +}; + + +/***/ }), +/* 138 */ +/***/ (function(module, exports, __webpack_require__) { + +var forOf = __webpack_require__(25); + +module.exports = function (iter, ITERATOR) { + var result = []; + forOf(iter, false, result.push, result, ITERATOR); + return result; +}; + + +/***/ }), +/* 139 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of +__webpack_require__(140)('Map'); + + +/***/ }), +/* 140 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://tc39.github.io/proposal-setmap-offrom/ +var $export = __webpack_require__(4); + +module.exports = function (COLLECTION) { + $export($export.S, COLLECTION, { of: function of() { + var length = arguments.length; + var A = new Array(length); + while (length--) A[length] = arguments[length]; + return new this(A); + } }); +}; + + +/***/ }), +/* 141 */ +/***/ (function(module, exports, __webpack_require__) { + +// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from +__webpack_require__(142)('Map'); + + +/***/ }), +/* 142 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://tc39.github.io/proposal-setmap-offrom/ +var $export = __webpack_require__(4); +var aFunction = __webpack_require__(21); +var ctx = __webpack_require__(11); +var forOf = __webpack_require__(25); + +module.exports = function (COLLECTION) { + $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) { + var mapFn = arguments[1]; + var mapping, A, n, cb; + aFunction(this); + mapping = mapFn !== undefined; + if (mapping) aFunction(mapFn); + if (source == undefined) return new this(); + A = []; + if (mapping) { + n = 0; + cb = ctx(mapFn, arguments[2], 2); + forOf(source, false, function (nextItem) { + A.push(cb(nextItem, n++)); + }); + } else { + forOf(source, false, A.push, A); + } + return new this(A); + } }); +}; + + +/***/ }), +/* 143 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (immutable) */ __webpack_exports__["c"] = osgbToglb; +/* harmony export (immutable) */ __webpack_exports__["d"] = shapeToglb; +/* unused harmony export objToglb */ +/* harmony export (immutable) */ __webpack_exports__["a"] = b3dmToglb; +/* harmony export (immutable) */ __webpack_exports__["b"] = daeTogltf; +var path = __webpack_require__(1); +var childProcess = __webpack_require__(15); + +var _3dtilePath = path.join(process.cwd(), '/convert/_3dtile.exe'); +var colladaPath = path.join(process.cwd(), '/collada2gltf/COLLADA2GLTF-bin.exe'); + +function osgbToglb(input, output, callBack) { + var exeFilePath = 'start ' + _3dtilePath + ' -f osgb -i ' + input + ' -o ' + output; + + start(exeFilePath, callBack); +} + +function shapeToglb(input, output, callBack) { + var exeFilePath = 'start ' + _3dtilePath + ' -f shape -i ' + input + ' -o ' + output + ' --height height'; + + start(exeFilePath, callBack); +} + +function objToglb(input, output, callBack) { + var exeFilePath = 'start ' + _3dtilePath + ' -f gltf -i ' + input + ' -o ' + output; + + start(exeFilePath, callBack); +} + +function b3dmToglb(input, output, callBack) { + var exeFilePath = 'start ' + _3dtilePath + ' -f b3dm -i ' + input + ' -o ' + output; + + start(exeFilePath, callBack); +} + +function start(exeFilePath, callBack) { + console.log(exeFilePath); + try { + var a = childProcess.exec(exeFilePath, { cwd: path.join(process.cwd(), 'convert') }); + a.stdout.on('data', function (data) {}); + a.stderr.on('data', function (data) { + console.log("stderr_________________________"); + }); + a.on('close', function (code) { + console.log('out code_______________________:' + code); + callBack(); + }); + } catch (e) { + console.log(e); + } +} + +function daeTogltf(i, o, c) { + var exeFilePath = 'start ' + colladaPath + ' -i ' + i + ' -o ' + o; + try { + var a = childProcess.exec(exeFilePath, { cwd: path.join(process.cwd(), 'collada2gltf') }); + a.on('close', function (code) { + c(); + }); + } catch (e) { + console.log(e); + } +} + +/***/ }), +/* 144 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (immutable) */ __webpack_exports__["a"] = Format; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_json_stringify__ = __webpack_require__(145); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_json_stringify___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_json_stringify__); + + +var obj2gltf = __webpack_require__(147); +var fs = __webpack_require__(6); + +var gltfPipeline = __webpack_require__(148); + + +var processGltf = gltfPipeline.processGltf; +function Format() { + + this.obj2gltf = function (name) { + obj2gltf(name + '.obj').then(function (gltf) { + var data = Buffer.from(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_json_stringify___default()(gltf)); + fs.writeFileSync(name + '.gltf', data); + }); + }; + + this.obj2glb = function (input, output, callBack) { + var options = { + binary: true + }; + obj2gltf(input, options).then(function (glb) { + fs.writeFileSync(output, glb); + callBack(); + }); + }; +} + +/***/ }), +/* 145 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = { "default": __webpack_require__(146), __esModule: true }; + +/***/ }), +/* 146 */ +/***/ (function(module, exports, __webpack_require__) { + +var core = __webpack_require__(0); +var $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify }); +module.exports = function stringify(it) { // eslint-disable-line no-unused-vars + return $JSON.stringify.apply($JSON, arguments); +}; + + +/***/ }), +/* 147 */ +/***/ (function(module, exports) { + +module.exports = require("obj2gltf"); + +/***/ }), +/* 148 */ +/***/ (function(module, exports) { + +module.exports = require("gltf-pipeline"); + +/***/ }), +/* 149 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (immutable) */ __webpack_exports__["a"] = Fbx2glb; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_promise__ = __webpack_require__(150); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_promise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_promise__); + + + +var childProcess = __webpack_require__(15); +var fs = __webpack_require__(6); +var os = __webpack_require__(10); +var path = __webpack_require__(1); +var rimraf = __webpack_require__(159); +console.log(path.join(process.cwd(), 'convert/FBX2glTF.exe')); +function Fbx2glb() { + function convert(srcFile, destFile) { + var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; + + return new __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_promise___default.a(function (resolve, reject) { + try { + var binExt = os.type() === 'Windows_NT' ? '.exe' : ''; + + var tool = path.join(process.cwd(), 'convert/FBX2glTF.exe'); + if (!fs.existsSync(tool)) { + throw new Error('Unsupported OS: ' + os.type()); + } + + var destExt = void 0; + if (destFile.endsWith('.glb')) { + destExt = '.glb'; + opts.includes('--binary') || opts.push('--binary'); + } else if (destFile.endsWith('.gltf')) { + destExt = '.gltf'; + } else { + throw new Error('Unsupported file extension: ' + destFile); + } + + var srcPath = fs.realpathSync(srcFile); + var destDir = fs.realpathSync(path.dirname(destFile)); + var destPath = path.join(destDir, path.basename(destFile, destExt)); + + var args = opts.slice(0); + args.push('--input', srcPath, '--output', destPath); + var child = childProcess.spawn(tool, args); + + var output = ''; + child.stdout.on('data', function (data) { + return output += data; + }); + child.stderr.on('data', function (data) { + return output += data; + }); + child.on('error', reject); + child.on('close', function (code) { + var fbmCruft = srcPath.replace(/.fbx$/i, '.fbm'); + + var onError = function onError(error) { + return error && console.warn('Failed to delete ' + fbmCruft + ': ' + error); + }; + try { + fs.existsSync(fbmCruft) && rimraf(fbmCruft, {}, onError); + } catch (error) { + onError(error); + } + + if (code != 0) { + reject(new Error('Converter output:\n' + (output.length ? output : ""))); + } else { + resolve(destPath + destExt); + } + }); + } catch (error) { + reject(error); + } + }); + } + + this.fbx2glb = function (input, output, callBack) { + convert(input, output, ['--khr-materials-unlit']).then(function (destPath) { + callBack(destPath); + }, function (error) { + callBack(error); + }); + }; +} + +/***/ }), +/* 150 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = { "default": __webpack_require__(151), __esModule: true }; + +/***/ }), +/* 151 */ +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(49); +__webpack_require__(19); +__webpack_require__(24); +__webpack_require__(152); +__webpack_require__(157); +__webpack_require__(158); +module.exports = __webpack_require__(0).Promise; + + +/***/ }), +/* 152 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var LIBRARY = __webpack_require__(20); +var global = __webpack_require__(2); +var ctx = __webpack_require__(11); +var classof = __webpack_require__(32); +var $export = __webpack_require__(4); +var isObject = __webpack_require__(5); +var aFunction = __webpack_require__(21); +var anInstance = __webpack_require__(51); +var forOf = __webpack_require__(25); +var speciesConstructor = __webpack_require__(76); +var task = __webpack_require__(77).set; +var microtask = __webpack_require__(154)(); +var newPromiseCapabilityModule = __webpack_require__(52); +var perform = __webpack_require__(78); +var userAgent = __webpack_require__(155); +var promiseResolve = __webpack_require__(79); +var PROMISE = 'Promise'; +var TypeError = global.TypeError; +var process = global.process; +var versions = process && process.versions; +var v8 = versions && versions.v8 || ''; +var $Promise = global[PROMISE]; +var isNode = classof(process) == 'process'; +var empty = function () { /* empty */ }; +var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper; +var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f; + +var USE_NATIVE = !!function () { + try { + // correct subclassing with @@species support + var promise = $Promise.resolve(1); + var FakePromise = (promise.constructor = {})[__webpack_require__(3)('species')] = function (exec) { + exec(empty, empty); + }; + // unhandled rejections tracking support, NodeJS Promise without it fails @@species test + return (isNode || typeof PromiseRejectionEvent == 'function') + && promise.then(empty) instanceof FakePromise + // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables + // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 + // we can't detect it synchronously, so just check versions + && v8.indexOf('6.6') !== 0 + && userAgent.indexOf('Chrome/66') === -1; + } catch (e) { /* empty */ } +}(); + +// helpers +var isThenable = function (it) { + var then; + return isObject(it) && typeof (then = it.then) == 'function' ? then : false; +}; +var notify = function (promise, isReject) { + if (promise._n) return; + promise._n = true; + var chain = promise._c; + microtask(function () { + var value = promise._v; + var ok = promise._s == 1; + var i = 0; + var run = function (reaction) { + var handler = ok ? reaction.ok : reaction.fail; + var resolve = reaction.resolve; + var reject = reaction.reject; + var domain = reaction.domain; + var result, then, exited; + try { + if (handler) { + if (!ok) { + if (promise._h == 2) onHandleUnhandled(promise); + promise._h = 1; + } + if (handler === true) result = value; + else { + if (domain) domain.enter(); + result = handler(value); // may throw + if (domain) { + domain.exit(); + exited = true; + } + } + if (result === reaction.promise) { + reject(TypeError('Promise-chain cycle')); + } else if (then = isThenable(result)) { + then.call(result, resolve, reject); + } else resolve(result); + } else reject(value); + } catch (e) { + if (domain && !exited) domain.exit(); + reject(e); + } + }; + while (chain.length > i) run(chain[i++]); // variable length - can't use forEach + promise._c = []; + promise._n = false; + if (isReject && !promise._h) onUnhandled(promise); + }); +}; +var onUnhandled = function (promise) { + task.call(global, function () { + var value = promise._v; + var unhandled = isUnhandled(promise); + var result, handler, console; + if (unhandled) { + result = perform(function () { + if (isNode) { + process.emit('unhandledRejection', value, promise); + } else if (handler = global.onunhandledrejection) { + handler({ promise: promise, reason: value }); + } else if ((console = global.console) && console.error) { + console.error('Unhandled promise rejection', value); + } + }); + // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should + promise._h = isNode || isUnhandled(promise) ? 2 : 1; + } promise._a = undefined; + if (unhandled && result.e) throw result.v; + }); +}; +var isUnhandled = function (promise) { + return promise._h !== 1 && (promise._a || promise._c).length === 0; +}; +var onHandleUnhandled = function (promise) { + task.call(global, function () { + var handler; + if (isNode) { + process.emit('rejectionHandled', promise); + } else if (handler = global.onrejectionhandled) { + handler({ promise: promise, reason: promise._v }); + } + }); +}; +var $reject = function (value) { + var promise = this; + if (promise._d) return; + promise._d = true; + promise = promise._w || promise; // unwrap + promise._v = value; + promise._s = 2; + if (!promise._a) promise._a = promise._c.slice(); + notify(promise, true); +}; +var $resolve = function (value) { + var promise = this; + var then; + if (promise._d) return; + promise._d = true; + promise = promise._w || promise; // unwrap + try { + if (promise === value) throw TypeError("Promise can't be resolved itself"); + if (then = isThenable(value)) { + microtask(function () { + var wrapper = { _w: promise, _d: false }; // wrap + try { + then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1)); + } catch (e) { + $reject.call(wrapper, e); + } + }); + } else { + promise._v = value; + promise._s = 1; + notify(promise, false); + } + } catch (e) { + $reject.call({ _w: promise, _d: false }, e); // wrap + } +}; + +// constructor polyfill +if (!USE_NATIVE) { + // 25.4.3.1 Promise(executor) + $Promise = function Promise(executor) { + anInstance(this, $Promise, PROMISE, '_h'); + aFunction(executor); + Internal.call(this); + try { + executor(ctx($resolve, this, 1), ctx($reject, this, 1)); + } catch (err) { + $reject.call(this, err); + } + }; + // eslint-disable-next-line no-unused-vars + Internal = function Promise(executor) { + this._c = []; // <- awaiting reactions + this._a = undefined; // <- checked in isUnhandled reactions + this._s = 0; // <- state + this._d = false; // <- done + this._v = undefined; // <- value + this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled + this._n = false; // <- notify + }; + Internal.prototype = __webpack_require__(50)($Promise.prototype, { + // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected) + then: function then(onFulfilled, onRejected) { + var reaction = newPromiseCapability(speciesConstructor(this, $Promise)); + reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; + reaction.fail = typeof onRejected == 'function' && onRejected; + reaction.domain = isNode ? process.domain : undefined; + this._c.push(reaction); + if (this._a) this._a.push(reaction); + if (this._s) notify(this, false); + return reaction.promise; + }, + // 25.4.5.1 Promise.prototype.catch(onRejected) + 'catch': function (onRejected) { + return this.then(undefined, onRejected); + } + }); + OwnPromiseCapability = function () { + var promise = new Internal(); + this.promise = promise; + this.resolve = ctx($resolve, promise, 1); + this.reject = ctx($reject, promise, 1); + }; + newPromiseCapabilityModule.f = newPromiseCapability = function (C) { + return C === $Promise || C === Wrapper + ? new OwnPromiseCapability(C) + : newGenericPromiseCapability(C); + }; +} + +$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise }); +__webpack_require__(23)($Promise, PROMISE); +__webpack_require__(74)(PROMISE); +Wrapper = __webpack_require__(0)[PROMISE]; + +// statics +$export($export.S + $export.F * !USE_NATIVE, PROMISE, { + // 25.4.4.5 Promise.reject(r) + reject: function reject(r) { + var capability = newPromiseCapability(this); + var $$reject = capability.reject; + $$reject(r); + return capability.promise; + } +}); +$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, { + // 25.4.4.6 Promise.resolve(x) + resolve: function resolve(x) { + return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x); + } +}); +$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(156)(function (iter) { + $Promise.all(iter)['catch'](empty); +})), PROMISE, { + // 25.4.4.1 Promise.all(iterable) + all: function all(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var values = []; + var index = 0; + var remaining = 1; + forOf(iterable, false, function (promise) { + var $index = index++; + var alreadyCalled = false; + values.push(undefined); + remaining++; + C.resolve(promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[$index] = value; + --remaining || resolve(values); + }, reject); + }); + --remaining || resolve(values); + }); + if (result.e) reject(result.v); + return capability.promise; + }, + // 25.4.4.4 Promise.race(iterable) + race: function race(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var reject = capability.reject; + var result = perform(function () { + forOf(iterable, false, function (promise) { + C.resolve(promise).then(capability.resolve, reject); + }); + }); + if (result.e) reject(result.v); + return capability.promise; + } +}); + + +/***/ }), +/* 153 */ +/***/ (function(module, exports) { + +// fast apply, http://jsperf.lnkit.com/fast-apply/5 +module.exports = function (fn, args, that) { + var un = that === undefined; + switch (args.length) { + case 0: return un ? fn() + : fn.call(that); + case 1: return un ? fn(args[0]) + : fn.call(that, args[0]); + case 2: return un ? fn(args[0], args[1]) + : fn.call(that, args[0], args[1]); + case 3: return un ? fn(args[0], args[1], args[2]) + : fn.call(that, args[0], args[1], args[2]); + case 4: return un ? fn(args[0], args[1], args[2], args[3]) + : fn.call(that, args[0], args[1], args[2], args[3]); + } return fn.apply(that, args); +}; + + +/***/ }), +/* 154 */ +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(2); +var macrotask = __webpack_require__(77).set; +var Observer = global.MutationObserver || global.WebKitMutationObserver; +var process = global.process; +var Promise = global.Promise; +var isNode = __webpack_require__(22)(process) == 'process'; + +module.exports = function () { + var head, last, notify; + + var flush = function () { + var parent, fn; + if (isNode && (parent = process.domain)) parent.exit(); + while (head) { + fn = head.fn; + head = head.next; + try { + fn(); + } catch (e) { + if (head) notify(); + else last = undefined; + throw e; + } + } last = undefined; + if (parent) parent.enter(); + }; + + // Node.js + if (isNode) { + notify = function () { + process.nextTick(flush); + }; + // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339 + } else if (Observer && !(global.navigator && global.navigator.standalone)) { + var toggle = true; + var node = document.createTextNode(''); + new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new + notify = function () { + node.data = toggle = !toggle; + }; + // environments with maybe non-completely correct, but existent Promise + } else if (Promise && Promise.resolve) { + // Promise.resolve without an argument throws an error in LG WebOS 2 + var promise = Promise.resolve(undefined); + notify = function () { + promise.then(flush); + }; + // for other environments - macrotask based on: + // - setImmediate + // - MessageChannel + // - window.postMessag + // - onreadystatechange + // - setTimeout + } else { + notify = function () { + // strange IE + webpack dev server bug - use .call(global) + macrotask.call(global, flush); + }; + } + + return function (fn) { + var task = { fn: fn, next: undefined }; + if (last) last.next = task; + if (!head) { + head = task; + notify(); + } last = task; + }; +}; + + +/***/ }), +/* 155 */ +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(2); +var navigator = global.navigator; + +module.exports = navigator && navigator.userAgent || ''; + + +/***/ }), +/* 156 */ +/***/ (function(module, exports, __webpack_require__) { + +var ITERATOR = __webpack_require__(3)('iterator'); +var SAFE_CLOSING = false; + +try { + var riter = [7][ITERATOR](); + riter['return'] = function () { SAFE_CLOSING = true; }; + // eslint-disable-next-line no-throw-literal + Array.from(riter, function () { throw 2; }); +} catch (e) { /* empty */ } + +module.exports = function (exec, skipClosing) { + if (!skipClosing && !SAFE_CLOSING) return false; + var safe = false; + try { + var arr = [7]; + var iter = arr[ITERATOR](); + iter.next = function () { return { done: safe = true }; }; + arr[ITERATOR] = function () { return iter; }; + exec(arr); + } catch (e) { /* empty */ } + return safe; +}; + + +/***/ }), +/* 157 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +// https://github.com/tc39/proposal-promise-finally + +var $export = __webpack_require__(4); +var core = __webpack_require__(0); +var global = __webpack_require__(2); +var speciesConstructor = __webpack_require__(76); +var promiseResolve = __webpack_require__(79); + +$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) { + var C = speciesConstructor(this, core.Promise || global.Promise); + var isFunction = typeof onFinally == 'function'; + return this.then( + isFunction ? function (x) { + return promiseResolve(C, onFinally()).then(function () { return x; }); + } : onFinally, + isFunction ? function (e) { + return promiseResolve(C, onFinally()).then(function () { throw e; }); + } : onFinally + ); +} }); + + +/***/ }), +/* 158 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://github.com/tc39/proposal-promise-try +var $export = __webpack_require__(4); +var newPromiseCapability = __webpack_require__(52); +var perform = __webpack_require__(78); + +$export($export.S, 'Promise', { 'try': function (callbackfn) { + var promiseCapability = newPromiseCapability.f(this); + var result = perform(callbackfn); + (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v); + return promiseCapability.promise; +} }); + + +/***/ }), +/* 159 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = rimraf +rimraf.sync = rimrafSync + +var assert = __webpack_require__(53) +var path = __webpack_require__(1) +var fs = __webpack_require__(6) +var glob = undefined +try { + glob = __webpack_require__(80) +} catch (_err) { + // treat glob as optional. +} +var _0666 = parseInt('666', 8) + +var defaultGlobOpts = { + nosort: true, + silent: true +} + +// for EMFILE handling +var timeout = 0 + +var isWindows = (process.platform === "win32") + +function defaults (options) { + var methods = [ + 'unlink', + 'chmod', + 'stat', + 'lstat', + 'rmdir', + 'readdir' + ] + methods.forEach(function(m) { + options[m] = options[m] || fs[m] + m = m + 'Sync' + options[m] = options[m] || fs[m] + }) + + options.maxBusyTries = options.maxBusyTries || 3 + options.emfileWait = options.emfileWait || 1000 + if (options.glob === false) { + options.disableGlob = true + } + if (options.disableGlob !== true && glob === undefined) { + throw Error('glob dependency not found, set `options.disableGlob = true` if intentional') + } + options.disableGlob = options.disableGlob || false + options.glob = options.glob || defaultGlobOpts +} + +function rimraf (p, options, cb) { + if (typeof options === 'function') { + cb = options + options = {} + } + + assert(p, 'rimraf: missing path') + assert.equal(typeof p, 'string', 'rimraf: path should be a string') + assert.equal(typeof cb, 'function', 'rimraf: callback function required') + assert(options, 'rimraf: invalid options argument provided') + assert.equal(typeof options, 'object', 'rimraf: options should be object') + + defaults(options) + + var busyTries = 0 + var errState = null + var n = 0 + + if (options.disableGlob || !glob.hasMagic(p)) + return afterGlob(null, [p]) + + options.lstat(p, function (er, stat) { + if (!er) + return afterGlob(null, [p]) + + glob(p, options.glob, afterGlob) + }) + + function next (er) { + errState = errState || er + if (--n === 0) + cb(errState) + } + + function afterGlob (er, results) { + if (er) + return cb(er) + + n = results.length + if (n === 0) + return cb() + + results.forEach(function (p) { + rimraf_(p, options, function CB (er) { + if (er) { + if ((er.code === "EBUSY" || er.code === "ENOTEMPTY" || er.code === "EPERM") && + busyTries < options.maxBusyTries) { + busyTries ++ + var time = busyTries * 100 + // try again, with the same exact callback as this one. + return setTimeout(function () { + rimraf_(p, options, CB) + }, time) + } + + // this one won't happen if graceful-fs is used. + if (er.code === "EMFILE" && timeout < options.emfileWait) { + return setTimeout(function () { + rimraf_(p, options, CB) + }, timeout ++) + } + + // already gone + if (er.code === "ENOENT") er = null + } + + timeout = 0 + next(er) + }) + }) + } +} + +// Two possible strategies. +// 1. Assume it's a file. unlink it, then do the dir stuff on EPERM or EISDIR +// 2. Assume it's a directory. readdir, then do the file stuff on ENOTDIR +// +// Both result in an extra syscall when you guess wrong. However, there +// are likely far more normal files in the world than directories. This +// is based on the assumption that a the average number of files per +// directory is >= 1. +// +// If anyone ever complains about this, then I guess the strategy could +// be made configurable somehow. But until then, YAGNI. +function rimraf_ (p, options, cb) { + assert(p) + assert(options) + assert(typeof cb === 'function') + + // sunos lets the root user unlink directories, which is... weird. + // so we have to lstat here and make sure it's not a dir. + options.lstat(p, function (er, st) { + if (er && er.code === "ENOENT") + return cb(null) + + // Windows can EPERM on stat. Life is suffering. + if (er && er.code === "EPERM" && isWindows) + fixWinEPERM(p, options, er, cb) + + if (st && st.isDirectory()) + return rmdir(p, options, er, cb) + + options.unlink(p, function (er) { + if (er) { + if (er.code === "ENOENT") + return cb(null) + if (er.code === "EPERM") + return (isWindows) + ? fixWinEPERM(p, options, er, cb) + : rmdir(p, options, er, cb) + if (er.code === "EISDIR") + return rmdir(p, options, er, cb) + } + return cb(er) + }) + }) +} + +function fixWinEPERM (p, options, er, cb) { + assert(p) + assert(options) + assert(typeof cb === 'function') + if (er) + assert(er instanceof Error) + + options.chmod(p, _0666, function (er2) { + if (er2) + cb(er2.code === "ENOENT" ? null : er) + else + options.stat(p, function(er3, stats) { + if (er3) + cb(er3.code === "ENOENT" ? null : er) + else if (stats.isDirectory()) + rmdir(p, options, er, cb) + else + options.unlink(p, cb) + }) + }) +} + +function fixWinEPERMSync (p, options, er) { + assert(p) + assert(options) + if (er) + assert(er instanceof Error) + + try { + options.chmodSync(p, _0666) + } catch (er2) { + if (er2.code === "ENOENT") + return + else + throw er + } + + try { + var stats = options.statSync(p) + } catch (er3) { + if (er3.code === "ENOENT") + return + else + throw er + } + + if (stats.isDirectory()) + rmdirSync(p, options, er) + else + options.unlinkSync(p) +} + +function rmdir (p, options, originalEr, cb) { + assert(p) + assert(options) + if (originalEr) + assert(originalEr instanceof Error) + assert(typeof cb === 'function') + + // try to rmdir first, and only readdir on ENOTEMPTY or EEXIST (SunOS) + // if we guessed wrong, and it's not a directory, then + // raise the original error. + options.rmdir(p, function (er) { + if (er && (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM")) + rmkids(p, options, cb) + else if (er && er.code === "ENOTDIR") + cb(originalEr) + else + cb(er) + }) +} + +function rmkids(p, options, cb) { + assert(p) + assert(options) + assert(typeof cb === 'function') + + options.readdir(p, function (er, files) { + if (er) + return cb(er) + var n = files.length + if (n === 0) + return options.rmdir(p, cb) + var errState + files.forEach(function (f) { + rimraf(path.join(p, f), options, function (er) { + if (errState) + return + if (er) + return cb(errState = er) + if (--n === 0) + options.rmdir(p, cb) + }) + }) + }) +} + +// this looks simpler, and is strictly *faster*, but will +// tie up the JavaScript thread and fail on excessively +// deep directory trees. +function rimrafSync (p, options) { + options = options || {} + defaults(options) + + assert(p, 'rimraf: missing path') + assert.equal(typeof p, 'string', 'rimraf: path should be a string') + assert(options, 'rimraf: missing options') + assert.equal(typeof options, 'object', 'rimraf: options should be object') + + var results + + if (options.disableGlob || !glob.hasMagic(p)) { + results = [p] + } else { + try { + options.lstatSync(p) + results = [p] + } catch (er) { + results = glob.sync(p, options.glob) + } + } + + if (!results.length) + return + + for (var i = 0; i < results.length; i++) { + var p = results[i] + + try { + var st = options.lstatSync(p) + } catch (er) { + if (er.code === "ENOENT") + return + + // Windows can EPERM on stat. Life is suffering. + if (er.code === "EPERM" && isWindows) + fixWinEPERMSync(p, options, er) + } + + try { + // sunos lets the root user unlink directories, which is... weird. + if (st && st.isDirectory()) + rmdirSync(p, options, null) + else + options.unlinkSync(p) + } catch (er) { + if (er.code === "ENOENT") + return + if (er.code === "EPERM") + return isWindows ? fixWinEPERMSync(p, options, er) : rmdirSync(p, options, er) + if (er.code !== "EISDIR") + throw er + + rmdirSync(p, options, er) + } + } +} + +function rmdirSync (p, options, originalEr) { + assert(p) + assert(options) + if (originalEr) + assert(originalEr instanceof Error) + + try { + options.rmdirSync(p) + } catch (er) { + if (er.code === "ENOENT") + return + if (er.code === "ENOTDIR") + throw originalEr + if (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM") + rmkidsSync(p, options) + } +} + +function rmkidsSync (p, options) { + assert(p) + assert(options) + options.readdirSync(p).forEach(function (f) { + rimrafSync(path.join(p, f), options) + }) + + // We only end up here once we got ENOTEMPTY at least once, and + // at this point, we are guaranteed to have removed all the kids. + // So, we know that it won't be ENOENT or ENOTDIR or anything else. + // try really hard to delete stuff on windows, because it has a + // PROFOUNDLY annoying habit of not closing handles promptly when + // files are deleted, resulting in spurious ENOTEMPTY errors. + var retries = isWindows ? 100 : 1 + var i = 0 + do { + var threw = true + try { + var ret = options.rmdirSync(p, options) + threw = false + return ret + } finally { + if (++i < retries && threw) + continue + } + } while (true) +} + + +/***/ }), +/* 160 */ +/***/ (function(module, exports, __webpack_require__) { + +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +var pathModule = __webpack_require__(1); +var isWindows = process.platform === 'win32'; +var fs = __webpack_require__(6); + +// JavaScript implementation of realpath, ported from node pre-v6 + +var DEBUG = process.env.NODE_DEBUG && /fs/.test(process.env.NODE_DEBUG); + +function rethrow() { + // Only enable in debug mode. A backtrace uses ~1000 bytes of heap space and + // is fairly slow to generate. + var callback; + if (DEBUG) { + var backtrace = new Error; + callback = debugCallback; + } else + callback = missingCallback; + + return callback; + + function debugCallback(err) { + if (err) { + backtrace.message = err.message; + err = backtrace; + missingCallback(err); + } + } + + function missingCallback(err) { + if (err) { + if (process.throwDeprecation) + throw err; // Forgot a callback but don't know where? Use NODE_DEBUG=fs + else if (!process.noDeprecation) { + var msg = 'fs: missing callback ' + (err.stack || err.message); + if (process.traceDeprecation) + console.trace(msg); + else + console.error(msg); + } + } + } +} + +function maybeCallback(cb) { + return typeof cb === 'function' ? cb : rethrow(); +} + +var normalize = pathModule.normalize; + +// Regexp that finds the next partion of a (partial) path +// result is [base_with_slash, base], e.g. ['somedir/', 'somedir'] +if (isWindows) { + var nextPartRe = /(.*?)(?:[\/\\]+|$)/g; +} else { + var nextPartRe = /(.*?)(?:[\/]+|$)/g; +} + +// Regex to find the device root, including trailing slash. E.g. 'c:\\'. +if (isWindows) { + var splitRootRe = /^(?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?[\\\/]*/; +} else { + var splitRootRe = /^[\/]*/; +} + +exports.realpathSync = function realpathSync(p, cache) { + // make p is absolute + p = pathModule.resolve(p); + + if (cache && Object.prototype.hasOwnProperty.call(cache, p)) { + return cache[p]; + } + + var original = p, + seenLinks = {}, + knownHard = {}; + + // current character position in p + var pos; + // the partial path so far, including a trailing slash if any + var current; + // the partial path without a trailing slash (except when pointing at a root) + var base; + // the partial path scanned in the previous round, with slash + var previous; + + start(); + + function start() { + // Skip over roots + var m = splitRootRe.exec(p); + pos = m[0].length; + current = m[0]; + base = m[0]; + previous = ''; + + // On windows, check that the root exists. On unix there is no need. + if (isWindows && !knownHard[base]) { + fs.lstatSync(base); + knownHard[base] = true; + } + } + + // walk down the path, swapping out linked pathparts for their real + // values + // NB: p.length changes. + while (pos < p.length) { + // find the next part + nextPartRe.lastIndex = pos; + var result = nextPartRe.exec(p); + previous = current; + current += result[0]; + base = previous + result[1]; + pos = nextPartRe.lastIndex; + + // continue if not a symlink + if (knownHard[base] || (cache && cache[base] === base)) { + continue; + } + + var resolvedLink; + if (cache && Object.prototype.hasOwnProperty.call(cache, base)) { + // some known symbolic link. no need to stat again. + resolvedLink = cache[base]; + } else { + var stat = fs.lstatSync(base); + if (!stat.isSymbolicLink()) { + knownHard[base] = true; + if (cache) cache[base] = base; + continue; + } + + // read the link if it wasn't read before + // dev/ino always return 0 on windows, so skip the check. + var linkTarget = null; + if (!isWindows) { + var id = stat.dev.toString(32) + ':' + stat.ino.toString(32); + if (seenLinks.hasOwnProperty(id)) { + linkTarget = seenLinks[id]; + } + } + if (linkTarget === null) { + fs.statSync(base); + linkTarget = fs.readlinkSync(base); + } + resolvedLink = pathModule.resolve(previous, linkTarget); + // track this, if given a cache. + if (cache) cache[base] = resolvedLink; + if (!isWindows) seenLinks[id] = linkTarget; + } + + // resolve the link, then start over + p = pathModule.resolve(resolvedLink, p.slice(pos)); + start(); + } + + if (cache) cache[original] = p; + + return p; +}; + + +exports.realpath = function realpath(p, cache, cb) { + if (typeof cb !== 'function') { + cb = maybeCallback(cache); + cache = null; + } + + // make p is absolute + p = pathModule.resolve(p); + + if (cache && Object.prototype.hasOwnProperty.call(cache, p)) { + return process.nextTick(cb.bind(null, null, cache[p])); + } + + var original = p, + seenLinks = {}, + knownHard = {}; + + // current character position in p + var pos; + // the partial path so far, including a trailing slash if any + var current; + // the partial path without a trailing slash (except when pointing at a root) + var base; + // the partial path scanned in the previous round, with slash + var previous; + + start(); + + function start() { + // Skip over roots + var m = splitRootRe.exec(p); + pos = m[0].length; + current = m[0]; + base = m[0]; + previous = ''; + + // On windows, check that the root exists. On unix there is no need. + if (isWindows && !knownHard[base]) { + fs.lstat(base, function(err) { + if (err) return cb(err); + knownHard[base] = true; + LOOP(); + }); + } else { + process.nextTick(LOOP); + } + } + + // walk down the path, swapping out linked pathparts for their real + // values + function LOOP() { + // stop if scanned past end of path + if (pos >= p.length) { + if (cache) cache[original] = p; + return cb(null, p); + } + + // find the next part + nextPartRe.lastIndex = pos; + var result = nextPartRe.exec(p); + previous = current; + current += result[0]; + base = previous + result[1]; + pos = nextPartRe.lastIndex; + + // continue if not a symlink + if (knownHard[base] || (cache && cache[base] === base)) { + return process.nextTick(LOOP); + } + + if (cache && Object.prototype.hasOwnProperty.call(cache, base)) { + // known symbolic link. no need to stat again. + return gotResolvedLink(cache[base]); + } + + return fs.lstat(base, gotStat); + } + + function gotStat(err, stat) { + if (err) return cb(err); + + // if not a symlink, skip to the next path part + if (!stat.isSymbolicLink()) { + knownHard[base] = true; + if (cache) cache[base] = base; + return process.nextTick(LOOP); + } + + // stat & read the link if not read before + // call gotTarget as soon as the link target is known + // dev/ino always return 0 on windows, so skip the check. + if (!isWindows) { + var id = stat.dev.toString(32) + ':' + stat.ino.toString(32); + if (seenLinks.hasOwnProperty(id)) { + return gotTarget(null, seenLinks[id], base); + } + } + fs.stat(base, function(err) { + if (err) return cb(err); + + fs.readlink(base, function(err, target) { + if (!isWindows) seenLinks[id] = target; + gotTarget(err, target); + }); + }); + } + + function gotTarget(err, target, base) { + if (err) return cb(err); + + var resolvedLink = pathModule.resolve(previous, target); + if (cache) cache[base] = resolvedLink; + gotResolvedLink(resolvedLink); + } + + function gotResolvedLink(resolvedLink) { + // resolve the link, then start over + p = pathModule.resolve(resolvedLink, p.slice(pos)); + start(); + } +}; + + +/***/ }), +/* 161 */ +/***/ (function(module, exports, __webpack_require__) { + +var concatMap = __webpack_require__(162); +var balanced = __webpack_require__(163); + +module.exports = expandTop; + +var escSlash = '\0SLASH'+Math.random()+'\0'; +var escOpen = '\0OPEN'+Math.random()+'\0'; +var escClose = '\0CLOSE'+Math.random()+'\0'; +var escComma = '\0COMMA'+Math.random()+'\0'; +var escPeriod = '\0PERIOD'+Math.random()+'\0'; + +function numeric(str) { + return parseInt(str, 10) == str + ? parseInt(str, 10) + : str.charCodeAt(0); +} + +function escapeBraces(str) { + return str.split('\\\\').join(escSlash) + .split('\\{').join(escOpen) + .split('\\}').join(escClose) + .split('\\,').join(escComma) + .split('\\.').join(escPeriod); +} + +function unescapeBraces(str) { + return str.split(escSlash).join('\\') + .split(escOpen).join('{') + .split(escClose).join('}') + .split(escComma).join(',') + .split(escPeriod).join('.'); +} + + +// Basically just str.split(","), but handling cases +// where we have nested braced sections, which should be +// treated as individual members, like {a,{b,c},d} +function parseCommaParts(str) { + if (!str) + return ['']; + + var parts = []; + var m = balanced('{', '}', str); + + if (!m) + return str.split(','); + + var pre = m.pre; + var body = m.body; + var post = m.post; + var p = pre.split(','); + + p[p.length-1] += '{' + body + '}'; + var postParts = parseCommaParts(post); + if (post.length) { + p[p.length-1] += postParts.shift(); + p.push.apply(p, postParts); + } + + parts.push.apply(parts, p); + + return parts; +} + +function expandTop(str) { + if (!str) + return []; + + // I don't know why Bash 4.3 does this, but it does. + // Anything starting with {} will have the first two bytes preserved + // but *only* at the top level, so {},a}b will not expand to anything, + // but a{},b}c will be expanded to [a}c,abc]. + // One could argue that this is a bug in Bash, but since the goal of + // this module is to match Bash's rules, we escape a leading {} + if (str.substr(0, 2) === '{}') { + str = '\\{\\}' + str.substr(2); + } + + return expand(escapeBraces(str), true).map(unescapeBraces); +} + +function identity(e) { + return e; +} + +function embrace(str) { + return '{' + str + '}'; +} +function isPadded(el) { + return /^-?0\d/.test(el); +} + +function lte(i, y) { + return i <= y; +} +function gte(i, y) { + return i >= y; +} + +function expand(str, isTop) { + var expansions = []; + + var m = balanced('{', '}', str); + if (!m || /\$$/.test(m.pre)) return [str]; + + var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body); + var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body); + var isSequence = isNumericSequence || isAlphaSequence; + var isOptions = m.body.indexOf(',') >= 0; + if (!isSequence && !isOptions) { + // {a},b} + if (m.post.match(/,.*\}/)) { + str = m.pre + '{' + m.body + escClose + m.post; + return expand(str); + } + return [str]; + } + + var n; + if (isSequence) { + n = m.body.split(/\.\./); + } else { + n = parseCommaParts(m.body); + if (n.length === 1) { + // x{{a,b}}y ==> x{a}y x{b}y + n = expand(n[0], false).map(embrace); + if (n.length === 1) { + var post = m.post.length + ? expand(m.post, false) + : ['']; + return post.map(function(p) { + return m.pre + n[0] + p; + }); + } + } + } + + // at this point, n is the parts, and we know it's not a comma set + // with a single entry. + + // no need to expand pre, since it is guaranteed to be free of brace-sets + var pre = m.pre; + var post = m.post.length + ? expand(m.post, false) + : ['']; + + var N; + + if (isSequence) { + var x = numeric(n[0]); + var y = numeric(n[1]); + var width = Math.max(n[0].length, n[1].length) + var incr = n.length == 3 + ? Math.abs(numeric(n[2])) + : 1; + var test = lte; + var reverse = y < x; + if (reverse) { + incr *= -1; + test = gte; + } + var pad = n.some(isPadded); + + N = []; + + for (var i = x; test(i, y); i += incr) { + var c; + if (isAlphaSequence) { + c = String.fromCharCode(i); + if (c === '\\') + c = ''; + } else { + c = String(i); + if (pad) { + var need = width - c.length; + if (need > 0) { + var z = new Array(need + 1).join('0'); + if (i < 0) + c = '-' + z + c.slice(1); + else + c = z + c; + } + } + } + N.push(c); + } + } else { + N = concatMap(n, function(el) { return expand(el, false) }); + } + + for (var j = 0; j < N.length; j++) { + for (var k = 0; k < post.length; k++) { + var expansion = pre + N[j] + post[k]; + if (!isTop || isSequence || expansion) + expansions.push(expansion); + } + } + + return expansions; +} + + + +/***/ }), +/* 162 */ +/***/ (function(module, exports) { + +module.exports = function (xs, fn) { + var res = []; + for (var i = 0; i < xs.length; i++) { + var x = fn(xs[i], i); + if (isArray(x)) res.push.apply(res, x); + else res.push(x); + } + return res; +}; + +var isArray = Array.isArray || function (xs) { + return Object.prototype.toString.call(xs) === '[object Array]'; +}; + + +/***/ }), +/* 163 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +module.exports = balanced; +function balanced(a, b, str) { + if (a instanceof RegExp) a = maybeMatch(a, str); + if (b instanceof RegExp) b = maybeMatch(b, str); + + var r = range(a, b, str); + + return r && { + start: r[0], + end: r[1], + pre: str.slice(0, r[0]), + body: str.slice(r[0] + a.length, r[1]), + post: str.slice(r[1] + b.length) + }; +} + +function maybeMatch(reg, str) { + var m = str.match(reg); + return m ? m[0] : null; +} + +balanced.range = range; +function range(a, b, str) { + var begs, beg, left, right, result; + var ai = str.indexOf(a); + var bi = str.indexOf(b, ai + 1); + var i = ai; + + if (ai >= 0 && bi > 0) { + if(a===b) { + return [ai, bi]; + } + begs = []; + left = str.length; + + while (i >= 0 && !result) { + if (i == ai) { + begs.push(i); + ai = str.indexOf(a, i + 1); + } else if (begs.length == 1) { + result = [ begs.pop(), bi ]; + } else { + beg = begs.pop(); + if (beg < left) { + left = beg; + right = bi; + } + + bi = str.indexOf(b, i + 1); + } + + i = ai < bi && ai >= 0 ? ai : bi; + } + + if (begs.length) { + result = [ left, right ]; + } + } + + return result; +} + + +/***/ }), +/* 164 */ +/***/ (function(module, exports, __webpack_require__) { + +try { + var util = __webpack_require__(26); + /* istanbul ignore next */ + if (typeof util.inherits !== 'function') throw ''; + module.exports = util.inherits; +} catch (e) { + /* istanbul ignore next */ + module.exports = __webpack_require__(165); +} + + +/***/ }), +/* 165 */ +/***/ (function(module, exports) { + +if (typeof Object.create === 'function') { + // implementation from standard node.js 'util' module + module.exports = function inherits(ctor, superCtor) { + if (superCtor) { + ctor.super_ = superCtor + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }) + } + }; +} else { + // old school shim for old browsers + module.exports = function inherits(ctor, superCtor) { + if (superCtor) { + ctor.super_ = superCtor + var TempCtor = function () {} + TempCtor.prototype = superCtor.prototype + ctor.prototype = new TempCtor() + ctor.prototype.constructor = ctor + } + } +} + + +/***/ }), +/* 166 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = globSync +globSync.GlobSync = GlobSync + +var rp = __webpack_require__(81) +var minimatch = __webpack_require__(54) +var Minimatch = minimatch.Minimatch +var Glob = __webpack_require__(80).Glob +var util = __webpack_require__(26) +var path = __webpack_require__(1) +var assert = __webpack_require__(53) +var isAbsolute = __webpack_require__(55) +var common = __webpack_require__(83) +var setopts = common.setopts +var ownProp = common.ownProp +var childrenIgnored = common.childrenIgnored +var isIgnored = common.isIgnored + +function globSync (pattern, options) { + if (typeof options === 'function' || arguments.length === 3) + throw new TypeError('callback provided to sync glob\n'+ + 'See: https://github.com/isaacs/node-glob/issues/167') + + return new GlobSync(pattern, options).found +} + +function GlobSync (pattern, options) { + if (!pattern) + throw new Error('must provide pattern') + + if (typeof options === 'function' || arguments.length === 3) + throw new TypeError('callback provided to sync glob\n'+ + 'See: https://github.com/isaacs/node-glob/issues/167') + + if (!(this instanceof GlobSync)) + return new GlobSync(pattern, options) + + setopts(this, pattern, options) + + if (this.noprocess) + return this + + var n = this.minimatch.set.length + this.matches = new Array(n) + for (var i = 0; i < n; i ++) { + this._process(this.minimatch.set[i], i, false) + } + this._finish() +} + +GlobSync.prototype._finish = function () { + assert.ok(this instanceof GlobSync) + if (this.realpath) { + var self = this + this.matches.forEach(function (matchset, index) { + var set = self.matches[index] = Object.create(null) + for (var p in matchset) { + try { + p = self._makeAbs(p) + var real = rp.realpathSync(p, self.realpathCache) + set[real] = true + } catch (er) { + if (er.syscall === 'stat') + set[self._makeAbs(p)] = true + else + throw er + } + } + }) + } + common.finish(this) +} + + +GlobSync.prototype._process = function (pattern, index, inGlobStar) { + assert.ok(this instanceof GlobSync) + + // Get the first [n] parts of pattern that are all strings. + var n = 0 + while (typeof pattern[n] === 'string') { + n ++ + } + // now n is the index of the first one that is *not* a string. + + // See if there's anything else + var prefix + switch (n) { + // if not, then this is rather simple + case pattern.length: + this._processSimple(pattern.join('/'), index) + return + + case 0: + // pattern *starts* with some non-trivial item. + // going to readdir(cwd), but not include the prefix in matches. + prefix = null + break + + default: + // pattern has some string bits in the front. + // whatever it starts with, whether that's 'absolute' like /foo/bar, + // or 'relative' like '../baz' + prefix = pattern.slice(0, n).join('/') + break + } + + var remain = pattern.slice(n) + + // get the list of entries. + var read + if (prefix === null) + read = '.' + else if (isAbsolute(prefix) || + isAbsolute(pattern.map(function (p) { + return typeof p === 'string' ? p : '[*]' + }).join('/'))) { + if (!prefix || !isAbsolute(prefix)) + prefix = '/' + prefix + read = prefix + } else + read = prefix + + var abs = this._makeAbs(read) + + //if ignored, skip processing + if (childrenIgnored(this, read)) + return + + var isGlobStar = remain[0] === minimatch.GLOBSTAR + if (isGlobStar) + this._processGlobStar(prefix, read, abs, remain, index, inGlobStar) + else + this._processReaddir(prefix, read, abs, remain, index, inGlobStar) +} + + +GlobSync.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar) { + var entries = this._readdir(abs, inGlobStar) + + // if the abs isn't a dir, then nothing can match! + if (!entries) + return + + // It will only match dot entries if it starts with a dot, or if + // dot is set. Stuff like @(.foo|.bar) isn't allowed. + var pn = remain[0] + var negate = !!this.minimatch.negate + var rawGlob = pn._glob + var dotOk = this.dot || rawGlob.charAt(0) === '.' + + var matchedEntries = [] + for (var i = 0; i < entries.length; i++) { + var e = entries[i] + if (e.charAt(0) !== '.' || dotOk) { + var m + if (negate && !prefix) { + m = !e.match(pn) + } else { + m = e.match(pn) + } + if (m) + matchedEntries.push(e) + } + } + + var len = matchedEntries.length + // If there are no matched entries, then nothing matches. + if (len === 0) + return + + // if this is the last remaining pattern bit, then no need for + // an additional stat *unless* the user has specified mark or + // stat explicitly. We know they exist, since readdir returned + // them. + + if (remain.length === 1 && !this.mark && !this.stat) { + if (!this.matches[index]) + this.matches[index] = Object.create(null) + + for (var i = 0; i < len; i ++) { + var e = matchedEntries[i] + if (prefix) { + if (prefix.slice(-1) !== '/') + e = prefix + '/' + e + else + e = prefix + e + } + + if (e.charAt(0) === '/' && !this.nomount) { + e = path.join(this.root, e) + } + this._emitMatch(index, e) + } + // This was the last one, and no stats were needed + return + } + + // now test all matched entries as stand-ins for that part + // of the pattern. + remain.shift() + for (var i = 0; i < len; i ++) { + var e = matchedEntries[i] + var newPattern + if (prefix) + newPattern = [prefix, e] + else + newPattern = [e] + this._process(newPattern.concat(remain), index, inGlobStar) + } +} + + +GlobSync.prototype._emitMatch = function (index, e) { + if (isIgnored(this, e)) + return + + var abs = this._makeAbs(e) + + if (this.mark) + e = this._mark(e) + + if (this.absolute) { + e = abs + } + + if (this.matches[index][e]) + return + + if (this.nodir) { + var c = this.cache[abs] + if (c === 'DIR' || Array.isArray(c)) + return + } + + this.matches[index][e] = true + + if (this.stat) + this._stat(e) +} + + +GlobSync.prototype._readdirInGlobStar = function (abs) { + // follow all symlinked directories forever + // just proceed as if this is a non-globstar situation + if (this.follow) + return this._readdir(abs, false) + + var entries + var lstat + var stat + try { + lstat = this.fs.lstatSync(abs) + } catch (er) { + if (er.code === 'ENOENT') { + // lstat failed, doesn't exist + return null + } + } + + var isSym = lstat && lstat.isSymbolicLink() + this.symlinks[abs] = isSym + + // If it's not a symlink or a dir, then it's definitely a regular file. + // don't bother doing a readdir in that case. + if (!isSym && lstat && !lstat.isDirectory()) + this.cache[abs] = 'FILE' + else + entries = this._readdir(abs, false) + + return entries +} + +GlobSync.prototype._readdir = function (abs, inGlobStar) { + var entries + + if (inGlobStar && !ownProp(this.symlinks, abs)) + return this._readdirInGlobStar(abs) + + if (ownProp(this.cache, abs)) { + var c = this.cache[abs] + if (!c || c === 'FILE') + return null + + if (Array.isArray(c)) + return c + } + + try { + return this._readdirEntries(abs, this.fs.readdirSync(abs)) + } catch (er) { + this._readdirError(abs, er) + return null + } +} + +GlobSync.prototype._readdirEntries = function (abs, entries) { + // if we haven't asked to stat everything, then just + // assume that everything in there exists, so we can avoid + // having to stat it a second time. + if (!this.mark && !this.stat) { + for (var i = 0; i < entries.length; i ++) { + var e = entries[i] + if (abs === '/') + e = abs + e + else + e = abs + '/' + e + this.cache[e] = true + } + } + + this.cache[abs] = entries + + // mark and cache dir-ness + return entries +} + +GlobSync.prototype._readdirError = function (f, er) { + // handle errors, and cache the information + switch (er.code) { + case 'ENOTSUP': // https://github.com/isaacs/node-glob/issues/205 + case 'ENOTDIR': // totally normal. means it *does* exist. + var abs = this._makeAbs(f) + this.cache[abs] = 'FILE' + if (abs === this.cwdAbs) { + var error = new Error(er.code + ' invalid cwd ' + this.cwd) + error.path = this.cwd + error.code = er.code + throw error + } + break + + case 'ENOENT': // not terribly unusual + case 'ELOOP': + case 'ENAMETOOLONG': + case 'UNKNOWN': + this.cache[this._makeAbs(f)] = false + break + + default: // some unusual error. Treat as failure. + this.cache[this._makeAbs(f)] = false + if (this.strict) + throw er + if (!this.silent) + console.error('glob error', er) + break + } +} + +GlobSync.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar) { + + var entries = this._readdir(abs, inGlobStar) + + // no entries means not a dir, so it can never have matches + // foo.txt/** doesn't match foo.txt + if (!entries) + return + + // test without the globstar, and with every child both below + // and replacing the globstar. + var remainWithoutGlobStar = remain.slice(1) + var gspref = prefix ? [ prefix ] : [] + var noGlobStar = gspref.concat(remainWithoutGlobStar) + + // the noGlobStar pattern exits the inGlobStar state + this._process(noGlobStar, index, false) + + var len = entries.length + var isSym = this.symlinks[abs] + + // If it's a symlink, and we're in a globstar, then stop + if (isSym && inGlobStar) + return + + for (var i = 0; i < len; i++) { + var e = entries[i] + if (e.charAt(0) === '.' && !this.dot) + continue + + // these two cases enter the inGlobStar state + var instead = gspref.concat(entries[i], remainWithoutGlobStar) + this._process(instead, index, true) + + var below = gspref.concat(entries[i], remain) + this._process(below, index, true) + } +} + +GlobSync.prototype._processSimple = function (prefix, index) { + // XXX review this. Shouldn't it be doing the mounting etc + // before doing stat? kinda weird? + var exists = this._stat(prefix) + + if (!this.matches[index]) + this.matches[index] = Object.create(null) + + // If it doesn't exist, then just mark the lack of results + if (!exists) + return + + if (prefix && isAbsolute(prefix) && !this.nomount) { + var trail = /[\/\\]$/.test(prefix) + if (prefix.charAt(0) === '/') { + prefix = path.join(this.root, prefix) + } else { + prefix = path.resolve(this.root, prefix) + if (trail) + prefix += '/' + } + } + + if (process.platform === 'win32') + prefix = prefix.replace(/\\/g, '/') + + // Mark this as a match + this._emitMatch(index, prefix) +} + +// Returns either 'DIR', 'FILE', or false +GlobSync.prototype._stat = function (f) { + var abs = this._makeAbs(f) + var needDir = f.slice(-1) === '/' + + if (f.length > this.maxLength) + return false + + if (!this.stat && ownProp(this.cache, abs)) { + var c = this.cache[abs] + + if (Array.isArray(c)) + c = 'DIR' + + // It exists, but maybe not how we need it + if (!needDir || c === 'DIR') + return c + + if (needDir && c === 'FILE') + return false + + // otherwise we have to stat, because maybe c=true + // if we know it exists, but not what it is. + } + + var exists + var stat = this.statCache[abs] + if (!stat) { + var lstat + try { + lstat = this.fs.lstatSync(abs) + } catch (er) { + if (er && (er.code === 'ENOENT' || er.code === 'ENOTDIR')) { + this.statCache[abs] = false + return false + } + } + + if (lstat && lstat.isSymbolicLink()) { + try { + stat = this.fs.statSync(abs) + } catch (er) { + stat = lstat + } + } else { + stat = lstat + } + } + + this.statCache[abs] = stat + + var c = true + if (stat) + c = stat.isDirectory() ? 'DIR' : 'FILE' + + this.cache[abs] = this.cache[abs] || c + + if (needDir && c === 'FILE') + return false + + return c +} + +GlobSync.prototype._mark = function (p) { + return common.mark(this, p) +} + +GlobSync.prototype._makeAbs = function (f) { + return common.makeAbs(this, f) +} + + +/***/ }), +/* 167 */ +/***/ (function(module, exports, __webpack_require__) { + +var wrappy = __webpack_require__(84) +var reqs = Object.create(null) +var once = __webpack_require__(85) + +module.exports = wrappy(inflight) + +function inflight (key, cb) { + if (reqs[key]) { + reqs[key].push(cb) + return null + } else { + reqs[key] = [cb] + return makeres(key) + } +} + +function makeres (key) { + return once(function RES () { + var cbs = reqs[key] + var len = cbs.length + var args = slice(arguments) + + // XXX It's somewhat ambiguous whether a new callback added in this + // pass should be queued for later execution if something in the + // list of callbacks throws, or if it should just be discarded. + // However, it's such an edge case that it hardly matters, and either + // choice is likely as surprising as the other. + // As it happens, we do go ahead and schedule it for later execution. + try { + for (var i = 0; i < len; i++) { + cbs[i].apply(null, args) + } + } finally { + if (cbs.length > len) { + // added more in the interim. + // de-zalgo, just in case, but don't call again. + cbs.splice(0, len) + process.nextTick(function () { + RES.apply(null, args) + }) + } else { + delete reqs[key] + } + } + }) +} + +function slice (args) { + var length = args.length + var array = [] + + for (var i = 0; i < length; i++) array[i] = args[i] + return array +} + + +/***/ }), +/* 168 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Recorder; }); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_createClass__ = __webpack_require__(169); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_createClass__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_get_prototype_of__ = __webpack_require__(173); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_get_prototype_of___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_get_prototype_of__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__ = __webpack_require__(177); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(178); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__ = __webpack_require__(179); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_path__ = __webpack_require__(1); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_path___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_path__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_fs__ = __webpack_require__(6); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_fs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_fs__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__config__ = __webpack_require__(27); + + + + + + + + +var os = __webpack_require__(10); +var platform = os.platform(); +var arch = os.arch(); +var moment = __webpack_require__(187); + +var _require = __webpack_require__(15), + spawn = _require.spawn; + +var EventEmitter = __webpack_require__(82); +var ffmpegExePath = __WEBPACK_IMPORTED_MODULE_5_path___default.a.join(Object(__WEBPACK_IMPORTED_MODULE_7__config__["a" /* GetHomeDir */])(), "ffplay"); + +var MyEmitter = function (_EventEmitter) { + __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default()(MyEmitter, _EventEmitter); + + function MyEmitter() { + __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default()(this, MyEmitter); + + return __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default()(this, (MyEmitter.__proto__ || __WEBPACK_IMPORTED_MODULE_1_babel_runtime_core_js_object_get_prototype_of___default()(MyEmitter)).apply(this, arguments)); + } + + return MyEmitter; +}(EventEmitter); + +var myEmitter = new MyEmitter(); + +var Recorder = function () { + function Recorder() { + var option = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + + __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default()(this, Recorder); + + this.shell = undefined; + this.filename = moment(parseInt(new Date().getTime())).format("YYYYMMDDHHmmss") + ".mp4"; + this.exe = "ffmpeg.exe"; + if (platform === "win32") { + this.exe = "ffmpeg.exe"; + this.params = "-f gdigrab -r 30 -y -i desktop -pix_fmt yuv420p"; + } + if (platform === "linux") { + switch (arch) { + case "x64": + this.exe = "ffmpeg_x86"; + break; + case "arm": + this.exe = "ffmpeg_arm"; + break; + } + this.params = "-v verbose -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0 -c:v libx264 -preset ultrafast -crf 18"; + } + this.commands = __WEBPACK_IMPORTED_MODULE_5_path___default.a.join(Object(__WEBPACK_IMPORTED_MODULE_7__config__["a" /* GetHomeDir */])(), "/ffplay/" + this.exe); + } + + __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_createClass___default()(Recorder, [{ + key: "get_path", + value: function get_path() { + return __WEBPACK_IMPORTED_MODULE_5_path___default.a.join(ffmpegExePath, this.filename); + } + }, { + key: "start", + value: function start() { + this.exec(this.commands, this.params); + } + }, { + key: "exec", + value: function exec(commands, param) { + var arr = param.split(" "); + arr.push(this.get_path()); + console.log("commands, arr", commands, arr); + this.shell = spawn(commands, arr, { + ffmpegExePath: ffmpegExePath + }).on("exit", function (err) { + console.log("exit", err); + myEmitter.emit("process-exit"); + }).on("data", function (data) {}).on("data", function (data) {}); + this.shell.unref(); + } + }, { + key: "end", + value: function end(cb) { + if (!this.shell.killed) { + console.log(this.shell); + this.shell.stdin.write("q"); + myEmitter.once("process-exit", function () { + cb(); + }); + } else { + cb(); + } + } + }, { + key: "move", + value: function move(dst, cb) { + var _this2 = this; + + var readStream = __WEBPACK_IMPORTED_MODULE_6_fs___default.a.createReadStream(this.get_path()); + var writeStream = __WEBPACK_IMPORTED_MODULE_6_fs___default.a.createWriteStream(dst); + readStream.pipe(writeStream); + readStream.on("end", function () { + __WEBPACK_IMPORTED_MODULE_6_fs___default.a.unlinkSync(_this2.get_path()); + cb(); + }); + } + }]); + + return Recorder; +}(); + + + +/***/ }), +/* 169 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.__esModule = true; + +var _defineProperty = __webpack_require__(170); + +var _defineProperty2 = _interopRequireDefault(_defineProperty); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function () { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + (0, _defineProperty2.default)(target, descriptor.key, descriptor); + } + } + + return function (Constructor, protoProps, staticProps) { + if (protoProps) defineProperties(Constructor.prototype, protoProps); + if (staticProps) defineProperties(Constructor, staticProps); + return Constructor; + }; +}(); + +/***/ }), +/* 170 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = { "default": __webpack_require__(171), __esModule: true }; + +/***/ }), +/* 171 */ +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(172); +var $Object = __webpack_require__(0).Object; +module.exports = function defineProperty(it, key, desc) { + return $Object.defineProperty(it, key, desc); +}; + + +/***/ }), +/* 172 */ +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(4); +// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) +$export($export.S + $export.F * !__webpack_require__(9), 'Object', { defineProperty: __webpack_require__(7).f }); + + +/***/ }), +/* 173 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = { "default": __webpack_require__(174), __esModule: true }; + +/***/ }), +/* 174 */ +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(175); +module.exports = __webpack_require__(0).Object.getPrototypeOf; + + +/***/ }), +/* 175 */ +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.9 Object.getPrototypeOf(O) +var toObject = __webpack_require__(31); +var $getPrototypeOf = __webpack_require__(67); + +__webpack_require__(176)('getPrototypeOf', function () { + return function getPrototypeOf(it) { + return $getPrototypeOf(toObject(it)); + }; +}); + + +/***/ }), +/* 176 */ +/***/ (function(module, exports, __webpack_require__) { + +// most Object methods by ES6 should accept primitives +var $export = __webpack_require__(4); +var core = __webpack_require__(0); +var fails = __webpack_require__(16); +module.exports = function (KEY, exec) { + var fn = (core.Object || {})[KEY] || Object[KEY]; + var exp = {}; + exp[KEY] = exec(fn); + $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp); +}; + + +/***/ }), +/* 177 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.__esModule = true; + +exports.default = function (instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +}; + +/***/ }), +/* 178 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.__esModule = true; + +var _typeof2 = __webpack_require__(34); + +var _typeof3 = _interopRequireDefault(_typeof2); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function (self, call) { + if (!self) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return call && ((typeof call === "undefined" ? "undefined" : (0, _typeof3.default)(call)) === "object" || typeof call === "function") ? call : self; +}; + +/***/ }), +/* 179 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.__esModule = true; + +var _setPrototypeOf = __webpack_require__(180); + +var _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf); + +var _create = __webpack_require__(184); + +var _create2 = _interopRequireDefault(_create); + +var _typeof2 = __webpack_require__(34); + +var _typeof3 = _interopRequireDefault(_typeof2); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = function (subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : (0, _typeof3.default)(superClass))); + } + + subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, { + constructor: { + value: subClass, + enumerable: false, + writable: true, + configurable: true + } + }); + if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass; +}; + +/***/ }), +/* 180 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = { "default": __webpack_require__(181), __esModule: true }; + +/***/ }), +/* 181 */ +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(182); +module.exports = __webpack_require__(0).Object.setPrototypeOf; + + +/***/ }), +/* 182 */ +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.3.19 Object.setPrototypeOf(O, proto) +var $export = __webpack_require__(4); +$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(183).set }); + + +/***/ }), +/* 183 */ +/***/ (function(module, exports, __webpack_require__) { + +// Works with __proto__ only. Old v8 can't work with null proto objects. +/* eslint-disable no-proto */ +var isObject = __webpack_require__(5); +var anObject = __webpack_require__(8); +var check = function (O, proto) { + anObject(O); + if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!"); +}; +module.exports = { + set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line + function (test, buggy, set) { + try { + set = __webpack_require__(11)(Function.call, __webpack_require__(72).f(Object.prototype, '__proto__').set, 2); + set(test, []); + buggy = !(test instanceof Array); + } catch (e) { buggy = true; } + return function setPrototypeOf(O, proto) { + check(O, proto); + if (buggy) O.__proto__ = proto; + else set(O, proto); + return O; + }; + }({}, false) : undefined), + check: check +}; + + +/***/ }), +/* 184 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = { "default": __webpack_require__(185), __esModule: true }; + +/***/ }), +/* 185 */ +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(186); +var $Object = __webpack_require__(0).Object; +module.exports = function create(P, D) { + return $Object.create(P, D); +}; + + +/***/ }), +/* 186 */ +/***/ (function(module, exports, __webpack_require__) { + +var $export = __webpack_require__(4); +// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) +$export($export.S, 'Object', { create: __webpack_require__(29) }); + + +/***/ }), +/* 187 */ +/***/ (function(module, exports) { + +module.exports = require("moment"); + +/***/ }), +/* 188 */ +/***/ (function(module, exports, __webpack_require__) { + +!function(t,e){ true?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){"use strict";var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",c="month",f="quarter",h="year",d="date",l="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return"["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t) { console.log("iframe###############", e) }) - - // document.domain = 'http://127.0.0.1:8890'; /*if (process && process.env.NODE_ENV !== 'development') window.__static = require('path').join(__dirname, '/static').replace(/\\/g, '\\\\')*/ diff --git a/src/renderer/assets/i18n/lang/local_en.js b/src/renderer/assets/i18n/lang/local_en.js index 6c6bb83..5046519 100644 --- a/src/renderer/assets/i18n/lang/local_en.js +++ b/src/renderer/assets/i18n/lang/local_en.js @@ -160,7 +160,7 @@ module.exports = { unLock: "unLock", }, headerTitles: { - systemTitle: "System setting", + systemTitle: "System Panel", udp: "Physical sandbox", ConcurrencyControl: "Concurrency Control", localIP: "Local IP", diff --git a/src/renderer/assets/images/812/gonganlan/head.png b/src/renderer/assets/images/812/gonganlan/head.png new file mode 100644 index 0000000..4a5c67d Binary files /dev/null and b/src/renderer/assets/images/812/gonganlan/head.png differ diff --git a/src/renderer/assets/images/812/gonganlan/logo.png b/src/renderer/assets/images/812/gonganlan/logo.png new file mode 100644 index 0000000..2e297b7 Binary files /dev/null and b/src/renderer/assets/images/812/gonganlan/logo.png differ diff --git a/src/renderer/assets/images/812/gonganlan/scrollBar.png b/src/renderer/assets/images/812/gonganlan/scrollBar.png new file mode 100644 index 0000000..e4e8e2a Binary files /dev/null and b/src/renderer/assets/images/812/gonganlan/scrollBar.png differ diff --git a/src/renderer/assets/images/812/hong/head.png b/src/renderer/assets/images/812/hong/head.png new file mode 100644 index 0000000..e4d17fb Binary files /dev/null and b/src/renderer/assets/images/812/hong/head.png differ diff --git a/src/renderer/assets/images/812/hong/logo.png b/src/renderer/assets/images/812/hong/logo.png new file mode 100644 index 0000000..0c76c89 Binary files /dev/null and b/src/renderer/assets/images/812/hong/logo.png differ diff --git a/src/renderer/assets/images/812/hong/scrollBar.png b/src/renderer/assets/images/812/hong/scrollBar.png new file mode 100644 index 0000000..fab2b01 Binary files /dev/null and b/src/renderer/assets/images/812/hong/scrollBar.png differ diff --git a/src/renderer/assets/images/812/yingguangse/head.png b/src/renderer/assets/images/812/yingguangse/head.png new file mode 100644 index 0000000..4de13a8 Binary files /dev/null and b/src/renderer/assets/images/812/yingguangse/head.png differ diff --git a/src/renderer/assets/images/812/yingguangse/logo.png b/src/renderer/assets/images/812/yingguangse/logo.png new file mode 100644 index 0000000..2ade0ee Binary files /dev/null and b/src/renderer/assets/images/812/yingguangse/logo.png differ diff --git a/src/renderer/assets/images/812/yingguangse/scrollBar.png b/src/renderer/assets/images/812/yingguangse/scrollBar.png new file mode 100644 index 0000000..02d94a1 Binary files /dev/null and b/src/renderer/assets/images/812/yingguangse/scrollBar.png differ diff --git a/src/renderer/components/LeftMenu/secondMenuFun.js b/src/renderer/components/LeftMenu/secondMenuFun.js index 463af44..ef33210 100644 --- a/src/renderer/components/LeftMenu/secondMenuFun.js +++ b/src/renderer/components/LeftMenu/secondMenuFun.js @@ -46,8 +46,6 @@ import { renderFlyLine, } from "../Tree/renderNode"; import { shpTotalDict } from "../../api/shpTotalDict"; -import e from "express"; - const secondMenuFun = { data() { return { @@ -1411,7 +1409,7 @@ const secondMenuFun = { window.clicknum = 0; let host = new URL(getIP()).host; let routePlanning = new YJ.Obj.RoutePlanning(window.Earth1, { - gps: true, + gps: false, host, }); routePlanning.Dialog.queryCallBack = async (v) => { diff --git a/src/renderer/components/LeftMenu/secondMenuFun copy.js b/src/renderer/components/LeftMenu/secondMenuFun111.js similarity index 99% rename from src/renderer/components/LeftMenu/secondMenuFun copy.js rename to src/renderer/components/LeftMenu/secondMenuFun111.js index 817df1d..b88ee80 100644 --- a/src/renderer/components/LeftMenu/secondMenuFun copy.js +++ b/src/renderer/components/LeftMenu/secondMenuFun111.js @@ -48,8 +48,8 @@ import { import { shpTotalDict } from "../../api/shpTotalDict"; import e from "express"; -let newp_id = "3579e514a976c9aad03fde6b6198f464" -let model_p_id = "43d570f69514904a91b5df9c5f33bc98" +let newp_id = "特效图层" +let model_p_id = "模型图层" const secondMenuFun = { data() { @@ -933,7 +933,7 @@ const secondMenuFun = { source_id, source_name: item.model_name, source_type: "model", - p_id:model_p_id, + p_id: DbOption.source_id, }; let option = { @@ -949,7 +949,7 @@ const secondMenuFun = { addSource(node).then((res) => { if ([0, 200].includes(res.code)) { // cusRenderNode(DbOption) - cusAddNodes(this.treeObj, DbOption.p_id, [node]); + cusAddNodes(this.treeObj, model_p_id, [node]); } }); } @@ -1414,7 +1414,7 @@ const secondMenuFun = { window.clicknum = 0; let host = new URL(getIP()).host; let routePlanning = new YJ.Obj.RoutePlanning(window.Earth1, { - gps: false, + gps: true, host, }); routePlanning.Dialog.queryCallBack = async (v) => { diff --git a/src/renderer/components/Tree/components/rightMenuOption.js b/src/renderer/components/Tree/components/rightMenuOption.js index 4c136e9..d143dca 100644 --- a/src/renderer/components/Tree/components/rightMenuOption.js +++ b/src/renderer/components/Tree/components/rightMenuOption.js @@ -139,7 +139,7 @@ const rightMenuOption = { } }); console.log("执行图层层级修改_updateLayerIndex", layers); - updateLayerIndex(layers, (res) => {}); + updateLayerIndex(layers, (res) => { }); }, layerIndex(key) { let layer = window._entityMap.get(this.rightClickTreeNode.source_id); @@ -548,6 +548,15 @@ const rightMenuOption = { this.$parent.treeObj, getSelectedNodes(this.$parent.treeObj) ); + let ids = [ + "模型图层", + "特效图层", + "标绘图层", + "二维军标图层", + "三维军标图层", + ]; + // 排除 + source_ids = source_ids.filter((id) => !ids.includes(id)); delSource({ source_ids, }).then((res) => { @@ -737,7 +746,7 @@ const rightMenuOption = { confirmCallBack: (data) => { this.shpConfirmCallBack(data, this.rightClickTreeNode.source_id); }, - closeCallBack: () => {}, + closeCallBack: () => { }, }); } else { editNode.edit(true); @@ -871,7 +880,7 @@ const rightMenuOption = { list.forEach((item) => { arr.push({ name: "链接", - url: item.url, + url: item.url, }); }); editNode.attributeLink = arr; @@ -905,7 +914,7 @@ const rightMenuOption = { } paths.forEach((item) => { arr.push({ - name: "链接" , + name: "链接", url: item, }); }); @@ -928,7 +937,7 @@ const rightMenuOption = { this.$removeChanel("panoramaFileData"); list.forEach((item) => { arr.push({ - name: "全景" , + name: "全景", url: item.url, }); }); @@ -960,7 +969,7 @@ const rightMenuOption = { } paths.forEach((item) => { arr.push({ - name: "全景" , + name: "全景", url: item, }); }); @@ -1041,7 +1050,7 @@ const rightMenuOption = { this.updateView(true); }, //模型压平 - pressModel() {}, + pressModel() { }, //模型剖切 tilesetClipping() { let node = getSelectedNode(this.$parent.treeObj); @@ -1128,17 +1137,17 @@ const rightMenuOption = { process.env.NODE_ENV === "development" ? path.join(GetHomeDir(), "static/logo_ico/81.ico") : path.join( - GetHomeDir(), - "resources/app.asar/" + "dist/electron/static/logo_ico/81.png" - ); + GetHomeDir(), + "resources/app.asar/" + "dist/electron/static/logo_ico/81.png" + ); console.log("点击了菜单", node); console.log("点击了菜单", this.rightClickTreeNode); let currentnode = node ? $root_home_index.$refs.tree.treeObj.getNodeByParam( - "source_id", - node.source_id, - null - ) + "source_id", + node.source_id, + null + ) : this.rightClickTreeNode; let win = $root_home.$remote.BrowserWindow; let id = currentnode.source_id; @@ -1242,7 +1251,7 @@ const rightMenuOption = { newDataWin.show(); }); window._winMap.set(id, newDataWin.id); - newDataWin.on("close", function(event) { + newDataWin.on("close", function (event) { window._winMap.delete(id); }); } else { diff --git a/src/renderer/components/Tree/index.vue b/src/renderer/components/Tree/index.vue index 0a3a48f..a29298c 100644 --- a/src/renderer/components/Tree/index.vue +++ b/src/renderer/components/Tree/index.vue @@ -62,6 +62,8 @@ import tree from "./treeSetting"; import rightMenu from "./components/rightMenu.vue"; import AMapLoader from "@amap/amap-jsapi-loader"; import rightMenuOption from "../Tree/components/rightMenuOption"; +import { findParentId } from "@/components/Tree/treeNode"; +import { renderTextBox } from "./renderNode"; import { get_source_list, queryPOI, @@ -302,7 +304,7 @@ export default { let p_id = getKeyOfSelectedNode(this.$parent.treeObj, "source_id"); filePaths.forEach((item) => { console.log('item', item); - let name = this.getLastPathComponent(item,['clt','json','pak','kml','kmz','shp','geojson','geoJson', 'czml','jct','mif','tab','csv']); + let name = this.getLastPathComponent(item, ['clt', 'json', 'pak', 'kml', 'kmz', 'shp', 'geojson', 'geoJson', 'czml', 'jct', 'mif', 'tab', 'csv']); console.log("name", name); let source_type = "layer"; if (item.endsWith(".clt") || item.endsWith(".json")) { @@ -713,6 +715,8 @@ export default { ); window.treeObj = this.treeObj; window.AllNodes = this.treeObj.getNodes() + console.log('window.AllNodes', window.AllNodes); + window.newFuzzySearch( `treeDemo`, "#keyword", @@ -732,6 +736,9 @@ export default { (text, object) => { switch (text) { + case "textBox": + this.addTextBox(object.position); + break; case "rotateAround": YJ.Global.rotateAround(window.Earth1, object.position); break; @@ -756,6 +763,37 @@ export default { }); }); }, + // 添加文本框 + addTextBox(position) { + this.$sendChanel("textTetlie", "标注"); + this.$changeComponentShow(".textModelBox", true); + this.$recvChanel("textModelContent", (data) => { + console.log(data.text); + let that = this; + let source_id = that.$md5(new Date().getTime() + "文本框"); + let textBox = { + id: source_id, + position: position, + text: data.text, + show: true, + }; + let DbOption = { + source_id, + source_name: data.text, + source_type: "textBox", + p_id: findParentId(that.treeObj), + }; + let detailOption = JSON.parse(JSON.stringify(textBox)); + let node = getNodeData(DbOption, detailOption); + renderTextBox(node); + addSource(node).then((res) => { + if ([0, 200].includes(res.code)) { + cusAddNodes(that.$parent.treeObj, DbOption.p_id, [node]); + } + }); + }) + }, + // 获取当前得node getNode(source_id) { if (!source_id) { @@ -804,6 +842,7 @@ export default { animate(); }, }, + }; diff --git a/src/renderer/components/Tree/renderNode.js b/src/renderer/components/Tree/renderNode.js index 92d5177..7b8b9a8 100644 --- a/src/renderer/components/Tree/renderNode.js +++ b/src/renderer/components/Tree/renderNode.js @@ -8,14 +8,14 @@ import { } from "./entityClick"; import { getIP } from "../../utils"; import { getAddress } from "../../utils/request"; -import { addPicture,updateInfo } from "../../api/gisAPI"; +import { addPicture, updateInfo } from "../../api/gisAPI"; import { $changeComponentShow, $recvChanel, $sendElectronChanel, $recvElectronChanel, } from "../../utils/communication"; -import { nodeType,cusUpdateNode } from "./treeNode"; +import { nodeType, cusUpdateNode } from "./treeNode"; import md5 from "js-md5"; let staticPort = $root_home.$remote.getGlobal("sharedObject").avilablePort; @@ -286,7 +286,8 @@ function renderShp(node, ifFly = true) { let ziNode = { source_id: item.id, source_type: item.type, - source_name: item.properties[arrt]||Object.keys(item.properties)[0], + source_name: + item.properties[arrt] || Object.keys(item.properties)[0], detail: { ...item, info: { type: "richText" }, @@ -298,7 +299,8 @@ function renderShp(node, ifFly = true) { }); } let fuNode = { - source_id: it.id || md5(new Date().getTime().toString()+Math.random()), + source_id: + it.id || md5(new Date().getTime().toString() + Math.random()), source_type: it.type, source_name: it.name, detail: { @@ -335,7 +337,7 @@ function renderShp(node, ifFly = true) { let ziNode = { source_id: item.id, source_type: item.type, - source_name: item.properties[arrt] || '', + source_name: item.properties[arrt] || "", detail: { ...item, info: { type: "richText" }, @@ -471,14 +473,19 @@ function renderBaseMarker(DbOption) { } } console.log("selected", selected); - + $sendElectronChanel("requireGEMarkerName", { dirName: "GEMarker", dirName1s: "GEMarker1s", }); $recvElectronChanel("dirFiles", (e, res) => { $changeComponentShow(".selectImgBox", true); - window.$root_home_index.$refs.selectImg.init(res, selected,true,isUrl); + window.$root_home_index.$refs.selectImg.init( + res, + selected, + true, + isUrl + ); window.$root_home_index.$refs.selectImg.set("billboardDefaultImage"); }); $recvChanel("selectedImg", (data) => { @@ -860,16 +867,16 @@ function renderGroundImage(DbOption) { console.log("DbOption", DbOption); if (DbOption.is_load) { svg.load(() => { - svg.drag(true,(v)=>{ - console.log("vsvg",v); + svg.drag(true, (v) => { + console.log("vsvg", v); let obj = { source_id: DbOption.source_id, source_name: DbOption.source_name, detail: JSON.stringify(v), - } - updateInfo(obj,()=>{ + }; + updateInfo(obj, () => { cusUpdateNode(obj); - }) + }); }); }); } @@ -1234,8 +1241,8 @@ function renderPicture(node) { } // 飞线 -function renderFlyLine(node) { - console.log("renderEllipse", node); +function renderFlyLine(node) { + console.log("renderEllipse", node); let nodecopy = JSON.parse(JSON.stringify(node)); if (typeof nodecopy.detail == "string") nodecopy.detail = JSON.parse(nodecopy.detail); @@ -1246,18 +1253,51 @@ function renderFlyLine(node) { }; let FlowLine = new YJ.Obj.FlowLine(window.Earth1, option); + // //鼠标右键点击事件 + // FlowLine.onRightClick = () => { + // rightClick(nodecopy); + // }; + // //鼠标左键点击事件 + // FlowLine.onClick = () => { + // console.log(123); + + // leftClick(nodecopy); + // }; + // cb() + window._entityMap.set(node.source_id, FlowLine); +} + +// 飞线 +function renderTextBox(node) { + let nodecopy = JSON.parse(JSON.stringify(node)); + if (typeof nodecopy.detail == "string") + nodecopy.detail = JSON.parse(nodecopy.detail); + let option = { + ...nodecopy.detail, + id: nodecopy.source_id, + name: nodecopy.source_name, + }; + let TextBox = new YJ.Obj.TextBox(window.Earth1, option, (e) => { + console.log("ssssssssssssssssssssssss", e); + let obj = { + source_id: node.source_id, + source_name: e.text, + detail: JSON.stringify(e), + }; + updateInfo(obj, () => { + cusUpdateNode(obj); + }); + }); + //鼠标右键点击事件 - FlowLine.onRightClick = () => { + TextBox.onRightClick = () => { rightClick(nodecopy); }; //鼠标左键点击事件 - FlowLine.onClick = () => { - console.log(123); - + TextBox.onClick = () => { leftClick(nodecopy); }; - // cb() - window._entityMap.set(node.source_id, FlowLine); + window._entityMap.set(node.source_id, TextBox); } export { @@ -1302,5 +1342,6 @@ export { renderCurve, renderEllipse, renderSector, - renderFlyLine + renderFlyLine, + renderTextBox, }; diff --git a/src/renderer/components/Tree/treeNode.js b/src/renderer/components/Tree/treeNode.js index 1a29a10..c717e4e 100644 --- a/src/renderer/components/Tree/treeNode.js +++ b/src/renderer/components/Tree/treeNode.js @@ -39,12 +39,12 @@ import { renderCurve, renderEllipse, renderSector, - renderFlyLine + renderFlyLine, + renderTextBox } from "./renderNode"; import { leftClick, rightClick } from "./entityClick"; import { addPoint } from "@/api/gisAPI"; import { renderBaseMarker2d, renderLayer2d } from "./renderNode2d"; -import { traverse } from "babel-core"; let staticPort = $root_home.$remote.getGlobal("sharedObject").avilablePort; @@ -78,7 +78,7 @@ let get_detail_point = (DetailOption) => { }, label: { text: DetailOption.name || DetailOption.source_name, - fontFamily:0 + fontFamily: 0, // color: "#07f8e4", // show: true, // fontSize: 20, @@ -136,7 +136,7 @@ let get_detail_ellipse = (DetailOption) => { center: DetailOption.center, semiMajorAxis: DetailOption.semiMajorAxis, semiMinorAxis: DetailOption.semiMinorAxis, - color: "rgba(255,0,0,1)", + color: "rgba(255,0,0,.5)", }; return detail; }; @@ -152,7 +152,7 @@ let get_detail_sector = (DetailOption) => { center: DetailOption.center, startAngle: DetailOption.startAngle, endAngle: DetailOption.endAngle, - color: 'rgba(255,0,0,1)', + color: "rgba(255,0,0,.5)", }; return detail; }; @@ -179,9 +179,9 @@ let get_detail_line = (DetailOption) => { buffer: false, buffer_width: 1, buffer_color: "#efc312", - lineWidth:3, - 'extend-color':'rgba(255,222,80,.3)', - 'extend-width':10, + lineWidth: 3, + "extend-color": "rgba(255,255,80,.3)", + "extend-width": 10, // } }; recurrenceSetValue(detail, DetailOption); @@ -203,7 +203,7 @@ let get_detail_curve = (DetailOption) => { // polyline: { positions: DetailOption.position, - color: "#ff0000AF", + color: "rgba(255,0,0,1)", width: 5, type: 0, close: false, @@ -241,8 +241,8 @@ let get_detail_panel = (DetailOption) => { // polygon: { positions: DetailOption.position, color: "rgba(255,0,0,0.5)", - - line:{ + + line: { width: 3, color: "rgba(255,0,0,1)", }, @@ -253,25 +253,25 @@ let get_detail_panel = (DetailOption) => { recurrenceSetValue(detail, DetailOption); return detail; }; -let get_detail_rendezvous = (DetailOption) => { +let get_detail_rendezvous = (DetailOption) => { let detail = { - id: DetailOption.id, - info: { - type: "richText", - text: "", - hrefs: "", - }, + id: DetailOption.id, + info: { + type: "richText", + text: "", + hrefs: "", + }, - // polygon: { - positions: DetailOption.position, - color: 'rgba(255,0,0,0.5)', - width: 5, - type: 0, - // }, - show: true, - }; - recurrenceSetValue(detail, DetailOption); - return detail; + // polygon: { + positions: DetailOption.position, + color: "rgba(255,0,0,0.5)", + width: 5, + type: 0, + // }, + show: true, + }; + recurrenceSetValue(detail, DetailOption); + return detail; }; let get_detail_circle = (DetailOption) => { let detail = { @@ -283,7 +283,7 @@ let get_detail_circle = (DetailOption) => { }, // circle: { center: DetailOption.center, - color: 'rgba(255,0,0,0.5)', + color: "rgba(255,0,0,0.5)", radius: 5, // } }; @@ -334,6 +334,10 @@ let get_detail_groundImage = (DetailOption) => { text: "", hrefs: "", }, + scale: { + x: 0.073, + y: 0.073, + }, show: true, width: 60, height: 60, @@ -405,8 +409,8 @@ let get_detail_tileset = (DetailOption) => { }; // return DetailOption }; -let get_detail_flyLine = (DetailOption) => { - return { +let get_detail_flyLine = (DetailOption) => { + return { id: DetailOption.source_id, positions: DetailOption.positions, // rotation: [0, 0, 0] @@ -521,7 +525,7 @@ let get_detail_wallStereoscopic = (DetailOption) => { text: "", hrefs: "", }, - color: 'rgba(255,0,0,1)', + color: "rgba(255,0,0,1)", extrudedHeight: DetailOption.extrudedHeight, height: DetailOption.height, duration: 3000, @@ -538,7 +542,7 @@ let get_detail_entityWall = (DetailOption) => { color: DetailOption.color, cornerType: DetailOption.cornerType, extrudedHeight: DetailOption.extrudedHeight, - height: DetailOption.height, + height: DetailOption.height, width: DetailOption.width, }; }; @@ -589,15 +593,29 @@ let get_detail_picture = (DetailOption) => { }, }; }; +let get_detail_textbox = (DetailOption)=>{ + return { + id: DetailOption.id || DetailOption.source_id, + position: DetailOption.position, + text: DetailOption.text, + show: true, + }; +}; //定义树形节点的属性 const nodeType = { - point: { + textBox:{ rightMenus: ["edit", "del", "setView", "resetView"], - render: renderBaseMarker, - render2d: renderBaseMarker2d, - detailFun: get_detail_point, - addToDatabase: addPoint, - allowChildren: false, + render: renderTextBox, + detailFun: get_detail_textbox, + }, + + point: { + rightMenus: ["edit", "del", "setView", "resetView"], + render: renderBaseMarker, + render2d: renderBaseMarker2d, + detailFun: get_detail_point, + addToDatabase: addPoint, + allowChildren: false, }, line: { rightMenus: ["edit", "del", "setView", "resetView"], @@ -954,11 +972,11 @@ const nodeType = { // detailFun: get_detail_shp, // allowChildren: false // }, - FeatureCollection:{ + FeatureCollection: { rightMenus: [], render: renderShp, detailFun: get_detail_shp, - allowChildren: false + allowChildren: false, }, Feature: { rightMenus: ["setView", "resetView", "showAttr"], @@ -1017,7 +1035,7 @@ const nodeType = { allowChildren: false, }, // 飞线 - flyLine:{ + flyLine: { rightMenus: [ "edit", "del", @@ -1027,7 +1045,7 @@ const nodeType = { render: renderFlyLine, detailFun: get_detail_flyLine, allowChildren: false, - } + }, // renderStandText }; @@ -1042,7 +1060,7 @@ const nodeType = { * @return {{tree_index: number, rich_text: string, layer_index: number, source_type: string, source_id: string, detail: string, source_path: string, source_name: string, is_show: number, p_id: string}} */ let getNodeData = (DbOption = { source_type: "point" }, DetailOption = {}) => { - console.log("DbOptionDbOptionDbOption", ); + console.log("DbOptionDbOptionDbOption"); if (!DbOption.source_id) DbOption.source_id = $root_home.$md5( new Date().getTime() + dbStruct.source_name @@ -1051,7 +1069,7 @@ let getNodeData = (DbOption = { source_type: "point" }, DetailOption = {}) => { { source_type: DbOption.source_type, source_id: DbOption.source_id }, DetailOption ); - console.log('detail',detail); + console.log("detail", detail); DbOption.detail = detail; let Node = setDbStruct(DbOption); console.log("getNodeData", Node); @@ -1080,7 +1098,7 @@ function recurrenceSetValue(detail, DetailOption) { */ function setDetail({ source_type, source_id }, DetailOption) { console.log("DetailOption", DetailOption); - + DetailOption.id = source_id; /* let jsStr = "(get_detail_" + source_type + "(DetailOption))"; @@ -1296,7 +1314,7 @@ function cusAddNodes(treeObj, parentNodeId, newNodes, isSilent) { if (node.detail && typeof node.detail == "string") node.detail = JSON.parse(node.detail); // if(node.p_id) - YJ.Global.splitScreen.setActiveId([node.source_id]); + YJ.Global.splitScreen.setActiveId([node.source_id]); }); let parentNode = null; if (Object.prototype.toString.call(parentNodeId) === "[object Object]") @@ -1308,7 +1326,7 @@ function cusAddNodes(treeObj, parentNodeId, newNodes, isSilent) { treeObj.selectNode(arr[arr.length - 1]); // 确保window.AllNodes存在并为数组 window.AllNodes = (window.AllNodes || []).concat(arr); - + return arr; } @@ -1324,6 +1342,16 @@ function cusRemoveNode(treeObj, nodes) { nodes.forEach((node) => { allNodes = allNodes.concat(treeObj.transformToArray(node)); }); + let ids = [ + "模型图层", + "特效图层", + "标绘图层", + "二维军标图层", + "三维军标图层", + ]; + // 排除 + allNodes = allNodes.filter((node) => !ids.includes(node.source_id)); + allNodes.forEach((node) => { _idSet.add(node.source_id); treeObj.removeNode(node); diff --git a/src/renderer/components/Tree/treeSetting.js b/src/renderer/components/Tree/treeSetting.js index a539d83..e8b2b71 100644 --- a/src/renderer/components/Tree/treeSetting.js +++ b/src/renderer/components/Tree/treeSetting.js @@ -154,10 +154,28 @@ const tree = { isnewSelect = false; }); console.log("selectNodes1111111111111111111111", selectNodes); - if (!event.ctrlKey && (selectNodes.length < 2 || isnewSelect)) treeNodeOption.cusSelectNode(this.treeObj, treeNode); let menus = treeNodeOption.showRightMenu(event, this.treeObj); + let ids = [ + "模型图层", + "特效图层", + "标绘图层", + "二维军标图层", + "三维军标图层", + ]; + // 判断source_ids中如果包含ids中的id则不显示右键菜单 + if (treeNode && treeNode.source_id) { + if (ids.includes(treeNode.source_id)) { + menus = [ + "addDirectory", + "addResource", + "pictureLocation", + "importPanorama", + ]; + } + } + console.log("treeNode", treeNode); console.log(menus); if (menus.length == 0) { return; @@ -259,6 +277,18 @@ const tree = { * @returns {boolean} 返回 false,zTree 将恢复被拖拽的节点,也无法触发 onDrop 事件回调函数 */ beforeDrop(treeId, treeNodes, targetNode, moveType) { + if ( + ["prev", "next", "inner"].includes(moveType) && + [ + "模型图层", + "特效图层", + "标绘图层", + "二维军标图层", + "三维军标图层", + ].includes(treeNodes[0].source_id) + ) { + return false; + } if ( ["prev", "next", "inner"].includes(moveType) && ["pressModel", "terrainDig"].includes(treeNodes[0].source_type) @@ -304,6 +334,19 @@ const tree = { if ((!isShift && !isCtrl) || !treeNode) { nodes = []; } + let ids = [ + "模型图层", + "特效图层", + "标绘图层", + "二维军标图层", + "三维军标图层", + ]; + if (treeNode) { + if (ids.includes(treeNode.source_type)) { + return false; + } + } + console.log("nodes", treeNode); if (treeNode) { nodes.push(treeNode); //根据编辑表单的回调,控制图层的勾选显示 @@ -528,7 +571,7 @@ const tree = { * @param treeNode */ onDblClick(event, treeId, treeNode) { - console.log("双击文件夹",treeNode); + console.log("双击文件夹", treeNode); let entity = window._entityMap.get(treeNode.source_id); // if (!entity) { // this.$message.warning("无资源数据"); @@ -632,7 +675,7 @@ const tree = { console.log("shp", shp); node.children.forEach((item) => { shp.setShow(status, item.source_id); - console.log("item",status, item); + console.log("item", status, item); }); return; } diff --git a/src/renderer/components/bottomMenus/bottomMenu.vue b/src/renderer/components/bottomMenus/bottomMenu.vue index ee789f8..72ea68a 100644 --- a/src/renderer/components/bottomMenus/bottomMenu.vue +++ b/src/renderer/components/bottomMenus/bottomMenu.vue @@ -166,7 +166,7 @@ export default { }, methods: { addMarker(option) { - let bioahui_id = "2e46e3da8b72d5242e5898170a229ad7" + let bioahui_id = "标绘图层" if (window.checkAuthIsValid) { if (option.source_name == "锁定") { if (YJ.Global.Lock.status()) { @@ -205,12 +205,14 @@ export default { // 绘制 draw(option) { let source_id = this.$md5(new Date().getTime() + option.source_name); + let biaohui_id = "标绘图层"; //数据库对应的数据对象 let DbOption = { source_id, source_name: option.source_name, source_type: option.source_type, p_id: findParentId(this.treeObj), + // p_id:biaohui_id, }; let draw if (option.source_type == "curve") { @@ -282,6 +284,7 @@ export default { }, // 贴地文字 groundText() { + // let biaohui_id = "标绘图层"; let that = this; this.$sendChanel("textTetlie", "贴地文字"); this.$changeComponentShow(".textModelBox", true); @@ -318,7 +321,7 @@ export default { addSource(node).then((res) => { if ([0, 200].includes(res.code)) { // cusRenderNode(DbOption) - cusAddNodes(that.treeObj, DbOption.p_id, [node]); + cusAddNodes(that.treeObj,DbOption.p_id, [node]); } }); } @@ -328,6 +331,7 @@ export default { }, // 立体文字 standText() { + // let biaohui_id = "标绘图层"; let that = this; this.$sendChanel("textTetlie", "立体文字"); this.$changeComponentShow(".textModelBox", true); @@ -367,6 +371,7 @@ export default { }, // 扇形 sector() { + let biaohui_id = "标绘图层"; let draw = new YJ.Draw.DrawSector(window.Earth1); draw.start((err, params) => { console.log("paramsparamsparams", params); @@ -402,6 +407,7 @@ export default { }, // 椭圆 ellipse() { + let biaohui_id = "标绘图层"; let draw = new YJ.Draw.DrawElliptic(window.Earth1); draw.start((err, params) => { console.log("paramsparamsparams", params); diff --git a/src/renderer/components/dialog/junbiao.vue b/src/renderer/components/dialog/junbiao.vue index e157593..4f5949a 100644 --- a/src/renderer/components/dialog/junbiao.vue +++ b/src/renderer/components/dialog/junbiao.vue @@ -263,7 +263,7 @@ export default { handleClick() { }, selectImg({ key, url, name }) { // 军标库图层 - let jun_biao_id = "3579e514a976c9aad03fde6b6198f464"; + let jun_biao_id = "二维军标图层"; //jun_biao_id: "67bee03d6370434d7e98bcda940e67e7" // name: "a常用new_37 (23)" // p_id: "8277e0910d750195b448797616e091ad" @@ -312,7 +312,7 @@ export default { if ([0, 200].includes(res.code)) { cusRenderNode(DbOption); // DbOption.p_id - cusAddNodes(this.treeObj, jun_biao_id, [node]); + cusAddNodes(this.treeObj, DbOption.p_id, [node]); } }); } diff --git a/src/renderer/components/dialog/junbiao3d.vue b/src/renderer/components/dialog/junbiao3d.vue index a078da5..7142759 100644 --- a/src/renderer/components/dialog/junbiao3d.vue +++ b/src/renderer/components/dialog/junbiao3d.vue @@ -120,7 +120,7 @@ export default { handleClick() { }, selectImg({ key, url, name, glbUrl }) { - let jun_biao_id = "03826cc9d84e13cb404745ebd5b3963e" + let jun_biao_id = "三维军标图层" console.log('glbUrlglbUrlglbUrl', glbUrl); //jun_biao_id: "67bee03d6370434d7e98bcda940e67e7" // name: "a常用new_37 (23)" @@ -169,7 +169,7 @@ export default { if ([0, 200].includes(res.code)) { // cusRenderNode(DbOption) // DbOption.p_id - cusAddNodes(this.treeObj,jun_biao_id, [node]) + cusAddNodes(this.treeObj,DbOption.p_id, [node]) } }); } diff --git a/src/renderer/components/dialog/model.vue b/src/renderer/components/dialog/model.vue index 472286d..de583f5 100644 --- a/src/renderer/components/dialog/model.vue +++ b/src/renderer/components/dialog/model.vue @@ -9,10 +9,13 @@
-
+
+
+ 默认模型参数设置 +
@@ -33,10 +36,11 @@