text: function _defineEnumerableProperties(obj, descs) {
      for(var key in descs){
          var desc = descs[key];
          desc.configurable = desc.enumerable = true;
          if ("value" in desc) desc.writable = true;
          Object.defineProperty(obj, key, desc);
      }
      if (Object.getOwnPropertySymbols) {
          var objectSymbols = Object.getOwnPropertySymbols(descs);
          for(var i = 0; i < objectSymbols.length; i++){
              var sym = objectSymbols[i];
              var desc = descs[sym];
              desc.configurable = desc.enumerable = true;
              if ("value" in desc) desc.writable = true;
              Object.defineProperty(obj, sym, desc);
          }
      }
      return obj;
  }
  function _defineProperty(obj, key, value) {
      if (key in obj) {
          Object.defineProperty(obj, key, {
              value: value,
              enumerable: true,
              configurable: true,
              writable: true
          });
      } else {
          obj[key] = value;
      }
      return obj;
  }
  //@target: ES6
  var s;
  var _obj, _mutatorMap = {};
  var x = (_obj = {}, _defineProperty(_obj, s, 0), _defineProperty(_obj, s, function() {}), _mutatorMap[s] = _mutatorMap[s] || {}, _mutatorMap[s].get = function() {
      return 0;
  }, _defineEnumerableProperties(_obj, _mutatorMap), _obj);
  