2015-10-22 03:05:01 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								/ *  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									MIT  License  http : //www.opensource.org/licenses/mit-license.php
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Author  Tobias  Koppers  @ sokra 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								* /  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								var  NullDependency  =  require ( "./NullDependency" ) ;  
						 
					
						
							
								
									
										
										
										
											2015-12-23 23:24:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								var  HarmonyModulesHelpers  =  require ( "./HarmonyModulesHelpers" ) ;  
						 
					
						
							
								
									
										
										
										
											2015-10-22 03:05:01 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-12-05 06:47:19 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								function  HarmonyExportImportedSpecifierDependency ( originModule ,  importDependency ,  importedVar ,  id ,  name )  {  
						 
					
						
							
								
									
										
										
										
											2015-10-22 03:05:01 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									NullDependency . call ( this ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									this . originModule  =  originModule ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									this . importDependency  =  importDependency ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									this . importedVar  =  importedVar ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									this . id  =  id ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									this . name  =  name ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								module . exports  =  HarmonyExportImportedSpecifierDependency ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								HarmonyExportImportedSpecifierDependency . prototype  =  Object . create ( NullDependency . prototype ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								HarmonyExportImportedSpecifierDependency . prototype . constructor  =  HarmonyExportImportedSpecifierDependency ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								HarmonyExportImportedSpecifierDependency . prototype . type  =  "harmony export imported specifier" ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								HarmonyExportImportedSpecifierDependency . prototype . getReference  =  function ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  used  =  this . originModule . isUsed ( this . name ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-12-23 23:24:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									var  active  =  HarmonyModulesHelpers . isActive ( this . originModule ,  this ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if ( ! this . importDependency . module  ||  ! used  ||  ! active )  return  null ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-17 17:24:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if ( ! this . originModule . usedExports )  return  null ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  m  =  this . importDependency . module ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if ( ! this . name )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// export *
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( Array . isArray ( this . originModule . usedExports ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// reexport * with known used exports
 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-05 06:16:33 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  activeExports  =  HarmonyModulesHelpers . getActiveExports ( this . originModule ,  this ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-06 05:41:03 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											if ( Array . isArray ( m . providedExports ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												return  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													module :  m , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													importedNames :  this . originModule . usedExports . filter ( function ( id )  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-07 15:44:53 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
														return  activeExports . indexOf ( id )  <  0  &&  m . providedExports . indexOf ( id )  >=  0  &&  id  !==  "default" ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-06 05:41:03 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
													} ,  this ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											}  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												return  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													module :  m , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													importedNames :  this . originModule . usedExports . filter ( function ( id )  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-07 15:44:53 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
														return  activeExports . indexOf ( id )  <  0  &&  id  !==  "default" ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-06 05:41:03 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
													} ,  this ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										}  else  if ( Array . isArray ( m . providedExports ) )  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-17 17:24:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											return  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												module :  m , 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-07 15:44:53 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												importedNames :  m . providedExports . filter ( function ( id )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													return  id  !==  "default" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} ) 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-17 17:24:35 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										}  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											return  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												module :  m , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												importedNames :  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									}  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( Array . isArray ( this . originModule . usedExports )  &&  this . originModule . usedExports . indexOf ( this . name )  <  0 )  return  null ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( this . id )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// export { name as name }
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											return  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												module :  m , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												importedNames :  [ this . id ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										}  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											// export { * as name }
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											return  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												module :  m , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												importedNames :  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2015-12-23 23:24:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-09-06 05:41:03 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								HarmonyExportImportedSpecifierDependency . prototype . getExports  =  function ( )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if ( this . name )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											exports :  [ this . name ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
									
										
										
										
											2016-11-21 08:00:25 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-06 05:41:03 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if ( this . importDependency . module  &&  Array . isArray ( this . importDependency . module . providedExports ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-07 15:44:53 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											exports :  this . importDependency . module . providedExports . filter ( function ( id )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												return  id  !==  "default" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} ) , 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-06 05:41:03 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											dependencies :  [ this . importDependency . module ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if ( this . importDependency . module  &&  this . importDependency . module . providedExports )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											exports :  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if ( this . importDependency . module )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											exports :  null , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											dependencies :  [ this . importDependency . module ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										exports :  null 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-12-23 23:24:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								HarmonyExportImportedSpecifierDependency . prototype . describeHarmonyExport  =  function ( )  {  
						 
					
						
							
								
									
										
										
										
											2016-12-05 06:16:33 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									var  importedModule  =  this . importDependency . module ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if ( ! this . name  &&  importedModule  &&  Array . isArray ( importedModule . providedExports ) )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// for a star export and when we know which exports are provided, we can tell so
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											exportedName :  importedModule . providedExports , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											precedence :  3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2015-12-23 23:24:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									return  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										exportedName :  this . name , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										precedence :  this . name  ?  2  :  3 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-22 03:05:01 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									} ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-02-04 07:06:16 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								HarmonyExportImportedSpecifierDependency . prototype . updateHash  =  function ( hash )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NullDependency . prototype . updateHash . call ( this ,  hash ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-04 16:59:28 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									var  importedModule  =  this . importDependency . module ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-07 16:56:17 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									hash . update ( ( importedModule  &&  ( importedModule . used  +  JSON . stringify ( importedModule . usedExports )  +  JSON . stringify ( importedModule . providedExports ) ) )  +  "" ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-04 07:06:16 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-10-22 03:05:01 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								HarmonyExportImportedSpecifierDependency . Template  =  function  HarmonyExportImportedSpecifierDependencyTemplate ( )  { } ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-12-01 23:13:46 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								HarmonyExportImportedSpecifierDependency . Template . prototype . apply  =  function ( dep ,  source ,  outputOptions ,  requestShortener )  {  
						 
					
						
							
								
									
										
										
										
											2015-10-22 03:05:01 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									var  name  =  dep . importedVar ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  used  =  dep . originModule . isUsed ( dep . name ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-04 06:40:41 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									var  importedModule  =  dep . importDependency . module ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-12-23 23:24:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									var  active  =  HarmonyModulesHelpers . isActive ( dep . originModule ,  dep ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-22 03:05:01 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									var  content ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-04 06:48:51 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									var  activeExports ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-06 05:41:03 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									var  items ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									var  importIsHarmony  =  importedModule  &&  ( ! importedModule . meta  ||  importedModule . meta . harmonyModule ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-16 06:52:50 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-02-17 05:31:12 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									function  getReexportStatement ( key ,  valueKey )  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-16 06:52:50 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										return ( importIsHarmony  ||  ! valueKey  ?  ""  :  "if(__webpack_require__.o("  +  name  +  ", "  +  valueKey  +  ")) " )  + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											"__webpack_require__.d(exports, "  +  key  +  ", "  + 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-07 15:46:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											"function() { return "  +  name  +  ( valueKey  ===  null  ?  "_default.a"  :  valueKey  &&  "["  +  valueKey  +  "]" )  +  "; });\n" 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-17 05:31:12 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if ( ! used )  {  // we want to rexport something, but the export isn't used
 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-22 20:24:14 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										content  =  "/* unused harmony reexport "  +  dep . name  +  " */\n" ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-17 05:31:12 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									}  else  if ( ! active )  {  // we want to reexport something but another exports overrides this one
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										content  =  "/* inactive harmony reexport "  +  ( dep . name  ||  "namespace" )  +  " */\n" ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-07-03 19:13:01 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									}  else  if ( dep . name  &&  dep . id  ===  "default"  &&  ! ( importedModule  &&  ( ! importedModule . meta  ||  importedModule . meta . harmonyModule ) ) )  {  // we want to reexport the default export from a non-hamory module
 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-07 15:46:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										content  =  "/* harmony reexport (default from non-hamory) */ "  +  getReexportStatement ( JSON . stringify ( used ) ,  null ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-17 05:31:12 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									}  else  if ( dep . name  &&  dep . id )  {  // we want to reexport a key as new key
 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-04 06:40:41 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										var  idUsed  =  importedModule  &&  importedModule . isUsed ( dep . id ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-07 15:46:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										content  =  "/* harmony reexport (binding) */ "  +  getReexportStatement ( JSON . stringify ( used ) ,  JSON . stringify ( idUsed ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-17 05:31:12 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									}  else  if ( dep . name )  {  // we want to reexport the module object as named export
 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-07 15:46:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										content  =  "/* harmony reexport (module object) */ "  +  getReexportStatement ( JSON . stringify ( used ) ,  "" ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-22 22:40:01 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									}  else  if ( Array . isArray ( dep . originModule . usedExports ) )  {  // we know which exports are used
 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-05 06:16:33 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										activeExports  =  HarmonyModulesHelpers . getActiveExports ( dep . originModule ,  dep ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-06 05:41:03 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										items  =  dep . originModule . usedExports . map ( function ( id )  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-04 06:40:41 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											if ( id  ===  "default" )  return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if ( activeExports . indexOf ( id )  >=  0 )  return ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-06 05:41:03 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											if ( importedModule . isProvided ( id )  ===  false )  return ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-04 06:40:41 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											var  exportUsed  =  dep . originModule . isUsed ( id ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  idUsed  =  importedModule  &&  importedModule . isUsed ( id ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											return  [ exportUsed ,  idUsed ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) . filter ( Boolean ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-17 05:31:12 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										if ( items . length  >  0 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-07 15:46:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											content  =  items . map ( function ( item )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												return  "/* harmony namespace reexport (by used) */ "  +  getReexportStatement ( JSON . stringify ( item [ 0 ] ) ,  JSON . stringify ( item [ 1 ] ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} ) . join ( "" ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-17 05:31:12 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										}  else  content  =  "/* unused harmony namespace reexport */\n" ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-06 05:41:03 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									}  else  if ( dep . originModule . usedExports  &&  importedModule  &&  Array . isArray ( importedModule . providedExports ) )  {  // not sure which exports are used, but we know which are provided
 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-05 06:16:33 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										activeExports  =  HarmonyModulesHelpers . getActiveExports ( dep . originModule ,  dep ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-06 05:41:03 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										items  =  importedModule . providedExports . map ( function ( id )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if ( id  ===  "default" )  return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if ( activeExports . indexOf ( id )  >=  0 )  return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  exportUsed  =  dep . originModule . isUsed ( id ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											var  idUsed  =  importedModule  &&  importedModule . isUsed ( id ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											return  [ exportUsed ,  idUsed ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} ) . filter ( Boolean ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( items . length  >  0 )  { 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-07 15:46:13 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											content  =  items . map ( function ( item )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												return  "/* harmony namespace reexport (by provided) */ "  +  getReexportStatement ( JSON . stringify ( item [ 0 ] ) ,  JSON . stringify ( item [ 1 ] ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} ) . join ( "" ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-06 05:41:03 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										}  else  content  =  "/* empty harmony namespace reexport */\n" ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									}  else  if ( dep . originModule . usedExports )  {  // not sure which exports are used and provided
 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-05 06:16:33 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										activeExports  =  HarmonyModulesHelpers . getActiveExports ( dep . originModule ,  dep ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-09-06 05:41:03 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										content  =  "/* harmony namespace reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in "  +  name  +  ") " ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-12-23 23:24:45 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// Filter out exports which are defined by other exports
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										// and filter out default export because it cannot be reexported with *
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if ( activeExports . length  >  0 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											content  +=  "if("  +  JSON . stringify ( activeExports . concat ( "default" ) )  +  ".indexOf(__WEBPACK_IMPORT_KEY__) < 0) " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											content  +=  "if(__WEBPACK_IMPORT_KEY__ !== 'default') " ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-06-08 06:10:30 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										content  +=  "(function(key) { __webpack_require__.d(exports, key, function() { return "  +  name  +  "[key]; }) }(__WEBPACK_IMPORT_KEY__));\n" ; 
							 
						 
					
						
							
								
									
										
										
										
											2016-02-22 20:24:14 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									}  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										content  =  "/* unused harmony reexport namespace */\n" ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-22 03:05:01 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2016-12-05 06:47:19 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									source . insert ( - 1 ,  content ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-10-22 03:05:01 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								} ;