'use strict'; 
 | 
var globalThis = require('../internals/global-this'); 
 | 
var shared = require('../internals/shared'); 
 | 
var hasOwn = require('../internals/has-own-property'); 
 | 
var uid = require('../internals/uid'); 
 | 
var NATIVE_SYMBOL = require('../internals/symbol-constructor-detection'); 
 | 
var USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid'); 
 | 
  
 | 
var Symbol = globalThis.Symbol; 
 | 
var WellKnownSymbolsStore = shared('wks'); 
 | 
var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid; 
 | 
  
 | 
module.exports = function (name) { 
 | 
  if (!hasOwn(WellKnownSymbolsStore, name)) { 
 | 
    WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name) 
 | 
      ? Symbol[name] 
 | 
      : createWellKnownSymbol('Symbol.' + name); 
 | 
  } return WellKnownSymbolsStore[name]; 
 | 
}; 
 |