 See https://webpack.js.org/concepts#loaders\n> export type Platform = 'browser' | 'node' | 'neutral';\n| export type Format = 'iife' | 'cjs' | 'esm';\n| export type Loader = 'js' | 'jsx' | 'ts' | 'tsx' | 'css' | 'json' | 'text' | 'base64' | 'file' | 'dataurl' | 'binary' | 'default';");

/***/ }),

/***/ "./node_modules/esbuild/lib sync recursive":
/*!****************************************!*\
  !*** ./node_modules/esbuild/lib/ sync ***!
  \****************************************/
/***/ ((module) => {

function webpackEmptyContext(req) {
	var e = new Error("Cannot find module '" + req + "'");
	e.code = 'MODULE_NOT_FOUND';
	throw e;
}
webpackEmptyContext.keys = () => ([]);
webpackEmptyContext.resolve = webpackEmptyContext;
webpackEmptyContext.id = "./node_modules/esbuild/lib sync recursive";
module.exports = webpackEmptyContext;

/***/ }),

/***/ "./node_modules/esbuild/lib sync recursive ^.*\\/.*$":
/*!*************************************************!*\
  !*** ./node_modules/esbuild/lib/ sync ^.*\/.*$ ***!
  \*************************************************/
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {

var map = {
	"./main": "./node_modules/esbuild/lib/main.js",
	"./main.d.ts": "./node_modules/esbuild/lib/main.d.ts",
	"./main.js": "./node_modules/esbuild/lib/main.js"
};

function webpackContext(req) {
	var id = webpackContextResolve(req);
	return __webpack_require__(id);
}
function webpackContextResolve(req) {
	if(!__webpack_require__.o(map, req)) {
		var e = new Error("Cannot find module '" + req + "'");
		e.code = 'MODULE_NOT_FOUND';
		throw e;
	}
	return map[req];
}
webpackContext.keys = function webpackContextKeys() {
	return Object.keys(map);
};
webpackContext.resolve = webpackContextResolve;
module.exports = webpackContext;
webpackContext.id = "./node_modules/esbuild/lib sync recursive ^.*\\/.*$";

/***/ }),

/***/ "./node_modules/module-from-string/dist/index.mjs":
/*!********************************************************!*\
  !*** ./node_modules/module-from-string/dist/index.mjs ***!
  \********************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "importFromString": () => (/* binding */ importFromString),
/* harmony export */   "importFromStringSync": () => (/* binding */ importFromStringSync),
/* harmony export */   "requireFromString": () => (/* binding */ requireFromString)
/* harmony export */ });
Object(function webpackMissingModule() { var e = new Error("Cannot find module 'module'"); e.code = 'MODULE_NOT_FOUND'; throw e; }());
Object(function webpackMissingModule() { var e = new Error("Cannot find module 'path'"); e.code = 'MODULE_NOT_FOUND'; throw e; }());
Object(function webpackMissingModule() { var e = new Error("Cannot find module 'vm'"); e.code = 'MODULE_NOT_FOUND'; throw e; }());
/* harmony import */ var nanoid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! nanoid */ "./node_modules/nanoid/index.dev.js");
Object(function webpackMissingModule() { var e = new Error("Cannot find module 'url'"); e.code = 'MODULE_NOT_FOUND'; throw e; }());
/* harmony import */ var esbuild__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! esbuild */ "./node_modules/esbuild/lib/main.js");
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp.call(b, prop))
      __defNormalProp(a, prop, b[prop]);
  if (__getOwnPropSymbols)
    for (var prop of __getOwnPropSymbols(b)) {
      if (__propIsEnum.call(b, prop))
        __defNormalProp(a, prop, b[prop]);
    }
  return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));

