var _x = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("x");

var _m = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("m");

var _self = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("self");

class Foo {
  static getSelf() {
    return this;
  }

  static test() {
    var _deep$very$o, _deep$very$o2, _deep$very$o3, _babelHelpers$classPr, _babelHelpers$classPr2, _ref, _ref2, _self2, _babelHelpers$classPr3, _babelHelpers$classPr4, _ref3, _ref4, _getSelf, _ref5, _ref6, _babelHelpers$classPr5, _call, _getSelf2, _getSelf3, _fnDeep$very$o, _fnDeep$very$o2, _fnDeep$very$o3, _babelHelpers$classPr6, _babelHelpers$classPr7, _ref7, _ref8, _self3, _babelHelpers$classPr8, _babelHelpers$classPr9, _ref9, _ref10, _getSelf4, _ref11, _ref12, _babelHelpers$classPr10, _call2, _getSelf5, _getSelf6, _babelHelpers$classPr11, _babelHelpers$classPr12, _babelHelpers$classPr13, _babelHelpers$classPr14, _babelHelpers$classPr15, _babelHelpers$classPr16, _babelHelpers$classPr17, _babelHelpers$classPr18, _babelHelpers$classPr19, _babelHelpers$classPr20, _babelHelpers$classPr21, _babelHelpers$classPr22, _babelHelpers$classPr23, _babelHelpers$classPr24, _babelHelpers$classPr25, _babelHelpers$classPr26, _babelHelpers$classPr27, _babelHelpers$classPr28, _ref13, _ref14, _babelHelpers$classPr29, _babelHelpers$classPr30, _babelHelpers$classPr31, _babelHelpers$classPr32, _ref15, _babelHelpers$classPr33, _babelHelpers$classPr34, _ref16, _babelHelpers$classPr35, _babelHelpers$classPr36, _babelHelpers$classPr37, _babelHelpers$classPr38, _ref17, _babelHelpers$classPr39, _babelHelpers$classPr40, _babelHelpers$classPr41, _babelHelpers$classPr42, _ref18, _babelHelpers$classPr43, _babelHelpers$classPr44, _ref19, _babelHelpers$classPr45, _babelHelpers$classPr46, _ref20, _babelHelpers$classPr47, _babelHelpers$classPr48, _babelHelpers$classPr49, _babelHelpers$classPr50, _babelHelpers$classPr51, _babelHelpers$classPr52, _babelHelpers$classPr53, _babelHelpers$classPr54, _babelHelpers$classPr55, _babelHelpers$classPr56, _babelHelpers$classPr57, _babelHelpers$classPr58, _babelHelpers$classPr59, _babelHelpers$classPr60, _ref21, _ref22, _babelHelpers$classPr61, _babelHelpers$classPr62, _babelHelpers$classPr63, _babelHelpers$classPr64, _ref23, _babelHelpers$classPr65, _babelHelpers$classPr66, _ref24, _babelHelpers$classPr67, _babelHelpers$classPr68, _babelHelpers$classPr69, _babelHelpers$classPr70, _ref25, _babelHelpers$classPr71, _babelHelpers$classPr72, _babelHelpers$classPr73, _babelHelpers$classPr74, _ref26, _babelHelpers$classPr75, _babelHelpers$classPr76, _ref27, _babelHelpers$classPr77, _babelHelpers$classPr78, _ref28, _babelHelpers$classPr79, _babelHelpers$classPr80;

    const o = {
      Foo: Foo
    };
    const deep = {
      very: {
        o
      }
    };

    function fn() {
      return o;
    }

    function fnDeep() {
      return deep;
    }

    (_babelHelpers$classPr11 = (_babelHelpers$classPr12 = babelHelpers.classPrivateFieldLooseBase(Foo, _m))[_m]) == null ? void 0 : _babelHelpers$classPr11.call(_babelHelpers$classPr12);
    (_babelHelpers$classPr13 = (_babelHelpers$classPr14 = babelHelpers.classPrivateFieldLooseBase(Foo, _m))[_m]) == null ? void 0 : _babelHelpers$classPr13.call(_babelHelpers$classPr14).toString;
    (_babelHelpers$classPr15 = (_babelHelpers$classPr16 = babelHelpers.classPrivateFieldLooseBase(Foo, _m))[_m]) == null ? void 0 : _babelHelpers$classPr15.call(_babelHelpers$classPr16).toString();
    o === null || o === void 0 ? void 0 : (_babelHelpers$classPr17 = (_babelHelpers$classPr18 = babelHelpers.classPrivateFieldLooseBase(o.Foo, _m))[_m]) == null ? void 0 : _babelHelpers$classPr17.call(_babelHelpers$classPr18);
    o === null || o === void 0 ? void 0 : (_babelHelpers$classPr19 = (_babelHelpers$classPr20 = babelHelpers.classPrivateFieldLooseBase(o.Foo, _m))[_m]) == null ? void 0 : _babelHelpers$classPr19.call(_babelHelpers$classPr20).toString;
    o === null || o === void 0 ? void 0 : (_babelHelpers$classPr21 = (_babelHelpers$classPr22 = babelHelpers.classPrivateFieldLooseBase(o.Foo, _m))[_m]) == null ? void 0 : _babelHelpers$classPr21.call(_babelHelpers$classPr22).toString();
    (_deep$very$o = deep == null ? void 0 : deep.very.o) === null || _deep$very$o === void 0 ? void 0 : (_babelHelpers$classPr23 = (_babelHelpers$classPr24 = babelHelpers.classPrivateFieldLooseBase(_deep$very$o.Foo, _m))[_m]) == null ? void 0 : _babelHelpers$classPr23.call(_babelHelpers$classPr24);
    (_deep$very$o2 = deep == null ? void 0 : deep.very.o) === null || _deep$very$o2 === void 0 ? void 0 : (_babelHelpers$classPr25 = (_babelHelpers$classPr26 = babelHelpers.classPrivateFieldLooseBase(_deep$very$o2.Foo, _m))[_m]) == null ? void 0 : _babelHelpers$classPr25.call(_babelHelpers$classPr26).toString;
    (_deep$very$o3 = deep == null ? void 0 : deep.very.o) === null || _deep$very$o3 === void 0 ? void 0 : (_babelHelpers$classPr27 = (_babelHelpers$classPr28 = babelHelpers.classPrivateFieldLooseBase(_deep$very$o3.Foo, _m))[_m]) == null ? void 0 : _babelHelpers$classPr27.call(_babelHelpers$classPr28).toString();
    (_ref13 = o === null || o === void 0 ? void 0 : babelHelpers.classPrivateFieldLooseBase(_babelHelpers$classPr = babelHelpers.classPrivateFieldLooseBase(o.Foo, _self)[_self], _m)[_m]) == null ? void 0 : _ref13.call(_babelHelpers$classPr);
    (_ref14 = o === null || o === void 0 ? void 0 : babelHelpers.classPrivateFieldLooseBase(_babelHelpers$classPr2 = babelHelpers.classPrivateFieldLooseBase(o.Foo, _self)[_self].self, _m)[_m]) == null ? void 0 : _ref14.call(_babelHelpers$classPr2);
    (_ref = o === null || o === void 0 ? void 0 : babelHelpers.classPrivateFieldLooseBase(o.Foo, _self)[_self]) === null || _ref === void 0 ? void 0 : (_babelHelpers$classPr29 = (_babelHelpers$classPr30 = babelHelpers.classPrivateFieldLooseBase(_ref.self, _m))[_m]) == null ? void 0 : _babelHelpers$classPr29.call(_babelHelpers$classPr30);
    (_ref2 = o === null || o === void 0 ? void 0 : babelHelpers.classPrivateFieldLooseBase(o.Foo, _self)[_self].self) === null || _ref2 === void 0 ? void 0 : (_babelHelpers$classPr31 = (_babelHelpers$classPr32 = babelHelpers.classPrivateFieldLooseBase(_ref2.self, _m))[_m]) == null ? void 0 : _babelHelpers$classPr31.call(_babelHelpers$classPr32);
    (_self2 = (_ref15 = o === null || o === void 0 ? void 0 : babelHelpers.classPrivateFieldLooseBase(o.Foo, _self)[_self]) == null ? void 0 : _ref15.self) === null || _self2 === void 0 ? void 0 : (_babelHelpers$classPr33 = (_babelHelpers$classPr34 = babelHelpers.classPrivateFieldLooseBase(_self2.self, _m))[_m]) == null ? void 0 : _babelHelpers$classPr33.call(_babelHelpers$classPr34);
    (_ref16 = o === null || o === void 0 ? void 0 : babelHelpers.classPrivateFieldLooseBase(_babelHelpers$classPr3 = babelHelpers.classPrivateFieldLooseBase(o.Foo, _self)[_self].getSelf(), _m)[_m]) == null ? void 0 : _ref16.call(_babelHelpers$classPr3);
    (_ref3 = o === null || o === void 0 ? void 0 : (_babelHelpers$classPr4 = babelHelpers.classPrivateFieldLooseBase(o.Foo, _self)[_self]).getSelf) === null || _ref3 === void 0 ? void 0 : (_babelHelpers$classPr35 = (_babelHelpers$classPr36 = babelHelpers.classPrivateFieldLooseBase(_ref3.call(_babelHelpers$classPr4), _m))[_m]) == null ? void 0 : _babelHelpers$classPr35.call(_babelHelpers$classPr36);
    (_ref4 = o === null || o === void 0 ? void 0 : babelHelpers.classPrivateFieldLooseBase(o.Foo, _self)[_self]) === null || _ref4 === void 0 ? void 0 : (_babelHelpers$classPr37 = (_babelHelpers$classPr38 = babelHelpers.classPrivateFieldLooseBase(_ref4.getSelf(), _m))[_m]) == null ? void 0 : _babelHelpers$classPr37.call(_babelHelpers$classPr38);
    (_getSelf = (_ref17 = _ref5 = o === null || o === void 0 ? void 0 : babelHelpers.classPrivateFieldLooseBase(o.Foo, _self)[_self]) == null ? void 0 : _ref17.getSelf) === null || _getSelf === void 0 ? void 0 : (_babelHelpers$classPr39 = (_babelHelpers$classPr40 = babelHelpers.classPrivateFieldLooseBase(_getSelf.call(_ref5), _m))[_m]) == null ? void 0 : _babelHelpers$classPr39.call(_babelHelpers$classPr40);
    (_ref6 = o === null || o === void 0 ? void 0 : babelHelpers.classPrivateFieldLooseBase(o.Foo, _self)[_self].getSelf()) === null || _ref6 === void 0 ? void 0 : (_babelHelpers$classPr41 = (_babelHelpers$classPr42 = babelHelpers.classPrivateFieldLooseBase(_ref6.self, _m))[_m]) == null ? void 0 : _babelHelpers$classPr41.call(_babelHelpers$classPr42);
    (_call = (_ref18 = o === null || o === void 0 ? void 0 : (_babelHelpers$classPr5 = babelHelpers.classPrivateFieldLooseBase(o.Foo, _self)[_self]).getSelf) == null ? void 0 : _ref18.call(_babelHelpers$classPr5)) === null || _call === void 0 ? void 0 : (_babelHelpers$classPr43 = (_babelHelpers$classPr44 = babelHelpers.classPrivateFieldLooseBase(_call.self, _m))[_m]) == null ? void 0 : _babelHelpers$classPr43.call(_babelHelpers$classPr44);
    (_getSelf2 = (_ref19 = o === null || o === void 0 ? void 0 : babelHelpers.classPrivateFieldLooseBase(o.Foo, _self)[_self]) == null ? void 0 : _ref19.getSelf()) === null || _getSelf2 === void 0 ? void 0 : (_babelHelpers$classPr45 = (_babelHelpers$classPr46 = babelHelpers.classPrivateFieldLooseBase(_getSelf2.self, _m))[_m]) == null ? void 0 : _babelHelpers$classPr45.call(_babelHelpers$classPr46);
    (_getSelf3 = (_ref20 = o === null || o === void 0 ? void 0 : babelHelpers.classPrivateFieldLooseBase(o.Foo, _self)[_self]) == null ? void 0 : _ref20.getSelf == null ? void 0 : _ref20.getSelf()) === null || _getSelf3 === void 0 ? void 0 : (_babelHelpers$classPr47 = (_babelHelpers$classPr48 = babelHelpers.classPrivateFieldLooseBase(_getSelf3.self, _m))[_m]) == null ? void 0 : _babelHelpers$classPr47.call(_babelHelpers$classPr48);
    fn === null || fn === void 0 ? void 0 : (_babelHelpers$classPr49 = (_babelHelpers$classPr50 = babelHelpers.classPrivateFieldLooseBase(fn().Foo, _m))[_m]) == null ? void 0 : _babelHelpers$classPr49.call(_babelHelpers$classPr50);
    fn === null || fn === void 0 ? void 0 : (_babelHelpers$classPr51 = (_babelHelpers$classPr52 = babelHelpers.classPrivateFieldLooseBase(fn().Foo, _m))[_m]) == null ? void 0 : _babelHelpers$classPr51.call(_babelHelpers$classPr52).toString;
    fn === null || fn === void 0 ? void 0 : (_babelHelpers$classPr53 = (_babelHelpers$classPr54 = babelHelpers.classPrivateFieldLooseBase(fn().Foo, _m))[_m]) == null ? void 0 : _babelHelpers$classPr53.call(_babelHelpers$classPr54).toString();
    (_fnDeep$very$o = fnDeep == null ? void 0 : fnDeep().very.o) === null || _fnDeep$very$o === void 0 ? void 0 : (_babelHelpers$classPr55 = (_babelHelpers$classPr56 = babelHelpers.classPrivateFieldLooseBase(_fnDeep$very$o.Foo, _m))[_m]) == null ? void 0 : _babelHelpers$classPr55.call(_babelHelpers$classPr56);
    (_fnDeep$very$o2 = fnDeep == null ? void 0 : fnDeep().very.o) === null || _fnDeep$very$o2 === void 0 ? void 0 : (_babelHelpers$classPr57 = (_babelHelpers$classPr58 = babelHelpers.classPrivateFieldLooseBase(_fnDeep$very$o2.Foo, _m))[_m]) == null ? void 0 : _babelHelpers$classPr57.call(_babelHelpers$classPr58).toString;
    (_fnDeep$very$o3 = fnDeep == null ? void 0 : fnDeep().very.o) === null || _fnDeep$very$o3 === void 0 ? void 0 : (_babelHelpers$classPr59 = (_babelHelpers$classPr60 = babelHelpers.classPrivateFieldLooseBase(_fnDeep$very$o3.Foo, _m))[_m]) == null ? void 0 : _babelHelpers$classPr59.call(_babelHelpers$classPr60).toString();
    (_ref21 = fn === null || fn === void 0 ? void 0 : babelHelpers.classPrivateFieldLooseBase(_babelHelpers$classPr6 = babelHelpers.classPrivateFieldLooseBase(fn().Foo, _self)[_self], _m)[_m]) == null ? void 0 : _ref21.call(_babelHelpers$classPr6);
    (_ref22 = fn === null || fn === void 0 ? void 0 : babelHelpers.classPrivateFieldLooseBase(_babelHelpers$classPr7 = babelHelpers.classPrivateFieldLooseBase(fn().Foo, _self)[_self].self, _m)[_m]) == null ? void 0 : _ref22.call(_babelHelpers$classPr7);
    (_ref7 = fn === null || fn === void 0 ? void 0 : babelHelpers.classPrivateFieldLooseBase(fn().Foo, _self)[_self]) === null || _ref7 === void 0 ? void 0 : (_babelHelpers$classPr61 = (_babelHelpers$classPr62 = babelHelpers.classPrivateFieldLooseBase(_ref7.self, _m))[_m]) == null ? void 0 : _babelHelpers$classPr61.call(_babelHelpers$classPr62);
    (_ref8 = fn === null || fn === void 0 ? void 0 : babelHelpers.classPrivateFieldLooseBase(fn().Foo, _self)[_self].self) === null || _ref8 === void 0 ? void 0 : (_babelHelpers$classPr63 = (_babelHelpers$classPr64 = babelHelpers.classPrivateFieldLooseBase(_ref8.self, _m))[_m]) == null ? void 0 : _babelHelpers$classPr63.call(_babelHelpers$classPr64);
    (_self3 = (_ref23 = fn === null || fn === void 0 ? void 0 : babelHelpers.classPrivateFieldLooseBase(fn().Foo, _self)[_self]) == null ? void 0 : _ref23.self) === null || _self3 === void 0 ? void 0 : (_babelHelpers$classPr65 = (_babelHelpers$classPr66 = babelHelpers.classPrivateFieldLooseBase(_self3.self, _m))[_m]) == null ? void 0 : _babelHelpers$classPr65.call(_babelHelpers$classPr66);
    (_ref24 = fn === null || fn === void 0 ? void 0 : babelHelpers.classPrivateFieldLooseBase(_babelHelpers$classPr8 = babelHelpers.classPrivateFieldLooseBase(fn().Foo, _self)[_self].getSelf(), _m)[_m]) == null ? void 0 : _ref24.call(_babelHelpers$classPr8);
    (_ref9 = fn === null || fn === void 0 ? void 0 : (_babelHelpers$classPr9 = babelHelpers.classPrivateFieldLooseBase(fn().Foo, _self)[_self]).getSelf) === null || _ref9 === void 0 ? void 0 : (_babelHelpers$classPr67 = (_babelHelpers$classPr68 = babelHelpers.classPrivateFieldLooseBase(_ref9.call(_babelHelpers$classPr9), _m))[_m]) == null ? void 0 : _babelHelpers$classPr67.call(_babelHelpers$classPr68);
    (_ref10 = fn === null || fn === void 0 ? void 0 : babelHelpers.classPrivateFieldLooseBase(fn().Foo, _self)[_self]) === null || _ref10 === void 0 ? void 0 : (_babelHelpers$classPr69 = (_babelHelpers$classPr70 = babelHelpers.classPrivateFieldLooseBase(_ref10.getSelf(), _m))[_m]) == null ? void 0 : _babelHelpers$classPr69.call(_babelHelpers$classPr70);
    (_getSelf4 = (_ref25 = _ref11 = fn === null || fn === void 0 ? void 0 : babelHelpers.classPrivateFieldLooseBase(fn().Foo, _self)[_self]) == null ? void 0 : _ref25.getSelf) === null || _getSelf4 === void 0 ? void 0 : (_babelHelpers$classPr71 = (_babelHelpers$classPr72 = babelHelpers.classPrivateFieldLooseBase(_getSelf4.call(_ref11), _m))[_m]) == null ? void 0 : _babelHelpers$classPr71.call(_babelHelpers$classPr72);
    (_ref12 = fn === null || fn === void 0 ? void 0 : babelHelpers.classPrivateFieldLooseBase(fn().Foo, _self)[_self].getSelf()) === null || _ref12 === void 0 ? void 0 : (_babelHelpers$classPr73 = (_babelHelpers$classPr74 = babelHelpers.classPrivateFieldLooseBase(_ref12.self, _m))[_m]) == null ? void 0 : _babelHelpers$classPr73.call(_babelHelpers$classPr74);
    (_call2 = (_ref26 = fn === null || fn === void 0 ? void 0 : (_babelHelpers$classPr10 = babelHelpers.classPrivateFieldLooseBase(fn().Foo, _self)[_self]).getSelf) == null ? void 0 : _ref26.call(_babelHelpers$classPr10)) === null || _call2 === void 0 ? void 0 : (_babelHelpers$classPr75 = (_babelHelpers$classPr76 = babelHelpers.classPrivateFieldLooseBase(_call2.self, _m))[_m]) == null ? void 0 : _babelHelpers$classPr75.call(_babelHelpers$classPr76);
    (_getSelf5 = (_ref27 = fn === null || fn === void 0 ? void 0 : babelHelpers.classPrivateFieldLooseBase(fn().Foo, _self)[_self]) == null ? void 0 : _ref27.getSelf()) === null || _getSelf5 === void 0 ? void 0 : (_babelHelpers$classPr77 = (_babelHelpers$classPr78 = babelHelpers.classPrivateFieldLooseBase(_getSelf5.self, _m))[_m]) == null ? void 0 : _babelHelpers$classPr77.call(_babelHelpers$classPr78);
    (_getSelf6 = (_ref28 = fn === null || fn === void 0 ? void 0 : babelHelpers.classPrivateFieldLooseBase(fn().Foo, _self)[_self]) == null ? void 0 : _ref28.getSelf == null ? void 0 : _ref28.getSelf()) === null || _getSelf6 === void 0 ? void 0 : (_babelHelpers$classPr79 = (_babelHelpers$classPr80 = babelHelpers.classPrivateFieldLooseBase(_getSelf6.self, _m))[_m]) == null ? void 0 : _babelHelpers$classPr79.call(_babelHelpers$classPr80);
  }

}

Object.defineProperty(Foo, _x, {
  writable: true,
  value: 1
});
Object.defineProperty(Foo, _m, {
  writable: true,
  value: function () {
    return babelHelpers.classPrivateFieldLooseBase(this, _x)[_x];
  }
});
Object.defineProperty(Foo, _self, {
  writable: true,
  value: Foo
});
Foo.self = Foo;
Foo.test();
