rem: const Inc       = new C.Constructor(PROG_ID, INTERFACE); (new Inc()).loadSubScript(aScriptPath); 
add: jslibGetService(PROG_ID, INTERFACE).loadSubScript(aScriptPath); 
context: function include(aScriptPath) {  if (!aScriptPath) {    jslibError(null, "Missing file path argument\n",                       "NS_ERROR_XPC_NOT_ENOUGH_ARGS",                       JS_LIB_FILE+": include");    throw - C.results.NS_ERROR_XPC_NOT_ENOUGH_ARGS;  }  if (aScriptPath==JS_LIB_PATH+JS_LIB_FILE) {    jslibError(null, aScriptPath+" is already loaded!",         "NS_ERROR_INVALID_ARG", JS_LIB_FILE+": include");    throw - C.results.NS_ERROR_INVALID_ARG;  }  var start   = aScriptPath.lastIndexOf('/') + 1;  var end     = aScriptPath.lastIndexOf('.');  var slice   = aScriptPath.length - end;  var loadID  = aScriptPath.substring(start, (aScriptPath.length - slice));  try {    if (typeof(eval('JS_'+loadID.toUpperCase()+'_LOADED')) == 'boolean')      return 1;  } catch (e) {}  var rv;  try {    const PROG_ID   = "@mozilla.org/moz/jssubscript-loader;1";    const INTERFACE = "mozIJSSubScriptLoader";    const Inc       = new C.Constructor(PROG_ID, INTERFACE);    (new Inc()).loadSubScript(aScriptPath);    rv = C.results.NS_OK;  } catch(e) {    const msg = aScriptPath+" is not a valid path or is already loaded";    jslibError(e, msg, "NS_ERROR_INVALID_ARG", JS_LIB_FILE+": include");    rv = - C.results.NS_ERROR_INVALID_ARG;  }  return rv;}
meta: 8395	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/8395/ad31f8ed11639845cff55b2a989a1a6243a89a9b/jslib.js/buggy/calendar/resources/content/jslib/jslib.js