@datagrok-libraries/bio 5.22.0 → 5.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.eslintrc.json CHANGED
@@ -25,7 +25,7 @@
25
25
  ],
26
26
  "no-unused-vars": "warn",
27
27
  "require-jsdoc": "off",
28
- "valid-jsdoc": "warn",
28
+ "valid-jsdoc": "off",
29
29
  "spaced-comment": "off",
30
30
  "linebreak-style": "off",
31
31
  "curly": [
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "friendlyName": "Datagrok bio library",
7
- "version": "5.22.0",
7
+ "version": "5.22.1",
8
8
  "description": "",
9
9
  "dependencies": {
10
10
  "@datagrok-libraries/gridext": "^1.3.22",
@@ -9,8 +9,13 @@ export declare function createMomomersMolDict(lib: any[]): {
9
9
  };
10
10
  export declare function createJsonMonomerLibFromSdf(table: DG.DataFrame): any;
11
11
  export interface IMonomerLibHelper {
12
+ /** Singleton monomer library */
12
13
  getBioLib(): IMonomerLib;
14
+ /** (Re)Loads libraries based on settings in user storage {@link LIB_STORAGE_NAME} to singleton.
15
+ * @param {boolean} reload Clean {@link monomerLib} before load libraries [false]
16
+ */
13
17
  loadLibraries(reload?: boolean): Promise<void>;
18
+ /** Reads library from file shares, handles .json and .sdf */
14
19
  readLibrary(path: string, fileName: string): Promise<IMonomerLib>;
15
20
  }
16
21
  export declare function getMonomerLibHelper(): Promise<IMonomerLibHelper>;
@@ -1 +1 @@
1
- {"version":3,"file":"monomer-utils.d.ts","sourceRoot":"","sources":["monomer-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAQtC,OAAO,EAAC,WAAW,EAAU,MAAM,gBAAgB,CAAC;AAGpD,eAAO,MAAM,mBAAmB,UAAyE,CAAC;AAE1G,wBAAgB,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,GAAG,IAAI,CAwB/D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAuB3F;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAoBhG;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAA;CAAE,CAYjF;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,GAAG,GAAG,CA8BpE;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,IAAI,WAAW,CAAC;IAEzB,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACnE;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAOtE"}
1
+ {"version":3,"file":"monomer-utils.d.ts","sourceRoot":"","sources":["monomer-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAQtC,OAAO,EAAC,WAAW,EAAU,MAAM,gBAAgB,CAAC;AAGpD,eAAO,MAAM,mBAAmB,UAAyE,CAAC;AAE1G,wBAAgB,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,GAAG,IAAI,CAwB/D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAuB3F;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAoBhG;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAA;CAAE,CAYjF;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,GAAG,GAAG,CA8BpE;AAED,MAAM,WAAW,iBAAiB;IAChC,gCAAgC;IAChC,SAAS,IAAI,WAAW,CAAC;IAEzB;;OAEG;IACH,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C,6DAA6D;IAC7D,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACnE;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAOtE"}
@@ -138,4 +138,4 @@ export function getMonomerLibHelper() {
138
138
  return res;
139
139
  });
140
140
  }
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ub21lci11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm1vbm9tZXItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEseUNBQXlDO0FBQ3pDLE9BQU8sS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEMsT0FBTyxLQUFLLElBQUksTUFBTSxtQkFBbUIsQ0FBQztBQUUxQyxPQUFPLEVBQ1EsZ0JBQWdCLEVBQWlCLHFCQUFxQixFQUNuRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFDekQsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsV0FBVyxFQUFxQixNQUFNLHdCQUF3QixDQUFDO0FBSXZFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQztBQUUxRyxNQUFNLFVBQVUsY0FBYyxDQUFDLEdBQWM7SUFDM0MsSUFBSSxZQUFZLEdBQUcsa0JBQWtCLENBQUM7SUFDdEMsTUFBTSxpQkFBaUIsR0FBOEIsRUFBRSxDQUFDO0lBQ3hELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxrQ0FBZ0IsQ0FBQztJQUN2QyxNQUFNLFlBQVksR0FBaUIsV0FBVyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMzRCxNQUFNLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztJQUM5QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRTtRQUNuQyxJQUFJLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUMzQixNQUFNLFFBQVEsR0FBRyxZQUFZ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Q0FBQztBQUNuQixDQUFDO0FBVUQsTUFBTSxVQUFnQixtQkFBbUI7O1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUscUJBQXFCLEVBQUMsQ0FBQyxDQUFDO1FBQzdFLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQztRQUUvRSxNQUFNLEdBQUcsR0FBc0IsQ0FBQyxNQUFNLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLG1CQUFtQixFQUF1QixDQUFDO1FBQy9HLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaW1wb3J0ICogYXMgdWkgZnJvbSAnZGF0YWdyb2stYXBpL3VpJztcbmltcG9ydCAqIGFzIERHIGZyb20gJ2RhdGFncm9rLWFwaS9kZyc7XG5pbXBvcnQgKiBhcyBncm9rIGZyb20gJ2RhdGFncm9rLWFwaS9ncm9rJztcblxuaW1wb3J0IHtcbiAgSEVMTV9GSUVMRFMsIEhFTE1fQ09SRV9GSUVMRFMsIFJHUk9VUF9GSUVMRFMsIGpzb25TZGZNb25vbWVyTGliRGljdCxcbiAgTU9OT01FUl9FTkNPREVfTUFYLCBNT05PTUVSX0VOQ09ERV9NSU4sIFNERl9NT05PTUVSX05BTUVcbn0gZnJvbSAnLi4vdXRpbHMvY29uc3QnO1xuaW1wb3J0IHtnZXRTcGxpdHRlciwgU3BsaXR0ZXJGdW5jLCBUQUdTfSBmcm9tICcuLi91dGlscy9tYWNyb21vbGVjdWxlJztcbmltcG9ydCB7SU1vbm9tZXJMaWIsIE1vbm9tZXJ9IGZyb20gJy4uL3R5cGVzL2luZGV4JztcblxuXG5leHBvcnQgY29uc3QgZXhwZWN0ZWRNb25vbWVyRGF0YSA9IFsnc3ltYm9sJywgJ25hbWUnLCAnbW9sZmlsZScsICdyZ3JvdXBzJywgJ3BvbHltZXJUeXBlJywgJ21vbm9tZXJUeXBlJ107XG5cbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGVNb25vbWVycyhjb2w6IERHLkNvbHVtbik6IERHLkNvbHVtbiB8IG51bGwge1xuICBsZXQgZW5jb2RlU3ltYm9sID0gTU9OT01FUl9FTkNPREVfTUlOO1xuICBjb25zdCBtb25vbWVyU3ltYm9sRGljdDogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfSA9IHt9O1xuICBjb25zdCB1bml0cyA9IGNvbC50YWdzW0RHLlRBR1MuVU5JVFNdO1xuICBjb25zdCBzZXAgPSBjb2wuZ2V0VGFnKFRBR1Muc2VwYXJhdG9yKTtcbiAgY29uc3Qgc3BsaXR0ZXJGdW5jOiBTcGxpdHRlckZ1bmMgPSBnZXRTcGxpdHRlcih1bml0cywgc2VwKTtcbiAgY29uc3QgZW5jb2RlZFN0cmluZ0FycmF5ID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY29sLmxlbmd0aDsgKytpKSB7XG4gICAgbGV0IGVuY29kZWRNb25vbWVyU3RyID0gJyc7XG4gICAgY29uc3QgbW9ub21lcnMgPSBzcGxpdHRlckZ1bmMoY29sLmdldChpKSk7XG4gICAgbW9ub21lcnMuZm9yRWFjaCgobSkgPT4ge1xuICAgICAgaWYgKCFtb25vbWVyU3ltYm9sRGljdFttXSkge1xuICAgICAgICBpZiAoZW5jb2RlU3ltYm9sID4gTU9OT01FUl9FTkNPREVfTUFYKSB7XG4gICAgICAgICAgZ3Jvay5zaGVsbC5lcnJvcihgTm90IGVub3VnaCBzeW1ib2xzIHRvIGVuY29kZSBtb25vbWVyc2ApO1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIG1vbm9tZXJTeW1ib2xEaWN0W21dID0gZW5jb2RlU3ltYm9sO1xuICAgICAgICBlbmNvZGVTeW1ib2wrKztcbiAgICAgIH1cbiAgICAgIGVuY29kZWRNb25vbWVyU3RyICs9IFN0cmluZy5mcm9tQ29kZVBvaW50KG1vbm9tZXJTeW1ib2xEaWN0W21dKTtcbiAgICB9KTtcbiAgICBlbmNvZGVkU3RyaW5nQXJyYXkucHVzaChlbmNvZGVkTW9ub21lclN0cik7XG4gIH1cbiAgcmV0dXJuIERHLkNvbHVtbi5mcm9tU3RyaW5ncygnZW5jb2RlZE1vbGVjdWxlcycsIGVuY29kZWRTdHJpbmdBcnJheSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNb2xmaWxlc0Zyb21TZXEoY29sOiBERy5Db2x1bW4sIG1vbm9tZXJzTGliT2JqZWN0OiBhbnlbXSk6IGFueVtdW10gfCBudWxsIHtcbiAgY29uc3QgdW5pdHMgPSBjb2wudGFnc1tERy5UQUdTLlVOSVRTXTtcbiAgY29uc3Qgc2VwID0gY29sLmdldFRhZygnc2VwYXJhdG9yJyk7XG4gIGNvbnN0IHNwbGl0dGVyRnVuYzogU3BsaXR0ZXJGdW5jID0gZ2V0U3BsaXR0ZXIodW5pdHMsIHNlcCk7XG4gIGNvbnN0IG1vbm9tZXJzRGljdCA9IGNyZWF0ZU1vbW9tZXJzTW9sRGljdChtb25vbWVyc0xpYk9iamVjdCk7XG4gIGNvbnN0IG1vbEZpbGVzID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY29sLmxlbmd0aDsgKytpKSB7XG4gICAgY29uc3QgbWFjcm9Nb2xlY3VsZSA9IGNvbC5nZXQoaSk7XG4gICAgY29uc3QgbW9ub21lcnMgPSBzcGxpdHRlckZ1bmMobWFjcm9Nb2xlY3VsZSk7XG4gICAgY29uc3QgbW9sRmlsZXNGb3JTZXEgPSBbXTtcbiAgICBmb3IgKGxldCBqID0gMDsgaiA8IG1vbm9tZXJzLmxlbmd0aDsgKytqKSB7XG4gICAgICBpZiAobW9ub21lcnNbal0pIHtcbiAgICAgICAgaWYgKCFtb25vbWVyc0RpY3RbbW9ub21lcnNbal1dKSB7XG4gICAgICAgICAgZ3Jvay5zaGVsbC53YXJuaW5nKGBNb25vbWVyICR7bW9ub21lcnNbal19IGlzIG1pc3NpbmcgaW4gSEVMTSBsaWJyYXJ5LiBTdHJ1Y3R1cmUgY2Fubm90IGJlIGNyZWF0ZWRgKTtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICAvLyB3aGF0IGlzIHRoZSByZWFzb24gb2YgZG91YmxlIGNvbnZlcnNpb24/XG4gICAgICAgIG1vbEZpbGVzRm9yU2VxLnB1c2goSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShtb25vbWVyc0RpY3RbbW9ub21lcnNbal1dKSkpO1xuICAgICAgfVxuICAgIH1cbiAgICBtb2xGaWxlcy5wdXNoKG1vbEZpbGVzRm9yU2VxKTtcbiAgfVxuICByZXR1cm4gbW9sRmlsZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNb2xmaWxlc0Zyb21TaW5nbGVTZXEoY2VsbDogREcuQ2VsbCwgbW9ub21lcnNMaWJPYmplY3Q6IGFueVtdKTogYW55W11bXSB8IG51bGwge1xuICBjb25zdCB1bml0cyA9IGNlbGwuY29sdW1uLnRhZ3NbREcuVEFHUy5VTklUU107XG4gIGNvbnN0IHNlcCA9IGNlbGwuY29sdW1uIS5nZXRUYWcoJ3NlcGFyYXRvcicpO1xuICBjb25zdCBzcGxpdHRlckZ1bmM6IFNwbGl0dGVyRnVuYyA9IGdldFNwbGl0dGVyKHVuaXRzLCBzZXApO1xuICBjb25zdCBtb25vbWVyc0RpY3QgPSBjcmVhdGVNb21vbWVyc01vbERpY3QobW9ub21lcnNMaWJPYmplY3QpO1xuICBjb25zdCBtb2xGaWxlcyA9IFtdO1xuICBjb25zdCBtYWNyb01vbGVjdWxlID0gY2VsbC52YWx1ZTtcbiAgY29uc3QgbW9ub21lcnMgPSBzcGxpdHRlckZ1bmMobWFjcm9Nb2xlY3VsZSk7XG4gIGNvbnN0IG1vbEZpbGVzRm9yU2VxID0gW107XG4gIGZvciAobGV0IGogPSAwOyBqIDwgbW9ub21lcnMubGVuZ3RoOyArK2opIHtcbiAgICBpZiAobW9ub21lcnNbal0pIHtcbiAgICAgIGlmICghbW9ub21lcnNEaWN0W21vbm9tZXJzW2pdXSkge1xuICAgICAgICBncm9rLnNoZWxsLndhcm5pbmcoYE1vbm9tZXIgJHttb25vbWVyc1tqXX0gaXMgbWlzc2luZyBpbiBIRUxNIGxpYnJhcnkuIFN0cnVjdHVyZSBjYW5ub3QgYmUgY3JlYXRlZGApO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIG1vbEZpbGVzRm9yU2VxLnB1c2goSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShtb25vbWVyc0RpY3RbbW9ub21lcnNbal1dKSkpO1xuICAgIH1cbiAgfVxuICBtb2xGaWxlcy5wdXNoKG1vbEZpbGVzRm9yU2VxKTtcbiAgcmV0dXJuIG1vbEZpbGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTW9tb21lcnNNb2xEaWN0KGxpYjogYW55W10pOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IGFueSB9IHtcbiAgY29uc3QgZGljdDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBhbnkgfSA9IHt9O1xuICBsaWIuZm9yRWFjaCgoaXQpID0+IHtcbiAgICBpZiAoaXRbJ3BvbHltZXJUeXBlJ10gPT09ICdQRVBUSURFJykge1xuICAgICAgY29uc3QgbW9ub21lck9iamVjdDogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICAgICAgSEVMTV9DT1JFX0ZJRUxEUy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgICBtb25vbWVyT2JqZWN0W2ZpZWxkXSA9IGl0W2ZpZWxkXTtcbiAgICAgIH0pO1xuICAgICAgZGljdFtpdFtIRUxNX0ZJRUxEUy5TWU1CT0xdXSA9IG1vbm9tZXJPYmplY3Q7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIGRpY3Q7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVKc29uTW9ub21lckxpYkZyb21TZGYodGFibGU6IERHLkRhdGFGcmFtZSk6IGFueSB7XG4gIGNvbnN0IHJlc3VsdExpYiA9IFtdO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHRhYmxlLnJvd0NvdW50OyBpKyspIHtcbiAgICBjb25zdCBtb25vbWVyOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IGFueSB9ID0ge307XG4gICAgT2JqZWN0LmtleXMoanNvblNkZk1vbm9tZXJMaWJEaWN0KS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmIChrZXkgPT09IEhFTE1fRklFTERTLlNZTUJPTCkge1xuICAgICAgICBjb25zdCBtb25vbWVyU3ltYm9sID0gdGFibGUuZ2V0KGpzb25TZGZNb25vbWVyTGliRGljdFtrZXldLCBpKTtcbiAgICAgICAgbW9ub21lcltrZXldID0gbW9ub21lclN5bWJvbCA9PT0gJy4nID8gdGFibGUuZ2V0KFNERl9NT05PTUVSX05BTUUsIGkpIDogbW9ub21lclN5bWJvbDtcbiAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSBIRUxNX0ZJRUxEUy5SR1JPVVBTKSB7XG4gICAgICAgIGNvbnN0IHJncm91cHMgPSB0YWJsZS5nZXQoanNvblNkZk1vbm9tZXJMaWJEaWN0W2tleV0sIGkpLnNwbGl0KCdcXG4nKTtcbiAgICAgICAgY29uc3QganNvblJncm91cHM6IGFueVtdID0gW107XG4gICAgICAgIHJncm91cHMuZm9yRWFjaCgoZzogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgY29uc3Qgcmdyb3VwOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IGFueSB9ID0ge307XG4gICAgICAgICAgY29uc3QgYWx0QXRvbSA9IGcuc3Vic3RyaW5nKGcubGFzdEluZGV4T2YoJ10nKSArIDEpO1xuICAgICAgICAgIGNvbnN0IHJhZGljYWxOdW0gPSBnLm1hdGNoKC9cXFtSKFxcZCspXFxdLykhWzFdO1xuICAgICAgICAgIHJncm91cFtSR1JPVVBfRklFTERTLkNBUF9HUk9VUF9TTUlMRVNdID0gYWx0QXRvbSA9PT0gJ0gnID8gYFsqOiR7cmFkaWNhbE51bX1dW0hdYCA6IGBPWyo6JHtyYWRpY2FsTnVtfV1gO1xuICAgICAgICAgIHJncm91cFtSR1JPVVBfRklFTERTLkFMVEVSX0lEXSA9IGFsdEF0b20gPT09ICdIJyA/IGBSJHtyYWRpY2FsTnVtfS1IYCA6IGBSJHtyYWRpY2FsTnVtfS1PSGA7XG4gICAgICAgICAgcmdyb3VwW1JHUk9VUF9GSUVMRFMuQ0FQX0dST1VQX05BTUVdID0gYWx0QXRvbSA9PT0gJ0gnID8gYEhgIDogYE9IYDtcbiAgICAgICAgICByZ3JvdXBbUkdST1VQX0ZJRUxEUy5MQUJFTF0gPSBgUiR7cmFkaWNhbE51bX1gO1xuICAgICAgICAgIGpzb25SZ3JvdXBzLnB1c2gocmdyb3VwKTtcbiAgICAgICAgfSk7XG4gICAgICAgIG1vbm9tZXJba2V5XSA9IGpzb25SZ3JvdXBzO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKChqc29uU2RmTW9ub21lckxpYkRpY3QgYXMgeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBhbnkgfSlba2V5XSlcbiAgICAgICAgICBtb25vbWVyW2tleV0gPSB0YWJsZS5nZXQoKGpzb25TZGZNb25vbWVyTGliRGljdCBhcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IGFueSB9KVtrZXldLCBpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXN1bHRMaWIucHVzaChtb25vbWVyKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0TGliO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElNb25vbWVyTGliSGVscGVyIHtcbiAgZ2V0QmlvTGliKCk6IElNb25vbWVyTGliO1xuXG4gIGxvYWRMaWJyYXJpZXMocmVsb2FkPzogYm9vbGVhbik6IFByb21pc2U8dm9pZD47XG5cbiAgcmVhZExpYnJhcnkocGF0aDogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTxJTW9ub21lckxpYj47XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRNb25vbWVyTGliSGVscGVyKCk6IFByb21pc2U8SU1vbm9tZXJMaWJIZWxwZXI+IHtcbiAgY29uc3QgZnVuY0xpc3QgPSBERy5GdW5jLmZpbmQoe3BhY2thZ2U6ICdCaW8nLCBuYW1lOiAnZ2V0TW9ub21lckxpYkhlbHBlcid9KTtcbiAgaWYgKGZ1bmNMaXN0Lmxlbmd0aCA9PT0gMClcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1BhY2thZ2UgXCJCaW9cIiBtdXN0IGJlIGluc3RhbGxlciBmb3IgTW9ub21lckxpYnJhcnlIZWxwZXIuJyk7XG5cbiAgY29uc3QgcmVzOiBJTW9ub21lckxpYkhlbHBlciA9IChhd2FpdCBmdW5jTGlzdFswXS5wcmVwYXJlKCkuY2FsbCgpKS5nZXRPdXRwdXRQYXJhbVZhbHVlKCkgYXMgSU1vbm9tZXJMaWJIZWxwZXI7XG4gIHJldHVybiByZXM7XG59XG4iXX0=
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ub21lci11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm1vbm9tZXItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEseUNBQXlDO0FBQ3pDLE9BQU8sS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEMsT0FBTyxLQUFLLElBQUksTUFBTSxtQkFBbUIsQ0FBQztBQUUxQyxPQUFPLEVBQ1EsZ0JBQWdCLEVBQWlCLHFCQUFxQixFQUNuRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFDekQsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsV0FBVyxFQUFxQixNQUFNLHdCQUF3QixDQUFDO0FBSXZFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQztBQUUxRyxNQUFNLFVBQVUsY0FBYyxDQUFDLEdBQWM7SUFDM0MsSUFBSSxZQUFZLEdBQUcsa0JBQWtCLENBQUM7SUFDdEMsTUFBTSxpQkFBaUIsR0FBOEIsRUFBRSxDQUFDO0lBQ3hELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxrQ0FBZ0IsQ0FBQztJQUN2QyxNQUFNLFlBQVksR0FBaUIsV0FBVyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMzRCxNQUFNLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztJQUM5QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRTtRQUNuQyxJQUFJLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUMzQixNQUFNLFFBQVEsR0FBRyxZQUFZ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Q0FBQztBQUNuQixDQUFDO0FBZUQsTUFBTSxVQUFnQixtQkFBbUI7O1FBQ3ZDLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUscUJBQXFCLEVBQUMsQ0FBQyxDQUFDO1FBQzdFLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkRBQTJELENBQUMsQ0FBQztRQUUvRSxNQUFNLEdBQUcsR0FBc0IsQ0FBQyxNQUFNLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLG1CQUFtQixFQUF1QixDQUFDO1FBQy9HLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaW1wb3J0ICogYXMgdWkgZnJvbSAnZGF0YWdyb2stYXBpL3VpJztcbmltcG9ydCAqIGFzIERHIGZyb20gJ2RhdGFncm9rLWFwaS9kZyc7XG5pbXBvcnQgKiBhcyBncm9rIGZyb20gJ2RhdGFncm9rLWFwaS9ncm9rJztcblxuaW1wb3J0IHtcbiAgSEVMTV9GSUVMRFMsIEhFTE1fQ09SRV9GSUVMRFMsIFJHUk9VUF9GSUVMRFMsIGpzb25TZGZNb25vbWVyTGliRGljdCxcbiAgTU9OT01FUl9FTkNPREVfTUFYLCBNT05PTUVSX0VOQ09ERV9NSU4sIFNERl9NT05PTUVSX05BTUVcbn0gZnJvbSAnLi4vdXRpbHMvY29uc3QnO1xuaW1wb3J0IHtnZXRTcGxpdHRlciwgU3BsaXR0ZXJGdW5jLCBUQUdTfSBmcm9tICcuLi91dGlscy9tYWNyb21vbGVjdWxlJztcbmltcG9ydCB7SU1vbm9tZXJMaWIsIE1vbm9tZXJ9IGZyb20gJy4uL3R5cGVzL2luZGV4JztcblxuXG5leHBvcnQgY29uc3QgZXhwZWN0ZWRNb25vbWVyRGF0YSA9IFsnc3ltYm9sJywgJ25hbWUnLCAnbW9sZmlsZScsICdyZ3JvdXBzJywgJ3BvbHltZXJUeXBlJywgJ21vbm9tZXJUeXBlJ107XG5cbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGVNb25vbWVycyhjb2w6IERHLkNvbHVtbik6IERHLkNvbHVtbiB8IG51bGwge1xuICBsZXQgZW5jb2RlU3ltYm9sID0gTU9OT01FUl9FTkNPREVfTUlOO1xuICBjb25zdCBtb25vbWVyU3ltYm9sRGljdDogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfSA9IHt9O1xuICBjb25zdCB1bml0cyA9IGNvbC50YWdzW0RHLlRBR1MuVU5JVFNdO1xuICBjb25zdCBzZXAgPSBjb2wuZ2V0VGFnKFRBR1Muc2VwYXJhdG9yKTtcbiAgY29uc3Qgc3BsaXR0ZXJGdW5jOiBTcGxpdHRlckZ1bmMgPSBnZXRTcGxpdHRlcih1bml0cywgc2VwKTtcbiAgY29uc3QgZW5jb2RlZFN0cmluZ0FycmF5ID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY29sLmxlbmd0aDsgKytpKSB7XG4gICAgbGV0IGVuY29kZWRNb25vbWVyU3RyID0gJyc7XG4gICAgY29uc3QgbW9ub21lcnMgPSBzcGxpdHRlckZ1bmMoY29sLmdldChpKSk7XG4gICAgbW9ub21lcnMuZm9yRWFjaCgobSkgPT4ge1xuICAgICAgaWYgKCFtb25vbWVyU3ltYm9sRGljdFttXSkge1xuICAgICAgICBpZiAoZW5jb2RlU3ltYm9sID4gTU9OT01FUl9FTkNPREVfTUFYKSB7XG4gICAgICAgICAgZ3Jvay5zaGVsbC5lcnJvcihgTm90IGVub3VnaCBzeW1ib2xzIHRvIGVuY29kZSBtb25vbWVyc2ApO1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIG1vbm9tZXJTeW1ib2xEaWN0W21dID0gZW5jb2RlU3ltYm9sO1xuICAgICAgICBlbmNvZGVTeW1ib2wrKztcbiAgICAgIH1cbiAgICAgIGVuY29kZWRNb25vbWVyU3RyICs9IFN0cmluZy5mcm9tQ29kZVBvaW50KG1vbm9tZXJTeW1ib2xEaWN0W21dKTtcbiAgICB9KTtcbiAgICBlbmNvZGVkU3RyaW5nQXJyYXkucHVzaChlbmNvZGVkTW9ub21lclN0cik7XG4gIH1cbiAgcmV0dXJuIERHLkNvbHVtbi5mcm9tU3RyaW5ncygnZW5jb2RlZE1vbGVjdWxlcycsIGVuY29kZWRTdHJpbmdBcnJheSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNb2xmaWxlc0Zyb21TZXEoY29sOiBERy5Db2x1bW4sIG1vbm9tZXJzTGliT2JqZWN0OiBhbnlbXSk6IGFueVtdW10gfCBudWxsIHtcbiAgY29uc3QgdW5pdHMgPSBjb2wudGFnc1tERy5UQUdTLlVOSVRTXTtcbiAgY29uc3Qgc2VwID0gY29sLmdldFRhZygnc2VwYXJhdG9yJyk7XG4gIGNvbnN0IHNwbGl0dGVyRnVuYzogU3BsaXR0ZXJGdW5jID0gZ2V0U3BsaXR0ZXIodW5pdHMsIHNlcCk7XG4gIGNvbnN0IG1vbm9tZXJzRGljdCA9IGNyZWF0ZU1vbW9tZXJzTW9sRGljdChtb25vbWVyc0xpYk9iamVjdCk7XG4gIGNvbnN0IG1vbEZpbGVzID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY29sLmxlbmd0aDsgKytpKSB7XG4gICAgY29uc3QgbWFjcm9Nb2xlY3VsZSA9IGNvbC5nZXQoaSk7XG4gICAgY29uc3QgbW9ub21lcnMgPSBzcGxpdHRlckZ1bmMobWFjcm9Nb2xlY3VsZSk7XG4gICAgY29uc3QgbW9sRmlsZXNGb3JTZXEgPSBbXTtcbiAgICBmb3IgKGxldCBqID0gMDsgaiA8IG1vbm9tZXJzLmxlbmd0aDsgKytqKSB7XG4gICAgICBpZiAobW9ub21lcnNbal0pIHtcbiAgICAgICAgaWYgKCFtb25vbWVyc0RpY3RbbW9ub21lcnNbal1dKSB7XG4gICAgICAgICAgZ3Jvay5zaGVsbC53YXJuaW5nKGBNb25vbWVyICR7bW9ub21lcnNbal19IGlzIG1pc3NpbmcgaW4gSEVMTSBsaWJyYXJ5LiBTdHJ1Y3R1cmUgY2Fubm90IGJlIGNyZWF0ZWRgKTtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICAvLyB3aGF0IGlzIHRoZSByZWFzb24gb2YgZG91YmxlIGNvbnZlcnNpb24/XG4gICAgICAgIG1vbEZpbGVzRm9yU2VxLnB1c2goSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShtb25vbWVyc0RpY3RbbW9ub21lcnNbal1dKSkpO1xuICAgICAgfVxuICAgIH1cbiAgICBtb2xGaWxlcy5wdXNoKG1vbEZpbGVzRm9yU2VxKTtcbiAgfVxuICByZXR1cm4gbW9sRmlsZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNb2xmaWxlc0Zyb21TaW5nbGVTZXEoY2VsbDogREcuQ2VsbCwgbW9ub21lcnNMaWJPYmplY3Q6IGFueVtdKTogYW55W11bXSB8IG51bGwge1xuICBjb25zdCB1bml0cyA9IGNlbGwuY29sdW1uLnRhZ3NbREcuVEFHUy5VTklUU107XG4gIGNvbnN0IHNlcCA9IGNlbGwuY29sdW1uIS5nZXRUYWcoJ3NlcGFyYXRvcicpO1xuICBjb25zdCBzcGxpdHRlckZ1bmM6IFNwbGl0dGVyRnVuYyA9IGdldFNwbGl0dGVyKHVuaXRzLCBzZXApO1xuICBjb25zdCBtb25vbWVyc0RpY3QgPSBjcmVhdGVNb21vbWVyc01vbERpY3QobW9ub21lcnNMaWJPYmplY3QpO1xuICBjb25zdCBtb2xGaWxlcyA9IFtdO1xuICBjb25zdCBtYWNyb01vbGVjdWxlID0gY2VsbC52YWx1ZTtcbiAgY29uc3QgbW9ub21lcnMgPSBzcGxpdHRlckZ1bmMobWFjcm9Nb2xlY3VsZSk7XG4gIGNvbnN0IG1vbEZpbGVzRm9yU2VxID0gW107XG4gIGZvciAobGV0IGogPSAwOyBqIDwgbW9ub21lcnMubGVuZ3RoOyArK2opIHtcbiAgICBpZiAobW9ub21lcnNbal0pIHtcbiAgICAgIGlmICghbW9ub21lcnNEaWN0W21vbm9tZXJzW2pdXSkge1xuICAgICAgICBncm9rLnNoZWxsLndhcm5pbmcoYE1vbm9tZXIgJHttb25vbWVyc1tqXX0gaXMgbWlzc2luZyBpbiBIRUxNIGxpYnJhcnkuIFN0cnVjdHVyZSBjYW5ub3QgYmUgY3JlYXRlZGApO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIG1vbEZpbGVzRm9yU2VxLnB1c2goSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShtb25vbWVyc0RpY3RbbW9ub21lcnNbal1dKSkpO1xuICAgIH1cbiAgfVxuICBtb2xGaWxlcy5wdXNoKG1vbEZpbGVzRm9yU2VxKTtcbiAgcmV0dXJuIG1vbEZpbGVzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTW9tb21lcnNNb2xEaWN0KGxpYjogYW55W10pOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IGFueSB9IHtcbiAgY29uc3QgZGljdDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBhbnkgfSA9IHt9O1xuICBsaWIuZm9yRWFjaCgoaXQpID0+IHtcbiAgICBpZiAoaXRbJ3BvbHltZXJUeXBlJ10gPT09ICdQRVBUSURFJykge1xuICAgICAgY29uc3QgbW9ub21lck9iamVjdDogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICAgICAgSEVMTV9DT1JFX0ZJRUxEUy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgICBtb25vbWVyT2JqZWN0W2ZpZWxkXSA9IGl0W2ZpZWxkXTtcbiAgICAgIH0pO1xuICAgICAgZGljdFtpdFtIRUxNX0ZJRUxEUy5TWU1CT0xdXSA9IG1vbm9tZXJPYmplY3Q7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIGRpY3Q7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVKc29uTW9ub21lckxpYkZyb21TZGYodGFibGU6IERHLkRhdGFGcmFtZSk6IGFueSB7XG4gIGNvbnN0IHJlc3VsdExpYiA9IFtdO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHRhYmxlLnJvd0NvdW50OyBpKyspIHtcbiAgICBjb25zdCBtb25vbWVyOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IGFueSB9ID0ge307XG4gICAgT2JqZWN0LmtleXMoanNvblNkZk1vbm9tZXJMaWJEaWN0KS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmIChrZXkgPT09IEhFTE1fRklFTERTLlNZTUJPTCkge1xuICAgICAgICBjb25zdCBtb25vbWVyU3ltYm9sID0gdGFibGUuZ2V0KGpzb25TZGZNb25vbWVyTGliRGljdFtrZXldLCBpKTtcbiAgICAgICAgbW9ub21lcltrZXldID0gbW9ub21lclN5bWJvbCA9PT0gJy4nID8gdGFibGUuZ2V0KFNERl9NT05PTUVSX05BTUUsIGkpIDogbW9ub21lclN5bWJvbDtcbiAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSBIRUxNX0ZJRUxEUy5SR1JPVVBTKSB7XG4gICAgICAgIGNvbnN0IHJncm91cHMgPSB0YWJsZS5nZXQoanNvblNkZk1vbm9tZXJMaWJEaWN0W2tleV0sIGkpLnNwbGl0KCdcXG4nKTtcbiAgICAgICAgY29uc3QganNvblJncm91cHM6IGFueVtdID0gW107XG4gICAgICAgIHJncm91cHMuZm9yRWFjaCgoZzogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgY29uc3Qgcmdyb3VwOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IGFueSB9ID0ge307XG4gICAgICAgICAgY29uc3QgYWx0QXRvbSA9IGcuc3Vic3RyaW5nKGcubGFzdEluZGV4T2YoJ10nKSArIDEpO1xuICAgICAgICAgIGNvbnN0IHJhZGljYWxOdW0gPSBnLm1hdGNoKC9cXFtSKFxcZCspXFxdLykhWzFdO1xuICAgICAgICAgIHJncm91cFtSR1JPVVBfRklFTERTLkNBUF9HUk9VUF9TTUlMRVNdID0gYWx0QXRvbSA9PT0gJ0gnID8gYFsqOiR7cmFkaWNhbE51bX1dW0hdYCA6IGBPWyo6JHtyYWRpY2FsTnVtfV1gO1xuICAgICAgICAgIHJncm91cFtSR1JPVVBfRklFTERTLkFMVEVSX0lEXSA9IGFsdEF0b20gPT09ICdIJyA/IGBSJHtyYWRpY2FsTnVtfS1IYCA6IGBSJHtyYWRpY2FsTnVtfS1PSGA7XG4gICAgICAgICAgcmdyb3VwW1JHUk9VUF9GSUVMRFMuQ0FQX0dST1VQX05BTUVdID0gYWx0QXRvbSA9PT0gJ0gnID8gYEhgIDogYE9IYDtcbiAgICAgICAgICByZ3JvdXBbUkdST1VQX0ZJRUxEUy5MQUJFTF0gPSBgUiR7cmFkaWNhbE51bX1gO1xuICAgICAgICAgIGpzb25SZ3JvdXBzLnB1c2gocmdyb3VwKTtcbiAgICAgICAgfSk7XG4gICAgICAgIG1vbm9tZXJba2V5XSA9IGpzb25SZ3JvdXBzO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKChqc29uU2RmTW9ub21lckxpYkRpY3QgYXMgeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBhbnkgfSlba2V5XSlcbiAgICAgICAgICBtb25vbWVyW2tleV0gPSB0YWJsZS5nZXQoKGpzb25TZGZNb25vbWVyTGliRGljdCBhcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IGFueSB9KVtrZXldLCBpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXN1bHRMaWIucHVzaChtb25vbWVyKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0TGliO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElNb25vbWVyTGliSGVscGVyIHtcbiAgLyoqIFNpbmdsZXRvbiBtb25vbWVyIGxpYnJhcnkgKi9cbiAgZ2V0QmlvTGliKCk6IElNb25vbWVyTGliO1xuXG4gIC8qKiAoUmUpTG9hZHMgbGlicmFyaWVzIGJhc2VkIG9uIHNldHRpbmdzIGluIHVzZXIgc3RvcmFnZSB7QGxpbmsgTElCX1NUT1JBR0VfTkFNRX0gdG8gc2luZ2xldG9uLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IHJlbG9hZCBDbGVhbiB7QGxpbmsgbW9ub21lckxpYn0gYmVmb3JlIGxvYWQgbGlicmFyaWVzIFtmYWxzZV1cbiAgICovXG4gIGxvYWRMaWJyYXJpZXMocmVsb2FkPzogYm9vbGVhbik6IFByb21pc2U8dm9pZD47XG5cbiAgLyoqIFJlYWRzIGxpYnJhcnkgZnJvbSBmaWxlIHNoYXJlcywgaGFuZGxlcyAuanNvbiBhbmQgLnNkZiAqL1xuICByZWFkTGlicmFyeShwYXRoOiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPElNb25vbWVyTGliPjtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldE1vbm9tZXJMaWJIZWxwZXIoKTogUHJvbWlzZTxJTW9ub21lckxpYkhlbHBlcj4ge1xuICBjb25zdCBmdW5jTGlzdCA9IERHLkZ1bmMuZmluZCh7cGFja2FnZTogJ0JpbycsIG5hbWU6ICdnZXRNb25vbWVyTGliSGVscGVyJ30pO1xuICBpZiAoZnVuY0xpc3QubGVuZ3RoID09PSAwKVxuICAgIHRocm93IG5ldyBFcnJvcignUGFja2FnZSBcIkJpb1wiIG11c3QgYmUgaW5zdGFsbGVyIGZvciBNb25vbWVyTGlicmFyeUhlbHBlci4nKTtcblxuICBjb25zdCByZXM6IElNb25vbWVyTGliSGVscGVyID0gKGF3YWl0IGZ1bmNMaXN0WzBdLnByZXBhcmUoKS5jYWxsKCkpLmdldE91dHB1dFBhcmFtVmFsdWUoKSBhcyBJTW9ub21lckxpYkhlbHBlcjtcbiAgcmV0dXJuIHJlcztcbn1cbiJdfQ==
@@ -1,8 +1,12 @@
1
1
  import * as DG from 'datagrok-api/dg';
2
2
  import { Monomer } from '../types';
3
+ /** Convert Macromolecule column into Molecule column storing molfile V3000 with the help of a monomer library */
3
4
  export declare function _toAtomicLevel(df: DG.DataFrame, macroMolCol: DG.Column<string>, monomersLibList: any[]): Promise<void>;
5
+ /** Parse element symbols for R-groups from the HELM monomer library R-groups
6
+ * field */
4
7
  export declare function parseCapGroups(rGroupObjList: any[]): string[];
5
8
  export declare function getSymbolToCappedMolfileMap(monomersLibList: any[]): Promise<Map<string, string> | undefined>;
9
+ /** Get the V3K molfile corresponding to the capped Monomer (default cap groups) */
6
10
  export declare function capPeptideMonomer(monomer: Monomer): string;
7
11
  /** Currently the ST has peculiar types of monomers, which do not fit the HELM
8
12
  * Core library types (in particular, the RNA monomers are backbones only,
@@ -1 +1 @@
1
- {"version":3,"file":"to-atomic-level.d.ts","sourceRoot":"","sources":["to-atomic-level.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAKtC,OAAO,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC;AAwGjC,wBAAsB,cAAc,CAClC,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,GAAG,EAAE,GACvE,OAAO,CAAC,IAAI,CAAC,CA8Df;AA8OD,wBAAgB,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,CAoB7D;AAy+BD,wBAAsB,2BAA2B,CAAC,eAAe,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CA6BlH;AAGD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAmB1D;AAID;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAAE,EAAE,oDAAoD;AAC1E,qBAAqB,EAAE;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAClD,MAAM,GAAG,IAAI,CAkBf"}
1
+ {"version":3,"file":"to-atomic-level.d.ts","sourceRoot":"","sources":["to-atomic-level.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAKtC,OAAO,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC;AAsHjC,kHAAkH;AAClH,wBAAsB,cAAc,CAClC,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,GAAG,EAAE,GACvE,OAAO,CAAC,IAAI,CAAC,CA+Df;AAuQD;YACY;AACZ,wBAAgB,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,CAe7D;AA+/BD,wBAAsB,2BAA2B,CAAC,eAAe,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CA6BlH;AAED,oFAAoF;AACpF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAmB1D;AAID;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAAE,EAAE,oDAAoD;AAC1E,qBAAqB,EAAE;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAClD,MAAM,GAAG,IAAI,CAkBf"}