VimUnDo)kYS%̻y0yD{CS1L vMYj_M5_M5_M}5_M75_vM7 console.log(var);5_vM console.log('jo');5_vM 5_ vMvar oop = exports;5_   vME// Enhanced version of util.inherits that also inherits class methods5_ VM  }' childClass[key] = parentClass[key]; for (var key in parentClass) {5_ VM oop.inherits = function() {5_ VM };5_  VM 5_ VM  2oop.inherits = function(childClass, parentClass) {5_VM  3oop.inherits = function(childObject, parentClass) {5_$VM ) util.inherits(childClass, parentClass);5_$VM     5_vM   console.log(var);5_vM   console.log(childInstance);5_vM  ' console.log(childInstance.prototype);5_&vM    5_'vM % / var childConstructor = childInstance.console;5_vM + ) console.log(childInstance.constructor);5_vM / 3 var childConstructor = childInstance.constructor;5_vM 2 console.log();5_vM 2+ //util.inherits(childClass, parentClass);5_vM V    5_vM W   console.log(var);5_ M<; 5_ M<< 5_  Mv>Mv>Mv>Mv>Mv>Mv>Mv>Mv>Mv>Mv>Mv>Mv>M<|  5_,.-6>v>M<~  Jexports.inheritPrototype = function(childConstructor, parentConstructor) {5_-/.6>v>M<  5_.0/ 6 >v>M<}5_/10 6 >v>M<oop.mixin = function() {5_021 6 >v>M<oop.mixin = function(child) {5_132 6 >v>M<0oop.mixin = function(child, parentConstructor) {5_243 6 >v>M<5_3542 6 >v>M<5_465 6 >v>M<5_576 6 >v>M< childInstance5_687 6 >v>M< childInstance = 5_798 6 >v>M< 5_8:9 6 >v>M<  args.slice(1).5_9;: 6 >v>M<   .forEach(f  .slice(1).5_:<; 6>v>M<  }5_;=< 6>v>M<  5_<>= 6>v>M< 5_=?> 6>v>M<  .forEach(function() {5_>@?"6>v>M<8oop.mixin = function(childInstance, parentConstructor) {5_?A@ 6>v>M< 5_@BA6>v>M<%oop.mixin = function(childInstance) {5_ACB6>v>M<$oop.mixin = function(child, /* */) {5_BDC 6>v>M<  childConstructor5_CED -6>v>M<  - parentConstructor.call(childConstructor5_DFE6>v>M='v>M=';oop.mixin = function(child /* parentConstructor1, ... */) {5_FHG6>v>M=(:oop.mixin = function(child/* parentConstructor1, ... */) {5_GIH6>v>M=* ;oop.mixin = function(child /* parentConstructor1, ... */) {5_HJI   ,v,M=4  / parentConstructor.call(childConstructor);5_IKJ  ,v,M=H 5_JLK  ,v,M=I5_KML  ,v,M=J 5_LNM  ,v,M=K5_MON   ,v,M=L   5_NPO   ,v,M=L 5_OQP   ,v,M=P  for (var pr5_PRQ   ,v,M=P   5_QSR .  ,v,M=[ D var parentPrototype = parentConstructor.constructor.prototype;5_RTS .  ,v,M=[ 9 var parentPrototype = parentConstructor..prototype;5_SUT .  ,v,M=\   5_TVU ,v,M=e 5_UWV +,v,M=   5_VXW ,v,M>4 child[property] = parentPrototype[property];5_WYX ,v,M>F 5_XZY ,v,M>G 5_Y[Z  VM>H  value: true, writable: false, enumerable: true, configurable: true5_Z\[  VM>I  value: true, writable: false, enumerable: true, configurable: true5_[]\  VM>I  value: true, writable: false, enumerable: true, configurable: true5_\^]  VM>I  value: true, writable: false, enumerable: true, configurable: true5_]_^  VM>U    5_^`_ VM>U !5__g` VM>] ! var description =- 5_`hag VM>z 3 var description =- getOwnPropertyDescriptor5_gih VM>{ 5_hji  VM>|  value: true,5_ikj VM>  writable: false,5_jlk VM> enumerable: true,5_kol VM>6 //child[property] = parentPrototype[property];5_lpmo VM?var util = require('util');5_oqp $ VMAL   5_prqVMAP!oop._checkConflict = f 5_qsrVMA[#}5_rtsVMA\#!oop._checkConflict = function() {5_svtVMAc#0oop._checkConflict = function(child, property) {5_twuvVMAo#3oop._checkForConflict = function(child, property) {5_vxw VMAu #5_wyx VMAz # oop._assertNoConflict();5_xzyVMA#5_y{zVMA%5_z|{VMA& %5_{}|VMA'5_|~}VMA' 5_}~VMA' throw new Error();5_~VMA' throw new Error('');5_(VMA'* throw new Error('oop.mixin conflict: ');5_-VMA'/ throw new Error('oop.mixin conflict: ' + '');5_7VMA': throw new Error('oop.mixin conflict: ' + property + '');5_VMA(( '5_vMA( console.log(var);5_  vMA / oop._assertNoConflict(child, property);5_ vMBG)(5_ vMBoop.5_ vMB5_ vMC)(5_ vMC**oop._safeParentConstructo5_ vMC,}5_ vMC!$ parentConstructor.call(child);5_ vMC! - ,5_  vMC8. -5_ vMC</ .5_, vMCD//oop._callParentConstructorSafely = function() {5_' vMCG/- oop._callParentConstructorSafely(true);5_ vMCY/ for (var key in 5_  vMC]1 for (var key in child) {5_ vMC^15_ vMCr!2  15_1 vMCu34oop._callParentConstructorSafely = function(child) {5_  vMCw!35_! vMC|!!#4!#35_" vMC!#4 5_" vMC!%4 for (var key in child5_# vMC"$65_"  vMC!#6 for (var key in original) {5_# vMC"&6 if (child[5_$ vMC#%85_% vMC%(9 %'85_' vMC&(: throw new Error();5_' vMC&(: throw new Error('');5_'* vMC&(:, throw new Error('oop mixin conflict: ');5_') vMC&(:8 throw new Error('oop mixin conflict: ' + property );5_' vMC&(:9 throw new Error('oop mixin conflict: C' + property );5_1 vMC:Goop._callParentConstructorSafely = function(child ,parentConstructor) {5_2 vMC:Foop._callParentConstructorSafely = function(child,parentConstructor) {5_' vMC&(; &(:5_'* vMC')< ');5_(, vMC')<, var parentName = parentConstructor.namel5_) vMC(*<4 throw new Error('Could not mixin ' + property );5_) vMC(*<3 throw new Error('Could ot mixin ' + property );5_)' vMC(*<5 throw new Error('oop.mixin error: ' + property );5_)' vMC(*<) throw new Error('oop.mixin error: ');5_)8 vMC(*<; throw new Error('oop.mixin error: ' + parentName + '');5_)V vMC(*<X throw new Error('oop.mixin error: ' + parentName + ' tried to overwrite property ');5_) vMC(+<[ throw new Error('oop.mixin error: ' + parentName + ' tried to overwrite property ' + );5_*& vMC),=M 'oop.mixin error: ' + parentName + ' tried to overwrite property ' + );5_+ vMC*,>, + ' tried to overwrite property ' + );5_+ vMC*,>+ ' tried to overwrite property ' + );5_*& vMC)+>& 'oop.mixin error: ' + parentName5_+( vMC*.>* ' tried to overwrite property ' + );5_, vMC+-@ 5_, vMC+-@ ''5_,  vMD+-@ ' on class '5_,  vMD+-@ ' on '5_,  vMD+-@ ' on '5_, vMD+, ' on ' + childName5_' vMD&'+ var childName = child.constructor.name;5_*2 vMD")+>2 ' tried to overwrite property ' + property +5_(((vMD.')> throw new Error(5_+((vMD0+->5_+((vMD1*,? );5_+((vMD2+.@ +-?5_.((vMD9#-/A5_-- -vMDJ$,.A' error.captureStackTrace(oop.mixin);5_-- -vMDa%,.A' Error.captureStackTrace(oop.mixin);5_8'- -vMDs79AS throw new Error('oop.mixin conflict: ' + property + ' already exists on child.');5_8(- -vMDv&79AY throw new Error('oop.mixin conflict: class ' + property + ' already exists on child.');5_)- -vMD~'(*A( 'oop.mixin error: ' + parentName +5_)- -vMD(*A. 'oop.mixin error: Class ' + parentName +5_)/- -vMD(*A/ 'oop.mixin error: Class "' + parentName +5_*- -vMD()+A0 ' tried to overwrite property ' + property5_*%- -vMD)+A1 '" tried to overwrite property ' + property5_*2- -vMD)+A2 '" tried to overwrite property "' + property5_*6- -vMD))+A7 '" tried to overwrite property "' + property + ''5_*7- -vMD*)+A8 '" tried to overwrite property "' + property + '"'5_)- -vMD(*A/ 'oop.mixin error: Class "' + parentName +5_)- -vMD(*A1 'oop.mixin() error: Class "' + parentName +5_)- -vMD+(*A0 'oop.mixin()error: Class "' + parentName +5_- -vMEgCoop._defaultMixin = fBA5_1 1vMErE}5_VMEt E5_VMEtH5_VMEvI oop._defaultMixin = function() {5_ VMEx"%K!#oop._softMixin = f #J "I5_$VME~#%M}5_VMEO oop.mixin = fNM5_ VMEQ}5_ VMEQ?vMHvG 6 var parentPrototype = parentConstructor.prototype;+ for (var property in parentPrototype) {/ //oop._assertNoConflict(child, property);. Object.defineProperty(child, property, {) value: parentPrototype[property], writable: true, enumerable: false, configurable: true }); });5_?A@vMHz- //oop._assertNoConflict(child, property);5_@BAvMHz5_ACBvMH~E4 var parentPrototype = parentConstructor.prototype;5_BDCvMHE. var prototype = parentConstructor.prototype;5_CEDvMHE) for (var property in parentPrototype) {5_DFE vMHE' value: parentPrototype[property],5_EGFvMH# var prototype = Parent.prototype;5_FHGvMHD# for (var property in prototype) {5_GIH vMHD! value: prototype[property],5_HJIvMHE D5_IKJ vMI& G  F5_JMK vMI) H  G5_KNLM vMI7  for (var5_MON vMI7 H  G5_NPOVMI@0 });% oop._forceMixin(child, Parent); .forEach(function(Parent) { .call(args, 1) .slice  Array.prototype5_OQPVMIcoop.mixin = function() {5_PRQ VMIc& oop._mixin(function(child, Parent) {5_QSR VMIc }5_RTS VMIc }, arguments);5_SUT VMIc};5_TVU VMId15_UWV VMIo2D });5_VXW VMItDD5_WYXvMIt3D console.log(var);5_XZY vMI|4D while (i--) {5_Y[ZvMI5D while (i-- > 0) {5_Z\[ vMI6D while (i-- > 1) {5_[]\ vMID var i = arguments.length;5_\^]vMI7D" while (i++ < arguments.length) {5_]_^ vMID" while (i++ < arguments.length) {5_^`_ vMID! while (i+ < arguments.length) {5__b` vMI8D while (i < arguments.length) {5_`cabvMI var i = 0;5_bdcvMIC" while (++i < arguments.length) {5_cfdvMIC$ for var (++i < arguments.length) {5_dgefvMIC for (++i < arguments.length) {5_fhgvMIC for (+i < arguments.length) {5_gih vMIC for (i < arguments.length) {5_hji vMIC for (i < 0) {5_ikj vMIC for (i 0) {5_jlk vMIC for (i = 0) {5_kmlvMI console.log(i);5_lnmvMIC B5_monvMI //Array.prototype5_npovMI //.slice5_oqpvMI //.call(args, 1)5_prqvMI! //.forEach(function(Parent) {5_qsrvMI' //oop._forceMixin(child, Parent);5_rtsvMI9 //});5_sutvMJ?oop.strictMixin = f>=5_tvuvMJ"Aoop.strictMixin = function() {5_uwvvMJ(Coop._copyProperty = fBA5_vxwvMJ/E}5_wxvMJ1E oop._copyProperty = function() {5_xy  VMJW * for (var property in Parent.prototype) {, Object.defineProperty(child, property, {( value: Parent.prototype[property], writable: true, enumerable: false, configurable: true }); Parent.call(child); };5_  VMJW ;5_ VMJY Parent.call(child);5_  VMJ[ D5_  VMJ\ E Parent.call(child);5_  VMJ] F  E5_  VMJb F oop._copyMethods(5_  VMJc F oop.copyMethods(5_ VMJl Foop._copyMethod = function() {5_ VMJm Foop.copyMethod = function() {5_  VMJ F! oop.copyMethods(child, Parent);5_  VMJ F" oop.mixinMethods(child, Parent);5_ VMJ Foop.copyMethods = function() {5_ VMJ F,oop.copyMethods = function(child, methods) {5_  VMJ F, oop.mixinMethods(child, Parent.prototype);5_ " VMJ F. oop.mixinPrototype(child, Parent.prototype);5_  VMJ F$ oop.mixinPrototype(child, Parent);5_# VMJ F-oop.copyMethods = function(object, methods) {5_ VMJ F,oop.copyMethods = function(object, Parent) {5_ VMJ5_ VMJ:5_ V MJD5_ V MJ5_ V MJ E+oop.copyMethods = function(child, Parent) {5_* V MK E-oop.copyPrototype = function(child, Parent) {5_/ V MKF E5_ V MKG5_  V MK H G5_ V MK J5_ V MKJ backup = 5_ V MK var backup;5_ V MKI var backup = 5_ V MKI var backup = oop._backup();5_ V MKJ I5_ V MK!K$ var backup = oop._backup(child);5_ V MK$K& var original = oop._backup(child);5_ V MK)K5_ V MK8;K" oop._assertUnmodified(original);5_ V MKAL K5_ V MKD) oop._assertUnmodified(child, original);5_ V MKEM5_ V MKE5_ V MKEM) oop._assertUnmodified(child, original);5_  V MKa }$ var original = oop._copy(child); if (safe) {5_ VMKd }+ oop._assertUnmodified(child, original); if (safe) {5_" VMKe!$N !#M5_" VMKf!#O5_" VMKj!" 5_" VMKk!"5_ VMKn //if (safe) {5_ VMKn& //var original = oop._copy(child);5_ VMKn //}5_ VMKo5_ VMKp5_ VMKp //if (safe) {5_ VMKq- //oop._assertUnmodified(child, original);5_ VMKq //}5_ VMKrF E5_ VMKt var org5_ VMKuF E5_! VMKF5_ VMKH G5_ VMKH: oop._assertUnmodified(oop.strictMixin, original, child);5_ VMKH7 oop._assertUnmodified(.strictMixin, original, child);5_ VMKH6 oop._assertUnmodified(strictMixin, original, child);5_ VMKH+ oop._assertUnmodified(, original, child);5_' VMKH) oop._assertUnmodified(original, child);5_ VMK!$J " oop._copy = f"I!H5_# VMK"$L}5_&&)VMK%& var original = {}; for (var property in child) {) original[property] = child[property]; }5_#&&VMK"'H5_"**VMK!"5_"))VMK!#K var original = {};5_$))VMK#%K) original[property] = child[property];5_!))VMK "Koop._copy = function() {5_#))VMK"$K for (var property in child) {5_$))VMK#%K% copy[property] = child[property];5_%))VMK<%'L %'K5_***VMK)*5_***VMK)* parentConstructor.call(child);5_***VMK)*5_)**VMK(*IGoop._callParentConstructorSafely = function(child, parentConstructor) {5_)&**VMK(*I24H. Error.captureStackTrace(error, oop.mixin);5_**VMM)Hoop.strictMixin = function() {5_**VMM,H+oop.strictMixin = function(child, Parent) {5_**VMM/Joop.strictMixin = fIH5_..VMM3L}5_VMM?L5_VMM?5_-v-MME?Noop.strictMixin = function() {5_   vMMP@!N! oop.copyMethods(child, Parent);5_   vMMfA N! oop.copyMethods(child, Parent);5_vMMpBN) oop._forceMixin(child, arguments[i]);5_ ""VMM!N5_!##VMM!#O5_ $$VMME!P" var original = oop._copy(child);5_ !$$VMMF!P, var original = oop._copy(child.prototype);5_ $$VMN!"Q "Q  "P5_!!!vMNG "Q console.log(var);5_ !!vMN!"R "R  "Q5_!!!vMN "R console.log(var);5_!!!vMN  "R& console.log(child.console.property);5_!!!vMN !' console.log(child.console.prototype);5_ !!vMN!Q8 var original = oop._copy(child.constructor.prototype);5_!!!vMNH ! console.log(original);5_"!!vMN!"B oop._assertUnmodified(child, original, Parent, oop.strictMixin);5_ !!vMN " var original = oop._copy(child);5_  !  vMN!N# oop.copyPrototype(child, Parent);5_  *  vMN N3oop.copyPrototype = function(child, Parent, safe) {5_  *VMO N-oop.copyPrototype = function(child, Parent) {5_,VMO( N;oop.copyPrototype = function(child, Parent, safe, strict) {5_,VMO+ N;oop.copyPrototype = function(child, Parent, soft, strict) {5_*VMO. N3oop.copyPrototype = function(child, Parent, mode) {5_VMOH* for (var property in Parent.prototype) {, Object.defineProperty(child, property, {( value: Parent.prototype[property], writable: true, enumerable: false, configurable: true }); };5_  V MOJ E # oop.copyPrototype(child, Parent);5_ V MOLM5_ V MON-oop.copyPrototype = function(child, Parent) {5_ V MON};5_ V MON5_ V MOXMoop._copyMethod = fLK5_ V MO\O}5_ V MO_Ooop._copyMethod = function() {5_  V MOhO3oop._copyMethod = function(child, Parent, method) {5_   V MOoO5oop._copyProperty = function(child, Parent, method) {5_!  VMOt , Object.defineProperty(child, property, {( value: Parent.prototype[property], writable: true, enumerable: false, configurable: true });5_ "!!  VMOvI5_!#"VMOyO, Object.defineProperty(child, property, {( value: Parent.prototype[property], writable: true, enumerable: false, configurable: true });5_"$#VMOz5_#'$5VMON>oop._copyPrototypeProperty = function(child, Parent, method) {5_$(%' )VMO O  N5_')( VMO O! oop._copyPrototypeProperty();5_(*)!!!VMO $N !) oop.copyPrototype(child, Parent, true);5_)+*!!#VMO!$R !#Q5_*,+"!%VMO!%S5_+-,#!'VMOI"$U5_,.-,=>VMO.1W-/oop._error = f,/V,.U5_-/.0ABVMO/1Y}5_.0//ABVMO.0Y5_/10.ABVMO-/Yoop._error = function() {5_021.ABVMOJ-/Y(oop._error = function(message, callee) {5_132...(v(MO-/Y,oop._error = function(message, stackEntry) {5_243///VMO.5X./ var5_354//3VMP.4^ var error = new Error(, 'oop.mixin(): Class "' + Parent.name +9 '" tried to overwrite property "' + property + '".' );+ Error.captureStackTrace(error, callee);5_4650/3VMP /0* 'oop.mixin(): Class "' + Parent.name +5_5760/2VMP /07 '" tried to overwrite property "' + property + '".'5_687//1VMP .0\ var error = new Error( );5_798//0VMP .0[ var error = new Error();5_8:91/0VMP 02[5_9;:1/0VMP01 return 5_:<;0/0VMPK02[ 02Z5_;=<0!0!0&v&MP/1[) Error.captureStackTrace(error, callee);5_<>=#0!0&v&MP"# throw new Error();5_=?>"/!/&v&MP"$[ "$Z5_>@?#0!0&v&MP"$[ oop.error();5_?A@#0!0&v&MP "$[ oop.error('');5_@BA#+0!0&v&MP)"$[- oop.error('oop.strictMixin(): Class ');5_ACB#=0!0&v&MP2"$[@ oop.error('oop.strictMixin(): Class ' + Parent.name + '');5_BDC#0!0&v&MP7"%[I oop.error('oop.strictMixin(): Class ' + Parent.name + ' tried to');5_CED$>1!1&v&MP9#%\A 'oop.strictMixin(): Class ' + Parent.name + ' tried to');5_DFE$J1!1&v&MP<#&\L 'oop.strictMixin(): Class ' + Parent.name + ' tried to overwrite ');5_EGF$J2!2&v&MP>#&]J 'oop.strictMixin(): Class ' + Parent.name + ' tried to overwrite '5_FHG% 3!3&v&MPA$&^ ''5_GIH%3!3&v&MPG$&^ 'prototype property '5_HJI%,3!3&v&MPJL$&^- 'prototype property ' + property + ''5_IKJ# 3!3&v&MPQM"$^ oop.error(5_JLK$"3!3&v&MPX#%^L 'oop.strictMixin(): Class ' + Parent.name + ' tried to overwrite ' +5_KML$63!3&v&MP[#%^M 'oop.strictMixin(): Class "' + Parent.name + ' tried to overwrite ' +5_LNM%3!3&v&MPc$&^. 'prototype property ' + property + '.'5_MON%-3!3&v&MPeN$&^/ 'prototype property "' + property + '.'5_NPO$63!3&v&MPkO#%^N 'oop.strictMixin(): Class "' + Parent.name + '' tried to overwrite ' +5_OQP"3!3&v&MP!#^( if (child[property] !== undefined) {5_PRQ"3!3&v&MP!#^' if (child[property] == undefined) {5_QSR#3!3&v&MP"$^5_RTS#4!4&v&MP"$_8 oop._copyPrototypeProperty(child, Parent, property);5_SUT$$'VMP#$ oop._error(N 'oop.strictMixin(): Class "' + Parent.name + '" tried to overwrite ' +0 'prototype property "' + property + '".' );5_TVU&$$VMP&+[5_UWV&$$VMP%&8 oop._copyPrototypeProperty(child, Parent, property);5_VXW&&)VMP%*^ oop._error(N 'oop.strictMixin(): Class "' + Parent.name + '" tried to overwrite ' +0 'prototype property "' + property + '".' );5_WYX##&)VMPP#%_ #%^5_XZY0'*VMP/1_}5_Y[Z0'*VMP25a13oop._strictCopyPrototype = f03`02_5_Z\[4'*VMP35c}5_[]\!! +VMP ! * for (var property in Parent.prototype) {( if (child[property] === undefined) {: oop._copyPrototypeProperty(child, Parent, property); continue; } oop._error(L 'oop.strictMixin(): Class "' + Parent.name + '" tried to overwrite ' +. 'prototype property "' + property + '".' ); };5_\^]' ! !VMP'3X5_]_^ ! !VMP "d  "c5_^`_($" "VMP')d'oop._strictCopyPrototype = function() {5__a`4" "VMPQ345_`ba!" "VMQ !#c5_acb"# #VMQ !#d* oop._strictCopyPrototype(child, Parent);5_bdc"# #VMQ!#d& oop._strictCallConstructor( Parent);5_ced$$!&#V#MQ#$" var original = oop._copy(child); Parent.call(child);B oop._assertUnmodified(child, original, Parent, oop.strictMixin);5_dfe#$!$#V#MQ"#5_egf1#!##V#MQ36b24oop._strictCallConstructor = f14a13`5_fhg5#!##V#MQ"46d}5_gih3&#!##V#MQ#24d)oop._strictCallConstructor = function() {5_hji4#!##V#MQ&48d5_ikj4#!##V#MQ&345_jlk@@ D V MQ)?@ var copy = {}; for (var property in object) {& copy[property] = object[property]; } return copy;5_kml444VMQ,39`34" var original = oop._copy(child);5_lnm748 VMQ.79e5_mon949 VMQ/89 return copy;5_npo449 VMQ235e var copy = {};5_oqp649 VMQ557e& copy[property] = object[property];5_prq649 VMQ757e* original[property] = object[property];5_qsr949 VMQ<9;e5_rtsD49 VMQACDoop._copy = function(object) {5_sutD49 VMQACD};5_txuD49 VMQBCD5_uzwx;;;VMQV:<b:;B oop._assertUnmodified(child, original, Parent, oop.strictMixin);5_x{yz;;4;4V4MQ_:Ib:;B oop._assertUnmodified(child, original, Parent, oop.strictMixin);5_z|{@;HV4MQc?@ var error = new Error(5_{}|@;GV4MQc?@, 'oop.mixin(): Class "' + Parent.name +5_|~}@;FV4MQd?@9 '" tried to overwrite property "' + property + '".'5_}~@;EV4MQd?@ );5_~@;DV4MQd?@+ Error.captureStackTrace(error, callee);5_@;CV4MQd?@5_@;BV4MQe?@ throw error;5_@;AV4MQf?Aj ?Ai5_@RSVMQy?Bj?Aj oop._error();5_@@AVMQ{?@, 'oop.mixin(): Class "' + Parent.name +9 '" tried to overwrite property "' + property + '".'5_@@@VMQ|@Cj5_@@@VMQ}?Al oop._error();5_B@@VMQ~BDm BDl5_C@@VMQBDm );5_N@@VMQMNDoop._assertUnmodified = function(object, original, Parent, callee) {5_N@@VMQMN" for (var property in original) {5_N@@VMQMN2 if (object[property] === original[property]) {5_N@@VMQMN continue;5_N@@VMQMN }5_N@@VMQMN5_N@@VMQMN var error = new Error(5_N@@VMQMN, 'oop.mixin(): Class "' + Parent.name +5_N@@VMQMN9 '" tried to overwrite property "' + property + '".'5_N@@VMQMN );5_N@@VMQMN+ Error.captureStackTrace(error, callee);5_N@@VMQMN5_N@@VMQMN throw error;5_N@@VMQMN }5_N@@VMQMN};5_N@@VMQMN5_N@@VMQMN3oop._assertNoConflict = function(child, property) {5_N@@VMQMN console.log(child, property);5_N@@VMQMN& if (child[property] === undefined) {5_N@@VMQMN return;5_N@@VMQMN }5_N@@VMQMN5_N@@VMQMNY throw new Error('oop.mixin conflict: Class ' + property + ' already exists on child.');5_N@@VMQRMN};5_5@@VMQ46U for (var property in object) {5_<@@VMQS;=U2 if (object[property] === original[property]) {5_/@@VMQU.0U );5_C@@VMQBDU );5_C@@VMQVBDU oop.strictMixin);5_@@VMR8V}; V U5_@@VMR:U1oop.mixin = function(child /*, Parent1, ... */) {5_@@VMR=W V U5_AAVMRXoop._forceCopyPrototype = fWV5_EEVMRZ}5_#EEVMRZ&oop._forceCopyPrototype = function() {5_  ) V/MR * for (var property in Parent.prototype) {8 oop._copyPrototypeProperty(child, Parent, property); };5_ ) V/MRW5_ ) V/MR5_  ) V/MRX Y5_I ) V/MT HI5_I ) V/MT ILYIKX5_KKKVMTJUYJKoop.safe5_KKTVMTJLc7oop.strictMixin = function(child /*, Parent1, ... */) {5_MKTVMTLNc* oop._strictMixin(child, arguments[i]);5_QKTVMTPRc,oop._strictMixin = function(child, Parent) {5_QKTVMTPRc(oop.safeMixn = function(child, Parent) {5_RKTVMT'QSc* oop._strictCopyPrototype(child, Parent);5_SKTVMT+RTc, oop._strictCallConstructor(child, Parent);5_T)IVMT1Tvc5_U)IVMT1TV5_mehVMT=ln1 if (child[property] === original[property]) {5_mehVMT=ln0 f (child[property] === original[property]) {5_mehVMT=ln/ (child[property] === original[property]) {5_mehVMT=ln. (child[property] === original[property]) {5_mehVMT?ln- child[property] === original[property]) {5_mehVMT?ln, child[property] == original[property]) {5_m+ehVMT@ln+ child[property] = original[property]) {5_nehVMTAmn continue;5_nehVMTBmn }5_nehVMTBmn5_nehVMTBmn oop._error(5_nehVMTBmn, 'oop.mixin(): Class "' + Parent.name +5_nehVMTBmn9 '" tried to overwrite property "' + property + '".'5_nehVMTBmn , oop.strictMixin);5_WehVMTKV[~5_ZilVMTLZ\5_VjmVMTTUW4oop._strictCopyPrototype = function(child, Parent) {5_ijmVMTWhj6oop._strictCallConstructor = function(child, Parent) {5_bjmVMTab oop._error(5_bilVMTabL 'oop.strictMixin(): Class "' + Parent.name + '" tried to overwrite ' +5_bhkVMTab. 'prototype property "' + property + '".'5_bgjVMTab , oop.strictMixin);5_afiVMT`a5_WehVMTVW var original = {};5_WdgVMTVW for (var property in child) {5_WcfVMTVW, original[property] = original[property];5_WbeVMTVW }5_WadVMTVW5_Y`cVMTXY: oop._copyPrototypeProperty(child, Parent, property);5_Z_bVMTZ\x5_[`cVMTZ\y5_\adVMT[]z: oop._copyPrototypeProperty(child, Parent, property);5_XadVMTYWYz( if (child[property] === undefined) {5_KKK v MTZ_a4oop._safeCallConstructor = function(child, Parent) {UW2oop._safeCopyPrototype = function(child, Parent) {RT* oop._safeCallConstructor(child, Parent);QS( oop._safeCopyPrototype(child, Parent);PR*oop._safeMixin = function(child, Parent) {LN( oop._safeMixin(child, arguments[i]);JL5oop.safeMixin = function(child /*, Parent1, ... */) {5_:KK v MT9;z, original[property] = original[property];5_ccc v MT[bdz, original[property] = original[property];5_ucc v MVtvzFoop.inheritPrototype = function(childConstructor, parentConstructor) {5_ucc v MVtvz>oop.inherits = function(childConstructor, parentConstructor) {5_ucc v MVtvz3oop.inherits = function(child, parentConstructor) {5_vw-w=v=MVvxK childConstructor.prototype = Object.create(parentConstructor.prototype, {uw. childConstructor.super_ = parentConstructor;5_vvvvMVwyK construchildConstructor: { value: childConstructor, enumerable: false }vx@ childConstructor.prototype = Object.create(Parent.prototype, {uw# childConstructor.super_ = Parent;5_vvvvMWuw child.super_ = Parent;5_xvvvMW\wyz5 construchild: { value: child, enumerable: false }5_vvvvMW]uw //child.super_ = Parent;5_uvvvMW2uw{ uwz5_vwwvMW9vx{5_xxxvMW<wy| child.super_ = Parent;5_yxxvMW>xz|5 child.prototype = Object.create(Parent.prototype, {5_zxxvMW@^y{|4 constructor: { value: child, enumerable: false }5_vxxvMWZwx}vx} vx|5_wwwvMW[_vx} console.log(var);5_vwwvMWuv var Child = child.constructor;5_vvvvMWuv console.log(Child);5_vvvvMWuv5_uvvvMW`tvz(oop.inherits = function(child, Parent) {5_xvvvMWwzz4 constructor: { value: Child, enumerable: false }5_yvvvMWx{{' value: Child, enumerable: false }5_zvvvMWy|| enumerable: false }5_{vvvMWaz|} }5_{vvvMXbz|} };5_vvvvMXLcuv Child.super_ = Parent;5_{vvvMX{} {}|5_~vvvMX}5_~vvvMX} 5_vvvMY~5_vvvMY 5_vvvMY Child[property] = Parent1;5_vvvMYd Child[property] = Parent;5_tvvvMYest// From node.js5_t uuvMYSsu(oop.inherits = function(Child, Parent) {5_ttt v MY]jsu'oop.inherit = function(Child, Parent) {5_yzuVMYguw //constructor: {vx //value: Child,wy //enumerable: falsexz //}5_uzuVMYtv7 //Child.prototype = Object.create(Parent.prototype, {uw ////constructor: {vx ////value: Child,wy ////enumerable: falsexz ////}y{ //});5_t{vVMYhtu tv% Child.prototype = Parent.prototype;5_u$|wVMZuv uw C5_{vvvMX{|| {}} for (var key in Parent15_RKTVMT$QSc oop._sa Parent);5_CvMQTBDU , oop.strictMixin);5_xzyEEQvMQYDFc" For (var property in original) {5_uvxw;;=AVMQU:<:;b" var original = oop._copy(child); Parent.call(child);B oop._assertUnmodified(child, original, Parent, oop.strictMixin);5_uwv;;;VMQQ:<c7 oop._assertUnmodifi for (var property in original) {0 if (object[property] === original[property]) { continue; } var error = new Error(* 'oop.mixin(): Class "' + Parent.name +7 '" tried to overwrite property "' + property + '".' );) Error.captureStackTrace(error, callee); throw error;}-ed(child, original, Parent, oop.strictMixin);5_$&'%3VMON6oop._copyPrototypeProperty = function(child, Parent) {5_%&&VMON@oop._copyPrototypeProperty = function(property, child, Parent) {5_   VMNN -oop.copyPrototype = function(child, Parent) {* for (var property in Parent.prototype) {, Object.defineProperty(child, property, {( value: Parent.prototype[property], writable: true, enumerable: false, configurable: true }); };};5_  VMNX5_ VMNY3oop.copyPrototypeStrict = function(child, Parent) {5_VMNY Z5_VMN[ 5_  ,  vMN N3oop.copyPrototype = function(child, Parent, mode) {5_  (""vMNN O5_ ""vMNP if (safe 5_"$$VMM!#PN oop._assertUnmodified(child.constructor, original, Parent, oop.strictMixin);5_"$$VMMC!#PL oop._assertUnmodified(child.prototype, original, Parent, oop.strictMixin);5_ +!!vMM !P  "Q console.log(var);!"Q5_!!!vMMD "Q console.log(original);5_**VMMH,oop.strictMixin = function(child, Parent,) {5_#**VMLI9 oop._assertUnmodified(child, orignal, oop.strictMixin);5_#))VMK"$K for (var property in copy) {5_  VMJ F/ oop.mixinProperties(child, Parent.prototype);5_  VMJF) for (var methods in Parent.prototype) {5_  VMJx F" oop.mixinMethods(child, Parent);5_xzy   V MJ7 5_y{zVMJ9?, Object.defineProperty(child, property, {( value: Parent.prototype[property], writable: true, enumerable: false, configurable: true });5_z|{VMJ;E* Object.defineProperty(child, property, {& value: Parent.prototype[property], writable: true, enumerable: false, configurable: true });5_{}|VMJ=5_|} VMJF 5_}~ VMJG C Parent.call(child);5_ VMJH D5_VMJI E Parent.call(child);5_VMJLEoop._copyMethods = function() {5_}~ VMJF C Parent.call(child);5_dfevMIC for i < arguments.length) {5_`bavMI5_KML vMI3 H var argc = arguments.length;5_=?>VMHrG {});5_"$#"VMGO)oop.mixin = function(child /*, argus/*) {5_ "!#VMGO5oop.mixin = function(child /*, Parent1, Parent2 /*) {5_VMG5_VMG5_VMGO array.prototype .slice .call(args, 1) .foreach(function(parent) {) strategy.call(null, child, parent); });5_VMG=5_VMFP* = Array.prototype.slice.call(arguments);5_VMEP5_VMEQ# oop._mixin(ooop._defaultMixin, );5_VMEQ R 5_VME5_ VMEQ oop._mixin();5_ VMEQ oop._mixin.apply();5_VME:Goop._mixin = function(strategy, child /*, parentConstructor1, ... */) {3 var args = Array.prototype.slice.call(arguments); args .slice(1)* .forEach(function(parentConstructor) {8 var parentPrototype = parentConstructor.prototype;- for (var property in parentPrototype) {1 //oop._assertNoConflict(child, property);0 Object.defineProperty(child, property, {+ value: parentPrototype[property], writable: true, enumerable: false, configurable: true }); }& //parentConstructor.call(child);A oop._callParentConstructorSafely(child, parentConstructor); });};5_)- -vMD(*A7 'oop.mixin error: Class """""""""' + parentName +5_), ,vMD(+AY 'oop.mixin error: Class ' + parentName + ' tried to overwrite property ' + property5_,  vMD +-@ ' of '5_*( vMC)+@- 'oop.mixin error: ' + parentName + '' +5_** vMC)+@. 'oop.mixin error: ' + parentName + ' ' +5_+ vMD*,@1 'tried to overwrite property ' + property +5_) vMC(*<4 throw new Error('Could 'ot mixin ' + property );5_  vMCM/- oop._protect(child, parentConstructor);5_tvuVMAm#.oop._ arConflict = function(child, property) {5_lnom  VM? 9 value: Object.create(parentPrototype[property],5_mn 8 VM? : value: Object.create(parentPrototype[property]),5_`bga VM>_ !2 var description = getOwnPropertyDescriptor5_acb VM>_ !9 var description = Object.getOwnPropertyDescriptor5_bdc 9/ VTM>a !U var description = Object.getOwnPropertyDescriptor(parentPrototype, property);5_ced / VTM>f 2 //Object.defineProperty(child, property, { //value: true, //writable: false, //enumerable: true, //configurable: true //});5_dfe vM>i !  " console.log(var);"5_efvM>i "! console.log(description);5