code: function Ya(Kd){return function(){// Use a `switch` statement to work with class constructors.
  // See http://ecma-international.org/ecma-262/6.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist
  // for more details.
  var qd=arguments;switch(qd.length){case 0:return new Kd;case 1:return new Kd(qd[0]);case 2:return new Kd(qd[0],qd[1]);case 3:return new Kd(qd[0],qd[1],qd[2]);case 4:return new Kd(qd[0],qd[1],qd[2],qd[3]);case 5:return new Kd(qd[0],qd[1],qd[2],qd[3],qd[4]);case 6:return new Kd(qd[0],qd[1],qd[2],qd[3],qd[4],qd[5]);case 7:return new Kd(qd[0],qd[1],qd[2],qd[3],qd[4],qd[5],qd[6]);}var Vd=ss(Kd.prototype),Gd=Kd.apply(Vd,qd);// Mimic the constructor's `return` behavior.
  // See https://es5.github.io/#x13.2.2 for more details.
  return En(Gd)?Gd:Vd}}
docs: Creates a function that produces an instance of `Ctor` regardless of
  whether it was invoked as part of a `new` expression or by `call` or `apply`.
  
  @private
  @param {Function} Ctor The constructor to wrap.
  @returns {Function} Returns the new wrapped function.