@prisma/studio-core-licensed 0.0.0-dev.202506232143 → 0.0.0-dev.202506232149

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.
@@ -6,5 +6,5 @@ function require(mod) {
6
6
  if (mod === 'react-dom') return ___react_dom___;
7
7
  throw new Error(`Unknown module ${mod}`);
8
8
  }
9
- import{a as g}from"../../chunk-EEIFF3YW.js";import{j as y,l as m,m as P}from"../../chunk-HRW7Y3N2.js";import"../../chunk-EEN4LCTK.js";import{e as f}from"../../chunk-P5LRZ6C2.js";f();function E(r,t){let{logging:e=!1}=t??{};return{execute:async(o,w)=>{let{abortSignal:n}=w||{},i,c;try{let s=typeof e=="function"?e(o):e,u;if(s&&console.log("PGLiteExecutor: Executing query:",u=JSON.stringify(o,null,2)),n?.aborted)return[new Error("This operation was aborted")];let x=Date.now();c=await r.reserve();let d,S=new Promise(a=>d=a);if(n){if(n.aborted)return[new Error("This operation was aborted")];let a=await v(c);if(n.aborted)return[new Error("This operation was aborted")];a!=null&&n.addEventListener("abort",i=()=>d(a))}let l=await Promise.race([r.unsafe(o.sql,o.parameters),S]),p=Date.now()-x;return typeof l!="object"?(b(r,l),s&&console.log("PostgresJSExecutor: Query cancelled after",p,"ms:",u),[new g]):(s&&console.log("PostgresJSExecutor: Query executed in",p,"ms:",u),[null,l])}catch(s){return[s]}finally{i&&n?.removeEventListener("abort",i),c?.release()}}}}function A(r,t){return y({executor:E(r,t)})}async function b(r,t){let e=P(t);try{await r.unsafe(e.sql,e.parameters)}catch(o){console.error("Failed to cancel query:",o)}}async function v(r){let t=m();try{let[e]=await r.unsafe(t.sql,t.parameters);return e?.pid}catch(e){console.error("Failed to get connection PID:",e);return}}export{A as createPostgresJSAdapter,E as createPostgresJSExecutor};
10
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vZGF0YS9wb3N0Z3Jlc2pzL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgdHlwZSB7IFJlc2VydmVkU3FsLCBTcWwgfSBmcm9tIFwicG9zdGdyZXNcIjtcblxuaW1wb3J0IHR5cGUgeyBBZGFwdGVyIH0gZnJvbSBcIi4uL2FkYXB0ZXJcIjtcbmltcG9ydCB7IEFib3J0RXJyb3IsIHR5cGUgRXhlY3V0b3IgfSBmcm9tIFwiLi4vZXhlY3V0b3JcIjtcbmltcG9ydCB7IGNyZWF0ZVBvc3RncmVzQWRhcHRlciB9IGZyb20gXCIuLi9wb3N0Z3Jlcy1jb3JlXCI7XG5pbXBvcnQgeyBnZXRDYW5jZWxRdWVyeSwgZ2V0UElEUXVlcnkgfSBmcm9tIFwiLi4vcG9zdGdyZXMtY29yZS91dGlsaXR5XCI7XG5pbXBvcnQgdHlwZSB7IFF1ZXJ5LCBRdWVyeVJlc3VsdCB9IGZyb20gXCIuLi9xdWVyeVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBvc3RncmVzSlNFeGVjdXRvck9wdGlvbnMge1xuICAvKipcbiAgICogV2hldGhlciB0byBsb2cgdGhlIHF1ZXJ5IGFuZCBpdHMgcGFyYW1ldGVycy5cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gYGZhbHNlYC5cbiAgICovXG4gIGxvZ2dpbmc/OiBib29sZWFuIHwgKChxdWVyeTogUXVlcnkpID0+IGJvb2xlYW4pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUG9zdGdyZXNKU0V4ZWN1dG9yKHBvc3RncmVzanM6IFNxbCwgb3B0aW9ucz86IFBvc3RncmVzSlNFeGVjdXRvck9wdGlvbnMpOiBFeGVjdXRvciB7XG4gIGNvbnN0IHsgbG9nZ2luZyA9IGZhbHNlIH0gPSBvcHRpb25zID8/IHt9O1xuXG4gIHJldHVybiB7XG4gICAgZXhlY3V0ZTogYXN5bmMgKHF1ZXJ5LCBvcHRpb25zKSA9PiB7XG4gICAgICBjb25zdCB7IGFib3J0U2lnbmFsIH0gPSBvcHRpb25zIHx8IHt9O1xuXG4gICAgICBsZXQgYWJvcnRMaXN0ZW5lcjogKCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xuICAgICAgbGV0IGNvbm5lY3Rpb246IFJlc2VydmVkU3FsIHwgdW5kZWZpbmVkO1xuXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBzaG91bGRMb2cgPSB0eXBlb2YgbG9nZ2luZyA9PT0gXCJmdW5jdGlvblwiID8gbG9nZ2luZyhxdWVyeSkgOiBsb2dnaW5nO1xuXG4gICAgICAgIGxldCBsb2dnYWJsZVF1ZXJ5OiBzdHJpbmc7XG4gICAgICAgIGlmIChzaG91bGRMb2cpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhcIlBHTGl0ZUV4ZWN1dG9yOiBFeGVjdXRpbmcgcXVlcnk6XCIsIChsb2dnYWJsZVF1ZXJ5ID0gSlNPTi5zdHJpbmdpZnkocXVlcnksIG51bGwsIDIpKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYWJvcnRTaWduYWw/LmFib3J0ZWQpIHtcbiAgICAgICAgICByZXR1cm4gW25ldyBFcnJvcihcIlRoaXMgb3BlcmF0aW9uIHdhcyBhYm9ydGVkXCIpXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG5cbiAgICAgICAgY29ubmVjdGlvbiA9IGF3YWl0IHBvc3RncmVzanMucmVzZXJ2ZSgpO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LW9iamVjdC10eXBlXG4gICAgICAgIGxldCB0cmlnZ2VyOiAocGlkOiB7fSkgPT4gdm9pZDtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZVxuICAgICAgICBjb25zdCBhYm9ydGlvblByb21pc2UgPSBuZXcgUHJvbWlzZTx7fT4oKHJlc29sdmUpID0+ICh0cmlnZ2VyID0gcmVzb2x2ZSkpO1xuXG4gICAgICAgIGlmIChhYm9ydFNpZ25hbCkge1xuICAgICAgICAgIGlmIChhYm9ydFNpZ25hbC5hYm9ydGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gW25ldyBFcnJvcihcIlRoaXMgb3BlcmF0aW9uIHdhcyBhYm9ydGVkXCIpXTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBwaWQgPSBhd2FpdCBnZXRDb25uZWN0aW9uUElEKGNvbm5lY3Rpb24pO1xuXG4gICAgICAgICAgaWYgKGFib3J0U2lnbmFsLmFib3J0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBbbmV3IEVycm9yKFwiVGhpcyBvcGVyYXRpb24gd2FzIGFib3J0ZWRcIildO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChwaWQgIT0gbnVsbCkge1xuICAgICAgICAgICAgYWJvcnRTaWduYWwuYWRkRXZlbnRMaXN0ZW5lcihcImFib3J0XCIsIChhYm9ydExpc3RlbmVyID0gKCkgPT4gdHJpZ2dlcihwaWQpKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgUHJvbWlzZS5yYWNlKFtwb3N0Z3Jlc2pzLnVuc2FmZShxdWVyeS5zcWwsIHF1ZXJ5LnBhcmFtZXRlcnMgYXMgbmV2ZXIpLCBhYm9ydGlvblByb21pc2VdKTtcblxuICAgICAgICBjb25zdCBkdXJhdGlvbiA9IERhdGUubm93KCkgLSBub3c7XG5cbiAgICAgICAgaWYgKHR5cGVvZiByZXN1bHQgIT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICAvLyBub3QgaW1wb3J0YW50IGVub3VnaCB0byBhd2FpdC5cbiAgICAgICAgICB2b2lkIGNhbmNlbFF1ZXJ5KHBvc3RncmVzanMsIHJlc3VsdCk7XG5cbiAgICAgICAgICBpZiAoc2hvdWxkTG9nKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIlBvc3RncmVzSlNFeGVjdXRvcjogUXVlcnkgY2FuY2VsbGVkIGFmdGVyXCIsIGR1cmF0aW9uLCBcIm1zOlwiLCBsb2dnYWJsZVF1ZXJ5ISk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIFtuZXcgQWJvcnRFcnJvcigpXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzaG91bGRMb2cpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhcIlBvc3RncmVzSlNFeGVjdXRvcjogUXVlcnkgZXhlY3V0ZWQgaW5cIiwgZHVyYXRpb24sIFwibXM6XCIsIGxvZ2dhYmxlUXVlcnkhKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbbnVsbCwgcmVzdWx0IGFzIG5ldmVyXTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICAgIHJldHVybiBbZXJyb3IgYXMgRXJyb3JdO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgaWYgKGFib3J0TGlzdGVuZXIpIHtcbiAgICAgICAgICBhYm9ydFNpZ25hbD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImFib3J0XCIsIGFib3J0TGlzdGVuZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29ubmVjdGlvbj8ucmVsZWFzZSgpO1xuICAgICAgfVxuICAgIH0sXG4gIH07XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktb2JqZWN0LXR5cGVcbmV4cG9ydCBpbnRlcmZhY2UgUG9zdGdyZXNKU0FkYXB0ZXJPcHRpb25zIGV4dGVuZHMgUG9zdGdyZXNKU0V4ZWN1dG9yT3B0aW9ucyB7fVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUG9zdGdyZXNKU0FkYXB0ZXIocG9zdGdyZXNqczogU3FsLCBvcHRpb25zPzogUG9zdGdyZXNKU0FkYXB0ZXJPcHRpb25zKTogQWRhcHRlciB7XG4gIHJldHVybiBjcmVhdGVQb3N0Z3Jlc0FkYXB0ZXIoe1xuICAgIGV4ZWN1dG9yOiBjcmVhdGVQb3N0Z3Jlc0pTRXhlY3V0b3IocG9zdGdyZXNqcywgb3B0aW9ucyksXG4gIH0pO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LW9iamVjdC10eXBlXG5hc3luYyBmdW5jdGlvbiBjYW5jZWxRdWVyeShwb3N0Z3Jlc2pzOiBTcWwsIHBpZDoge30pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcXVlcnkgPSBnZXRDYW5jZWxRdWVyeShwaWQpO1xuXG4gIHRyeSB7XG4gICAgYXdhaXQgcG9zdGdyZXNqcy51bnNhZmUocXVlcnkuc3FsLCBxdWVyeS5wYXJhbWV0ZXJzIGFzIG5ldmVyKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKFwiRmFpbGVkIHRvIGNhbmNlbCBxdWVyeTpcIiwgZXJyb3IpO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldENvbm5lY3Rpb25QSUQoY29ubmVjdGlvbjogUmVzZXJ2ZWRTcWwpOiBQcm9taXNlPHVua25vd24+IHtcbiAgY29uc3QgcXVlcnkgPSBnZXRQSURRdWVyeSgpO1xuXG4gIHRyeSB7XG4gICAgY29uc3QgW3Jlc3VsdF0gPSBhd2FpdCBjb25uZWN0aW9uLnVuc2FmZTxRdWVyeVJlc3VsdDx0eXBlb2YgcXVlcnk+PihxdWVyeS5zcWwsIHF1ZXJ5LnBhcmFtZXRlcnMgYXMgbmV2ZXIpO1xuXG4gICAgcmV0dXJuIHJlc3VsdD8ucGlkO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoXCJGYWlsZWQgdG8gZ2V0IGNvbm5lY3Rpb24gUElEOlwiLCBlcnJvcik7XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7OztrTEFBQUEsSUFpQk8sU0FBU0MsRUFBeUJDLEVBQWlCQyxFQUErQyxDQUN2RyxHQUFNLENBQUUsUUFBQUMsRUFBVSxFQUFNLEVBQUlELEdBQVcsQ0FBQyxFQUV4QyxNQUFPLENBQ0wsUUFBUyxNQUFPRSxFQUFPRixJQUFZLENBQ2pDLEdBQU0sQ0FBRSxZQUFBRyxDQUFZLEVBQUlILEdBQVcsQ0FBQyxFQUVoQ0ksRUFDQUMsRUFFSixHQUFJLENBQ0YsSUFBTUMsRUFBWSxPQUFPTCxHQUFZLFdBQWFBLEVBQVFDLENBQUssRUFBSUQsRUFFL0RNLEVBS0osR0FKSUQsR0FDRixRQUFRLElBQUksbUNBQXFDQyxFQUFnQixLQUFLLFVBQVVMLEVBQU8sS0FBTSxDQUFDLENBQUUsRUFHOUZDLEdBQWEsUUFDZixNQUFPLENBQUMsSUFBSSxNQUFNLDRCQUE0QixDQUFDLEVBR2pELElBQU1LLEVBQU0sS0FBSyxJQUFJLEVBRXJCSCxFQUFhLE1BQU1OLEVBQVcsUUFBUSxFQUV0QyxJQUFJVSxFQUVFQyxFQUFrQixJQUFJLFFBQWFDLEdBQWFGLEVBQVVFLENBQVEsRUFFeEUsR0FBSVIsRUFBYSxDQUNmLEdBQUlBLEVBQVksUUFDZCxNQUFPLENBQUMsSUFBSSxNQUFNLDRCQUE0QixDQUFDLEVBR2pELElBQU1TLEVBQU0sTUFBTUMsRUFBaUJSLENBQVUsRUFFN0MsR0FBSUYsRUFBWSxRQUNkLE1BQU8sQ0FBQyxJQUFJLE1BQU0sNEJBQTRCLENBQUMsRUFHN0NTLEdBQU8sTUFDVFQsRUFBWSxpQkFBaUIsUUFBVUMsRUFBZ0IsSUFBTUssRUFBUUcsQ0FBRyxDQUFFLENBRTlFLENBRUEsSUFBTUUsRUFBUyxNQUFNLFFBQVEsS0FBSyxDQUFDZixFQUFXLE9BQU9HLEVBQU0sSUFBS0EsRUFBTSxVQUFtQixFQUFHUSxDQUFlLENBQUMsRUFFdEdLLEVBQVcsS0FBSyxJQUFJLEVBQUlQLEVBRTlCLE9BQUksT0FBT00sR0FBVyxVQUVmRSxFQUFZakIsRUFBWWUsQ0FBTSxFQUUvQlIsR0FDRixRQUFRLElBQUksNENBQTZDUyxFQUFVLE1BQU9SLENBQWMsRUFHbkYsQ0FBQyxJQUFJVSxDQUFZLElBR3RCWCxHQUNGLFFBQVEsSUFBSSx3Q0FBeUNTLEVBQVUsTUFBT1IsQ0FBYyxFQUcvRSxDQUFDLEtBQU1PLENBQWUsRUFDL0IsT0FBU0ksRUFBZ0IsQ0FDdkIsTUFBTyxDQUFDQSxDQUFjLENBQ3hCLFFBQUUsQ0FDSWQsR0FDRkQsR0FBYSxvQkFBb0IsUUFBU0MsQ0FBYSxFQUd6REMsR0FBWSxRQUFRLENBQ3RCLENBQ0YsQ0FDRixDQUNGLENBS08sU0FBU2MsRUFBd0JwQixFQUFpQkMsRUFBNkMsQ0FDcEcsT0FBT29CLEVBQXNCLENBQzNCLFNBQVV0QixFQUF5QkMsRUFBWUMsQ0FBTyxDQUN4RCxDQUFDLENBQ0gsQ0FHQSxlQUFlZ0IsRUFBWWpCLEVBQWlCYSxFQUF3QixDQUNsRSxJQUFNVixFQUFRbUIsRUFBZVQsQ0FBRyxFQUVoQyxHQUFJLENBQ0YsTUFBTWIsRUFBVyxPQUFPRyxFQUFNLElBQUtBLEVBQU0sVUFBbUIsQ0FDOUQsT0FBU2dCLEVBQU8sQ0FDZCxRQUFRLE1BQU0sMEJBQTJCQSxDQUFLLENBQ2hELENBQ0YsQ0FFQSxlQUFlTCxFQUFpQlIsRUFBMkMsQ0FDekUsSUFBTUgsRUFBUW9CLEVBQVksRUFFMUIsR0FBSSxDQUNGLEdBQU0sQ0FBQ1IsQ0FBTSxFQUFJLE1BQU1ULEVBQVcsT0FBa0NILEVBQU0sSUFBS0EsRUFBTSxVQUFtQixFQUV4RyxPQUFPWSxHQUFRLEdBQ2pCLE9BQVNJLEVBQU8sQ0FDZCxRQUFRLE1BQU0sZ0NBQWlDQSxDQUFLLEVBRXBELE1BQ0YsQ0FDRiIsCiAgIm5hbWVzIjogWyJpbml0X2RlZmluZV9BQ0NFTEVSQVRFX1NDSEVNQV9CWV9QUk9WSURFUiIsICJjcmVhdGVQb3N0Z3Jlc0pTRXhlY3V0b3IiLCAicG9zdGdyZXNqcyIsICJvcHRpb25zIiwgImxvZ2dpbmciLCAicXVlcnkiLCAiYWJvcnRTaWduYWwiLCAiYWJvcnRMaXN0ZW5lciIsICJjb25uZWN0aW9uIiwgInNob3VsZExvZyIsICJsb2dnYWJsZVF1ZXJ5IiwgIm5vdyIsICJ0cmlnZ2VyIiwgImFib3J0aW9uUHJvbWlzZSIsICJyZXNvbHZlIiwgInBpZCIsICJnZXRDb25uZWN0aW9uUElEIiwgInJlc3VsdCIsICJkdXJhdGlvbiIsICJjYW5jZWxRdWVyeSIsICJBYm9ydEVycm9yIiwgImVycm9yIiwgImNyZWF0ZVBvc3RncmVzSlNBZGFwdGVyIiwgImNyZWF0ZVBvc3RncmVzQWRhcHRlciIsICJnZXRDYW5jZWxRdWVyeSIsICJnZXRQSURRdWVyeSJdCn0K
9
+ import{b as a}from"../../chunk-GFTEV2G4.js";import{j as y,l as m,m as P}from"../../chunk-HRW7Y3N2.js";import"../../chunk-EEN4LCTK.js";import{e as g}from"../../chunk-P5LRZ6C2.js";g();function q(r,t){let{logging:e=!1}=t??{};return{execute:async(o,x)=>{let{abortSignal:n}=x||{},c,u;try{let s=typeof e=="function"?e(o):e,l;if(s&&console.log("PGLiteExecutor: Executing query:",l=JSON.stringify(o,null,2)),n?.aborted)return a();let S=Date.now();u=await r.reserve();let d,v=new Promise(i=>d=i);if(n){if(n.aborted)return a();let i=await E(u);if(n.aborted)return a();i!=null&&n.addEventListener("abort",c=()=>d(i))}let f=await Promise.race([r.unsafe(o.sql,o.parameters),v]),p=Date.now()-S;return typeof f!="object"?(b(r,f),s&&console.log("PostgresJSExecutor: Query cancelled after",p,"ms:",l),a()):(s&&console.log("PostgresJSExecutor: Query executed in",p,"ms:",l),[null,f])}catch(s){return[s]}finally{c&&n?.removeEventListener("abort",c),u?.release()}}}}function O(r,t){return y({executor:q(r,t)})}async function b(r,t){let e=P(t);try{await r.unsafe(e.sql,e.parameters)}catch(o){console.error("Failed to cancel query:",o)}}async function E(r){let t=m();try{let[e]=await r.unsafe(t.sql,t.parameters);return e?.pid}catch(e){console.error("Failed to get connection PID:",e);return}}export{O as createPostgresJSAdapter,q as createPostgresJSExecutor};
10
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vZGF0YS9wb3N0Z3Jlc2pzL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgdHlwZSB7IFJlc2VydmVkU3FsLCBTcWwgfSBmcm9tIFwicG9zdGdyZXNcIjtcblxuaW1wb3J0IHR5cGUgeyBBZGFwdGVyIH0gZnJvbSBcIi4uL2FkYXB0ZXJcIjtcbmltcG9ydCB7IHR5cGUgRXhlY3V0b3IsIGdldEFib3J0UmVzdWx0IH0gZnJvbSBcIi4uL2V4ZWN1dG9yXCI7XG5pbXBvcnQgeyBjcmVhdGVQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tIFwiLi4vcG9zdGdyZXMtY29yZVwiO1xuaW1wb3J0IHsgZ2V0Q2FuY2VsUXVlcnksIGdldFBJRFF1ZXJ5IH0gZnJvbSBcIi4uL3Bvc3RncmVzLWNvcmUvdXRpbGl0eVwiO1xuaW1wb3J0IHR5cGUgeyBRdWVyeSwgUXVlcnlSZXN1bHQgfSBmcm9tIFwiLi4vcXVlcnlcIjtcblxuZXhwb3J0IGludGVyZmFjZSBQb3N0Z3Jlc0pTRXhlY3V0b3JPcHRpb25zIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gbG9nIHRoZSBxdWVyeSBhbmQgaXRzIHBhcmFtZXRlcnMuXG4gICAqXG4gICAqIERlZmF1bHRzIHRvIGBmYWxzZWAuXG4gICAqL1xuICBsb2dnaW5nPzogYm9vbGVhbiB8ICgocXVlcnk6IFF1ZXJ5KSA9PiBib29sZWFuKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVBvc3RncmVzSlNFeGVjdXRvcihwb3N0Z3Jlc2pzOiBTcWwsIG9wdGlvbnM/OiBQb3N0Z3Jlc0pTRXhlY3V0b3JPcHRpb25zKTogRXhlY3V0b3Ige1xuICBjb25zdCB7IGxvZ2dpbmcgPSBmYWxzZSB9ID0gb3B0aW9ucyA/PyB7fTtcblxuICByZXR1cm4ge1xuICAgIGV4ZWN1dGU6IGFzeW5jIChxdWVyeSwgb3B0aW9ucykgPT4ge1xuICAgICAgY29uc3QgeyBhYm9ydFNpZ25hbCB9ID0gb3B0aW9ucyB8fCB7fTtcblxuICAgICAgbGV0IGFib3J0TGlzdGVuZXI6ICgoKSA9PiB2b2lkKSB8IHVuZGVmaW5lZDtcbiAgICAgIGxldCBjb25uZWN0aW9uOiBSZXNlcnZlZFNxbCB8IHVuZGVmaW5lZDtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3Qgc2hvdWxkTG9nID0gdHlwZW9mIGxvZ2dpbmcgPT09IFwiZnVuY3Rpb25cIiA/IGxvZ2dpbmcocXVlcnkpIDogbG9nZ2luZztcblxuICAgICAgICBsZXQgbG9nZ2FibGVRdWVyeTogc3RyaW5nO1xuICAgICAgICBpZiAoc2hvdWxkTG9nKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coXCJQR0xpdGVFeGVjdXRvcjogRXhlY3V0aW5nIHF1ZXJ5OlwiLCAobG9nZ2FibGVRdWVyeSA9IEpTT04uc3RyaW5naWZ5KHF1ZXJ5LCBudWxsLCAyKSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGFib3J0U2lnbmFsPy5hYm9ydGVkKSB7XG4gICAgICAgICAgcmV0dXJuIGdldEFib3J0UmVzdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuXG4gICAgICAgIGNvbm5lY3Rpb24gPSBhd2FpdCBwb3N0Z3Jlc2pzLnJlc2VydmUoKTtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZVxuICAgICAgICBsZXQgdHJpZ2dlcjogKHBpZDoge30pID0+IHZvaWQ7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktb2JqZWN0LXR5cGVcbiAgICAgICAgY29uc3QgYWJvcnRpb25Qcm9taXNlID0gbmV3IFByb21pc2U8e30+KChyZXNvbHZlKSA9PiAodHJpZ2dlciA9IHJlc29sdmUpKTtcblxuICAgICAgICBpZiAoYWJvcnRTaWduYWwpIHtcbiAgICAgICAgICBpZiAoYWJvcnRTaWduYWwuYWJvcnRlZCkge1xuICAgICAgICAgICAgcmV0dXJuIGdldEFib3J0UmVzdWx0KCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgcGlkID0gYXdhaXQgZ2V0Q29ubmVjdGlvblBJRChjb25uZWN0aW9uKTtcblxuICAgICAgICAgIGlmIChhYm9ydFNpZ25hbC5hYm9ydGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZ2V0QWJvcnRSZXN1bHQoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAocGlkICE9IG51bGwpIHtcbiAgICAgICAgICAgIGFib3J0U2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoXCJhYm9ydFwiLCAoYWJvcnRMaXN0ZW5lciA9ICgpID0+IHRyaWdnZXIocGlkKSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFByb21pc2UucmFjZShbcG9zdGdyZXNqcy51bnNhZmUocXVlcnkuc3FsLCBxdWVyeS5wYXJhbWV0ZXJzIGFzIG5ldmVyKSwgYWJvcnRpb25Qcm9taXNlXSk7XG5cbiAgICAgICAgY29uc3QgZHVyYXRpb24gPSBEYXRlLm5vdygpIC0gbm93O1xuXG4gICAgICAgIGlmICh0eXBlb2YgcmVzdWx0ICE9PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgLy8gbm90IGltcG9ydGFudCBlbm91Z2ggdG8gYXdhaXQuXG4gICAgICAgICAgdm9pZCBjYW5jZWxRdWVyeShwb3N0Z3Jlc2pzLCByZXN1bHQpO1xuXG4gICAgICAgICAgaWYgKHNob3VsZExvZykge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJQb3N0Z3Jlc0pTRXhlY3V0b3I6IFF1ZXJ5IGNhbmNlbGxlZCBhZnRlclwiLCBkdXJhdGlvbiwgXCJtczpcIiwgbG9nZ2FibGVRdWVyeSEpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBnZXRBYm9ydFJlc3VsdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNob3VsZExvZykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKFwiUG9zdGdyZXNKU0V4ZWN1dG9yOiBRdWVyeSBleGVjdXRlZCBpblwiLCBkdXJhdGlvbiwgXCJtczpcIiwgbG9nZ2FibGVRdWVyeSEpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFtudWxsLCByZXN1bHQgYXMgbmV2ZXJdO1xuICAgICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgICAgcmV0dXJuIFtlcnJvciBhcyBFcnJvcl07XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBpZiAoYWJvcnRMaXN0ZW5lcikge1xuICAgICAgICAgIGFib3J0U2lnbmFsPy5yZW1vdmVFdmVudExpc3RlbmVyKFwiYWJvcnRcIiwgYWJvcnRMaXN0ZW5lcik7XG4gICAgICAgIH1cblxuICAgICAgICBjb25uZWN0aW9uPy5yZWxlYXNlKCk7XG4gICAgICB9XG4gICAgfSxcbiAgfTtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZVxuZXhwb3J0IGludGVyZmFjZSBQb3N0Z3Jlc0pTQWRhcHRlck9wdGlvbnMgZXh0ZW5kcyBQb3N0Z3Jlc0pTRXhlY3V0b3JPcHRpb25zIHt9XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQb3N0Z3Jlc0pTQWRhcHRlcihwb3N0Z3Jlc2pzOiBTcWwsIG9wdGlvbnM/OiBQb3N0Z3Jlc0pTQWRhcHRlck9wdGlvbnMpOiBBZGFwdGVyIHtcbiAgcmV0dXJuIGNyZWF0ZVBvc3RncmVzQWRhcHRlcih7XG4gICAgZXhlY3V0b3I6IGNyZWF0ZVBvc3RncmVzSlNFeGVjdXRvcihwb3N0Z3Jlc2pzLCBvcHRpb25zKSxcbiAgfSk7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktb2JqZWN0LXR5cGVcbmFzeW5jIGZ1bmN0aW9uIGNhbmNlbFF1ZXJ5KHBvc3RncmVzanM6IFNxbCwgcGlkOiB7fSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBxdWVyeSA9IGdldENhbmNlbFF1ZXJ5KHBpZCk7XG5cbiAgdHJ5IHtcbiAgICBhd2FpdCBwb3N0Z3Jlc2pzLnVuc2FmZShxdWVyeS5zcWwsIHF1ZXJ5LnBhcmFtZXRlcnMgYXMgbmV2ZXIpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoXCJGYWlsZWQgdG8gY2FuY2VsIHF1ZXJ5OlwiLCBlcnJvcik7XG4gIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0Q29ubmVjdGlvblBJRChjb25uZWN0aW9uOiBSZXNlcnZlZFNxbCk6IFByb21pc2U8dW5rbm93bj4ge1xuICBjb25zdCBxdWVyeSA9IGdldFBJRFF1ZXJ5KCk7XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBbcmVzdWx0XSA9IGF3YWl0IGNvbm5lY3Rpb24udW5zYWZlPFF1ZXJ5UmVzdWx0PHR5cGVvZiBxdWVyeT4+KHF1ZXJ5LnNxbCwgcXVlcnkucGFyYW1ldGVycyBhcyBuZXZlcik7XG5cbiAgICByZXR1cm4gcmVzdWx0Py5waWQ7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcihcIkZhaWxlZCB0byBnZXQgY29ubmVjdGlvbiBQSUQ6XCIsIGVycm9yKTtcblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7O2tMQUFBQSxJQWlCTyxTQUFTQyxFQUF5QkMsRUFBaUJDLEVBQStDLENBQ3ZHLEdBQU0sQ0FBRSxRQUFBQyxFQUFVLEVBQU0sRUFBSUQsR0FBVyxDQUFDLEVBRXhDLE1BQU8sQ0FDTCxRQUFTLE1BQU9FLEVBQU9GLElBQVksQ0FDakMsR0FBTSxDQUFFLFlBQUFHLENBQVksRUFBSUgsR0FBVyxDQUFDLEVBRWhDSSxFQUNBQyxFQUVKLEdBQUksQ0FDRixJQUFNQyxFQUFZLE9BQU9MLEdBQVksV0FBYUEsRUFBUUMsQ0FBSyxFQUFJRCxFQUUvRE0sRUFLSixHQUpJRCxHQUNGLFFBQVEsSUFBSSxtQ0FBcUNDLEVBQWdCLEtBQUssVUFBVUwsRUFBTyxLQUFNLENBQUMsQ0FBRSxFQUc5RkMsR0FBYSxRQUNmLE9BQU9LLEVBQWUsRUFHeEIsSUFBTUMsRUFBTSxLQUFLLElBQUksRUFFckJKLEVBQWEsTUFBTU4sRUFBVyxRQUFRLEVBRXRDLElBQUlXLEVBRUVDLEVBQWtCLElBQUksUUFBYUMsR0FBYUYsRUFBVUUsQ0FBUSxFQUV4RSxHQUFJVCxFQUFhLENBQ2YsR0FBSUEsRUFBWSxRQUNkLE9BQU9LLEVBQWUsRUFHeEIsSUFBTUssRUFBTSxNQUFNQyxFQUFpQlQsQ0FBVSxFQUU3QyxHQUFJRixFQUFZLFFBQ2QsT0FBT0ssRUFBZSxFQUdwQkssR0FBTyxNQUNUVixFQUFZLGlCQUFpQixRQUFVQyxFQUFnQixJQUFNTSxFQUFRRyxDQUFHLENBQUUsQ0FFOUUsQ0FFQSxJQUFNRSxFQUFTLE1BQU0sUUFBUSxLQUFLLENBQUNoQixFQUFXLE9BQU9HLEVBQU0sSUFBS0EsRUFBTSxVQUFtQixFQUFHUyxDQUFlLENBQUMsRUFFdEdLLEVBQVcsS0FBSyxJQUFJLEVBQUlQLEVBRTlCLE9BQUksT0FBT00sR0FBVyxVQUVmRSxFQUFZbEIsRUFBWWdCLENBQU0sRUFFL0JULEdBQ0YsUUFBUSxJQUFJLDRDQUE2Q1UsRUFBVSxNQUFPVCxDQUFjLEVBR25GQyxFQUFlLElBR3BCRixHQUNGLFFBQVEsSUFBSSx3Q0FBeUNVLEVBQVUsTUFBT1QsQ0FBYyxFQUcvRSxDQUFDLEtBQU1RLENBQWUsRUFDL0IsT0FBU0csRUFBZ0IsQ0FDdkIsTUFBTyxDQUFDQSxDQUFjLENBQ3hCLFFBQUUsQ0FDSWQsR0FDRkQsR0FBYSxvQkFBb0IsUUFBU0MsQ0FBYSxFQUd6REMsR0FBWSxRQUFRLENBQ3RCLENBQ0YsQ0FDRixDQUNGLENBS08sU0FBU2MsRUFBd0JwQixFQUFpQkMsRUFBNkMsQ0FDcEcsT0FBT29CLEVBQXNCLENBQzNCLFNBQVV0QixFQUF5QkMsRUFBWUMsQ0FBTyxDQUN4RCxDQUFDLENBQ0gsQ0FHQSxlQUFlaUIsRUFBWWxCLEVBQWlCYyxFQUF3QixDQUNsRSxJQUFNWCxFQUFRbUIsRUFBZVIsQ0FBRyxFQUVoQyxHQUFJLENBQ0YsTUFBTWQsRUFBVyxPQUFPRyxFQUFNLElBQUtBLEVBQU0sVUFBbUIsQ0FDOUQsT0FBU2dCLEVBQU8sQ0FDZCxRQUFRLE1BQU0sMEJBQTJCQSxDQUFLLENBQ2hELENBQ0YsQ0FFQSxlQUFlSixFQUFpQlQsRUFBMkMsQ0FDekUsSUFBTUgsRUFBUW9CLEVBQVksRUFFMUIsR0FBSSxDQUNGLEdBQU0sQ0FBQ1AsQ0FBTSxFQUFJLE1BQU1WLEVBQVcsT0FBa0NILEVBQU0sSUFBS0EsRUFBTSxVQUFtQixFQUV4RyxPQUFPYSxHQUFRLEdBQ2pCLE9BQVNHLEVBQU8sQ0FDZCxRQUFRLE1BQU0sZ0NBQWlDQSxDQUFLLEVBRXBELE1BQ0YsQ0FDRiIsCiAgIm5hbWVzIjogWyJpbml0X2RlZmluZV9BQ0NFTEVSQVRFX1NDSEVNQV9CWV9QUk9WSURFUiIsICJjcmVhdGVQb3N0Z3Jlc0pTRXhlY3V0b3IiLCAicG9zdGdyZXNqcyIsICJvcHRpb25zIiwgImxvZ2dpbmciLCAicXVlcnkiLCAiYWJvcnRTaWduYWwiLCAiYWJvcnRMaXN0ZW5lciIsICJjb25uZWN0aW9uIiwgInNob3VsZExvZyIsICJsb2dnYWJsZVF1ZXJ5IiwgImdldEFib3J0UmVzdWx0IiwgIm5vdyIsICJ0cmlnZ2VyIiwgImFib3J0aW9uUHJvbWlzZSIsICJyZXNvbHZlIiwgInBpZCIsICJnZXRDb25uZWN0aW9uUElEIiwgInJlc3VsdCIsICJkdXJhdGlvbiIsICJjYW5jZWxRdWVyeSIsICJlcnJvciIsICJjcmVhdGVQb3N0Z3Jlc0pTQWRhcHRlciIsICJjcmVhdGVQb3N0Z3Jlc0FkYXB0ZXIiLCAiZ2V0Q2FuY2VsUXVlcnkiLCAiZ2V0UElEUXVlcnkiXQp9Cg==