docs: function () {
                  if (!this.enabled || this.enabling) {
                      return;
                  }
  
                  var err, cjsModule,
                      id = this.map.id,
                      depExports = this.depExports,
                      exports = this.exports,
                      factory = this.factory;
  
                  if (!this.inited) {
                      this.fetch();
                  } else if (this.error) {
                      this.emit('error', this.error);
                  } else if (!this.defining) {
                      //The factory could trigger another require call
                      //that would result in checking this module to
                      //define itself again. If already in the process
                      //of doing that, skip this work.
                      this.defining = true;
  
                      if (this.depCount < 1 && !this.defined) {
                          if (isFunction(factory)) {
                              //If there is an error listener, favor passing
                              //to that instead of throwing an error. However,
                              //only do it for define()'d  modules. require
                              //errbacks should not be called for failures in
                              //their callbacks (#699). However if a global
                              //onError is set, use that.
                              if ((this.events.error && this.map.isDefine) ||
                                  req.onError !== defaultOnError) {
                                  try {
                                      exports = context.execCb(id, factory, depExports, exports);
                                  } catch (e) {
                                      err = e;
                                  }
                              } else {
                                  exports = context.execCb(id, factory, depExports, exports);
                              }
  
                              // Favor return value over exports. If node/cjs in play,
                              // then will not have a return value anyway. Favor
                              // module.exports assignment over exports object.
                              if (this.map.isDefine && exports === undefined) {
                                  cjsModule = this.module;
                                  if (cjsModule) {
                                      exports = cjsModule.exports;
                                  } else if (this.usingExports) {
                                      //exports already set the defined value.
                                      exports = this.exports;
                                  }
                              }
  
                              if (err) {
                                  err.requireMap = this.map;
                                  err.requireModules = this.map.isDefine ? [this.map.id] : null;
                                  err.requireType = this.map.isDefine ? 'define' : 'require';
                                  return onError((this.error = err));
                              }
  
                          } else {
                              //Just a literal value
                              exports = factory;
                          }
  
                          this.exports = exports;
  
                          if (this.map.isDefine && !this.ignore) {
                              defined[id] = exports;
  
                              if (req.onResourceLoad) {
                                  req.onResourceLoad(context, this.map, this.depMaps);
                              }
                          }
  
                          //Clean up
                          cleanRegistry(id);
  
                          this.defined = true;
                      }
  
                      //Finished the define stage. Allow calling check again
                      //to allow define notifications below in the case of a
                      //cycle.
                      this.defining = false;
  
                      if (this.defined && !this.defineEmitted) {
                          this.defineEmitted = true;
                          this.emit('defined', this.exports);
                          this.defineEmitComplete = true;
                      }
  
                  }
              }