/******/ (function() { // webpackBootstrap
/******/ 	"use strict";
var __webpack_exports__ = {};

// UNUSED EXPORTS: default

;// CONCATENATED MODULE: ./node_modules/_@babel_runtime@7.22.5@@babel/runtime/helpers/esm/typeof.js
function _typeof(obj) {
  "@babel/helpers - typeof";

  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
    return typeof obj;
  } : function (obj) {
    return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
  }, _typeof(obj);
}
;// CONCATENATED MODULE: ./node_modules/_@babel_runtime@7.22.5@@babel/runtime/helpers/esm/regeneratorRuntime.js

function regeneratorRuntime_regeneratorRuntime() {
  "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
  regeneratorRuntime_regeneratorRuntime = function _regeneratorRuntime() {
    return exports;
  };
  var exports = {},
    Op = Object.prototype,
    hasOwn = Op.hasOwnProperty,
    defineProperty = Object.defineProperty || function (obj, key, desc) {
      obj[key] = desc.value;
    },
    $Symbol = "function" == typeof Symbol ? Symbol : {},
    iteratorSymbol = $Symbol.iterator || "@@iterator",
    asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator",
    toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
  function define(obj, key, value) {
    return Object.defineProperty(obj, key, {
      value: value,
      enumerable: !0,
      configurable: !0,
      writable: !0
    }), obj[key];
  }
  try {
    define({}, "");
  } catch (err) {
    define = function define(obj, key, value) {
      return obj[key] = value;
    };
  }
  function wrap(innerFn, outerFn, self, tryLocsList) {
    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,
      generator = Object.create(protoGenerator.prototype),
      context = new Context(tryLocsList || []);
    return defineProperty(generator, "_invoke", {
      value: makeInvokeMethod(innerFn, self, context)
    }), generator;
  }
  function tryCatch(fn, obj, arg) {
    try {
      return {
        type: "normal",
        arg: fn.call(obj, arg)
      };
    } catch (err) {
      return {
        type: "throw",
        arg: err
      };
    }
  }
  exports.wrap = wrap;
  var ContinueSentinel = {};
  function Generator() {}
  function GeneratorFunction() {}
  function GeneratorFunctionPrototype() {}
  var IteratorPrototype = {};
  define(IteratorPrototype, iteratorSymbol, function () {
    return this;
  });
  var getProto = Object.getPrototypeOf,
    NativeIteratorPrototype = getProto && getProto(getProto(values([])));
  NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);
  var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);
  function defineIteratorMethods(prototype) {
    ["next", "throw", "return"].forEach(function (method) {
      define(prototype, method, function (arg) {
        return this._invoke(method, arg);
      });
    });
  }
  function AsyncIterator(generator, PromiseImpl) {
    function invoke(method, arg, resolve, reject) {
      var record = tryCatch(generator[method], generator, arg);
      if ("throw" !== record.type) {
        var result = record.arg,
          value = result.value;
        return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) {
          invoke("next", value, resolve, reject);
        }, function (err) {
          invoke("throw", err, resolve, reject);
        }) : PromiseImpl.resolve(value).then(function (unwrapped) {
          result.value = unwrapped, resolve(result);
        }, function (error) {
          return invoke("throw", error, resolve, reject);
        });
      }
      reject(record.arg);
    }
    var previousPromise;
    defineProperty(this, "_invoke", {
      value: function value(method, arg) {
        function callInvokeWithMethodAndArg() {
          return new PromiseImpl(function (resolve, reject) {
            invoke(method, arg, resolve, reject);
          });
        }
        return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
      }
    });
  }
  function makeInvokeMethod(innerFn, self, context) {
    var state = "suspendedStart";
    return function (method, arg) {
      if ("executing" === state) throw new Error("Generator is already running");
      if ("completed" === state) {
        if ("throw" === method) throw arg;
        return doneResult();
      }
      for (context.method = method, context.arg = arg;;) {
        var delegate = context.delegate;
        if (delegate) {
          var delegateResult = maybeInvokeDelegate(delegate, context);
          if (delegateResult) {
            if (delegateResult === ContinueSentinel) continue;
            return delegateResult;
          }
        }
        if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) {
          if ("suspendedStart" === state) throw state = "completed", context.arg;
          context.dispatchException(context.arg);
        } else "return" === context.method && context.abrupt("return", context.arg);
        state = "executing";
        var record = tryCatch(innerFn, self, context);
        if ("normal" === record.type) {
          if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue;
          return {
            value: record.arg,
            done: context.done
          };
        }
        "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg);
      }
    };
  }
  function maybeInvokeDelegate(delegate, context) {
    var methodName = context.method,
      method = delegate.iterator[methodName];
    if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel;
    var record = tryCatch(method, delegate.iterator, context.arg);
    if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel;
    var info = record.arg;
    return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel);
  }
  function pushTryEntry(locs) {
    var entry = {
      tryLoc: locs[0]
    };
    1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);
  }
  function resetTryEntry(entry) {
    var record = entry.completion || {};
    record.type = "normal", delete record.arg, entry.completion = record;
  }
  function Context(tryLocsList) {
    this.tryEntries = [{
      tryLoc: "root"
    }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);
  }
  function values(iterable) {
    if (iterable) {
      var iteratorMethod = iterable[iteratorSymbol];
      if (iteratorMethod) return iteratorMethod.call(iterable);
      if ("function" == typeof iterable.next) return iterable;
      if (!isNaN(iterable.length)) {
        var i = -1,
          next = function next() {
            for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;
            return next.value = undefined, next.done = !0, next;
          };
        return next.next = next;
      }
    }
    return {
      next: doneResult
    };
  }
  function doneResult() {
    return {
      value: undefined,
      done: !0
    };
  }
  return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", {
    value: GeneratorFunctionPrototype,
    configurable: !0
  }), defineProperty(GeneratorFunctionPrototype, "constructor", {
    value: GeneratorFunction,
    configurable: !0
  }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) {
    var ctor = "function" == typeof genFun && genFun.constructor;
    return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name));
  }, exports.mark = function (genFun) {
    return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun;
  }, exports.awrap = function (arg) {
    return {
      __await: arg
    };
  }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
    return this;
  }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {
    void 0 === PromiseImpl && (PromiseImpl = Promise);
    var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);
    return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {
      return result.done ? result.value : iter.next();
    });
  }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () {
    return this;
  }), define(Gp, "toString", function () {
    return "[object Generator]";
  }), exports.keys = function (val) {
    var object = Object(val),
      keys = [];
    for (var key in object) keys.push(key);
    return keys.reverse(), function next() {
      for (; keys.length;) {
        var key = keys.pop();
        if (key in object) return next.value = key, next.done = !1, next;
      }
      return next.done = !0, next;
    };
  }, exports.values = values, Context.prototype = {
    constructor: Context,
    reset: function reset(skipTempReset) {
      if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);
    },
    stop: function stop() {
      this.done = !0;
      var rootRecord = this.tryEntries[0].completion;
      if ("throw" === rootRecord.type) throw rootRecord.arg;
      return this.rval;
    },
    dispatchException: function dispatchException(exception) {
      if (this.done) throw exception;
      var context = this;
      function handle(loc, caught) {
        return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught;
      }
      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
        var entry = this.tryEntries[i],
          record = entry.completion;
        if ("root" === entry.tryLoc) return handle("end");
        if (entry.tryLoc <= this.prev) {
          var hasCatch = hasOwn.call(entry, "catchLoc"),
            hasFinally = hasOwn.call(entry, "finallyLoc");
          if (hasCatch && hasFinally) {
            if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);
            if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);
          } else if (hasCatch) {
            if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);
          } else {
            if (!hasFinally) throw new Error("try statement without catch or finally");
            if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);
          }
        }
      }
    },
    abrupt: function abrupt(type, arg) {
      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
        var entry = this.tryEntries[i];
        if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
          var finallyEntry = entry;
          break;
        }
      }
      finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);
      var record = finallyEntry ? finallyEntry.completion : {};
      return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);
    },
    complete: function complete(record, afterLoc) {
      if ("throw" === record.type) throw record.arg;
      return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;
    },
    finish: function finish(finallyLoc) {
      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
        var entry = this.tryEntries[i];
        if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;
      }
    },
    "catch": function _catch(tryLoc) {
      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
        var entry = this.tryEntries[i];
        if (entry.tryLoc === tryLoc) {
          var record = entry.completion;
          if ("throw" === record.type) {
            var thrown = record.arg;
            resetTryEntry(entry);
          }
          return thrown;
        }
      }
      throw new Error("illegal catch attempt");
    },
    delegateYield: function delegateYield(iterable, resultName, nextLoc) {
      return this.delegate = {
        iterator: values(iterable),
        resultName: resultName,
        nextLoc: nextLoc
      }, "next" === this.method && (this.arg = undefined), ContinueSentinel;
    }
  }, exports;
}
;// CONCATENATED MODULE: ./node_modules/_@babel_runtime@7.22.5@@babel/runtime/helpers/esm/asyncToGenerator.js
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
  try {
    var info = gen[key](arg);
    var value = info.value;
  } catch (error) {
    reject(error);
    return;
  }
  if (info.done) {
    resolve(value);
  } else {
    Promise.resolve(value).then(_next, _throw);
  }
}
function asyncToGenerator_asyncToGenerator(fn) {
  return function () {
    var self = this,
      args = arguments;
    return new Promise(function (resolve, reject) {
      var gen = fn.apply(self, args);
      function _next(value) {
        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
      }
      function _throw(err) {
        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
      }
      _next(undefined);
    });
  };
}
;// CONCATENATED MODULE: ./src/utils/chrome.ts
var getCurrentTab=function getCurrentTab(){return new Promise(function(resolve){chrome.tabs.query({active:true,currentWindow:true},function(tabs){var tab=tabs[0];resolve(tab);});});};
;// CONCATENATED MODULE: ./src/utils/stream.ts
// @ts-ignore
if(!navigator.getUserMedia){// @ts-ignore
navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;}var getMicStream=function getMicStream(){return new Promise(function(resolve,reject){// @ts-ignore
if(navigator.getUserMedia){// @ts-ignore
navigator.getUserMedia({audio:true},function(stream){resolve(stream);},function(error){reject(error);});}else{reject();}});};var getTingwuAudioContextByStreamId=function getTingwuAudioContextByStreamId(streamId,enableMicphone){return new Promise(function(resolve,reject){navigator.mediaDevices.getUserMedia({video:{// @ts-ignore
mandatory:{chromeMediaSource:'screen',chromeMediaSourceId:streamId}},audio:{// @ts-ignore
mandatory:{chromeMediaSource:'desktop',chromeMediaSourceId:streamId}}}).then(/*#__PURE__*/function(){var _ref=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(stream){var audioCtx,source,micStream,gain,destination,tingwuAudioContext;return _regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:stream.removeTrack(stream.getVideoTracks()[0]);audioCtx=new AudioContext({sampleRate:16000});if(!enableMicphone){_context.next=21;break;}_context.prev=3;_context.next=6;return getMicStream();case 6:micStream=_context.sent;_context.next=13;break;case 9:_context.prev=9;_context.t0=_context["catch"](3);stream===null||stream===void 0?void 0:stream.getTracks().forEach(function(track){track.stop();});reject({type:'micPermissionDenied'});case 13:gain=audioCtx.createGain();if(micStream){audioCtx.createMediaStreamSource(micStream).connect(gain);}audioCtx.createMediaStreamSource(stream).connect(gain);destination=audioCtx.createMediaStreamDestination();gain.connect(destination);source=audioCtx.createMediaStreamSource(destination.stream);_context.next=22;break;case 21:source=audioCtx.createMediaStreamSource(stream);case 22:tingwuAudioContext={tabStream:stream,micStream:micStream,source:source,audioContext:audioCtx};resolve(tingwuAudioContext);case 24:case"end":return _context.stop();}},_callee,null,[[3,9]]);}));return function(_x){return _ref.apply(this,arguments);};}());});};
;// CONCATENATED MODULE: ./src/utils/tools.ts
var randomTraceId=function randomTraceId(){var len=arguments.length>0&&arguments[0]!==undefined?arguments[0]:32;// 16位16进制字符
var digits='0123456789abcdef';var n='';for(var i=0;i<len;i+=1){var rand=Math.floor(Math.random()*digits.length);n+=digits[rand];}return n;};//切割简化 api, 取 关键值
var cutApiFn=function cutApiFn(api){return api.includes('/api/')&&api.split('/api/')[1]||'Illegal Api';};// 封装http请求, 根据项目 支持 get
var httpRequest=function httpRequest(method,url){return new Promise(function(resolve,reject){var xhr=new XMLHttpRequest();xhr.responseType='json';// 指定返回类型
xhr.onreadystatechange=function(){switch(xhr.status){case 200:resolve(xhr.response);break;default:resolve({status:xhr.status,res:xhr.response,content:false});}};xhr.open(method,url,true);xhr.setRequestHeader('Content-type','application/json, text/plain, */*');xhr.send(null);});};
;// CONCATENATED MODULE: ./src/utils/index.ts

