@prisma/studio-core-licensed 0.0.0-dev.202511110025 → 0.0.0-dev.202511111927

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prisma/studio-core-licensed",
3
- "version": "0.0.0-dev.202511110025",
3
+ "version": "0.0.0-dev.202511111927",
4
4
  "description": "Modular Prisma Studio components",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -1,10 +0,0 @@
1
- import * as ___react___ from 'react';
2
- import * as ___react_dom___ from 'react-dom';
3
-
4
- function require(mod) {
5
- if (mod === 'react') return ___react___;
6
- if (mod === 'react-dom') return ___react_dom___;
7
- throw new Error(`Unknown module ${mod}`);
8
- }
9
- import{a as p}from"./chunk-MI7VN4OZ.js";import{a as d,b as y,c as g,d as a,e as s,f as h,g as l,h as b,i as m,j as _,k as j,n as w,p as x}from"./chunk-EQFDGYQI.js";import{e as n}from"./chunk-GDQBQ7MK.js";n();n();n();n();n();function A(t,r){let o=[];for(let{selection:e}of t.selections??[])if(s.is(e)&&a.is(e.column))o.push(u(e.column.column.name),c(r,e.column.column.name));else if(a.is(e))o.push(u(e.column.name),c(r,e.column.name));else if(y.is(e)&&d.is(e.alias))o.push(u(e.alias.name),c(r,e.alias.name));else throw new Error("can't extract column names from the select query node");return o}function u(t){return new l(h.createImmediate(t))}function c(t,r){return new l(s.create(a.create(r),g.create(t)))}function q(t){return m`(select coalesce(json_group_array(json_object(${m.join(k(t.toOperationNode(),"agg"))})), '[]') from ${t} as agg)`}function k(t,r){try{return A(t,r)}catch{throw new Error("SQLite jsonArrayFrom and jsonObjectFrom functions can only handle explicit selections due to limitations of the json_object function. selectAll() is not allowed in the subquery.")}}n();function E(t){return w({...t,Adapter:j,QueryCompiler:_})}function R(t){return x(E(t).selectFrom(b().fn("pragma_table_list",[]).as("tl")).leftJoin("sqlite_schema as ss",r=>r.onRef("ss.type","=","tl.type").onRef("ss.name","=","tl.name")).where("tl.type","in",["table","view"]).where("tl.schema","=","main").where("tl.name","not like","sqlite_%").select(["tl.schema","tl.schema","tl.name","tl.type","ss.sql"]).select(r=>[q(r.selectFrom(r.fn("pragma_table_xinfo",["tl.name"]).as("txi")).leftJoin(r.fn("pragma_foreign_key_list",["tl.name"]).as("fkl"),"fkl.from","txi.name").where("txi.hidden","!=",1).select(["txi.name","txi.type as datatype","fkl.table as foreign_key_table","fkl.to as foreign_key_column"]).select(o=>[o("txi.hidden","in",[2,3]).as("computed"),o("txi.notnull","!=",0).as("nullable"),o("txi.pk","!=",0).as("pk")])).as("columns")]))}function ee(t){let{executor:r}=t;return{defaultSchema:"main",delete(o,e){throw new Error("Method not implemented.")},insert(o,e){throw new Error("Method not implemented.")},async introspect(o){try{let e=R(t),[f,Q]=await r.execute(e,o);return f?p({error:f,query:e}):[null,{filterOperators:[],query:e,schemas:{},timezone:"UTC"}]}catch(e){return p({error:e})}},query(o,e){throw new Error("Method not implemented.")},update(o,e){throw new Error("Method not implemented.")}}}export{R as a,ee as b};
10
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vZGF0YS9zcWxpdGUtY29yZS9pbmRleC50cyIsICIuLi9kYXRhL3NxbGl0ZS1jb3JlL2FkYXB0ZXIudHMiLCAiLi4vZGF0YS9zcWxpdGUtY29yZS9pbnRyb3NwZWN0aW9uLnRzIiwgIi4uLy4uLy4uL25vZGVfbW9kdWxlcy8ucG5wbS9reXNlbHlAMC4yOC4yL25vZGVfbW9kdWxlcy9reXNlbHkvZGlzdC9lc20vaGVscGVycy9zcWxpdGUuanMiLCAiLi4vLi4vLi4vbm9kZV9tb2R1bGVzLy5wbnBtL2t5c2VseUAwLjI4LjIvbm9kZV9tb2R1bGVzL2t5c2VseS9kaXN0L2VzbS91dGlsL2pzb24tb2JqZWN0LWFyZ3MuanMiLCAiLi4vZGF0YS9zcWxpdGUtY29yZS9idWlsZGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJleHBvcnQgKiBmcm9tIFwiLi9hZGFwdGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kbWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ludHJvc3BlY3Rpb25cIjtcbiIsICJpbXBvcnQge1xuICB0eXBlIEFkYXB0ZXIsXG4gIHR5cGUgQWRhcHRlckVycm9yLFxuICB0eXBlIEFkYXB0ZXJJbnRyb3NwZWN0UmVzdWx0LFxuICB0eXBlIEFkYXB0ZXJSZXF1aXJlbWVudHMsXG4gIGNyZWF0ZUFkYXB0ZXJFcnJvcixcbn0gZnJvbSBcIi4uL2FkYXB0ZXJcIjtcbmltcG9ydCB0eXBlIHsgRWl0aGVyIH0gZnJvbSBcIi4uL3R5cGUtdXRpbHNcIjtcbmltcG9ydCB7IGdldFRhYmxlc1F1ZXJ5IH0gZnJvbSBcIi4vaW50cm9zcGVjdGlvblwiO1xuXG5leHBvcnQgdHlwZSBTUUxJdGVBZGFwdGVyUmVxdWlyZW1lbnRzID0gQWRhcHRlclJlcXVpcmVtZW50cztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNRTGl0ZUFkYXB0ZXIocmVxdWlyZW1lbnRzOiBTUUxJdGVBZGFwdGVyUmVxdWlyZW1lbnRzKTogQWRhcHRlciB7XG4gIGNvbnN0IHsgZXhlY3V0b3IgfSA9IHJlcXVpcmVtZW50cztcblxuICByZXR1cm4ge1xuICAgIGRlZmF1bHRTY2hlbWE6IFwibWFpblwiLFxuXG4gICAgZGVsZXRlKF9kZXRhaWxzLCBfb3B0aW9ucykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC5cIik7XG4gICAgfSxcblxuICAgIGluc2VydChfZGV0YWlscywgX29wdGlvbnMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIk1ldGhvZCBub3QgaW1wbGVtZW50ZWQuXCIpO1xuICAgIH0sXG5cbiAgICBhc3luYyBpbnRyb3NwZWN0KG9wdGlvbnMpOiBQcm9taXNlPEVpdGhlcjxBZGFwdGVyRXJyb3IsIEFkYXB0ZXJJbnRyb3NwZWN0UmVzdWx0Pj4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdGFibGVzUXVlcnkgPSBnZXRUYWJsZXNRdWVyeShyZXF1aXJlbWVudHMpO1xuXG4gICAgICAgIGNvbnN0IFt0YWJsZXNFcnJvciwgX3RhYmxlc10gPSBhd2FpdCBleGVjdXRvci5leGVjdXRlKHRhYmxlc1F1ZXJ5LCBvcHRpb25zKTtcblxuICAgICAgICBpZiAodGFibGVzRXJyb3IpIHtcbiAgICAgICAgICByZXR1cm4gY3JlYXRlQWRhcHRlckVycm9yKHsgZXJyb3I6IHRhYmxlc0Vycm9yLCBxdWVyeTogdGFibGVzUXVlcnkgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIG51bGwsXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmlsdGVyT3BlcmF0b3JzOiBbXSxcbiAgICAgICAgICAgIHF1ZXJ5OiB0YWJsZXNRdWVyeSxcbiAgICAgICAgICAgIHNjaGVtYXM6IHt9LFxuICAgICAgICAgICAgdGltZXpvbmU6IFwiVVRDXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVBZGFwdGVyRXJyb3IoeyBlcnJvcjogZXJyb3IgYXMgRXJyb3IgfSk7XG4gICAgICB9XG4gICAgfSxcblxuICAgIHF1ZXJ5KF9kZXRhaWxzLCBfb3B0aW9ucykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC5cIik7XG4gICAgfSxcblxuICAgIHVwZGF0ZShfZGV0YWlscywgX29wdGlvbnMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIk1ldGhvZCBub3QgaW1wbGVtZW50ZWQuXCIpO1xuICAgIH0sXG4gIH07XG59XG4iLCAiLyoqXG4gKiBTUUxpdGUgaW50cm9zcGVjdGlvbiBxdWVyaWVzIHRvIGJlIHVzZWQgYnkgdGhlIFNRTGl0ZSBhZGFwdGVyJ3MgaW50cm9zcGVjdCBtZXRob2QuXG4gKiBAbW9kdWxlIHNxbGl0ZS1jb3JlL2ludHJvc3BlY3Rpb25cbiAqXG4gKiBSZWZlcmVuY2VzOlxuICogaHR0cHM6Ly9zcWxpdGUub3JnL3ByYWdtYS5odG1sXG4gKiBodHRwczovL3NxbGl0ZS5vcmcvc2NoZW1hdGFiLmh0bWxcbiAqL1xuXG5pbXBvcnQgeyBleHByZXNzaW9uQnVpbGRlciB9IGZyb20gXCJreXNlbHlcIjtcbmltcG9ydCB7IGpzb25BcnJheUZyb20gfSBmcm9tIFwia3lzZWx5L2hlbHBlcnMvc3FsaXRlXCI7XG5cbmltcG9ydCB7IHR5cGUgQnVpbGRlclJlcXVpcmVtZW50cywgY29tcGlsZSB9IGZyb20gXCIuLi9xdWVyeVwiO1xuaW1wb3J0IHsgZ2V0U1FMaXRlQnVpbGRlciB9IGZyb20gXCIuL2J1aWxkZXJcIjtcblxuaW50ZXJmYWNlIERhdGFiYXNlIHtcbiAgLyoqIHRoZSBtYWluIHN5c3RlbSB0YWJsZSAqL1xuICBzcWxpdGVfc2NoZW1hOiB7XG4gICAgLyoqIG9iamVjdCBuYW1lICovXG4gICAgbmFtZTogc3RyaW5nO1xuICAgIC8qKiBwYWdlIG51bWJlciBpbiByb290IGluZGV4IHdoZW4gb2JqZWN0IGlzIGEgdGFibGUuICovXG4gICAgcm9vdHBhZ2U6IG51bWJlcjtcbiAgICAvKiogc3FsIHN0YXRlbWVudCB0aGF0IGNhbiByZWNyZWF0ZSB0aGUgb2JqZWN0LiBudWxsIHdoZW4gaW50ZXJuYWwgaW5kZXggb2JqZWN0LiAqL1xuICAgIHNxbDogc3RyaW5nIHwgbnVsbDtcbiAgICAvKiogcmVsYXRlZCB0YWJsZS92aWV3IG5hbWUgd2hlbiBvYmplY3QgaXMgYW4gaW5kZXgvdHJpZ2dlci4gKi9cbiAgICB0YmxfbmFtZTogc3RyaW5nO1xuICAgIC8qKiBvYmplY3QgdHlwZSAqL1xuICAgIHR5cGU6IFwiaW5kZXhcIiB8IFwidGFibGVcIiB8IFwidHJpZ2dlclwiIHwgXCJ2aWV3XCI7XG4gIH07XG59XG5cbi8qKlxuICogVGhlIHNoYXBlIG9mIGVhY2ggcm93IHJldHVybmVkIGJ5IGBwcmFnbWFfdGFibGVfbGlzdCh0YWJsZU5hbWU/KWAuXG4gKi9cbmludGVyZmFjZSBQcmFnbWFUYWJsZUxpc3Qge1xuICAvKiogb2JqZWN0IG5hbWUgKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKiogc2NoZW1hIG5hbWUgKi9cbiAgc2NoZW1hOiBcIm1haW5cIiB8IFwidGVtcFwiO1xuICAvKiogb2JqZWN0IHR5cGUgKi9cbiAgdHlwZTogXCJzaGFkb3dcIiB8IFwidGFibGVcIiB8IFwidmlld1wiIHwgXCJ2aXJ0dWFsXCI7XG59XG5cbi8qKlxuICogVGhlIHNoYXBlIG9mIGVhY2ggcm93IHJldHVybmVkIGJ5IGBwcmFnbWFfdGFibGVfeGluZm8odGFibGVOYW1lKWAuXG4gKi9cbmludGVyZmFjZSBQcmFnbWFUYWJsZVhJbmZvIHtcbiAgLyoqIFwicmFuayB3aXRoaW4gY3VycmVudCByZXN1bHQgc2V0XCIgKi9cbiAgY2lkOiBudW1iZXI7XG4gIC8qKiBkZWZhdWx0IHZhbHVlICovXG4gIGRmbHRfdmFsdWU6IHVua25vd247XG4gIC8qKiAwIC0gbm9ybWFsLCAxIC0gaGlkZGVuLCAyLTMgLSBkeW5hbWljL3N0b3JlZCBnZW5lcmF0ZWQgKi9cbiAgaGlkZGVuOiAwIHwgMSB8IDIgfCAzO1xuICAvKiogY29sdW1uIG5hbWUgKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKiogd2hldGhlciB0aGUgY29sdW1uIGNhbiBiZSBudWxsICovXG4gIG5vdG51bGw6IDAgfCAxO1xuICAvKiogMCBpZiBub3QgcGFydCBvZiB0aGUgcHJpbWFyeSBrZXksIG90aGVyd2lzZSB0aGUgMS1iYXNlZCBvcmRpbmFsIG51bWJlciBvZiB0aGUgY29sdW1uIGluIHRoZSBwcmltYXJ5IGtleSAqL1xuICBwazogbnVtYmVyO1xuICAvKiogZGF0YSB0eXBlICovXG4gIHR5cGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgc2hhcGUgb2YgZWFjaCByb3cgcmV0dXJuZWQgYnkgYHByYWdtYV9mb3JlaWduX2tleV9saXN0KHRhYmxlTmFtZSlgLlxuICovXG5pbnRlcmZhY2UgUHJhZ21hRm9yZWlnbktleUxpc3Qge1xuICAvKiogY29sdW1uIG5hbWUgKi9cbiAgZnJvbTogc3RyaW5nO1xuICAvKiogb3JkaW5hbCBudW1iZXIgb2YgY29sdW1uIHdpdGhpbiB0aGUgZm9yZWlnbiBrZXkgKi9cbiAgc2VxOiBudW1iZXI7XG4gIC8qKiBmb3JlaWduIHRhYmxlIG5hbWUgKi9cbiAgdGFibGU6IHN0cmluZztcbiAgLyoqIGNvbHVtbiBuYW1lIGluIHRoZSBmb3JlaWduIHRhYmxlICovXG4gIHRvOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUYWJsZXNRdWVyeShyZXF1aXJlbWVudHM/OiBPbWl0PEJ1aWxkZXJSZXF1aXJlbWVudHMsIFwiQWRhcHRlclwiIHwgXCJRdWVyeUNvbXBpbGVyXCI+KSB7XG4gIHJldHVybiBjb21waWxlKFxuICAgIGdldFNRTGl0ZUJ1aWxkZXI8RGF0YWJhc2U+KHJlcXVpcmVtZW50cylcbiAgICAgIC5zZWxlY3RGcm9tKGV4cHJlc3Npb25CdWlsZGVyKCkuZm48UHJhZ21hVGFibGVMaXN0PihcInByYWdtYV90YWJsZV9saXN0XCIsIFtdKS5hcyhcInRsXCIpKVxuICAgICAgLmxlZnRKb2luKFwic3FsaXRlX3NjaGVtYSBhcyBzc1wiLCAoamIpID0+IGpiLm9uUmVmKFwic3MudHlwZVwiLCBcIj1cIiwgXCJ0bC50eXBlXCIpLm9uUmVmKFwic3MubmFtZVwiLCBcIj1cIiwgXCJ0bC5uYW1lXCIpKVxuICAgICAgLndoZXJlKFwidGwudHlwZVwiLCBcImluXCIsIFtcInRhYmxlXCIsIFwidmlld1wiXSlcbiAgICAgIC8vIGV4Y2x1ZGUgdGVtcG9yYXJ5IHRhYmxlcy92aWV3c1xuICAgICAgLndoZXJlKFwidGwuc2NoZW1hXCIsIFwiPVwiLCBcIm1haW5cIilcbiAgICAgIC8vIGV4Y2x1ZGUgc3lzdGVtIHRhYmxlcy92aWV3c1xuICAgICAgLndoZXJlKFwidGwubmFtZVwiLCBcIm5vdCBsaWtlXCIsIFwic3FsaXRlXyVcIilcbiAgICAgIC5zZWxlY3QoW1widGwuc2NoZW1hXCIsIFwidGwuc2NoZW1hXCIsIFwidGwubmFtZVwiLCBcInRsLnR5cGVcIiwgXCJzcy5zcWxcIl0pXG4gICAgICAuc2VsZWN0KChlYikgPT4gW1xuICAgICAgICBqc29uQXJyYXlGcm9tKFxuICAgICAgICAgIGViXG4gICAgICAgICAgICAuc2VsZWN0RnJvbShlYi5mbjxQcmFnbWFUYWJsZVhJbmZvPihcInByYWdtYV90YWJsZV94aW5mb1wiLCBbXCJ0bC5uYW1lXCJdKS5hcyhcInR4aVwiKSlcbiAgICAgICAgICAgIC5sZWZ0Sm9pbihcbiAgICAgICAgICAgICAgZWIuZm48UHJhZ21hRm9yZWlnbktleUxpc3Q+KFwicHJhZ21hX2ZvcmVpZ25fa2V5X2xpc3RcIiwgW1widGwubmFtZVwiXSkuYXMoXCJma2xcIiksXG4gICAgICAgICAgICAgIFwiZmtsLmZyb21cIixcbiAgICAgICAgICAgICAgXCJ0eGkubmFtZVwiLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLy8gZXhjbHVkZSBoaWRkZW4gY29sdW1uc1xuICAgICAgICAgICAgLndoZXJlKFwidHhpLmhpZGRlblwiLCBcIiE9XCIsIDEpXG4gICAgICAgICAgICAuc2VsZWN0KFtcbiAgICAgICAgICAgICAgXCJ0eGkubmFtZVwiLFxuICAgICAgICAgICAgICBcInR4aS50eXBlIGFzIGRhdGF0eXBlXCIsXG4gICAgICAgICAgICAgIFwiZmtsLnRhYmxlIGFzIGZvcmVpZ25fa2V5X3RhYmxlXCIsXG4gICAgICAgICAgICAgIFwiZmtsLnRvIGFzIGZvcmVpZ25fa2V5X2NvbHVtblwiLFxuICAgICAgICAgICAgXSlcbiAgICAgICAgICAgIC5zZWxlY3QoKGViKSA9PiBbXG4gICAgICAgICAgICAgIGViKFwidHhpLmhpZGRlblwiLCBcImluXCIsIFsyLCAzXSkuYXMoXCJjb21wdXRlZFwiKSxcbiAgICAgICAgICAgICAgZWIoXCJ0eGkubm90bnVsbFwiLCBcIiE9XCIsIDApLmFzKFwibnVsbGFibGVcIiksXG4gICAgICAgICAgICAgIGViKFwidHhpLnBrXCIsIFwiIT1cIiwgMCkuYXMoXCJwa1wiKSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICApLmFzKFwiY29sdW1uc1wiKSxcbiAgICAgIF0pLFxuICApO1xufVxuIiwgIi8vLyA8cmVmZXJlbmNlIHR5cGVzPVwiLi9zcWxpdGUuZC50c1wiIC8+XG5pbXBvcnQgeyBzcWwgfSBmcm9tICcuLi9yYXctYnVpbGRlci9zcWwuanMnO1xuaW1wb3J0IHsgZ2V0SnNvbk9iamVjdEFyZ3MgfSBmcm9tICcuLi91dGlsL2pzb24tb2JqZWN0LWFyZ3MuanMnO1xuLyoqXG4gKiBBIFNRTGl0ZSBoZWxwZXIgZm9yIGFnZ3JlZ2F0aW5nIGEgc3VicXVlcnkgaW50byBhIEpTT04gYXJyYXkuXG4gKlxuICogTk9URTogVGhpcyBoZWxwZXIgb25seSB3b3JrcyBjb3JyZWN0bHkgaWYgeW91J3ZlIGluc3RhbGxlZCB0aGUgYFBhcnNlSlNPTlJlc3VsdHNQbHVnaW5gLlxuICogT3RoZXJ3aXNlIHRoZSBuZXN0ZWQgc2VsZWN0aW9ucyB3aWxsIGJlIHJldHVybmVkIGFzIEpTT04gc3RyaW5ncy5cbiAqXG4gKiBUaGUgcGx1Z2luIGNhbiBiZSBpbnN0YWxsZWQgbGlrZSB0aGlzOlxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgKiBhcyBTcWxpdGUgZnJvbSAnYmV0dGVyLXNxbGl0ZTMnXG4gKiBpbXBvcnQgeyBLeXNlbHksIFBhcnNlSlNPTlJlc3VsdHNQbHVnaW4sIFNxbGl0ZURpYWxlY3QgfSBmcm9tICdreXNlbHknXG4gKiBpbXBvcnQgdHlwZSB7IERhdGFiYXNlIH0gZnJvbSAndHlwZS1lZGl0b3InIC8vIGltYWdpbmFyeSBtb2R1bGVcbiAqXG4gKiBjb25zdCBkYiA9IG5ldyBLeXNlbHk8RGF0YWJhc2U+KHtcbiAqICAgZGlhbGVjdDogbmV3IFNxbGl0ZURpYWxlY3Qoe1xuICogICAgIGRhdGFiYXNlOiBuZXcgU3FsaXRlKCc6bWVtb3J5OicpXG4gKiAgIH0pLFxuICogICBwbHVnaW5zOiBbbmV3IFBhcnNlSlNPTlJlc3VsdHNQbHVnaW4oKV1cbiAqIH0pXG4gKiBgYGBcbiAqXG4gKiAjIyMgRXhhbXBsZXNcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsganNvbkFycmF5RnJvbSB9IGZyb20gJ2t5c2VseS9oZWxwZXJzL3NxbGl0ZSdcbiAqXG4gKiBjb25zdCByZXN1bHQgPSBhd2FpdCBkYlxuICogICAuc2VsZWN0RnJvbSgncGVyc29uJylcbiAqICAgLnNlbGVjdCgoZWIpID0+IFtcbiAqICAgICAnaWQnLFxuICogICAgIGpzb25BcnJheUZyb20oXG4gKiAgICAgICBlYi5zZWxlY3RGcm9tKCdwZXQnKVxuICogICAgICAgICAuc2VsZWN0KFsncGV0LmlkIGFzIHBldF9pZCcsICdwZXQubmFtZSddKVxuICogICAgICAgICAud2hlcmVSZWYoJ3BldC5vd25lcl9pZCcsICc9JywgJ3BlcnNvbi5pZCcpXG4gKiAgICAgICAgIC5vcmRlckJ5KCdwZXQubmFtZScpXG4gKiAgICAgKS5hcygncGV0cycpXG4gKiAgIF0pXG4gKiAgIC5leGVjdXRlKClcbiAqXG4gKiByZXN1bHRbMF0/LmlkXG4gKiByZXN1bHRbMF0/LnBldHNbMF0ucGV0X2lkXG4gKiByZXN1bHRbMF0/LnBldHNbMF0ubmFtZVxuICogYGBgXG4gKlxuICogVGhlIGdlbmVyYXRlZCBTUUwgKFNRTGl0ZSk6XG4gKlxuICogYGBgc3FsXG4gKiBzZWxlY3QgXCJpZFwiLCAoXG4gKiAgIHNlbGVjdCBjb2FsZXNjZShqc29uX2dyb3VwX2FycmF5KGpzb25fb2JqZWN0KFxuICogICAgICdwZXRfaWQnLCBcImFnZ1wiLlwicGV0X2lkXCIsXG4gKiAgICAgJ25hbWUnLCBcImFnZ1wiLlwibmFtZVwiXG4gKiAgICkpLCAnW10nKSBmcm9tIChcbiAqICAgICBzZWxlY3QgXCJwZXRcIi5cImlkXCIgYXMgXCJwZXRfaWRcIiwgXCJwZXRcIi5cIm5hbWVcIlxuICogICAgIGZyb20gXCJwZXRcIlxuICogICAgIHdoZXJlIFwicGV0XCIuXCJvd25lcl9pZFwiID0gXCJwZXJzb25cIi5cImlkXCJcbiAqICAgICBvcmRlciBieSBcInBldFwiLlwibmFtZVwiXG4gKiAgICkgYXMgXCJhZ2dcIlxuICogKSBhcyBcInBldHNcIlxuICogZnJvbSBcInBlcnNvblwiXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGpzb25BcnJheUZyb20oZXhwcikge1xuICAgIHJldHVybiBzcWwgYChzZWxlY3QgY29hbGVzY2UoanNvbl9ncm91cF9hcnJheShqc29uX29iamVjdCgke3NxbC5qb2luKGdldFNxbGl0ZUpzb25PYmplY3RBcmdzKGV4cHIudG9PcGVyYXRpb25Ob2RlKCksICdhZ2cnKSl9KSksICdbXScpIGZyb20gJHtleHByfSBhcyBhZ2cpYDtcbn1cbi8qKlxuICogQSBTUUxpdGUgaGVscGVyIGZvciB0dXJuaW5nIGEgc3VicXVlcnkgaW50byBhIEpTT04gb2JqZWN0LlxuICpcbiAqIFRoZSBzdWJxdWVyeSBtdXN0IG9ubHkgcmV0dXJuIG9uZSByb3cuXG4gKlxuICogTk9URTogVGhpcyBoZWxwZXIgb25seSB3b3JrcyBjb3JyZWN0bHkgaWYgeW91J3ZlIGluc3RhbGxlZCB0aGUgYFBhcnNlSlNPTlJlc3VsdHNQbHVnaW5gLlxuICogT3RoZXJ3aXNlIHRoZSBuZXN0ZWQgc2VsZWN0aW9ucyB3aWxsIGJlIHJldHVybmVkIGFzIEpTT04gc3RyaW5ncy5cbiAqXG4gKiBUaGUgcGx1Z2luIGNhbiBiZSBpbnN0YWxsZWQgbGlrZSB0aGlzOlxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgKiBhcyBTcWxpdGUgZnJvbSAnYmV0dGVyLXNxbGl0ZTMnXG4gKiBpbXBvcnQgeyBLeXNlbHksIFBhcnNlSlNPTlJlc3VsdHNQbHVnaW4sIFNxbGl0ZURpYWxlY3QgfSBmcm9tICdreXNlbHknXG4gKiBpbXBvcnQgdHlwZSB7IERhdGFiYXNlIH0gZnJvbSAndHlwZS1lZGl0b3InIC8vIGltYWdpbmFyeSBtb2R1bGVcbiAqXG4gKiBjb25zdCBkYiA9IG5ldyBLeXNlbHk8RGF0YWJhc2U+KHtcbiAqICAgZGlhbGVjdDogbmV3IFNxbGl0ZURpYWxlY3Qoe1xuICogICAgIGRhdGFiYXNlOiBuZXcgU3FsaXRlKCc6bWVtb3J5OicpXG4gKiAgIH0pLFxuICogICBwbHVnaW5zOiBbbmV3IFBhcnNlSlNPTlJlc3VsdHNQbHVnaW4oKV1cbiAqIH0pXG4gKiBgYGBcbiAqXG4gKiAjIyMgRXhhbXBsZXNcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsganNvbk9iamVjdEZyb20gfSBmcm9tICdreXNlbHkvaGVscGVycy9zcWxpdGUnXG4gKlxuICogY29uc3QgcmVzdWx0ID0gYXdhaXQgZGJcbiAqICAgLnNlbGVjdEZyb20oJ3BlcnNvbicpXG4gKiAgIC5zZWxlY3QoKGViKSA9PiBbXG4gKiAgICAgJ2lkJyxcbiAqICAgICBqc29uT2JqZWN0RnJvbShcbiAqICAgICAgIGViLnNlbGVjdEZyb20oJ3BldCcpXG4gKiAgICAgICAgIC5zZWxlY3QoWydwZXQuaWQgYXMgcGV0X2lkJywgJ3BldC5uYW1lJ10pXG4gKiAgICAgICAgIC53aGVyZVJlZigncGV0Lm93bmVyX2lkJywgJz0nLCAncGVyc29uLmlkJylcbiAqICAgICAgICAgLndoZXJlKCdwZXQuaXNfZmF2b3JpdGUnLCAnPScsIHRydWUpXG4gKiAgICAgKS5hcygnZmF2b3JpdGVfcGV0JylcbiAqICAgXSlcbiAqICAgLmV4ZWN1dGUoKVxuICpcbiAqIHJlc3VsdFswXT8uaWRcbiAqIHJlc3VsdFswXT8uZmF2b3JpdGVfcGV0Py5wZXRfaWRcbiAqIHJlc3VsdFswXT8uZmF2b3JpdGVfcGV0Py5uYW1lXG4gKiBgYGBcbiAqXG4gKiBUaGUgZ2VuZXJhdGVkIFNRTCAoU1FMaXRlKTpcbiAqXG4gKiBgYGBzcWxcbiAqIHNlbGVjdCBcImlkXCIsIChcbiAqICAgc2VsZWN0IGpzb25fb2JqZWN0KFxuICogICAgICdwZXRfaWQnLCBcIm9ialwiLlwicGV0X2lkXCIsXG4gKiAgICAgJ25hbWUnLCBcIm9ialwiLlwibmFtZVwiXG4gKiAgICkgZnJvbSAoXG4gKiAgICAgc2VsZWN0IFwicGV0XCIuXCJpZFwiIGFzIFwicGV0X2lkXCIsIFwicGV0XCIuXCJuYW1lXCJcbiAqICAgICBmcm9tIFwicGV0XCJcbiAqICAgICB3aGVyZSBcInBldFwiLlwib3duZXJfaWRcIiA9IFwicGVyc29uXCIuXCJpZFwiXG4gKiAgICAgYW5kIFwicGV0XCIuXCJpc19mYXZvcml0ZVwiID0gP1xuICogICApIGFzIG9ialxuICogKSBhcyBcImZhdm9yaXRlX3BldFwiXG4gKiBmcm9tIFwicGVyc29uXCI7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGpzb25PYmplY3RGcm9tKGV4cHIpIHtcbiAgICByZXR1cm4gc3FsIGAoc2VsZWN0IGpzb25fb2JqZWN0KCR7c3FsLmpvaW4oZ2V0U3FsaXRlSnNvbk9iamVjdEFyZ3MoZXhwci50b09wZXJhdGlvbk5vZGUoKSwgJ29iaicpKX0pIGZyb20gJHtleHByfSBhcyBvYmopYDtcbn1cbi8qKlxuICogVGhlIFNRTGl0ZSBganNvbl9vYmplY3RgIGZ1bmN0aW9uLlxuICpcbiAqIE5PVEU6IFRoaXMgaGVscGVyIG9ubHkgd29ya3MgY29ycmVjdGx5IGlmIHlvdSd2ZSBpbnN0YWxsZWQgdGhlIGBQYXJzZUpTT05SZXN1bHRzUGx1Z2luYC5cbiAqIE90aGVyd2lzZSB0aGUgbmVzdGVkIHNlbGVjdGlvbnMgd2lsbCBiZSByZXR1cm5lZCBhcyBKU09OIHN0cmluZ3MuXG4gKlxuICogVGhlIHBsdWdpbiBjYW4gYmUgaW5zdGFsbGVkIGxpa2UgdGhpczpcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0ICogYXMgU3FsaXRlIGZyb20gJ2JldHRlci1zcWxpdGUzJ1xuICogaW1wb3J0IHsgS3lzZWx5LCBQYXJzZUpTT05SZXN1bHRzUGx1Z2luLCBTcWxpdGVEaWFsZWN0IH0gZnJvbSAna3lzZWx5J1xuICogaW1wb3J0IHR5cGUgeyBEYXRhYmFzZSB9IGZyb20gJ3R5cGUtZWRpdG9yJyAvLyBpbWFnaW5hcnkgbW9kdWxlXG4gKlxuICogY29uc3QgZGIgPSBuZXcgS3lzZWx5PERhdGFiYXNlPih7XG4gKiAgIGRpYWxlY3Q6IG5ldyBTcWxpdGVEaWFsZWN0KHtcbiAqICAgICBkYXRhYmFzZTogbmV3IFNxbGl0ZSgnOm1lbW9yeTonKVxuICogICB9KSxcbiAqICAgcGx1Z2luczogW25ldyBQYXJzZUpTT05SZXN1bHRzUGx1Z2luKCldXG4gKiB9KVxuICogYGBgXG4gKlxuICogIyMjIEV4YW1wbGVzXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IHNxbCB9IGZyb20gJ2t5c2VseSdcbiAqIGltcG9ydCB7IGpzb25CdWlsZE9iamVjdCB9IGZyb20gJ2t5c2VseS9oZWxwZXJzL3NxbGl0ZSdcbiAqXG4gKiBjb25zdCByZXN1bHQgPSBhd2FpdCBkYlxuICogICAuc2VsZWN0RnJvbSgncGVyc29uJylcbiAqICAgLnNlbGVjdCgoZWIpID0+IFtcbiAqICAgICAnaWQnLFxuICogICAgIGpzb25CdWlsZE9iamVjdCh7XG4gKiAgICAgICBmaXJzdDogZWIucmVmKCdmaXJzdF9uYW1lJyksXG4gKiAgICAgICBsYXN0OiBlYi5yZWYoJ2xhc3RfbmFtZScpLFxuICogICAgICAgZnVsbDogc3FsPHN0cmluZz5gZmlyc3RfbmFtZSB8fFx1MDBBMCcgJyB8fCBsYXN0X25hbWVgXG4gKiAgICAgfSkuYXMoJ25hbWUnKVxuICogICBdKVxuICogICAuZXhlY3V0ZSgpXG4gKlxuICogcmVzdWx0WzBdPy5pZFxuICogcmVzdWx0WzBdPy5uYW1lLmZpcnN0XG4gKiByZXN1bHRbMF0/Lm5hbWUubGFzdFxuICogcmVzdWx0WzBdPy5uYW1lLmZ1bGxcbiAqIGBgYFxuICpcbiAqIFRoZSBnZW5lcmF0ZWQgU1FMIChTUUxpdGUpOlxuICpcbiAqIGBgYHNxbFxuICogc2VsZWN0IFwiaWRcIiwganNvbl9vYmplY3QoXG4gKiAgICdmaXJzdCcsIGZpcnN0X25hbWUsXG4gKiAgICdsYXN0JywgbGFzdF9uYW1lLFxuICogICAnZnVsbCcsIFwiZmlyc3RfbmFtZVwiIHx8ICcgJyB8fCBcImxhc3RfbmFtZVwiXG4gKiApIGFzIFwibmFtZVwiXG4gKiBmcm9tIFwicGVyc29uXCJcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24ganNvbkJ1aWxkT2JqZWN0KG9iaikge1xuICAgIHJldHVybiBzcWwgYGpzb25fb2JqZWN0KCR7c3FsLmpvaW4oT2JqZWN0LmtleXMob2JqKS5mbGF0TWFwKChrKSA9PiBbc3FsLmxpdChrKSwgb2JqW2tdXSkpfSlgO1xufVxuZnVuY3Rpb24gZ2V0U3FsaXRlSnNvbk9iamVjdEFyZ3Mobm9kZSwgdGFibGUpIHtcbiAgICB0cnkge1xuICAgICAgICByZXR1cm4gZ2V0SnNvbk9iamVjdEFyZ3Mobm9kZSwgdGFibGUpO1xuICAgIH1cbiAgICBjYXRjaCB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignU1FMaXRlIGpzb25BcnJheUZyb20gYW5kIGpzb25PYmplY3RGcm9tIGZ1bmN0aW9ucyBjYW4gb25seSBoYW5kbGUgZXhwbGljaXQgc2VsZWN0aW9ucyBkdWUgdG8gbGltaXRhdGlvbnMgb2YgdGhlIGpzb25fb2JqZWN0IGZ1bmN0aW9uLiBzZWxlY3RBbGwoKSBpcyBub3QgYWxsb3dlZCBpbiB0aGUgc3VicXVlcnkuJyk7XG4gICAgfVxufVxuIiwgIi8vLyA8cmVmZXJlbmNlIHR5cGVzPVwiLi9qc29uLW9iamVjdC1hcmdzLmQudHNcIiAvPlxuaW1wb3J0IHsgRXhwcmVzc2lvbldyYXBwZXIgfSBmcm9tICcuLi9leHByZXNzaW9uL2V4cHJlc3Npb24td3JhcHBlci5qcyc7XG5pbXBvcnQgeyBBbGlhc05vZGUgfSBmcm9tICcuLi9vcGVyYXRpb24tbm9kZS9hbGlhcy1ub2RlLmpzJztcbmltcG9ydCB7IENvbHVtbk5vZGUgfSBmcm9tICcuLi9vcGVyYXRpb24tbm9kZS9jb2x1bW4tbm9kZS5qcyc7XG5pbXBvcnQgeyBJZGVudGlmaWVyTm9kZSB9IGZyb20gJy4uL29wZXJhdGlvbi1ub2RlL2lkZW50aWZpZXItbm9kZS5qcyc7XG5pbXBvcnQgeyBSZWZlcmVuY2VOb2RlIH0gZnJvbSAnLi4vb3BlcmF0aW9uLW5vZGUvcmVmZXJlbmNlLW5vZGUuanMnO1xuaW1wb3J0IHsgVGFibGVOb2RlIH0gZnJvbSAnLi4vb3BlcmF0aW9uLW5vZGUvdGFibGUtbm9kZS5qcyc7XG5pbXBvcnQgeyBWYWx1ZU5vZGUgfSBmcm9tICcuLi9vcGVyYXRpb24tbm9kZS92YWx1ZS1ub2RlLmpzJztcbmV4cG9ydCBmdW5jdGlvbiBnZXRKc29uT2JqZWN0QXJncyhub2RlLCB0YWJsZSkge1xuICAgIGNvbnN0IGFyZ3MgPSBbXTtcbiAgICBmb3IgKGNvbnN0IHsgc2VsZWN0aW9uOiBzIH0gb2Ygbm9kZS5zZWxlY3Rpb25zID8/IFtdKSB7XG4gICAgICAgIGlmIChSZWZlcmVuY2VOb2RlLmlzKHMpICYmIENvbHVtbk5vZGUuaXMocy5jb2x1bW4pKSB7XG4gICAgICAgICAgICBhcmdzLnB1c2goY29sTmFtZShzLmNvbHVtbi5jb2x1bW4ubmFtZSksIGNvbFJlZih0YWJsZSwgcy5jb2x1bW4uY29sdW1uLm5hbWUpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChDb2x1bW5Ob2RlLmlzKHMpKSB7XG4gICAgICAgICAgICBhcmdzLnB1c2goY29sTmFtZShzLmNvbHVtbi5uYW1lKSwgY29sUmVmKHRhYmxlLCBzLmNvbHVtbi5uYW1lKSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoQWxpYXNOb2RlLmlzKHMpICYmIElkZW50aWZpZXJOb2RlLmlzKHMuYWxpYXMpKSB7XG4gICAgICAgICAgICBhcmdzLnB1c2goY29sTmFtZShzLmFsaWFzLm5hbWUpLCBjb2xSZWYodGFibGUsIHMuYWxpYXMubmFtZSkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBjYW4ndCBleHRyYWN0IGNvbHVtbiBuYW1lcyBmcm9tIHRoZSBzZWxlY3QgcXVlcnkgbm9kZWApO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBhcmdzO1xufVxuZnVuY3Rpb24gY29sTmFtZShjb2wpIHtcbiAgICByZXR1cm4gbmV3IEV4cHJlc3Npb25XcmFwcGVyKFZhbHVlTm9kZS5jcmVhdGVJbW1lZGlhdGUoY29sKSk7XG59XG5mdW5jdGlvbiBjb2xSZWYodGFibGUsIGNvbCkge1xuICAgIHJldHVybiBuZXcgRXhwcmVzc2lvbldyYXBwZXIoUmVmZXJlbmNlTm9kZS5jcmVhdGUoQ29sdW1uTm9kZS5jcmVhdGUoY29sKSwgVGFibGVOb2RlLmNyZWF0ZSh0YWJsZSkpKTtcbn1cbiIsICJpbXBvcnQgeyB0eXBlIEt5c2VseSwgU3FsaXRlQWRhcHRlciwgU3FsaXRlUXVlcnlDb21waWxlciB9IGZyb20gXCJreXNlbHlcIjtcblxuaW1wb3J0IHsgdHlwZSBCdWlsZGVyUmVxdWlyZW1lbnRzLCBnZXRCdWlsZGVyIH0gZnJvbSBcIi4uL3F1ZXJ5XCI7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5leHBvcnQgZnVuY3Rpb24gZ2V0U1FMaXRlQnVpbGRlcjxEYXRhYmFzZSA9IGFueT4oXG4gIHJlcXVpcmVtZW50cz86IE9taXQ8QnVpbGRlclJlcXVpcmVtZW50cywgXCJBZGFwdGVyXCIgfCBcIlF1ZXJ5Q29tcGlsZXJcIj4sXG4pOiBLeXNlbHk8RGF0YWJhc2U+IHtcbiAgcmV0dXJuIGdldEJ1aWxkZXIoeyAuLi5yZXF1aXJlbWVudHMsIEFkYXB0ZXI6IFNxbGl0ZUFkYXB0ZXIsIFF1ZXJ5Q29tcGlsZXI6IFNxbGl0ZVF1ZXJ5Q29tcGlsZXIgfSk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs0TUFBQUEsSUNBQUMsSUNBQUMsSUNBQUMsSUNBQUMsSUFRTyxTQUFTQyxFQUFrQkMsRUFBTUMsRUFBTyxDQUMzQyxJQUFNQyxFQUFPLENBQUMsRUFDZCxPQUFXLENBQUUsVUFBV0MsQ0FBRSxJQUFLSCxFQUFLLFlBQWMsQ0FBQyxFQUMvQyxHQUFJSSxFQUFjLEdBQUdELENBQUMsR0FBS0UsRUFBVyxHQUFHRixFQUFFLE1BQU0sRUFDN0NELEVBQUssS0FBS0ksRUFBUUgsRUFBRSxPQUFPLE9BQU8sSUFBSSxFQUFHSSxFQUFPTixFQUFPRSxFQUFFLE9BQU8sT0FBTyxJQUFJLENBQUMsVUFFdkVFLEVBQVcsR0FBR0YsQ0FBQyxFQUNwQkQsRUFBSyxLQUFLSSxFQUFRSCxFQUFFLE9BQU8sSUFBSSxFQUFHSSxFQUFPTixFQUFPRSxFQUFFLE9BQU8sSUFBSSxDQUFDLFVBRXpESyxFQUFVLEdBQUdMLENBQUMsR0FBS00sRUFBZSxHQUFHTixFQUFFLEtBQUssRUFDakRELEVBQUssS0FBS0ksRUFBUUgsRUFBRSxNQUFNLElBQUksRUFBR0ksRUFBT04sRUFBT0UsRUFBRSxNQUFNLElBQUksQ0FBQyxNQUc1RCxPQUFNLElBQUksTUFBTSx1REFBdUQsRUFHL0UsT0FBT0QsQ0FDWCxDQUNBLFNBQVNJLEVBQVFJLEVBQUssQ0FDbEIsT0FBTyxJQUFJQyxFQUFrQkMsRUFBVSxnQkFBZ0JGLENBQUcsQ0FBQyxDQUMvRCxDQUNBLFNBQVNILEVBQU9OLEVBQU9TLEVBQUssQ0FDeEIsT0FBTyxJQUFJQyxFQUFrQlAsRUFBYyxPQUFPQyxFQUFX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Im5hbWVzIjogWyJpbml0X2RlZmluZV9BQ0NFTEVSQVRFX1NDSEVNQV9CWV9QUk9WSURFUiIsICJpbml0X2RlZmluZV9BQ0NFTEVSQVRFX1NDSEVNQV9CWV9QUk9WSURFUiIsICJpbml0X2RlZmluZV9BQ0NFTEVSQVRFX1NDSEVNQV9CWV9QUk9WSURFUiIsICJpbml0X2RlZmluZV9BQ0NFTEVSQVRFX1NDSEVNQV9CWV9QUk9WSURFUiIsICJpbml0X2RlZmluZV9BQ0NFTEVSQVRFX1NDSEVNQV9CWV9QUk9WSURFUiIsICJnZXRKc29uT2JqZWN0QXJncyIsICJub2RlIiwgInRhYmxlIiwgImFyZ3MiLCAicyIsICJSZWZlcmVuY2VOb2RlIiwgIkNvbHVtbk5vZGUiLCAiY29sTmFtZSIsICJjb2xSZWYiLCAiQWxpYXNOb2RlIiwgIklkZW50aWZpZXJOb2RlIiwgImNvbCIsICJFeHByZXNzaW9uV3JhcHBlciIsICJWYWx1ZU5vZGUiLCAiVGFibGVOb2RlIiwgImpzb25BcnJheUZyb20iLCAiZXhwciIsICJzcWwiLCAiZ2V0U3FsaXRlSnNvbk9iamVjdEFyZ3MiLCAiZ2V0U3FsaXRlSnNvbk9iamVjdEFyZ3MiLCAibm9kZSIsICJ0YWJsZSIsICJnZXRKc29uT2JqZWN0QXJncyIsICJpbml0X2RlZmluZV9BQ0NFTEVSQVRFX1NDSEVNQV9CWV9QUk9WSURFUiIsICJnZXRTUUxpdGVCdWlsZGVyIiwgInJlcXVpcmVtZW50cyIsICJnZXRCdWlsZGVyIiwgIlNxbGl0ZUFkYXB0ZXIiLCAiU3FsaXRlUXVlcnlDb21waWxlciIsICJnZXRUYWJsZXNRdWVyeSIsICJyZXF1aXJlbWVudHMiLCAiY29tcGlsZSIsICJnZXRTUUxpdGVCdWlsZGVyIiwgImV4cHJlc3Npb25CdWlsZGVyIiwgImpiIiwgImViIiwgImpzb25BcnJheUZyb20iLCAiY3JlYXRlU1FMaXRlQWRhcHRlciIsICJyZXF1aXJlbWVudHMiLCAiZXhlY3V0b3IiLCAiX2RldGFpbHMiLCAiX29wdGlvbnMiLCAib3B0aW9ucyIsICJ0YWJsZXNRdWVyeSIsICJnZXRUYWJsZXNRdWVyeSIsICJ0YWJsZXNFcnJvciIsICJfdGFibGVzIiwgImNyZWF0ZUFkYXB0ZXJFcnJvciIsICJlcnJvciJdCn0K