System.register(["__unresolved_0", "__unresolved_1", "__unresolved_2", "__unresolved_3", "__unresolved_4", "__unresolved_5", "__unresolved_6"], function (_export, _context) {
  "use strict";

  var _req, _req2, _req3, _req4, _req5, _req6, _loader, _cjsExports, __cjsMetaURL;

  _export("default", void 0);

  return {
    setters: [function (_unresolved_) {
      _req = _unresolved_.__cjsMetaURL;
    }, function (_unresolved_2) {
      _req2 = _unresolved_2.__cjsMetaURL;
    }, function (_unresolved_3) {
      _req3 = _unresolved_3.__cjsMetaURL;
    }, function (_unresolved_4) {
      _req4 = _unresolved_4.__cjsMetaURL;
    }, function (_unresolved_5) {
      _req5 = _unresolved_5.__cjsMetaURL;
    }, function (_unresolved_6) {
      _req6 = _unresolved_6.__cjsMetaURL;
    }, function (_unresolved_7) {
      _loader = _unresolved_7.default;
    }],
    execute: function () {
      _loader.define(_context.meta.url, function (exports, _require, module, __filename, __dirname) {
        let require = _loader.createRequireWithReqMap({
          "../internals/global": _req,
          "../internals/descriptors": _req2,
          "../internals/ie8-dom-define": _req3,
          "../internals/v8-prototype-define-bug": _req4,
          "../internals/an-object": _req5,
          "../internals/to-property-key": _req6
        }, _require);

        (function () {
          var global = require('../internals/global');

          var DESCRIPTORS = require('../internals/descriptors');

          var IE8_DOM_DEFINE = require('../internals/ie8-dom-define');

          var V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');

          var anObject = require('../internals/an-object');

          var toPropertyKey = require('../internals/to-property-key');

          var TypeError = global.TypeError; // eslint-disable-next-line es/no-object-defineproperty -- safe

          var $defineProperty = Object.defineProperty; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe

          var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
          var ENUMERABLE = 'enumerable';
          var CONFIGURABLE = 'configurable';
          var WRITABLE = 'writable'; // `Object.defineProperty` method
          // https://tc39.es/ecma262/#sec-object.defineproperty

          exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {
            anObject(O);
            P = toPropertyKey(P);
            anObject(Attributes);

            if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
              var current = $getOwnPropertyDescriptor(O, P);

              if (current && current[WRITABLE]) {
                O[P] = Attributes.value;
                Attributes = {
                  configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],
                  enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
                  writable: false
                };
              }
            }

            return $defineProperty(O, P, Attributes);
          } : $defineProperty : function defineProperty(O, P, Attributes) {
            anObject(O);
            P = toPropertyKey(P);
            anObject(Attributes);
            if (IE8_DOM_DEFINE) try {
              return $defineProperty(O, P, Attributes);
            } catch (error) {
              /* empty */
            }
            if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
            if ('value' in Attributes) O[P] = Attributes.value;
            return O;
          };
        })();

        _export("default", _cjsExports = module.exports);
      });

      _export("__cjsMetaURL", __cjsMetaURL = _context.meta.url);
    }
  };
});
//# sourceMappingURL=object-define-property.js.map