const isInESModuleScope = () => {
  try {
    return module === void 0;
  } catch {
    return true;
  }
};
const isVMModuleAvailable = () => Object(function webpackMissingModule() { var e = new Error("Cannot find module 'vm'"); e.code = 'MODULE_NOT_FOUND'; throw e; }()) !== void 0;
const fileURLToPath = (value) => value.startsWith("file://") ? Object(function webpackMissingModule() { var e = new Error("Cannot find module 'url'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())(value) : value;
const FUNCTION_NAMES = [
  "getCallerDirname",
  "requireFromString",
  "importFromString",
  "importFromStringSync",
  "processTicksAndRejections"
];
const getCallerDirname = () => {
  const _prepareStackTrace = Error.prepareStackTrace;
  Error.prepareStackTrace = (_err, stackTraces) => stackTraces;
  const callSites = new Error().stack.filter((callSite) => {
    const functionName = callSite.getFunctionName();
    return functionName === null || !FUNCTION_NAMES.includes(functionName);
  });
  Error.prepareStackTrace = _prepareStackTrace;
  const callerFilename = callSites[0].getFileName();
  return Object(function webpackMissingModule() { var e = new Error("Cannot find module 'path'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())(callerFilename !== null ? fileURLToPath(callerFilename) : process.argv[1]);
};
const resolveModuleSpecifier = (specifier, dirname) => {
  const specifierPath = fileURLToPath(specifier);
  return specifierPath.startsWith(".") || Object(function webpackMissingModule() { var e = new Error("Cannot find module 'path'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())(specifierPath) ? Object(function webpackMissingModule() { var e = new Error("Cannot find module 'path'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())(dirname, specifierPath) : specifier;
};
const requireFromString = (code, { dirname = getCallerDirname(), globals } = {}) => {
  var _a;
  const moduleFilename = Object(function webpackMissingModule() { var e = new Error("Cannot find module 'path'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())(dirname, `${(0,nanoid__WEBPACK_IMPORTED_MODULE_2__.nanoid)()}.js`);
  const mainModule = isInESModuleScope() ? void 0 : require.main;
  const contextModule = new Object(function webpackMissingModule() { var e = new Error("Cannot find module 'module'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())(moduleFilename, mainModule);
  contextModule.filename = moduleFilename;
  contextModule.path = dirname;
  contextModule.paths = (_a = mainModule == null ? void 0 : mainModule.paths) != null ? _a : [];
  contextModule.require = Object(function webpackMissingModule() { var e = new Error("Cannot find module 'module'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())(moduleFilename);
  Object(function webpackMissingModule() { var e = new Error("Cannot find module 'vm'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())(code, __spreadValues({
    __dirname: contextModule.path,
    __filename: contextModule.filename,
    exports: contextModule.exports,
    module: contextModule,
    require: contextModule.require
  }, globals), {
    async importModuleDynamically(specifier) {
      return await __webpack_require__("./node_modules/module-from-string/dist lazy recursive")(resolveModuleSpecifier(specifier, contextModule.path));
    }
  });
  contextModule.loaded = true;
  return contextModule.exports;
};
const IMPORT_META_URL_SHIM = "var import_meta_url = require('url').pathToFileURL(__filename).toString();";
const IMPORT_META_RESOLVE_SHIM = `var import_meta_resolve = () => {
  throw new Error(
    \`'import.meta.resolve' is not supported
Use asynchronous function 'importFromString' and enable '--experimental-vm-modules' CLI option.
Or use 'transformOptions' to include a polyfill. See https://github.com/evanw/esbuild/issues/1492#issuecomment-893144483 as an example.\`
  );
};`;
const getCommonJS = (transformOptions) => {
  return __spreadProps(__spreadValues({}, transformOptions), {
    banner: `${(transformOptions == null ? void 0 : transformOptions.banner) === void 0 ? "" : `${transformOptions.banner}
`}${IMPORT_META_URL_SHIM}
${IMPORT_META_RESOLVE_SHIM}`,
    define: __spreadValues({
      "import.meta.url": "import_meta_url",
      "import.meta.resolve": "import_meta_resolve"
    }, transformOptions == null ? void 0 : transformOptions.define),
    format: "cjs"
  });
};
const ERR_REQUIRE_ESM = "ERR_REQUIRE_ESM";
const importFromString = async (code, { dirname = getCallerDirname(), globals, transformOptions } = {}) => {
  if (!isVMModuleAvailable()) {
    const { code: transformedCode2 } = await (0,esbuild__WEBPACK_IMPORTED_MODULE_1__.transform)(code, getCommonJS(transformOptions));
    try {
      return requireFromString(transformedCode2, { dirname, globals });
    } catch (err) {
      if (err.code === ERR_REQUIRE_ESM) {
        throw new Error(`'import' statement of ES modules is not supported
Enable '--experimental-vm-modules' CLI option or replace it with dynamic 'import()' expression.`);
      }
      throw err;
    }
  }
  const { code: transformedCode = void 0 } = transformOptions === void 0 ? {} : await (0,esbuild__WEBPACK_IMPORTED_MODULE_1__.transform)(code, __spreadValues({
    format: "esm"
  }, transformOptions));
  const moduleFilename = Object(function webpackMissingModule() { var e = new Error("Cannot find module 'path'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())(dirname, `${(0,nanoid__WEBPACK_IMPORTED_MODULE_2__.nanoid)()}.js`);
  const context = Object(function webpackMissingModule() { var e = new Error("Cannot find module 'vm'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())(__spreadValues({
    __IMPORTS__: {}
  }, globals));
  const vmModule = new Object(function webpackMissingModule() { var e = new Error("Cannot find module 'vm'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())(transformedCode != null ? transformedCode : code, {
    identifier: moduleFilename,
    context,
    initializeImportMeta(meta) {
      meta.url = moduleFilename;
    },
    async importModuleDynamically(specifier) {
      return await __webpack_require__("./node_modules/module-from-string/dist lazy recursive")(resolveModuleSpecifier(specifier, dirname));
    }
  });
  const linker = async (specifier) => {
    const resolvedSpecifier = resolveModuleSpecifier(specifier, dirname);
    const targetModule = await __webpack_require__("./node_modules/module-from-string/dist lazy recursive")(resolvedSpecifier);
    context.__IMPORTS__[specifier] = targetModule;
    const exportedNames = Object.getOwnPropertyNames(targetModule);
    const targetModuleContent = `${exportedNames.includes("default") ? `export default __IMPORTS__['${specifier}'].default;
` : ""}export const { ${exportedNames.filter((exportedName) => exportedName !== "default").join(", ")} } = __IMPORTS__['${specifier}'];`;
    return new Object(function webpackMissingModule() { var e = new Error("Cannot find module 'vm'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())(targetModuleContent, {
      identifier: resolvedSpecifier,
      context
    });
  };
  await vmModule.link(linker);
  await vmModule.evaluate();
  return vmModule.namespace;
};
const importFromStringSync = (code, { dirname = getCallerDirname(), globals, transformOptions } = {}) => {
  const { code: transformedCode } = (0,esbuild__WEBPACK_IMPORTED_MODULE_1__.transformSync)(code, getCommonJS(transformOptions));
  try {
    return requireFromString(transformedCode, { dirname, globals });
  } catch (err) {
    if (err.code === ERR_REQUIRE_ESM) {
      throw new Error(`'import' statement of ES modules is not supported
Use asynchronous function 'importFromString' instead or replace it with dynamic 'import()' expression.`);
    }
    throw err;
  }
};

/***/ }),

/***/ "./node_modules/module-from-string/dist lazy recursive":
/*!****************************************************************************!*\
  !*** ./node_modules/module-from-string/dist/ lazy strict namespace object ***!
  \****************************************************************************/
/***/ ((module) => {

function webpackEmptyAsyncContext(req) {
	// Here Promise.resolve().then() is used instead of new Promise() to prevent
	// uncaught exception popping up in devtools
	return Promise.resolve().then(() => {
		var e = new Error("Cannot find module '" + req + "'");
		e.code = 'MODULE_NOT_FOUND';
		throw e;
	});
}
webpackEmptyAsyncContext.keys = () => ([]);
webpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;
webpackEmptyAsyncContext.id = "./node_modules/module-from-string/dist lazy recursive";
module.exports = webpackEmptyAsyncContext;

/***/ }),

/***/ "./node_modules/adblockpluscore/lib/analytics.js":
/*!*******************************************************!*\
  !*** ./node_modules/adblockpluscore/lib/analytics.js ***!
  \*******************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {

"use strict";
/*
 * This file is part of Adblock Plus <https://adblockplus.org/>,
 * Copyright (C) 2006-present eyeo GmbH
 *
 * Adblock Plus is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 3 as
 * published by the Free Software Foundation.
 *
 * Adblock Plus is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>.
 */

/** @module */

const {Prefs} = __webpack_require__(/*! prefs */ "./sdk/api/prefs.js");

const {MILLIS_IN_DAY} = __webpack_require__(/*! ./time */ "./node_modules/adblockpluscore/lib/time.js");

/**
 * Converts a version string into a `Date` object with minute-level precision.
 *
 * @param {string} version The version string in `YYYYMMDD[HH[MM]]` format or
 *   just the value `"0"`.
 *
 * @returns {Date} A `Date` object. If the value of `version` is `"0"`, the
 *   returned value represents the Unix epoch.
 */
function versionToDate(version) {
  if (version == "0")
    return new Date(0);

  let year = version.substring(0, 4);
  let month = version.substring(4, 6);
  let date = version.substring(6, 8);

  let hours = version.substring(8, 10) || "00";
  let minutes = version.substring(10, 12) || "00";

  // The input is nearly a valid ISO 8601 timestamp, except for the hyphens,
  // the colon, and the special characters T and Z. We can use the timestamp
  // string version of the Date constructor directly. Alternatively, we could
  // use Date.UTC(), but that would require some adjustment to the values
  // (e.g. the month must be 0-based).
  return new Date(`${year}-${month}-${date}T${hours}:${minutes}Z`);
}

/**
 * Strips the value of the `firstVersion` parameter down to either `YYYYMMDD`,
 * `YYYYMM`, or `YYYY` depending on its distance from the value of the
 * `currentVersion` parameter.
 *
 * @param {string} firstVersion A version string in `YYYYMMDD[HH[MM]]` format
 *   with an optional `"-E"` suffix or just `"0"` or `"0-E"`.
 * @param {string} currentVersion A version string in `YYYYMMDD[HH[MM]]` format
 *   or just `"0"`.
 *
 * @returns {?string}
 */
function stripFirstVersion(firstVersion, currentVersion) {
  let eFlag = firstVersion.endsWith("-E");
  if (eFlag)
    firstVersion = firstVersion.slice(0, -2);

  try {
    let firstDate = versionToDate(firstVersion);
    let currentDate = versionToDate(currentVersion);

    if (currentDate - firstDate > 365 * MILLIS_IN_DAY)
      firstVersion = firstVersion.substring(0, 4);
    else if (currentDate - firstDate > 30 * MILLIS_IN_DAY)
      firstVersion = firstVersion.substring(0, 6);
    else
      firstVersion = firstVersion.substring(0, 8);
  }
  catch (error) {
    return null;
  }

  if (eFlag)
    firstVersion += "-E";

  return firstVersion;
}

/**
 * Checks whether this is a fresh installation.
 * @returns {boolean}
 */
function isFreshInstall() {
  return !("data" in Prefs.notificationdata);
}

/**
 * `{@link module:analytics.analytics analytics}` implementation.
 */
class Analytics {
  /**
   * @hideconstructor
   */
  constructor() {
  }

  /**
   * Checks whether the given URL is trusted for analytics purposes based on
   * the value of the `analytics.trustedHosts` preference.
   *
   * @param {string} url The URL.
   *
   * @returns {boolean} Whether the URL is trusted.
   */
  isTrusted(url) {
    let {trustedHosts} = Prefs.analytics || {};
    if (Array.isArray(trustedHosts)) {
      try {
        return trustedHosts.includes(new URL(url).host);
      }
      catch (error) {
      }
    }

    return false;
  }

  /**
   * Returns a string indicating the version of the first ever downloaded
   * resource (as recorded by
   * `{@link module:analytics~Analytics#recordVersion recordVersion()}`), for
   * the purpose of cohort analysis.
   *
   * For privacy reasons, the original value is stripped down to either
   * `YYYYMMDD`, `YYYYMM`, or `YYYY` depending on its age. An `-E` suffix is
   * appended to the original value if it was recorded on an existing
   * installation.
   *
   * @returns {?string} A string indicating the version of the first ever
   *   downloaded resource, or `"0"` or `"0-E"` if there is no data, or `null`
   *   in case of a parsing error.
   */
  getFirstVersion() {
    let {analytics} = Prefs;
    if (analytics) {
      let {firstVersion = "0", currentVersion = "0"} = analytics.data || {};
      let strippedFirstVersion = stripFirstVersion(firstVersion,
                                                   currentVersion);
      if (strippedFirstVersion) {
        if (strippedFirstVersion == "0" && !isFreshInstall())
          strippedFirstVersion = "0-E";

        return strippedFirstVersion;
      }
    }

    return null;
  }

  /**
   * Records the version of a downloaded resource for the purpose of cohort
   * analysis.
   *
   * The value of the `analytics` preference must be set at least to an
   * empty object, otherwise nothing is ever recorded and
   * `{@link module:analytics~Analytics#getFirstVersion getFirstVersion()}`
   * always returns `null`.
   *
   * @param {string} version The version, in `YYYYMMDD[HH[MM]]` format.
   */
  recordVersion(version) {
    if (!/^(\d{8}|\d{10}|\d{12})$/.test(version))
      return;

    let {analytics} = Prefs;
    if (analytics) {
      if (!analytics.data)
        analytics.data = {};

      let {data} = analytics;

      data.currentVersion = version;

      if (typeof data.firstVersion == "undefined") {
        // If this is not a new installation, set the -E flag.
        if (!isFreshInstall())
          version += "-E";

        data.firstVersion = version;
      }

      // JSON values aren't saved unless they are assigned a different object.
      Prefs.analytics = JSON.parse(JSON.stringify(analytics));
    }
  }
}

/**
 * Implements data analytics functions.
 * @type {module:analytics~Analytics}
 */
exports.analytics = new Analytics();

/***/ }),

/***/ "./node_modules/adblockpluscore/lib/caching.js":
/*!*****************************************************!*\
  !*** ./node_modules/adblockpluscore/lib/caching.js ***!
  \*****************************************************/
/***/ ((__unused_webpack_module, exports) => {

"use strict";
/*
 * This file is part of Adblock Plus <https://adblockplus.org/>,
 * Copyright (C) 2006-present eyeo GmbH
 *
 * Adblock Plus is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 3 as
 * published by the Free Software Foundation.
 *
 * Adblock Plus is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>.
 */

/** @module */

/**
 * A `Cache` object represents a cache of arbitrary data.
 * @package
 */
exports.Cache = class Cache extends Map {
  /**
   * Creates a cache.
   * @param {number} capacity The maximum number of entries that can exist in
   *   the cache.
   */
  constructor(capacity) {
    // Note: This check works for non-number values.
    if (!(capacity >= 1))
      throw new Error("capacity must be a positive number.");

    super();
    this._capacity = capacity;
  }

  /**
   * Writes an entry to the cache.
   *
   * If the cache has reached the specified maximum number of entries, all the
   * old entries are cleared first.
   *
   * @param {?*} key The key for the entry.
   * @param {?*} value The value of the entry.
   */
  set(key, value) {
    // To prevent logical errors, neither key nor value is allowed to be
    // undefined.
    if (typeof key == "undefined")
      throw new Error("key must not be undefined.");

    if (typeof value == "undefined")
      throw new Error("value must not be undefined.");

    if (this.size == this._capacity && !this.has(key))
      this.clear();

    super.set(key, value);
  }
};

/***/ }),

/***/ "./node_modules/adblockpluscore/lib/contentTypes.js":
/*!**********************************************************!*\
  !*** ./node_modules/adblockpluscore/lib/contentTypes.js ***!
  \**********************************************************/
/***/ ((__unused_webpack_module, exports) => {

"use strict";
/*
 * This file is part of Adblock Plus <https://adblockplus.org/>,
 * Copyright (C) 2006-present eyeo GmbH
 *
 * Adblock Plus is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 3 as
 * published by the Free Software Foundation.
 *
 * Adblock Plus is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>.
 */

/** @module */

let contentTypes =
/**
 * Content types for request blocking and allowing (allowlisting).
 *
 * There are two kinds of content types: resource types, and special
 * (non-resource) types.
 *
 * Resource types include web resources like scripts, images, and so on.
 *
 * Special types include filter options for popup blocking and CSP header
 * injection as well as flags for allowing documents.
 *
 * By default a filter matches any resource type, but if a filter has an
 * explicit resource type, special option, or allowing flag, like
 * `$script`, `$popup`, or `$elemhide`, then it matches only the given type,
 * option, or flag.
 *
 * @type {Object}
 *
 * @public
 */
exports.contentTypes = {
  // Types of web resources.
  OTHER: 1,
  SCRIPT: 2,
  IMAGE: 4,
  STYLESHEET: 8,
  OBJECT: 16,
  SUBDOCUMENT: 32,
  WEBSOCKET: 128,
  WEBRTC: 256,
  PING: 1024,
  XMLHTTPREQUEST: 2048, // 1 << 11

  MEDIA: 16384,
  FONT: 32768, // 1 << 15

  // Special filter options.
  POPUP: 1 << 24,
  CSP: 1 << 25,
  HEADER: 1 << 26,

  // Allowing flags.
  DOCUMENT: 1 << 27,
  GENERICBLOCK: 1 << 28,
  ELEMHIDE: 1 << 29,
  GENERICHIDE: 1 << 30
};

// Backwards compatibility.
contentTypes.BACKGROUND = contentTypes.IMAGE;
contentTypes.XBL = contentTypes.OTHER;
contentTypes.DTD = contentTypes.OTHER;

const RESOURCE_TYPES =
/**
 * Bitmask for resource types like `$script`, `$image`, `$stylesheet`, and so
 * on.
 *
 * If a filter has no explicit content type, it applies to all resource types
 * (but not to any {@link module:contentTypes.SPECIAL_TYPES special types}).
 *
 * @const {number}
 *
 * @package
 */
// The first 24 bits are reserved for resource types like "script", "image",
// and so on.
// https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType
exports.RESOURCE_TYPES = (1 << 24) - 1;

const SPECIAL_TYPES = ~RESOURCE_TYPES & (1 << 31) - 1;
/**
 * Bitmask for special "types" (options and flags) like `$csp`, `$elemhide`,
 * and so on.
 *
 * @const {number}
 *
 * @package
 */
exports.SPECIAL_TYPES = SPECIAL_TYPES;

/**
 * Bitmask for "types" that match against request context more than
 * actual content type. When matching against context types, you
 * should also include the request's resource type.
 *
 * @const {number}
 *
 * @package
 */
const CONTEXT_TYPES = contentTypes.HEADER | contentTypes.CSP;
exports.CONTEXT_TYPES = CONTEXT_TYPES;

/**
 * Bitmask for "types" (flags) that are for exception rules only, like
 * `$document`, `$elemhide`, and so on.
 *
 * @const {number}
 *
 * @package
 */
exports.ALLOWING_TYPES = contentTypes.DOCUMENT |
                         contentTypes.GENERICBLOCK |
                         contentTypes.ELEMHIDE |
                         contentTypes.GENERICHIDE;

/**
 * Yields individual types from a filter's type mask.
 *
 * @param {number} contentType A filter's type mask.
 * @param {number} [selection] Which types to yield.
 *
 * @generator
 * @yields {number}
 *
 * @package
 */
exports.enumerateTypes = function* enumerateTypes(contentType, selection = ~0) {
  for (let mask = contentType & selection, bitIndex = 0;
    mask != 0; mask >>>= 1, bitIndex++) {
    if ((mask & 1) != 0) {
      // Note: The zero-fill right shift by zero is necessary for dropping the
      // sign.
      yield 1 << bitIndex >>> 0;
    }
  }
};

/***/ }),

/***/ "./node_modules/adblockpluscore/lib/downloader.js":
/*!********************************************************!*\
  !*** ./node_modules/adblockpluscore/lib/downloader.js ***!
  \********************************************************/
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {

"use strict";
/*
 * This file is part of Adblock Plus <https://adblockplus.org/>,
 * Copyright (C) 2006-present eyeo GmbH
 *
 * Adblock Plus is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 3 as
 * published by the Free Software Foundation.
 *
 * Adblock Plus is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>.
 */

/** @module */

/**
 * @file Downloads a set of URLs in regular time intervals.
 */

const {MILLIS_IN_DAY} = __webpack_require__(/*! ./time */ "./node_modules/adblockpluscore/lib/time.js");
const {isLocalhost} = __webpack_require__(/*! ./url */ "./node_modules/adblockpluscore/lib/url.js");

/**
 * A type of function that yields `{@link module:downloader.Downloadable}`
 * objects to a `{@link module:downloader.Downloader}`.
 *
 * **Note**: The implementation must yield a new
 * `{@link module:downloader.Downloadable}` instance on each call with
 * up-to-date values for properties like
 * `{@link module:downloader.Downloadable#lastCheck}`,
 * `{@link module:downloader.Downloadable#lastVersion}`,
 * `{@link module:downloader.Downloadable#downloadCount}`, and others. If a
 * value is outdated, it may result in unexpected behavior.
 *
 * @callback DataSource
 *
 * @yields {module:downloader.Downloadable}
 * @generator
 *
 * @see module:downloader.Downloader
 * @see module:downloader.Downloader#dataSource
 */

/**
 * Use a `Downloader` object to download a set of URLs at regular time
 * intervals.
 *
 * This class is used by `{@link module:synchronizer.synchronizer}` and
 * `{@link module:notifications.notifications}`.
 *
 * @example
 *
 * function* dataSource()
 * {
 *   yield new Downloadable("https://example.com/filters.txt");
 * }
 *
 * let initialDelay = 1000;
 * let checkInterval = 60000;
 *
 * let downloader = new Downloader(dataSource);
 * downloader.scheduleChecks(checkInterval, initialDelay);
 *
 * downloader.onDownloadStarted = function(downloadable)
 * {
 *   console.log(`Downloading ${downloadable.url} ...`);
 * }
 *
 * @package
 */
exports.Downloader = class Downloader {
  /**
   * Creates a new downloader instance.
   * @param {module:downloader~DataSource} dataSource
   *   A function that yields `{@link module:downloader.Downloadable}` objects
   *   on each {@link module:downloader.Downloader#scheduleChecks check}.
   */
  constructor(dataSource) {
    /**
     * Maximal time interval that the checks can be left out until the soft
     * expiration interval increases.
     * @type {number}
     */
    this.maxAbsenceInterval = 1 * MILLIS_IN_DAY;

    /**
     * Minimal time interval before retrying a download after an error.
     * @type {number}
     */
    this.minRetryInterval = 1 * MILLIS_IN_DAY;

    /**
     * Maximal allowed expiration interval; larger expiration
     * intervals will be corrected.
     * @type {number}
     */
    this.maxExpirationInterval = 14 * MILLIS_IN_DAY;

    /**
     * Maximal number of redirects before the download is considered as failed.
     * @type {number}
     */
    this.maxRedirects = 5;

    /**
     * Called whenever expiration intervals for an object need to be adapted.
     * @type {function?}
     */
    this.onExpirationChange = null;

    /**
     * Callback to be triggered whenever a download starts.
     * @type {function?}
     */
    this.onDownloadStarted = null;

    /**
     * Callback to be triggered whenever a download finishes successfully.
     *
     * The callback can return an error code to indicate that the data is
     * wrong.
     *
     * @type {function?}
     */
    this.onDownloadSuccess = null;

    /**
     * Callback to be triggered whenever a download fails.
     * @type {function?}
     */
    this.onDownloadError = null;

    /**
     * A function that yields `{@link module:downloader.Downloadable}` objects
     * on each {@link module:downloader.Downloader#scheduleChecks check}.
     * @type {module:downloader~DataSource}
     */
    this.dataSource = dataSource;

    /**
     * Set containing the URLs of objects currently being downloaded.
     * @type {Set.<string>}
     */
    this._downloading = new Set();

    /**
     * Store the timeout ID for scheduled checks.
     * @type {number}
     */
    this._timeout = 0;
  }

  /**
   * Schedules checks at regular time intervals.
   *
   * @param {number} interval The interval between checks in milliseconds.
   * @param {number} delay The delay before the initial check in milliseconds.
   */
  scheduleChecks(interval, delay) {
    // clear previous timeouts if called too many times
    this.unscheduleChecks();

    let check = () => {
      try {
        this._doCheck();
      }
      finally {
        // Schedule the next check only after the callback has finished with
        // the current check.
        this._timeout =
          setTimeout(check, interval); // eslint-disable-line no-undef
      }
    };

    // Note: test/_common.js overrides setTimeout() for the tests; if this
    // global function is used anywhere else, it may give incorrect results.
    // This is why we disable ESLint's no-undef rule locally.
    // https://gitlab.com/eyeo/adblockplus/adblockpluscore/issues/43
    this._timeout = setTimeout(check, delay); // eslint-disable-line no-undef
  }

  /**
   * Clear previously scheduled checks, if any.
   */
  unscheduleChecks() {
    if (this._timeout) {
      clearTimeout(this._timeout); // eslint-disable-line no-undef
      this._timeout = 0;
    }
  }

  /**
   * Checks whether anything needs downloading.
   */
  _doCheck() {
    let now = Date.now();
    for (let downloadable of this.dataSource()) {
      if (downloadable.lastCheck &&
          now - downloadable.lastCheck > this.maxAbsenceInterval) {
        // No checks for a long time interval - user must have been offline,
        // e.g.  during a weekend. Increase soft expiration to prevent load
        // peaks on the server.
        downloadable.softExpiration += now - downloadable.lastCheck;
      }
      downloadable.lastCheck = now;

      // Sanity check: do expiration times make sense? Make sure people changing
      // system clock don't get stuck with outdated subscriptions.
      if (downloadable.hardExpiration - now > this.maxExpirationInterval)
        downloadable.hardExpiration = now + this.maxExpirationInterval;
      if (downloadable.softExpiration - now > this.maxExpirationInterval)
        downloadable.softExpiration = now + this.maxExpirationInterval;

      // Notify the caller about changes to expiration parameters
      if (this.onExpirationChange)
        this.onExpirationChange(downloadable);

      // Does that object need downloading?
      if (downloadable.softExpiration > now &&
          downloadable.hardExpiration > now)
        continue;

      // Do not retry downloads too often
<16265 строки скрыто>

This library currently only supports Node.js enviroment.


Side-loaded keys

The CI errors are because the bindings module is missing stuff from o1js-bindings/main

https://github.com/o1-labs/o1js/pull/1606


Positive semidefinite quad_form => Problem does not follow DCP rules (cvxpy 1.0)

I have noticed that cvxpy 1.0 complains about the convexity of QPs with semidefinite Hessian. Here is the MWE:
import cvxpy
import scipy.sparse as sparse

# Define problem data
P = sparse.csc_matrix([[4., -4., 0.],
                       [-4., 8., -4.],
                       [0., -4., 4.]])
#  P += 1e-10 * sparse.eye(3)  # Uncomment to make it work

# Define CVXPY problem
x = cvxpy.Variable(P.shape[0])

# Standard objective
objective = cvxpy.quad_form(x, P)

problem = cvxpy.Problem(cvxpy.Minimize(objective), [x <= 1., x >= 0])
problem.solve()

This code returns the error
DCPError: Problem does not follow DCP rules.

I suspect this is related to the eigenvalues of P which are (12, 4, 0) but the last one appears to be -1.34708082e-16 if computed via
lam, _ = np.linalg.eig(P.todense())

By uncommenting one line in the first code snippet everything works. Would it make sense to add a tolerance on the negativity of the eigenvalues of P?

Follow-up: this has some overlap with #442 . In that situation a projection operation for PSD matrices is performed in standard arithmetic, but the result of that projection is tested against hard equality constraints (rather than np.allclose( ... )). As a result, even positive definite parameter matrices can fail tests for being PSD.
The issue in #442 really does seem to be a matter of correctness, rather than convention. Assuming it gets fixed, there's a chance that cvxpy would allow you to declare your matrix P as a PSD cvxpy Parameter (since the projection of P onto the PSD cone could have sufficiently small residual). Such behavior is undesirable because it creates inconsistency with (1) recognizing P as a PSD Parameter, but (2) refusing to allow P.value to appear in a quadratic form.

Here is a possible solution (one that I've recommended in a few other issues):
If you have a PSD matrix that might be singular, then you must define it as a cvxpy Parameter with keyword argument PSD=True. This will change the check for PSD-ness from "check nonnegativity of approximate eigenvalues", to "check residual after approximate projection onto the PSD cone".
The following code works properly:
import cvxpy
import numpy as np

# Define problem data
P = np.array([[4., -4., 0.],
                       [-4., 8., -4.],
                       [0., -4., 4.]])

# Define CVXPY problem
x = cvxpy.Variable(P.shape[0])

# Standard objective
objective = cvxpy.quad_form(x, cvxpy.Parameter(shape=P.shape, value=P, PSD=True))

problem = cvxpy.Problem(cvxpy.Minimize(objective), [x <= 1., x >= 0])
problem.solve()

@SteveDiamond, @bstellato is that an appropriate solution to this problem? (I.e., can we add the above recommendation to cvxpy documentation and close this issue?)


Frezzing when accent color changes in Windows

Description
I have my background as a slide show and accent color to auto change with it. Most of the time files will end up frezzing entirely either in the forground or background. The rare times it doesnt it will lag out for a while.
This also happends with transparacy being toggled but it will always freeze up.
Steps To Reproduce
No response
Expected behavior
The app should have minimal lag outs and should require a full resstart of files.
Files Version
<IP_ADDRESS>
Windows Version
10.0.19043.1466
Relevant Assets/Logs
debug.log
debug_fulltrust.log

@Josh-65 is this specific to Files or does it happen with all Windows apps?

Ive only encouned it with files. I havent tryed windows 11 with since how to does it seem to be diffrent

@Josh-65 it doesn't look like we have control over this process, but it looks smoother on Windows 11.


Templated components

Add content on templated components:

RenderFragment<T>, Razor templates
Generic components
Type inference
Context parameter

https://github.com/aspnet/Blazor/pull/1360
https://github.com/aspnet/Blazor/pull/1404
https://github.com/aspnet/Blazor/pull/1417
https://github.com/aspnet/Blazor/pull/1453
https://github.com/aspnet/Blazor/pull/1470

Yeah, that would be great.

@danroth27 Questions ...

I can't see milestones for the scenario PRs because they don't seem to have associated issues in the Blazor repo. These are for 0.6.0, right? Since 0.6.0 isn't released, we're aiming to publish coverage for both scenarios immediately after 0.6.0 comes out, correct? If so, I'd put this on my schedule for the Sunday immediately following release or the day of/after if you want me to slide it in mid-week.
These scenarios are on the same issue here. Are generic-typed components ...
a. A section of the existing Components topic?
b. It's own topic? Our "Components" topic is a landing page on a TOC node "Components," so we can roll a new standalone topic under that node if you want. That was my plan for components scenarios ... any of the current sections of the Components topic can be split out at any time into its own topic under this node.
c. Covered with templates? ... a templates example has a generic-typed component, and that's the only place a generic-typed component appears.
Place the templates topic under the Components node or in the main TOC? If main TOC, where along the list in the nav sidebar should it appear?

If there's a split in scenario coverage (2a or 2b), I'd like to open these scenarios on separate doc issues. I would seek to get them both covered on the same day; but if I fail, we could at least get one merged quickly and the other would follow shortly thereafter.

Hi @guardrex,
Yes, all of the templated component work is in 0.6.0. Everything planned for 0.6.0 is pretty much wrapped up. We plan to do some validation on the 0.6.0 bits and then push out the 0.6.0 release either later this week or early next week.
I would cover all of this (generic typed components, component templates) as sections in the components topic. If you think the components topic is getting too big and unweildy, I'm open to splitting it out into separate subtopics.
We should also cover type inference for generic typed components: https://github.com/aspnet/Blazor/pull/1453

@danroth27 Perfect. I'll get bored after a few days of PTO this week anyway. :smile:

sections in the components topic

If either of these sections turn out too BIG (Ryan's issue remarks on Templated Components are fairly 🍖 meaty), then we can split out one or both into a topic on review.
I haven't been building for pre-releases. My pattern has been to use RTM bits and crank the doc work out quickly (e.g., sample updates). Since I'll be on "vacation," I should be able to do the work same day as the release.


Enable Buildkit on OCaml-CI

Effectively cherry-picked from https://github.com/ocurrent/ocurrent-deployer/pull/166

I don't think so, but let's try it on one first before going all in.

Perhaps we should also pass --progress plain to Docker, and set the PROGRESS_NO_TRUNC=1 env var (maybe not needed anymore).

When I tested it the parallel parts of the build were displayed in large blocks.


Load application even when IndexedDB is unavailable

Description
This is an issue in browsers where IndexedDB is unavailable while in private browsing mode (i.e., Firefox). The Chromium browsers are fine because they make use of an emulation of IndexedDB that only exists in memory.
Regression introduced in #2396. Related to #2238.
Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[ ] Code quality improvements

How to test
Open the Source Academy in Firefox's private browsing mode and check that the application loads.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 1 (0.0%)  changed or added relevant line in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage remained the same at 34.845%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/index.tsx
0
1
0.0%

Files with Coverage Reduction
New Missed Lines
%

src/index.tsx
1
0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
4791

Relevant Lines:
12810

💛  - Coveralls


[v1.0.0-rc3] Images are no longer being relayed D->M

Picture sent on Discord are no longer being relayed to Matrix on v1.0.0-rc3.
The log contains:
Nov 08 16:56:50 hp2 matrix-appservice-discord[26513]: Nov-8 16:56:50.849 [bot-sdkMatrixLiteClient (REQ-3)] error: [ { errcode: 'M_UNKNOWN', error: "'body' not in content" } ]

Seems to be solved on 1d6877503145213ae33d382e27ff96221d9aa6ef on hs/bump-to-v12.


Do I have to use NVDIA GPU?

The software asks for JAX [CUBA]. It seems that I had to install NVDIA drivers.
Thanks!

Yes, the software requires an NVIDIA GPU

I guess you can run jax and pytorch etc without a GPU, but it would be painfully slow?


Add FutureStream based IO implementation : cyclops-futurestream

ReactiveSeqIO by default uses Spouts which creates single threaded reactive-streams based asynchronous / push Stream.
FutureStreams offer concurrent multi-threaded based execution (with a push / pull model) - they are useful for setting up typical multi-threaded blocking I/O tasks in Java in a simple and safe manner. Ideally suited to many of the IO use cases.

Released.


[NEW ALGORITHM] LONGEST REMAINING TIME FIRST CPU SCHEDULING

Issue will be closed if:

You mention more than one algorithm. You can create a separate issue for each algorithm once the current one is completed.
You propose an algorithm that is already present or has been mentioned in a previous issue.
You create a new issue without completing your previous issue.

Note: These actions will be taken seriously. Failure to follow the guidelines may result in the immediate closure of your issue.

Name:
[NEW ALGORITHM]  LONGEST REMAINING TIME FIRST CPU SCHEDULING
About:
Propose a new algorithm to be added to the repository
The Longest Remaining Time First (LRTF) scheduling algorithm is a preemptive version of the Longest Job First (LJF) scheduling. In LRTF, the process with the longest remaining burst time is chosen to execute next, and it can be preempted if a new process arrives with a longer remaining burst time.

Labels:
new algorithm, gssoc-ext, hacktoberfest, level1

Assignees:

[x] Contributor in GSSoC-ext
[x] Want to work on it

@pankaj-bind i want to work on this issue

assigned


Fix bug of templating a string field

This was presented in the refactoring done in e7b7f1ce24be397c12762b72404dbdabbcf0aa36
String values have to be set explicitly using SetString()
SetString is called only for settable values.
See laws of reflection here:
https://blog.golang.org/laws-of-reflection
Also added tests for Process() with the inputs struct and basic string

Thanks @zgalor, needs test

/lgtm


Modern Authentication (OAuth) credentials fail

All tests that require a valid M365 / O365 account fail when providing the Modern Authentication (OAuth) credentials.  We do have MFA with conditional access, and I am prompted for MFA approval when off VPN but the process fails.  When on-VPN I am seen as coming from a trusted site and am not prompted for MFA, but this also fails.  I am 100% sure my password is correct.  Tried with Chrome & Edge using Incognito.

Hi Paul, thanks for reporting this issue. We haven't done much testing of using modern authentication with conditional access, so I'll see if there's something we need to improve there. Please use the feedback email link in the footer of the web site for reporting these kinds of issues, unless it's a problem with the documentation, in which case, this is the perfect place.

Thanks Brad for the feedback.  I'll use the website feedback link in the
future.  :-)
On Thu, 24 Jun 2021 at 17:00, Brad Hughes @.***> wrote:

Hi Paul, thanks for reporting this issue. We haven't done much testing of
using modern authentication with conditional access, so I'll see if there's
something we need to improve there. Please use the feedback email link in
the footer of the web site for reporting these kinds of issues, unless it's
a problem with the documentation, in which case, this is the perfect place.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/OfficeDocs-ConnectivityAnalyzer/issues/10#issuecomment-867706546,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMVFGGOZ5J4XFVT57M6XNDTUNCBNANCNFSM47IAPRSA
.


intellisense not working

Version: 1.42.0
Commit: ae08d5460b5a45169385ff3fd44208f431992451
Date: 2020-02-06T10:51:33.119Z
Electron: 6.1.6
Chrome: 76.0.3809.146
Node.js: 12.4.0
V8: 7.6.303.31-electron.0
OS: Darwin x64 19.2.0

Steps to Reproduce:
So Previously my autocomplete when writing import statements and cmd + click to go to definition used to work properly but after formatting my mac and upgrading to the latest OS, my intellisense have stopped working for any repo (ts and non-ts project)

In the above gif when I click on the definition/or import path, it won't take me to that file/function (go to definition)
When I do import foo from "{something}. in the place for something when I try to reference the file it used to give me suggestions based on the folders/files but that doesn't seem to be working as well (auto complete imports)

My settings.json
{
    "editor.tabCompletion": "on",
    "emmet.showSuggestionsAsSnippets": true,
    "editor.suggestSelection": "first",
    "editor.multiCursorModifier": "alt",
}

What have I tried.

Disabling all my plugins
javaScript and TypeScript Nightly build extension (just installed it)
I went to version 1.36 in which everything was working, then through mac preference I decided to update the VS-Code to 1.42 and everything was broken

Does this issue occur when all extensions are disabled?: Yes

having the exact same issue

Please provide self-contained repo with a step-by-step explanation of how to reproduce the problem

@mjbvz

it was happening in every repo
There is a GIF in my issue to explain everything (I am not sure about step-by-step explanation to reproduce the problem)

Anyway, If this helps, I moved back to version 1.37 and started using it. sometime in between VS code would have auto-updated to the latest version. Now I am on version 1.42 and everything is working.
The trick here for me was to downgrade to 1.37 and work until VS code update by itself. Manually Updating from preference wasn't of any help.
Matt, I no longer have the problem but not sure if I should close the issue or not.

Ok, closing this for now since it is no longer happening
Gifs are really hard to follow for issue anything more than the most basic issue reports (and you can't copy text from them!), so in the future please try to use the following structure when reporting issues:
Steps to reproduce

Starting in state
Do X
Do Y
...

Expected
What should have happened
Actual
What actually happened


Update verifying-your-account.md

Description of the change: Fix typo
Reason for the change: Remove duplicate "see"
Link to original source: https://sendgrid.com/docs/ui/account-and-settings/verifying-your-account/#setting-up-domain-authentication

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hello @ChatPion,Thanks again for the PR!                                         You have earned 2 out of the 5 points needed to receive glorious SendGrid Hacktoberfest swag.                                         Please take a moment to checkout this link to find more issues to get you past the required threshold or to simply continue the celebration.                                         Also, please be sure you have officially registered with us here by November 1, 2018 to qualify.                                         If you have any questions you can email us at<EMAIL_ADDRESS>                                        Thank you and Happy Hacktobering!                                         Team SendGrid


Patch 0.219.16 Broke CropUtils

I just realized there was a small patch today and I think it broke your mod. I can no longer plant anything with it. I'm wondering if this change from the patch notes may have broken it?

World modifier “No Build Cost” no longer allows food to be placed freely, this is now part of the “No Craft Cost” world modifier

I've not made any changes to the default config. When I hold Alt now, it only shows 2 crops but won't let me plant when clicked.
When I'm NOT over soil, it shows the red indicators for the full line. If I then move my mouse over tilled soil areas, it gets screwy and starts placing red-indicated crops in random patterns over the soil.

I look forward to this being resolved! This is a fantastic mod that lets me get a lot of chores done during nighttimes in game.

jumping in for visibility - I'm also experiencing this!

Thanks for the heads up!
Mod version 1.5.2 appears to work again on latest.
Good luck with your crops!


Fix select search icon

Pull Request
🤨 Rationale
Fixes #2287
👩💻 Implementation
There were two styling issues with the icon:

The icon was shrinking because flex-shrink wasn't set
The space between the icon and the side of the drop-down was set with padding rather than a margin, which messed with the space that the svg had to render within the icon element

🧪 Testing
Manually inspected in storybook
✅ Checklist

[ ] I have updated the project documentation to reflect my changes or determined no changes are needed.

@m-akinc, will you buddy this PR for me?

Enabled automerge for small change to bypass @jattasNI


Private Method Conflict Between Helpers Causes Incorrect Method Call

What Ruby, Rails and RSpec versions are you using?
Ruby version: ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-linux-gnu]
Rails version: <IP_ADDRESS>
RSpec version: 3.13

rspec-core 3.13.0
rspec-expectations 3.13.1
rspec-mocks 3.13.1
rspec-rails 6.1.3
rspec-support 3.13.1

Observed behaviour

If two helpers share the name of a private method, the tests will call the last one in alphabetical order.
Expected behaviour
Each Helper should maintain its own methods.

Can you provide an example reproduction?

Create a Helper:

# frozen_string_literal: true

module HelperOneHelper
  def super_def
    private_def
  end

  private

  def private_def
    "HelperOne"
  end

end

Create anotherone sharing the name of the private method

# frozen_string_literal: true

module HelperTwoHelper
  def super_def_two
    private_def
  end

  private

  def private_def
    "HelperTwo"
  end

end

Create the test for the first Helper

# spec/helpers/helper_one_helper_spec.rb
require 'rails_helper'

RSpec.describe HelperOneHelper, type: :helper do
  describe '#super_def' do
    it 'calls the private method and returns the expected string' do
      expect(helper.super_def).to eq("HelperOne")
    end
  end
end

You should get

Example
clone https://github.com/OsvaldoGDelRio/helper-failure
run rspec

As far as I can see here is the origin of this:
/var/lib/gems/3.1.0/gems/rspec-rails-6.1.3/lib/rspec/rails/example/helper_example_group.rb
def helper
  _view.tap do |v|
    v.extend(ApplicationHelper) if defined?(ApplicationHelper)
    v.assign(view_assigns)
  end
end

How would it work in the controller if you include both?

How would it work in the controller if you include both?

The same way, it uses the method from the last Helper, in this case Helper two. I guess Rspec is just following the same behavior. Surprisingly, I guess we should give different names for the private methods or encapsulate them into another module.

:wave: Method conflicts like this will cause this behaviour, its not something specific to RSpec except that we include both the helper module under test and ApplicationHelper, this is by design.

The only case I can think of is when you include helper A in controller X, and helper B in controller Y.
If A & B’s overlap, this will work in controllers, but not in specs.
Or am I talking nonsense?
Is this something worth fixing?

If they work in controllers they will work in specs, all we do is essentially:
class ThisTestsHelper
  include ApplicationHelper
  include ModuleUnderTest
end

So these must be in ApplicationHelper and must overlap.


Watchfiles does not report changes made by a different user in a directory

I launch watchfiles to observe a directory path /a/b/c as userA. If userA adds/removes a file in /a/b/c, watchfiles can detect changes just fine. However, if userB puts a file in /a/b/c, watchfiles just ignores those. Is there some setting/mechanism thereby which, I can tell watchfiles to detect any changes irrespective of which user added/removed files? Thanks.

It would be helpful if you could include which OS you're using and any other details.
It might be fixed by setting force_polling.

I'm using SUSE Enterprise LInux version 12.

I instantiate the watcher as follows. I am not doing anything special.

 class MyFilter(DefaultFilter):
     allowed_extensions = '.txt', '.txt.gz'
     def __call__(self, change: Change, path: str) -> bool:
         return super().__call__(change, path) and path.endswith(self.allowed_extensions) and change == Change.added

def _process(changes):
     """Process added  files."""

     for _, spofi_file in changes:
         log.info('Process %s', spofi_file)

def main()
    ....
    _incoming_dir = Path('/a/b/c').resolve()
    run_process(_incoming_dir, target=None, callback=_process, watch_filter=MyFilter(), step=30000)

Is it fixed by using force polling.

Yes, it seems be working ok if I do
os.environ['WATCHFILES_FORCE_POLLING'] = '1'
run_process(...)


Update actions-billing.md

Without "both", I interpreted text as referring to just one category: "public repositories using self-hosted runners", which is not correct.
You could also use an Oxford comma here :) but I think "both" is clearer.

Why:
#2134 details the perceived ambiguity.

What's being changed:
Add a word.

Check off the following:

[ ] All of the tests are passing.
[ ] I have reviewed my changes in staging. (look for the deploy-to-heroku link in your pull request, then click View deployment)
[x] For content changes, I have reviewed the localization checklist
[x] For content changes, I have reviewed the Content style guide for GitHub Docs.

@hwine Thanks so much for opening a PR! I'll get this triaged for review ⚡

Thanks for your patience! Our small team is working our way through reviewing all of the amazing contributions ✨

Thanks for your patience! Our small team is working our way through reviewing all of the amazing contributions ✨

That's the flip side of community involvement :)  Lots of extra admin time! (hoping this resets stale)

Thanks for your patience! Our small team is working our way through reviewing all of the amazing contributions ✨

That's the flip side of community involvement :)  Lots of extra admin time! (hoping this resets stale)

stale reset

stale reset


No "extract_icdar_output" function in ocrpostcorrection.token_classification

Hi jvdzwaan,
In the "icdar-create-hf-dataset.ipynb" the part of "Create 'perfect' icdar output", from ocrpostcorrection.token_classification import extract_icdar_output, there is no extract_icdar_output in token_classification.py. How to fix this problem? Also, what is the "Create 'perfect' icdar output" part for?
Thank you!

Also, in the line of !python ../evalTool_ICDAR2017.py ../../../data/ICDAR2019_POCR_competition_dataset/ICDAR2019_POCR_competition_evaluation_4M_without_Finnish {out_json} {out_csv}, there is no function called evalTool_ICDAR2017.py .

Hi Bo-Feng,
from ocrpostcorrection.token_classification import extract_icdar_output should be from ocrpostcorrection.utils import extract_icdar_output. I guess I used the code in the icdar-create-hf-dataset.ipynb to make the create_perfect_icdar_output function (also in ocrpostcorrection.utils).
'Perfect icdar output` is basically a mapping from all ocr mistakes in the icdar data to their correction. The idea is to use 'perfect icdar output' as input for error correction (task 2), to be able to evaluate the performance of the error correction model separately (instead of evaluating performance for error detection and correction simultaneously). This work is still in progress :)
You are correct that there is no module evalTool_ICDAR2017.py anymore. I have added the evaluation function to ocrpostcorrection.utils (see also: https://jvdzwaan.github.io/ocrpostcorrection/utils.html#running-the-icdar-evaluation-script). To run the evaluation function, you can use runEvaluation (from ocrpostcorrection.utils). (I also changed the code of the evaluation function a bit, because there was a bug in it).
I have updated the notebook.

Thank you very much!


Auto Commenting when a PR is merged

This feature aims to solve the problem of inconsistent and delayed communication following the merging of PRs. By automating the commenting process, it ensures that contributors receive timely feedback and acknowledgments. It also reduces the administrative burden on maintainers, allowing them to focus more on code reviews and other critical tasks.
Could you please assign me this issue under GSSOC'24.

Hey! @suhanipaliwal  You have been assigned the issue, please start working on it.


Enable opening a local terminal while the remote resolver is running

Fix microsoft/vscode-remote-release#7324
Need to unblock the path to opening a local terminal, triggered by a remote resolver, before the workbench has loaded (ie connected to a remote)

remote-ssh doesn't have tests that run a live resolver. We run integration/smoke tests with the Test-Resolver, but even if we modify that to create a terminal, it still doesn't cover the case of opening a window that has the right kind of tree open. Maybe there's a useful test that could be written at the unit level, to make sure that some path is not blocked with a LifecycleService in a certain phase? But I don't know how to cover the whole scenario 🤷


Copy cover images

Based on work of Korbinian Pauli<EMAIL_ADDRESS>https://github.com/muxcom/flac2mp3

Thanks!


Paired-end reads?

Hello,
I was wondering what would you recommend doing with PE reads. Since it's k-mer based, just concatenate R1 and R2, I guess?

Hi!
Yes, as it is k-mer based, PE information is not used. Just concatenate files together and use it as input.


Update: Swedish

Strings.sv.resx needs to be updated.
@eson57 maybe you can assist :)

Of course! Done!  :)

THANK YOU! 👍


FileNotFoundError on Windows

Not sure if you support Windows but I tried to run the demo_part1.ipybn in VS Code Jupyter then got an error:

I'm not very familiar with Python but I guess there's something wrong about the file path. Could anyone please show me how to run the demo on Windows? Thanks.

Could you show your folder structure including all subfolders

The repo is cloned at C:\AI\OpenVoice. No changes for any subfolders.

im having the same error :(

tried conda install ffmpeg and it worked just fine

Thanks @Djamel-Touati2108 ! Yes it works now. Previously I tried to use pip install ffmpeg but not working. So I should use conda install ffmpeg then it works. Thanks again!
@Zengyi-Qin  This issue can be closed. Thanks.


Reproducing Fig. 12

Hi, I am currently working on reproducing the results presented in Fig. 12 for the ICM method and have encountered some challenges. Specifically, according to Fig. 12, the ICM reward appears to converge to approximately 10+ after 1e7 steps. However, when running the notebook provided at https://github.com/RLE-Foundation/RLeXplore/blob/main/1 rlexplore_with_rllte.ipynb and setting the rewards to intrinsic rewards only (instead of the combined intrinsic and extrinsic rewards), I observed a reward of 30 at 5e6 steps.
Specifically, I change 'self.storage.rewards += intrinsic_rewards.to(self.device)' to 'self.storage.rewards = intrinsic_rewards.to(self.device)' at https://github.com/RLE-Foundation/rllte/blob/eeefdedb2ceee3ae1abfe88896cae3b8b62b4c05/rllte/common/prototype/on_policy_agent.py#L168.
This discrepancy has led me to question whether my understanding of Fig. 12 is correct. Could you kindly clarify the methodology or provide guidance on how to replicate the ICM results as depicted in Fig. 12?
Thank you for your time and for making such valuable resources available to the community. I appreciate any insights or suggestions you may offer. Have a nice day.

Share your email with me so I can send the exp code to u.

Thanks a lot.
<EMAIL_ADDRESS>

Share your email with me so I can send the exp code to u.

Thanks a lot.
<EMAIL_ADDRESS>

sent via email.


Truncate Table

Instead of dropping table and creating a new one, is there a way to truncate/delete all records in an existing table to then loading up the new data?

I'm sure this is possible. Whether there is a benefit is debatable. From what I understand it is better to drop and create: "COPY loads large amounts of data much more efficiently than using INSERT statements, and stores the data more effectively as well." (https://docs.aws.amazon.com/redshift/latest/dg/c_best-practices-use-copy.html).
Is there a specific reason that it is better? @yaojiach do you have any thoughts on this?

@kokoro011 was this request due to performance or another reason? Will be closing this issue if there is no benefit to truncation.

It could be helpful when you don't want to append to an existing table and don't want to re-specify the column types either.

archiving repository


Update autorest version to prerelease 3.0.0-alpha.20240514.3

Triggered from refs/pull/4708/head

close since it's covered in https://github.com/Azure/azure-sdk-for-net/pull/44078


can not specify local directory for extensions

mkc init microbit ../my-pxt-jacdac gives the following output:
initializing project for micro:bit
saving main.ts
saving pxt.json
saving tsconfig.json
saving .prettierrc
saving .github/workflows/makecode.yml
using project: /Users/andrew/mkctest/pxt.json
using config: /Users/andrew/mkctest/mkc.json
using editor: https://makecode.microbit.org/beta v5.1.5
resolution of ../my-pxt-jacdac failed (404)

Ok, so let's try with file://, which errors out because it doesn't understand that URI:
unkown repository format, try https://github.com/.../...

Ok, try mkc add -- same results with these two different methods.
If I run the init without the extension, I can add the local directory just fine by editing mkc.json as outlined at https://microsoft.github.io/pxt-mkc/.
It seems that this should be doable from the mkc init and mkc add command lines.

see https://github.com/microsoft/pxt-mkc?tab=readme-ov-file#advanced-configuration
add a links section (relative path to extension) in mkc.json such as
    "links": {
        "jacdac": "../../pxt-jacdac"
    },


Update feature.textproto

Feature textproto update to include following config and state level paths for neighbor port definition. This is an extension of the Feature profile test covered in pull/1761

/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/config/neighbor-port

/network-instances/network-instance/protocols/protocol/bgp/neighbors/neighbor/state/neighbor-port

Pull Request Functional Test Report for #2010 / 5cc6def8f4e902b9a42779b45861295c9803cf9d
No tests identified for validation.
Help


Letter Case Permutation using recursion

Have you read the Contributing Guidelines on Pull Requests?
Yes
Description
Letter Case Permutation using recursion
Checklist

[✔] I've read the contribution guidelines.
[✔] I've checked the issue list before deciding what to submit.
[✔] I've edited the README.md and link to my code.

Related Issues or Pull Requests
#1545

Make separate PRs for every Problem. Otherwise this would become messy for us to evaluate your Scores depending on Issues you solve.

@HarshCasper  Done


Import redis.exceptions.DataError

Hi,
While simply trying to install modin and importing it, I get the following error from Redis:
redis.exceptions.DataError: Invalid input of type: 'NoneType'. Convert to a byte, string or number first.
Full trace:

Is this a known issue or dependency missing?
Thank you for your help!

Hi @Timonzimm thanks for posting this! It looks like something is going wrong when the Ray runtime is starting up.
Can you tell me your OS distribution (including which version)?
Also, can you try the following:
import ray
ray.init()

Does that produce the same error?
cc @robertnishihara: I haven't been able to find an open issue about this in Ray.

Hi, @devin-petersohn , I have exactly the same issue, in different OS and platforms, I tried in a cluster, in my mac, in ubuntu, with and without virtual environments, different python versions from 2.7, 3.5, 3.6 and 3.7 and still can make it work.
import ray
ray.init()
gives exactly the same error

The problem is with the redis dependency in Ray. I was able to reproduce the error by upgrading my redis install.
Here is the fix:
pip install redis==2.10.6
Then you should be able to run Modin and Ray without the redis error.

I created an issue in Ray to get this fixed. https://github.com/ray-project/ray/issues/3334

For now, we have pinned Modin to redis==2.10.6 (see #262). We will do a point release for users.

It indeed solved the problem, thank you for the reactivity!
Unfortunately I run into another issue now from "pandas.errors.ParserError " when I read_csv. This package doesn't seem to be as robust/polished as it might be needed unortunately.

@Timonzimm Does the error look like the one in #247? We can move the conversation there if it does, otherwise it would be good to open another issue to track it. These are usually environment issues that are not easy to debug without being able to reproduce them.
Regarding your comments on the polished nature of the project, we are actively accepting contributors. The Modin repo is 4 months old, and we started the proof of concept in February of this year. If you'd like to contribute to the future of the project, I would be happy to point you to some open issues that are good for first time contributors.

hi,@devin-petersohn ,
on my Fedora Workstation 29, i did :
pip install redis==2.10.6,
then
import modin.pandas as pd
the following error happened:
/home/boxi/anaconda3/envs/boxquant/bin/python /home/boxi/quant/boxquant/config/ctp_sqlite_sqcripts.py
WARNING: Not updating worker name since setproctitle is not installed. Install this with pip install setproctitle (or ray[debug]) to enable monitoring of worker processes.
Process STDOUT and STDERR is being redirected to /tmp/ray/session_2019-04-24_17-35-54_15822/logs.
Waiting for redis server at <IP_ADDRESS>:52055 to respond...
Waiting for redis server at <IP_ADDRESS>:40906 to respond...
Starting Redis shard with 10.0 GB max memory.
WARNING: The object store is using /tmp instead of /dev/shm because /dev/shm has only<PHONE_NUMBER> bytes available. This may slow down performance! You may be able to free up space by deleting files in /dev/shm or terminating any running plasma_store_server processes. If you are inside a Docker container, you may need to pass an argument with the flag '--shm-size' to 'docker run'.
Starting the Plasma object store with 10.0 GB memory using /tmp.
WARNING: Logging before InitGoogleLogging() is written to STDERR
E0424 17:35:54.506184 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 50 more times
WARNING: Logging before InitGoogleLogging() is written to STDERR
E0424 17:35:54.509299 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 50 more times
E0424 17:35:54.606878 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 49 more times
E0424 17:35:54.609704 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 49 more times
E0424 17:35:54.707151 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 48 more times
E0424 17:35:54.710005 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 48 more times
E0424 17:35:54.807734 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 47 more times
E0424 17:35:54.810328 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 47 more times
E0424 17:35:54.908341 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 46 more times
E0424 17:35:54.910764 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 46 more times
E0424 17:35:55.008977 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 45 more times
E0424 17:35:55.010982 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 45 more times
E0424 17:35:55.109438 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 44 more times
E0424 17:35:55.111712 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 44 more times
E0424 17:35:55.210038 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 43 more times
E0424 17:35:55.212116 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 43 more times
E0424 17:35:55.310714 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 42 more times
E0424 17:35:55.312721 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 42 more times
E0424 17:35:55.411315 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 41 more times
E0424 17:35:55.413293 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 41 more times
E0424 17:35:55.511747 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 40 more times
E0424 17:35:55.513878 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 40 more times
E0424 17:35:55.611965 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 39 more times
E0424 17:35:55.614096 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 39 more times
E0424 17:35:55.712563 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 38 more times
E0424 17:35:55.714285 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 38 more times
E0424 17:35:55.812779 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 37 more times
E0424 17:35:55.814910 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 37 more times
E0424 17:35:55.913388 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 36 more times
E0424 17:35:55.915520 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 36 more times
E0424 17:35:56.013998 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 35 more times
E0424 17:35:56.016012 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 35 more times
E0424 17:35:56.114574 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 34 more times
E0424 17:35:56.116686 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 34 more times
E0424 17:35:56.214918 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 33 more times
E0424 17:35:56.217034 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 33 more times
E0424 17:35:56.315464 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 32 more times
E0424 17:35:56.317617 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 32 more times
E0424 17:35:56.415799 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 31 more times
E0424 17:35:56.418257 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 31 more times
E0424 17:35:56.516168 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 30 more times
E0424 17:35:56.518838 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 30 more times
E0424 17:35:56.616492 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 29 more times
E0424 17:35:56.619168 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 29 more times
E0424 17:35:56.716696 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 28 more times
E0424 17:35:56.719399 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 28 more times
E0424 17:35:56.817286 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 27 more times
E0424 17:35:56.819984 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 27 more times
E0424 17:35:56.917877 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 26 more times
E0424 17:35:56.920507 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 26 more times
E0424 17:35:57.018157 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 25 more times
E0424 17:35:57.020800 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 25 more times
E0424 17:35:57.118706 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 24 more times
E0424 17:35:57.121376 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 24 more times
E0424 17:35:57.219295 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 23 more times
E0424 17:35:57.221974 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 23 more times
E0424 17:35:57.319676 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 22 more times
E0424 17:35:57.322352 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 22 more times
E0424 17:35:57.420177 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 21 more times
E0424 17:35:57.422863 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 21 more times
E0424 17:35:57.520512 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 20 more times
E0424 17:35:57.523238 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 20 more times
E0424 17:35:57.621106 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 19 more times
E0424 17:35:57.623762 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 19 more times
E0424 17:35:57.721662 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 18 more times
E0424 17:35:57.724355 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 18 more times
E0424 17:35:57.822393 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 17 more times
E0424 17:35:57.825044 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 17 more times
E0424 17:35:57.922927 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 16 more times
E0424 17:35:57.925622 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 16 more times
E0424 17:35:58.023386 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 15 more times
E0424 17:35:58.026187 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 15 more times
E0424 17:35:58.124063 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 14 more times
E0424 17:35:58.126826 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 14 more times
E0424 17:35:58.224673 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 13 more times
E0424 17:35:58.227442 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 13 more times
E0424 17:35:58.325214 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 12 more times
E0424 17:35:58.327872 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 12 more times
E0424 17:35:58.425904 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 11 more times
E0424 17:35:58.428555 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 11 more times
E0424 17:35:58.526495 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 10 more times
E0424 17:35:58.529139 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 10 more times
E0424 17:35:58.626967 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 9 more times
E0424 17:35:58.629629 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 9 more times
E0424 17:35:58.727138 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 8 more times
E0424 17:35:58.729840 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 8 more times
E0424 17:35:58.827760 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 7 more times
E0424 17:35:58.829989 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 7 more times
E0424 17:35:58.928319 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 6 more times
E0424 17:35:58.930469 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 6 more times
E0424 17:35:59.028827 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 5 more times
E0424 17:35:59.031031 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 5 more times
E0424 17:35:59.129384 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 4 more times
E0424 17:35:59.131528 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 4 more times
E0424 17:35:59.229974 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 3 more times
E0424 17:35:59.232112 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 3 more times
E0424 17:35:59.330598 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 2 more times
E0424 17:35:59.332716 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 2 more times
E0424 17:35:59.430876 15843 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 1 more times
E0424 17:35:59.432942 15822 io.cc:168] Connection to IPC socket failed for pathname /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store, retrying 1 more times
F0424 17:35:59.531457 15843 object_store_notification_manager.cc:23]  Check failed: _s.ok() Bad status: IOError: Could not connect to socket /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store
*** Check failure stack trace: ***
*** Aborted at<PHONE_NUMBER> (unix time) try "date -d @1556098559" if you are using GNU date ***
PC: @                0x0 (unknown)
*** SIGABRT (@0x3e800003de3) received by PID 15843 (TID 0x7f4b2792c740) from PID 15843; stack trace: ***
@     0x7f4b27e4af70 (unknown)
@     0x7f4b2796953f __GI_raise
@     0x7f4b27953895 __GI_abort
@           0x5b85fd google::logging_fail()
@           0x5b8626 google::LogMessage::Fail()
@           0x5b8572 google::LogMessage::SendToLog()
@           0x5b7ef6 google::LogMessage::Flush()
@           0x5b7d05 google::LogMessage::~LogMessage()
@           0x5a7788 arrow::util::ArrowLog::~ArrowLog()
Traceback (most recent call last):
File "/home/boxi/quant/boxquant/config/ctp_sqlite_sqcripts.py", line 387, in
import modin.pandas as pd
File "/home/boxi/anaconda3/envs/boxquant/lib/python3.7/site-packages/modin/pandas/init.py", line 182, in
initialize_ray()
File "/home/boxi/anaconda3/envs/boxquant/lib/python3.7/site-packages/modin/pandas/init.py", line 174, in initialize_ray
object_store_memory=object_store_memory,
File "/home/boxi/anaconda3/envs/boxquant/lib/python3.7/site-packages/ray/worker.py", line 1530, in init
@           0x56380d ray::ObjectStoreNotificationManager::ObjectStoreNotificationManager()
driver_id=driver_id)
File "/home/boxi/anaconda3/envs/boxquant/lib/python3.7/site-packages/ray/worker.py", line 1882, in connect
@           0x51ecd3 ray::ObjectManager::ObjectManager()
@           0x4c3ac4 ray::raylet::Raylet::Raylet()
plasma.connect(info["store_socket_name"]))
File "pyarrow/_plasma.pyx", line 789, in pyarrow._plasma.connect
File "pyarrow/error.pxi", line 83, in pyarrow.lib.check_status
pyarrow.lib.ArrowIOError: Could not connect to socket /tmp/ray/session_2019-04-24_17-35-54_15822/sockets/plasma_store
Process finished with exit code 1

Hi @boxigg, thanks for posting!
Your error looks unrelated to the original issue, rather looks like #468. Should we move the conversation there?

Hi@devin-petersohn, you are right,  https://github.com/modin-project/modin/issues/468 is what i meet.

I am trying to load url as keys to redis and getting this error
this is how my URL looks like:
https://d2i6pukzef2l69.cloudfront.net/nrm/images/STTM_VE;MEAS_CD_SEM/1A1JA/RUN01/1A1JA_STTM_VE_MEAS_CD_SEM_{S9_STTM_TEST_S9_STTM_TEST_M1}_DX6DY11SDX2SDY10_2020-10-20_04-25-17.JPG
https://d2i6pukzef2l69.cloudfront.net/nrm/images/STTM_VE;MEAS_CD_SEM/1A1JA/RUN01/1A1JA_STTM_VE_MEAS_CD_SEM_{S9_STTM_TEST_S9_STTM_TEST_M1}_DX6DY11SDX13SDY41_2020-10-20_04-25-17.JPG
https://d2i6pukzef2l69.cloudfront.net/stst/images/STTM_VE;MEAS_CD_SEM/A7HXM/RUN01/A7HXM_STTM_VE_MEAS_CD_SEM_{S9_STTM_KLA_TEST_2_S9_STTM_TEST_M1}_DX6DY9SDX7SDY23_2020-10-20_08-02-12.JPG
https://d2i6pukzef2l69.cloudfront.net/stst/images/STTM_VE;MEAS_CD_SEM/A7HXM/RUN01/A7HXM_STTM_VE_MEAS_CD_SEM_{S9_STTM_KLA_TEST_2_S9_STTM_TEST_M1}_DX6DY9SDX10SDY33_2020-10-20_08-02-12.JPG
https://d2i6pukzef2l69.cloudfront.net/nrm/images/STTM_VE;MEAS_CD_SEM/V92KI/RUN01/V92KI_STTM_VE_MEAS_CD_SEM_{S9_STTM_TEST_3_S9_STTM_TEST_M1}_DX11DY14SDX11SDY14_2020-10-20_02-24-06.JPG
https://d2i6pukzef2l69.cloudfront.net/nrm/images/STTM_VE;MEAS_CD_SEM/V92KI/RUN01/V92KI_STTM_VE_MEAS_CD_SEM_{S9_STTM_TEST_3_S9_STTM_TEST_M1}_DX11DY14SDX6SDY35_2020-10-20_02-24-06.JPG
https://d2i6pukzef2l69.cloudfront.net/nrm/images/STTM_VE;MEAS_CD_SEM/V92KI/RUN01/V92KI_STTM_VE_MEAS_CD_SEM_{S9_STTM_TEST_2_S9_STTM_TEST_M1}_DX5DY9SDX10SDY33_2020-10-20_02-24-06.JPG
https://d2i6pukzef2l69.cloudfront.net/nrm/images/STTM_VE;MEAS_CD_SEM/V92KI/RUN01/V92KI_STTM_VE_MEAS_CD_SEM_{S9_STTM_TEST_2_S9_STTM_TEST_M1}_DX5DY9SDX7SDY23_2020-10-20_02-24-06.JPG
https://d2i6pukzef2l69.cloudfront.net/nrm/images/STTM_VE;MEAS_CD_SEM/V92KI/RUN01/V92KI_STTM_VE_MEAS_CD_SEM_{S9_STTM_TEST_2_S9_STTM_TEST_M1}_DX4DY6SDX10SDY33_2020-10-20_02-24-06.JPG
https://d2i6pukzef2l69.cloudfront.net/nrm/images/STTM_VE;MEAS_CD_SEM/V92KI/RUN01/V92KI_STTM_VE_MEAS_CD_SEM_{S9_STTM_TEST_2_S9_STTM_TEST_M1}_DX4DY6SDX7SDY23_2020-10-20_02-24-06.JPG
https://d2i6pukzef2l69.cloudfront.net/nrm/images/STTM_VE;MEAS_CD_SEM/V92KI/RUN01/V92KI_STTM_VE_MEAS_CD_SEM_{S9_STTM_TEST_2_S9_STTM_TEST_M1}_DX16DY5SDX10SDY33_2020-10-20_02-24-06.JPG
https://d2i6pukzef2l69.cloudfront.net/nrm/images/STTM_VE;MEAS_CD_SEM/V92KI/RUN01/V92KI_STTM_VE_MEAS_CD_SEM_{S9_STTM_TEST_2_S9_STTM_TEST_M1}_DX16DY5SDX7SDY23_2020-10-20_02-24-06.JPG
https://d2i6pukzef2l69.cloudfront.net/nrm/images/STTM_VE;MEAS_CD_SEM/V92KI/RUN01/V92KI_STTM_VE_MEAS_CD_SEM_{S9_STTM_TEST_2_S9_STTM_TEST_M1}_DX14DY10SDX10SDY33_2020-10-20_02-24-06.JPG
https://d2i6pukzef2l69.cloudfront.net/nrm/images/STTM_VE;MEAS_CD_SEM/V92KI/RUN01/V92KI_STTM_VE_MEAS_CD_SEM_{S9_STTM_TEST_2_S9_STTM_TEST_M1}_DX14DY10SDX7SDY23_2020-10-20_02-24-06.JPG
https://d2i6pukzef2l69.cloudfront.net/nrm/images/STTM_VE;MEAS_CD_SEM/1P3FM/RUN01/1P3FM_STTM_VE_MEAS_CD_SEM_{S9_STTM_TEST_2_S9_STTM_TEST_M1}_DX4DY6SDX7SDY23_2020-10-20_02-24-06.JPG
ERROR:
Invalid input of type: 'NoneType'. Convert to a bytes, string, int or float first.


Three surrogate methods: Trial-shifting, Bin Shuffling, ISI dithering

Hello @pbouss! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file elephant/spade.py:

Line 1350:80: E501 line too long (81 > 79 characters)

Coverage decreased (-0.9%) to 88.125% when pulling 9337adb55a0367407419a071b1182029708a14b2 on INM-6:feature/all_surrogates into fe7b86d336dd7da47ce42f7d8e1b4778d932a72c on NeuralEnsemble:master.

I reviewed the docstrings in elephant/spike_train_surrogates.py, and found some issues to fix or check:

[ ] remove double spaces after ':' in 142, 262, 326, 401, and 492
[ ] missing period in 170
[ ] missing backticks for the interval in 405
[ ] remove backticks in None in 169
[ ] open/close interval notations differ throughout the docs. Some use ][ and others () for excluded endpoints.
[ ] missing 'optional' in 413
[ ] extra line break at the end of 570
[ ] uppercase letter in the first word of the sentences in bin_shuffling
[ ] missing periods after 'Default:' lines in bin_shuffling
[ ] "If True, use a sliding window." in 585
[ ] proofread bin_shuffling docstring
[ ] missing period in 591
[ ] missing backticks in method in 645
[ ] review if interval with 'inf' is represented as closed in 651
[ ] missing period after 100 in 655
[ ] different citation format in 671 and 911 compared to 634
[ ] missing single quote for 'window' in 673
[ ] uppercase True in 690, followed by a comma
[ ] missing period in 693
[ ] in 698: the attribute is called max_change_index, although the description is the same as for the method isi_to_index, that is used to compute the attribute value using dither. Perhaps give a better explanation of these attributes.
[ ] missing method description in 763
[ ] missing parameter description in 766
[ ] missing space before ':' in 766
[ ] purpose of the method with respect to the return value is not clear in 779
[ ] missing description of True/False meaning in 786
[ ] missing Returns section in 801, with type information and also informing when None is returned
[ ] remove ':' in 838
[ ] missing description of returns in 850, and case when None is returned
[ ] missing space before ':' in 893
[ ] correct identation in 895
[ ] improve description of the method in 888
[ ] explain when returns zero-only array in 900
[ ] missing space before ':' in 915 and 921
[ ] missing period in 923
[ ] extra line break at the end of 1067
[ ] unknown parameter sep in 1069
[ ] in 1140: wrong worder of parameters in the Parameters section, uknown parameter sep. The text is just duplicated with respect to the trial_shifting public function.
[ ] in 1197: missing Raises section with all the exceptions
[ ] single quotes for the method names from 1231 to 1237
[ ] missing backticks in dt from 1231 to 1237
[ ] kwargs without ** in 1238
[ ] first letter in uppercase in 1239

Other remarks:

[ ] in 810 and 827: is more than one ISI/index passed as an array? Then perhaps the docstring should describe in more detail how different inputs and outputs are treated.

Thanks, Cristiano for the review. I think I fixed these docstring issues.

I reviewed the docstrings in elephant/spike_train_surrogates.py, and found some issues to fix or check:

[ x]  remove double spaces after ':' in 142, 262, 326, 401, and 492
[ x]  missing period in 170
[ x]  missing backticks for the interval in 405
[ x]  remove backticks in None in 169
[ x]  open/close interval notations differ throughout the docs. Some use ][ and others () for excluded endpoints.
[ x]  missing 'optional' in 413
[ x]  extra line break at the end of 570
[ x]  uppercase letter in the first word of the sentences in bin_shuffling
[ x]  missing periods after 'Default:' lines in bin_shuffling
[ x]  "If True, use a sliding window." in 585
[ x]  proofread bin_shuffling docstring
[ x]  missing period in 591
[ x]  missing backticks in method in 645
[ x]  review if interval with 'inf' is represented as closed in 651
[ x]  missing period after 100 in 655
[ x]  different citation format in 671 and 911 compared to 634
[ x]  missing single quote for 'window' in 673
[ x]  uppercase True in 690, followed by a comma
[ x]  missing period in 693
[ x]  in 698: the attribute is called max_change_index, although the description is the same as for the method isi_to_index, that is used to compute the attribute value using dither. Perhaps give a better explanation of these attributes.
[ x]  missing method description in 763
[ x]  missing parameter description in 766
[ x]  missing space before ':' in 766
[ x]  purpose of the method with respect to the return value is not clear in 779
[ x]  missing description of True/False meaning in 786
[ x]  missing Returns section in 801, with type information and also informing when None is returned
[ x]  remove ':' in 838
[ x]  missing description of returns in 850, and case when None is returned
[ x]  missing space before ':' in 893
[ x]  correct identation in 895
[ x]  improve description of the method in 888
[ x]  explain when returns zero-only array in 900
[ x]  missing space before ':' in 915 and 921
[ x]  missing period in 923
[ x]  extra line break at the end of 1067
[ x]  unknown parameter sep in 1069
[ x]  in 1140: wrong worder of parameters in the Parameters section, uknown parameter sep. The text is just duplicated with respect to the trial_shifting public function.
[ x]  in 1197: missing Raises section with all the exceptions
[ x]  single quotes for the method names from 1231 to 1237
[ x]  missing backticks in dt from 1231 to 1237
[ x]  kwargs without ** in 1238
[ x]  first letter in uppercase in 1239

Other remarks:

[ x]  in 810 and 827: is more than one ISI/index passed as an array? Then perhaps the docstring should describe in more detail how different inputs and outputs are treated.


Add support for Claude models

Policy and info

Maintainers will close issues that have been stale for 14 days if they contain relevant answers.
Adding the label "sweep" will automatically turn the issue into a coded pull request. Works best for mechanical tasks. More info/syntax at: https://docs.sweep.dev/
Consider adding the label "good first issue" for interesting, but easy features.

Feature description
Add support for using Anthropic's Claude models. They can be accessed through the anthropic python library and have similar syntax to the openai module.
Motivation/Application
This could allow for more user control over the results as Claude performs better on some tasks.

imho that already works
try
export ANTHROPIC_API_KEY=......
and then
gpte --model "claude-3-5-sonnet-20241022"


Solution added for UNIONSET (codechef)

Closing Issue/Referencing Issue
issue reference (#)
Changes Made In Pull Request

Thanks!


fix: adds a plugin to fix broken AST

Solves #30 - Remove comments which lead to broken code generation in escodegen

Coverage increased (+0.04%) to 98.901% when pulling ffd59c92c5a1a31369e44e29a3531dd49332c1d7 on fixes-broken-comments into 913eb786e6bfb034d619e1f4fdef0c86d0838c25 on master.

Changes Unknown when pulling a3ac29a44998f2b7ca859550404572780f5e5322 on fixes-broken-comments into ** on master**.

Coverage remained the same at 100.0% when pulling 17f3b315a90c9fc279818a0000c969d4f95393ea on fixes-broken-comments into a43ffc113b541191fe3e4b97a42dd7a6d81c5aeb on master.