@prisma/studio-core 0.0.0-dev.202512242115 → 0.0.0-dev.202512250003
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-LNOFYMEV.js +10 -0
- package/dist/chunk-PKLRFKIE.js +10 -0
- package/dist/data/accelerate/index.d.cts +1 -1
- package/dist/data/accelerate/index.d.ts +1 -1
- package/dist/data/bff/index.d.cts +1 -1
- package/dist/data/bff/index.d.ts +1 -1
- package/dist/data/index.d.cts +1 -1
- package/dist/data/index.d.ts +1 -1
- package/dist/data/mysql-core/index.cjs +2 -2
- package/dist/data/mysql-core/index.d.cts +1 -1
- package/dist/data/mysql-core/index.d.ts +1 -1
- package/dist/data/mysql-core/index.js +3 -3
- package/dist/data/mysql2/index.d.cts +1 -1
- package/dist/data/mysql2/index.d.ts +1 -1
- package/dist/data/node-sqlite/index.d.cts +1 -1
- package/dist/data/node-sqlite/index.d.ts +1 -1
- package/dist/data/pglite/index.cjs +2 -2
- package/dist/data/pglite/index.d.cts +1 -1
- package/dist/data/pglite/index.d.ts +1 -1
- package/dist/data/pglite/index.js +1 -1
- package/dist/data/postgres-core/index.cjs +2 -2
- package/dist/data/postgres-core/index.d.cts +13 -1
- package/dist/data/postgres-core/index.d.ts +13 -1
- package/dist/data/postgres-core/index.js +1 -1
- package/dist/data/postgresjs/index.d.cts +1 -1
- package/dist/data/postgresjs/index.d.ts +1 -1
- package/dist/data/ppg/index.d.cts +1 -1
- package/dist/data/ppg/index.d.ts +1 -1
- package/dist/data/sqlite-core/index.cjs +2 -2
- package/dist/data/sqlite-core/index.d.cts +1 -1
- package/dist/data/sqlite-core/index.d.ts +1 -1
- package/dist/data/sqlite-core/index.js +2 -2
- package/dist/{index-CqM65jmE.d.cts → index-rgorTaJw.d.cts} +1 -0
- package/dist/{index-CqM65jmE.d.ts → index-rgorTaJw.d.ts} +1 -0
- package/dist/metafile-cjs.json +1 -1
- package/dist/metafile-esm.json +1 -1
- package/dist/ui/index.d.cts +1 -1
- package/dist/ui/index.d.ts +1 -1
- package/package.json +1 -1
- package/dist/chunk-OIVTTVFY.js +0 -10
- package/dist/chunk-RMMVUGJM.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 i}from"./chunk-PKLRFKIE.js";import{h as D,i as f,l as q,m as S,p as I,r as _,s as w,u as x,v as z}from"./chunk-I2RENVNB.js";import{e as u}from"./chunk-GDQBQ7MK.js";u();u();u();var B={bool:{group:"boolean"},boolean:{group:"boolean"},bytea:{group:"string"},char:{group:"string"},citext:{group:"string"},date:{group:"datetime"},interval:{group:"string"},name:{group:"string"},varchar:{group:"string"},text:{group:"string"},time:{group:"time"},timestamp:{group:"datetime"},timestamptz:{group:"datetime"},"timestamp without time zone":{group:"datetime"},"timestamp with time zone":{group:"datetime"},timetz:{group:"time"},"time without time zone":{group:"time"},"time with time zone":{group:"datetime"},uuid:{group:"raw"},int2:{group:"numeric"},int4:{group:"numeric"},int8:{group:"numeric"},smallint:{group:"numeric"},integer:{group:"numeric"},bigint:{group:"numeric"},decimal:{group:"numeric"},numeric:{group:"numeric"},real:{group:"numeric"},float4:{group:"numeric"},float8:{group:"numeric"},"double precision":{group:"numeric"},json:{group:"json"},jsonb:{group:"json"}};u();u();function g(a){return I({...a,Adapter:S,QueryCompiler:q})}function O(a,s){let{rows:r,table:{columns:t,name:n,schema:e}}=a,o=g(s);return _(o.withSchema(e).insertInto(n).values(x("insert",r,t)).returning(Object.keys(t)).returning(E().as("__ps_inserted_at__")))}function j(a,s){let{filter:r={after:"and",filters:[],kind:"FilterGroup"},pageIndex:t,pageSize:n,sortOrder:e,table:{columns:o,name:l,schema:p}}=a,c=g(s),y=z(r.filters,o),k="__ps_agg__",m="__ps_count__",h=c.withSchema(p).selectFrom(l).where(y).select(d=>d.cast(d.fn.coalesce(d.fn.countAll(),f.lit(0)),"text").as(m));return _(c.with(k,()=>h).withSchema(p).selectFrom(l).innerJoin(k,d=>d.onTrue()).where(y).select(`${k}.${m}`).select(Object.keys(o)).$call(d=>e.reduce((R,A)=>R.orderBy(A.column,A.direction),d)).limit(n).offset(f.lit(BigInt(t)*BigInt(n))))}function oe(){return[{created_at:new Date("2025-01-26T21:56:12.345Z"),deleted_at:null,id:1,name:"John Doe",__ps_count__:"2",role:"admin",name_role:"Jonn Doe - admin"},{created_at:new Date("2025-01-26T20:56:12.345Z"),deleted_at:null,id:2,name:"Jane Doe",__ps_count__:"2",role:"poweruser",name_role:"Jane Doe - poweruser"}]}function P(a,s){let{changes:r,row:t,table:{columns:n,name:e,schema:o}}=a,l=g(s);return _(l.withSchema(o).updateTable(e).set(x("update",r,n)).$call(w([t],n)).returning(Object.keys(n)).returning(E().as("__ps_updated_at__")))}function C(a,s){let{rows:r,table:{columns:t,name:n,schema:e}}=a,o=g(s);return _(o.withSchema(e).deleteFrom(n).$call(w(r,t)).returning(Object.keys(t)).returning(E().as("__ps_deleted_at__")))}function E(){let a=D();return a.cast(a.fn("floor",[a(a.fn("extract",[f`epoch from now()`]),"*",1e3)]),"text")}u();u();function F(a){return f`(select coalesce(json_agg(agg), '[]') from ${a} as agg)`}var G="r",L="v",M=[G,L];function N(a){return _(g(a).selectFrom("pg_catalog.pg_class as cls").innerJoin("pg_catalog.pg_namespace as ns","cls.relnamespace","ns.oid").$call(V).where("cls.relkind","in",M).select(s=>["ns.nspname as schema","cls.relname as name",F(s.selectFrom("pg_catalog.pg_attribute as att").innerJoin("pg_catalog.pg_type as typ","typ.oid","att.atttypid").innerJoin("pg_catalog.pg_namespace as tns","tns.oid","typ.typnamespace").leftJoin("pg_catalog.pg_constraint as pk_con",r=>r.on("pk_con.contype","=","p").onRef("pk_con.conrelid","=","cls.oid").on(t=>t("att.attnum","=",t.fn.any("pk_con.conkey")))).leftJoin("pg_catalog.pg_constraint as fk_con",r=>r.on("fk_con.contype","=","f").onRef("fk_con.conrelid","=","cls.oid").on(t=>t("att.attnum","=",t.fn.any("fk_con.conkey")))).leftJoin("pg_catalog.pg_class as fk_cls","fk_cls.oid","fk_con.confrelid").leftJoin("pg_catalog.pg_namespace as fk_ns","fk_ns.oid","fk_cls.relnamespace").leftJoin("pg_catalog.pg_attribute as fk_att",r=>r.onRef("fk_att.attrelid","=","fk_cls.oid").on(t=>t("fk_att.attnum","=",t.fn.any("fk_con.confkey")))).leftJoin("pg_catalog.pg_attrdef as def",r=>r.onRef("def.adrelid","=","att.attrelid").onRef("def.adnum","=","att.attnum")).whereRef("att.attrelid","=","cls.oid").where("att.attnum",">=",0).where("att.attisdropped","!=",!0).select(["att.attname as name","fk_att.attname as fk_column","fk_cls.relname as fk_table","fk_ns.nspname as fk_schema","tns.nspname as datatype_schema","typ.typname as datatype"]).select(r=>[r("att.attidentity","!=","").or(r("def.adbin","is not",null).and(r.fn("pg_get_expr",["def.adbin","def.adrelid"]),"like","nextval(%")).$castTo().as("autoinc"),r("att.attgenerated","!=","").$castTo().as("computed"),r.fn("pg_get_expr",["def.adbin","def.adrelid"]).as("default"),r("att.attnotnull","!=",!0).$castTo().as("nullable"),r.fn.coalesce(r.selectFrom("pg_catalog.pg_enum as enm").whereRef("enm.enumtypid","=","typ.oid").select(t=>t.fn.jsonAgg(t.ref("enm.enumlabel")).as("o")),f`'[]'`).as("options"),r.fn("array_position",["pk_con.conkey","att.attnum"]).as("pk")])).as("columns")]))}function J(){return[{schema:"zoo",name:"animals",columns:[{autoinc:!0,computed:!1,datatype:"int4",datatype_schema:"pg_catalog",default:"nextval('zoo.animals_id_seq'::regclass)",fk_column:null,fk_schema:null,fk_table:null,name:"id",nullable:!1,options:[],pk:1},{autoinc:!1,computed:!1,datatype:"text",datatype_schema:"pg_catalog",default:null,fk_column:null,fk_schema:null,fk_table:null,name:"name",nullable:!0,options:[],pk:null}]},{schema:"public",name:"users",columns:[{autoinc:!0,computed:!1,datatype:"int4",datatype_schema:"pg_catalog",default:"nextval('users_id_seq'::regclass)",fk_column:null,fk_schema:null,fk_table:null,name:"id",nullable:!1,options:[],pk:1},{autoinc:!1,computed:!1,datatype:"timestamp",datatype_schema:"pg_catalog",default:"CURRENT_TIMESTAMP",fk_column:null,fk_schema:null,fk_table:null,name:"created_at",nullable:!0,options:[],pk:null},{autoinc:!1,computed:!1,datatype:"timestamp",datatype_schema:"pg_catalog",default:null,fk_column:null,fk_schema:null,fk_table:null,name:"deleted_at",nullable:!0,options:[],pk:null},{autoinc:!1,computed:!1,datatype:"varchar",datatype_schema:"pg_catalog",default:null,fk_column:null,fk_schema:null,fk_table:null,name:"role",nullable:!0,options:[],pk:null},{autoinc:!1,computed:!1,datatype:"varchar",datatype_schema:"pg_catalog",default:null,fk_column:null,fk_schema:null,fk_table:null,name:"name",nullable:!0,options:[],pk:null},{autoinc:!1,computed:!0,datatype:"text",datatype_schema:"pg_catalog",default:null,fk_column:null,fk_schema:null,fk_table:null,name:"name_role",nullable:!1,options:[],pk:null}]},{schema:"public",name:"composite_pk",columns:[{autoinc:!1,computed:!1,datatype:"uuid",datatype_schema:"pg_catalog",default:"gen_random_uuid()",fk_column:null,fk_schema:null,fk_table:null,name:"id",nullable:!1,options:[],pk:1},{autoinc:!1,computed:!1,datatype:"text",datatype_schema:"pg_catalog",default:null,fk_column:null,fk_schema:null,fk_table:null,name:"name",nullable:!0,options:[],pk:2},{autoinc:!1,computed:!1,datatype:"timestamp",datatype_schema:"pg_catalog",default:"now()",fk_column:null,fk_schema:null,fk_table:null,name:"created_at",nullable:!0,options:[],pk:null}]}]}function $(){let a=g();return _(a.selectNoFrom(a.fn("current_setting",[f.lit("timezone")]).as("timezone")))}function v(){return[{timezone:"UTC"}]}function V(a){return a.where("ns.nspname","!~","^pg_").where("ns.nspname","!=","information_schema")}function Ae(a){let{executor:s,...r}=a;return{defaultSchema:"public",async introspect(t){try{let n=N(r),e=$(),[[o,l],[p,c]]=await Promise.all([s.execute(n,t),s.execute(e,t)]);if(o)return i({error:o,query:n});if(p)return i({error:p,query:e});let y=c[0]?.timezone;return y?[null,K({query:n,tables:l,timezone:y})]:i({error:new Error("Timezone not found"),query:e})}catch(n){return i({error:n})}},async query(t,n){try{let e=j(t,r),[o,l]=await s.execute(e,n);return o?i({error:o,query:e}):[null,{filteredRowCount:l[0]?.__ps_count__||"0",rows:l,query:e}]}catch(e){return i({error:e})}},async insert(t,n){try{let e=O(t,r),[o,l]=await s.execute(e,n);return o?i({error:o,query:e}):[null,{rows:l,query:e}]}catch(e){return i({error:e})}},async update(t,n){try{let e=P(t,r),[o,l]=await s.execute(e,n);if(o)return i({error:o,query:e});let[p]=l;return p?[null,{row:p,query:e}]:i({error:new Error("Update failed"),query:e})}catch(e){return i({error:e})}},async delete(t,n){try{let e=C(t,r),[o]=await s.execute(e,n);return o?i({error:o,query:e}):[null,{...t,query:e}]}catch(e){return i({error:e})}}}}function K(a){let{query:s,tables:r,timezone:t}=a;return r.reduce((n,e)=>{let{schemas:o}=n,{columns:l,name:p,schema:c}=e,y=l.reduce((k,m)=>{let{datatype:h,datatype_schema:d,name:R,options:A,nullable:U}=m,T=h.startsWith("_"),Q=T?h.slice(1):h;return{...k,[R]:{datatype:{...B[Q]||{group:A.length>0?"enum":"raw"},isArray:T,isNative:d==="pg_catalog",name:T?`${Q}[]`:Q,options:A,schema:d},defaultValue:m.default,fkColumn:m.fk_column,fkSchema:m.fk_schema,fkTable:m.fk_table,isAutoincrement:m.autoinc,isComputed:m.computed,name:R,nullable:U,pkPosition:m.pk,schema:c,table:p}}},{});return o[c]===void 0&&(o[c]={name:c,tables:{}}),o[c].tables[p]={columns:y,name:p,schema:c},n},{filterOperators:W,query:s,schemas:{public:{name:"public",tables:{}}},timezone:t})}var W=["=","!=",">",">=","<","<=","is","is not","like","not like","ilike","not ilike"];function Re(){let a=J(),[{timezone:s}]=v();return K({tables:a,timezone:s,query:{parameters:[],sql:"<mocked>"}})}export{O as a,j as b,oe as c,P as d,C as e,N as f,J as g,$ as h,v as i,Ae as j,Re as k};
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vZGF0YS9wb3N0Z3Jlcy1jb3JlL2luZGV4LnRzIiwgIi4uL2RhdGEvcG9zdGdyZXMtY29yZS9hZGFwdGVyLnRzIiwgIi4uL2RhdGEvcG9zdGdyZXMtY29yZS9kYXRhdHlwZS50cyIsICIuLi9kYXRhL3Bvc3RncmVzLWNvcmUvZG1sLnRzIiwgIi4uL2RhdGEvcG9zdGdyZXMtY29yZS9idWlsZGVyLnRzIiwgIi4uL2RhdGEvcG9zdGdyZXMtY29yZS9pbnRyb3NwZWN0aW9uLnRzIiwgIi4uLy4uLy4uL25vZGVfbW9kdWxlcy8ucG5wbS9reXNlbHlAMC4yOC44L25vZGVfbW9kdWxlcy9reXNlbHkvZGlzdC9lc20vaGVscGVycy9wb3N0Z3Jlcy5qcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiZXhwb3J0ICogZnJvbSBcIi4vYWRhcHRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZG1sXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9pbnRyb3NwZWN0aW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91dGlsaXR5XCI7XG4iLCAiaW1wb3J0IHtcbiAgdHlwZSBBZGFwdGVyLFxuICB0eXBlIEFkYXB0ZXJEZWxldGVSZXN1bHQsXG4gIHR5cGUgQWRhcHRlckVycm9yLFxuICB0eXBlIEFkYXB0ZXJJbnNlcnRSZXN1bHQsXG4gIHR5cGUgQWRhcHRlckludHJvc3BlY3RSZXN1bHQsXG4gIHR5cGUgQWRhcHRlclF1ZXJ5UmVzdWx0LFxuICB0eXBlIEFkYXB0ZXJSZXF1aXJlbWVudHMsXG4gIHR5cGUgQWRhcHRlclVwZGF0ZVJlc3VsdCxcbiAgdHlwZSBDb2x1bW4sXG4gIGNyZWF0ZUFkYXB0ZXJFcnJvcixcbiAgdHlwZSBGaWx0ZXJPcGVyYXRvcixcbiAgdHlwZSBUYWJsZSxcbn0gZnJvbSBcIi4uL2FkYXB0ZXJcIjtcbmltcG9ydCB0eXBlIHsgUXVlcnksIFF1ZXJ5UmVzdWx0IH0gZnJvbSBcIi4uL3F1ZXJ5XCI7XG5pbXBvcnQgdHlwZSB7IEVpdGhlciB9IGZyb20gXCIuLi90eXBlLXV0aWxzXCI7XG5pbXBvcnQgeyBQT1NUR1JFU1FMX0RBVEFfVFlQRVNfVE9fTUVUQURBVEEgfSBmcm9tIFwiLi9kYXRhdHlwZVwiO1xuaW1wb3J0IHsgZ2V0RGVsZXRlUXVlcnksIGdldEluc2VydFF1ZXJ5LCBnZXRTZWxlY3RRdWVyeSwgZ2V0VXBkYXRlUXVlcnkgfSBmcm9tIFwiLi9kbWxcIjtcbmltcG9ydCB7IGdldFRhYmxlc1F1ZXJ5LCBnZXRUaW1lem9uZVF1ZXJ5LCBtb2NrVGFibGVzUXVlcnksIG1vY2tUaW1lem9uZVF1ZXJ5IH0gZnJvbSBcIi4vaW50cm9zcGVjdGlvblwiO1xuXG5leHBvcnQgdHlwZSBQb3N0Z3Jlc0FkYXB0ZXJSZXF1aXJlbWVudHMgPSBBZGFwdGVyUmVxdWlyZW1lbnRzO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUG9zdGdyZXNBZGFwdGVyKHJlcXVpcmVtZW50czogUG9zdGdyZXNBZGFwdGVyUmVxdWlyZW1lbnRzKTogQWRhcHRlciB7XG4gIGNvbnN0IHsgZXhlY3V0b3IsIC4uLm90aGVyUmVxdWlyZW1lbnRzIH0gPSByZXF1aXJlbWVudHM7XG5cbiAgcmV0dXJuIHtcbiAgICBkZWZhdWx0U2NoZW1hOiBcInB1YmxpY1wiLFxuXG4gICAgYXN5bmMgaW50cm9zcGVjdChvcHRpb25zKTogUHJvbWlzZTxFaXRoZXI8QWRhcHRlckVycm9yLCBBZGFwdGVySW50cm9zcGVjdFJlc3VsdD4+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHRhYmxlc1F1ZXJ5ID0gZ2V0VGFibGVzUXVlcnkob3RoZXJSZXF1aXJlbWVudHMpO1xuICAgICAgICBjb25zdCB0aW1lem9uZVF1ZXJ5ID0gZ2V0VGltZXpvbmVRdWVyeSgpO1xuXG4gICAgICAgIGNvbnN0IFtbdGFibGVzRXJyb3IsIHRhYmxlc10sIFt0aW1lem9uZUVycm9yLCB0aW1lem9uZXNdXSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgICAgICBleGVjdXRvci5leGVjdXRlKHRhYmxlc1F1ZXJ5LCBvcHRpb25zKSxcbiAgICAgICAgICBleGVjdXRvci5leGVjdXRlKHRpbWV6b25lUXVlcnksIG9wdGlvbnMpLFxuICAgICAgICBdKTtcblxuICAgICAgICBpZiAodGFibGVzRXJyb3IpIHtcbiAgICAgICAgICByZXR1cm4gY3JlYXRlQWRhcHRlckVycm9yKHsgZXJyb3I6IHRhYmxlc0Vycm9yLCBxdWVyeTogdGFibGVzUXVlcnkgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGltZXpvbmVFcnJvcikge1xuICAgICAgICAgIHJldHVybiBjcmVhdGVBZGFwdGVyRXJyb3IoeyBlcnJvcjogdGltZXpvbmVFcnJvciwgcXVlcnk6IHRpbWV6b25lUXVlcnkgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0aW1lem9uZSA9IHRpbWV6b25lc1swXT8udGltZXpvbmU7XG5cbiAgICAgICAgaWYgKCF0aW1lem9uZSkge1xuICAgICAgICAgIHJldHVybiBjcmVhdGVBZGFwdGVyRXJyb3IoeyBlcnJvcjogbmV3IEVycm9yKFwiVGltZXpvbmUgbm90IGZvdW5kXCIpLCBxdWVyeTogdGltZXpvbmVRdWVyeSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbbnVsbCwgY3JlYXRlSW50cm9zcGVjdGlvbih7IHF1ZXJ5OiB0YWJsZXNRdWVyeSwgdGFibGVzLCB0aW1lem9uZSB9KV07XG4gICAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgICByZXR1cm4gY3JlYXRlQWRhcHRlckVycm9yKHsgZXJyb3I6IGVycm9yIGFzIEVycm9yIH0pO1xuICAgICAgfVxuICAgIH0sXG5cbiAgICBhc3luYyBxdWVyeShkZXRhaWxzLCBvcHRpb25zKTogUHJvbWlzZTxFaXRoZXI8QWRhcHRlckVycm9yLCBBZGFwdGVyUXVlcnlSZXN1bHQ+PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBxdWVyeSA9IGdldFNlbGVjdFF1ZXJ5KGRldGFpbHMsIG90aGVyUmVxdWlyZW1lbnRzKTtcblxuICAgICAgICBjb25zdCBbZXJyb3IsIHJlc3VsdHNdID0gYXdhaXQgZXhlY3V0b3IuZXhlY3V0ZShxdWVyeSwgb3B0aW9ucyk7XG5cbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgcmV0dXJuIGNyZWF0ZUFkYXB0ZXJFcnJvcih7IGVycm9yLCBxdWVyeSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbbnVsbCwgeyBmaWx0ZXJlZFJvd0NvdW50OiByZXN1bHRzWzBdPy5fX3BzX2NvdW50X18gfHwgXCIwXCIsIHJvd3M6IHJlc3VsdHMsIHF1ZXJ5IH1dO1xuICAgICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUFkYXB0ZXJFcnJvcih7IGVycm9yOiBlcnJvciBhcyBFcnJvciB9KTtcbiAgICAgIH1cbiAgICB9LFxuXG4gICAgYXN5bmMgaW5zZXJ0KGRldGFpbHMsIG9wdGlvbnMpOiBQcm9taXNlPEVpdGhlcjxBZGFwdGVyRXJyb3IsIEFkYXB0ZXJJbnNlcnRSZXN1bHQ+PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBxdWVyeSA9IGdldEluc2VydFF1ZXJ5KGRldGFpbHMsIG90aGVyUmVxdWlyZW1lbnRzKTtcblxuICAgICAgICBjb25zdCBbZXJyb3IsIHJvd3NdID0gYXdhaXQgZXhlY3V0b3IuZXhlY3V0ZShxdWVyeSwgb3B0aW9ucyk7XG5cbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgcmV0dXJuIGNyZWF0ZUFkYXB0ZXJFcnJvcih7IGVycm9yLCBxdWVyeSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbbnVsbCwgeyByb3dzLCBxdWVyeSB9XTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVBZGFwdGVyRXJyb3IoeyBlcnJvcjogZXJyb3IgYXMgRXJyb3IgfSk7XG4gICAgICB9XG4gICAgfSxcblxuICAgIGFzeW5jIHVwZGF0ZShkZXRhaWxzLCBvcHRpb25zKTogUHJvbWlzZTxFaXRoZXI8QWRhcHRlckVycm9yLCBBZGFwdGVyVXBkYXRlUmVzdWx0Pj4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcXVlcnkgPSBnZXRVcGRhdGVRdWVyeShkZXRhaWxzLCBvdGhlclJlcXVpcmVtZW50cyk7XG5cbiAgICAgICAgY29uc3QgW2Vycm9yLCByZXN1bHRzXSA9IGF3YWl0IGV4ZWN1dG9yLmV4ZWN1dGUocXVlcnksIG9wdGlvbnMpO1xuXG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgIHJldHVybiBjcmVhdGVBZGFwdGVyRXJyb3IoeyBlcnJvciwgcXVlcnkgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBbcm93XSA9IHJlc3VsdHM7XG5cbiAgICAgICAgaWYgKCFyb3cpIHtcbiAgICAgICAgICByZXR1cm4gY3JlYXRlQWRhcHRlckVycm9yKHsgZXJyb3I6IG5ldyBFcnJvcihcIlVwZGF0ZSBmYWlsZWRcIiksIHF1ZXJ5IH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFtudWxsLCB7IHJvdywgcXVlcnkgfV07XG4gICAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgICByZXR1cm4gY3JlYXRlQWRhcHRlckVycm9yKHsgZXJyb3I6IGVycm9yIGFzIEVycm9yIH0pO1xuICAgICAgfVxuICAgIH0sXG5cbiAgICBhc3luYyBkZWxldGUoZGV0YWlscywgb3B0aW9ucyk6IFByb21pc2U8RWl0aGVyPEFkYXB0ZXJFcnJvciwgQWRhcHRlckRlbGV0ZVJlc3VsdD4+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHF1ZXJ5ID0gZ2V0RGVsZXRlUXVlcnkoZGV0YWlscywgb3RoZXJSZXF1aXJlbWVudHMpO1xuXG4gICAgICAgIGNvbnN0IFtlcnJvcl0gPSBhd2FpdCBleGVjdXRvci5leGVjdXRlKHF1ZXJ5LCBvcHRpb25zKTtcblxuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICByZXR1cm4gY3JlYXRlQWRhcHRlckVycm9yKHsgZXJyb3IsIHF1ZXJ5IH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFtudWxsLCB7IC4uLmRldGFpbHMsIHF1ZXJ5IH1dO1xuICAgICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUFkYXB0ZXJFcnJvcih7IGVycm9yOiBlcnJvciBhcyBFcnJvciB9KTtcbiAgICAgIH1cbiAgICB9LFxuICB9O1xufVxuXG5mdW5jdGlvbiBjcmVhdGVJbnRyb3NwZWN0aW9uKGFyZ3M6IHtcbiAgcXVlcnk6IFF1ZXJ5O1xuICB0YWJsZXM6IFF1ZXJ5UmVzdWx0PHR5cGVvZiBnZXRUYWJsZXNRdWVyeT47XG4gIHRpbWV6b25lOiBzdHJpbmc7XG59KTogQWRhcHRlckludHJvc3BlY3RSZXN1bHQge1xuICBjb25zdCB7IHF1ZXJ5LCB0YWJsZXMsIHRpbWV6b25lIH0gPSBhcmdzO1xuXG4gIHJldHVybiB0YWJsZXMucmVkdWNlKFxuICAgIChyZXN1bHQsIHRhYmxlKSA9PiB7XG4gICAgICBjb25zdCB7IHNjaGVtYXMgfSA9IHJlc3VsdDtcbiAgICAgIGNvbnN0IHsgY29sdW1ucywgbmFtZTogdGFibGVOYW1lLCBzY2hlbWEgfSA9IHRhYmxlO1xuXG4gICAgICBjb25zdCBjb2x1bW5zUmVjb3JkID0gY29sdW1ucy5yZWR1Y2UoXG4gICAgICAgIChjb2x1bW5zLCBjb2x1bW4pID0+IHtcbiAgICAgICAgICBjb25zdCB7IGRhdGF0eXBlLCBkYXRhdHlwZV9zY2hlbWEsIG5hbWU6IGNvbHVtbk5hbWUsIG9wdGlvbnMsIG51bGxhYmxlIH0gPSBjb2x1bW47XG5cbiAgICAgICAgICBjb25zdCBpc0FycmF5ID0gZGF0YXR5cGUuc3RhcnRzV2l0aChcIl9cIik7XG4gICAgICAgICAgY29uc3Qgc3RyaXBwZWREYXRhVHlwZSA9IGlzQXJyYXkgPyBkYXRhdHlwZS5zbGljZSgxKSA6IGRhdGF0eXBlO1xuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmNvbHVtbnMsXG4gICAgICAgICAgICBbY29sdW1uTmFtZV06IHtcbiAgICAgICAgICAgICAgZGF0YXR5cGU6IHtcbiAgICAgICAgICAgICAgICAuLi4oUE9TVEdSRVNRTF9EQVRBX1RZUEVTX1RPX01FVEFEQVRBW3N0cmlwcGVkRGF0YVR5cGVdIHx8IHtcbiAgICAgICAgICAgICAgICAgIGdyb3VwOiBvcHRpb25zLmxlbmd0aCA+IDAgPyBcImVudW1cIiA6IFwicmF3XCIsXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgaXNBcnJheSxcbiAgICAgICAgICAgICAgICBpc05hdGl2ZTogZGF0YXR5cGVfc2NoZW1hID09PSBcInBnX2NhdGFsb2dcIixcbiAgICAgICAgICAgICAgICBuYW1lOiBpc0FycmF5ID8gYCR7c3RyaXBwZWREYXRhVHlwZX1bXWAgOiBzdHJpcHBlZERhdGFUeXBlLFxuICAgICAgICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgICAgICAgc2NoZW1hOiBkYXRhdHlwZV9zY2hlbWEsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogY29sdW1uLmRlZmF1bHQsXG4gICAgICAgICAgICAgIGZrQ29sdW1uOiBjb2x1bW4uZmtfY29sdW1uLFxuICAgICAgICAgICAgICBma1NjaGVtYTogY29sdW1uLmZrX3NjaGVtYSxcbiAgICAgICAgICAgICAgZmtUYWJsZTogY29sdW1uLmZrX3RhYmxlLFxuICAgICAgICAgICAgICBpc0F1dG9pbmNyZW1lbnQ6IGNvbHVtbi5hdXRvaW5jLFxuICAgICAgICAgICAgICBpc0NvbXB1dGVkOiBjb2x1bW4uY29tcHV0ZWQsXG4gICAgICAgICAgICAgIG5hbWU6IGNvbHVtbk5hbWUsXG4gICAgICAgICAgICAgIG51bGxhYmxlLFxuICAgICAgICAgICAgICBwa1Bvc2l0aW9uOiBjb2x1bW4ucGssXG4gICAgICAgICAgICAgIHNjaGVtYSxcbiAgICAgICAgICAgICAgdGFibGU6IHRhYmxlTmFtZSxcbiAgICAgICAgICAgIH0gYXMgY29uc3Qgc2F0aXNmaWVzIENvbHVtbixcbiAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgICAgICB7fSBhcyBUYWJsZVtcImNvbHVtbnNcIl0sXG4gICAgICApO1xuXG4gICAgICBpZiAoc2NoZW1hc1tzY2hlbWFdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgc2NoZW1hc1tzY2hlbWFdID0geyBuYW1lOiBzY2hlbWEsIHRhYmxlczoge30gfTtcbiAgICAgIH1cblxuICAgICAgc2NoZW1hc1tzY2hlbWFdLnRhYmxlc1t0YWJsZU5hbWVdID0geyBjb2x1bW5zOiBjb2x1bW5zUmVjb3JkLCBuYW1lOiB0YWJsZU5hbWUsIHNjaGVtYSB9O1xuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0sXG4gICAge1xuICAgICAgZmlsdGVyT3BlcmF0b3JzLFxuICAgICAgcXVlcnksXG4gICAgICBzY2hlbWFzOiB7IHB1YmxpYzogeyBuYW1lOiBcInB1YmxpY1wiLCB0YWJsZXM6IHt9IH0gfSxcbiAgICAgIHRpbWV6b25lLFxuICAgIH0gc2F0aXNmaWVzIEFkYXB0ZXJJbnRyb3NwZWN0UmVzdWx0IGFzIEFkYXB0ZXJJbnRyb3NwZWN0UmVzdWx0LFxuICApO1xufVxuXG5jb25zdCBmaWx0ZXJPcGVyYXRvcnMgPSBbXG4gIFwiPVwiLFxuICBcIiE9XCIsXG4gIFwiPlwiLFxuICBcIj49XCIsXG4gIFwiPFwiLFxuICBcIjw9XCIsXG4gIFwiaXNcIixcbiAgXCJpcyBub3RcIixcbiAgXCJsaWtlXCIsXG4gIFwibm90IGxpa2VcIixcbiAgXCJpbGlrZVwiLFxuICBcIm5vdCBpbGlrZVwiLFxuXSBzYXRpc2ZpZXMgRmlsdGVyT3BlcmF0b3JbXTtcblxuLyoqXG4gKiBGb3IgdGVzdGluZyBwdXJwb3Nlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1vY2tJbnRyb3NwZWN0KCkge1xuICBjb25zdCB0YWJsZXMgPSBtb2NrVGFibGVzUXVlcnkoKTtcbiAgY29uc3QgW3sgdGltZXpvbmUgfV0gPSBtb2NrVGltZXpvbmVRdWVyeSgpO1xuICBjb25zdCBxdWVyeSA9IHsgcGFyYW1ldGVyczogW10sIHNxbDogXCI8bW9ja2VkPlwiIH0gYXMgUXVlcnk7XG5cbiAgcmV0dXJuIGNyZWF0ZUludHJvc3BlY3Rpb24oeyB0YWJsZXMsIHRpbWV6b25lLCBxdWVyeSB9KSBhcyB7XG4gICAgLy8gYmVzdCBlZmZvcnQsIG5vIG5lZWQgZ28gb3ZlcmJvYXJkLlxuICAgIHNjaGVtYXM6IHtcbiAgICAgIFtLIGluICh0eXBlb2YgdGFibGVzKVtudW1iZXJdW1wic2NoZW1hXCJdXToge1xuICAgICAgICBuYW1lOiBLO1xuICAgICAgICB0YWJsZXM6IHtcbiAgICAgICAgICBbVCBpbiAodHlwZW9mIHRhYmxlcylbbnVtYmVyXVtcIm5hbWVcIl1dOiBUYWJsZTtcbiAgICAgICAgfTtcbiAgICAgIH07XG4gICAgfTtcbiAgICB0aW1lem9uZTogdHlwZW9mIHRpbWV6b25lO1xuICAgIGZpbHRlck9wZXJhdG9yczogRmlsdGVyT3BlcmF0b3JbXTtcbiAgICBxdWVyeTogUXVlcnk7XG4gIH0gc2F0aXNmaWVzIEFkYXB0ZXJJbnRyb3NwZWN0UmVzdWx0O1xufVxuIiwgImltcG9ydCB0eXBlIHsgRGF0YVR5cGUgfSBmcm9tIFwiLi4vYWRhcHRlclwiO1xuXG5leHBvcnQgY29uc3QgUE9TVEdSRVNRTF9EQVRBX1RZUEVTX1RPX01FVEFEQVRBOiBSZWNvcmQ8c3RyaW5nLCBQaWNrPERhdGFUeXBlLCBcImdyb3VwXCI+PiA9IHtcbiAgYm9vbDoge1xuICAgIGdyb3VwOiBcImJvb2xlYW5cIixcbiAgfSxcbiAgYm9vbGVhbjoge1xuICAgIGdyb3VwOiBcImJvb2xlYW5cIixcbiAgfSxcbiAgYnl0ZWE6IHtcbiAgICBncm91cDogXCJzdHJpbmdcIixcbiAgfSxcbiAgY2hhcjoge1xuICAgIGdyb3VwOiBcInN0cmluZ1wiLFxuICB9LFxuICBjaXRleHQ6IHtcbiAgICBncm91cDogXCJzdHJpbmdcIixcbiAgfSxcbiAgLyoqXG4gICAqIEBleGFtcGxlICcyMDI1LTA0LTE0J1xuICAgKi9cbiAgZGF0ZToge1xuICAgIGdyb3VwOiBcImRhdGV0aW1lXCIsXG4gIH0sXG4gIC8qKlxuICAgKiBAZXhhbXBsZSAnMSBkYXkgMiBob3VycydcbiAgICovXG4gIGludGVydmFsOiB7XG4gICAgZ3JvdXA6IFwic3RyaW5nXCIsXG4gIH0sXG4gIG5hbWU6IHtcbiAgICBncm91cDogXCJzdHJpbmdcIixcbiAgfSxcbiAgdmFyY2hhcjoge1xuICAgIGdyb3VwOiBcInN0cmluZ1wiLFxuICB9LFxuICB0ZXh0OiB7XG4gICAgZ3JvdXA6IFwic3RyaW5nXCIsXG4gIH0sXG4gIC8qKlxuICAgKiBzaG9ydCBmb3JtIG9mIGB0aW1lIHdpdGhvdXQgdGltZSB6b25lYC5cbiAgICpcbiAgICogQGV4YW1wbGUgJzE0OjMwOjAwJ1xuICAgKi9cbiAgdGltZToge1xuICAgIGdyb3VwOiBcInRpbWVcIixcbiAgfSxcbiAgLyoqXG4gICAqIHNob3J0IGZvcm0gb2YgYHRpbWVzdGFtcCB3aXRob3V0IHRpbWUgem9uZWAuXG4gICAqXG4gICAqIEBleGFtcGxlICcyMDI1LTA0LTE0IDE0OjMwOjAwJ1xuICAgKi9cbiAgdGltZXN0YW1wOiB7XG4gICAgZ3JvdXA6IFwiZGF0ZXRpbWVcIixcbiAgfSxcbiAgLyoqXG4gICAqIHNob3J0IGZvcm0gb2YgYHRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZWAuXG4gICAqXG4gICAqIEBleGFtcGxlICcyMDI1LTA0LTE0IDE0OjMwOjAwKzAwJ1xuICAgKi9cbiAgdGltZXN0YW1wdHo6IHtcbiAgICBncm91cDogXCJkYXRldGltZVwiLFxuICB9LFxuICAvKipcbiAgICogbG9uZyBmb3JtIG9mIGB0aW1lc3RhbXBgLlxuICAgKlxuICAgKiBAZXhhbXBsZSAnMjAyNS0wNC0xNCAxNDozMDowMCdcbiAgICovXG4gIFwidGltZXN0YW1wIHdpdGhvdXQgdGltZSB6b25lXCI6IHtcbiAgICBncm91cDogXCJkYXRldGltZVwiLFxuICB9LFxuICAvKipcbiAgICogbG9uZyBmb3JtIG9mIGB0aW1lc3RhbXB0emAuXG4gICAqXG4gICAqIEBleGFtcGxlICcyMDI1LTA0LTE0IDE0OjMwOjAwKzAwJ1xuICAgKi9cbiAgXCJ0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmVcIjoge1xuICAgIGdyb3VwOiBcImRhdGV0aW1lXCIsXG4gIH0sXG4gIC8qKlxuICAgKiBzaG9ydCBmb3JtIG9mIGB0aW1lIHdpdGggdGltZSB6b25lYC5cbiAgICpcbiAgICogQGV4YW1wbGUgJzE0OjMwOjAwKzAwOjAwJ1xuICAgKi9cbiAgdGltZXR6OiB7XG4gICAgZ3JvdXA6IFwidGltZVwiLFxuICB9LFxuICAvKipcbiAgICogbG9uZyBmb3JtIG9mIGB0aW1lYC5cbiAgICpcbiAgICogQGV4YW1wbGUgJzE0OjMwOjAwJ1xuICAgKi9cbiAgXCJ0aW1lIHdpdGhvdXQgdGltZSB6b25lXCI6IHtcbiAgICBncm91cDogXCJ0aW1lXCIsXG4gIH0sXG4gIC8qKlxuICAgKiBsb25nIGZvcm0gb2YgYHRpbWV0emAuXG4gICAqXG4gICAqIEBleGFtcGxlICcyMDI1LTA0LTE0IDE0OjMwOjAwKzAwJ1xuICAgKi9cbiAgXCJ0aW1lIHdpdGggdGltZSB6b25lXCI6IHtcbiAgICBncm91cDogXCJkYXRldGltZVwiLFxuICB9LFxuICB1dWlkOiB7XG4gICAgLy8gVE9ETzogcG9zc2libHkgY2hhbmdlIHRvIGFub3RoZXIgZ3JvdXAgbGF0ZXIuXG4gICAgZ3JvdXA6IFwicmF3XCIsXG4gIH0sXG4gIC8vIE51bWVyaWMgdHlwZXNcbiAgaW50Mjoge1xuICAgIGdyb3VwOiBcIm51bWVyaWNcIixcbiAgfSxcbiAgaW50NDoge1xuICAgIGdyb3VwOiBcIm51bWVyaWNcIixcbiAgfSxcbiAgaW50ODoge1xuICAgIGdyb3VwOiBcIm51bWVyaWNcIixcbiAgfSxcbiAgc21hbGxpbnQ6IHtcbiAgICBncm91cDogXCJudW1lcmljXCIsXG4gIH0sXG4gIGludGVnZXI6IHtcbiAgICBncm91cDogXCJudW1lcmljXCIsXG4gIH0sXG4gIGJpZ2ludDoge1xuICAgIGdyb3VwOiBcIm51bWVyaWNcIixcbiAgfSxcbiAgZGVjaW1hbDoge1xuICAgIGdyb3VwOiBcIm51bWVyaWNcIixcbiAgfSxcbiAgbnVtZXJpYzoge1xuICAgIGdyb3VwOiBcIm51bWVyaWNcIixcbiAgfSxcbiAgcmVhbDoge1xuICAgIGdyb3VwOiBcIm51bWVyaWNcIixcbiAgfSxcbiAgZmxvYXQ0OiB7XG4gICAgZ3JvdXA6IFwibnVtZXJpY1wiLFxuICB9LFxuICBmbG9hdDg6IHtcbiAgICBncm91cDogXCJudW1lcmljXCIsXG4gIH0sXG4gIFwiZG91YmxlIHByZWNpc2lvblwiOiB7XG4gICAgZ3JvdXA6IFwibnVtZXJpY1wiLFxuICB9LFxuICBqc29uOiB7XG4gICAgZ3JvdXA6IFwianNvblwiLFxuICB9LFxuICBqc29uYjoge1xuICAgIGdyb3VwOiBcImpzb25cIixcbiAgfSxcbn07XG4iLCAiaW1wb3J0IHsgZXhwcmVzc2lvbkJ1aWxkZXIsIHR5cGUgSW5mZXJSZXN1bHQsIHR5cGUgU2ltcGxlUmVmZXJlbmNlRXhwcmVzc2lvbiwgc3FsIH0gZnJvbSBcImt5c2VseVwiO1xuXG5pbXBvcnQgdHlwZSB7IEFkYXB0ZXJEZWxldGVEZXRhaWxzLCBBZGFwdGVySW5zZXJ0RGV0YWlscywgQWRhcHRlclF1ZXJ5RGV0YWlscywgQWRhcHRlclVwZGF0ZURldGFpbHMgfSBmcm9tIFwiLi4vYWRhcHRlclwiO1xuaW1wb3J0IHtcbiAgYXBwbHlJbmZlcnJlZFJvd0ZpbHRlcnMsXG4gIGFwcGx5VHJhbnNmb3JtYXRpb25zLFxuICB0eXBlIEJ1aWxkZXJSZXF1aXJlbWVudHMsXG4gIGNvbXBpbGUsXG4gIGdldFNlbGVjdEZpbHRlckV4cHJlc3Npb24sXG59IGZyb20gXCIuLi9xdWVyeVwiO1xuaW1wb3J0IHR5cGUgeyBCaWdJbnRTdHJpbmcgfSBmcm9tIFwiLi4vdHlwZS11dGlsc1wiO1xuaW1wb3J0IHsgZ2V0UG9zdGdyZVNRTEJ1aWxkZXIgfSBmcm9tIFwiLi9idWlsZGVyXCI7XG5pbXBvcnQgdHlwZSB7IG1vY2tUYWJsZXNRdWVyeSB9IGZyb20gXCIuL2ludHJvc3BlY3Rpb25cIjtcblxuLyoqXG4gKiBJbnNlcnRzIG9uZSBvciBtb3JlIHJvd3MgaW50byBhIHRhYmxlIGFuZCByZXR1cm5zIHRoZSBpbnNlcnRlZCByb3dzIGFsb25nIHdpdGggdGhlaXIgYGN0aWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW5zZXJ0UXVlcnkoXG4gIGRldGFpbHM6IEFkYXB0ZXJJbnNlcnREZXRhaWxzLFxuICByZXF1aXJlbWVudHM/OiBPbWl0PEJ1aWxkZXJSZXF1aXJlbWVudHMsIFwiQWRhcHRlclwiIHwgXCJRdWVyeUNvbXBpbGVyXCI+LFxuKSB7XG4gIGNvbnN0IHtcbiAgICByb3dzLFxuICAgIHRhYmxlOiB7IGNvbHVtbnMsIG5hbWU6IHRhYmxlTmFtZSwgc2NoZW1hIH0sXG4gIH0gPSBkZXRhaWxzO1xuXG4gIGNvbnN0IGJ1aWxkZXIgPSBnZXRQb3N0Z3JlU1FMQnVpbGRlcjxSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4+KHJlcXVpcmVtZW50cyk7XG5cbiAgcmV0dXJuIGNvbXBpbGUoXG4gICAgYnVpbGRlclxuICAgICAgLndpdGhTY2hlbWEoc2NoZW1hKVxuICAgICAgLmluc2VydEludG8odGFibGVOYW1lKVxuICAgICAgLnZhbHVlcyhhcHBseVRyYW5zZm9ybWF0aW9ucyhcImluc2VydFwiLCByb3dzLCBjb2x1bW5zKSlcbiAgICAgIC5yZXR1cm5pbmcoT2JqZWN0LmtleXMoY29sdW1ucykpXG4gICAgICAucmV0dXJuaW5nKGdldEN1cnJlbnRUaW1lc3RhbXBNaWxsaXMoKS5hcyhcIl9fcHNfaW5zZXJ0ZWRfYXRfX1wiKSksXG4gICk7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIHF1ZXJ5IHRoYXQgc2VsZWN0cyBhbGwgY29sdW1ucyBmcm9tIGEgdGFibGUsIGFsb25nIHdpdGggYW4gdW5ib3VuZCByb3cgY291bnQgYXMgYF9fcHNfY291bnRfX2AuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWxlY3RRdWVyeShcbiAgZGV0YWlsczogQWRhcHRlclF1ZXJ5RGV0YWlscyxcbiAgcmVxdWlyZW1lbnRzPzogT21pdDxCdWlsZGVyUmVxdWlyZW1lbnRzLCBcIkFkYXB0ZXJcIiB8IFwiUXVlcnlDb21waWxlclwiPixcbikge1xuICBjb25zdCB7XG4gICAgZmlsdGVyID0geyBhZnRlcjogXCJhbmRcIiwgZmlsdGVyczogW10sIGtpbmQ6IFwiRmlsdGVyR3JvdXBcIiB9LFxuICAgIHBhZ2VJbmRleCxcbiAgICBwYWdlU2l6ZSxcbiAgICBzb3J0T3JkZXIsXG4gICAgdGFibGU6IHsgY29sdW1ucywgbmFtZTogdGFibGVOYW1lLCBzY2hlbWEgfSxcbiAgfSA9IGRldGFpbHM7XG5cbiAgY29uc3QgYnVpbGRlciA9IGdldFBvc3RncmVTUUxCdWlsZGVyPFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHVua25vd24+Pj4ocmVxdWlyZW1lbnRzKTtcblxuICBjb25zdCBmaWx0ZXJFeHByZXNzaW9uID0gZ2V0U2VsZWN0RmlsdGVyRXhwcmVzc2lvbihmaWx0ZXIuZmlsdGVycywgY29sdW1ucyk7XG5cbiAgY29uc3QgQUdHX05BTUUgPSBcIl9fcHNfYWdnX19cIjtcbiAgY29uc3QgQ09VTlRfUkVGID0gXCJfX3BzX2NvdW50X19cIjtcblxuICBjb25zdCBjb3VudFF1ZXJ5ID0gYnVpbGRlclxuICAgIC53aXRoU2NoZW1hKHNjaGVtYSlcbiAgICAuc2VsZWN0RnJvbSh0YWJsZU5hbWUpXG4gICAgLndoZXJlKGZpbHRlckV4cHJlc3Npb24pXG4gICAgLnNlbGVjdCgoZWIpID0+IGViLmNhc3Q8QmlnSW50U3RyaW5nPihlYi5mbi5jb2FsZXNjZShlYi5mbi5jb3VudEFsbCgpLCBzcWwubGl0KDApKSwgXCJ0ZXh0XCIpLmFzKENPVU5UX1JFRikpO1xuXG4gIHJldHVybiBjb21waWxlKFxuICAgIGJ1aWxkZXJcbiAgICAgIC53aXRoKEFHR19OQU1FLCAoKSA9PiBjb3VudFF1ZXJ5KVxuICAgICAgLndpdGhTY2hlbWEoc2NoZW1hKVxuICAgICAgLnNlbGVjdEZyb20odGFibGVOYW1lKVxuICAgICAgLmlubmVySm9pbihBR0dfTkFNRSwgKGpiKSA9PiBqYi5vblRydWUoKSlcbiAgICAgIC8vIFRPRE86IGN1cnNvciBwYWdpbmF0aW9uP1xuICAgICAgLndoZXJlKGZpbHRlckV4cHJlc3Npb24pXG4gICAgICAuc2VsZWN0KFxuICAgICAgICBgJHtBR0dfTkFNRX0uJHtDT1VOVF9SRUZ9YCBzYXRpc2ZpZXMgU2ltcGxlUmVmZXJlbmNlRXhwcmVzc2lvbjxcbiAgICAgICAgICB7IFtBR0dfTkFNRV06IEluZmVyUmVzdWx0PHR5cGVvZiBjb3VudFF1ZXJ5PltudW1iZXJdIH0sXG4gICAgICAgICAgdHlwZW9mIEFHR19OQU1FXG4gICAgICAgID4sXG4gICAgICApXG4gICAgICAuc2VsZWN0KE9iamVjdC5rZXlzKGNvbHVtbnMpKVxuICAgICAgLiRjYWxsKChxYikgPT4gc29ydE9yZGVyLnJlZHVjZSgocWIsIGl0ZW0pID0+IHFiLm9yZGVyQnkoaXRlbS5jb2x1bW4sIGl0ZW0uZGlyZWN0aW9uKSwgcWIpKVxuICAgICAgLmxpbWl0KHBhZ2VTaXplKVxuICAgICAgLy8gd2UncmUgaW5qZWN0aW5nIHRoZSBvZmZzZXQgdmFsdWUgaGVyZSB0byBhdm9pZCBzZXJpYWxpemF0aW9uIGNvbXBsZXhpdHkgKGBiaWdpbnRgIGlzIGEgbm8tZ28gZm9yIGBKU09OLnN0cmluZ2lmeWApLlxuICAgICAgLm9mZnNldChzcWwubGl0KEJpZ0ludChwYWdlSW5kZXgpICogQmlnSW50KHBhZ2VTaXplKSkpLFxuICApO1xufVxuXG4vKipcbiAqIEZvciB0ZXN0aW5nIHB1cnBvc2VzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbW9ja1NlbGVjdFF1ZXJ5KCkge1xuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIGNyZWF0ZWRfYXQ6IG5ldyBEYXRlKFwiMjAyNS0wMS0yNlQyMTo1NjoxMi4zNDVaXCIpLFxuICAgICAgZGVsZXRlZF9hdDogbnVsbCxcbiAgICAgIGlkOiAxLFxuICAgICAgbmFtZTogXCJKb2huIERvZVwiLFxuICAgICAgX19wc19jb3VudF9fOiBcIjJcIixcbiAgICAgIHJvbGU6IFwiYWRtaW5cIixcbiAgICAgIG5hbWVfcm9sZTogXCJKb25uIERvZSAtIGFkbWluXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICBjcmVhdGVkX2F0OiBuZXcgRGF0ZShcIjIwMjUtMDEtMjZUMjA6NTY6MTIuMzQ1WlwiKSxcbiAgICAgIGRlbGV0ZWRfYXQ6IG51bGwsXG4gICAgICBpZDogMixcbiAgICAgIG5hbWU6IFwiSmFuZSBEb2VcIixcbiAgICAgIF9fcHNfY291bnRfXzogXCIyXCIsXG4gICAgICByb2xlOiBcInBvd2VydXNlclwiLFxuICAgICAgbmFtZV9yb2xlOiBcIkphbmUgRG9lIC0gcG93ZXJ1c2VyXCIsXG4gICAgfSxcbiAgXSBhcyBjb25zdCBzYXRpc2ZpZXMge1xuICAgIC8vIGJlc3QgZWZmb3J0IG5vIG5lZWQgdG8gZ28gb3ZlcmJvYXJkXG4gICAgW0sgaW4gUmV0dXJuVHlwZTx0eXBlb2YgbW9ja1RhYmxlc1F1ZXJ5PlsxXVtcImNvbHVtbnNcIl1bbnVtYmVyXVtcIm5hbWVcIl0gfCBcIl9fcHNfY291bnRfX1wiXTogdW5rbm93bjtcbiAgfVtdO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBxdWVyeSB0aGF0IHVwZGF0ZXMgYSBnaXZlbiByb3cgaW4gYSB0YWJsZSB3aXRoIGdpdmVuIGNoYW5nZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRVcGRhdGVRdWVyeShcbiAgZGV0YWlsczogQWRhcHRlclVwZGF0ZURldGFpbHMsXG4gIHJlcXVpcmVtZW50cz86IE9taXQ8QnVpbGRlclJlcXVpcmVtZW50cywgXCJBZGFwdGVyXCIgfCBcIlF1ZXJ5Q29tcGlsZXJcIj4sXG4pIHtcbiAgY29uc3Qge1xuICAgIGNoYW5nZXMsXG4gICAgcm93LFxuICAgIHRhYmxlOiB7IGNvbHVtbnMsIG5hbWU6IHRhYmxlTmFtZSwgc2NoZW1hIH0sXG4gIH0gPSBkZXRhaWxzO1xuXG4gIGNvbnN0IGJ1aWxkZXIgPSBnZXRQb3N0Z3JlU1FMQnVpbGRlcjxSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4+KHJlcXVpcmVtZW50cyk7XG5cbiAgcmV0dXJuIGNvbXBpbGUoXG4gICAgYnVpbGRlclxuICAgICAgLndpdGhTY2hlbWEoc2NoZW1hKVxuICAgICAgLnVwZGF0ZVRhYmxlKHRhYmxlTmFtZSlcbiAgICAgIC5zZXQoYXBwbHlUcmFuc2Zvcm1hdGlvbnMoXCJ1cGRhdGVcIiwgY2hhbmdlcywgY29sdW1ucykpXG4gICAgICAuJGNhbGwoYXBwbHlJbmZlcnJlZFJvd0ZpbHRlcnMoW3Jvd10sIGNvbHVtbnMpKVxuICAgICAgLnJldHVybmluZyhPYmplY3Qua2V5cyhjb2x1bW5zKSlcbiAgICAgIC5yZXR1cm5pbmcoZ2V0Q3VycmVudFRpbWVzdGFtcE1pbGxpcygpLmFzKFwiX19wc191cGRhdGVkX2F0X19cIikpLFxuICApO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBxdWVyeSB0aGF0IGRlbGV0ZXMgYSBnaXZlbiBzZXQgb2Ygcm93cy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERlbGV0ZVF1ZXJ5KFxuICBkZXRhaWxzOiBBZGFwdGVyRGVsZXRlRGV0YWlscyxcbiAgcmVxdWlyZW1lbnRzPzogT21pdDxCdWlsZGVyUmVxdWlyZW1lbnRzLCBcIkFkYXB0ZXJcIiB8IFwiUXVlcnlDb21waWxlclwiPixcbikge1xuICBjb25zdCB7XG4gICAgcm93cyxcbiAgICB0YWJsZTogeyBjb2x1bW5zLCBuYW1lOiB0YWJsZU5hbWUsIHNjaGVtYSB9LFxuICB9ID0gZGV0YWlscztcblxuICBjb25zdCBidWlsZGVyID0gZ2V0UG9zdGdyZVNRTEJ1aWxkZXI8UmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+PihyZXF1aXJlbWVudHMpO1xuXG4gIHJldHVybiBjb21waWxlKFxuICAgIGJ1aWxkZXJcbiAgICAgIC53aXRoU2NoZW1hKHNjaGVtYSlcbiAgICAgIC5kZWxldGVGcm9tKHRhYmxlTmFtZSlcbiAgICAgIC4kY2FsbChhcHBseUluZmVycmVkUm93RmlsdGVycyhyb3dzLCBjb2x1bW5zKSlcbiAgICAgIC5yZXR1cm5pbmcoT2JqZWN0LmtleXMoY29sdW1ucykpXG4gICAgICAucmV0dXJuaW5nKGdldEN1cnJlbnRUaW1lc3RhbXBNaWxsaXMoKS5hcyhcIl9fcHNfZGVsZXRlZF9hdF9fXCIpKSxcbiAgKTtcbn1cblxuZnVuY3Rpb24gZ2V0Q3VycmVudFRpbWVzdGFtcE1pbGxpcygpIHtcbiAgY29uc3QgZWIgPSBleHByZXNzaW9uQnVpbGRlcigpO1xuXG4gIHJldHVybiBlYi5jYXN0PEJpZ0ludFN0cmluZz4oZWIuZm4oXCJmbG9vclwiLCBbZWIoZWIuZm4oXCJleHRyYWN0XCIsIFtzcWxgZXBvY2ggZnJvbSBub3coKWBdKSwgXCIqXCIsIDFfMDAwKV0pLCBcInRleHRcIik7XG59XG4iLCAiaW1wb3J0IHsgdHlwZSBLeXNlbHksIFBvc3RncmVzQWRhcHRlciwgUG9zdGdyZXNRdWVyeUNvbXBpbGVyIH0gZnJvbSBcImt5c2VseVwiO1xuXG5pbXBvcnQgeyB0eXBlIEJ1aWxkZXJSZXF1aXJlbWVudHMsIGdldEJ1aWxkZXIgfSBmcm9tIFwiLi4vcXVlcnlcIjtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbmV4cG9ydCBmdW5jdGlvbiBnZXRQb3N0Z3JlU1FMQnVpbGRlcjxEYXRhYmFzZSA9IGFueT4oXG4gIHJlcXVpcmVtZW50cz86IE9taXQ8QnVpbGRlclJlcXVpcmVtZW50cywgXCJBZGFwdGVyXCIgfCBcIlF1ZXJ5Q29tcGlsZXJcIj4sXG4pOiBLeXNlbHk8RGF0YWJhc2U+IHtcbiAgcmV0dXJuIGdldEJ1aWxkZXIoeyAuLi5yZXF1aXJlbWVudHMsIEFkYXB0ZXI6IFBvc3RncmVzQWRhcHRlciwgUXVlcnlDb21waWxlcjogUG9zdGdyZXNRdWVyeUNvbXBpbGVyIH0pO1xufVxuIiwgImltcG9ydCB7IHR5cGUgU2VsZWN0UXVlcnlCdWlsZGVyLCBzcWwgfSBmcm9tIFwia3lzZWx5XCI7XG5pbXBvcnQgeyBqc29uQXJyYXlGcm9tIH0gZnJvbSBcImt5c2VseS9oZWxwZXJzL3Bvc3RncmVzXCI7XG5cbmltcG9ydCB7IHR5cGUgQnVpbGRlclJlcXVpcmVtZW50cywgY29tcGlsZSwgdHlwZSBRdWVyeVJlc3VsdCB9IGZyb20gXCIuLi9xdWVyeVwiO1xuaW1wb3J0IHsgZ2V0UG9zdGdyZVNRTEJ1aWxkZXIgfSBmcm9tIFwiLi9idWlsZGVyXCI7XG5cbmNvbnN0IFJFR1VMQVJfVEFCTEVfS0lORCA9IFwiclwiO1xuY29uc3QgVklFV19UQUJMRV9LSU5EID0gXCJ2XCI7XG5jb25zdCBUQUJMRV9LSU5EUyA9IFtSRUdVTEFSX1RBQkxFX0tJTkQsIFZJRVdfVEFCTEVfS0lORF0gYXMgY29uc3Q7XG50eXBlIFRhYmxlS2luZCA9ICh0eXBlb2YgVEFCTEVfS0lORFMpW251bWJlcl07XG5cbmludGVyZmFjZSBEYXRhYmFzZSB7XG4gIC8qKiBjb2x1bW4gZGVmYXVsdHMgKi9cbiAgXCJwZ19jYXRhbG9nLnBnX2F0dHJkZWZcIjoge1xuICAgIC8qKiBkZWZhdWx0IGV4cHJlc3Npb24gYXMgYSBub2RlIHRyZWUsIHVzIHBnX2dldF9leHByKGFkYmluLCBhZHJlbGlkKSAqL1xuICAgIGFkYmluOiBzdHJpbmc7XG4gICAgLyoqIGNvbHVtbiBudW1iZXIgKi9cbiAgICBhZG51bTogbnVtYmVyO1xuICAgIC8qKiB0YWJsZSBpZGVudGlmaWVyICovXG4gICAgYWRyZWxpZDogbnVtYmVyO1xuICB9O1xuICAvKiogY29sdW1ucyAqL1xuICBcInBnX2NhdGFsb2cucGdfYXR0cmlidXRlXCI6IHtcbiAgICAvKipcbiAgICAgKiBnZW5lcmF0aW9uIGZsYWcgZm9yIGNvbXB1dGVkIGNvbHVtbnM6XG4gICAgICogJycgKGVtcHR5KSBmb3IgcmVndWxhciBjb2x1bW5zLFxuICAgICAqICdzJyBmb3IgU1RPUkVEIGdlbmVyYXRlZCBjb2x1bW5zIChQb3N0Z3JlcyBHRU5FUkFURUQgQUxXQVlTIEFTKS5cbiAgICAgKi9cbiAgICBhdHRnZW5lcmF0ZWQ6IFwiXCIgfCBcInNcIjtcbiAgICAvKipcbiAgICAgKiBpZGVudGl0eSBjb2x1bW4gZmxhZzpcbiAgICAgKiAnJyAoZW1wdHkpIGZvciByZWd1bGFyIGNvbHVtbnMsXG4gICAgICogJ2EnIGZvciBBTFdBWVMgKEdFTkVSQVRFRCBBTFdBWVMgQVMgSURFTlRJVFkpLFxuICAgICAqICdkJyBmb3IgQlkgREVGQVVMVCAoR0VORVJBVEVEIEJZIERFRkFVTFQgQVMgSURFTlRJVFkpLlxuICAgICAqL1xuICAgIGF0dGlkZW50aXR5OiBcIlwiIHwgXCJhXCIgfCBcImRcIjtcbiAgICAvKiogd2FzIHRoZSBjb2x1bW4gZHJvcHBlZC4gZHJvcHBlZCBjb2x1bW5zIG1pZ2h0IG5vdCBiZSAxMDAlIHJlbW92ZWQgaW1tZWRpYXRlbHkuICovXG4gICAgYXR0aXNkcm9wcGVkOiBib29sZWFuO1xuICAgIC8qKiBjb2x1bW4gbmFtZSAqL1xuICAgIGF0dG5hbWU6IHN0cmluZztcbiAgICAvKiogTk9UIE5VTEwgY29uc3RyYWludDogdHJ1ZSBpZiB0aGUgY29sdW1uIGhhcyBhIE5PVCBOVUxMIGNvbnN0cmFpbnQgKi9cbiAgICBhdHRub3RudWxsOiBib29sZWFuO1xuICAgIC8qKiBjb2x1bW4gb3JkZXIgbnVtYmVyIGluIGl0cyB0YWJsZSAqL1xuICAgIGF0dG51bTogbnVtYmVyO1xuICAgIC8qKiB0YWJsZS92aWV3IGlkZW50aWZpZXIgKi9cbiAgICBhdHRyZWxpZDogc3RyaW5nO1xuICAgIC8qKiBjb2x1bW4gZGF0YXR5cGUgaWRlbnRpZmllciAqL1xuICAgIGF0dHR5cGlkOiBzdHJpbmc7XG4gIH07XG4gIC8qKiByZXNvdXJjZXMsIGUuZy4gdGFibGVzLCBzZXF1ZW5jZXMsIGV0Yy4gKi9cbiAgXCJwZ19jYXRhbG9nLnBnX2NsYXNzXCI6IHtcbiAgICAvKiogcmVzb3VyY2UgaWQgKi9cbiAgICBvaWQ6IG51bWJlcjtcbiAgICAvKiogcmVzb3VyY2Uga2luZDogcmVndWxhciB0YWJsZSwgdmlldyAqL1xuICAgIHJlbGtpbmQ6IFRhYmxlS2luZDtcbiAgICAvKiogcmVzb3VyY2UgbmFtZSAqL1xuICAgIHJlbG5hbWU6IHN0cmluZztcbiAgICAvKiogc2NoZW1hIGlkICovXG4gICAgcmVsbmFtZXNwYWNlOiBudW1iZXI7XG4gIH07XG4gIC8qKiBjb25zdHJhaW50cyAqL1xuICBcInBnX2NhdGFsb2cucGdfY29uc3RyYWludFwiOiB7XG4gICAgLyoqIGlmIGEgZm9yZWlnbiBrZXksIHRoZSByZWZlcmVuY2VkIGNvbHVtbnMgKi9cbiAgICBjb25ma2V5OiBudW1iZXJbXTtcbiAgICAvKiogaWYgYSBmb3JlaWduIGtleSwgdGhlIHJlZmVyZW5jZWQgdGFibGUgKi9cbiAgICBjb25mcmVsaWQ6IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBhbiBvcmRlcmVkIGFycmF5IG9mIGNvbHVtbnMgaW5jbHVkZWQgaW4gdGhlIGNvbnN0cmFpbnQuXG4gICAgICpcbiAgICAgKiB0aGUgY29sdW1ucyBhcmUgcmVwcmVzZW50ZWQgYnkgdGhlaXIgb3JkaW5hbCBudW1iZXIgKGBhdHRudW1gKSBpbiB0aGVpciByZWxhdGlvbiAodGFibGUpLlxuICAgICAqXG4gICAgICogQGV4YW1wbGUgYCd7MSwzfSdgIC0gYSBjb25zdHJhaW50IHdpdGggMiBjb2x1bW5zLCB0aGUgMXN0ICYgM3JkIGluIHRoZWlyIHRhYmxlLlxuICAgICAqL1xuICAgIGNvbmtleTogbnVtYmVyW107XG4gICAgLyoqIHJlbGF0aW9uICh0YWJsZSkgaWQgd2hpY2ggdGhpcyBjb25zdHJhaW50IHdhcyBjcmVhdGVkIGZvciAqL1xuICAgIGNvbnJlbGlkOiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogY29uc3RyYWludCB0eXBlLlxuICAgICAqXG4gICAgICogYCdwJ2AgLSBwcmltYXJ5IGtleSBjb25zdHJhaW50LlxuICAgICAqIGAnZidgIC0gZm9yZWlnbiBrZXkgY29uc3RyYWludC5cbiAgICAgKi9cbiAgICBjb250eXBlOiBcInBcIiB8IFwiZlwiIHwgKHN0cmluZyAmIHt9KTtcbiAgfTtcbiAgLyoqIGVudW0gdHlwZXMnIHZhbHVlcyAqL1xuICBcInBnX2NhdGFsb2cucGdfZW51bVwiOiB7XG4gICAgLyoqIGVudW0gdmFsdWUgKi9cbiAgICBlbnVtbGFiZWw6IHN0cmluZztcbiAgICAvKiogZW51bSdzIHR5cGUgaWQgKi9cbiAgICBlbnVtdHlwaWQ6IG51bWJlcjtcbiAgfTtcbiAgLyoqIHNjaGVtYXMgKi9cbiAgXCJwZ19jYXRhbG9nLnBnX25hbWVzcGFjZVwiOiB7XG4gICAgLyoqIHNjaGVtYSBuYW1lICovXG4gICAgbnNwbmFtZTogc3RyaW5nO1xuICAgIC8qKiBzY2hlbWEgaWQgKi9cbiAgICBvaWQ6IG51bWJlcjtcbiAgfTtcbiAgLyoqIGRhdGF0eXBlcyAqL1xuICBcInBnX2NhdGFsb2cucGdfdHlwZVwiOiB7XG4gICAgLyoqIHR5cGUgaWQgKi9cbiAgICBvaWQ6IG51bWJlcjtcbiAgICAvKiogdHlwZSBuYW1lICovXG4gICAgdHlwbmFtZTogc3RyaW5nO1xuICAgIC8qKiB0eXBlJ3Mgc2NoZW1hIChha2EgbmFtZXNwYWNlKSBpZCAqL1xuICAgIHR5cG5hbWVzcGFjZTogbnVtYmVyO1xuICB9O1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBxdWVyeSB0aGF0IHJldHVybnMgbWV0YWRhdGEgZm9yIGFsbCB1c2VyLWRlZmluZWQgdGFibGVzIGFuZCB2aWV3cyBpbiB0aGUgZGF0YWJhc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRUYWJsZXNRdWVyeShyZXF1aXJlbWVudHM/OiBPbWl0PEJ1aWxkZXJSZXF1aXJlbWVudHMsIFwiQWRhcHRlclwiIHwgXCJRdWVyeUNvbXBpbGVyXCI+KSB7XG4gIHJldHVybiBjb21waWxlKFxuICAgIGdldFBvc3RncmVTUUxCdWlsZGVyPERhdGFiYXNlPihyZXF1aXJlbWVudHMpXG4gICAgICAuc2VsZWN0RnJvbShcInBnX2NhdGFsb2cucGdfY2xhc3MgYXMgY2xzXCIpXG4gICAgICAuaW5uZXJKb2luKFwicGdfY2F0YWxvZy5wZ19uYW1lc3BhY2UgYXMgbnNcIiwgXCJjbHMucmVsbmFtZXNwYWNlXCIsIFwibnMub2lkXCIpXG4gICAgICAuJGNhbGwoZXhjbHVkZVN5c3RlbVRhYmxlcylcbiAgICAgIC8vIHJlZ3VsYXIgdGFibGVzIG9yIHZpZXdzXG4gICAgICAud2hlcmUoXCJjbHMucmVsa2luZFwiLCBcImluXCIsIFRBQkxFX0tJTkRTKVxuICAgICAgLnNlbGVjdCgoZWIpID0+IFtcbiAgICAgICAgXCJucy5uc3BuYW1lIGFzIHNjaGVtYVwiLFxuICAgICAgICBcImNscy5yZWxuYW1lIGFzIG5hbWVcIixcbiAgICAgICAganNvbkFycmF5RnJvbShcbiAgICAgICAgICBlYlxuICAgICAgICAgICAgLnNlbGVjdEZyb20oXCJwZ19jYXRhbG9nLnBnX2F0dHJpYnV0ZSBhcyBhdHRcIilcbiAgICAgICAgICAgIC5pbm5lckpvaW4oXCJwZ19jYXRhbG9nLnBnX3R5cGUgYXMgdHlwXCIsIFwidHlwLm9pZFwiLCBcImF0dC5hdHR0eXBpZFwiKVxuICAgICAgICAgICAgLmlubmVySm9pbihcInBnX2NhdGFsb2cucGdfbmFtZXNwYWNlIGFzIHRuc1wiLCBcInRucy5vaWRcIiwgXCJ0eXAudHlwbmFtZXNwYWNlXCIpXG4gICAgICAgICAgICAubGVmdEpvaW4oXCJwZ19jYXRhbG9nLnBnX2NvbnN0cmFpbnQgYXMgcGtfY29uXCIsIChqYikgPT5cbiAgICAgICAgICAgICAgamJcbiAgICAgICAgICAgICAgICAub24oXCJwa19jb24uY29udHlwZVwiLCBcIj1cIiwgXCJwXCIpXG4gICAgICAgICAgICAgICAgLm9uUmVmKFwicGtfY29uLmNvbnJlbGlkXCIsIFwiPVwiLCBcImNscy5vaWRcIilcbiAgICAgICAgICAgICAgICAub24oKGViKSA9PiBlYihcImF0dC5hdHRudW1cIiwgXCI9XCIsIGViLmZuLmFueShcInBrX2Nvbi5jb25rZXlcIikpKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5sZWZ0Sm9pbihcInBnX2NhdGFsb2cucGdfY29uc3RyYWludCBhcyBma19jb25cIiwgKGpiKSA9PlxuICAgICAgICAgICAgICBqYlxuICAgICAgICAgICAgICAgIC5vbihcImZrX2Nvbi5jb250eXBlXCIsIFwiPVwiLCBcImZcIilcbiAgICAgICAgICAgICAgICAub25SZWYoXCJma19jb24uY29ucmVsaWRcIiwgXCI9XCIsIFwiY2xzLm9pZFwiKVxuICAgICAgICAgICAgICAgIC5vbigoZWIpID0+IGViKFwiYXR0LmF0dG51bVwiLCBcIj1cIiwgZWIuZm4uYW55KFwiZmtfY29uLmNvbmtleVwiKSkpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmxlZnRKb2luKFwicGdfY2F0YWxvZy5wZ19jbGFzcyBhcyBma19jbHNcIiwgXCJma19jbHMub2lkXCIsIFwiZmtfY29uLmNvbmZyZWxpZFwiKVxuICAgICAgICAgICAgLmxlZnRKb2luKFwicGdfY2F0YWxvZy5wZ19uYW1lc3BhY2UgYXMgZmtfbnNcIiwgXCJma19ucy5vaWRcIiwgXCJma19jbHMucmVsbmFtZXNwYWNlXCIpXG4gICAgICAgICAgICAubGVmdEpvaW4oXCJwZ19jYXRhbG9nLnBnX2F0dHJpYnV0ZSBhcyBma19hdHRcIiwgKGpiKSA9PlxuICAgICAgICAgICAgICBqYlxuICAgICAgICAgICAgICAgIC5vblJlZihcImZrX2F0dC5hdHRyZWxpZFwiLCBcIj1cIiwgXCJma19jbHMub2lkXCIpXG4gICAgICAgICAgICAgICAgLy8gVXNlIGEgY2FsbGJhY2sgZm9yIHRoZSAub24oKSBjb25kaXRpb24gdG8gZW5zdXJlIGNvcnJlY3QgY29udGV4dCBmb3IgdHlwZXNcbiAgICAgICAgICAgICAgICAub24oKG9uX2ViKSA9PiBvbl9lYihcImZrX2F0dC5hdHRudW1cIiwgXCI9XCIsIG9uX2ViLmZuLmFueShcImZrX2Nvbi5jb25ma2V5XCIpKSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAubGVmdEpvaW4oXCJwZ19jYXRhbG9nLnBnX2F0dHJkZWYgYXMgZGVmXCIsIChqYikgPT5cbiAgICAgICAgICAgICAgamIub25SZWYoXCJkZWYuYWRyZWxpZFwiLCBcIj1cIiwgXCJhdHQuYXR0cmVsaWRcIikub25SZWYoXCJkZWYuYWRudW1cIiwgXCI9XCIsIFwiYXR0LmF0dG51bVwiKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC53aGVyZVJlZihcImF0dC5hdHRyZWxpZFwiLCBcIj1cIiwgXCJjbHMub2lkXCIpXG4gICAgICAgICAgICAvLyBleGNsdWRlIHN5c3RlbSBjb2x1bW5zXG4gICAgICAgICAgICAud2hlcmUoXCJhdHQuYXR0bnVtXCIsIFwiPj1cIiwgMClcbiAgICAgICAgICAgIC53aGVyZShcImF0dC5hdHRpc2Ryb3BwZWRcIiwgXCIhPVwiLCB0cnVlKVxuICAgICAgICAgICAgLnNlbGVjdChbXG4gICAgICAgICAgICAgIFwiYXR0LmF0dG5hbWUgYXMgbmFtZVwiLFxuICAgICAgICAgICAgICBcImZrX2F0dC5hdHRuYW1lIGFzIGZrX2NvbHVtblwiLFxuICAgICAgICAgICAgICBcImZrX2Nscy5yZWxuYW1lIGFzIGZrX3RhYmxlXCIsXG4gICAgICAgICAgICAgIFwiZmtfbnMubnNwbmFtZSBhcyBma19zY2hlbWFcIixcbiAgICAgICAgICAgICAgXCJ0bnMubnNwbmFtZSBhcyBkYXRhdHlwZV9zY2hlbWFcIixcbiAgICAgICAgICAgICAgXCJ0eXAudHlwbmFtZSBhcyBkYXRhdHlwZVwiLFxuICAgICAgICAgICAgXSlcbiAgICAgICAgICAgIC5zZWxlY3QoKGViKSA9PiBbXG4gICAgICAgICAgICAgIGViKFwiYXR0LmF0dGlkZW50aXR5XCIsIFwiIT1cIiwgXCJcIilcbiAgICAgICAgICAgICAgICAub3IoXG4gICAgICAgICAgICAgICAgICBlYihcImRlZi5hZGJpblwiLCBcImlzIG5vdFwiLCBudWxsKS5hbmQoXG4gICAgICAgICAgICAgICAgICAgIGViLmZuKFwicGdfZ2V0X2V4cHJcIiwgW1wiZGVmLmFkYmluXCIsIFwiZGVmLmFkcmVsaWRcIl0pLFxuICAgICAgICAgICAgICAgICAgICBcImxpa2VcIixcbiAgICAgICAgICAgICAgICAgICAgXCJuZXh0dmFsKCVcIixcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC4kY2FzdFRvPGJvb2xlYW4+KClcbiAgICAgICAgICAgICAgICAuYXMoXCJhdXRvaW5jXCIpLFxuICAgICAgICAgICAgICBlYihcImF0dC5hdHRnZW5lcmF0ZWRcIiwgXCIhPVwiLCBcIlwiKS4kY2FzdFRvPGJvb2xlYW4+KCkuYXMoXCJjb21wdXRlZFwiKSxcbiAgICAgICAgICAgICAgZWIuZm48c3RyaW5nIHwgbnVsbD4oXCJwZ19nZXRfZXhwclwiLCBbXCJkZWYuYWRiaW5cIiwgXCJkZWYuYWRyZWxpZFwiXSkuYXMoXCJkZWZhdWx0XCIpLFxuICAgICAgICAgICAgICBlYihcImF0dC5hdHRub3RudWxsXCIsIFwiIT1cIiwgdHJ1ZSkuJGNhc3RUbzxib29sZWFuPigpLmFzKFwibnVsbGFibGVcIiksXG4gICAgICAgICAgICAgIGViLmZuXG4gICAgICAgICAgICAgICAgLmNvYWxlc2NlKFxuICAgICAgICAgICAgICAgICAgZWJcbiAgICAgICAgICAgICAgICAgICAgLnNlbGVjdEZyb20oXCJwZ19jYXRhbG9nLnBnX2VudW0gYXMgZW5tXCIpXG4gICAgICAgICAgICAgICAgICAgIC53aGVyZVJlZihcImVubS5lbnVtdHlwaWRcIiwgXCI9XCIsIFwidHlwLm9pZFwiKVxuICAgICAgICAgICAgICAgICAgICAuc2VsZWN0KChlYikgPT4gZWIuZm4uanNvbkFnZyhlYi5yZWYoXCJlbm0uZW51bWxhYmVsXCIpKS5hcyhcIm9cIikpLFxuICAgICAgICAgICAgICAgICAgc3FsPHN0cmluZ1tdPmAnW10nYCxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLmFzKFwib3B0aW9uc1wiKSxcbiAgICAgICAgICAgICAgZWIuZm48bnVtYmVyIHwgbnVsbD4oXCJhcnJheV9wb3NpdGlvblwiLCBbXCJwa19jb24uY29ua2V5XCIsIFwiYXR0LmF0dG51bVwiXSkuYXMoXCJwa1wiKSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICApLmFzKFwiY29sdW1uc1wiKSxcbiAgICAgIF0pLFxuICApO1xufVxuXG4vKipcbiAqIEZvciB0ZXN0aW5nIHB1cnBvc2VzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbW9ja1RhYmxlc1F1ZXJ5KCkge1xuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIHNjaGVtYTogXCJ6b29cIixcbiAgICAgIG5hbWU6IFwiYW5pbWFsc1wiLFxuICAgICAgY29sdW1uczogW1xuICAgICAgICB7XG4gICAgICAgICAgYXV0b2luYzogdHJ1ZSxcbiAgICAgICAgICBjb21wdXRlZDogZmFsc2UsXG4gICAgICAgICAgZGF0YXR5cGU6IFwiaW50NFwiLFxuICAgICAgICAgIGRhdGF0eXBlX3NjaGVtYTogXCJwZ19jYXRhbG9nXCIsXG4gICAgICAgICAgZGVmYXVsdDogXCJuZXh0dmFsKCd6b28uYW5pbWFsc19pZF9zZXEnOjpyZWdjbGFzcylcIixcbiAgICAgICAgICBma19jb2x1bW46IG51bGwsXG4gICAgICAgICAgZmtfc2NoZW1hOiBudWxsLFxuICAgICAgICAgIGZrX3RhYmxlOiBudWxsLFxuICAgICAgICAgIG5hbWU6IFwiaWRcIixcbiAgICAgICAgICBudWxsYWJsZTogZmFsc2UsXG4gICAgICAgICAgb3B0aW9uczogW10sXG4gICAgICAgICAgcGs6IDEsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBhdXRvaW5jOiBmYWxzZSxcbiAgICAgICAgICBjb21wdXRlZDogZmFsc2UsXG4gICAgICAgICAgZGF0YXR5cGU6IFwidGV4dFwiLFxuICAgICAgICAgIGRhdGF0eXBlX3NjaGVtYTogXCJwZ19jYXRhbG9nXCIsXG4gICAgICAgICAgZGVmYXVsdDogbnVsbCxcbiAgICAgICAgICBma19jb2x1bW46IG51bGwsXG4gICAgICAgICAgZmtfc2NoZW1hOiBudWxsLFxuICAgICAgICAgIGZrX3RhYmxlOiBudWxsLFxuICAgICAgICAgIG5hbWU6IFwibmFtZVwiLFxuICAgICAgICAgIG51bGxhYmxlOiB0cnVlLFxuICAgICAgICAgIG9wdGlvbnM6IFtdLFxuICAgICAgICAgIHBrOiBudWxsLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHNjaGVtYTogXCJwdWJsaWNcIixcbiAgICAgIG5hbWU6IFwidXNlcnNcIixcbiAgICAgIGNvbHVtbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGF1dG9pbmM6IHRydWUsXG4gICAgICAgICAgY29tcHV0ZWQ6IGZhbHNlLFxuICAgICAgICAgIGRhdGF0eXBlOiBcImludDRcIixcbiAgICAgICAgICBkYXRhdHlwZV9zY2hlbWE6IFwicGdfY2F0YWxvZ1wiLFxuICAgICAgICAgIGRlZmF1bHQ6IFwibmV4dHZhbCgndXNlcnNfaWRfc2VxJzo6cmVnY2xhc3MpXCIsXG4gICAgICAgICAgZmtfY29sdW1uOiBudWxsLFxuICAgICAgICAgIGZrX3NjaGVtYTogbnVsbCxcbiAgICAgICAgICBma190YWJsZTogbnVsbCxcbiAgICAgICAgICBuYW1lOiBcImlkXCIsXG4gICAgICAgICAgbnVsbGFibGU6IGZhbHNlLFxuICAgICAgICAgIG9wdGlvbnM6IFtdLFxuICAgICAgICAgIHBrOiAxLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgYXV0b2luYzogZmFsc2UsXG4gICAgICAgICAgY29tcHV0ZWQ6IGZhbHNlLFxuICAgICAgICAgIGRhdGF0eXBlOiBcInRpbWVzdGFtcFwiLFxuICAgICAgICAgIGRhdGF0eXBlX3NjaGVtYTogXCJwZ19jYXRhbG9nXCIsXG4gICAgICAgICAgZGVmYXVsdDogXCJDVVJSRU5UX1RJTUVTVEFNUFwiLFxuICAgICAgICAgIGZrX2NvbHVtbjogbnVsbCxcbiAgICAgICAgICBma19zY2hlbWE6IG51bGwsXG4gICAgICAgICAgZmtfdGFibGU6IG51bGwsXG4gICAgICAgICAgbmFtZTogXCJjcmVhdGVkX2F0XCIsXG4gICAgICAgICAgbnVsbGFibGU6IHRydWUsXG4gICAgICAgICAgb3B0aW9uczogW10sXG4gICAgICAgICAgcGs6IG51bGwsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBhdXRvaW5jOiBmYWxzZSxcbiAgICAgICAgICBjb21wdXRlZDogZmFsc2UsXG4gICAgICAgICAgZGF0YXR5cGU6IFwidGltZXN0YW1wXCIsXG4gICAgICAgICAgZGF0YXR5cGVfc2NoZW1hOiBcInBnX2NhdGFsb2dcIixcbiAgICAgICAgICBkZWZhdWx0OiBudWxsLFxuICAgICAgICAgIGZrX2NvbHVtbjogbnVsbCxcbiAgICAgICAgICBma19zY2hlbWE6IG51bGwsXG4gICAgICAgICAgZmtfdGFibGU6IG51bGwsXG4gICAgICAgICAgbmFtZTogXCJkZWxldGVkX2F0XCIsXG4gICAgICAgICAgbnVsbGFibGU6IHRydWUsXG4gICAgICAgICAgb3B0aW9uczogW10sXG4gICAgICAgICAgcGs6IG51bGwsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBhdXRvaW5jOiBmYWxzZSxcbiAgICAgICAgICBjb21wdXRlZDogZmFsc2UsXG4gICAgICAgICAgZGF0YXR5cGU6IFwidmFyY2hhclwiLFxuICAgICAgICAgIGRhdGF0eXBlX3NjaGVtYTogXCJwZ19jYXRhbG9nXCIsXG4gICAgICAgICAgZGVmYXVsdDogbnVsbCxcbiAgICAgICAgICBma19jb2x1bW46IG51bGwsXG4gICAgICAgICAgZmtfc2NoZW1hOiBudWxsLFxuICAgICAgICAgIGZrX3RhYmxlOiBudWxsLFxuICAgICAgICAgIG5hbWU6IFwicm9sZVwiLFxuICAgICAgICAgIG51bGxhYmxlOiB0cnVlLFxuICAgICAgICAgIG9wdGlvbnM6IFtdLFxuICAgICAgICAgIHBrOiBudWxsLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgYXV0b2luYzogZmFsc2UsXG4gICAgICAgICAgY29tcHV0ZWQ6IGZhbHNlLFxuICAgICAgICAgIGRhdGF0eXBlOiBcInZhcmNoYXJcIixcbiAgICAgICAgICBkYXRhdHlwZV9zY2hlbWE6IFwicGdfY2F0YWxvZ1wiLFxuICAgICAgICAgIGRlZmF1bHQ6IG51bGwsXG4gICAgICAgICAgZmtfY29sdW1uOiBudWxsLFxuICAgICAgICAgIGZrX3NjaGVtYTogbnVsbCxcbiAgICAgICAgICBma190YWJsZTogbnVsbCxcbiAgICAgICAgICBuYW1lOiBcIm5hbWVcIixcbiAgICAgICAgICBudWxsYWJsZTogdHJ1ZSxcbiAgICAgICAgICBvcHRpb25zOiBbXSxcbiAgICAgICAgICBwazogbnVsbCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGF1dG9pbmM6IGZhbHNlLFxuICAgICAgICAgIGNvbXB1dGVkOiB0cnVlLFxuICAgICAgICAgIGRhdGF0eXBlOiBcInRleHRcIixcbiAgICAgICAgICBkYXRhdHlwZV9zY2hlbWE6IFwicGdfY2F0YWxvZ1wiLFxuICAgICAgICAgIGRlZmF1bHQ6IG51bGwsXG4gICAgICAgICAgZmtfY29sdW1uOiBudWxsLFxuICAgICAgICAgIGZrX3NjaGVtYTogbnVsbCxcbiAgICAgICAgICBma190YWJsZTogbnVsbCxcbiAgICAgICAgICBuYW1lOiBcIm5hbWVfcm9sZVwiLFxuICAgICAgICAgIG51bGxhYmxlOiBmYWxzZSxcbiAgICAgICAgICBvcHRpb25zOiBbXSxcbiAgICAgICAgICBwazogbnVsbCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICBzY2hlbWE6IFwicHVibGljXCIsXG4gICAgICBuYW1lOiBcImNvbXBvc2l0ZV9wa1wiLFxuICAgICAgY29sdW1uczogW1xuICAgICAgICB7XG4gICAgICAgICAgYXV0b2luYzogZmFsc2UsXG4gICAgICAgICAgY29tcHV0ZWQ6IGZhbHNlLFxuICAgICAgICAgIGRhdGF0eXBlOiBcInV1aWRcIixcbiAgICAgICAgICBkYXRhdHlwZV9zY2hlbWE6IFwicGdfY2F0YWxvZ1wiLFxuICAgICAgICAgIGRlZmF1bHQ6IFwiZ2VuX3JhbmRvbV91dWlkKClcIixcbiAgICAgICAgICBma19jb2x1bW46IG51bGwsXG4gICAgICAgICAgZmtfc2NoZW1hOiBudWxsLFxuICAgICAgICAgIGZrX3RhYmxlOiBudWxsLFxuICAgICAgICAgIG5hbWU6IFwiaWRcIixcbiAgICAgICAgICBudWxsYWJsZTogZmFsc2UsXG4gICAgICAgICAgb3B0aW9uczogW10sXG4gICAgICAgICAgcGs6IDEsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBhdXRvaW5jOiBmYWxzZSxcbiAgICAgICAgICBjb21wdXRlZDogZmFsc2UsXG4gICAgICAgICAgZGF0YXR5cGU6IFwidGV4dFwiLFxuICAgICAgICAgIGRhdGF0eXBlX3NjaGVtYTogXCJwZ19jYXRhbG9nXCIsXG4gICAgICAgICAgZGVmYXVsdDogbnVsbCxcbiAgICAgICAgICBma19jb2x1bW46IG51bGwsXG4gICAgICAgICAgZmtfc2NoZW1hOiBudWxsLFxuICAgICAgICAgIGZrX3RhYmxlOiBudWxsLFxuICAgICAgICAgIG5hbWU6IFwibmFtZVwiLFxuICAgICAgICAgIG51bGxhYmxlOiB0cnVlLFxuICAgICAgICAgIG9wdGlvbnM6IFtdLFxuICAgICAgICAgIHBrOiAyLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgYXV0b2luYzogZmFsc2UsXG4gICAgICAgICAgY29tcHV0ZWQ6IGZhbHNlLFxuICAgICAgICAgIGRhdGF0eXBlOiBcInRpbWVzdGFtcFwiLFxuICAgICAgICAgIGRhdGF0eXBlX3NjaGVtYTogXCJwZ19jYXRhbG9nXCIsXG4gICAgICAgICAgZGVmYXVsdDogXCJub3coKVwiLFxuICAgICAgICAgIGZrX2NvbHVtbjogbnVsbCxcbiAgICAgICAgICBma19zY2hlbWE6IG51bGwsXG4gICAgICAgICAgZmtfdGFibGU6IG51bGwsXG4gICAgICAgICAgbmFtZTogXCJjcmVhdGVkX2F0XCIsXG4gICAgICAgICAgbnVsbGFibGU6IHRydWUsXG4gICAgICAgICAgb3B0aW9uczogW10sXG4gICAgICAgICAgcGs6IG51bGwsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIF0gYXMgY29uc3Qgc2F0aXNmaWVzIFF1ZXJ5UmVzdWx0PHR5cGVvZiBnZXRUYWJsZXNRdWVyeT47XG59XG5cbi8qKlxuICogUmV0dXJucyBhIHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgY3VycmVudCB0aW1lem9uZSBzZXR0aW5nIG9mIHRoZSBQb3N0Z3JlU1FMIGRhdGFiYXNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGltZXpvbmVRdWVyeSgpIHtcbiAgY29uc3QgYnVpbGRlciA9IGdldFBvc3RncmVTUUxCdWlsZGVyKCk7XG5cbiAgcmV0dXJuIGNvbXBpbGUoYnVpbGRlci5zZWxlY3ROb0Zyb20oYnVpbGRlci5mbjxzdHJpbmc+KFwiY3VycmVudF9zZXR0aW5nXCIsIFtzcWwubGl0KFwidGltZXpvbmVcIildKS5hcyhcInRpbWV6b25lXCIpKSk7XG59XG5cbi8qKlxuICogRm9yIHRlc3RpbmcgcHVycG9zZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtb2NrVGltZXpvbmVRdWVyeSgpIHtcbiAgcmV0dXJuIFt7IHRpbWV6b25lOiBcIlVUQ1wiIH1dIGFzIGNvbnN0IHNhdGlzZmllcyBRdWVyeVJlc3VsdDx0eXBlb2YgZ2V0VGltZXpvbmVRdWVyeT47XG59XG5cbi8qKlxuICogV2UgZG9uJ3Qgd2FudCBQb3N0Z3JlU1FMIGludGVybmFscyBpbiBpbnRyb3NwZWN0aW9uIHJlc3VsdHMuIFRvIGJlIHVzZWQgaW4gYCRjYWxsYC5cbiAqL1xuZnVuY3Rpb24gZXhjbHVkZVN5c3RlbVRhYmxlczxcbiAgVCBleHRlbmRzIFNlbGVjdFF1ZXJ5QnVpbGRlcjxcbiAgICBEYXRhYmFzZSAmIHsgbnM6IERhdGFiYXNlW1wicGdfY2F0YWxvZy5wZ19uYW1lc3BhY2VcIl07IGNsczogRGF0YWJhc2VbXCJwZ19jYXRhbG9nLnBnX2NsYXNzXCJdIH0sXG4gICAgXCJuc1wiIHwgXCJjbHNcIixcbiAgICBvYmplY3RcbiAgPixcbj4ocWI6IFQpOiBUIHtcbiAgcmV0dXJuIHFiLndoZXJlKGBucy5uc3BuYW1lYCwgYCF+YCwgYF5wZ19gKS53aGVyZShgbnMubnNwbmFtZWAsIGAhPWAsIGBpbmZvcm1hdGlvbl9zY2hlbWFgKSBhcyBuZXZlcjtcbn1cbiIsICIvLy8gPHJlZmVyZW5jZSB0eXBlcz1cIi4vcG9zdGdyZXMuZC50c1wiIC8+XG5pbXBvcnQgeyBzcWwgfSBmcm9tICcuLi9yYXctYnVpbGRlci9zcWwuanMnO1xuLyoqXG4gKiBBIHBvc3RncmVzIGhlbHBlciBmb3IgYWdncmVnYXRpbmcgYSBzdWJxdWVyeSAob3Igb3RoZXIgZXhwcmVzc2lvbikgaW50byBhIEpTT05CIGFycmF5LlxuICpcbiAqICMjIyBFeGFtcGxlc1xuICpcbiAqIDwhLS0gc2l0ZUV4YW1wbGUoXCJzZWxlY3RcIiwgXCJOZXN0ZWQgYXJyYXlcIiwgMTEwKSAtLT5cbiAqXG4gKiBXaGlsZSBreXNlbHkgaXMgbm90IGFuIE9STSBhbmQgaXQgZG9lc24ndCBoYXZlIHRoZSBjb25jZXB0IG9mIHJlbGF0aW9ucywgd2UgZG8gcHJvdmlkZVxuICogaGVscGVycyBmb3IgZmV0Y2hpbmcgbmVzdGVkIG9iamVjdHMgYW5kIGFycmF5cyBpbiBhIHNpbmdsZSBxdWVyeS4gSW4gdGhpcyBleGFtcGxlIHdlXG4gKiB1c2UgdGhlIGBqc29uQXJyYXlGcm9tYCBoZWxwZXIgdG8gZmV0Y2ggcGVyc29uJ3MgcGV0cyBhbG9uZyB3aXRoIHRoZSBwZXJzb24ncyBpZC5cbiAqXG4gKiBQbGVhc2Uga2VlcCBpbiBtaW5kIHRoYXQgdGhlIGhlbHBlcnMgdW5kZXIgdGhlIGBreXNlbHkvaGVscGVyc2AgZm9sZGVyLCBpbmNsdWRpbmdcbiAqIGBqc29uQXJyYXlGcm9tYCwgYXJlIG5vdCBndWFyYW50ZWVkIHRvIHdvcmsgd2l0aCB0aGlyZCBwYXJ0eSBkaWFsZWN0cy4gSW4gb3JkZXIgZm9yXG4gKiB0aGVtIHRvIHdvcmssIHRoZSBkaWFsZWN0IG11c3QgYXV0b21hdGljYWxseSBwYXJzZSB0aGUgYGpzb25gIGRhdGEgdHlwZSBpbnRvXG4gKiBKYXZhU2NyaXB0IEpTT04gdmFsdWVzIGxpa2Ugb2JqZWN0cyBhbmQgYXJyYXlzLiBTb21lIGRpYWxlY3RzIG1pZ2h0IHNpbXBseSByZXR1cm5cbiAqIHRoZSBkYXRhIGFzIGEgSlNPTiBzdHJpbmcuIEluIHRoZXNlIGNhc2VzIHlvdSBjYW4gdXNlIHRoZSBidWlsdCBpbiBgUGFyc2VKU09OUmVzdWx0c1BsdWdpbmBcbiAqIHRvIHBhcnNlIHRoZSByZXN1bHRzLlxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBqc29uQXJyYXlGcm9tIH0gZnJvbSAna3lzZWx5L2hlbHBlcnMvcG9zdGdyZXMnXG4gKlxuICogY29uc3QgcmVzdWx0ID0gYXdhaXQgZGJcbiAqICAgLnNlbGVjdEZyb20oJ3BlcnNvbicpXG4gKiAgIC5zZWxlY3QoKGViKSA9PiBbXG4gKiAgICAgJ2lkJyxcbiAqICAgICBqc29uQXJyYXlGcm9tKFxuICogICAgICAgZWIuc2VsZWN0RnJvbSgncGV0JylcbiAqICAgICAgICAgLnNlbGVjdChbJ3BldC5pZCBhcyBwZXRfaWQnLCAncGV0Lm5hbWUnXSlcbiAqICAgICAgICAgLndoZXJlUmVmKCdwZXQub3duZXJfaWQnLCAnPScsICdwZXJzb24uaWQnKVxuICogICAgICAgICAub3JkZXJCeSgncGV0Lm5hbWUnKVxuICogICAgICkuYXMoJ3BldHMnKVxuICogICBdKVxuICogICAuZXhlY3V0ZSgpXG4gKiBgYGBcbiAqXG4gKiBUaGUgZ2VuZXJhdGVkIFNRTCAoUG9zdGdyZVNRTCk6XG4gKlxuICogYGBgc3FsXG4gKiBzZWxlY3QgXCJpZFwiLCAoXG4gKiAgIHNlbGVjdCBjb2FsZXNjZShqc29uX2FnZyhhZ2cpLCAnW10nKSBmcm9tIChcbiAqICAgICBzZWxlY3QgXCJwZXRcIi5cImlkXCIgYXMgXCJwZXRfaWRcIiwgXCJwZXRcIi5cIm5hbWVcIlxuICogICAgIGZyb20gXCJwZXRcIlxuICogICAgIHdoZXJlIFwicGV0XCIuXCJvd25lcl9pZFwiID0gXCJwZXJzb25cIi5cImlkXCJcbiAqICAgICBvcmRlciBieSBcInBldFwiLlwibmFtZVwiXG4gKiAgICkgYXMgYWdnXG4gKiApIGFzIFwicGV0c1wiXG4gKiBmcm9tIFwicGVyc29uXCJcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24ganNvbkFycmF5RnJvbShleHByKSB7XG4gICAgcmV0dXJuIHNxbCBgKHNlbGVjdCBjb2FsZXNjZShqc29uX2FnZyhhZ2cpLCAnW10nKSBmcm9tICR7ZXhwcn0gYXMgYWdnKWA7XG59XG4vKipcbiAqIEEgcG9zdGdyZXMgaGVscGVyIGZvciB0dXJuaW5nIGEgc3VicXVlcnkgKG9yIG90aGVyIGV4cHJlc3Npb24pIGludG8gYSBKU09OIG9iamVjdC5cbiAqXG4gKiBUaGUgc3VicXVlcnkgbXVzdCBvbmx5IHJldHVybiBvbmUgcm93LlxuICpcbiAqICMjIyBFeGFtcGxlc1xuICpcbiAqIDwhLS0gc2l0ZUV4YW1wbGUoXCJzZWxlY3RcIiwgXCJOZXN0ZWQgb2JqZWN0XCIsIDEyMCkgLS0+XG4gKlxuICogV2hpbGUga3lzZWx5IGlzIG5vdCBhbiBPUk0gYW5kIGl0IGRvZXNuJ3QgaGF2ZSB0aGUgY29uY2VwdCBvZiByZWxhdGlvbnMsIHdlIGRvIHByb3ZpZGVcbiAqIGhlbHBlcnMgZm9yIGZldGNoaW5nIG5lc3RlZCBvYmplY3RzIGFuZCBhcnJheXMgaW4gYSBzaW5nbGUgcXVlcnkuIEluIHRoaXMgZXhhbXBsZSB3ZVxuICogdXNlIHRoZSBganNvbk9iamVjdEZyb21gIGhlbHBlciB0byBmZXRjaCBwZXJzb24ncyBmYXZvcml0ZSBwZXQgYWxvbmcgd2l0aCB0aGUgcGVyc29uJ3MgaWQuXG4gKlxuICogUGxlYXNlIGtlZXAgaW4gbWluZCB0aGF0IHRoZSBoZWxwZXJzIHVuZGVyIHRoZSBga3lzZWx5L2hlbHBlcnNgIGZvbGRlciwgaW5jbHVkaW5nXG4gKiBganNvbk9iamVjdEZyb21gLCBhcmUgbm90IGd1YXJhbnRlZWQgdG8gd29yayB3aXRoIHRoaXJkLXBhcnR5IGRpYWxlY3RzLiBJbiBvcmRlciBmb3JcbiAqIHRoZW0gdG8gd29yaywgdGhlIGRpYWxlY3QgbXVzdCBhdXRvbWF0aWNhbGx5IHBhcnNlIHRoZSBganNvbmAgZGF0YSB0eXBlIGludG9cbiAqIEphdmFTY3JpcHQgSlNPTiB2YWx1ZXMgbGlrZSBvYmplY3RzIGFuZCBhcnJheXMuIFNvbWUgZGlhbGVjdHMgbWlnaHQgc2ltcGx5IHJldHVyblxuICogdGhlIGRhdGEgYXMgYSBKU09OIHN0cmluZy4gSW4gdGhlc2UgY2FzZXMgeW91IGNhbiB1c2UgdGhlIGJ1aWx0IGluIGBQYXJzZUpTT05SZXN1bHRzUGx1Z2luYFxuICogdG8gcGFyc2UgdGhlIHJlc3VsdHMuXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGpzb25PYmplY3RGcm9tIH0gZnJvbSAna3lzZWx5L2hlbHBlcnMvcG9zdGdyZXMnXG4gKlxuICogY29uc3QgcmVzdWx0ID0gYXdhaXQgZGJcbiAqICAgLnNlbGVjdEZyb20oJ3BlcnNvbicpXG4gKiAgIC5zZWxlY3QoKGViKSA9PiBbXG4gKiAgICAgJ2lkJyxcbiAqICAgICBqc29uT2JqZWN0RnJvbShcbiAqICAgICAgIGViLnNlbGVjdEZyb20oJ3BldCcpXG4gKiAgICAgICAgIC5zZWxlY3QoWydwZXQuaWQgYXMgcGV0X2lkJywgJ3BldC5uYW1lJ10pXG4gKiAgICAgICAgIC53aGVyZVJlZigncGV0Lm93bmVyX2lkJywgJz0nLCAncGVyc29uLmlkJylcbiAqICAgICAgICAgLndoZXJlKCdwZXQuaXNfZmF2b3JpdGUnLCAnPScsIHRydWUpXG4gKiAgICAgKS5hcygnZmF2b3JpdGVfcGV0JylcbiAqICAgXSlcbiAqICAgLmV4ZWN1dGUoKVxuICogYGBgXG4gKlxuICogVGhlIGdlbmVyYXRlZCBTUUwgKFBvc3RncmVTUUwpOlxuICpcbiAqIGBgYHNxbFxuICogc2VsZWN0IFwiaWRcIiwgKFxuICogICBzZWxlY3QgdG9fanNvbihvYmopIGZyb20gKFxuICogICAgIHNlbGVjdCBcInBldFwiLlwiaWRcIiBhcyBcInBldF9pZFwiLCBcInBldFwiLlwibmFtZVwiXG4gKiAgICAgZnJvbSBcInBldFwiXG4gKiAgICAgd2hlcmUgXCJwZXRcIi5cIm93bmVyX2lkXCIgPSBcInBlcnNvblwiLlwiaWRcIlxuICogICAgIGFuZCBcInBldFwiLlwiaXNfZmF2b3JpdGVcIiA9ICQxXG4gKiAgICkgYXMgb2JqXG4gKiApIGFzIFwiZmF2b3JpdGVfcGV0XCJcbiAqIGZyb20gXCJwZXJzb25cIlxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBqc29uT2JqZWN0RnJvbShleHByKSB7XG4gICAgcmV0dXJuIHNxbCBgKHNlbGVjdCB0b19qc29uKG9iaikgZnJvbSAke2V4cHJ9IGFzIG9iailgO1xufVxuLyoqXG4gKiBUaGUgUG9zdGdyZVNRTCBganNvbl9idWlsZF9vYmplY3RgIGZ1bmN0aW9uLlxuICpcbiAqIE5PVEU6IFRoaXMgaGVscGVyIGlzIG9ubHkgZ3VhcmFudGVlZCB0byBmdWxseSB3b3JrIHdpdGggdGhlIGJ1aWx0LWluIGBQb3N0Z3Jlc0RpYWxlY3RgLlxuICogV2hpbGUgdGhlIHByb2R1Y2VkIFNRTCBpcyBjb21wYXRpYmxlIHdpdGggYWxsIFBvc3RncmVTUUwgZGF0YWJhc2VzLCBzb21lIHRoaXJkLXBhcnR5IGRpYWxlY3RzXG4gKiBtYXkgbm90IHBhcnNlIHRoZSBuZXN0ZWQgSlNPTiBpbnRvIG9iamVjdHMuIEluIHRoZXNlIGNhc2VzIHlvdSBjYW4gdXNlIHRoZSBidWlsdCBpblxuICogYFBhcnNlSlNPTlJlc3VsdHNQbHVnaW5gIHRvIHBhcnNlIHRoZSByZXN1bHRzLlxuICpcbiAqICMjIyBFeGFtcGxlc1xuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBzcWwgfSBmcm9tICdreXNlbHknXG4gKiBpbXBvcnQgeyBqc29uQnVpbGRPYmplY3QgfSBmcm9tICdreXNlbHkvaGVscGVycy9wb3N0Z3JlcydcbiAqXG4gKiBjb25zdCByZXN1bHQgPSBhd2FpdCBkYlxuICogICAuc2VsZWN0RnJvbSgncGVyc29uJylcbiAqICAgLnNlbGVjdCgoZWIpID0+IFtcbiAqICAgICAnaWQnLFxuICogICAgIGpzb25CdWlsZE9iamVjdCh7XG4gKiAgICAgICBmaXJzdDogZWIucmVmKCdmaXJzdF9uYW1lJyksXG4gKiAgICAgICBsYXN0OiBlYi5yZWYoJ2xhc3RfbmFtZScpLFxuICogICAgICAgZnVsbDogc3FsPHN0cmluZz5gZmlyc3RfbmFtZSB8fFx1MDBBMCcgJyB8fCBsYXN0X25hbWVgXG4gKiAgICAgfSkuYXMoJ25hbWUnKVxuICogICBdKVxuICogICAuZXhlY3V0ZSgpXG4gKlxuICogcmVzdWx0WzBdPy5pZFxuICogcmVzdWx0WzBdPy5uYW1lLmZpcnN0XG4gKiByZXN1bHRbMF0/Lm5hbWUubGFzdFxuICogcmVzdWx0WzBdPy5uYW1lLmZ1bGxcbiAqIGBgYFxuICpcbiAqIFRoZSBnZW5lcmF0ZWQgU1FMIChQb3N0Z3JlU1FMKTpcbiAqXG4gKiBgYGBzcWxcbiAqIHNlbGVjdCBcImlkXCIsIGpzb25fYnVpbGRfb2JqZWN0KFxuICogICAnZmlyc3QnLCBmaXJzdF9uYW1lLFxuICogICAnbGFzdCcsIGxhc3RfbmFtZSxcbiAqICAgJ2Z1bGwnLCBmaXJzdF9uYW1lIHx8ICcgJyB8fCBsYXN0X25hbWVcbiAqICkgYXMgXCJuYW1lXCJcbiAqIGZyb20gXCJwZXJzb25cIlxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBqc29uQnVpbGRPYmplY3Qob2JqKSB7XG4gICAgcmV0dXJuIHNxbCBganNvbl9idWlsZF9vYmplY3QoJHtzcWwuam9pbihPYmplY3Qua2V5cyhvYmopLmZsYXRNYXAoKGspID0+IFtzcWwubGl0KGspLCBvYmpba11dKSl9KWA7XG59XG4vKipcbiAqIFRoZSBQb3N0Z3JlU1FMIGBtZXJnZV9hY3Rpb25gIGZ1bmN0aW9uLlxuICpcbiAqIFRoaXMgZnVuY3Rpb24gY2FuIGJlIHVzZWQgaW4gYSBgcmV0dXJuaW5nYCBjbGF1c2UgdG8gZ2V0IHRoZSBhY3Rpb24gdGhhdCB3YXNcbiAqIHBlcmZvcm1lZCBpbiBhIGBtZXJnZUludG9gIHF1ZXJ5LiBUaGUgZnVuY3Rpb24gcmV0dXJucyBvbmUgb2YgdGhlIGZvbGxvd2luZ1xuICogc3RyaW5nczogYCdJTlNFUlQnYCwgYCdVUERBVEUnYCwgb3IgYCdERUxFVEUnYC5cbiAqXG4gKiAjIyMgRXhhbXBsZXNcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgbWVyZ2VBY3Rpb24gfSBmcm9tICdreXNlbHkvaGVscGVycy9wb3N0Z3JlcydcbiAqXG4gKiBjb25zdCByZXN1bHQgPSBhd2FpdCBkYlxuICogICAubWVyZ2VJbnRvKCdwZXJzb24gYXMgcCcpXG4gKiAgIC51c2luZygncGVyc29uX2JhY2t1cCBhcyBwYicsICdwLmlkJywgJ3BiLmlkJylcbiAqICAgLndoZW5NYXRjaGVkKClcbiAqICAgLnRoZW5VcGRhdGVTZXQoKHsgcmVmIH0pID0+ICh7XG4gKiAgICAgZmlyc3RfbmFtZTogcmVmKCdwYi5maXJzdF9uYW1lJyksXG4gKiAgICAgdXBkYXRlZF9hdDogcmVmKCdwYi51cGRhdGVkX2F0JykuJGNhc3RUbzxzdHJpbmcgfCBudWxsPigpLFxuICogICB9KSlcbiAqICAgLndoZW5Ob3RNYXRjaGVkKClcbiAqICAgLnRoZW5JbnNlcnRWYWx1ZXMoKHsgcmVmfSkgPT4gKHtcbiAqICAgICBpZDogcmVmKCdwYi5pZCcpLFxuICogICAgIGZpcnN0X25hbWU6IHJlZigncGIuZmlyc3RfbmFtZScpLFxuICogICAgIGNyZWF0ZWRfYXQ6IHJlZigncGIudXBkYXRlZF9hdCcpLFxuICogICAgIHVwZGF0ZWRfYXQ6IHJlZigncGIudXBkYXRlZF9hdCcpLiRjYXN0VG88c3RyaW5nIHwgbnVsbD4oKSxcbiAqICAgfSkpXG4gKiAgIC5yZXR1cm5pbmcoW21lcmdlQWN0aW9uKCkuYXMoJ2FjdGlvbicpLCAncC5pZCcsICdwLnVwZGF0ZWRfYXQnXSlcbiAqICAgLmV4ZWN1dGUoKVxuICpcbiAqIHJlc3VsdFswXS5hY3Rpb25cbiAqIGBgYFxuICpcbiAqIFRoZSBnZW5lcmF0ZWQgU1FMIChQb3N0Z3JlU1FMKTpcbiAqXG4gKiBgYGBzcWxcbiAqIG1lcmdlIGludG8gXCJwZXJzb25cIiBhcyBcInBcIlxuICogdXNpbmcgXCJwZXJzb25fYmFja3VwXCIgYXMgXCJwYlwiIG9uIFwicFwiLlwiaWRcIiA9IFwicGJcIi5cImlkXCJcbiAqIHdoZW4gbWF0Y2hlZCB0aGVuIHVwZGF0ZSBzZXRcbiAqICAgXCJmaXJzdF9uYW1lXCIgPSBcInBiXCIuXCJmaXJzdF9uYW1lXCIsXG4gKiAgIFwidXBkYXRlZF9hdFwiID0gXCJwYlwiLlwidXBkYXRlZF9hdFwiOjp0ZXh0XG4gKiB3aGVuIG5vdCBtYXRjaGVkIHRoZW4gaW5zZXJ0IHZhbHVlcyAoXCJpZFwiLCBcImZpcnN0X25hbWVcIiwgXCJjcmVhdGVkX2F0XCIsIFwidXBkYXRlZF9hdFwiKVxuICogdmFsdWVzIChcInBiXCIuXCJpZFwiLCBcInBiXCIuXCJmaXJzdF9uYW1lXCIsIFwicGJcIi5cInVwZGF0ZWRfYXRcIiwgXCJwYlwiLlwidXBkYXRlZF9hdFwiKVxuICogcmV0dXJuaW5nIG1lcmdlX2FjdGlvbigpIGFzIFwiYWN0aW9uXCIsIFwicFwiLlwiaWRcIiwgXCJwXCIuXCJ1cGRhdGVkX2F0XCJcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VBY3Rpb24oKSB7XG4gICAgcmV0dXJuIHNxbCBgbWVyZ2VfYWN0aW9uKClgO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Z0xBQUFBLElDQUFDLElDQUFDLElBRU8sSUFBTUMsRUFBNkUsQ0FDeEYsS0FBTSxDQUNKLE1BQU8sU0FD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eEIsRUFDQSxRQUFTLENBQUUsT0FBUSxDQUFFLEtBQU0sU0FBVSxPQUFRLENBQUMsQ0FBRSxDQUFFLEVBQ2xELFNBQUFKLENBQ0YsQ0FDRixDQUNGLENBRUEsSUFBTTRCLEVBQWtCLENBQ3RCLElBQ0EsS0FDQSxJQUNBLEtBQ0EsSUFDQSxLQUNBLEtBQ0EsU0FDQSxPQUNBLFdBQ0EsUUFDQSxXQUNGLEVBS08sU0FBU0MsSUFBaUIsQ0FDL0IsSUFBTWpDLEVBQVNrQyxFQUFnQixFQUN6QixDQUFDLENBQUUsU0FBQTlCLENBQVMsQ0FBQyxFQUFJK0IsRUFBa0IsRUFHekMsT0FBTzlCLEVBQW9CLENBQUUsT0FBQUwsRUFBUSxTQUFBSSxFQUFVLE1BRmpDLENBQUUsV0FBWSxDQUFDLEVBQUcsSUFBSyxVQUFXLENBRUssQ0FBQyxDQWN4RCIsCiAgIm5hbWVzIjogWyJpbml0X2RlZmluZV9BQ0NFTEVSQVRFX1NDSEVNQV9CWV9QUk9WSURFUiIsICJpbml0X2RlZmluZV9BQ0NFTEVSQVRFX1NDSEVNQV9CWV9QUk9WSURFUiIsICJpbml0X2RlZmluZV9BQ0NFTEVSQVRFX1NDSEVNQV9CWV9QUk9WSURFUiIsICJQT1NUR1JFU1FMX0RBVEFfVFlQRVNfVE9fTUVUQURBVEEiLCAiaW5pdF9kZWZpbmVfQUNDRUxFUkFURV9TQ0hFTUFfQllfUFJPVklERVIiLCAiaW5pdF9kZWZpbmVfQUNDRUxFUkFURV9TQ0hFTUFfQllfUFJPVklERVIiLCAiZ2V0UG9zdGdyZVNRTEJ1aWxkZXIiLCAicmVxdWlyZW1lbnRzIiwgImdldEJ1aWxkZXIiLCAiUG9zdGdyZXNBZGFwdGVyIiwgIlBvc3RncmVzUXVlcnlDb21waWxlciIsICJnZXRJbnNlcnRRdWVyeSIsICJkZXRhaWxzIiwgInJlcXVpcmVtZW50cyIsICJyb3dzIiwgImNvbHVtbnMiLCAidGFibGVOYW1lIiwgInNjaGVtYSIsICJidWlsZGVyIiwgImdldFBvc3RncmVTUUxCdWlsZGVyIiwgImNvbXBpbGUiLCAiYXBwbHlUcmFuc2Zvcm1hdGlvbnMiLCAiZ2V0Q3VycmVudFRpbWVzdGFtcE1pbGxpcyIsICJnZXRTZWxlY3RRdWVyeSIsICJmaWx0ZXIiLCAicGFnZUluZGV4IiwgInBhZ2VTaXplIiwgInNvcnRPcmRlciIsICJmaWx0ZXJFeHByZXNzaW9uIiwgImdldFNlbGVjdEZpbHRlckV4cHJlc3Npb24iLCAiQUdHX05BTUUiLCAiQ09VTlRfUkVGIiwgImNvdW50UXVlcnkiLCAiZWIiLCAic3FsIiwgImpiIiwgInFiIiwgIml0ZW0iLCAibW9ja1NlbGVjdFF1ZXJ5IiwgImdldFVwZGF0ZVF1ZXJ5IiwgImNoYW5nZXMiLCAicm93IiwgImFwcGx5SW5mZXJyZWRSb3dGaWx0ZXJzIiwgImdldERlbGV0ZVF1ZXJ5IiwgImV4cHJlc3Npb25CdWlsZGVyIiwgImluaXRfZGVmaW5lX0FDQ0VMRVJBVEVfU0NIRU1BX0JZX1BST1ZJREVSIiwgImluaXRfZGVmaW5lX0FDQ0VMRVJBVEVfU0NIRU1BX0JZX1BST1ZJREVSIiwgImpzb25BcnJheUZyb20iLCAiZXhwciIsICJzcWwiLCAiUkVHVUxBUl9UQUJMRV9LSU5EIiwgIlZJRVdfVEFCTEVfS0lORCIsICJUQUJMRV9LSU5EUyIsICJnZXRUYWJsZXNRdWVyeSIsICJyZXF1aXJlbWVudHMiLCAiY29tcGlsZSIsICJnZXRQb3N0Z3JlU1FMQnVpbGRlciIsICJleGNsdWRlU3lzdGVtVGFibGVzIiwgImViIiwgImpzb25BcnJheUZyb20iLCAiamIiLCAib25fZWIiLCAic3FsIiwgIm1vY2tUYWJsZXNRdWVyeSIsICJnZXRUaW1lem9uZVF1ZXJ5IiwgImJ1aWxkZXIiLCAibW9ja1RpbWV6b25lUXVlcnkiLCAicWIiLCAiY3JlYXRlUG9zdGdyZXNBZGFwdGVyIiwgInJlcXVpcmVtZW50cyIsICJleGVjdXRvciIsICJvdGhlclJlcXVpcmVtZW50cyIsICJvcHRpb25zIiwgInRhYmxlc1F1ZXJ5IiwgImdldFRhYmxlc1F1ZXJ5IiwgInRpbWV6b25lUXVlcnkiLCAiZ2V0VGltZXpvbmVRdWVyeSIsICJ0YWJsZXNFcnJvciIsICJ0YWJsZXMiLCAidGltZXpvbmVFcnJvciIsICJ0aW1lem9uZXMiLCAiY3JlYXRlQWRhcHRlckVycm9yIiwgInRpbWV6b25lIiwgImNyZWF0ZUludHJvc3BlY3Rpb24iLCAiZXJyb3IiLCAiZGV0YWlscyIsICJxdWVyeSIsICJnZXRTZWxlY3RRdWVyeSIsICJyZXN1bHRzIiwgImdldEluc2VydFF1ZXJ5IiwgInJvd3MiLCAiZ2V0VXBkYXRlUXVlcnkiLCAicm93IiwgImdldERlbGV0ZVF1ZXJ5IiwgImFyZ3MiLCAicmVzdWx0IiwgInRhYmxlIiwgInNjaGVtYXMiLCAiY29sdW1ucyIsICJ0YWJsZU5hbWUiLCAic2NoZW1hIiwgImNvbHVtbnNSZWNvcmQiLCAiY29sdW1uIiwgImRhdGF0eXBlIiwgImRhdGF0eXBlX3NjaGVtYSIsICJjb2x1bW5OYW1lIiwgIm51bGxhYmxlIiwgImlzQXJyYXkiLCAic3RyaXBwZWREYXRhVHlwZSIsICJQT1NUR1JFU1FMX0RBVEFfVFlQRVNfVE9fTUVUQURBVEEiLCAiZmlsdGVyT3BlcmF0b3JzIiwgIm1vY2tJbnRyb3NwZWN0IiwgIm1vY2tUYWJsZXNRdWVyeSIsICJtb2NrVGltZXpvbmVRdWVyeSJdCn0K
|
|
@@ -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{e as r}from"./chunk-GDQBQ7MK.js";r();function i(t){let{error:n,query:a}=t,e=n;return e.query=a,[e]}export{i as a};
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vZGF0YS9hZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgdHlwZSB7IEV4ZWN1dG9yIH0gZnJvbSBcIi4vZXhlY3V0b3JcIjtcbmltcG9ydCB0eXBlIHsgUXVlcnkgfSBmcm9tIFwiLi9xdWVyeVwiO1xuaW1wb3J0IHR5cGUgeyBCaWdJbnRTdHJpbmcsIEVpdGhlciwgTnVtZXJpY1N0cmluZyB9IGZyb20gXCIuL3R5cGUtdXRpbHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBBZGFwdGVyUmVxdWlyZW1lbnRzIHtcbiAgZXhlY3V0b3I6IEV4ZWN1dG9yO1xuICBub1BhcmFtZXRlcnM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkYXB0ZXIge1xuICAvKipcbiAgICogVGhlIHNjaGVtYSBzdHVkaW8gd2lsbCBjaG9vc2UgYnkgZGVmYXVsdC5cbiAgICpcbiAgICogZS5nLiBgcHVibGljYCBmb3IgUG9zdGdyZVNRTFxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFNjaGVtYT86IHN0cmluZztcblxuICAvKipcbiAgICogSW50cm9zcGVjdHMgdGhlIGRhdGFiYXNlIGFuZCByZXR1cm5zIHN0cnVjdHVyZWQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNjaGVtYXMsIHRhYmxlcywgZXRjLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIE9wdGlvbnMgZm9yIHRoZSBpbnRyb3NwZWN0aW9uIHJlcXVlc3QuXG4gICAqL1xuICBpbnRyb3NwZWN0KG9wdGlvbnM6IEFkYXB0ZXJJbnRyb3NwZWN0T3B0aW9ucyk6IFByb21pc2U8RWl0aGVyPEFkYXB0ZXJFcnJvciwgQWRhcHRlckludHJvc3BlY3RSZXN1bHQ+PjtcblxuICAvKipcbiAgICogRXhlY3V0ZXMgYSBzdHJ1Y3R1cmVkIHF1ZXJ5IGFnYWluc3QgdGhlIGRhdGFiYXNlLlxuICAgKi9cbiAgcXVlcnkoZGV0YWlsczogQWRhcHRlclF1ZXJ5RGV0YWlscywgb3B0aW9uczogQWRhcHRlclF1ZXJ5T3B0aW9ucyk6IFByb21pc2U8RWl0aGVyPEFkYXB0ZXJFcnJvciwgQWRhcHRlclF1ZXJ5UmVzdWx0Pj47XG5cbiAgLyoqXG4gICAqIEluc2VydHMgYSBzaW5nbGUgcm93IGludG8gdGhlIGRhdGFiYXNlLlxuICAgKi9cbiAgaW5zZXJ0KFxuICAgIGRldGFpbHM6IEFkYXB0ZXJJbnNlcnREZXRhaWxzLFxuICAgIG9wdGlvbnM6IEFkYXB0ZXJJbnNlcnRPcHRpb25zLFxuICApOiBQcm9taXNlPEVpdGhlcjxBZGFwdGVyRXJyb3IsIEFkYXB0ZXJJbnNlcnRSZXN1bHQ+PjtcblxuICAvKipcbiAgICogVXBkYXRlcyBhIGdpdmVuIHJvdyBpbiB0aGUgZGF0YWJhc2Ugd2l0aCBnaXZlbiBjaGFuZ2VzLlxuICAgKi9cbiAgdXBkYXRlKFxuICAgIGRldGFpbHM6IEFkYXB0ZXJVcGRhdGVEZXRhaWxzLFxuICAgIG9wdGlvbnM6IEFkYXB0ZXJVcGRhdGVPcHRpb25zLFxuICApOiBQcm9taXNlPEVpdGhlcjxBZGFwdGVyRXJyb3IsIEFkYXB0ZXJVcGRhdGVSZXN1bHQ+PjtcblxuICAvKipcbiAgICogRGVsZXRlcyBnaXZlbiByb3dzIGZyb20gdGhlIGRhdGFiYXNlLlxuICAgKi9cbiAgZGVsZXRlKFxuICAgIGRldGFpbHM6IEFkYXB0ZXJEZWxldGVEZXRhaWxzLFxuICAgIG9wdGlvbnM6IEFkYXB0ZXJEZWxldGVPcHRpb25zLFxuICApOiBQcm9taXNlPEVpdGhlcjxBZGFwdGVyRXJyb3IsIEFkYXB0ZXJEZWxldGVSZXN1bHQ+Pjtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZVxuZXhwb3J0IGludGVyZmFjZSBBZGFwdGVyQmFzZU9wdGlvbnMge31cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZVxuZXhwb3J0IGludGVyZmFjZSBBZGFwdGVySW50cm9zcGVjdE9wdGlvbnMgZXh0ZW5kcyBBZGFwdGVyQmFzZU9wdGlvbnMge31cblxuZXhwb3J0IGludGVyZmFjZSBBZGFwdGVyUXVlcnlPcHRpb25zIGV4dGVuZHMgQWRhcHRlckJhc2VPcHRpb25zIHtcbiAgYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LW9iamVjdC10eXBlXG5leHBvcnQgaW50ZXJmYWNlIEFkYXB0ZXJJbnNlcnRPcHRpb25zIGV4dGVuZHMgQWRhcHRlckJhc2VPcHRpb25zIHt9XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktb2JqZWN0LXR5cGVcbmV4cG9ydCBpbnRlcmZhY2UgQWRhcHRlclVwZGF0ZU9wdGlvbnMgZXh0ZW5kcyBBZGFwdGVyQmFzZU9wdGlvbnMge31cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZVxuZXhwb3J0IGludGVyZmFjZSBBZGFwdGVyRGVsZXRlT3B0aW9ucyBleHRlbmRzIEFkYXB0ZXJCYXNlT3B0aW9ucyB7fVxuXG50eXBlIFNjaGVtYU5hbWUgPSBzdHJpbmc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRhcHRlckludHJvc3BlY3RSZXN1bHQge1xuICBzY2hlbWFzOiBSZWNvcmQ8U2NoZW1hTmFtZSwgU2NoZW1hPjtcbiAgdGltZXpvbmU6IHN0cmluZztcbiAgZmlsdGVyT3BlcmF0b3JzOiBGaWx0ZXJPcGVyYXRvcltdO1xuICBxdWVyeTogUXVlcnk7XG59XG5cbnR5cGUgVGFibGVOYW1lID0gc3RyaW5nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVtYSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdGFibGVzOiBSZWNvcmQ8VGFibGVOYW1lLCBUYWJsZT47XG59XG5cbnR5cGUgQ29sdW1uTmFtZSA9IHN0cmluZztcblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZSB7XG4gIGNvbHVtbnM6IFJlY29yZDxDb2x1bW5OYW1lLCBDb2x1bW4+O1xuICBuYW1lOiBUYWJsZU5hbWU7XG4gIHNjaGVtYTogU2NoZW1hTmFtZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW4ge1xuICBkYXRhdHlwZTogRGF0YVR5cGU7XG4gIGRlZmF1bHRWYWx1ZTpcbiAgICB8IFwiQ1VSUkVOVF9EQVRFXCJcbiAgICB8IFwiQ1VSUkVOVF9USU1FXCJcbiAgICB8IFwiQ1VSUkVOVF9USU1FU1RBTVBcIlxuICAgIHwgXCJnZW5fcmFuZG9tX3V1aWQoKVwiIC8vIHBvc3RncmVzIHV1aWRcbiAgICB8IFwiKEpTT05fQVJSQVkoKSlcIiAvLyBteXNxbCBlbXB0eSBqc29uIGFycmF5XG4gICAgfCBgbmV4dHZhbCgke3N0cmluZ30pYCAvLyBwb3N0Z3JlcyBzZXJpYWwvYXV0b2luY1xuICAgIHwgYG5vdygpYFxuICAgIHwgXCIoVVVJRF9UT19CSU4oVVVJRCgpKSlcIiAvLyBteXNxbCB1dWlkXG4gICAgfCAoc3RyaW5nICYge30pXG4gICAgfCBudWxsO1xuICBma0NvbHVtbjogQ29sdW1uTmFtZSB8IG51bGw7XG4gIGZrU2NoZW1hOiBTY2hlbWFOYW1lIHwgbnVsbDtcbiAgZmtUYWJsZTogVGFibGVOYW1lIHwgbnVsbDtcbiAgaXNBdXRvaW5jcmVtZW50OiBib29sZWFuO1xuICBpc0NvbXB1dGVkOiBib29sZWFuO1xuICBuYW1lOiBDb2x1bW5OYW1lO1xuICBudWxsYWJsZTogYm9vbGVhbjtcbiAgcGtQb3NpdGlvbjogbnVtYmVyIHwgbnVsbDtcbiAgc2NoZW1hOiBTY2hlbWFOYW1lO1xuICB0YWJsZTogVGFibGVOYW1lO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFUeXBlIHtcbiAgLyoqXG4gICAqIFRoZSBkYXRhYmFzZS1zcGVjaWZpYyBhZmZpbml0eS90eXBlLlxuICAgKlxuICAgKiBlLmcuIGluIFNRTGl0ZSwgZGF0YXR5cGVzIGNhbiBiZSBhbnl0aGluZy4gVGhleSBhcmUgcmVkdWNlZCB0byBhZmZpbml0eSB2aWEgc3RyaW5nIG1hdGNoaW5nIHJ1bGVzLlxuICAgKlxuICAgKiB7QGxpbmsgaHR0cHM6Ly9zcWxpdGUub3JnL2RhdGF0eXBlMy5odG1sI2RldGVybWluYXRpb25fb2ZfY29sdW1uX2FmZmluaXR5fVxuICAgKi9cbiAgYWZmaW5pdHk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgc2ltcGxpZmljYXRpb24vbm9ybWFsaXphdGlvbiBmb3IgVUkgdXNhZ2UuXG4gICAqXG4gICAqIGUuZy4gdmFyY2hhciBhbmQgY2hhciBhcmUgc3RyaW5ncy5cbiAgICovXG4gIGdyb3VwOiBEYXRhVHlwZUdyb3VwO1xuXG4gIC8qKlxuICAgKiBJcyB0aGlzIGEgbmF0aXZlIGFycmF5IHR5cGU/XG4gICAqL1xuICBpc0FycmF5OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJcyBhIG5hdGl2ZSBkYXRhYmFzZSBkYXRhdHlwZSBvciBhIHVzZXItZGVmaW5lZCBkYXRhdHlwZT9cbiAgICpcbiAgICogZS5nLiBQb3N0Z3JlU1FMIGVudW1zIGFyZSB1c2VyLWRlZmluZWQgZGF0YXR5cGVzLCBidXQgYGludDRgIGlzIGEgbmF0aXZlIGRhdGF0eXBlLlxuICAgKi9cbiAgaXNOYXRpdmU6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdpbGwgYmUgZGlzcGxheWVkIGFzLWlzLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbnVtIHZhbHVlcyBmb3IgZW51bSB0eXBlcy5cbiAgICovXG4gIG9wdGlvbnM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgc2NoZW1hIHRoZSBkYXRhdHlwZSBiZWxvbmdzIHRvLlxuICAgKi9cbiAgc2NoZW1hOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIERhdGFUeXBlR3JvdXAgPSBcInN0cmluZ1wiIHwgXCJkYXRldGltZVwiIHwgXCJib29sZWFuXCIgfCBcImVudW1cIiB8IFwidGltZVwiIHwgXCJyYXdcIiB8IFwibnVtZXJpY1wiIHwgXCJqc29uXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRhcHRlclF1ZXJ5RGV0YWlscyB7XG4gIC8qKlxuICAgKiBaZXJvLWJhc2VkIGluZGV4IG9mIHRoZSBwYWdlIHRvIGZldGNoLlxuICAgKi9cbiAgcGFnZUluZGV4OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE1heGltdW0gbnVtYmVyIG9mIHJvd3MgdG8gZmV0Y2ggZnJvbSB0aGUgZGF0YWJhc2UuXG4gICAqL1xuICBwYWdlU2l6ZTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTb3J0IG9yZGVyIGZvciB0aGUgcXVlcnkuXG4gICAqL1xuICBzb3J0T3JkZXI6IFNvcnRPcmRlckl0ZW1bXTtcblxuICAvKipcbiAgICogVGhlIHRhYmxlIHRvIHNlbGVjdCBmcm9tLlxuICAgKi9cbiAgdGFibGU6IFRhYmxlO1xuXG4gIC8qKlxuICAgKiBUaGUgZmlsdGVyIHRvIGJlIGFwcGxpZWQuXG4gICAqL1xuICBmaWx0ZXI/OiBGaWx0ZXJHcm91cDtcbn1cblxuZXhwb3J0IHR5cGUgRmlsdGVyT3BlcmF0b3IgPVxuICB8IFwiPVwiXG4gIHwgXCIhPVwiXG4gIHwgXCI+XCJcbiAgfCBcIj49XCJcbiAgfCBcIjxcIlxuICB8IFwiPD1cIlxuICB8IFwiaXNcIlxuICB8IFwiaXMgbm90XCJcbiAgfCBcImxpa2VcIlxuICB8IFwibm90IGxpa2VcIlxuICB8IFwiaWxpa2VcIlxuICB8IFwibm90IGlsaWtlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uRmlsdGVyIHtcbiAga2luZDogXCJDb2x1bW5GaWx0ZXJcIjtcbiAgY29sdW1uOiBzdHJpbmc7XG4gIG9wZXJhdG9yOiBGaWx0ZXJPcGVyYXRvcjtcbiAgdmFsdWU6IHVua25vd247XG4gIGFmdGVyOiBcImFuZFwiIHwgXCJvclwiO1xuICBpZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckdyb3VwIHtcbiAga2luZDogXCJGaWx0ZXJHcm91cFwiO1xuICBmaWx0ZXJzOiAoQ29sdW1uRmlsdGVyIHwgRmlsdGVyR3JvdXApW107XG4gIGFmdGVyOiBcImFuZFwiIHwgXCJvclwiO1xuICBpZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvcnRPcmRlckl0ZW0ge1xuICAvKipcbiAgICogVGhlIGNvbHVtbiB0byBzb3J0IGJ5LlxuICAgKi9cbiAgY29sdW1uOiBDb2x1bW5OYW1lO1xuXG4gIC8qKlxuICAgKiBUaGUgZGlyZWN0aW9uIHRvIHNvcnQgdGhlIGNvbHVtbiBieS5cbiAgICovXG4gIGRpcmVjdGlvbjogU29ydERpcmVjdGlvbjtcbn1cblxuZXhwb3J0IHR5cGUgU29ydERpcmVjdGlvbiA9IFwiYXNjXCIgfCBcImRlc2NcIjtcblxuZXhwb3J0IGNsYXNzIEFkYXB0ZXJFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgcXVlcnk/OiBRdWVyeTx1bmtub3duPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGFwdGVyUXVlcnlSZXN1bHQge1xuICAvKipcbiAgICogVGhlIHRvdGFsIG51bWJlciBvZiByb3dzIHRoZSBxdWVyeSB3b3VsZCByZXR1cm4gaWYgbm90IGxpbWl0ZWQuXG4gICAqXG4gICAqIElmIHRoZSBkYXRhYmFzZSBkb2VzIG5vdCBzdXBwb3J0IGNvdW50aW5nIHJvd3MsIHRoaXMgc2hvdWxkIGJlIHNldCB0byBgSW5maW5pdHlgLlxuICAgKi9cbiAgZmlsdGVyZWRSb3dDb3VudDogbnVtYmVyIHwgYmlnaW50IHwgTnVtZXJpY1N0cmluZyB8IEJpZ0ludFN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJvd3MgcmV0dXJuZWQgYnkgdGhlIHF1ZXJ5LlxuICAgKi9cbiAgcm93czogUmVjb3JkPENvbHVtbk5hbWUsIHVua25vd24+W107XG5cbiAgLyoqXG4gICAqIFRoZSBleGVjdXRlZCBxdWVyeSBzdHJpbmcuXG4gICAqL1xuICBxdWVyeTogUXVlcnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRhcHRlckluc2VydERldGFpbHMge1xuICAvKipcbiAgICogVGhlIHRhYmxlIHRvIGluc2VydCBpbnRvLlxuICAgKi9cbiAgdGFibGU6IFRhYmxlO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWVzIHRvIGluc2VydCBpbnRvIHRoZSB0YWJsZS5cbiAgICogLSBUaGUga2V5cyBzaG91bGQgbWF0Y2ggdGhlIGNvbHVtbiBuYW1lcyBpbiB0aGUgdGFibGUuXG4gICAqIC0gVGhlIHZhbHVlcyBzaG91bGQgYmUgdGhlIHZhbHVlcyB0byBpbnNlcnQgaW50byB0aGUgdGFibGUuXG4gICAqL1xuICByb3dzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkYXB0ZXJJbnNlcnRSZXN1bHQge1xuICAvKipcbiAgICogVGhlIGZyZXNobHkgaW5zZXJ0ZWQgcm93IGRhdGEuXG4gICAqL1xuICByb3dzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdO1xuXG4gIC8qKlxuICAgKiBUaGUgZXhlY3V0ZWQgcXVlcnkgc3RyaW5nLlxuICAgKi9cbiAgcXVlcnk6IFF1ZXJ5PHVua25vd24+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkYXB0ZXJVcGRhdGVEZXRhaWxzIHtcbiAgLyoqXG4gICAqIENoYW5nZXMgdG8gYXBwbHkgdG8gdGhlIHJvdy5cbiAgICovXG4gIGNoYW5nZXM6IFJlY29yZDxDb2x1bW5OYW1lLCB1bmtub3duPjtcblxuICAvKipcbiAgICogVGhlIHJvdyB0byB1cGRhdGUuXG4gICAqL1xuICByb3c6IFJlY29yZDxDb2x1bW5OYW1lLCB1bmtub3duPjtcblxuICAvKipcbiAgICogVGhlIHRhYmxlIHRvIHVwZGF0ZSBpbi5cbiAgICovXG4gIHRhYmxlOiBUYWJsZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGFwdGVyVXBkYXRlUmVzdWx0IHtcbiAgLyoqXG4gICAqIFRoZSB1cGRhdGVkIHJvdyBkYXRhLlxuICAgKi9cbiAgcm93OiBSZWNvcmQ8Q29sdW1uTmFtZSwgdW5rbm93bj4gJiB7XG4gICAgLyoqXG4gICAgICogV2hlbiB0aGUgY2hhbmdlcyB3ZXJlIGFwcGxpZWQgaW4gZGF0YWJhc2UgdGltZS5cbiAgICAgKi9cbiAgICBfX3BzX3VwZGF0ZWRfYXRfXzogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZTtcbiAgfTtcblxuICAvLyBUT0RPOiB0dXJuIHRoaXMgaW50byBhIGxpc3QuXG4gIC8qKlxuICAgKiBUaGUgZXhlY3V0ZWQgcXVlcnkgc3RyaW5nLlxuICAgKi9cbiAgcXVlcnk6IFF1ZXJ5PHVua25vd24+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkYXB0ZXJEZWxldGVEZXRhaWxzIHtcbiAgLyoqXG4gICAqIFRoZSByb3dzIHRvIGRlbGV0ZS5cbiAgICovXG4gIHJvd3M6IFJlY29yZDxDb2x1bW5OYW1lLCB1bmtub3duPltdO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFibGUgdG8gZGVsZXRlIGZyb20uXG4gICAqL1xuICB0YWJsZTogVGFibGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRhcHRlckRlbGV0ZVJlc3VsdCB7XG4gIHJvd3M6IFJlY29yZDxDb2x1bW5OYW1lLCB1bmtub3duPltdO1xuXG4gIC8qKlxuICAgKiBUaGUgZXhlY3V0ZWQgcXVlcnkgc3RyaW5nLlxuICAgKi9cbiAgcXVlcnk6IFF1ZXJ5PHVua25vd24+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQWRhcHRlckVycm9yKGFyZ3M6IHsgZXJyb3I6IEVycm9yOyBxdWVyeT86IFF1ZXJ5PHVua25vd24+IH0pIHtcbiAgY29uc3QgeyBlcnJvciwgcXVlcnkgfSA9IGFyZ3M7XG5cbiAgY29uc3QgYWRhcHRlckVycm9yID0gZXJyb3IgYXMgQWRhcHRlckVycm9yO1xuXG4gIGFkYXB0ZXJFcnJvci5xdWVyeSA9IHF1ZXJ5O1xuXG4gIHJldHVybiBbYWRhcHRlckVycm9yXSBhcyBbQWRhcHRlckVycm9yXTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7O3dDQUFBQSxJQXlWTyxTQUFTQyxFQUFtQkMsRUFBZ0QsQ0FDakYsR0FBTSxDQUFFLE1BQUFDLEVBQU8sTUFBQUMsQ0FBTSxFQUFJRixFQUVuQkcsRUFBZUYsRUFFckIsT0FBQUUsRUFBYSxNQUFRRCxFQUVkLENBQUNDLENBQVksQ0FDdEIiLAogICJuYW1lcyI6IFsiaW5pdF9kZWZpbmVfQUNDRUxFUkFURV9TQ0hFTUFfQllfUFJPVklERVIiLCAiY3JlYXRlQWRhcHRlckVycm9yIiwgImFyZ3MiLCAiZXJyb3IiLCAicXVlcnkiLCAiYWRhcHRlckVycm9yIl0KfQo=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as Executor, Q as Query, E as ExecuteOptions, a as Either, b as QueryResult } from '../../index-
|
|
1
|
+
import { c as Executor, Q as Query, E as ExecuteOptions, a as Either, b as QueryResult } from '../../index-rgorTaJw.cjs';
|
|
2
2
|
import 'kysely';
|
|
3
3
|
|
|
4
4
|
declare function deserializeRawResult(response: RawResponse, valueDeserializerFn?: (value: unknown, type: QueryIntrospectionBuiltinType, column: string) => unknown): DeserializedResponse;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as Executor, Q as Query, E as ExecuteOptions, a as Either, b as QueryResult } from '../../index-
|
|
1
|
+
import { c as Executor, Q as Query, E as ExecuteOptions, a as Either, b as QueryResult } from '../../index-rgorTaJw.js';
|
|
2
2
|
import 'kysely';
|
|
3
3
|
|
|
4
4
|
declare function deserializeRawResult(response: RawResponse, valueDeserializerFn?: (value: unknown, type: QueryIntrospectionBuiltinType, column: string) => unknown): DeserializedResponse;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { S as SequenceExecutor, Q as Query, E as ExecuteOptions, a as Either, b as QueryResult } from '../../index-
|
|
1
|
+
import { S as SequenceExecutor, Q as Query, E as ExecuteOptions, a as Either, b as QueryResult } from '../../index-rgorTaJw.cjs';
|
|
2
2
|
import 'kysely';
|
|
3
3
|
|
|
4
4
|
interface StudioBFFClientProps {
|
package/dist/data/bff/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { S as SequenceExecutor, Q as Query, E as ExecuteOptions, a as Either, b as QueryResult } from '../../index-
|
|
1
|
+
import { S as SequenceExecutor, Q as Query, E as ExecuteOptions, a as Either, b as QueryResult } from '../../index-rgorTaJw.js';
|
|
2
2
|
import 'kysely';
|
|
3
3
|
|
|
4
4
|
interface StudioBFFClientProps {
|
package/dist/data/index.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { I as AbortError, A as Adapter, k as AdapterBaseOptions, f as AdapterDeleteDetails, p as AdapterDeleteOptions, G as AdapterDeleteResult, i as AdapterError, g as AdapterInsertDetails, n as AdapterInsertOptions, y as AdapterInsertResult, l as AdapterIntrospectOptions, q as AdapterIntrospectResult, e as AdapterQueryDetails, m as AdapterQueryOptions, x as AdapterQueryResult, d as AdapterRequirements, h as AdapterUpdateDetails, o as AdapterUpdateOptions, z as AdapterUpdateResult, K as BigIntString, C as Column, t as ColumnFilter, D as DataType, s as DataTypeGroup, a as Either, E as ExecuteOptions, c as Executor, u as FilterGroup, F as FilterOperator, N as NumericString, Q as Query, b as QueryResult, r as Schema, S as SequenceExecutor, w as SortDirection, v as SortOrderItem, T as Table, j as applyInferredRowFilters, H as createAdapterError, J as getAbortResult } from '../index-
|
|
1
|
+
export { I as AbortError, A as Adapter, k as AdapterBaseOptions, f as AdapterDeleteDetails, p as AdapterDeleteOptions, G as AdapterDeleteResult, i as AdapterError, g as AdapterInsertDetails, n as AdapterInsertOptions, y as AdapterInsertResult, l as AdapterIntrospectOptions, q as AdapterIntrospectResult, e as AdapterQueryDetails, m as AdapterQueryOptions, x as AdapterQueryResult, d as AdapterRequirements, h as AdapterUpdateDetails, o as AdapterUpdateOptions, z as AdapterUpdateResult, K as BigIntString, C as Column, t as ColumnFilter, D as DataType, s as DataTypeGroup, a as Either, E as ExecuteOptions, c as Executor, u as FilterGroup, F as FilterOperator, N as NumericString, Q as Query, b as QueryResult, r as Schema, S as SequenceExecutor, w as SortDirection, v as SortOrderItem, T as Table, j as applyInferredRowFilters, H as createAdapterError, J as getAbortResult } from '../index-rgorTaJw.cjs';
|
|
2
2
|
import 'kysely';
|
package/dist/data/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { I as AbortError, A as Adapter, k as AdapterBaseOptions, f as AdapterDeleteDetails, p as AdapterDeleteOptions, G as AdapterDeleteResult, i as AdapterError, g as AdapterInsertDetails, n as AdapterInsertOptions, y as AdapterInsertResult, l as AdapterIntrospectOptions, q as AdapterIntrospectResult, e as AdapterQueryDetails, m as AdapterQueryOptions, x as AdapterQueryResult, d as AdapterRequirements, h as AdapterUpdateDetails, o as AdapterUpdateOptions, z as AdapterUpdateResult, K as BigIntString, C as Column, t as ColumnFilter, D as DataType, s as DataTypeGroup, a as Either, E as ExecuteOptions, c as Executor, u as FilterGroup, F as FilterOperator, N as NumericString, Q as Query, b as QueryResult, r as Schema, S as SequenceExecutor, w as SortDirection, v as SortOrderItem, T as Table, j as applyInferredRowFilters, H as createAdapterError, J as getAbortResult } from '../index-
|
|
1
|
+
export { I as AbortError, A as Adapter, k as AdapterBaseOptions, f as AdapterDeleteDetails, p as AdapterDeleteOptions, G as AdapterDeleteResult, i as AdapterError, g as AdapterInsertDetails, n as AdapterInsertOptions, y as AdapterInsertResult, l as AdapterIntrospectOptions, q as AdapterIntrospectResult, e as AdapterQueryDetails, m as AdapterQueryOptions, x as AdapterQueryResult, d as AdapterRequirements, h as AdapterUpdateDetails, o as AdapterUpdateOptions, z as AdapterUpdateResult, K as BigIntString, C as Column, t as ColumnFilter, D as DataType, s as DataTypeGroup, a as Either, E as ExecuteOptions, c as Executor, u as FilterGroup, F as FilterOperator, N as NumericString, Q as Query, b as QueryResult, r as Schema, S as SequenceExecutor, w as SortDirection, v as SortOrderItem, T as Table, j as applyInferredRowFilters, H as createAdapterError, J as getAbortResult } from '../index-rgorTaJw.js';
|
|
2
2
|
import 'kysely';
|