@prisma/studio-core 0.0.0-dev.202511110020 → 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/dist/chunk-XYM4YG5N.js +10 -0
- package/dist/data/node-sqlite/index.cjs +2 -2
- package/dist/data/node-sqlite/index.js +1 -1
- package/dist/data/sqlite-core/index.cjs +2 -2
- package/dist/data/sqlite-core/index.d.cts +0 -2
- package/dist/data/sqlite-core/index.d.ts +0 -2
- package/dist/data/sqlite-core/index.js +1 -1
- package/dist/metafile-cjs.json +1 -1
- package/dist/metafile-esm.json +1 -1
- package/package.json +1 -1
- package/dist/chunk-OWOONDI7.js +0 -10
|
@@ -0,0 +1,10 @@
|
|
|
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 b,g as l,h,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(b.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(h().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.name","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+IGpiLm9uUmVmKFwic3MudHlwZVwiLCBcIj1cIiwgXCJ0bC50eXBlXCIpLm9uUmVmKFwic3MubmFtZVwiLCBcIj1cIiwgXCJ0bC5uYW1lXCIpKVxuICAgICAgLndoZXJlKFwidGwudHlwZVwiLCBcImluXCIsIFtcInRhYmxlXCIsIFwidmlld1wiXSlcbiAgICAgIC8vIGV4Y2x1ZGUgdGVtcG9yYXJ5IHRhYmxlcy92aWV3c1xuICAgICAgLndoZXJlKFwidGwuc2NoZW1hXCIsIFwiPVwiLCBcIm1haW5cIilcbiAgICAgIC8vIGV4Y2x1ZGUgc3lzdGVtIHRhYmxlcy92aWV3c1xuICAgICAgLndoZXJlKFwidGwubmFtZVwiLCBcIm5vdCBsaWtlXCIsIFwic3FsaXRlXyVcIilcbiAgICAgIC5zZWxlY3QoW1widGwubmFtZVwiLCBcInNzLnNxbFwiXSlcbiAgICAgIC5zZWxlY3QoKGViKSA9PiBbXG4gICAgICAgIGpzb25BcnJheUZyb20oXG4gICAgICAgICAgZWJcbiAgICAgICAgICAgIC5zZWxlY3RGcm9tKGViLmZuPFByYWdtYVRhYmxlWEluZm8+KFwicHJhZ21hX3RhYmxlX3hpbmZvXCIsIFtcInRsLm5hbWVcIl0pLmFzKFwidHhpXCIpKVxuICAgICAgICAgICAgLmxlZnRKb2luKFxuICAgICAgICAgICAgICBlYi5mbjxQcmFnbWFGb3JlaWduS2V5TGlzdD4oXCJwcmFnbWFfZm9yZWlnbl9rZXlfbGlzdFwiLCBbXCJ0bC5uYW1lXCJdKS5hcyhcImZrbFwiKSxcbiAgICAgICAgICAgICAgXCJma2wuZnJvbVwiLFxuICAgICAgICAgICAgICBcInR4aS5uYW1lXCIsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAvLyBleGNsdWRlIGhpZGRlbiBjb2x1bW5zXG4gICAgICAgICAgICAud2hlcmUoXCJ0eGkuaGlkZGVuXCIsIFwiIT1cIiwgMSlcbiAgICAgICAgICAgIC5zZWxlY3QoW1xuICAgICAgICAgICAgICBcInR4aS5uYW1lXCIsXG4gICAgICAgICAgICAgIFwidHhpLnR5cGUgYXMgZGF0YXR5cGVcIixcbiAgICAgICAgICAgICAgXCJma2wudGFibGUgYXMgZm9yZWlnbl9rZXlfdGFibGVcIixcbiAgICAgICAgICAgICAgXCJma2wudG8gYXMgZm9yZWlnbl9rZXlfY29sdW1uXCIsXG4gICAgICAgICAgICBdKVxuICAgICAgICAgICAgLnNlbGVjdCgoZWIpID0+IFtcbiAgICAgICAgICAgICAgZWIoXCJ0eGkuaGlkZGVuXCIsIFwiaW5cIiwgWzIsIDNdKS5hcyhcImNvbXB1dGVkXCIpLFxuICAgICAgICAgICAgICBlYihcInR4aS5ub3RudWxsXCIsIFwiIT1cIiwgMCkuYXMoXCJudWxsYWJsZVwiKSxcbiAgICAgICAgICAgICAgZWIoXCJ0eGkucGtcIiwgXCIhPVwiLCAwKS5hcyhcInBrXCIpLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICkuYXMoXCJjb2x1bW5zXCIpLFxuICAgICAgXSksXG4gICk7XG59XG4iLCAiLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCIuL3NxbGl0ZS5kLnRzXCIgLz5cbmltcG9ydCB7IHNxbCB9IGZyb20gJy4uL3Jhdy1idWlsZGVyL3NxbC5qcyc7XG5pbXBvcnQgeyBnZXRKc29uT2JqZWN0QXJncyB9IGZyb20gJy4uL3V0aWwvanNvbi1vYmplY3QtYXJncy5qcyc7XG4vKipcbiAqIEEgU1FMaXRlIGhlbHBlciBmb3IgYWdncmVnYXRpbmcgYSBzdWJxdWVyeSBpbnRvIGEgSlNPTiBhcnJheS5cbiAqXG4gKiBOT1RFOiBUaGlzIGhlbHBlciBvbmx5IHdvcmtzIGNvcnJlY3RseSBpZiB5b3UndmUgaW5zdGFsbGVkIHRoZSBgUGFyc2VKU09OUmVzdWx0c1BsdWdpbmAuXG4gKiBPdGhlcndpc2UgdGhlIG5lc3RlZCBzZWxlY3Rpb25zIHdpbGwgYmUgcmV0dXJuZWQgYXMgSlNPTiBzdHJpbmdzLlxuICpcbiAqIFRoZSBwbHVnaW4gY2FuIGJlIGluc3RhbGxlZCBsaWtlIHRoaXM6XG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCAqIGFzIFNxbGl0ZSBmcm9tICdiZXR0ZXItc3FsaXRlMydcbiAqIGltcG9ydCB7IEt5c2VseSwgUGFyc2VKU09OUmVzdWx0c1BsdWdpbiwgU3FsaXRlRGlhbGVjdCB9IGZyb20gJ2t5c2VseSdcbiAqIGltcG9ydCB0eXBlIHsgRGF0YWJhc2UgfSBmcm9tICd0eXBlLWVkaXRvcicgLy8gaW1hZ2luYXJ5IG1vZHVsZVxuICpcbiAqIGNvbnN0IGRiID0gbmV3IEt5c2VseTxEYXRhYmFzZT4oe1xuICogICBkaWFsZWN0OiBuZXcgU3FsaXRlRGlhbGVjdCh7XG4gKiAgICAgZGF0YWJhc2U6IG5ldyBTcWxpdGUoJzptZW1vcnk6JylcbiAqICAgfSksXG4gKiAgIHBsdWdpbnM6IFtuZXcgUGFyc2VKU09OUmVzdWx0c1BsdWdpbigpXVxuICogfSlcbiAqIGBgYFxuICpcbiAqICMjIyBFeGFtcGxlc1xuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBqc29uQXJyYXlGcm9tIH0gZnJvbSAna3lzZWx5L2hlbHBlcnMvc3FsaXRlJ1xuICpcbiAqIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGRiXG4gKiAgIC5zZWxlY3RGcm9tKCdwZXJzb24nKVxuICogICAuc2VsZWN0KChlYikgPT4gW1xuICogICAgICdpZCcsXG4gKiAgICAganNvbkFycmF5RnJvbShcbiAqICAgICAgIGViLnNlbGVjdEZyb20oJ3BldCcpXG4gKiAgICAgICAgIC5zZWxlY3QoWydwZXQuaWQgYXMgcGV0X2lkJywgJ3BldC5uYW1lJ10pXG4gKiAgICAgICAgIC53aGVyZVJlZigncGV0Lm93bmVyX2lkJywgJz0nLCAncGVyc29uLmlkJylcbiAqICAgICAgICAgLm9yZGVyQnkoJ3BldC5uYW1lJylcbiAqICAgICApLmFzKCdwZXRzJylcbiAqICAgXSlcbiAqICAgLmV4ZWN1dGUoKVxuICpcbiAqIHJlc3VsdFswXT8uaWRcbiAqIHJlc3VsdFswXT8ucGV0c1swXS5wZXRfaWRcbiAqIHJlc3VsdFswXT8ucGV0c1swXS5uYW1lXG4gKiBgYGBcbiAqXG4gKiBUaGUgZ2VuZXJhdGVkIFNRTCAoU1FMaXRlKTpcbiAqXG4gKiBgYGBzcWxcbiAqIHNlbGVjdCBcImlkXCIsIChcbiAqICAgc2VsZWN0IGNvYWxlc2NlKGpzb25fZ3JvdXBfYXJyYXkoanNvbl9vYmplY3QoXG4gKiAgICAgJ3BldF9pZCcsIFwiYWdnXCIuXCJwZXRfaWRcIixcbiAqICAgICAnbmFtZScsIFwiYWdnXCIuXCJuYW1lXCJcbiAqICAgKSksICdbXScpIGZyb20gKFxuICogICAgIHNlbGVjdCBcInBldFwiLlwiaWRcIiBhcyBcInBldF9pZFwiLCBcInBldFwiLlwibmFtZVwiXG4gKiAgICAgZnJvbSBcInBldFwiXG4gKiAgICAgd2hlcmUgXCJwZXRcIi5cIm93bmVyX2lkXCIgPSBcInBlcnNvblwiLlwiaWRcIlxuICogICAgIG9yZGVyIGJ5IFwicGV0XCIuXCJuYW1lXCJcbiAqICAgKSBhcyBcImFnZ1wiXG4gKiApIGFzIFwicGV0c1wiXG4gKiBmcm9tIFwicGVyc29uXCJcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24ganNvbkFycmF5RnJvbShleHByKSB7XG4gICAgcmV0dXJuIHNxbCBgKHNlbGVjdCBjb2FsZXNjZShqc29uX2dyb3VwX2FycmF5KGpzb25fb2JqZWN0KCR7c3FsLmpvaW4oZ2V0U3FsaXRlSnNvbk9iamVjdEFyZ3MoZXhwci50b09wZXJhdGlvbk5vZGUoKSwgJ2FnZycpKX0pKSwgJ1tdJykgZnJvbSAke2V4cHJ9IGFzIGFnZylgO1xufVxuLyoqXG4gKiBBIFNRTGl0ZSBoZWxwZXIgZm9yIHR1cm5pbmcgYSBzdWJxdWVyeSBpbnRvIGEgSlNPTiBvYmplY3QuXG4gKlxuICogVGhlIHN1YnF1ZXJ5IG11c3Qgb25seSByZXR1cm4gb25lIHJvdy5cbiAqXG4gKiBOT1RFOiBUaGlzIGhlbHBlciBvbmx5IHdvcmtzIGNvcnJlY3RseSBpZiB5b3UndmUgaW5zdGFsbGVkIHRoZSBgUGFyc2VKU09OUmVzdWx0c1BsdWdpbmAuXG4gKiBPdGhlcndpc2UgdGhlIG5lc3RlZCBzZWxlY3Rpb25zIHdpbGwgYmUgcmV0dXJuZWQgYXMgSlNPTiBzdHJpbmdzLlxuICpcbiAqIFRoZSBwbHVnaW4gY2FuIGJlIGluc3RhbGxlZCBsaWtlIHRoaXM6XG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCAqIGFzIFNxbGl0ZSBmcm9tICdiZXR0ZXItc3FsaXRlMydcbiAqIGltcG9ydCB7IEt5c2VseSwgUGFyc2VKU09OUmVzdWx0c1BsdWdpbiwgU3FsaXRlRGlhbGVjdCB9IGZyb20gJ2t5c2VseSdcbiAqIGltcG9ydCB0eXBlIHsgRGF0YWJhc2UgfSBmcm9tICd0eXBlLWVkaXRvcicgLy8gaW1hZ2luYXJ5IG1vZHVsZVxuICpcbiAqIGNvbnN0IGRiID0gbmV3IEt5c2VseTxEYXRhYmFzZT4oe1xuICogICBkaWFsZWN0OiBuZXcgU3FsaXRlRGlhbGVjdCh7XG4gKiAgICAgZGF0YWJhc2U6IG5ldyBTcWxpdGUoJzptZW1vcnk6JylcbiAqICAgfSksXG4gKiAgIHBsdWdpbnM6IFtuZXcgUGFyc2VKU09OUmVzdWx0c1BsdWdpbigpXVxuICogfSlcbiAqIGBgYFxuICpcbiAqICMjIyBFeGFtcGxlc1xuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBqc29uT2JqZWN0RnJvbSB9IGZyb20gJ2t5c2VseS9oZWxwZXJzL3NxbGl0ZSdcbiAqXG4gKiBjb25zdCByZXN1bHQgPSBhd2FpdCBkYlxuICogICAuc2VsZWN0RnJvbSgncGVyc29uJylcbiAqICAgLnNlbGVjdCgoZWIpID0+IFtcbiAqICAgICAnaWQnLFxuICogICAgIGpzb25PYmplY3RGcm9tKFxuICogICAgICAgZWIuc2VsZWN0RnJvbSgncGV0JylcbiAqICAgICAgICAgLnNlbGVjdChbJ3BldC5pZCBhcyBwZXRfaWQnLCAncGV0Lm5hbWUnXSlcbiAqICAgICAgICAgLndoZXJlUmVmKCdwZXQub3duZXJfaWQnLCAnPScsICdwZXJzb24uaWQnKVxuICogICAgICAgICAud2hlcmUoJ3BldC5pc19mYXZvcml0ZScsICc9JywgdHJ1ZSlcbiAqICAgICApLmFzKCdmYXZvcml0ZV9wZXQnKVxuICogICBdKVxuICogICAuZXhlY3V0ZSgpXG4gKlxuICogcmVzdWx0WzBdPy5pZFxuICogcmVzdWx0WzBdPy5mYXZvcml0ZV9wZXQ/LnBldF9pZFxuICogcmVzdWx0WzBdPy5mYXZvcml0ZV9wZXQ/Lm5hbWVcbiAqIGBgYFxuICpcbiAqIFRoZSBnZW5lcmF0ZWQgU1FMIChTUUxpdGUpOlxuICpcbiAqIGBgYHNxbFxuICogc2VsZWN0IFwiaWRcIiwgKFxuICogICBzZWxlY3QganNvbl9vYmplY3QoXG4gKiAgICAgJ3BldF9pZCcsIFwib2JqXCIuXCJwZXRfaWRcIixcbiAqICAgICAnbmFtZScsIFwib2JqXCIuXCJuYW1lXCJcbiAqICAgKSBmcm9tIChcbiAqICAgICBzZWxlY3QgXCJwZXRcIi5cImlkXCIgYXMgXCJwZXRfaWRcIiwgXCJwZXRcIi5cIm5hbWVcIlxuICogICAgIGZyb20gXCJwZXRcIlxuICogICAgIHdoZXJlIFwicGV0XCIuXCJvd25lcl9pZFwiID0gXCJwZXJzb25cIi5cImlkXCJcbiAqICAgICBhbmQgXCJwZXRcIi5cImlzX2Zhdm9yaXRlXCIgPSA/XG4gKiAgICkgYXMgb2JqXG4gKiApIGFzIFwiZmF2b3JpdGVfcGV0XCJcbiAqIGZyb20gXCJwZXJzb25cIjtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24ganNvbk9iamVjdEZyb20oZXhwcikge1xuICAgIHJldHVybiBzcWwgYChzZWxlY3QganNvbl9vYmplY3QoJHtzcWwuam9pbihnZXRTcWxpdGVKc29uT2JqZWN0QXJncyhleHByLnRvT3BlcmF0aW9uTm9kZSgpLCAnb2JqJykpfSkgZnJvbSAke2V4cHJ9IGFzIG9iailgO1xufVxuLyoqXG4gKiBUaGUgU1FMaXRlIGBqc29uX29iamVjdGAgZnVuY3Rpb24uXG4gKlxuICogTk9URTogVGhpcyBoZWxwZXIgb25seSB3b3JrcyBjb3JyZWN0bHkgaWYgeW91J3ZlIGluc3RhbGxlZCB0aGUgYFBhcnNlSlNPTlJlc3VsdHNQbHVnaW5gLlxuICogT3RoZXJ3aXNlIHRoZSBuZXN0ZWQgc2VsZWN0aW9ucyB3aWxsIGJlIHJldHVybmVkIGFzIEpTT04gc3RyaW5ncy5cbiAqXG4gKiBUaGUgcGx1Z2luIGNhbiBiZSBpbnN0YWxsZWQgbGlrZSB0aGlzOlxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgKiBhcyBTcWxpdGUgZnJvbSAnYmV0dGVyLXNxbGl0ZTMnXG4gKiBpbXBvcnQgeyBLeXNlbHksIFBhcnNlSlNPTlJlc3VsdHNQbHVnaW4sIFNxbGl0ZURpYWxlY3QgfSBmcm9tICdreXNlbHknXG4gKiBpbXBvcnQgdHlwZSB7IERhdGFiYXNlIH0gZnJvbSAndHlwZS1lZGl0b3InIC8vIGltYWdpbmFyeSBtb2R1bGVcbiAqXG4gKiBjb25zdCBkYiA9IG5ldyBLeXNlbHk8RGF0YWJhc2U+KHtcbiAqICAgZGlhbGVjdDogbmV3IFNxbGl0ZURpYWxlY3Qoe1xuICogICAgIGRhdGFiYXNlOiBuZXcgU3FsaXRlKCc6bWVtb3J5OicpXG4gKiAgIH0pLFxuICogICBwbHVnaW5zOiBbbmV3IFBhcnNlSlNPTlJlc3VsdHNQbHVnaW4oKV1cbiAqIH0pXG4gKiBgYGBcbiAqXG4gKiAjIyMgRXhhbXBsZXNcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgc3FsIH0gZnJvbSAna3lzZWx5J1xuICogaW1wb3J0IHsganNvbkJ1aWxkT2JqZWN0IH0gZnJvbSAna3lzZWx5L2hlbHBlcnMvc3FsaXRlJ1xuICpcbiAqIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGRiXG4gKiAgIC5zZWxlY3RGcm9tKCdwZXJzb24nKVxuICogICAuc2VsZWN0KChlYikgPT4gW1xuICogICAgICdpZCcsXG4gKiAgICAganNvbkJ1aWxkT2JqZWN0KHtcbiAqICAgICAgIGZpcnN0OiBlYi5yZWYoJ2ZpcnN0X25hbWUnKSxcbiAqICAgICAgIGxhc3Q6IGViLnJlZignbGFzdF9uYW1lJyksXG4gKiAgICAgICBmdWxsOiBzcWw8c3RyaW5nPmBmaXJzdF9uYW1lIHx8XHUwMEEwJyAnIHx8IGxhc3RfbmFtZWBcbiAqICAgICB9KS5hcygnbmFtZScpXG4gKiAgIF0pXG4gKiAgIC5leGVjdXRlKClcbiAqXG4gKiByZXN1bHRbMF0/LmlkXG4gKiByZXN1bHRbMF0/Lm5hbWUuZmlyc3RcbiAqIHJlc3VsdFswXT8ubmFtZS5sYXN0XG4gKiByZXN1bHRbMF0/Lm5hbWUuZnVsbFxuICogYGBgXG4gKlxuICogVGhlIGdlbmVyYXRlZCBTUUwgKFNRTGl0ZSk6XG4gKlxuICogYGBgc3FsXG4gKiBzZWxlY3QgXCJpZFwiLCBqc29uX29iamVjdChcbiAqICAgJ2ZpcnN0JywgZmlyc3RfbmFtZSxcbiAqICAgJ2xhc3QnLCBsYXN0X25hbWUsXG4gKiAgICdmdWxsJywgXCJmaXJzdF9uYW1lXCIgfHwgJyAnIHx8IFwibGFzdF9uYW1lXCJcbiAqICkgYXMgXCJuYW1lXCJcbiAqIGZyb20gXCJwZXJzb25cIlxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBqc29uQnVpbGRPYmplY3Qob2JqKSB7XG4gICAgcmV0dXJuIHNxbCBganNvbl9vYmplY3QoJHtzcWwuam9pbihPYmplY3Qua2V5cyhvYmopLmZsYXRNYXAoKGspID0+IFtzcWwubGl0KGspLCBvYmpba11dKSl9KWA7XG59XG5mdW5jdGlvbiBnZXRTcWxpdGVKc29uT2JqZWN0QXJncyhub2RlLCB0YWJsZSkge1xuICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBnZXRKc29uT2JqZWN0QXJncyhub2RlLCB0YWJsZSk7XG4gICAgfVxuICAgIGNhdGNoIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdTUUxpdGUganNvbkFycmF5RnJvbSBhbmQganNvbk9iamVjdEZyb20gZnVuY3Rpb25zIGNhbiBvbmx5IGhhbmRsZSBleHBsaWNpdCBzZWxlY3Rpb25zIGR1ZSB0byBsaW1pdGF0aW9ucyBvZiB0aGUganNvbl9vYmplY3QgZnVuY3Rpb24uIHNlbGVjdEFsbCgpIGlzIG5vdCBhbGxvd2VkIGluIHRoZSBzdWJxdWVyeS4nKTtcbiAgICB9XG59XG4iLCAiLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCIuL2pzb24tb2JqZWN0LWFyZ3MuZC50c1wiIC8+XG5pbXBvcnQgeyBFeHByZXNzaW9uV3JhcHBlciB9IGZyb20gJy4uL2V4cHJlc3Npb24vZXhwcmVzc2lvbi13cmFwcGVyLmpzJztcbmltcG9ydCB7IEFsaWFzTm9kZSB9IGZyb20gJy4uL29wZXJhdGlvbi1ub2RlL2FsaWFzLW5vZGUuanMnO1xuaW1wb3J0IHsgQ29sdW1uTm9kZSB9IGZyb20gJy4uL29wZXJhdGlvbi1ub2RlL2NvbHVtbi1ub2RlLmpzJztcbmltcG9ydCB7IElkZW50aWZpZXJOb2RlIH0gZnJvbSAnLi4vb3BlcmF0aW9uLW5vZGUvaWRlbnRpZmllci1ub2RlLmpzJztcbmltcG9ydCB7IFJlZmVyZW5jZU5vZGUgfSBmcm9tICcuLi9vcGVyYXRpb24tbm9kZS9yZWZlcmVuY2Utbm9kZS5qcyc7XG5pbXBvcnQgeyBUYWJsZU5vZGUgfSBmcm9tICcuLi9vcGVyYXRpb24tbm9kZS90YWJsZS1ub2RlLmpzJztcbmltcG9ydCB7IFZhbHVlTm9kZSB9IGZyb20gJy4uL29wZXJhdGlvbi1ub2RlL3ZhbHVlLW5vZGUuanMnO1xuZXhwb3J0IGZ1bmN0aW9uIGdldEpzb25PYmplY3RBcmdzKG5vZGUsIHRhYmxlKSB7XG4gICAgY29uc3QgYXJncyA9IFtdO1xuICAgIGZvciAoY29uc3QgeyBzZWxlY3Rpb246IHMgfSBvZiBub2RlLnNlbGVjdGlvbnMgPz8gW10pIHtcbiAgICAgICAgaWYgKFJlZmVyZW5jZU5vZGUuaXMocykgJiYgQ29sdW1uTm9kZS5pcyhzLmNvbHVtbikpIHtcbiAgICAgICAgICAgIGFyZ3MucHVzaChjb2xOYW1lKHMuY29sdW1uLmNvbHVtbi5uYW1lKSwgY29sUmVmKHRhYmxlLCBzLmNvbHVtbi5jb2x1bW4ubmFtZSkpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKENvbHVtbk5vZGUuaXMocykpIHtcbiAgICAgICAgICAgIGFyZ3MucHVzaChjb2xOYW1lKHMuY29sdW1uLm5hbWUpLCBjb2xSZWYodGFibGUsIHMuY29sdW1uLm5hbWUpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChBbGlhc05vZGUuaXMocykgJiYgSWRlbnRpZmllck5vZGUuaXMocy5hbGlhcykpIHtcbiAgICAgICAgICAgIGFyZ3MucHVzaChjb2xOYW1lKHMuYWxpYXMubmFtZSksIGNvbFJlZih0YWJsZSwgcy5hbGlhcy5uYW1lKSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGNhbid0IGV4dHJhY3QgY29sdW1uIG5hbWVzIGZyb20gdGhlIHNlbGVjdCBxdWVyeSBub2RlYCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGFyZ3M7XG59XG5mdW5jdGlvbiBjb2xOYW1lKGNvbCkge1xuICAgIHJldHVybiBuZXcgRXhwcmVzc2lvbldyYXBwZXIoVmFsdWVOb2RlLmNyZWF0ZUltbWVkaWF0ZShjb2wpKTtcbn1cbmZ1bmN0aW9uIGNvbFJlZih0YWJsZSwgY29sKSB7XG4gICAgcmV0dXJuIG5ldyBFeHByZXNzaW9uV3JhcHBlcihSZWZlcmVuY2VOb2RlLmNyZWF0ZShDb2x1bW5Ob2RlLmNyZWF0ZShjb2wpLCBUYWJsZU5vZGUuY3JlYXRlKHRhYmxlKSkpO1xufVxuIiwgImltcG9ydCB7IHR5cGUgS3lzZWx5LCBTcWxpdGVBZGFwdGVyLCBTcWxpdGVRdWVyeUNvbXBpbGVyIH0gZnJvbSBcImt5c2VseVwiO1xuXG5pbXBvcnQgeyB0eXBlIEJ1aWxkZXJSZXF1aXJlbWVudHMsIGdldEJ1aWxkZXIgfSBmcm9tIFwiLi4vcXVlcnlcIjtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbmV4cG9ydCBmdW5jdGlvbiBnZXRTUUxpdGVCdWlsZGVyPERhdGFiYXNlID0gYW55PihcbiAgcmVxdWlyZW1lbnRzPzogT21pdDxCdWlsZGVyUmVxdWlyZW1lbnRzLCBcIkFkYXB0ZXJcIiB8IFwiUXVlcnlDb21waWxlclwiPixcbik6IEt5c2VseTxEYXRhYmFzZT4ge1xuICByZXR1cm4gZ2V0QnVpbGRlcih7IC4uLnJlcXVpcmVtZW50cywgQWRhcHRlcjogU3FsaXRlQWRhcHRlciwgUXVlcnlDb21waWxlcjogU3FsaXRlUXVlcnlDb21waWxlciB9KTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7O3VNQUFBQSxJQ0FBQyxJQ0FBQyxJQ0FBQyxJQ0FBQyxJQVFPLFNBQVNDLEVBQWtCQyxFQUFNQyxFQUFPLENBQzNDLElBQU1DLEVBQU8sQ0FBQyxFQUNkLE9BQVcsQ0FBRSxVQUFXQyxDQUFFLElBQUtILEVBQUssWUFBYyxDQUFDLEVBQy9DLEdBQUlJLEVBQWMsR0FBR0QsQ0FBQyxHQUFLRSxFQUFXLEdBQUdGLEVBQUUsTUFBTSxFQUM3Q0QsRUFBSyxLQUFLSSxFQUFRSCxFQUFFLE9BQU8sT0FBTyxJQUFJLEVBQUdJLEVBQU9OLEVBQU9FLEVBQUUsT0FBTyxPQUFPLElBQUksQ0FBQyxVQUV2RUUsRUFBVyxHQUFHRixDQUFDLEVBQ3BCRCxFQUFLLEtBQUtJLEVBQVFILEVBQUUsT0FBTyxJQUFJLEVBQUdJLEVBQU9OLEVBQU9FLEVBQUUsT0FBTyxJQUFJLENBQUMsVUFFekRLLEVBQVUsR0FBR0wsQ0FBQyxHQUFLTSxFQUFlLEdBQUdOLEVBQUUsS0FBSyxFQUNqREQsRUFBSyxLQUFLSSxFQUFRSCxFQUFFLE1BQU0sSUFBSSxFQUFHSSxFQUFPTixFQUFPRSxFQUFFLE1BQU0sSUFBSSxDQUFDLE1BRzVELE9BQU0sSUFBSSxNQUFNLHVEQUF1RCxFQUcvRSxPQUFPRCxDQUNYLENBQ0EsU0FBU0ksRUFBUUksRUFBSyxDQUNsQixPQUFPLElBQUlDLEVBQWtCQyxFQUFVLGdCQUFnQkYsQ0FBRyxDQUFDLENBQy9ELENBQ0EsU0FBU0gsRUFBT04sRUFBT1MsRUFBSyxDQUN4QixPQUFPLElBQUlDLEVBQWtCUCxFQUFjLE9BQU9DLEVBQVcsT0FBT0ssQ0FBRyxFQUFHRyxFQUFVLE9BQU9aLENBQUssQ0FBQyxDQUFDLENBQ3RHLENEaUNPLFNBQVNhLEVBQWNDLEVBQU0sQ0FDaEMsT0FBT0Msa0RBQXFEQSxFQUFJLEtBQUtDLEVBQXdCRixFQUFLLGdCQUFnQixFQUFHLEtBQUssQ0FBQyxDQUFDLGtCQUFrQkEsQ0FBSSxVQUN0SixDQThIQSxTQUFTRyxFQUF3QkMsRUFBTUMsRUFBTyxDQUMxQyxHQUFJLENBQ0EsT0FBT0MsRUFBa0JGLEVBQU1DLENBQUssQ0FDeEMsTUFDTSxDQUNGLE1BQU0sSUFBSSxNQUFNLG1MQUFtTCxDQUN2TSxDQUNKLENFdk1BRSxJQUtPLFNBQVNDLEVBQ2RDLEVBQ2tCLENBQ2xCLE9BQU9DLEVBQVcsQ0FBRSxHQUFHRCxFQUFjLFFBQVNFLEVBQWUsY0FBZUMsQ0FBb0IsQ0FBQyxDQUNuRyxDSG9FTyxTQUFTQyxFQUFlQyxFQUF1RSxDQUNwRyxPQUFPQyxFQUNMQyxFQUEyQkYsQ0FBWSxFQUNwQyxXQUFXRyxFQUFrQixFQUFFLEdBQW9CLG9CQUFxQixDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUNwRixTQUFTLHNCQUF3QkMsR0FBT0EsRUFBRyxNQUFNLFVBQVcsSUFBSyxTQUFTLEVBQUUsTUFBTSxVQUFXLElBQUssU0FBUyxDQUFDLEVBQzVHLE1BQU0sVUFBVyxLQUFNLENBQUMsUUFBUyxNQUFNLENBQUMsRUFFeEMsTUFBTSxZQUFhLElBQUssTUFBTSxFQUU5QixNQUFNLFVBQVcsV0FBWSxVQUFVLEVBQ3ZDLE9BQU8sQ0FBQyxVQUFXLFFBQVEsQ0FBQyxFQUM1QixPQUFRQyxHQUFPLENBQ2RDLEVBQ0VELEVBQ0csV0FBV0EsRUFBRyxHQUFxQixxQkFBc0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxFQUMvRSxTQUNDQSxFQUFHLEdBQXlCLDBCQUEyQixDQUFDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUM1RSxXQUNBLFVBQ0YsRUFFQyxNQUFNLGFBQWMsS0FBTSxDQUFDLEVBQzNCLE9BQU8sQ0FDTixXQUNBLHVCQUNBLGlDQUNBLDhCQUNGLENBQUMsRUFDQSxPQUFRQSxHQUFPLENBQ2RBLEVBQUcsYUFBYyxLQUFNLENBQUMsRUFBRyxDQUFDLENBQUMsRUFBRSxHQUFHLFVBQVUsRUFDNUNBLEVBQUcsY0FBZSxLQUFNLENBQUMsRUFBRSxHQUFHLFVBQVUsRUFDeENBLEVBQUcsU0FBVSxLQUFNLENBQUMsRUFBRSxHQUFHLElBQUksQ0FDL0IsQ0FBQyxDQUNMLEVBQUUsR0FBRyxTQUFTLENBQ2hCLENBQUMsQ0FDTCxDQUNGLENEckdPLFNBQVNFLEdBQW9CQyxFQUFrRCxDQUNwRixHQUFNLENBQUUsU0FBQUMsQ0FBUyxFQUFJRCxFQUVyQixNQUFPLENBQ0wsY0FBZSxPQUVmLE9BQU9FLEVBQVVDLEVBQVUsQ0FDekIsTUFBTSxJQUFJLE1BQU0seUJBQXlCLENBQzNDLEVBRUEsT0FBT0QsRUFBVUMsRUFBVSxDQUN6QixNQUFNLElBQUksTUFBTSx5QkFBeUIsQ0FDM0MsRUFFQSxNQUFNLFdBQVdDLEVBQWlFLENBQ2hGLEdBQUksQ0FDRixJQUFNQyxFQUFjQyxFQUFlTixDQUFZLEVBRXpDLENBQUNPLEVBQWFDLENBQU8sRUFBSSxNQUFNUCxFQUFTLFFBQVFJLEVBQWFELENBQU8sRUFFMUUsT0FBSUcsRUFDS0UsRUFBbUIsQ0FBRSxNQUFPRixFQUFhLE1BQU9GLENBQVksQ0FBQyxFQUcvRCxDQUNMLEtBQ0EsQ0FDRSxnQkFBaUIsQ0FBQyxFQUNsQixNQUFPQSxFQUNQLFFBQVMsQ0FBQyxFQUNWLFNBQVUsS0FDWixDQUNGLENBQ0YsT0FBU0ssRUFBZ0IsQ0FDdkIsT0FBT0QsRUFBbUIsQ0FBRSxNQUFPQyxDQUFlLENBQUMsQ0FDckQsQ0FDRixFQUVBLE1BQU1SLEVBQVVDLEVBQVUsQ0FDeEIsTUFBTSxJQUFJLE1BQU0seUJBQXlCLENBQzNDLEVBRUEsT0FBT0QsRUFBVUMsRUFBVSxDQUN6QixNQUFNLElBQUksTUFBTSx5QkFBeUIsQ0FDM0MsQ0FDRixDQUNGIiwKICAibmFtZXMiOiBbImluaXRfZGVmaW5lX0FDQ0VMRVJBVEVfU0NIRU1BX0JZX1BST1ZJREVSIiwgImluaXRfZGVmaW5lX0FDQ0VMRVJBVEVfU0NIRU1BX0JZX1BST1ZJREVSIiwgImluaXRfZGVmaW5lX0FDQ0VMRVJBVEVfU0NIRU1BX0JZX1BST1ZJREVSIiwgImluaXRfZGVmaW5lX0FDQ0VMRVJBVEVfU0NIRU1BX0JZX1BST1ZJREVSIiwgImluaXRfZGVmaW5lX0FDQ0VMRVJBVEVfU0NIRU1BX0JZX1BST1ZJREVSIiwgImdldEpzb25PYmplY3RBcmdzIiwgIm5vZGUiLCAidGFibGUiLCAiYXJncyIsICJzIiwgIlJlZmVyZW5jZU5vZGUiLCAiQ29sdW1uTm9kZSIsICJjb2xOYW1lIiwgImNvbFJlZiIsICJBbGlhc05vZGUiLCAiSWRlbnRpZmllck5vZGUiLCAiY29sIiwgIkV4cHJlc3Npb25XcmFwcGVyIiwgIlZhbHVlTm9kZSIsICJUYWJsZU5vZGUiLCAianNvbkFycmF5RnJvbSIsICJleHByIiwgInNxbCIsICJnZXRTcWxpdGVKc29uT2JqZWN0QXJncyIsICJnZXRTcWxpdGVKc29uT2JqZWN0QXJncyIsICJub2RlIiwgInRhYmxlIiwgImdldEpzb25PYmplY3RBcmdzIiwgImluaXRfZGVmaW5lX0FDQ0VMRVJBVEVfU0NIRU1BX0JZX1BST1ZJREVSIiwgImdldFNRTGl0ZUJ1aWxkZXIiLCAicmVxdWlyZW1lbnRzIiwgImdldEJ1aWxkZXIiLCAiU3FsaXRlQWRhcHRlciIsICJTcWxpdGVRdWVyeUNvbXBpbGVyIiwgImdldFRhYmxlc1F1ZXJ5IiwgInJlcXVpcmVtZW50cyIsICJjb21waWxlIiwgImdldFNRTGl0ZUJ1aWxkZXIiLCAiZXhwcmVzc2lvbkJ1aWxkZXIiLCAiamIiLCAiZWIiLCAianNvbkFycmF5RnJvbSIsICJjcmVhdGVTUUxpdGVBZGFwdGVyIiwgInJlcXVpcmVtZW50cyIsICJleGVjdXRvciIsICJfZGV0YWlscyIsICJfb3B0aW9ucyIsICJvcHRpb25zIiwgInRhYmxlc1F1ZXJ5IiwgImdldFRhYmxlc1F1ZXJ5IiwgInRhYmxlc0Vycm9yIiwgIl90YWJsZXMiLCAiY3JlYXRlQWRhcHRlckVycm9yIiwgImVycm9yIl0KfQo=
|