;// CONCATENATED MODULE: ./src/background.ts
var firstWinId=0;var publishName="publicServer"||0;var serverEnv="prod"||0;var HELP_URL="https://aliyuque.antfin.com/lvxinyue.lxy/cmw4kr/mtuoz5d3z2bdkw6m?singleDoc";// let timeInter: any = null;
if(publishName==="publicServer"){if(serverEnv==="prod"){HELP_URL="https://tingwu.aliyun.com/helpcenter/f0e656";}else{HELP_URL="https://pre-tingwu.aliyun.com/helpcenter/f0e656";}}else{if(serverEnv==="prod"){HELP_URL="https://tingwu.aliyuncs.com/helpcenter/ed98d2";}else{HELP_URL="https://pre-tingwu.aliyuncs.com/helpcenter/ed98d2";}}chrome.action.onClicked.addListener(function(tab){if(!tab.id){return;}chrome.tabs.sendMessage(tab.id,{type:'initTingwu'},function(){if(chrome.runtime.lastError){chrome.tabs.create({url:HELP_URL});}});});var innerFetch=/*#__PURE__*/function(){var _ref=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee(request){var traceId,spanId;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:// console.log(request, '====request')
traceId=randomTraceId(32);spanId=randomTraceId(16);_context.next=4;return fetch(request.api,{method:request.method,// @ts-ignore
headers:{'Content-Type':'application/json','Accept':'application/json, text/plain, */*','X-B3-Sampled':1,'X-B3-TraceId':traceId,'X-B3-SpanId':spanId},traceId:traceId,spanId:spanId,credentials:'include',body:JSON.stringify(request.params)});case 4:return _context.abrupt("return",_context.sent);case 5:case"end":return _context.stop();}},_callee);}));return function innerFetch(_x){return _ref.apply(this,arguments);};}();var sendMessage=function sendMessage(id,data){chrome.tabs.sendMessage(id,data,function(res){// console.log(myData, '');
});};chrome.runtime.onMessage.addListener(/*#__PURE__*/function(){var _ref2=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee3(request,sender,sendResponse){var tab,cut_api,response,myData,_request$payload,enableMicphone,filename,dirId,sourceLanguage;return regeneratorRuntime_regeneratorRuntime().wrap(function _callee3$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.next=2;return getCurrentTab();case 2:tab=_context3.sent;if(request.type==='closeApp'&&request.value){// 插件应用关闭， 窗口id 标记数据 初始化
firstWinId=0;}if(!(request.type==='request')){_context3.next=15;break;}cut_api=cutApiFn(request.api);_context3.next=8;return innerFetch(request);case 8:response=_context3.sent;_context3.next=11;return response.json();case 11:myData=_context3.sent;// console.log(myData, '==response.coderesponse.code')
// if(myData.code === 'CMN.NotLogin' && cut_api === 'directory/request?getDirList') {
//   timeInter = setInterval(async () => {
//     const response: any = await innerFetch(request);
//     const myData = await response.json();
//     console.log(response, 'responseresponse');
//     if(response.code === 0) { // 登录成功
//       clearInterval(timeInter);
//       sendMessage(tab.id, {myData, type: 'request', cutApi: cutApiFn(request.api)});
//     }
//   }, 1000);
//   return 
// }
!firstWinId&&(firstWinId=tab.id);// 始终发送结果到 初始化听悟插件的页面
sendMessage(firstWinId,{myData:myData,type:'request',cutApi:cutApiFn(request.api)});// sendResponse({complete: true});
return _context3.abrupt("return");case 15:;if(request.type==='desktopCapture'){_request$payload=request.payload,enableMicphone=_request$payload.enableMicphone,filename=_request$payload.filename,dirId=_request$payload.dirId,sourceLanguage=_request$payload.sourceLanguage;chrome.desktopCapture.chooseDesktopMedia(['tab','audio'],tab,/*#__PURE__*/function(){var _ref3=asyncToGenerator_asyncToGenerator(/*#__PURE__*/regeneratorRuntime_regeneratorRuntime().mark(function _callee2(streamId,options){return regeneratorRuntime_regeneratorRuntime().wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:if(tab.id){_context2.next=2;break;}return _context2.abrupt("return");case 2:chrome.tabs.sendMessage(tab.id,{type:'startCaptureDesktopMedia',payload:{streamId:streamId,options:options,enableMicphone:enableMicphone,filename:filename,dirId:dirId,sourceLanguage:sourceLanguage}});case 3:case"end":return _context2.stop();}},_callee2);}));return function(_x5,_x6){return _ref3.apply(this,arguments);};}());}case 17:case"end":return _context3.stop();}},_callee3);}));return function(_x2,_x3,_x4){return _ref2.apply(this,arguments);};}());/* harmony default export */ var background = ({});
/******/ })()
;
//# sourceMappingURL=background.js.map