sql-kite 1.0.8 → 1.1.0

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.
Files changed (59) hide show
  1. package/README.md +19 -0
  2. package/package.json +7 -5
  3. package/server/index.js +0 -1
  4. package/server/routes/export.js +253 -0
  5. package/studio-out/404/index.html +1 -1
  6. package/studio-out/404.html +1 -1
  7. package/studio-out/__next.__PAGE__.txt +2 -2
  8. package/studio-out/__next._full.txt +3 -3
  9. package/studio-out/__next._head.txt +1 -1
  10. package/studio-out/__next._index.txt +2 -2
  11. package/studio-out/__next._tree.txt +2 -2
  12. package/studio-out/_next/static/chunks/{f5cb054219e2eeb8.js → 08c1d4adb886fe2d.js} +20 -23
  13. package/studio-out/_next/static/chunks/e49b745156bc4eb4.css +2 -0
  14. package/studio-out/_not-found/__next._full.txt +2 -2
  15. package/studio-out/_not-found/__next._head.txt +1 -1
  16. package/studio-out/_not-found/__next._index.txt +2 -2
  17. package/studio-out/_not-found/__next._not-found/__PAGE__.txt +1 -1
  18. package/studio-out/_not-found/__next._not-found.txt +1 -1
  19. package/studio-out/_not-found/__next._tree.txt +2 -2
  20. package/studio-out/_not-found/index.html +1 -1
  21. package/studio-out/_not-found/index.txt +2 -2
  22. package/studio-out/index.html +2 -2
  23. package/studio-out/index.txt +3 -3
  24. package/studio-out/snapshots/__next._full.txt +2 -2
  25. package/studio-out/snapshots/__next._head.txt +1 -1
  26. package/studio-out/snapshots/__next._index.txt +2 -2
  27. package/studio-out/snapshots/__next._tree.txt +2 -2
  28. package/studio-out/snapshots/__next.snapshots/__PAGE__.txt +1 -1
  29. package/studio-out/snapshots/__next.snapshots.txt +1 -1
  30. package/studio-out/snapshots/index.html +1 -1
  31. package/studio-out/snapshots/index.txt +2 -2
  32. package/studio-out/sql/__next._full.txt +2 -2
  33. package/studio-out/sql/__next._head.txt +1 -1
  34. package/studio-out/sql/__next._index.txt +2 -2
  35. package/studio-out/sql/__next._tree.txt +2 -2
  36. package/studio-out/sql/__next.sql/__PAGE__.txt +1 -1
  37. package/studio-out/sql/__next.sql.txt +1 -1
  38. package/studio-out/sql/index.html +1 -1
  39. package/studio-out/sql/index.txt +2 -2
  40. package/studio-out/tables/__next._full.txt +2 -2
  41. package/studio-out/tables/__next._head.txt +1 -1
  42. package/studio-out/tables/__next._index.txt +2 -2
  43. package/studio-out/tables/__next._tree.txt +2 -2
  44. package/studio-out/tables/__next.tables/__PAGE__.txt +1 -1
  45. package/studio-out/tables/__next.tables.txt +1 -1
  46. package/studio-out/tables/index.html +1 -1
  47. package/studio-out/tables/index.txt +2 -2
  48. package/studio-out/timeline/__next._full.txt +2 -2
  49. package/studio-out/timeline/__next._head.txt +1 -1
  50. package/studio-out/timeline/__next._index.txt +2 -2
  51. package/studio-out/timeline/__next._tree.txt +2 -2
  52. package/studio-out/timeline/__next.timeline/__PAGE__.txt +1 -1
  53. package/studio-out/timeline/__next.timeline.txt +1 -1
  54. package/studio-out/timeline/index.html +1 -1
  55. package/studio-out/timeline/index.txt +2 -2
  56. package/studio-out/_next/static/chunks/118fc599da2f27aa.css +0 -2
  57. /package/studio-out/_next/static/{LhecVBdPttfi1VZfXA-dL → bo0QrZV4Bl-zvbheyfPCl}/_buildManifest.js +0 -0
  58. /package/studio-out/_next/static/{LhecVBdPttfi1VZfXA-dL → bo0QrZV4Bl-zvbheyfPCl}/_clientMiddlewareManifest.json +0 -0
  59. /package/studio-out/_next/static/{LhecVBdPttfi1VZfXA-dL → bo0QrZV4Bl-zvbheyfPCl}/_ssgManifest.js +0 -0
@@ -1,19 +1,19 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,55838,(e,t,r)=>{"use strict";var n=e.r(71645),a="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},s=n.useState,i=n.useEffect,o=n.useLayoutEffect,l=n.useDebugValue;function c(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!a(e,r)}catch(e){return!0}}var d="u"<typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),n=s({inst:{value:r,getSnapshot:t}}),a=n[0].inst,d=n[1];return o(function(){a.value=r,a.getSnapshot=t,c(a)&&d({inst:a})},[e,r,t]),i(function(){return c(a)&&d({inst:a}),e(function(){c(a)&&d({inst:a})})},[e]),l(r),r};r.useSyncExternalStore=void 0!==n.useSyncExternalStore?n.useSyncExternalStore:d},2239,(e,t,r)=>{"use strict";t.exports=e.r(55838)},52822,(e,t,r)=>{"use strict";var n=e.r(71645),a=e.r(2239),s="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},i=a.useSyncExternalStore,o=n.useRef,l=n.useEffect,c=n.useMemo,d=n.useDebugValue;r.useSyncExternalStoreWithSelector=function(e,t,r,n,a){var u=o(null);if(null===u.current){var p={hasValue:!1,value:null};u.current=p}else p=u.current;var h=i(e,(u=c(function(){function e(e){if(!l){if(l=!0,i=e,e=n(e),void 0!==a&&p.hasValue){var t=p.value;if(a(t,e))return o=t}return o=e}if(t=o,s(i,e))return t;var r=n(e);return void 0!==a&&a(t,r)?(i=e,t):(i=e,o=r)}var i,o,l=!1,c=void 0===r?null:r;return[function(){return e(t())},null===c?void 0:function(){return e(c())}]},[t,r,n,a]))[0],u[1]);return l(function(){p.hasValue=!0,p.value=h},[h]),d(h),h}},30224,(e,t,r)=>{"use strict";t.exports=e.r(52822)},65742,(e,t,r)=>{t.exports=function(){this.__data__=[],this.size=0}},25172,(e,t,r)=>{t.exports=function(e,t){return e===t||e!=e&&t!=t}},34314,(e,t,r)=>{var n=e.r(25172);t.exports=function(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return -1}},19206,(e,t,r)=>{var n=e.r(34314),a=Array.prototype.splice;t.exports=function(e){var t=this.__data__,r=n(t,e);return!(r<0)&&(r==t.length-1?t.pop():a.call(t,r,1),--this.size,!0)}},67763,(e,t,r)=>{var n=e.r(34314);t.exports=function(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}},23407,(e,t,r)=>{var n=e.r(34314);t.exports=function(e){return n(this.__data__,e)>-1}},53833,(e,t,r)=>{var n=e.r(34314);t.exports=function(e,t){var r=this.__data__,a=n(r,e);return a<0?(++this.size,r.push([e,t])):r[a][1]=t,this}},29039,(e,t,r)=>{var n=e.r(65742),a=e.r(19206),s=e.r(67763),i=e.r(23407),o=e.r(53833);function l(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}l.prototype.clear=n,l.prototype.delete=a,l.prototype.get=s,l.prototype.has=i,l.prototype.set=o,t.exports=l},5400,(e,t,r)=>{var n=e.r(29039);t.exports=function(){this.__data__=new n,this.size=0}},86238,(e,t,r)=>{t.exports=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}},57831,(e,t,r)=>{t.exports=function(e){return this.__data__.get(e)}},77802,(e,t,r)=>{t.exports=function(e){return this.__data__.has(e)}},236,(e,t,r)=>{t.exports=e.g&&e.g.Object===Object&&e.g},39088,(e,t,r)=>{var n=e.r(236),a="object"==typeof self&&self&&self.Object===Object&&self;t.exports=n||a||Function("return this")()},30353,(e,t,r)=>{t.exports=e.r(39088).Symbol},43436,(e,t,r)=>{var n=e.r(30353),a=Object.prototype,s=a.hasOwnProperty,i=a.toString,o=n?n.toStringTag:void 0;t.exports=function(e){var t=s.call(e,o),r=e[o];try{e[o]=void 0;var n=!0}catch(e){}var a=i.call(e);return n&&(t?e[o]=r:delete e[o]),a}},5089,(e,t,r)=>{var n=Object.prototype.toString;t.exports=function(e){return n.call(e)}},77684,(e,t,r)=>{var n=e.r(30353),a=e.r(43436),s=e.r(5089),i=n?n.toStringTag:void 0;t.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":i&&i in Object(e)?a(e):s(e)}},12447,(e,t,r)=>{t.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},71223,(e,t,r)=>{var n=e.r(77684),a=e.r(12447);t.exports=function(e){if(!a(e))return!1;var t=n(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},53789,(e,t,r)=>{t.exports=e.r(39088)["__core-js_shared__"]},69553,(e,t,r)=>{var n,a=e.r(53789),s=(n=/[^.]+$/.exec(a&&a.keys&&a.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";t.exports=function(e){return!!s&&s in e}},76366,(e,t,r)=>{var n=Function.prototype.toString;t.exports=function(e){if(null!=e){try{return n.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},54368,(e,t,r)=>{var n=e.r(71223),a=e.r(69553),s=e.r(12447),i=e.r(76366),o=/^\[object .+?Constructor\]$/,l=Object.prototype,c=Function.prototype.toString,d=l.hasOwnProperty,u=RegExp("^"+c.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(e){return!(!s(e)||a(e))&&(n(e)?u:o).test(i(e))}},63958,(e,t,r)=>{t.exports=function(e,t){return null==e?void 0:e[t]}},41920,(e,t,r)=>{var n=e.r(54368),a=e.r(63958);t.exports=function(e,t){var r=a(e,t);return n(r)?r:void 0}},87362,(e,t,r)=>{t.exports=e.r(41920)(e.r(39088),"Map")},32760,(e,t,r)=>{t.exports=e.r(41920)(Object,"create")},50514,(e,t,r)=>{var n=e.r(32760);t.exports=function(){this.__data__=n?n(null):{},this.size=0}},97617,(e,t,r)=>{t.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=!!t,t}},57412,(e,t,r)=>{var n=e.r(32760),a=Object.prototype.hasOwnProperty;t.exports=function(e){var t=this.__data__;if(n){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return a.call(t,e)?t[e]:void 0}},23592,(e,t,r)=>{var n=e.r(32760),a=Object.prototype.hasOwnProperty;t.exports=function(e){var t=this.__data__;return n?void 0!==t[e]:a.call(t,e)}},39004,(e,t,r)=>{var n=e.r(32760);t.exports=function(e,t){var r=this.__data__;return this.size+=+!this.has(e),r[e]=n&&void 0===t?"__lodash_hash_undefined__":t,this}},34421,(e,t,r)=>{var n=e.r(50514),a=e.r(97617),s=e.r(57412),i=e.r(23592),o=e.r(39004);function l(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}l.prototype.clear=n,l.prototype.delete=a,l.prototype.get=s,l.prototype.has=i,l.prototype.set=o,t.exports=l},48994,(e,t,r)=>{var n=e.r(34421),a=e.r(29039),s=e.r(87362);t.exports=function(){this.size=0,this.__data__={hash:new n,map:new(s||a),string:new n}}},24053,(e,t,r)=>{t.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},87994,(e,t,r)=>{var n=e.r(24053);t.exports=function(e,t){var r=e.__data__;return n(t)?r["string"==typeof t?"string":"hash"]:r.map}},96768,(e,t,r)=>{var n=e.r(87994);t.exports=function(e){var t=n(this,e).delete(e);return this.size-=!!t,t}},29932,(e,t,r)=>{var n=e.r(87994);t.exports=function(e){return n(this,e).get(e)}},92647,(e,t,r)=>{var n=e.r(87994);t.exports=function(e){return n(this,e).has(e)}},46644,(e,t,r)=>{var n=e.r(87994);t.exports=function(e,t){var r=n(this,e),a=r.size;return r.set(e,t),this.size+=+(r.size!=a),this}},87547,(e,t,r)=>{var n=e.r(48994),a=e.r(96768),s=e.r(29932),i=e.r(92647),o=e.r(46644);function l(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}l.prototype.clear=n,l.prototype.delete=a,l.prototype.get=s,l.prototype.has=i,l.prototype.set=o,t.exports=l},20517,(e,t,r)=>{var n=e.r(29039),a=e.r(87362),s=e.r(87547);t.exports=function(e,t){var r=this.__data__;if(r instanceof n){var i=r.__data__;if(!a||i.length<199)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new s(i)}return r.set(e,t),this.size=r.size,this}},1551,(e,t,r)=>{var n=e.r(29039),a=e.r(5400),s=e.r(86238),i=e.r(57831),o=e.r(77802),l=e.r(20517);function c(e){var t=this.__data__=new n(e);this.size=t.size}c.prototype.clear=a,c.prototype.delete=s,c.prototype.get=i,c.prototype.has=o,c.prototype.set=l,t.exports=c},12895,(e,t,r)=>{t.exports=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}},24251,(e,t,r)=>{var n=e.r(41920);t.exports=function(){try{var e=n(Object,"defineProperty");return e({},"",{}),e}catch(e){}}()},74548,(e,t,r)=>{var n=e.r(24251);t.exports=function(e,t,r){"__proto__"==t&&n?n(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}},4300,(e,t,r)=>{var n=e.r(74548),a=e.r(25172),s=Object.prototype.hasOwnProperty;t.exports=function(e,t,r){var i=e[t];s.call(e,t)&&a(i,r)&&(void 0!==r||t in e)||n(e,t,r)}},72351,(e,t,r)=>{var n=e.r(4300),a=e.r(74548);t.exports=function(e,t,r,s){var i=!r;r||(r={});for(var o=-1,l=t.length;++o<l;){var c=t[o],d=s?s(r[c],e[c],c,r,e):void 0;void 0===d&&(d=e[c]),i?a(r,c,d):n(r,c,d)}return r}},55803,(e,t,r)=>{t.exports=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}},77289,(e,t,r)=>{t.exports=function(e){return null!=e&&"object"==typeof e}},66645,(e,t,r)=>{var n=e.r(77684),a=e.r(77289);t.exports=function(e){return a(e)&&"[object Arguments]"==n(e)}},73250,(e,t,r)=>{var n=e.r(66645),a=e.r(77289),s=Object.prototype,i=s.hasOwnProperty,o=s.propertyIsEnumerable;t.exports=n(function(){return arguments}())?n:function(e){return a(e)&&i.call(e,"callee")&&!o.call(e,"callee")}},45350,(e,t,r)=>{t.exports=Array.isArray},24013,(e,t,r)=>{t.exports=function(){return!1}},56956,(e,t,r)=>{var n=e.r(39088),a=e.r(24013),s=r&&!r.nodeType&&r,i=s&&t&&!t.nodeType&&t,o=i&&i.exports===s?n.Buffer:void 0;t.exports=(o?o.isBuffer:void 0)||a},66397,(e,t,r)=>{var n=/^(?:0|[1-9]\d*)$/;t.exports=function(e,t){var r=typeof e;return!!(t=null==t?0x1fffffffffffff:t)&&("number"==r||"symbol"!=r&&n.test(e))&&e>-1&&e%1==0&&e<t}},98376,(e,t,r)=>{t.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=0x1fffffffffffff}},76602,(e,t,r)=>{var n=e.r(77684),a=e.r(98376),s=e.r(77289),i={};i["[object Float32Array]"]=i["[object Float64Array]"]=i["[object Int8Array]"]=i["[object Int16Array]"]=i["[object Int32Array]"]=i["[object Uint8Array]"]=i["[object Uint8ClampedArray]"]=i["[object Uint16Array]"]=i["[object Uint32Array]"]=!0,i["[object Arguments]"]=i["[object Array]"]=i["[object ArrayBuffer]"]=i["[object Boolean]"]=i["[object DataView]"]=i["[object Date]"]=i["[object Error]"]=i["[object Function]"]=i["[object Map]"]=i["[object Number]"]=i["[object Object]"]=i["[object RegExp]"]=i["[object Set]"]=i["[object String]"]=i["[object WeakMap]"]=!1,t.exports=function(e){return s(e)&&a(e.length)&&!!i[n(e)]}},33999,(e,t,r)=>{t.exports=function(e){return function(t){return e(t)}}},80156,(e,t,r)=>{var n=e.r(236),a=r&&!r.nodeType&&r,s=a&&t&&!t.nodeType&&t,i=s&&s.exports===a&&n.process;t.exports=function(){try{var e=s&&s.require&&s.require("util").types;if(e)return e;return i&&i.binding&&i.binding("util")}catch(e){}}()},3023,(e,t,r)=>{var n=e.r(76602),a=e.r(33999),s=e.r(80156),i=s&&s.isTypedArray;t.exports=i?a(i):n},58877,(e,t,r)=>{var n=e.r(55803),a=e.r(73250),s=e.r(45350),i=e.r(56956),o=e.r(66397),l=e.r(3023),c=Object.prototype.hasOwnProperty;t.exports=function(e,t){var r=s(e),d=!r&&a(e),u=!r&&!d&&i(e),p=!r&&!d&&!u&&l(e),h=r||d||u||p,m=h?n(e.length,String):[],f=m.length;for(var x in e)(t||c.call(e,x))&&!(h&&("length"==x||u&&("offset"==x||"parent"==x)||p&&("buffer"==x||"byteLength"==x||"byteOffset"==x)||o(x,f)))&&m.push(x);return m}},63996,(e,t,r)=>{var n=Object.prototype;t.exports=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||n)}},25717,(e,t,r)=>{t.exports=function(e,t){return function(r){return e(t(r))}}},42369,(e,t,r)=>{t.exports=e.r(25717)(Object.keys,Object)},48477,(e,t,r)=>{var n=e.r(63996),a=e.r(42369),s=Object.prototype.hasOwnProperty;t.exports=function(e){if(!n(e))return a(e);var t=[];for(var r in Object(e))s.call(e,r)&&"constructor"!=r&&t.push(r);return t}},51095,(e,t,r)=>{var n=e.r(71223),a=e.r(98376);t.exports=function(e){return null!=e&&a(e.length)&&!n(e)}},33679,(e,t,r)=>{var n=e.r(58877),a=e.r(48477),s=e.r(51095);t.exports=function(e){return s(e)?n(e):a(e)}},60196,(e,t,r)=>{var n=e.r(72351),a=e.r(33679);t.exports=function(e,t){return e&&n(t,a(t),e)}},13730,(e,t,r)=>{t.exports=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}},85689,(e,t,r)=>{var n=e.r(12447),a=e.r(63996),s=e.r(13730),i=Object.prototype.hasOwnProperty;t.exports=function(e){if(!n(e))return s(e);var t=a(e),r=[];for(var o in e)"constructor"==o&&(t||!i.call(e,o))||r.push(o);return r}},89695,(e,t,r)=>{var n=e.r(58877),a=e.r(85689),s=e.r(51095);t.exports=function(e){return s(e)?n(e,!0):a(e)}},52624,(e,t,r)=>{var n=e.r(72351),a=e.r(89695);t.exports=function(e,t){return e&&n(t,a(t),e)}},22781,(e,t,r)=>{var n=e.r(39088),a=r&&!r.nodeType&&r,s=a&&t&&!t.nodeType&&t,i=s&&s.exports===a?n.Buffer:void 0,o=i?i.allocUnsafe:void 0;t.exports=function(e,t){if(t)return e.slice();var r=e.length,n=o?o(r):new e.constructor(r);return e.copy(n),n}},76736,(e,t,r)=>{t.exports=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}},36100,(e,t,r)=>{t.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,a=0,s=[];++r<n;){var i=e[r];t(i,r,e)&&(s[a++]=i)}return s}},45159,(e,t,r)=>{t.exports=function(){return[]}},17332,(e,t,r)=>{var n=e.r(36100),a=e.r(45159),s=Object.prototype.propertyIsEnumerable,i=Object.getOwnPropertySymbols;t.exports=i?function(e){return null==e?[]:n(i(e=Object(e)),function(t){return s.call(e,t)})}:a},74071,(e,t,r)=>{var n=e.r(72351),a=e.r(17332);t.exports=function(e,t){return n(e,a(e),t)}},69102,(e,t,r)=>{t.exports=function(e,t){for(var r=-1,n=t.length,a=e.length;++r<n;)e[a+r]=t[r];return e}},62413,(e,t,r)=>{t.exports=e.r(25717)(Object.getPrototypeOf,Object)},33648,(e,t,r)=>{var n=e.r(69102),a=e.r(62413),s=e.r(17332),i=e.r(45159);t.exports=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)n(t,s(e)),e=a(e);return t}:i},45001,(e,t,r)=>{var n=e.r(72351),a=e.r(33648);t.exports=function(e,t){return n(e,a(e),t)}},23403,(e,t,r)=>{var n=e.r(69102),a=e.r(45350);t.exports=function(e,t,r){var s=t(e);return a(e)?s:n(s,r(e))}},13370,(e,t,r)=>{var n=e.r(23403),a=e.r(17332),s=e.r(33679);t.exports=function(e){return n(e,s,a)}},7889,(e,t,r)=>{var n=e.r(23403),a=e.r(33648),s=e.r(89695);t.exports=function(e){return n(e,s,a)}},1419,(e,t,r)=>{t.exports=e.r(41920)(e.r(39088),"DataView")},17074,(e,t,r)=>{t.exports=e.r(41920)(e.r(39088),"Promise")},6966,(e,t,r)=>{t.exports=e.r(41920)(e.r(39088),"Set")},73895,(e,t,r)=>{t.exports=e.r(41920)(e.r(39088),"WeakMap")},67426,(e,t,r)=>{var n=e.r(1419),a=e.r(87362),s=e.r(17074),i=e.r(6966),o=e.r(73895),l=e.r(77684),c=e.r(76366),d="[object Map]",u="[object Promise]",p="[object Set]",h="[object WeakMap]",m="[object DataView]",f=c(n),x=c(a),b=c(s),g=c(i),v=c(o),y=l;(n&&y(new n(new ArrayBuffer(1)))!=m||a&&y(new a)!=d||s&&y(s.resolve())!=u||i&&y(new i)!=p||o&&y(new o)!=h)&&(y=function(e){var t=l(e),r="[object Object]"==t?e.constructor:void 0,n=r?c(r):"";if(n)switch(n){case f:return m;case x:return d;case b:return u;case g:return p;case v:return h}return t}),t.exports=y},53265,(e,t,r)=>{var n=Object.prototype.hasOwnProperty;t.exports=function(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&n.call(e,"index")&&(r.index=e.index,r.input=e.input),r}},63750,(e,t,r)=>{t.exports=e.r(39088).Uint8Array},25393,(e,t,r)=>{var n=e.r(63750);t.exports=function(e){var t=new e.constructor(e.byteLength);return new n(t).set(new n(e)),t}},64146,(e,t,r)=>{var n=e.r(25393);t.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}},84046,(e,t,r)=>{var n=/\w*$/;t.exports=function(e){var t=new e.constructor(e.source,n.exec(e));return t.lastIndex=e.lastIndex,t}},98430,(e,t,r)=>{var n=e.r(30353),a=n?n.prototype:void 0,s=a?a.valueOf:void 0;t.exports=function(e){return s?Object(s.call(e)):{}}},14712,(e,t,r)=>{var n=e.r(25393);t.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}},49769,(e,t,r)=>{var n=e.r(25393),a=e.r(64146),s=e.r(84046),i=e.r(98430),o=e.r(14712);t.exports=function(e,t,r){var l=e.constructor;switch(t){case"[object ArrayBuffer]":return n(e);case"[object Boolean]":case"[object Date]":return new l(+e);case"[object DataView]":return a(e,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return o(e,r);case"[object Map]":case"[object Set]":return new l;case"[object Number]":case"[object String]":return new l(e);case"[object RegExp]":return s(e);case"[object Symbol]":return i(e)}}},46352,(e,t,r)=>{var n=e.r(12447),a=Object.create;t.exports=function(){function e(){}return function(t){if(!n(t))return{};if(a)return a(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}()},92433,(e,t,r)=>{var n=e.r(46352),a=e.r(62413),s=e.r(63996);t.exports=function(e){return"function"!=typeof e.constructor||s(e)?{}:n(a(e))}},81198,(e,t,r)=>{var n=e.r(67426),a=e.r(77289);t.exports=function(e){return a(e)&&"[object Map]"==n(e)}},54284,(e,t,r)=>{var n=e.r(81198),a=e.r(33999),s=e.r(80156),i=s&&s.isMap;t.exports=i?a(i):n},36206,(e,t,r)=>{var n=e.r(67426),a=e.r(77289);t.exports=function(e){return a(e)&&"[object Set]"==n(e)}},40158,(e,t,r)=>{var n=e.r(36206),a=e.r(33999),s=e.r(80156),i=s&&s.isSet;t.exports=i?a(i):n},64324,(e,t,r)=>{var n=e.r(1551),a=e.r(12895),s=e.r(4300),i=e.r(60196),o=e.r(52624),l=e.r(22781),c=e.r(76736),d=e.r(74071),u=e.r(45001),p=e.r(13370),h=e.r(7889),m=e.r(67426),f=e.r(53265),x=e.r(49769),b=e.r(92433),g=e.r(45350),v=e.r(56956),y=e.r(54284),w=e.r(12447),j=e.r(40158),N=e.r(33679),E=e.r(89695),S="[object Arguments]",k="[object Function]",_="[object Object]",C={};C[S]=C["[object Array]"]=C["[object ArrayBuffer]"]=C["[object DataView]"]=C["[object Boolean]"]=C["[object Date]"]=C["[object Float32Array]"]=C["[object Float64Array]"]=C["[object Int8Array]"]=C["[object Int16Array]"]=C["[object Int32Array]"]=C["[object Map]"]=C["[object Number]"]=C[_]=C["[object RegExp]"]=C["[object Set]"]=C["[object String]"]=C["[object Symbol]"]=C["[object Uint8Array]"]=C["[object Uint8ClampedArray]"]=C["[object Uint16Array]"]=C["[object Uint32Array]"]=!0,C["[object Error]"]=C[k]=C["[object WeakMap]"]=!1,t.exports=function e(t,r,M,T,A,O){var R,D=1&r,L=2&r,$=4&r;if(M&&(R=A?M(t,T,A,O):M(t)),void 0!==R)return R;if(!w(t))return t;var P=g(t);if(P){if(R=f(t),!D)return c(t,R)}else{var I=m(t),B=I==k||"[object GeneratorFunction]"==I;if(v(t))return l(t,D);if(I==_||I==S||B&&!A){if(R=L||B?{}:b(t),!D)return L?u(t,o(R,t)):d(t,i(R,t))}else{if(!C[I])return A?t:{};R=x(t,I,D)}}O||(O=new n);var z=O.get(t);if(z)return z;O.set(t,R),j(t)?t.forEach(function(n){R.add(e(n,r,M,n,t,O))}):y(t)&&t.forEach(function(n,a){R.set(a,e(n,r,M,a,t,O))});var q=$?L?h:p:L?E:N,F=P?void 0:q(t);return a(F||t,function(n,a){F&&(n=t[a=n]),s(R,a,e(n,r,M,a,t,O))}),R}},12989,(e,t,r)=>{var n=e.r(64324);t.exports=function(e){return n(e,4)}},56751,(e,t,r)=>{t.exports=function(e){return function(){return e}}},72385,(e,t,r)=>{t.exports=function(e){return function(t,r,n){for(var a=-1,s=Object(t),i=n(t),o=i.length;o--;){var l=i[e?o:++a];if(!1===r(s[l],l,s))break}return t}}},98728,(e,t,r)=>{t.exports=e.r(72385)()},63799,(e,t,r)=>{var n=e.r(98728),a=e.r(33679);t.exports=function(e,t){return e&&n(e,t,a)}},73554,(e,t,r)=>{var n=e.r(51095);t.exports=function(e,t){return function(r,a){if(null==r)return r;if(!n(r))return e(r,a);for(var s=r.length,i=t?s:-1,o=Object(r);(t?i--:++i<s)&&!1!==a(o[i],i,o););return r}}},53587,(e,t,r)=>{var n=e.r(63799);t.exports=e.r(73554)(n)},53336,(e,t,r)=>{t.exports=function(e){return e}},73282,(e,t,r)=>{var n=e.r(53336);t.exports=function(e){return"function"==typeof e?e:n}},93448,(e,t,r)=>{var n=e.r(12895),a=e.r(53587),s=e.r(73282),i=e.r(45350);t.exports=function(e,t){return(i(e)?n:a)(e,s(t))}},71846,(e,t,r)=>{t.exports=e.r(93448)},36179,(e,t,r)=>{var n=e.r(53587);t.exports=function(e,t){var r=[];return n(e,function(e,n,a){t(e,n,a)&&r.push(e)}),r}},21274,(e,t,r)=>{t.exports=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}},39805,(e,t,r)=>{t.exports=function(e){return this.__data__.has(e)}},27493,(e,t,r)=>{var n=e.r(87547),a=e.r(21274),s=e.r(39805);function i(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new n;++t<r;)this.add(e[t])}i.prototype.add=i.prototype.push=a,i.prototype.has=s,t.exports=i},51477,(e,t,r)=>{t.exports=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}},15262,(e,t,r)=>{t.exports=function(e,t){return e.has(t)}},6856,(e,t,r)=>{var n=e.r(27493),a=e.r(51477),s=e.r(15262);t.exports=function(e,t,r,i,o,l){var c=1&r,d=e.length,u=t.length;if(d!=u&&!(c&&u>d))return!1;var p=l.get(e),h=l.get(t);if(p&&h)return p==t&&h==e;var m=-1,f=!0,x=2&r?new n:void 0;for(l.set(e,t),l.set(t,e);++m<d;){var b=e[m],g=t[m];if(i)var v=c?i(g,b,m,t,e,l):i(b,g,m,e,t,l);if(void 0!==v){if(v)continue;f=!1;break}if(x){if(!a(t,function(e,t){if(!s(x,t)&&(b===e||o(b,e,r,i,l)))return x.push(t)})){f=!1;break}}else if(!(b===g||o(b,g,r,i,l))){f=!1;break}}return l.delete(e),l.delete(t),f}},75331,(e,t,r)=>{t.exports=function(e){var t=-1,r=Array(e.size);return e.forEach(function(e,n){r[++t]=[n,e]}),r}},99850,(e,t,r)=>{t.exports=function(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}},78012,(e,t,r)=>{var n=e.r(30353),a=e.r(63750),s=e.r(25172),i=e.r(6856),o=e.r(75331),l=e.r(99850),c=n?n.prototype:void 0,d=c?c.valueOf:void 0;t.exports=function(e,t,r,n,c,u,p){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)break;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":if(e.byteLength!=t.byteLength||!u(new a(e),new a(t)))break;return!0;case"[object Boolean]":case"[object Date]":case"[object Number]":return s(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var h=o;case"[object Set]":var m=1&n;if(h||(h=l),e.size!=t.size&&!m)break;var f=p.get(e);if(f)return f==t;n|=2,p.set(e,t);var x=i(h(e),h(t),n,c,u,p);return p.delete(e),x;case"[object Symbol]":if(d)return d.call(e)==d.call(t)}return!1}},30698,(e,t,r)=>{var n=e.r(13370),a=Object.prototype.hasOwnProperty;t.exports=function(e,t,r,s,i,o){var l=1&r,c=n(e),d=c.length;if(d!=n(t).length&&!l)return!1;for(var u=d;u--;){var p=c[u];if(!(l?p in t:a.call(t,p)))return!1}var h=o.get(e),m=o.get(t);if(h&&m)return h==t&&m==e;var f=!0;o.set(e,t),o.set(t,e);for(var x=l;++u<d;){var b=e[p=c[u]],g=t[p];if(s)var v=l?s(g,b,p,t,e,o):s(b,g,p,e,t,o);if(!(void 0===v?b===g||i(b,g,r,s,o):v)){f=!1;break}x||(x="constructor"==p)}if(f&&!x){var y=e.constructor,w=t.constructor;y!=w&&"constructor"in e&&"constructor"in t&&!("function"==typeof y&&y instanceof y&&"function"==typeof w&&w instanceof w)&&(f=!1)}return o.delete(e),o.delete(t),f}},78353,(e,t,r)=>{var n=e.r(1551),a=e.r(6856),s=e.r(78012),i=e.r(30698),o=e.r(67426),l=e.r(45350),c=e.r(56956),d=e.r(3023),u="[object Arguments]",p="[object Array]",h="[object Object]",m=Object.prototype.hasOwnProperty;t.exports=function(e,t,r,f,x,b){var g=l(e),v=l(t),y=g?p:o(e),w=v?p:o(t);y=y==u?h:y,w=w==u?h:w;var j=y==h,N=w==h,E=y==w;if(E&&c(e)){if(!c(t))return!1;g=!0,j=!1}if(E&&!j)return b||(b=new n),g||d(e)?a(e,t,r,f,x,b):s(e,t,y,r,f,x,b);if(!(1&r)){var S=j&&m.call(e,"__wrapped__"),k=N&&m.call(t,"__wrapped__");if(S||k){var _=S?e.value():e,C=k?t.value():t;return b||(b=new n),x(_,C,r,f,b)}}return!!E&&(b||(b=new n),i(e,t,r,f,x,b))}},21885,(e,t,r)=>{var n=e.r(78353),a=e.r(77289);t.exports=function e(t,r,s,i,o){return t===r||(null!=t&&null!=r&&(a(t)||a(r))?n(t,r,s,i,e,o):t!=t&&r!=r)}},48299,(e,t,r)=>{var n=e.r(1551),a=e.r(21885);t.exports=function(e,t,r,s){var i=r.length,o=i,l=!s;if(null==e)return!o;for(e=Object(e);i--;){var c=r[i];if(l&&c[2]?c[1]!==e[c[0]]:!(c[0]in e))return!1}for(;++i<o;){var d=(c=r[i])[0],u=e[d],p=c[1];if(l&&c[2]){if(void 0===u&&!(d in e))return!1}else{var h=new n;if(s)var m=s(u,p,d,e,t,h);if(!(void 0===m?a(p,u,3,s,h):m))return!1}}return!0}},15782,(e,t,r)=>{var n=e.r(12447);t.exports=function(e){return e==e&&!n(e)}},41903,(e,t,r)=>{var n=e.r(15782),a=e.r(33679);t.exports=function(e){for(var t=a(e),r=t.length;r--;){var s=t[r],i=e[s];t[r]=[s,i,n(i)]}return t}},65570,(e,t,r)=>{t.exports=function(e,t){return function(r){return null!=r&&r[e]===t&&(void 0!==t||e in Object(r))}}},23426,(e,t,r)=>{var n=e.r(48299),a=e.r(41903),s=e.r(65570);t.exports=function(e){var t=a(e);return 1==t.length&&t[0][2]?s(t[0][0],t[0][1]):function(r){return r===e||n(r,e,t)}}},61884,(e,t,r)=>{var n=e.r(77684),a=e.r(77289);t.exports=function(e){return"symbol"==typeof e||a(e)&&"[object Symbol]"==n(e)}},9903,(e,t,r)=>{var n=e.r(45350),a=e.r(61884),s=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,i=/^\w*$/;t.exports=function(e,t){if(n(e))return!1;var r=typeof e;return!!("number"==r||"symbol"==r||"boolean"==r||null==e||a(e))||i.test(e)||!s.test(e)||null!=t&&e in Object(t)}},57588,(e,t,r)=>{var n=e.r(87547);function a(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw TypeError("Expected a function");var r=function(){var n=arguments,a=t?t.apply(this,n):n[0],s=r.cache;if(s.has(a))return s.get(a);var i=e.apply(this,n);return r.cache=s.set(a,i)||s,i};return r.cache=new(a.Cache||n),r}a.Cache=n,t.exports=a},88832,(e,t,r)=>{var n=e.r(57588);t.exports=function(e){var t=n(e,function(e){return 500===r.size&&r.clear(),e}),r=t.cache;return t}},2677,(e,t,r)=>{var n=e.r(88832),a=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,s=/\\(\\)?/g;t.exports=n(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(a,function(e,r,n,a){t.push(n?a.replace(s,"$1"):r||e)}),t})},92708,(e,t,r)=>{t.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,a=Array(n);++r<n;)a[r]=t(e[r],r,e);return a}},72537,(e,t,r)=>{var n=e.r(30353),a=e.r(92708),s=e.r(45350),i=e.r(61884),o=1/0,l=n?n.prototype:void 0,c=l?l.toString:void 0;t.exports=function e(t){if("string"==typeof t)return t;if(s(t))return a(t,e)+"";if(i(t))return c?c.call(t):"";var r=t+"";return"0"==r&&1/t==-o?"-0":r}},2922,(e,t,r)=>{var n=e.r(72537);t.exports=function(e){return null==e?"":n(e)}},86287,(e,t,r)=>{var n=e.r(45350),a=e.r(9903),s=e.r(2677),i=e.r(2922);t.exports=function(e,t){return n(e)?e:a(e,t)?[e]:s(i(e))}},2054,(e,t,r)=>{var n=e.r(61884),a=1/0;t.exports=function(e){if("string"==typeof e||n(e))return e;var t=e+"";return"0"==t&&1/e==-a?"-0":t}},33141,(e,t,r)=>{var n=e.r(86287),a=e.r(2054);t.exports=function(e,t){t=n(t,e);for(var r=0,s=t.length;null!=e&&r<s;)e=e[a(t[r++])];return r&&r==s?e:void 0}},82820,(e,t,r)=>{var n=e.r(33141);t.exports=function(e,t,r){var a=null==e?void 0:n(e,t);return void 0===a?r:a}},40688,(e,t,r)=>{t.exports=function(e,t){return null!=e&&t in Object(e)}},15359,(e,t,r)=>{var n=e.r(86287),a=e.r(73250),s=e.r(45350),i=e.r(66397),o=e.r(98376),l=e.r(2054);t.exports=function(e,t,r){t=n(t,e);for(var c=-1,d=t.length,u=!1;++c<d;){var p=l(t[c]);if(!(u=null!=e&&r(e,p)))break;e=e[p]}return u||++c!=d?u:!!(d=null==e?0:e.length)&&o(d)&&i(p,d)&&(s(e)||a(e))}},76590,(e,t,r)=>{var n=e.r(40688),a=e.r(15359);t.exports=function(e,t){return null!=e&&a(e,t,n)}},72298,(e,t,r)=>{var n=e.r(21885),a=e.r(82820),s=e.r(76590),i=e.r(9903),o=e.r(15782),l=e.r(65570),c=e.r(2054);t.exports=function(e,t){return i(e)&&o(t)?l(c(e),t):function(r){var i=a(r,e);return void 0===i&&i===t?s(r,e):n(t,i,3)}}},1079,(e,t,r)=>{t.exports=function(e){return function(t){return null==t?void 0:t[e]}}},30970,(e,t,r)=>{var n=e.r(33141);t.exports=function(e){return function(t){return n(t,e)}}},33906,(e,t,r)=>{var n=e.r(1079),a=e.r(30970),s=e.r(9903),i=e.r(2054);t.exports=function(e){return s(e)?n(i(e)):a(e)}},66305,(e,t,r)=>{var n=e.r(23426),a=e.r(72298),s=e.r(53336),i=e.r(45350),o=e.r(33906);t.exports=function(e){return"function"==typeof e?e:null==e?s:"object"==typeof e?i(e)?a(e[0],e[1]):n(e):o(e)}},84892,(e,t,r)=>{var n=e.r(36100),a=e.r(36179),s=e.r(66305),i=e.r(45350);t.exports=function(e,t){return(i(e)?n:a)(e,s(t,3))}},36760,(e,t,r)=>{var n=Object.prototype.hasOwnProperty;t.exports=function(e,t){return null!=e&&n.call(e,t)}},44708,(e,t,r)=>{var n=e.r(36760),a=e.r(15359);t.exports=function(e,t){return null!=e&&a(e,t,n)}},46217,(e,t,r)=>{var n=e.r(48477),a=e.r(67426),s=e.r(73250),i=e.r(45350),o=e.r(51095),l=e.r(56956),c=e.r(63996),d=e.r(3023),u=Object.prototype.hasOwnProperty;t.exports=function(e){if(null==e)return!0;if(o(e)&&(i(e)||"string"==typeof e||"function"==typeof e.splice||l(e)||d(e)||s(e)))return!e.length;var t=a(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(c(e))return!n(e).length;for(var r in e)if(u.call(e,r))return!1;return!0}},79393,(e,t,r)=>{t.exports=function(e){return void 0===e}},7073,(e,t,r)=>{var n=e.r(53587),a=e.r(51095);t.exports=function(e,t){var r=-1,s=a(e)?Array(e.length):[];return n(e,function(e,n,a){s[++r]=t(e,n,a)}),s}},10632,(e,t,r)=>{var n=e.r(92708),a=e.r(66305),s=e.r(7073),i=e.r(45350);t.exports=function(e,t){return(i(e)?n:s)(e,a(t,3))}},92427,(e,t,r)=>{t.exports=function(e,t,r,n){var a=-1,s=null==e?0:e.length;for(n&&s&&(r=e[++a]);++a<s;)r=t(r,e[a],a,e);return r}},78577,(e,t,r)=>{t.exports=function(e,t,r,n,a){return a(e,function(e,a,s){r=n?(n=!1,e):t(r,e,a,s)}),r}},58253,(e,t,r)=>{var n=e.r(92427),a=e.r(53587),s=e.r(66305),i=e.r(78577),o=e.r(45350);t.exports=function(e,t,r){var l=o(e)?n:i,c=arguments.length<3;return l(e,s(t,4),r,c,a)}},85845,(e,t,r)=>{var n=e.r(77684),a=e.r(45350),s=e.r(77289);t.exports=function(e){return"string"==typeof e||!a(e)&&s(e)&&"[object String]"==n(e)}},13450,(e,t,r)=>{t.exports=e.r(1079)("length")},79589,(e,t,r)=>{var n=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");t.exports=function(e){return n.test(e)}},7129,(e,t,r)=>{var n="\\ud800-\\udfff",a="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",s="\\ud83c[\\udffb-\\udfff]",i="[^"+n+"]",o="(?:\\ud83c[\\udde6-\\uddff]){2}",l="[\\ud800-\\udbff][\\udc00-\\udfff]",c="(?:"+a+"|"+s+")?",d="[\\ufe0e\\ufe0f]?",u="(?:\\u200d(?:"+[i,o,l].join("|")+")"+d+c+")*",p=RegExp(s+"(?="+s+")|"+("(?:"+[i+a+"?",a,o,l,"["+n+"]"].join("|"))+")"+(d+c+u),"g");t.exports=function(e){for(var t=p.lastIndex=0;p.test(e);)++t;return t}},22994,(e,t,r)=>{var n=e.r(13450),a=e.r(79589),s=e.r(7129);t.exports=function(e){return a(e)?s(e):n(e)}},35405,(e,t,r)=>{var n=e.r(48477),a=e.r(67426),s=e.r(51095),i=e.r(85845),o=e.r(22994);t.exports=function(e){if(null==e)return 0;if(s(e))return i(e)?o(e):e.length;var t=a(e);return"[object Map]"==t||"[object Set]"==t?e.size:n(e).length}},79335,(e,t,r)=>{var n=e.r(12895),a=e.r(46352),s=e.r(63799),i=e.r(66305),o=e.r(62413),l=e.r(45350),c=e.r(56956),d=e.r(71223),u=e.r(12447),p=e.r(3023);t.exports=function(e,t,r){var h=l(e),m=h||c(e)||p(e);if(t=i(t,4),null==r){var f=e&&e.constructor;r=m?h?new f:[]:u(e)&&d(f)?a(o(e)):{}}return(m?n:s)(e,function(e,n,a){return t(r,e,n,a)}),r}},33803,(e,t,r)=>{var n=e.r(30353),a=e.r(73250),s=e.r(45350),i=n?n.isConcatSpreadable:void 0;t.exports=function(e){return s(e)||a(e)||!!(i&&e&&e[i])}},41891,(e,t,r)=>{var n=e.r(69102),a=e.r(33803);t.exports=function e(t,r,s,i,o){var l=-1,c=t.length;for(s||(s=a),o||(o=[]);++l<c;){var d=t[l];r>0&&s(d)?r>1?e(d,r-1,s,i,o):n(o,d):i||(o[o.length]=d)}return o}},87160,(e,t,r)=>{t.exports=function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}},72953,(e,t,r)=>{var n=e.r(87160),a=Math.max;t.exports=function(e,t,r){return t=a(void 0===t?e.length-1:t,0),function(){for(var s=arguments,i=-1,o=a(s.length-t,0),l=Array(o);++i<o;)l[i]=s[t+i];i=-1;for(var c=Array(t+1);++i<t;)c[i]=s[i];return c[t]=r(l),n(e,this,c)}}},1647,(e,t,r)=>{var n=e.r(56751),a=e.r(24251),s=e.r(53336);t.exports=a?function(e,t){return a(e,"toString",{configurable:!0,enumerable:!1,value:n(t),writable:!0})}:s},51994,(e,t,r)=>{var n=Date.now;t.exports=function(e){var t=0,r=0;return function(){var a=n(),s=16-(a-r);if(r=a,s>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}},84665,(e,t,r)=>{var n=e.r(1647);t.exports=e.r(51994)(n)},95059,(e,t,r)=>{var n=e.r(53336),a=e.r(72953),s=e.r(84665);t.exports=function(e,t){return s(a(e,t,n),e+"")}},56445,(e,t,r)=>{t.exports=function(e,t,r,n){for(var a=e.length,s=r+(n?1:-1);n?s--:++s<a;)if(t(e[s],s,e))return s;return -1}},4078,(e,t,r)=>{t.exports=function(e){return e!=e}},1987,(e,t,r)=>{t.exports=function(e,t,r){for(var n=r-1,a=e.length;++n<a;)if(e[n]===t)return n;return -1}},49719,(e,t,r)=>{var n=e.r(56445),a=e.r(4078),s=e.r(1987);t.exports=function(e,t,r){return t==t?s(e,t,r):n(e,a,r)}},46515,(e,t,r)=>{var n=e.r(49719);t.exports=function(e,t){return!!(null==e?0:e.length)&&n(e,t,0)>-1}},29584,(e,t,r)=>{t.exports=function(e,t,r){for(var n=-1,a=null==e?0:e.length;++n<a;)if(r(t,e[n]))return!0;return!1}},91692,(e,t,r)=>{t.exports=function(){}},8484,(e,t,r)=>{var n=e.r(6966),a=e.r(91692),s=e.r(99850);t.exports=n&&1/s(new n([,-0]))[1]==1/0?function(e){return new n(e)}:a},10339,(e,t,r)=>{var n=e.r(27493),a=e.r(46515),s=e.r(29584),i=e.r(15262),o=e.r(8484),l=e.r(99850);t.exports=function(e,t,r){var c=-1,d=a,u=e.length,p=!0,h=[],m=h;if(r)p=!1,d=s;else if(u>=200){var f=t?null:o(e);if(f)return l(f);p=!1,d=i,m=new n}else m=t?[]:h;e:for(;++c<u;){var x=e[c],b=t?t(x):x;if(x=r||0!==x?x:0,p&&b==b){for(var g=m.length;g--;)if(m[g]===b)continue e;t&&m.push(b),h.push(x)}else d(m,b,r)||(m!==h&&m.push(b),h.push(x))}return h}},91072,(e,t,r)=>{var n=e.r(51095),a=e.r(77289);t.exports=function(e){return a(e)&&n(e)}},4366,(e,t,r)=>{var n=e.r(41891),a=e.r(95059),s=e.r(10339),i=e.r(91072);t.exports=a(function(e){return s(n(e,1,i,!0))})},18110,(e,t,r)=>{var n=e.r(92708);t.exports=function(e,t){return n(t,function(t){return e[t]})}},80985,(e,t,r)=>{var n=e.r(18110),a=e.r(33679);t.exports=function(e){return null==e?[]:n(e,a(e))}},79749,(e,t,r)=>{var n;try{n={clone:e.r(12989),constant:e.r(56751),each:e.r(71846),filter:e.r(84892),has:e.r(44708),isArray:e.r(45350),isEmpty:e.r(46217),isFunction:e.r(71223),isUndefined:e.r(79393),keys:e.r(33679),map:e.r(10632),reduce:e.r(58253),size:e.r(35405),transform:e.r(79335),union:e.r(4366),values:e.r(80985)}}catch(e){}n||(n=window._),t.exports=n},64930,(e,t,r)=>{"use strict";var n=e.r(79749);function a(e){this._isDirected=!n.has(e,"directed")||e.directed,this._isMultigraph=!!n.has(e,"multigraph")&&e.multigraph,this._isCompound=!!n.has(e,"compound")&&e.compound,this._label=void 0,this._defaultNodeLabelFn=n.constant(void 0),this._defaultEdgeLabelFn=n.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children["\0"]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function s(e,t){e[t]?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function o(e,t,r,a){var s=""+t,i=""+r;if(!e&&s>i){var o=s;s=i,i=o}return s+"\x01"+i+"\x01"+(n.isUndefined(a)?"\0":a)}function l(e,t){return o(e,t.v,t.w,t.name)}t.exports=a,a.prototype._nodeCount=0,a.prototype._edgeCount=0,a.prototype.isDirected=function(){return this._isDirected},a.prototype.isMultigraph=function(){return this._isMultigraph},a.prototype.isCompound=function(){return this._isCompound},a.prototype.setGraph=function(e){return this._label=e,this},a.prototype.graph=function(){return this._label},a.prototype.setDefaultNodeLabel=function(e){return n.isFunction(e)||(e=n.constant(e)),this._defaultNodeLabelFn=e,this},a.prototype.nodeCount=function(){return this._nodeCount},a.prototype.nodes=function(){return n.keys(this._nodes)},a.prototype.sources=function(){var e=this;return n.filter(this.nodes(),function(t){return n.isEmpty(e._in[t])})},a.prototype.sinks=function(){var e=this;return n.filter(this.nodes(),function(t){return n.isEmpty(e._out[t])})},a.prototype.setNodes=function(e,t){var r=arguments,a=this;return n.each(e,function(e){r.length>1?a.setNode(e,t):a.setNode(e)}),this},a.prototype.setNode=function(e,t){return n.has(this._nodes,e)?arguments.length>1&&(this._nodes[e]=t):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]="\0",this._children[e]={},this._children["\0"][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount),this},a.prototype.node=function(e){return this._nodes[e]},a.prototype.hasNode=function(e){return n.has(this._nodes,e)},a.prototype.removeNode=function(e){var t=this;if(n.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],n.each(this.children(e),function(e){t.setParent(e)}),delete this._children[e]),n.each(n.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],n.each(n.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},a.prototype.setParent=function(e,t){if(!this._isCompound)throw Error("Cannot set parent in a non-compound graph");if(n.isUndefined(t))t="\0";else{t+="";for(var r=t;!n.isUndefined(r);r=this.parent(r))if(r===e)throw Error("Setting "+t+" as parent of "+e+" would create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},a.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},a.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if("\0"!==t)return t}},a.prototype.children=function(e){if(n.isUndefined(e)&&(e="\0"),this._isCompound){var t=this._children[e];if(t)return n.keys(t)}else if("\0"===e)return this.nodes();else if(this.hasNode(e))return[]},a.prototype.predecessors=function(e){var t=this._preds[e];if(t)return n.keys(t)},a.prototype.successors=function(e){var t=this._sucs[e];if(t)return n.keys(t)},a.prototype.neighbors=function(e){var t=this.predecessors(e);if(t)return n.union(t,this.successors(e))},a.prototype.isLeaf=function(e){return 0===(this.isDirected()?this.successors(e):this.neighbors(e)).length},a.prototype.filterNodes=function(e){var t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph());var r=this;n.each(this._nodes,function(r,n){e(n)&&t.setNode(n,r)}),n.each(this._edgeObjs,function(e){t.hasNode(e.v)&&t.hasNode(e.w)&&t.setEdge(e,r.edge(e))});var a={};return this._isCompound&&n.each(t.nodes(),function(e){t.setParent(e,function e(n){var s=r.parent(n);return void 0===s||t.hasNode(s)?(a[n]=s,s):s in a?a[s]:e(s)}(e))}),t},a.prototype.setDefaultEdgeLabel=function(e){return n.isFunction(e)||(e=n.constant(e)),this._defaultEdgeLabelFn=e,this},a.prototype.edgeCount=function(){return this._edgeCount},a.prototype.edges=function(){return n.values(this._edgeObjs)},a.prototype.setPath=function(e,t){var r=this,a=arguments;return n.reduce(e,function(e,n){return a.length>1?r.setEdge(e,n,t):r.setEdge(e,n),n}),this},a.prototype.setEdge=function(){var e,t,r,a,i=!1,l=arguments[0];"object"==typeof l&&null!==l&&"v"in l?(e=l.v,t=l.w,r=l.name,2==arguments.length&&(a=arguments[1],i=!0)):(e=l,t=arguments[1],r=arguments[3],arguments.length>2&&(a=arguments[2],i=!0)),e=""+e,t=""+t,n.isUndefined(r)||(r=""+r);var c=o(this._isDirected,e,t,r);if(n.has(this._edgeLabels,c))return i&&(this._edgeLabels[c]=a),this;if(!n.isUndefined(r)&&!this._isMultigraph)throw Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=i?a:this._defaultEdgeLabelFn(e,t,r);var d=function(e,t,r,n){var a=""+t,s=""+r;if(!e&&a>s){var i=a;a=s,s=i}var o={v:a,w:s};return n&&(o.name=n),o}(this._isDirected,e,t,r);return e=d.v,t=d.w,Object.freeze(d),this._edgeObjs[c]=d,s(this._preds[t],e),s(this._sucs[e],t),this._in[t][c]=d,this._out[e][c]=d,this._edgeCount++,this},a.prototype.edge=function(e,t,r){var n=1==arguments.length?l(this._isDirected,arguments[0]):o(this._isDirected,e,t,r);return this._edgeLabels[n]},a.prototype.hasEdge=function(e,t,r){var a=1==arguments.length?l(this._isDirected,arguments[0]):o(this._isDirected,e,t,r);return n.has(this._edgeLabels,a)},a.prototype.removeEdge=function(e,t,r){var n=1==arguments.length?l(this._isDirected,arguments[0]):o(this._isDirected,e,t,r),a=this._edgeObjs[n];return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},a.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var a=n.values(r);return t?n.filter(a,function(e){return e.v===t}):a}},a.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var a=n.values(r);return t?n.filter(a,function(e){return e.w===t}):a}},a.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);if(r)return r.concat(this.outEdges(e,t))}},36347,(e,t,r)=>{t.exports="2.1.8"},45376,(e,t,r)=>{t.exports={Graph:e.r(64930),version:e.r(36347)}},52829,(e,t,r)=>{var n=e.r(79749),a=e.r(64930);t.exports={write:function(e){var t,r,a={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:(t=e,n.map(t.nodes(),function(e){var r=t.node(e),a=t.parent(e),s={v:e};return n.isUndefined(r)||(s.value=r),n.isUndefined(a)||(s.parent=a),s})),edges:(r=e,n.map(r.edges(),function(e){var t=r.edge(e),a={v:e.v,w:e.w};return n.isUndefined(e.name)||(a.name=e.name),n.isUndefined(t)||(a.value=t),a}))};return n.isUndefined(e.graph())||(a.value=n.clone(e.graph())),a},read:function(e){var t=new a(e.options).setGraph(e.value);return n.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),n.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}}},92100,(e,t,r)=>{var n=e.r(79749);t.exports=function(e){var t,r={},a=[];return n.each(e.nodes(),function(s){t=[],function a(s){n.has(r,s)||(r[s]=!0,t.push(s),n.each(e.successors(s),a),n.each(e.predecessors(s),a))}(s),t.length&&a.push(t)}),a}},92402,(e,t,r)=>{var n=e.r(79749);function a(){this._arr=[],this._keyIndices={}}t.exports=a,a.prototype.size=function(){return this._arr.length},a.prototype.keys=function(){return this._arr.map(function(e){return e.key})},a.prototype.has=function(e){return n.has(this._keyIndices,e)},a.prototype.priority=function(e){var t=this._keyIndices[e];if(void 0!==t)return this._arr[t].priority},a.prototype.min=function(){if(0===this.size())throw Error("Queue underflow");return this._arr[0].key},a.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var a=this._arr,s=a.length;return r[e]=s,a.push({key:e,priority:t}),this._decrease(s),!0}return!1},a.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},a.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},a.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,a=e;r<t.length&&(a=t[r].priority<t[a].priority?r:a,n<t.length&&(a=t[n].priority<t[a].priority?n:a),a!==e&&(this._swap(e,a),this._heapify(a)))},a.prototype._decrease=function(e){for(var t,r=this._arr,n=r[e].priority;0!==e&&!(r[t=e>>1].priority<n);)this._swap(e,t),e=t},a.prototype._swap=function(e,t){var r=this._arr,n=this._keyIndices,a=r[e],s=r[t];r[e]=s,r[t]=a,n[s.key]=e,n[a.key]=t}},74584,(e,t,r)=>{var n=e.r(79749),a=e.r(92402);t.exports=function(e,t,r,n){return function(e,t,r,n){var s,i,o={},l=new a,c=function(e){var t=e.v!==s?e.v:e.w,n=o[t],a=r(e),c=i.distance+a;if(a<0)throw Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+a);c<n.distance&&(n.distance=c,n.predecessor=s,l.decrease(t,c))};for(e.nodes().forEach(function(e){var r=e===t?0:1/0;o[e]={distance:r},l.add(e,r)});l.size()>0&&(i=o[s=l.removeMin()]).distance!==1/0;)n(s).forEach(c);return o}(e,String(t),r||s,n||function(t){return e.outEdges(t)})};var s=n.constant(1)},63255,(e,t,r)=>{var n=e.r(74584),a=e.r(79749);t.exports=function(e,t,r){return a.transform(e.nodes(),function(a,s){a[s]=n(e,s,t,r)},{})}},36194,(e,t,r)=>{var n=e.r(79749);t.exports=function(e){var t=0,r=[],a={},s=[];return e.nodes().forEach(function(i){n.has(a,i)||function i(o){var l=a[o]={onStack:!0,lowlink:t,index:t++};if(r.push(o),e.successors(o).forEach(function(e){n.has(a,e)?a[e].onStack&&(l.lowlink=Math.min(l.lowlink,a[e].index)):(i(e),l.lowlink=Math.min(l.lowlink,a[e].lowlink))}),l.lowlink===l.index){var c,d=[];do a[c=r.pop()].onStack=!1,d.push(c);while(o!==c)s.push(d)}}(i)}),s}},72175,(e,t,r)=>{var n=e.r(79749),a=e.r(36194);t.exports=function(e){return n.filter(a(e),function(t){return t.length>1||1===t.length&&e.hasEdge(t[0],t[0])})}},78229,(e,t,r)=>{var n=e.r(79749);t.exports=function(e,t,r){var n,s,i,o,l;return n=e,s=t||a,i=r||function(t){return e.outEdges(t)},o={},(l=n.nodes()).forEach(function(e){o[e]={},o[e][e]={distance:0},l.forEach(function(t){e!==t&&(o[e][t]={distance:1/0})}),i(e).forEach(function(t){var r=t.v===e?t.w:t.v,n=s(t);o[e][r]={distance:n,predecessor:e}})}),l.forEach(function(e){var t=o[e];l.forEach(function(r){var n=o[r];l.forEach(function(r){var a=n[e],s=t[r],i=n[r],o=a.distance+s.distance;o<i.distance&&(i.distance=o,i.predecessor=s.predecessor)})})}),o};var a=n.constant(1)},8240,(e,t,r)=>{var n=e.r(79749);function a(e){var t={},r={},a=[];if(n.each(e.sinks(),function i(o){if(n.has(r,o))throw new s;n.has(t,o)||(r[o]=!0,t[o]=!0,n.each(e.predecessors(o),i),delete r[o],a.push(o))}),n.size(t)!==e.nodeCount())throw new s;return a}function s(){}t.exports=a,a.CycleException=s,s.prototype=Error()},68780,(e,t,r)=>{var n=e.r(8240);t.exports=function(e){try{n(e)}catch(e){if(e instanceof n.CycleException)return!1;throw e}return!0}},92512,(e,t,r)=>{var n=e.r(79749);t.exports=function(e,t,r){n.isArray(t)||(t=[t]);var a=(e.isDirected()?e.successors:e.neighbors).bind(e),s=[],i={};return n.each(t,function(t){if(!e.hasNode(t))throw Error("Graph does not have node: "+t);!function e(t,r,a,s,i,o){!n.has(s,r)&&(s[r]=!0,a||o.push(r),n.each(i(r),function(r){e(t,r,a,s,i,o)}),a&&o.push(r))}(e,t,"post"===r,i,a,s)}),s}},20233,(e,t,r)=>{var n=e.r(92512);t.exports=function(e,t){return n(e,t,"post")}},21802,(e,t,r)=>{var n=e.r(92512);t.exports=function(e,t){return n(e,t,"pre")}},67875,(e,t,r)=>{var n=e.r(79749),a=e.r(64930),s=e.r(92402);t.exports=function(e,t){var r,i=new a,o={},l=new s;function c(e){var n=e.v===r?e.w:e.v,a=l.priority(n);if(void 0!==a){var s=t(e);s<a&&(o[n]=r,l.decrease(n,s))}}if(0===e.nodeCount())return i;n.each(e.nodes(),function(e){l.add(e,1/0),i.setNode(e)}),l.decrease(e.nodes()[0],0);for(var d=!1;l.size()>0;){if(r=l.removeMin(),n.has(o,r))i.setEdge(r,o[r]);else if(d)throw Error("Input graph is not connected: "+e);else d=!0;e.nodeEdges(r).forEach(c)}return i}},64182,(e,t,r)=>{t.exports={components:e.r(92100),dijkstra:e.r(74584),dijkstraAll:e.r(63255),findCycles:e.r(72175),floydWarshall:e.r(78229),isAcyclic:e.r(68780),postorder:e.r(20233),preorder:e.r(21802),prim:e.r(67875),tarjan:e.r(36194),topsort:e.r(8240)}},62319,(e,t,r)=>{var n=e.r(45376);t.exports={Graph:n.Graph,json:e.r(52829),alg:e.r(64182),version:n.version}},40576,(e,t,r)=>{var n;try{n=e.r(62319)}catch(e){}n||(n=window.graphlib),t.exports=n},71944,(e,t,r)=>{var n=e.r(64324);t.exports=function(e){return n(e,5)}},70237,(e,t,r)=>{var n=e.r(25172),a=e.r(51095),s=e.r(66397),i=e.r(12447);t.exports=function(e,t,r){if(!i(r))return!1;var o=typeof t;return("number"==o?!!(a(r)&&s(t,r.length)):"string"==o&&t in r)&&n(r[t],e)}},10806,(e,t,r)=>{var n=e.r(95059),a=e.r(25172),s=e.r(70237),i=e.r(89695),o=Object.prototype,l=o.hasOwnProperty;t.exports=n(function(e,t){e=Object(e);var r=-1,n=t.length,c=n>2?t[2]:void 0;for(c&&s(t[0],t[1],c)&&(n=1);++r<n;)for(var d=t[r],u=i(d),p=-1,h=u.length;++p<h;){var m=u[p],f=e[m];(void 0===f||a(f,o[m])&&!l.call(e,m))&&(e[m]=d[m])}return e})},95200,(e,t,r)=>{var n=e.r(66305),a=e.r(51095),s=e.r(33679);t.exports=function(e){return function(t,r,i){var o=Object(t);if(!a(t)){var l=n(r,3);t=s(t),r=function(e){return l(o[e],e,o)}}var c=e(t,r,i);return c>-1?o[l?t[c]:c]:void 0}}},48891,(e,t,r)=>{var n=/\s/;t.exports=function(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t}},30364,(e,t,r)=>{var n=e.r(48891),a=/^\s+/;t.exports=function(e){return e?e.slice(0,n(e)+1).replace(a,""):e}},73759,(e,t,r)=>{var n=e.r(30364),a=e.r(12447),s=e.r(61884),i=0/0,o=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,c=/^0o[0-7]+$/i,d=parseInt;t.exports=function(e){if("number"==typeof e)return e;if(s(e))return i;if(a(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=a(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=n(e);var r=l.test(e);return r||c.test(e)?d(e.slice(2),r?2:8):o.test(e)?i:+e}},82560,(e,t,r)=>{var n=e.r(73759),a=1/0;t.exports=function(e){return e?(e=n(e))===a||e===-a?(e<0?-1:1)*17976931348623157e292:e==e?e:0:0===e?e:0}},4653,(e,t,r)=>{var n=e.r(82560);t.exports=function(e){var t=n(e),r=t%1;return t==t?r?t-r:t:0}},26965,(e,t,r)=>{var n=e.r(56445),a=e.r(66305),s=e.r(4653),i=Math.max;t.exports=function(e,t,r){var o=null==e?0:e.length;if(!o)return -1;var l=null==r?0:s(r);return l<0&&(l=i(o+l,0)),n(e,a(t,3),l)}},60191,(e,t,r)=>{t.exports=e.r(95200)(e.r(26965))},72810,(e,t,r)=>{var n=e.r(41891);t.exports=function(e){return(null==e?0:e.length)?n(e,1):[]}},14200,(e,t,r)=>{var n=e.r(98728),a=e.r(73282),s=e.r(89695);t.exports=function(e,t){return null==e?e:n(e,a(t),s)}},4879,(e,t,r)=>{t.exports=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}},60793,(e,t,r)=>{var n=e.r(74548),a=e.r(63799),s=e.r(66305);t.exports=function(e,t){var r={};return t=s(t,3),a(e,function(e,a,s){n(r,a,t(e,a,s))}),r}},41015,(e,t,r)=>{var n=e.r(61884);t.exports=function(e,t,r){for(var a=-1,s=e.length;++a<s;){var i=e[a],o=t(i);if(null!=o&&(void 0===l?o==o&&!n(o):r(o,l)))var l=o,c=i}return c}},80957,(e,t,r)=>{t.exports=function(e,t){return e>t}},86966,(e,t,r)=>{var n=e.r(41015),a=e.r(80957),s=e.r(53336);t.exports=function(e){return e&&e.length?n(e,s,a):void 0}},58352,(e,t,r)=>{var n=e.r(74548),a=e.r(25172);t.exports=function(e,t,r){(void 0===r||a(e[t],r))&&(void 0!==r||t in e)||n(e,t,r)}},1320,(e,t,r)=>{var n=e.r(77684),a=e.r(62413),s=e.r(77289),i=Object.prototype,o=Function.prototype.toString,l=i.hasOwnProperty,c=o.call(Object);t.exports=function(e){if(!s(e)||"[object Object]"!=n(e))return!1;var t=a(e);if(null===t)return!0;var r=l.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&o.call(r)==c}},84305,(e,t,r)=>{t.exports=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}},37153,(e,t,r)=>{var n=e.r(72351),a=e.r(89695);t.exports=function(e){return n(e,a(e))}},27579,(e,t,r)=>{var n=e.r(58352),a=e.r(22781),s=e.r(14712),i=e.r(76736),o=e.r(92433),l=e.r(73250),c=e.r(45350),d=e.r(91072),u=e.r(56956),p=e.r(71223),h=e.r(12447),m=e.r(1320),f=e.r(3023),x=e.r(84305),b=e.r(37153);t.exports=function(e,t,r,g,v,y,w){var j=x(e,r),N=x(t,r),E=w.get(N);if(E)return void n(e,r,E);var S=y?y(j,N,r+"",e,t,w):void 0,k=void 0===S;if(k){var _=c(N),C=!_&&u(N),M=!_&&!C&&f(N);S=N,_||C||M?c(j)?S=j:d(j)?S=i(j):C?(k=!1,S=a(N,!0)):M?(k=!1,S=s(N,!0)):S=[]:m(N)||l(N)?(S=j,l(j)?S=b(j):(!h(j)||p(j))&&(S=o(N))):k=!1}k&&(w.set(N,S),v(S,N,g,y,w),w.delete(N)),n(e,r,S)}},5702,(e,t,r)=>{var n=e.r(1551),a=e.r(58352),s=e.r(98728),i=e.r(27579),o=e.r(12447),l=e.r(89695),c=e.r(84305);t.exports=function e(t,r,d,u,p){t!==r&&s(r,function(s,l){if(p||(p=new n),o(s))i(t,r,l,d,e,u,p);else{var h=u?u(c(t,l),s,l+"",t,r,p):void 0;void 0===h&&(h=s),a(t,l,h)}},l)}},83495,(e,t,r)=>{var n=e.r(95059),a=e.r(70237);t.exports=function(e){return n(function(t,r){var n=-1,s=r.length,i=s>1?r[s-1]:void 0,o=s>2?r[2]:void 0;for(i=e.length>3&&"function"==typeof i?(s--,i):void 0,o&&a(r[0],r[1],o)&&(i=s<3?void 0:i,s=1),t=Object(t);++n<s;){var l=r[n];l&&e(t,l,n,i)}return t})}},11595,(e,t,r)=>{var n=e.r(5702);t.exports=e.r(83495)(function(e,t,r){n(e,t,r)})},98128,(e,t,r)=>{t.exports=function(e,t){return e<t}},37544,(e,t,r)=>{var n=e.r(41015),a=e.r(98128),s=e.r(53336);t.exports=function(e){return e&&e.length?n(e,s,a):void 0}},49673,(e,t,r)=>{var n=e.r(41015),a=e.r(66305),s=e.r(98128);t.exports=function(e,t){return e&&e.length?n(e,a(t,2),s):void 0}},31926,(e,t,r)=>{var n=e.r(39088);t.exports=function(){return n.Date.now()}},42173,(e,t,r)=>{var n=e.r(4300),a=e.r(86287),s=e.r(66397),i=e.r(12447),o=e.r(2054);t.exports=function(e,t,r,l){if(!i(e))return e;t=a(t,e);for(var c=-1,d=t.length,u=d-1,p=e;null!=p&&++c<d;){var h=o(t[c]),m=r;if("__proto__"===h||"constructor"===h||"prototype"===h)break;if(c!=u){var f=p[h];void 0===(m=l?l(f,h,p):void 0)&&(m=i(f)?f:s(t[c+1])?[]:{})}n(p,h,m),p=p[h]}return e}},81829,(e,t,r)=>{var n=e.r(33141),a=e.r(42173),s=e.r(86287);t.exports=function(e,t,r){for(var i=-1,o=t.length,l={};++i<o;){var c=t[i],d=n(e,c);r(d,c)&&a(l,s(c,e),d)}return l}},13879,(e,t,r)=>{var n=e.r(81829),a=e.r(76590);t.exports=function(e,t){return n(e,t,function(t,r){return a(e,r)})}},6227,(e,t,r)=>{var n=e.r(72810),a=e.r(72953),s=e.r(84665);t.exports=function(e){return s(a(e,void 0,n),e+"")}},80210,(e,t,r)=>{var n=e.r(13879);t.exports=e.r(6227)(function(e,t){return null==e?{}:n(e,t)})},93440,(e,t,r)=>{var n=Math.ceil,a=Math.max;t.exports=function(e,t,r,s){for(var i=-1,o=a(n((t-e)/(r||1)),0),l=Array(o);o--;)l[s?o:++i]=e,e+=r;return l}},69523,(e,t,r)=>{var n=e.r(93440),a=e.r(70237),s=e.r(82560);t.exports=function(e){return function(t,r,i){return i&&"number"!=typeof i&&a(t,r,i)&&(r=i=void 0),t=s(t),void 0===r?(r=t,t=0):r=s(r),i=void 0===i?t<r?1:-1:s(i),n(t,r,i,e)}}},44950,(e,t,r)=>{t.exports=e.r(69523)()},83629,(e,t,r)=>{t.exports=function(e,t){var r=e.length;for(e.sort(t);r--;)e[r]=e[r].value;return e}},4886,(e,t,r)=>{var n=e.r(61884);t.exports=function(e,t){if(e!==t){var r=void 0!==e,a=null===e,s=e==e,i=n(e),o=void 0!==t,l=null===t,c=t==t,d=n(t);if(!l&&!d&&!i&&e>t||i&&o&&c&&!l&&!d||a&&o&&c||!r&&c||!s)return 1;if(!a&&!i&&!d&&e<t||d&&r&&s&&!a&&!i||l&&r&&s||!o&&s||!c)return -1}return 0}},58322,(e,t,r)=>{var n=e.r(4886);t.exports=function(e,t,r){for(var a=-1,s=e.criteria,i=t.criteria,o=s.length,l=r.length;++a<o;){var c=n(s[a],i[a]);if(c){if(a>=l)return c;return c*("desc"==r[a]?-1:1)}}return e.index-t.index}},28138,(e,t,r)=>{var n=e.r(92708),a=e.r(33141),s=e.r(66305),i=e.r(7073),o=e.r(83629),l=e.r(33999),c=e.r(58322),d=e.r(53336),u=e.r(45350);t.exports=function(e,t,r){t=t.length?n(t,function(e){return u(e)?function(t){return a(t,1===e.length?e[0]:e)}:e}):[d];var p=-1;return t=n(t,l(s)),o(i(e,function(e,r,a){return{criteria:n(t,function(t){return t(e)}),index:++p,value:e}}),function(e,t){return c(e,t,r)})}},31195,(e,t,r)=>{var n=e.r(41891),a=e.r(28138),s=e.r(95059),i=e.r(70237);t.exports=s(function(e,t){if(null==e)return[];var r=t.length;return r>1&&i(e,t[0],t[1])?t=[]:r>2&&i(t[0],t[1],t[2])&&(t=[t[0]]),a(e,n(t,1),[])})},85658,(e,t,r)=>{var n=e.r(2922),a=0;t.exports=function(e){var t=++a;return n(e)+t}},89726,(e,t,r)=>{t.exports=function(e,t,r){for(var n=-1,a=e.length,s=t.length,i={};++n<a;){var o=n<s?t[n]:void 0;r(i,e[n],o)}return i}},78957,(e,t,r)=>{var n=e.r(4300),a=e.r(89726);t.exports=function(e,t){return a(e||[],t||[],n)}},11994,(e,t,r)=>{var n;try{n={cloneDeep:e.r(71944),constant:e.r(56751),defaults:e.r(10806),each:e.r(71846),filter:e.r(84892),find:e.r(60191),flatten:e.r(72810),forEach:e.r(93448),forIn:e.r(14200),has:e.r(44708),isUndefined:e.r(79393),last:e.r(4879),map:e.r(10632),mapValues:e.r(60793),max:e.r(86966),merge:e.r(11595),min:e.r(37544),minBy:e.r(49673),now:e.r(31926),pick:e.r(80210),range:e.r(44950),reduce:e.r(58253),sortBy:e.r(31195),uniqueId:e.r(85658),values:e.r(80985),zipObject:e.r(78957)}}catch(e){}n||(n=window._),t.exports=n},71676,(e,t,r)=>{function n(){var e={};e._next=e._prev=e,this._sentinel=e}function a(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function s(e,t){if("_next"!==e&&"_prev"!==e)return t}t.exports=n,n.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;if(t!==e)return a(t),t},n.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&a(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},n.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,s)),r=r._prev;return"["+e.join(", ")+"]"}},15769,(e,t,r)=>{var n=e.r(11994),a=e.r(40576).Graph,s=e.r(71676);t.exports=function(e,t){if(1>=e.nodeCount())return[];var r,c,d,u,p,h,m,f=(r=e,c=t||i,d=new a,u=0,p=0,n.forEach(r.nodes(),function(e){d.setNode(e,{v:e,in:0,out:0})}),n.forEach(r.edges(),function(e){var t=d.edge(e.v,e.w)||0,r=c(e);d.setEdge(e.v,e.w,t+r),p=Math.max(p,d.node(e.v).out+=r),u=Math.max(u,d.node(e.w).in+=r)}),h=n.range(p+u+3).map(function(){return new s}),m=u+1,n.forEach(d.nodes(),function(e){l(h,m,d.node(e))}),{graph:d,buckets:h,zeroIdx:m}),x=function(e,t,r){for(var n,a=[],s=t[t.length-1],i=t[0];e.nodeCount();){for(;n=i.dequeue();)o(e,t,r,n);for(;n=s.dequeue();)o(e,t,r,n);if(e.nodeCount()){for(var l=t.length-2;l>0;--l)if(n=t[l].dequeue()){a=a.concat(o(e,t,r,n,!0));break}}}return a}(f.graph,f.buckets,f.zeroIdx);return n.flatten(n.map(x,function(t){return e.outEdges(t.v,t.w)}),!0)};var i=n.constant(1);function o(e,t,r,a,s){var i=s?[]:void 0;return n.forEach(e.inEdges(a.v),function(n){var a=e.edge(n),o=e.node(n.v);s&&i.push({v:n.v,w:n.w}),o.out-=a,l(t,r,o)}),n.forEach(e.outEdges(a.v),function(n){var a=e.edge(n),s=n.w,i=e.node(s);i.in-=a,l(t,r,i)}),e.removeNode(a.v),i}function l(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}},28155,(e,t,r)=>{"use strict";var n=e.r(11994),a=e.r(15769);t.exports={run:function(e){var t,r,s,i,o,l="greedy"===e.graph().acyclicer?a(e,(t=e,function(e){return t.edge(e).weight})):(r=e,s=[],i={},o={},n.forEach(r.nodes(),function e(t){n.has(o,t)||(o[t]=!0,i[t]=!0,n.forEach(r.outEdges(t),function(t){n.has(i,t.w)?s.push(t):e(t.w)}),delete i[t])}),s);n.forEach(l,function(t){var r=e.edge(t);e.removeEdge(t),r.forwardName=t.name,r.reversed=!0,e.setEdge(t.w,t.v,r,n.uniqueId("rev"))})},undo:function(e){n.forEach(e.edges(),function(t){var r=e.edge(t);if(r.reversed){e.removeEdge(t);var n=r.forwardName;delete r.reversed,delete r.forwardName,e.setEdge(t.w,t.v,r,n)}})}}},80897,(e,t,r)=>{"use strict";var n=e.r(11994),a=e.r(40576).Graph;function s(e,t,r,a){var s;do s=n.uniqueId(a);while(e.hasNode(s))return r.dummy=t,e.setNode(s,r),s}function i(e){return n.max(n.map(e.nodes(),function(t){var r=e.node(t).rank;if(!n.isUndefined(r))return r}))}t.exports={addDummyNode:s,simplify:function(e){var t=new a().setGraph(e.graph());return n.forEach(e.nodes(),function(r){t.setNode(r,e.node(r))}),n.forEach(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},a=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+a.weight,minlen:Math.max(n.minlen,a.minlen)})}),t},asNonCompoundGraph:function(e){var t=new a({multigraph:e.isMultigraph()}).setGraph(e.graph());return n.forEach(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),n.forEach(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t},successorWeights:function(e){var t=n.map(e.nodes(),function(t){var r={};return n.forEach(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return n.zipObject(e.nodes(),t)},predecessorWeights:function(e){var t=n.map(e.nodes(),function(t){var r={};return n.forEach(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return n.zipObject(e.nodes(),t)},intersectRect:function(e,t){var r,n,a=e.x,s=e.y,i=t.x-a,o=t.y-s,l=e.width/2,c=e.height/2;if(!i&&!o)throw Error("Not possible to find intersection inside of the rectangle");return Math.abs(o)*l>Math.abs(i)*c?(o<0&&(c=-c),r=c*i/o,n=c):(i<0&&(l=-l),r=l,n=l*o/i),{x:a+r,y:s+n}},buildLayerMatrix:function(e){var t=n.map(n.range(i(e)+1),function(){return[]});return n.forEach(e.nodes(),function(r){var a=e.node(r),s=a.rank;n.isUndefined(s)||(t[s][a.order]=r)}),t},normalizeRanks:function(e){var t=n.min(n.map(e.nodes(),function(t){return e.node(t).rank}));n.forEach(e.nodes(),function(r){var a=e.node(r);n.has(a,"rank")&&(a.rank-=t)})},removeEmptyRanks:function(e){var t=n.min(n.map(e.nodes(),function(t){return e.node(t).rank})),r=[];n.forEach(e.nodes(),function(n){var a=e.node(n).rank-t;r[a]||(r[a]=[]),r[a].push(n)});var a=0,s=e.graph().nodeRankFactor;n.forEach(r,function(t,r){n.isUndefined(t)&&r%s!=0?--a:a&&n.forEach(t,function(t){e.node(t).rank+=a})})},addBorderNode:function(e,t,r,n){var a={width:0,height:0};return arguments.length>=4&&(a.rank=r,a.order=n),s(e,"border",a,t)},maxRank:i,partition:function(e,t){var r={lhs:[],rhs:[]};return n.forEach(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r},time:function(e,t){var r=n.now();try{return t()}finally{console.log(e+" time: "+(n.now()-r)+"ms")}},notime:function(e,t){return t()}}},21810,(e,t,r)=>{"use strict";var n=e.r(11994),a=e.r(80897);t.exports={run:function(e){e.graph().dummyChains=[],n.forEach(e.edges(),function(t){!function(e,t){var r,n,s,i=t.v,o=e.node(i).rank,l=t.w,c=e.node(l).rank,d=t.name,u=e.edge(t),p=u.labelRank;if(c!==o+1){for(e.removeEdge(t),s=0,++o;o<c;++s,++o)u.points=[],n={width:0,height:0,edgeLabel:u,edgeObj:t,rank:o},r=a.addDummyNode(e,"edge",n,"_d"),o===p&&(n.width=u.width,n.height=u.height,n.dummy="edge-label",n.labelpos=u.labelpos),e.setEdge(i,r,{weight:u.weight},d),0===s&&e.graph().dummyChains.push(r),i=r;e.setEdge(i,l,{weight:u.weight},d)}}(e,t)})},undo:function(e){n.forEach(e.graph().dummyChains,function(t){var r,n=e.node(t),a=n.edgeLabel;for(e.setEdge(n.edgeObj,a);n.dummy;)r=e.successors(t)[0],e.removeNode(t),a.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(a.x=n.x,a.y=n.y,a.width=n.width,a.height=n.height),t=r,n=e.node(t)})}}},99269,(e,t,r)=>{"use strict";var n=e.r(11994);t.exports={longestPath:function(e){var t={};n.forEach(e.sources(),function r(a){var s=e.node(a);if(n.has(t,a))return s.rank;t[a]=!0;var i=n.min(n.map(e.outEdges(a),function(t){return r(t.w)-e.edge(t).minlen}));return(i===1/0||null==i)&&(i=0),s.rank=i})},slack:function(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}}},10836,(e,t,r)=>{"use strict";var n=e.r(11994),a=e.r(40576).Graph,s=e.r(99269).slack;t.exports=function(e){var t,r,i,o,l=new a({directed:!1}),c=e.nodes()[0],d=e.nodeCount();for(l.setNode(c,{});t=l,r=e,n.forEach(t.nodes(),function e(a){n.forEach(r.nodeEdges(a),function(n){var i=n.v,o=a===i?n.w:i;t.hasNode(o)||s(r,n)||(t.setNode(o,{}),t.setEdge(a,o,{}),e(o))})}),t.nodeCount()<d;)i=function(e,t){return n.minBy(t.edges(),function(r){if(e.hasNode(r.v)!==e.hasNode(r.w))return s(t,r)})}(l,e),o=l.hasNode(i.v)?s(e,i):-s(e,i),function(e,t,r){n.forEach(e.nodes(),function(e){t.node(e).rank+=r})}(l,e,o);return l}},71639,(e,t,r)=>{"use strict";var n=e.r(11994),a=e.r(10836),s=e.r(99269).slack,i=e.r(99269).longestPath,o=e.r(40576).alg.preorder,l=e.r(40576).alg.postorder,c=e.r(80897).simplify;function d(e){i(e=c(e));var t,r,n=a(e);for(h(n),u(n,e);t=m(n);)r=f(n,e,t),x(n,e,t,r)}function u(e,t){var r=l(e,e.nodes());r=r.slice(0,r.length-1),n.forEach(r,function(r){var n,a,s,i;n=e,a=t,s=r,i=n.node(s).parent,n.edge(s,i).cutvalue=p(n,a,s)})}function p(e,t,r){var a=e.node(r).parent,s=!0,i=t.edge(r,a),o=0;return i||(s=!1,i=t.edge(a,r)),o=i.weight,n.forEach(t.nodeEdges(r),function(n){var i=n.v===r,l=i?n.w:n.v;if(l!==a){var c,d,u,p=i===s,h=t.edge(n).weight;if(o+=p?h:-h,c=e,d=r,u=l,c.hasEdge(d,u)){var m=e.edge(r,l).cutvalue;o+=p?-m:m}}}),o}function h(e,t){arguments.length<2&&(t=e.nodes()[0]),function e(t,r,a,s,i){var o=a,l=t.node(s);return r[s]=!0,n.forEach(t.neighbors(s),function(i){n.has(r,i)||(a=e(t,r,a,i,s))}),l.low=o,l.lim=a++,i?l.parent=i:delete l.parent,a}(e,{},1,t)}function m(e){return n.find(e.edges(),function(t){return e.edge(t).cutvalue<0})}function f(e,t,r){var a=r.v,i=r.w;t.hasEdge(a,i)||(a=r.w,i=r.v);var o=e.node(a),l=e.node(i),c=o,d=!1;o.lim>l.lim&&(c=l,d=!0);var u=n.filter(t.edges(),function(t){return d===b(e,e.node(t.v),c)&&d!==b(e,e.node(t.w),c)});return n.minBy(u,function(e){return s(t,e)})}function x(e,t,r,a){var s,i,l,c,d=r.v,p=r.w;e.removeEdge(d,p),e.setEdge(a.v,a.w,{}),h(e),u(e,t),s=e,i=t,l=n.find(s.nodes(),function(e){return!i.node(e).parent}),c=(c=o(s,l)).slice(1),n.forEach(c,function(e){var t=s.node(e).parent,r=i.edge(e,t),n=!1;r||(r=i.edge(t,e),n=!0),i.node(e).rank=i.node(t).rank+(n?r.minlen:-r.minlen)})}function b(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}t.exports=d,d.initLowLimValues=h,d.initCutValues=u,d.calcCutValue=p,d.leaveEdge=m,d.enterEdge=f,d.exchangeEdges=x},60106,(e,t,r)=>{"use strict";var n=e.r(99269).longestPath,a=e.r(10836),s=e.r(71639);t.exports=function(e){switch(e.graph().ranker){case"network-simplex":default:s(e);break;case"tight-tree":var t;n(t=e),a(t);break;case"longest-path":i(e)}};var i=n},31662,(e,t,r)=>{var n=e.r(11994);t.exports=function(e){var t,r,a,s=(t=e,r={},a=0,n.forEach(t.children(),function e(s){var i=a;n.forEach(t.children(s),e),r[s]={low:i,lim:a++}}),r);n.forEach(e.graph().dummyChains,function(t){for(var r=e.node(t),n=r.edgeObj,a=function(e,t,r,n){var a,s,i=[],o=[],l=Math.min(t[r].low,t[n].low),c=Math.max(t[r].lim,t[n].lim);a=r;do i.push(a=e.parent(a));while(a&&(t[a].low>l||c>t[a].lim))for(s=a,a=n;(a=e.parent(a))!==s;)o.push(a);return{path:i.concat(o.reverse()),lca:s}}(e,s,n.v,n.w),i=a.path,o=a.lca,l=0,c=i[0],d=!0;t!==n.w;){if(r=e.node(t),d){for(;(c=i[l])!==o&&e.node(c).maxRank<r.rank;)l++;c===o&&(d=!1)}if(!d){for(;l<i.length-1&&e.node(c=i[l+1]).minRank<=r.rank;)l++;c=i[l]}e.setParent(t,c),t=e.successors(t)[0]}})}},40786,(e,t,r)=>{var n=e.r(11994),a=e.r(80897);t.exports={run:function(e){var t,r,s,i=a.addDummyNode(e,"root",{},"_root"),o=(t=e,r={},n.forEach(t.children(),function(e){!function e(a,s){var i=t.children(a);i&&i.length&&n.forEach(i,function(t){e(t,s+1)}),r[a]=s}(e,1)}),r),l=n.max(n.values(o))-1,c=2*l+1;e.graph().nestingRoot=i,n.forEach(e.edges(),function(t){e.edge(t).minlen*=c});var d=(s=e,n.reduce(s.edges(),function(e,t){return e+s.edge(t).weight},0)+1);n.forEach(e.children(),function(t){!function e(t,r,s,i,o,l,c){var d=t.children(c);if(!d.length){c!==r&&t.setEdge(r,c,{weight:0,minlen:s});return}var u=a.addBorderNode(t,"_bt"),p=a.addBorderNode(t,"_bb"),h=t.node(c);t.setParent(u,c),h.borderTop=u,t.setParent(p,c),h.borderBottom=p,n.forEach(d,function(n){e(t,r,s,i,o,l,n);var a=t.node(n),d=a.borderTop?a.borderTop:n,h=a.borderBottom?a.borderBottom:n,m=a.borderTop?i:2*i,f=d!==h?1:o-l[c]+1;t.setEdge(u,d,{weight:m,minlen:f,nestingEdge:!0}),t.setEdge(h,p,{weight:m,minlen:f,nestingEdge:!0})}),t.parent(c)||t.setEdge(r,u,{weight:0,minlen:o+l[c]})}(e,i,c,d,l,o,t)}),e.graph().nodeRankFactor=c},cleanup:function(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,n.forEach(e.edges(),function(t){e.edge(t).nestingEdge&&e.removeEdge(t)})}}},8889,(e,t,r)=>{var n=e.r(11994),a=e.r(80897);function s(e,t,r,n,s,i){var o=s[t][i-1],l=a.addDummyNode(e,"border",{width:0,height:0,rank:i,borderType:t},r);s[t][i]=l,e.setParent(l,n),o&&e.setEdge(o,l,{weight:1})}t.exports=function(e){n.forEach(e.children(),function t(r){var a=e.children(r),i=e.node(r);if(a.length&&n.forEach(a,t),n.has(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var o=i.minRank,l=i.maxRank+1;o<l;++o)s(e,"borderLeft","_bl",r,i,o),s(e,"borderRight","_br",r,i,o)}})}},75175,(e,t,r)=>{"use strict";var n=e.r(11994);function a(e){n.forEach(e.nodes(),function(t){s(e.node(t))}),n.forEach(e.edges(),function(t){s(e.edge(t))})}function s(e){var t=e.width;e.width=e.height,e.height=t}function i(e){e.y=-e.y}function o(e){var t=e.x;e.x=e.y,e.y=t}t.exports={adjust:function(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&a(e)},undo:function(e){var t,r,s=e.graph().rankdir.toLowerCase();("bt"===s||"rl"===s)&&(t=e,n.forEach(t.nodes(),function(e){i(t.node(e))}),n.forEach(t.edges(),function(e){var r=t.edge(e);n.forEach(r.points,i),n.has(r,"y")&&i(r)})),("lr"===s||"rl"===s)&&(r=e,n.forEach(r.nodes(),function(e){o(r.node(e))}),n.forEach(r.edges(),function(e){var t=r.edge(e);n.forEach(t.points,o),n.has(t,"x")&&o(t)}),a(e))}}},92064,(e,t,r)=>{"use strict";var n=e.r(11994);t.exports=function(e){var t={},r=n.filter(e.nodes(),function(t){return!e.children(t).length}),a=n.max(n.map(r,function(t){return e.node(t).rank})),s=n.map(n.range(a+1),function(){return[]}),i=n.sortBy(r,function(t){return e.node(t).rank});return n.forEach(i,function r(a){n.has(t,a)||(t[a]=!0,s[e.node(a).rank].push(a),n.forEach(e.successors(a),r))}),s}},45729,(e,t,r)=>{"use strict";var n=e.r(11994);t.exports=function(e,t){for(var r=0,a=1;a<t.length;++a)r+=function(e,t,r){for(var a=n.zipObject(r,n.map(r,function(e,t){return t})),s=n.flatten(n.map(t,function(t){return n.sortBy(n.map(e.outEdges(t),function(t){return{pos:a[t.w],weight:e.edge(t).weight}}),"pos")}),!0),i=1;i<r.length;)i<<=1;var o=2*i-1;i-=1;var l=n.map(Array(o),function(){return 0}),c=0;return n.forEach(s.forEach(function(e){var t=e.pos+i;l[t]+=e.weight;for(var r=0;t>0;)t%2&&(r+=l[t+1]),t=t-1>>1,l[t]+=e.weight;c+=e.weight*r})),c}(e,t[a-1],t[a]);return r}},91609,(e,t,r)=>{var n=e.r(11994);t.exports=function(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(!r.length)return{v:t};var a=n.reduce(r,function(t,r){var n=e.edge(r),a=e.node(r.v);return{sum:t.sum+n.weight*a.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:a.sum/a.weight,weight:a.weight}})}},38867,(e,t,r)=>{"use strict";var n=e.r(11994);t.exports=function(e,t){var r={};return n.forEach(e,function(e,t){var a=r[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:t};n.isUndefined(e.barycenter)||(a.barycenter=e.barycenter,a.weight=e.weight)}),n.forEach(t.edges(),function(e){var t=r[e.v],a=r[e.w];n.isUndefined(t)||n.isUndefined(a)||(a.indegree++,t.out.push(r[e.w]))}),function(e){for(var t=[];e.length;){var r=e.pop();t.push(r),n.forEach(r.in.reverse(),function(e){return function(t){!t.merged&&(n.isUndefined(t.barycenter)||n.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&function(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}(e,t)}}(r)),n.forEach(r.out,function(t){return function(r){r.in.push(t),0==--r.indegree&&e.push(r)}}(r))}return n.map(n.filter(t,function(e){return!e.merged}),function(e){return n.pick(e,["vs","i","barycenter","weight"])})}(n.filter(r,function(e){return!e.indegree}))}},25571,(e,t,r)=>{var n=e.r(11994),a=e.r(80897);function s(e,t,r){for(var a;t.length&&(a=n.last(t)).i<=r;)t.pop(),e.push(a.vs),r++;return r}t.exports=function(e,t){var r,i=a.partition(e,function(e){return n.has(e,"barycenter")}),o=i.lhs,l=n.sortBy(i.rhs,function(e){return-e.i}),c=[],d=0,u=0,p=0;o.sort((r=!!t,function(e,t){return e.barycenter<t.barycenter?-1:e.barycenter>t.barycenter?1:r?t.i-e.i:e.i-t.i})),p=s(c,l,p),n.forEach(o,function(e){p+=e.vs.length,c.push(e.vs),d+=e.barycenter*e.weight,u+=e.weight,p=s(c,l,p)});var h={vs:n.flatten(c,!0)};return u&&(h.barycenter=d/u,h.weight=u),h}},15133,(e,t,r)=>{var n=e.r(11994),a=e.r(91609),s=e.r(38867),i=e.r(25571);t.exports=function e(t,r,o,l){var c,d,u=t.children(r),p=t.node(r),h=p?p.borderLeft:void 0,m=p?p.borderRight:void 0,f={};h&&(u=n.filter(u,function(e){return e!==h&&e!==m}));var x=a(t,u);n.forEach(x,function(r){if(t.children(r.v).length){var a,s,i=e(t,r.v,o,l);f[r.v]=i,n.has(i,"barycenter")&&(a=r,s=i,n.isUndefined(a.barycenter)?(a.barycenter=s.barycenter,a.weight=s.weight):(a.barycenter=(a.barycenter*a.weight+s.barycenter*s.weight)/(a.weight+s.weight),a.weight+=s.weight))}});var b=s(x,o);c=b,d=f,n.forEach(c,function(e){e.vs=n.flatten(e.vs.map(function(e){return d[e]?d[e].vs:e}),!0)});var g=i(b,l);if(h&&(g.vs=n.flatten([h,g.vs,m],!0),t.predecessors(h).length)){var v=t.node(t.predecessors(h)[0]),y=t.node(t.predecessors(m)[0]);n.has(g,"barycenter")||(g.barycenter=0,g.weight=0),g.barycenter=(g.barycenter*g.weight+v.order+y.order)/(g.weight+2),g.weight+=2}return g}},81686,(e,t,r)=>{var n=e.r(11994),a=e.r(40576).Graph;t.exports=function(e,t,r){var s=function(e){for(var t;e.hasNode(t=n.uniqueId("_root")););return t}(e),i=new a({compound:!0}).setGraph({root:s}).setDefaultNodeLabel(function(t){return e.node(t)});return n.forEach(e.nodes(),function(a){var o=e.node(a),l=e.parent(a);(o.rank===t||o.minRank<=t&&t<=o.maxRank)&&(i.setNode(a),i.setParent(a,l||s),n.forEach(e[r](a),function(t){var r=t.v===a?t.w:t.v,s=i.edge(r,a),o=n.isUndefined(s)?0:s.weight;i.setEdge(r,a,{weight:e.edge(t).weight+o})}),n.has(o,"minRank")&&i.setNode(a,{borderLeft:o.borderLeft[t],borderRight:o.borderRight[t]}))}),i}},47404,(e,t,r)=>{var n=e.r(11994);t.exports=function(e,t,r){var a,s={};n.forEach(r,function(r){for(var n,i,o=e.parent(r);o;){if((n=e.parent(o))?(i=s[n],s[n]=o):(i=a,a=o),i&&i!==o)return void t.setEdge(i,o);o=n}})}},94432,(e,t,r)=>{"use strict";var n=e.r(11994),a=e.r(92064),s=e.r(45729),i=e.r(15133),o=e.r(81686),l=e.r(47404),c=e.r(40576).Graph,d=e.r(80897);function u(e,t,r){return n.map(t,function(t){return o(e,t,r)})}function p(e,t){n.forEach(t,function(t){n.forEach(t,function(t,r){e.node(t).order=r})})}t.exports=function(e){var t=d.maxRank(e),r=u(e,n.range(1,t+1),"inEdges"),o=u(e,n.range(t-1,-1,-1),"outEdges"),h=a(e);p(e,h);for(var m,f=1/0,x=0,b=0;b<4;++x,++b){(function(e,t){var r=new c;n.forEach(e,function(e){var a=e.graph().root,s=i(e,a,r,t);n.forEach(s.vs,function(t,r){e.node(t).order=r}),l(e,r,s.vs)})})(x%2?r:o,x%4>=2),h=d.buildLayerMatrix(e);var g=s(e,h);g<f&&(b=0,m=n.cloneDeep(h),f=g)}p(e,m)}},69298,(e,t,r)=>{"use strict";var n=e.r(11994),a=e.r(40576).Graph,s=e.r(80897);function i(e,t){var r={};return n.reduce(t,function(t,a){var s=0,i=0,o=t.length,c=n.last(a);return n.forEach(a,function(t,d){var u=function(e,t){if(e.node(t).dummy)return n.find(e.predecessors(t),function(t){return e.node(t).dummy})}(e,t),p=u?e.node(u).order:o;(u||t===c)&&(n.forEach(a.slice(i,d+1),function(t){n.forEach(e.predecessors(t),function(n){var a=e.node(n),i=a.order;(i<s||p<i)&&!(a.dummy&&e.node(t).dummy)&&l(r,n,t)})}),i=d+1,s=p)}),a}),r}function o(e,t){var r={};function a(t,a,s,i,o){var c;n.forEach(n.range(a,s),function(a){c=t[a],e.node(c).dummy&&n.forEach(e.predecessors(c),function(t){var n=e.node(t);n.dummy&&(n.order<i||n.order>o)&&l(r,t,c)})})}return n.reduce(t,function(t,r){var s,i=-1,o=0;return n.forEach(r,function(n,l){if("border"===e.node(n).dummy){var c=e.predecessors(n);c.length&&(s=e.node(c[0]).order,a(r,o,l,i,s),o=l,i=s)}a(r,o,r.length,s,t.length)}),r}),r}function l(e,t,r){if(t>r){var n=t;t=r,r=n}var a=e[t];a||(e[t]=a={}),a[r]=!0}function c(e,t,r){if(t>r){var a=t;t=r,r=a}return n.has(e[t],r)}function d(e,t,r,a){var s={},i={},o={};return n.forEach(t,function(e){n.forEach(e,function(e,t){s[e]=e,i[e]=e,o[e]=t})}),n.forEach(t,function(e){var t=-1;n.forEach(e,function(e){var l=a(e);if(l.length)for(var d=((l=n.sortBy(l,function(e){return o[e]})).length-1)/2,u=Math.floor(d),p=Math.ceil(d);u<=p;++u){var h=l[u];i[e]===e&&t<o[h]&&!c(r,e,h)&&(i[h]=e,i[e]=s[e]=s[h],t=o[h])}})}),{root:s,align:i}}function u(e,t,r,s,i){var o,l,c,d,u,p,h,m,f,x,b={},g=(o=e,l=t,c=r,d=i,m=new a,x=(u=(f=o.graph()).nodesep,p=f.edgesep,h=d,function(e,t,r){var a,s,i=e.node(t),o=e.node(r);if(a=0+i.width/2,n.has(i,"labelpos"))switch(i.labelpos.toLowerCase()){case"l":s=-i.width/2;break;case"r":s=i.width/2}if(s&&(a+=h?s:-s),s=0,a+=(i.dummy?p:u)/2,a+=(o.dummy?p:u)/2,a+=o.width/2,n.has(o,"labelpos"))switch(o.labelpos.toLowerCase()){case"l":s=o.width/2;break;case"r":s=-o.width/2}return s&&(a+=h?s:-s),s=0,a}),n.forEach(l,function(e){var t;n.forEach(e,function(e){var r=c[e];if(m.setNode(r),t){var n=c[t],a=m.edge(n,r);m.setEdge(n,r,Math.max(x(o,e,t),a||0))}t=e})}),m),v=i?"borderLeft":"borderRight";function y(e,t){for(var r=g.nodes(),n=r.pop(),a={};n;)a[n]?e(n):(a[n]=!0,r.push(n),r=r.concat(t(n))),n=r.pop()}return y(function(e){b[e]=g.inEdges(e).reduce(function(e,t){return Math.max(e,b[t.v]+g.edge(t))},0)},g.predecessors.bind(g)),y(function(t){var r=g.outEdges(t).reduce(function(e,t){return Math.min(e,b[t.w]-g.edge(t))},1/0),n=e.node(t);r!==1/0&&n.borderType!==v&&(b[t]=Math.max(b[t],r))},g.successors.bind(g)),n.forEach(s,function(e){b[e]=b[r[e]]}),b}function p(e,t){return n.minBy(n.values(t),function(t){var r=-1/0,a=1/0;return n.forIn(t,function(t,n){var s,i,o=(s=e,i=n,s.node(i).width/2);r=Math.max(t+o,r),a=Math.min(t-o,a)}),r-a})}function h(e,t){var r=n.values(t),a=n.min(r),s=n.max(r);n.forEach(["u","d"],function(r){n.forEach(["l","r"],function(i){var o,l=r+i,c=e[l];if(c!==t){var d=n.values(c);(o="l"===i?a-n.min(d):s-n.max(d))&&(e[l]=n.mapValues(c,function(e){return e+o}))}})})}function m(e,t){return n.mapValues(e.ul,function(r,a){if(t)return e[t.toLowerCase()][a];var s=n.sortBy(n.map(e,a));return(s[1]+s[2])/2})}t.exports={positionX:function(e){var t,r=s.buildLayerMatrix(e),a=n.merge(i(e,r),o(e,r)),l={};n.forEach(["u","d"],function(s){t="u"===s?r:n.values(r).reverse(),n.forEach(["l","r"],function(r){"r"===r&&(t=n.map(t,function(e){return n.values(e).reverse()}));var i=("u"===s?e.predecessors:e.successors).bind(e),o=d(e,t,a,i),c=u(e,t,o.root,o.align,"r"===r);"r"===r&&(c=n.mapValues(c,function(e){return-e})),l[s+r]=c})});var c=p(e,l);return h(l,c),m(l,e.graph().align)},findType1Conflicts:i,findType2Conflicts:o,addConflict:l,hasConflict:c,verticalAlignment:d,horizontalCompaction:u,alignCoordinates:h,findSmallestWidthAlignment:p,balance:m}},66162,(e,t,r)=>{"use strict";var n=e.r(11994),a=e.r(80897),s=e.r(69298).positionX;t.exports=function(e){var t,r,i,o;t=e=a.asNonCompoundGraph(e),r=a.buildLayerMatrix(t),i=t.graph().ranksep,o=0,n.forEach(r,function(e){var r=n.max(n.map(e,function(e){return t.node(e).height}));n.forEach(e,function(e){t.node(e).y=o+r/2}),o+=r+i}),n.forEach(s(e),function(t,r){e.node(r).x=t})}},77040,(e,t,r)=>{"use strict";var n=e.r(11994),a=e.r(28155),s=e.r(21810),i=e.r(60106),o=e.r(80897).normalizeRanks,l=e.r(31662),c=e.r(80897).removeEmptyRanks,d=e.r(40786),u=e.r(8889),p=e.r(75175),h=e.r(94432),m=e.r(66162),f=e.r(80897),x=e.r(40576).Graph;t.exports=function(e,t){var r=t&&t.debugTiming?f.time:f.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){var t,r,a;return t=e,r=new x({multigraph:!0,compound:!0}),a=k(t.graph()),r.setGraph(n.merge({},g,S(a,b),n.pick(a,v))),n.forEach(t.nodes(),function(e){var a=k(t.node(e));r.setNode(e,n.defaults(S(a,y),w)),r.setParent(e,t.parent(e))}),n.forEach(t.edges(),function(e){var a=k(t.edge(e));r.setEdge(e,n.merge({},N,S(a,j),n.pick(a,E)))}),r});r(" runLayout",function(){var e,x;e=t,(x=r)(" makeSpaceForEdgeLabels",function(){var t,r;r=(t=e).graph(),r.ranksep/=2,n.forEach(t.edges(),function(e){var n=t.edge(e);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===r.rankdir||"BT"===r.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}),x(" removeSelfEdges",function(){var t;t=e,n.forEach(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:e,label:t.edge(e)}),t.removeEdge(e)}})}),x(" acyclic",function(){a.run(e)}),x(" nestingGraph.run",function(){d.run(e)}),x(" rank",function(){i(f.asNonCompoundGraph(e))}),x(" injectEdgeLabelProxies",function(){var t;t=e,n.forEach(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),a={rank:(t.node(e.w).rank-n.rank)/2+n.rank,e:e};f.addDummyNode(t,"edge-proxy",a,"_ep")}})}),x(" removeEmptyRanks",function(){c(e)}),x(" nestingGraph.cleanup",function(){d.cleanup(e)}),x(" normalizeRanks",function(){o(e)}),x(" assignRankMinMax",function(){var t,r;t=e,r=0,n.forEach(t.nodes(),function(e){var a=t.node(e);a.borderTop&&(a.minRank=t.node(a.borderTop).rank,a.maxRank=t.node(a.borderBottom).rank,r=n.max(r,a.maxRank))}),t.graph().maxRank=r}),x(" removeEdgeLabelProxies",function(){var t;t=e,n.forEach(t.nodes(),function(e){var r=t.node(e);"edge-proxy"===r.dummy&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}),x(" normalize.run",function(){s.run(e)}),x(" parentDummyChains",function(){l(e)}),x(" addBorderSegments",function(){u(e)}),x(" order",function(){h(e)}),x(" insertSelfEdges",function(){var t,r;t=e,r=f.buildLayerMatrix(t),n.forEach(r,function(e){var r=0;n.forEach(e,function(e,a){var s=t.node(e);s.order=a+r,n.forEach(s.selfEdges,function(e){f.addDummyNode(t,"selfedge",{width:e.label.width,height:e.label.height,rank:s.rank,order:a+ ++r,e:e.e,label:e.label},"_se")}),delete s.selfEdges})})}),x(" adjustCoordinateSystem",function(){p.adjust(e)}),x(" position",function(){m(e)}),x(" positionSelfEdges",function(){var t;t=e,n.forEach(t.nodes(),function(e){var r=t.node(e);if("selfedge"===r.dummy){var n=t.node(r.e.v),a=n.x+n.width/2,s=n.y,i=r.x-a,o=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:a+2*i/3,y:s-o},{x:a+5*i/6,y:s-o},{x:a+i,y:s},{x:a+5*i/6,y:s+o},{x:a+2*i/3,y:s+o}],r.label.x=r.x,r.label.y=r.y}})}),x(" removeBorderNodes",function(){var t;t=e,n.forEach(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),a=t.node(r.borderTop),s=t.node(r.borderBottom),i=t.node(n.last(r.borderLeft)),o=t.node(n.last(r.borderRight));r.width=Math.abs(o.x-i.x),r.height=Math.abs(s.y-a.y),r.x=i.x+r.width/2,r.y=a.y+r.height/2}}),n.forEach(t.nodes(),function(e){"border"===t.node(e).dummy&&t.removeNode(e)})}),x(" normalize.undo",function(){s.undo(e)}),x(" fixupEdgeLabelCoords",function(){var t;t=e,n.forEach(t.edges(),function(e){var r=t.edge(e);if(n.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}),x(" undoCoordinateSystem",function(){p.undo(e)}),x(" translateGraph",function(){!function(e){var t=1/0,r=0,a=1/0,s=0,i=e.graph(),o=i.marginx||0,l=i.marginy||0;function c(e){var n=e.x,i=e.y,o=e.width,l=e.height;t=Math.min(t,n-o/2),r=Math.max(r,n+o/2),a=Math.min(a,i-l/2),s=Math.max(s,i+l/2)}n.forEach(e.nodes(),function(t){c(e.node(t))}),n.forEach(e.edges(),function(t){var r=e.edge(t);n.has(r,"x")&&c(r)}),t-=o,a-=l,n.forEach(e.nodes(),function(r){var n=e.node(r);n.x-=t,n.y-=a}),n.forEach(e.edges(),function(r){var s=e.edge(r);n.forEach(s.points,function(e){e.x-=t,e.y-=a}),n.has(s,"x")&&(s.x-=t),n.has(s,"y")&&(s.y-=a)}),i.width=r-t+o,i.height=s-a+l}(e)}),x(" assignNodeIntersects",function(){var t;t=e,n.forEach(t.edges(),function(e){var r,n,a=t.edge(e),s=t.node(e.v),i=t.node(e.w);a.points?(r=a.points[0],n=a.points[a.points.length-1]):(a.points=[],r=i,n=s),a.points.unshift(f.intersectRect(s,r)),a.points.push(f.intersectRect(i,n))})}),x(" reversePoints",function(){var t;t=e,n.forEach(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}),x(" acyclic.undo",function(){a.undo(e)})}),r(" updateInputGraph",function(){var r,a;r=e,a=t,n.forEach(r.nodes(),function(e){var t=r.node(e),n=a.node(e);t&&(t.x=n.x,t.y=n.y,a.children(e).length&&(t.width=n.width,t.height=n.height))}),n.forEach(r.edges(),function(e){var t=r.edge(e),s=a.edge(e);t.points=s.points,n.has(s,"x")&&(t.x=s.x,t.y=s.y)}),r.graph().width=a.graph().width,r.graph().height=a.graph().height})})};var b=["nodesep","edgesep","ranksep","marginx","marginy"],g={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},v=["acyclicer","ranker","rankdir","align"],y=["width","height"],w={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],N={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},E=["labelpos"];function S(e,t){return n.mapValues(n.pick(e,t),Number)}function k(e){var t={};return n.forEach(e,function(e,r){t[r.toLowerCase()]=e}),t}},15400,(e,t,r)=>{var n=e.r(11994),a=e.r(80897),s=e.r(40576).Graph;t.exports={debugOrdering:function(e){var t=a.buildLayerMatrix(e),r=new s({compound:!0,multigraph:!0}).setGraph({});return n.forEach(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.forEach(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.forEach(t,function(e,t){r.setNode("layer"+t,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}}},51581,(e,t,r)=>{t.exports="0.8.5"},39669,(e,t,r)=>{t.exports={graphlib:e.r(40576),layout:e.r(77040),debug:e.r(15400),util:{time:e.r(80897).time,notime:e.r(80897).notime},version:e.r(51581)}},67585,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"BailoutToCSR",{enumerable:!0,get:function(){return a}});let n=e.r(32061);function a({reason:e,children:t}){if("u"<typeof window)throw Object.defineProperty(new n.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t}},9885,(e,t,r)=>{"use strict";function n(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"encodeURIPath",{enumerable:!0,get:function(){return n}})},52157,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"PreloadChunks",{enumerable:!0,get:function(){return l}});let n=e.r(43476),a=e.r(74080),s=e.r(63599),i=e.r(9885),o=e.r(43369);function l({moduleIds:e}){if("u">typeof window)return null;let t=s.workAsyncStorage.getStore();if(void 0===t)return null;let r=[];if(t.reactLoadableManifest&&e){let n=t.reactLoadableManifest;for(let t of e){if(!n[t])continue;let e=n[t].files;r.push(...e)}}if(0===r.length)return null;let l=(0,o.getDeploymentIdQueryOrEmptyString)();return(0,n.jsx)(n.Fragment,{children:r.map(e=>{let r=`${t.assetPrefix}/_next/${(0,i.encodeURIPath)(e)}${l}`;return e.endsWith(".css")?(0,n.jsx)("link",{precedence:"dynamic",href:r,rel:"stylesheet",as:"style",nonce:t.nonce},e):((0,a.preload)(r,{as:"script",fetchPriority:"low",nonce:t.nonce}),null)})})}},69093,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return c}});let n=e.r(43476),a=e.r(71645),s=e.r(67585),i=e.r(52157);function o(e){return{default:e&&"default"in e?e.default:e}}let l={loader:()=>Promise.resolve(o(()=>null)),loading:null,ssr:!0},c=function(e){let t={...l,...e},r=(0,a.lazy)(()=>t.loader().then(o)),c=t.loading;function d(e){let o=c?(0,n.jsx)(c,{isLoading:!0,pastDelay:!0,error:null}):null,l=!t.ssr||!!t.loading,d=l?a.Suspense:a.Fragment,u=t.ssr?(0,n.jsxs)(n.Fragment,{children:["u"<typeof window?(0,n.jsx)(i.PreloadChunks,{moduleIds:t.modules}):null,(0,n.jsx)(r,{...e})]}):(0,n.jsx)(s.BailoutToCSR,{reason:"next/dynamic",children:(0,n.jsx)(r,{...e})});return(0,n.jsx)(d,{...l?{fallback:o}:{},children:u})}return d.displayName="LoadableComponent",d}},70703,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return a}});let n=e.r(55682)._(e.r(69093));function a(e,t){let r={};"function"==typeof e&&(r.loader=e);let a={...r,...t};return(0,n.default)({...a,modules:a.loadableGenerated?.modules})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},53865,e=>{"use strict";var t,r,n,a,s,i,o,l,c,d,u,p,h,m,f,x,b=e.i(43476),g=e.i(71645),v={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let y=(e,t)=>{let r=(0,g.forwardRef)(({color:r="currentColor",size:n=24,strokeWidth:a=2,absoluteStrokeWidth:s,className:i="",children:o,...l},c)=>(0,g.createElement)("svg",{ref:c,...v,width:n,height:n,stroke:r,strokeWidth:s?24*Number(a)/Number(n):a,className:["lucide",`lucide-${e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase().trim()}`,i].join(" "),...l},[...t.map(([e,t])=>(0,g.createElement)(e,t)),...Array.isArray(o)?o:[o]]));return r.displayName=`${e}`,r},w=y("Home",[["path",{d:"m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"y5dka4"}],["polyline",{points:"9 22 9 12 15 12 15 22",key:"e2us08"}]]),j=y("Code",[["polyline",{points:"16 18 22 12 16 6",key:"z7tu5w"}],["polyline",{points:"8 6 2 12 8 18",key:"1eg1df"}]]),N=y("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]),E=y("Camera",[["path",{d:"M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z",key:"1tc9qg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]]),S=y("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]),k=y("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),_=y("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]),C=y("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]),M=y("Package",[["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}],["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);function T({currentPage:e,onNavigate:t}){let[r,n]=(0,g.useState)(!1),a=[{id:"home",icon:w,label:"Dashboard"},{id:"sql",icon:j,label:"SQL Editor"},{id:"database",icon:N,label:"Database"},{id:"branches",icon:C,label:"Branches"},{id:"migrations",icon:S,label:"Migrations"},{id:"snapshots",icon:E,label:"Snapshots"},{id:"timeline",icon:S,label:"Timeline"},{divider:!0},{id:"export",icon:M,label:"Export"},{id:"settings",icon:k,label:"Settings"}];return(0,b.jsxs)("div",{className:`${r?"w-16":"w-56"} bg-app-sidebar border-r border-app-border flex flex-col transition-all duration-200`,children:[(0,b.jsxs)("div",{className:"h-12 border-b border-app-border flex items-center justify-between px-4",children:[!r&&(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(N,{className:"w-5 h-5 text-green-500"}),(0,b.jsx)("span",{className:"font-semibold text-base",children:"SQL Kite"})]}),(0,b.jsx)("button",{onClick:()=>n(!r),className:"p-1 hover:bg-app-sidebar-hover rounded transition-colors",children:(0,b.jsx)(_,{className:"w-5 h-5"})})]}),(0,b.jsx)("nav",{className:"flex-1 p-2",children:(0,b.jsx)("div",{className:"space-y-0.5",children:a.map((n,a)=>{if("divider"in n)return(0,b.jsx)("div",{className:"my-2 border-t border-app-border"},`divider-${a}`);let s=n.icon,i=e===n.id;return(0,b.jsxs)("button",{onClick:()=>t(n.id),className:`
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,55838,(e,t,r)=>{"use strict";var n=e.r(71645),a="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},s=n.useState,i=n.useEffect,o=n.useLayoutEffect,l=n.useDebugValue;function c(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!a(e,r)}catch(e){return!0}}var d="u"<typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),n=s({inst:{value:r,getSnapshot:t}}),a=n[0].inst,d=n[1];return o(function(){a.value=r,a.getSnapshot=t,c(a)&&d({inst:a})},[e,r,t]),i(function(){return c(a)&&d({inst:a}),e(function(){c(a)&&d({inst:a})})},[e]),l(r),r};r.useSyncExternalStore=void 0!==n.useSyncExternalStore?n.useSyncExternalStore:d},2239,(e,t,r)=>{"use strict";t.exports=e.r(55838)},52822,(e,t,r)=>{"use strict";var n=e.r(71645),a=e.r(2239),s="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},i=a.useSyncExternalStore,o=n.useRef,l=n.useEffect,c=n.useMemo,d=n.useDebugValue;r.useSyncExternalStoreWithSelector=function(e,t,r,n,a){var u=o(null);if(null===u.current){var p={hasValue:!1,value:null};u.current=p}else p=u.current;var h=i(e,(u=c(function(){function e(e){if(!l){if(l=!0,i=e,e=n(e),void 0!==a&&p.hasValue){var t=p.value;if(a(t,e))return o=t}return o=e}if(t=o,s(i,e))return t;var r=n(e);return void 0!==a&&a(t,r)?(i=e,t):(i=e,o=r)}var i,o,l=!1,c=void 0===r?null:r;return[function(){return e(t())},null===c?void 0:function(){return e(c())}]},[t,r,n,a]))[0],u[1]);return l(function(){p.hasValue=!0,p.value=h},[h]),d(h),h}},30224,(e,t,r)=>{"use strict";t.exports=e.r(52822)},65742,(e,t,r)=>{t.exports=function(){this.__data__=[],this.size=0}},25172,(e,t,r)=>{t.exports=function(e,t){return e===t||e!=e&&t!=t}},34314,(e,t,r)=>{var n=e.r(25172);t.exports=function(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return -1}},19206,(e,t,r)=>{var n=e.r(34314),a=Array.prototype.splice;t.exports=function(e){var t=this.__data__,r=n(t,e);return!(r<0)&&(r==t.length-1?t.pop():a.call(t,r,1),--this.size,!0)}},67763,(e,t,r)=>{var n=e.r(34314);t.exports=function(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}},23407,(e,t,r)=>{var n=e.r(34314);t.exports=function(e){return n(this.__data__,e)>-1}},53833,(e,t,r)=>{var n=e.r(34314);t.exports=function(e,t){var r=this.__data__,a=n(r,e);return a<0?(++this.size,r.push([e,t])):r[a][1]=t,this}},29039,(e,t,r)=>{var n=e.r(65742),a=e.r(19206),s=e.r(67763),i=e.r(23407),o=e.r(53833);function l(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}l.prototype.clear=n,l.prototype.delete=a,l.prototype.get=s,l.prototype.has=i,l.prototype.set=o,t.exports=l},5400,(e,t,r)=>{var n=e.r(29039);t.exports=function(){this.__data__=new n,this.size=0}},86238,(e,t,r)=>{t.exports=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}},57831,(e,t,r)=>{t.exports=function(e){return this.__data__.get(e)}},77802,(e,t,r)=>{t.exports=function(e){return this.__data__.has(e)}},236,(e,t,r)=>{t.exports=e.g&&e.g.Object===Object&&e.g},39088,(e,t,r)=>{var n=e.r(236),a="object"==typeof self&&self&&self.Object===Object&&self;t.exports=n||a||Function("return this")()},30353,(e,t,r)=>{t.exports=e.r(39088).Symbol},43436,(e,t,r)=>{var n=e.r(30353),a=Object.prototype,s=a.hasOwnProperty,i=a.toString,o=n?n.toStringTag:void 0;t.exports=function(e){var t=s.call(e,o),r=e[o];try{e[o]=void 0;var n=!0}catch(e){}var a=i.call(e);return n&&(t?e[o]=r:delete e[o]),a}},5089,(e,t,r)=>{var n=Object.prototype.toString;t.exports=function(e){return n.call(e)}},77684,(e,t,r)=>{var n=e.r(30353),a=e.r(43436),s=e.r(5089),i=n?n.toStringTag:void 0;t.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":i&&i in Object(e)?a(e):s(e)}},12447,(e,t,r)=>{t.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},71223,(e,t,r)=>{var n=e.r(77684),a=e.r(12447);t.exports=function(e){if(!a(e))return!1;var t=n(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},53789,(e,t,r)=>{t.exports=e.r(39088)["__core-js_shared__"]},69553,(e,t,r)=>{var n,a=e.r(53789),s=(n=/[^.]+$/.exec(a&&a.keys&&a.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";t.exports=function(e){return!!s&&s in e}},76366,(e,t,r)=>{var n=Function.prototype.toString;t.exports=function(e){if(null!=e){try{return n.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},54368,(e,t,r)=>{var n=e.r(71223),a=e.r(69553),s=e.r(12447),i=e.r(76366),o=/^\[object .+?Constructor\]$/,l=Object.prototype,c=Function.prototype.toString,d=l.hasOwnProperty,u=RegExp("^"+c.call(d).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(e){return!(!s(e)||a(e))&&(n(e)?u:o).test(i(e))}},63958,(e,t,r)=>{t.exports=function(e,t){return null==e?void 0:e[t]}},41920,(e,t,r)=>{var n=e.r(54368),a=e.r(63958);t.exports=function(e,t){var r=a(e,t);return n(r)?r:void 0}},87362,(e,t,r)=>{t.exports=e.r(41920)(e.r(39088),"Map")},32760,(e,t,r)=>{t.exports=e.r(41920)(Object,"create")},50514,(e,t,r)=>{var n=e.r(32760);t.exports=function(){this.__data__=n?n(null):{},this.size=0}},97617,(e,t,r)=>{t.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=!!t,t}},57412,(e,t,r)=>{var n=e.r(32760),a=Object.prototype.hasOwnProperty;t.exports=function(e){var t=this.__data__;if(n){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return a.call(t,e)?t[e]:void 0}},23592,(e,t,r)=>{var n=e.r(32760),a=Object.prototype.hasOwnProperty;t.exports=function(e){var t=this.__data__;return n?void 0!==t[e]:a.call(t,e)}},39004,(e,t,r)=>{var n=e.r(32760);t.exports=function(e,t){var r=this.__data__;return this.size+=+!this.has(e),r[e]=n&&void 0===t?"__lodash_hash_undefined__":t,this}},34421,(e,t,r)=>{var n=e.r(50514),a=e.r(97617),s=e.r(57412),i=e.r(23592),o=e.r(39004);function l(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}l.prototype.clear=n,l.prototype.delete=a,l.prototype.get=s,l.prototype.has=i,l.prototype.set=o,t.exports=l},48994,(e,t,r)=>{var n=e.r(34421),a=e.r(29039),s=e.r(87362);t.exports=function(){this.size=0,this.__data__={hash:new n,map:new(s||a),string:new n}}},24053,(e,t,r)=>{t.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},87994,(e,t,r)=>{var n=e.r(24053);t.exports=function(e,t){var r=e.__data__;return n(t)?r["string"==typeof t?"string":"hash"]:r.map}},96768,(e,t,r)=>{var n=e.r(87994);t.exports=function(e){var t=n(this,e).delete(e);return this.size-=!!t,t}},29932,(e,t,r)=>{var n=e.r(87994);t.exports=function(e){return n(this,e).get(e)}},92647,(e,t,r)=>{var n=e.r(87994);t.exports=function(e){return n(this,e).has(e)}},46644,(e,t,r)=>{var n=e.r(87994);t.exports=function(e,t){var r=n(this,e),a=r.size;return r.set(e,t),this.size+=+(r.size!=a),this}},87547,(e,t,r)=>{var n=e.r(48994),a=e.r(96768),s=e.r(29932),i=e.r(92647),o=e.r(46644);function l(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}l.prototype.clear=n,l.prototype.delete=a,l.prototype.get=s,l.prototype.has=i,l.prototype.set=o,t.exports=l},20517,(e,t,r)=>{var n=e.r(29039),a=e.r(87362),s=e.r(87547);t.exports=function(e,t){var r=this.__data__;if(r instanceof n){var i=r.__data__;if(!a||i.length<199)return i.push([e,t]),this.size=++r.size,this;r=this.__data__=new s(i)}return r.set(e,t),this.size=r.size,this}},1551,(e,t,r)=>{var n=e.r(29039),a=e.r(5400),s=e.r(86238),i=e.r(57831),o=e.r(77802),l=e.r(20517);function c(e){var t=this.__data__=new n(e);this.size=t.size}c.prototype.clear=a,c.prototype.delete=s,c.prototype.get=i,c.prototype.has=o,c.prototype.set=l,t.exports=c},12895,(e,t,r)=>{t.exports=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}},24251,(e,t,r)=>{var n=e.r(41920);t.exports=function(){try{var e=n(Object,"defineProperty");return e({},"",{}),e}catch(e){}}()},74548,(e,t,r)=>{var n=e.r(24251);t.exports=function(e,t,r){"__proto__"==t&&n?n(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}},4300,(e,t,r)=>{var n=e.r(74548),a=e.r(25172),s=Object.prototype.hasOwnProperty;t.exports=function(e,t,r){var i=e[t];s.call(e,t)&&a(i,r)&&(void 0!==r||t in e)||n(e,t,r)}},72351,(e,t,r)=>{var n=e.r(4300),a=e.r(74548);t.exports=function(e,t,r,s){var i=!r;r||(r={});for(var o=-1,l=t.length;++o<l;){var c=t[o],d=s?s(r[c],e[c],c,r,e):void 0;void 0===d&&(d=e[c]),i?a(r,c,d):n(r,c,d)}return r}},55803,(e,t,r)=>{t.exports=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}},77289,(e,t,r)=>{t.exports=function(e){return null!=e&&"object"==typeof e}},66645,(e,t,r)=>{var n=e.r(77684),a=e.r(77289);t.exports=function(e){return a(e)&&"[object Arguments]"==n(e)}},73250,(e,t,r)=>{var n=e.r(66645),a=e.r(77289),s=Object.prototype,i=s.hasOwnProperty,o=s.propertyIsEnumerable;t.exports=n(function(){return arguments}())?n:function(e){return a(e)&&i.call(e,"callee")&&!o.call(e,"callee")}},45350,(e,t,r)=>{t.exports=Array.isArray},24013,(e,t,r)=>{t.exports=function(){return!1}},56956,(e,t,r)=>{var n=e.r(39088),a=e.r(24013),s=r&&!r.nodeType&&r,i=s&&t&&!t.nodeType&&t,o=i&&i.exports===s?n.Buffer:void 0;t.exports=(o?o.isBuffer:void 0)||a},66397,(e,t,r)=>{var n=/^(?:0|[1-9]\d*)$/;t.exports=function(e,t){var r=typeof e;return!!(t=null==t?0x1fffffffffffff:t)&&("number"==r||"symbol"!=r&&n.test(e))&&e>-1&&e%1==0&&e<t}},98376,(e,t,r)=>{t.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=0x1fffffffffffff}},76602,(e,t,r)=>{var n=e.r(77684),a=e.r(98376),s=e.r(77289),i={};i["[object Float32Array]"]=i["[object Float64Array]"]=i["[object Int8Array]"]=i["[object Int16Array]"]=i["[object Int32Array]"]=i["[object Uint8Array]"]=i["[object Uint8ClampedArray]"]=i["[object Uint16Array]"]=i["[object Uint32Array]"]=!0,i["[object Arguments]"]=i["[object Array]"]=i["[object ArrayBuffer]"]=i["[object Boolean]"]=i["[object DataView]"]=i["[object Date]"]=i["[object Error]"]=i["[object Function]"]=i["[object Map]"]=i["[object Number]"]=i["[object Object]"]=i["[object RegExp]"]=i["[object Set]"]=i["[object String]"]=i["[object WeakMap]"]=!1,t.exports=function(e){return s(e)&&a(e.length)&&!!i[n(e)]}},33999,(e,t,r)=>{t.exports=function(e){return function(t){return e(t)}}},80156,(e,t,r)=>{var n=e.r(236),a=r&&!r.nodeType&&r,s=a&&t&&!t.nodeType&&t,i=s&&s.exports===a&&n.process;t.exports=function(){try{var e=s&&s.require&&s.require("util").types;if(e)return e;return i&&i.binding&&i.binding("util")}catch(e){}}()},3023,(e,t,r)=>{var n=e.r(76602),a=e.r(33999),s=e.r(80156),i=s&&s.isTypedArray;t.exports=i?a(i):n},58877,(e,t,r)=>{var n=e.r(55803),a=e.r(73250),s=e.r(45350),i=e.r(56956),o=e.r(66397),l=e.r(3023),c=Object.prototype.hasOwnProperty;t.exports=function(e,t){var r=s(e),d=!r&&a(e),u=!r&&!d&&i(e),p=!r&&!d&&!u&&l(e),h=r||d||u||p,m=h?n(e.length,String):[],f=m.length;for(var x in e)(t||c.call(e,x))&&!(h&&("length"==x||u&&("offset"==x||"parent"==x)||p&&("buffer"==x||"byteLength"==x||"byteOffset"==x)||o(x,f)))&&m.push(x);return m}},63996,(e,t,r)=>{var n=Object.prototype;t.exports=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||n)}},25717,(e,t,r)=>{t.exports=function(e,t){return function(r){return e(t(r))}}},42369,(e,t,r)=>{t.exports=e.r(25717)(Object.keys,Object)},48477,(e,t,r)=>{var n=e.r(63996),a=e.r(42369),s=Object.prototype.hasOwnProperty;t.exports=function(e){if(!n(e))return a(e);var t=[];for(var r in Object(e))s.call(e,r)&&"constructor"!=r&&t.push(r);return t}},51095,(e,t,r)=>{var n=e.r(71223),a=e.r(98376);t.exports=function(e){return null!=e&&a(e.length)&&!n(e)}},33679,(e,t,r)=>{var n=e.r(58877),a=e.r(48477),s=e.r(51095);t.exports=function(e){return s(e)?n(e):a(e)}},60196,(e,t,r)=>{var n=e.r(72351),a=e.r(33679);t.exports=function(e,t){return e&&n(t,a(t),e)}},13730,(e,t,r)=>{t.exports=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}},85689,(e,t,r)=>{var n=e.r(12447),a=e.r(63996),s=e.r(13730),i=Object.prototype.hasOwnProperty;t.exports=function(e){if(!n(e))return s(e);var t=a(e),r=[];for(var o in e)"constructor"==o&&(t||!i.call(e,o))||r.push(o);return r}},89695,(e,t,r)=>{var n=e.r(58877),a=e.r(85689),s=e.r(51095);t.exports=function(e){return s(e)?n(e,!0):a(e)}},52624,(e,t,r)=>{var n=e.r(72351),a=e.r(89695);t.exports=function(e,t){return e&&n(t,a(t),e)}},22781,(e,t,r)=>{var n=e.r(39088),a=r&&!r.nodeType&&r,s=a&&t&&!t.nodeType&&t,i=s&&s.exports===a?n.Buffer:void 0,o=i?i.allocUnsafe:void 0;t.exports=function(e,t){if(t)return e.slice();var r=e.length,n=o?o(r):new e.constructor(r);return e.copy(n),n}},76736,(e,t,r)=>{t.exports=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}},36100,(e,t,r)=>{t.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,a=0,s=[];++r<n;){var i=e[r];t(i,r,e)&&(s[a++]=i)}return s}},45159,(e,t,r)=>{t.exports=function(){return[]}},17332,(e,t,r)=>{var n=e.r(36100),a=e.r(45159),s=Object.prototype.propertyIsEnumerable,i=Object.getOwnPropertySymbols;t.exports=i?function(e){return null==e?[]:n(i(e=Object(e)),function(t){return s.call(e,t)})}:a},74071,(e,t,r)=>{var n=e.r(72351),a=e.r(17332);t.exports=function(e,t){return n(e,a(e),t)}},69102,(e,t,r)=>{t.exports=function(e,t){for(var r=-1,n=t.length,a=e.length;++r<n;)e[a+r]=t[r];return e}},62413,(e,t,r)=>{t.exports=e.r(25717)(Object.getPrototypeOf,Object)},33648,(e,t,r)=>{var n=e.r(69102),a=e.r(62413),s=e.r(17332),i=e.r(45159);t.exports=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)n(t,s(e)),e=a(e);return t}:i},45001,(e,t,r)=>{var n=e.r(72351),a=e.r(33648);t.exports=function(e,t){return n(e,a(e),t)}},23403,(e,t,r)=>{var n=e.r(69102),a=e.r(45350);t.exports=function(e,t,r){var s=t(e);return a(e)?s:n(s,r(e))}},13370,(e,t,r)=>{var n=e.r(23403),a=e.r(17332),s=e.r(33679);t.exports=function(e){return n(e,s,a)}},7889,(e,t,r)=>{var n=e.r(23403),a=e.r(33648),s=e.r(89695);t.exports=function(e){return n(e,s,a)}},1419,(e,t,r)=>{t.exports=e.r(41920)(e.r(39088),"DataView")},17074,(e,t,r)=>{t.exports=e.r(41920)(e.r(39088),"Promise")},6966,(e,t,r)=>{t.exports=e.r(41920)(e.r(39088),"Set")},73895,(e,t,r)=>{t.exports=e.r(41920)(e.r(39088),"WeakMap")},67426,(e,t,r)=>{var n=e.r(1419),a=e.r(87362),s=e.r(17074),i=e.r(6966),o=e.r(73895),l=e.r(77684),c=e.r(76366),d="[object Map]",u="[object Promise]",p="[object Set]",h="[object WeakMap]",m="[object DataView]",f=c(n),x=c(a),b=c(s),g=c(i),v=c(o),y=l;(n&&y(new n(new ArrayBuffer(1)))!=m||a&&y(new a)!=d||s&&y(s.resolve())!=u||i&&y(new i)!=p||o&&y(new o)!=h)&&(y=function(e){var t=l(e),r="[object Object]"==t?e.constructor:void 0,n=r?c(r):"";if(n)switch(n){case f:return m;case x:return d;case b:return u;case g:return p;case v:return h}return t}),t.exports=y},53265,(e,t,r)=>{var n=Object.prototype.hasOwnProperty;t.exports=function(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&n.call(e,"index")&&(r.index=e.index,r.input=e.input),r}},63750,(e,t,r)=>{t.exports=e.r(39088).Uint8Array},25393,(e,t,r)=>{var n=e.r(63750);t.exports=function(e){var t=new e.constructor(e.byteLength);return new n(t).set(new n(e)),t}},64146,(e,t,r)=>{var n=e.r(25393);t.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}},84046,(e,t,r)=>{var n=/\w*$/;t.exports=function(e){var t=new e.constructor(e.source,n.exec(e));return t.lastIndex=e.lastIndex,t}},98430,(e,t,r)=>{var n=e.r(30353),a=n?n.prototype:void 0,s=a?a.valueOf:void 0;t.exports=function(e){return s?Object(s.call(e)):{}}},14712,(e,t,r)=>{var n=e.r(25393);t.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}},49769,(e,t,r)=>{var n=e.r(25393),a=e.r(64146),s=e.r(84046),i=e.r(98430),o=e.r(14712);t.exports=function(e,t,r){var l=e.constructor;switch(t){case"[object ArrayBuffer]":return n(e);case"[object Boolean]":case"[object Date]":return new l(+e);case"[object DataView]":return a(e,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return o(e,r);case"[object Map]":case"[object Set]":return new l;case"[object Number]":case"[object String]":return new l(e);case"[object RegExp]":return s(e);case"[object Symbol]":return i(e)}}},46352,(e,t,r)=>{var n=e.r(12447),a=Object.create;t.exports=function(){function e(){}return function(t){if(!n(t))return{};if(a)return a(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}()},92433,(e,t,r)=>{var n=e.r(46352),a=e.r(62413),s=e.r(63996);t.exports=function(e){return"function"!=typeof e.constructor||s(e)?{}:n(a(e))}},81198,(e,t,r)=>{var n=e.r(67426),a=e.r(77289);t.exports=function(e){return a(e)&&"[object Map]"==n(e)}},54284,(e,t,r)=>{var n=e.r(81198),a=e.r(33999),s=e.r(80156),i=s&&s.isMap;t.exports=i?a(i):n},36206,(e,t,r)=>{var n=e.r(67426),a=e.r(77289);t.exports=function(e){return a(e)&&"[object Set]"==n(e)}},40158,(e,t,r)=>{var n=e.r(36206),a=e.r(33999),s=e.r(80156),i=s&&s.isSet;t.exports=i?a(i):n},64324,(e,t,r)=>{var n=e.r(1551),a=e.r(12895),s=e.r(4300),i=e.r(60196),o=e.r(52624),l=e.r(22781),c=e.r(76736),d=e.r(74071),u=e.r(45001),p=e.r(13370),h=e.r(7889),m=e.r(67426),f=e.r(53265),x=e.r(49769),b=e.r(92433),g=e.r(45350),v=e.r(56956),y=e.r(54284),w=e.r(12447),j=e.r(40158),N=e.r(33679),E=e.r(89695),S="[object Arguments]",k="[object Function]",_="[object Object]",C={};C[S]=C["[object Array]"]=C["[object ArrayBuffer]"]=C["[object DataView]"]=C["[object Boolean]"]=C["[object Date]"]=C["[object Float32Array]"]=C["[object Float64Array]"]=C["[object Int8Array]"]=C["[object Int16Array]"]=C["[object Int32Array]"]=C["[object Map]"]=C["[object Number]"]=C[_]=C["[object RegExp]"]=C["[object Set]"]=C["[object String]"]=C["[object Symbol]"]=C["[object Uint8Array]"]=C["[object Uint8ClampedArray]"]=C["[object Uint16Array]"]=C["[object Uint32Array]"]=!0,C["[object Error]"]=C[k]=C["[object WeakMap]"]=!1,t.exports=function e(t,r,M,T,A,O){var R,D=1&r,$=2&r,L=4&r;if(M&&(R=A?M(t,T,A,O):M(t)),void 0!==R)return R;if(!w(t))return t;var P=g(t);if(P){if(R=f(t),!D)return c(t,R)}else{var I=m(t),B=I==k||"[object GeneratorFunction]"==I;if(v(t))return l(t,D);if(I==_||I==S||B&&!A){if(R=$||B?{}:b(t),!D)return $?u(t,o(R,t)):d(t,i(R,t))}else{if(!C[I])return A?t:{};R=x(t,I,D)}}O||(O=new n);var F=O.get(t);if(F)return F;O.set(t,R),j(t)?t.forEach(function(n){R.add(e(n,r,M,n,t,O))}):y(t)&&t.forEach(function(n,a){R.set(a,e(n,r,M,a,t,O))});var z=L?$?h:p:$?E:N,q=P?void 0:z(t);return a(q||t,function(n,a){q&&(n=t[a=n]),s(R,a,e(n,r,M,a,t,O))}),R}},12989,(e,t,r)=>{var n=e.r(64324);t.exports=function(e){return n(e,4)}},56751,(e,t,r)=>{t.exports=function(e){return function(){return e}}},72385,(e,t,r)=>{t.exports=function(e){return function(t,r,n){for(var a=-1,s=Object(t),i=n(t),o=i.length;o--;){var l=i[e?o:++a];if(!1===r(s[l],l,s))break}return t}}},98728,(e,t,r)=>{t.exports=e.r(72385)()},63799,(e,t,r)=>{var n=e.r(98728),a=e.r(33679);t.exports=function(e,t){return e&&n(e,t,a)}},73554,(e,t,r)=>{var n=e.r(51095);t.exports=function(e,t){return function(r,a){if(null==r)return r;if(!n(r))return e(r,a);for(var s=r.length,i=t?s:-1,o=Object(r);(t?i--:++i<s)&&!1!==a(o[i],i,o););return r}}},53587,(e,t,r)=>{var n=e.r(63799);t.exports=e.r(73554)(n)},53336,(e,t,r)=>{t.exports=function(e){return e}},73282,(e,t,r)=>{var n=e.r(53336);t.exports=function(e){return"function"==typeof e?e:n}},93448,(e,t,r)=>{var n=e.r(12895),a=e.r(53587),s=e.r(73282),i=e.r(45350);t.exports=function(e,t){return(i(e)?n:a)(e,s(t))}},71846,(e,t,r)=>{t.exports=e.r(93448)},36179,(e,t,r)=>{var n=e.r(53587);t.exports=function(e,t){var r=[];return n(e,function(e,n,a){t(e,n,a)&&r.push(e)}),r}},21274,(e,t,r)=>{t.exports=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}},39805,(e,t,r)=>{t.exports=function(e){return this.__data__.has(e)}},27493,(e,t,r)=>{var n=e.r(87547),a=e.r(21274),s=e.r(39805);function i(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new n;++t<r;)this.add(e[t])}i.prototype.add=i.prototype.push=a,i.prototype.has=s,t.exports=i},51477,(e,t,r)=>{t.exports=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}},15262,(e,t,r)=>{t.exports=function(e,t){return e.has(t)}},6856,(e,t,r)=>{var n=e.r(27493),a=e.r(51477),s=e.r(15262);t.exports=function(e,t,r,i,o,l){var c=1&r,d=e.length,u=t.length;if(d!=u&&!(c&&u>d))return!1;var p=l.get(e),h=l.get(t);if(p&&h)return p==t&&h==e;var m=-1,f=!0,x=2&r?new n:void 0;for(l.set(e,t),l.set(t,e);++m<d;){var b=e[m],g=t[m];if(i)var v=c?i(g,b,m,t,e,l):i(b,g,m,e,t,l);if(void 0!==v){if(v)continue;f=!1;break}if(x){if(!a(t,function(e,t){if(!s(x,t)&&(b===e||o(b,e,r,i,l)))return x.push(t)})){f=!1;break}}else if(!(b===g||o(b,g,r,i,l))){f=!1;break}}return l.delete(e),l.delete(t),f}},75331,(e,t,r)=>{t.exports=function(e){var t=-1,r=Array(e.size);return e.forEach(function(e,n){r[++t]=[n,e]}),r}},99850,(e,t,r)=>{t.exports=function(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}},78012,(e,t,r)=>{var n=e.r(30353),a=e.r(63750),s=e.r(25172),i=e.r(6856),o=e.r(75331),l=e.r(99850),c=n?n.prototype:void 0,d=c?c.valueOf:void 0;t.exports=function(e,t,r,n,c,u,p){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)break;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":if(e.byteLength!=t.byteLength||!u(new a(e),new a(t)))break;return!0;case"[object Boolean]":case"[object Date]":case"[object Number]":return s(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var h=o;case"[object Set]":var m=1&n;if(h||(h=l),e.size!=t.size&&!m)break;var f=p.get(e);if(f)return f==t;n|=2,p.set(e,t);var x=i(h(e),h(t),n,c,u,p);return p.delete(e),x;case"[object Symbol]":if(d)return d.call(e)==d.call(t)}return!1}},30698,(e,t,r)=>{var n=e.r(13370),a=Object.prototype.hasOwnProperty;t.exports=function(e,t,r,s,i,o){var l=1&r,c=n(e),d=c.length;if(d!=n(t).length&&!l)return!1;for(var u=d;u--;){var p=c[u];if(!(l?p in t:a.call(t,p)))return!1}var h=o.get(e),m=o.get(t);if(h&&m)return h==t&&m==e;var f=!0;o.set(e,t),o.set(t,e);for(var x=l;++u<d;){var b=e[p=c[u]],g=t[p];if(s)var v=l?s(g,b,p,t,e,o):s(b,g,p,e,t,o);if(!(void 0===v?b===g||i(b,g,r,s,o):v)){f=!1;break}x||(x="constructor"==p)}if(f&&!x){var y=e.constructor,w=t.constructor;y!=w&&"constructor"in e&&"constructor"in t&&!("function"==typeof y&&y instanceof y&&"function"==typeof w&&w instanceof w)&&(f=!1)}return o.delete(e),o.delete(t),f}},78353,(e,t,r)=>{var n=e.r(1551),a=e.r(6856),s=e.r(78012),i=e.r(30698),o=e.r(67426),l=e.r(45350),c=e.r(56956),d=e.r(3023),u="[object Arguments]",p="[object Array]",h="[object Object]",m=Object.prototype.hasOwnProperty;t.exports=function(e,t,r,f,x,b){var g=l(e),v=l(t),y=g?p:o(e),w=v?p:o(t);y=y==u?h:y,w=w==u?h:w;var j=y==h,N=w==h,E=y==w;if(E&&c(e)){if(!c(t))return!1;g=!0,j=!1}if(E&&!j)return b||(b=new n),g||d(e)?a(e,t,r,f,x,b):s(e,t,y,r,f,x,b);if(!(1&r)){var S=j&&m.call(e,"__wrapped__"),k=N&&m.call(t,"__wrapped__");if(S||k){var _=S?e.value():e,C=k?t.value():t;return b||(b=new n),x(_,C,r,f,b)}}return!!E&&(b||(b=new n),i(e,t,r,f,x,b))}},21885,(e,t,r)=>{var n=e.r(78353),a=e.r(77289);t.exports=function e(t,r,s,i,o){return t===r||(null!=t&&null!=r&&(a(t)||a(r))?n(t,r,s,i,e,o):t!=t&&r!=r)}},48299,(e,t,r)=>{var n=e.r(1551),a=e.r(21885);t.exports=function(e,t,r,s){var i=r.length,o=i,l=!s;if(null==e)return!o;for(e=Object(e);i--;){var c=r[i];if(l&&c[2]?c[1]!==e[c[0]]:!(c[0]in e))return!1}for(;++i<o;){var d=(c=r[i])[0],u=e[d],p=c[1];if(l&&c[2]){if(void 0===u&&!(d in e))return!1}else{var h=new n;if(s)var m=s(u,p,d,e,t,h);if(!(void 0===m?a(p,u,3,s,h):m))return!1}}return!0}},15782,(e,t,r)=>{var n=e.r(12447);t.exports=function(e){return e==e&&!n(e)}},41903,(e,t,r)=>{var n=e.r(15782),a=e.r(33679);t.exports=function(e){for(var t=a(e),r=t.length;r--;){var s=t[r],i=e[s];t[r]=[s,i,n(i)]}return t}},65570,(e,t,r)=>{t.exports=function(e,t){return function(r){return null!=r&&r[e]===t&&(void 0!==t||e in Object(r))}}},23426,(e,t,r)=>{var n=e.r(48299),a=e.r(41903),s=e.r(65570);t.exports=function(e){var t=a(e);return 1==t.length&&t[0][2]?s(t[0][0],t[0][1]):function(r){return r===e||n(r,e,t)}}},61884,(e,t,r)=>{var n=e.r(77684),a=e.r(77289);t.exports=function(e){return"symbol"==typeof e||a(e)&&"[object Symbol]"==n(e)}},9903,(e,t,r)=>{var n=e.r(45350),a=e.r(61884),s=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,i=/^\w*$/;t.exports=function(e,t){if(n(e))return!1;var r=typeof e;return!!("number"==r||"symbol"==r||"boolean"==r||null==e||a(e))||i.test(e)||!s.test(e)||null!=t&&e in Object(t)}},57588,(e,t,r)=>{var n=e.r(87547);function a(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw TypeError("Expected a function");var r=function(){var n=arguments,a=t?t.apply(this,n):n[0],s=r.cache;if(s.has(a))return s.get(a);var i=e.apply(this,n);return r.cache=s.set(a,i)||s,i};return r.cache=new(a.Cache||n),r}a.Cache=n,t.exports=a},88832,(e,t,r)=>{var n=e.r(57588);t.exports=function(e){var t=n(e,function(e){return 500===r.size&&r.clear(),e}),r=t.cache;return t}},2677,(e,t,r)=>{var n=e.r(88832),a=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,s=/\\(\\)?/g;t.exports=n(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(a,function(e,r,n,a){t.push(n?a.replace(s,"$1"):r||e)}),t})},92708,(e,t,r)=>{t.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,a=Array(n);++r<n;)a[r]=t(e[r],r,e);return a}},72537,(e,t,r)=>{var n=e.r(30353),a=e.r(92708),s=e.r(45350),i=e.r(61884),o=1/0,l=n?n.prototype:void 0,c=l?l.toString:void 0;t.exports=function e(t){if("string"==typeof t)return t;if(s(t))return a(t,e)+"";if(i(t))return c?c.call(t):"";var r=t+"";return"0"==r&&1/t==-o?"-0":r}},2922,(e,t,r)=>{var n=e.r(72537);t.exports=function(e){return null==e?"":n(e)}},86287,(e,t,r)=>{var n=e.r(45350),a=e.r(9903),s=e.r(2677),i=e.r(2922);t.exports=function(e,t){return n(e)?e:a(e,t)?[e]:s(i(e))}},2054,(e,t,r)=>{var n=e.r(61884),a=1/0;t.exports=function(e){if("string"==typeof e||n(e))return e;var t=e+"";return"0"==t&&1/e==-a?"-0":t}},33141,(e,t,r)=>{var n=e.r(86287),a=e.r(2054);t.exports=function(e,t){t=n(t,e);for(var r=0,s=t.length;null!=e&&r<s;)e=e[a(t[r++])];return r&&r==s?e:void 0}},82820,(e,t,r)=>{var n=e.r(33141);t.exports=function(e,t,r){var a=null==e?void 0:n(e,t);return void 0===a?r:a}},40688,(e,t,r)=>{t.exports=function(e,t){return null!=e&&t in Object(e)}},15359,(e,t,r)=>{var n=e.r(86287),a=e.r(73250),s=e.r(45350),i=e.r(66397),o=e.r(98376),l=e.r(2054);t.exports=function(e,t,r){t=n(t,e);for(var c=-1,d=t.length,u=!1;++c<d;){var p=l(t[c]);if(!(u=null!=e&&r(e,p)))break;e=e[p]}return u||++c!=d?u:!!(d=null==e?0:e.length)&&o(d)&&i(p,d)&&(s(e)||a(e))}},76590,(e,t,r)=>{var n=e.r(40688),a=e.r(15359);t.exports=function(e,t){return null!=e&&a(e,t,n)}},72298,(e,t,r)=>{var n=e.r(21885),a=e.r(82820),s=e.r(76590),i=e.r(9903),o=e.r(15782),l=e.r(65570),c=e.r(2054);t.exports=function(e,t){return i(e)&&o(t)?l(c(e),t):function(r){var i=a(r,e);return void 0===i&&i===t?s(r,e):n(t,i,3)}}},1079,(e,t,r)=>{t.exports=function(e){return function(t){return null==t?void 0:t[e]}}},30970,(e,t,r)=>{var n=e.r(33141);t.exports=function(e){return function(t){return n(t,e)}}},33906,(e,t,r)=>{var n=e.r(1079),a=e.r(30970),s=e.r(9903),i=e.r(2054);t.exports=function(e){return s(e)?n(i(e)):a(e)}},66305,(e,t,r)=>{var n=e.r(23426),a=e.r(72298),s=e.r(53336),i=e.r(45350),o=e.r(33906);t.exports=function(e){return"function"==typeof e?e:null==e?s:"object"==typeof e?i(e)?a(e[0],e[1]):n(e):o(e)}},84892,(e,t,r)=>{var n=e.r(36100),a=e.r(36179),s=e.r(66305),i=e.r(45350);t.exports=function(e,t){return(i(e)?n:a)(e,s(t,3))}},36760,(e,t,r)=>{var n=Object.prototype.hasOwnProperty;t.exports=function(e,t){return null!=e&&n.call(e,t)}},44708,(e,t,r)=>{var n=e.r(36760),a=e.r(15359);t.exports=function(e,t){return null!=e&&a(e,t,n)}},46217,(e,t,r)=>{var n=e.r(48477),a=e.r(67426),s=e.r(73250),i=e.r(45350),o=e.r(51095),l=e.r(56956),c=e.r(63996),d=e.r(3023),u=Object.prototype.hasOwnProperty;t.exports=function(e){if(null==e)return!0;if(o(e)&&(i(e)||"string"==typeof e||"function"==typeof e.splice||l(e)||d(e)||s(e)))return!e.length;var t=a(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(c(e))return!n(e).length;for(var r in e)if(u.call(e,r))return!1;return!0}},79393,(e,t,r)=>{t.exports=function(e){return void 0===e}},7073,(e,t,r)=>{var n=e.r(53587),a=e.r(51095);t.exports=function(e,t){var r=-1,s=a(e)?Array(e.length):[];return n(e,function(e,n,a){s[++r]=t(e,n,a)}),s}},10632,(e,t,r)=>{var n=e.r(92708),a=e.r(66305),s=e.r(7073),i=e.r(45350);t.exports=function(e,t){return(i(e)?n:s)(e,a(t,3))}},92427,(e,t,r)=>{t.exports=function(e,t,r,n){var a=-1,s=null==e?0:e.length;for(n&&s&&(r=e[++a]);++a<s;)r=t(r,e[a],a,e);return r}},78577,(e,t,r)=>{t.exports=function(e,t,r,n,a){return a(e,function(e,a,s){r=n?(n=!1,e):t(r,e,a,s)}),r}},58253,(e,t,r)=>{var n=e.r(92427),a=e.r(53587),s=e.r(66305),i=e.r(78577),o=e.r(45350);t.exports=function(e,t,r){var l=o(e)?n:i,c=arguments.length<3;return l(e,s(t,4),r,c,a)}},85845,(e,t,r)=>{var n=e.r(77684),a=e.r(45350),s=e.r(77289);t.exports=function(e){return"string"==typeof e||!a(e)&&s(e)&&"[object String]"==n(e)}},13450,(e,t,r)=>{t.exports=e.r(1079)("length")},79589,(e,t,r)=>{var n=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");t.exports=function(e){return n.test(e)}},7129,(e,t,r)=>{var n="\\ud800-\\udfff",a="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",s="\\ud83c[\\udffb-\\udfff]",i="[^"+n+"]",o="(?:\\ud83c[\\udde6-\\uddff]){2}",l="[\\ud800-\\udbff][\\udc00-\\udfff]",c="(?:"+a+"|"+s+")?",d="[\\ufe0e\\ufe0f]?",u="(?:\\u200d(?:"+[i,o,l].join("|")+")"+d+c+")*",p=RegExp(s+"(?="+s+")|"+("(?:"+[i+a+"?",a,o,l,"["+n+"]"].join("|"))+")"+(d+c+u),"g");t.exports=function(e){for(var t=p.lastIndex=0;p.test(e);)++t;return t}},22994,(e,t,r)=>{var n=e.r(13450),a=e.r(79589),s=e.r(7129);t.exports=function(e){return a(e)?s(e):n(e)}},35405,(e,t,r)=>{var n=e.r(48477),a=e.r(67426),s=e.r(51095),i=e.r(85845),o=e.r(22994);t.exports=function(e){if(null==e)return 0;if(s(e))return i(e)?o(e):e.length;var t=a(e);return"[object Map]"==t||"[object Set]"==t?e.size:n(e).length}},79335,(e,t,r)=>{var n=e.r(12895),a=e.r(46352),s=e.r(63799),i=e.r(66305),o=e.r(62413),l=e.r(45350),c=e.r(56956),d=e.r(71223),u=e.r(12447),p=e.r(3023);t.exports=function(e,t,r){var h=l(e),m=h||c(e)||p(e);if(t=i(t,4),null==r){var f=e&&e.constructor;r=m?h?new f:[]:u(e)&&d(f)?a(o(e)):{}}return(m?n:s)(e,function(e,n,a){return t(r,e,n,a)}),r}},33803,(e,t,r)=>{var n=e.r(30353),a=e.r(73250),s=e.r(45350),i=n?n.isConcatSpreadable:void 0;t.exports=function(e){return s(e)||a(e)||!!(i&&e&&e[i])}},41891,(e,t,r)=>{var n=e.r(69102),a=e.r(33803);t.exports=function e(t,r,s,i,o){var l=-1,c=t.length;for(s||(s=a),o||(o=[]);++l<c;){var d=t[l];r>0&&s(d)?r>1?e(d,r-1,s,i,o):n(o,d):i||(o[o.length]=d)}return o}},87160,(e,t,r)=>{t.exports=function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}},72953,(e,t,r)=>{var n=e.r(87160),a=Math.max;t.exports=function(e,t,r){return t=a(void 0===t?e.length-1:t,0),function(){for(var s=arguments,i=-1,o=a(s.length-t,0),l=Array(o);++i<o;)l[i]=s[t+i];i=-1;for(var c=Array(t+1);++i<t;)c[i]=s[i];return c[t]=r(l),n(e,this,c)}}},1647,(e,t,r)=>{var n=e.r(56751),a=e.r(24251),s=e.r(53336);t.exports=a?function(e,t){return a(e,"toString",{configurable:!0,enumerable:!1,value:n(t),writable:!0})}:s},51994,(e,t,r)=>{var n=Date.now;t.exports=function(e){var t=0,r=0;return function(){var a=n(),s=16-(a-r);if(r=a,s>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}},84665,(e,t,r)=>{var n=e.r(1647);t.exports=e.r(51994)(n)},95059,(e,t,r)=>{var n=e.r(53336),a=e.r(72953),s=e.r(84665);t.exports=function(e,t){return s(a(e,t,n),e+"")}},56445,(e,t,r)=>{t.exports=function(e,t,r,n){for(var a=e.length,s=r+(n?1:-1);n?s--:++s<a;)if(t(e[s],s,e))return s;return -1}},4078,(e,t,r)=>{t.exports=function(e){return e!=e}},1987,(e,t,r)=>{t.exports=function(e,t,r){for(var n=r-1,a=e.length;++n<a;)if(e[n]===t)return n;return -1}},49719,(e,t,r)=>{var n=e.r(56445),a=e.r(4078),s=e.r(1987);t.exports=function(e,t,r){return t==t?s(e,t,r):n(e,a,r)}},46515,(e,t,r)=>{var n=e.r(49719);t.exports=function(e,t){return!!(null==e?0:e.length)&&n(e,t,0)>-1}},29584,(e,t,r)=>{t.exports=function(e,t,r){for(var n=-1,a=null==e?0:e.length;++n<a;)if(r(t,e[n]))return!0;return!1}},91692,(e,t,r)=>{t.exports=function(){}},8484,(e,t,r)=>{var n=e.r(6966),a=e.r(91692),s=e.r(99850);t.exports=n&&1/s(new n([,-0]))[1]==1/0?function(e){return new n(e)}:a},10339,(e,t,r)=>{var n=e.r(27493),a=e.r(46515),s=e.r(29584),i=e.r(15262),o=e.r(8484),l=e.r(99850);t.exports=function(e,t,r){var c=-1,d=a,u=e.length,p=!0,h=[],m=h;if(r)p=!1,d=s;else if(u>=200){var f=t?null:o(e);if(f)return l(f);p=!1,d=i,m=new n}else m=t?[]:h;e:for(;++c<u;){var x=e[c],b=t?t(x):x;if(x=r||0!==x?x:0,p&&b==b){for(var g=m.length;g--;)if(m[g]===b)continue e;t&&m.push(b),h.push(x)}else d(m,b,r)||(m!==h&&m.push(b),h.push(x))}return h}},91072,(e,t,r)=>{var n=e.r(51095),a=e.r(77289);t.exports=function(e){return a(e)&&n(e)}},4366,(e,t,r)=>{var n=e.r(41891),a=e.r(95059),s=e.r(10339),i=e.r(91072);t.exports=a(function(e){return s(n(e,1,i,!0))})},18110,(e,t,r)=>{var n=e.r(92708);t.exports=function(e,t){return n(t,function(t){return e[t]})}},80985,(e,t,r)=>{var n=e.r(18110),a=e.r(33679);t.exports=function(e){return null==e?[]:n(e,a(e))}},79749,(e,t,r)=>{var n;try{n={clone:e.r(12989),constant:e.r(56751),each:e.r(71846),filter:e.r(84892),has:e.r(44708),isArray:e.r(45350),isEmpty:e.r(46217),isFunction:e.r(71223),isUndefined:e.r(79393),keys:e.r(33679),map:e.r(10632),reduce:e.r(58253),size:e.r(35405),transform:e.r(79335),union:e.r(4366),values:e.r(80985)}}catch(e){}n||(n=window._),t.exports=n},64930,(e,t,r)=>{"use strict";var n=e.r(79749);function a(e){this._isDirected=!n.has(e,"directed")||e.directed,this._isMultigraph=!!n.has(e,"multigraph")&&e.multigraph,this._isCompound=!!n.has(e,"compound")&&e.compound,this._label=void 0,this._defaultNodeLabelFn=n.constant(void 0),this._defaultEdgeLabelFn=n.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children["\0"]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function s(e,t){e[t]?e[t]++:e[t]=1}function i(e,t){--e[t]||delete e[t]}function o(e,t,r,a){var s=""+t,i=""+r;if(!e&&s>i){var o=s;s=i,i=o}return s+"\x01"+i+"\x01"+(n.isUndefined(a)?"\0":a)}function l(e,t){return o(e,t.v,t.w,t.name)}t.exports=a,a.prototype._nodeCount=0,a.prototype._edgeCount=0,a.prototype.isDirected=function(){return this._isDirected},a.prototype.isMultigraph=function(){return this._isMultigraph},a.prototype.isCompound=function(){return this._isCompound},a.prototype.setGraph=function(e){return this._label=e,this},a.prototype.graph=function(){return this._label},a.prototype.setDefaultNodeLabel=function(e){return n.isFunction(e)||(e=n.constant(e)),this._defaultNodeLabelFn=e,this},a.prototype.nodeCount=function(){return this._nodeCount},a.prototype.nodes=function(){return n.keys(this._nodes)},a.prototype.sources=function(){var e=this;return n.filter(this.nodes(),function(t){return n.isEmpty(e._in[t])})},a.prototype.sinks=function(){var e=this;return n.filter(this.nodes(),function(t){return n.isEmpty(e._out[t])})},a.prototype.setNodes=function(e,t){var r=arguments,a=this;return n.each(e,function(e){r.length>1?a.setNode(e,t):a.setNode(e)}),this},a.prototype.setNode=function(e,t){return n.has(this._nodes,e)?arguments.length>1&&(this._nodes[e]=t):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]="\0",this._children[e]={},this._children["\0"][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount),this},a.prototype.node=function(e){return this._nodes[e]},a.prototype.hasNode=function(e){return n.has(this._nodes,e)},a.prototype.removeNode=function(e){var t=this;if(n.has(this._nodes,e)){var r=function(e){t.removeEdge(t._edgeObjs[e])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],n.each(this.children(e),function(e){t.setParent(e)}),delete this._children[e]),n.each(n.keys(this._in[e]),r),delete this._in[e],delete this._preds[e],n.each(n.keys(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this},a.prototype.setParent=function(e,t){if(!this._isCompound)throw Error("Cannot set parent in a non-compound graph");if(n.isUndefined(t))t="\0";else{t+="";for(var r=t;!n.isUndefined(r);r=this.parent(r))if(r===e)throw Error("Setting "+t+" as parent of "+e+" would create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this},a.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]},a.prototype.parent=function(e){if(this._isCompound){var t=this._parent[e];if("\0"!==t)return t}},a.prototype.children=function(e){if(n.isUndefined(e)&&(e="\0"),this._isCompound){var t=this._children[e];if(t)return n.keys(t)}else if("\0"===e)return this.nodes();else if(this.hasNode(e))return[]},a.prototype.predecessors=function(e){var t=this._preds[e];if(t)return n.keys(t)},a.prototype.successors=function(e){var t=this._sucs[e];if(t)return n.keys(t)},a.prototype.neighbors=function(e){var t=this.predecessors(e);if(t)return n.union(t,this.successors(e))},a.prototype.isLeaf=function(e){return 0===(this.isDirected()?this.successors(e):this.neighbors(e)).length},a.prototype.filterNodes=function(e){var t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph());var r=this;n.each(this._nodes,function(r,n){e(n)&&t.setNode(n,r)}),n.each(this._edgeObjs,function(e){t.hasNode(e.v)&&t.hasNode(e.w)&&t.setEdge(e,r.edge(e))});var a={};return this._isCompound&&n.each(t.nodes(),function(e){t.setParent(e,function e(n){var s=r.parent(n);return void 0===s||t.hasNode(s)?(a[n]=s,s):s in a?a[s]:e(s)}(e))}),t},a.prototype.setDefaultEdgeLabel=function(e){return n.isFunction(e)||(e=n.constant(e)),this._defaultEdgeLabelFn=e,this},a.prototype.edgeCount=function(){return this._edgeCount},a.prototype.edges=function(){return n.values(this._edgeObjs)},a.prototype.setPath=function(e,t){var r=this,a=arguments;return n.reduce(e,function(e,n){return a.length>1?r.setEdge(e,n,t):r.setEdge(e,n),n}),this},a.prototype.setEdge=function(){var e,t,r,a,i=!1,l=arguments[0];"object"==typeof l&&null!==l&&"v"in l?(e=l.v,t=l.w,r=l.name,2==arguments.length&&(a=arguments[1],i=!0)):(e=l,t=arguments[1],r=arguments[3],arguments.length>2&&(a=arguments[2],i=!0)),e=""+e,t=""+t,n.isUndefined(r)||(r=""+r);var c=o(this._isDirected,e,t,r);if(n.has(this._edgeLabels,c))return i&&(this._edgeLabels[c]=a),this;if(!n.isUndefined(r)&&!this._isMultigraph)throw Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[c]=i?a:this._defaultEdgeLabelFn(e,t,r);var d=function(e,t,r,n){var a=""+t,s=""+r;if(!e&&a>s){var i=a;a=s,s=i}var o={v:a,w:s};return n&&(o.name=n),o}(this._isDirected,e,t,r);return e=d.v,t=d.w,Object.freeze(d),this._edgeObjs[c]=d,s(this._preds[t],e),s(this._sucs[e],t),this._in[t][c]=d,this._out[e][c]=d,this._edgeCount++,this},a.prototype.edge=function(e,t,r){var n=1==arguments.length?l(this._isDirected,arguments[0]):o(this._isDirected,e,t,r);return this._edgeLabels[n]},a.prototype.hasEdge=function(e,t,r){var a=1==arguments.length?l(this._isDirected,arguments[0]):o(this._isDirected,e,t,r);return n.has(this._edgeLabels,a)},a.prototype.removeEdge=function(e,t,r){var n=1==arguments.length?l(this._isDirected,arguments[0]):o(this._isDirected,e,t,r),a=this._edgeObjs[n];return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],i(this._preds[t],e),i(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this},a.prototype.inEdges=function(e,t){var r=this._in[e];if(r){var a=n.values(r);return t?n.filter(a,function(e){return e.v===t}):a}},a.prototype.outEdges=function(e,t){var r=this._out[e];if(r){var a=n.values(r);return t?n.filter(a,function(e){return e.w===t}):a}},a.prototype.nodeEdges=function(e,t){var r=this.inEdges(e,t);if(r)return r.concat(this.outEdges(e,t))}},36347,(e,t,r)=>{t.exports="2.1.8"},45376,(e,t,r)=>{t.exports={Graph:e.r(64930),version:e.r(36347)}},52829,(e,t,r)=>{var n=e.r(79749),a=e.r(64930);t.exports={write:function(e){var t,r,a={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:(t=e,n.map(t.nodes(),function(e){var r=t.node(e),a=t.parent(e),s={v:e};return n.isUndefined(r)||(s.value=r),n.isUndefined(a)||(s.parent=a),s})),edges:(r=e,n.map(r.edges(),function(e){var t=r.edge(e),a={v:e.v,w:e.w};return n.isUndefined(e.name)||(a.name=e.name),n.isUndefined(t)||(a.value=t),a}))};return n.isUndefined(e.graph())||(a.value=n.clone(e.graph())),a},read:function(e){var t=new a(e.options).setGraph(e.value);return n.each(e.nodes,function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),n.each(e.edges,function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}}},92100,(e,t,r)=>{var n=e.r(79749);t.exports=function(e){var t,r={},a=[];return n.each(e.nodes(),function(s){t=[],function a(s){n.has(r,s)||(r[s]=!0,t.push(s),n.each(e.successors(s),a),n.each(e.predecessors(s),a))}(s),t.length&&a.push(t)}),a}},92402,(e,t,r)=>{var n=e.r(79749);function a(){this._arr=[],this._keyIndices={}}t.exports=a,a.prototype.size=function(){return this._arr.length},a.prototype.keys=function(){return this._arr.map(function(e){return e.key})},a.prototype.has=function(e){return n.has(this._keyIndices,e)},a.prototype.priority=function(e){var t=this._keyIndices[e];if(void 0!==t)return this._arr[t].priority},a.prototype.min=function(){if(0===this.size())throw Error("Queue underflow");return this._arr[0].key},a.prototype.add=function(e,t){var r=this._keyIndices;if(e=String(e),!n.has(r,e)){var a=this._arr,s=a.length;return r[e]=s,a.push({key:e,priority:t}),this._decrease(s),!0}return!1},a.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key},a.prototype.decrease=function(e,t){var r=this._keyIndices[e];if(t>this._arr[r].priority)throw Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[r].priority+" New: "+t);this._arr[r].priority=t,this._decrease(r)},a.prototype._heapify=function(e){var t=this._arr,r=2*e,n=r+1,a=e;r<t.length&&(a=t[r].priority<t[a].priority?r:a,n<t.length&&(a=t[n].priority<t[a].priority?n:a),a!==e&&(this._swap(e,a),this._heapify(a)))},a.prototype._decrease=function(e){for(var t,r=this._arr,n=r[e].priority;0!==e&&!(r[t=e>>1].priority<n);)this._swap(e,t),e=t},a.prototype._swap=function(e,t){var r=this._arr,n=this._keyIndices,a=r[e],s=r[t];r[e]=s,r[t]=a,n[s.key]=e,n[a.key]=t}},74584,(e,t,r)=>{var n=e.r(79749),a=e.r(92402);t.exports=function(e,t,r,n){return function(e,t,r,n){var s,i,o={},l=new a,c=function(e){var t=e.v!==s?e.v:e.w,n=o[t],a=r(e),c=i.distance+a;if(a<0)throw Error("dijkstra does not allow negative edge weights. Bad edge: "+e+" Weight: "+a);c<n.distance&&(n.distance=c,n.predecessor=s,l.decrease(t,c))};for(e.nodes().forEach(function(e){var r=e===t?0:1/0;o[e]={distance:r},l.add(e,r)});l.size()>0&&(i=o[s=l.removeMin()]).distance!==1/0;)n(s).forEach(c);return o}(e,String(t),r||s,n||function(t){return e.outEdges(t)})};var s=n.constant(1)},63255,(e,t,r)=>{var n=e.r(74584),a=e.r(79749);t.exports=function(e,t,r){return a.transform(e.nodes(),function(a,s){a[s]=n(e,s,t,r)},{})}},36194,(e,t,r)=>{var n=e.r(79749);t.exports=function(e){var t=0,r=[],a={},s=[];return e.nodes().forEach(function(i){n.has(a,i)||function i(o){var l=a[o]={onStack:!0,lowlink:t,index:t++};if(r.push(o),e.successors(o).forEach(function(e){n.has(a,e)?a[e].onStack&&(l.lowlink=Math.min(l.lowlink,a[e].index)):(i(e),l.lowlink=Math.min(l.lowlink,a[e].lowlink))}),l.lowlink===l.index){var c,d=[];do a[c=r.pop()].onStack=!1,d.push(c);while(o!==c)s.push(d)}}(i)}),s}},72175,(e,t,r)=>{var n=e.r(79749),a=e.r(36194);t.exports=function(e){return n.filter(a(e),function(t){return t.length>1||1===t.length&&e.hasEdge(t[0],t[0])})}},78229,(e,t,r)=>{var n=e.r(79749);t.exports=function(e,t,r){var n,s,i,o,l;return n=e,s=t||a,i=r||function(t){return e.outEdges(t)},o={},(l=n.nodes()).forEach(function(e){o[e]={},o[e][e]={distance:0},l.forEach(function(t){e!==t&&(o[e][t]={distance:1/0})}),i(e).forEach(function(t){var r=t.v===e?t.w:t.v,n=s(t);o[e][r]={distance:n,predecessor:e}})}),l.forEach(function(e){var t=o[e];l.forEach(function(r){var n=o[r];l.forEach(function(r){var a=n[e],s=t[r],i=n[r],o=a.distance+s.distance;o<i.distance&&(i.distance=o,i.predecessor=s.predecessor)})})}),o};var a=n.constant(1)},8240,(e,t,r)=>{var n=e.r(79749);function a(e){var t={},r={},a=[];if(n.each(e.sinks(),function i(o){if(n.has(r,o))throw new s;n.has(t,o)||(r[o]=!0,t[o]=!0,n.each(e.predecessors(o),i),delete r[o],a.push(o))}),n.size(t)!==e.nodeCount())throw new s;return a}function s(){}t.exports=a,a.CycleException=s,s.prototype=Error()},68780,(e,t,r)=>{var n=e.r(8240);t.exports=function(e){try{n(e)}catch(e){if(e instanceof n.CycleException)return!1;throw e}return!0}},92512,(e,t,r)=>{var n=e.r(79749);t.exports=function(e,t,r){n.isArray(t)||(t=[t]);var a=(e.isDirected()?e.successors:e.neighbors).bind(e),s=[],i={};return n.each(t,function(t){if(!e.hasNode(t))throw Error("Graph does not have node: "+t);!function e(t,r,a,s,i,o){!n.has(s,r)&&(s[r]=!0,a||o.push(r),n.each(i(r),function(r){e(t,r,a,s,i,o)}),a&&o.push(r))}(e,t,"post"===r,i,a,s)}),s}},20233,(e,t,r)=>{var n=e.r(92512);t.exports=function(e,t){return n(e,t,"post")}},21802,(e,t,r)=>{var n=e.r(92512);t.exports=function(e,t){return n(e,t,"pre")}},67875,(e,t,r)=>{var n=e.r(79749),a=e.r(64930),s=e.r(92402);t.exports=function(e,t){var r,i=new a,o={},l=new s;function c(e){var n=e.v===r?e.w:e.v,a=l.priority(n);if(void 0!==a){var s=t(e);s<a&&(o[n]=r,l.decrease(n,s))}}if(0===e.nodeCount())return i;n.each(e.nodes(),function(e){l.add(e,1/0),i.setNode(e)}),l.decrease(e.nodes()[0],0);for(var d=!1;l.size()>0;){if(r=l.removeMin(),n.has(o,r))i.setEdge(r,o[r]);else if(d)throw Error("Input graph is not connected: "+e);else d=!0;e.nodeEdges(r).forEach(c)}return i}},64182,(e,t,r)=>{t.exports={components:e.r(92100),dijkstra:e.r(74584),dijkstraAll:e.r(63255),findCycles:e.r(72175),floydWarshall:e.r(78229),isAcyclic:e.r(68780),postorder:e.r(20233),preorder:e.r(21802),prim:e.r(67875),tarjan:e.r(36194),topsort:e.r(8240)}},62319,(e,t,r)=>{var n=e.r(45376);t.exports={Graph:n.Graph,json:e.r(52829),alg:e.r(64182),version:n.version}},40576,(e,t,r)=>{var n;try{n=e.r(62319)}catch(e){}n||(n=window.graphlib),t.exports=n},71944,(e,t,r)=>{var n=e.r(64324);t.exports=function(e){return n(e,5)}},70237,(e,t,r)=>{var n=e.r(25172),a=e.r(51095),s=e.r(66397),i=e.r(12447);t.exports=function(e,t,r){if(!i(r))return!1;var o=typeof t;return("number"==o?!!(a(r)&&s(t,r.length)):"string"==o&&t in r)&&n(r[t],e)}},10806,(e,t,r)=>{var n=e.r(95059),a=e.r(25172),s=e.r(70237),i=e.r(89695),o=Object.prototype,l=o.hasOwnProperty;t.exports=n(function(e,t){e=Object(e);var r=-1,n=t.length,c=n>2?t[2]:void 0;for(c&&s(t[0],t[1],c)&&(n=1);++r<n;)for(var d=t[r],u=i(d),p=-1,h=u.length;++p<h;){var m=u[p],f=e[m];(void 0===f||a(f,o[m])&&!l.call(e,m))&&(e[m]=d[m])}return e})},95200,(e,t,r)=>{var n=e.r(66305),a=e.r(51095),s=e.r(33679);t.exports=function(e){return function(t,r,i){var o=Object(t);if(!a(t)){var l=n(r,3);t=s(t),r=function(e){return l(o[e],e,o)}}var c=e(t,r,i);return c>-1?o[l?t[c]:c]:void 0}}},48891,(e,t,r)=>{var n=/\s/;t.exports=function(e){for(var t=e.length;t--&&n.test(e.charAt(t)););return t}},30364,(e,t,r)=>{var n=e.r(48891),a=/^\s+/;t.exports=function(e){return e?e.slice(0,n(e)+1).replace(a,""):e}},73759,(e,t,r)=>{var n=e.r(30364),a=e.r(12447),s=e.r(61884),i=0/0,o=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,c=/^0o[0-7]+$/i,d=parseInt;t.exports=function(e){if("number"==typeof e)return e;if(s(e))return i;if(a(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=a(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=n(e);var r=l.test(e);return r||c.test(e)?d(e.slice(2),r?2:8):o.test(e)?i:+e}},82560,(e,t,r)=>{var n=e.r(73759),a=1/0;t.exports=function(e){return e?(e=n(e))===a||e===-a?(e<0?-1:1)*17976931348623157e292:e==e?e:0:0===e?e:0}},4653,(e,t,r)=>{var n=e.r(82560);t.exports=function(e){var t=n(e),r=t%1;return t==t?r?t-r:t:0}},26965,(e,t,r)=>{var n=e.r(56445),a=e.r(66305),s=e.r(4653),i=Math.max;t.exports=function(e,t,r){var o=null==e?0:e.length;if(!o)return -1;var l=null==r?0:s(r);return l<0&&(l=i(o+l,0)),n(e,a(t,3),l)}},60191,(e,t,r)=>{t.exports=e.r(95200)(e.r(26965))},72810,(e,t,r)=>{var n=e.r(41891);t.exports=function(e){return(null==e?0:e.length)?n(e,1):[]}},14200,(e,t,r)=>{var n=e.r(98728),a=e.r(73282),s=e.r(89695);t.exports=function(e,t){return null==e?e:n(e,a(t),s)}},4879,(e,t,r)=>{t.exports=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}},60793,(e,t,r)=>{var n=e.r(74548),a=e.r(63799),s=e.r(66305);t.exports=function(e,t){var r={};return t=s(t,3),a(e,function(e,a,s){n(r,a,t(e,a,s))}),r}},41015,(e,t,r)=>{var n=e.r(61884);t.exports=function(e,t,r){for(var a=-1,s=e.length;++a<s;){var i=e[a],o=t(i);if(null!=o&&(void 0===l?o==o&&!n(o):r(o,l)))var l=o,c=i}return c}},80957,(e,t,r)=>{t.exports=function(e,t){return e>t}},86966,(e,t,r)=>{var n=e.r(41015),a=e.r(80957),s=e.r(53336);t.exports=function(e){return e&&e.length?n(e,s,a):void 0}},58352,(e,t,r)=>{var n=e.r(74548),a=e.r(25172);t.exports=function(e,t,r){(void 0===r||a(e[t],r))&&(void 0!==r||t in e)||n(e,t,r)}},1320,(e,t,r)=>{var n=e.r(77684),a=e.r(62413),s=e.r(77289),i=Object.prototype,o=Function.prototype.toString,l=i.hasOwnProperty,c=o.call(Object);t.exports=function(e){if(!s(e)||"[object Object]"!=n(e))return!1;var t=a(e);if(null===t)return!0;var r=l.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&o.call(r)==c}},84305,(e,t,r)=>{t.exports=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}},37153,(e,t,r)=>{var n=e.r(72351),a=e.r(89695);t.exports=function(e){return n(e,a(e))}},27579,(e,t,r)=>{var n=e.r(58352),a=e.r(22781),s=e.r(14712),i=e.r(76736),o=e.r(92433),l=e.r(73250),c=e.r(45350),d=e.r(91072),u=e.r(56956),p=e.r(71223),h=e.r(12447),m=e.r(1320),f=e.r(3023),x=e.r(84305),b=e.r(37153);t.exports=function(e,t,r,g,v,y,w){var j=x(e,r),N=x(t,r),E=w.get(N);if(E)return void n(e,r,E);var S=y?y(j,N,r+"",e,t,w):void 0,k=void 0===S;if(k){var _=c(N),C=!_&&u(N),M=!_&&!C&&f(N);S=N,_||C||M?c(j)?S=j:d(j)?S=i(j):C?(k=!1,S=a(N,!0)):M?(k=!1,S=s(N,!0)):S=[]:m(N)||l(N)?(S=j,l(j)?S=b(j):(!h(j)||p(j))&&(S=o(N))):k=!1}k&&(w.set(N,S),v(S,N,g,y,w),w.delete(N)),n(e,r,S)}},5702,(e,t,r)=>{var n=e.r(1551),a=e.r(58352),s=e.r(98728),i=e.r(27579),o=e.r(12447),l=e.r(89695),c=e.r(84305);t.exports=function e(t,r,d,u,p){t!==r&&s(r,function(s,l){if(p||(p=new n),o(s))i(t,r,l,d,e,u,p);else{var h=u?u(c(t,l),s,l+"",t,r,p):void 0;void 0===h&&(h=s),a(t,l,h)}},l)}},83495,(e,t,r)=>{var n=e.r(95059),a=e.r(70237);t.exports=function(e){return n(function(t,r){var n=-1,s=r.length,i=s>1?r[s-1]:void 0,o=s>2?r[2]:void 0;for(i=e.length>3&&"function"==typeof i?(s--,i):void 0,o&&a(r[0],r[1],o)&&(i=s<3?void 0:i,s=1),t=Object(t);++n<s;){var l=r[n];l&&e(t,l,n,i)}return t})}},11595,(e,t,r)=>{var n=e.r(5702);t.exports=e.r(83495)(function(e,t,r){n(e,t,r)})},98128,(e,t,r)=>{t.exports=function(e,t){return e<t}},37544,(e,t,r)=>{var n=e.r(41015),a=e.r(98128),s=e.r(53336);t.exports=function(e){return e&&e.length?n(e,s,a):void 0}},49673,(e,t,r)=>{var n=e.r(41015),a=e.r(66305),s=e.r(98128);t.exports=function(e,t){return e&&e.length?n(e,a(t,2),s):void 0}},31926,(e,t,r)=>{var n=e.r(39088);t.exports=function(){return n.Date.now()}},42173,(e,t,r)=>{var n=e.r(4300),a=e.r(86287),s=e.r(66397),i=e.r(12447),o=e.r(2054);t.exports=function(e,t,r,l){if(!i(e))return e;t=a(t,e);for(var c=-1,d=t.length,u=d-1,p=e;null!=p&&++c<d;){var h=o(t[c]),m=r;if("__proto__"===h||"constructor"===h||"prototype"===h)break;if(c!=u){var f=p[h];void 0===(m=l?l(f,h,p):void 0)&&(m=i(f)?f:s(t[c+1])?[]:{})}n(p,h,m),p=p[h]}return e}},81829,(e,t,r)=>{var n=e.r(33141),a=e.r(42173),s=e.r(86287);t.exports=function(e,t,r){for(var i=-1,o=t.length,l={};++i<o;){var c=t[i],d=n(e,c);r(d,c)&&a(l,s(c,e),d)}return l}},13879,(e,t,r)=>{var n=e.r(81829),a=e.r(76590);t.exports=function(e,t){return n(e,t,function(t,r){return a(e,r)})}},6227,(e,t,r)=>{var n=e.r(72810),a=e.r(72953),s=e.r(84665);t.exports=function(e){return s(a(e,void 0,n),e+"")}},80210,(e,t,r)=>{var n=e.r(13879);t.exports=e.r(6227)(function(e,t){return null==e?{}:n(e,t)})},93440,(e,t,r)=>{var n=Math.ceil,a=Math.max;t.exports=function(e,t,r,s){for(var i=-1,o=a(n((t-e)/(r||1)),0),l=Array(o);o--;)l[s?o:++i]=e,e+=r;return l}},69523,(e,t,r)=>{var n=e.r(93440),a=e.r(70237),s=e.r(82560);t.exports=function(e){return function(t,r,i){return i&&"number"!=typeof i&&a(t,r,i)&&(r=i=void 0),t=s(t),void 0===r?(r=t,t=0):r=s(r),i=void 0===i?t<r?1:-1:s(i),n(t,r,i,e)}}},44950,(e,t,r)=>{t.exports=e.r(69523)()},83629,(e,t,r)=>{t.exports=function(e,t){var r=e.length;for(e.sort(t);r--;)e[r]=e[r].value;return e}},4886,(e,t,r)=>{var n=e.r(61884);t.exports=function(e,t){if(e!==t){var r=void 0!==e,a=null===e,s=e==e,i=n(e),o=void 0!==t,l=null===t,c=t==t,d=n(t);if(!l&&!d&&!i&&e>t||i&&o&&c&&!l&&!d||a&&o&&c||!r&&c||!s)return 1;if(!a&&!i&&!d&&e<t||d&&r&&s&&!a&&!i||l&&r&&s||!o&&s||!c)return -1}return 0}},58322,(e,t,r)=>{var n=e.r(4886);t.exports=function(e,t,r){for(var a=-1,s=e.criteria,i=t.criteria,o=s.length,l=r.length;++a<o;){var c=n(s[a],i[a]);if(c){if(a>=l)return c;return c*("desc"==r[a]?-1:1)}}return e.index-t.index}},28138,(e,t,r)=>{var n=e.r(92708),a=e.r(33141),s=e.r(66305),i=e.r(7073),o=e.r(83629),l=e.r(33999),c=e.r(58322),d=e.r(53336),u=e.r(45350);t.exports=function(e,t,r){t=t.length?n(t,function(e){return u(e)?function(t){return a(t,1===e.length?e[0]:e)}:e}):[d];var p=-1;return t=n(t,l(s)),o(i(e,function(e,r,a){return{criteria:n(t,function(t){return t(e)}),index:++p,value:e}}),function(e,t){return c(e,t,r)})}},31195,(e,t,r)=>{var n=e.r(41891),a=e.r(28138),s=e.r(95059),i=e.r(70237);t.exports=s(function(e,t){if(null==e)return[];var r=t.length;return r>1&&i(e,t[0],t[1])?t=[]:r>2&&i(t[0],t[1],t[2])&&(t=[t[0]]),a(e,n(t,1),[])})},85658,(e,t,r)=>{var n=e.r(2922),a=0;t.exports=function(e){var t=++a;return n(e)+t}},89726,(e,t,r)=>{t.exports=function(e,t,r){for(var n=-1,a=e.length,s=t.length,i={};++n<a;){var o=n<s?t[n]:void 0;r(i,e[n],o)}return i}},78957,(e,t,r)=>{var n=e.r(4300),a=e.r(89726);t.exports=function(e,t){return a(e||[],t||[],n)}},11994,(e,t,r)=>{var n;try{n={cloneDeep:e.r(71944),constant:e.r(56751),defaults:e.r(10806),each:e.r(71846),filter:e.r(84892),find:e.r(60191),flatten:e.r(72810),forEach:e.r(93448),forIn:e.r(14200),has:e.r(44708),isUndefined:e.r(79393),last:e.r(4879),map:e.r(10632),mapValues:e.r(60793),max:e.r(86966),merge:e.r(11595),min:e.r(37544),minBy:e.r(49673),now:e.r(31926),pick:e.r(80210),range:e.r(44950),reduce:e.r(58253),sortBy:e.r(31195),uniqueId:e.r(85658),values:e.r(80985),zipObject:e.r(78957)}}catch(e){}n||(n=window._),t.exports=n},71676,(e,t,r)=>{function n(){var e={};e._next=e._prev=e,this._sentinel=e}function a(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function s(e,t){if("_next"!==e&&"_prev"!==e)return t}t.exports=n,n.prototype.dequeue=function(){var e=this._sentinel,t=e._prev;if(t!==e)return a(t),t},n.prototype.enqueue=function(e){var t=this._sentinel;e._prev&&e._next&&a(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t},n.prototype.toString=function(){for(var e=[],t=this._sentinel,r=t._prev;r!==t;)e.push(JSON.stringify(r,s)),r=r._prev;return"["+e.join(", ")+"]"}},15769,(e,t,r)=>{var n=e.r(11994),a=e.r(40576).Graph,s=e.r(71676);t.exports=function(e,t){if(1>=e.nodeCount())return[];var r,c,d,u,p,h,m,f=(r=e,c=t||i,d=new a,u=0,p=0,n.forEach(r.nodes(),function(e){d.setNode(e,{v:e,in:0,out:0})}),n.forEach(r.edges(),function(e){var t=d.edge(e.v,e.w)||0,r=c(e);d.setEdge(e.v,e.w,t+r),p=Math.max(p,d.node(e.v).out+=r),u=Math.max(u,d.node(e.w).in+=r)}),h=n.range(p+u+3).map(function(){return new s}),m=u+1,n.forEach(d.nodes(),function(e){l(h,m,d.node(e))}),{graph:d,buckets:h,zeroIdx:m}),x=function(e,t,r){for(var n,a=[],s=t[t.length-1],i=t[0];e.nodeCount();){for(;n=i.dequeue();)o(e,t,r,n);for(;n=s.dequeue();)o(e,t,r,n);if(e.nodeCount()){for(var l=t.length-2;l>0;--l)if(n=t[l].dequeue()){a=a.concat(o(e,t,r,n,!0));break}}}return a}(f.graph,f.buckets,f.zeroIdx);return n.flatten(n.map(x,function(t){return e.outEdges(t.v,t.w)}),!0)};var i=n.constant(1);function o(e,t,r,a,s){var i=s?[]:void 0;return n.forEach(e.inEdges(a.v),function(n){var a=e.edge(n),o=e.node(n.v);s&&i.push({v:n.v,w:n.w}),o.out-=a,l(t,r,o)}),n.forEach(e.outEdges(a.v),function(n){var a=e.edge(n),s=n.w,i=e.node(s);i.in-=a,l(t,r,i)}),e.removeNode(a.v),i}function l(e,t,r){r.out?r.in?e[r.out-r.in+t].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}},28155,(e,t,r)=>{"use strict";var n=e.r(11994),a=e.r(15769);t.exports={run:function(e){var t,r,s,i,o,l="greedy"===e.graph().acyclicer?a(e,(t=e,function(e){return t.edge(e).weight})):(r=e,s=[],i={},o={},n.forEach(r.nodes(),function e(t){n.has(o,t)||(o[t]=!0,i[t]=!0,n.forEach(r.outEdges(t),function(t){n.has(i,t.w)?s.push(t):e(t.w)}),delete i[t])}),s);n.forEach(l,function(t){var r=e.edge(t);e.removeEdge(t),r.forwardName=t.name,r.reversed=!0,e.setEdge(t.w,t.v,r,n.uniqueId("rev"))})},undo:function(e){n.forEach(e.edges(),function(t){var r=e.edge(t);if(r.reversed){e.removeEdge(t);var n=r.forwardName;delete r.reversed,delete r.forwardName,e.setEdge(t.w,t.v,r,n)}})}}},80897,(e,t,r)=>{"use strict";var n=e.r(11994),a=e.r(40576).Graph;function s(e,t,r,a){var s;do s=n.uniqueId(a);while(e.hasNode(s))return r.dummy=t,e.setNode(s,r),s}function i(e){return n.max(n.map(e.nodes(),function(t){var r=e.node(t).rank;if(!n.isUndefined(r))return r}))}t.exports={addDummyNode:s,simplify:function(e){var t=new a().setGraph(e.graph());return n.forEach(e.nodes(),function(r){t.setNode(r,e.node(r))}),n.forEach(e.edges(),function(r){var n=t.edge(r.v,r.w)||{weight:0,minlen:1},a=e.edge(r);t.setEdge(r.v,r.w,{weight:n.weight+a.weight,minlen:Math.max(n.minlen,a.minlen)})}),t},asNonCompoundGraph:function(e){var t=new a({multigraph:e.isMultigraph()}).setGraph(e.graph());return n.forEach(e.nodes(),function(r){e.children(r).length||t.setNode(r,e.node(r))}),n.forEach(e.edges(),function(r){t.setEdge(r,e.edge(r))}),t},successorWeights:function(e){var t=n.map(e.nodes(),function(t){var r={};return n.forEach(e.outEdges(t),function(t){r[t.w]=(r[t.w]||0)+e.edge(t).weight}),r});return n.zipObject(e.nodes(),t)},predecessorWeights:function(e){var t=n.map(e.nodes(),function(t){var r={};return n.forEach(e.inEdges(t),function(t){r[t.v]=(r[t.v]||0)+e.edge(t).weight}),r});return n.zipObject(e.nodes(),t)},intersectRect:function(e,t){var r,n,a=e.x,s=e.y,i=t.x-a,o=t.y-s,l=e.width/2,c=e.height/2;if(!i&&!o)throw Error("Not possible to find intersection inside of the rectangle");return Math.abs(o)*l>Math.abs(i)*c?(o<0&&(c=-c),r=c*i/o,n=c):(i<0&&(l=-l),r=l,n=l*o/i),{x:a+r,y:s+n}},buildLayerMatrix:function(e){var t=n.map(n.range(i(e)+1),function(){return[]});return n.forEach(e.nodes(),function(r){var a=e.node(r),s=a.rank;n.isUndefined(s)||(t[s][a.order]=r)}),t},normalizeRanks:function(e){var t=n.min(n.map(e.nodes(),function(t){return e.node(t).rank}));n.forEach(e.nodes(),function(r){var a=e.node(r);n.has(a,"rank")&&(a.rank-=t)})},removeEmptyRanks:function(e){var t=n.min(n.map(e.nodes(),function(t){return e.node(t).rank})),r=[];n.forEach(e.nodes(),function(n){var a=e.node(n).rank-t;r[a]||(r[a]=[]),r[a].push(n)});var a=0,s=e.graph().nodeRankFactor;n.forEach(r,function(t,r){n.isUndefined(t)&&r%s!=0?--a:a&&n.forEach(t,function(t){e.node(t).rank+=a})})},addBorderNode:function(e,t,r,n){var a={width:0,height:0};return arguments.length>=4&&(a.rank=r,a.order=n),s(e,"border",a,t)},maxRank:i,partition:function(e,t){var r={lhs:[],rhs:[]};return n.forEach(e,function(e){t(e)?r.lhs.push(e):r.rhs.push(e)}),r},time:function(e,t){var r=n.now();try{return t()}finally{console.log(e+" time: "+(n.now()-r)+"ms")}},notime:function(e,t){return t()}}},21810,(e,t,r)=>{"use strict";var n=e.r(11994),a=e.r(80897);t.exports={run:function(e){e.graph().dummyChains=[],n.forEach(e.edges(),function(t){!function(e,t){var r,n,s,i=t.v,o=e.node(i).rank,l=t.w,c=e.node(l).rank,d=t.name,u=e.edge(t),p=u.labelRank;if(c!==o+1){for(e.removeEdge(t),s=0,++o;o<c;++s,++o)u.points=[],n={width:0,height:0,edgeLabel:u,edgeObj:t,rank:o},r=a.addDummyNode(e,"edge",n,"_d"),o===p&&(n.width=u.width,n.height=u.height,n.dummy="edge-label",n.labelpos=u.labelpos),e.setEdge(i,r,{weight:u.weight},d),0===s&&e.graph().dummyChains.push(r),i=r;e.setEdge(i,l,{weight:u.weight},d)}}(e,t)})},undo:function(e){n.forEach(e.graph().dummyChains,function(t){var r,n=e.node(t),a=n.edgeLabel;for(e.setEdge(n.edgeObj,a);n.dummy;)r=e.successors(t)[0],e.removeNode(t),a.points.push({x:n.x,y:n.y}),"edge-label"===n.dummy&&(a.x=n.x,a.y=n.y,a.width=n.width,a.height=n.height),t=r,n=e.node(t)})}}},99269,(e,t,r)=>{"use strict";var n=e.r(11994);t.exports={longestPath:function(e){var t={};n.forEach(e.sources(),function r(a){var s=e.node(a);if(n.has(t,a))return s.rank;t[a]=!0;var i=n.min(n.map(e.outEdges(a),function(t){return r(t.w)-e.edge(t).minlen}));return(i===1/0||null==i)&&(i=0),s.rank=i})},slack:function(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}}},10836,(e,t,r)=>{"use strict";var n=e.r(11994),a=e.r(40576).Graph,s=e.r(99269).slack;t.exports=function(e){var t,r,i,o,l=new a({directed:!1}),c=e.nodes()[0],d=e.nodeCount();for(l.setNode(c,{});t=l,r=e,n.forEach(t.nodes(),function e(a){n.forEach(r.nodeEdges(a),function(n){var i=n.v,o=a===i?n.w:i;t.hasNode(o)||s(r,n)||(t.setNode(o,{}),t.setEdge(a,o,{}),e(o))})}),t.nodeCount()<d;)i=function(e,t){return n.minBy(t.edges(),function(r){if(e.hasNode(r.v)!==e.hasNode(r.w))return s(t,r)})}(l,e),o=l.hasNode(i.v)?s(e,i):-s(e,i),function(e,t,r){n.forEach(e.nodes(),function(e){t.node(e).rank+=r})}(l,e,o);return l}},71639,(e,t,r)=>{"use strict";var n=e.r(11994),a=e.r(10836),s=e.r(99269).slack,i=e.r(99269).longestPath,o=e.r(40576).alg.preorder,l=e.r(40576).alg.postorder,c=e.r(80897).simplify;function d(e){i(e=c(e));var t,r,n=a(e);for(h(n),u(n,e);t=m(n);)r=f(n,e,t),x(n,e,t,r)}function u(e,t){var r=l(e,e.nodes());r=r.slice(0,r.length-1),n.forEach(r,function(r){var n,a,s,i;n=e,a=t,s=r,i=n.node(s).parent,n.edge(s,i).cutvalue=p(n,a,s)})}function p(e,t,r){var a=e.node(r).parent,s=!0,i=t.edge(r,a),o=0;return i||(s=!1,i=t.edge(a,r)),o=i.weight,n.forEach(t.nodeEdges(r),function(n){var i=n.v===r,l=i?n.w:n.v;if(l!==a){var c,d,u,p=i===s,h=t.edge(n).weight;if(o+=p?h:-h,c=e,d=r,u=l,c.hasEdge(d,u)){var m=e.edge(r,l).cutvalue;o+=p?-m:m}}}),o}function h(e,t){arguments.length<2&&(t=e.nodes()[0]),function e(t,r,a,s,i){var o=a,l=t.node(s);return r[s]=!0,n.forEach(t.neighbors(s),function(i){n.has(r,i)||(a=e(t,r,a,i,s))}),l.low=o,l.lim=a++,i?l.parent=i:delete l.parent,a}(e,{},1,t)}function m(e){return n.find(e.edges(),function(t){return e.edge(t).cutvalue<0})}function f(e,t,r){var a=r.v,i=r.w;t.hasEdge(a,i)||(a=r.w,i=r.v);var o=e.node(a),l=e.node(i),c=o,d=!1;o.lim>l.lim&&(c=l,d=!0);var u=n.filter(t.edges(),function(t){return d===b(e,e.node(t.v),c)&&d!==b(e,e.node(t.w),c)});return n.minBy(u,function(e){return s(t,e)})}function x(e,t,r,a){var s,i,l,c,d=r.v,p=r.w;e.removeEdge(d,p),e.setEdge(a.v,a.w,{}),h(e),u(e,t),s=e,i=t,l=n.find(s.nodes(),function(e){return!i.node(e).parent}),c=(c=o(s,l)).slice(1),n.forEach(c,function(e){var t=s.node(e).parent,r=i.edge(e,t),n=!1;r||(r=i.edge(t,e),n=!0),i.node(e).rank=i.node(t).rank+(n?r.minlen:-r.minlen)})}function b(e,t,r){return r.low<=t.lim&&t.lim<=r.lim}t.exports=d,d.initLowLimValues=h,d.initCutValues=u,d.calcCutValue=p,d.leaveEdge=m,d.enterEdge=f,d.exchangeEdges=x},60106,(e,t,r)=>{"use strict";var n=e.r(99269).longestPath,a=e.r(10836),s=e.r(71639);t.exports=function(e){switch(e.graph().ranker){case"network-simplex":default:s(e);break;case"tight-tree":var t;n(t=e),a(t);break;case"longest-path":i(e)}};var i=n},31662,(e,t,r)=>{var n=e.r(11994);t.exports=function(e){var t,r,a,s=(t=e,r={},a=0,n.forEach(t.children(),function e(s){var i=a;n.forEach(t.children(s),e),r[s]={low:i,lim:a++}}),r);n.forEach(e.graph().dummyChains,function(t){for(var r=e.node(t),n=r.edgeObj,a=function(e,t,r,n){var a,s,i=[],o=[],l=Math.min(t[r].low,t[n].low),c=Math.max(t[r].lim,t[n].lim);a=r;do i.push(a=e.parent(a));while(a&&(t[a].low>l||c>t[a].lim))for(s=a,a=n;(a=e.parent(a))!==s;)o.push(a);return{path:i.concat(o.reverse()),lca:s}}(e,s,n.v,n.w),i=a.path,o=a.lca,l=0,c=i[0],d=!0;t!==n.w;){if(r=e.node(t),d){for(;(c=i[l])!==o&&e.node(c).maxRank<r.rank;)l++;c===o&&(d=!1)}if(!d){for(;l<i.length-1&&e.node(c=i[l+1]).minRank<=r.rank;)l++;c=i[l]}e.setParent(t,c),t=e.successors(t)[0]}})}},40786,(e,t,r)=>{var n=e.r(11994),a=e.r(80897);t.exports={run:function(e){var t,r,s,i=a.addDummyNode(e,"root",{},"_root"),o=(t=e,r={},n.forEach(t.children(),function(e){!function e(a,s){var i=t.children(a);i&&i.length&&n.forEach(i,function(t){e(t,s+1)}),r[a]=s}(e,1)}),r),l=n.max(n.values(o))-1,c=2*l+1;e.graph().nestingRoot=i,n.forEach(e.edges(),function(t){e.edge(t).minlen*=c});var d=(s=e,n.reduce(s.edges(),function(e,t){return e+s.edge(t).weight},0)+1);n.forEach(e.children(),function(t){!function e(t,r,s,i,o,l,c){var d=t.children(c);if(!d.length){c!==r&&t.setEdge(r,c,{weight:0,minlen:s});return}var u=a.addBorderNode(t,"_bt"),p=a.addBorderNode(t,"_bb"),h=t.node(c);t.setParent(u,c),h.borderTop=u,t.setParent(p,c),h.borderBottom=p,n.forEach(d,function(n){e(t,r,s,i,o,l,n);var a=t.node(n),d=a.borderTop?a.borderTop:n,h=a.borderBottom?a.borderBottom:n,m=a.borderTop?i:2*i,f=d!==h?1:o-l[c]+1;t.setEdge(u,d,{weight:m,minlen:f,nestingEdge:!0}),t.setEdge(h,p,{weight:m,minlen:f,nestingEdge:!0})}),t.parent(c)||t.setEdge(r,u,{weight:0,minlen:o+l[c]})}(e,i,c,d,l,o,t)}),e.graph().nodeRankFactor=c},cleanup:function(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,n.forEach(e.edges(),function(t){e.edge(t).nestingEdge&&e.removeEdge(t)})}}},8889,(e,t,r)=>{var n=e.r(11994),a=e.r(80897);function s(e,t,r,n,s,i){var o=s[t][i-1],l=a.addDummyNode(e,"border",{width:0,height:0,rank:i,borderType:t},r);s[t][i]=l,e.setParent(l,n),o&&e.setEdge(o,l,{weight:1})}t.exports=function(e){n.forEach(e.children(),function t(r){var a=e.children(r),i=e.node(r);if(a.length&&n.forEach(a,t),n.has(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var o=i.minRank,l=i.maxRank+1;o<l;++o)s(e,"borderLeft","_bl",r,i,o),s(e,"borderRight","_br",r,i,o)}})}},75175,(e,t,r)=>{"use strict";var n=e.r(11994);function a(e){n.forEach(e.nodes(),function(t){s(e.node(t))}),n.forEach(e.edges(),function(t){s(e.edge(t))})}function s(e){var t=e.width;e.width=e.height,e.height=t}function i(e){e.y=-e.y}function o(e){var t=e.x;e.x=e.y,e.y=t}t.exports={adjust:function(e){var t=e.graph().rankdir.toLowerCase();("lr"===t||"rl"===t)&&a(e)},undo:function(e){var t,r,s=e.graph().rankdir.toLowerCase();("bt"===s||"rl"===s)&&(t=e,n.forEach(t.nodes(),function(e){i(t.node(e))}),n.forEach(t.edges(),function(e){var r=t.edge(e);n.forEach(r.points,i),n.has(r,"y")&&i(r)})),("lr"===s||"rl"===s)&&(r=e,n.forEach(r.nodes(),function(e){o(r.node(e))}),n.forEach(r.edges(),function(e){var t=r.edge(e);n.forEach(t.points,o),n.has(t,"x")&&o(t)}),a(e))}}},92064,(e,t,r)=>{"use strict";var n=e.r(11994);t.exports=function(e){var t={},r=n.filter(e.nodes(),function(t){return!e.children(t).length}),a=n.max(n.map(r,function(t){return e.node(t).rank})),s=n.map(n.range(a+1),function(){return[]}),i=n.sortBy(r,function(t){return e.node(t).rank});return n.forEach(i,function r(a){n.has(t,a)||(t[a]=!0,s[e.node(a).rank].push(a),n.forEach(e.successors(a),r))}),s}},45729,(e,t,r)=>{"use strict";var n=e.r(11994);t.exports=function(e,t){for(var r=0,a=1;a<t.length;++a)r+=function(e,t,r){for(var a=n.zipObject(r,n.map(r,function(e,t){return t})),s=n.flatten(n.map(t,function(t){return n.sortBy(n.map(e.outEdges(t),function(t){return{pos:a[t.w],weight:e.edge(t).weight}}),"pos")}),!0),i=1;i<r.length;)i<<=1;var o=2*i-1;i-=1;var l=n.map(Array(o),function(){return 0}),c=0;return n.forEach(s.forEach(function(e){var t=e.pos+i;l[t]+=e.weight;for(var r=0;t>0;)t%2&&(r+=l[t+1]),t=t-1>>1,l[t]+=e.weight;c+=e.weight*r})),c}(e,t[a-1],t[a]);return r}},91609,(e,t,r)=>{var n=e.r(11994);t.exports=function(e,t){return n.map(t,function(t){var r=e.inEdges(t);if(!r.length)return{v:t};var a=n.reduce(r,function(t,r){var n=e.edge(r),a=e.node(r.v);return{sum:t.sum+n.weight*a.order,weight:t.weight+n.weight}},{sum:0,weight:0});return{v:t,barycenter:a.sum/a.weight,weight:a.weight}})}},38867,(e,t,r)=>{"use strict";var n=e.r(11994);t.exports=function(e,t){var r={};return n.forEach(e,function(e,t){var a=r[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:t};n.isUndefined(e.barycenter)||(a.barycenter=e.barycenter,a.weight=e.weight)}),n.forEach(t.edges(),function(e){var t=r[e.v],a=r[e.w];n.isUndefined(t)||n.isUndefined(a)||(a.indegree++,t.out.push(r[e.w]))}),function(e){for(var t=[];e.length;){var r=e.pop();t.push(r),n.forEach(r.in.reverse(),function(e){return function(t){!t.merged&&(n.isUndefined(t.barycenter)||n.isUndefined(e.barycenter)||t.barycenter>=e.barycenter)&&function(e,t){var r=0,n=0;e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=r/n,e.weight=n,e.i=Math.min(t.i,e.i),t.merged=!0}(e,t)}}(r)),n.forEach(r.out,function(t){return function(r){r.in.push(t),0==--r.indegree&&e.push(r)}}(r))}return n.map(n.filter(t,function(e){return!e.merged}),function(e){return n.pick(e,["vs","i","barycenter","weight"])})}(n.filter(r,function(e){return!e.indegree}))}},25571,(e,t,r)=>{var n=e.r(11994),a=e.r(80897);function s(e,t,r){for(var a;t.length&&(a=n.last(t)).i<=r;)t.pop(),e.push(a.vs),r++;return r}t.exports=function(e,t){var r,i=a.partition(e,function(e){return n.has(e,"barycenter")}),o=i.lhs,l=n.sortBy(i.rhs,function(e){return-e.i}),c=[],d=0,u=0,p=0;o.sort((r=!!t,function(e,t){return e.barycenter<t.barycenter?-1:e.barycenter>t.barycenter?1:r?t.i-e.i:e.i-t.i})),p=s(c,l,p),n.forEach(o,function(e){p+=e.vs.length,c.push(e.vs),d+=e.barycenter*e.weight,u+=e.weight,p=s(c,l,p)});var h={vs:n.flatten(c,!0)};return u&&(h.barycenter=d/u,h.weight=u),h}},15133,(e,t,r)=>{var n=e.r(11994),a=e.r(91609),s=e.r(38867),i=e.r(25571);t.exports=function e(t,r,o,l){var c,d,u=t.children(r),p=t.node(r),h=p?p.borderLeft:void 0,m=p?p.borderRight:void 0,f={};h&&(u=n.filter(u,function(e){return e!==h&&e!==m}));var x=a(t,u);n.forEach(x,function(r){if(t.children(r.v).length){var a,s,i=e(t,r.v,o,l);f[r.v]=i,n.has(i,"barycenter")&&(a=r,s=i,n.isUndefined(a.barycenter)?(a.barycenter=s.barycenter,a.weight=s.weight):(a.barycenter=(a.barycenter*a.weight+s.barycenter*s.weight)/(a.weight+s.weight),a.weight+=s.weight))}});var b=s(x,o);c=b,d=f,n.forEach(c,function(e){e.vs=n.flatten(e.vs.map(function(e){return d[e]?d[e].vs:e}),!0)});var g=i(b,l);if(h&&(g.vs=n.flatten([h,g.vs,m],!0),t.predecessors(h).length)){var v=t.node(t.predecessors(h)[0]),y=t.node(t.predecessors(m)[0]);n.has(g,"barycenter")||(g.barycenter=0,g.weight=0),g.barycenter=(g.barycenter*g.weight+v.order+y.order)/(g.weight+2),g.weight+=2}return g}},81686,(e,t,r)=>{var n=e.r(11994),a=e.r(40576).Graph;t.exports=function(e,t,r){var s=function(e){for(var t;e.hasNode(t=n.uniqueId("_root")););return t}(e),i=new a({compound:!0}).setGraph({root:s}).setDefaultNodeLabel(function(t){return e.node(t)});return n.forEach(e.nodes(),function(a){var o=e.node(a),l=e.parent(a);(o.rank===t||o.minRank<=t&&t<=o.maxRank)&&(i.setNode(a),i.setParent(a,l||s),n.forEach(e[r](a),function(t){var r=t.v===a?t.w:t.v,s=i.edge(r,a),o=n.isUndefined(s)?0:s.weight;i.setEdge(r,a,{weight:e.edge(t).weight+o})}),n.has(o,"minRank")&&i.setNode(a,{borderLeft:o.borderLeft[t],borderRight:o.borderRight[t]}))}),i}},47404,(e,t,r)=>{var n=e.r(11994);t.exports=function(e,t,r){var a,s={};n.forEach(r,function(r){for(var n,i,o=e.parent(r);o;){if((n=e.parent(o))?(i=s[n],s[n]=o):(i=a,a=o),i&&i!==o)return void t.setEdge(i,o);o=n}})}},94432,(e,t,r)=>{"use strict";var n=e.r(11994),a=e.r(92064),s=e.r(45729),i=e.r(15133),o=e.r(81686),l=e.r(47404),c=e.r(40576).Graph,d=e.r(80897);function u(e,t,r){return n.map(t,function(t){return o(e,t,r)})}function p(e,t){n.forEach(t,function(t){n.forEach(t,function(t,r){e.node(t).order=r})})}t.exports=function(e){var t=d.maxRank(e),r=u(e,n.range(1,t+1),"inEdges"),o=u(e,n.range(t-1,-1,-1),"outEdges"),h=a(e);p(e,h);for(var m,f=1/0,x=0,b=0;b<4;++x,++b){(function(e,t){var r=new c;n.forEach(e,function(e){var a=e.graph().root,s=i(e,a,r,t);n.forEach(s.vs,function(t,r){e.node(t).order=r}),l(e,r,s.vs)})})(x%2?r:o,x%4>=2),h=d.buildLayerMatrix(e);var g=s(e,h);g<f&&(b=0,m=n.cloneDeep(h),f=g)}p(e,m)}},69298,(e,t,r)=>{"use strict";var n=e.r(11994),a=e.r(40576).Graph,s=e.r(80897);function i(e,t){var r={};return n.reduce(t,function(t,a){var s=0,i=0,o=t.length,c=n.last(a);return n.forEach(a,function(t,d){var u=function(e,t){if(e.node(t).dummy)return n.find(e.predecessors(t),function(t){return e.node(t).dummy})}(e,t),p=u?e.node(u).order:o;(u||t===c)&&(n.forEach(a.slice(i,d+1),function(t){n.forEach(e.predecessors(t),function(n){var a=e.node(n),i=a.order;(i<s||p<i)&&!(a.dummy&&e.node(t).dummy)&&l(r,n,t)})}),i=d+1,s=p)}),a}),r}function o(e,t){var r={};function a(t,a,s,i,o){var c;n.forEach(n.range(a,s),function(a){c=t[a],e.node(c).dummy&&n.forEach(e.predecessors(c),function(t){var n=e.node(t);n.dummy&&(n.order<i||n.order>o)&&l(r,t,c)})})}return n.reduce(t,function(t,r){var s,i=-1,o=0;return n.forEach(r,function(n,l){if("border"===e.node(n).dummy){var c=e.predecessors(n);c.length&&(s=e.node(c[0]).order,a(r,o,l,i,s),o=l,i=s)}a(r,o,r.length,s,t.length)}),r}),r}function l(e,t,r){if(t>r){var n=t;t=r,r=n}var a=e[t];a||(e[t]=a={}),a[r]=!0}function c(e,t,r){if(t>r){var a=t;t=r,r=a}return n.has(e[t],r)}function d(e,t,r,a){var s={},i={},o={};return n.forEach(t,function(e){n.forEach(e,function(e,t){s[e]=e,i[e]=e,o[e]=t})}),n.forEach(t,function(e){var t=-1;n.forEach(e,function(e){var l=a(e);if(l.length)for(var d=((l=n.sortBy(l,function(e){return o[e]})).length-1)/2,u=Math.floor(d),p=Math.ceil(d);u<=p;++u){var h=l[u];i[e]===e&&t<o[h]&&!c(r,e,h)&&(i[h]=e,i[e]=s[e]=s[h],t=o[h])}})}),{root:s,align:i}}function u(e,t,r,s,i){var o,l,c,d,u,p,h,m,f,x,b={},g=(o=e,l=t,c=r,d=i,m=new a,x=(u=(f=o.graph()).nodesep,p=f.edgesep,h=d,function(e,t,r){var a,s,i=e.node(t),o=e.node(r);if(a=0+i.width/2,n.has(i,"labelpos"))switch(i.labelpos.toLowerCase()){case"l":s=-i.width/2;break;case"r":s=i.width/2}if(s&&(a+=h?s:-s),s=0,a+=(i.dummy?p:u)/2,a+=(o.dummy?p:u)/2,a+=o.width/2,n.has(o,"labelpos"))switch(o.labelpos.toLowerCase()){case"l":s=o.width/2;break;case"r":s=-o.width/2}return s&&(a+=h?s:-s),s=0,a}),n.forEach(l,function(e){var t;n.forEach(e,function(e){var r=c[e];if(m.setNode(r),t){var n=c[t],a=m.edge(n,r);m.setEdge(n,r,Math.max(x(o,e,t),a||0))}t=e})}),m),v=i?"borderLeft":"borderRight";function y(e,t){for(var r=g.nodes(),n=r.pop(),a={};n;)a[n]?e(n):(a[n]=!0,r.push(n),r=r.concat(t(n))),n=r.pop()}return y(function(e){b[e]=g.inEdges(e).reduce(function(e,t){return Math.max(e,b[t.v]+g.edge(t))},0)},g.predecessors.bind(g)),y(function(t){var r=g.outEdges(t).reduce(function(e,t){return Math.min(e,b[t.w]-g.edge(t))},1/0),n=e.node(t);r!==1/0&&n.borderType!==v&&(b[t]=Math.max(b[t],r))},g.successors.bind(g)),n.forEach(s,function(e){b[e]=b[r[e]]}),b}function p(e,t){return n.minBy(n.values(t),function(t){var r=-1/0,a=1/0;return n.forIn(t,function(t,n){var s,i,o=(s=e,i=n,s.node(i).width/2);r=Math.max(t+o,r),a=Math.min(t-o,a)}),r-a})}function h(e,t){var r=n.values(t),a=n.min(r),s=n.max(r);n.forEach(["u","d"],function(r){n.forEach(["l","r"],function(i){var o,l=r+i,c=e[l];if(c!==t){var d=n.values(c);(o="l"===i?a-n.min(d):s-n.max(d))&&(e[l]=n.mapValues(c,function(e){return e+o}))}})})}function m(e,t){return n.mapValues(e.ul,function(r,a){if(t)return e[t.toLowerCase()][a];var s=n.sortBy(n.map(e,a));return(s[1]+s[2])/2})}t.exports={positionX:function(e){var t,r=s.buildLayerMatrix(e),a=n.merge(i(e,r),o(e,r)),l={};n.forEach(["u","d"],function(s){t="u"===s?r:n.values(r).reverse(),n.forEach(["l","r"],function(r){"r"===r&&(t=n.map(t,function(e){return n.values(e).reverse()}));var i=("u"===s?e.predecessors:e.successors).bind(e),o=d(e,t,a,i),c=u(e,t,o.root,o.align,"r"===r);"r"===r&&(c=n.mapValues(c,function(e){return-e})),l[s+r]=c})});var c=p(e,l);return h(l,c),m(l,e.graph().align)},findType1Conflicts:i,findType2Conflicts:o,addConflict:l,hasConflict:c,verticalAlignment:d,horizontalCompaction:u,alignCoordinates:h,findSmallestWidthAlignment:p,balance:m}},66162,(e,t,r)=>{"use strict";var n=e.r(11994),a=e.r(80897),s=e.r(69298).positionX;t.exports=function(e){var t,r,i,o;t=e=a.asNonCompoundGraph(e),r=a.buildLayerMatrix(t),i=t.graph().ranksep,o=0,n.forEach(r,function(e){var r=n.max(n.map(e,function(e){return t.node(e).height}));n.forEach(e,function(e){t.node(e).y=o+r/2}),o+=r+i}),n.forEach(s(e),function(t,r){e.node(r).x=t})}},77040,(e,t,r)=>{"use strict";var n=e.r(11994),a=e.r(28155),s=e.r(21810),i=e.r(60106),o=e.r(80897).normalizeRanks,l=e.r(31662),c=e.r(80897).removeEmptyRanks,d=e.r(40786),u=e.r(8889),p=e.r(75175),h=e.r(94432),m=e.r(66162),f=e.r(80897),x=e.r(40576).Graph;t.exports=function(e,t){var r=t&&t.debugTiming?f.time:f.notime;r("layout",function(){var t=r(" buildLayoutGraph",function(){var t,r,a;return t=e,r=new x({multigraph:!0,compound:!0}),a=k(t.graph()),r.setGraph(n.merge({},g,S(a,b),n.pick(a,v))),n.forEach(t.nodes(),function(e){var a=k(t.node(e));r.setNode(e,n.defaults(S(a,y),w)),r.setParent(e,t.parent(e))}),n.forEach(t.edges(),function(e){var a=k(t.edge(e));r.setEdge(e,n.merge({},N,S(a,j),n.pick(a,E)))}),r});r(" runLayout",function(){var e,x;e=t,(x=r)(" makeSpaceForEdgeLabels",function(){var t,r;r=(t=e).graph(),r.ranksep/=2,n.forEach(t.edges(),function(e){var n=t.edge(e);n.minlen*=2,"c"!==n.labelpos.toLowerCase()&&("TB"===r.rankdir||"BT"===r.rankdir?n.width+=n.labeloffset:n.height+=n.labeloffset)})}),x(" removeSelfEdges",function(){var t;t=e,n.forEach(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:e,label:t.edge(e)}),t.removeEdge(e)}})}),x(" acyclic",function(){a.run(e)}),x(" nestingGraph.run",function(){d.run(e)}),x(" rank",function(){i(f.asNonCompoundGraph(e))}),x(" injectEdgeLabelProxies",function(){var t;t=e,n.forEach(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),a={rank:(t.node(e.w).rank-n.rank)/2+n.rank,e:e};f.addDummyNode(t,"edge-proxy",a,"_ep")}})}),x(" removeEmptyRanks",function(){c(e)}),x(" nestingGraph.cleanup",function(){d.cleanup(e)}),x(" normalizeRanks",function(){o(e)}),x(" assignRankMinMax",function(){var t,r;t=e,r=0,n.forEach(t.nodes(),function(e){var a=t.node(e);a.borderTop&&(a.minRank=t.node(a.borderTop).rank,a.maxRank=t.node(a.borderBottom).rank,r=n.max(r,a.maxRank))}),t.graph().maxRank=r}),x(" removeEdgeLabelProxies",function(){var t;t=e,n.forEach(t.nodes(),function(e){var r=t.node(e);"edge-proxy"===r.dummy&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}),x(" normalize.run",function(){s.run(e)}),x(" parentDummyChains",function(){l(e)}),x(" addBorderSegments",function(){u(e)}),x(" order",function(){h(e)}),x(" insertSelfEdges",function(){var t,r;t=e,r=f.buildLayerMatrix(t),n.forEach(r,function(e){var r=0;n.forEach(e,function(e,a){var s=t.node(e);s.order=a+r,n.forEach(s.selfEdges,function(e){f.addDummyNode(t,"selfedge",{width:e.label.width,height:e.label.height,rank:s.rank,order:a+ ++r,e:e.e,label:e.label},"_se")}),delete s.selfEdges})})}),x(" adjustCoordinateSystem",function(){p.adjust(e)}),x(" position",function(){m(e)}),x(" positionSelfEdges",function(){var t;t=e,n.forEach(t.nodes(),function(e){var r=t.node(e);if("selfedge"===r.dummy){var n=t.node(r.e.v),a=n.x+n.width/2,s=n.y,i=r.x-a,o=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:a+2*i/3,y:s-o},{x:a+5*i/6,y:s-o},{x:a+i,y:s},{x:a+5*i/6,y:s+o},{x:a+2*i/3,y:s+o}],r.label.x=r.x,r.label.y=r.y}})}),x(" removeBorderNodes",function(){var t;t=e,n.forEach(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),a=t.node(r.borderTop),s=t.node(r.borderBottom),i=t.node(n.last(r.borderLeft)),o=t.node(n.last(r.borderRight));r.width=Math.abs(o.x-i.x),r.height=Math.abs(s.y-a.y),r.x=i.x+r.width/2,r.y=a.y+r.height/2}}),n.forEach(t.nodes(),function(e){"border"===t.node(e).dummy&&t.removeNode(e)})}),x(" normalize.undo",function(){s.undo(e)}),x(" fixupEdgeLabelCoords",function(){var t;t=e,n.forEach(t.edges(),function(e){var r=t.edge(e);if(n.has(r,"x"))switch(("l"===r.labelpos||"r"===r.labelpos)&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset}})}),x(" undoCoordinateSystem",function(){p.undo(e)}),x(" translateGraph",function(){!function(e){var t=1/0,r=0,a=1/0,s=0,i=e.graph(),o=i.marginx||0,l=i.marginy||0;function c(e){var n=e.x,i=e.y,o=e.width,l=e.height;t=Math.min(t,n-o/2),r=Math.max(r,n+o/2),a=Math.min(a,i-l/2),s=Math.max(s,i+l/2)}n.forEach(e.nodes(),function(t){c(e.node(t))}),n.forEach(e.edges(),function(t){var r=e.edge(t);n.has(r,"x")&&c(r)}),t-=o,a-=l,n.forEach(e.nodes(),function(r){var n=e.node(r);n.x-=t,n.y-=a}),n.forEach(e.edges(),function(r){var s=e.edge(r);n.forEach(s.points,function(e){e.x-=t,e.y-=a}),n.has(s,"x")&&(s.x-=t),n.has(s,"y")&&(s.y-=a)}),i.width=r-t+o,i.height=s-a+l}(e)}),x(" assignNodeIntersects",function(){var t;t=e,n.forEach(t.edges(),function(e){var r,n,a=t.edge(e),s=t.node(e.v),i=t.node(e.w);a.points?(r=a.points[0],n=a.points[a.points.length-1]):(a.points=[],r=i,n=s),a.points.unshift(f.intersectRect(s,r)),a.points.push(f.intersectRect(i,n))})}),x(" reversePoints",function(){var t;t=e,n.forEach(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}),x(" acyclic.undo",function(){a.undo(e)})}),r(" updateInputGraph",function(){var r,a;r=e,a=t,n.forEach(r.nodes(),function(e){var t=r.node(e),n=a.node(e);t&&(t.x=n.x,t.y=n.y,a.children(e).length&&(t.width=n.width,t.height=n.height))}),n.forEach(r.edges(),function(e){var t=r.edge(e),s=a.edge(e);t.points=s.points,n.has(s,"x")&&(t.x=s.x,t.y=s.y)}),r.graph().width=a.graph().width,r.graph().height=a.graph().height})})};var b=["nodesep","edgesep","ranksep","marginx","marginy"],g={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},v=["acyclicer","ranker","rankdir","align"],y=["width","height"],w={width:0,height:0},j=["minlen","weight","width","height","labeloffset"],N={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},E=["labelpos"];function S(e,t){return n.mapValues(n.pick(e,t),Number)}function k(e){var t={};return n.forEach(e,function(e,r){t[r.toLowerCase()]=e}),t}},15400,(e,t,r)=>{var n=e.r(11994),a=e.r(80897),s=e.r(40576).Graph;t.exports={debugOrdering:function(e){var t=a.buildLayerMatrix(e),r=new s({compound:!0,multigraph:!0}).setGraph({});return n.forEach(e.nodes(),function(t){r.setNode(t,{label:t}),r.setParent(t,"layer"+e.node(t).rank)}),n.forEach(e.edges(),function(e){r.setEdge(e.v,e.w,{},e.name)}),n.forEach(t,function(e,t){r.setNode("layer"+t,{rank:"same"}),n.reduce(e,function(e,t){return r.setEdge(e,t,{style:"invis"}),t})}),r}}},51581,(e,t,r)=>{t.exports="0.8.5"},39669,(e,t,r)=>{t.exports={graphlib:e.r(40576),layout:e.r(77040),debug:e.r(15400),util:{time:e.r(80897).time,notime:e.r(80897).notime},version:e.r(51581)}},67585,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"BailoutToCSR",{enumerable:!0,get:function(){return a}});let n=e.r(32061);function a({reason:e,children:t}){if("u"<typeof window)throw Object.defineProperty(new n.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t}},9885,(e,t,r)=>{"use strict";function n(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"encodeURIPath",{enumerable:!0,get:function(){return n}})},52157,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"PreloadChunks",{enumerable:!0,get:function(){return l}});let n=e.r(43476),a=e.r(74080),s=e.r(63599),i=e.r(9885),o=e.r(43369);function l({moduleIds:e}){if("u">typeof window)return null;let t=s.workAsyncStorage.getStore();if(void 0===t)return null;let r=[];if(t.reactLoadableManifest&&e){let n=t.reactLoadableManifest;for(let t of e){if(!n[t])continue;let e=n[t].files;r.push(...e)}}if(0===r.length)return null;let l=(0,o.getDeploymentIdQueryOrEmptyString)();return(0,n.jsx)(n.Fragment,{children:r.map(e=>{let r=`${t.assetPrefix}/_next/${(0,i.encodeURIPath)(e)}${l}`;return e.endsWith(".css")?(0,n.jsx)("link",{precedence:"dynamic",href:r,rel:"stylesheet",as:"style",nonce:t.nonce},e):((0,a.preload)(r,{as:"script",fetchPriority:"low",nonce:t.nonce}),null)})})}},69093,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return c}});let n=e.r(43476),a=e.r(71645),s=e.r(67585),i=e.r(52157);function o(e){return{default:e&&"default"in e?e.default:e}}let l={loader:()=>Promise.resolve(o(()=>null)),loading:null,ssr:!0},c=function(e){let t={...l,...e},r=(0,a.lazy)(()=>t.loader().then(o)),c=t.loading;function d(e){let o=c?(0,n.jsx)(c,{isLoading:!0,pastDelay:!0,error:null}):null,l=!t.ssr||!!t.loading,d=l?a.Suspense:a.Fragment,u=t.ssr?(0,n.jsxs)(n.Fragment,{children:["u"<typeof window?(0,n.jsx)(i.PreloadChunks,{moduleIds:t.modules}):null,(0,n.jsx)(r,{...e})]}):(0,n.jsx)(s.BailoutToCSR,{reason:"next/dynamic",children:(0,n.jsx)(r,{...e})});return(0,n.jsx)(d,{...l?{fallback:o}:{},children:u})}return d.displayName="LoadableComponent",d}},70703,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return a}});let n=e.r(55682)._(e.r(69093));function a(e,t){let r={};"function"==typeof e&&(r.loader=e);let a={...r,...t};return(0,n.default)({...a,modules:a.loadableGenerated?.modules})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},53865,e=>{"use strict";var t,r,n,a,s,i,o,l,c,d,u,p,h,m,f,x,b=e.i(43476),g=e.i(71645),v={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let y=(e,t)=>{let r=(0,g.forwardRef)(({color:r="currentColor",size:n=24,strokeWidth:a=2,absoluteStrokeWidth:s,className:i="",children:o,...l},c)=>(0,g.createElement)("svg",{ref:c,...v,width:n,height:n,stroke:r,strokeWidth:s?24*Number(a)/Number(n):a,className:["lucide",`lucide-${e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase().trim()}`,i].join(" "),...l},[...t.map(([e,t])=>(0,g.createElement)(e,t)),...Array.isArray(o)?o:[o]]));return r.displayName=`${e}`,r},w=y("Home",[["path",{d:"m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"y5dka4"}],["polyline",{points:"9 22 9 12 15 12 15 22",key:"e2us08"}]]),j=y("Code",[["polyline",{points:"16 18 22 12 16 6",key:"z7tu5w"}],["polyline",{points:"8 6 2 12 8 18",key:"1eg1df"}]]),N=y("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]),E=y("Camera",[["path",{d:"M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z",key:"1tc9qg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]]),S=y("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]),k=y("Settings",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),_=y("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]),C=y("GitBranch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]),M=y("Package",[["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}],["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);function T({currentPage:e,onNavigate:t}){let[r,n]=(0,g.useState)(!1),a=[{id:"home",icon:w,label:"Dashboard"},{id:"sql",icon:j,label:"SQL Editor"},{id:"database",icon:N,label:"Database"},{id:"branches",icon:C,label:"Branches"},{id:"migrations",icon:S,label:"Migrations"},{id:"snapshots",icon:E,label:"Snapshots"},{id:"timeline",icon:S,label:"Timeline"},{divider:!0},{id:"export",icon:M,label:"Export"},{id:"settings",icon:k,label:"Settings"}];return(0,b.jsxs)("div",{className:`${r?"w-16":"w-56"} bg-app-sidebar border-r border-app-border flex flex-col transition-all duration-200`,children:[(0,b.jsxs)("div",{className:"h-12 border-b border-app-border flex items-center justify-between px-4",children:[!r&&(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(N,{className:"w-5 h-5 text-green-500"}),(0,b.jsx)("span",{className:"font-semibold text-base",children:"SQL Kite"})]}),(0,b.jsx)("button",{onClick:()=>n(!r),className:"p-1 hover:bg-app-sidebar-hover rounded transition-colors",children:(0,b.jsx)(_,{className:"w-5 h-5"})})]}),(0,b.jsx)("nav",{className:"flex-1 p-2",children:(0,b.jsx)("div",{className:"space-y-0.5",children:a.map((n,a)=>{if("divider"in n)return(0,b.jsx)("div",{className:"my-2 border-t border-app-border"},`divider-${a}`);let s=n.icon,i=e===n.id;return(0,b.jsxs)("button",{onClick:()=>t(n.id),className:`
2
2
  w-full flex items-center gap-3 px-3 py-2.5 rounded
3
3
  transition-colors duration-150
4
4
  ${i?"bg-app-sidebar-active text-app-text":"text-app-text-dim hover:bg-app-sidebar-hover hover:text-app-text"}
5
- `,title:r?n.label:void 0,children:[(0,b.jsx)(s,{className:"w-5 h-5 flex-shrink-0"}),!r&&(0,b.jsx)("span",{className:"font-medium text-sm",children:n.label})]},n.id)})})}),!r&&(0,b.jsx)("div",{className:"p-3 border-t border-app-border",children:(0,b.jsxs)("div",{className:"text-xs text-app-text-dim space-y-0.5",children:[(0,b.jsx)("div",{children:"SQL Kite v1.0.0"}),(0,b.jsx)("div",{children:"SQLite 3.44.0"})]})})]})}let A=y("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),O=y("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),R=y("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),D=y("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),L=y("Loader",[["line",{x1:"12",x2:"12",y1:"2",y2:"6",key:"gza1u7"}],["line",{x1:"12",x2:"12",y1:"18",y2:"22",key:"1qhbu9"}],["line",{x1:"4.93",x2:"7.76",y1:"4.93",y2:"7.76",key:"xae44r"}],["line",{x1:"16.24",x2:"19.07",y1:"16.24",y2:"19.07",key:"bxnmvf"}],["line",{x1:"2",x2:"6",y1:"12",y2:"12",key:"89khin"}],["line",{x1:"18",x2:"22",y1:"12",y2:"12",key:"pb8tfm"}],["line",{x1:"4.93",x2:"7.76",y1:"19.07",y2:"16.24",key:"1uxjnu"}],["line",{x1:"16.24",x2:"19.07",y1:"7.76",y2:"4.93",key:"6duxfx"}]]),$=y("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]),P="/api";async function I(){let e=await fetch(`${P}/project`);if(!e.ok)throw Error("Failed to fetch project info");return e.json()}async function B(){let e=await fetch(`${P}/tables`);if(!e.ok)throw Error("Failed to fetch tables");return e.json()}async function z(e){let t=await fetch(`${P}/tables/${e}`);if(!t.ok)throw Error("Failed to fetch table info");return t.json()}async function q(e){let t=await fetch(`${P}/query`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sql:e})}),r=await t.json();if(!t.ok)throw Error(r.error||"Query failed");return r}async function F(e,t){let r=await fetch(`${P}/compare/query`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({branch:e,sql:t})}),n=await r.json();if(!r.ok)throw Error(n.error||"Compare query failed");return n}async function H(e){let t=await fetch(`${P}/compare/checkpoint`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({branches:e})}),r=await t.json();if(!t.ok)throw Error(r.error||"Compare checkpoint failed");return r}async function U(e){let t=await fetch(`${P}/compare/close`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({branches:e})}),r=await t.json();if(!t.ok)throw Error(r.error||"Compare close failed");return r}async function W(e=50,t=0,r=!1){let n=`${P}/timeline?limit=${e}&offset=${t}${r?"&all_branches=true":""}`,a=await fetch(n);if(!a.ok)throw Error("Failed to fetch timeline");return a.json()}async function V(){let e=await fetch(`${P}/snapshots`);if(!e.ok)throw Error("Failed to fetch snapshots");return e.json()}async function Y(e){let t=await fetch(`${P}/snapshots`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify("string"==typeof e?{name:e}:e)}),r=await t.json();if(!t.ok)throw Error(r.error||"Failed to create snapshot");return r}async function X(e){let t=await fetch(`${P}/snapshots/${e}`,{method:"DELETE"}),r=await t.json();if(!t.ok)throw Error(r.error||"Failed to delete snapshot");return r}async function G(e){let t=await fetch(`${P}/snapshots/restore/${e}`,{method:"POST"});if(!t.ok)throw Error("Failed to restore snapshot");return t.json()}async function K(){let e=await fetch(`${P}/migrations`);if(!e.ok)throw Error("Failed to fetch migrations");return e.json()}async function Q(e){let t=await fetch(`${P}/migrations/apply`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({filename:e})});if(!t.ok)throw Error("Failed to apply migration");return t.json()}async function J(e){let t=await fetch(`${P}/migrations/${e}`,{method:"DELETE"}),r=await t.json();if(!t.ok)throw Error(r.error||"Failed to delete migration");return r}async function Z(e){let t=await fetch(`${P}/migrations/${e}/status`);if(!t.ok)throw Error("Failed to get migration status");return t.json()}async function ee(){let e=await fetch(`${P}/migrations/export/applied`);if(!e.ok)throw Error((await e.json()).error||"Failed to export applied migrations");return e.text()}async function et(){let e=await fetch(`${P}/schema/export`);if(!e.ok)throw Error("Failed to export schema");return e.text()}async function er(){let e=await fetch(`${P}/schema/er?infer=true`);if(!e.ok)throw Error("Failed to fetch ER diagram data");return e.json()}async function en(){let e=await fetch(`${P}/branches`);if(!e.ok)throw Error("Failed to fetch branches");return e.json()}async function ea(e,t,r){let n=await fetch(`${P}/branches/create`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,baseBranch:t,description:r})}),a=await n.json();if(!n.ok)throw Error(a.error||"Failed to create branch");return a}async function es(e){let t=await fetch(`${P}/branches/switch`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e})}),r=await t.json();if(!t.ok)throw Error(r.error||"Failed to switch branch");return r}async function ei(e){let t=await fetch(`${P}/branches/${e}`,{method:"DELETE"}),r=await t.json();if(!t.ok)throw Error(r.error||"Failed to delete branch");return r}async function eo(e,t,r=!0){let n=await fetch(`${P}/branches/promote`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sourceBranch:e,targetBranch:t,createSnapshot:r})}),a=await n.json();if(!n.ok)throw Error(a.error||"Failed to promote branch");return a}async function el(e,t){let r=await fetch(`${P}/migrations/create`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,sql:t})}),n=await r.json();if(!r.ok)throw Error(n.error||"Failed to create migration");return n}async function ec(){let e=await fetch(`${P}/migrations/apply-all`,{method:"POST",headers:{"Content-Type":"application/json"}}),t=await e.json();if(!e.ok)throw Error(t.error||"Failed to apply migrations");return t}function ed({currentBranch:e,onBranchChange:t,onCreateClick:r,disabled:n=!1}){let[a,s]=(0,g.useState)(!1),[i,o]=(0,g.useState)([]),[l,c]=(0,g.useState)(!1),[d,u]=(0,g.useState)(!1),p=(0,g.useRef)(null);async function h(){try{c(!0);let e=await en();o(e.branches||[])}catch(e){console.error("Failed to load branches:",e)}finally{c(!1)}}async function m(r){if(r!==e&&!d)try{u(!0),await es(r),s(!1),t?.()}catch(e){console.error("Failed to switch branch:",e),alert(`Failed to switch branch: ${e}`)}finally{u(!1)}}return(0,g.useEffect)(()=>{a&&h()},[a]),(0,g.useEffect)(()=>{function e(e){p.current&&!p.current.contains(e.target)&&s(!1)}return a&&document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[a]),(0,b.jsxs)("div",{className:"relative",ref:p,children:[(0,b.jsxs)("button",{onClick:()=>{n||s(!a)},className:`px-3 py-1.5 bg-app-sidebar border border-app-border rounded transition-colors flex items-center gap-2 text-sm ${n?"opacity-60 cursor-not-allowed":"hover:border-app-border-hover"}`,title:n?"Disabled in Compare Mode":void 0,disabled:n,children:[(0,b.jsx)(C,{className:"w-4 h-4"}),(0,b.jsx)("span",{className:"font-medium",children:e}),n&&(0,b.jsx)($,{className:"w-3.5 h-3.5 text-app-text-dim"}),(0,b.jsx)(O,{className:`w-4 h-4 transition-transform ${a?"rotate-180":""}`})]}),a&&!n&&(0,b.jsxs)("div",{className:"absolute top-full right-0 mt-2 w-64 bg-app-sidebar border border-app-border rounded-lg shadow-lg overflow-hidden z-50",children:[(0,b.jsx)("div",{className:"px-3 py-2 border-b border-app-border bg-app-bg",children:(0,b.jsx)("p",{className:"text-xs font-semibold text-app-text-dim uppercase",children:"Switch Branch"})}),(0,b.jsx)("div",{className:"max-h-80 overflow-y-auto",children:l?(0,b.jsx)("div",{className:"px-3 py-8 flex items-center justify-center",children:(0,b.jsx)(L,{className:"w-5 h-5 animate-spin text-app-accent"})}):0===i.length?(0,b.jsx)("div",{className:"px-3 py-8 text-center text-sm text-app-text-dim",children:"No branches found"}):i.map(t=>(0,b.jsxs)("button",{onClick:()=>m(t.name),disabled:d||t.name===e,className:`
5
+ `,title:r?n.label:void 0,children:[(0,b.jsx)(s,{className:"w-5 h-5 flex-shrink-0"}),!r&&(0,b.jsx)("span",{className:"font-medium text-sm",children:n.label})]},n.id)})})}),!r&&(0,b.jsx)("div",{className:"p-3 border-t border-app-border",children:(0,b.jsxs)("div",{className:"text-xs text-app-text-dim space-y-0.5",children:[(0,b.jsx)("div",{children:"SQL Kite v1.0.0"}),(0,b.jsx)("div",{children:"SQLite 3.44.0"})]})})]})}let A=y("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),O=y("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),R=y("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),D=y("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),$=y("Loader",[["line",{x1:"12",x2:"12",y1:"2",y2:"6",key:"gza1u7"}],["line",{x1:"12",x2:"12",y1:"18",y2:"22",key:"1qhbu9"}],["line",{x1:"4.93",x2:"7.76",y1:"4.93",y2:"7.76",key:"xae44r"}],["line",{x1:"16.24",x2:"19.07",y1:"16.24",y2:"19.07",key:"bxnmvf"}],["line",{x1:"2",x2:"6",y1:"12",y2:"12",key:"89khin"}],["line",{x1:"18",x2:"22",y1:"12",y2:"12",key:"pb8tfm"}],["line",{x1:"4.93",x2:"7.76",y1:"19.07",y2:"16.24",key:"1uxjnu"}],["line",{x1:"16.24",x2:"19.07",y1:"7.76",y2:"4.93",key:"6duxfx"}]]),L=y("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]),P="/api";async function I(){let e=await fetch(`${P}/project`);if(!e.ok)throw Error("Failed to fetch project info");return e.json()}async function B(){let e=await fetch(`${P}/tables`);if(!e.ok)throw Error("Failed to fetch tables");return e.json()}async function F(e){let t=await fetch(`${P}/tables/${e}`);if(!t.ok)throw Error("Failed to fetch table info");return t.json()}async function z(e){let t=await fetch(`${P}/query`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sql:e})}),r=await t.json();if(!t.ok)throw Error(r.error||"Query failed");return r}async function q(e,t){let r=await fetch(`${P}/compare/query`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({branch:e,sql:t})}),n=await r.json();if(!r.ok)throw Error(n.error||"Compare query failed");return n}async function H(e){let t=await fetch(`${P}/compare/checkpoint`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({branches:e})}),r=await t.json();if(!t.ok)throw Error(r.error||"Compare checkpoint failed");return r}async function U(e){let t=await fetch(`${P}/compare/close`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({branches:e})}),r=await t.json();if(!t.ok)throw Error(r.error||"Compare close failed");return r}async function W(e=50,t=0,r=!1){let n=`${P}/timeline?limit=${e}&offset=${t}${r?"&all_branches=true":""}`,a=await fetch(n);if(!a.ok)throw Error("Failed to fetch timeline");return a.json()}async function V(){let e=await fetch(`${P}/snapshots`);if(!e.ok)throw Error("Failed to fetch snapshots");return e.json()}async function Y(e){let t=await fetch(`${P}/snapshots`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify("string"==typeof e?{name:e}:e)}),r=await t.json();if(!t.ok)throw Error(r.error||"Failed to create snapshot");return r}async function X(e){let t=await fetch(`${P}/snapshots/${e}`,{method:"DELETE"}),r=await t.json();if(!t.ok)throw Error(r.error||"Failed to delete snapshot");return r}async function G(e){let t=await fetch(`${P}/snapshots/restore/${e}`,{method:"POST"});if(!t.ok)throw Error("Failed to restore snapshot");return t.json()}async function K(){let e=await fetch(`${P}/migrations`);if(!e.ok)throw Error("Failed to fetch migrations");return e.json()}async function Q(e){let t=await fetch(`${P}/migrations/apply`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({filename:e})});if(!t.ok)throw Error("Failed to apply migration");return t.json()}async function J(e){let t=await fetch(`${P}/migrations/${e}`,{method:"DELETE"}),r=await t.json();if(!t.ok)throw Error(r.error||"Failed to delete migration");return r}async function Z(e){let t=await fetch(`${P}/migrations/${e}/status`);if(!t.ok)throw Error("Failed to get migration status");return t.json()}async function ee(){let e=await fetch(`${P}/migrations/export/applied`);if(!e.ok)throw Error((await e.json()).error||"Failed to export applied migrations");return e.text()}async function et(){let e=await fetch(`${P}/schema/export`);if(!e.ok)throw Error("Failed to export schema");return e.text()}async function er(){let e=await fetch(`${P}/schema/er?infer=true`);if(!e.ok)throw Error("Failed to fetch ER diagram data");return e.json()}async function en(){let e=await fetch(`${P}/branches`);if(!e.ok)throw Error("Failed to fetch branches");return e.json()}async function ea(e,t,r){let n=await fetch(`${P}/branches/create`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,baseBranch:t,description:r})}),a=await n.json();if(!n.ok)throw Error(a.error||"Failed to create branch");return a}async function es(e){let t=await fetch(`${P}/branches/switch`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e})}),r=await t.json();if(!t.ok)throw Error(r.error||"Failed to switch branch");return r}async function ei(e){let t=await fetch(`${P}/branches/${e}`,{method:"DELETE"}),r=await t.json();if(!t.ok)throw Error(r.error||"Failed to delete branch");return r}async function eo(e,t,r=!0){let n=await fetch(`${P}/branches/promote`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sourceBranch:e,targetBranch:t,createSnapshot:r})}),a=await n.json();if(!n.ok)throw Error(a.error||"Failed to promote branch");return a}async function el(e,t){let r=await fetch(`${P}/migrations/create`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e,sql:t})}),n=await r.json();if(!r.ok)throw Error(n.error||"Failed to create migration");return n}async function ec(){let e=await fetch(`${P}/migrations/apply-all`,{method:"POST",headers:{"Content-Type":"application/json"}}),t=await e.json();if(!e.ok)throw Error(t.error||"Failed to apply migrations");return t}function ed({currentBranch:e,onBranchChange:t,onCreateClick:r,disabled:n=!1}){let[a,s]=(0,g.useState)(!1),[i,o]=(0,g.useState)([]),[l,c]=(0,g.useState)(!1),[d,u]=(0,g.useState)(!1),p=(0,g.useRef)(null);async function h(){try{c(!0);let e=await en();o(e.branches||[])}catch(e){console.error("Failed to load branches:",e)}finally{c(!1)}}async function m(r){if(r!==e&&!d)try{u(!0),await es(r),s(!1),t?.()}catch(e){console.error("Failed to switch branch:",e),alert(`Failed to switch branch: ${e}`)}finally{u(!1)}}return(0,g.useEffect)(()=>{a&&h()},[a]),(0,g.useEffect)(()=>{function e(e){p.current&&!p.current.contains(e.target)&&s(!1)}return a&&document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[a]),(0,b.jsxs)("div",{className:"relative",ref:p,children:[(0,b.jsxs)("button",{onClick:()=>{n||s(!a)},className:`px-3 py-1.5 bg-app-sidebar border border-app-border rounded transition-colors flex items-center gap-2 text-sm ${n?"opacity-60 cursor-not-allowed":"hover:border-app-border-hover"}`,title:n?"Disabled in Compare Mode":void 0,disabled:n,children:[(0,b.jsx)(C,{className:"w-4 h-4"}),(0,b.jsx)("span",{className:"font-medium",children:e}),n&&(0,b.jsx)(L,{className:"w-3.5 h-3.5 text-app-text-dim"}),(0,b.jsx)(O,{className:`w-4 h-4 transition-transform ${a?"rotate-180":""}`})]}),a&&!n&&(0,b.jsxs)("div",{className:"absolute top-full right-0 mt-2 w-64 bg-app-sidebar border border-app-border rounded-lg shadow-lg overflow-hidden z-50",children:[(0,b.jsx)("div",{className:"px-3 py-2 border-b border-app-border bg-app-bg",children:(0,b.jsx)("p",{className:"text-xs font-semibold text-app-text-dim uppercase",children:"Switch Branch"})}),(0,b.jsx)("div",{className:"max-h-80 overflow-y-auto",children:l?(0,b.jsx)("div",{className:"px-3 py-8 flex items-center justify-center",children:(0,b.jsx)($,{className:"w-5 h-5 animate-spin text-app-accent"})}):0===i.length?(0,b.jsx)("div",{className:"px-3 py-8 text-center text-sm text-app-text-dim",children:"No branches found"}):i.map(t=>(0,b.jsxs)("button",{onClick:()=>m(t.name),disabled:d||t.name===e,className:`
6
6
  w-full px-3 py-2 text-left hover:bg-app-sidebar-hover transition-colors flex items-center justify-between gap-2
7
7
  ${t.name===e?"bg-app-sidebar-active":""}
8
8
  ${d?"opacity-50 cursor-not-allowed":""}
9
- `,children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(C,{className:"w-4 h-4 flex-shrink-0 text-app-text-dim"}),(0,b.jsx)("span",{className:"font-medium truncate",children:t.name})]}),t.description&&(0,b.jsx)("p",{className:"text-xs text-app-text-dim mt-0.5 truncate",children:t.description})]}),t.name===e&&(0,b.jsx)(R,{className:"w-4 h-4 text-app-accent flex-shrink-0"})]},t.name))}),(0,b.jsx)("div",{className:"border-t border-app-border",children:(0,b.jsxs)("button",{onClick:function(){s(!1),r?.()},className:"w-full px-3 py-2 text-left hover:bg-app-sidebar-hover transition-colors flex items-center gap-2 text-sm font-medium text-app-accent",children:[(0,b.jsx)(D,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:"Create New Branch"})]})})]})]})}function eu({projectInfo:e,currentBranch:t,onBranchChange:r,onCreateBranchClick:n,showAI:a=!1,onAIClick:s,disableBranchSelector:i=!1}){if(!e)return null;let o=t||e.currentBranch||"main";return(0,b.jsxs)("div",{className:"h-12 bg-app-sidebar border-b border-app-border px-4 flex items-center justify-between",children:[(0,b.jsx)("div",{className:"flex items-center gap-3",children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(A,{className:"w-2 h-2 text-app-accent fill-app-accent"}),(0,b.jsx)("span",{className:"font-semibold text-base",children:e.name})]})}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(ed,{currentBranch:o,onBranchChange:r,onCreateClick:n,disabled:i}),a&&(0,b.jsx)("button",{onClick:s,className:"px-3 py-1.5 bg-app-sidebar-active rounded text-sm hover:bg-app-sidebar-hover transition-colors",children:"AI"})]})]})}let ep=y("Table2",[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]]),eh=y("AlertTriangle",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z",key:"c3ski4"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),em=y("CheckCircle",[["path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14",key:"g774vq"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]),ef=y("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function ex({isOpen:e,onClose:t,initialData:r,onComplete:n}){let[a,s]=(0,g.useState)(r?.suggestedName||""),[i,o]=(0,g.useState)("copy"),[l,c]=(0,g.useState)(!1),[d,u]=(0,g.useState)(null),[p,h]=(0,g.useState)("");if(!e||!r)return null;async function m(){if(!a.trim())return void u("Project name is required");if(!/^[a-z0-9-]+$/.test(a))return void u("Project name must contain only lowercase letters, numbers, and hyphens");c(!0),u(null),h("Preparing import...");try{h("Creating project structure...");let e=await fetch("/api/import/create",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:a,sourcePath:r.sourcePath,importMode:i})});if(!e.ok){let t=await e.json();throw Error(t.error||"Failed to create project")}h("Copying database files...");let s=await fetch("/api/import/copy",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:a,sourcePath:r.sourcePath,importMode:i})});if(!s.ok){let e=await s.json();throw Error(e.error||"Failed to copy database")}h("Creating baseline snapshot...");let o=await fetch("/api/import/snapshot",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:a})});if(!o.ok){let e=await o.json();throw Error(e.error||"Failed to create baseline snapshot")}h("Finalizing import...");let l=await fetch("/api/import/finalize",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:a})});if(!l.ok){let e=await l.json();throw Error(e.error||"Failed to finalize import")}let c=await l.json();if(h("Import complete!"),n&&await Promise.resolve(n()),c?.server?.port){h("Launching Studio..."),setTimeout(()=>{window.location.href=`http://localhost:${c.server.port}`},800);return}setTimeout(()=>{t()},1e3)}catch(e){u(e.message),c(!1)}}return(0,b.jsx)("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50 p-4",children:(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg shadow-2xl w-full max-w-2xl",children:[(0,b.jsxs)("div",{className:"px-6 py-4 border-b border-app-border flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(N,{className:"w-5 h-5 text-app-accent"}),(0,b.jsx)("h2",{className:"text-xl font-semibold",children:"Import SQLite Database"})]}),!l&&(0,b.jsx)("button",{onClick:t,className:"p-1 hover:bg-app-bg rounded transition-colors",children:(0,b.jsx)(ef,{className:"w-5 h-5"})})]}),(0,b.jsxs)("div",{className:"px-6 py-5 space-y-5",children:[(0,b.jsxs)("div",{className:"bg-app-bg border border-app-border rounded-lg p-4",children:[(0,b.jsx)("div",{className:"text-xs font-semibold text-app-text-dim mb-2",children:"SOURCE DATABASE"}),(0,b.jsx)("div",{className:"font-mono text-sm text-app-text break-all",children:r.sourcePath}),r.metadata&&(0,b.jsxs)("div",{className:"mt-3 flex gap-4 text-xs text-app-text-dim",children:[(0,b.jsxs)("div",{children:["Tables: ",r.metadata.tableCount]}),(0,b.jsx)("div",{children:"•"}),(0,b.jsxs)("div",{children:["Journal: ",r.metadata.journalMode]}),(0,b.jsx)("div",{children:"•"}),(0,b.jsxs)("div",{children:["Version: ",r.metadata.userVersion]})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"block text-sm font-medium mb-2",children:"Project Name"}),(0,b.jsx)("input",{type:"text",value:a,onChange:e=>s(e.target.value.toLowerCase()),disabled:l,placeholder:"my-database",className:"w-full px-3 py-2 bg-app-bg border border-app-border rounded focus:outline-none focus:border-app-accent disabled:opacity-50 font-mono text-sm"}),(0,b.jsx)("p",{className:"text-xs text-app-text-dim mt-1",children:"Lowercase letters, numbers, and hyphens only"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"block text-sm font-medium mb-3",children:"Import Mode"}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("label",{className:`flex items-start gap-3 p-3 border rounded cursor-pointer transition-colors ${"copy"===i?"border-app-accent bg-app-accent/10":"border-app-border hover:border-app-accent/50"}`,children:[(0,b.jsx)("input",{type:"radio",name:"importMode",value:"copy",checked:"copy"===i,onChange:e=>o("copy"),disabled:l,className:"mt-0.5"}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("div",{className:"font-medium text-sm",children:"Copy into project (Recommended)"}),(0,b.jsx)("div",{className:"text-xs text-app-text-dim mt-1",children:"Creates a safe copy. Original file will not be modified."})]})]}),(0,b.jsxs)("label",{className:`flex items-start gap-3 p-3 border rounded cursor-pointer transition-colors ${"link"===i?"border-app-accent bg-app-accent/10":"border-app-border hover:border-app-accent/50"}`,children:[(0,b.jsx)("input",{type:"radio",name:"importMode",value:"link",checked:"link"===i,onChange:e=>o("link"),disabled:l,className:"mt-0.5"}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("div",{className:"font-medium text-sm",children:"Link original file (Advanced)"}),(0,b.jsx)("div",{className:"text-xs text-app-text-dim mt-1",children:"Work directly with the original file. Changes affect original."})]})]})]})]}),(0,b.jsx)("div",{className:"bg-amber-500/10 border border-amber-500/30 rounded-lg p-4",children:(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[(0,b.jsx)(eh,{className:"w-5 h-5 text-amber-400 flex-shrink-0 mt-0.5"}),(0,b.jsxs)("div",{className:"text-sm",children:[(0,b.jsx)("div",{className:"font-semibold text-amber-400 mb-1",children:"Important"}),(0,b.jsx)("div",{className:"text-app-text-dim",children:"copy"===i?"A complete copy will be created. Your original database will remain untouched.":"Link mode works directly with your original file. All changes will affect the original database."})]})]})}),l&&p&&(0,b.jsx)("div",{className:"bg-app-bg border border-app-border rounded-lg p-4",children:(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(L,{className:"w-5 h-5 animate-spin text-app-accent"}),(0,b.jsx)("div",{className:"text-sm text-app-text",children:p})]})}),d&&(0,b.jsx)("div",{className:"bg-red-500/10 border border-red-500/30 rounded-lg p-4",children:(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[(0,b.jsx)(eh,{className:"w-5 h-5 text-red-400 flex-shrink-0"}),(0,b.jsx)("div",{className:"text-sm text-red-400",children:d})]})})]}),(0,b.jsxs)("div",{className:"px-6 py-4 border-t border-app-border flex items-center justify-between",children:[(0,b.jsx)("div",{className:"text-xs text-app-text-dim",children:"✓ Database validated successfully"}),(0,b.jsxs)("div",{className:"flex gap-3",children:[(0,b.jsx)("button",{onClick:t,disabled:l,className:"px-4 py-2 text-sm border border-app-border rounded hover:bg-app-bg disabled:opacity-50 transition-colors",children:"Cancel"}),(0,b.jsx)("button",{onClick:m,disabled:l||!a.trim(),className:"px-4 py-2 text-sm bg-app-accent text-white rounded hover:bg-app-accent/90 disabled:opacity-50 transition-colors flex items-center gap-2",children:l?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(L,{className:"w-4 h-4 animate-spin"}),(0,b.jsx)("span",{children:"Importing..."})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(em,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:"Import Database"})]})})]})]})]})})}let eb=(0,g.createContext)(void 0);function eg({children:e}){let[t,r]=(0,g.useState)(null),[n,a]=(0,g.useState)(0),[s,i]=(0,g.useState)({sql:"-- Write your SQL query here\n\n-- Press Ctrl+Space for autocomplete\n",activeTab:"result"});return(0,g.useEffect)(()=>{let e=localStorage.getItem("sql-kite-sql-editor-content");e&&i(t=>({...t,sql:e}))},[]),(0,b.jsx)(eb.Provider,{value:{editorState:s,setEditorState:e=>{i(e),localStorage.setItem("sql-kite-sql-editor-content",e.sql)},updateSQL:e=>{i(t=>({...t,sql:e})),localStorage.setItem("sql-kite-sql-editor-content",e)},updateActiveTab:e=>{i(t=>({...t,activeTab:e}))},addFavorite:(e,t)=>{let r=localStorage.getItem("sql-kite-favorites"),n=[];if(r)try{n=JSON.parse(r)}catch(e){console.error("Failed to parse favorites",e)}let a={id:`fav-${Date.now()}`,label:e,type:"file",sql:t};n.push(a),localStorage.setItem("sql-kite-favorites",JSON.stringify(n)),window.dispatchEvent(new Event("storage"))},projectInfo:t,setProjectInfo:r,branchVersion:n,incrementBranchVersion:()=>a(e=>e+1)},children:e})}function ev(){let e=(0,g.useContext)(eb);if(void 0===e)throw Error("useAppContext must be used within AppProvider");return e}function ey({projectInfo:e}){let{branchVersion:t}=ev(),[r,n]=(0,g.useState)([]),[a,s]=(0,g.useState)([]),[i,o]=(0,g.useState)(!1),[l,c]=(0,g.useState)(null);async function d(){try{let[e,t]=await Promise.all([B(),W(5,0)]);n(e),s(t.events)}catch(e){console.error("Failed to load data:",e)}}async function u(){try{let e=await fetch("/api/import/pending"),t=await e.json();t.pending&&(c(t),o(!0))}catch(e){console.error("Failed to check pending import:",e)}}async function p(){o(!1);try{await fetch("/api/import/pending",{method:"DELETE"})}catch(e){console.error("Failed to clear import session:",e)}d()}return(0,g.useEffect)(()=>{d(),u()},[t]),(0,b.jsxs)("div",{className:"p-8",children:[(0,b.jsxs)("div",{className:"max-w-6xl mx-auto",children:[(0,b.jsxs)("h1",{className:"text-3xl font-bold mb-2",children:["Welcome to ",e?.name||"SQL Kite Studio"]}),(0,b.jsx)("p",{className:"text-studio-text-dim mb-8",children:"Local SQLite database management platform"}),(0,b.jsxs)("div",{className:"grid grid-cols-3 gap-6 mb-8",children:[(0,b.jsx)(ew,{icon:ep,label:"Tables",value:r.length,color:"text-blue-400"}),(0,b.jsx)(ew,{icon:j,label:"Recent Queries",value:a.filter(e=>"sql_executed"===e.type).length,color:"text-green-400"}),(0,b.jsx)(ew,{icon:S,label:"Total Events",value:a.length,color:"text-purple-400"})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-6",children:[(0,b.jsxs)("div",{className:"bg-studio-sidebar border border-studio-border rounded-lg p-6",children:[(0,b.jsxs)("h2",{className:"text-lg font-semibold mb-4 flex items-center gap-2",children:[(0,b.jsx)(ep,{className:"w-5 h-5"}),"Tables"]}),0===r.length?(0,b.jsx)("p",{className:"text-studio-text-dim text-sm",children:"No tables yet"}):(0,b.jsx)("div",{className:"space-y-2",children:r.slice(0,5).map(e=>(0,b.jsx)("div",{className:"flex items-center justify-between p-2 rounded hover:bg-studio-hover",children:(0,b.jsx)("span",{className:"font-mono text-sm",children:e.name})},e.name))})]}),(0,b.jsxs)("div",{className:"bg-studio-sidebar border border-studio-border rounded-lg p-6",children:[(0,b.jsxs)("h2",{className:"text-lg font-semibold mb-4 flex items-center gap-2",children:[(0,b.jsx)(S,{className:"w-5 h-5"}),"Recent Activity"]}),0===a.length?(0,b.jsx)("p",{className:"text-studio-text-dim text-sm",children:"No activity yet"}):(0,b.jsx)("div",{className:"space-y-2",children:a.map(e=>(0,b.jsxs)("div",{className:"p-2 rounded hover:bg-studio-hover",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:e.type.split("_").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")}),(0,b.jsx)("div",{className:"text-xs text-studio-text-dim mt-1",children:new Date(e.createdAt).toLocaleString()})]},e.id))})]})]})]}),i&&l&&(0,b.jsx)(ex,{isOpen:i,onClose:()=>o(!1),onComplete:p,initialData:l})]})}function ew({icon:e,label:t,value:r,color:n}){return(0,b.jsx)("div",{className:"bg-studio-sidebar border border-studio-border rounded-lg p-6",children:(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-studio-text-dim text-sm mb-1",children:t}),(0,b.jsx)("div",{className:"text-3xl font-bold",children:r})]}),(0,b.jsx)(e,{className:`w-8 h-8 ${n}`})]})})}let ej=y("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),eN=y("Eye",[["path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z",key:"rwhkz3"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),eE=y("Zap",[["polygon",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2",key:"45s27k"}]]),eS=y("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),ek=y("Network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);function e_(e){if("string"==typeof e||"number"==typeof e)return""+e;let t="";if(Array.isArray(e))for(let r=0,n;r<e.length;r++)""!==(n=e_(e[r]))&&(t+=(t&&" ")+n);else for(let r in e)e[r]&&(t+=(t&&" ")+r);return t}e.i(47167);var eC=e.i(30224);let eM={get url(){return`file://${e.P("node_modules/zustand/esm/vanilla.mjs")}`}},eT=e=>{let t,r=new Set,n=(e,n)=>{let a="function"==typeof e?e(t):e;if(!Object.is(a,t)){let e=t;t=(null!=n?n:"object"!=typeof a||null===a)?a:Object.assign({},t,a),r.forEach(r=>r(t,e))}},a=()=>t,s={setState:n,getState:a,getInitialState:()=>i,subscribe:e=>(r.add(e),()=>r.delete(e)),destroy:()=>{(eM.env?eM.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),r.clear()}},i=t=e(n,a,s);return s},{useDebugValue:eA}=g.default,{useSyncExternalStoreWithSelector:eO}=eC.default,eR=e=>e;function eD(e,t=eR,r){let n=eO(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,r);return eA(n),n}let eL=(e,t)=>{let r=e?eT(e):eT,n=(e,n=t)=>eD(r,e,n);return Object.assign(n,r),n};function e$(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[r,n]of e)if(!Object.is(n,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let r of e)if(!t.has(r))return!1;return!0}let r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(let n of r)if(!Object.prototype.hasOwnProperty.call(t,n)||!Object.is(e[n],t[n]))return!1;return!0}var eP={value:()=>{}};function eI(){for(var e,t=0,r=arguments.length,n={};t<r;++t){if(!(e=arguments[t]+"")||e in n||/[\s.]/.test(e))throw Error("illegal type: "+e);n[e]=[]}return new eB(n)}function eB(e){this._=e}function ez(e,t,r){for(var n=0,a=e.length;n<a;++n)if(e[n].name===t){e[n]=eP,e=e.slice(0,n).concat(e.slice(n+1));break}return null!=r&&e.push({name:t,value:r}),e}function eq(){}function eF(e){return null==e?eq:function(){return this.querySelector(e)}}function eH(){return[]}function eU(e){return null==e?eH:function(){return this.querySelectorAll(e)}}function eW(e){return function(){return this.matches(e)}}function eV(e){return function(t){return t.matches(e)}}eB.prototype=eI.prototype={constructor:eB,on:function(e,t){var r,n=this._,a=(e+"").trim().split(/^|\s+/).map(function(e){var t="",r=e.indexOf(".");if(r>=0&&(t=e.slice(r+1),e=e.slice(0,r)),e&&!n.hasOwnProperty(e))throw Error("unknown type: "+e);return{type:e,name:t}}),s=-1,i=a.length;if(arguments.length<2){for(;++s<i;)if((r=(e=a[s]).type)&&(r=function(e,t){for(var r,n=0,a=e.length;n<a;++n)if((r=e[n]).name===t)return r.value}(n[r],e.name)))return r;return}if(null!=t&&"function"!=typeof t)throw Error("invalid callback: "+t);for(;++s<i;)if(r=(e=a[s]).type)n[r]=ez(n[r],e.name,t);else if(null==t)for(r in n)n[r]=ez(n[r],e.name,null);return this},copy:function(){var e={},t=this._;for(var r in t)e[r]=t[r].slice();return new eB(e)},call:function(e,t){if((r=arguments.length-2)>0)for(var r,n,a=Array(r),s=0;s<r;++s)a[s]=arguments[s+2];if(!this._.hasOwnProperty(e))throw Error("unknown type: "+e);for(n=this._[e],s=0,r=n.length;s<r;++s)n[s].value.apply(t,a)},apply:function(e,t,r){if(!this._.hasOwnProperty(e))throw Error("unknown type: "+e);for(var n=this._[e],a=0,s=n.length;a<s;++a)n[a].value.apply(t,r)}};var eY=Array.prototype.find;function eX(){return this.firstElementChild}var eG=Array.prototype.filter;function eK(){return Array.from(this.children)}function eQ(e){return Array(e.length)}function eJ(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function eZ(e,t,r,n,a,s){for(var i,o=0,l=t.length,c=s.length;o<c;++o)(i=t[o])?(i.__data__=s[o],n[o]=i):r[o]=new eJ(e,s[o]);for(;o<l;++o)(i=t[o])&&(a[o]=i)}function e0(e,t,r,n,a,s,i){var o,l,c,d=new Map,u=t.length,p=s.length,h=Array(u);for(o=0;o<u;++o)(l=t[o])&&(h[o]=c=i.call(l,l.__data__,o,t)+"",d.has(c)?a[o]=l:d.set(c,l));for(o=0;o<p;++o)c=i.call(e,s[o],o,s)+"",(l=d.get(c))?(n[o]=l,l.__data__=s[o],d.delete(c)):r[o]=new eJ(e,s[o]);for(o=0;o<u;++o)(l=t[o])&&d.get(h[o])===l&&(a[o]=l)}function e1(e){return e.__data__}function e2(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}eJ.prototype={constructor:eJ,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};var e5="http://www.w3.org/1999/xhtml";let e3={svg:"http://www.w3.org/2000/svg",xhtml:e5,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function e4(e){var t=e+="",r=t.indexOf(":");return r>=0&&"xmlns"!==(t=e.slice(0,r))&&(e=e.slice(r+1)),e3.hasOwnProperty(t)?{space:e3[t],local:e}:e}function e6(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function e9(e,t){return e.style.getPropertyValue(t)||e6(e).getComputedStyle(e,null).getPropertyValue(t)}function e7(e){return e.trim().split(/^|\s+/)}function e8(e){return e.classList||new te(e)}function te(e){this._node=e,this._names=e7(e.getAttribute("class")||"")}function tt(e,t){for(var r=e8(e),n=-1,a=t.length;++n<a;)r.add(t[n])}function tr(e,t){for(var r=e8(e),n=-1,a=t.length;++n<a;)r.remove(t[n])}function tn(){this.textContent=""}function ta(){this.innerHTML=""}function ts(){this.nextSibling&&this.parentNode.appendChild(this)}function ti(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function to(e){var t=e4(e);return(t.local?function(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}:function(e){return function(){var t=this.ownerDocument,r=this.namespaceURI;return r===e5&&t.documentElement.namespaceURI===e5?t.createElement(e):t.createElementNS(r,e)}})(t)}function tl(){return null}function tc(){var e=this.parentNode;e&&e.removeChild(this)}function td(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function tu(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function tp(e){return function(){var t=this.__on;if(t){for(var r,n=0,a=-1,s=t.length;n<s;++n)(r=t[n],e.type&&r.type!==e.type||r.name!==e.name)?t[++a]=r:this.removeEventListener(r.type,r.listener,r.options);++a?t.length=a:delete this.__on}}}function th(e,t,r){return function(){var n,a=this.__on,s=function(e){t.call(this,e,this.__data__)};if(a){for(var i=0,o=a.length;i<o;++i)if((n=a[i]).type===e.type&&n.name===e.name){this.removeEventListener(n.type,n.listener,n.options),this.addEventListener(n.type,n.listener=s,n.options=r),n.value=t;return}}this.addEventListener(e.type,s,r),n={type:e.type,name:e.name,value:t,listener:s,options:r},a?a.push(n):this.__on=[n]}}function tm(e,t,r){var n=e6(e),a=n.CustomEvent;"function"==typeof a?a=new a(t,r):(a=n.document.createEvent("Event"),r?(a.initEvent(t,r.bubbles,r.cancelable),a.detail=r.detail):a.initEvent(t,!1,!1)),e.dispatchEvent(a)}te.prototype={add:function(e){0>this._names.indexOf(e)&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var tf=[null];function tx(e,t){this._groups=e,this._parents=t}function tb(){return new tx([[document.documentElement]],tf)}function tg(e){return"string"==typeof e?new tx([[document.querySelector(e)]],[document.documentElement]):new tx([[e]],tf)}tx.prototype=tb.prototype={constructor:tx,select:function(e){"function"!=typeof e&&(e=eF(e));for(var t=this._groups,r=t.length,n=Array(r),a=0;a<r;++a)for(var s,i,o=t[a],l=o.length,c=n[a]=Array(l),d=0;d<l;++d)(s=o[d])&&(i=e.call(s,s.__data__,d,o))&&("__data__"in s&&(i.__data__=s.__data__),c[d]=i);return new tx(n,this._parents)},selectAll:function(e){if("function"==typeof e){var t;t=e,e=function(){var e;return e=t.apply(this,arguments),null==e?[]:Array.isArray(e)?e:Array.from(e)}}else e=eU(e);for(var r=this._groups,n=r.length,a=[],s=[],i=0;i<n;++i)for(var o,l=r[i],c=l.length,d=0;d<c;++d)(o=l[d])&&(a.push(e.call(o,o.__data__,d,l)),s.push(o));return new tx(a,s)},selectChild:function(e){var t;return this.select(null==e?eX:(t="function"==typeof e?e:eV(e),function(){return eY.call(this.children,t)}))},selectChildren:function(e){var t;return this.selectAll(null==e?eK:(t="function"==typeof e?e:eV(e),function(){return eG.call(this.children,t)}))},filter:function(e){"function"!=typeof e&&(e=eW(e));for(var t=this._groups,r=t.length,n=Array(r),a=0;a<r;++a)for(var s,i=t[a],o=i.length,l=n[a]=[],c=0;c<o;++c)(s=i[c])&&e.call(s,s.__data__,c,i)&&l.push(s);return new tx(n,this._parents)},data:function(e,t){if(!arguments.length)return Array.from(this,e1);var r=t?e0:eZ,n=this._parents,a=this._groups;"function"!=typeof e&&(g=e,e=function(){return g});for(var s=a.length,i=Array(s),o=Array(s),l=Array(s),c=0;c<s;++c){var d=n[c],u=a[c],p=u.length,h="object"==typeof(b=e.call(d,d&&d.__data__,c,n))&&"length"in b?b:Array.from(b),m=h.length,f=o[c]=Array(m),x=i[c]=Array(m);r(d,u,f,x,l[c]=Array(p),h,t);for(var b,g,v,y,w=0,j=0;w<m;++w)if(v=f[w]){for(w>=j&&(j=w+1);!(y=x[j])&&++j<m;);v._next=y||null}}return(i=new tx(i,n))._enter=o,i._exit=l,i},enter:function(){return new tx(this._enter||this._groups.map(eQ),this._parents)},exit:function(){return new tx(this._exit||this._groups.map(eQ),this._parents)},join:function(e,t,r){var n=this.enter(),a=this,s=this.exit();return"function"==typeof e?(n=e(n))&&(n=n.selection()):n=n.append(e+""),null!=t&&(a=t(a))&&(a=a.selection()),null==r?s.remove():r(s),n&&a?n.merge(a).order():a},merge:function(e){for(var t=e.selection?e.selection():e,r=this._groups,n=t._groups,a=r.length,s=n.length,i=Math.min(a,s),o=Array(a),l=0;l<i;++l)for(var c,d=r[l],u=n[l],p=d.length,h=o[l]=Array(p),m=0;m<p;++m)(c=d[m]||u[m])&&(h[m]=c);for(;l<a;++l)o[l]=r[l];return new tx(o,this._parents)},selection:function(){return this},order:function(){for(var e=this._groups,t=-1,r=e.length;++t<r;)for(var n,a=e[t],s=a.length-1,i=a[s];--s>=0;)(n=a[s])&&(i&&4^n.compareDocumentPosition(i)&&i.parentNode.insertBefore(n,i),i=n);return this},sort:function(e){function t(t,r){return t&&r?e(t.__data__,r.__data__):!t-!r}e||(e=e2);for(var r=this._groups,n=r.length,a=Array(n),s=0;s<n;++s){for(var i,o=r[s],l=o.length,c=a[s]=Array(l),d=0;d<l;++d)(i=o[d])&&(c[d]=i);c.sort(t)}return new tx(a,this._parents).order()},call:function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var e=this._groups,t=0,r=e.length;t<r;++t)for(var n=e[t],a=0,s=n.length;a<s;++a){var i=n[a];if(i)return i}return null},size:function(){let e=0;for(let t of this)++e;return e},empty:function(){return!this.node()},each:function(e){for(var t=this._groups,r=0,n=t.length;r<n;++r)for(var a,s=t[r],i=0,o=s.length;i<o;++i)(a=s[i])&&e.call(a,a.__data__,i,s);return this},attr:function(e,t){var r=e4(e);if(arguments.length<2){var n=this.node();return r.local?n.getAttributeNS(r.space,r.local):n.getAttribute(r)}return this.each((null==t?r.local?function(e){return function(){this.removeAttributeNS(e.space,e.local)}}:function(e){return function(){this.removeAttribute(e)}}:"function"==typeof t?r.local?function(e,t){return function(){var r=t.apply(this,arguments);null==r?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,r)}}:function(e,t){return function(){var r=t.apply(this,arguments);null==r?this.removeAttribute(e):this.setAttribute(e,r)}}:r.local?function(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}:function(e,t){return function(){this.setAttribute(e,t)}})(r,t))},style:function(e,t,r){return arguments.length>1?this.each((null==t?function(e){return function(){this.style.removeProperty(e)}}:"function"==typeof t?function(e,t,r){return function(){var n=t.apply(this,arguments);null==n?this.style.removeProperty(e):this.style.setProperty(e,n,r)}}:function(e,t,r){return function(){this.style.setProperty(e,t,r)}})(e,t,null==r?"":r)):e9(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?function(e){return function(){delete this[e]}}:"function"==typeof t?function(e,t){return function(){var r=t.apply(this,arguments);null==r?delete this[e]:this[e]=r}}:function(e,t){return function(){this[e]=t}})(e,t)):this.node()[e]},classed:function(e,t){var r=e7(e+"");if(arguments.length<2){for(var n=e8(this.node()),a=-1,s=r.length;++a<s;)if(!n.contains(r[a]))return!1;return!0}return this.each(("function"==typeof t?function(e,t){return function(){(t.apply(this,arguments)?tt:tr)(this,e)}}:t?function(e){return function(){tt(this,e)}}:function(e){return function(){tr(this,e)}})(r,t))},text:function(e){return arguments.length?this.each(null==e?tn:("function"==typeof e?function(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}:function(e){return function(){this.textContent=e}})(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?ta:("function"==typeof e?function(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}:function(e){return function(){this.innerHTML=e}})(e)):this.node().innerHTML},raise:function(){return this.each(ts)},lower:function(){return this.each(ti)},append:function(e){var t="function"==typeof e?e:to(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})},insert:function(e,t){var r="function"==typeof e?e:to(e),n=null==t?tl:"function"==typeof t?t:eF(t);return this.select(function(){return this.insertBefore(r.apply(this,arguments),n.apply(this,arguments)||null)})},remove:function(){return this.each(tc)},clone:function(e){return this.select(e?tu:td)},datum:function(e){return arguments.length?this.property("__data__",e):this.node().__data__},on:function(e,t,r){var n,a,s=(e+"").trim().split(/^|\s+/).map(function(e){var t="",r=e.indexOf(".");return r>=0&&(t=e.slice(r+1),e=e.slice(0,r)),{type:e,name:t}}),i=s.length;if(arguments.length<2){var o=this.node().__on;if(o){for(var l,c=0,d=o.length;c<d;++c)for(n=0,l=o[c];n<i;++n)if((a=s[n]).type===l.type&&a.name===l.name)return l.value}return}for(n=0,o=t?th:tp;n<i;++n)this.each(o(s[n],t,r));return this},dispatch:function(e,t){return this.each(("function"==typeof t?function(e,t){return function(){return tm(this,e,t.apply(this,arguments))}}:function(e,t){return function(){return tm(this,e,t)}})(e,t))},[Symbol.iterator]:function*(){for(var e=this._groups,t=0,r=e.length;t<r;++t)for(var n,a=e[t],s=0,i=a.length;s<i;++s)(n=a[s])&&(yield n)}};let tv={passive:!1},ty={capture:!0,passive:!1};function tw(e){e.stopImmediatePropagation()}function tj(e){e.preventDefault(),e.stopImmediatePropagation()}function tN(e){var t=e.document.documentElement,r=tg(e).on("dragstart.drag",tj,ty);"onselectstart"in t?r.on("selectstart.drag",tj,ty):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function tE(e,t){var r=e.document.documentElement,n=tg(e).on("dragstart.drag",null);t&&(n.on("click.drag",tj,ty),setTimeout(function(){n.on("click.drag",null)},0)),"onselectstart"in r?n.on("selectstart.drag",null):(r.style.MozUserSelect=r.__noselect,delete r.__noselect)}function tS(e){return((e=Math.exp(e))+1/e)/2}let tk=function e(t,r,n){function a(e,a){var s,i,o=e[0],l=e[1],c=e[2],d=a[0],u=a[1],p=a[2],h=d-o,m=u-l,f=h*h+m*m;if(f<1e-12)i=Math.log(p/c)/t,s=function(e){return[o+e*h,l+e*m,c*Math.exp(t*e*i)]};else{var x=Math.sqrt(f),b=(p*p-c*c+n*f)/(2*c*r*x),g=(p*p-c*c-n*f)/(2*p*r*x),v=Math.log(Math.sqrt(b*b+1)-b);i=(Math.log(Math.sqrt(g*g+1)-g)-v)/t,s=function(e){var n,a,s=e*i,d=tS(v),u=c/(r*x)*(d*(((n=Math.exp(2*(n=t*s+v)))-1)/(n+1))-((a=Math.exp(a=v))-1/a)/2);return[o+u*h,l+u*m,c*d/tS(t*s+v)]}}return s.duration=1e3*i*t/Math.SQRT2,s}return a.rho=function(t){var r=Math.max(.001,+t),n=r*r;return e(r,n,n*n)},a}(Math.SQRT2,2,4);function t_(e,t){if(e=function(e){let t;for(;t=e.sourceEvent;)e=t;return e}(e),void 0===t&&(t=e.currentTarget),t){var r=t.ownerSVGElement||t;if(r.createSVGPoint){var n=r.createSVGPoint();return n.x=e.clientX,n.y=e.clientY,[(n=n.matrixTransform(t.getScreenCTM().inverse())).x,n.y]}if(t.getBoundingClientRect){var a=t.getBoundingClientRect();return[e.clientX-a.left-t.clientLeft,e.clientY-a.top-t.clientTop]}}return[e.pageX,e.pageY]}var tC,tM,tT=0,tA=0,tO=0,tR=0,tD=0,tL=0,t$="object"==typeof performance&&performance.now?performance:Date,tP="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function tI(){return tD||(tP(tB),tD=t$.now()+tL)}function tB(){tD=0}function tz(){this._call=this._time=this._next=null}function tq(e,t,r){var n=new tz;return n.restart(e,t,r),n}function tF(){tD=(tR=t$.now())+tL,tT=tA=0;try{tI(),++tT;for(var e,t=tC;t;)(e=tD-t._time)>=0&&t._call.call(void 0,e),t=t._next;--tT}finally{tT=0,function(){for(var e,t,r=tC,n=1/0;r;)r._call?(n>r._time&&(n=r._time),e=r,r=r._next):(t=r._next,r._next=null,r=e?e._next=t:tC=t);tM=e,tU(n)}(),tD=0}}function tH(){var e=t$.now(),t=e-tR;t>1e3&&(tL-=t,tR=e)}function tU(e){!tT&&(tA&&(tA=clearTimeout(tA)),e-tD>24?(e<1/0&&(tA=setTimeout(tF,e-t$.now()-tL)),tO&&(tO=clearInterval(tO))):(tO||(tR=t$.now(),tO=setInterval(tH,1e3)),tT=1,tP(tF)))}function tW(e,t,r){var n=new tz;return t=null==t?0:+t,n.restart(r=>{n.stop(),e(r+t)},t,r),n}tz.prototype=tq.prototype={constructor:tz,restart:function(e,t,r){if("function"!=typeof e)throw TypeError("callback is not a function");r=(null==r?tI():+r)+(null==t?0:+t),this._next||tM===this||(tM?tM._next=this:tC=this,tM=this),this._call=e,this._time=r,tU()},stop:function(){this._call&&(this._call=null,this._time=1/0,tU())}};var tV=eI("start","end","cancel","interrupt"),tY=[];function tX(e,t,r,n,a,s){var i=e.__transition;if(i){if(r in i)return}else e.__transition={};!function(e,t,r){var n,a=e.__transition;function s(l){var c,d,u,p;if(1!==r.state)return o();for(c in a)if((p=a[c]).name===r.name){if(3===p.state)return tW(s);4===p.state?(p.state=6,p.timer.stop(),p.on.call("interrupt",e,e.__data__,p.index,p.group),delete a[c]):+c<t&&(p.state=6,p.timer.stop(),p.on.call("cancel",e,e.__data__,p.index,p.group),delete a[c])}if(tW(function(){3===r.state&&(r.state=4,r.timer.restart(i,r.delay,r.time),i(l))}),r.state=2,r.on.call("start",e,e.__data__,r.index,r.group),2===r.state){for(c=0,r.state=3,n=Array(u=r.tween.length),d=-1;c<u;++c)(p=r.tween[c].value.call(e,e.__data__,r.index,r.group))&&(n[++d]=p);n.length=d+1}}function i(t){for(var a=t<r.duration?r.ease.call(null,t/r.duration):(r.timer.restart(o),r.state=5,1),s=-1,i=n.length;++s<i;)n[s].call(e,a);5===r.state&&(r.on.call("end",e,e.__data__,r.index,r.group),o())}function o(){for(var n in r.state=6,r.timer.stop(),delete a[t],a)return;delete e.__transition}a[t]=r,r.timer=tq(function(e){r.state=1,r.timer.restart(s,r.delay,r.time),r.delay<=e&&s(e-r.delay)},0,r.time)}(e,r,{name:t,index:n,group:a,on:tV,tween:tY,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:0})}function tG(e,t){var r=tQ(e,t);if(r.state>0)throw Error("too late; already scheduled");return r}function tK(e,t){var r=tQ(e,t);if(r.state>3)throw Error("too late; already running");return r}function tQ(e,t){var r=e.__transition;if(!r||!(r=r[t]))throw Error("transition not found");return r}function tJ(e,t){var r,n,a,s=e.__transition,i=!0;if(s){for(a in t=null==t?null:t+"",s){if((r=s[a]).name!==t){i=!1;continue}n=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(n?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete s[a]}i&&delete e.__transition}}function tZ(e,t){return e*=1,t*=1,function(r){return e*(1-r)+t*r}}var t0=180/Math.PI,t1={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function t2(e,t,r,n,a,s){var i,o,l;return(i=Math.sqrt(e*e+t*t))&&(e/=i,t/=i),(l=e*r+t*n)&&(r-=e*l,n-=t*l),(o=Math.sqrt(r*r+n*n))&&(r/=o,n/=o,l/=o),e*n<t*r&&(e=-e,t=-t,l=-l,i=-i),{translateX:a,translateY:s,rotate:Math.atan2(t,e)*t0,skewX:Math.atan(l)*t0,scaleX:i,scaleY:o}}function t5(e,t,r,n){function a(e){return e.length?e.pop()+" ":""}return function(s,i){var o,l,c,d,u=[],p=[];return s=e(s),i=e(i),!function(e,n,a,s,i,o){if(e!==a||n!==s){var l=i.push("translate(",null,t,null,r);o.push({i:l-4,x:tZ(e,a)},{i:l-2,x:tZ(n,s)})}else(a||s)&&i.push("translate("+a+t+s+r)}(s.translateX,s.translateY,i.translateX,i.translateY,u,p),o=s.rotate,l=i.rotate,o!==l?(o-l>180?l+=360:l-o>180&&(o+=360),p.push({i:u.push(a(u)+"rotate(",null,n)-2,x:tZ(o,l)})):l&&u.push(a(u)+"rotate("+l+n),c=s.skewX,d=i.skewX,c!==d?p.push({i:u.push(a(u)+"skewX(",null,n)-2,x:tZ(c,d)}):d&&u.push(a(u)+"skewX("+d+n),!function(e,t,r,n,s,i){if(e!==r||t!==n){var o=s.push(a(s)+"scale(",null,",",null,")");i.push({i:o-4,x:tZ(e,r)},{i:o-2,x:tZ(t,n)})}else(1!==r||1!==n)&&s.push(a(s)+"scale("+r+","+n+")")}(s.scaleX,s.scaleY,i.scaleX,i.scaleY,u,p),s=i=null,function(e){for(var t,r=-1,n=p.length;++r<n;)u[(t=p[r]).i]=t.x(e);return u.join("")}}}var t3=t5(function(e){let t=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?t1:t2(t.a,t.b,t.c,t.d,t.e,t.f)},"px, ","px)","deg)"),t4=t5(function(e){return null==e?t1:(c||(c=document.createElementNS("http://www.w3.org/2000/svg","g")),c.setAttribute("transform",e),e=c.transform.baseVal.consolidate())?t2((e=e.matrix).a,e.b,e.c,e.d,e.e,e.f):t1},", ",")",")");function t6(e,t,r){var n=e._id;return e.each(function(){var e=tK(this,n);(e.value||(e.value={}))[t]=r.apply(this,arguments)}),function(e){return tQ(e,n).value[t]}}function t9(e,t,r){e.prototype=t.prototype=r,r.constructor=e}function t7(e,t){var r=Object.create(e.prototype);for(var n in t)r[n]=t[n];return r}function t8(){}var re="\\s*([+-]?\\d+)\\s*",rt="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",rr="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",rn=/^#([0-9a-f]{3,8})$/,ra=RegExp(`^rgb\\(${re},${re},${re}\\)$`),rs=RegExp(`^rgb\\(${rr},${rr},${rr}\\)$`),ri=RegExp(`^rgba\\(${re},${re},${re},${rt}\\)$`),ro=RegExp(`^rgba\\(${rr},${rr},${rr},${rt}\\)$`),rl=RegExp(`^hsl\\(${rt},${rr},${rr}\\)$`),rc=RegExp(`^hsla\\(${rt},${rr},${rr},${rt}\\)$`),rd={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function ru(){return this.rgb().formatHex()}function rp(){return this.rgb().formatRgb()}function rh(e){var t,r;return e=(e+"").trim().toLowerCase(),(t=rn.exec(e))?(r=t[1].length,t=parseInt(t[1],16),6===r?rm(t):3===r?new rb(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===r?rf(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===r?rf(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=ra.exec(e))?new rb(t[1],t[2],t[3],1):(t=rs.exec(e))?new rb(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=ri.exec(e))?rf(t[1],t[2],t[3],t[4]):(t=ro.exec(e))?rf(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=rl.exec(e))?rN(t[1],t[2]/100,t[3]/100,1):(t=rc.exec(e))?rN(t[1],t[2]/100,t[3]/100,t[4]):rd.hasOwnProperty(e)?rm(rd[e]):"transparent"===e?new rb(NaN,NaN,NaN,0):null}function rm(e){return new rb(e>>16&255,e>>8&255,255&e,1)}function rf(e,t,r,n){return n<=0&&(e=t=r=NaN),new rb(e,t,r,n)}function rx(e,t,r,n){var a;return 1==arguments.length?((a=e)instanceof t8||(a=rh(a)),a)?new rb((a=a.rgb()).r,a.g,a.b,a.opacity):new rb:new rb(e,t,r,null==n?1:n)}function rb(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}function rg(){return`#${rj(this.r)}${rj(this.g)}${rj(this.b)}`}function rv(){let e=ry(this.opacity);return`${1===e?"rgb(":"rgba("}${rw(this.r)}, ${rw(this.g)}, ${rw(this.b)}${1===e?")":`, ${e})`}`}function ry(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function rw(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function rj(e){return((e=rw(e))<16?"0":"")+e.toString(16)}function rN(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new rS(e,t,r,n)}function rE(e){if(e instanceof rS)return new rS(e.h,e.s,e.l,e.opacity);if(e instanceof t8||(e=rh(e)),!e)return new rS;if(e instanceof rS)return e;var t=(e=e.rgb()).r/255,r=e.g/255,n=e.b/255,a=Math.min(t,r,n),s=Math.max(t,r,n),i=NaN,o=s-a,l=(s+a)/2;return o?(i=t===s?(r-n)/o+(r<n)*6:r===s?(n-t)/o+2:(t-r)/o+4,o/=l<.5?s+a:2-s-a,i*=60):o=l>0&&l<1?0:i,new rS(i,o,l,e.opacity)}function rS(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}function rk(e){return(e=(e||0)%360)<0?e+360:e}function r_(e){return Math.max(0,Math.min(1,e||0))}function rC(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}function rM(e,t,r,n,a){var s=e*e,i=s*e;return((1-3*e+3*s-i)*t+(4-6*s+3*i)*r+(1+3*e+3*s-3*i)*n+i*a)/6}t9(t8,rh,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:ru,formatHex:ru,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return rE(this).formatHsl()},formatRgb:rp,toString:rp}),t9(rb,rx,t7(t8,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new rb(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new rb(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new rb(rw(this.r),rw(this.g),rw(this.b),ry(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:rg,formatHex:rg,formatHex8:function(){return`#${rj(this.r)}${rj(this.g)}${rj(this.b)}${rj((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:rv,toString:rv})),t9(rS,function(e,t,r,n){return 1==arguments.length?rE(e):new rS(e,t,r,null==n?1:n)},t7(t8,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new rS(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new rS(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,a=2*r-n;return new rb(rC(e>=240?e-240:e+120,a,n),rC(e,a,n),rC(e<120?e+240:e-120,a,n),this.opacity)},clamp(){return new rS(rk(this.h),r_(this.s),r_(this.l),ry(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=ry(this.opacity);return`${1===e?"hsl(":"hsla("}${rk(this.h)}, ${100*r_(this.s)}%, ${100*r_(this.l)}%${1===e?")":`, ${e})`}`}}));let rT=e=>()=>e;function rA(e,t){var r=t-e;return r?function(t){return e+t*r}:rT(isNaN(e)?t:e)}let rO=function e(t){var r,n=1==(r=+t)?rA:function(e,t){var n,a,s;return t-e?(n=e,a=t,n=Math.pow(n,s=r),a=Math.pow(a,s)-n,s=1/s,function(e){return Math.pow(n+e*a,s)}):rT(isNaN(e)?t:e)};function a(e,t){var r=n((e=rx(e)).r,(t=rx(t)).r),a=n(e.g,t.g),s=n(e.b,t.b),i=rA(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=a(t),e.b=s(t),e.opacity=i(t),e+""}}return a.gamma=e,a}(1);function rR(e){return function(t){var r,n,a=t.length,s=Array(a),i=Array(a),o=Array(a);for(r=0;r<a;++r)n=rx(t[r]),s[r]=n.r||0,i[r]=n.g||0,o[r]=n.b||0;return s=e(s),i=e(i),o=e(o),n.opacity=1,function(e){return n.r=s(e),n.g=i(e),n.b=o(e),n+""}}}rR(function(e){var t=e.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,t-1):Math.floor(r*t),a=e[n],s=e[n+1],i=n>0?e[n-1]:2*a-s,o=n<t-1?e[n+2]:2*s-a;return rM((r-n/t)*t,i,a,s,o)}}),rR(function(e){var t=e.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*t),a=e[(n+t-1)%t],s=e[n%t],i=e[(n+1)%t],o=e[(n+2)%t];return rM((r-n/t)*t,a,s,i,o)}});var rD=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,rL=RegExp(rD.source,"g");function r$(e,t){var r;return("number"==typeof t?tZ:t instanceof rh?rO:(r=rh(t))?(t=r,rO):function(e,t){var r,n,a,s,i,o=rD.lastIndex=rL.lastIndex=0,l=-1,c=[],d=[];for(e+="",t+="";(a=rD.exec(e))&&(s=rL.exec(t));)(i=s.index)>o&&(i=t.slice(o,i),c[l]?c[l]+=i:c[++l]=i),(a=a[0])===(s=s[0])?c[l]?c[l]+=s:c[++l]=s:(c[++l]=null,d.push({i:l,x:tZ(a,s)})),o=rL.lastIndex;return o<t.length&&(i=t.slice(o),c[l]?c[l]+=i:c[++l]=i),c.length<2?d[0]?(r=d[0].x,function(e){return r(e)+""}):(n=t,function(){return n}):(t=d.length,function(e){for(var r,n=0;n<t;++n)c[(r=d[n]).i]=r.x(e);return c.join("")})})(e,t)}var rP=tb.prototype.constructor;function rI(e){return function(){this.style.removeProperty(e)}}var rB=0;function rz(e,t,r,n){this._groups=e,this._parents=t,this._name=r,this._id=n}var rq=tb.prototype;rz.prototype=(function(e){return tb().transition(e)}).prototype={constructor:rz,select:function(e){var t=this._name,r=this._id;"function"!=typeof e&&(e=eF(e));for(var n=this._groups,a=n.length,s=Array(a),i=0;i<a;++i)for(var o,l,c=n[i],d=c.length,u=s[i]=Array(d),p=0;p<d;++p)(o=c[p])&&(l=e.call(o,o.__data__,p,c))&&("__data__"in o&&(l.__data__=o.__data__),u[p]=l,tX(u[p],t,r,p,u,tQ(o,r)));return new rz(s,this._parents,t,r)},selectAll:function(e){var t=this._name,r=this._id;"function"!=typeof e&&(e=eU(e));for(var n=this._groups,a=n.length,s=[],i=[],o=0;o<a;++o)for(var l,c=n[o],d=c.length,u=0;u<d;++u)if(l=c[u]){for(var p,h=e.call(l,l.__data__,u,c),m=tQ(l,r),f=0,x=h.length;f<x;++f)(p=h[f])&&tX(p,t,r,f,h,m);s.push(h),i.push(l)}return new rz(s,i,t,r)},selectChild:rq.selectChild,selectChildren:rq.selectChildren,filter:function(e){"function"!=typeof e&&(e=eW(e));for(var t=this._groups,r=t.length,n=Array(r),a=0;a<r;++a)for(var s,i=t[a],o=i.length,l=n[a]=[],c=0;c<o;++c)(s=i[c])&&e.call(s,s.__data__,c,i)&&l.push(s);return new rz(n,this._parents,this._name,this._id)},merge:function(e){if(e._id!==this._id)throw Error();for(var t=this._groups,r=e._groups,n=t.length,a=r.length,s=Math.min(n,a),i=Array(n),o=0;o<s;++o)for(var l,c=t[o],d=r[o],u=c.length,p=i[o]=Array(u),h=0;h<u;++h)(l=c[h]||d[h])&&(p[h]=l);for(;o<n;++o)i[o]=t[o];return new rz(i,this._parents,this._name,this._id)},selection:function(){return new rP(this._groups,this._parents)},transition:function(){for(var e=this._name,t=this._id,r=++rB,n=this._groups,a=n.length,s=0;s<a;++s)for(var i,o=n[s],l=o.length,c=0;c<l;++c)if(i=o[c]){var d=tQ(i,t);tX(i,e,r,c,o,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new rz(n,this._parents,e,r)},call:rq.call,nodes:rq.nodes,node:rq.node,size:rq.size,empty:rq.empty,each:rq.each,on:function(e,t){var r,n,a,s,i,o,l=this._id;return arguments.length<2?tQ(this.node(),l).on.on(e):this.each((r=l,n=e,a=t,o=(n+"").trim().split(/^|\s+/).every(function(e){var t=e.indexOf(".");return t>=0&&(e=e.slice(0,t)),!e||"start"===e})?tG:tK,function(){var e=o(this,r),t=e.on;t!==s&&(i=(s=t).copy()).on(n,a),e.on=i}))},attr:function(e,t){var r=e4(e),n="transform"===r?t4:r$;return this.attrTween(e,"function"==typeof t?(r.local?function(e,t,r){var n,a,s;return function(){var i,o,l=r(this);return null==l?void this.removeAttributeNS(e.space,e.local):(i=this.getAttributeNS(e.space,e.local))===(o=l+"")?null:i===n&&o===a?s:(a=o,s=t(n=i,l))}}:function(e,t,r){var n,a,s;return function(){var i,o,l=r(this);return null==l?void this.removeAttribute(e):(i=this.getAttribute(e))===(o=l+"")?null:i===n&&o===a?s:(a=o,s=t(n=i,l))}})(r,n,t6(this,"attr."+e,t)):null==t?(r.local?function(e){return function(){this.removeAttributeNS(e.space,e.local)}}:function(e){return function(){this.removeAttribute(e)}})(r):(r.local?function(e,t,r){var n,a,s=r+"";return function(){var i=this.getAttributeNS(e.space,e.local);return i===s?null:i===n?a:a=t(n=i,r)}}:function(e,t,r){var n,a,s=r+"";return function(){var i=this.getAttribute(e);return i===s?null:i===n?a:a=t(n=i,r)}})(r,n,t))},attrTween:function(e,t){var r="attr."+e;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==t)return this.tween(r,null);if("function"!=typeof t)throw Error();var n=e4(e);return this.tween(r,(n.local?function(e,t){var r,n;function a(){var a=t.apply(this,arguments);return a!==n&&(r=(n=a)&&function(t){this.setAttributeNS(e.space,e.local,a.call(this,t))}),r}return a._value=t,a}:function(e,t){var r,n;function a(){var a=t.apply(this,arguments);return a!==n&&(r=(n=a)&&function(t){this.setAttribute(e,a.call(this,t))}),r}return a._value=t,a})(n,t))},style:function(e,t,r){var n,a,s,i,o,l,c,d,u,p,h,m,f,x,b,g,v,y,w,j,N,E="transform"==(e+="")?t3:r$;return null==t?this.styleTween(e,(n=e,function(){var e=e9(this,n),t=(this.style.removeProperty(n),e9(this,n));return e===t?null:e===a&&t===s?i:i=E(a=e,s=t)})).on("end.style."+e,rI(e)):"function"==typeof t?this.styleTween(e,(o=e,l=t6(this,"style."+e,t),function(){var e=e9(this,o),t=l(this),r=t+"";return null==t&&(this.style.removeProperty(o),r=t=e9(this,o)),e===r?null:e===c&&r===d?u:(d=r,u=E(c=e,t))})).each((p=this._id,v="end."+(g="style."+(h=e)),function(){var e=tK(this,p),t=e.on,r=null==e.value[g]?b||(b=rI(h)):void 0;(t!==m||x!==r)&&(f=(m=t).copy()).on(v,x=r),e.on=f})):this.styleTween(e,(y=e,N=t+"",function(){var e=e9(this,y);return e===N?null:e===w?j:j=E(w=e,t)}),r).on("end.style."+e,null)},styleTween:function(e,t,r){var n="style."+(e+="");if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw Error();return this.tween(n,function(e,t,r){var n,a;function s(){var s=t.apply(this,arguments);return s!==a&&(n=(a=s)&&function(t){this.style.setProperty(e,s.call(this,t),r)}),n}return s._value=t,s}(e,t,null==r?"":r))},text:function(e){var t,r;return this.tween("text","function"==typeof e?(t=t6(this,"text",e),function(){var e=t(this);this.textContent=null==e?"":e}):(r=null==e?"":e+"",function(){this.textContent=r}))},textTween:function(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(null==e)return this.tween(t,null);if("function"!=typeof e)throw Error();return this.tween(t,function(e){var t,r;function n(){var n=e.apply(this,arguments);return n!==r&&(t=(r=n)&&function(e){this.textContent=n.call(this,e)}),t}return n._value=e,n}(e))},remove:function(){var e;return this.on("end.remove",(e=this._id,function(){var t=this.parentNode;for(var r in this.__transition)if(+r!==e)return;t&&t.removeChild(this)}))},tween:function(e,t){var r=this._id;if(e+="",arguments.length<2){for(var n,a=tQ(this.node(),r).tween,s=0,i=a.length;s<i;++s)if((n=a[s]).name===e)return n.value;return null}return this.each((null==t?function(e,t){var r,n;return function(){var a=tK(this,e),s=a.tween;if(s!==r){n=r=s;for(var i=0,o=n.length;i<o;++i)if(n[i].name===t){(n=n.slice()).splice(i,1);break}}a.tween=n}}:function(e,t,r){var n,a;if("function"!=typeof r)throw Error();return function(){var s=tK(this,e),i=s.tween;if(i!==n){a=(n=i).slice();for(var o={name:t,value:r},l=0,c=a.length;l<c;++l)if(a[l].name===t){a[l]=o;break}l===c&&a.push(o)}s.tween=a}})(r,e,t))},delay:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?function(e,t){return function(){tG(this,e).delay=+t.apply(this,arguments)}}:function(e,t){return t*=1,function(){tG(this,e).delay=t}})(t,e)):tQ(this.node(),t).delay},duration:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?function(e,t){return function(){tK(this,e).duration=+t.apply(this,arguments)}}:function(e,t){return t*=1,function(){tK(this,e).duration=t}})(t,e)):tQ(this.node(),t).duration},ease:function(e){var t=this._id;return arguments.length?this.each(function(e,t){if("function"!=typeof t)throw Error();return function(){tK(this,e).ease=t}}(t,e)):tQ(this.node(),t).ease},easeVarying:function(e){var t;if("function"!=typeof e)throw Error();return this.each((t=this._id,function(){var r=e.apply(this,arguments);if("function"!=typeof r)throw Error();tK(this,t).ease=r}))},end:function(){var e,t,r=this,n=r._id,a=r.size();return new Promise(function(s,i){var o={value:i},l={value:function(){0==--a&&s()}};r.each(function(){var r=tK(this,n),a=r.on;a!==e&&((t=(e=a).copy())._.cancel.push(o),t._.interrupt.push(o),t._.end.push(l)),r.on=t}),0===a&&s()})},[Symbol.iterator]:rq[Symbol.iterator]};var rF={time:null,delay:0,duration:250,ease:function(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}};tb.prototype.interrupt=function(e){return this.each(function(){tJ(this,e)})},tb.prototype.transition=function(e){var t,r;e instanceof rz?(t=e._id,e=e._name):(t=++rB,(r=rF).time=tI(),e=null==e?null:e+"");for(var n=this._groups,a=n.length,s=0;s<a;++s)for(var i,o=n[s],l=o.length,c=0;c<l;++c)(i=o[c])&&tX(i,e,t,c,o,r||function(e,t){for(var r;!(r=e.__transition)||!(r=r[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return r}(i,t));return new rz(n,this._parents,e,t)};let rH=e=>()=>e;function rU(e,{sourceEvent:t,target:r,transform:n,dispatch:a}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:n,enumerable:!0,configurable:!0},_:{value:a}})}function rW(e,t,r){this.k=e,this.x=t,this.y=r}rW.prototype={constructor:rW,scale:function(e){return 1===e?this:new rW(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new rW(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var rV=new rW(1,0,0);function rY(e){e.stopImmediatePropagation()}function rX(e){e.preventDefault(),e.stopImmediatePropagation()}function rG(e){return(!e.ctrlKey||"wheel"===e.type)&&!e.button}function rK(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e).hasAttribute("viewBox")?[[(e=e.viewBox.baseVal).x,e.y],[e.x+e.width,e.y+e.height]]:[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]:[[0,0],[e.clientWidth,e.clientHeight]]}function rQ(){return this.__zoom||rV}function rJ(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function rZ(){return navigator.maxTouchPoints||"ontouchstart"in this}function r0(e,t,r){var n=e.invertX(t[0][0])-r[0][0],a=e.invertX(t[1][0])-r[1][0],s=e.invertY(t[0][1])-r[0][1],i=e.invertY(t[1][1])-r[1][1];return e.translate(a>n?(n+a)/2:Math.min(0,n)||Math.max(0,a),i>s?(s+i)/2:Math.min(0,s)||Math.max(0,i))}function r1(){var e,t,r,n=rG,a=rK,s=r0,i=rJ,o=rZ,l=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],d=250,u=tk,p=eI("start","zoom","end"),h=0,m=10;function f(e){e.property("__zoom",rQ).on("wheel.zoom",j,{passive:!1}).on("mousedown.zoom",N).on("dblclick.zoom",E).filter(o).on("touchstart.zoom",S).on("touchmove.zoom",k).on("touchend.zoom touchcancel.zoom",_).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function x(e,t){return(t=Math.max(l[0],Math.min(l[1],t)))===e.k?e:new rW(t,e.x,e.y)}function b(e,t,r){var n=t[0]-r[0]*e.k,a=t[1]-r[1]*e.k;return n===e.x&&a===e.y?e:new rW(e.k,n,a)}function g(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function v(e,t,r,n){e.on("start.zoom",function(){y(this,arguments).event(n).start()}).on("interrupt.zoom end.zoom",function(){y(this,arguments).event(n).end()}).tween("zoom",function(){var e=arguments,s=y(this,e).event(n),i=a.apply(this,e),o=null==r?g(i):"function"==typeof r?r.apply(this,e):r,l=Math.max(i[1][0]-i[0][0],i[1][1]-i[0][1]),c=this.__zoom,d="function"==typeof t?t.apply(this,e):t,p=u(c.invert(o).concat(l/c.k),d.invert(o).concat(l/d.k));return function(e){if(1===e)e=d;else{var t=p(e),r=l/t[2];e=new rW(r,o[0]-t[0]*r,o[1]-t[1]*r)}s.zoom(null,e)}})}function y(e,t,r){return!r&&e.__zooming||new w(e,t)}function w(e,t){this.that=e,this.args=t,this.active=0,this.sourceEvent=null,this.extent=a.apply(e,t),this.taps=0}function j(e,...t){if(n.apply(this,arguments)){var r=y(this,t).event(e),a=this.__zoom,o=Math.max(l[0],Math.min(l[1],a.k*Math.pow(2,i.apply(this,arguments)))),d=t_(e);if(r.wheel)(r.mouse[0][0]!==d[0]||r.mouse[0][1]!==d[1])&&(r.mouse[1]=a.invert(r.mouse[0]=d)),clearTimeout(r.wheel);else{if(a.k===o)return;r.mouse=[d,a.invert(d)],tJ(this),r.start()}rX(e),r.wheel=setTimeout(function(){r.wheel=null,r.end()},150),r.zoom("mouse",s(b(x(a,o),r.mouse[0],r.mouse[1]),r.extent,c))}}function N(e,...t){if(!r&&n.apply(this,arguments)){var a=e.currentTarget,i=y(this,t,!0).event(e),o=tg(e.view).on("mousemove.zoom",function(e){if(rX(e),!i.moved){var t=e.clientX-d,r=e.clientY-u;i.moved=t*t+r*r>h}i.event(e).zoom("mouse",s(b(i.that.__zoom,i.mouse[0]=t_(e,a),i.mouse[1]),i.extent,c))},!0).on("mouseup.zoom",function(e){o.on("mousemove.zoom mouseup.zoom",null),tE(e.view,i.moved),rX(e),i.event(e).end()},!0),l=t_(e,a),d=e.clientX,u=e.clientY;tN(e.view),rY(e),i.mouse=[l,this.__zoom.invert(l)],tJ(this),i.start()}}function E(e,...t){if(n.apply(this,arguments)){var r=this.__zoom,i=t_(e.changedTouches?e.changedTouches[0]:e,this),o=r.invert(i),l=r.k*(e.shiftKey?.5:2),u=s(b(x(r,l),i,o),a.apply(this,t),c);rX(e),d>0?tg(this).transition().duration(d).call(v,u,i,e):tg(this).call(f.transform,u,i,e)}}function S(r,...a){if(n.apply(this,arguments)){var s,i,o,l,c=r.touches,d=c.length,u=y(this,a,r.changedTouches.length===d).event(r);for(rY(r),i=0;i<d;++i)l=[l=t_(o=c[i],this),this.__zoom.invert(l),o.identifier],u.touch0?u.touch1||u.touch0[2]===l[2]||(u.touch1=l,u.taps=0):(u.touch0=l,s=!0,u.taps=1+!!e);e&&(e=clearTimeout(e)),s&&(u.taps<2&&(t=l[0],e=setTimeout(function(){e=null},500)),tJ(this),u.start())}}function k(e,...t){if(this.__zooming){var r,n,a,i,o=y(this,t).event(e),l=e.changedTouches,d=l.length;for(rX(e),r=0;r<d;++r)a=t_(n=l[r],this),o.touch0&&o.touch0[2]===n.identifier?o.touch0[0]=a:o.touch1&&o.touch1[2]===n.identifier&&(o.touch1[0]=a);if(n=o.that.__zoom,o.touch1){var u=o.touch0[0],p=o.touch0[1],h=o.touch1[0],m=o.touch1[1],f=(f=h[0]-u[0])*f+(f=h[1]-u[1])*f,g=(g=m[0]-p[0])*g+(g=m[1]-p[1])*g;n=x(n,Math.sqrt(f/g)),a=[(u[0]+h[0])/2,(u[1]+h[1])/2],i=[(p[0]+m[0])/2,(p[1]+m[1])/2]}else{if(!o.touch0)return;a=o.touch0[0],i=o.touch0[1]}o.zoom("touch",s(b(n,a,i),o.extent,c))}}function _(e,...n){if(this.__zooming){var a,s,i=y(this,n).event(e),o=e.changedTouches,l=o.length;for(rY(e),r&&clearTimeout(r),r=setTimeout(function(){r=null},500),a=0;a<l;++a)s=o[a],i.touch0&&i.touch0[2]===s.identifier?delete i.touch0:i.touch1&&i.touch1[2]===s.identifier&&delete i.touch1;if(i.touch1&&!i.touch0&&(i.touch0=i.touch1,delete i.touch1),i.touch0)i.touch0[1]=this.__zoom.invert(i.touch0[0]);else if(i.end(),2===i.taps&&(s=t_(s,this),Math.hypot(t[0]-s[0],t[1]-s[1])<m)){var c=tg(this).on("dblclick.zoom");c&&c.apply(this,arguments)}}}return f.transform=function(e,t,r,n){var a=e.selection?e.selection():e;a.property("__zoom",rQ),e!==a?v(e,t,r,n):a.interrupt().each(function(){y(this,arguments).event(n).start().zoom(null,"function"==typeof t?t.apply(this,arguments):t).end()})},f.scaleBy=function(e,t,r,n){f.scaleTo(e,function(){var e=this.__zoom.k,r="function"==typeof t?t.apply(this,arguments):t;return e*r},r,n)},f.scaleTo=function(e,t,r,n){f.transform(e,function(){var e=a.apply(this,arguments),n=this.__zoom,i=null==r?g(e):"function"==typeof r?r.apply(this,arguments):r,o=n.invert(i),l="function"==typeof t?t.apply(this,arguments):t;return s(b(x(n,l),i,o),e,c)},r,n)},f.translateBy=function(e,t,r,n){f.transform(e,function(){return s(this.__zoom.translate("function"==typeof t?t.apply(this,arguments):t,"function"==typeof r?r.apply(this,arguments):r),a.apply(this,arguments),c)},null,n)},f.translateTo=function(e,t,r,n,i){f.transform(e,function(){var e=a.apply(this,arguments),i=this.__zoom,o=null==n?g(e):"function"==typeof n?n.apply(this,arguments):n;return s(rV.translate(o[0],o[1]).scale(i.k).translate("function"==typeof t?-t.apply(this,arguments):-t,"function"==typeof r?-r.apply(this,arguments):-r),e,c)},n,i)},w.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(e,t){return this.mouse&&"mouse"!==e&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&"touch"!==e&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&"touch"!==e&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(e){var t=tg(this.that).datum();p.call(e,this.that,new rU(e,{sourceEvent:this.sourceEvent,target:f,type:e,transform:this.that.__zoom,dispatch:p}),t)}},f.wheelDelta=function(e){return arguments.length?(i="function"==typeof e?e:rH(+e),f):i},f.filter=function(e){return arguments.length?(n="function"==typeof e?e:rH(!!e),f):n},f.touchable=function(e){return arguments.length?(o="function"==typeof e?e:rH(!!e),f):o},f.extent=function(e){return arguments.length?(a="function"==typeof e?e:rH([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),f):a},f.scaleExtent=function(e){return arguments.length?(l[0]=+e[0],l[1]=+e[1],f):[l[0],l[1]]},f.translateExtent=function(e){return arguments.length?(c[0][0]=+e[0][0],c[1][0]=+e[1][0],c[0][1]=+e[0][1],c[1][1]=+e[1][1],f):[[c[0][0],c[0][1]],[c[1][0],c[1][1]]]},f.constrain=function(e){return arguments.length?(s=e,f):s},f.duration=function(e){return arguments.length?(d=+e,f):d},f.interpolate=function(e){return arguments.length?(u=e,f):u},f.on=function(){var e=p.on.apply(p,arguments);return e===p?f:e},f.clickDistance=function(e){return arguments.length?(h=(e*=1)*e,f):Math.sqrt(h)},f.tapDistance=function(e){return arguments.length?(m=+e,f):m},f}rW.prototype;let r2=e=>()=>e;function r5(e,{sourceEvent:t,subject:r,target:n,identifier:a,active:s,x:i,y:o,dx:l,dy:c,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},identifier:{value:a,enumerable:!0,configurable:!0},active:{value:s,enumerable:!0,configurable:!0},x:{value:i,enumerable:!0,configurable:!0},y:{value:o,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:d}})}function r3(e){return!e.ctrlKey&&!e.button}function r4(){return this.parentNode}function r6(e,t){return null==t?{x:e.x,y:e.y}:t}function r9(){return navigator.maxTouchPoints||"ontouchstart"in this}r5.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e},e.i(74080);let r7=(0,g.createContext)(null),r8=r7.Provider,ne="[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001";function nt(e,t){let r=(0,g.useContext)(r7);if(null===r)throw Error(ne);return eD(r,e,t)}let nr=()=>{let e=(0,g.useContext)(r7);if(null===e)throw Error(ne);return(0,g.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},nn=e=>e.userSelectionActive?"none":"all";function na({position:e,children:t,className:r,style:n,...a}){let s=nt(nn),i=`${e}`.split("-");return g.default.createElement("div",{className:e_(["react-flow__panel",r,...i]),style:{...n,pointerEvents:s},...a},t)}function ns({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:g.default.createElement(na,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://reactflow.dev/pro"},g.default.createElement("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution"},"React Flow"))}var ni=(0,g.memo)(({x:e,y:t,label:r,labelStyle:n={},labelShowBg:a=!0,labelBgStyle:s={},labelBgPadding:i=[2,4],labelBgBorderRadius:o=2,children:l,className:c,...d})=>{let u=(0,g.useRef)(null),[p,h]=(0,g.useState)({x:0,y:0,width:0,height:0}),m=e_(["react-flow__edge-textwrapper",c]);return((0,g.useEffect)(()=>{if(u.current){let e=u.current.getBBox();h({x:e.x,y:e.y,width:e.width,height:e.height})}},[r]),void 0!==r&&r)?g.default.createElement("g",{transform:`translate(${e-p.width/2} ${t-p.height/2})`,className:m,visibility:p.width?"visible":"hidden",...d},a&&g.default.createElement("rect",{width:p.width+2*i[0],x:-i[0],y:-i[1],height:p.height+2*i[1],className:"react-flow__edge-textbg",style:s,rx:o,ry:o}),g.default.createElement("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:u,style:n},r),l):null});let no=e=>({width:e.offsetWidth,height:e.offsetHeight}),nl=(e,t=0,r=1)=>Math.min(Math.max(e,t),r),nc=(e={x:0,y:0},t)=>({x:nl(e.x,t[0][0],t[1][0]),y:nl(e.y,t[0][1],t[1][1])}),nd=(e,t,r)=>e<t?nl(Math.abs(e-t),1,50)/50:e>r?-nl(Math.abs(e-r),1,50)/50:0,nu=(e,t)=>[20*nd(e.x,35,t.width-35),20*nd(e.y,35,t.height-35)],np=e=>e.getRootNode?.()||window?.document,nh=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),nm=({x:e,y:t,width:r,height:n})=>({x:e,y:t,x2:e+r,y2:t+n}),nf=({x:e,y:t,x2:r,y2:n})=>({x:e,y:t,width:r-e,height:n-t}),nx=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),nb=(e,t)=>Math.ceil(Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x))*Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y))),ng=e=>!isNaN(e)&&isFinite(e),nv=Symbol.for("internals"),ny=["Enter"," ","Escape"],nw=(e,t)=>{};function nj(e){let t="nativeEvent"in e?e.nativeEvent:e,r=t.composedPath?.()?.[0]||e.target;return["INPUT","SELECT","TEXTAREA"].includes(r?.nodeName)||r?.hasAttribute("contenteditable")||!!r?.closest(".nokey")}let nN=(e,t)=>{let r="clientX"in e,n=r?e.clientX:e.touches?.[0].clientX,a=r?e.clientY:e.touches?.[0].clientY;return{x:n-(t?.left??0),y:a-(t?.top??0)}},nE=()=>"u">typeof navigator&&navigator?.userAgent?.indexOf("Mac")>=0,nS=({id:e,path:t,labelX:r,labelY:n,label:a,labelStyle:s,labelShowBg:i,labelBgStyle:o,labelBgPadding:l,labelBgBorderRadius:c,style:d,markerEnd:u,markerStart:p,interactionWidth:h=20})=>g.default.createElement(g.default.Fragment,null,g.default.createElement("path",{id:e,style:d,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:u,markerStart:p}),h&&g.default.createElement("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}),a&&ng(r)&&ng(n)?g.default.createElement(ni,{x:r,y:n,label:a,labelStyle:s,labelShowBg:i,labelBgStyle:o,labelBgPadding:l,labelBgBorderRadius:c}):null);function nk(e,t,r){return void 0===r?r:n=>{let a=t().edges.find(t=>t.id===e);a&&r(n,{...a})}}function n_({sourceX:e,sourceY:t,targetX:r,targetY:n}){let a=Math.abs(r-e)/2,s=Math.abs(n-t)/2;return[r<e?r+a:r-a,n<t?n+s:n-s,a,s]}function nC({sourceX:e,sourceY:t,targetX:r,targetY:n,sourceControlX:a,sourceControlY:s,targetControlX:i,targetControlY:o}){let l=.125*e+.375*a+.375*i+.125*r,c=.125*t+.375*s+.375*o+.125*n,d=Math.abs(l-e),u=Math.abs(c-t);return[l,c,d,u]}function nM({pos:e,x1:t,y1:r,x2:n,y2:a}){return e===f.Left||e===f.Right?[.5*(t+n),r]:[t,.5*(r+a)]}function nT({sourceX:e,sourceY:t,sourcePosition:r=f.Bottom,targetX:n,targetY:a,targetPosition:s=f.Top}){let[i,o]=nM({pos:r,x1:e,y1:t,x2:n,y2:a}),[l,c]=nM({pos:s,x1:n,y1:a,x2:e,y2:t}),[d,u,p,h]=nC({sourceX:e,sourceY:t,targetX:n,targetY:a,sourceControlX:i,sourceControlY:o,targetControlX:l,targetControlY:c});return[`M${e},${t} C${i},${o} ${l},${c} ${n},${a}`,d,u,p,h]}nS.displayName="BaseEdge",(t=d||(d={})).Strict="strict",t.Loose="loose",(r=u||(u={})).Free="free",r.Vertical="vertical",r.Horizontal="horizontal",(n=p||(p={})).Partial="partial",n.Full="full",(a=h||(h={})).Bezier="default",a.Straight="straight",a.Step="step",a.SmoothStep="smoothstep",a.SimpleBezier="simplebezier",(s=m||(m={})).Arrow="arrow",s.ArrowClosed="arrowclosed",(i=f||(f={})).Left="left",i.Top="top",i.Right="right",i.Bottom="bottom";let nA=(0,g.memo)(({sourceX:e,sourceY:t,targetX:r,targetY:n,sourcePosition:a=f.Bottom,targetPosition:s=f.Top,label:i,labelStyle:o,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u,style:p,markerEnd:h,markerStart:m,interactionWidth:x})=>{let[b,v,y]=nT({sourceX:e,sourceY:t,sourcePosition:a,targetX:r,targetY:n,targetPosition:s});return g.default.createElement(nS,{path:b,labelX:v,labelY:y,label:i,labelStyle:o,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u,style:p,markerEnd:h,markerStart:m,interactionWidth:x})});nA.displayName="SimpleBezierEdge";let nO={[f.Left]:{x:-1,y:0},[f.Right]:{x:1,y:0},[f.Top]:{x:0,y:-1},[f.Bottom]:{x:0,y:1}},nR=({source:e,sourcePosition:t=f.Bottom,target:r})=>t===f.Left||t===f.Right?e.x<r.x?{x:1,y:0}:{x:-1,y:0}:e.y<r.y?{x:0,y:1}:{x:0,y:-1},nD=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function nL({sourceX:e,sourceY:t,sourcePosition:r=f.Bottom,targetX:n,targetY:a,targetPosition:s=f.Top,borderRadius:i=5,centerX:o,centerY:l,offset:c=20}){let[d,u,p,h,m]=function({source:e,sourcePosition:t=f.Bottom,target:r,targetPosition:n=f.Top,center:a,offset:s}){let i,o,l=nO[t],c=nO[n],d={x:e.x+l.x*s,y:e.y+l.y*s},u={x:r.x+c.x*s,y:r.y+c.y*s},p=nR({source:d,sourcePosition:t,target:u}),h=0!==p.x?"x":"y",m=p[h],x=[],b={x:0,y:0},g={x:0,y:0},[v,y,w,j]=n_({sourceX:e.x,sourceY:e.y,targetX:r.x,targetY:r.y});if(l[h]*c[h]==-1){i=a.x??v,o=a.y??y;let e=[{x:i,y:d.y},{x:i,y:u.y}],t=[{x:d.x,y:o},{x:u.x,y:o}];x=l[h]===m?"x"===h?e:t:"x"===h?t:e}else{let a=[{x:d.x,y:u.y}],p=[{x:u.x,y:d.y}];if(x="x"===h?l.x===m?p:a:l.y===m?a:p,t===n){let t=Math.abs(e[h]-r[h]);if(t<=s){let n=Math.min(s-1,s-t);l[h]===m?b[h]=(d[h]>e[h]?-1:1)*n:g[h]=(u[h]>r[h]?-1:1)*n}}if(t!==n){let e="x"===h?"y":"x",t=l[h]===c[e],r=d[e]>u[e],n=d[e]<u[e];(1===l[h]&&(!t&&r||t&&n)||1!==l[h]&&(!t&&n||t&&r))&&(x="x"===h?a:p)}let f={x:d.x+b.x,y:d.y+b.y},v={x:u.x+g.x,y:u.y+g.y};Math.max(Math.abs(f.x-x[0].x),Math.abs(v.x-x[0].x))>=Math.max(Math.abs(f.y-x[0].y),Math.abs(v.y-x[0].y))?(i=(f.x+v.x)/2,o=x[0].y):(i=x[0].x,o=(f.y+v.y)/2)}return[[e,{x:d.x+b.x,y:d.y+b.y},...x,{x:u.x+g.x,y:u.y+g.y},r],i,o,w,j]}({source:{x:e,y:t},sourcePosition:r,target:{x:n,y:a},targetPosition:s,center:{x:o,y:l},offset:c});return[d.reduce((e,t,r)=>e+(r>0&&r<d.length-1?function(e,t,r,n){let a=Math.min(nD(e,t)/2,nD(t,r)/2,n),{x:s,y:i}=t;if(e.x===s&&s===r.x||e.y===i&&i===r.y)return`L${s} ${i}`;if(e.y===i){let t=e.x<r.x?-1:1,n=e.y<r.y?1:-1;return`L ${s+a*t},${i}Q ${s},${i} ${s},${i+a*n}`}let o=e.x<r.x?1:-1,l=e.y<r.y?-1:1;return`L ${s},${i+a*l}Q ${s},${i} ${s+a*o},${i}`}(d[r-1],t,d[r+1],i):`${0===r?"M":"L"}${t.x} ${t.y}`),""),u,p,h,m]}let n$=(0,g.memo)(({sourceX:e,sourceY:t,targetX:r,targetY:n,label:a,labelStyle:s,labelShowBg:i,labelBgStyle:o,labelBgPadding:l,labelBgBorderRadius:c,style:d,sourcePosition:u=f.Bottom,targetPosition:p=f.Top,markerEnd:h,markerStart:m,pathOptions:x,interactionWidth:b})=>{let[v,y,w]=nL({sourceX:e,sourceY:t,sourcePosition:u,targetX:r,targetY:n,targetPosition:p,borderRadius:x?.borderRadius,offset:x?.offset});return g.default.createElement(nS,{path:v,labelX:y,labelY:w,label:a,labelStyle:s,labelShowBg:i,labelBgStyle:o,labelBgPadding:l,labelBgBorderRadius:c,style:d,markerEnd:h,markerStart:m,interactionWidth:b})});n$.displayName="SmoothStepEdge";let nP=(0,g.memo)(e=>g.default.createElement(n$,{...e,pathOptions:(0,g.useMemo)(()=>({borderRadius:0,offset:e.pathOptions?.offset}),[e.pathOptions?.offset])}));nP.displayName="StepEdge";let nI=(0,g.memo)(({sourceX:e,sourceY:t,targetX:r,targetY:n,label:a,labelStyle:s,labelShowBg:i,labelBgStyle:o,labelBgPadding:l,labelBgBorderRadius:c,style:d,markerEnd:u,markerStart:p,interactionWidth:h})=>{let[m,f,x]=function({sourceX:e,sourceY:t,targetX:r,targetY:n}){let[a,s,i,o]=n_({sourceX:e,sourceY:t,targetX:r,targetY:n});return[`M ${e},${t}L ${r},${n}`,a,s,i,o]}({sourceX:e,sourceY:t,targetX:r,targetY:n});return g.default.createElement(nS,{path:m,labelX:f,labelY:x,label:a,labelStyle:s,labelShowBg:i,labelBgStyle:o,labelBgPadding:l,labelBgBorderRadius:c,style:d,markerEnd:u,markerStart:p,interactionWidth:h})});function nB(e,t){return e>=0?.5*e:25*t*Math.sqrt(-e)}function nz({pos:e,x1:t,y1:r,x2:n,y2:a,c:s}){switch(e){case f.Left:return[t-nB(t-n,s),r];case f.Right:return[t+nB(n-t,s),r];case f.Top:return[t,r-nB(r-a,s)];case f.Bottom:return[t,r+nB(a-r,s)]}}function nq({sourceX:e,sourceY:t,sourcePosition:r=f.Bottom,targetX:n,targetY:a,targetPosition:s=f.Top,curvature:i=.25}){let[o,l]=nz({pos:r,x1:e,y1:t,x2:n,y2:a,c:i}),[c,d]=nz({pos:s,x1:n,y1:a,x2:e,y2:t,c:i}),[u,p,h,m]=nC({sourceX:e,sourceY:t,targetX:n,targetY:a,sourceControlX:o,sourceControlY:l,targetControlX:c,targetControlY:d});return[`M${e},${t} C${o},${l} ${c},${d} ${n},${a}`,u,p,h,m]}nI.displayName="StraightEdge";let nF=(0,g.memo)(({sourceX:e,sourceY:t,targetX:r,targetY:n,sourcePosition:a=f.Bottom,targetPosition:s=f.Top,label:i,labelStyle:o,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u,style:p,markerEnd:h,markerStart:m,pathOptions:x,interactionWidth:b})=>{let[v,y,w]=nq({sourceX:e,sourceY:t,sourcePosition:a,targetX:r,targetY:n,targetPosition:s,curvature:x?.curvature});return g.default.createElement(nS,{path:v,labelX:y,labelY:w,label:i,labelStyle:o,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u,style:p,markerEnd:h,markerStart:m,interactionWidth:b})});nF.displayName="BezierEdge";let nH=(0,g.createContext)(null),nU=nH.Provider;nH.Consumer;let nW=(e,t)=>{if(void 0===e)return"";if("string"==typeof e)return e;let r=t?`${t}__`:"";return`${r}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join("&")}`},nV=({x:e,y:t},[r,n,a],s,[i,o])=>{let l={x:(e-r)/a,y:(t-n)/a};return s?{x:i*Math.round(l.x/i),y:o*Math.round(l.y/o)}:l},nY=({x:e,y:t},[r,n,a])=>({x:e*a+r,y:t*a+n}),nX=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};let r=(e.width??0)*t[0],n=(e.height??0)*t[1],a={x:e.position.x-r,y:e.position.y-n};return{...a,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-r,y:e.positionAbsolute.y-n}:a}},nG=(e,t=[0,0])=>0===e.length?{x:0,y:0,width:0,height:0}:nf(e.reduce((e,r)=>{let{x:n,y:a}=nX(r,t).positionAbsolute;return nh(e,nm({x:n,y:a,width:r.width||0,height:r.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})),nK=(e,t,[r,n,a]=[0,0,1],s=!1,i=!1,o=[0,0])=>{let l={x:(t.x-r)/a,y:(t.y-n)/a,width:t.width/a,height:t.height/a},c=[];return e.forEach(e=>{let{width:t,height:r,selectable:n=!0,hidden:a=!1}=e;if(i&&!n||a)return!1;let{positionAbsolute:d}=nX(e,o),u=nb(l,{x:d.x,y:d.y,width:t||0,height:r||0}),p=void 0===t||void 0===r||null===t||null===r,h=(t||0)*(r||0);(p||s&&u>0||u>=h||e.dragging)&&c.push(e)}),c},nQ=(e,t)=>{let r=e.map(e=>e.id);return t.filter(e=>r.includes(e.source)||r.includes(e.target))},nJ=(e,t,r,n,a,s=.1)=>{let i=nl(Math.min(t/(e.width*(1+s)),r/(e.height*(1+s))),n,a);return{x:t/2-(e.x+e.width/2)*i,y:r/2-(e.y+e.height/2)*i,zoom:i}},nZ=(e,t=0)=>e.transition().duration(t);function n0(e,t,r,n){return(t[r]||[]).reduce((t,a)=>(`${e.id}-${a.id}-${r}`!==n&&t.push({id:a.id||null,type:r,nodeId:e.id,x:(e.positionAbsolute?.x??0)+a.x+a.width/2,y:(e.positionAbsolute?.y??0)+a.y+a.height/2}),t),[])}let n1={source:null,target:null,sourceHandle:null,targetHandle:null},n2=()=>({handleDomNode:null,isValid:!1,connection:n1,endHandle:null});function n5(e,t,r,n,a,s,i){let o="target"===a,l=i.querySelector(`.react-flow__handle[data-id="${e?.nodeId}-${e?.id}-${e?.type}"]`),c={...n2(),handleDomNode:l};if(l){let e=n3(void 0,l),a=l.getAttribute("data-nodeid"),i=l.getAttribute("data-handleid"),u=l.classList.contains("connectable"),p=l.classList.contains("connectableend"),h={source:o?a:r,sourceHandle:o?i:n,target:o?r:a,targetHandle:o?n:i};c.connection=h,u&&p&&(t===d.Strict?o&&"source"===e||!o&&"target"===e:a!==r||i!==n)&&(c.endHandle={nodeId:a,handleId:i,type:e},c.isValid=s(h))}return c}function n3(e,t){return e?e:t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null}function n4(e){e?.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function n6({event:e,handleId:t,nodeId:r,onConnect:n,isTarget:a,getState:s,setState:i,isValidConnection:o,edgeUpdaterType:l,onReconnectEnd:c}){let d,u,p=np(e.target),{connectionMode:h,domNode:m,autoPanOnConnect:f,connectionRadius:x,onConnectStart:b,panBy:g,getNodes:v,cancelConnection:y}=s(),w=0,{x:j,y:N}=nN(e),E=n3(l,p?.elementFromPoint(j,N)),S=m?.getBoundingClientRect();if(!S||!E)return;let k=nN(e,S),_=!1,C=null,M=!1,T=null,A=function({nodes:e,nodeId:t,handleId:r,handleType:n}){return e.reduce((e,a)=>{if(a[nv]){let{handleBounds:s}=a[nv],i=[],o=[];s&&(i=n0(a,s,"source",`${t}-${r}-${n}`),o=n0(a,s,"target",`${t}-${r}-${n}`)),e.push(...i,...o)}return e},[])}({nodes:v(),nodeId:r,handleId:t,handleType:E}),O=()=>{if(!f)return;let[e,t]=nu(k,S);g({x:e,y:t}),w=requestAnimationFrame(O)};function R(e){var n,l;let c,{transform:m}=s();k=nN(e,S);let{handle:f,validHandleResult:b}=function(e,t,r,n,a,s){let{x:i,y:o}=nN(e),l=t.elementsFromPoint(i,o).find(e=>e.classList.contains("react-flow__handle"));if(l){let e=l.getAttribute("data-nodeid");if(e){let t=n3(void 0,l),n=l.getAttribute("data-handleid"),i=s({nodeId:e,id:n,type:t});if(i){let s=a.find(r=>r.nodeId===e&&r.type===t&&r.id===n);return{handle:{id:n,type:t,nodeId:e,x:s?.x||r.x,y:s?.y||r.y},validHandleResult:i}}}}let c=[],d=1/0;if(a.forEach(e=>{let t=Math.sqrt((e.x-r.x)**2+(e.y-r.y)**2);if(t<=n){let r=s(e);t<=d&&(t<d?c=[{handle:e,validHandleResult:r}]:t===d&&c.push({handle:e,validHandleResult:r}),d=t)}}),!c.length)return{handle:null,validHandleResult:n2()};if(1===c.length)return c[0];let u=c.some(({validHandleResult:e})=>e.isValid),p=c.some(({handle:e})=>"target"===e.type);return c.find(({handle:e,validHandleResult:t})=>p?"target"===e.type:!u||t.isValid)||c[0]}(e,p,nV(k,m,!1,[1,1]),x,A,e=>n5(e,h,r,t,a?"target":"source",o,p));if(d=f,_||(O(),_=!0),T=b.handleDomNode,C=b.connection,M=b.isValid,i({connectionPosition:d&&M?nY({x:d.x,y:d.y},m):k,connectionStatus:(n=!!d,c=null,(l=M)?c="valid":n&&!l&&(c="invalid"),c),connectionEndHandle:b.endHandle}),!d&&!M&&!T)return n4(u);C.source!==C.target&&T&&(n4(u),u=T,T.classList.add("connecting","react-flow__handle-connecting"),T.classList.toggle("valid",M),T.classList.toggle("react-flow__handle-valid",M))}function D(e){(d||T)&&C&&M&&n?.(C),s().onConnectEnd?.(e),l&&c?.(e),n4(u),y(),cancelAnimationFrame(w),_=!1,M=!1,C=null,T=null,p.removeEventListener("mousemove",R),p.removeEventListener("mouseup",D),p.removeEventListener("touchmove",R),p.removeEventListener("touchend",D)}i({connectionPosition:k,connectionStatus:null,connectionNodeId:r,connectionHandleId:t,connectionHandleType:E,connectionStartHandle:{nodeId:r,handleId:t,type:E},connectionEndHandle:null}),b?.(e,{nodeId:r,handleId:t,handleType:E}),p.addEventListener("mousemove",R),p.addEventListener("mouseup",D),p.addEventListener("touchmove",R),p.addEventListener("touchend",D)}let n9=()=>!0,n7=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),n8=(0,g.forwardRef)(({type:e="source",position:t=f.Top,isValidConnection:r,isConnectable:n=!0,isConnectableStart:a=!0,isConnectableEnd:s=!0,id:i,onConnect:o,children:l,className:c,onMouseDown:d,onTouchStart:u,...p},h)=>{let m=i||null,x="target"===e,b=nr(),v=(0,g.useContext)(nH),{connectOnClick:y,noPanClassName:w}=nt(n7,e$),{connecting:j,clickConnecting:N}=nt(t=>{let{connectionStartHandle:r,connectionEndHandle:n,connectionClickStartHandle:a}=t;return{connecting:r?.nodeId===v&&r?.handleId===m&&r?.type===e||n?.nodeId===v&&n?.handleId===m&&n?.type===e,clickConnecting:a?.nodeId===v&&a?.handleId===m&&a?.type===e}},e$);v||b.getState().onError?.("010","Handle: No node id found. Make sure to only use a Handle inside a custom Node.");let E=e=>{let{defaultEdgeOptions:t,onConnect:r,hasDefaultEdges:n}=b.getState(),a={...t,...e};if(n){let{edges:e,setEdges:t}=b.getState();t(((e,t)=>{let r,n;return e.source&&e.target?(n=r="id"in e&&"source"in e&&"target"in e?{...e}:{...e,id:(({source:e,sourceHandle:t,target:r,targetHandle:n})=>`reactflow__edge-${e}${t||""}-${r}${n||""}`)(e)},t.some(e=>e.source===n.source&&e.target===n.target&&(e.sourceHandle===n.sourceHandle||!e.sourceHandle&&!n.sourceHandle)&&(e.targetHandle===n.targetHandle||!e.targetHandle&&!n.targetHandle)))?t:t.concat(r):(nw("006","Can't create edge. An edge needs a source and a target."),t)})(a,e))}r?.(a),o?.(a)},S=e=>{if(!v)return;let t="clientX"in e;a&&(t&&0===e.button||!t)&&n6({event:e,handleId:m,nodeId:v,onConnect:E,isTarget:x,getState:b.getState,setState:b.setState,isValidConnection:r||b.getState().isValidConnection||n9}),t?d?.(e):u?.(e)};return g.default.createElement("div",{"data-handleid":m,"data-nodeid":v,"data-handlepos":t,"data-id":`${v}-${m}-${e}`,className:e_(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",w,c,{source:!x,target:x,connectable:n,connectablestart:a,connectableend:s,connecting:N,connectionindicator:n&&(a&&!j||s&&j)}]),onMouseDown:S,onTouchStart:S,onClick:y?t=>{let{onClickConnectStart:n,onClickConnectEnd:s,connectionClickStartHandle:i,connectionMode:o,isValidConnection:l}=b.getState();if(!v||!i&&!a)return;if(!i){n?.(t,{nodeId:v,handleId:m,handleType:e}),b.setState({connectionClickStartHandle:{nodeId:v,type:e,handleId:m}});return}let c=np(t.target),d=r||l||n9,{connection:u,isValid:p}=n5({nodeId:v,id:m,type:e},o,i.nodeId,i.handleId||null,i.type,d,c);p&&E(u),s?.(t),b.setState({connectionClickStartHandle:null})}:void 0,ref:h,...p},l)});n8.displayName="Handle";var ae=(0,g.memo)(n8);let at=({data:e,isConnectable:t,targetPosition:r=f.Top,sourcePosition:n=f.Bottom})=>g.default.createElement(g.default.Fragment,null,g.default.createElement(ae,{type:"target",position:r,isConnectable:t}),e?.label,g.default.createElement(ae,{type:"source",position:n,isConnectable:t}));at.displayName="DefaultNode";var ar=(0,g.memo)(at);let an=({data:e,isConnectable:t,sourcePosition:r=f.Bottom})=>g.default.createElement(g.default.Fragment,null,e?.label,g.default.createElement(ae,{type:"source",position:r,isConnectable:t}));an.displayName="InputNode";var aa=(0,g.memo)(an);let as=({data:e,isConnectable:t,targetPosition:r=f.Top})=>g.default.createElement(g.default.Fragment,null,g.default.createElement(ae,{type:"target",position:r,isConnectable:t}),e?.label);as.displayName="OutputNode";var ai=(0,g.memo)(as);let ao=()=>null;ao.displayName="GroupNode";let al=e=>({selectedNodes:e.getNodes().filter(e=>e.selected),selectedEdges:e.edges.filter(e=>e.selected).map(e=>({...e}))}),ac=e=>e.id;function ad(e,t){return e$(e.selectedNodes.map(ac),t.selectedNodes.map(ac))&&e$(e.selectedEdges.map(ac),t.selectedEdges.map(ac))}let au=(0,g.memo)(({onSelectionChange:e})=>{let t=nr(),{selectedNodes:r,selectedEdges:n}=nt(al,ad);return(0,g.useEffect)(()=>{let a={nodes:r,edges:n};e?.(a),t.getState().onSelectionChange.forEach(e=>e(a))},[r,n,e]),null});au.displayName="SelectionListener";let ap=e=>!!e.onSelectionChange;function ah({onSelectionChange:e}){let t=nt(ap);return e||t?g.default.createElement(au,{onSelectionChange:e}):null}let am=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function af(e,t){(0,g.useEffect)(()=>{void 0!==e&&t(e)},[e])}function ax(e,t,r){(0,g.useEffect)(()=>{void 0!==t&&r({[e]:t})},[t])}let ab=({nodes:e,edges:t,defaultNodes:r,defaultEdges:n,onConnect:a,onConnectStart:s,onConnectEnd:i,onClickConnectStart:o,onClickConnectEnd:l,nodesDraggable:c,nodesConnectable:d,nodesFocusable:u,edgesFocusable:p,edgesUpdatable:h,elevateNodesOnSelect:m,minZoom:f,maxZoom:x,nodeExtent:b,onNodesChange:v,onEdgesChange:y,elementsSelectable:w,connectionMode:j,snapGrid:N,snapToGrid:E,translateExtent:S,connectOnClick:k,defaultEdgeOptions:_,fitView:C,fitViewOptions:M,onNodesDelete:T,onEdgesDelete:A,onNodeDrag:O,onNodeDragStart:R,onNodeDragStop:D,onSelectionDrag:L,onSelectionDragStart:$,onSelectionDragStop:P,noPanClassName:I,nodeOrigin:B,rfId:z,autoPanOnConnect:q,autoPanOnNodeDrag:F,onError:H,connectionRadius:U,isValidConnection:W,nodeDragThreshold:V})=>{let{setNodes:Y,setEdges:X,setDefaultNodesAndEdges:G,setMinZoom:K,setMaxZoom:Q,setTranslateExtent:J,setNodeExtent:Z,reset:ee}=nt(am,e$),et=nr();return(0,g.useEffect)(()=>(G(r,n?.map(e=>({...e,..._}))),()=>{ee()}),[]),ax("defaultEdgeOptions",_,et.setState),ax("connectionMode",j,et.setState),ax("onConnect",a,et.setState),ax("onConnectStart",s,et.setState),ax("onConnectEnd",i,et.setState),ax("onClickConnectStart",o,et.setState),ax("onClickConnectEnd",l,et.setState),ax("nodesDraggable",c,et.setState),ax("nodesConnectable",d,et.setState),ax("nodesFocusable",u,et.setState),ax("edgesFocusable",p,et.setState),ax("edgesUpdatable",h,et.setState),ax("elementsSelectable",w,et.setState),ax("elevateNodesOnSelect",m,et.setState),ax("snapToGrid",E,et.setState),ax("snapGrid",N,et.setState),ax("onNodesChange",v,et.setState),ax("onEdgesChange",y,et.setState),ax("connectOnClick",k,et.setState),ax("fitViewOnInit",C,et.setState),ax("fitViewOnInitOptions",M,et.setState),ax("onNodesDelete",T,et.setState),ax("onEdgesDelete",A,et.setState),ax("onNodeDrag",O,et.setState),ax("onNodeDragStart",R,et.setState),ax("onNodeDragStop",D,et.setState),ax("onSelectionDrag",L,et.setState),ax("onSelectionDragStart",$,et.setState),ax("onSelectionDragStop",P,et.setState),ax("noPanClassName",I,et.setState),ax("nodeOrigin",B,et.setState),ax("rfId",z,et.setState),ax("autoPanOnConnect",q,et.setState),ax("autoPanOnNodeDrag",F,et.setState),ax("onError",H,et.setState),ax("connectionRadius",U,et.setState),ax("isValidConnection",W,et.setState),ax("nodeDragThreshold",V,et.setState),af(e,Y),af(t,X),af(f,K),af(x,Q),af(S,J),af(b,Z),null},ag={display:"none"},av={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},ay="react-flow__node-desc",aw="react-flow__edge-desc",aj=e=>e.ariaLiveMessage;function aN({rfId:e}){let t=nt(aj);return g.default.createElement("div",{id:`react-flow__aria-live-${e}`,"aria-live":"assertive","aria-atomic":"true",style:av},t)}function aE({rfId:e,disableKeyboardA11y:t}){return g.default.createElement(g.default.Fragment,null,g.default.createElement("div",{id:`${ay}-${e}`,style:ag},"Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "),g.default.createElement("div",{id:`${aw}-${e}`,style:ag},"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."),!t&&g.default.createElement(aN,{rfId:e}))}var aS=(e=null,t={actInsideInputWithModifier:!0})=>{let[r,n]=(0,g.useState)(!1),a=(0,g.useRef)(!1),s=(0,g.useRef)(new Set([])),[i,o]=(0,g.useMemo)(()=>{if(null!==e){let t=(Array.isArray(e)?e:[e]).filter(e=>"string"==typeof e).map(e=>e.split("+")),r=t.reduce((e,t)=>e.concat(...t),[]);return[t,r]}return[[],[]]},[e]);return(0,g.useEffect)(()=>{let r="u">typeof document?document:null,l=t?.target||r;if(null!==e){let e=e=>{if(a.current=e.ctrlKey||e.metaKey||e.shiftKey,(!a.current||a.current&&!t.actInsideInputWithModifier)&&nj(e))return!1;let r=a_(e.code,o);s.current.add(e[r]),ak(i,s.current,!1)&&(e.preventDefault(),n(!0))},r=e=>{if((!a.current||a.current&&!t.actInsideInputWithModifier)&&nj(e))return!1;let r=a_(e.code,o);ak(i,s.current,!0)?(n(!1),s.current.clear()):s.current.delete(e[r]),"Meta"===e.key&&s.current.clear(),a.current=!1},c=()=>{s.current.clear(),n(!1)};return l?.addEventListener("keydown",e),l?.addEventListener("keyup",r),window.addEventListener("blur",c),()=>{l?.removeEventListener("keydown",e),l?.removeEventListener("keyup",r),window.removeEventListener("blur",c)}}},[e,n]),r};function ak(e,t,r){return e.filter(e=>r||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function a_(e,t){return t.includes(e)?"code":"key"}function aC(e,t,r){e.forEach(n=>{let a=n.parentNode||n.parentId;if(a&&!e.has(a))throw Error(`Parent node ${a} not found`);if(a||r?.[n.id]){let{x:a,y:s,z:i}=function e(t,r,n,a){let s=t.parentNode||t.parentId;if(!s)return n;let i=r.get(s),o=nX(i,a);return e(i,r,{x:(n.x??0)+o.x,y:(n.y??0)+o.y,z:(i[nv]?.z??0)>(n.z??0)?i[nv]?.z??0:n.z??0},a)}(n,e,{...n.position,z:n[nv]?.z??0},t);n.positionAbsolute={x:a,y:s},n[nv].z=i,r?.[n.id]&&(n[nv].isParent=!0)}})}function aM(e,t,r,n){let a=new Map,s={},i=1e3*!!n;return e.forEach(e=>{let r=(ng(e.zIndex)?e.zIndex:0)+(e.selected?i:0),n=t.get(e.id),o={...e,positionAbsolute:{x:e.position.x,y:e.position.y}},l=e.parentNode||e.parentId;l&&(s[l]=!0),Object.defineProperty(o,nv,{enumerable:!1,value:{handleBounds:n?.type&&n?.type!==e.type?void 0:n?.[nv]?.handleBounds,z:r}}),a.set(e.id,o)}),aC(a,r,s),a}function aT(e,t={}){let{getNodes:r,width:n,height:a,minZoom:s,maxZoom:i,d3Zoom:o,d3Selection:l,fitViewOnInitDone:c,fitViewOnInit:d,nodeOrigin:u}=e(),p=t.initial&&!c&&d;if(o&&l&&(p||!t.initial)){let e=r().filter(e=>{let r=t.includeHiddenNodes?e.width&&e.height:!e.hidden;return t.nodes?.length?r&&t.nodes.some(t=>t.id===e.id):r}),c=e.every(e=>e.width&&e.height);if(e.length>0&&c){let{x:r,y:c,zoom:d}=nJ(nG(e,u),n,a,t.minZoom??s,t.maxZoom??i,t.padding??.1),p=rV.translate(r,c).scale(d);return"number"==typeof t.duration&&t.duration>0?o.transform(nZ(l,t.duration),p):o.transform(l,p),!0}}return!1}function aA({changedNodes:e,changedEdges:t,get:r,set:n}){let{nodeInternals:a,edges:s,onNodesChange:i,onEdgesChange:o,hasDefaultNodes:l,hasDefaultEdges:c}=r();e?.length&&(l&&n({nodeInternals:(e.forEach(e=>{let t=a.get(e.id);t&&a.set(t.id,{...t,[nv]:t[nv],selected:e.selected})}),new Map(a))}),i?.(e)),t?.length&&(c&&n({edges:s.map(e=>{let r=t.find(t=>t.id===e.id);return r&&(e.selected=r.selected),e})}),o?.(t))}let aO=()=>{},aR={zoomIn:aO,zoomOut:aO,zoomTo:aO,getZoom:()=>1,setViewport:aO,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:aO,fitBounds:aO,project:e=>e,screenToFlowPosition:e=>e,flowToScreenPosition:e=>e,viewportInitialized:!1},aD=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection});function aL(){let e=(()=>{let e=nr(),{d3Zoom:t,d3Selection:r}=nt(aD,e$);return(0,g.useMemo)(()=>r&&t?{zoomIn:e=>t.scaleBy(nZ(r,e?.duration),1.2),zoomOut:e=>t.scaleBy(nZ(r,e?.duration),1/1.2),zoomTo:(e,n)=>t.scaleTo(nZ(r,n?.duration),e),getZoom:()=>e.getState().transform[2],setViewport:(n,a)=>{let[s,i,o]=e.getState().transform,l=rV.translate(n.x??s,n.y??i).scale(n.zoom??o);t.transform(nZ(r,a?.duration),l)},getViewport:()=>{let[t,r,n]=e.getState().transform;return{x:t,y:r,zoom:n}},fitView:t=>aT(e.getState,t),setCenter:(n,a,s)=>{let{width:i,height:o,maxZoom:l}=e.getState(),c=void 0!==s?.zoom?s.zoom:l,d=i/2-n*c,u=o/2-a*c,p=rV.translate(d,u).scale(c);t.transform(nZ(r,s?.duration),p)},fitBounds:(n,a)=>{let{width:s,height:i,minZoom:o,maxZoom:l}=e.getState(),{x:c,y:d,zoom:u}=nJ(n,s,i,o,l,a?.padding??.1),p=rV.translate(c,d).scale(u);t.transform(nZ(r,a?.duration),p)},project:t=>{let{transform:r,snapToGrid:n,snapGrid:a}=e.getState();return console.warn("[DEPRECATED] `project` is deprecated. Instead use `screenToFlowPosition`. There is no need to subtract the react flow bounds anymore! https://reactflow.dev/api-reference/types/react-flow-instance#screen-to-flow-position"),nV(t,r,n,a)},screenToFlowPosition:t=>{let{transform:r,snapToGrid:n,snapGrid:a,domNode:s}=e.getState();if(!s)return t;let{x:i,y:o}=s.getBoundingClientRect();return nV({x:t.x-i,y:t.y-o},r,n,a)},flowToScreenPosition:t=>{let{transform:r,domNode:n}=e.getState();if(!n)return t;let{x:a,y:s}=n.getBoundingClientRect(),i=nY(t,r);return{x:i.x+a,y:i.y+s}},viewportInitialized:!0}:aR,[t,r])})(),t=nr(),r=(0,g.useCallback)(()=>t.getState().getNodes().map(e=>({...e})),[]),n=(0,g.useCallback)(e=>t.getState().nodeInternals.get(e),[]),a=(0,g.useCallback)(()=>{let{edges:e=[]}=t.getState();return e.map(e=>({...e}))},[]),s=(0,g.useCallback)(e=>{let{edges:r=[]}=t.getState();return r.find(t=>t.id===e)},[]),i=(0,g.useCallback)(e=>{let{getNodes:r,setNodes:n,hasDefaultNodes:a,onNodesChange:s}=t.getState(),i=r(),o="function"==typeof e?e(i):e;a?n(o):s&&s(0===o.length?i.map(e=>({type:"remove",id:e.id})):o.map(e=>({item:e,type:"reset"})))},[]),o=(0,g.useCallback)(e=>{let{edges:r=[],setEdges:n,hasDefaultEdges:a,onEdgesChange:s}=t.getState(),i="function"==typeof e?e(r):e;a?n(i):s&&s(0===i.length?r.map(e=>({type:"remove",id:e.id})):i.map(e=>({item:e,type:"reset"})))},[]),l=(0,g.useCallback)(e=>{let r=Array.isArray(e)?e:[e],{getNodes:n,setNodes:a,hasDefaultNodes:s,onNodesChange:i}=t.getState();s?a([...n(),...r]):i&&i(r.map(e=>({item:e,type:"add"})))},[]),c=(0,g.useCallback)(e=>{let r=Array.isArray(e)?e:[e],{edges:n=[],setEdges:a,hasDefaultEdges:s,onEdgesChange:i}=t.getState();s?a([...n,...r]):i&&i(r.map(e=>({item:e,type:"add"})))},[]),d=(0,g.useCallback)(()=>{let{getNodes:e,edges:r=[],transform:n}=t.getState(),[a,s,i]=n;return{nodes:e().map(e=>({...e})),edges:r.map(e=>({...e})),viewport:{x:a,y:s,zoom:i}}},[]),u=(0,g.useCallback)(({nodes:e,edges:r})=>{let{nodeInternals:n,getNodes:a,edges:s,hasDefaultNodes:i,hasDefaultEdges:o,onNodesDelete:l,onEdgesDelete:c,onNodesChange:d,onEdgesChange:u}=t.getState(),p=(e||[]).map(e=>e.id),h=(r||[]).map(e=>e.id),m=a().reduce((e,t)=>{let r=t.parentNode||t.parentId,n=!p.includes(t.id)&&r&&e.find(e=>e.id===r);return("boolean"!=typeof t.deletable||t.deletable)&&(p.includes(t.id)||n)&&e.push(t),e},[]),f=s.filter(e=>"boolean"!=typeof e.deletable||e.deletable),x=f.filter(e=>h.includes(e.id));if(m||x){let e=[...x,...nQ(m,f)],r=e.reduce((e,t)=>(e.includes(t.id)||e.push(t.id),e),[]);(o||i)&&(o&&t.setState({edges:s.filter(e=>!r.includes(e.id))}),i&&(m.forEach(e=>{n.delete(e.id)}),t.setState({nodeInternals:new Map(n)}))),r.length>0&&(c?.(e),u&&u(r.map(e=>({id:e,type:"remove"})))),m.length>0&&(l?.(m),d&&d(m.map(e=>({id:e.id,type:"remove"}))))}},[]),p=(0,g.useCallback)(e=>{let r=ng(e.width)&&ng(e.height)&&ng(e.x)&&ng(e.y),n=r?null:t.getState().nodeInternals.get(e.id);return r||n?[r?e:nx(n),n,r]:[null,null,r]},[]),h=(0,g.useCallback)((e,r=!0,n)=>{let[a,s,i]=p(e);return a?(n||t.getState().getNodes()).filter(e=>{if(!i&&(e.id===s.id||!e.positionAbsolute))return!1;let t=nb(nx(e),a);return r&&t>0||t>=a.width*a.height}):[]},[]),m=(0,g.useCallback)((e,t,r=!0)=>{let[n]=p(e);if(!n)return!1;let a=nb(n,t);return r&&a>0||a>=n.width*n.height},[]);return(0,g.useMemo)(()=>({...e,getNodes:r,getNode:n,getEdges:a,getEdge:s,setNodes:i,setEdges:o,addNodes:l,addEdges:c,toObject:d,deleteElements:u,getIntersectingNodes:h,isNodeIntersecting:m}),[e,r,n,a,s,i,o,l,c,d,u,h,m])}let a$={actInsideInputWithModifier:!1},aP={position:"absolute",width:"100%",height:"100%",top:0,left:0},aI=e=>({x:e.x,y:e.y,zoom:e.k}),aB=(e,t)=>e.target.closest(`.${t}`),az=(e,t)=>2===t&&Array.isArray(e)&&e.includes(2),aq=e=>{let t=e.ctrlKey&&nE()?10:1;return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*t},aF=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),aH=({onMove:e,onMoveStart:t,onMoveEnd:r,onPaneContextMenu:n,zoomOnScroll:a=!0,zoomOnPinch:s=!0,panOnScroll:i=!1,panOnScrollSpeed:o=.5,panOnScrollMode:l=u.Free,zoomOnDoubleClick:c=!0,elementsSelectable:d,panOnDrag:p=!0,defaultViewport:h,translateExtent:m,minZoom:f,maxZoom:x,zoomActivationKeyCode:b,preventScrolling:v=!0,children:y,noWheelClassName:w,noPanClassName:j})=>{let N,E=(0,g.useRef)(),S=nr(),k=(0,g.useRef)(!1),_=(0,g.useRef)(!1),C=(0,g.useRef)(null),M=(0,g.useRef)({x:0,y:0,zoom:0}),{d3Zoom:T,d3Selection:A,d3ZoomHandler:O,userSelectionActive:R}=nt(aF,e$),D=aS(b),L=(0,g.useRef)(0),$=(0,g.useRef)(!1),P=(0,g.useRef)();return N=nr(),(0,g.useEffect)(()=>{let e,t=()=>{if(!C.current)return;let e=no(C.current);(0===e.height||0===e.width)&&N.getState().onError?.("004","The React Flow parent container needs a width and a height to render the graph."),N.setState({width:e.width||500,height:e.height||500})};return t(),window.addEventListener("resize",t),C.current&&(e=new ResizeObserver(()=>t())).observe(C.current),()=>{window.removeEventListener("resize",t),e&&C.current&&e.unobserve(C.current)}},[]),(0,g.useEffect)(()=>{if(C.current){let e=C.current.getBoundingClientRect(),t=r1().scaleExtent([f,x]).translateExtent(m),r=tg(C.current).call(t),n=rV.translate(h.x,h.y).scale(nl(h.zoom,f,x)),a=[[0,0],[e.width,e.height]],s=t.constrain()(n,a,m);t.transform(r,s),t.wheelDelta(aq),S.setState({d3Zoom:t,d3Selection:r,d3ZoomHandler:r.on("wheel.zoom"),transform:[s.x,s.y,s.k],domNode:C.current.closest(".react-flow")})}},[]),(0,g.useEffect)(()=>{A&&T&&(!i||D||R?void 0!==O&&A.on("wheel.zoom",function(e,t){if(!v&&"wheel"===e.type&&!e.ctrlKey||aB(e,w))return null;e.preventDefault(),O.call(this,e,t)},{passive:!1}):A.on("wheel.zoom",n=>{if(aB(n,w))return!1;n.preventDefault(),n.stopImmediatePropagation();let a=A.property("__zoom").k||1;if(n.ctrlKey&&s){let e=t_(n),t=a*Math.pow(2,aq(n));T.scaleTo(A,t,e,n);return}let i=1===n.deltaMode?20:1,c=l===u.Vertical?0:n.deltaX*i,d=l===u.Horizontal?0:n.deltaY*i;!nE()&&n.shiftKey&&l!==u.Vertical&&(c=n.deltaY*i,d=0),T.translateBy(A,-(c/a)*o,-(d/a)*o,{internal:!0});let p=aI(A.property("__zoom")),{onViewportChangeStart:h,onViewportChange:m,onViewportChangeEnd:f}=S.getState();clearTimeout(P.current),$.current||($.current=!0,t?.(n,p),h?.(p)),$.current&&(e?.(n,p),m?.(p),P.current=setTimeout(()=>{r?.(n,p),f?.(p),$.current=!1},150))},{passive:!1}))},[R,i,l,A,T,O,D,s,v,w,t,e,r]),(0,g.useEffect)(()=>{T&&T.on("start",e=>{if(!e.sourceEvent||e.sourceEvent.internal)return null;L.current=e.sourceEvent?.button;let{onViewportChangeStart:r}=S.getState(),n=aI(e.transform);k.current=!0,M.current=n,e.sourceEvent?.type==="mousedown"&&S.setState({paneDragging:!0}),r?.(n),t?.(e.sourceEvent,n)})},[T,t]),(0,g.useEffect)(()=>{T&&(R&&!k.current?T.on("zoom",null):R||T.on("zoom",t=>{let{onViewportChange:r}=S.getState();if(S.setState({transform:[t.transform.x,t.transform.y,t.transform.k]}),_.current=!!(n&&az(p,L.current??0)),(e||r)&&!t.sourceEvent?.internal){let n=aI(t.transform);r?.(n),e?.(t.sourceEvent,n)}}))},[R,T,e,p,n]),(0,g.useEffect)(()=>{T&&T.on("end",e=>{let t,a;if(!e.sourceEvent||e.sourceEvent.internal)return null;let{onViewportChangeEnd:s}=S.getState();if(k.current=!1,S.setState({paneDragging:!1}),n&&az(p,L.current??0)&&!_.current&&n(e.sourceEvent),_.current=!1,(r||s)&&(t=M.current,a=e.transform,t.x!==a.x||t.y!==a.y||t.zoom!==a.k)){let t=aI(e.transform);M.current=t,clearTimeout(E.current),E.current=setTimeout(()=>{s?.(t),r?.(e.sourceEvent,t)},150*!!i)}})},[T,i,p,r,n]),(0,g.useEffect)(()=>{T&&T.filter(e=>{let t=D||a,r=s&&e.ctrlKey;if((!0===p||Array.isArray(p)&&p.includes(1))&&1===e.button&&"mousedown"===e.type&&(aB(e,"react-flow__node")||aB(e,"react-flow__edge")))return!0;if(!p&&!t&&!i&&!c&&!s||R||!c&&"dblclick"===e.type||aB(e,w)&&"wheel"===e.type||aB(e,j)&&("wheel"!==e.type||i&&"wheel"===e.type&&!D)||!s&&e.ctrlKey&&"wheel"===e.type||!t&&!i&&!r&&"wheel"===e.type||!p&&("mousedown"===e.type||"touchstart"===e.type)||Array.isArray(p)&&!p.includes(e.button)&&"mousedown"===e.type)return!1;let n=Array.isArray(p)&&p.includes(e.button)||!e.button||e.button<=1;return(!e.ctrlKey||"wheel"===e.type)&&n})},[R,T,a,s,i,c,p,d,D]),g.default.createElement("div",{className:"react-flow__renderer",ref:C,style:aP},y)},aU=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function aW(){let{userSelectionActive:e,userSelectionRect:t}=nt(aU,e$);return e&&t?g.default.createElement("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function aV(e,t){let r=t.parentNode||t.parentId,n=e.find(e=>e.id===r);if(n){let e=t.position.x+t.width-n.width,r=t.position.y+t.height-n.height;if(e>0||r>0||t.position.x<0||t.position.y<0){if(n.style={...n.style},n.style.width=n.style.width??n.width,n.style.height=n.style.height??n.height,e>0&&(n.style.width+=e),r>0&&(n.style.height+=r),t.position.x<0){let e=Math.abs(t.position.x);n.position.x=n.position.x-e,n.style.width+=e,t.position.x=0}if(t.position.y<0){let e=Math.abs(t.position.y);n.position.y=n.position.y-e,n.style.height+=e,t.position.y=0}n.width=n.style.width,n.height=n.style.height}}}function aY(e,t){if(e.some(e=>"reset"===e.type))return e.filter(e=>"reset"===e.type).map(e=>e.item);let r=e.filter(e=>"add"===e.type).map(e=>e.item);return t.reduce((t,r)=>{let n=e.filter(e=>e.id===r.id);if(0===n.length)return t.push(r),t;let a={...r};for(let e of n)if(e)switch(e.type){case"select":a.selected=e.selected;break;case"position":void 0!==e.position&&(a.position=e.position),void 0!==e.positionAbsolute&&(a.positionAbsolute=e.positionAbsolute),void 0!==e.dragging&&(a.dragging=e.dragging),a.expandParent&&aV(t,a);break;case"dimensions":void 0!==e.dimensions&&(a.width=e.dimensions.width,a.height=e.dimensions.height),void 0!==e.updateStyle&&(a.style={...a.style||{},...e.dimensions}),"boolean"==typeof e.resizing&&(a.resizing=e.resizing),a.expandParent&&aV(t,a);break;case"remove":return t}return t.push(a),t},r)}function aX(e,t){return aY(e,t)}let aG=(e,t)=>({id:e,type:"select",selected:t});function aK(e,t){return e.reduce((e,r)=>{let n=t.includes(r.id);return!r.selected&&n?(r.selected=!0,e.push(aG(r.id,!0))):r.selected&&!n&&(r.selected=!1,e.push(aG(r.id,!1))),e},[])}let aQ=(e,t)=>r=>{r.target===t.current&&e?.(r)},aJ=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),aZ=(0,g.memo)(({isSelecting:e,selectionMode:t=p.Full,panOnDrag:r,onSelectionStart:n,onSelectionEnd:a,onPaneClick:s,onPaneContextMenu:i,onPaneScroll:o,onPaneMouseEnter:l,onPaneMouseMove:c,onPaneMouseLeave:d,children:u})=>{let h=(0,g.useRef)(null),m=nr(),f=(0,g.useRef)(0),x=(0,g.useRef)(0),b=(0,g.useRef)(),{userSelectionActive:v,elementsSelectable:y,dragging:w}=nt(aJ,e$),j=()=>{m.setState({userSelectionActive:!1,userSelectionRect:null}),f.current=0,x.current=0},N=e=>{s?.(e),m.getState().resetSelectedElements(),m.setState({nodesSelectionActive:!1})},E=y&&(e||v);return g.default.createElement("div",{className:e_(["react-flow__pane",{dragging:w,selection:e}]),onClick:E?void 0:aQ(N,h),onContextMenu:aQ(e=>{Array.isArray(r)&&r?.includes(2)?e.preventDefault():i?.(e)},h),onWheel:aQ(o?e=>o(e):void 0,h),onMouseEnter:E?void 0:l,onMouseDown:E?t=>{let{resetSelectedElements:r,domNode:a}=m.getState();if(b.current=a?.getBoundingClientRect(),!y||!e||0!==t.button||t.target!==h.current||!b.current)return;let{x:s,y:i}=nN(t,b.current);r(),m.setState({userSelectionRect:{width:0,height:0,startX:s,startY:i,x:s,y:i}}),n?.(t)}:void 0,onMouseMove:E?r=>{let{userSelectionRect:n,nodeInternals:a,edges:s,transform:i,onNodesChange:o,onEdgesChange:l,nodeOrigin:c,getNodes:d}=m.getState();if(!e||!b.current||!n)return;m.setState({userSelectionActive:!0,nodesSelectionActive:!1});let u=nN(r,b.current),h=n.startX??0,g=n.startY??0,v={...n,x:u.x<h?u.x:h,y:u.y<g?u.y:g,width:Math.abs(u.x-h),height:Math.abs(u.y-g)},y=d(),w=nK(a,v,i,t===p.Partial,!0,c),j=nQ(w,s).map(e=>e.id),N=w.map(e=>e.id);if(f.current!==N.length){f.current=N.length;let e=aK(y,N);e.length&&o?.(e)}if(x.current!==j.length){x.current=j.length;let e=aK(s,j);e.length&&l?.(e)}m.setState({userSelectionRect:v})}:c,onMouseUp:E?e=>{if(0!==e.button)return;let{userSelectionRect:t}=m.getState();!v&&t&&e.target===h.current&&N?.(e),m.setState({nodesSelectionActive:f.current>0}),j(),a?.(e)}:void 0,onMouseLeave:E?e=>{v&&(m.setState({nodesSelectionActive:f.current>0}),a?.(e)),j()}:d,ref:h,style:aP},u,g.default.createElement(aW,null))});function a0(e,t,r){let n=e;do{if(n?.matches(t))return!0;if(n===r.current)break;n=n.parentElement}while(n)return!1}function a1(e,t,r,n,a=[0,0],s){var i;let o=(i=e.extent||n)&&"parent"!==i?[i[0],[i[1][0]-(e.width||0),i[1][1]-(e.height||0)]]:i,l=o,c=e.parentNode||e.parentId;if("parent"!==e.extent||e.expandParent){if(e.extent&&c&&"parent"!==e.extent){let{x:t,y:n}=nX(r.get(c),a).positionAbsolute;l=[[e.extent[0][0]+t,e.extent[0][1]+n],[e.extent[1][0]+t,e.extent[1][1]+n]]}}else if(c&&e.width&&e.height){let t=r.get(c),{x:n,y:s}=nX(t,a).positionAbsolute;l=t&&ng(n)&&ng(s)&&ng(t.width)&&ng(t.height)?[[n+e.width*a[0],s+e.height*a[1]],[n+t.width-e.width+e.width*a[0],s+t.height-e.height+e.height*a[1]]]:l}else s?.("005","Only child nodes can use a parent extent."),l=o;let d={x:0,y:0};c&&(d=nX(r.get(c),a).positionAbsolute);let u=l&&"parent"!==l?nc(t,l):t;return{position:{x:u.x-d.x,y:u.y-d.y},positionAbsolute:u}}function a2({nodeId:e,dragItems:t,nodeInternals:r}){let n=t.map(e=>({...r.get(e.id),position:e.position,positionAbsolute:e.positionAbsolute}));return[e?n.find(t=>t.id===e):n[0],n]}aZ.displayName="Pane";let a5=(e,t,r,n)=>{let a=t.querySelectorAll(e);if(!a||!a.length)return null;let s=Array.from(a),i=t.getBoundingClientRect(),o={x:i.width*n[0],y:i.height*n[1]};return s.map(e=>{let t=e.getBoundingClientRect();return{id:e.getAttribute("data-handleid"),position:e.getAttribute("data-handlepos"),x:(t.left-i.left-o.x)/r,y:(t.top-i.top-o.y)/r,...no(e)}})};function a3(e,t,r){return void 0===r?r:n=>{let a=t().nodeInternals.get(e);a&&r(n,{...a})}}function a4({id:e,store:t,unselect:r=!1,nodeRef:n}){let a,{addSelectedNodes:s,unselectNodesAndEdges:i,multiSelectionActive:o,nodeInternals:l,onError:c}=t.getState(),d=l.get(e);d?(t.setState({nodesSelectionActive:!1}),d.selected?(r||d.selected&&o)&&(i({nodes:[d],edges:[]}),requestAnimationFrame(()=>n?.current?.blur())):s([e])):c?.("012",(a=e,`Node with id "${a}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`))}function a6(e){return(t,r,n)=>e?.(t,n)}function a9({nodeRef:e,disabled:t=!1,noDragClassName:r,handleSelector:n,nodeId:a,isSelectable:s,selectNodesOnDrag:i}){let o,l=nr(),[c,d]=(0,g.useState)(!1),u=(0,g.useRef)([]),p=(0,g.useRef)({x:null,y:null}),h=(0,g.useRef)(0),m=(0,g.useRef)(null),f=(0,g.useRef)({x:0,y:0}),x=(0,g.useRef)(null),b=(0,g.useRef)(!1),v=(0,g.useRef)(!1),y=(0,g.useRef)(!1),w=(o=nr(),(0,g.useCallback)(({sourceEvent:e})=>{let{transform:t,snapGrid:r,snapToGrid:n}=o.getState(),a=e.touches?e.touches[0].clientX:e.clientX,s=e.touches?e.touches[0].clientY:e.clientY,i={x:(a-t[0])/t[2],y:(s-t[1])/t[2]};return{xSnapped:n?r[0]*Math.round(i.x/r[0]):i.x,ySnapped:n?r[1]*Math.round(i.y/r[1]):i.y,...i}},[]));return(0,g.useEffect)(()=>{if(e?.current){let o=tg(e.current),c=({x:e,y:t})=>{let{nodeInternals:r,onNodeDrag:n,onSelectionDrag:s,updateNodePositions:i,nodeExtent:o,snapGrid:c,snapToGrid:h,nodeOrigin:m,onError:f}=l.getState();p.current={x:e,y:t};let b=!1,g={x:0,y:0,x2:0,y2:0};if(u.current.length>1&&o&&(g=nm(nG(u.current,m))),u.current=u.current.map(n=>{let a={x:e-n.distance.x,y:t-n.distance.y};h&&(a.x=c[0]*Math.round(a.x/c[0]),a.y=c[1]*Math.round(a.y/c[1]));let s=[[o[0][0],o[0][1]],[o[1][0],o[1][1]]];u.current.length>1&&o&&!n.extent&&(s[0][0]=n.positionAbsolute.x-g.x+o[0][0],s[1][0]=n.positionAbsolute.x+(n.width??0)-g.x2+o[1][0],s[0][1]=n.positionAbsolute.y-g.y+o[0][1],s[1][1]=n.positionAbsolute.y+(n.height??0)-g.y2+o[1][1]);let i=a1(n,a,r,s,m,f);return b=b||n.position.x!==i.position.x||n.position.y!==i.position.y,n.position=i.position,n.positionAbsolute=i.positionAbsolute,n}),!b)return;i(u.current,!0,!0),d(!0);let v=a?n:a6(s);if(v&&x.current){let[e,t]=a2({nodeId:a,dragItems:u.current,nodeInternals:r});v(x.current,e,t)}},g=()=>{if(!m.current)return;let[e,t]=nu(f.current,m.current);if(0!==e||0!==t){let{transform:r,panBy:n}=l.getState();p.current.x=(p.current.x??0)-e/r[2],p.current.y=(p.current.y??0)-t/r[2],n({x:e,y:t})&&c(p.current)}h.current=requestAnimationFrame(g)},j=t=>{let{nodeInternals:r,multiSelectionActive:n,nodesDraggable:o,unselectNodesAndEdges:c,onNodeDragStart:d,onSelectionDragStart:h}=l.getState();v.current=!0;let m=a?d:a6(h);i&&s||n||!a||r.get(a)?.selected||c(),a&&s&&i&&a4({id:a,store:l,nodeRef:e});let f=w(t);if(p.current=f,u.current=Array.from(r.values()).filter(e=>(e.selected||e.id===a)&&(!e.parentNode||e.parentId||!function e(t,r){let n=t.parentNode||t.parentId;if(!n)return!1;let a=r.get(n);return!!a&&(!!a.selected||e(a,r))}(e,r))&&(e.draggable||o&&void 0===e.draggable)).map(e=>({id:e.id,position:e.position||{x:0,y:0},positionAbsolute:e.positionAbsolute||{x:0,y:0},distance:{x:f.x-(e.positionAbsolute?.x??0),y:f.y-(e.positionAbsolute?.y??0)},delta:{x:0,y:0},extent:e.extent,parentNode:e.parentNode||e.parentId,parentId:e.parentNode||e.parentId,width:e.width,height:e.height,expandParent:e.expandParent})),m&&u.current){let[e,n]=a2({nodeId:a,dragItems:u.current,nodeInternals:r});m(t.sourceEvent,e,n)}};if(t)o.on(".drag",null);else{let t=(function(){var e,t,r,n,a=r3,s=r4,i=r6,o=r9,l={},c=eI("start","drag","end"),d=0,u=0;function p(e){e.on("mousedown.drag",h).filter(o).on("touchstart.drag",x).on("touchmove.drag",b,tv).on("touchend.drag touchcancel.drag",g).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(i,o){if(!n&&a.call(this,i,o)){var l=v(this,s.call(this,i,o),i,o,"mouse");l&&(tg(i.view).on("mousemove.drag",m,ty).on("mouseup.drag",f,ty),tN(i.view),tw(i),r=!1,e=i.clientX,t=i.clientY,l("start",i))}}function m(n){if(tj(n),!r){var a=n.clientX-e,s=n.clientY-t;r=a*a+s*s>u}l.mouse("drag",n)}function f(e){tg(e.view).on("mousemove.drag mouseup.drag",null),tE(e.view,r),tj(e),l.mouse("end",e)}function x(e,t){if(a.call(this,e,t)){var r,n,i=e.changedTouches,o=s.call(this,e,t),l=i.length;for(r=0;r<l;++r)(n=v(this,o,e,t,i[r].identifier,i[r]))&&(tw(e),n("start",e,i[r]))}}function b(e){var t,r,n=e.changedTouches,a=n.length;for(t=0;t<a;++t)(r=l[n[t].identifier])&&(tj(e),r("drag",e,n[t]))}function g(e){var t,r,a=e.changedTouches,s=a.length;for(n&&clearTimeout(n),n=setTimeout(function(){n=null},500),t=0;t<s;++t)(r=l[a[t].identifier])&&(tw(e),r("end",e,a[t]))}function v(e,t,r,n,a,s){var o,u,h,m=c.copy(),f=t_(s||r,t);if(null!=(h=i.call(e,new r5("beforestart",{sourceEvent:r,target:p,identifier:a,active:d,x:f[0],y:f[1],dx:0,dy:0,dispatch:m}),n)))return o=h.x-f[0]||0,u=h.y-f[1]||0,function r(s,i,c){var x,b=f;switch(s){case"start":l[a]=r,x=d++;break;case"end":delete l[a],--d;case"drag":f=t_(c||i,t),x=d}m.call(s,e,new r5(s,{sourceEvent:i,subject:h,target:p,identifier:a,active:x,x:f[0]+o,y:f[1]+u,dx:f[0]-b[0],dy:f[1]-b[1],dispatch:m}),n)}}return p.filter=function(e){return arguments.length?(a="function"==typeof e?e:r2(!!e),p):a},p.container=function(e){return arguments.length?(s="function"==typeof e?e:r2(e),p):s},p.subject=function(e){return arguments.length?(i="function"==typeof e?e:r2(e),p):i},p.touchable=function(e){return arguments.length?(o="function"==typeof e?e:r2(!!e),p):o},p.on=function(){var e=c.on.apply(c,arguments);return e===c?p:e},p.clickDistance=function(e){return arguments.length?(u=(e*=1)*e,p):Math.sqrt(u)},p})().on("start",e=>{let{domNode:t,nodeDragThreshold:r}=l.getState();0===r&&j(e),y.current=!1,p.current=w(e),m.current=t?.getBoundingClientRect()||null,f.current=nN(e.sourceEvent,m.current)}).on("drag",e=>{let t=w(e),{autoPanOnNodeDrag:r,nodeDragThreshold:n}=l.getState();if("touchmove"===e.sourceEvent.type&&e.sourceEvent.touches.length>1&&(y.current=!0),!y.current){if(!b.current&&v.current&&r&&(b.current=!0,g()),!v.current){let r=t.xSnapped-(p?.current?.x??0),a=t.ySnapped-(p?.current?.y??0);Math.sqrt(r*r+a*a)>n&&j(e)}(p.current.x!==t.xSnapped||p.current.y!==t.ySnapped)&&u.current&&v.current&&(x.current=e.sourceEvent,f.current=nN(e.sourceEvent,m.current),c(t))}}).on("end",e=>{if(v.current&&!y.current&&(d(!1),b.current=!1,v.current=!1,cancelAnimationFrame(h.current),u.current)){let{updateNodePositions:t,nodeInternals:r,onNodeDragStop:n,onSelectionDragStop:s}=l.getState(),i=a?n:a6(s);if(t(u.current,!1,!1),i){let[t,n]=a2({nodeId:a,dragItems:u.current,nodeInternals:r});i(e.sourceEvent,t,n)}}}).filter(t=>{let a=t.target;return!t.button&&(!r||!a0(a,`.${r}`,e))&&(!n||a0(a,n,e))});return o.call(t),()=>{o.on(".drag",null)}}}},[e,t,r,n,s,l,a,i,w]),c}function a7(){let e=nr();return(0,g.useCallback)(t=>{let{nodeInternals:r,nodeExtent:n,updateNodePositions:a,getNodes:s,snapToGrid:i,snapGrid:o,onError:l,nodesDraggable:c}=e.getState(),d=s().filter(e=>e.selected&&(e.draggable||c&&void 0===e.draggable)),u=i?o[0]:5,p=i?o[1]:5,h=t.isShiftPressed?4:1,m=t.x*u*h,f=t.y*p*h;a(d.map(e=>{if(e.positionAbsolute){let t={x:e.positionAbsolute.x+m,y:e.positionAbsolute.y+f};i&&(t.x=o[0]*Math.round(t.x/o[0]),t.y=o[1]*Math.round(t.y/o[1]));let{positionAbsolute:a,position:s}=a1(e,t,r,n,void 0,l);e.position=s,e.positionAbsolute=a}return e}),!0,!1)},[])}let a8={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var se=e=>{let t=({id:t,type:r,data:n,xPos:a,yPos:s,xPosOrigin:i,yPosOrigin:o,selected:l,onClick:c,onMouseEnter:d,onMouseMove:u,onMouseLeave:p,onContextMenu:h,onDoubleClick:m,style:f,className:x,isDraggable:b,isSelectable:v,isConnectable:y,isFocusable:w,selectNodesOnDrag:j,sourcePosition:N,targetPosition:E,hidden:S,resizeObserver:k,dragHandle:_,zIndex:C,isParent:M,noDragClassName:T,noPanClassName:A,initialized:O,disableKeyboardA11y:R,ariaLabel:D,rfId:L,hasHandleBounds:$})=>{let P=nr(),I=(0,g.useRef)(null),B=(0,g.useRef)(null),z=(0,g.useRef)(N),q=(0,g.useRef)(E),F=(0,g.useRef)(r),H=v||b||c||d||u||p,U=a7(),W=a3(t,P.getState,d),V=a3(t,P.getState,u),Y=a3(t,P.getState,p),X=a3(t,P.getState,h),G=a3(t,P.getState,m);(0,g.useEffect)(()=>()=>{B.current&&(k?.unobserve(B.current),B.current=null)},[]),(0,g.useEffect)(()=>{if(I.current&&!S){let e=I.current;O&&$&&B.current===e||(B.current&&k?.unobserve(B.current),k?.observe(e),B.current=e)}},[S,O,$]),(0,g.useEffect)(()=>{let e=F.current!==r,n=z.current!==N,a=q.current!==E;I.current&&(e||n||a)&&(e&&(F.current=r),n&&(z.current=N),a&&(q.current=E),P.getState().updateNodeDimensions([{id:t,nodeElement:I.current,forceUpdate:!0}]))},[t,r,N,E]);let K=a9({nodeRef:I,disabled:S||!b,noDragClassName:T,handleSelector:_,nodeId:t,isSelectable:v,selectNodesOnDrag:j});return S?null:g.default.createElement("div",{className:e_(["react-flow__node",`react-flow__node-${r}`,{[A]:b},x,{selected:l,selectable:v,parent:M,dragging:K}]),ref:I,style:{zIndex:C,transform:`translate(${i}px,${o}px)`,pointerEvents:H?"all":"none",visibility:O?"visible":"hidden",...f},"data-id":t,"data-testid":`rf__node-${t}`,onMouseEnter:W,onMouseMove:V,onMouseLeave:Y,onContextMenu:X,onClick:e=>{let{nodeDragThreshold:r}=P.getState();if(v&&(!j||!b||r>0)&&a4({id:t,store:P,nodeRef:I}),c){let r=P.getState().nodeInternals.get(t);r&&c(e,{...r})}},onDoubleClick:G,onKeyDown:w?e=>{nj(e)||!R&&(ny.includes(e.key)&&v?a4({id:t,store:P,unselect:"Escape"===e.key,nodeRef:I}):b&&l&&Object.prototype.hasOwnProperty.call(a8,e.key)&&(P.setState({ariaLiveMessage:`Moved selected node ${e.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~a}, y: ${~~s}`}),U({x:a8[e.key].x,y:a8[e.key].y,isShiftPressed:e.shiftKey})))}:void 0,tabIndex:w?0:void 0,role:w?"button":void 0,"aria-describedby":R?void 0:`${ay}-${L}`,"aria-label":D},g.default.createElement(nU,{value:t},g.default.createElement(e,{id:t,data:n,type:r,xPos:a,yPos:s,selected:l,isConnectable:y,sourcePosition:N,targetPosition:E,dragging:K,dragHandle:_,zIndex:C})))};return t.displayName="NodeWrapper",(0,g.memo)(t)};let st=e=>({...nG(e.getNodes().filter(e=>e.selected),e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive});var sr=(0,g.memo)(function({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:r}){let n=nr(),{width:a,height:s,x:i,y:o,transformString:l,userSelectionActive:c}=nt(st,e$),d=a7(),u=(0,g.useRef)(null);if((0,g.useEffect)(()=>{r||u.current?.focus({preventScroll:!0})},[r]),a9({nodeRef:u}),c||!a||!s)return null;let p=e?t=>{e(t,n.getState().getNodes().filter(e=>e.selected))}:void 0;return g.default.createElement("div",{className:e_(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l}},g.default.createElement("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:r?void 0:-1,onKeyDown:r?void 0:e=>{Object.prototype.hasOwnProperty.call(a8,e.key)&&d({x:a8[e.key].x,y:a8[e.key].y,isShiftPressed:e.shiftKey})},style:{width:a,height:s,top:o,left:i}}))});let sn=e=>e.nodesSelectionActive,sa=({children:e,onPaneClick:t,onPaneMouseEnter:r,onPaneMouseMove:n,onPaneMouseLeave:a,onPaneContextMenu:s,onPaneScroll:i,deleteKeyCode:o,onMove:l,onMoveStart:c,onMoveEnd:d,selectionKeyCode:u,selectionOnDrag:p,selectionMode:h,onSelectionStart:m,onSelectionEnd:f,multiSelectionKeyCode:x,panActivationKeyCode:b,zoomActivationKeyCode:v,elementsSelectable:y,zoomOnScroll:w,zoomOnPinch:j,panOnScroll:N,panOnScrollSpeed:E,panOnScrollMode:S,zoomOnDoubleClick:k,panOnDrag:_,defaultViewport:C,translateExtent:M,minZoom:T,maxZoom:A,preventScrolling:O,onSelectionContextMenu:R,noWheelClassName:D,noPanClassName:L,disableKeyboardA11y:$})=>{let P=nt(sn),I=aS(u),B=aS(b),z=B||_,q=B||N,F=I||p&&!0!==z;return(({deleteKeyCode:e,multiSelectionKeyCode:t})=>{let r=nr(),{deleteElements:n}=aL(),a=aS(e,a$),s=aS(t);(0,g.useEffect)(()=>{if(a){let{edges:e,getNodes:t}=r.getState();n({nodes:t().filter(e=>e.selected),edges:e.filter(e=>e.selected)}),r.setState({nodesSelectionActive:!1})}},[a]),(0,g.useEffect)(()=>{r.setState({multiSelectionActive:s})},[s])})({deleteKeyCode:o,multiSelectionKeyCode:x}),g.default.createElement(aH,{onMove:l,onMoveStart:c,onMoveEnd:d,onPaneContextMenu:s,elementsSelectable:y,zoomOnScroll:w,zoomOnPinch:j,panOnScroll:q,panOnScrollSpeed:E,panOnScrollMode:S,zoomOnDoubleClick:k,panOnDrag:!I&&z,defaultViewport:C,translateExtent:M,minZoom:T,maxZoom:A,zoomActivationKeyCode:v,preventScrolling:O,noWheelClassName:D,noPanClassName:L},g.default.createElement(aZ,{onSelectionStart:m,onSelectionEnd:f,onPaneClick:t,onPaneMouseEnter:r,onPaneMouseMove:n,onPaneMouseLeave:a,onPaneContextMenu:s,onPaneScroll:i,panOnDrag:z,isSelecting:!!F,selectionMode:h},e,P&&g.default.createElement(sr,{onSelectionContextMenu:R,noPanClassName:L,disableKeyboardA11y:$})))};sa.displayName="FlowRenderer";var ss=(0,g.memo)(sa);function si(e){let t={input:se(e.input||aa),default:se(e.default||ar),output:se(e.output||ai),group:se(e.group||ao)},r=Object.keys(e).filter(e=>!["input","default","output","group"].includes(e)).reduce((t,r)=>(t[r]=se(e[r]||ar),t),{});return{...t,...r}}let so=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),sl=e=>{var t;let{nodesDraggable:r,nodesConnectable:n,nodesFocusable:a,elementsSelectable:s,updateNodeDimensions:i,onError:o}=nt(so,e$),l=(t=e.onlyRenderVisibleElements,nt((0,g.useCallback)(e=>t?nK(e.nodeInternals,{x:0,y:0,width:e.width,height:e.height},e.transform,!0):e.getNodes(),[t]))),c=(0,g.useRef)(),d=(0,g.useMemo)(()=>{if("u"<typeof ResizeObserver)return null;let e=new ResizeObserver(e=>{i(e.map(e=>({id:e.target.getAttribute("data-id"),nodeElement:e.target,forceUpdate:!0})))});return c.current=e,e},[]);return(0,g.useEffect)(()=>()=>{c?.current?.disconnect()},[]),g.default.createElement("div",{className:"react-flow__nodes",style:aP},l.map(t=>{let i,l=t.type||"default";e.nodeTypes[l]||(o?.("003",(i=l,`Node type "${i}" not found. Using fallback type "default".`)),l="default");let c=e.nodeTypes[l]||e.nodeTypes.default,u=!!(t.draggable||r&&void 0===t.draggable),p=!!(t.selectable||s&&void 0===t.selectable),h=!!(t.connectable||n&&void 0===t.connectable),m=!!(t.focusable||a&&void 0===t.focusable),x=e.nodeExtent?nc(t.positionAbsolute,e.nodeExtent):t.positionAbsolute,b=x?.x??0,v=x?.y??0,y=(({x:e,y:t,width:r,height:n,origin:a})=>!r||!n||a[0]<0||a[1]<0||a[0]>1||a[1]>1?{x:e,y:t}:{x:e-r*a[0],y:t-n*a[1]})({x:b,y:v,width:t.width??0,height:t.height??0,origin:e.nodeOrigin});return g.default.createElement(c,{key:t.id,id:t.id,className:t.className,style:t.style,type:l,data:t.data,sourcePosition:t.sourcePosition||f.Bottom,targetPosition:t.targetPosition||f.Top,hidden:t.hidden,xPos:b,yPos:v,xPosOrigin:y.x,yPosOrigin:y.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!t.selected,isDraggable:u,isSelectable:p,isConnectable:h,isFocusable:m,resizeObserver:d,dragHandle:t.dragHandle,zIndex:t[nv]?.z??0,isParent:!!t[nv]?.isParent,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!t.width&&!!t.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:t.ariaLabel,hasHandleBounds:!!t[nv]?.handleBounds})}))};sl.displayName="NodeRenderer";var sc=(0,g.memo)(sl);let sd="react-flow__edgeupdater",su=({position:e,centerX:t,centerY:r,radius:n=10,onMouseDown:a,onMouseEnter:s,onMouseOut:i,type:o})=>g.default.createElement("circle",{onMouseDown:a,onMouseEnter:s,onMouseOut:i,className:e_([sd,`${sd}-${o}`]),cx:e===f.Left?t-n:e===f.Right?t+n:t,cy:e===f.Top?r-n:e===f.Bottom?r+n:r,r:n,stroke:"transparent",fill:"transparent"}),sp=()=>!0;var sh=e=>{let t=({id:t,className:r,type:n,data:a,onClick:s,onEdgeDoubleClick:i,selected:o,animated:l,label:c,labelStyle:d,labelShowBg:u,labelBgStyle:p,labelBgPadding:h,labelBgBorderRadius:m,style:f,source:x,target:b,sourceX:v,sourceY:y,targetX:w,targetY:j,sourcePosition:N,targetPosition:E,elementsSelectable:S,hidden:k,sourceHandleId:_,targetHandleId:C,onContextMenu:M,onMouseEnter:T,onMouseMove:A,onMouseLeave:O,reconnectRadius:R,onReconnect:D,onReconnectStart:L,onReconnectEnd:$,markerEnd:P,markerStart:I,rfId:B,ariaLabel:z,isFocusable:q,isReconnectable:F,pathOptions:H,interactionWidth:U,disableKeyboardA11y:W})=>{let V=(0,g.useRef)(null),[Y,X]=(0,g.useState)(!1),[G,K]=(0,g.useState)(!1),Q=nr(),J=(0,g.useMemo)(()=>`url('#${nW(I,B)}')`,[I,B]),Z=(0,g.useMemo)(()=>`url('#${nW(P,B)}')`,[P,B]);if(k)return null;let ee=nk(t,Q.getState,i),et=nk(t,Q.getState,M),er=nk(t,Q.getState,T),en=nk(t,Q.getState,A),ea=nk(t,Q.getState,O),es=(e,r)=>{if(0!==e.button)return;let{edges:n,isValidConnection:a}=Q.getState(),s=r?b:x,i=(r?C:_)||null,o=r?"target":"source",l=n.find(e=>e.id===t);K(!0),L?.(e,l,o),n6({event:e,handleId:i,nodeId:s,onConnect:e=>D?.(l,e),isTarget:r,getState:Q.getState,setState:Q.setState,isValidConnection:a||sp,edgeUpdaterType:o,onReconnectEnd:e=>{K(!1),$?.(e,l,o)}})},ei=()=>X(!0),eo=()=>X(!1);return g.default.createElement("g",{className:e_(["react-flow__edge",`react-flow__edge-${n}`,r,{selected:o,animated:l,inactive:!S&&!s,updating:Y}]),onClick:e=>{let{edges:r,addSelectedEdges:n,unselectNodesAndEdges:a,multiSelectionActive:i}=Q.getState(),o=r.find(e=>e.id===t);o&&(S&&(Q.setState({nodesSelectionActive:!1}),o.selected&&i?(a({nodes:[],edges:[o]}),V.current?.blur()):n([t])),s&&s(e,o))},onDoubleClick:ee,onContextMenu:et,onMouseEnter:er,onMouseMove:en,onMouseLeave:ea,onKeyDown:q?e=>{if(!W&&ny.includes(e.key)&&S){let{unselectNodesAndEdges:r,addSelectedEdges:n,edges:a}=Q.getState();"Escape"===e.key?(V.current?.blur(),r({edges:[a.find(e=>e.id===t)]})):n([t])}}:void 0,tabIndex:q?0:void 0,role:q?"button":"img","data-testid":`rf__edge-${t}`,"aria-label":null===z?void 0:z||`Edge from ${x} to ${b}`,"aria-describedby":q?`${aw}-${B}`:void 0,ref:V},!G&&g.default.createElement(e,{id:t,source:x,target:b,selected:o,animated:l,label:c,labelStyle:d,labelShowBg:u,labelBgStyle:p,labelBgPadding:h,labelBgBorderRadius:m,data:a,style:f,sourceX:v,sourceY:y,targetX:w,targetY:j,sourcePosition:N,targetPosition:E,sourceHandleId:_,targetHandleId:C,markerStart:J,markerEnd:Z,pathOptions:H,interactionWidth:U}),F&&g.default.createElement(g.default.Fragment,null,("source"===F||!0===F)&&g.default.createElement(su,{position:N,centerX:v,centerY:y,radius:R,onMouseDown:e=>es(e,!0),onMouseEnter:ei,onMouseOut:eo,type:"source"}),("target"===F||!0===F)&&g.default.createElement(su,{position:E,centerX:w,centerY:j,radius:R,onMouseDown:e=>es(e,!1),onMouseEnter:ei,onMouseOut:eo,type:"target"})))};return t.displayName="EdgeWrapper",(0,g.memo)(t)};function sm(e){let t={default:sh(e.default||nF),straight:sh(e.bezier||nI),step:sh(e.step||nP),smoothstep:sh(e.step||n$),simplebezier:sh(e.simplebezier||nA)},r=Object.keys(e).filter(e=>!["default","bezier"].includes(e)).reduce((t,r)=>(t[r]=sh(e[r]||nF),t),{});return{...t,...r}}function sf(e,t,r=null){let n=(r?.x||0)+t.x,a=(r?.y||0)+t.y,s=r?.width||t.width,i=r?.height||t.height;switch(e){case f.Top:return{x:n+s/2,y:a};case f.Right:return{x:n+s,y:a+i/2};case f.Bottom:return{x:n+s/2,y:a+i};case f.Left:return{x:n,y:a+i/2}}}function sx(e,t){return e?1!==e.length&&t?t&&e.find(e=>e.id===t)||null:e[0]:null}function sb(e){let t=e?.[nv]?.handleBounds||null,r=t&&e?.width&&e?.height&&void 0!==e?.positionAbsolute?.x&&void 0!==e?.positionAbsolute?.y;return[{x:e?.positionAbsolute?.x||0,y:e?.positionAbsolute?.y||0,width:e?.width||0,height:e?.height||0},t,!!r]}let sg=[{level:0,isMaxLevel:!0,edges:[]}],sv={[m.Arrow]:({color:e="none",strokeWidth:t=1})=>g.default.createElement("polyline",{style:{stroke:e,strokeWidth:t},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),[m.ArrowClosed]:({color:e="none",strokeWidth:t=1})=>g.default.createElement("polyline",{style:{stroke:e,fill:e,strokeWidth:t},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},sy=({id:e,type:t,color:r,width:n=12.5,height:a=12.5,markerUnits:s="strokeWidth",strokeWidth:i,orient:o="auto-start-reverse"})=>{let l,c=(l=nr(),(0,g.useMemo)(()=>{let e;return Object.prototype.hasOwnProperty.call(sv,t)?sv[t]:(l.getState().onError?.("009",(e=t,`Marker type "${e}" doesn't exist.`)),null)},[t]));return c?g.default.createElement("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${n}`,markerHeight:`${a}`,viewBox:"-10 -10 20 20",markerUnits:s,orient:o,refX:"0",refY:"0"},g.default.createElement(c,{color:r,strokeWidth:i})):null},sw=({defaultColor:e,rfId:t})=>{let r=nt((0,g.useCallback)((({defaultColor:e,rfId:t})=>r=>{let n=[];return r.edges.reduce((r,a)=>([a.markerStart,a.markerEnd].forEach(a=>{if(a&&"object"==typeof a){let s=nW(a,t);n.includes(s)||(r.push({id:s,color:a.color||e,...a}),n.push(s))}}),r),[]).sort((e,t)=>e.id.localeCompare(t.id))})({defaultColor:e,rfId:t}),[e,t]),(e,t)=>!(e.length!==t.length||e.some((e,r)=>e.id!==t[r].id)));return g.default.createElement("defs",null,r.map(e=>g.default.createElement(sy,{id:e.id,key:e.id,type:e.type,color:e.color,width:e.width,height:e.height,markerUnits:e.markerUnits,strokeWidth:e.strokeWidth,orient:e.orient})))};sw.displayName="MarkerDefinitions";var sj=(0,g.memo)(sw);let sN=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),sE=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:r,rfId:n,edgeTypes:a,noPanClassName:s,onEdgeContextMenu:i,onEdgeMouseEnter:o,onEdgeMouseMove:l,onEdgeMouseLeave:c,onEdgeClick:u,onEdgeDoubleClick:p,onReconnect:h,onReconnectStart:m,onReconnectEnd:x,reconnectRadius:b,children:v,disableKeyboardA11y:y})=>{let{edgesFocusable:w,edgesUpdatable:j,elementsSelectable:N,width:E,height:S,connectionMode:k,nodeInternals:_,onError:C}=nt(sN,e$),M=function(e,t,r=!1){let n=-1,a=Object.entries(e.reduce((e,a)=>{let s=ng(a.zIndex),i=s?a.zIndex:0;if(r){let e=t.get(a.target),r=t.get(a.source),n=a.selected||e?.selected||r?.selected,o=Math.max(r?.[nv]?.z||0,e?.[nv]?.z||0,1e3);i=(s?a.zIndex:0)+(n?o:0)}return e[i]?e[i].push(a):e[i]=[a],n=i>n?i:n,e},{})).map(([e,t])=>{let r=+e;return{edges:t,level:r,isMaxLevel:r===n}});return 0===a.length?sg:a}(nt((0,g.useCallback)(e=>t?e.edges.filter(t=>{let r=_.get(t.source),n=_.get(t.target);return r?.width&&r?.height&&n?.width&&n?.height&&function({sourcePos:e,targetPos:t,sourceWidth:r,sourceHeight:n,targetWidth:a,targetHeight:s,width:i,height:o,transform:l}){let c={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+r,t.x+a),y2:Math.max(e.y+n,t.y+s)};c.x===c.x2&&(c.x2+=1),c.y===c.y2&&(c.y2+=1);let d=nm({x:(0-l[0])/l[2],y:(0-l[1])/l[2],width:i/l[2],height:o/l[2]});return Math.ceil(Math.max(0,Math.min(d.x2,c.x2)-Math.max(d.x,c.x))*Math.max(0,Math.min(d.y2,c.y2)-Math.max(d.y,c.y)))>0}({sourcePos:r.positionAbsolute||{x:0,y:0},targetPos:n.positionAbsolute||{x:0,y:0},sourceWidth:r.width,sourceHeight:r.height,targetWidth:n.width,targetHeight:n.height,width:e.width,height:e.height,transform:e.transform})}):e.edges,[t,_])),_,r);return E?g.default.createElement(g.default.Fragment,null,M.map(({level:t,edges:r,isMaxLevel:v})=>g.default.createElement("svg",{key:t,style:{zIndex:t},width:E,height:S,className:"react-flow__edges react-flow__container"},v&&g.default.createElement(sj,{defaultColor:e,rfId:n}),g.default.createElement("g",null,r.map(e=>{let t,r,v,[E,S,M]=sb(_.get(e.source)),[T,A,O]=sb(_.get(e.target));if(!M||!O)return null;let R=e.type||"default";a[R]||(C?.("011",(t=R,`Edge type "${t}" not found. Using fallback type "default".`)),R="default");let D=a[R]||a.default,L=k===d.Strict?A.target:(A.target??[]).concat(A.source??[]),$=sx(S.source,e.sourceHandle),P=sx(L,e.targetHandle),I=$?.position||f.Bottom,B=P?.position||f.Top,z=!!(e.focusable||w&&void 0===e.focusable),q=e.reconnectable||e.updatable;if(!$||!P){let t,r;return C?.("008",(t=$,r=e,`Couldn't create edge for ${!t?"source":"target"} handle id: "${!t?r.sourceHandle:r.targetHandle}", edge id: ${r.id}.`)),null}let{sourceX:F,sourceY:H,targetX:U,targetY:W}=(r=sf(I,E,$),v=sf(B,T,P),{sourceX:r.x,sourceY:r.y,targetX:v.x,targetY:v.y});return g.default.createElement(D,{key:e.id,id:e.id,className:e_([e.className,s]),type:R,data:e.data,selected:!!e.selected,animated:!!e.animated,hidden:!!e.hidden,label:e.label,labelStyle:e.labelStyle,labelShowBg:e.labelShowBg,labelBgStyle:e.labelBgStyle,labelBgPadding:e.labelBgPadding,labelBgBorderRadius:e.labelBgBorderRadius,style:e.style,source:e.source,target:e.target,sourceHandleId:e.sourceHandle,targetHandleId:e.targetHandle,markerEnd:e.markerEnd,markerStart:e.markerStart,sourceX:F,sourceY:H,targetX:U,targetY:W,sourcePosition:I,targetPosition:B,elementsSelectable:N,onContextMenu:i,onMouseEnter:o,onMouseMove:l,onMouseLeave:c,onClick:u,onEdgeDoubleClick:p,onReconnect:h,onReconnectStart:m,onReconnectEnd:x,reconnectRadius:b,rfId:n,ariaLabel:e.ariaLabel,isFocusable:z,isReconnectable:void 0!==h&&(q||j&&void 0===q),pathOptions:"pathOptions"in e?e.pathOptions:void 0,interactionWidth:e.interactionWidth,disableKeyboardA11y:y})})))),v):null};sE.displayName="EdgeRenderer";var sS=(0,g.memo)(sE);let sk=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function s_({children:e}){let t=nt(sk);return g.default.createElement("div",{className:"react-flow__viewport react-flow__container",style:{transform:t}},e)}let sC={[f.Left]:f.Right,[f.Right]:f.Left,[f.Top]:f.Bottom,[f.Bottom]:f.Top},sM=({nodeId:e,handleType:t,style:r,type:n=h.Bezier,CustomComponent:a,connectionStatus:s})=>{let{fromNode:i,handleId:o,toX:l,toY:c,connectionMode:u}=nt((0,g.useCallback)(t=>({fromNode:t.nodeInternals.get(e),handleId:t.connectionHandleId,toX:(t.connectionPosition.x-t.transform[0])/t.transform[2],toY:(t.connectionPosition.y-t.transform[1])/t.transform[2],connectionMode:t.connectionMode}),[e]),e$),p=i?.[nv]?.handleBounds,m=p?.[t];if(u===d.Loose&&(m=m||p?.["source"===t?"target":"source"]),!i||!m)return null;let f=o?m.find(e=>e.id===o):m[0],x=f?f.x+f.width/2:(i.width??0)/2,b=f?f.y+f.height/2:i.height??0,v=(i.positionAbsolute?.x??0)+x,y=(i.positionAbsolute?.y??0)+b,w=f?.position,j=w?sC[w]:null;if(!w||!j)return null;if(a)return g.default.createElement(a,{connectionLineType:n,connectionLineStyle:r,fromNode:i,fromHandle:f,fromX:v,fromY:y,toX:l,toY:c,fromPosition:w,toPosition:j,connectionStatus:s});let N="",E={sourceX:v,sourceY:y,sourcePosition:w,targetX:l,targetY:c,targetPosition:j};return n===h.Bezier?[N]=nq(E):n===h.Step?[N]=nL({...E,borderRadius:0}):n===h.SmoothStep?[N]=nL(E):n===h.SimpleBezier?[N]=nT(E):N=`M${v},${y} ${l},${c}`,g.default.createElement("path",{d:N,fill:"none",className:"react-flow__connection-path",style:r})};sM.displayName="ConnectionLine";let sT=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function sA({containerStyle:e,style:t,type:r,component:n}){let{nodeId:a,handleType:s,nodesConnectable:i,width:o,height:l,connectionStatus:c}=nt(sT,e$);return a&&s&&o&&i?g.default.createElement("svg",{style:e,width:o,height:l,className:"react-flow__edges react-flow__connectionline react-flow__container"},g.default.createElement("g",{className:e_(["react-flow__connection",c])},g.default.createElement(sM,{nodeId:a,handleType:s,style:t,type:r,CustomComponent:n,connectionStatus:c}))):null}function sO(e,t){return(0,g.useRef)(null),nr(),(0,g.useMemo)(()=>t(e),[e])}let sR=({nodeTypes:e,edgeTypes:t,onMove:r,onMoveStart:n,onMoveEnd:a,onInit:s,onNodeClick:i,onEdgeClick:o,onNodeDoubleClick:l,onEdgeDoubleClick:c,onNodeMouseEnter:d,onNodeMouseMove:u,onNodeMouseLeave:p,onNodeContextMenu:h,onSelectionContextMenu:m,onSelectionStart:f,onSelectionEnd:x,connectionLineType:b,connectionLineStyle:v,connectionLineComponent:y,connectionLineContainerStyle:w,selectionKeyCode:j,selectionOnDrag:N,selectionMode:E,multiSelectionKeyCode:S,panActivationKeyCode:k,zoomActivationKeyCode:_,deleteKeyCode:C,onlyRenderVisibleElements:M,elementsSelectable:T,selectNodesOnDrag:A,defaultViewport:O,translateExtent:R,minZoom:D,maxZoom:L,preventScrolling:$,defaultMarkerColor:P,zoomOnScroll:I,zoomOnPinch:B,panOnScroll:z,panOnScrollSpeed:q,panOnScrollMode:F,zoomOnDoubleClick:H,panOnDrag:U,onPaneClick:W,onPaneMouseEnter:V,onPaneMouseMove:Y,onPaneMouseLeave:X,onPaneScroll:G,onPaneContextMenu:K,onEdgeContextMenu:Q,onEdgeMouseEnter:J,onEdgeMouseMove:Z,onEdgeMouseLeave:ee,onReconnect:et,onReconnectStart:er,onReconnectEnd:en,reconnectRadius:ea,noDragClassName:es,noWheelClassName:ei,noPanClassName:eo,elevateEdgesOnSelect:el,disableKeyboardA11y:ec,nodeOrigin:ed,nodeExtent:eu,rfId:ep})=>{let eh,em,ef=sO(e,si),ex=sO(t,sm);return eh=aL(),em=(0,g.useRef)(!1),(0,g.useEffect)(()=>{!em.current&&eh.viewportInitialized&&s&&(setTimeout(()=>s(eh),1),em.current=!0)},[s,eh.viewportInitialized]),g.default.createElement(ss,{onPaneClick:W,onPaneMouseEnter:V,onPaneMouseMove:Y,onPaneMouseLeave:X,onPaneContextMenu:K,onPaneScroll:G,deleteKeyCode:C,selectionKeyCode:j,selectionOnDrag:N,selectionMode:E,onSelectionStart:f,onSelectionEnd:x,multiSelectionKeyCode:S,panActivationKeyCode:k,zoomActivationKeyCode:_,elementsSelectable:T,onMove:r,onMoveStart:n,onMoveEnd:a,zoomOnScroll:I,zoomOnPinch:B,zoomOnDoubleClick:H,panOnScroll:z,panOnScrollSpeed:q,panOnScrollMode:F,panOnDrag:U,defaultViewport:O,translateExtent:R,minZoom:D,maxZoom:L,onSelectionContextMenu:m,preventScrolling:$,noDragClassName:es,noWheelClassName:ei,noPanClassName:eo,disableKeyboardA11y:ec},g.default.createElement(s_,null,g.default.createElement(sS,{edgeTypes:ex,onEdgeClick:o,onEdgeDoubleClick:c,onlyRenderVisibleElements:M,onEdgeContextMenu:Q,onEdgeMouseEnter:J,onEdgeMouseMove:Z,onEdgeMouseLeave:ee,onReconnect:et,onReconnectStart:er,onReconnectEnd:en,reconnectRadius:ea,defaultMarkerColor:P,noPanClassName:eo,elevateEdgesOnSelect:!!el,disableKeyboardA11y:ec,rfId:ep},g.default.createElement(sA,{style:v,type:b,component:y,containerStyle:w})),g.default.createElement("div",{className:"react-flow__edgelabel-renderer"}),g.default.createElement(sc,{nodeTypes:ef,onNodeClick:i,onNodeDoubleClick:l,onNodeMouseEnter:d,onNodeMouseMove:u,onNodeMouseLeave:p,onNodeContextMenu:h,selectNodesOnDrag:A,onlyRenderVisibleElements:M,noPanClassName:eo,noDragClassName:es,disableKeyboardA11y:ec,nodeOrigin:ed,nodeExtent:eu,rfId:ep})))};sR.displayName="GraphView";var sD=(0,g.memo)(sR);let sL=[[-1/0,-1/0],[1/0,1/0]],s$={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:sL,nodeExtent:sL,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:d.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],nodeDragThreshold:0,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,onSelectionChange:[],multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:nw,isValidConnection:void 0},sP=({children:e})=>{let t,r,n=(0,g.useRef)(null);return n.current||(t=(e,t)=>({...s$,setNodes:r=>{let{nodeInternals:n,nodeOrigin:a,elevateNodesOnSelect:s}=t();e({nodeInternals:aM(r,n,a,s)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:r=>{let{defaultEdgeOptions:n={}}=t();e({edges:r.map(e=>({...n,...e}))})},setDefaultNodesAndEdges:(r,n)=>{let a=void 0!==r,s=void 0!==n;e({nodeInternals:a?aM(r,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map,edges:s?n:[],hasDefaultNodes:a,hasDefaultEdges:s})},updateNodeDimensions:r=>{let{onNodesChange:n,nodeInternals:a,fitViewOnInit:s,fitViewOnInitDone:i,fitViewOnInitOptions:o,domNode:l,nodeOrigin:c}=t(),d=l?.querySelector(".react-flow__viewport");if(!d)return;let u=window.getComputedStyle(d),{m22:p}=new window.DOMMatrixReadOnly(u.transform),h=r.reduce((e,t)=>{let r=a.get(t.id);if(r?.hidden)a.set(r.id,{...r,[nv]:{...r[nv],handleBounds:void 0}});else if(r){let n=no(t.nodeElement);n.width&&n.height&&(r.width!==n.width||r.height!==n.height||t.forceUpdate)&&(a.set(r.id,{...r,[nv]:{...r[nv],handleBounds:{source:a5(".source",t.nodeElement,p,c),target:a5(".target",t.nodeElement,p,c)}},...n}),e.push({id:r.id,type:"dimensions",dimensions:n}))}return e},[]);aC(a,c);let m=i||s&&!i&&aT(t,{initial:!0,...o});e({nodeInternals:new Map(a),fitViewOnInitDone:m}),h?.length>0&&n?.(h)},updateNodePositions:(e,r=!0,n=!1)=>{let{triggerNodeChanges:a}=t();a(e.map(e=>{let t={id:e.id,type:"position",dragging:n};return r&&(t.positionAbsolute=e.positionAbsolute,t.position=e.position),t}))},triggerNodeChanges:r=>{let{onNodesChange:n,nodeInternals:a,hasDefaultNodes:s,nodeOrigin:i,getNodes:o,elevateNodesOnSelect:l}=t();r?.length&&(s&&e({nodeInternals:aM(aX(r,o()),a,i,l)}),n?.(r))},addSelectedNodes:r=>{let n,{multiSelectionActive:a,edges:s,getNodes:i}=t(),o=null;a?n=r.map(e=>aG(e,!0)):(n=aK(i(),r),o=aK(s,[])),aA({changedNodes:n,changedEdges:o,get:t,set:e})},addSelectedEdges:r=>{let n,{multiSelectionActive:a,edges:s,getNodes:i}=t(),o=null;a?n=r.map(e=>aG(e,!0)):(n=aK(s,r),o=aK(i(),[])),aA({changedNodes:o,changedEdges:n,get:t,set:e})},unselectNodesAndEdges:({nodes:r,edges:n}={})=>{let{edges:a,getNodes:s}=t();aA({changedNodes:(r||s()).map(e=>(e.selected=!1,aG(e.id,!1))),changedEdges:(n||a).map(e=>aG(e.id,!1)),get:t,set:e})},setMinZoom:r=>{let{d3Zoom:n,maxZoom:a}=t();n?.scaleExtent([r,a]),e({minZoom:r})},setMaxZoom:r=>{let{d3Zoom:n,minZoom:a}=t();n?.scaleExtent([a,r]),e({maxZoom:r})},setTranslateExtent:r=>{t().d3Zoom?.translateExtent(r),e({translateExtent:r})},resetSelectedElements:()=>{let{edges:r,getNodes:n}=t();aA({changedNodes:n().filter(e=>e.selected).map(e=>aG(e.id,!1)),changedEdges:r.filter(e=>e.selected).map(e=>aG(e.id,!1)),get:t,set:e})},setNodeExtent:r=>{let{nodeInternals:n}=t();n.forEach(e=>{e.positionAbsolute=nc(e.position,r)}),e({nodeExtent:r,nodeInternals:new Map(n)})},panBy:e=>{let{transform:r,width:n,height:a,d3Zoom:s,d3Selection:i,translateExtent:o}=t();if(!s||!i||!e.x&&!e.y)return!1;let l=rV.translate(r[0]+e.x,r[1]+e.y).scale(r[2]),c=s?.constrain()(l,[[0,0],[n,a]],o);return s.transform(i,c),r[0]!==c.x||r[1]!==c.y||r[2]!==c.k},cancelConnection:()=>e({connectionNodeId:s$.connectionNodeId,connectionHandleId:s$.connectionHandleId,connectionHandleType:s$.connectionHandleType,connectionStatus:s$.connectionStatus,connectionStartHandle:s$.connectionStartHandle,connectionEndHandle:s$.connectionEndHandle}),reset:()=>e({...s$})}),r=Object.is,n.current=t?eL(t,r):eL),g.default.createElement(r8,{value:n.current},e)};sP.displayName="ReactFlowProvider";let sI=({children:e})=>(0,g.useContext)(r7)?g.default.createElement(g.default.Fragment,null,e):g.default.createElement(sP,null,e);sI.displayName="ReactFlowWrapper";let sB={input:aa,default:ar,output:ai,group:ao},sz={default:nF,straight:nI,step:nP,smoothstep:n$,simplebezier:nA},sq=[0,0],sF=[15,15],sH={x:0,y:0,zoom:1},sU={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},sW=(0,g.forwardRef)(({nodes:e,edges:t,defaultNodes:r,defaultEdges:n,className:a,nodeTypes:s=sB,edgeTypes:i=sz,onNodeClick:o,onEdgeClick:l,onInit:c,onMove:m,onMoveStart:f,onMoveEnd:x,onConnect:b,onConnectStart:v,onConnectEnd:y,onClickConnectStart:w,onClickConnectEnd:j,onNodeMouseEnter:N,onNodeMouseMove:E,onNodeMouseLeave:S,onNodeContextMenu:k,onNodeDoubleClick:_,onNodeDragStart:C,onNodeDrag:M,onNodeDragStop:T,onNodesDelete:A,onEdgesDelete:O,onSelectionChange:R,onSelectionDragStart:D,onSelectionDrag:L,onSelectionDragStop:$,onSelectionContextMenu:P,onSelectionStart:I,onSelectionEnd:B,connectionMode:z=d.Strict,connectionLineType:q=h.Bezier,connectionLineStyle:F,connectionLineComponent:H,connectionLineContainerStyle:U,deleteKeyCode:W="Backspace",selectionKeyCode:V="Shift",selectionOnDrag:Y=!1,selectionMode:X=p.Full,panActivationKeyCode:G="Space",multiSelectionKeyCode:K=nE()?"Meta":"Control",zoomActivationKeyCode:Q=nE()?"Meta":"Control",snapToGrid:J=!1,snapGrid:Z=sF,onlyRenderVisibleElements:ee=!1,selectNodesOnDrag:et=!0,nodesDraggable:er,nodesConnectable:en,nodesFocusable:ea,nodeOrigin:es=sq,edgesFocusable:ei,edgesUpdatable:eo,elementsSelectable:el,defaultViewport:ec=sH,minZoom:ed=.5,maxZoom:eu=2,translateExtent:ep=sL,preventScrolling:eh=!0,nodeExtent:em,defaultMarkerColor:ef="#b1b1b7",zoomOnScroll:ex=!0,zoomOnPinch:eb=!0,panOnScroll:eg=!1,panOnScrollSpeed:ev=.5,panOnScrollMode:ey=u.Free,zoomOnDoubleClick:ew=!0,panOnDrag:ej=!0,onPaneClick:eN,onPaneMouseEnter:eE,onPaneMouseMove:eS,onPaneMouseLeave:ek,onPaneScroll:eC,onPaneContextMenu:eM,children:eT,onEdgeContextMenu:eA,onEdgeDoubleClick:eO,onEdgeMouseEnter:eR,onEdgeMouseMove:eD,onEdgeMouseLeave:eL,onEdgeUpdate:e$,onEdgeUpdateStart:eP,onEdgeUpdateEnd:eI,onReconnect:eB,onReconnectStart:ez,onReconnectEnd:eq,reconnectRadius:eF=10,edgeUpdaterRadius:eH=10,onNodesChange:eU,onEdgesChange:eW,noDragClassName:eV="nodrag",noWheelClassName:eY="nowheel",noPanClassName:eX="nopan",fitView:eG=!1,fitViewOptions:eK,connectOnClick:eQ=!0,attributionPosition:eJ,proOptions:eZ,defaultEdgeOptions:e0,elevateNodesOnSelect:e1=!0,elevateEdgesOnSelect:e2=!1,disableKeyboardA11y:e5=!1,autoPanOnConnect:e3=!0,autoPanOnNodeDrag:e4=!0,connectionRadius:e6=20,isValidConnection:e9,onError:e7,style:e8,id:te,nodeDragThreshold:tt,...tr},tn)=>{let ta=te||"1";return g.default.createElement("div",{...tr,style:{...e8,...sU},ref:tn,className:e_(["react-flow",a]),"data-testid":"rf__wrapper",id:te},g.default.createElement(sI,null,g.default.createElement(sD,{onInit:c,onMove:m,onMoveStart:f,onMoveEnd:x,onNodeClick:o,onEdgeClick:l,onNodeMouseEnter:N,onNodeMouseMove:E,onNodeMouseLeave:S,onNodeContextMenu:k,onNodeDoubleClick:_,nodeTypes:s,edgeTypes:i,connectionLineType:q,connectionLineStyle:F,connectionLineComponent:H,connectionLineContainerStyle:U,selectionKeyCode:V,selectionOnDrag:Y,selectionMode:X,deleteKeyCode:W,multiSelectionKeyCode:K,panActivationKeyCode:G,zoomActivationKeyCode:Q,onlyRenderVisibleElements:ee,selectNodesOnDrag:et,defaultViewport:ec,translateExtent:ep,minZoom:ed,maxZoom:eu,preventScrolling:eh,zoomOnScroll:ex,zoomOnPinch:eb,zoomOnDoubleClick:ew,panOnScroll:eg,panOnScrollSpeed:ev,panOnScrollMode:ey,panOnDrag:ej,onPaneClick:eN,onPaneMouseEnter:eE,onPaneMouseMove:eS,onPaneMouseLeave:ek,onPaneScroll:eC,onPaneContextMenu:eM,onSelectionContextMenu:P,onSelectionStart:I,onSelectionEnd:B,onEdgeContextMenu:eA,onEdgeDoubleClick:eO,onEdgeMouseEnter:eR,onEdgeMouseMove:eD,onEdgeMouseLeave:eL,onReconnect:eB??e$,onReconnectStart:ez??eP,onReconnectEnd:eq??eI,reconnectRadius:eF??eH,defaultMarkerColor:ef,noDragClassName:eV,noWheelClassName:eY,noPanClassName:eX,elevateEdgesOnSelect:e2,rfId:ta,disableKeyboardA11y:e5,nodeOrigin:es,nodeExtent:em}),g.default.createElement(ab,{nodes:e,edges:t,defaultNodes:r,defaultEdges:n,onConnect:b,onConnectStart:v,onConnectEnd:y,onClickConnectStart:w,onClickConnectEnd:j,nodesDraggable:er,nodesConnectable:en,nodesFocusable:ea,edgesFocusable:ei,edgesUpdatable:eo,elementsSelectable:el,elevateNodesOnSelect:e1,minZoom:ed,maxZoom:eu,nodeExtent:em,onNodesChange:eU,onEdgesChange:eW,snapToGrid:J,snapGrid:Z,connectionMode:z,translateExtent:ep,connectOnClick:eQ,defaultEdgeOptions:e0,fitView:eG,fitViewOptions:eK,onNodesDelete:A,onEdgesDelete:O,onNodeDragStart:C,onNodeDrag:M,onNodeDragStop:T,onSelectionDrag:L,onSelectionDragStart:D,onSelectionDragStop:$,noPanClassName:eX,nodeOrigin:es,rfId:ta,autoPanOnConnect:e3,autoPanOnNodeDrag:e4,onError:e7,connectionRadius:e6,isValidConnection:e9,nodeDragThreshold:tt}),g.default.createElement(ah,{onSelectionChange:R}),eT,g.default.createElement(ns,{proOptions:eZ,position:eJ}),g.default.createElement(aE,{rfId:ta,disableKeyboardA11y:e5})))});function sV(e){return t=>{let[r,n]=(0,g.useState)(t),a=(0,g.useCallback)(t=>n(r=>e(t,r)),[]);return[r,n,a]}}sW.displayName="ReactFlow";let sY=sV(aX),sX=sV(function(e,t){return aY(e,t)});function sG({color:e,dimensions:t,lineWidth:r}){return g.default.createElement("path",{stroke:e,strokeWidth:r,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function sK({color:e,radius:t}){return g.default.createElement("circle",{cx:t,cy:t,r:t,fill:e})}(o=x||(x={})).Lines="lines",o.Dots="dots",o.Cross="cross";let sQ={[x.Dots]:"#91919a",[x.Lines]:"#eee",[x.Cross]:"#e2e2e2"},sJ={[x.Dots]:1,[x.Lines]:1,[x.Cross]:6},sZ=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function s0({id:e,variant:t=x.Dots,gap:r=20,size:n,lineWidth:a=1,offset:s=2,color:i,style:o,className:l}){let c=(0,g.useRef)(null),{transform:d,patternId:u}=nt(sZ,e$),p=i||sQ[t],h=n||sJ[t],m=t===x.Dots,f=t===x.Cross,b=Array.isArray(r)?r:[r,r],v=[b[0]*d[2]||1,b[1]*d[2]||1],y=h*d[2],w=f?[y,y]:v,j=m?[y/s,y/s]:[w[0]/s,w[1]/s];return g.default.createElement("svg",{className:e_(["react-flow__background",l]),style:{...o,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:c,"data-testid":"rf__background"},g.default.createElement("pattern",{id:u+e,x:d[0]%v[0],y:d[1]%v[1],width:v[0],height:v[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${j[0]},-${j[1]})`},m?g.default.createElement(sK,{color:p,radius:y/s}):g.default.createElement(sG,{dimensions:w,color:p,lineWidth:a})),g.default.createElement("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${u+e})`}))}s0.displayName="Background";var s1=(0,g.memo)(s0);function s2(){return g.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},g.default.createElement("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"}))}function s5(){return g.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},g.default.createElement("path",{d:"M0 0h32v4.2H0z"}))}function s3(){return g.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},g.default.createElement("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"}))}function s4(){return g.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},g.default.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"}))}function s6(){return g.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},g.default.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"}))}let s9=({children:e,className:t,...r})=>g.default.createElement("button",{type:"button",className:e_(["react-flow__controls-button",t]),...r},e);s9.displayName="ControlButton";let s7=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom}),s8=({style:e,showZoom:t=!0,showFitView:r=!0,showInteractive:n=!0,fitViewOptions:a,onZoomIn:s,onZoomOut:i,onFitView:o,onInteractiveChange:l,className:c,children:d,position:u="bottom-left"})=>{let p=nr(),[h,m]=(0,g.useState)(!1),{isInteractive:f,minZoomReached:x,maxZoomReached:b}=nt(s7,e$),{zoomIn:v,zoomOut:y,fitView:w}=aL();return((0,g.useEffect)(()=>{m(!0)},[]),h)?g.default.createElement(na,{className:e_(["react-flow__controls",c]),position:u,style:e,"data-testid":"rf__controls"},t&&g.default.createElement(g.default.Fragment,null,g.default.createElement(s9,{onClick:()=>{v(),s?.()},className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",disabled:b},g.default.createElement(s2,null)),g.default.createElement(s9,{onClick:()=>{y(),i?.()},className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",disabled:x},g.default.createElement(s5,null))),r&&g.default.createElement(s9,{className:"react-flow__controls-fitview",onClick:()=>{w(a),o?.()},title:"fit view","aria-label":"fit view"},g.default.createElement(s3,null)),n&&g.default.createElement(s9,{className:"react-flow__controls-interactive",onClick:()=>{p.setState({nodesDraggable:!f,nodesConnectable:!f,elementsSelectable:!f}),l?.(!f)},title:"toggle interactivity","aria-label":"toggle interactivity"},f?g.default.createElement(s6,null):g.default.createElement(s4,null)),d):null};s8.displayName="Controls";var ie=(0,g.memo)(s8);let it=({id:e,x:t,y:r,width:n,height:a,style:s,color:i,strokeColor:o,strokeWidth:l,className:c,borderRadius:d,shapeRendering:u,onClick:p,selected:h})=>{let{background:m,backgroundColor:f}=s||{};return g.default.createElement("rect",{className:e_(["react-flow__minimap-node",{selected:h},c]),x:t,y:r,rx:d,ry:d,width:n,height:a,fill:i||m||f,stroke:o,strokeWidth:l,shapeRendering:u,onClick:p?t=>p(t,e):void 0})};it.displayName="MiniMapNode";var ir=(0,g.memo)(it);let ia=e=>e.nodeOrigin,is=e=>e.getNodes().filter(e=>!e.hidden&&e.width&&e.height),ii=e=>e instanceof Function?e:()=>e;var io=(0,g.memo)(function({nodeStrokeColor:e="transparent",nodeColor:t="#e2e2e2",nodeClassName:r="",nodeBorderRadius:n=5,nodeStrokeWidth:a=2,nodeComponent:s=ir,onClick:i}){let o=nt(is,e$),l=nt(ia),c=ii(t),d=ii(e),u=ii(r),p="u"<typeof window||window.chrome?"crispEdges":"geometricPrecision";return g.default.createElement(g.default.Fragment,null,o.map(e=>{let{x:t,y:r}=nX(e,l).positionAbsolute;return g.default.createElement(s,{key:e.id,x:t,y:r,width:e.width,height:e.height,style:e.style,selected:e.selected,className:u(e),color:c(e),borderRadius:n,strokeColor:d(e),strokeWidth:a,shapeRendering:p,onClick:i,id:e.id})}))});let il=e=>{let t,r=e.getNodes(),n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:r.length>0?(t=nG(r,e.nodeOrigin),nf(nh(nm(t),nm(n)))):n,rfId:e.rfId}};function ic({style:e,className:t,nodeStrokeColor:r="transparent",nodeColor:n="#e2e2e2",nodeClassName:a="",nodeBorderRadius:s=5,nodeStrokeWidth:i=2,nodeComponent:o,maskColor:l="rgb(240, 240, 240, 0.6)",maskStrokeColor:c="none",maskStrokeWidth:d=1,position:u="bottom-right",onClick:p,onNodeClick:h,pannable:m=!1,zoomable:f=!1,ariaLabel:x="React Flow mini map",inversePan:b=!1,zoomStep:v=10,offsetScale:y=5}){let w=nr(),j=(0,g.useRef)(null),{boundingRect:N,viewBB:E,rfId:S}=nt(il,e$),k=e?.width??200,_=e?.height??150,C=Math.max(N.width/k,N.height/_),M=C*k,T=C*_,A=y*C,O=N.x-(M-N.width)/2-A,R=N.y-(T-N.height)/2-A,D=M+2*A,L=T+2*A,$=`react-flow__minimap-desc-${S}`,P=(0,g.useRef)(0);P.current=C,(0,g.useEffect)(()=>{if(j.current){let e=tg(j.current),t=r1().on("zoom",m?e=>{let{transform:t,d3Selection:r,d3Zoom:n,translateExtent:a,width:s,height:i}=w.getState();if("mousemove"!==e.sourceEvent.type||!r||!n)return;let o=P.current*Math.max(1,t[2])*(b?-1:1),l={x:t[0]-e.sourceEvent.movementX*o,y:t[1]-e.sourceEvent.movementY*o},c=rV.translate(l.x,l.y).scale(t[2]),d=n.constrain()(c,[[0,0],[s,i]],a);n.transform(r,d)}:null).on("zoom.wheel",f?e=>{let{transform:t,d3Selection:r,d3Zoom:n}=w.getState();if("wheel"!==e.sourceEvent.type||!r||!n)return;let a=-e.sourceEvent.deltaY*(1===e.sourceEvent.deltaMode?.05:e.sourceEvent.deltaMode?1:.002)*v,s=t[2]*Math.pow(2,a);n.scaleTo(r,s)}:null);return e.call(t),()=>{e.on("zoom",null)}}},[m,f,b,v]);let I=p?e=>{let t=t_(e);p(e,{x:t[0],y:t[1]})}:void 0,B=h?(e,t)=>{h(e,w.getState().nodeInternals.get(t))}:void 0;return g.default.createElement(na,{position:u,style:e,className:e_(["react-flow__minimap",t]),"data-testid":"rf__minimap"},g.default.createElement("svg",{width:k,height:_,viewBox:`${O} ${R} ${D} ${L}`,role:"img","aria-labelledby":$,ref:j,onClick:I},x&&g.default.createElement("title",{id:$},x),g.default.createElement(io,{onClick:B,nodeColor:n,nodeStrokeColor:r,nodeBorderRadius:s,nodeClassName:a,nodeStrokeWidth:i,nodeComponent:o}),g.default.createElement("path",{className:"react-flow__minimap-mask",d:`M${O-A},${R-A}h${D+2*A}v${L+2*A}h${-D-2*A}z
10
- M${E.x},${E.y}h${E.width}v${E.height}h${-E.width}z`,fill:l,fillRule:"evenodd",stroke:c,strokeWidth:d,pointerEvents:"none"})))}ic.displayName="MiniMap";var id=(0,g.memo)(ic),iu=e.i(39669);let ip=y("Key",[["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["path",{d:"m15.5 7.5 3 3L22 7l-3-3",key:"1rn1fs"}]]),ih=y("Link2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]),im={tableNode:function({data:e}){return(0,b.jsxs)("div",{className:"bg-app-sidebar border-2 border-app-border rounded-lg shadow-lg min-w-[220px]",children:[(0,b.jsx)(ae,{type:"target",position:f.Left,className:"!bg-transparent !border-0 !w-2 !h-2"}),(0,b.jsx)(ae,{type:"source",position:f.Right,className:"!bg-transparent !border-0 !w-2 !h-2"}),(0,b.jsx)("div",{className:"px-3 py-2 bg-app-bg border-b border-app-border rounded-t-lg",children:(0,b.jsx)("div",{className:"font-semibold text-sm text-app-text",children:e.label})}),(0,b.jsx)("div",{className:"py-1",children:e.columns.map((t,r)=>{let n=e.foreignKeys.includes(t.name);return(0,b.jsxs)("div",{className:"px-3 py-1.5 hover:bg-app-bg/50 transition-colors text-xs font-mono flex items-center gap-2",children:[t.pk?(0,b.jsx)(ip,{className:"w-3 h-3 text-yellow-400 flex-shrink-0"}):n?(0,b.jsx)(ih,{className:"w-3 h-3 text-indigo-400 flex-shrink-0"}):(0,b.jsx)("div",{className:"w-3"}),(0,b.jsx)("span",{className:t.pk?"text-app-text font-semibold":n?"text-indigo-400":"text-app-text-dim",children:t.name}),(0,b.jsx)("span",{className:"text-app-text-dim/60 text-[10px] ml-auto",children:t.type})]},r)})})]})}};function ix(){let[e,t]=(0,g.useState)(!0),[r,n]=(0,g.useState)(null),[a,s,i]=sY([]),[o,l,c]=sX([]),{projectInfo:d}=ev(),u=(0,g.useCallback)(async()=>{try{t(!0),n(null);let e=await er(),r={};e.relations.forEach(e=>{r[e.fromTable]||(r[e.fromTable]=[]),r[e.fromTable].push(e.fromColumn)});let a=e.tables.map(e=>({id:e.name,type:"tableNode",data:{label:e.name,columns:e.columns,foreignKeys:r[e.name]||[]},position:{x:0,y:0}})),i=e.relations.map((e,t)=>({id:`edge-${t}`,source:e.fromTable,target:e.toTable,type:"smoothstep",animated:!1,style:{stroke:e.isInferred?"#94a3b8":"#6366f1",strokeWidth:2.5,strokeDasharray:e.isInferred?"6 6":void 0},markerEnd:{type:m.ArrowClosed,color:e.isInferred?"#94a3b8":"#6366f1",width:20,height:20},label:`${e.fromColumn} → ${e.toColumn}`,labelStyle:{fontSize:11,fill:e.isInferred?"#94a3b8":"#e4e4e7",fontWeight:500},labelBgStyle:{fill:"#18181b",fillOpacity:.9,rx:4,ry:4}})),{nodes:o,edges:c}=((e,t,r="LR")=>{let n=new iu.default.graphlib.Graph;return n.setDefaultEdgeLabel(()=>({})),n.setGraph({rankdir:r,ranksep:100,nodesep:80}),e.forEach(e=>{n.setNode(e.id,{width:220,height:28*e.data.columns.length+50})}),t.forEach(e=>{n.setEdge(e.source,e.target)}),iu.default.layout(n),e.forEach(e=>{let t=n.node(e.id);return e.targetPosition="LR"===r?f.Left:f.Top,e.sourcePosition="LR"===r?f.Right:f.Bottom,e.position={x:t.x-110,y:t.y-(14*e.data.columns.length+25)},e}),{nodes:e,edges:t}})(a,i);s(o),l(c)}catch(e){n(e.message)}finally{t(!1)}},[s,l]);return((0,g.useEffect)(()=>{u()},[u,d?.currentBranch]),e)?(0,b.jsxs)("div",{className:"h-full flex flex-col items-center justify-center bg-app-bg",children:[(0,b.jsx)(L,{className:"w-6 h-6 animate-spin text-app-accent mb-3"}),(0,b.jsx)("p",{className:"text-app-text-dim",children:"Loading ER diagram..."})]}):r?(0,b.jsx)("div",{className:"h-full flex flex-col items-center justify-center bg-app-bg",children:(0,b.jsxs)("div",{className:"p-4 bg-red-500/10 border border-red-500/20 rounded text-red-400 max-w-md",children:[(0,b.jsx)("p",{className:"font-semibold mb-1",children:"Failed to load ER diagram"}),(0,b.jsx)("p",{className:"text-sm",children:r})]})}):0===a.length?(0,b.jsxs)("div",{className:"h-full flex flex-col items-center justify-center bg-app-bg text-app-text-dim",children:[(0,b.jsx)(ih,{className:"w-12 h-12 mb-3 opacity-50"}),(0,b.jsx)("p",{className:"text-lg",children:"No tables yet"}),(0,b.jsx)("p",{className:"text-sm mt-1",children:"Create tables to see the ER diagram"})]}):(0,b.jsx)("div",{className:"h-full w-full bg-app-bg",children:(0,b.jsxs)(sW,{nodes:a,edges:o,onNodesChange:i,onEdgesChange:c,nodeTypes:im,connectionLineType:h.SmoothStep,fitView:!0,attributionPosition:"bottom-left",minZoom:.1,maxZoom:1.5,defaultEdgeOptions:{type:h.SmoothStep,animated:!1},nodesDraggable:!0,nodesConnectable:!1,elementsSelectable:!0,children:[(0,b.jsx)(s1,{color:"#27272a",gap:16,size:1}),(0,b.jsx)(ie,{className:"bg-app-sidebar border border-app-border rounded"}),(0,b.jsx)(id,{className:"bg-app-sidebar border border-app-border rounded",nodeColor:"#3f3f46",maskColor:"rgba(0, 0, 0, 0.6)"}),(0,b.jsxs)(na,{position:"top-left",className:"bg-app-sidebar border border-app-border rounded-lg px-4 py-2 shadow-lg",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)(ih,{className:"w-4 h-4 text-app-accent"}),(0,b.jsx)("span",{className:"font-semibold text-app-text",children:"Entity Relationship Diagram"}),d?.currentBranch&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"text-app-text-dim",children:"•"}),(0,b.jsxs)("span",{className:"text-app-text-dim",children:["Branch: ",d.currentBranch]})]}),(0,b.jsx)("span",{className:"text-app-text-dim",children:"•"}),(0,b.jsxs)("span",{className:"text-app-text-dim",children:[a.length," table",1!==a.length?"s":""]}),(0,b.jsx)("span",{className:"text-app-text-dim",children:"•"}),(0,b.jsxs)("span",{className:"text-app-text-dim",children:[o.length," relation",1!==o.length?"s":""]})]}),0===o.length&&a.length>0&&(0,b.jsx)("div",{className:"mt-2 text-xs text-yellow-400/80",children:"💡 No foreign key relations found. Add FOREIGN KEY constraints to see connections."}),o.length>0&&(0,b.jsx)("div",{className:"mt-2 text-xs text-app-text-dim",children:"Dashed links are inferred from primary key name matches."})]})]})})}function ib(){let{branchVersion:e}=ev(),[t,r]=(0,g.useState)("tables"),[n,a]=(0,g.useState)([]),[s,i]=(0,g.useState)([]),[o,l]=(0,g.useState)([]),[c,d]=(0,g.useState)([]),[u,p]=(0,g.useState)(null),[h,m]=(0,g.useState)(null),[f,x]=(0,g.useState)(!1),[v,y]=(0,g.useState)("columns"),[w,E]=(0,g.useState)(!1),[S,k]=(0,g.useState)(!0),[_,C]=(0,g.useState)(!0),[M,T]=(0,g.useState)(!0);async function A(){try{let e=`
9
+ `,children:[(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(C,{className:"w-4 h-4 flex-shrink-0 text-app-text-dim"}),(0,b.jsx)("span",{className:"font-medium truncate",children:t.name})]}),t.description&&(0,b.jsx)("p",{className:"text-xs text-app-text-dim mt-0.5 truncate",children:t.description})]}),t.name===e&&(0,b.jsx)(R,{className:"w-4 h-4 text-app-accent flex-shrink-0"})]},t.name))}),(0,b.jsx)("div",{className:"border-t border-app-border",children:(0,b.jsxs)("button",{onClick:function(){s(!1),r?.()},className:"w-full px-3 py-2 text-left hover:bg-app-sidebar-hover transition-colors flex items-center gap-2 text-sm font-medium text-app-accent",children:[(0,b.jsx)(D,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:"Create New Branch"})]})})]})]})}function eu({projectInfo:e,currentBranch:t,onBranchChange:r,onCreateBranchClick:n,showAI:a=!1,onAIClick:s,disableBranchSelector:i=!1}){if(!e)return null;let o=t||e.currentBranch||"main";return(0,b.jsxs)("div",{className:"h-12 bg-app-sidebar border-b border-app-border px-4 flex items-center justify-between",children:[(0,b.jsx)("div",{className:"flex items-center gap-3",children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(A,{className:"w-2 h-2 text-app-accent fill-app-accent"}),(0,b.jsx)("span",{className:"font-semibold text-base",children:e.name})]})}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(ed,{currentBranch:o,onBranchChange:r,onCreateClick:n,disabled:i}),a&&(0,b.jsx)("button",{onClick:s,className:"px-3 py-1.5 bg-app-sidebar-active rounded text-sm hover:bg-app-sidebar-hover transition-colors",children:"AI"})]})]})}let ep=y("Table2",[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]]),eh=y("AlertTriangle",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z",key:"c3ski4"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),em=y("CheckCircle",[["path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14",key:"g774vq"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]),ef=y("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function ex({isOpen:e,onClose:t,initialData:r,onComplete:n}){let[a,s]=(0,g.useState)(r?.suggestedName||""),[i,o]=(0,g.useState)("copy"),[l,c]=(0,g.useState)(!1),[d,u]=(0,g.useState)(null),[p,h]=(0,g.useState)("");if(!e||!r)return null;async function m(){if(!a.trim())return void u("Project name is required");if(!/^[a-z0-9-]+$/.test(a))return void u("Project name must contain only lowercase letters, numbers, and hyphens");c(!0),u(null),h("Preparing import...");try{h("Creating project structure...");let e=await fetch("/api/import/create",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:a,sourcePath:r.sourcePath,importMode:i})});if(!e.ok){let t=await e.json();throw Error(t.error||"Failed to create project")}h("Copying database files...");let s=await fetch("/api/import/copy",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:a,sourcePath:r.sourcePath,importMode:i})});if(!s.ok){let e=await s.json();throw Error(e.error||"Failed to copy database")}h("Creating baseline snapshot...");let o=await fetch("/api/import/snapshot",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:a})});if(!o.ok){let e=await o.json();throw Error(e.error||"Failed to create baseline snapshot")}h("Finalizing import...");let l=await fetch("/api/import/finalize",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:a})});if(!l.ok){let e=await l.json();throw Error(e.error||"Failed to finalize import")}let c=await l.json();if(h("Import complete!"),n&&await Promise.resolve(n()),c?.server?.port){h("Launching Studio..."),setTimeout(()=>{window.location.href=`http://localhost:${c.server.port}`},800);return}setTimeout(()=>{t()},1e3)}catch(e){u(e.message),c(!1)}}return(0,b.jsx)("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center z-50 p-4",children:(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg shadow-2xl w-full max-w-2xl",children:[(0,b.jsxs)("div",{className:"px-6 py-4 border-b border-app-border flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(N,{className:"w-5 h-5 text-app-accent"}),(0,b.jsx)("h2",{className:"text-xl font-semibold",children:"Import SQLite Database"})]}),!l&&(0,b.jsx)("button",{onClick:t,className:"p-1 hover:bg-app-bg rounded transition-colors",children:(0,b.jsx)(ef,{className:"w-5 h-5"})})]}),(0,b.jsxs)("div",{className:"px-6 py-5 space-y-5",children:[(0,b.jsxs)("div",{className:"bg-app-bg border border-app-border rounded-lg p-4",children:[(0,b.jsx)("div",{className:"text-xs font-semibold text-app-text-dim mb-2",children:"SOURCE DATABASE"}),(0,b.jsx)("div",{className:"font-mono text-sm text-app-text break-all",children:r.sourcePath}),r.metadata&&(0,b.jsxs)("div",{className:"mt-3 flex gap-4 text-xs text-app-text-dim",children:[(0,b.jsxs)("div",{children:["Tables: ",r.metadata.tableCount]}),(0,b.jsx)("div",{children:"•"}),(0,b.jsxs)("div",{children:["Journal: ",r.metadata.journalMode]}),(0,b.jsx)("div",{children:"•"}),(0,b.jsxs)("div",{children:["Version: ",r.metadata.userVersion]})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"block text-sm font-medium mb-2",children:"Project Name"}),(0,b.jsx)("input",{type:"text",value:a,onChange:e=>s(e.target.value.toLowerCase()),disabled:l,placeholder:"my-database",className:"w-full px-3 py-2 bg-app-bg border border-app-border rounded focus:outline-none focus:border-app-accent disabled:opacity-50 font-mono text-sm"}),(0,b.jsx)("p",{className:"text-xs text-app-text-dim mt-1",children:"Lowercase letters, numbers, and hyphens only"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"block text-sm font-medium mb-3",children:"Import Mode"}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("label",{className:`flex items-start gap-3 p-3 border rounded cursor-pointer transition-colors ${"copy"===i?"border-app-accent bg-app-accent/10":"border-app-border hover:border-app-accent/50"}`,children:[(0,b.jsx)("input",{type:"radio",name:"importMode",value:"copy",checked:"copy"===i,onChange:e=>o("copy"),disabled:l,className:"mt-0.5"}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("div",{className:"font-medium text-sm",children:"Copy into project (Recommended)"}),(0,b.jsx)("div",{className:"text-xs text-app-text-dim mt-1",children:"Creates a safe copy. Original file will not be modified."})]})]}),(0,b.jsxs)("label",{className:`flex items-start gap-3 p-3 border rounded cursor-pointer transition-colors ${"link"===i?"border-app-accent bg-app-accent/10":"border-app-border hover:border-app-accent/50"}`,children:[(0,b.jsx)("input",{type:"radio",name:"importMode",value:"link",checked:"link"===i,onChange:e=>o("link"),disabled:l,className:"mt-0.5"}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("div",{className:"font-medium text-sm",children:"Link original file (Advanced)"}),(0,b.jsx)("div",{className:"text-xs text-app-text-dim mt-1",children:"Work directly with the original file. Changes affect original."})]})]})]})]}),(0,b.jsx)("div",{className:"bg-amber-500/10 border border-amber-500/30 rounded-lg p-4",children:(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[(0,b.jsx)(eh,{className:"w-5 h-5 text-amber-400 flex-shrink-0 mt-0.5"}),(0,b.jsxs)("div",{className:"text-sm",children:[(0,b.jsx)("div",{className:"font-semibold text-amber-400 mb-1",children:"Important"}),(0,b.jsx)("div",{className:"text-app-text-dim",children:"copy"===i?"A complete copy will be created. Your original database will remain untouched.":"Link mode works directly with your original file. All changes will affect the original database."})]})]})}),l&&p&&(0,b.jsx)("div",{className:"bg-app-bg border border-app-border rounded-lg p-4",children:(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)($,{className:"w-5 h-5 animate-spin text-app-accent"}),(0,b.jsx)("div",{className:"text-sm text-app-text",children:p})]})}),d&&(0,b.jsx)("div",{className:"bg-red-500/10 border border-red-500/30 rounded-lg p-4",children:(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[(0,b.jsx)(eh,{className:"w-5 h-5 text-red-400 flex-shrink-0"}),(0,b.jsx)("div",{className:"text-sm text-red-400",children:d})]})})]}),(0,b.jsxs)("div",{className:"px-6 py-4 border-t border-app-border flex items-center justify-between",children:[(0,b.jsx)("div",{className:"text-xs text-app-text-dim",children:"✓ Database validated successfully"}),(0,b.jsxs)("div",{className:"flex gap-3",children:[(0,b.jsx)("button",{onClick:t,disabled:l,className:"px-4 py-2 text-sm border border-app-border rounded hover:bg-app-bg disabled:opacity-50 transition-colors",children:"Cancel"}),(0,b.jsx)("button",{onClick:m,disabled:l||!a.trim(),className:"px-4 py-2 text-sm bg-app-accent text-white rounded hover:bg-app-accent/90 disabled:opacity-50 transition-colors flex items-center gap-2",children:l?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)($,{className:"w-4 h-4 animate-spin"}),(0,b.jsx)("span",{children:"Importing..."})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(em,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:"Import Database"})]})})]})]})]})})}let eb=(0,g.createContext)(void 0);function eg({children:e}){let[t,r]=(0,g.useState)(null),[n,a]=(0,g.useState)(0),[s,i]=(0,g.useState)({sql:"-- Write your SQL query here\n\n-- Press Ctrl+Space for autocomplete\n",activeTab:"result"});return(0,g.useEffect)(()=>{let e=localStorage.getItem("sql-kite-sql-editor-content");e&&i(t=>({...t,sql:e}))},[]),(0,b.jsx)(eb.Provider,{value:{editorState:s,setEditorState:e=>{i(e),localStorage.setItem("sql-kite-sql-editor-content",e.sql)},updateSQL:e=>{i(t=>({...t,sql:e})),localStorage.setItem("sql-kite-sql-editor-content",e)},updateActiveTab:e=>{i(t=>({...t,activeTab:e}))},addFavorite:(e,t)=>{let r=localStorage.getItem("sql-kite-favorites"),n=[];if(r)try{n=JSON.parse(r)}catch(e){console.error("Failed to parse favorites",e)}let a={id:`fav-${Date.now()}`,label:e,type:"file",sql:t};n.push(a),localStorage.setItem("sql-kite-favorites",JSON.stringify(n)),window.dispatchEvent(new Event("storage"))},projectInfo:t,setProjectInfo:r,branchVersion:n,incrementBranchVersion:()=>a(e=>e+1)},children:e})}function ev(){let e=(0,g.useContext)(eb);if(void 0===e)throw Error("useAppContext must be used within AppProvider");return e}function ey({projectInfo:e}){let{branchVersion:t}=ev(),[r,n]=(0,g.useState)([]),[a,s]=(0,g.useState)([]),[i,o]=(0,g.useState)(!1),[l,c]=(0,g.useState)(null);async function d(){try{let[e,t]=await Promise.all([B(),W(5,0)]);n(e),s(t.events)}catch(e){console.error("Failed to load data:",e)}}async function u(){try{let e=await fetch("/api/import/pending"),t=await e.json();t.pending&&(c(t),o(!0))}catch(e){console.error("Failed to check pending import:",e)}}async function p(){o(!1);try{await fetch("/api/import/pending",{method:"DELETE"})}catch(e){console.error("Failed to clear import session:",e)}d()}return(0,g.useEffect)(()=>{d(),u()},[t]),(0,b.jsxs)("div",{className:"p-8",children:[(0,b.jsxs)("div",{className:"max-w-6xl mx-auto",children:[(0,b.jsxs)("h1",{className:"text-3xl font-bold mb-2",children:["Welcome to ",e?.name||"SQL Kite Studio"]}),(0,b.jsx)("p",{className:"text-studio-text-dim mb-8",children:"Local SQLite database management platform"}),(0,b.jsxs)("div",{className:"grid grid-cols-3 gap-6 mb-8",children:[(0,b.jsx)(ew,{icon:ep,label:"Tables",value:r.length,color:"text-blue-400"}),(0,b.jsx)(ew,{icon:j,label:"Recent Queries",value:a.filter(e=>"sql_executed"===e.type).length,color:"text-green-400"}),(0,b.jsx)(ew,{icon:S,label:"Total Events",value:a.length,color:"text-purple-400"})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-6",children:[(0,b.jsxs)("div",{className:"bg-studio-sidebar border border-studio-border rounded-lg p-6",children:[(0,b.jsxs)("h2",{className:"text-lg font-semibold mb-4 flex items-center gap-2",children:[(0,b.jsx)(ep,{className:"w-5 h-5"}),"Tables"]}),0===r.length?(0,b.jsx)("p",{className:"text-studio-text-dim text-sm",children:"No tables yet"}):(0,b.jsx)("div",{className:"space-y-2",children:r.slice(0,5).map(e=>(0,b.jsx)("div",{className:"flex items-center justify-between p-2 rounded hover:bg-studio-hover",children:(0,b.jsx)("span",{className:"font-mono text-sm",children:e.name})},e.name))})]}),(0,b.jsxs)("div",{className:"bg-studio-sidebar border border-studio-border rounded-lg p-6",children:[(0,b.jsxs)("h2",{className:"text-lg font-semibold mb-4 flex items-center gap-2",children:[(0,b.jsx)(S,{className:"w-5 h-5"}),"Recent Activity"]}),0===a.length?(0,b.jsx)("p",{className:"text-studio-text-dim text-sm",children:"No activity yet"}):(0,b.jsx)("div",{className:"space-y-2",children:a.map(e=>(0,b.jsxs)("div",{className:"p-2 rounded hover:bg-studio-hover",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:e.type.split("_").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")}),(0,b.jsx)("div",{className:"text-xs text-studio-text-dim mt-1",children:new Date(e.createdAt).toLocaleString()})]},e.id))})]})]})]}),i&&l&&(0,b.jsx)(ex,{isOpen:i,onClose:()=>o(!1),onComplete:p,initialData:l})]})}function ew({icon:e,label:t,value:r,color:n}){return(0,b.jsx)("div",{className:"bg-studio-sidebar border border-studio-border rounded-lg p-6",children:(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-studio-text-dim text-sm mb-1",children:t}),(0,b.jsx)("div",{className:"text-3xl font-bold",children:r})]}),(0,b.jsx)(e,{className:`w-8 h-8 ${n}`})]})})}let ej=y("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),eN=y("Eye",[["path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z",key:"rwhkz3"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),eE=y("Zap",[["polygon",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2",key:"45s27k"}]]),eS=y("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),ek=y("Network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);function e_(e){if("string"==typeof e||"number"==typeof e)return""+e;let t="";if(Array.isArray(e))for(let r=0,n;r<e.length;r++)""!==(n=e_(e[r]))&&(t+=(t&&" ")+n);else for(let r in e)e[r]&&(t+=(t&&" ")+r);return t}e.i(47167);var eC=e.i(30224);let eM={get url(){return`file://${e.P("node_modules/zustand/esm/vanilla.mjs")}`}},eT=e=>{let t,r=new Set,n=(e,n)=>{let a="function"==typeof e?e(t):e;if(!Object.is(a,t)){let e=t;t=(null!=n?n:"object"!=typeof a||null===a)?a:Object.assign({},t,a),r.forEach(r=>r(t,e))}},a=()=>t,s={setState:n,getState:a,getInitialState:()=>i,subscribe:e=>(r.add(e),()=>r.delete(e)),destroy:()=>{(eM.env?eM.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),r.clear()}},i=t=e(n,a,s);return s},{useDebugValue:eA}=g.default,{useSyncExternalStoreWithSelector:eO}=eC.default,eR=e=>e;function eD(e,t=eR,r){let n=eO(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,r);return eA(n),n}let e$=(e,t)=>{let r=e?eT(e):eT,n=(e,n=t)=>eD(r,e,n);return Object.assign(n,r),n};function eL(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[r,n]of e)if(!Object.is(n,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let r of e)if(!t.has(r))return!1;return!0}let r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(let n of r)if(!Object.prototype.hasOwnProperty.call(t,n)||!Object.is(e[n],t[n]))return!1;return!0}var eP={value:()=>{}};function eI(){for(var e,t=0,r=arguments.length,n={};t<r;++t){if(!(e=arguments[t]+"")||e in n||/[\s.]/.test(e))throw Error("illegal type: "+e);n[e]=[]}return new eB(n)}function eB(e){this._=e}function eF(e,t,r){for(var n=0,a=e.length;n<a;++n)if(e[n].name===t){e[n]=eP,e=e.slice(0,n).concat(e.slice(n+1));break}return null!=r&&e.push({name:t,value:r}),e}function ez(){}function eq(e){return null==e?ez:function(){return this.querySelector(e)}}function eH(){return[]}function eU(e){return null==e?eH:function(){return this.querySelectorAll(e)}}function eW(e){return function(){return this.matches(e)}}function eV(e){return function(t){return t.matches(e)}}eB.prototype=eI.prototype={constructor:eB,on:function(e,t){var r,n=this._,a=(e+"").trim().split(/^|\s+/).map(function(e){var t="",r=e.indexOf(".");if(r>=0&&(t=e.slice(r+1),e=e.slice(0,r)),e&&!n.hasOwnProperty(e))throw Error("unknown type: "+e);return{type:e,name:t}}),s=-1,i=a.length;if(arguments.length<2){for(;++s<i;)if((r=(e=a[s]).type)&&(r=function(e,t){for(var r,n=0,a=e.length;n<a;++n)if((r=e[n]).name===t)return r.value}(n[r],e.name)))return r;return}if(null!=t&&"function"!=typeof t)throw Error("invalid callback: "+t);for(;++s<i;)if(r=(e=a[s]).type)n[r]=eF(n[r],e.name,t);else if(null==t)for(r in n)n[r]=eF(n[r],e.name,null);return this},copy:function(){var e={},t=this._;for(var r in t)e[r]=t[r].slice();return new eB(e)},call:function(e,t){if((r=arguments.length-2)>0)for(var r,n,a=Array(r),s=0;s<r;++s)a[s]=arguments[s+2];if(!this._.hasOwnProperty(e))throw Error("unknown type: "+e);for(n=this._[e],s=0,r=n.length;s<r;++s)n[s].value.apply(t,a)},apply:function(e,t,r){if(!this._.hasOwnProperty(e))throw Error("unknown type: "+e);for(var n=this._[e],a=0,s=n.length;a<s;++a)n[a].value.apply(t,r)}};var eY=Array.prototype.find;function eX(){return this.firstElementChild}var eG=Array.prototype.filter;function eK(){return Array.from(this.children)}function eQ(e){return Array(e.length)}function eJ(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function eZ(e,t,r,n,a,s){for(var i,o=0,l=t.length,c=s.length;o<c;++o)(i=t[o])?(i.__data__=s[o],n[o]=i):r[o]=new eJ(e,s[o]);for(;o<l;++o)(i=t[o])&&(a[o]=i)}function e0(e,t,r,n,a,s,i){var o,l,c,d=new Map,u=t.length,p=s.length,h=Array(u);for(o=0;o<u;++o)(l=t[o])&&(h[o]=c=i.call(l,l.__data__,o,t)+"",d.has(c)?a[o]=l:d.set(c,l));for(o=0;o<p;++o)c=i.call(e,s[o],o,s)+"",(l=d.get(c))?(n[o]=l,l.__data__=s[o],d.delete(c)):r[o]=new eJ(e,s[o]);for(o=0;o<u;++o)(l=t[o])&&d.get(h[o])===l&&(a[o]=l)}function e1(e){return e.__data__}function e2(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}eJ.prototype={constructor:eJ,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};var e5="http://www.w3.org/1999/xhtml";let e3={svg:"http://www.w3.org/2000/svg",xhtml:e5,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function e4(e){var t=e+="",r=t.indexOf(":");return r>=0&&"xmlns"!==(t=e.slice(0,r))&&(e=e.slice(r+1)),e3.hasOwnProperty(t)?{space:e3[t],local:e}:e}function e6(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function e9(e,t){return e.style.getPropertyValue(t)||e6(e).getComputedStyle(e,null).getPropertyValue(t)}function e7(e){return e.trim().split(/^|\s+/)}function e8(e){return e.classList||new te(e)}function te(e){this._node=e,this._names=e7(e.getAttribute("class")||"")}function tt(e,t){for(var r=e8(e),n=-1,a=t.length;++n<a;)r.add(t[n])}function tr(e,t){for(var r=e8(e),n=-1,a=t.length;++n<a;)r.remove(t[n])}function tn(){this.textContent=""}function ta(){this.innerHTML=""}function ts(){this.nextSibling&&this.parentNode.appendChild(this)}function ti(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function to(e){var t=e4(e);return(t.local?function(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}:function(e){return function(){var t=this.ownerDocument,r=this.namespaceURI;return r===e5&&t.documentElement.namespaceURI===e5?t.createElement(e):t.createElementNS(r,e)}})(t)}function tl(){return null}function tc(){var e=this.parentNode;e&&e.removeChild(this)}function td(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function tu(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function tp(e){return function(){var t=this.__on;if(t){for(var r,n=0,a=-1,s=t.length;n<s;++n)(r=t[n],e.type&&r.type!==e.type||r.name!==e.name)?t[++a]=r:this.removeEventListener(r.type,r.listener,r.options);++a?t.length=a:delete this.__on}}}function th(e,t,r){return function(){var n,a=this.__on,s=function(e){t.call(this,e,this.__data__)};if(a){for(var i=0,o=a.length;i<o;++i)if((n=a[i]).type===e.type&&n.name===e.name){this.removeEventListener(n.type,n.listener,n.options),this.addEventListener(n.type,n.listener=s,n.options=r),n.value=t;return}}this.addEventListener(e.type,s,r),n={type:e.type,name:e.name,value:t,listener:s,options:r},a?a.push(n):this.__on=[n]}}function tm(e,t,r){var n=e6(e),a=n.CustomEvent;"function"==typeof a?a=new a(t,r):(a=n.document.createEvent("Event"),r?(a.initEvent(t,r.bubbles,r.cancelable),a.detail=r.detail):a.initEvent(t,!1,!1)),e.dispatchEvent(a)}te.prototype={add:function(e){0>this._names.indexOf(e)&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var tf=[null];function tx(e,t){this._groups=e,this._parents=t}function tb(){return new tx([[document.documentElement]],tf)}function tg(e){return"string"==typeof e?new tx([[document.querySelector(e)]],[document.documentElement]):new tx([[e]],tf)}tx.prototype=tb.prototype={constructor:tx,select:function(e){"function"!=typeof e&&(e=eq(e));for(var t=this._groups,r=t.length,n=Array(r),a=0;a<r;++a)for(var s,i,o=t[a],l=o.length,c=n[a]=Array(l),d=0;d<l;++d)(s=o[d])&&(i=e.call(s,s.__data__,d,o))&&("__data__"in s&&(i.__data__=s.__data__),c[d]=i);return new tx(n,this._parents)},selectAll:function(e){if("function"==typeof e){var t;t=e,e=function(){var e;return e=t.apply(this,arguments),null==e?[]:Array.isArray(e)?e:Array.from(e)}}else e=eU(e);for(var r=this._groups,n=r.length,a=[],s=[],i=0;i<n;++i)for(var o,l=r[i],c=l.length,d=0;d<c;++d)(o=l[d])&&(a.push(e.call(o,o.__data__,d,l)),s.push(o));return new tx(a,s)},selectChild:function(e){var t;return this.select(null==e?eX:(t="function"==typeof e?e:eV(e),function(){return eY.call(this.children,t)}))},selectChildren:function(e){var t;return this.selectAll(null==e?eK:(t="function"==typeof e?e:eV(e),function(){return eG.call(this.children,t)}))},filter:function(e){"function"!=typeof e&&(e=eW(e));for(var t=this._groups,r=t.length,n=Array(r),a=0;a<r;++a)for(var s,i=t[a],o=i.length,l=n[a]=[],c=0;c<o;++c)(s=i[c])&&e.call(s,s.__data__,c,i)&&l.push(s);return new tx(n,this._parents)},data:function(e,t){if(!arguments.length)return Array.from(this,e1);var r=t?e0:eZ,n=this._parents,a=this._groups;"function"!=typeof e&&(g=e,e=function(){return g});for(var s=a.length,i=Array(s),o=Array(s),l=Array(s),c=0;c<s;++c){var d=n[c],u=a[c],p=u.length,h="object"==typeof(b=e.call(d,d&&d.__data__,c,n))&&"length"in b?b:Array.from(b),m=h.length,f=o[c]=Array(m),x=i[c]=Array(m);r(d,u,f,x,l[c]=Array(p),h,t);for(var b,g,v,y,w=0,j=0;w<m;++w)if(v=f[w]){for(w>=j&&(j=w+1);!(y=x[j])&&++j<m;);v._next=y||null}}return(i=new tx(i,n))._enter=o,i._exit=l,i},enter:function(){return new tx(this._enter||this._groups.map(eQ),this._parents)},exit:function(){return new tx(this._exit||this._groups.map(eQ),this._parents)},join:function(e,t,r){var n=this.enter(),a=this,s=this.exit();return"function"==typeof e?(n=e(n))&&(n=n.selection()):n=n.append(e+""),null!=t&&(a=t(a))&&(a=a.selection()),null==r?s.remove():r(s),n&&a?n.merge(a).order():a},merge:function(e){for(var t=e.selection?e.selection():e,r=this._groups,n=t._groups,a=r.length,s=n.length,i=Math.min(a,s),o=Array(a),l=0;l<i;++l)for(var c,d=r[l],u=n[l],p=d.length,h=o[l]=Array(p),m=0;m<p;++m)(c=d[m]||u[m])&&(h[m]=c);for(;l<a;++l)o[l]=r[l];return new tx(o,this._parents)},selection:function(){return this},order:function(){for(var e=this._groups,t=-1,r=e.length;++t<r;)for(var n,a=e[t],s=a.length-1,i=a[s];--s>=0;)(n=a[s])&&(i&&4^n.compareDocumentPosition(i)&&i.parentNode.insertBefore(n,i),i=n);return this},sort:function(e){function t(t,r){return t&&r?e(t.__data__,r.__data__):!t-!r}e||(e=e2);for(var r=this._groups,n=r.length,a=Array(n),s=0;s<n;++s){for(var i,o=r[s],l=o.length,c=a[s]=Array(l),d=0;d<l;++d)(i=o[d])&&(c[d]=i);c.sort(t)}return new tx(a,this._parents).order()},call:function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var e=this._groups,t=0,r=e.length;t<r;++t)for(var n=e[t],a=0,s=n.length;a<s;++a){var i=n[a];if(i)return i}return null},size:function(){let e=0;for(let t of this)++e;return e},empty:function(){return!this.node()},each:function(e){for(var t=this._groups,r=0,n=t.length;r<n;++r)for(var a,s=t[r],i=0,o=s.length;i<o;++i)(a=s[i])&&e.call(a,a.__data__,i,s);return this},attr:function(e,t){var r=e4(e);if(arguments.length<2){var n=this.node();return r.local?n.getAttributeNS(r.space,r.local):n.getAttribute(r)}return this.each((null==t?r.local?function(e){return function(){this.removeAttributeNS(e.space,e.local)}}:function(e){return function(){this.removeAttribute(e)}}:"function"==typeof t?r.local?function(e,t){return function(){var r=t.apply(this,arguments);null==r?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,r)}}:function(e,t){return function(){var r=t.apply(this,arguments);null==r?this.removeAttribute(e):this.setAttribute(e,r)}}:r.local?function(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}:function(e,t){return function(){this.setAttribute(e,t)}})(r,t))},style:function(e,t,r){return arguments.length>1?this.each((null==t?function(e){return function(){this.style.removeProperty(e)}}:"function"==typeof t?function(e,t,r){return function(){var n=t.apply(this,arguments);null==n?this.style.removeProperty(e):this.style.setProperty(e,n,r)}}:function(e,t,r){return function(){this.style.setProperty(e,t,r)}})(e,t,null==r?"":r)):e9(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?function(e){return function(){delete this[e]}}:"function"==typeof t?function(e,t){return function(){var r=t.apply(this,arguments);null==r?delete this[e]:this[e]=r}}:function(e,t){return function(){this[e]=t}})(e,t)):this.node()[e]},classed:function(e,t){var r=e7(e+"");if(arguments.length<2){for(var n=e8(this.node()),a=-1,s=r.length;++a<s;)if(!n.contains(r[a]))return!1;return!0}return this.each(("function"==typeof t?function(e,t){return function(){(t.apply(this,arguments)?tt:tr)(this,e)}}:t?function(e){return function(){tt(this,e)}}:function(e){return function(){tr(this,e)}})(r,t))},text:function(e){return arguments.length?this.each(null==e?tn:("function"==typeof e?function(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}:function(e){return function(){this.textContent=e}})(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?ta:("function"==typeof e?function(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}:function(e){return function(){this.innerHTML=e}})(e)):this.node().innerHTML},raise:function(){return this.each(ts)},lower:function(){return this.each(ti)},append:function(e){var t="function"==typeof e?e:to(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})},insert:function(e,t){var r="function"==typeof e?e:to(e),n=null==t?tl:"function"==typeof t?t:eq(t);return this.select(function(){return this.insertBefore(r.apply(this,arguments),n.apply(this,arguments)||null)})},remove:function(){return this.each(tc)},clone:function(e){return this.select(e?tu:td)},datum:function(e){return arguments.length?this.property("__data__",e):this.node().__data__},on:function(e,t,r){var n,a,s=(e+"").trim().split(/^|\s+/).map(function(e){var t="",r=e.indexOf(".");return r>=0&&(t=e.slice(r+1),e=e.slice(0,r)),{type:e,name:t}}),i=s.length;if(arguments.length<2){var o=this.node().__on;if(o){for(var l,c=0,d=o.length;c<d;++c)for(n=0,l=o[c];n<i;++n)if((a=s[n]).type===l.type&&a.name===l.name)return l.value}return}for(n=0,o=t?th:tp;n<i;++n)this.each(o(s[n],t,r));return this},dispatch:function(e,t){return this.each(("function"==typeof t?function(e,t){return function(){return tm(this,e,t.apply(this,arguments))}}:function(e,t){return function(){return tm(this,e,t)}})(e,t))},[Symbol.iterator]:function*(){for(var e=this._groups,t=0,r=e.length;t<r;++t)for(var n,a=e[t],s=0,i=a.length;s<i;++s)(n=a[s])&&(yield n)}};let tv={passive:!1},ty={capture:!0,passive:!1};function tw(e){e.stopImmediatePropagation()}function tj(e){e.preventDefault(),e.stopImmediatePropagation()}function tN(e){var t=e.document.documentElement,r=tg(e).on("dragstart.drag",tj,ty);"onselectstart"in t?r.on("selectstart.drag",tj,ty):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function tE(e,t){var r=e.document.documentElement,n=tg(e).on("dragstart.drag",null);t&&(n.on("click.drag",tj,ty),setTimeout(function(){n.on("click.drag",null)},0)),"onselectstart"in r?n.on("selectstart.drag",null):(r.style.MozUserSelect=r.__noselect,delete r.__noselect)}function tS(e){return((e=Math.exp(e))+1/e)/2}let tk=function e(t,r,n){function a(e,a){var s,i,o=e[0],l=e[1],c=e[2],d=a[0],u=a[1],p=a[2],h=d-o,m=u-l,f=h*h+m*m;if(f<1e-12)i=Math.log(p/c)/t,s=function(e){return[o+e*h,l+e*m,c*Math.exp(t*e*i)]};else{var x=Math.sqrt(f),b=(p*p-c*c+n*f)/(2*c*r*x),g=(p*p-c*c-n*f)/(2*p*r*x),v=Math.log(Math.sqrt(b*b+1)-b);i=(Math.log(Math.sqrt(g*g+1)-g)-v)/t,s=function(e){var n,a,s=e*i,d=tS(v),u=c/(r*x)*(d*(((n=Math.exp(2*(n=t*s+v)))-1)/(n+1))-((a=Math.exp(a=v))-1/a)/2);return[o+u*h,l+u*m,c*d/tS(t*s+v)]}}return s.duration=1e3*i*t/Math.SQRT2,s}return a.rho=function(t){var r=Math.max(.001,+t),n=r*r;return e(r,n,n*n)},a}(Math.SQRT2,2,4);function t_(e,t){if(e=function(e){let t;for(;t=e.sourceEvent;)e=t;return e}(e),void 0===t&&(t=e.currentTarget),t){var r=t.ownerSVGElement||t;if(r.createSVGPoint){var n=r.createSVGPoint();return n.x=e.clientX,n.y=e.clientY,[(n=n.matrixTransform(t.getScreenCTM().inverse())).x,n.y]}if(t.getBoundingClientRect){var a=t.getBoundingClientRect();return[e.clientX-a.left-t.clientLeft,e.clientY-a.top-t.clientTop]}}return[e.pageX,e.pageY]}var tC,tM,tT=0,tA=0,tO=0,tR=0,tD=0,t$=0,tL="object"==typeof performance&&performance.now?performance:Date,tP="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function tI(){return tD||(tP(tB),tD=tL.now()+t$)}function tB(){tD=0}function tF(){this._call=this._time=this._next=null}function tz(e,t,r){var n=new tF;return n.restart(e,t,r),n}function tq(){tD=(tR=tL.now())+t$,tT=tA=0;try{tI(),++tT;for(var e,t=tC;t;)(e=tD-t._time)>=0&&t._call.call(void 0,e),t=t._next;--tT}finally{tT=0,function(){for(var e,t,r=tC,n=1/0;r;)r._call?(n>r._time&&(n=r._time),e=r,r=r._next):(t=r._next,r._next=null,r=e?e._next=t:tC=t);tM=e,tU(n)}(),tD=0}}function tH(){var e=tL.now(),t=e-tR;t>1e3&&(t$-=t,tR=e)}function tU(e){!tT&&(tA&&(tA=clearTimeout(tA)),e-tD>24?(e<1/0&&(tA=setTimeout(tq,e-tL.now()-t$)),tO&&(tO=clearInterval(tO))):(tO||(tR=tL.now(),tO=setInterval(tH,1e3)),tT=1,tP(tq)))}function tW(e,t,r){var n=new tF;return t=null==t?0:+t,n.restart(r=>{n.stop(),e(r+t)},t,r),n}tF.prototype=tz.prototype={constructor:tF,restart:function(e,t,r){if("function"!=typeof e)throw TypeError("callback is not a function");r=(null==r?tI():+r)+(null==t?0:+t),this._next||tM===this||(tM?tM._next=this:tC=this,tM=this),this._call=e,this._time=r,tU()},stop:function(){this._call&&(this._call=null,this._time=1/0,tU())}};var tV=eI("start","end","cancel","interrupt"),tY=[];function tX(e,t,r,n,a,s){var i=e.__transition;if(i){if(r in i)return}else e.__transition={};!function(e,t,r){var n,a=e.__transition;function s(l){var c,d,u,p;if(1!==r.state)return o();for(c in a)if((p=a[c]).name===r.name){if(3===p.state)return tW(s);4===p.state?(p.state=6,p.timer.stop(),p.on.call("interrupt",e,e.__data__,p.index,p.group),delete a[c]):+c<t&&(p.state=6,p.timer.stop(),p.on.call("cancel",e,e.__data__,p.index,p.group),delete a[c])}if(tW(function(){3===r.state&&(r.state=4,r.timer.restart(i,r.delay,r.time),i(l))}),r.state=2,r.on.call("start",e,e.__data__,r.index,r.group),2===r.state){for(c=0,r.state=3,n=Array(u=r.tween.length),d=-1;c<u;++c)(p=r.tween[c].value.call(e,e.__data__,r.index,r.group))&&(n[++d]=p);n.length=d+1}}function i(t){for(var a=t<r.duration?r.ease.call(null,t/r.duration):(r.timer.restart(o),r.state=5,1),s=-1,i=n.length;++s<i;)n[s].call(e,a);5===r.state&&(r.on.call("end",e,e.__data__,r.index,r.group),o())}function o(){for(var n in r.state=6,r.timer.stop(),delete a[t],a)return;delete e.__transition}a[t]=r,r.timer=tz(function(e){r.state=1,r.timer.restart(s,r.delay,r.time),r.delay<=e&&s(e-r.delay)},0,r.time)}(e,r,{name:t,index:n,group:a,on:tV,tween:tY,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:0})}function tG(e,t){var r=tQ(e,t);if(r.state>0)throw Error("too late; already scheduled");return r}function tK(e,t){var r=tQ(e,t);if(r.state>3)throw Error("too late; already running");return r}function tQ(e,t){var r=e.__transition;if(!r||!(r=r[t]))throw Error("transition not found");return r}function tJ(e,t){var r,n,a,s=e.__transition,i=!0;if(s){for(a in t=null==t?null:t+"",s){if((r=s[a]).name!==t){i=!1;continue}n=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(n?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete s[a]}i&&delete e.__transition}}function tZ(e,t){return e*=1,t*=1,function(r){return e*(1-r)+t*r}}var t0=180/Math.PI,t1={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function t2(e,t,r,n,a,s){var i,o,l;return(i=Math.sqrt(e*e+t*t))&&(e/=i,t/=i),(l=e*r+t*n)&&(r-=e*l,n-=t*l),(o=Math.sqrt(r*r+n*n))&&(r/=o,n/=o,l/=o),e*n<t*r&&(e=-e,t=-t,l=-l,i=-i),{translateX:a,translateY:s,rotate:Math.atan2(t,e)*t0,skewX:Math.atan(l)*t0,scaleX:i,scaleY:o}}function t5(e,t,r,n){function a(e){return e.length?e.pop()+" ":""}return function(s,i){var o,l,c,d,u=[],p=[];return s=e(s),i=e(i),!function(e,n,a,s,i,o){if(e!==a||n!==s){var l=i.push("translate(",null,t,null,r);o.push({i:l-4,x:tZ(e,a)},{i:l-2,x:tZ(n,s)})}else(a||s)&&i.push("translate("+a+t+s+r)}(s.translateX,s.translateY,i.translateX,i.translateY,u,p),o=s.rotate,l=i.rotate,o!==l?(o-l>180?l+=360:l-o>180&&(o+=360),p.push({i:u.push(a(u)+"rotate(",null,n)-2,x:tZ(o,l)})):l&&u.push(a(u)+"rotate("+l+n),c=s.skewX,d=i.skewX,c!==d?p.push({i:u.push(a(u)+"skewX(",null,n)-2,x:tZ(c,d)}):d&&u.push(a(u)+"skewX("+d+n),!function(e,t,r,n,s,i){if(e!==r||t!==n){var o=s.push(a(s)+"scale(",null,",",null,")");i.push({i:o-4,x:tZ(e,r)},{i:o-2,x:tZ(t,n)})}else(1!==r||1!==n)&&s.push(a(s)+"scale("+r+","+n+")")}(s.scaleX,s.scaleY,i.scaleX,i.scaleY,u,p),s=i=null,function(e){for(var t,r=-1,n=p.length;++r<n;)u[(t=p[r]).i]=t.x(e);return u.join("")}}}var t3=t5(function(e){let t=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?t1:t2(t.a,t.b,t.c,t.d,t.e,t.f)},"px, ","px)","deg)"),t4=t5(function(e){return null==e?t1:(c||(c=document.createElementNS("http://www.w3.org/2000/svg","g")),c.setAttribute("transform",e),e=c.transform.baseVal.consolidate())?t2((e=e.matrix).a,e.b,e.c,e.d,e.e,e.f):t1},", ",")",")");function t6(e,t,r){var n=e._id;return e.each(function(){var e=tK(this,n);(e.value||(e.value={}))[t]=r.apply(this,arguments)}),function(e){return tQ(e,n).value[t]}}function t9(e,t,r){e.prototype=t.prototype=r,r.constructor=e}function t7(e,t){var r=Object.create(e.prototype);for(var n in t)r[n]=t[n];return r}function t8(){}var re="\\s*([+-]?\\d+)\\s*",rt="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",rr="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",rn=/^#([0-9a-f]{3,8})$/,ra=RegExp(`^rgb\\(${re},${re},${re}\\)$`),rs=RegExp(`^rgb\\(${rr},${rr},${rr}\\)$`),ri=RegExp(`^rgba\\(${re},${re},${re},${rt}\\)$`),ro=RegExp(`^rgba\\(${rr},${rr},${rr},${rt}\\)$`),rl=RegExp(`^hsl\\(${rt},${rr},${rr}\\)$`),rc=RegExp(`^hsla\\(${rt},${rr},${rr},${rt}\\)$`),rd={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function ru(){return this.rgb().formatHex()}function rp(){return this.rgb().formatRgb()}function rh(e){var t,r;return e=(e+"").trim().toLowerCase(),(t=rn.exec(e))?(r=t[1].length,t=parseInt(t[1],16),6===r?rm(t):3===r?new rb(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===r?rf(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===r?rf(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=ra.exec(e))?new rb(t[1],t[2],t[3],1):(t=rs.exec(e))?new rb(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=ri.exec(e))?rf(t[1],t[2],t[3],t[4]):(t=ro.exec(e))?rf(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=rl.exec(e))?rN(t[1],t[2]/100,t[3]/100,1):(t=rc.exec(e))?rN(t[1],t[2]/100,t[3]/100,t[4]):rd.hasOwnProperty(e)?rm(rd[e]):"transparent"===e?new rb(NaN,NaN,NaN,0):null}function rm(e){return new rb(e>>16&255,e>>8&255,255&e,1)}function rf(e,t,r,n){return n<=0&&(e=t=r=NaN),new rb(e,t,r,n)}function rx(e,t,r,n){var a;return 1==arguments.length?((a=e)instanceof t8||(a=rh(a)),a)?new rb((a=a.rgb()).r,a.g,a.b,a.opacity):new rb:new rb(e,t,r,null==n?1:n)}function rb(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}function rg(){return`#${rj(this.r)}${rj(this.g)}${rj(this.b)}`}function rv(){let e=ry(this.opacity);return`${1===e?"rgb(":"rgba("}${rw(this.r)}, ${rw(this.g)}, ${rw(this.b)}${1===e?")":`, ${e})`}`}function ry(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function rw(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function rj(e){return((e=rw(e))<16?"0":"")+e.toString(16)}function rN(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new rS(e,t,r,n)}function rE(e){if(e instanceof rS)return new rS(e.h,e.s,e.l,e.opacity);if(e instanceof t8||(e=rh(e)),!e)return new rS;if(e instanceof rS)return e;var t=(e=e.rgb()).r/255,r=e.g/255,n=e.b/255,a=Math.min(t,r,n),s=Math.max(t,r,n),i=NaN,o=s-a,l=(s+a)/2;return o?(i=t===s?(r-n)/o+(r<n)*6:r===s?(n-t)/o+2:(t-r)/o+4,o/=l<.5?s+a:2-s-a,i*=60):o=l>0&&l<1?0:i,new rS(i,o,l,e.opacity)}function rS(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}function rk(e){return(e=(e||0)%360)<0?e+360:e}function r_(e){return Math.max(0,Math.min(1,e||0))}function rC(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}function rM(e,t,r,n,a){var s=e*e,i=s*e;return((1-3*e+3*s-i)*t+(4-6*s+3*i)*r+(1+3*e+3*s-3*i)*n+i*a)/6}t9(t8,rh,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:ru,formatHex:ru,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return rE(this).formatHsl()},formatRgb:rp,toString:rp}),t9(rb,rx,t7(t8,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new rb(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new rb(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new rb(rw(this.r),rw(this.g),rw(this.b),ry(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:rg,formatHex:rg,formatHex8:function(){return`#${rj(this.r)}${rj(this.g)}${rj(this.b)}${rj((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:rv,toString:rv})),t9(rS,function(e,t,r,n){return 1==arguments.length?rE(e):new rS(e,t,r,null==n?1:n)},t7(t8,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new rS(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new rS(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,a=2*r-n;return new rb(rC(e>=240?e-240:e+120,a,n),rC(e,a,n),rC(e<120?e+240:e-120,a,n),this.opacity)},clamp(){return new rS(rk(this.h),r_(this.s),r_(this.l),ry(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=ry(this.opacity);return`${1===e?"hsl(":"hsla("}${rk(this.h)}, ${100*r_(this.s)}%, ${100*r_(this.l)}%${1===e?")":`, ${e})`}`}}));let rT=e=>()=>e;function rA(e,t){var r=t-e;return r?function(t){return e+t*r}:rT(isNaN(e)?t:e)}let rO=function e(t){var r,n=1==(r=+t)?rA:function(e,t){var n,a,s;return t-e?(n=e,a=t,n=Math.pow(n,s=r),a=Math.pow(a,s)-n,s=1/s,function(e){return Math.pow(n+e*a,s)}):rT(isNaN(e)?t:e)};function a(e,t){var r=n((e=rx(e)).r,(t=rx(t)).r),a=n(e.g,t.g),s=n(e.b,t.b),i=rA(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=a(t),e.b=s(t),e.opacity=i(t),e+""}}return a.gamma=e,a}(1);function rR(e){return function(t){var r,n,a=t.length,s=Array(a),i=Array(a),o=Array(a);for(r=0;r<a;++r)n=rx(t[r]),s[r]=n.r||0,i[r]=n.g||0,o[r]=n.b||0;return s=e(s),i=e(i),o=e(o),n.opacity=1,function(e){return n.r=s(e),n.g=i(e),n.b=o(e),n+""}}}rR(function(e){var t=e.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,t-1):Math.floor(r*t),a=e[n],s=e[n+1],i=n>0?e[n-1]:2*a-s,o=n<t-1?e[n+2]:2*s-a;return rM((r-n/t)*t,i,a,s,o)}}),rR(function(e){var t=e.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*t),a=e[(n+t-1)%t],s=e[n%t],i=e[(n+1)%t],o=e[(n+2)%t];return rM((r-n/t)*t,a,s,i,o)}});var rD=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,r$=RegExp(rD.source,"g");function rL(e,t){var r;return("number"==typeof t?tZ:t instanceof rh?rO:(r=rh(t))?(t=r,rO):function(e,t){var r,n,a,s,i,o=rD.lastIndex=r$.lastIndex=0,l=-1,c=[],d=[];for(e+="",t+="";(a=rD.exec(e))&&(s=r$.exec(t));)(i=s.index)>o&&(i=t.slice(o,i),c[l]?c[l]+=i:c[++l]=i),(a=a[0])===(s=s[0])?c[l]?c[l]+=s:c[++l]=s:(c[++l]=null,d.push({i:l,x:tZ(a,s)})),o=r$.lastIndex;return o<t.length&&(i=t.slice(o),c[l]?c[l]+=i:c[++l]=i),c.length<2?d[0]?(r=d[0].x,function(e){return r(e)+""}):(n=t,function(){return n}):(t=d.length,function(e){for(var r,n=0;n<t;++n)c[(r=d[n]).i]=r.x(e);return c.join("")})})(e,t)}var rP=tb.prototype.constructor;function rI(e){return function(){this.style.removeProperty(e)}}var rB=0;function rF(e,t,r,n){this._groups=e,this._parents=t,this._name=r,this._id=n}var rz=tb.prototype;rF.prototype=(function(e){return tb().transition(e)}).prototype={constructor:rF,select:function(e){var t=this._name,r=this._id;"function"!=typeof e&&(e=eq(e));for(var n=this._groups,a=n.length,s=Array(a),i=0;i<a;++i)for(var o,l,c=n[i],d=c.length,u=s[i]=Array(d),p=0;p<d;++p)(o=c[p])&&(l=e.call(o,o.__data__,p,c))&&("__data__"in o&&(l.__data__=o.__data__),u[p]=l,tX(u[p],t,r,p,u,tQ(o,r)));return new rF(s,this._parents,t,r)},selectAll:function(e){var t=this._name,r=this._id;"function"!=typeof e&&(e=eU(e));for(var n=this._groups,a=n.length,s=[],i=[],o=0;o<a;++o)for(var l,c=n[o],d=c.length,u=0;u<d;++u)if(l=c[u]){for(var p,h=e.call(l,l.__data__,u,c),m=tQ(l,r),f=0,x=h.length;f<x;++f)(p=h[f])&&tX(p,t,r,f,h,m);s.push(h),i.push(l)}return new rF(s,i,t,r)},selectChild:rz.selectChild,selectChildren:rz.selectChildren,filter:function(e){"function"!=typeof e&&(e=eW(e));for(var t=this._groups,r=t.length,n=Array(r),a=0;a<r;++a)for(var s,i=t[a],o=i.length,l=n[a]=[],c=0;c<o;++c)(s=i[c])&&e.call(s,s.__data__,c,i)&&l.push(s);return new rF(n,this._parents,this._name,this._id)},merge:function(e){if(e._id!==this._id)throw Error();for(var t=this._groups,r=e._groups,n=t.length,a=r.length,s=Math.min(n,a),i=Array(n),o=0;o<s;++o)for(var l,c=t[o],d=r[o],u=c.length,p=i[o]=Array(u),h=0;h<u;++h)(l=c[h]||d[h])&&(p[h]=l);for(;o<n;++o)i[o]=t[o];return new rF(i,this._parents,this._name,this._id)},selection:function(){return new rP(this._groups,this._parents)},transition:function(){for(var e=this._name,t=this._id,r=++rB,n=this._groups,a=n.length,s=0;s<a;++s)for(var i,o=n[s],l=o.length,c=0;c<l;++c)if(i=o[c]){var d=tQ(i,t);tX(i,e,r,c,o,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new rF(n,this._parents,e,r)},call:rz.call,nodes:rz.nodes,node:rz.node,size:rz.size,empty:rz.empty,each:rz.each,on:function(e,t){var r,n,a,s,i,o,l=this._id;return arguments.length<2?tQ(this.node(),l).on.on(e):this.each((r=l,n=e,a=t,o=(n+"").trim().split(/^|\s+/).every(function(e){var t=e.indexOf(".");return t>=0&&(e=e.slice(0,t)),!e||"start"===e})?tG:tK,function(){var e=o(this,r),t=e.on;t!==s&&(i=(s=t).copy()).on(n,a),e.on=i}))},attr:function(e,t){var r=e4(e),n="transform"===r?t4:rL;return this.attrTween(e,"function"==typeof t?(r.local?function(e,t,r){var n,a,s;return function(){var i,o,l=r(this);return null==l?void this.removeAttributeNS(e.space,e.local):(i=this.getAttributeNS(e.space,e.local))===(o=l+"")?null:i===n&&o===a?s:(a=o,s=t(n=i,l))}}:function(e,t,r){var n,a,s;return function(){var i,o,l=r(this);return null==l?void this.removeAttribute(e):(i=this.getAttribute(e))===(o=l+"")?null:i===n&&o===a?s:(a=o,s=t(n=i,l))}})(r,n,t6(this,"attr."+e,t)):null==t?(r.local?function(e){return function(){this.removeAttributeNS(e.space,e.local)}}:function(e){return function(){this.removeAttribute(e)}})(r):(r.local?function(e,t,r){var n,a,s=r+"";return function(){var i=this.getAttributeNS(e.space,e.local);return i===s?null:i===n?a:a=t(n=i,r)}}:function(e,t,r){var n,a,s=r+"";return function(){var i=this.getAttribute(e);return i===s?null:i===n?a:a=t(n=i,r)}})(r,n,t))},attrTween:function(e,t){var r="attr."+e;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==t)return this.tween(r,null);if("function"!=typeof t)throw Error();var n=e4(e);return this.tween(r,(n.local?function(e,t){var r,n;function a(){var a=t.apply(this,arguments);return a!==n&&(r=(n=a)&&function(t){this.setAttributeNS(e.space,e.local,a.call(this,t))}),r}return a._value=t,a}:function(e,t){var r,n;function a(){var a=t.apply(this,arguments);return a!==n&&(r=(n=a)&&function(t){this.setAttribute(e,a.call(this,t))}),r}return a._value=t,a})(n,t))},style:function(e,t,r){var n,a,s,i,o,l,c,d,u,p,h,m,f,x,b,g,v,y,w,j,N,E="transform"==(e+="")?t3:rL;return null==t?this.styleTween(e,(n=e,function(){var e=e9(this,n),t=(this.style.removeProperty(n),e9(this,n));return e===t?null:e===a&&t===s?i:i=E(a=e,s=t)})).on("end.style."+e,rI(e)):"function"==typeof t?this.styleTween(e,(o=e,l=t6(this,"style."+e,t),function(){var e=e9(this,o),t=l(this),r=t+"";return null==t&&(this.style.removeProperty(o),r=t=e9(this,o)),e===r?null:e===c&&r===d?u:(d=r,u=E(c=e,t))})).each((p=this._id,v="end."+(g="style."+(h=e)),function(){var e=tK(this,p),t=e.on,r=null==e.value[g]?b||(b=rI(h)):void 0;(t!==m||x!==r)&&(f=(m=t).copy()).on(v,x=r),e.on=f})):this.styleTween(e,(y=e,N=t+"",function(){var e=e9(this,y);return e===N?null:e===w?j:j=E(w=e,t)}),r).on("end.style."+e,null)},styleTween:function(e,t,r){var n="style."+(e+="");if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw Error();return this.tween(n,function(e,t,r){var n,a;function s(){var s=t.apply(this,arguments);return s!==a&&(n=(a=s)&&function(t){this.style.setProperty(e,s.call(this,t),r)}),n}return s._value=t,s}(e,t,null==r?"":r))},text:function(e){var t,r;return this.tween("text","function"==typeof e?(t=t6(this,"text",e),function(){var e=t(this);this.textContent=null==e?"":e}):(r=null==e?"":e+"",function(){this.textContent=r}))},textTween:function(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(null==e)return this.tween(t,null);if("function"!=typeof e)throw Error();return this.tween(t,function(e){var t,r;function n(){var n=e.apply(this,arguments);return n!==r&&(t=(r=n)&&function(e){this.textContent=n.call(this,e)}),t}return n._value=e,n}(e))},remove:function(){var e;return this.on("end.remove",(e=this._id,function(){var t=this.parentNode;for(var r in this.__transition)if(+r!==e)return;t&&t.removeChild(this)}))},tween:function(e,t){var r=this._id;if(e+="",arguments.length<2){for(var n,a=tQ(this.node(),r).tween,s=0,i=a.length;s<i;++s)if((n=a[s]).name===e)return n.value;return null}return this.each((null==t?function(e,t){var r,n;return function(){var a=tK(this,e),s=a.tween;if(s!==r){n=r=s;for(var i=0,o=n.length;i<o;++i)if(n[i].name===t){(n=n.slice()).splice(i,1);break}}a.tween=n}}:function(e,t,r){var n,a;if("function"!=typeof r)throw Error();return function(){var s=tK(this,e),i=s.tween;if(i!==n){a=(n=i).slice();for(var o={name:t,value:r},l=0,c=a.length;l<c;++l)if(a[l].name===t){a[l]=o;break}l===c&&a.push(o)}s.tween=a}})(r,e,t))},delay:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?function(e,t){return function(){tG(this,e).delay=+t.apply(this,arguments)}}:function(e,t){return t*=1,function(){tG(this,e).delay=t}})(t,e)):tQ(this.node(),t).delay},duration:function(e){var t=this._id;return arguments.length?this.each(("function"==typeof e?function(e,t){return function(){tK(this,e).duration=+t.apply(this,arguments)}}:function(e,t){return t*=1,function(){tK(this,e).duration=t}})(t,e)):tQ(this.node(),t).duration},ease:function(e){var t=this._id;return arguments.length?this.each(function(e,t){if("function"!=typeof t)throw Error();return function(){tK(this,e).ease=t}}(t,e)):tQ(this.node(),t).ease},easeVarying:function(e){var t;if("function"!=typeof e)throw Error();return this.each((t=this._id,function(){var r=e.apply(this,arguments);if("function"!=typeof r)throw Error();tK(this,t).ease=r}))},end:function(){var e,t,r=this,n=r._id,a=r.size();return new Promise(function(s,i){var o={value:i},l={value:function(){0==--a&&s()}};r.each(function(){var r=tK(this,n),a=r.on;a!==e&&((t=(e=a).copy())._.cancel.push(o),t._.interrupt.push(o),t._.end.push(l)),r.on=t}),0===a&&s()})},[Symbol.iterator]:rz[Symbol.iterator]};var rq={time:null,delay:0,duration:250,ease:function(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}};tb.prototype.interrupt=function(e){return this.each(function(){tJ(this,e)})},tb.prototype.transition=function(e){var t,r;e instanceof rF?(t=e._id,e=e._name):(t=++rB,(r=rq).time=tI(),e=null==e?null:e+"");for(var n=this._groups,a=n.length,s=0;s<a;++s)for(var i,o=n[s],l=o.length,c=0;c<l;++c)(i=o[c])&&tX(i,e,t,c,o,r||function(e,t){for(var r;!(r=e.__transition)||!(r=r[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return r}(i,t));return new rF(n,this._parents,e,t)};let rH=e=>()=>e;function rU(e,{sourceEvent:t,target:r,transform:n,dispatch:a}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:n,enumerable:!0,configurable:!0},_:{value:a}})}function rW(e,t,r){this.k=e,this.x=t,this.y=r}rW.prototype={constructor:rW,scale:function(e){return 1===e?this:new rW(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new rW(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var rV=new rW(1,0,0);function rY(e){e.stopImmediatePropagation()}function rX(e){e.preventDefault(),e.stopImmediatePropagation()}function rG(e){return(!e.ctrlKey||"wheel"===e.type)&&!e.button}function rK(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e).hasAttribute("viewBox")?[[(e=e.viewBox.baseVal).x,e.y],[e.x+e.width,e.y+e.height]]:[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]:[[0,0],[e.clientWidth,e.clientHeight]]}function rQ(){return this.__zoom||rV}function rJ(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function rZ(){return navigator.maxTouchPoints||"ontouchstart"in this}function r0(e,t,r){var n=e.invertX(t[0][0])-r[0][0],a=e.invertX(t[1][0])-r[1][0],s=e.invertY(t[0][1])-r[0][1],i=e.invertY(t[1][1])-r[1][1];return e.translate(a>n?(n+a)/2:Math.min(0,n)||Math.max(0,a),i>s?(s+i)/2:Math.min(0,s)||Math.max(0,i))}function r1(){var e,t,r,n=rG,a=rK,s=r0,i=rJ,o=rZ,l=[0,1/0],c=[[-1/0,-1/0],[1/0,1/0]],d=250,u=tk,p=eI("start","zoom","end"),h=0,m=10;function f(e){e.property("__zoom",rQ).on("wheel.zoom",j,{passive:!1}).on("mousedown.zoom",N).on("dblclick.zoom",E).filter(o).on("touchstart.zoom",S).on("touchmove.zoom",k).on("touchend.zoom touchcancel.zoom",_).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function x(e,t){return(t=Math.max(l[0],Math.min(l[1],t)))===e.k?e:new rW(t,e.x,e.y)}function b(e,t,r){var n=t[0]-r[0]*e.k,a=t[1]-r[1]*e.k;return n===e.x&&a===e.y?e:new rW(e.k,n,a)}function g(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function v(e,t,r,n){e.on("start.zoom",function(){y(this,arguments).event(n).start()}).on("interrupt.zoom end.zoom",function(){y(this,arguments).event(n).end()}).tween("zoom",function(){var e=arguments,s=y(this,e).event(n),i=a.apply(this,e),o=null==r?g(i):"function"==typeof r?r.apply(this,e):r,l=Math.max(i[1][0]-i[0][0],i[1][1]-i[0][1]),c=this.__zoom,d="function"==typeof t?t.apply(this,e):t,p=u(c.invert(o).concat(l/c.k),d.invert(o).concat(l/d.k));return function(e){if(1===e)e=d;else{var t=p(e),r=l/t[2];e=new rW(r,o[0]-t[0]*r,o[1]-t[1]*r)}s.zoom(null,e)}})}function y(e,t,r){return!r&&e.__zooming||new w(e,t)}function w(e,t){this.that=e,this.args=t,this.active=0,this.sourceEvent=null,this.extent=a.apply(e,t),this.taps=0}function j(e,...t){if(n.apply(this,arguments)){var r=y(this,t).event(e),a=this.__zoom,o=Math.max(l[0],Math.min(l[1],a.k*Math.pow(2,i.apply(this,arguments)))),d=t_(e);if(r.wheel)(r.mouse[0][0]!==d[0]||r.mouse[0][1]!==d[1])&&(r.mouse[1]=a.invert(r.mouse[0]=d)),clearTimeout(r.wheel);else{if(a.k===o)return;r.mouse=[d,a.invert(d)],tJ(this),r.start()}rX(e),r.wheel=setTimeout(function(){r.wheel=null,r.end()},150),r.zoom("mouse",s(b(x(a,o),r.mouse[0],r.mouse[1]),r.extent,c))}}function N(e,...t){if(!r&&n.apply(this,arguments)){var a=e.currentTarget,i=y(this,t,!0).event(e),o=tg(e.view).on("mousemove.zoom",function(e){if(rX(e),!i.moved){var t=e.clientX-d,r=e.clientY-u;i.moved=t*t+r*r>h}i.event(e).zoom("mouse",s(b(i.that.__zoom,i.mouse[0]=t_(e,a),i.mouse[1]),i.extent,c))},!0).on("mouseup.zoom",function(e){o.on("mousemove.zoom mouseup.zoom",null),tE(e.view,i.moved),rX(e),i.event(e).end()},!0),l=t_(e,a),d=e.clientX,u=e.clientY;tN(e.view),rY(e),i.mouse=[l,this.__zoom.invert(l)],tJ(this),i.start()}}function E(e,...t){if(n.apply(this,arguments)){var r=this.__zoom,i=t_(e.changedTouches?e.changedTouches[0]:e,this),o=r.invert(i),l=r.k*(e.shiftKey?.5:2),u=s(b(x(r,l),i,o),a.apply(this,t),c);rX(e),d>0?tg(this).transition().duration(d).call(v,u,i,e):tg(this).call(f.transform,u,i,e)}}function S(r,...a){if(n.apply(this,arguments)){var s,i,o,l,c=r.touches,d=c.length,u=y(this,a,r.changedTouches.length===d).event(r);for(rY(r),i=0;i<d;++i)l=[l=t_(o=c[i],this),this.__zoom.invert(l),o.identifier],u.touch0?u.touch1||u.touch0[2]===l[2]||(u.touch1=l,u.taps=0):(u.touch0=l,s=!0,u.taps=1+!!e);e&&(e=clearTimeout(e)),s&&(u.taps<2&&(t=l[0],e=setTimeout(function(){e=null},500)),tJ(this),u.start())}}function k(e,...t){if(this.__zooming){var r,n,a,i,o=y(this,t).event(e),l=e.changedTouches,d=l.length;for(rX(e),r=0;r<d;++r)a=t_(n=l[r],this),o.touch0&&o.touch0[2]===n.identifier?o.touch0[0]=a:o.touch1&&o.touch1[2]===n.identifier&&(o.touch1[0]=a);if(n=o.that.__zoom,o.touch1){var u=o.touch0[0],p=o.touch0[1],h=o.touch1[0],m=o.touch1[1],f=(f=h[0]-u[0])*f+(f=h[1]-u[1])*f,g=(g=m[0]-p[0])*g+(g=m[1]-p[1])*g;n=x(n,Math.sqrt(f/g)),a=[(u[0]+h[0])/2,(u[1]+h[1])/2],i=[(p[0]+m[0])/2,(p[1]+m[1])/2]}else{if(!o.touch0)return;a=o.touch0[0],i=o.touch0[1]}o.zoom("touch",s(b(n,a,i),o.extent,c))}}function _(e,...n){if(this.__zooming){var a,s,i=y(this,n).event(e),o=e.changedTouches,l=o.length;for(rY(e),r&&clearTimeout(r),r=setTimeout(function(){r=null},500),a=0;a<l;++a)s=o[a],i.touch0&&i.touch0[2]===s.identifier?delete i.touch0:i.touch1&&i.touch1[2]===s.identifier&&delete i.touch1;if(i.touch1&&!i.touch0&&(i.touch0=i.touch1,delete i.touch1),i.touch0)i.touch0[1]=this.__zoom.invert(i.touch0[0]);else if(i.end(),2===i.taps&&(s=t_(s,this),Math.hypot(t[0]-s[0],t[1]-s[1])<m)){var c=tg(this).on("dblclick.zoom");c&&c.apply(this,arguments)}}}return f.transform=function(e,t,r,n){var a=e.selection?e.selection():e;a.property("__zoom",rQ),e!==a?v(e,t,r,n):a.interrupt().each(function(){y(this,arguments).event(n).start().zoom(null,"function"==typeof t?t.apply(this,arguments):t).end()})},f.scaleBy=function(e,t,r,n){f.scaleTo(e,function(){var e=this.__zoom.k,r="function"==typeof t?t.apply(this,arguments):t;return e*r},r,n)},f.scaleTo=function(e,t,r,n){f.transform(e,function(){var e=a.apply(this,arguments),n=this.__zoom,i=null==r?g(e):"function"==typeof r?r.apply(this,arguments):r,o=n.invert(i),l="function"==typeof t?t.apply(this,arguments):t;return s(b(x(n,l),i,o),e,c)},r,n)},f.translateBy=function(e,t,r,n){f.transform(e,function(){return s(this.__zoom.translate("function"==typeof t?t.apply(this,arguments):t,"function"==typeof r?r.apply(this,arguments):r),a.apply(this,arguments),c)},null,n)},f.translateTo=function(e,t,r,n,i){f.transform(e,function(){var e=a.apply(this,arguments),i=this.__zoom,o=null==n?g(e):"function"==typeof n?n.apply(this,arguments):n;return s(rV.translate(o[0],o[1]).scale(i.k).translate("function"==typeof t?-t.apply(this,arguments):-t,"function"==typeof r?-r.apply(this,arguments):-r),e,c)},n,i)},w.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(e,t){return this.mouse&&"mouse"!==e&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&"touch"!==e&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&"touch"!==e&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(e){var t=tg(this.that).datum();p.call(e,this.that,new rU(e,{sourceEvent:this.sourceEvent,target:f,type:e,transform:this.that.__zoom,dispatch:p}),t)}},f.wheelDelta=function(e){return arguments.length?(i="function"==typeof e?e:rH(+e),f):i},f.filter=function(e){return arguments.length?(n="function"==typeof e?e:rH(!!e),f):n},f.touchable=function(e){return arguments.length?(o="function"==typeof e?e:rH(!!e),f):o},f.extent=function(e){return arguments.length?(a="function"==typeof e?e:rH([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),f):a},f.scaleExtent=function(e){return arguments.length?(l[0]=+e[0],l[1]=+e[1],f):[l[0],l[1]]},f.translateExtent=function(e){return arguments.length?(c[0][0]=+e[0][0],c[1][0]=+e[1][0],c[0][1]=+e[0][1],c[1][1]=+e[1][1],f):[[c[0][0],c[0][1]],[c[1][0],c[1][1]]]},f.constrain=function(e){return arguments.length?(s=e,f):s},f.duration=function(e){return arguments.length?(d=+e,f):d},f.interpolate=function(e){return arguments.length?(u=e,f):u},f.on=function(){var e=p.on.apply(p,arguments);return e===p?f:e},f.clickDistance=function(e){return arguments.length?(h=(e*=1)*e,f):Math.sqrt(h)},f.tapDistance=function(e){return arguments.length?(m=+e,f):m},f}rW.prototype;let r2=e=>()=>e;function r5(e,{sourceEvent:t,subject:r,target:n,identifier:a,active:s,x:i,y:o,dx:l,dy:c,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},identifier:{value:a,enumerable:!0,configurable:!0},active:{value:s,enumerable:!0,configurable:!0},x:{value:i,enumerable:!0,configurable:!0},y:{value:o,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:d}})}function r3(e){return!e.ctrlKey&&!e.button}function r4(){return this.parentNode}function r6(e,t){return null==t?{x:e.x,y:e.y}:t}function r9(){return navigator.maxTouchPoints||"ontouchstart"in this}r5.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e},e.i(74080);let r7=(0,g.createContext)(null),r8=r7.Provider,ne="[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001";function nt(e,t){let r=(0,g.useContext)(r7);if(null===r)throw Error(ne);return eD(r,e,t)}let nr=()=>{let e=(0,g.useContext)(r7);if(null===e)throw Error(ne);return(0,g.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},nn=e=>e.userSelectionActive?"none":"all";function na({position:e,children:t,className:r,style:n,...a}){let s=nt(nn),i=`${e}`.split("-");return g.default.createElement("div",{className:e_(["react-flow__panel",r,...i]),style:{...n,pointerEvents:s},...a},t)}function ns({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:g.default.createElement(na,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://reactflow.dev/pro"},g.default.createElement("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution"},"React Flow"))}var ni=(0,g.memo)(({x:e,y:t,label:r,labelStyle:n={},labelShowBg:a=!0,labelBgStyle:s={},labelBgPadding:i=[2,4],labelBgBorderRadius:o=2,children:l,className:c,...d})=>{let u=(0,g.useRef)(null),[p,h]=(0,g.useState)({x:0,y:0,width:0,height:0}),m=e_(["react-flow__edge-textwrapper",c]);return((0,g.useEffect)(()=>{if(u.current){let e=u.current.getBBox();h({x:e.x,y:e.y,width:e.width,height:e.height})}},[r]),void 0!==r&&r)?g.default.createElement("g",{transform:`translate(${e-p.width/2} ${t-p.height/2})`,className:m,visibility:p.width?"visible":"hidden",...d},a&&g.default.createElement("rect",{width:p.width+2*i[0],x:-i[0],y:-i[1],height:p.height+2*i[1],className:"react-flow__edge-textbg",style:s,rx:o,ry:o}),g.default.createElement("text",{className:"react-flow__edge-text",y:p.height/2,dy:"0.3em",ref:u,style:n},r),l):null});let no=e=>({width:e.offsetWidth,height:e.offsetHeight}),nl=(e,t=0,r=1)=>Math.min(Math.max(e,t),r),nc=(e={x:0,y:0},t)=>({x:nl(e.x,t[0][0],t[1][0]),y:nl(e.y,t[0][1],t[1][1])}),nd=(e,t,r)=>e<t?nl(Math.abs(e-t),1,50)/50:e>r?-nl(Math.abs(e-r),1,50)/50:0,nu=(e,t)=>[20*nd(e.x,35,t.width-35),20*nd(e.y,35,t.height-35)],np=e=>e.getRootNode?.()||window?.document,nh=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),nm=({x:e,y:t,width:r,height:n})=>({x:e,y:t,x2:e+r,y2:t+n}),nf=({x:e,y:t,x2:r,y2:n})=>({x:e,y:t,width:r-e,height:n-t}),nx=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),nb=(e,t)=>Math.ceil(Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x))*Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y))),ng=e=>!isNaN(e)&&isFinite(e),nv=Symbol.for("internals"),ny=["Enter"," ","Escape"],nw=(e,t)=>{};function nj(e){let t="nativeEvent"in e?e.nativeEvent:e,r=t.composedPath?.()?.[0]||e.target;return["INPUT","SELECT","TEXTAREA"].includes(r?.nodeName)||r?.hasAttribute("contenteditable")||!!r?.closest(".nokey")}let nN=(e,t)=>{let r="clientX"in e,n=r?e.clientX:e.touches?.[0].clientX,a=r?e.clientY:e.touches?.[0].clientY;return{x:n-(t?.left??0),y:a-(t?.top??0)}},nE=()=>"u">typeof navigator&&navigator?.userAgent?.indexOf("Mac")>=0,nS=({id:e,path:t,labelX:r,labelY:n,label:a,labelStyle:s,labelShowBg:i,labelBgStyle:o,labelBgPadding:l,labelBgBorderRadius:c,style:d,markerEnd:u,markerStart:p,interactionWidth:h=20})=>g.default.createElement(g.default.Fragment,null,g.default.createElement("path",{id:e,style:d,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:u,markerStart:p}),h&&g.default.createElement("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:h,className:"react-flow__edge-interaction"}),a&&ng(r)&&ng(n)?g.default.createElement(ni,{x:r,y:n,label:a,labelStyle:s,labelShowBg:i,labelBgStyle:o,labelBgPadding:l,labelBgBorderRadius:c}):null);function nk(e,t,r){return void 0===r?r:n=>{let a=t().edges.find(t=>t.id===e);a&&r(n,{...a})}}function n_({sourceX:e,sourceY:t,targetX:r,targetY:n}){let a=Math.abs(r-e)/2,s=Math.abs(n-t)/2;return[r<e?r+a:r-a,n<t?n+s:n-s,a,s]}function nC({sourceX:e,sourceY:t,targetX:r,targetY:n,sourceControlX:a,sourceControlY:s,targetControlX:i,targetControlY:o}){let l=.125*e+.375*a+.375*i+.125*r,c=.125*t+.375*s+.375*o+.125*n,d=Math.abs(l-e),u=Math.abs(c-t);return[l,c,d,u]}function nM({pos:e,x1:t,y1:r,x2:n,y2:a}){return e===f.Left||e===f.Right?[.5*(t+n),r]:[t,.5*(r+a)]}function nT({sourceX:e,sourceY:t,sourcePosition:r=f.Bottom,targetX:n,targetY:a,targetPosition:s=f.Top}){let[i,o]=nM({pos:r,x1:e,y1:t,x2:n,y2:a}),[l,c]=nM({pos:s,x1:n,y1:a,x2:e,y2:t}),[d,u,p,h]=nC({sourceX:e,sourceY:t,targetX:n,targetY:a,sourceControlX:i,sourceControlY:o,targetControlX:l,targetControlY:c});return[`M${e},${t} C${i},${o} ${l},${c} ${n},${a}`,d,u,p,h]}nS.displayName="BaseEdge",(t=d||(d={})).Strict="strict",t.Loose="loose",(r=u||(u={})).Free="free",r.Vertical="vertical",r.Horizontal="horizontal",(n=p||(p={})).Partial="partial",n.Full="full",(a=h||(h={})).Bezier="default",a.Straight="straight",a.Step="step",a.SmoothStep="smoothstep",a.SimpleBezier="simplebezier",(s=m||(m={})).Arrow="arrow",s.ArrowClosed="arrowclosed",(i=f||(f={})).Left="left",i.Top="top",i.Right="right",i.Bottom="bottom";let nA=(0,g.memo)(({sourceX:e,sourceY:t,targetX:r,targetY:n,sourcePosition:a=f.Bottom,targetPosition:s=f.Top,label:i,labelStyle:o,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u,style:p,markerEnd:h,markerStart:m,interactionWidth:x})=>{let[b,v,y]=nT({sourceX:e,sourceY:t,sourcePosition:a,targetX:r,targetY:n,targetPosition:s});return g.default.createElement(nS,{path:b,labelX:v,labelY:y,label:i,labelStyle:o,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u,style:p,markerEnd:h,markerStart:m,interactionWidth:x})});nA.displayName="SimpleBezierEdge";let nO={[f.Left]:{x:-1,y:0},[f.Right]:{x:1,y:0},[f.Top]:{x:0,y:-1},[f.Bottom]:{x:0,y:1}},nR=({source:e,sourcePosition:t=f.Bottom,target:r})=>t===f.Left||t===f.Right?e.x<r.x?{x:1,y:0}:{x:-1,y:0}:e.y<r.y?{x:0,y:1}:{x:0,y:-1},nD=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function n$({sourceX:e,sourceY:t,sourcePosition:r=f.Bottom,targetX:n,targetY:a,targetPosition:s=f.Top,borderRadius:i=5,centerX:o,centerY:l,offset:c=20}){let[d,u,p,h,m]=function({source:e,sourcePosition:t=f.Bottom,target:r,targetPosition:n=f.Top,center:a,offset:s}){let i,o,l=nO[t],c=nO[n],d={x:e.x+l.x*s,y:e.y+l.y*s},u={x:r.x+c.x*s,y:r.y+c.y*s},p=nR({source:d,sourcePosition:t,target:u}),h=0!==p.x?"x":"y",m=p[h],x=[],b={x:0,y:0},g={x:0,y:0},[v,y,w,j]=n_({sourceX:e.x,sourceY:e.y,targetX:r.x,targetY:r.y});if(l[h]*c[h]==-1){i=a.x??v,o=a.y??y;let e=[{x:i,y:d.y},{x:i,y:u.y}],t=[{x:d.x,y:o},{x:u.x,y:o}];x=l[h]===m?"x"===h?e:t:"x"===h?t:e}else{let a=[{x:d.x,y:u.y}],p=[{x:u.x,y:d.y}];if(x="x"===h?l.x===m?p:a:l.y===m?a:p,t===n){let t=Math.abs(e[h]-r[h]);if(t<=s){let n=Math.min(s-1,s-t);l[h]===m?b[h]=(d[h]>e[h]?-1:1)*n:g[h]=(u[h]>r[h]?-1:1)*n}}if(t!==n){let e="x"===h?"y":"x",t=l[h]===c[e],r=d[e]>u[e],n=d[e]<u[e];(1===l[h]&&(!t&&r||t&&n)||1!==l[h]&&(!t&&n||t&&r))&&(x="x"===h?a:p)}let f={x:d.x+b.x,y:d.y+b.y},v={x:u.x+g.x,y:u.y+g.y};Math.max(Math.abs(f.x-x[0].x),Math.abs(v.x-x[0].x))>=Math.max(Math.abs(f.y-x[0].y),Math.abs(v.y-x[0].y))?(i=(f.x+v.x)/2,o=x[0].y):(i=x[0].x,o=(f.y+v.y)/2)}return[[e,{x:d.x+b.x,y:d.y+b.y},...x,{x:u.x+g.x,y:u.y+g.y},r],i,o,w,j]}({source:{x:e,y:t},sourcePosition:r,target:{x:n,y:a},targetPosition:s,center:{x:o,y:l},offset:c});return[d.reduce((e,t,r)=>e+(r>0&&r<d.length-1?function(e,t,r,n){let a=Math.min(nD(e,t)/2,nD(t,r)/2,n),{x:s,y:i}=t;if(e.x===s&&s===r.x||e.y===i&&i===r.y)return`L${s} ${i}`;if(e.y===i){let t=e.x<r.x?-1:1,n=e.y<r.y?1:-1;return`L ${s+a*t},${i}Q ${s},${i} ${s},${i+a*n}`}let o=e.x<r.x?1:-1,l=e.y<r.y?-1:1;return`L ${s},${i+a*l}Q ${s},${i} ${s+a*o},${i}`}(d[r-1],t,d[r+1],i):`${0===r?"M":"L"}${t.x} ${t.y}`),""),u,p,h,m]}let nL=(0,g.memo)(({sourceX:e,sourceY:t,targetX:r,targetY:n,label:a,labelStyle:s,labelShowBg:i,labelBgStyle:o,labelBgPadding:l,labelBgBorderRadius:c,style:d,sourcePosition:u=f.Bottom,targetPosition:p=f.Top,markerEnd:h,markerStart:m,pathOptions:x,interactionWidth:b})=>{let[v,y,w]=n$({sourceX:e,sourceY:t,sourcePosition:u,targetX:r,targetY:n,targetPosition:p,borderRadius:x?.borderRadius,offset:x?.offset});return g.default.createElement(nS,{path:v,labelX:y,labelY:w,label:a,labelStyle:s,labelShowBg:i,labelBgStyle:o,labelBgPadding:l,labelBgBorderRadius:c,style:d,markerEnd:h,markerStart:m,interactionWidth:b})});nL.displayName="SmoothStepEdge";let nP=(0,g.memo)(e=>g.default.createElement(nL,{...e,pathOptions:(0,g.useMemo)(()=>({borderRadius:0,offset:e.pathOptions?.offset}),[e.pathOptions?.offset])}));nP.displayName="StepEdge";let nI=(0,g.memo)(({sourceX:e,sourceY:t,targetX:r,targetY:n,label:a,labelStyle:s,labelShowBg:i,labelBgStyle:o,labelBgPadding:l,labelBgBorderRadius:c,style:d,markerEnd:u,markerStart:p,interactionWidth:h})=>{let[m,f,x]=function({sourceX:e,sourceY:t,targetX:r,targetY:n}){let[a,s,i,o]=n_({sourceX:e,sourceY:t,targetX:r,targetY:n});return[`M ${e},${t}L ${r},${n}`,a,s,i,o]}({sourceX:e,sourceY:t,targetX:r,targetY:n});return g.default.createElement(nS,{path:m,labelX:f,labelY:x,label:a,labelStyle:s,labelShowBg:i,labelBgStyle:o,labelBgPadding:l,labelBgBorderRadius:c,style:d,markerEnd:u,markerStart:p,interactionWidth:h})});function nB(e,t){return e>=0?.5*e:25*t*Math.sqrt(-e)}function nF({pos:e,x1:t,y1:r,x2:n,y2:a,c:s}){switch(e){case f.Left:return[t-nB(t-n,s),r];case f.Right:return[t+nB(n-t,s),r];case f.Top:return[t,r-nB(r-a,s)];case f.Bottom:return[t,r+nB(a-r,s)]}}function nz({sourceX:e,sourceY:t,sourcePosition:r=f.Bottom,targetX:n,targetY:a,targetPosition:s=f.Top,curvature:i=.25}){let[o,l]=nF({pos:r,x1:e,y1:t,x2:n,y2:a,c:i}),[c,d]=nF({pos:s,x1:n,y1:a,x2:e,y2:t,c:i}),[u,p,h,m]=nC({sourceX:e,sourceY:t,targetX:n,targetY:a,sourceControlX:o,sourceControlY:l,targetControlX:c,targetControlY:d});return[`M${e},${t} C${o},${l} ${c},${d} ${n},${a}`,u,p,h,m]}nI.displayName="StraightEdge";let nq=(0,g.memo)(({sourceX:e,sourceY:t,targetX:r,targetY:n,sourcePosition:a=f.Bottom,targetPosition:s=f.Top,label:i,labelStyle:o,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u,style:p,markerEnd:h,markerStart:m,pathOptions:x,interactionWidth:b})=>{let[v,y,w]=nz({sourceX:e,sourceY:t,sourcePosition:a,targetX:r,targetY:n,targetPosition:s,curvature:x?.curvature});return g.default.createElement(nS,{path:v,labelX:y,labelY:w,label:i,labelStyle:o,labelShowBg:l,labelBgStyle:c,labelBgPadding:d,labelBgBorderRadius:u,style:p,markerEnd:h,markerStart:m,interactionWidth:b})});nq.displayName="BezierEdge";let nH=(0,g.createContext)(null),nU=nH.Provider;nH.Consumer;let nW=(e,t)=>{if(void 0===e)return"";if("string"==typeof e)return e;let r=t?`${t}__`:"";return`${r}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join("&")}`},nV=({x:e,y:t},[r,n,a],s,[i,o])=>{let l={x:(e-r)/a,y:(t-n)/a};return s?{x:i*Math.round(l.x/i),y:o*Math.round(l.y/o)}:l},nY=({x:e,y:t},[r,n,a])=>({x:e*a+r,y:t*a+n}),nX=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};let r=(e.width??0)*t[0],n=(e.height??0)*t[1],a={x:e.position.x-r,y:e.position.y-n};return{...a,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-r,y:e.positionAbsolute.y-n}:a}},nG=(e,t=[0,0])=>0===e.length?{x:0,y:0,width:0,height:0}:nf(e.reduce((e,r)=>{let{x:n,y:a}=nX(r,t).positionAbsolute;return nh(e,nm({x:n,y:a,width:r.width||0,height:r.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})),nK=(e,t,[r,n,a]=[0,0,1],s=!1,i=!1,o=[0,0])=>{let l={x:(t.x-r)/a,y:(t.y-n)/a,width:t.width/a,height:t.height/a},c=[];return e.forEach(e=>{let{width:t,height:r,selectable:n=!0,hidden:a=!1}=e;if(i&&!n||a)return!1;let{positionAbsolute:d}=nX(e,o),u=nb(l,{x:d.x,y:d.y,width:t||0,height:r||0}),p=void 0===t||void 0===r||null===t||null===r,h=(t||0)*(r||0);(p||s&&u>0||u>=h||e.dragging)&&c.push(e)}),c},nQ=(e,t)=>{let r=e.map(e=>e.id);return t.filter(e=>r.includes(e.source)||r.includes(e.target))},nJ=(e,t,r,n,a,s=.1)=>{let i=nl(Math.min(t/(e.width*(1+s)),r/(e.height*(1+s))),n,a);return{x:t/2-(e.x+e.width/2)*i,y:r/2-(e.y+e.height/2)*i,zoom:i}},nZ=(e,t=0)=>e.transition().duration(t);function n0(e,t,r,n){return(t[r]||[]).reduce((t,a)=>(`${e.id}-${a.id}-${r}`!==n&&t.push({id:a.id||null,type:r,nodeId:e.id,x:(e.positionAbsolute?.x??0)+a.x+a.width/2,y:(e.positionAbsolute?.y??0)+a.y+a.height/2}),t),[])}let n1={source:null,target:null,sourceHandle:null,targetHandle:null},n2=()=>({handleDomNode:null,isValid:!1,connection:n1,endHandle:null});function n5(e,t,r,n,a,s,i){let o="target"===a,l=i.querySelector(`.react-flow__handle[data-id="${e?.nodeId}-${e?.id}-${e?.type}"]`),c={...n2(),handleDomNode:l};if(l){let e=n3(void 0,l),a=l.getAttribute("data-nodeid"),i=l.getAttribute("data-handleid"),u=l.classList.contains("connectable"),p=l.classList.contains("connectableend"),h={source:o?a:r,sourceHandle:o?i:n,target:o?r:a,targetHandle:o?n:i};c.connection=h,u&&p&&(t===d.Strict?o&&"source"===e||!o&&"target"===e:a!==r||i!==n)&&(c.endHandle={nodeId:a,handleId:i,type:e},c.isValid=s(h))}return c}function n3(e,t){return e?e:t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null}function n4(e){e?.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function n6({event:e,handleId:t,nodeId:r,onConnect:n,isTarget:a,getState:s,setState:i,isValidConnection:o,edgeUpdaterType:l,onReconnectEnd:c}){let d,u,p=np(e.target),{connectionMode:h,domNode:m,autoPanOnConnect:f,connectionRadius:x,onConnectStart:b,panBy:g,getNodes:v,cancelConnection:y}=s(),w=0,{x:j,y:N}=nN(e),E=n3(l,p?.elementFromPoint(j,N)),S=m?.getBoundingClientRect();if(!S||!E)return;let k=nN(e,S),_=!1,C=null,M=!1,T=null,A=function({nodes:e,nodeId:t,handleId:r,handleType:n}){return e.reduce((e,a)=>{if(a[nv]){let{handleBounds:s}=a[nv],i=[],o=[];s&&(i=n0(a,s,"source",`${t}-${r}-${n}`),o=n0(a,s,"target",`${t}-${r}-${n}`)),e.push(...i,...o)}return e},[])}({nodes:v(),nodeId:r,handleId:t,handleType:E}),O=()=>{if(!f)return;let[e,t]=nu(k,S);g({x:e,y:t}),w=requestAnimationFrame(O)};function R(e){var n,l;let c,{transform:m}=s();k=nN(e,S);let{handle:f,validHandleResult:b}=function(e,t,r,n,a,s){let{x:i,y:o}=nN(e),l=t.elementsFromPoint(i,o).find(e=>e.classList.contains("react-flow__handle"));if(l){let e=l.getAttribute("data-nodeid");if(e){let t=n3(void 0,l),n=l.getAttribute("data-handleid"),i=s({nodeId:e,id:n,type:t});if(i){let s=a.find(r=>r.nodeId===e&&r.type===t&&r.id===n);return{handle:{id:n,type:t,nodeId:e,x:s?.x||r.x,y:s?.y||r.y},validHandleResult:i}}}}let c=[],d=1/0;if(a.forEach(e=>{let t=Math.sqrt((e.x-r.x)**2+(e.y-r.y)**2);if(t<=n){let r=s(e);t<=d&&(t<d?c=[{handle:e,validHandleResult:r}]:t===d&&c.push({handle:e,validHandleResult:r}),d=t)}}),!c.length)return{handle:null,validHandleResult:n2()};if(1===c.length)return c[0];let u=c.some(({validHandleResult:e})=>e.isValid),p=c.some(({handle:e})=>"target"===e.type);return c.find(({handle:e,validHandleResult:t})=>p?"target"===e.type:!u||t.isValid)||c[0]}(e,p,nV(k,m,!1,[1,1]),x,A,e=>n5(e,h,r,t,a?"target":"source",o,p));if(d=f,_||(O(),_=!0),T=b.handleDomNode,C=b.connection,M=b.isValid,i({connectionPosition:d&&M?nY({x:d.x,y:d.y},m):k,connectionStatus:(n=!!d,c=null,(l=M)?c="valid":n&&!l&&(c="invalid"),c),connectionEndHandle:b.endHandle}),!d&&!M&&!T)return n4(u);C.source!==C.target&&T&&(n4(u),u=T,T.classList.add("connecting","react-flow__handle-connecting"),T.classList.toggle("valid",M),T.classList.toggle("react-flow__handle-valid",M))}function D(e){(d||T)&&C&&M&&n?.(C),s().onConnectEnd?.(e),l&&c?.(e),n4(u),y(),cancelAnimationFrame(w),_=!1,M=!1,C=null,T=null,p.removeEventListener("mousemove",R),p.removeEventListener("mouseup",D),p.removeEventListener("touchmove",R),p.removeEventListener("touchend",D)}i({connectionPosition:k,connectionStatus:null,connectionNodeId:r,connectionHandleId:t,connectionHandleType:E,connectionStartHandle:{nodeId:r,handleId:t,type:E},connectionEndHandle:null}),b?.(e,{nodeId:r,handleId:t,handleType:E}),p.addEventListener("mousemove",R),p.addEventListener("mouseup",D),p.addEventListener("touchmove",R),p.addEventListener("touchend",D)}let n9=()=>!0,n7=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),n8=(0,g.forwardRef)(({type:e="source",position:t=f.Top,isValidConnection:r,isConnectable:n=!0,isConnectableStart:a=!0,isConnectableEnd:s=!0,id:i,onConnect:o,children:l,className:c,onMouseDown:d,onTouchStart:u,...p},h)=>{let m=i||null,x="target"===e,b=nr(),v=(0,g.useContext)(nH),{connectOnClick:y,noPanClassName:w}=nt(n7,eL),{connecting:j,clickConnecting:N}=nt(t=>{let{connectionStartHandle:r,connectionEndHandle:n,connectionClickStartHandle:a}=t;return{connecting:r?.nodeId===v&&r?.handleId===m&&r?.type===e||n?.nodeId===v&&n?.handleId===m&&n?.type===e,clickConnecting:a?.nodeId===v&&a?.handleId===m&&a?.type===e}},eL);v||b.getState().onError?.("010","Handle: No node id found. Make sure to only use a Handle inside a custom Node.");let E=e=>{let{defaultEdgeOptions:t,onConnect:r,hasDefaultEdges:n}=b.getState(),a={...t,...e};if(n){let{edges:e,setEdges:t}=b.getState();t(((e,t)=>{let r,n;return e.source&&e.target?(n=r="id"in e&&"source"in e&&"target"in e?{...e}:{...e,id:(({source:e,sourceHandle:t,target:r,targetHandle:n})=>`reactflow__edge-${e}${t||""}-${r}${n||""}`)(e)},t.some(e=>e.source===n.source&&e.target===n.target&&(e.sourceHandle===n.sourceHandle||!e.sourceHandle&&!n.sourceHandle)&&(e.targetHandle===n.targetHandle||!e.targetHandle&&!n.targetHandle)))?t:t.concat(r):(nw("006","Can't create edge. An edge needs a source and a target."),t)})(a,e))}r?.(a),o?.(a)},S=e=>{if(!v)return;let t="clientX"in e;a&&(t&&0===e.button||!t)&&n6({event:e,handleId:m,nodeId:v,onConnect:E,isTarget:x,getState:b.getState,setState:b.setState,isValidConnection:r||b.getState().isValidConnection||n9}),t?d?.(e):u?.(e)};return g.default.createElement("div",{"data-handleid":m,"data-nodeid":v,"data-handlepos":t,"data-id":`${v}-${m}-${e}`,className:e_(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",w,c,{source:!x,target:x,connectable:n,connectablestart:a,connectableend:s,connecting:N,connectionindicator:n&&(a&&!j||s&&j)}]),onMouseDown:S,onTouchStart:S,onClick:y?t=>{let{onClickConnectStart:n,onClickConnectEnd:s,connectionClickStartHandle:i,connectionMode:o,isValidConnection:l}=b.getState();if(!v||!i&&!a)return;if(!i){n?.(t,{nodeId:v,handleId:m,handleType:e}),b.setState({connectionClickStartHandle:{nodeId:v,type:e,handleId:m}});return}let c=np(t.target),d=r||l||n9,{connection:u,isValid:p}=n5({nodeId:v,id:m,type:e},o,i.nodeId,i.handleId||null,i.type,d,c);p&&E(u),s?.(t),b.setState({connectionClickStartHandle:null})}:void 0,ref:h,...p},l)});n8.displayName="Handle";var ae=(0,g.memo)(n8);let at=({data:e,isConnectable:t,targetPosition:r=f.Top,sourcePosition:n=f.Bottom})=>g.default.createElement(g.default.Fragment,null,g.default.createElement(ae,{type:"target",position:r,isConnectable:t}),e?.label,g.default.createElement(ae,{type:"source",position:n,isConnectable:t}));at.displayName="DefaultNode";var ar=(0,g.memo)(at);let an=({data:e,isConnectable:t,sourcePosition:r=f.Bottom})=>g.default.createElement(g.default.Fragment,null,e?.label,g.default.createElement(ae,{type:"source",position:r,isConnectable:t}));an.displayName="InputNode";var aa=(0,g.memo)(an);let as=({data:e,isConnectable:t,targetPosition:r=f.Top})=>g.default.createElement(g.default.Fragment,null,g.default.createElement(ae,{type:"target",position:r,isConnectable:t}),e?.label);as.displayName="OutputNode";var ai=(0,g.memo)(as);let ao=()=>null;ao.displayName="GroupNode";let al=e=>({selectedNodes:e.getNodes().filter(e=>e.selected),selectedEdges:e.edges.filter(e=>e.selected).map(e=>({...e}))}),ac=e=>e.id;function ad(e,t){return eL(e.selectedNodes.map(ac),t.selectedNodes.map(ac))&&eL(e.selectedEdges.map(ac),t.selectedEdges.map(ac))}let au=(0,g.memo)(({onSelectionChange:e})=>{let t=nr(),{selectedNodes:r,selectedEdges:n}=nt(al,ad);return(0,g.useEffect)(()=>{let a={nodes:r,edges:n};e?.(a),t.getState().onSelectionChange.forEach(e=>e(a))},[r,n,e]),null});au.displayName="SelectionListener";let ap=e=>!!e.onSelectionChange;function ah({onSelectionChange:e}){let t=nt(ap);return e||t?g.default.createElement(au,{onSelectionChange:e}):null}let am=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function af(e,t){(0,g.useEffect)(()=>{void 0!==e&&t(e)},[e])}function ax(e,t,r){(0,g.useEffect)(()=>{void 0!==t&&r({[e]:t})},[t])}let ab=({nodes:e,edges:t,defaultNodes:r,defaultEdges:n,onConnect:a,onConnectStart:s,onConnectEnd:i,onClickConnectStart:o,onClickConnectEnd:l,nodesDraggable:c,nodesConnectable:d,nodesFocusable:u,edgesFocusable:p,edgesUpdatable:h,elevateNodesOnSelect:m,minZoom:f,maxZoom:x,nodeExtent:b,onNodesChange:v,onEdgesChange:y,elementsSelectable:w,connectionMode:j,snapGrid:N,snapToGrid:E,translateExtent:S,connectOnClick:k,defaultEdgeOptions:_,fitView:C,fitViewOptions:M,onNodesDelete:T,onEdgesDelete:A,onNodeDrag:O,onNodeDragStart:R,onNodeDragStop:D,onSelectionDrag:$,onSelectionDragStart:L,onSelectionDragStop:P,noPanClassName:I,nodeOrigin:B,rfId:F,autoPanOnConnect:z,autoPanOnNodeDrag:q,onError:H,connectionRadius:U,isValidConnection:W,nodeDragThreshold:V})=>{let{setNodes:Y,setEdges:X,setDefaultNodesAndEdges:G,setMinZoom:K,setMaxZoom:Q,setTranslateExtent:J,setNodeExtent:Z,reset:ee}=nt(am,eL),et=nr();return(0,g.useEffect)(()=>(G(r,n?.map(e=>({...e,..._}))),()=>{ee()}),[]),ax("defaultEdgeOptions",_,et.setState),ax("connectionMode",j,et.setState),ax("onConnect",a,et.setState),ax("onConnectStart",s,et.setState),ax("onConnectEnd",i,et.setState),ax("onClickConnectStart",o,et.setState),ax("onClickConnectEnd",l,et.setState),ax("nodesDraggable",c,et.setState),ax("nodesConnectable",d,et.setState),ax("nodesFocusable",u,et.setState),ax("edgesFocusable",p,et.setState),ax("edgesUpdatable",h,et.setState),ax("elementsSelectable",w,et.setState),ax("elevateNodesOnSelect",m,et.setState),ax("snapToGrid",E,et.setState),ax("snapGrid",N,et.setState),ax("onNodesChange",v,et.setState),ax("onEdgesChange",y,et.setState),ax("connectOnClick",k,et.setState),ax("fitViewOnInit",C,et.setState),ax("fitViewOnInitOptions",M,et.setState),ax("onNodesDelete",T,et.setState),ax("onEdgesDelete",A,et.setState),ax("onNodeDrag",O,et.setState),ax("onNodeDragStart",R,et.setState),ax("onNodeDragStop",D,et.setState),ax("onSelectionDrag",$,et.setState),ax("onSelectionDragStart",L,et.setState),ax("onSelectionDragStop",P,et.setState),ax("noPanClassName",I,et.setState),ax("nodeOrigin",B,et.setState),ax("rfId",F,et.setState),ax("autoPanOnConnect",z,et.setState),ax("autoPanOnNodeDrag",q,et.setState),ax("onError",H,et.setState),ax("connectionRadius",U,et.setState),ax("isValidConnection",W,et.setState),ax("nodeDragThreshold",V,et.setState),af(e,Y),af(t,X),af(f,K),af(x,Q),af(S,J),af(b,Z),null},ag={display:"none"},av={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},ay="react-flow__node-desc",aw="react-flow__edge-desc",aj=e=>e.ariaLiveMessage;function aN({rfId:e}){let t=nt(aj);return g.default.createElement("div",{id:`react-flow__aria-live-${e}`,"aria-live":"assertive","aria-atomic":"true",style:av},t)}function aE({rfId:e,disableKeyboardA11y:t}){return g.default.createElement(g.default.Fragment,null,g.default.createElement("div",{id:`${ay}-${e}`,style:ag},"Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "),g.default.createElement("div",{id:`${aw}-${e}`,style:ag},"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."),!t&&g.default.createElement(aN,{rfId:e}))}var aS=(e=null,t={actInsideInputWithModifier:!0})=>{let[r,n]=(0,g.useState)(!1),a=(0,g.useRef)(!1),s=(0,g.useRef)(new Set([])),[i,o]=(0,g.useMemo)(()=>{if(null!==e){let t=(Array.isArray(e)?e:[e]).filter(e=>"string"==typeof e).map(e=>e.split("+")),r=t.reduce((e,t)=>e.concat(...t),[]);return[t,r]}return[[],[]]},[e]);return(0,g.useEffect)(()=>{let r="u">typeof document?document:null,l=t?.target||r;if(null!==e){let e=e=>{if(a.current=e.ctrlKey||e.metaKey||e.shiftKey,(!a.current||a.current&&!t.actInsideInputWithModifier)&&nj(e))return!1;let r=a_(e.code,o);s.current.add(e[r]),ak(i,s.current,!1)&&(e.preventDefault(),n(!0))},r=e=>{if((!a.current||a.current&&!t.actInsideInputWithModifier)&&nj(e))return!1;let r=a_(e.code,o);ak(i,s.current,!0)?(n(!1),s.current.clear()):s.current.delete(e[r]),"Meta"===e.key&&s.current.clear(),a.current=!1},c=()=>{s.current.clear(),n(!1)};return l?.addEventListener("keydown",e),l?.addEventListener("keyup",r),window.addEventListener("blur",c),()=>{l?.removeEventListener("keydown",e),l?.removeEventListener("keyup",r),window.removeEventListener("blur",c)}}},[e,n]),r};function ak(e,t,r){return e.filter(e=>r||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function a_(e,t){return t.includes(e)?"code":"key"}function aC(e,t,r){e.forEach(n=>{let a=n.parentNode||n.parentId;if(a&&!e.has(a))throw Error(`Parent node ${a} not found`);if(a||r?.[n.id]){let{x:a,y:s,z:i}=function e(t,r,n,a){let s=t.parentNode||t.parentId;if(!s)return n;let i=r.get(s),o=nX(i,a);return e(i,r,{x:(n.x??0)+o.x,y:(n.y??0)+o.y,z:(i[nv]?.z??0)>(n.z??0)?i[nv]?.z??0:n.z??0},a)}(n,e,{...n.position,z:n[nv]?.z??0},t);n.positionAbsolute={x:a,y:s},n[nv].z=i,r?.[n.id]&&(n[nv].isParent=!0)}})}function aM(e,t,r,n){let a=new Map,s={},i=1e3*!!n;return e.forEach(e=>{let r=(ng(e.zIndex)?e.zIndex:0)+(e.selected?i:0),n=t.get(e.id),o={...e,positionAbsolute:{x:e.position.x,y:e.position.y}},l=e.parentNode||e.parentId;l&&(s[l]=!0),Object.defineProperty(o,nv,{enumerable:!1,value:{handleBounds:n?.type&&n?.type!==e.type?void 0:n?.[nv]?.handleBounds,z:r}}),a.set(e.id,o)}),aC(a,r,s),a}function aT(e,t={}){let{getNodes:r,width:n,height:a,minZoom:s,maxZoom:i,d3Zoom:o,d3Selection:l,fitViewOnInitDone:c,fitViewOnInit:d,nodeOrigin:u}=e(),p=t.initial&&!c&&d;if(o&&l&&(p||!t.initial)){let e=r().filter(e=>{let r=t.includeHiddenNodes?e.width&&e.height:!e.hidden;return t.nodes?.length?r&&t.nodes.some(t=>t.id===e.id):r}),c=e.every(e=>e.width&&e.height);if(e.length>0&&c){let{x:r,y:c,zoom:d}=nJ(nG(e,u),n,a,t.minZoom??s,t.maxZoom??i,t.padding??.1),p=rV.translate(r,c).scale(d);return"number"==typeof t.duration&&t.duration>0?o.transform(nZ(l,t.duration),p):o.transform(l,p),!0}}return!1}function aA({changedNodes:e,changedEdges:t,get:r,set:n}){let{nodeInternals:a,edges:s,onNodesChange:i,onEdgesChange:o,hasDefaultNodes:l,hasDefaultEdges:c}=r();e?.length&&(l&&n({nodeInternals:(e.forEach(e=>{let t=a.get(e.id);t&&a.set(t.id,{...t,[nv]:t[nv],selected:e.selected})}),new Map(a))}),i?.(e)),t?.length&&(c&&n({edges:s.map(e=>{let r=t.find(t=>t.id===e.id);return r&&(e.selected=r.selected),e})}),o?.(t))}let aO=()=>{},aR={zoomIn:aO,zoomOut:aO,zoomTo:aO,getZoom:()=>1,setViewport:aO,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:aO,fitBounds:aO,project:e=>e,screenToFlowPosition:e=>e,flowToScreenPosition:e=>e,viewportInitialized:!1},aD=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection});function a$(){let e=(()=>{let e=nr(),{d3Zoom:t,d3Selection:r}=nt(aD,eL);return(0,g.useMemo)(()=>r&&t?{zoomIn:e=>t.scaleBy(nZ(r,e?.duration),1.2),zoomOut:e=>t.scaleBy(nZ(r,e?.duration),1/1.2),zoomTo:(e,n)=>t.scaleTo(nZ(r,n?.duration),e),getZoom:()=>e.getState().transform[2],setViewport:(n,a)=>{let[s,i,o]=e.getState().transform,l=rV.translate(n.x??s,n.y??i).scale(n.zoom??o);t.transform(nZ(r,a?.duration),l)},getViewport:()=>{let[t,r,n]=e.getState().transform;return{x:t,y:r,zoom:n}},fitView:t=>aT(e.getState,t),setCenter:(n,a,s)=>{let{width:i,height:o,maxZoom:l}=e.getState(),c=void 0!==s?.zoom?s.zoom:l,d=i/2-n*c,u=o/2-a*c,p=rV.translate(d,u).scale(c);t.transform(nZ(r,s?.duration),p)},fitBounds:(n,a)=>{let{width:s,height:i,minZoom:o,maxZoom:l}=e.getState(),{x:c,y:d,zoom:u}=nJ(n,s,i,o,l,a?.padding??.1),p=rV.translate(c,d).scale(u);t.transform(nZ(r,a?.duration),p)},project:t=>{let{transform:r,snapToGrid:n,snapGrid:a}=e.getState();return console.warn("[DEPRECATED] `project` is deprecated. Instead use `screenToFlowPosition`. There is no need to subtract the react flow bounds anymore! https://reactflow.dev/api-reference/types/react-flow-instance#screen-to-flow-position"),nV(t,r,n,a)},screenToFlowPosition:t=>{let{transform:r,snapToGrid:n,snapGrid:a,domNode:s}=e.getState();if(!s)return t;let{x:i,y:o}=s.getBoundingClientRect();return nV({x:t.x-i,y:t.y-o},r,n,a)},flowToScreenPosition:t=>{let{transform:r,domNode:n}=e.getState();if(!n)return t;let{x:a,y:s}=n.getBoundingClientRect(),i=nY(t,r);return{x:i.x+a,y:i.y+s}},viewportInitialized:!0}:aR,[t,r])})(),t=nr(),r=(0,g.useCallback)(()=>t.getState().getNodes().map(e=>({...e})),[]),n=(0,g.useCallback)(e=>t.getState().nodeInternals.get(e),[]),a=(0,g.useCallback)(()=>{let{edges:e=[]}=t.getState();return e.map(e=>({...e}))},[]),s=(0,g.useCallback)(e=>{let{edges:r=[]}=t.getState();return r.find(t=>t.id===e)},[]),i=(0,g.useCallback)(e=>{let{getNodes:r,setNodes:n,hasDefaultNodes:a,onNodesChange:s}=t.getState(),i=r(),o="function"==typeof e?e(i):e;a?n(o):s&&s(0===o.length?i.map(e=>({type:"remove",id:e.id})):o.map(e=>({item:e,type:"reset"})))},[]),o=(0,g.useCallback)(e=>{let{edges:r=[],setEdges:n,hasDefaultEdges:a,onEdgesChange:s}=t.getState(),i="function"==typeof e?e(r):e;a?n(i):s&&s(0===i.length?r.map(e=>({type:"remove",id:e.id})):i.map(e=>({item:e,type:"reset"})))},[]),l=(0,g.useCallback)(e=>{let r=Array.isArray(e)?e:[e],{getNodes:n,setNodes:a,hasDefaultNodes:s,onNodesChange:i}=t.getState();s?a([...n(),...r]):i&&i(r.map(e=>({item:e,type:"add"})))},[]),c=(0,g.useCallback)(e=>{let r=Array.isArray(e)?e:[e],{edges:n=[],setEdges:a,hasDefaultEdges:s,onEdgesChange:i}=t.getState();s?a([...n,...r]):i&&i(r.map(e=>({item:e,type:"add"})))},[]),d=(0,g.useCallback)(()=>{let{getNodes:e,edges:r=[],transform:n}=t.getState(),[a,s,i]=n;return{nodes:e().map(e=>({...e})),edges:r.map(e=>({...e})),viewport:{x:a,y:s,zoom:i}}},[]),u=(0,g.useCallback)(({nodes:e,edges:r})=>{let{nodeInternals:n,getNodes:a,edges:s,hasDefaultNodes:i,hasDefaultEdges:o,onNodesDelete:l,onEdgesDelete:c,onNodesChange:d,onEdgesChange:u}=t.getState(),p=(e||[]).map(e=>e.id),h=(r||[]).map(e=>e.id),m=a().reduce((e,t)=>{let r=t.parentNode||t.parentId,n=!p.includes(t.id)&&r&&e.find(e=>e.id===r);return("boolean"!=typeof t.deletable||t.deletable)&&(p.includes(t.id)||n)&&e.push(t),e},[]),f=s.filter(e=>"boolean"!=typeof e.deletable||e.deletable),x=f.filter(e=>h.includes(e.id));if(m||x){let e=[...x,...nQ(m,f)],r=e.reduce((e,t)=>(e.includes(t.id)||e.push(t.id),e),[]);(o||i)&&(o&&t.setState({edges:s.filter(e=>!r.includes(e.id))}),i&&(m.forEach(e=>{n.delete(e.id)}),t.setState({nodeInternals:new Map(n)}))),r.length>0&&(c?.(e),u&&u(r.map(e=>({id:e,type:"remove"})))),m.length>0&&(l?.(m),d&&d(m.map(e=>({id:e.id,type:"remove"}))))}},[]),p=(0,g.useCallback)(e=>{let r=ng(e.width)&&ng(e.height)&&ng(e.x)&&ng(e.y),n=r?null:t.getState().nodeInternals.get(e.id);return r||n?[r?e:nx(n),n,r]:[null,null,r]},[]),h=(0,g.useCallback)((e,r=!0,n)=>{let[a,s,i]=p(e);return a?(n||t.getState().getNodes()).filter(e=>{if(!i&&(e.id===s.id||!e.positionAbsolute))return!1;let t=nb(nx(e),a);return r&&t>0||t>=a.width*a.height}):[]},[]),m=(0,g.useCallback)((e,t,r=!0)=>{let[n]=p(e);if(!n)return!1;let a=nb(n,t);return r&&a>0||a>=n.width*n.height},[]);return(0,g.useMemo)(()=>({...e,getNodes:r,getNode:n,getEdges:a,getEdge:s,setNodes:i,setEdges:o,addNodes:l,addEdges:c,toObject:d,deleteElements:u,getIntersectingNodes:h,isNodeIntersecting:m}),[e,r,n,a,s,i,o,l,c,d,u,h,m])}let aL={actInsideInputWithModifier:!1},aP={position:"absolute",width:"100%",height:"100%",top:0,left:0},aI=e=>({x:e.x,y:e.y,zoom:e.k}),aB=(e,t)=>e.target.closest(`.${t}`),aF=(e,t)=>2===t&&Array.isArray(e)&&e.includes(2),az=e=>{let t=e.ctrlKey&&nE()?10:1;return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*t},aq=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),aH=({onMove:e,onMoveStart:t,onMoveEnd:r,onPaneContextMenu:n,zoomOnScroll:a=!0,zoomOnPinch:s=!0,panOnScroll:i=!1,panOnScrollSpeed:o=.5,panOnScrollMode:l=u.Free,zoomOnDoubleClick:c=!0,elementsSelectable:d,panOnDrag:p=!0,defaultViewport:h,translateExtent:m,minZoom:f,maxZoom:x,zoomActivationKeyCode:b,preventScrolling:v=!0,children:y,noWheelClassName:w,noPanClassName:j})=>{let N,E=(0,g.useRef)(),S=nr(),k=(0,g.useRef)(!1),_=(0,g.useRef)(!1),C=(0,g.useRef)(null),M=(0,g.useRef)({x:0,y:0,zoom:0}),{d3Zoom:T,d3Selection:A,d3ZoomHandler:O,userSelectionActive:R}=nt(aq,eL),D=aS(b),$=(0,g.useRef)(0),L=(0,g.useRef)(!1),P=(0,g.useRef)();return N=nr(),(0,g.useEffect)(()=>{let e,t=()=>{if(!C.current)return;let e=no(C.current);(0===e.height||0===e.width)&&N.getState().onError?.("004","The React Flow parent container needs a width and a height to render the graph."),N.setState({width:e.width||500,height:e.height||500})};return t(),window.addEventListener("resize",t),C.current&&(e=new ResizeObserver(()=>t())).observe(C.current),()=>{window.removeEventListener("resize",t),e&&C.current&&e.unobserve(C.current)}},[]),(0,g.useEffect)(()=>{if(C.current){let e=C.current.getBoundingClientRect(),t=r1().scaleExtent([f,x]).translateExtent(m),r=tg(C.current).call(t),n=rV.translate(h.x,h.y).scale(nl(h.zoom,f,x)),a=[[0,0],[e.width,e.height]],s=t.constrain()(n,a,m);t.transform(r,s),t.wheelDelta(az),S.setState({d3Zoom:t,d3Selection:r,d3ZoomHandler:r.on("wheel.zoom"),transform:[s.x,s.y,s.k],domNode:C.current.closest(".react-flow")})}},[]),(0,g.useEffect)(()=>{A&&T&&(!i||D||R?void 0!==O&&A.on("wheel.zoom",function(e,t){if(!v&&"wheel"===e.type&&!e.ctrlKey||aB(e,w))return null;e.preventDefault(),O.call(this,e,t)},{passive:!1}):A.on("wheel.zoom",n=>{if(aB(n,w))return!1;n.preventDefault(),n.stopImmediatePropagation();let a=A.property("__zoom").k||1;if(n.ctrlKey&&s){let e=t_(n),t=a*Math.pow(2,az(n));T.scaleTo(A,t,e,n);return}let i=1===n.deltaMode?20:1,c=l===u.Vertical?0:n.deltaX*i,d=l===u.Horizontal?0:n.deltaY*i;!nE()&&n.shiftKey&&l!==u.Vertical&&(c=n.deltaY*i,d=0),T.translateBy(A,-(c/a)*o,-(d/a)*o,{internal:!0});let p=aI(A.property("__zoom")),{onViewportChangeStart:h,onViewportChange:m,onViewportChangeEnd:f}=S.getState();clearTimeout(P.current),L.current||(L.current=!0,t?.(n,p),h?.(p)),L.current&&(e?.(n,p),m?.(p),P.current=setTimeout(()=>{r?.(n,p),f?.(p),L.current=!1},150))},{passive:!1}))},[R,i,l,A,T,O,D,s,v,w,t,e,r]),(0,g.useEffect)(()=>{T&&T.on("start",e=>{if(!e.sourceEvent||e.sourceEvent.internal)return null;$.current=e.sourceEvent?.button;let{onViewportChangeStart:r}=S.getState(),n=aI(e.transform);k.current=!0,M.current=n,e.sourceEvent?.type==="mousedown"&&S.setState({paneDragging:!0}),r?.(n),t?.(e.sourceEvent,n)})},[T,t]),(0,g.useEffect)(()=>{T&&(R&&!k.current?T.on("zoom",null):R||T.on("zoom",t=>{let{onViewportChange:r}=S.getState();if(S.setState({transform:[t.transform.x,t.transform.y,t.transform.k]}),_.current=!!(n&&aF(p,$.current??0)),(e||r)&&!t.sourceEvent?.internal){let n=aI(t.transform);r?.(n),e?.(t.sourceEvent,n)}}))},[R,T,e,p,n]),(0,g.useEffect)(()=>{T&&T.on("end",e=>{let t,a;if(!e.sourceEvent||e.sourceEvent.internal)return null;let{onViewportChangeEnd:s}=S.getState();if(k.current=!1,S.setState({paneDragging:!1}),n&&aF(p,$.current??0)&&!_.current&&n(e.sourceEvent),_.current=!1,(r||s)&&(t=M.current,a=e.transform,t.x!==a.x||t.y!==a.y||t.zoom!==a.k)){let t=aI(e.transform);M.current=t,clearTimeout(E.current),E.current=setTimeout(()=>{s?.(t),r?.(e.sourceEvent,t)},150*!!i)}})},[T,i,p,r,n]),(0,g.useEffect)(()=>{T&&T.filter(e=>{let t=D||a,r=s&&e.ctrlKey;if((!0===p||Array.isArray(p)&&p.includes(1))&&1===e.button&&"mousedown"===e.type&&(aB(e,"react-flow__node")||aB(e,"react-flow__edge")))return!0;if(!p&&!t&&!i&&!c&&!s||R||!c&&"dblclick"===e.type||aB(e,w)&&"wheel"===e.type||aB(e,j)&&("wheel"!==e.type||i&&"wheel"===e.type&&!D)||!s&&e.ctrlKey&&"wheel"===e.type||!t&&!i&&!r&&"wheel"===e.type||!p&&("mousedown"===e.type||"touchstart"===e.type)||Array.isArray(p)&&!p.includes(e.button)&&"mousedown"===e.type)return!1;let n=Array.isArray(p)&&p.includes(e.button)||!e.button||e.button<=1;return(!e.ctrlKey||"wheel"===e.type)&&n})},[R,T,a,s,i,c,p,d,D]),g.default.createElement("div",{className:"react-flow__renderer",ref:C,style:aP},y)},aU=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function aW(){let{userSelectionActive:e,userSelectionRect:t}=nt(aU,eL);return e&&t?g.default.createElement("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function aV(e,t){let r=t.parentNode||t.parentId,n=e.find(e=>e.id===r);if(n){let e=t.position.x+t.width-n.width,r=t.position.y+t.height-n.height;if(e>0||r>0||t.position.x<0||t.position.y<0){if(n.style={...n.style},n.style.width=n.style.width??n.width,n.style.height=n.style.height??n.height,e>0&&(n.style.width+=e),r>0&&(n.style.height+=r),t.position.x<0){let e=Math.abs(t.position.x);n.position.x=n.position.x-e,n.style.width+=e,t.position.x=0}if(t.position.y<0){let e=Math.abs(t.position.y);n.position.y=n.position.y-e,n.style.height+=e,t.position.y=0}n.width=n.style.width,n.height=n.style.height}}}function aY(e,t){if(e.some(e=>"reset"===e.type))return e.filter(e=>"reset"===e.type).map(e=>e.item);let r=e.filter(e=>"add"===e.type).map(e=>e.item);return t.reduce((t,r)=>{let n=e.filter(e=>e.id===r.id);if(0===n.length)return t.push(r),t;let a={...r};for(let e of n)if(e)switch(e.type){case"select":a.selected=e.selected;break;case"position":void 0!==e.position&&(a.position=e.position),void 0!==e.positionAbsolute&&(a.positionAbsolute=e.positionAbsolute),void 0!==e.dragging&&(a.dragging=e.dragging),a.expandParent&&aV(t,a);break;case"dimensions":void 0!==e.dimensions&&(a.width=e.dimensions.width,a.height=e.dimensions.height),void 0!==e.updateStyle&&(a.style={...a.style||{},...e.dimensions}),"boolean"==typeof e.resizing&&(a.resizing=e.resizing),a.expandParent&&aV(t,a);break;case"remove":return t}return t.push(a),t},r)}function aX(e,t){return aY(e,t)}let aG=(e,t)=>({id:e,type:"select",selected:t});function aK(e,t){return e.reduce((e,r)=>{let n=t.includes(r.id);return!r.selected&&n?(r.selected=!0,e.push(aG(r.id,!0))):r.selected&&!n&&(r.selected=!1,e.push(aG(r.id,!1))),e},[])}let aQ=(e,t)=>r=>{r.target===t.current&&e?.(r)},aJ=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),aZ=(0,g.memo)(({isSelecting:e,selectionMode:t=p.Full,panOnDrag:r,onSelectionStart:n,onSelectionEnd:a,onPaneClick:s,onPaneContextMenu:i,onPaneScroll:o,onPaneMouseEnter:l,onPaneMouseMove:c,onPaneMouseLeave:d,children:u})=>{let h=(0,g.useRef)(null),m=nr(),f=(0,g.useRef)(0),x=(0,g.useRef)(0),b=(0,g.useRef)(),{userSelectionActive:v,elementsSelectable:y,dragging:w}=nt(aJ,eL),j=()=>{m.setState({userSelectionActive:!1,userSelectionRect:null}),f.current=0,x.current=0},N=e=>{s?.(e),m.getState().resetSelectedElements(),m.setState({nodesSelectionActive:!1})},E=y&&(e||v);return g.default.createElement("div",{className:e_(["react-flow__pane",{dragging:w,selection:e}]),onClick:E?void 0:aQ(N,h),onContextMenu:aQ(e=>{Array.isArray(r)&&r?.includes(2)?e.preventDefault():i?.(e)},h),onWheel:aQ(o?e=>o(e):void 0,h),onMouseEnter:E?void 0:l,onMouseDown:E?t=>{let{resetSelectedElements:r,domNode:a}=m.getState();if(b.current=a?.getBoundingClientRect(),!y||!e||0!==t.button||t.target!==h.current||!b.current)return;let{x:s,y:i}=nN(t,b.current);r(),m.setState({userSelectionRect:{width:0,height:0,startX:s,startY:i,x:s,y:i}}),n?.(t)}:void 0,onMouseMove:E?r=>{let{userSelectionRect:n,nodeInternals:a,edges:s,transform:i,onNodesChange:o,onEdgesChange:l,nodeOrigin:c,getNodes:d}=m.getState();if(!e||!b.current||!n)return;m.setState({userSelectionActive:!0,nodesSelectionActive:!1});let u=nN(r,b.current),h=n.startX??0,g=n.startY??0,v={...n,x:u.x<h?u.x:h,y:u.y<g?u.y:g,width:Math.abs(u.x-h),height:Math.abs(u.y-g)},y=d(),w=nK(a,v,i,t===p.Partial,!0,c),j=nQ(w,s).map(e=>e.id),N=w.map(e=>e.id);if(f.current!==N.length){f.current=N.length;let e=aK(y,N);e.length&&o?.(e)}if(x.current!==j.length){x.current=j.length;let e=aK(s,j);e.length&&l?.(e)}m.setState({userSelectionRect:v})}:c,onMouseUp:E?e=>{if(0!==e.button)return;let{userSelectionRect:t}=m.getState();!v&&t&&e.target===h.current&&N?.(e),m.setState({nodesSelectionActive:f.current>0}),j(),a?.(e)}:void 0,onMouseLeave:E?e=>{v&&(m.setState({nodesSelectionActive:f.current>0}),a?.(e)),j()}:d,ref:h,style:aP},u,g.default.createElement(aW,null))});function a0(e,t,r){let n=e;do{if(n?.matches(t))return!0;if(n===r.current)break;n=n.parentElement}while(n)return!1}function a1(e,t,r,n,a=[0,0],s){var i;let o=(i=e.extent||n)&&"parent"!==i?[i[0],[i[1][0]-(e.width||0),i[1][1]-(e.height||0)]]:i,l=o,c=e.parentNode||e.parentId;if("parent"!==e.extent||e.expandParent){if(e.extent&&c&&"parent"!==e.extent){let{x:t,y:n}=nX(r.get(c),a).positionAbsolute;l=[[e.extent[0][0]+t,e.extent[0][1]+n],[e.extent[1][0]+t,e.extent[1][1]+n]]}}else if(c&&e.width&&e.height){let t=r.get(c),{x:n,y:s}=nX(t,a).positionAbsolute;l=t&&ng(n)&&ng(s)&&ng(t.width)&&ng(t.height)?[[n+e.width*a[0],s+e.height*a[1]],[n+t.width-e.width+e.width*a[0],s+t.height-e.height+e.height*a[1]]]:l}else s?.("005","Only child nodes can use a parent extent."),l=o;let d={x:0,y:0};c&&(d=nX(r.get(c),a).positionAbsolute);let u=l&&"parent"!==l?nc(t,l):t;return{position:{x:u.x-d.x,y:u.y-d.y},positionAbsolute:u}}function a2({nodeId:e,dragItems:t,nodeInternals:r}){let n=t.map(e=>({...r.get(e.id),position:e.position,positionAbsolute:e.positionAbsolute}));return[e?n.find(t=>t.id===e):n[0],n]}aZ.displayName="Pane";let a5=(e,t,r,n)=>{let a=t.querySelectorAll(e);if(!a||!a.length)return null;let s=Array.from(a),i=t.getBoundingClientRect(),o={x:i.width*n[0],y:i.height*n[1]};return s.map(e=>{let t=e.getBoundingClientRect();return{id:e.getAttribute("data-handleid"),position:e.getAttribute("data-handlepos"),x:(t.left-i.left-o.x)/r,y:(t.top-i.top-o.y)/r,...no(e)}})};function a3(e,t,r){return void 0===r?r:n=>{let a=t().nodeInternals.get(e);a&&r(n,{...a})}}function a4({id:e,store:t,unselect:r=!1,nodeRef:n}){let a,{addSelectedNodes:s,unselectNodesAndEdges:i,multiSelectionActive:o,nodeInternals:l,onError:c}=t.getState(),d=l.get(e);d?(t.setState({nodesSelectionActive:!1}),d.selected?(r||d.selected&&o)&&(i({nodes:[d],edges:[]}),requestAnimationFrame(()=>n?.current?.blur())):s([e])):c?.("012",(a=e,`Node with id "${a}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`))}function a6(e){return(t,r,n)=>e?.(t,n)}function a9({nodeRef:e,disabled:t=!1,noDragClassName:r,handleSelector:n,nodeId:a,isSelectable:s,selectNodesOnDrag:i}){let o,l=nr(),[c,d]=(0,g.useState)(!1),u=(0,g.useRef)([]),p=(0,g.useRef)({x:null,y:null}),h=(0,g.useRef)(0),m=(0,g.useRef)(null),f=(0,g.useRef)({x:0,y:0}),x=(0,g.useRef)(null),b=(0,g.useRef)(!1),v=(0,g.useRef)(!1),y=(0,g.useRef)(!1),w=(o=nr(),(0,g.useCallback)(({sourceEvent:e})=>{let{transform:t,snapGrid:r,snapToGrid:n}=o.getState(),a=e.touches?e.touches[0].clientX:e.clientX,s=e.touches?e.touches[0].clientY:e.clientY,i={x:(a-t[0])/t[2],y:(s-t[1])/t[2]};return{xSnapped:n?r[0]*Math.round(i.x/r[0]):i.x,ySnapped:n?r[1]*Math.round(i.y/r[1]):i.y,...i}},[]));return(0,g.useEffect)(()=>{if(e?.current){let o=tg(e.current),c=({x:e,y:t})=>{let{nodeInternals:r,onNodeDrag:n,onSelectionDrag:s,updateNodePositions:i,nodeExtent:o,snapGrid:c,snapToGrid:h,nodeOrigin:m,onError:f}=l.getState();p.current={x:e,y:t};let b=!1,g={x:0,y:0,x2:0,y2:0};if(u.current.length>1&&o&&(g=nm(nG(u.current,m))),u.current=u.current.map(n=>{let a={x:e-n.distance.x,y:t-n.distance.y};h&&(a.x=c[0]*Math.round(a.x/c[0]),a.y=c[1]*Math.round(a.y/c[1]));let s=[[o[0][0],o[0][1]],[o[1][0],o[1][1]]];u.current.length>1&&o&&!n.extent&&(s[0][0]=n.positionAbsolute.x-g.x+o[0][0],s[1][0]=n.positionAbsolute.x+(n.width??0)-g.x2+o[1][0],s[0][1]=n.positionAbsolute.y-g.y+o[0][1],s[1][1]=n.positionAbsolute.y+(n.height??0)-g.y2+o[1][1]);let i=a1(n,a,r,s,m,f);return b=b||n.position.x!==i.position.x||n.position.y!==i.position.y,n.position=i.position,n.positionAbsolute=i.positionAbsolute,n}),!b)return;i(u.current,!0,!0),d(!0);let v=a?n:a6(s);if(v&&x.current){let[e,t]=a2({nodeId:a,dragItems:u.current,nodeInternals:r});v(x.current,e,t)}},g=()=>{if(!m.current)return;let[e,t]=nu(f.current,m.current);if(0!==e||0!==t){let{transform:r,panBy:n}=l.getState();p.current.x=(p.current.x??0)-e/r[2],p.current.y=(p.current.y??0)-t/r[2],n({x:e,y:t})&&c(p.current)}h.current=requestAnimationFrame(g)},j=t=>{let{nodeInternals:r,multiSelectionActive:n,nodesDraggable:o,unselectNodesAndEdges:c,onNodeDragStart:d,onSelectionDragStart:h}=l.getState();v.current=!0;let m=a?d:a6(h);i&&s||n||!a||r.get(a)?.selected||c(),a&&s&&i&&a4({id:a,store:l,nodeRef:e});let f=w(t);if(p.current=f,u.current=Array.from(r.values()).filter(e=>(e.selected||e.id===a)&&(!e.parentNode||e.parentId||!function e(t,r){let n=t.parentNode||t.parentId;if(!n)return!1;let a=r.get(n);return!!a&&(!!a.selected||e(a,r))}(e,r))&&(e.draggable||o&&void 0===e.draggable)).map(e=>({id:e.id,position:e.position||{x:0,y:0},positionAbsolute:e.positionAbsolute||{x:0,y:0},distance:{x:f.x-(e.positionAbsolute?.x??0),y:f.y-(e.positionAbsolute?.y??0)},delta:{x:0,y:0},extent:e.extent,parentNode:e.parentNode||e.parentId,parentId:e.parentNode||e.parentId,width:e.width,height:e.height,expandParent:e.expandParent})),m&&u.current){let[e,n]=a2({nodeId:a,dragItems:u.current,nodeInternals:r});m(t.sourceEvent,e,n)}};if(t)o.on(".drag",null);else{let t=(function(){var e,t,r,n,a=r3,s=r4,i=r6,o=r9,l={},c=eI("start","drag","end"),d=0,u=0;function p(e){e.on("mousedown.drag",h).filter(o).on("touchstart.drag",x).on("touchmove.drag",b,tv).on("touchend.drag touchcancel.drag",g).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(i,o){if(!n&&a.call(this,i,o)){var l=v(this,s.call(this,i,o),i,o,"mouse");l&&(tg(i.view).on("mousemove.drag",m,ty).on("mouseup.drag",f,ty),tN(i.view),tw(i),r=!1,e=i.clientX,t=i.clientY,l("start",i))}}function m(n){if(tj(n),!r){var a=n.clientX-e,s=n.clientY-t;r=a*a+s*s>u}l.mouse("drag",n)}function f(e){tg(e.view).on("mousemove.drag mouseup.drag",null),tE(e.view,r),tj(e),l.mouse("end",e)}function x(e,t){if(a.call(this,e,t)){var r,n,i=e.changedTouches,o=s.call(this,e,t),l=i.length;for(r=0;r<l;++r)(n=v(this,o,e,t,i[r].identifier,i[r]))&&(tw(e),n("start",e,i[r]))}}function b(e){var t,r,n=e.changedTouches,a=n.length;for(t=0;t<a;++t)(r=l[n[t].identifier])&&(tj(e),r("drag",e,n[t]))}function g(e){var t,r,a=e.changedTouches,s=a.length;for(n&&clearTimeout(n),n=setTimeout(function(){n=null},500),t=0;t<s;++t)(r=l[a[t].identifier])&&(tw(e),r("end",e,a[t]))}function v(e,t,r,n,a,s){var o,u,h,m=c.copy(),f=t_(s||r,t);if(null!=(h=i.call(e,new r5("beforestart",{sourceEvent:r,target:p,identifier:a,active:d,x:f[0],y:f[1],dx:0,dy:0,dispatch:m}),n)))return o=h.x-f[0]||0,u=h.y-f[1]||0,function r(s,i,c){var x,b=f;switch(s){case"start":l[a]=r,x=d++;break;case"end":delete l[a],--d;case"drag":f=t_(c||i,t),x=d}m.call(s,e,new r5(s,{sourceEvent:i,subject:h,target:p,identifier:a,active:x,x:f[0]+o,y:f[1]+u,dx:f[0]-b[0],dy:f[1]-b[1],dispatch:m}),n)}}return p.filter=function(e){return arguments.length?(a="function"==typeof e?e:r2(!!e),p):a},p.container=function(e){return arguments.length?(s="function"==typeof e?e:r2(e),p):s},p.subject=function(e){return arguments.length?(i="function"==typeof e?e:r2(e),p):i},p.touchable=function(e){return arguments.length?(o="function"==typeof e?e:r2(!!e),p):o},p.on=function(){var e=c.on.apply(c,arguments);return e===c?p:e},p.clickDistance=function(e){return arguments.length?(u=(e*=1)*e,p):Math.sqrt(u)},p})().on("start",e=>{let{domNode:t,nodeDragThreshold:r}=l.getState();0===r&&j(e),y.current=!1,p.current=w(e),m.current=t?.getBoundingClientRect()||null,f.current=nN(e.sourceEvent,m.current)}).on("drag",e=>{let t=w(e),{autoPanOnNodeDrag:r,nodeDragThreshold:n}=l.getState();if("touchmove"===e.sourceEvent.type&&e.sourceEvent.touches.length>1&&(y.current=!0),!y.current){if(!b.current&&v.current&&r&&(b.current=!0,g()),!v.current){let r=t.xSnapped-(p?.current?.x??0),a=t.ySnapped-(p?.current?.y??0);Math.sqrt(r*r+a*a)>n&&j(e)}(p.current.x!==t.xSnapped||p.current.y!==t.ySnapped)&&u.current&&v.current&&(x.current=e.sourceEvent,f.current=nN(e.sourceEvent,m.current),c(t))}}).on("end",e=>{if(v.current&&!y.current&&(d(!1),b.current=!1,v.current=!1,cancelAnimationFrame(h.current),u.current)){let{updateNodePositions:t,nodeInternals:r,onNodeDragStop:n,onSelectionDragStop:s}=l.getState(),i=a?n:a6(s);if(t(u.current,!1,!1),i){let[t,n]=a2({nodeId:a,dragItems:u.current,nodeInternals:r});i(e.sourceEvent,t,n)}}}).filter(t=>{let a=t.target;return!t.button&&(!r||!a0(a,`.${r}`,e))&&(!n||a0(a,n,e))});return o.call(t),()=>{o.on(".drag",null)}}}},[e,t,r,n,s,l,a,i,w]),c}function a7(){let e=nr();return(0,g.useCallback)(t=>{let{nodeInternals:r,nodeExtent:n,updateNodePositions:a,getNodes:s,snapToGrid:i,snapGrid:o,onError:l,nodesDraggable:c}=e.getState(),d=s().filter(e=>e.selected&&(e.draggable||c&&void 0===e.draggable)),u=i?o[0]:5,p=i?o[1]:5,h=t.isShiftPressed?4:1,m=t.x*u*h,f=t.y*p*h;a(d.map(e=>{if(e.positionAbsolute){let t={x:e.positionAbsolute.x+m,y:e.positionAbsolute.y+f};i&&(t.x=o[0]*Math.round(t.x/o[0]),t.y=o[1]*Math.round(t.y/o[1]));let{positionAbsolute:a,position:s}=a1(e,t,r,n,void 0,l);e.position=s,e.positionAbsolute=a}return e}),!0,!1)},[])}let a8={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var se=e=>{let t=({id:t,type:r,data:n,xPos:a,yPos:s,xPosOrigin:i,yPosOrigin:o,selected:l,onClick:c,onMouseEnter:d,onMouseMove:u,onMouseLeave:p,onContextMenu:h,onDoubleClick:m,style:f,className:x,isDraggable:b,isSelectable:v,isConnectable:y,isFocusable:w,selectNodesOnDrag:j,sourcePosition:N,targetPosition:E,hidden:S,resizeObserver:k,dragHandle:_,zIndex:C,isParent:M,noDragClassName:T,noPanClassName:A,initialized:O,disableKeyboardA11y:R,ariaLabel:D,rfId:$,hasHandleBounds:L})=>{let P=nr(),I=(0,g.useRef)(null),B=(0,g.useRef)(null),F=(0,g.useRef)(N),z=(0,g.useRef)(E),q=(0,g.useRef)(r),H=v||b||c||d||u||p,U=a7(),W=a3(t,P.getState,d),V=a3(t,P.getState,u),Y=a3(t,P.getState,p),X=a3(t,P.getState,h),G=a3(t,P.getState,m);(0,g.useEffect)(()=>()=>{B.current&&(k?.unobserve(B.current),B.current=null)},[]),(0,g.useEffect)(()=>{if(I.current&&!S){let e=I.current;O&&L&&B.current===e||(B.current&&k?.unobserve(B.current),k?.observe(e),B.current=e)}},[S,O,L]),(0,g.useEffect)(()=>{let e=q.current!==r,n=F.current!==N,a=z.current!==E;I.current&&(e||n||a)&&(e&&(q.current=r),n&&(F.current=N),a&&(z.current=E),P.getState().updateNodeDimensions([{id:t,nodeElement:I.current,forceUpdate:!0}]))},[t,r,N,E]);let K=a9({nodeRef:I,disabled:S||!b,noDragClassName:T,handleSelector:_,nodeId:t,isSelectable:v,selectNodesOnDrag:j});return S?null:g.default.createElement("div",{className:e_(["react-flow__node",`react-flow__node-${r}`,{[A]:b},x,{selected:l,selectable:v,parent:M,dragging:K}]),ref:I,style:{zIndex:C,transform:`translate(${i}px,${o}px)`,pointerEvents:H?"all":"none",visibility:O?"visible":"hidden",...f},"data-id":t,"data-testid":`rf__node-${t}`,onMouseEnter:W,onMouseMove:V,onMouseLeave:Y,onContextMenu:X,onClick:e=>{let{nodeDragThreshold:r}=P.getState();if(v&&(!j||!b||r>0)&&a4({id:t,store:P,nodeRef:I}),c){let r=P.getState().nodeInternals.get(t);r&&c(e,{...r})}},onDoubleClick:G,onKeyDown:w?e=>{nj(e)||!R&&(ny.includes(e.key)&&v?a4({id:t,store:P,unselect:"Escape"===e.key,nodeRef:I}):b&&l&&Object.prototype.hasOwnProperty.call(a8,e.key)&&(P.setState({ariaLiveMessage:`Moved selected node ${e.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~a}, y: ${~~s}`}),U({x:a8[e.key].x,y:a8[e.key].y,isShiftPressed:e.shiftKey})))}:void 0,tabIndex:w?0:void 0,role:w?"button":void 0,"aria-describedby":R?void 0:`${ay}-${$}`,"aria-label":D},g.default.createElement(nU,{value:t},g.default.createElement(e,{id:t,data:n,type:r,xPos:a,yPos:s,selected:l,isConnectable:y,sourcePosition:N,targetPosition:E,dragging:K,dragHandle:_,zIndex:C})))};return t.displayName="NodeWrapper",(0,g.memo)(t)};let st=e=>({...nG(e.getNodes().filter(e=>e.selected),e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive});var sr=(0,g.memo)(function({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:r}){let n=nr(),{width:a,height:s,x:i,y:o,transformString:l,userSelectionActive:c}=nt(st,eL),d=a7(),u=(0,g.useRef)(null);if((0,g.useEffect)(()=>{r||u.current?.focus({preventScroll:!0})},[r]),a9({nodeRef:u}),c||!a||!s)return null;let p=e?t=>{e(t,n.getState().getNodes().filter(e=>e.selected))}:void 0;return g.default.createElement("div",{className:e_(["react-flow__nodesselection","react-flow__container",t]),style:{transform:l}},g.default.createElement("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:p,tabIndex:r?void 0:-1,onKeyDown:r?void 0:e=>{Object.prototype.hasOwnProperty.call(a8,e.key)&&d({x:a8[e.key].x,y:a8[e.key].y,isShiftPressed:e.shiftKey})},style:{width:a,height:s,top:o,left:i}}))});let sn=e=>e.nodesSelectionActive,sa=({children:e,onPaneClick:t,onPaneMouseEnter:r,onPaneMouseMove:n,onPaneMouseLeave:a,onPaneContextMenu:s,onPaneScroll:i,deleteKeyCode:o,onMove:l,onMoveStart:c,onMoveEnd:d,selectionKeyCode:u,selectionOnDrag:p,selectionMode:h,onSelectionStart:m,onSelectionEnd:f,multiSelectionKeyCode:x,panActivationKeyCode:b,zoomActivationKeyCode:v,elementsSelectable:y,zoomOnScroll:w,zoomOnPinch:j,panOnScroll:N,panOnScrollSpeed:E,panOnScrollMode:S,zoomOnDoubleClick:k,panOnDrag:_,defaultViewport:C,translateExtent:M,minZoom:T,maxZoom:A,preventScrolling:O,onSelectionContextMenu:R,noWheelClassName:D,noPanClassName:$,disableKeyboardA11y:L})=>{let P=nt(sn),I=aS(u),B=aS(b),F=B||_,z=B||N,q=I||p&&!0!==F;return(({deleteKeyCode:e,multiSelectionKeyCode:t})=>{let r=nr(),{deleteElements:n}=a$(),a=aS(e,aL),s=aS(t);(0,g.useEffect)(()=>{if(a){let{edges:e,getNodes:t}=r.getState();n({nodes:t().filter(e=>e.selected),edges:e.filter(e=>e.selected)}),r.setState({nodesSelectionActive:!1})}},[a]),(0,g.useEffect)(()=>{r.setState({multiSelectionActive:s})},[s])})({deleteKeyCode:o,multiSelectionKeyCode:x}),g.default.createElement(aH,{onMove:l,onMoveStart:c,onMoveEnd:d,onPaneContextMenu:s,elementsSelectable:y,zoomOnScroll:w,zoomOnPinch:j,panOnScroll:z,panOnScrollSpeed:E,panOnScrollMode:S,zoomOnDoubleClick:k,panOnDrag:!I&&F,defaultViewport:C,translateExtent:M,minZoom:T,maxZoom:A,zoomActivationKeyCode:v,preventScrolling:O,noWheelClassName:D,noPanClassName:$},g.default.createElement(aZ,{onSelectionStart:m,onSelectionEnd:f,onPaneClick:t,onPaneMouseEnter:r,onPaneMouseMove:n,onPaneMouseLeave:a,onPaneContextMenu:s,onPaneScroll:i,panOnDrag:F,isSelecting:!!q,selectionMode:h},e,P&&g.default.createElement(sr,{onSelectionContextMenu:R,noPanClassName:$,disableKeyboardA11y:L})))};sa.displayName="FlowRenderer";var ss=(0,g.memo)(sa);function si(e){let t={input:se(e.input||aa),default:se(e.default||ar),output:se(e.output||ai),group:se(e.group||ao)},r=Object.keys(e).filter(e=>!["input","default","output","group"].includes(e)).reduce((t,r)=>(t[r]=se(e[r]||ar),t),{});return{...t,...r}}let so=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),sl=e=>{var t;let{nodesDraggable:r,nodesConnectable:n,nodesFocusable:a,elementsSelectable:s,updateNodeDimensions:i,onError:o}=nt(so,eL),l=(t=e.onlyRenderVisibleElements,nt((0,g.useCallback)(e=>t?nK(e.nodeInternals,{x:0,y:0,width:e.width,height:e.height},e.transform,!0):e.getNodes(),[t]))),c=(0,g.useRef)(),d=(0,g.useMemo)(()=>{if("u"<typeof ResizeObserver)return null;let e=new ResizeObserver(e=>{i(e.map(e=>({id:e.target.getAttribute("data-id"),nodeElement:e.target,forceUpdate:!0})))});return c.current=e,e},[]);return(0,g.useEffect)(()=>()=>{c?.current?.disconnect()},[]),g.default.createElement("div",{className:"react-flow__nodes",style:aP},l.map(t=>{let i,l=t.type||"default";e.nodeTypes[l]||(o?.("003",(i=l,`Node type "${i}" not found. Using fallback type "default".`)),l="default");let c=e.nodeTypes[l]||e.nodeTypes.default,u=!!(t.draggable||r&&void 0===t.draggable),p=!!(t.selectable||s&&void 0===t.selectable),h=!!(t.connectable||n&&void 0===t.connectable),m=!!(t.focusable||a&&void 0===t.focusable),x=e.nodeExtent?nc(t.positionAbsolute,e.nodeExtent):t.positionAbsolute,b=x?.x??0,v=x?.y??0,y=(({x:e,y:t,width:r,height:n,origin:a})=>!r||!n||a[0]<0||a[1]<0||a[0]>1||a[1]>1?{x:e,y:t}:{x:e-r*a[0],y:t-n*a[1]})({x:b,y:v,width:t.width??0,height:t.height??0,origin:e.nodeOrigin});return g.default.createElement(c,{key:t.id,id:t.id,className:t.className,style:t.style,type:l,data:t.data,sourcePosition:t.sourcePosition||f.Bottom,targetPosition:t.targetPosition||f.Top,hidden:t.hidden,xPos:b,yPos:v,xPosOrigin:y.x,yPosOrigin:y.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!t.selected,isDraggable:u,isSelectable:p,isConnectable:h,isFocusable:m,resizeObserver:d,dragHandle:t.dragHandle,zIndex:t[nv]?.z??0,isParent:!!t[nv]?.isParent,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!t.width&&!!t.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:t.ariaLabel,hasHandleBounds:!!t[nv]?.handleBounds})}))};sl.displayName="NodeRenderer";var sc=(0,g.memo)(sl);let sd="react-flow__edgeupdater",su=({position:e,centerX:t,centerY:r,radius:n=10,onMouseDown:a,onMouseEnter:s,onMouseOut:i,type:o})=>g.default.createElement("circle",{onMouseDown:a,onMouseEnter:s,onMouseOut:i,className:e_([sd,`${sd}-${o}`]),cx:e===f.Left?t-n:e===f.Right?t+n:t,cy:e===f.Top?r-n:e===f.Bottom?r+n:r,r:n,stroke:"transparent",fill:"transparent"}),sp=()=>!0;var sh=e=>{let t=({id:t,className:r,type:n,data:a,onClick:s,onEdgeDoubleClick:i,selected:o,animated:l,label:c,labelStyle:d,labelShowBg:u,labelBgStyle:p,labelBgPadding:h,labelBgBorderRadius:m,style:f,source:x,target:b,sourceX:v,sourceY:y,targetX:w,targetY:j,sourcePosition:N,targetPosition:E,elementsSelectable:S,hidden:k,sourceHandleId:_,targetHandleId:C,onContextMenu:M,onMouseEnter:T,onMouseMove:A,onMouseLeave:O,reconnectRadius:R,onReconnect:D,onReconnectStart:$,onReconnectEnd:L,markerEnd:P,markerStart:I,rfId:B,ariaLabel:F,isFocusable:z,isReconnectable:q,pathOptions:H,interactionWidth:U,disableKeyboardA11y:W})=>{let V=(0,g.useRef)(null),[Y,X]=(0,g.useState)(!1),[G,K]=(0,g.useState)(!1),Q=nr(),J=(0,g.useMemo)(()=>`url('#${nW(I,B)}')`,[I,B]),Z=(0,g.useMemo)(()=>`url('#${nW(P,B)}')`,[P,B]);if(k)return null;let ee=nk(t,Q.getState,i),et=nk(t,Q.getState,M),er=nk(t,Q.getState,T),en=nk(t,Q.getState,A),ea=nk(t,Q.getState,O),es=(e,r)=>{if(0!==e.button)return;let{edges:n,isValidConnection:a}=Q.getState(),s=r?b:x,i=(r?C:_)||null,o=r?"target":"source",l=n.find(e=>e.id===t);K(!0),$?.(e,l,o),n6({event:e,handleId:i,nodeId:s,onConnect:e=>D?.(l,e),isTarget:r,getState:Q.getState,setState:Q.setState,isValidConnection:a||sp,edgeUpdaterType:o,onReconnectEnd:e=>{K(!1),L?.(e,l,o)}})},ei=()=>X(!0),eo=()=>X(!1);return g.default.createElement("g",{className:e_(["react-flow__edge",`react-flow__edge-${n}`,r,{selected:o,animated:l,inactive:!S&&!s,updating:Y}]),onClick:e=>{let{edges:r,addSelectedEdges:n,unselectNodesAndEdges:a,multiSelectionActive:i}=Q.getState(),o=r.find(e=>e.id===t);o&&(S&&(Q.setState({nodesSelectionActive:!1}),o.selected&&i?(a({nodes:[],edges:[o]}),V.current?.blur()):n([t])),s&&s(e,o))},onDoubleClick:ee,onContextMenu:et,onMouseEnter:er,onMouseMove:en,onMouseLeave:ea,onKeyDown:z?e=>{if(!W&&ny.includes(e.key)&&S){let{unselectNodesAndEdges:r,addSelectedEdges:n,edges:a}=Q.getState();"Escape"===e.key?(V.current?.blur(),r({edges:[a.find(e=>e.id===t)]})):n([t])}}:void 0,tabIndex:z?0:void 0,role:z?"button":"img","data-testid":`rf__edge-${t}`,"aria-label":null===F?void 0:F||`Edge from ${x} to ${b}`,"aria-describedby":z?`${aw}-${B}`:void 0,ref:V},!G&&g.default.createElement(e,{id:t,source:x,target:b,selected:o,animated:l,label:c,labelStyle:d,labelShowBg:u,labelBgStyle:p,labelBgPadding:h,labelBgBorderRadius:m,data:a,style:f,sourceX:v,sourceY:y,targetX:w,targetY:j,sourcePosition:N,targetPosition:E,sourceHandleId:_,targetHandleId:C,markerStart:J,markerEnd:Z,pathOptions:H,interactionWidth:U}),q&&g.default.createElement(g.default.Fragment,null,("source"===q||!0===q)&&g.default.createElement(su,{position:N,centerX:v,centerY:y,radius:R,onMouseDown:e=>es(e,!0),onMouseEnter:ei,onMouseOut:eo,type:"source"}),("target"===q||!0===q)&&g.default.createElement(su,{position:E,centerX:w,centerY:j,radius:R,onMouseDown:e=>es(e,!1),onMouseEnter:ei,onMouseOut:eo,type:"target"})))};return t.displayName="EdgeWrapper",(0,g.memo)(t)};function sm(e){let t={default:sh(e.default||nq),straight:sh(e.bezier||nI),step:sh(e.step||nP),smoothstep:sh(e.step||nL),simplebezier:sh(e.simplebezier||nA)},r=Object.keys(e).filter(e=>!["default","bezier"].includes(e)).reduce((t,r)=>(t[r]=sh(e[r]||nq),t),{});return{...t,...r}}function sf(e,t,r=null){let n=(r?.x||0)+t.x,a=(r?.y||0)+t.y,s=r?.width||t.width,i=r?.height||t.height;switch(e){case f.Top:return{x:n+s/2,y:a};case f.Right:return{x:n+s,y:a+i/2};case f.Bottom:return{x:n+s/2,y:a+i};case f.Left:return{x:n,y:a+i/2}}}function sx(e,t){return e?1!==e.length&&t?t&&e.find(e=>e.id===t)||null:e[0]:null}function sb(e){let t=e?.[nv]?.handleBounds||null,r=t&&e?.width&&e?.height&&void 0!==e?.positionAbsolute?.x&&void 0!==e?.positionAbsolute?.y;return[{x:e?.positionAbsolute?.x||0,y:e?.positionAbsolute?.y||0,width:e?.width||0,height:e?.height||0},t,!!r]}let sg=[{level:0,isMaxLevel:!0,edges:[]}],sv={[m.Arrow]:({color:e="none",strokeWidth:t=1})=>g.default.createElement("polyline",{style:{stroke:e,strokeWidth:t},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),[m.ArrowClosed]:({color:e="none",strokeWidth:t=1})=>g.default.createElement("polyline",{style:{stroke:e,fill:e,strokeWidth:t},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},sy=({id:e,type:t,color:r,width:n=12.5,height:a=12.5,markerUnits:s="strokeWidth",strokeWidth:i,orient:o="auto-start-reverse"})=>{let l,c=(l=nr(),(0,g.useMemo)(()=>{let e;return Object.prototype.hasOwnProperty.call(sv,t)?sv[t]:(l.getState().onError?.("009",(e=t,`Marker type "${e}" doesn't exist.`)),null)},[t]));return c?g.default.createElement("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${n}`,markerHeight:`${a}`,viewBox:"-10 -10 20 20",markerUnits:s,orient:o,refX:"0",refY:"0"},g.default.createElement(c,{color:r,strokeWidth:i})):null},sw=({defaultColor:e,rfId:t})=>{let r=nt((0,g.useCallback)((({defaultColor:e,rfId:t})=>r=>{let n=[];return r.edges.reduce((r,a)=>([a.markerStart,a.markerEnd].forEach(a=>{if(a&&"object"==typeof a){let s=nW(a,t);n.includes(s)||(r.push({id:s,color:a.color||e,...a}),n.push(s))}}),r),[]).sort((e,t)=>e.id.localeCompare(t.id))})({defaultColor:e,rfId:t}),[e,t]),(e,t)=>!(e.length!==t.length||e.some((e,r)=>e.id!==t[r].id)));return g.default.createElement("defs",null,r.map(e=>g.default.createElement(sy,{id:e.id,key:e.id,type:e.type,color:e.color,width:e.width,height:e.height,markerUnits:e.markerUnits,strokeWidth:e.strokeWidth,orient:e.orient})))};sw.displayName="MarkerDefinitions";var sj=(0,g.memo)(sw);let sN=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),sE=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:r,rfId:n,edgeTypes:a,noPanClassName:s,onEdgeContextMenu:i,onEdgeMouseEnter:o,onEdgeMouseMove:l,onEdgeMouseLeave:c,onEdgeClick:u,onEdgeDoubleClick:p,onReconnect:h,onReconnectStart:m,onReconnectEnd:x,reconnectRadius:b,children:v,disableKeyboardA11y:y})=>{let{edgesFocusable:w,edgesUpdatable:j,elementsSelectable:N,width:E,height:S,connectionMode:k,nodeInternals:_,onError:C}=nt(sN,eL),M=function(e,t,r=!1){let n=-1,a=Object.entries(e.reduce((e,a)=>{let s=ng(a.zIndex),i=s?a.zIndex:0;if(r){let e=t.get(a.target),r=t.get(a.source),n=a.selected||e?.selected||r?.selected,o=Math.max(r?.[nv]?.z||0,e?.[nv]?.z||0,1e3);i=(s?a.zIndex:0)+(n?o:0)}return e[i]?e[i].push(a):e[i]=[a],n=i>n?i:n,e},{})).map(([e,t])=>{let r=+e;return{edges:t,level:r,isMaxLevel:r===n}});return 0===a.length?sg:a}(nt((0,g.useCallback)(e=>t?e.edges.filter(t=>{let r=_.get(t.source),n=_.get(t.target);return r?.width&&r?.height&&n?.width&&n?.height&&function({sourcePos:e,targetPos:t,sourceWidth:r,sourceHeight:n,targetWidth:a,targetHeight:s,width:i,height:o,transform:l}){let c={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+r,t.x+a),y2:Math.max(e.y+n,t.y+s)};c.x===c.x2&&(c.x2+=1),c.y===c.y2&&(c.y2+=1);let d=nm({x:(0-l[0])/l[2],y:(0-l[1])/l[2],width:i/l[2],height:o/l[2]});return Math.ceil(Math.max(0,Math.min(d.x2,c.x2)-Math.max(d.x,c.x))*Math.max(0,Math.min(d.y2,c.y2)-Math.max(d.y,c.y)))>0}({sourcePos:r.positionAbsolute||{x:0,y:0},targetPos:n.positionAbsolute||{x:0,y:0},sourceWidth:r.width,sourceHeight:r.height,targetWidth:n.width,targetHeight:n.height,width:e.width,height:e.height,transform:e.transform})}):e.edges,[t,_])),_,r);return E?g.default.createElement(g.default.Fragment,null,M.map(({level:t,edges:r,isMaxLevel:v})=>g.default.createElement("svg",{key:t,style:{zIndex:t},width:E,height:S,className:"react-flow__edges react-flow__container"},v&&g.default.createElement(sj,{defaultColor:e,rfId:n}),g.default.createElement("g",null,r.map(e=>{let t,r,v,[E,S,M]=sb(_.get(e.source)),[T,A,O]=sb(_.get(e.target));if(!M||!O)return null;let R=e.type||"default";a[R]||(C?.("011",(t=R,`Edge type "${t}" not found. Using fallback type "default".`)),R="default");let D=a[R]||a.default,$=k===d.Strict?A.target:(A.target??[]).concat(A.source??[]),L=sx(S.source,e.sourceHandle),P=sx($,e.targetHandle),I=L?.position||f.Bottom,B=P?.position||f.Top,F=!!(e.focusable||w&&void 0===e.focusable),z=e.reconnectable||e.updatable;if(!L||!P){let t,r;return C?.("008",(t=L,r=e,`Couldn't create edge for ${!t?"source":"target"} handle id: "${!t?r.sourceHandle:r.targetHandle}", edge id: ${r.id}.`)),null}let{sourceX:q,sourceY:H,targetX:U,targetY:W}=(r=sf(I,E,L),v=sf(B,T,P),{sourceX:r.x,sourceY:r.y,targetX:v.x,targetY:v.y});return g.default.createElement(D,{key:e.id,id:e.id,className:e_([e.className,s]),type:R,data:e.data,selected:!!e.selected,animated:!!e.animated,hidden:!!e.hidden,label:e.label,labelStyle:e.labelStyle,labelShowBg:e.labelShowBg,labelBgStyle:e.labelBgStyle,labelBgPadding:e.labelBgPadding,labelBgBorderRadius:e.labelBgBorderRadius,style:e.style,source:e.source,target:e.target,sourceHandleId:e.sourceHandle,targetHandleId:e.targetHandle,markerEnd:e.markerEnd,markerStart:e.markerStart,sourceX:q,sourceY:H,targetX:U,targetY:W,sourcePosition:I,targetPosition:B,elementsSelectable:N,onContextMenu:i,onMouseEnter:o,onMouseMove:l,onMouseLeave:c,onClick:u,onEdgeDoubleClick:p,onReconnect:h,onReconnectStart:m,onReconnectEnd:x,reconnectRadius:b,rfId:n,ariaLabel:e.ariaLabel,isFocusable:F,isReconnectable:void 0!==h&&(z||j&&void 0===z),pathOptions:"pathOptions"in e?e.pathOptions:void 0,interactionWidth:e.interactionWidth,disableKeyboardA11y:y})})))),v):null};sE.displayName="EdgeRenderer";var sS=(0,g.memo)(sE);let sk=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function s_({children:e}){let t=nt(sk);return g.default.createElement("div",{className:"react-flow__viewport react-flow__container",style:{transform:t}},e)}let sC={[f.Left]:f.Right,[f.Right]:f.Left,[f.Top]:f.Bottom,[f.Bottom]:f.Top},sM=({nodeId:e,handleType:t,style:r,type:n=h.Bezier,CustomComponent:a,connectionStatus:s})=>{let{fromNode:i,handleId:o,toX:l,toY:c,connectionMode:u}=nt((0,g.useCallback)(t=>({fromNode:t.nodeInternals.get(e),handleId:t.connectionHandleId,toX:(t.connectionPosition.x-t.transform[0])/t.transform[2],toY:(t.connectionPosition.y-t.transform[1])/t.transform[2],connectionMode:t.connectionMode}),[e]),eL),p=i?.[nv]?.handleBounds,m=p?.[t];if(u===d.Loose&&(m=m||p?.["source"===t?"target":"source"]),!i||!m)return null;let f=o?m.find(e=>e.id===o):m[0],x=f?f.x+f.width/2:(i.width??0)/2,b=f?f.y+f.height/2:i.height??0,v=(i.positionAbsolute?.x??0)+x,y=(i.positionAbsolute?.y??0)+b,w=f?.position,j=w?sC[w]:null;if(!w||!j)return null;if(a)return g.default.createElement(a,{connectionLineType:n,connectionLineStyle:r,fromNode:i,fromHandle:f,fromX:v,fromY:y,toX:l,toY:c,fromPosition:w,toPosition:j,connectionStatus:s});let N="",E={sourceX:v,sourceY:y,sourcePosition:w,targetX:l,targetY:c,targetPosition:j};return n===h.Bezier?[N]=nz(E):n===h.Step?[N]=n$({...E,borderRadius:0}):n===h.SmoothStep?[N]=n$(E):n===h.SimpleBezier?[N]=nT(E):N=`M${v},${y} ${l},${c}`,g.default.createElement("path",{d:N,fill:"none",className:"react-flow__connection-path",style:r})};sM.displayName="ConnectionLine";let sT=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function sA({containerStyle:e,style:t,type:r,component:n}){let{nodeId:a,handleType:s,nodesConnectable:i,width:o,height:l,connectionStatus:c}=nt(sT,eL);return a&&s&&o&&i?g.default.createElement("svg",{style:e,width:o,height:l,className:"react-flow__edges react-flow__connectionline react-flow__container"},g.default.createElement("g",{className:e_(["react-flow__connection",c])},g.default.createElement(sM,{nodeId:a,handleType:s,style:t,type:r,CustomComponent:n,connectionStatus:c}))):null}function sO(e,t){return(0,g.useRef)(null),nr(),(0,g.useMemo)(()=>t(e),[e])}let sR=({nodeTypes:e,edgeTypes:t,onMove:r,onMoveStart:n,onMoveEnd:a,onInit:s,onNodeClick:i,onEdgeClick:o,onNodeDoubleClick:l,onEdgeDoubleClick:c,onNodeMouseEnter:d,onNodeMouseMove:u,onNodeMouseLeave:p,onNodeContextMenu:h,onSelectionContextMenu:m,onSelectionStart:f,onSelectionEnd:x,connectionLineType:b,connectionLineStyle:v,connectionLineComponent:y,connectionLineContainerStyle:w,selectionKeyCode:j,selectionOnDrag:N,selectionMode:E,multiSelectionKeyCode:S,panActivationKeyCode:k,zoomActivationKeyCode:_,deleteKeyCode:C,onlyRenderVisibleElements:M,elementsSelectable:T,selectNodesOnDrag:A,defaultViewport:O,translateExtent:R,minZoom:D,maxZoom:$,preventScrolling:L,defaultMarkerColor:P,zoomOnScroll:I,zoomOnPinch:B,panOnScroll:F,panOnScrollSpeed:z,panOnScrollMode:q,zoomOnDoubleClick:H,panOnDrag:U,onPaneClick:W,onPaneMouseEnter:V,onPaneMouseMove:Y,onPaneMouseLeave:X,onPaneScroll:G,onPaneContextMenu:K,onEdgeContextMenu:Q,onEdgeMouseEnter:J,onEdgeMouseMove:Z,onEdgeMouseLeave:ee,onReconnect:et,onReconnectStart:er,onReconnectEnd:en,reconnectRadius:ea,noDragClassName:es,noWheelClassName:ei,noPanClassName:eo,elevateEdgesOnSelect:el,disableKeyboardA11y:ec,nodeOrigin:ed,nodeExtent:eu,rfId:ep})=>{let eh,em,ef=sO(e,si),ex=sO(t,sm);return eh=a$(),em=(0,g.useRef)(!1),(0,g.useEffect)(()=>{!em.current&&eh.viewportInitialized&&s&&(setTimeout(()=>s(eh),1),em.current=!0)},[s,eh.viewportInitialized]),g.default.createElement(ss,{onPaneClick:W,onPaneMouseEnter:V,onPaneMouseMove:Y,onPaneMouseLeave:X,onPaneContextMenu:K,onPaneScroll:G,deleteKeyCode:C,selectionKeyCode:j,selectionOnDrag:N,selectionMode:E,onSelectionStart:f,onSelectionEnd:x,multiSelectionKeyCode:S,panActivationKeyCode:k,zoomActivationKeyCode:_,elementsSelectable:T,onMove:r,onMoveStart:n,onMoveEnd:a,zoomOnScroll:I,zoomOnPinch:B,zoomOnDoubleClick:H,panOnScroll:F,panOnScrollSpeed:z,panOnScrollMode:q,panOnDrag:U,defaultViewport:O,translateExtent:R,minZoom:D,maxZoom:$,onSelectionContextMenu:m,preventScrolling:L,noDragClassName:es,noWheelClassName:ei,noPanClassName:eo,disableKeyboardA11y:ec},g.default.createElement(s_,null,g.default.createElement(sS,{edgeTypes:ex,onEdgeClick:o,onEdgeDoubleClick:c,onlyRenderVisibleElements:M,onEdgeContextMenu:Q,onEdgeMouseEnter:J,onEdgeMouseMove:Z,onEdgeMouseLeave:ee,onReconnect:et,onReconnectStart:er,onReconnectEnd:en,reconnectRadius:ea,defaultMarkerColor:P,noPanClassName:eo,elevateEdgesOnSelect:!!el,disableKeyboardA11y:ec,rfId:ep},g.default.createElement(sA,{style:v,type:b,component:y,containerStyle:w})),g.default.createElement("div",{className:"react-flow__edgelabel-renderer"}),g.default.createElement(sc,{nodeTypes:ef,onNodeClick:i,onNodeDoubleClick:l,onNodeMouseEnter:d,onNodeMouseMove:u,onNodeMouseLeave:p,onNodeContextMenu:h,selectNodesOnDrag:A,onlyRenderVisibleElements:M,noPanClassName:eo,noDragClassName:es,disableKeyboardA11y:ec,nodeOrigin:ed,nodeExtent:eu,rfId:ep})))};sR.displayName="GraphView";var sD=(0,g.memo)(sR);let s$=[[-1/0,-1/0],[1/0,1/0]],sL={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:s$,nodeExtent:s$,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:d.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],nodeDragThreshold:0,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,onSelectionChange:[],multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:nw,isValidConnection:void 0},sP=({children:e})=>{let t,r,n=(0,g.useRef)(null);return n.current||(t=(e,t)=>({...sL,setNodes:r=>{let{nodeInternals:n,nodeOrigin:a,elevateNodesOnSelect:s}=t();e({nodeInternals:aM(r,n,a,s)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:r=>{let{defaultEdgeOptions:n={}}=t();e({edges:r.map(e=>({...n,...e}))})},setDefaultNodesAndEdges:(r,n)=>{let a=void 0!==r,s=void 0!==n;e({nodeInternals:a?aM(r,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map,edges:s?n:[],hasDefaultNodes:a,hasDefaultEdges:s})},updateNodeDimensions:r=>{let{onNodesChange:n,nodeInternals:a,fitViewOnInit:s,fitViewOnInitDone:i,fitViewOnInitOptions:o,domNode:l,nodeOrigin:c}=t(),d=l?.querySelector(".react-flow__viewport");if(!d)return;let u=window.getComputedStyle(d),{m22:p}=new window.DOMMatrixReadOnly(u.transform),h=r.reduce((e,t)=>{let r=a.get(t.id);if(r?.hidden)a.set(r.id,{...r,[nv]:{...r[nv],handleBounds:void 0}});else if(r){let n=no(t.nodeElement);n.width&&n.height&&(r.width!==n.width||r.height!==n.height||t.forceUpdate)&&(a.set(r.id,{...r,[nv]:{...r[nv],handleBounds:{source:a5(".source",t.nodeElement,p,c),target:a5(".target",t.nodeElement,p,c)}},...n}),e.push({id:r.id,type:"dimensions",dimensions:n}))}return e},[]);aC(a,c);let m=i||s&&!i&&aT(t,{initial:!0,...o});e({nodeInternals:new Map(a),fitViewOnInitDone:m}),h?.length>0&&n?.(h)},updateNodePositions:(e,r=!0,n=!1)=>{let{triggerNodeChanges:a}=t();a(e.map(e=>{let t={id:e.id,type:"position",dragging:n};return r&&(t.positionAbsolute=e.positionAbsolute,t.position=e.position),t}))},triggerNodeChanges:r=>{let{onNodesChange:n,nodeInternals:a,hasDefaultNodes:s,nodeOrigin:i,getNodes:o,elevateNodesOnSelect:l}=t();r?.length&&(s&&e({nodeInternals:aM(aX(r,o()),a,i,l)}),n?.(r))},addSelectedNodes:r=>{let n,{multiSelectionActive:a,edges:s,getNodes:i}=t(),o=null;a?n=r.map(e=>aG(e,!0)):(n=aK(i(),r),o=aK(s,[])),aA({changedNodes:n,changedEdges:o,get:t,set:e})},addSelectedEdges:r=>{let n,{multiSelectionActive:a,edges:s,getNodes:i}=t(),o=null;a?n=r.map(e=>aG(e,!0)):(n=aK(s,r),o=aK(i(),[])),aA({changedNodes:o,changedEdges:n,get:t,set:e})},unselectNodesAndEdges:({nodes:r,edges:n}={})=>{let{edges:a,getNodes:s}=t();aA({changedNodes:(r||s()).map(e=>(e.selected=!1,aG(e.id,!1))),changedEdges:(n||a).map(e=>aG(e.id,!1)),get:t,set:e})},setMinZoom:r=>{let{d3Zoom:n,maxZoom:a}=t();n?.scaleExtent([r,a]),e({minZoom:r})},setMaxZoom:r=>{let{d3Zoom:n,minZoom:a}=t();n?.scaleExtent([a,r]),e({maxZoom:r})},setTranslateExtent:r=>{t().d3Zoom?.translateExtent(r),e({translateExtent:r})},resetSelectedElements:()=>{let{edges:r,getNodes:n}=t();aA({changedNodes:n().filter(e=>e.selected).map(e=>aG(e.id,!1)),changedEdges:r.filter(e=>e.selected).map(e=>aG(e.id,!1)),get:t,set:e})},setNodeExtent:r=>{let{nodeInternals:n}=t();n.forEach(e=>{e.positionAbsolute=nc(e.position,r)}),e({nodeExtent:r,nodeInternals:new Map(n)})},panBy:e=>{let{transform:r,width:n,height:a,d3Zoom:s,d3Selection:i,translateExtent:o}=t();if(!s||!i||!e.x&&!e.y)return!1;let l=rV.translate(r[0]+e.x,r[1]+e.y).scale(r[2]),c=s?.constrain()(l,[[0,0],[n,a]],o);return s.transform(i,c),r[0]!==c.x||r[1]!==c.y||r[2]!==c.k},cancelConnection:()=>e({connectionNodeId:sL.connectionNodeId,connectionHandleId:sL.connectionHandleId,connectionHandleType:sL.connectionHandleType,connectionStatus:sL.connectionStatus,connectionStartHandle:sL.connectionStartHandle,connectionEndHandle:sL.connectionEndHandle}),reset:()=>e({...sL})}),r=Object.is,n.current=t?e$(t,r):e$),g.default.createElement(r8,{value:n.current},e)};sP.displayName="ReactFlowProvider";let sI=({children:e})=>(0,g.useContext)(r7)?g.default.createElement(g.default.Fragment,null,e):g.default.createElement(sP,null,e);sI.displayName="ReactFlowWrapper";let sB={input:aa,default:ar,output:ai,group:ao},sF={default:nq,straight:nI,step:nP,smoothstep:nL,simplebezier:nA},sz=[0,0],sq=[15,15],sH={x:0,y:0,zoom:1},sU={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},sW=(0,g.forwardRef)(({nodes:e,edges:t,defaultNodes:r,defaultEdges:n,className:a,nodeTypes:s=sB,edgeTypes:i=sF,onNodeClick:o,onEdgeClick:l,onInit:c,onMove:m,onMoveStart:f,onMoveEnd:x,onConnect:b,onConnectStart:v,onConnectEnd:y,onClickConnectStart:w,onClickConnectEnd:j,onNodeMouseEnter:N,onNodeMouseMove:E,onNodeMouseLeave:S,onNodeContextMenu:k,onNodeDoubleClick:_,onNodeDragStart:C,onNodeDrag:M,onNodeDragStop:T,onNodesDelete:A,onEdgesDelete:O,onSelectionChange:R,onSelectionDragStart:D,onSelectionDrag:$,onSelectionDragStop:L,onSelectionContextMenu:P,onSelectionStart:I,onSelectionEnd:B,connectionMode:F=d.Strict,connectionLineType:z=h.Bezier,connectionLineStyle:q,connectionLineComponent:H,connectionLineContainerStyle:U,deleteKeyCode:W="Backspace",selectionKeyCode:V="Shift",selectionOnDrag:Y=!1,selectionMode:X=p.Full,panActivationKeyCode:G="Space",multiSelectionKeyCode:K=nE()?"Meta":"Control",zoomActivationKeyCode:Q=nE()?"Meta":"Control",snapToGrid:J=!1,snapGrid:Z=sq,onlyRenderVisibleElements:ee=!1,selectNodesOnDrag:et=!0,nodesDraggable:er,nodesConnectable:en,nodesFocusable:ea,nodeOrigin:es=sz,edgesFocusable:ei,edgesUpdatable:eo,elementsSelectable:el,defaultViewport:ec=sH,minZoom:ed=.5,maxZoom:eu=2,translateExtent:ep=s$,preventScrolling:eh=!0,nodeExtent:em,defaultMarkerColor:ef="#b1b1b7",zoomOnScroll:ex=!0,zoomOnPinch:eb=!0,panOnScroll:eg=!1,panOnScrollSpeed:ev=.5,panOnScrollMode:ey=u.Free,zoomOnDoubleClick:ew=!0,panOnDrag:ej=!0,onPaneClick:eN,onPaneMouseEnter:eE,onPaneMouseMove:eS,onPaneMouseLeave:ek,onPaneScroll:eC,onPaneContextMenu:eM,children:eT,onEdgeContextMenu:eA,onEdgeDoubleClick:eO,onEdgeMouseEnter:eR,onEdgeMouseMove:eD,onEdgeMouseLeave:e$,onEdgeUpdate:eL,onEdgeUpdateStart:eP,onEdgeUpdateEnd:eI,onReconnect:eB,onReconnectStart:eF,onReconnectEnd:ez,reconnectRadius:eq=10,edgeUpdaterRadius:eH=10,onNodesChange:eU,onEdgesChange:eW,noDragClassName:eV="nodrag",noWheelClassName:eY="nowheel",noPanClassName:eX="nopan",fitView:eG=!1,fitViewOptions:eK,connectOnClick:eQ=!0,attributionPosition:eJ,proOptions:eZ,defaultEdgeOptions:e0,elevateNodesOnSelect:e1=!0,elevateEdgesOnSelect:e2=!1,disableKeyboardA11y:e5=!1,autoPanOnConnect:e3=!0,autoPanOnNodeDrag:e4=!0,connectionRadius:e6=20,isValidConnection:e9,onError:e7,style:e8,id:te,nodeDragThreshold:tt,...tr},tn)=>{let ta=te||"1";return g.default.createElement("div",{...tr,style:{...e8,...sU},ref:tn,className:e_(["react-flow",a]),"data-testid":"rf__wrapper",id:te},g.default.createElement(sI,null,g.default.createElement(sD,{onInit:c,onMove:m,onMoveStart:f,onMoveEnd:x,onNodeClick:o,onEdgeClick:l,onNodeMouseEnter:N,onNodeMouseMove:E,onNodeMouseLeave:S,onNodeContextMenu:k,onNodeDoubleClick:_,nodeTypes:s,edgeTypes:i,connectionLineType:z,connectionLineStyle:q,connectionLineComponent:H,connectionLineContainerStyle:U,selectionKeyCode:V,selectionOnDrag:Y,selectionMode:X,deleteKeyCode:W,multiSelectionKeyCode:K,panActivationKeyCode:G,zoomActivationKeyCode:Q,onlyRenderVisibleElements:ee,selectNodesOnDrag:et,defaultViewport:ec,translateExtent:ep,minZoom:ed,maxZoom:eu,preventScrolling:eh,zoomOnScroll:ex,zoomOnPinch:eb,zoomOnDoubleClick:ew,panOnScroll:eg,panOnScrollSpeed:ev,panOnScrollMode:ey,panOnDrag:ej,onPaneClick:eN,onPaneMouseEnter:eE,onPaneMouseMove:eS,onPaneMouseLeave:ek,onPaneScroll:eC,onPaneContextMenu:eM,onSelectionContextMenu:P,onSelectionStart:I,onSelectionEnd:B,onEdgeContextMenu:eA,onEdgeDoubleClick:eO,onEdgeMouseEnter:eR,onEdgeMouseMove:eD,onEdgeMouseLeave:e$,onReconnect:eB??eL,onReconnectStart:eF??eP,onReconnectEnd:ez??eI,reconnectRadius:eq??eH,defaultMarkerColor:ef,noDragClassName:eV,noWheelClassName:eY,noPanClassName:eX,elevateEdgesOnSelect:e2,rfId:ta,disableKeyboardA11y:e5,nodeOrigin:es,nodeExtent:em}),g.default.createElement(ab,{nodes:e,edges:t,defaultNodes:r,defaultEdges:n,onConnect:b,onConnectStart:v,onConnectEnd:y,onClickConnectStart:w,onClickConnectEnd:j,nodesDraggable:er,nodesConnectable:en,nodesFocusable:ea,edgesFocusable:ei,edgesUpdatable:eo,elementsSelectable:el,elevateNodesOnSelect:e1,minZoom:ed,maxZoom:eu,nodeExtent:em,onNodesChange:eU,onEdgesChange:eW,snapToGrid:J,snapGrid:Z,connectionMode:F,translateExtent:ep,connectOnClick:eQ,defaultEdgeOptions:e0,fitView:eG,fitViewOptions:eK,onNodesDelete:A,onEdgesDelete:O,onNodeDragStart:C,onNodeDrag:M,onNodeDragStop:T,onSelectionDrag:$,onSelectionDragStart:D,onSelectionDragStop:L,noPanClassName:eX,nodeOrigin:es,rfId:ta,autoPanOnConnect:e3,autoPanOnNodeDrag:e4,onError:e7,connectionRadius:e6,isValidConnection:e9,nodeDragThreshold:tt}),g.default.createElement(ah,{onSelectionChange:R}),eT,g.default.createElement(ns,{proOptions:eZ,position:eJ}),g.default.createElement(aE,{rfId:ta,disableKeyboardA11y:e5})))});function sV(e){return t=>{let[r,n]=(0,g.useState)(t),a=(0,g.useCallback)(t=>n(r=>e(t,r)),[]);return[r,n,a]}}sW.displayName="ReactFlow";let sY=sV(aX),sX=sV(function(e,t){return aY(e,t)});function sG({color:e,dimensions:t,lineWidth:r}){return g.default.createElement("path",{stroke:e,strokeWidth:r,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function sK({color:e,radius:t}){return g.default.createElement("circle",{cx:t,cy:t,r:t,fill:e})}(o=x||(x={})).Lines="lines",o.Dots="dots",o.Cross="cross";let sQ={[x.Dots]:"#91919a",[x.Lines]:"#eee",[x.Cross]:"#e2e2e2"},sJ={[x.Dots]:1,[x.Lines]:1,[x.Cross]:6},sZ=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function s0({id:e,variant:t=x.Dots,gap:r=20,size:n,lineWidth:a=1,offset:s=2,color:i,style:o,className:l}){let c=(0,g.useRef)(null),{transform:d,patternId:u}=nt(sZ,eL),p=i||sQ[t],h=n||sJ[t],m=t===x.Dots,f=t===x.Cross,b=Array.isArray(r)?r:[r,r],v=[b[0]*d[2]||1,b[1]*d[2]||1],y=h*d[2],w=f?[y,y]:v,j=m?[y/s,y/s]:[w[0]/s,w[1]/s];return g.default.createElement("svg",{className:e_(["react-flow__background",l]),style:{...o,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:c,"data-testid":"rf__background"},g.default.createElement("pattern",{id:u+e,x:d[0]%v[0],y:d[1]%v[1],width:v[0],height:v[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${j[0]},-${j[1]})`},m?g.default.createElement(sK,{color:p,radius:y/s}):g.default.createElement(sG,{dimensions:w,color:p,lineWidth:a})),g.default.createElement("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${u+e})`}))}s0.displayName="Background";var s1=(0,g.memo)(s0);function s2(){return g.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},g.default.createElement("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"}))}function s5(){return g.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},g.default.createElement("path",{d:"M0 0h32v4.2H0z"}))}function s3(){return g.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},g.default.createElement("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"}))}function s4(){return g.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},g.default.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"}))}function s6(){return g.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},g.default.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"}))}let s9=({children:e,className:t,...r})=>g.default.createElement("button",{type:"button",className:e_(["react-flow__controls-button",t]),...r},e);s9.displayName="ControlButton";let s7=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom}),s8=({style:e,showZoom:t=!0,showFitView:r=!0,showInteractive:n=!0,fitViewOptions:a,onZoomIn:s,onZoomOut:i,onFitView:o,onInteractiveChange:l,className:c,children:d,position:u="bottom-left"})=>{let p=nr(),[h,m]=(0,g.useState)(!1),{isInteractive:f,minZoomReached:x,maxZoomReached:b}=nt(s7,eL),{zoomIn:v,zoomOut:y,fitView:w}=a$();return((0,g.useEffect)(()=>{m(!0)},[]),h)?g.default.createElement(na,{className:e_(["react-flow__controls",c]),position:u,style:e,"data-testid":"rf__controls"},t&&g.default.createElement(g.default.Fragment,null,g.default.createElement(s9,{onClick:()=>{v(),s?.()},className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",disabled:b},g.default.createElement(s2,null)),g.default.createElement(s9,{onClick:()=>{y(),i?.()},className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",disabled:x},g.default.createElement(s5,null))),r&&g.default.createElement(s9,{className:"react-flow__controls-fitview",onClick:()=>{w(a),o?.()},title:"fit view","aria-label":"fit view"},g.default.createElement(s3,null)),n&&g.default.createElement(s9,{className:"react-flow__controls-interactive",onClick:()=>{p.setState({nodesDraggable:!f,nodesConnectable:!f,elementsSelectable:!f}),l?.(!f)},title:"toggle interactivity","aria-label":"toggle interactivity"},f?g.default.createElement(s6,null):g.default.createElement(s4,null)),d):null};s8.displayName="Controls";var ie=(0,g.memo)(s8);let it=({id:e,x:t,y:r,width:n,height:a,style:s,color:i,strokeColor:o,strokeWidth:l,className:c,borderRadius:d,shapeRendering:u,onClick:p,selected:h})=>{let{background:m,backgroundColor:f}=s||{};return g.default.createElement("rect",{className:e_(["react-flow__minimap-node",{selected:h},c]),x:t,y:r,rx:d,ry:d,width:n,height:a,fill:i||m||f,stroke:o,strokeWidth:l,shapeRendering:u,onClick:p?t=>p(t,e):void 0})};it.displayName="MiniMapNode";var ir=(0,g.memo)(it);let ia=e=>e.nodeOrigin,is=e=>e.getNodes().filter(e=>!e.hidden&&e.width&&e.height),ii=e=>e instanceof Function?e:()=>e;var io=(0,g.memo)(function({nodeStrokeColor:e="transparent",nodeColor:t="#e2e2e2",nodeClassName:r="",nodeBorderRadius:n=5,nodeStrokeWidth:a=2,nodeComponent:s=ir,onClick:i}){let o=nt(is,eL),l=nt(ia),c=ii(t),d=ii(e),u=ii(r),p="u"<typeof window||window.chrome?"crispEdges":"geometricPrecision";return g.default.createElement(g.default.Fragment,null,o.map(e=>{let{x:t,y:r}=nX(e,l).positionAbsolute;return g.default.createElement(s,{key:e.id,x:t,y:r,width:e.width,height:e.height,style:e.style,selected:e.selected,className:u(e),color:c(e),borderRadius:n,strokeColor:d(e),strokeWidth:a,shapeRendering:p,onClick:i,id:e.id})}))});let il=e=>{let t,r=e.getNodes(),n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:r.length>0?(t=nG(r,e.nodeOrigin),nf(nh(nm(t),nm(n)))):n,rfId:e.rfId}};function ic({style:e,className:t,nodeStrokeColor:r="transparent",nodeColor:n="#e2e2e2",nodeClassName:a="",nodeBorderRadius:s=5,nodeStrokeWidth:i=2,nodeComponent:o,maskColor:l="rgb(240, 240, 240, 0.6)",maskStrokeColor:c="none",maskStrokeWidth:d=1,position:u="bottom-right",onClick:p,onNodeClick:h,pannable:m=!1,zoomable:f=!1,ariaLabel:x="React Flow mini map",inversePan:b=!1,zoomStep:v=10,offsetScale:y=5}){let w=nr(),j=(0,g.useRef)(null),{boundingRect:N,viewBB:E,rfId:S}=nt(il,eL),k=e?.width??200,_=e?.height??150,C=Math.max(N.width/k,N.height/_),M=C*k,T=C*_,A=y*C,O=N.x-(M-N.width)/2-A,R=N.y-(T-N.height)/2-A,D=M+2*A,$=T+2*A,L=`react-flow__minimap-desc-${S}`,P=(0,g.useRef)(0);P.current=C,(0,g.useEffect)(()=>{if(j.current){let e=tg(j.current),t=r1().on("zoom",m?e=>{let{transform:t,d3Selection:r,d3Zoom:n,translateExtent:a,width:s,height:i}=w.getState();if("mousemove"!==e.sourceEvent.type||!r||!n)return;let o=P.current*Math.max(1,t[2])*(b?-1:1),l={x:t[0]-e.sourceEvent.movementX*o,y:t[1]-e.sourceEvent.movementY*o},c=rV.translate(l.x,l.y).scale(t[2]),d=n.constrain()(c,[[0,0],[s,i]],a);n.transform(r,d)}:null).on("zoom.wheel",f?e=>{let{transform:t,d3Selection:r,d3Zoom:n}=w.getState();if("wheel"!==e.sourceEvent.type||!r||!n)return;let a=-e.sourceEvent.deltaY*(1===e.sourceEvent.deltaMode?.05:e.sourceEvent.deltaMode?1:.002)*v,s=t[2]*Math.pow(2,a);n.scaleTo(r,s)}:null);return e.call(t),()=>{e.on("zoom",null)}}},[m,f,b,v]);let I=p?e=>{let t=t_(e);p(e,{x:t[0],y:t[1]})}:void 0,B=h?(e,t)=>{h(e,w.getState().nodeInternals.get(t))}:void 0;return g.default.createElement(na,{position:u,style:e,className:e_(["react-flow__minimap",t]),"data-testid":"rf__minimap"},g.default.createElement("svg",{width:k,height:_,viewBox:`${O} ${R} ${D} ${$}`,role:"img","aria-labelledby":L,ref:j,onClick:I},x&&g.default.createElement("title",{id:L},x),g.default.createElement(io,{onClick:B,nodeColor:n,nodeStrokeColor:r,nodeBorderRadius:s,nodeClassName:a,nodeStrokeWidth:i,nodeComponent:o}),g.default.createElement("path",{className:"react-flow__minimap-mask",d:`M${O-A},${R-A}h${D+2*A}v${$+2*A}h${-D-2*A}z
10
+ M${E.x},${E.y}h${E.width}v${E.height}h${-E.width}z`,fill:l,fillRule:"evenodd",stroke:c,strokeWidth:d,pointerEvents:"none"})))}ic.displayName="MiniMap";var id=(0,g.memo)(ic),iu=e.i(39669);let ip=y("Key",[["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["path",{d:"m15.5 7.5 3 3L22 7l-3-3",key:"1rn1fs"}]]),ih=y("Link2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]),im={tableNode:function({data:e}){return(0,b.jsxs)("div",{className:"bg-app-sidebar border-2 border-app-border rounded-lg shadow-lg min-w-[220px]",children:[(0,b.jsx)(ae,{type:"target",position:f.Left,className:"!bg-transparent !border-0 !w-2 !h-2"}),(0,b.jsx)(ae,{type:"source",position:f.Right,className:"!bg-transparent !border-0 !w-2 !h-2"}),(0,b.jsx)("div",{className:"px-3 py-2 bg-app-bg border-b border-app-border rounded-t-lg",children:(0,b.jsx)("div",{className:"font-semibold text-sm text-app-text",children:e.label})}),(0,b.jsx)("div",{className:"py-1",children:e.columns.map((t,r)=>{let n=e.foreignKeys.includes(t.name);return(0,b.jsxs)("div",{className:"px-3 py-1.5 hover:bg-app-bg/50 transition-colors text-xs font-mono flex items-center gap-2",children:[t.pk?(0,b.jsx)(ip,{className:"w-3 h-3 text-yellow-400 flex-shrink-0"}):n?(0,b.jsx)(ih,{className:"w-3 h-3 text-indigo-400 flex-shrink-0"}):(0,b.jsx)("div",{className:"w-3"}),(0,b.jsx)("span",{className:t.pk?"text-app-text font-semibold":n?"text-indigo-400":"text-app-text-dim",children:t.name}),(0,b.jsx)("span",{className:"text-app-text-dim/60 text-[10px] ml-auto",children:t.type})]},r)})})]})}};function ix(){let[e,t]=(0,g.useState)(!0),[r,n]=(0,g.useState)(null),[a,s,i]=sY([]),[o,l,c]=sX([]),{projectInfo:d}=ev(),u=(0,g.useCallback)(async()=>{try{t(!0),n(null);let e=await er(),r={};e.relations.forEach(e=>{r[e.fromTable]||(r[e.fromTable]=[]),r[e.fromTable].push(e.fromColumn)});let a=e.tables.map(e=>({id:e.name,type:"tableNode",data:{label:e.name,columns:e.columns,foreignKeys:r[e.name]||[]},position:{x:0,y:0}})),i=e.relations.map((e,t)=>({id:`edge-${t}`,source:e.fromTable,target:e.toTable,type:"smoothstep",animated:!1,style:{stroke:e.isInferred?"#94a3b8":"#6366f1",strokeWidth:2.5,strokeDasharray:e.isInferred?"6 6":void 0},markerEnd:{type:m.ArrowClosed,color:e.isInferred?"#94a3b8":"#6366f1",width:20,height:20},label:`${e.fromColumn} → ${e.toColumn}`,labelStyle:{fontSize:11,fill:e.isInferred?"#94a3b8":"#e4e4e7",fontWeight:500},labelBgStyle:{fill:"#18181b",fillOpacity:.9,rx:4,ry:4}})),{nodes:o,edges:c}=((e,t,r="LR")=>{let n=new iu.default.graphlib.Graph;return n.setDefaultEdgeLabel(()=>({})),n.setGraph({rankdir:r,ranksep:100,nodesep:80}),e.forEach(e=>{n.setNode(e.id,{width:220,height:28*e.data.columns.length+50})}),t.forEach(e=>{n.setEdge(e.source,e.target)}),iu.default.layout(n),e.forEach(e=>{let t=n.node(e.id);return e.targetPosition="LR"===r?f.Left:f.Top,e.sourcePosition="LR"===r?f.Right:f.Bottom,e.position={x:t.x-110,y:t.y-(14*e.data.columns.length+25)},e}),{nodes:e,edges:t}})(a,i);s(o),l(c)}catch(e){n(e.message)}finally{t(!1)}},[s,l]);return((0,g.useEffect)(()=>{u()},[u,d?.currentBranch]),e)?(0,b.jsxs)("div",{className:"h-full flex flex-col items-center justify-center bg-app-bg",children:[(0,b.jsx)($,{className:"w-6 h-6 animate-spin text-app-accent mb-3"}),(0,b.jsx)("p",{className:"text-app-text-dim",children:"Loading ER diagram..."})]}):r?(0,b.jsx)("div",{className:"h-full flex flex-col items-center justify-center bg-app-bg",children:(0,b.jsxs)("div",{className:"p-4 bg-red-500/10 border border-red-500/20 rounded text-red-400 max-w-md",children:[(0,b.jsx)("p",{className:"font-semibold mb-1",children:"Failed to load ER diagram"}),(0,b.jsx)("p",{className:"text-sm",children:r})]})}):0===a.length?(0,b.jsxs)("div",{className:"h-full flex flex-col items-center justify-center bg-app-bg text-app-text-dim",children:[(0,b.jsx)(ih,{className:"w-12 h-12 mb-3 opacity-50"}),(0,b.jsx)("p",{className:"text-lg",children:"No tables yet"}),(0,b.jsx)("p",{className:"text-sm mt-1",children:"Create tables to see the ER diagram"})]}):(0,b.jsx)("div",{className:"h-full w-full bg-app-bg",children:(0,b.jsxs)(sW,{nodes:a,edges:o,onNodesChange:i,onEdgesChange:c,nodeTypes:im,connectionLineType:h.SmoothStep,fitView:!0,attributionPosition:"bottom-left",minZoom:.1,maxZoom:1.5,defaultEdgeOptions:{type:h.SmoothStep,animated:!1},nodesDraggable:!0,nodesConnectable:!1,elementsSelectable:!0,children:[(0,b.jsx)(s1,{color:"#27272a",gap:16,size:1}),(0,b.jsx)(ie,{className:"bg-app-sidebar border border-app-border rounded"}),(0,b.jsx)(id,{className:"bg-app-sidebar border border-app-border rounded",nodeColor:"#3f3f46",maskColor:"rgba(0, 0, 0, 0.6)"}),(0,b.jsxs)(na,{position:"top-left",className:"bg-app-sidebar border border-app-border rounded-lg px-4 py-2 shadow-lg",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,b.jsx)(ih,{className:"w-4 h-4 text-app-accent"}),(0,b.jsx)("span",{className:"font-semibold text-app-text",children:"Entity Relationship Diagram"}),d?.currentBranch&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"text-app-text-dim",children:"•"}),(0,b.jsxs)("span",{className:"text-app-text-dim",children:["Branch: ",d.currentBranch]})]}),(0,b.jsx)("span",{className:"text-app-text-dim",children:"•"}),(0,b.jsxs)("span",{className:"text-app-text-dim",children:[a.length," table",1!==a.length?"s":""]}),(0,b.jsx)("span",{className:"text-app-text-dim",children:"•"}),(0,b.jsxs)("span",{className:"text-app-text-dim",children:[o.length," relation",1!==o.length?"s":""]})]}),0===o.length&&a.length>0&&(0,b.jsx)("div",{className:"mt-2 text-xs text-yellow-400/80",children:"💡 No foreign key relations found. Add FOREIGN KEY constraints to see connections."}),o.length>0&&(0,b.jsx)("div",{className:"mt-2 text-xs text-app-text-dim",children:"Dashed links are inferred from primary key name matches."})]})]})})}function ib(){let{branchVersion:e}=ev(),[t,r]=(0,g.useState)("tables"),[n,a]=(0,g.useState)([]),[s,i]=(0,g.useState)([]),[o,l]=(0,g.useState)([]),[c,d]=(0,g.useState)([]),[u,p]=(0,g.useState)(null),[h,m]=(0,g.useState)(null),[f,x]=(0,g.useState)(!1),[v,y]=(0,g.useState)("columns"),[w,E]=(0,g.useState)(!1),[S,k]=(0,g.useState)(!0),[_,C]=(0,g.useState)(!0),[M,T]=(0,g.useState)(!0);async function A(){try{let e=`
11
11
  SELECT name, type
12
12
  FROM sqlite_master
13
13
  WHERE type IN ('table', 'view', 'index', 'trigger')
14
14
  AND name NOT LIKE 'sqlite_%'
15
15
  ORDER BY type, name
16
- `,t=await q(e),r=[],n=[],s=[],o=[];t.rows?.forEach(e=>{let t={name:e.name,type:e.type};switch(e.type){case"table":r.push(t);break;case"view":n.push(t);break;case"index":s.push(t);break;case"trigger":o.push(t)}}),a(r),i(n),l(s),d(o),r.length>0&&!u&&p({type:"table",name:r[0].name})}catch(e){console.error("Failed to load database objects:",e)}}async function R(e,t){x(!0);try{if("table"===e){let e=await z(t),r=`SELECT name, sql FROM sqlite_master WHERE type='index' AND tbl_name='${t}' AND name NOT LIKE 'sqlite_%'`,n=await q(r),a=`PRAGMA foreign_key_list(${t})`,s=await q(a),i=`SELECT name, sql FROM sqlite_master WHERE type='trigger' AND tbl_name='${t}'`,o=await q(i),l=`SELECT sql FROM sqlite_master WHERE type='table' AND name='${t}'`,c=await q(l);m({...e,indexes:n.rows||[],foreignKeys:s.rows||[],triggers:o.rows||[],sql:c.rows?.[0]?.sql||""})}else if("view"===e||"index"===e||"trigger"===e){let r=`SELECT sql FROM sqlite_master WHERE type='${e}' AND name='${t}'`,n=await q(r);m({sql:n.rows?.[0]?.sql||""})}}catch(e){console.error("Failed to load object details:",e)}finally{x(!1)}}function D(e){let t=[],r=e.filter(e=>e.primaryKey).map(e=>e.name);return r.length>0&&t.push({type:"PRIMARY KEY",columns:r}),t}function L(){h?.sql&&(navigator.clipboard.writeText(h.sql),alert("SQL copied to clipboard"))}return(0,g.useEffect)(()=>{A()},[e]),(0,g.useEffect)(()=>{u&&R(u.type,u.name)},[u]),(0,b.jsxs)("div",{className:"flex flex-col h-full",children:[(0,b.jsxs)("div",{className:"bg-app-sidebar border-b border-app-border px-6 py-3 flex items-center gap-1",children:[(0,b.jsxs)("button",{onClick:()=>r("tables"),className:`
16
+ `,t=await z(e),r=[],n=[],s=[],o=[];t.rows?.forEach(e=>{let t={name:e.name,type:e.type};switch(e.type){case"table":r.push(t);break;case"view":n.push(t);break;case"index":s.push(t);break;case"trigger":o.push(t)}}),a(r),i(n),l(s),d(o),r.length>0&&!u&&p({type:"table",name:r[0].name})}catch(e){console.error("Failed to load database objects:",e)}}async function R(e,t){x(!0);try{if("table"===e){let e=await F(t),r=`SELECT name, sql FROM sqlite_master WHERE type='index' AND tbl_name='${t}' AND name NOT LIKE 'sqlite_%'`,n=await z(r),a=`PRAGMA foreign_key_list(${t})`,s=await z(a),i=`SELECT name, sql FROM sqlite_master WHERE type='trigger' AND tbl_name='${t}'`,o=await z(i),l=`SELECT sql FROM sqlite_master WHERE type='table' AND name='${t}'`,c=await z(l);m({...e,indexes:n.rows||[],foreignKeys:s.rows||[],triggers:o.rows||[],sql:c.rows?.[0]?.sql||""})}else if("view"===e||"index"===e||"trigger"===e){let r=`SELECT sql FROM sqlite_master WHERE type='${e}' AND name='${t}'`,n=await z(r);m({sql:n.rows?.[0]?.sql||""})}}catch(e){console.error("Failed to load object details:",e)}finally{x(!1)}}function D(e){let t=[],r=e.filter(e=>e.primaryKey).map(e=>e.name);return r.length>0&&t.push({type:"PRIMARY KEY",columns:r}),t}function $(){h?.sql&&(navigator.clipboard.writeText(h.sql),alert("SQL copied to clipboard"))}return(0,g.useEffect)(()=>{A()},[e]),(0,g.useEffect)(()=>{u&&R(u.type,u.name)},[u]),(0,b.jsxs)("div",{className:"flex flex-col h-full",children:[(0,b.jsxs)("div",{className:"bg-app-sidebar border-b border-app-border px-6 py-3 flex items-center gap-1",children:[(0,b.jsxs)("button",{onClick:()=>r("tables"),className:`
17
17
  px-4 py-2 rounded text-sm font-medium transition-colors flex items-center gap-2
18
18
  ${"tables"===t?"bg-app-accent text-white":"text-app-text-dim hover:text-app-text hover:bg-app-sidebar-hover"}
19
19
  `,children:[(0,b.jsx)(ep,{className:"w-4 h-4"}),"Tables"]}),(0,b.jsxs)("button",{onClick:()=>r("er"),className:`
@@ -34,14 +34,14 @@
34
34
  `,children:e.name},e.name))})]})]})}),(0,b.jsx)("div",{className:"flex-1 flex flex-col overflow-hidden",children:u?f?(0,b.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,b.jsx)("div",{className:"text-app-text-dim",children:"Loading..."})}):(0,b.jsxs)("div",{className:"flex flex-col h-full",children:[(0,b.jsxs)("div",{className:"px-6 py-4 border-b border-app-border bg-app-sidebar/30 flex-shrink-0",children:[(0,b.jsx)("h1",{className:"text-2xl font-bold mb-1",children:u.name}),(0,b.jsx)("p",{className:"text-sm text-app-text-dim capitalize",children:u.type})]}),"table"===u.type&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"px-6 py-2 border-b border-app-border bg-app-sidebar/20 flex-shrink-0",children:(0,b.jsx)("div",{className:"flex gap-4",children:["columns","constraints","indexes","relations","triggers","sql"].map(e=>(0,b.jsx)("button",{onClick:()=>y(e),className:`
35
35
  px-2 py-1.5 text-sm capitalize transition-colors font-medium
36
36
  ${v===e?"text-app-text border-b-2 border-app-accent":"text-app-text-dim hover:text-app-text"}
37
- `,children:e},e))})}),(0,b.jsxs)("div",{className:"flex-1 overflow-auto p-6",children:["columns"===v&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold text-app-text-dim mb-3 uppercase tracking-wide",children:"Columns"}),(0,b.jsx)("div",{className:"bg-app-panel border border-app-panel-border rounded overflow-hidden",children:(0,b.jsxs)("table",{className:"w-full text-sm",children:[(0,b.jsx)("thead",{className:"bg-app-sidebar-active",children:(0,b.jsxs)("tr",{children:[(0,b.jsx)("th",{className:"px-4 py-3 text-left font-medium",children:"Column"}),(0,b.jsx)("th",{className:"px-4 py-3 text-left font-medium",children:"Type"}),(0,b.jsx)("th",{className:"px-4 py-3 text-left font-medium",children:"Nullable"}),(0,b.jsx)("th",{className:"px-4 py-3 text-left font-medium",children:"Default"})]})}),(0,b.jsx)("tbody",{children:h?.columns?.map((e,t)=>(0,b.jsxs)("tr",{className:"border-t border-app-panel-border",children:[(0,b.jsxs)("td",{className:"px-4 py-3 font-mono flex items-center gap-2",children:[e.name,e.primaryKey&&(0,b.jsx)("span",{className:"px-2 py-0.5 bg-yellow-500/20 text-yellow-400 rounded text-xs",children:"PK"})]}),(0,b.jsx)("td",{className:"px-4 py-3 text-app-text-dim",children:e.type||"ANY"}),(0,b.jsx)("td",{className:"px-4 py-3",children:e.notNull?(0,b.jsx)("span",{className:"text-red-400",children:"No"}):(0,b.jsx)("span",{className:"text-green-400",children:"Yes"})}),(0,b.jsx)("td",{className:"px-4 py-3 font-mono text-app-text-dim",children:e.defaultValue||(0,b.jsx)("span",{className:"italic",children:"none"})})]},t))})]})})]}),"constraints"===v&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold text-app-text-dim mb-3 uppercase tracking-wide",children:"Constraints"}),(0,b.jsxs)("div",{className:"space-y-3",children:[D(h?.columns||[]).map((e,t)=>(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded p-4",children:[(0,b.jsx)("div",{className:"flex items-center gap-2 mb-2",children:(0,b.jsx)("span",{className:"px-2 py-0.5 bg-blue-500/20 text-blue-400 rounded text-xs font-medium",children:e.type})}),(0,b.jsxs)("code",{className:"text-sm text-app-text",children:[e.type," (",e.columns.join(", "),")",e.referencedTable&&` → ${e.referencedTable}(${e.referencedColumns?.join(", ")})`]})]},t)),0===D(h?.columns||[]).length&&(0,b.jsx)("p",{className:"text-sm text-app-text-dim italic",children:"No constraints defined"})]})]}),"indexes"===v&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold text-app-text-dim mb-3 uppercase tracking-wide",children:"Indexes"}),h?.indexes&&h.indexes.length>0?(0,b.jsx)("div",{className:"space-y-3",children:h.indexes.map((e,t)=>(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded p-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,b.jsx)("span",{className:"font-mono text-sm",children:e.name}),(0,b.jsx)("span",{className:"px-2 py-0.5 bg-green-500/20 text-green-400 rounded text-xs",children:"INDEX"})]}),e.sql&&(0,b.jsx)("pre",{className:"text-xs text-app-text-dim font-mono bg-app-bg p-2 rounded overflow-x-auto",children:e.sql})]},t))}):(0,b.jsx)("p",{className:"text-sm text-app-text-dim italic",children:"No indexes defined"})]}),"relations"===v&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold text-app-text-dim mb-3 uppercase tracking-wide",children:"Foreign Key Relations"}),h?.foreignKeys&&h.foreignKeys.length>0?(0,b.jsx)("div",{className:"space-y-3",children:h.foreignKeys.map((e,t)=>(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded p-4",children:[(0,b.jsx)("div",{className:"flex items-center gap-2 mb-3",children:(0,b.jsx)("span",{className:"px-2 py-0.5 bg-indigo-500/20 text-indigo-400 rounded text-xs font-medium",children:"FOREIGN KEY"})}),(0,b.jsxs)("div",{className:"space-y-2 text-sm",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-app-text-dim",children:"Column:"}),(0,b.jsx)("code",{className:"text-app-text font-mono bg-app-bg px-2 py-0.5 rounded",children:e.from})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-app-text-dim",children:"References:"}),(0,b.jsxs)("code",{className:"text-app-text font-mono bg-app-bg px-2 py-0.5 rounded",children:[e.table,".",e.to]})]}),e.on_update&&(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-app-text-dim",children:"On Update:"}),(0,b.jsx)("span",{className:"text-yellow-400",children:e.on_update})]}),e.on_delete&&(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-app-text-dim",children:"On Delete:"}),(0,b.jsx)("span",{className:"text-red-400",children:e.on_delete})]})]})]},t))}):(0,b.jsx)("p",{className:"text-sm text-app-text-dim italic",children:"No foreign key relations defined"})]}),"triggers"===v&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold text-app-text-dim mb-3 uppercase tracking-wide",children:"Triggers"}),h?.triggers&&h.triggers.length>0?(0,b.jsx)("div",{className:"space-y-3",children:h.triggers.map((e,t)=>(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded p-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[(0,b.jsx)("span",{className:"font-mono text-sm text-app-text",children:e.name}),(0,b.jsx)("span",{className:"px-2 py-0.5 bg-purple-500/20 text-purple-400 rounded text-xs font-medium",children:"TRIGGER"})]}),e.sql&&(0,b.jsx)("pre",{className:"text-xs bg-app-bg border border-app-border rounded p-3 overflow-x-auto font-mono",children:e.sql})]},t))}):(0,b.jsx)("p",{className:"text-sm text-app-text-dim italic",children:"No triggers defined"})]}),"sql"===v&&(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,b.jsx)("h3",{className:"text-sm font-semibold text-app-text-dim uppercase tracking-wide",children:"SQL Definition"}),(0,b.jsxs)("button",{onClick:L,className:"px-3 py-1.5 text-xs bg-app-sidebar-active hover:bg-app-sidebar-hover rounded transition-colors flex items-center gap-1.5",children:[(0,b.jsx)(eS,{className:"w-3.5 h-3.5"}),"Copy"]})]}),(0,b.jsx)("div",{className:"bg-app-bg border border-app-border rounded overflow-hidden",children:(0,b.jsx)("pre",{className:"p-4 text-sm font-mono overflow-x-auto",children:h?.sql||"No SQL definition available"})})]})]})]}),"table"!==u.type&&(0,b.jsx)("div",{className:"flex-1 overflow-auto p-6",children:(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,b.jsx)("h3",{className:"text-sm font-semibold text-app-text-dim uppercase tracking-wide",children:"Definition"}),(0,b.jsxs)("button",{onClick:L,className:"px-3 py-1.5 text-xs bg-app-sidebar-active hover:bg-app-sidebar-hover rounded transition-colors flex items-center gap-1.5",children:[(0,b.jsx)(eS,{className:"w-3.5 h-3.5"}),"Copy"]})]}),(0,b.jsx)("div",{className:"bg-app-bg border border-app-border rounded overflow-hidden",children:(0,b.jsx)("pre",{className:"p-4 text-sm font-mono overflow-x-auto",children:h?.sql||"No definition available"})})]})})]}):(0,b.jsx)("div",{className:"flex items-center justify-center h-full text-app-text-dim",children:(0,b.jsxs)("div",{className:"text-center",children:[(0,b.jsx)(N,{className:"w-16 h-16 mx-auto mb-4 opacity-30"}),(0,b.jsx)("p",{className:"text-lg mb-2",children:"Database Schema Inspector"}),(0,b.jsx)("p",{className:"text-sm",children:"Select a table, view, index, or trigger to inspect"}),(0,b.jsxs)("div",{className:"mt-6 max-w-md mx-auto text-xs space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-app-text-dim",children:[(0,b.jsx)(em,{className:"w-4 h-4 text-green-500"}),(0,b.jsx)("span",{children:"Read-only inspection - no schema changes"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-app-text-dim",children:[(0,b.jsx)(em,{className:"w-4 h-4 text-green-500"}),(0,b.jsx)("span",{children:"Reflects current branch state"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-app-text-dim",children:[(0,b.jsx)(em,{className:"w-4 h-4 text-green-500"}),(0,b.jsx)("span",{children:"Safe to explore without consequences"})]})]})]})})})]})})]})}let ig=y("Save",[["path",{d:"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z",key:"1owoqh"}],["polyline",{points:"17 21 17 13 7 13 7 21",key:"1md35c"}],["polyline",{points:"7 3 7 8 15 8",key:"8nz8an"}]]),iv=y("Star",[["polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2",key:"8f66p6"}]]),iy=y("AlertCircle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),iw=y("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]),ij=y("FileText",[["path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z",key:"1nnpy2"}],["polyline",{points:"14 2 14 8 20 8",key:"1ew0cm"}],["line",{x1:"16",x2:"8",y1:"13",y2:"13",key:"14keom"}],["line",{x1:"16",x2:"8",y1:"17",y2:"17",key:"17nazh"}],["line",{x1:"10",x2:"8",y1:"9",y2:"9",key:"1a5vjj"}]]),iN=y("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]),iE=y("ArrowLeftRight",[["path",{d:"M8 3 4 7l4 4",key:"9rb6wj"}],["path",{d:"M4 7h16",key:"6tx8e3"}],["path",{d:"m16 21 4-4-4-4",key:"siv7j2"}],["path",{d:"M20 17H4",key:"h6l3hr"}]]),iS=y("List",[["line",{x1:"8",x2:"21",y1:"6",y2:"6",key:"7ey8pc"}],["line",{x1:"8",x2:"21",y1:"12",y2:"12",key:"rjfblc"}],["line",{x1:"8",x2:"21",y1:"18",y2:"18",key:"c3b1m8"}],["line",{x1:"3",x2:"3.01",y1:"6",y2:"6",key:"1g7gq3"}],["line",{x1:"3",x2:"3.01",y1:"12",y2:"12",key:"1pjlvk"}],["line",{x1:"3",x2:"3.01",y1:"18",y2:"18",key:"28t2mc"}]]),ik=y("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]),i_=y("FileCode",[["path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z",key:"1nnpy2"}],["polyline",{points:"14 2 14 8 20 8",key:"1ew0cm"}],["path",{d:"m10 13-2 2 2 2",key:"17smn8"}],["path",{d:"m14 17 2-2-2-2",key:"14mezr"}]]),iC=y("Folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);var iM=e.i(70703),iT=e.i(70319);let iA=y("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]),iO=y("MoreVertical",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]]),iR=y("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]),iD=y("PenSquare",[["path",{d:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1qinfi"}],["path",{d:"M18.5 2.5a2.12 2.12 0 0 1 3 3L12 15l-4 1 1-4Z",key:"w2jsv5"}]]),iL=y("FolderPlus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),i$=y("FolderLock",[["rect",{width:"8",height:"5",x:"14",y:"17",rx:"1",key:"19aais"}],["path",{d:"M10 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v2.5",key:"1w6v7t"}],["path",{d:"M20 17v-2a2 2 0 1 0-4 0v2",key:"pwaxnr"}]]);function iP({width:e="240px",disabled:t=!1,privateItems:r=[],onPrivateItemsChange:n,onOpenFile:a}){let{updateSQL:s}=ev(),i="Disabled in Compare Mode",[o,l]=(0,g.useState)([]),[c,d]=(0,g.useState)([]),[u,p]=(0,g.useState)(!1),[h,m]=(0,g.useState)(!1),[f,x]=(0,g.useState)(!1),[v,y]=(0,g.useState)(new Set),[w,j]=(0,g.useState)(null),[N,E]=(0,g.useState)(null),[S,k]=(0,g.useState)(null),[_,C]=(0,g.useState)(null),[M,T]=(0,g.useState)(""),[A,R]=(0,g.useState)(null),[D,L]=(0,g.useState)(null),[P,I]=(0,g.useState)(null),[B,z]=(0,g.useState)(""),q=(0,g.useRef)(null);function F(){let e=localStorage.getItem("sql-kite-favorites");if(e)try{l(JSON.parse(e))}catch(e){console.error("Failed to load favorites",e)}}function H(){let e=localStorage.getItem("sql-kite-templates");if(e)try{d(JSON.parse(e))}catch(e){console.error("Failed to load templates",e)}}function U(e,r,n){t||(e.preventDefault(),j({x:e.clientX,y:e.clientY,item:r,section:n}))}function W(){E(null),k(null)}function V(e,t){return e.filter(e=>e.id!==t&&(e.children&&(e.children=V(e.children,t)),!0)).map(e=>({...e}))}function Y(e,t,r){return null===t?[...e,r]:e.map(e=>e.id===t&&"folder"===e.type?{...e,children:[...e.children||[],r]}:e.children?{...e,children:Y(e.children,t,r)}:e)}function X(e){return"favorites"===e?o:"templates"===e?c:r}function G(e,t){"favorites"===e?l(t):"templates"===e?d(t):"private"===e&&n&&n(t)}function K(e,r){if(t||!N)return;let{item:n,section:a}=N;if(n.id===e.id){E(null),k(null);return}if("folder"===n.type){let t=X(r);if(function e(t,r,n){for(let a of n)if(a.id===t&&"folder"===a.type&&a.children&&a.children.some(t=>t.id===r||"folder"===t.type&&e(t.id,r,[t]))||a.children&&e(t,r,a.children))return!0;return!1}(n.id,e.id,t)){iT.toast.error("Cannot move folder into its own subfolder"),E(null),k(null);return}}let s=JSON.parse(JSON.stringify(n)),i=V(X(a),n.id);if(a===r)G(a,Y(i,e.id,s));else{G(a,i);let t=Y(X(r),e.id,s);G(r,t)}iT.toast.success(`Moved "${n.label}" to "${e.label}"`),E(null),k(null)}function Q(e){if(t||!N)return;let{item:r,section:n}=N,a=JSON.parse(JSON.stringify(r)),s=V(X(n),r.id);if(n===e)G(n,[...s,a]);else{G(n,s);let t=[...X(e),a];G(e,t)}iT.toast.success(`Moved "${r.label}" to ${{favorites:"Favorites",templates:"Templates",private:"Private"}[e]}`),E(null),k(null)}function J(e){if(t)return;let a=`folder-${Date.now()}`,s={id:a,label:"New folder",type:"folder",children:[]},i=D?.section===e?D.id:null;i&&y(e=>new Set([...e,i])),"favorites"===e?i?l(Y(o,i,s)):l([...o,s]):"templates"===e?i?d(Y(c,i,s)):d([...c,s]):"private"===e&&n&&(i?n(Y(r,i,s)):n([...r,s])),I(a),z("New folder")}(0,g.useEffect)(()=>{F(),H();let e=()=>{F(),H()};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[]),(0,g.useEffect)(()=>{localStorage.setItem("sql-kite-favorites",JSON.stringify(o))},[o]),(0,g.useEffect)(()=>{localStorage.setItem("sql-kite-templates",JSON.stringify(c))},[c]),(0,g.useEffect)(()=>{P&&q.current&&(q.current.focus(),q.current.select())},[P]);let Z=(0,g.useCallback)(e=>{if(!P)return;let t=B.trim()||"New folder",a=e=>e.map(e=>e.id===P?{...e,label:t}:e.children?{...e,children:a(e.children)}:e);"favorites"===e?l(a(o)):"templates"===e?d(a(c)):"private"===e&&n&&n(a(r)),I(null),z("")},[P,B,o,c,r,n]);function ee(){if(!_||!M.trim())return;let e=t=>t.map(t=>t.id===_.item.id?{...t,label:M.trim()}:t.children?{...t,children:e(t.children)}:t);"favorites"===_.section?l(e(o)):"templates"===_.section?d(e(c)):"private"===_.section&&n&&n(e(r)),C(null),T("")}function et(e,r,n=0){let s="folder"===e.type,o=v.has(e.id),l=S?.type==="folder"&&S.id===e.id,c=N?.item.id===e.id,d=s&&D?.id===e.id&&D?.section===r,u=P===e.id;return(0,b.jsxs)("div",{onClick:e=>e.stopPropagation(),children:[(0,b.jsxs)("div",{draggable:!t,onDragStart:n=>{!t&&(n.dataTransfer.effectAllowed="move",E({item:e,section:r}))},onDragEnd:W,onDragOver:t=>{t.preventDefault(),t.stopPropagation(),s&&N&&N.item.id!==e.id&&k({type:"folder",id:e.id})},onDragLeave:t=>{t.stopPropagation(),S?.id===e.id&&k(null)},onDrop:t=>{t.preventDefault(),t.stopPropagation(),s&&K(e,r)},onContextMenu:t=>U(t,e,r),onClick:function(n){if(n.stopPropagation(),!t)if(s){var i;d?L(null):L({id:e.id,section:r}),i=e.id,y(e=>{let t=new Set(e);return t.has(i)?t.delete(i):t.add(i),t})}else e.sql&&a&&(L(null),a(e,r))},className:`
37
+ `,children:e},e))})}),(0,b.jsxs)("div",{className:"flex-1 overflow-auto p-6",children:["columns"===v&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold text-app-text-dim mb-3 uppercase tracking-wide",children:"Columns"}),(0,b.jsx)("div",{className:"bg-app-panel border border-app-panel-border rounded overflow-hidden",children:(0,b.jsxs)("table",{className:"w-full text-sm",children:[(0,b.jsx)("thead",{className:"bg-app-sidebar-active",children:(0,b.jsxs)("tr",{children:[(0,b.jsx)("th",{className:"px-4 py-3 text-left font-medium",children:"Column"}),(0,b.jsx)("th",{className:"px-4 py-3 text-left font-medium",children:"Type"}),(0,b.jsx)("th",{className:"px-4 py-3 text-left font-medium",children:"Nullable"}),(0,b.jsx)("th",{className:"px-4 py-3 text-left font-medium",children:"Default"})]})}),(0,b.jsx)("tbody",{children:h?.columns?.map((e,t)=>(0,b.jsxs)("tr",{className:"border-t border-app-panel-border",children:[(0,b.jsxs)("td",{className:"px-4 py-3 font-mono flex items-center gap-2",children:[e.name,e.primaryKey&&(0,b.jsx)("span",{className:"px-2 py-0.5 bg-yellow-500/20 text-yellow-400 rounded text-xs",children:"PK"})]}),(0,b.jsx)("td",{className:"px-4 py-3 text-app-text-dim",children:e.type||"ANY"}),(0,b.jsx)("td",{className:"px-4 py-3",children:e.notNull?(0,b.jsx)("span",{className:"text-red-400",children:"No"}):(0,b.jsx)("span",{className:"text-green-400",children:"Yes"})}),(0,b.jsx)("td",{className:"px-4 py-3 font-mono text-app-text-dim",children:e.defaultValue||(0,b.jsx)("span",{className:"italic",children:"none"})})]},t))})]})})]}),"constraints"===v&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold text-app-text-dim mb-3 uppercase tracking-wide",children:"Constraints"}),(0,b.jsxs)("div",{className:"space-y-3",children:[D(h?.columns||[]).map((e,t)=>(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded p-4",children:[(0,b.jsx)("div",{className:"flex items-center gap-2 mb-2",children:(0,b.jsx)("span",{className:"px-2 py-0.5 bg-blue-500/20 text-blue-400 rounded text-xs font-medium",children:e.type})}),(0,b.jsxs)("code",{className:"text-sm text-app-text",children:[e.type," (",e.columns.join(", "),")",e.referencedTable&&` → ${e.referencedTable}(${e.referencedColumns?.join(", ")})`]})]},t)),0===D(h?.columns||[]).length&&(0,b.jsx)("p",{className:"text-sm text-app-text-dim italic",children:"No constraints defined"})]})]}),"indexes"===v&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold text-app-text-dim mb-3 uppercase tracking-wide",children:"Indexes"}),h?.indexes&&h.indexes.length>0?(0,b.jsx)("div",{className:"space-y-3",children:h.indexes.map((e,t)=>(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded p-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,b.jsx)("span",{className:"font-mono text-sm",children:e.name}),(0,b.jsx)("span",{className:"px-2 py-0.5 bg-green-500/20 text-green-400 rounded text-xs",children:"INDEX"})]}),e.sql&&(0,b.jsx)("pre",{className:"text-xs text-app-text-dim font-mono bg-app-bg p-2 rounded overflow-x-auto",children:e.sql})]},t))}):(0,b.jsx)("p",{className:"text-sm text-app-text-dim italic",children:"No indexes defined"})]}),"relations"===v&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold text-app-text-dim mb-3 uppercase tracking-wide",children:"Foreign Key Relations"}),h?.foreignKeys&&h.foreignKeys.length>0?(0,b.jsx)("div",{className:"space-y-3",children:h.foreignKeys.map((e,t)=>(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded p-4",children:[(0,b.jsx)("div",{className:"flex items-center gap-2 mb-3",children:(0,b.jsx)("span",{className:"px-2 py-0.5 bg-indigo-500/20 text-indigo-400 rounded text-xs font-medium",children:"FOREIGN KEY"})}),(0,b.jsxs)("div",{className:"space-y-2 text-sm",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-app-text-dim",children:"Column:"}),(0,b.jsx)("code",{className:"text-app-text font-mono bg-app-bg px-2 py-0.5 rounded",children:e.from})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-app-text-dim",children:"References:"}),(0,b.jsxs)("code",{className:"text-app-text font-mono bg-app-bg px-2 py-0.5 rounded",children:[e.table,".",e.to]})]}),e.on_update&&(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-app-text-dim",children:"On Update:"}),(0,b.jsx)("span",{className:"text-yellow-400",children:e.on_update})]}),e.on_delete&&(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-app-text-dim",children:"On Delete:"}),(0,b.jsx)("span",{className:"text-red-400",children:e.on_delete})]})]})]},t))}):(0,b.jsx)("p",{className:"text-sm text-app-text-dim italic",children:"No foreign key relations defined"})]}),"triggers"===v&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold text-app-text-dim mb-3 uppercase tracking-wide",children:"Triggers"}),h?.triggers&&h.triggers.length>0?(0,b.jsx)("div",{className:"space-y-3",children:h.triggers.map((e,t)=>(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded p-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[(0,b.jsx)("span",{className:"font-mono text-sm text-app-text",children:e.name}),(0,b.jsx)("span",{className:"px-2 py-0.5 bg-purple-500/20 text-purple-400 rounded text-xs font-medium",children:"TRIGGER"})]}),e.sql&&(0,b.jsx)("pre",{className:"text-xs bg-app-bg border border-app-border rounded p-3 overflow-x-auto font-mono",children:e.sql})]},t))}):(0,b.jsx)("p",{className:"text-sm text-app-text-dim italic",children:"No triggers defined"})]}),"sql"===v&&(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,b.jsx)("h3",{className:"text-sm font-semibold text-app-text-dim uppercase tracking-wide",children:"SQL Definition"}),(0,b.jsxs)("button",{onClick:$,className:"px-3 py-1.5 text-xs bg-app-sidebar-active hover:bg-app-sidebar-hover rounded transition-colors flex items-center gap-1.5",children:[(0,b.jsx)(eS,{className:"w-3.5 h-3.5"}),"Copy"]})]}),(0,b.jsx)("div",{className:"bg-app-bg border border-app-border rounded overflow-hidden",children:(0,b.jsx)("pre",{className:"p-4 text-sm font-mono overflow-x-auto",children:h?.sql||"No SQL definition available"})})]})]})]}),"table"!==u.type&&(0,b.jsx)("div",{className:"flex-1 overflow-auto p-6",children:(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,b.jsx)("h3",{className:"text-sm font-semibold text-app-text-dim uppercase tracking-wide",children:"Definition"}),(0,b.jsxs)("button",{onClick:$,className:"px-3 py-1.5 text-xs bg-app-sidebar-active hover:bg-app-sidebar-hover rounded transition-colors flex items-center gap-1.5",children:[(0,b.jsx)(eS,{className:"w-3.5 h-3.5"}),"Copy"]})]}),(0,b.jsx)("div",{className:"bg-app-bg border border-app-border rounded overflow-hidden",children:(0,b.jsx)("pre",{className:"p-4 text-sm font-mono overflow-x-auto",children:h?.sql||"No definition available"})})]})})]}):(0,b.jsx)("div",{className:"flex items-center justify-center h-full text-app-text-dim",children:(0,b.jsxs)("div",{className:"text-center",children:[(0,b.jsx)(N,{className:"w-16 h-16 mx-auto mb-4 opacity-30"}),(0,b.jsx)("p",{className:"text-lg mb-2",children:"Database Schema Inspector"}),(0,b.jsx)("p",{className:"text-sm",children:"Select a table, view, index, or trigger to inspect"}),(0,b.jsxs)("div",{className:"mt-6 max-w-md mx-auto text-xs space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-app-text-dim",children:[(0,b.jsx)(em,{className:"w-4 h-4 text-green-500"}),(0,b.jsx)("span",{children:"Read-only inspection - no schema changes"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-app-text-dim",children:[(0,b.jsx)(em,{className:"w-4 h-4 text-green-500"}),(0,b.jsx)("span",{children:"Reflects current branch state"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-app-text-dim",children:[(0,b.jsx)(em,{className:"w-4 h-4 text-green-500"}),(0,b.jsx)("span",{children:"Safe to explore without consequences"})]})]})]})})})]})})]})}let ig=y("Save",[["path",{d:"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z",key:"1owoqh"}],["polyline",{points:"17 21 17 13 7 13 7 21",key:"1md35c"}],["polyline",{points:"7 3 7 8 15 8",key:"8nz8an"}]]),iv=y("Star",[["polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2",key:"8f66p6"}]]),iy=y("AlertCircle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),iw=y("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]),ij=y("FileText",[["path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z",key:"1nnpy2"}],["polyline",{points:"14 2 14 8 20 8",key:"1ew0cm"}],["line",{x1:"16",x2:"8",y1:"13",y2:"13",key:"14keom"}],["line",{x1:"16",x2:"8",y1:"17",y2:"17",key:"17nazh"}],["line",{x1:"10",x2:"8",y1:"9",y2:"9",key:"1a5vjj"}]]),iN=y("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]),iE=y("ArrowLeftRight",[["path",{d:"M8 3 4 7l4 4",key:"9rb6wj"}],["path",{d:"M4 7h16",key:"6tx8e3"}],["path",{d:"m16 21 4-4-4-4",key:"siv7j2"}],["path",{d:"M20 17H4",key:"h6l3hr"}]]),iS=y("List",[["line",{x1:"8",x2:"21",y1:"6",y2:"6",key:"7ey8pc"}],["line",{x1:"8",x2:"21",y1:"12",y2:"12",key:"rjfblc"}],["line",{x1:"8",x2:"21",y1:"18",y2:"18",key:"c3b1m8"}],["line",{x1:"3",x2:"3.01",y1:"6",y2:"6",key:"1g7gq3"}],["line",{x1:"3",x2:"3.01",y1:"12",y2:"12",key:"1pjlvk"}],["line",{x1:"3",x2:"3.01",y1:"18",y2:"18",key:"28t2mc"}]]),ik=y("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]),i_=y("FileCode",[["path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z",key:"1nnpy2"}],["polyline",{points:"14 2 14 8 20 8",key:"1ew0cm"}],["path",{d:"m10 13-2 2 2 2",key:"17smn8"}],["path",{d:"m14 17 2-2-2-2",key:"14mezr"}]]),iC=y("Folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);var iM=e.i(70703),iT=e.i(70319);let iA=y("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]),iO=y("MoreVertical",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]]),iR=y("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]),iD=y("PenSquare",[["path",{d:"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1qinfi"}],["path",{d:"M18.5 2.5a2.12 2.12 0 0 1 3 3L12 15l-4 1 1-4Z",key:"w2jsv5"}]]),i$=y("FolderPlus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),iL=y("FolderLock",[["rect",{width:"8",height:"5",x:"14",y:"17",rx:"1",key:"19aais"}],["path",{d:"M10 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v2.5",key:"1w6v7t"}],["path",{d:"M20 17v-2a2 2 0 1 0-4 0v2",key:"pwaxnr"}]]);function iP({width:e="240px",disabled:t=!1,privateItems:r=[],onPrivateItemsChange:n,onOpenFile:a}){let{updateSQL:s}=ev(),i="Disabled in Compare Mode",[o,l]=(0,g.useState)([]),[c,d]=(0,g.useState)([]),[u,p]=(0,g.useState)(!1),[h,m]=(0,g.useState)(!1),[f,x]=(0,g.useState)(!1),[v,y]=(0,g.useState)(new Set),[w,j]=(0,g.useState)(null),[N,E]=(0,g.useState)(null),[S,k]=(0,g.useState)(null),[_,C]=(0,g.useState)(null),[M,T]=(0,g.useState)(""),[A,R]=(0,g.useState)(null),[D,$]=(0,g.useState)(null),[P,I]=(0,g.useState)(null),[B,F]=(0,g.useState)(""),z=(0,g.useRef)(null);function q(){let e=localStorage.getItem("sql-kite-favorites");if(e)try{l(JSON.parse(e))}catch(e){console.error("Failed to load favorites",e)}}function H(){let e=localStorage.getItem("sql-kite-templates");if(e)try{d(JSON.parse(e))}catch(e){console.error("Failed to load templates",e)}}function U(e,r,n){t||(e.preventDefault(),j({x:e.clientX,y:e.clientY,item:r,section:n}))}function W(){E(null),k(null)}function V(e,t){return e.filter(e=>e.id!==t&&(e.children&&(e.children=V(e.children,t)),!0)).map(e=>({...e}))}function Y(e,t,r){return null===t?[...e,r]:e.map(e=>e.id===t&&"folder"===e.type?{...e,children:[...e.children||[],r]}:e.children?{...e,children:Y(e.children,t,r)}:e)}function X(e){return"favorites"===e?o:"templates"===e?c:r}function G(e,t){"favorites"===e?l(t):"templates"===e?d(t):"private"===e&&n&&n(t)}function K(e,r){if(t||!N)return;let{item:n,section:a}=N;if(n.id===e.id){E(null),k(null);return}if("folder"===n.type){let t=X(r);if(function e(t,r,n){for(let a of n)if(a.id===t&&"folder"===a.type&&a.children&&a.children.some(t=>t.id===r||"folder"===t.type&&e(t.id,r,[t]))||a.children&&e(t,r,a.children))return!0;return!1}(n.id,e.id,t)){iT.toast.error("Cannot move folder into its own subfolder"),E(null),k(null);return}}let s=JSON.parse(JSON.stringify(n)),i=V(X(a),n.id);if(a===r)G(a,Y(i,e.id,s));else{G(a,i);let t=Y(X(r),e.id,s);G(r,t)}iT.toast.success(`Moved "${n.label}" to "${e.label}"`),E(null),k(null)}function Q(e){if(t||!N)return;let{item:r,section:n}=N,a=JSON.parse(JSON.stringify(r)),s=V(X(n),r.id);if(n===e)G(n,[...s,a]);else{G(n,s);let t=[...X(e),a];G(e,t)}iT.toast.success(`Moved "${r.label}" to ${{favorites:"Favorites",templates:"Templates",private:"Private"}[e]}`),E(null),k(null)}function J(e){if(t)return;let a=`folder-${Date.now()}`,s={id:a,label:"New folder",type:"folder",children:[]},i=D?.section===e?D.id:null;i&&y(e=>new Set([...e,i])),"favorites"===e?i?l(Y(o,i,s)):l([...o,s]):"templates"===e?i?d(Y(c,i,s)):d([...c,s]):"private"===e&&n&&(i?n(Y(r,i,s)):n([...r,s])),I(a),F("New folder")}(0,g.useEffect)(()=>{q(),H();let e=()=>{q(),H()};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[]),(0,g.useEffect)(()=>{localStorage.setItem("sql-kite-favorites",JSON.stringify(o))},[o]),(0,g.useEffect)(()=>{localStorage.setItem("sql-kite-templates",JSON.stringify(c))},[c]),(0,g.useEffect)(()=>{P&&z.current&&(z.current.focus(),z.current.select())},[P]);let Z=(0,g.useCallback)(e=>{if(!P)return;let t=B.trim()||"New folder",a=e=>e.map(e=>e.id===P?{...e,label:t}:e.children?{...e,children:a(e.children)}:e);"favorites"===e?l(a(o)):"templates"===e?d(a(c)):"private"===e&&n&&n(a(r)),I(null),F("")},[P,B,o,c,r,n]);function ee(){if(!_||!M.trim())return;let e=t=>t.map(t=>t.id===_.item.id?{...t,label:M.trim()}:t.children?{...t,children:e(t.children)}:t);"favorites"===_.section?l(e(o)):"templates"===_.section?d(e(c)):"private"===_.section&&n&&n(e(r)),C(null),T("")}function et(e,r,n=0){let s="folder"===e.type,o=v.has(e.id),l=S?.type==="folder"&&S.id===e.id,c=N?.item.id===e.id,d=s&&D?.id===e.id&&D?.section===r,u=P===e.id;return(0,b.jsxs)("div",{onClick:e=>e.stopPropagation(),children:[(0,b.jsxs)("div",{draggable:!t,onDragStart:n=>{!t&&(n.dataTransfer.effectAllowed="move",E({item:e,section:r}))},onDragEnd:W,onDragOver:t=>{t.preventDefault(),t.stopPropagation(),s&&N&&N.item.id!==e.id&&k({type:"folder",id:e.id})},onDragLeave:t=>{t.stopPropagation(),S?.id===e.id&&k(null)},onDrop:t=>{t.preventDefault(),t.stopPropagation(),s&&K(e,r)},onContextMenu:t=>U(t,e,r),onClick:function(n){if(n.stopPropagation(),!t)if(s){var i;d?$(null):$({id:e.id,section:r}),i=e.id,y(e=>{let t=new Set(e);return t.has(i)?t.delete(i):t.add(i),t})}else e.sql&&a&&($(null),a(e,r))},className:`
38
38
  relative flex items-center justify-between px-2 py-1.5 text-sm rounded
39
39
  transition-colors cursor-pointer group
40
40
  ${c?"opacity-50":""}
41
41
  ${d?"bg-app-accent/30 ring-1 ring-app-accent":""}
42
42
  ${l&&s?"bg-app-accent/20 ring-1 ring-app-accent":""}
43
43
  ${!d&&!l?"hover:bg-app-sidebar-hover":""}
44
- `,title:t?i:void 0,style:{paddingLeft:`${8+12*n}px`},children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[n>0&&(0,b.jsx)("div",{className:"absolute h-px bg-app-border/50",style:{left:`${14+(n-1)*12}px`,width:"8px"}}),s?(0,b.jsxs)(b.Fragment,{children:[o?(0,b.jsx)(O,{className:"w-3.5 h-3.5 flex-shrink-0 text-app-text-dim"}):(0,b.jsx)(ej,{className:"w-3.5 h-3.5 flex-shrink-0 text-app-text-dim"}),o?(0,b.jsx)(iA,{className:"w-4 h-4 flex-shrink-0 text-yellow-500/70"}):(0,b.jsx)(iC,{className:"w-4 h-4 flex-shrink-0 text-yellow-500/70"})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"w-3.5"})," ",(0,b.jsx)(i_,{className:"w-4 h-4 flex-shrink-0 text-blue-400/70"})]}),u?(0,b.jsx)("input",{ref:q,type:"text",value:B,onChange:e=>z(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),Z(r)),"Escape"===e.key&&(e.preventDefault(),I(null),z(""))},onBlur:()=>Z(r),onClick:e=>e.stopPropagation(),className:"flex-1 min-w-0 px-1 py-0 text-sm bg-app-bg border border-app-accent rounded focus:outline-none text-app-text"}):(0,b.jsx)("span",{className:"truncate text-app-text",children:e.label})]}),(0,b.jsx)("button",{onClick:t=>{t.stopPropagation(),U(t,e,r)},className:"opacity-0 group-hover:opacity-100 transition-opacity p-1 hover:bg-app-sidebar-active rounded",disabled:t,title:t?i:void 0,children:(0,b.jsx)(iO,{className:"w-3.5 h-3.5 text-app-text-dim"})})]}),s&&o&&e.children&&(0,b.jsxs)("div",{className:`relative ${S?.type==="folder"&&S.id===e.id?"bg-app-accent/10":""}`,onDragOver:t=>{t.preventDefault(),t.stopPropagation(),N&&N.item.id!==e.id&&k({type:"folder",id:e.id})},onDragLeave:t=>{let r=t.currentTarget.getBoundingClientRect(),n=t.clientX,a=t.clientY;(n<r.left||n>r.right||a<r.top||a>r.bottom)&&S?.id===e.id&&k(null)},onDrop:t=>{t.preventDefault(),t.stopPropagation(),K(e,r)},children:[(0,b.jsx)("div",{className:"absolute left-0 top-0 bottom-0 border-l border-app-border/50",style:{marginLeft:`${14+12*n}px`}}),0===e.children.length?(0,b.jsx)("div",{className:"py-2 text-xs text-app-text-dim italic",style:{paddingLeft:`${20+12*n}px`},children:"Drop items here"}):e.children.map(e=>et(e,r,n+1))]})]},e.id)}return(0,b.jsxs)("div",{className:`bg-app-sidebar border-r border-app-border overflow-y-auto flex-shrink-0 ${t?"opacity-70":""}`,style:{width:e},onClick:()=>{j(null),L(null)},children:[(0,b.jsxs)("div",{className:"p-2",children:[(0,b.jsxs)("div",{className:"mb-4",onDragOver:e=>{e.preventDefault(),N&&k({type:"section",id:"favorites"})},onDragLeave:()=>{S?.id==="favorites"&&k(null)},onDrop:e=>{e.preventDefault(),Q("favorites")},children:[(0,b.jsxs)("div",{className:`flex items-center justify-between px-2 py-1.5 mb-1 rounded transition-colors ${S?.type==="section"&&"favorites"===S.id?"bg-yellow-500/20 ring-1 ring-yellow-500/50":""}`,children:[(0,b.jsxs)("button",{onClick:()=>{t||p(!u)},className:"flex items-center gap-2 text-xs text-app-text-dim hover:text-app-text transition-colors",title:t?i:void 0,children:[u?(0,b.jsx)(ej,{className:"w-3 h-3"}):(0,b.jsx)(O,{className:"w-3 h-3"}),(0,b.jsx)(iv,{className:"w-3.5 h-3.5"}),(0,b.jsx)("span",{className:"font-medium uppercase tracking-wide",children:"Favorites"}),t&&(0,b.jsx)($,{className:"w-3 h-3 text-app-text-dim"})]}),!u&&(0,b.jsx)("div",{className:"flex items-center gap-1",children:(0,b.jsx)("button",{onClick:e=>{e.stopPropagation(),J("favorites")},className:"p-1 hover:bg-app-sidebar-hover rounded transition-colors",title:t?i:D?.section==="favorites"?"Add folder inside selected":"Add folder",disabled:t,children:(0,b.jsx)(iL,{className:"w-3.5 h-3.5 text-app-text-dim"})})})]}),!u&&(0,b.jsx)("div",{className:"space-y-0.5",children:0===o.length?(0,b.jsx)("div",{className:"px-2 py-4 text-xs text-app-text-dim text-center",children:"No favorites yet"}):o.map(e=>et(e,"favorites"))})]}),(0,b.jsxs)("div",{onDragOver:e=>{e.preventDefault(),N&&k({type:"section",id:"templates"})},onDragLeave:()=>{S?.id==="templates"&&k(null)},onDrop:e=>{e.preventDefault(),Q("templates")},children:[(0,b.jsxs)("div",{className:`flex items-center justify-between px-2 py-1.5 mb-1 rounded transition-colors ${S?.type==="section"&&"templates"===S.id?"bg-blue-500/20 ring-1 ring-blue-500/50":""}`,children:[(0,b.jsxs)("button",{onClick:()=>{t||m(!h)},className:"flex items-center gap-2 text-xs text-app-text-dim hover:text-app-text transition-colors",title:t?i:void 0,children:[h?(0,b.jsx)(ej,{className:"w-3 h-3"}):(0,b.jsx)(O,{className:"w-3 h-3"}),(0,b.jsx)(i_,{className:"w-3.5 h-3.5"}),(0,b.jsx)("span",{className:"font-medium uppercase tracking-wide",children:"Templates"}),t&&(0,b.jsx)($,{className:"w-3 h-3 text-app-text-dim"})]}),!h&&(0,b.jsx)("div",{className:"flex items-center gap-1",children:(0,b.jsx)("button",{onClick:e=>{e.stopPropagation(),J("templates")},className:"p-1 hover:bg-app-sidebar-hover rounded transition-colors",title:t?i:D?.section==="templates"?"Add folder inside selected":"Add folder",disabled:t,children:(0,b.jsx)(iL,{className:"w-3.5 h-3.5 text-app-text-dim"})})})]}),!h&&(0,b.jsx)("div",{className:"space-y-0.5",children:0===c.length?(0,b.jsx)("div",{className:"px-2 py-4 text-xs text-app-text-dim text-center",children:"No templates yet"}):c.map(e=>et(e,"templates"))})]}),(0,b.jsxs)("div",{className:"mt-4",onDragOver:e=>{e.preventDefault(),N&&k({type:"section",id:"private"})},onDragLeave:()=>{S?.id==="private"&&k(null)},onDrop:e=>{e.preventDefault(),Q("private")},children:[(0,b.jsxs)("div",{className:`flex items-center justify-between px-2 py-1.5 mb-1 rounded transition-colors ${S?.type==="section"&&"private"===S.id?"bg-purple-500/20 ring-1 ring-purple-500/50":""}`,children:[(0,b.jsxs)("button",{onClick:()=>{t||x(!f)},className:"flex items-center gap-2 text-xs text-app-text-dim hover:text-app-text transition-colors",title:t?i:void 0,children:[f?(0,b.jsx)(ej,{className:"w-3 h-3"}):(0,b.jsx)(O,{className:"w-3 h-3"}),(0,b.jsx)(i$,{className:"w-3.5 h-3.5"}),(0,b.jsx)("span",{className:"font-medium uppercase tracking-wide",children:"Private"}),t&&(0,b.jsx)($,{className:"w-3 h-3 text-app-text-dim"})]}),!f&&(0,b.jsx)("div",{className:"flex items-center gap-1",children:(0,b.jsx)("button",{onClick:e=>{e.stopPropagation(),J("private")},className:"p-1 hover:bg-app-sidebar-hover rounded transition-colors",title:t?i:D?.section==="private"?"Add folder inside selected":"Add folder",disabled:t,children:(0,b.jsx)(iL,{className:"w-3.5 h-3.5 text-app-text-dim"})})})]}),!f&&(0,b.jsx)("div",{className:"space-y-0.5",children:0===r.length?(0,b.jsx)("div",{className:"px-2 py-4 text-xs text-app-text-dim text-center",children:"No private queries yet"}):r.map(e=>et(e,"private"))})]})]}),w&&(0,b.jsxs)("div",{className:"fixed bg-app-sidebar border border-app-border rounded-lg shadow-lg overflow-hidden z-50",style:{left:w.x,top:w.y},children:[(0,b.jsxs)("button",{onClick:function(){w&&(w.item.sql&&navigator.clipboard.writeText(w.item.sql),j(null))},className:"w-full px-3 py-2 text-left text-sm hover:bg-app-sidebar-hover flex items-center gap-2",children:[(0,b.jsx)(eS,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:"Copy"})]}),(0,b.jsxs)("button",{onClick:function(){w&&(T(w.item.label),C({item:w.item,section:w.section}),j(null))},className:"w-full px-3 py-2 text-left text-sm hover:bg-app-sidebar-hover flex items-center gap-2",children:[(0,b.jsx)(iD,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:"Rename"})]}),(0,b.jsxs)("button",{onClick:function(){w&&(R({item:w.item,section:w.section}),j(null))},className:"w-full px-3 py-2 text-left text-sm hover:bg-red-500/10 text-red-400 flex items-center gap-2",children:[(0,b.jsx)(iR,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:"Delete"})]})]}),_&&(0,b.jsx)("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-50",onClick:()=>C(null),children:(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-4 w-full max-w-sm",onClick:e=>e.stopPropagation(),children:[(0,b.jsx)("h3",{className:"text-sm font-semibold mb-3",children:"Rename"}),(0,b.jsx)("input",{type:"text",value:M,onChange:e=>T(e.target.value),onKeyDown:e=>{"Enter"===e.key&&ee(),"Escape"===e.key&&C(null)},className:"w-full px-3 py-2 bg-app-bg border border-app-border rounded text-sm focus:outline-none focus:border-app-accent",autoFocus:!0}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 mt-4",children:[(0,b.jsx)("button",{onClick:()=>C(null),className:"px-3 py-1.5 text-xs bg-app-sidebar-active hover:bg-app-sidebar-hover rounded transition-colors",children:"Cancel"}),(0,b.jsx)("button",{onClick:ee,disabled:!M.trim(),className:"px-3 py-1.5 text-xs bg-app-accent hover:bg-app-accent-hover disabled:opacity-50 text-white rounded transition-colors",children:"Rename"})]})]})}),A&&(0,b.jsx)("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-50",onClick:()=>R(null),children:(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-4 w-full max-w-sm",onClick:e=>e.stopPropagation(),children:[(0,b.jsxs)("h3",{className:"text-sm font-semibold mb-3",children:['Delete "',A.item.label,'"?']}),(0,b.jsx)("p",{className:"text-xs text-app-text-dim mb-4",children:"This action cannot be undone."}),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)("button",{onClick:()=>R(null),className:"px-3 py-1.5 text-xs bg-app-sidebar-active hover:bg-app-sidebar-hover rounded transition-colors",children:"Cancel"}),(0,b.jsx)("button",{onClick:function(){if(!A)return;let e=t=>t.filter(t=>t.id!==A.item.id&&(t.children&&(t.children=e(t.children)),!0));"favorites"===A.section?l(e(o)):"templates"===A.section?d(e(c)):"private"===A.section&&n&&n(e(r)),R(null)},className:"px-3 py-1.5 text-xs bg-red-500 hover:bg-red-600 text-white rounded transition-colors",children:"Delete"})]})]})})]})}let iI=["SELECT","FROM","WHERE","INSERT","INTO","VALUES","UPDATE","SET","DELETE","CREATE","TABLE","DROP","ALTER","ADD","COLUMN","PRIMARY","KEY","FOREIGN","REFERENCES","UNIQUE","NOT","NULL","DEFAULT","CHECK","INDEX","VIEW","TRIGGER","BEGIN","END","TRANSACTION","COMMIT","ROLLBACK","AS","ON","JOIN","LEFT","RIGHT","INNER","OUTER","CROSS","UNION","INTERSECT","EXCEPT","GROUP","BY","HAVING","ORDER","ASC","DESC","LIMIT","OFFSET","DISTINCT","ALL","AND","OR","IN","BETWEEN","LIKE","GLOB","IS","CASE","WHEN","THEN","ELSE","CAST","EXISTS","PRAGMA","EXPLAIN","QUERY","PLAN","ANALYZE","ATTACH","DETACH","DATABASE","VACUUM","REINDEX"],iB=["INTEGER","TEXT","REAL","BLOB","NUMERIC","INT","VARCHAR","CHAR","BOOLEAN","DATE","DATETIME","DECIMAL","DOUBLE","FLOAT","TIMESTAMP"],iz=["COUNT","SUM","AVG","MIN","MAX","TOTAL","GROUP_CONCAT","LENGTH","LOWER","UPPER","SUBSTR","SUBSTRING","TRIM","LTRIM","RTRIM","REPLACE","INSTR","LIKE","GLOB","CONCAT","PRINTF","DATE","TIME","DATETIME","JULIANDAY","STRFTIME","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","ABS","RANDOM","ROUND","CEIL","CEILING","FLOOR","POWER","SQRT","EXP","LN","LOG","LOG10","SIN","COS","TAN","ASIN","ACOS","ATAN","CAST","TYPEOF","COALESCE","IFNULL","NULLIF","JSON","JSON_ARRAY","JSON_OBJECT","JSON_EXTRACT","JSON_VALID","ROWID","LAST_INSERT_ROWID","CHANGES","TOTAL_CHANGES","HEX","UNHEX","QUOTE","RANDOMBLOB","ZEROBLOB"],iq=[{label:"CREATE TABLE",insertText:`CREATE TABLE \${1:table_name} (
44
+ `,title:t?i:void 0,style:{paddingLeft:`${8+12*n}px`},children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[n>0&&(0,b.jsx)("div",{className:"absolute h-px bg-app-border/50",style:{left:`${14+(n-1)*12}px`,width:"8px"}}),s?(0,b.jsxs)(b.Fragment,{children:[o?(0,b.jsx)(O,{className:"w-3.5 h-3.5 flex-shrink-0 text-app-text-dim"}):(0,b.jsx)(ej,{className:"w-3.5 h-3.5 flex-shrink-0 text-app-text-dim"}),o?(0,b.jsx)(iA,{className:"w-4 h-4 flex-shrink-0 text-yellow-500/70"}):(0,b.jsx)(iC,{className:"w-4 h-4 flex-shrink-0 text-yellow-500/70"})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"w-3.5"})," ",(0,b.jsx)(i_,{className:"w-4 h-4 flex-shrink-0 text-blue-400/70"})]}),u?(0,b.jsx)("input",{ref:z,type:"text",value:B,onChange:e=>F(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),Z(r)),"Escape"===e.key&&(e.preventDefault(),I(null),F(""))},onBlur:()=>Z(r),onClick:e=>e.stopPropagation(),className:"flex-1 min-w-0 px-1 py-0 text-sm bg-app-bg border border-app-accent rounded focus:outline-none text-app-text"}):(0,b.jsx)("span",{className:"truncate text-app-text",children:e.label})]}),(0,b.jsx)("button",{onClick:t=>{t.stopPropagation(),U(t,e,r)},className:"opacity-0 group-hover:opacity-100 transition-opacity p-1 hover:bg-app-sidebar-active rounded",disabled:t,title:t?i:void 0,children:(0,b.jsx)(iO,{className:"w-3.5 h-3.5 text-app-text-dim"})})]}),s&&o&&e.children&&(0,b.jsxs)("div",{className:`relative ${S?.type==="folder"&&S.id===e.id?"bg-app-accent/10":""}`,onDragOver:t=>{t.preventDefault(),t.stopPropagation(),N&&N.item.id!==e.id&&k({type:"folder",id:e.id})},onDragLeave:t=>{let r=t.currentTarget.getBoundingClientRect(),n=t.clientX,a=t.clientY;(n<r.left||n>r.right||a<r.top||a>r.bottom)&&S?.id===e.id&&k(null)},onDrop:t=>{t.preventDefault(),t.stopPropagation(),K(e,r)},children:[(0,b.jsx)("div",{className:"absolute left-0 top-0 bottom-0 border-l border-app-border/50",style:{marginLeft:`${14+12*n}px`}}),0===e.children.length?(0,b.jsx)("div",{className:"py-2 text-xs text-app-text-dim italic",style:{paddingLeft:`${20+12*n}px`},children:"Drop items here"}):e.children.map(e=>et(e,r,n+1))]})]},e.id)}return(0,b.jsxs)("div",{className:`bg-app-sidebar border-r border-app-border overflow-y-auto flex-shrink-0 ${t?"opacity-70":""}`,style:{width:e},onClick:()=>{j(null),$(null)},children:[(0,b.jsxs)("div",{className:"p-2",children:[(0,b.jsxs)("div",{className:"mb-4",onDragOver:e=>{e.preventDefault(),N&&k({type:"section",id:"favorites"})},onDragLeave:()=>{S?.id==="favorites"&&k(null)},onDrop:e=>{e.preventDefault(),Q("favorites")},children:[(0,b.jsxs)("div",{className:`flex items-center justify-between px-2 py-1.5 mb-1 rounded transition-colors ${S?.type==="section"&&"favorites"===S.id?"bg-yellow-500/20 ring-1 ring-yellow-500/50":""}`,children:[(0,b.jsxs)("button",{onClick:()=>{t||p(!u)},className:"flex items-center gap-2 text-xs text-app-text-dim hover:text-app-text transition-colors",title:t?i:void 0,children:[u?(0,b.jsx)(ej,{className:"w-3 h-3"}):(0,b.jsx)(O,{className:"w-3 h-3"}),(0,b.jsx)(iv,{className:"w-3.5 h-3.5"}),(0,b.jsx)("span",{className:"font-medium uppercase tracking-wide",children:"Favorites"}),t&&(0,b.jsx)(L,{className:"w-3 h-3 text-app-text-dim"})]}),!u&&(0,b.jsx)("div",{className:"flex items-center gap-1",children:(0,b.jsx)("button",{onClick:e=>{e.stopPropagation(),J("favorites")},className:"p-1 hover:bg-app-sidebar-hover rounded transition-colors",title:t?i:D?.section==="favorites"?"Add folder inside selected":"Add folder",disabled:t,children:(0,b.jsx)(i$,{className:"w-3.5 h-3.5 text-app-text-dim"})})})]}),!u&&(0,b.jsx)("div",{className:"space-y-0.5",children:0===o.length?(0,b.jsx)("div",{className:"px-2 py-4 text-xs text-app-text-dim text-center",children:"No favorites yet"}):o.map(e=>et(e,"favorites"))})]}),(0,b.jsxs)("div",{onDragOver:e=>{e.preventDefault(),N&&k({type:"section",id:"templates"})},onDragLeave:()=>{S?.id==="templates"&&k(null)},onDrop:e=>{e.preventDefault(),Q("templates")},children:[(0,b.jsxs)("div",{className:`flex items-center justify-between px-2 py-1.5 mb-1 rounded transition-colors ${S?.type==="section"&&"templates"===S.id?"bg-blue-500/20 ring-1 ring-blue-500/50":""}`,children:[(0,b.jsxs)("button",{onClick:()=>{t||m(!h)},className:"flex items-center gap-2 text-xs text-app-text-dim hover:text-app-text transition-colors",title:t?i:void 0,children:[h?(0,b.jsx)(ej,{className:"w-3 h-3"}):(0,b.jsx)(O,{className:"w-3 h-3"}),(0,b.jsx)(i_,{className:"w-3.5 h-3.5"}),(0,b.jsx)("span",{className:"font-medium uppercase tracking-wide",children:"Templates"}),t&&(0,b.jsx)(L,{className:"w-3 h-3 text-app-text-dim"})]}),!h&&(0,b.jsx)("div",{className:"flex items-center gap-1",children:(0,b.jsx)("button",{onClick:e=>{e.stopPropagation(),J("templates")},className:"p-1 hover:bg-app-sidebar-hover rounded transition-colors",title:t?i:D?.section==="templates"?"Add folder inside selected":"Add folder",disabled:t,children:(0,b.jsx)(i$,{className:"w-3.5 h-3.5 text-app-text-dim"})})})]}),!h&&(0,b.jsx)("div",{className:"space-y-0.5",children:0===c.length?(0,b.jsx)("div",{className:"px-2 py-4 text-xs text-app-text-dim text-center",children:"No templates yet"}):c.map(e=>et(e,"templates"))})]}),(0,b.jsxs)("div",{className:"mt-4",onDragOver:e=>{e.preventDefault(),N&&k({type:"section",id:"private"})},onDragLeave:()=>{S?.id==="private"&&k(null)},onDrop:e=>{e.preventDefault(),Q("private")},children:[(0,b.jsxs)("div",{className:`flex items-center justify-between px-2 py-1.5 mb-1 rounded transition-colors ${S?.type==="section"&&"private"===S.id?"bg-purple-500/20 ring-1 ring-purple-500/50":""}`,children:[(0,b.jsxs)("button",{onClick:()=>{t||x(!f)},className:"flex items-center gap-2 text-xs text-app-text-dim hover:text-app-text transition-colors",title:t?i:void 0,children:[f?(0,b.jsx)(ej,{className:"w-3 h-3"}):(0,b.jsx)(O,{className:"w-3 h-3"}),(0,b.jsx)(iL,{className:"w-3.5 h-3.5"}),(0,b.jsx)("span",{className:"font-medium uppercase tracking-wide",children:"Private"}),t&&(0,b.jsx)(L,{className:"w-3 h-3 text-app-text-dim"})]}),!f&&(0,b.jsx)("div",{className:"flex items-center gap-1",children:(0,b.jsx)("button",{onClick:e=>{e.stopPropagation(),J("private")},className:"p-1 hover:bg-app-sidebar-hover rounded transition-colors",title:t?i:D?.section==="private"?"Add folder inside selected":"Add folder",disabled:t,children:(0,b.jsx)(i$,{className:"w-3.5 h-3.5 text-app-text-dim"})})})]}),!f&&(0,b.jsx)("div",{className:"space-y-0.5",children:0===r.length?(0,b.jsx)("div",{className:"px-2 py-4 text-xs text-app-text-dim text-center",children:"No private queries yet"}):r.map(e=>et(e,"private"))})]})]}),w&&(0,b.jsxs)("div",{className:"fixed bg-app-sidebar border border-app-border rounded-lg shadow-lg overflow-hidden z-50",style:{left:w.x,top:w.y},children:[(0,b.jsxs)("button",{onClick:function(){w&&(w.item.sql&&navigator.clipboard.writeText(w.item.sql),j(null))},className:"w-full px-3 py-2 text-left text-sm hover:bg-app-sidebar-hover flex items-center gap-2",children:[(0,b.jsx)(eS,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:"Copy"})]}),(0,b.jsxs)("button",{onClick:function(){w&&(T(w.item.label),C({item:w.item,section:w.section}),j(null))},className:"w-full px-3 py-2 text-left text-sm hover:bg-app-sidebar-hover flex items-center gap-2",children:[(0,b.jsx)(iD,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:"Rename"})]}),(0,b.jsxs)("button",{onClick:function(){w&&(R({item:w.item,section:w.section}),j(null))},className:"w-full px-3 py-2 text-left text-sm hover:bg-red-500/10 text-red-400 flex items-center gap-2",children:[(0,b.jsx)(iR,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:"Delete"})]})]}),_&&(0,b.jsx)("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-50",onClick:()=>C(null),children:(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-4 w-full max-w-sm",onClick:e=>e.stopPropagation(),children:[(0,b.jsx)("h3",{className:"text-sm font-semibold mb-3",children:"Rename"}),(0,b.jsx)("input",{type:"text",value:M,onChange:e=>T(e.target.value),onKeyDown:e=>{"Enter"===e.key&&ee(),"Escape"===e.key&&C(null)},className:"w-full px-3 py-2 bg-app-bg border border-app-border rounded text-sm focus:outline-none focus:border-app-accent",autoFocus:!0}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 mt-4",children:[(0,b.jsx)("button",{onClick:()=>C(null),className:"px-3 py-1.5 text-xs bg-app-sidebar-active hover:bg-app-sidebar-hover rounded transition-colors",children:"Cancel"}),(0,b.jsx)("button",{onClick:ee,disabled:!M.trim(),className:"px-3 py-1.5 text-xs bg-app-accent hover:bg-app-accent-hover disabled:opacity-50 text-white rounded transition-colors",children:"Rename"})]})]})}),A&&(0,b.jsx)("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-50",onClick:()=>R(null),children:(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-4 w-full max-w-sm",onClick:e=>e.stopPropagation(),children:[(0,b.jsxs)("h3",{className:"text-sm font-semibold mb-3",children:['Delete "',A.item.label,'"?']}),(0,b.jsx)("p",{className:"text-xs text-app-text-dim mb-4",children:"This action cannot be undone."}),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)("button",{onClick:()=>R(null),className:"px-3 py-1.5 text-xs bg-app-sidebar-active hover:bg-app-sidebar-hover rounded transition-colors",children:"Cancel"}),(0,b.jsx)("button",{onClick:function(){if(!A)return;let e=t=>t.filter(t=>t.id!==A.item.id&&(t.children&&(t.children=e(t.children)),!0));"favorites"===A.section?l(e(o)):"templates"===A.section?d(e(c)):"private"===A.section&&n&&n(e(r)),R(null)},className:"px-3 py-1.5 text-xs bg-red-500 hover:bg-red-600 text-white rounded transition-colors",children:"Delete"})]})]})})]})}let iI=["SELECT","FROM","WHERE","INSERT","INTO","VALUES","UPDATE","SET","DELETE","CREATE","TABLE","DROP","ALTER","ADD","COLUMN","PRIMARY","KEY","FOREIGN","REFERENCES","UNIQUE","NOT","NULL","DEFAULT","CHECK","INDEX","VIEW","TRIGGER","BEGIN","END","TRANSACTION","COMMIT","ROLLBACK","AS","ON","JOIN","LEFT","RIGHT","INNER","OUTER","CROSS","UNION","INTERSECT","EXCEPT","GROUP","BY","HAVING","ORDER","ASC","DESC","LIMIT","OFFSET","DISTINCT","ALL","AND","OR","IN","BETWEEN","LIKE","GLOB","IS","CASE","WHEN","THEN","ELSE","CAST","EXISTS","PRAGMA","EXPLAIN","QUERY","PLAN","ANALYZE","ATTACH","DETACH","DATABASE","VACUUM","REINDEX"],iB=["INTEGER","TEXT","REAL","BLOB","NUMERIC","INT","VARCHAR","CHAR","BOOLEAN","DATE","DATETIME","DECIMAL","DOUBLE","FLOAT","TIMESTAMP"],iF=["COUNT","SUM","AVG","MIN","MAX","TOTAL","GROUP_CONCAT","LENGTH","LOWER","UPPER","SUBSTR","SUBSTRING","TRIM","LTRIM","RTRIM","REPLACE","INSTR","LIKE","GLOB","CONCAT","PRINTF","DATE","TIME","DATETIME","JULIANDAY","STRFTIME","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","ABS","RANDOM","ROUND","CEIL","CEILING","FLOOR","POWER","SQRT","EXP","LN","LOG","LOG10","SIN","COS","TAN","ASIN","ACOS","ATAN","CAST","TYPEOF","COALESCE","IFNULL","NULLIF","JSON","JSON_ARRAY","JSON_OBJECT","JSON_EXTRACT","JSON_VALID","ROWID","LAST_INSERT_ROWID","CHANGES","TOTAL_CHANGES","HEX","UNHEX","QUOTE","RANDOMBLOB","ZEROBLOB"],iz=[{label:"CREATE TABLE",insertText:`CREATE TABLE \${1:table_name} (
45
45
  \${2:id} INTEGER PRIMARY KEY AUTOINCREMENT,
46
46
  \${3:column_name} \${4:TEXT} \${5:NOT NULL}
47
47
  );`,documentation:"Create a new table with primary key",detail:"Snippet"},{label:"SELECT *",insertText:"SELECT * FROM ${1:table_name}${2: WHERE ${3:condition}};",documentation:"Select all columns from table",detail:"Snippet"},{label:"INSERT INTO",insertText:`INSERT INTO \${1:table_name} (\${2:columns})
@@ -55,55 +55,52 @@ FROM \${2:table_name}
55
55
  GROUP BY \${1:column};`,documentation:"Group and aggregate data",detail:"Snippet"},{label:"CASE WHEN",insertText:`CASE
56
56
  WHEN \${1:condition} THEN \${2:result}
57
57
  ELSE \${3:default}
58
- END`,documentation:"Conditional expression",detail:"Snippet"}];class iF{tables=[];constructor(e=[]){this.tables=e}updateTables(e){this.tables=e}provideCompletionItems(e,t){let r=e.getWordUntilPosition(t),n={startLineNumber:t.lineNumber,endLineNumber:t.lineNumber,startColumn:r.startColumn,endColumn:r.endColumn},a=[],s=e.getValueInRange({startLineNumber:t.lineNumber,startColumn:1,endLineNumber:t.lineNumber,endColumn:t.column}),i=s.toUpperCase();return iI.forEach(e=>{a.push({label:e,kind:14,insertText:e,range:n,detail:"SQL Keyword",sortText:"1_"+e})}),iB.forEach(e=>{a.push({label:e,kind:12,insertText:e,range:n,detail:"Data Type",sortText:"2_"+e})}),iz.forEach(e=>{a.push({label:e,kind:1,insertText:`${e}($0)`,insertTextRules:4,range:n,detail:"SQL Function",documentation:`SQLite built-in function: ${e}()`,sortText:"3_"+e})}),(i.includes("FROM")||i.includes("JOIN")||i.includes("INTO")||i.includes("UPDATE"))&&this.tables.forEach(e=>{a.push({label:e.name,kind:7,insertText:e.name,range:n,detail:"Table",documentation:`Columns: ${e.columns.map(e=>e.name).join(", ")}`,sortText:"0_"+e.name})}),(i.includes("SELECT")||i.includes("WHERE")||i.includes("SET")||i.includes("ORDER")||i.includes("GROUP"))&&this.getReferencedTables(s).forEach(e=>{let t=this.tables.find(t=>t.name===e);t&&t.columns.forEach(e=>{a.push({label:e.name,kind:4,insertText:e.name,range:n,detail:`Column (${t.name}.${e.name})`,documentation:`Type: ${e.type}`,sortText:"0_"+e.name})})}),iq.forEach(e=>{a.push({label:e.label,kind:15,insertText:e.insertText,insertTextRules:4,range:n,detail:e.detail,documentation:e.documentation,sortText:"4_"+e.label})}),{suggestions:a}}getReferencedTables(e){let t=[],r=e.toUpperCase(),n=r.match(/FROM\s+(\w+)/g);n&&n.forEach(e=>{let r=e.replace(/FROM\s+/i,"").trim();this.tables.find(e=>e.name.toUpperCase()===r)&&t.push(this.tables.find(e=>e.name.toUpperCase()===r).name)});let a=r.match(/JOIN\s+(\w+)/g);a&&a.forEach(e=>{let r=e.replace(/JOIN\s+/i,"").trim();this.tables.find(e=>e.name.toUpperCase()===r)&&t.push(this.tables.find(e=>e.name.toUpperCase()===r).name)});let s=r.match(/UPDATE\s+(\w+)/i);if(s){let e=s[1];this.tables.find(t=>t.name.toUpperCase()===e)&&t.push(this.tables.find(t=>t.name.toUpperCase()===e).name)}return t}}class iH{signatureHelpTriggerCharacters=["(",","];provideSignatureHelp(e,t){let r=e.getValueInRange({startLineNumber:1,startColumn:1,endLineNumber:t.lineNumber,endColumn:t.column}).match(/(\w+)\s*\([^)]*$/i);if(!r)return null;let n={SUBSTR:{label:"SUBSTR(string, start, length)",documentation:"Returns a substring",parameters:[{label:"string",documentation:"The input string"},{label:"start",documentation:"Starting position (1-based)"},{label:"length",documentation:"Length of substring"}]},REPLACE:{label:"REPLACE(string, old, new)",documentation:"Replaces occurrences of old with new",parameters:[{label:"string",documentation:"The input string"},{label:"old",documentation:"String to replace"},{label:"new",documentation:"Replacement string"}]},DATE:{label:"DATE(timestring, modifier, ...)",documentation:"Returns date in YYYY-MM-DD format",parameters:[{label:"timestring",documentation:"Time value"},{label:"modifier",documentation:"Optional modifier (+1 day, etc.)"}]},ROUND:{label:"ROUND(number, decimals)",documentation:"Rounds number to specified decimals",parameters:[{label:"number",documentation:"Number to round"},{label:"decimals",documentation:"Number of decimal places"}]},COALESCE:{label:"COALESCE(value1, value2, ...)",documentation:"Returns first non-null value",parameters:[{label:"value1",documentation:"First value"},{label:"value2",documentation:"Second value"}]}}[r[1].toUpperCase()];return n?{value:{signatures:[n],activeSignature:0,activeParameter:0},dispose:()=>{}}:null}}class iU{tables=[];constructor(e=[]){this.tables=e}updateTables(e){this.tables=e}provideHover(e,t){let r=e.getWordAtPosition(t);if(!r)return null;let n=r.word.toUpperCase();if(iI.includes(n))return{contents:[{value:`**${n}**`},{value:"SQL Keyword"}]};if(iz.includes(n))return{contents:[{value:`**${n}()**`},{value:"SQLite built-in function"}]};let a=this.tables.find(e=>e.name===r.word);if(a){let e=a.columns.map(e=>`- **${e.name}**: ${e.type}`).join("\n");return{contents:[{value:`**Table: ${a.name}**`},{value:`
58
+ END`,documentation:"Conditional expression",detail:"Snippet"}];class iq{tables=[];constructor(e=[]){this.tables=e}updateTables(e){this.tables=e}provideCompletionItems(e,t){let r=e.getWordUntilPosition(t),n={startLineNumber:t.lineNumber,endLineNumber:t.lineNumber,startColumn:r.startColumn,endColumn:r.endColumn},a=[],s=e.getValueInRange({startLineNumber:t.lineNumber,startColumn:1,endLineNumber:t.lineNumber,endColumn:t.column}),i=s.toUpperCase();return iI.forEach(e=>{a.push({label:e,kind:14,insertText:e,range:n,detail:"SQL Keyword",sortText:"1_"+e})}),iB.forEach(e=>{a.push({label:e,kind:12,insertText:e,range:n,detail:"Data Type",sortText:"2_"+e})}),iF.forEach(e=>{a.push({label:e,kind:1,insertText:`${e}($0)`,insertTextRules:4,range:n,detail:"SQL Function",documentation:`SQLite built-in function: ${e}()`,sortText:"3_"+e})}),(i.includes("FROM")||i.includes("JOIN")||i.includes("INTO")||i.includes("UPDATE"))&&this.tables.forEach(e=>{a.push({label:e.name,kind:7,insertText:e.name,range:n,detail:"Table",documentation:`Columns: ${e.columns.map(e=>e.name).join(", ")}`,sortText:"0_"+e.name})}),(i.includes("SELECT")||i.includes("WHERE")||i.includes("SET")||i.includes("ORDER")||i.includes("GROUP"))&&this.getReferencedTables(s).forEach(e=>{let t=this.tables.find(t=>t.name===e);t&&t.columns.forEach(e=>{a.push({label:e.name,kind:4,insertText:e.name,range:n,detail:`Column (${t.name}.${e.name})`,documentation:`Type: ${e.type}`,sortText:"0_"+e.name})})}),iz.forEach(e=>{a.push({label:e.label,kind:15,insertText:e.insertText,insertTextRules:4,range:n,detail:e.detail,documentation:e.documentation,sortText:"4_"+e.label})}),{suggestions:a}}getReferencedTables(e){let t=[],r=e.toUpperCase(),n=r.match(/FROM\s+(\w+)/g);n&&n.forEach(e=>{let r=e.replace(/FROM\s+/i,"").trim();this.tables.find(e=>e.name.toUpperCase()===r)&&t.push(this.tables.find(e=>e.name.toUpperCase()===r).name)});let a=r.match(/JOIN\s+(\w+)/g);a&&a.forEach(e=>{let r=e.replace(/JOIN\s+/i,"").trim();this.tables.find(e=>e.name.toUpperCase()===r)&&t.push(this.tables.find(e=>e.name.toUpperCase()===r).name)});let s=r.match(/UPDATE\s+(\w+)/i);if(s){let e=s[1];this.tables.find(t=>t.name.toUpperCase()===e)&&t.push(this.tables.find(t=>t.name.toUpperCase()===e).name)}return t}}class iH{signatureHelpTriggerCharacters=["(",","];provideSignatureHelp(e,t){let r=e.getValueInRange({startLineNumber:1,startColumn:1,endLineNumber:t.lineNumber,endColumn:t.column}).match(/(\w+)\s*\([^)]*$/i);if(!r)return null;let n={SUBSTR:{label:"SUBSTR(string, start, length)",documentation:"Returns a substring",parameters:[{label:"string",documentation:"The input string"},{label:"start",documentation:"Starting position (1-based)"},{label:"length",documentation:"Length of substring"}]},REPLACE:{label:"REPLACE(string, old, new)",documentation:"Replaces occurrences of old with new",parameters:[{label:"string",documentation:"The input string"},{label:"old",documentation:"String to replace"},{label:"new",documentation:"Replacement string"}]},DATE:{label:"DATE(timestring, modifier, ...)",documentation:"Returns date in YYYY-MM-DD format",parameters:[{label:"timestring",documentation:"Time value"},{label:"modifier",documentation:"Optional modifier (+1 day, etc.)"}]},ROUND:{label:"ROUND(number, decimals)",documentation:"Rounds number to specified decimals",parameters:[{label:"number",documentation:"Number to round"},{label:"decimals",documentation:"Number of decimal places"}]},COALESCE:{label:"COALESCE(value1, value2, ...)",documentation:"Returns first non-null value",parameters:[{label:"value1",documentation:"First value"},{label:"value2",documentation:"Second value"}]}}[r[1].toUpperCase()];return n?{value:{signatures:[n],activeSignature:0,activeParameter:0},dispose:()=>{}}:null}}class iU{tables=[];constructor(e=[]){this.tables=e}updateTables(e){this.tables=e}provideHover(e,t){let r=e.getWordAtPosition(t);if(!r)return null;let n=r.word.toUpperCase();if(iI.includes(n))return{contents:[{value:`**${n}**`},{value:"SQL Keyword"}]};if(iF.includes(n))return{contents:[{value:`**${n}()**`},{value:"SQLite built-in function"}]};let a=this.tables.find(e=>e.name===r.word);if(a){let e=a.columns.map(e=>`- **${e.name}**: ${e.type}`).join("\n");return{contents:[{value:`**Table: ${a.name}**`},{value:`
59
59
  Columns:
60
- ${e}`}]}}for(let e of this.tables){let t=e.columns.find(e=>e.name===r.word);if(t)return{contents:[{value:`**Column: ${t.name}**`},{value:`Table: ${e.name}`},{value:`Type: ${t.type}`}]}}return null}}let iW={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function iV(e){return (t={})=>{let r=t.width?String(t.width):e.defaultWidth;return e.formats[r]||e.formats[e.defaultWidth]}}let iY={date:iV({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:iV({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:iV({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},iX={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function iG(e){return(t,r)=>{let n;if("formatting"===(r?.context?String(r.context):"standalone")&&e.formattingValues){let t=e.defaultFormattingWidth||e.defaultWidth,a=r?.width?String(r.width):t;n=e.formattingValues[a]||e.formattingValues[t]}else{let t=e.defaultWidth,a=r?.width?String(r.width):e.defaultWidth;n=e.values[a]||e.values[t]}return n[e.argumentCallback?e.argumentCallback(t):t]}}function iK(e){return(t,r={})=>{let n,a=r.width,s=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],i=t.match(s);if(!i)return null;let o=i[0],l=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(l)?function(e,t){for(let r=0;r<e.length;r++)if(t(e[r]))return r}(l,e=>e.test(o)):function(e,t){for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t(e[r]))return r}(l,e=>e.test(o));return n=e.valueCallback?e.valueCallback(c):c,{value:n=r.valueCallback?r.valueCallback(n):n,rest:t.slice(o.length)}}}let iQ={code:"en-US",formatDistance:(e,t,r)=>{let n,a=iW[e];if(n="string"==typeof a?a:1===t?a.one:a.other.replace("{{count}}",t.toString()),r?.addSuffix)if(r.comparison&&r.comparison>0)return"in "+n;else return n+" ago";return n},formatLong:iY,formatRelative:(e,t,r,n)=>iX[e],localize:{ordinalNumber:(e,t)=>{let r=Number(e),n=r%100;if(n>20||n<10)switch(n%10){case 1:return r+"st";case 2:return r+"nd";case 3:return r+"rd"}return r+"th"},era:iG({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:iG({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:e=>e-1}),month:iG({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:iG({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:iG({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},match:{ordinalNumber:(l={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)},(e,t={})=>{let r=e.match(l.matchPattern);if(!r)return null;let n=r[0],a=e.match(l.parsePattern);if(!a)return null;let s=l.valueCallback?l.valueCallback(a[0]):a[0];return{value:s=t.valueCallback?t.valueCallback(s):s,rest:e.slice(n.length)}}),era:iK({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:iK({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),month:iK({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:iK({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:iK({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}},iJ={};function iZ(e){let t=Object.prototype.toString.call(e);return e instanceof Date||"object"==typeof e&&"[object Date]"===t?new e.constructor(+e):new Date("number"==typeof e||"[object Number]"===t||"string"==typeof e||"[object String]"===t?e:NaN)}function i0(e){let t=iZ(e);return t.setHours(0,0,0,0),t}function i1(e){let t=iZ(e),r=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return r.setUTCFullYear(t.getFullYear()),e-r}function i2(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}function i5(e,t){let r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??iJ.weekStartsOn??iJ.locale?.options?.weekStartsOn??0,n=iZ(e),a=n.getDay();return n.setDate(n.getDate()-(7*(a<r)+a-r)),n.setHours(0,0,0,0),n}function i3(e){return i5(e,{weekStartsOn:1})}function i4(e){let t=iZ(e),r=t.getFullYear(),n=i2(e,0);n.setFullYear(r+1,0,4),n.setHours(0,0,0,0);let a=i3(n),s=i2(e,0);s.setFullYear(r,0,4),s.setHours(0,0,0,0);let i=i3(s);return t.getTime()>=a.getTime()?r+1:t.getTime()>=i.getTime()?r:r-1}function i6(e,t){let r=iZ(e),n=r.getFullYear(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??iJ.firstWeekContainsDate??iJ.locale?.options?.firstWeekContainsDate??1,s=i2(e,0);s.setFullYear(n+1,0,a),s.setHours(0,0,0,0);let i=i5(s,t),o=i2(e,0);o.setFullYear(n,0,a),o.setHours(0,0,0,0);let l=i5(o,t);return r.getTime()>=i.getTime()?n+1:r.getTime()>=l.getTime()?n:n-1}function i9(e,t){let r=Math.abs(e).toString().padStart(t,"0");return(e<0?"-":"")+r}let i7={y(e,t){let r=e.getFullYear(),n=r>0?r:1-r;return i9("yy"===t?n%100:n,t.length)},M(e,t){let r=e.getMonth();return"M"===t?String(r+1):i9(r+1,2)},d:(e,t)=>i9(e.getDate(),t.length),a(e,t){let r=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return r.toUpperCase();case"aaa":return r;case"aaaaa":return r[0];default:return"am"===r?"a.m.":"p.m."}},h:(e,t)=>i9(e.getHours()%12||12,t.length),H:(e,t)=>i9(e.getHours(),t.length),m:(e,t)=>i9(e.getMinutes(),t.length),s:(e,t)=>i9(e.getSeconds(),t.length),S(e,t){let r=t.length;return i9(Math.trunc(e.getMilliseconds()*Math.pow(10,r-3)),t.length)}},i8={G:function(e,t,r){let n=+(e.getFullYear()>0);switch(t){case"G":case"GG":case"GGG":return r.era(n,{width:"abbreviated"});case"GGGGG":return r.era(n,{width:"narrow"});default:return r.era(n,{width:"wide"})}},y:function(e,t,r){if("yo"===t){let t=e.getFullYear();return r.ordinalNumber(t>0?t:1-t,{unit:"year"})}return i7.y(e,t)},Y:function(e,t,r,n){let a=i6(e,n),s=a>0?a:1-a;return"YY"===t?i9(s%100,2):"Yo"===t?r.ordinalNumber(s,{unit:"year"}):i9(s,t.length)},R:function(e,t){return i9(i4(e),t.length)},u:function(e,t){return i9(e.getFullYear(),t.length)},Q:function(e,t,r){let n=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(n);case"QQ":return i9(n,2);case"Qo":return r.ordinalNumber(n,{unit:"quarter"});case"QQQ":return r.quarter(n,{width:"abbreviated",context:"formatting"});case"QQQQQ":return r.quarter(n,{width:"narrow",context:"formatting"});default:return r.quarter(n,{width:"wide",context:"formatting"})}},q:function(e,t,r){let n=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(n);case"qq":return i9(n,2);case"qo":return r.ordinalNumber(n,{unit:"quarter"});case"qqq":return r.quarter(n,{width:"abbreviated",context:"standalone"});case"qqqqq":return r.quarter(n,{width:"narrow",context:"standalone"});default:return r.quarter(n,{width:"wide",context:"standalone"})}},M:function(e,t,r){let n=e.getMonth();switch(t){case"M":case"MM":return i7.M(e,t);case"Mo":return r.ordinalNumber(n+1,{unit:"month"});case"MMM":return r.month(n,{width:"abbreviated",context:"formatting"});case"MMMMM":return r.month(n,{width:"narrow",context:"formatting"});default:return r.month(n,{width:"wide",context:"formatting"})}},L:function(e,t,r){let n=e.getMonth();switch(t){case"L":return String(n+1);case"LL":return i9(n+1,2);case"Lo":return r.ordinalNumber(n+1,{unit:"month"});case"LLL":return r.month(n,{width:"abbreviated",context:"standalone"});case"LLLLL":return r.month(n,{width:"narrow",context:"standalone"});default:return r.month(n,{width:"wide",context:"standalone"})}},w:function(e,t,r,n){let a,s,i,o,l=Math.round((i5(a=iZ(e),n)-(s=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??iJ.firstWeekContainsDate??iJ.locale?.options?.firstWeekContainsDate??1,i=i6(a,n),(o=i2(a,0)).setFullYear(i,0,s),o.setHours(0,0,0,0),i5(o,n)))/6048e5)+1;return"wo"===t?r.ordinalNumber(l,{unit:"week"}):i9(l,t.length)},I:function(e,t,r){let n,a,s,i=Math.round((i3(n=iZ(e))-(a=i4(n),(s=i2(n,0)).setFullYear(a,0,4),s.setHours(0,0,0,0),i3(s)))/6048e5)+1;return"Io"===t?r.ordinalNumber(i,{unit:"week"}):i9(i,t.length)},d:function(e,t,r){return"do"===t?r.ordinalNumber(e.getDate(),{unit:"date"}):i7.d(e,t)},D:function(e,t,r){var n;let a,s,i,o,l,c=(a=iZ(e),s=iZ(a),(i=i2(a,0)).setFullYear(s.getFullYear(),0,1),i.setHours(0,0,0,0),n=i,o=i0(a),l=i0(n),Math.round((o-i1(o)-(l-i1(l)))/864e5)+1);return"Do"===t?r.ordinalNumber(c,{unit:"dayOfYear"}):i9(c,t.length)},E:function(e,t,r){let n=e.getDay();switch(t){case"E":case"EE":case"EEE":return r.day(n,{width:"abbreviated",context:"formatting"});case"EEEEE":return r.day(n,{width:"narrow",context:"formatting"});case"EEEEEE":return r.day(n,{width:"short",context:"formatting"});default:return r.day(n,{width:"wide",context:"formatting"})}},e:function(e,t,r,n){let a=e.getDay(),s=(a-n.weekStartsOn+8)%7||7;switch(t){case"e":return String(s);case"ee":return i9(s,2);case"eo":return r.ordinalNumber(s,{unit:"day"});case"eee":return r.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return r.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return r.day(a,{width:"short",context:"formatting"});default:return r.day(a,{width:"wide",context:"formatting"})}},c:function(e,t,r,n){let a=e.getDay(),s=(a-n.weekStartsOn+8)%7||7;switch(t){case"c":return String(s);case"cc":return i9(s,t.length);case"co":return r.ordinalNumber(s,{unit:"day"});case"ccc":return r.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return r.day(a,{width:"narrow",context:"standalone"});case"cccccc":return r.day(a,{width:"short",context:"standalone"});default:return r.day(a,{width:"wide",context:"standalone"})}},i:function(e,t,r){let n=e.getDay(),a=0===n?7:n;switch(t){case"i":return String(a);case"ii":return i9(a,t.length);case"io":return r.ordinalNumber(a,{unit:"day"});case"iii":return r.day(n,{width:"abbreviated",context:"formatting"});case"iiiii":return r.day(n,{width:"narrow",context:"formatting"});case"iiiiii":return r.day(n,{width:"short",context:"formatting"});default:return r.day(n,{width:"wide",context:"formatting"})}},a:function(e,t,r){let n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"aaa":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return r.dayPeriod(n,{width:"narrow",context:"formatting"});default:return r.dayPeriod(n,{width:"wide",context:"formatting"})}},b:function(e,t,r){let n,a=e.getHours();switch(n=12===a?"noon":0===a?"midnight":a/12>=1?"pm":"am",t){case"b":case"bb":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"bbb":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return r.dayPeriod(n,{width:"narrow",context:"formatting"});default:return r.dayPeriod(n,{width:"wide",context:"formatting"})}},B:function(e,t,r){let n,a=e.getHours();switch(n=a>=17?"evening":a>=12?"afternoon":a>=4?"morning":"night",t){case"B":case"BB":case"BBB":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"BBBBB":return r.dayPeriod(n,{width:"narrow",context:"formatting"});default:return r.dayPeriod(n,{width:"wide",context:"formatting"})}},h:function(e,t,r){if("ho"===t){let t=e.getHours()%12;return 0===t&&(t=12),r.ordinalNumber(t,{unit:"hour"})}return i7.h(e,t)},H:function(e,t,r){return"Ho"===t?r.ordinalNumber(e.getHours(),{unit:"hour"}):i7.H(e,t)},K:function(e,t,r){let n=e.getHours()%12;return"Ko"===t?r.ordinalNumber(n,{unit:"hour"}):i9(n,t.length)},k:function(e,t,r){let n=e.getHours();return(0===n&&(n=24),"ko"===t)?r.ordinalNumber(n,{unit:"hour"}):i9(n,t.length)},m:function(e,t,r){return"mo"===t?r.ordinalNumber(e.getMinutes(),{unit:"minute"}):i7.m(e,t)},s:function(e,t,r){return"so"===t?r.ordinalNumber(e.getSeconds(),{unit:"second"}):i7.s(e,t)},S:function(e,t){return i7.S(e,t)},X:function(e,t,r){let n=e.getTimezoneOffset();if(0===n)return"Z";switch(t){case"X":return ot(n);case"XXXX":case"XX":return or(n);default:return or(n,":")}},x:function(e,t,r){let n=e.getTimezoneOffset();switch(t){case"x":return ot(n);case"xxxx":case"xx":return or(n);default:return or(n,":")}},O:function(e,t,r){let n=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+oe(n,":");default:return"GMT"+or(n,":")}},z:function(e,t,r){let n=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+oe(n,":");default:return"GMT"+or(n,":")}},t:function(e,t,r){return i9(Math.trunc(e.getTime()/1e3),t.length)},T:function(e,t,r){return i9(e.getTime(),t.length)}};function oe(e,t=""){let r=e>0?"-":"+",n=Math.abs(e),a=Math.trunc(n/60),s=n%60;return 0===s?r+String(a):r+String(a)+t+i9(s,2)}function ot(e,t){return e%60==0?(e>0?"-":"+")+i9(Math.abs(e)/60,2):or(e,t)}function or(e,t=""){let r=Math.abs(e);return(e>0?"-":"+")+i9(Math.trunc(r/60),2)+t+i9(r%60,2)}let on=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},oa=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},os={p:oa,P:(e,t)=>{let r,n=e.match(/(P+)(p+)?/)||[],a=n[1],s=n[2];if(!s)return on(e,t);switch(a){case"P":r=t.dateTime({width:"short"});break;case"PP":r=t.dateTime({width:"medium"});break;case"PPP":r=t.dateTime({width:"long"});break;default:r=t.dateTime({width:"full"})}return r.replace("{{date}}",on(a,t)).replace("{{time}}",oa(s,t))}},oi=/^D+$/,oo=/^Y+$/,ol=["D","DD","YY","YYYY"],oc=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,od=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,ou=/^'([^]*?)'?$/,op=/''/g,oh=/[a-zA-Z]/;function om(e,t,r){let n=r?.locale??iJ.locale??iQ,a=r?.firstWeekContainsDate??r?.locale?.options?.firstWeekContainsDate??iJ.firstWeekContainsDate??iJ.locale?.options?.firstWeekContainsDate??1,s=r?.weekStartsOn??r?.locale?.options?.weekStartsOn??iJ.weekStartsOn??iJ.locale?.options?.weekStartsOn??0,i=iZ(e);if(!((i instanceof Date||"object"==typeof i&&"[object Date]"===Object.prototype.toString.call(i)||"number"==typeof i)&&!isNaN(Number(iZ(i)))))throw RangeError("Invalid time value");let o=t.match(od).map(e=>{let t=e[0];return"p"===t||"P"===t?(0,os[t])(e,n.formatLong):e}).join("").match(oc).map(e=>{if("''"===e)return{isToken:!1,value:"'"};let t=e[0];if("'"===t){var r;let t;return{isToken:!1,value:(t=(r=e).match(ou))?t[1].replace(op,"'"):r}}if(i8[t])return{isToken:!0,value:e};if(t.match(oh))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});n.localize.preprocessor&&(o=n.localize.preprocessor(i,o));let l={firstWeekContainsDate:a,weekStartsOn:s,locale:n};return o.map(a=>{if(!a.isToken)return a.value;let s=a.value;return(!r?.useAdditionalWeekYearTokens&&oo.test(s)||!r?.useAdditionalDayOfYearTokens&&oi.test(s))&&function(e,t,r){var n,a,s;let i,o=(n=e,a=t,s=r,i="Y"===n[0]?"years":"days of the month",`Use \`${n.toLowerCase()}\` instead of \`${n}\` (in \`${a}\`) for formatting ${i} to the input \`${s}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`);if(console.warn(o),ol.includes(e))throw RangeError(o)}(s,t,String(e)),(0,i8[s[0]])(i,s,n.localize,l)}).join("")}function of({isOpen:e,onClose:t,onSuccess:r,defaultType:n="manual",defaultLabel:a="",defaultDescription:s=""}){let[i,o]=(0,g.useState)(a),[l,c]=(0,g.useState)(s),[d,u]=(0,g.useState)(n),[p,h]=(0,g.useState)(!1),[m,f]=(0,g.useState)(null);if(!e)return null;let x=()=>{let e=new Date;return`Manual Snapshot – ${om(e,"MMM d, HH:mm")}`};async function v(){let e=i.trim()||x();h(!0),f(null);try{await Y({name:e,description:l.trim()||void 0,type:d}),o(""),c(""),u("manual"),r?.(),t()}catch(e){f(e.message||"Failed to create snapshot")}finally{h(!1)}}function y(){p||(o(""),c(""),u("manual"),f(null),t())}return(0,b.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[(0,b.jsx)("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm",onClick:y}),(0,b.jsxs)("div",{className:"relative bg-app-bg border border-app-border rounded-lg shadow-2xl w-full max-w-md mx-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-6 py-4 border-b border-app-border",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:"p-2 bg-blue-500/10 rounded-lg",children:(0,b.jsx)(E,{className:"w-5 h-5 text-blue-400"})}),(0,b.jsx)("h2",{className:"text-lg font-semibold",children:"Create Snapshot"})]}),(0,b.jsx)("button",{onClick:y,disabled:p,className:"p-2 hover:bg-app-sidebar-hover rounded-lg transition-colors",children:(0,b.jsx)(ef,{className:"w-4 h-4"})})]}),(0,b.jsxs)("div",{className:"p-6 space-y-5",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"block text-sm font-medium mb-2",children:"Label"}),(0,b.jsx)("input",{type:"text",value:i,onChange:e=>o(e.target.value),placeholder:x(),className:"w-full px-3 py-2.5 bg-app-sidebar border border-app-border rounded-lg focus:outline-none focus:ring-2 focus:ring-app-accent/50 text-sm",autoFocus:!0,disabled:p}),(0,b.jsx)("p",{className:"text-xs text-app-text-dim mt-1.5",children:"Give this moment a meaningful name"})]}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("label",{className:"block text-sm font-medium mb-2",children:["Description ",(0,b.jsx)("span",{className:"text-app-text-dim font-normal",children:"(optional)"})]}),(0,b.jsx)("textarea",{value:l,onChange:e=>c(e.target.value),placeholder:"e.g., Safety checkpoint before major schema change",rows:2,className:"w-full px-3 py-2.5 bg-app-sidebar border border-app-border rounded-lg focus:outline-none focus:ring-2 focus:ring-app-accent/50 text-sm resize-none",disabled:p})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"block text-sm font-medium mb-2",children:"Type"}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("label",{className:"flex items-center gap-3 p-3 bg-app-sidebar border border-app-border rounded-lg cursor-pointer hover:border-app-accent/50 transition-colors",children:[(0,b.jsx)("input",{type:"radio",name:"snapshotType",value:"manual",checked:"manual"===d,onChange:()=>u("manual"),className:"w-4 h-4 accent-app-accent",disabled:p}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:"Manual"}),(0,b.jsx)("div",{className:"text-xs text-app-text-dim",children:"User created snapshot"})]})]}),(0,b.jsxs)("label",{className:"flex items-center gap-3 p-3 bg-app-sidebar border border-app-border rounded-lg cursor-pointer hover:border-app-accent/50 transition-colors",children:[(0,b.jsx)("input",{type:"radio",name:"snapshotType",value:"auto-before-migration",checked:"auto-before-migration"===d,onChange:()=>u("auto-before-migration"),className:"w-4 h-4 accent-app-accent",disabled:p}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:"Before Migration"}),(0,b.jsx)("div",{className:"text-xs text-app-text-dim",children:"Checkpoint before applying migrations"})]})]})]})]}),m&&(0,b.jsx)("div",{className:"p-3 bg-red-500/10 border border-red-500/30 rounded-lg text-red-400 text-sm",children:m})]}),(0,b.jsxs)("div",{className:"flex items-center justify-end gap-3 px-6 py-4 border-t border-app-border bg-app-sidebar/30",children:[(0,b.jsx)("button",{onClick:y,disabled:p,className:"px-4 py-2 text-sm text-app-text-dim hover:text-app-text transition-colors",children:"Cancel"}),(0,b.jsx)("button",{onClick:v,disabled:p,className:"flex items-center gap-2 px-4 py-2 bg-app-accent hover:bg-app-accent-hover disabled:opacity-50 text-white rounded-lg font-medium text-sm transition-colors",children:p?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(L,{className:"w-4 h-4 animate-spin"}),"Creating..."]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(E,{className:"w-4 h-4"}),"Create Snapshot"]})})]})]})]})}let ox=y("Play",[["polygon",{points:"5 3 19 12 5 21 5 3",key:"191637"}]]);function ob({isOpen:e,onClose:t,sql:r,riskLevel:n,riskReason:a,onProceed:s}){let[i,o]=(0,g.useState)(!1),[l,c]=(0,g.useState)(null);if(!e)return null;async function d(){o(!0),c(null);try{let e=`Before risky query – ${om(new Date,"MMM d, HH:mm")}`;await Y({name:e,description:`Safety snapshot before executing: ${r.substring(0,100)}${r.length>100?"...":""}`,type:"auto-risky-query"}),s(),t()}catch(e){c(e.message||"Failed to create snapshot"),o(!1)}}return(0,b.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[(0,b.jsx)("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm",onClick:t}),(0,b.jsxs)("div",{className:"relative bg-app-bg border border-app-border rounded-lg shadow-2xl w-full max-w-lg mx-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-6 py-4 border-b border-app-border",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:`p-2 rounded-lg ${"high"===n?"bg-red-500/10":"bg-amber-500/10"}`,children:(0,b.jsx)(eh,{className:`w-5 h-5 ${"high"===n?"text-red-400":"text-amber-400"}`})}),(0,b.jsx)("h2",{className:"text-lg font-semibold",children:"high"===n?"High Risk Query Detected":"Potentially Risky Query"})]}),(0,b.jsx)("button",{onClick:t,disabled:i,className:"p-2 hover:bg-app-sidebar-hover rounded-lg transition-colors",children:(0,b.jsx)(ef,{className:"w-4 h-4"})})]}),(0,b.jsxs)("div",{className:"p-6 space-y-4",children:[(0,b.jsx)("div",{className:`p-4 rounded-lg border ${"high"===n?"bg-red-500/5 border-red-500/20":"bg-amber-500/5 border-amber-500/20"}`,children:(0,b.jsx)("p",{className:`text-sm ${"high"===n?"text-red-300":"text-amber-300"}`,children:a})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-xs font-medium text-app-text-dim uppercase tracking-wider mb-2",children:"Query"}),(0,b.jsx)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-3 font-mono text-sm text-app-text-dim max-h-24 overflow-auto",children:r.length>200?r.substring(0,200)+"...":r})]}),(0,b.jsxs)("div",{className:"flex items-start gap-3 p-3 bg-blue-500/5 border border-blue-500/20 rounded-lg",children:[(0,b.jsx)(E,{className:"w-4 h-4 text-blue-400 flex-shrink-0 mt-0.5"}),(0,b.jsxs)("div",{className:"text-sm",children:[(0,b.jsx)("p",{className:"text-blue-300 font-medium",children:"Recommended: Create a snapshot first"}),(0,b.jsx)("p",{className:"text-blue-400/70 mt-0.5",children:"This allows you to restore your database if something goes wrong."})]})]}),l&&(0,b.jsx)("div",{className:"p-3 bg-red-500/10 border border-red-500/30 rounded-lg text-red-400 text-sm",children:l})]}),(0,b.jsxs)("div",{className:"flex items-center justify-end gap-3 px-6 py-4 border-t border-app-border bg-app-sidebar/30",children:[(0,b.jsx)("button",{onClick:t,disabled:i,className:"px-4 py-2 text-sm text-app-text-dim hover:text-app-text transition-colors",children:"Cancel"}),(0,b.jsxs)("button",{onClick:function(){s(),t()},disabled:i,className:"flex items-center gap-2 px-4 py-2 bg-app-sidebar-active hover:bg-app-sidebar-hover text-app-text rounded-lg font-medium text-sm transition-colors disabled:opacity-50",children:[(0,b.jsx)(ox,{className:"w-4 h-4"}),"Run Without Snapshot"]}),(0,b.jsx)("button",{onClick:d,disabled:i,className:"flex items-center gap-2 px-4 py-2 bg-app-accent hover:bg-app-accent-hover disabled:opacity-50 text-white rounded-lg font-medium text-sm transition-colors",children:i?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(L,{className:"w-4 h-4 animate-spin"}),"Creating..."]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(E,{className:"w-4 h-4"}),"Snapshot & Run"]})})]})]})]})}let og=(0,iM.default)(()=>e.A(53096),{loadableGenerated:{modules:[67211]},ssr:!1});function ov({compareMode:e=!1,onCompareModeChange:t}){let{editorState:r,updateSQL:n,updateActiveTab:a,addFavorite:s,projectInfo:i,branchVersion:o}=ev(),[l,c]=(0,g.useState)(null),[d,u]=(0,g.useState)(null),[p,h]=(0,g.useState)([]),[m,f]=(0,g.useState)(!1),[x,v]=(0,g.useState)(!1),[y,w]=(0,g.useState)(""),[j,S]=(0,g.useState)(!1),[k,_]=(0,g.useState)(!1),[M,T]=(0,g.useState)(""),[A,R]=(0,g.useState)(""),[L,P]=(0,g.useState)(!1),[I,W]=(0,g.useState)(""),[V,Y]=(0,g.useState)(""),[X,G]=(0,g.useState)(!1),[K,Q]=(0,g.useState)(null),[J,Z]=(0,g.useState)(!1),[ee,et]=(0,g.useState)("unknown"),[er,ea]=(0,g.useState)(""),[es,ei]=(0,g.useState)(e),[eo,ec]=(0,g.useState)("change"),[ed,eu]=(0,g.useState)({a:"",b:""}),[ep,eh]=(0,g.useState)([]),[ex,eb]=(0,g.useState)(null),[eg,ey]=(0,g.useState)(!1),[ew,eE]=(0,g.useState)(null),[ek,e_]=(0,g.useState)(""),[eC,eM]=(0,g.useState)(""),[eT,eA]=(0,g.useState)("SELECT * FROM sqlite_master;"),[eO,eR]=(0,g.useState)("SELECT * FROM sqlite_master;"),[eD,eL]=(0,g.useState)("a"),[e$,eP]=(0,g.useState)({a:null,b:null}),[eI,eB]=(0,g.useState)({a:null,b:null}),[ez,eq]=(0,g.useState)({a:"SELECT",b:"SELECT"}),eF=(0,g.useRef)(null),eH=(0,g.useRef)(null),eU=(0,g.useRef)(!1),[eW,eV]=(0,g.useState)(320),eY=(0,g.useRef)(null),eX=(0,g.useRef)(null),eG=(0,g.useRef)(null),eK=(0,g.useRef)(null),[eQ,eJ]=(0,g.useState)(()=>{let e=localStorage.getItem("sql-kite-query-tabs");if(e)try{let t=JSON.parse(e);if(Array.isArray(t)&&t.length>0)return t}catch(e){}return[{id:"tab-1",name:"Untitled query",sql:"-- Write your SQL query here\n"}]}),[eZ,e0]=(0,g.useState)(()=>localStorage.getItem("sql-kite-active-query-tab")||"tab-1"),[e1,e2]=(0,g.useState)(null),[e5,e3]=(0,g.useState)(""),e4=(0,g.useRef)(null),[e6,e9]=(0,g.useState)(null),[e7,e8]=(0,g.useState)(()=>{let e=localStorage.getItem("sql-kite-private");if(e)try{return JSON.parse(e)}catch(e){}return[]});(0,g.useEffect)(()=>{localStorage.setItem("sql-kite-private",JSON.stringify(e7))},[e7]);let[te,tt]=(0,g.useState)(null),[tr,tn]=(0,g.useState)(""),[ta,ts]=(0,g.useState)([]),[ti,to]=(0,g.useState)(null);(0,g.useEffect)(()=>{localStorage.setItem("sql-kite-query-tabs",JSON.stringify(eQ))},[eQ]),(0,g.useEffect)(()=>{localStorage.setItem("sql-kite-active-query-tab",eZ)},[eZ]),(0,g.useEffect)(()=>{let e=e=>{if((e.ctrlKey||e.metaKey)&&"s"===e.key){if(e.preventDefault(),es)return void iT.toast.warning("Save is disabled in Compare Mode");let t=eQ.find(e=>e.id===eZ);if(!t?.sql?.trim())return void iT.toast.error("Cannot save empty query");tt({type:"private",sql:t.sql}),tn("Untitled query"!==t.name?t.name:""),ts([])}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[eQ,eZ,es]),(0,g.useEffect)(()=>{if(!ti)return;let e=()=>to(null);return window.addEventListener("click",e),()=>window.removeEventListener("click",e)},[ti]),(0,g.useCallback)((e,t)=>{if(0===t)return e.filter(e=>"folder"===e.type);let r=e;for(let e=0;e<t;e++){let t=ta[e],n=r.find(e=>e.id===t&&"folder"===e.type);if(!n||!n.children)return[];r=n.children}return r.filter(e=>"folder"===e.type)},[ta]);let tl=(0,g.useCallback)(e=>{if("private"===e)return e7;if("favorite"===e){let e=localStorage.getItem("sql-kite-favorites");return e?JSON.parse(e):[]}if("template"===e){let e=localStorage.getItem("sql-kite-templates");return e?JSON.parse(e):[]}return[]},[e7]),tc=(0,g.useCallback)((e,t,r)=>0===r.length?[...e,t]:e.map(e=>{if(e.id===r[0]&&"folder"===e.type){let n=r.slice(1);return{...e,children:tc(e.children||[],t,n)}}return e}),[]),td=(0,g.useCallback)(e=>{if(!te)return;let t=tr.trim();if(!t)return void iT.toast.error("Please enter a name");let r={id:`${e.slice(0,4)}-${Date.now()}`,label:t,sql:te.sql,type:"file"};if("favorite"===e){let e=localStorage.getItem("sql-kite-favorites"),t=tc(e?JSON.parse(e):[],r,ta);localStorage.setItem("sql-kite-favorites",JSON.stringify(t)),window.dispatchEvent(new Event("storage"))}else if("template"===e){let e=localStorage.getItem("sql-kite-templates"),t=tc(e?JSON.parse(e):[],r,ta);localStorage.setItem("sql-kite-templates",JSON.stringify(t)),window.dispatchEvent(new Event("storage"))}else"private"===e&&e8(e=>tc(e,r,ta));let n=eQ.find(e=>e.id===eZ);n&&"Untitled query"===n.name&&eJ(e=>e.map(e=>e.id===eZ?{...e,name:t}:e)),iT.toast.success(`Saved to ${e}`),tt(null),tn(""),ts([])},[te,tr,ta,tc,eQ,eZ]),tu=eQ.find(e=>e.id===eZ)||eQ[0],tp=(0,g.useCallback)(e=>{eJ(t=>t.map(t=>t.id===eZ?{...t,sql:e}:t)),n(e)},[eZ,n]);(0,g.useEffect)(()=>{tu&&n(tu.sql)},[eZ]);let th=(0,g.useCallback)(()=>{let e=`tab-${Date.now()}`,t={id:e,name:"Untitled query",sql:""};eJ(e=>[...e,t]),e0(e)},[]),tm=(0,g.useCallback)((e,t)=>{t?.stopPropagation(),eJ(t=>{if(1===t.length)return t;let r=t.filter(t=>t.id!==e);if(eZ===e){let n=Math.min(t.findIndex(t=>t.id===e),r.length-1);e0(r[n].id)}return r})},[eZ]),tf=(0,g.useCallback)((e,t)=>{e2(e),e3(t),setTimeout(()=>e4.current?.select(),0)},[]),tx=(0,g.useCallback)(()=>{e1&&e5.trim()&&eJ(e=>e.map(e=>e.id===e1?{...e,name:e5.trim()}:e)),e2(null),e3("")},[e1,e5]),tb=(0,g.useCallback)((e,t)=>{("Delete"===e.key||"Backspace"===e.key)&&(e.preventDefault(),tm(t))},[tm]),tg=(0,g.useCallback)((e,t)=>{e9(t),e.dataTransfer.effectAllowed="move"},[]),tv=(0,g.useCallback)(e=>{e.preventDefault(),e.dataTransfer.dropEffect="move"},[]),ty=(0,g.useCallback)((e,t)=>{e.preventDefault(),e6&&e6!==t&&(eJ(e=>{let r=e.findIndex(e=>e.id===e6),n=e.findIndex(e=>e.id===t);if(-1===r||-1===n)return e;let a=[...e],[s]=a.splice(r,1);return a.splice(n,0,s),a}),e9(null))},[e6]);async function tw(){try{let e=await B(),t=await Promise.all(e.map(async e=>{let t=await z(e.name);return{name:e.name,columns:t.columns.map(e=>({name:e.name,type:e.type}))}}));eY.current&&eY.current.updateTables(t),eX.current&&eX.current.updateTables(t)}catch(e){console.error("Failed to load schema for autocomplete:",e)}}async function tj(){try{let e=await en(),t=(e.branches||[]).map(e=>e.name);eh(t);let r=i?.currentBranch||e.current||t[0]||"",n=t.find(e=>e!==r)||"";eu({a:r,b:n}),r&&n&&r!==n?eb(null):eb("Select two different branches to compare")}catch(e){console.error("Failed to load branches for compare mode:",e),eb("Failed to load branches for compare")}}function tN(e){return(e||"").trim().toUpperCase()}async function tE(){if(ed.a===ed.b)return void eb("Select two different branches to compare");ey(!0),eb(null);try{let e=`
60
+ ${e}`}]}}for(let e of this.tables){let t=e.columns.find(e=>e.name===r.word);if(t)return{contents:[{value:`**Column: ${t.name}**`},{value:`Table: ${e.name}`},{value:`Type: ${t.type}`}]}}return null}}let iW={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function iV(e){return (t={})=>{let r=t.width?String(t.width):e.defaultWidth;return e.formats[r]||e.formats[e.defaultWidth]}}let iY={date:iV({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:iV({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:iV({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},iX={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function iG(e){return(t,r)=>{let n;if("formatting"===(r?.context?String(r.context):"standalone")&&e.formattingValues){let t=e.defaultFormattingWidth||e.defaultWidth,a=r?.width?String(r.width):t;n=e.formattingValues[a]||e.formattingValues[t]}else{let t=e.defaultWidth,a=r?.width?String(r.width):e.defaultWidth;n=e.values[a]||e.values[t]}return n[e.argumentCallback?e.argumentCallback(t):t]}}function iK(e){return(t,r={})=>{let n,a=r.width,s=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],i=t.match(s);if(!i)return null;let o=i[0],l=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(l)?function(e,t){for(let r=0;r<e.length;r++)if(t(e[r]))return r}(l,e=>e.test(o)):function(e,t){for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t(e[r]))return r}(l,e=>e.test(o));return n=e.valueCallback?e.valueCallback(c):c,{value:n=r.valueCallback?r.valueCallback(n):n,rest:t.slice(o.length)}}}let iQ={code:"en-US",formatDistance:(e,t,r)=>{let n,a=iW[e];if(n="string"==typeof a?a:1===t?a.one:a.other.replace("{{count}}",t.toString()),r?.addSuffix)if(r.comparison&&r.comparison>0)return"in "+n;else return n+" ago";return n},formatLong:iY,formatRelative:(e,t,r,n)=>iX[e],localize:{ordinalNumber:(e,t)=>{let r=Number(e),n=r%100;if(n>20||n<10)switch(n%10){case 1:return r+"st";case 2:return r+"nd";case 3:return r+"rd"}return r+"th"},era:iG({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:iG({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:e=>e-1}),month:iG({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:iG({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:iG({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},match:{ordinalNumber:(l={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)},(e,t={})=>{let r=e.match(l.matchPattern);if(!r)return null;let n=r[0],a=e.match(l.parsePattern);if(!a)return null;let s=l.valueCallback?l.valueCallback(a[0]):a[0];return{value:s=t.valueCallback?t.valueCallback(s):s,rest:e.slice(n.length)}}),era:iK({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:iK({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),month:iK({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:iK({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:iK({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}},iJ={};function iZ(e){let t=Object.prototype.toString.call(e);return e instanceof Date||"object"==typeof e&&"[object Date]"===t?new e.constructor(+e):new Date("number"==typeof e||"[object Number]"===t||"string"==typeof e||"[object String]"===t?e:NaN)}function i0(e){let t=iZ(e);return t.setHours(0,0,0,0),t}function i1(e){let t=iZ(e),r=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return r.setUTCFullYear(t.getFullYear()),e-r}function i2(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}function i5(e,t){let r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??iJ.weekStartsOn??iJ.locale?.options?.weekStartsOn??0,n=iZ(e),a=n.getDay();return n.setDate(n.getDate()-(7*(a<r)+a-r)),n.setHours(0,0,0,0),n}function i3(e){return i5(e,{weekStartsOn:1})}function i4(e){let t=iZ(e),r=t.getFullYear(),n=i2(e,0);n.setFullYear(r+1,0,4),n.setHours(0,0,0,0);let a=i3(n),s=i2(e,0);s.setFullYear(r,0,4),s.setHours(0,0,0,0);let i=i3(s);return t.getTime()>=a.getTime()?r+1:t.getTime()>=i.getTime()?r:r-1}function i6(e,t){let r=iZ(e),n=r.getFullYear(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??iJ.firstWeekContainsDate??iJ.locale?.options?.firstWeekContainsDate??1,s=i2(e,0);s.setFullYear(n+1,0,a),s.setHours(0,0,0,0);let i=i5(s,t),o=i2(e,0);o.setFullYear(n,0,a),o.setHours(0,0,0,0);let l=i5(o,t);return r.getTime()>=i.getTime()?n+1:r.getTime()>=l.getTime()?n:n-1}function i9(e,t){let r=Math.abs(e).toString().padStart(t,"0");return(e<0?"-":"")+r}let i7={y(e,t){let r=e.getFullYear(),n=r>0?r:1-r;return i9("yy"===t?n%100:n,t.length)},M(e,t){let r=e.getMonth();return"M"===t?String(r+1):i9(r+1,2)},d:(e,t)=>i9(e.getDate(),t.length),a(e,t){let r=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return r.toUpperCase();case"aaa":return r;case"aaaaa":return r[0];default:return"am"===r?"a.m.":"p.m."}},h:(e,t)=>i9(e.getHours()%12||12,t.length),H:(e,t)=>i9(e.getHours(),t.length),m:(e,t)=>i9(e.getMinutes(),t.length),s:(e,t)=>i9(e.getSeconds(),t.length),S(e,t){let r=t.length;return i9(Math.trunc(e.getMilliseconds()*Math.pow(10,r-3)),t.length)}},i8={G:function(e,t,r){let n=+(e.getFullYear()>0);switch(t){case"G":case"GG":case"GGG":return r.era(n,{width:"abbreviated"});case"GGGGG":return r.era(n,{width:"narrow"});default:return r.era(n,{width:"wide"})}},y:function(e,t,r){if("yo"===t){let t=e.getFullYear();return r.ordinalNumber(t>0?t:1-t,{unit:"year"})}return i7.y(e,t)},Y:function(e,t,r,n){let a=i6(e,n),s=a>0?a:1-a;return"YY"===t?i9(s%100,2):"Yo"===t?r.ordinalNumber(s,{unit:"year"}):i9(s,t.length)},R:function(e,t){return i9(i4(e),t.length)},u:function(e,t){return i9(e.getFullYear(),t.length)},Q:function(e,t,r){let n=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(n);case"QQ":return i9(n,2);case"Qo":return r.ordinalNumber(n,{unit:"quarter"});case"QQQ":return r.quarter(n,{width:"abbreviated",context:"formatting"});case"QQQQQ":return r.quarter(n,{width:"narrow",context:"formatting"});default:return r.quarter(n,{width:"wide",context:"formatting"})}},q:function(e,t,r){let n=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(n);case"qq":return i9(n,2);case"qo":return r.ordinalNumber(n,{unit:"quarter"});case"qqq":return r.quarter(n,{width:"abbreviated",context:"standalone"});case"qqqqq":return r.quarter(n,{width:"narrow",context:"standalone"});default:return r.quarter(n,{width:"wide",context:"standalone"})}},M:function(e,t,r){let n=e.getMonth();switch(t){case"M":case"MM":return i7.M(e,t);case"Mo":return r.ordinalNumber(n+1,{unit:"month"});case"MMM":return r.month(n,{width:"abbreviated",context:"formatting"});case"MMMMM":return r.month(n,{width:"narrow",context:"formatting"});default:return r.month(n,{width:"wide",context:"formatting"})}},L:function(e,t,r){let n=e.getMonth();switch(t){case"L":return String(n+1);case"LL":return i9(n+1,2);case"Lo":return r.ordinalNumber(n+1,{unit:"month"});case"LLL":return r.month(n,{width:"abbreviated",context:"standalone"});case"LLLLL":return r.month(n,{width:"narrow",context:"standalone"});default:return r.month(n,{width:"wide",context:"standalone"})}},w:function(e,t,r,n){let a,s,i,o,l=Math.round((i5(a=iZ(e),n)-(s=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??iJ.firstWeekContainsDate??iJ.locale?.options?.firstWeekContainsDate??1,i=i6(a,n),(o=i2(a,0)).setFullYear(i,0,s),o.setHours(0,0,0,0),i5(o,n)))/6048e5)+1;return"wo"===t?r.ordinalNumber(l,{unit:"week"}):i9(l,t.length)},I:function(e,t,r){let n,a,s,i=Math.round((i3(n=iZ(e))-(a=i4(n),(s=i2(n,0)).setFullYear(a,0,4),s.setHours(0,0,0,0),i3(s)))/6048e5)+1;return"Io"===t?r.ordinalNumber(i,{unit:"week"}):i9(i,t.length)},d:function(e,t,r){return"do"===t?r.ordinalNumber(e.getDate(),{unit:"date"}):i7.d(e,t)},D:function(e,t,r){var n;let a,s,i,o,l,c=(a=iZ(e),s=iZ(a),(i=i2(a,0)).setFullYear(s.getFullYear(),0,1),i.setHours(0,0,0,0),n=i,o=i0(a),l=i0(n),Math.round((o-i1(o)-(l-i1(l)))/864e5)+1);return"Do"===t?r.ordinalNumber(c,{unit:"dayOfYear"}):i9(c,t.length)},E:function(e,t,r){let n=e.getDay();switch(t){case"E":case"EE":case"EEE":return r.day(n,{width:"abbreviated",context:"formatting"});case"EEEEE":return r.day(n,{width:"narrow",context:"formatting"});case"EEEEEE":return r.day(n,{width:"short",context:"formatting"});default:return r.day(n,{width:"wide",context:"formatting"})}},e:function(e,t,r,n){let a=e.getDay(),s=(a-n.weekStartsOn+8)%7||7;switch(t){case"e":return String(s);case"ee":return i9(s,2);case"eo":return r.ordinalNumber(s,{unit:"day"});case"eee":return r.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return r.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return r.day(a,{width:"short",context:"formatting"});default:return r.day(a,{width:"wide",context:"formatting"})}},c:function(e,t,r,n){let a=e.getDay(),s=(a-n.weekStartsOn+8)%7||7;switch(t){case"c":return String(s);case"cc":return i9(s,t.length);case"co":return r.ordinalNumber(s,{unit:"day"});case"ccc":return r.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return r.day(a,{width:"narrow",context:"standalone"});case"cccccc":return r.day(a,{width:"short",context:"standalone"});default:return r.day(a,{width:"wide",context:"standalone"})}},i:function(e,t,r){let n=e.getDay(),a=0===n?7:n;switch(t){case"i":return String(a);case"ii":return i9(a,t.length);case"io":return r.ordinalNumber(a,{unit:"day"});case"iii":return r.day(n,{width:"abbreviated",context:"formatting"});case"iiiii":return r.day(n,{width:"narrow",context:"formatting"});case"iiiiii":return r.day(n,{width:"short",context:"formatting"});default:return r.day(n,{width:"wide",context:"formatting"})}},a:function(e,t,r){let n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"aaa":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return r.dayPeriod(n,{width:"narrow",context:"formatting"});default:return r.dayPeriod(n,{width:"wide",context:"formatting"})}},b:function(e,t,r){let n,a=e.getHours();switch(n=12===a?"noon":0===a?"midnight":a/12>=1?"pm":"am",t){case"b":case"bb":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"bbb":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return r.dayPeriod(n,{width:"narrow",context:"formatting"});default:return r.dayPeriod(n,{width:"wide",context:"formatting"})}},B:function(e,t,r){let n,a=e.getHours();switch(n=a>=17?"evening":a>=12?"afternoon":a>=4?"morning":"night",t){case"B":case"BB":case"BBB":return r.dayPeriod(n,{width:"abbreviated",context:"formatting"});case"BBBBB":return r.dayPeriod(n,{width:"narrow",context:"formatting"});default:return r.dayPeriod(n,{width:"wide",context:"formatting"})}},h:function(e,t,r){if("ho"===t){let t=e.getHours()%12;return 0===t&&(t=12),r.ordinalNumber(t,{unit:"hour"})}return i7.h(e,t)},H:function(e,t,r){return"Ho"===t?r.ordinalNumber(e.getHours(),{unit:"hour"}):i7.H(e,t)},K:function(e,t,r){let n=e.getHours()%12;return"Ko"===t?r.ordinalNumber(n,{unit:"hour"}):i9(n,t.length)},k:function(e,t,r){let n=e.getHours();return(0===n&&(n=24),"ko"===t)?r.ordinalNumber(n,{unit:"hour"}):i9(n,t.length)},m:function(e,t,r){return"mo"===t?r.ordinalNumber(e.getMinutes(),{unit:"minute"}):i7.m(e,t)},s:function(e,t,r){return"so"===t?r.ordinalNumber(e.getSeconds(),{unit:"second"}):i7.s(e,t)},S:function(e,t){return i7.S(e,t)},X:function(e,t,r){let n=e.getTimezoneOffset();if(0===n)return"Z";switch(t){case"X":return ot(n);case"XXXX":case"XX":return or(n);default:return or(n,":")}},x:function(e,t,r){let n=e.getTimezoneOffset();switch(t){case"x":return ot(n);case"xxxx":case"xx":return or(n);default:return or(n,":")}},O:function(e,t,r){let n=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+oe(n,":");default:return"GMT"+or(n,":")}},z:function(e,t,r){let n=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+oe(n,":");default:return"GMT"+or(n,":")}},t:function(e,t,r){return i9(Math.trunc(e.getTime()/1e3),t.length)},T:function(e,t,r){return i9(e.getTime(),t.length)}};function oe(e,t=""){let r=e>0?"-":"+",n=Math.abs(e),a=Math.trunc(n/60),s=n%60;return 0===s?r+String(a):r+String(a)+t+i9(s,2)}function ot(e,t){return e%60==0?(e>0?"-":"+")+i9(Math.abs(e)/60,2):or(e,t)}function or(e,t=""){let r=Math.abs(e);return(e>0?"-":"+")+i9(Math.trunc(r/60),2)+t+i9(r%60,2)}let on=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},oa=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},os={p:oa,P:(e,t)=>{let r,n=e.match(/(P+)(p+)?/)||[],a=n[1],s=n[2];if(!s)return on(e,t);switch(a){case"P":r=t.dateTime({width:"short"});break;case"PP":r=t.dateTime({width:"medium"});break;case"PPP":r=t.dateTime({width:"long"});break;default:r=t.dateTime({width:"full"})}return r.replace("{{date}}",on(a,t)).replace("{{time}}",oa(s,t))}},oi=/^D+$/,oo=/^Y+$/,ol=["D","DD","YY","YYYY"],oc=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,od=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,ou=/^'([^]*?)'?$/,op=/''/g,oh=/[a-zA-Z]/;function om(e,t,r){let n=r?.locale??iJ.locale??iQ,a=r?.firstWeekContainsDate??r?.locale?.options?.firstWeekContainsDate??iJ.firstWeekContainsDate??iJ.locale?.options?.firstWeekContainsDate??1,s=r?.weekStartsOn??r?.locale?.options?.weekStartsOn??iJ.weekStartsOn??iJ.locale?.options?.weekStartsOn??0,i=iZ(e);if(!((i instanceof Date||"object"==typeof i&&"[object Date]"===Object.prototype.toString.call(i)||"number"==typeof i)&&!isNaN(Number(iZ(i)))))throw RangeError("Invalid time value");let o=t.match(od).map(e=>{let t=e[0];return"p"===t||"P"===t?(0,os[t])(e,n.formatLong):e}).join("").match(oc).map(e=>{if("''"===e)return{isToken:!1,value:"'"};let t=e[0];if("'"===t){var r;let t;return{isToken:!1,value:(t=(r=e).match(ou))?t[1].replace(op,"'"):r}}if(i8[t])return{isToken:!0,value:e};if(t.match(oh))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});n.localize.preprocessor&&(o=n.localize.preprocessor(i,o));let l={firstWeekContainsDate:a,weekStartsOn:s,locale:n};return o.map(a=>{if(!a.isToken)return a.value;let s=a.value;return(!r?.useAdditionalWeekYearTokens&&oo.test(s)||!r?.useAdditionalDayOfYearTokens&&oi.test(s))&&function(e,t,r){var n,a,s;let i,o=(n=e,a=t,s=r,i="Y"===n[0]?"years":"days of the month",`Use \`${n.toLowerCase()}\` instead of \`${n}\` (in \`${a}\`) for formatting ${i} to the input \`${s}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`);if(console.warn(o),ol.includes(e))throw RangeError(o)}(s,t,String(e)),(0,i8[s[0]])(i,s,n.localize,l)}).join("")}function of({isOpen:e,onClose:t,onSuccess:r,defaultType:n="manual",defaultLabel:a="",defaultDescription:s=""}){let[i,o]=(0,g.useState)(a),[l,c]=(0,g.useState)(s),[d,u]=(0,g.useState)(n),[p,h]=(0,g.useState)(!1),[m,f]=(0,g.useState)(null);if(!e)return null;let x=()=>{let e=new Date;return`Manual Snapshot – ${om(e,"MMM d, HH:mm")}`};async function v(){let e=i.trim()||x();h(!0),f(null);try{await Y({name:e,description:l.trim()||void 0,type:d}),o(""),c(""),u("manual"),r?.(),t()}catch(e){f(e.message||"Failed to create snapshot")}finally{h(!1)}}function y(){p||(o(""),c(""),u("manual"),f(null),t())}return(0,b.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[(0,b.jsx)("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm",onClick:y}),(0,b.jsxs)("div",{className:"relative bg-app-bg border border-app-border rounded-lg shadow-2xl w-full max-w-md mx-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-6 py-4 border-b border-app-border",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:"p-2 bg-blue-500/10 rounded-lg",children:(0,b.jsx)(E,{className:"w-5 h-5 text-blue-400"})}),(0,b.jsx)("h2",{className:"text-lg font-semibold",children:"Create Snapshot"})]}),(0,b.jsx)("button",{onClick:y,disabled:p,className:"p-2 hover:bg-app-sidebar-hover rounded-lg transition-colors",children:(0,b.jsx)(ef,{className:"w-4 h-4"})})]}),(0,b.jsxs)("div",{className:"p-6 space-y-5",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"block text-sm font-medium mb-2",children:"Label"}),(0,b.jsx)("input",{type:"text",value:i,onChange:e=>o(e.target.value),placeholder:x(),className:"w-full px-3 py-2.5 bg-app-sidebar border border-app-border rounded-lg focus:outline-none focus:ring-2 focus:ring-app-accent/50 text-sm",autoFocus:!0,disabled:p}),(0,b.jsx)("p",{className:"text-xs text-app-text-dim mt-1.5",children:"Give this moment a meaningful name"})]}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("label",{className:"block text-sm font-medium mb-2",children:["Description ",(0,b.jsx)("span",{className:"text-app-text-dim font-normal",children:"(optional)"})]}),(0,b.jsx)("textarea",{value:l,onChange:e=>c(e.target.value),placeholder:"e.g., Safety checkpoint before major schema change",rows:2,className:"w-full px-3 py-2.5 bg-app-sidebar border border-app-border rounded-lg focus:outline-none focus:ring-2 focus:ring-app-accent/50 text-sm resize-none",disabled:p})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"block text-sm font-medium mb-2",children:"Type"}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("label",{className:"flex items-center gap-3 p-3 bg-app-sidebar border border-app-border rounded-lg cursor-pointer hover:border-app-accent/50 transition-colors",children:[(0,b.jsx)("input",{type:"radio",name:"snapshotType",value:"manual",checked:"manual"===d,onChange:()=>u("manual"),className:"w-4 h-4 accent-app-accent",disabled:p}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:"Manual"}),(0,b.jsx)("div",{className:"text-xs text-app-text-dim",children:"User created snapshot"})]})]}),(0,b.jsxs)("label",{className:"flex items-center gap-3 p-3 bg-app-sidebar border border-app-border rounded-lg cursor-pointer hover:border-app-accent/50 transition-colors",children:[(0,b.jsx)("input",{type:"radio",name:"snapshotType",value:"auto-before-migration",checked:"auto-before-migration"===d,onChange:()=>u("auto-before-migration"),className:"w-4 h-4 accent-app-accent",disabled:p}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:"Before Migration"}),(0,b.jsx)("div",{className:"text-xs text-app-text-dim",children:"Checkpoint before applying migrations"})]})]})]})]}),m&&(0,b.jsx)("div",{className:"p-3 bg-red-500/10 border border-red-500/30 rounded-lg text-red-400 text-sm",children:m})]}),(0,b.jsxs)("div",{className:"flex items-center justify-end gap-3 px-6 py-4 border-t border-app-border bg-app-sidebar/30",children:[(0,b.jsx)("button",{onClick:y,disabled:p,className:"px-4 py-2 text-sm text-app-text-dim hover:text-app-text transition-colors",children:"Cancel"}),(0,b.jsx)("button",{onClick:v,disabled:p,className:"flex items-center gap-2 px-4 py-2 bg-app-accent hover:bg-app-accent-hover disabled:opacity-50 text-white rounded-lg font-medium text-sm transition-colors",children:p?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)($,{className:"w-4 h-4 animate-spin"}),"Creating..."]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(E,{className:"w-4 h-4"}),"Create Snapshot"]})})]})]})]})}let ox=y("Play",[["polygon",{points:"5 3 19 12 5 21 5 3",key:"191637"}]]);function ob({isOpen:e,onClose:t,sql:r,riskLevel:n,riskReason:a,onProceed:s}){let[i,o]=(0,g.useState)(!1),[l,c]=(0,g.useState)(null);if(!e)return null;async function d(){o(!0),c(null);try{let e=`Before risky query – ${om(new Date,"MMM d, HH:mm")}`;await Y({name:e,description:`Safety snapshot before executing: ${r.substring(0,100)}${r.length>100?"...":""}`,type:"auto-risky-query"}),s(),t()}catch(e){c(e.message||"Failed to create snapshot"),o(!1)}}return(0,b.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[(0,b.jsx)("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm",onClick:t}),(0,b.jsxs)("div",{className:"relative bg-app-bg border border-app-border rounded-lg shadow-2xl w-full max-w-lg mx-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-6 py-4 border-b border-app-border",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:`p-2 rounded-lg ${"high"===n?"bg-red-500/10":"bg-amber-500/10"}`,children:(0,b.jsx)(eh,{className:`w-5 h-5 ${"high"===n?"text-red-400":"text-amber-400"}`})}),(0,b.jsx)("h2",{className:"text-lg font-semibold",children:"high"===n?"High Risk Query Detected":"Potentially Risky Query"})]}),(0,b.jsx)("button",{onClick:t,disabled:i,className:"p-2 hover:bg-app-sidebar-hover rounded-lg transition-colors",children:(0,b.jsx)(ef,{className:"w-4 h-4"})})]}),(0,b.jsxs)("div",{className:"p-6 space-y-4",children:[(0,b.jsx)("div",{className:`p-4 rounded-lg border ${"high"===n?"bg-red-500/5 border-red-500/20":"bg-amber-500/5 border-amber-500/20"}`,children:(0,b.jsx)("p",{className:`text-sm ${"high"===n?"text-red-300":"text-amber-300"}`,children:a})}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-xs font-medium text-app-text-dim uppercase tracking-wider mb-2",children:"Query"}),(0,b.jsx)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-3 font-mono text-sm text-app-text-dim max-h-24 overflow-auto",children:r.length>200?r.substring(0,200)+"...":r})]}),(0,b.jsxs)("div",{className:"flex items-start gap-3 p-3 bg-blue-500/5 border border-blue-500/20 rounded-lg",children:[(0,b.jsx)(E,{className:"w-4 h-4 text-blue-400 flex-shrink-0 mt-0.5"}),(0,b.jsxs)("div",{className:"text-sm",children:[(0,b.jsx)("p",{className:"text-blue-300 font-medium",children:"Recommended: Create a snapshot first"}),(0,b.jsx)("p",{className:"text-blue-400/70 mt-0.5",children:"This allows you to restore your database if something goes wrong."})]})]}),l&&(0,b.jsx)("div",{className:"p-3 bg-red-500/10 border border-red-500/30 rounded-lg text-red-400 text-sm",children:l})]}),(0,b.jsxs)("div",{className:"flex items-center justify-end gap-3 px-6 py-4 border-t border-app-border bg-app-sidebar/30",children:[(0,b.jsx)("button",{onClick:t,disabled:i,className:"px-4 py-2 text-sm text-app-text-dim hover:text-app-text transition-colors",children:"Cancel"}),(0,b.jsxs)("button",{onClick:function(){s(),t()},disabled:i,className:"flex items-center gap-2 px-4 py-2 bg-app-sidebar-active hover:bg-app-sidebar-hover text-app-text rounded-lg font-medium text-sm transition-colors disabled:opacity-50",children:[(0,b.jsx)(ox,{className:"w-4 h-4"}),"Run Without Snapshot"]}),(0,b.jsx)("button",{onClick:d,disabled:i,className:"flex items-center gap-2 px-4 py-2 bg-app-accent hover:bg-app-accent-hover disabled:opacity-50 text-white rounded-lg font-medium text-sm transition-colors",children:i?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)($,{className:"w-4 h-4 animate-spin"}),"Creating..."]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(E,{className:"w-4 h-4"}),"Snapshot & Run"]})})]})]})]})}let og=(0,iM.default)(()=>e.A(53096),{loadableGenerated:{modules:[67211]},ssr:!1});function ov({compareMode:e=!1,onCompareModeChange:t}){let{editorState:r,updateSQL:n,updateActiveTab:a,addFavorite:s,projectInfo:i,branchVersion:o}=ev(),[l,c]=(0,g.useState)(null),[d,u]=(0,g.useState)(null),[p,h]=(0,g.useState)([]),[m,f]=(0,g.useState)(!1),[x,v]=(0,g.useState)(!1),[y,w]=(0,g.useState)(""),[j,S]=(0,g.useState)(!1),[k,_]=(0,g.useState)(!1),[M,T]=(0,g.useState)(""),[A,R]=(0,g.useState)(""),[$,P]=(0,g.useState)(!1),[I,W]=(0,g.useState)(""),[V,Y]=(0,g.useState)(""),[X,G]=(0,g.useState)(!1),[K,Q]=(0,g.useState)(null),[J,Z]=(0,g.useState)(!1),[ee,et]=(0,g.useState)("unknown"),[er,ea]=(0,g.useState)(""),[es,ei]=(0,g.useState)(e),[eo,ec]=(0,g.useState)("change"),[ed,eu]=(0,g.useState)({a:"",b:""}),[ep,eh]=(0,g.useState)([]),[ex,eb]=(0,g.useState)(null),[eg,ey]=(0,g.useState)(!1),[ew,eE]=(0,g.useState)(null),[ek,e_]=(0,g.useState)(""),[eC,eM]=(0,g.useState)(""),[eT,eA]=(0,g.useState)("SELECT * FROM sqlite_master;"),[eO,eR]=(0,g.useState)("SELECT * FROM sqlite_master;"),[eD,e$]=(0,g.useState)("a"),[eL,eP]=(0,g.useState)({a:null,b:null}),[eI,eB]=(0,g.useState)({a:null,b:null}),[eF,ez]=(0,g.useState)({a:"SELECT",b:"SELECT"}),eq=(0,g.useRef)(null),eH=(0,g.useRef)(null),eU=(0,g.useRef)(!1),[eW,eV]=(0,g.useState)(320),eY=(0,g.useRef)(null),eX=(0,g.useRef)(null),eG=(0,g.useRef)(null),eK=(0,g.useRef)(null),[eQ,eJ]=(0,g.useState)(()=>{let e=localStorage.getItem("sql-kite-query-tabs");if(e)try{let t=JSON.parse(e);if(Array.isArray(t)&&t.length>0)return t}catch(e){}return[{id:"tab-1",name:"Untitled query",sql:"-- Write your SQL query here\n"}]}),[eZ,e0]=(0,g.useState)(()=>localStorage.getItem("sql-kite-active-query-tab")||"tab-1"),[e1,e2]=(0,g.useState)(null),[e5,e3]=(0,g.useState)(""),e4=(0,g.useRef)(null),[e6,e9]=(0,g.useState)(null),[e7,e8]=(0,g.useState)(()=>{let e=localStorage.getItem("sql-kite-private");if(e)try{return JSON.parse(e)}catch(e){}return[]});(0,g.useEffect)(()=>{localStorage.setItem("sql-kite-private",JSON.stringify(e7))},[e7]);let[te,tt]=(0,g.useState)(null),[tr,tn]=(0,g.useState)(""),[ta,ts]=(0,g.useState)([]),[ti,to]=(0,g.useState)(null);(0,g.useEffect)(()=>{localStorage.setItem("sql-kite-query-tabs",JSON.stringify(eQ))},[eQ]),(0,g.useEffect)(()=>{localStorage.setItem("sql-kite-active-query-tab",eZ)},[eZ]),(0,g.useEffect)(()=>{let e=e=>{if((e.ctrlKey||e.metaKey)&&"s"===e.key){if(e.preventDefault(),es)return void iT.toast.warning("Save is disabled in Compare Mode");let t=eQ.find(e=>e.id===eZ);if(!t?.sql?.trim())return void iT.toast.error("Cannot save empty query");tt({type:"private",sql:t.sql}),tn("Untitled query"!==t.name?t.name:""),ts([])}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[eQ,eZ,es]),(0,g.useEffect)(()=>{if(!ti)return;let e=()=>to(null);return window.addEventListener("click",e),()=>window.removeEventListener("click",e)},[ti]),(0,g.useCallback)((e,t)=>{if(0===t)return e.filter(e=>"folder"===e.type);let r=e;for(let e=0;e<t;e++){let t=ta[e],n=r.find(e=>e.id===t&&"folder"===e.type);if(!n||!n.children)return[];r=n.children}return r.filter(e=>"folder"===e.type)},[ta]);let tl=(0,g.useCallback)(e=>{if("private"===e)return e7;if("favorite"===e){let e=localStorage.getItem("sql-kite-favorites");return e?JSON.parse(e):[]}if("template"===e){let e=localStorage.getItem("sql-kite-templates");return e?JSON.parse(e):[]}return[]},[e7]),tc=(0,g.useCallback)((e,t,r)=>0===r.length?[...e,t]:e.map(e=>{if(e.id===r[0]&&"folder"===e.type){let n=r.slice(1);return{...e,children:tc(e.children||[],t,n)}}return e}),[]),td=(0,g.useCallback)(e=>{if(!te)return;let t=tr.trim();if(!t)return void iT.toast.error("Please enter a name");let r={id:`${e.slice(0,4)}-${Date.now()}`,label:t,sql:te.sql,type:"file"};if("favorite"===e){let e=localStorage.getItem("sql-kite-favorites"),t=tc(e?JSON.parse(e):[],r,ta);localStorage.setItem("sql-kite-favorites",JSON.stringify(t)),window.dispatchEvent(new Event("storage"))}else if("template"===e){let e=localStorage.getItem("sql-kite-templates"),t=tc(e?JSON.parse(e):[],r,ta);localStorage.setItem("sql-kite-templates",JSON.stringify(t)),window.dispatchEvent(new Event("storage"))}else"private"===e&&e8(e=>tc(e,r,ta));let n=eQ.find(e=>e.id===eZ);n&&"Untitled query"===n.name&&eJ(e=>e.map(e=>e.id===eZ?{...e,name:t}:e)),iT.toast.success(`Saved to ${e}`),tt(null),tn(""),ts([])},[te,tr,ta,tc,eQ,eZ]),tu=eQ.find(e=>e.id===eZ)||eQ[0],tp=(0,g.useCallback)(e=>{eJ(t=>t.map(t=>t.id===eZ?{...t,sql:e}:t)),n(e)},[eZ,n]);(0,g.useEffect)(()=>{tu&&n(tu.sql)},[eZ]);let th=(0,g.useCallback)(()=>{let e=`tab-${Date.now()}`,t={id:e,name:"Untitled query",sql:""};eJ(e=>[...e,t]),e0(e)},[]),tm=(0,g.useCallback)((e,t)=>{t?.stopPropagation(),eJ(t=>{if(1===t.length)return t;let r=t.filter(t=>t.id!==e);if(eZ===e){let n=Math.min(t.findIndex(t=>t.id===e),r.length-1);e0(r[n].id)}return r})},[eZ]),tf=(0,g.useCallback)((e,t)=>{e2(e),e3(t),setTimeout(()=>e4.current?.select(),0)},[]),tx=(0,g.useCallback)(()=>{e1&&e5.trim()&&eJ(e=>e.map(e=>e.id===e1?{...e,name:e5.trim()}:e)),e2(null),e3("")},[e1,e5]),tb=(0,g.useCallback)((e,t)=>{("Delete"===e.key||"Backspace"===e.key)&&(e.preventDefault(),tm(t))},[tm]),tg=(0,g.useCallback)((e,t)=>{e9(t),e.dataTransfer.effectAllowed="move"},[]),tv=(0,g.useCallback)(e=>{e.preventDefault(),e.dataTransfer.dropEffect="move"},[]),ty=(0,g.useCallback)((e,t)=>{e.preventDefault(),e6&&e6!==t&&(eJ(e=>{let r=e.findIndex(e=>e.id===e6),n=e.findIndex(e=>e.id===t);if(-1===r||-1===n)return e;let a=[...e],[s]=a.splice(r,1);return a.splice(n,0,s),a}),e9(null))},[e6]);async function tw(){try{let e=await B(),t=await Promise.all(e.map(async e=>{let t=await F(e.name);return{name:e.name,columns:t.columns.map(e=>({name:e.name,type:e.type}))}}));eY.current&&eY.current.updateTables(t),eX.current&&eX.current.updateTables(t)}catch(e){console.error("Failed to load schema for autocomplete:",e)}}async function tj(){try{let e=await en(),t=(e.branches||[]).map(e=>e.name);eh(t);let r=i?.currentBranch||e.current||t[0]||"",n=t.find(e=>e!==r)||"";eu({a:r,b:n}),r&&n&&r!==n?eb(null):eb("Select two different branches to compare")}catch(e){console.error("Failed to load branches for compare mode:",e),eb("Failed to load branches for compare")}}function tN(e){return(e||"").trim().toUpperCase()}async function tE(){if(ed.a===ed.b)return void eb("Select two different branches to compare");ey(!0),eb(null);try{let e=`
61
61
  SELECT type, name, sql
62
62
  FROM sqlite_master
63
63
  WHERE sql NOT NULL
64
64
  AND name NOT LIKE 'sqlite_%'
65
65
  AND name NOT LIKE '_studio_%'
66
66
  ORDER BY type, name
67
- `,[t,r]=await Promise.all([F(ed.a,e),F(ed.b,e)]),n=t.rows||[],a=r.rows||[],s=(e,t)=>e.filter(e=>e.type===t),i=s(n,"table"),o=s(a,"table"),l=s(n,"index"),c=s(a,"index"),d=s(n,"trigger"),u=s(a,"trigger"),p=new Set(i.map(e=>e.name)),h=new Set(o.map(e=>e.name)),m=i.map(e=>e.name).filter(e=>h.has(e)),f=async(e,t)=>{let r=await Promise.all(t.map(async t=>{let r=await F(e,`PRAGMA table_info("${t}")`);return[t,r.rows]}));return new Map(r)},x=async(e,t)=>{let r=await Promise.all(t.map(async t=>{let r=await F(e,`SELECT COUNT(*) as count FROM "${t}"`),n=r.rows?.[0]?.count??0;return[t,Number(n)]}));return new Map(r)},[b,g,v,y]=await Promise.all([f(ed.a,m),f(ed.b,m),x(ed.a,m),x(ed.b,m)]),w=[];m.forEach(e=>{let t=b.get(e)||[],r=g.get(e)||[],n=new Map(t.map(e=>[e.name,e])),a=new Map(r.map(e=>[e.name,e])),s=r.filter(e=>!n.has(e.name)),i=t.filter(e=>!a.has(e.name)),o=[];t.forEach(e=>{let t=a.get(e.name);if(!t)return;let r=tN(e.type),n=tN(t.type);r!==n&&o.push({name:e.name,fromType:r,toType:n})});let l=v.get(e)??0,c=y.get(e)??0,d=l!==c;(s.length||i.length||o.length||d)&&w.push({table:e,addedColumns:s,removedColumns:i,modifiedColumns:o,rowCounts:{a:l,b:c}})});let j=(e,t)=>e.filter(e=>!t.has(e.name)),N=(e,t)=>e.filter(e=>!t.has(e.name)),E=new Set(l.map(e=>e.name)),S=new Set(c.map(e=>e.name)),k=new Set(d.map(e=>e.name)),_=new Set(u.map(e=>e.name)),C={addedTables:N(o,p),removedTables:j(i,h),addedIndexes:N(c,E),removedIndexes:j(l,S),addedTriggers:N(u,k),removedTriggers:j(d,_),tableChanges:w};eE(C)}catch(e){console.error("Failed to load compare changes:",e),eb(e.message||"Failed to load compare changes"),eE(null)}finally{ey(!1)}}function tS(e,t){"a"===e?eA(t):eR(t)}function tk(e,t){eu(r=>{let n={...r,[e]:t};return n.a&&n.b&&n.a!==n.b?eb(null):eb("Select two different branches to compare"),eE(null),eP({a:null,b:null}),eB({a:null,b:null}),n})}async function t_(e){let t="a"===e?eT:eO,r="a"===e?ed.a:ed.b;if(!t.trim()||!r)return{skipped:!0};if(/\b(INSERT|UPDATE|DELETE|ALTER|DROP|CREATE|TRUNCATE|ATTACH|DETACH|VACUUM|BEGIN|COMMIT|ROLLBACK|SAVEPOINT|RELEASE|REINDEX)\b/i.test(t))return{error:{message:"Compare Mode is read-only. Switch off Compare to modify data."},target:e};let n=performance.now();try{let a=await F(r,t),s=Math.round(performance.now()-n),i=tA(t);return{success:!0,target:e,data:a,executionTime:s,queryType:i}}catch(t){return{error:{message:t.message},target:e}}}async function tC(){if(!tI)return;f(!0),eB({a:null,b:null}),eP({a:null,b:null}),a("result");let[e,t]=await Promise.all([t_("a"),t_("b")]),r=!1;e&&!("skipped"in e)&&("error"in e&&e.error?(eB(t=>({...t,a:e.error})),r=!0):"success"in e&&e.success&&(eq(t=>({...t,a:e.queryType||"SELECT"})),eP(t=>({...t,a:{...e.data,executionTime:e.executionTime}})))),t&&!("skipped"in t)&&("error"in t&&t.error?(eB(e=>({...e,b:t.error})),r=!0):"success"in t&&t.success&&(eq(e=>({...e,b:t.queryType||"SELECT"})),eP(e=>({...e,b:{...t.data,executionTime:t.executionTime}})))),r&&a("errors"),f(!1)}function tM(e){let t,n=e||r.sql;if(!n.trim())return;let a=(t=n.toUpperCase().trim()).includes("DROP TABLE")||t.includes("DROP DATABASE")?{isRisky:!0,level:"high",reason:"This query will permanently delete a table or database. All data will be lost and cannot be recovered without a backup."}:t.includes("TRUNCATE")?{isRisky:!0,level:"high",reason:"TRUNCATE will remove all rows from the table. This action cannot be undone."}:t.includes("DELETE")&&!t.includes("WHERE")?{isRisky:!0,level:"high",reason:"DELETE without a WHERE clause will remove ALL rows from the table."}:t.includes("ALTER TABLE")&&(t.includes("DROP COLUMN")||t.includes("DROP CONSTRAINT"))?{isRisky:!0,level:"medium",reason:"This ALTER TABLE statement will remove a column or constraint. Data in the column will be lost."}:t.includes("UPDATE")&&!t.includes("WHERE")?{isRisky:!0,level:"medium",reason:"UPDATE without a WHERE clause will modify ALL rows in the table."}:t.includes("DROP INDEX")||t.includes("DROP TRIGGER")||t.includes("DROP VIEW")?{isRisky:!0,level:"medium",reason:"This query will permanently remove a database object."}:null;a&&a.isRisky?Q({isOpen:!0,sql:n,level:a.level,reason:a.reason}):tT(n)}async function tT(e){let t=e||r.sql;if(!t.trim())return;Q(null),f(!0),u(null),c(null),a("result");let n=performance.now();try{let e=await q(t),r=Math.round(performance.now()-n),a=tA(t);et(a),ea(t),c({...e,executionTime:r}),/CREATE|ALTER|DROP/i.test(t)&&tw()}catch(r){let e={message:r.message,code:r.code,errno:r.errno};u(e),h(r=>[{sql:t,error:e,timestamp:Date.now()},...r.slice(0,4)]),a("errors")}finally{f(!1)}}function tA(e){let t=e.trim().toUpperCase();return t.startsWith("SELECT")?"SELECT":t.startsWith("INSERT")?"INSERT":t.startsWith("UPDATE")?"UPDATE":t.startsWith("DELETE")?"DELETE":t.startsWith("CREATE")?"CREATE":t.startsWith("ALTER")?"ALTER":t.startsWith("DROP")?"DROP":"UNKNOWN"}function tO(e){return e.includes("no such table")?"Run PRAGMA table_list; to see available tables.":e.includes("no such column")?"Check your column names. Use PRAGMA table_info(table_name); to see columns.":null}async function tR(){r.sql.trim()?v(!0):alert("No SQL to save as migration")}async function tD(){if(!y.trim())return void alert("Please enter a migration name");S(!0);try{await el(y.trim(),r.sql),v(!1),w(""),alert("Migration created successfully!")}catch(e){alert(`Failed to create migration: ${e.message}`)}finally{S(!1)}}function tL(){M.trim()?(s(M.trim(),A),_(!1),T(""),R("")):alert("Please enter a name for the favorite")}function t$(e){var t,r;let n,a,s,i;if(!l?.rows||0===l.rows.length)return void alert("No data to export");let o="",c="",d="";switch(e){case"csv":o=function(e){if(0===e.length)return"";let t=Object.keys(e[0]),r=t.join(","),n=e.map(e=>t.map(t=>{let r=e[t];return null===r?"NULL":"string"==typeof r&&(r.includes(",")||r.includes('"'))?`"${r.replace(/"/g,'""')}"`:r}).join(",")).join("\n");return`${r}
67
+ `,[t,r]=await Promise.all([q(ed.a,e),q(ed.b,e)]),n=t.rows||[],a=r.rows||[],s=(e,t)=>e.filter(e=>e.type===t),i=s(n,"table"),o=s(a,"table"),l=s(n,"index"),c=s(a,"index"),d=s(n,"trigger"),u=s(a,"trigger"),p=new Set(i.map(e=>e.name)),h=new Set(o.map(e=>e.name)),m=i.map(e=>e.name).filter(e=>h.has(e)),f=async(e,t)=>{let r=await Promise.all(t.map(async t=>{let r=await q(e,`PRAGMA table_info("${t}")`);return[t,r.rows]}));return new Map(r)},x=async(e,t)=>{let r=await Promise.all(t.map(async t=>{let r=await q(e,`SELECT COUNT(*) as count FROM "${t}"`),n=r.rows?.[0]?.count??0;return[t,Number(n)]}));return new Map(r)},[b,g,v,y]=await Promise.all([f(ed.a,m),f(ed.b,m),x(ed.a,m),x(ed.b,m)]),w=[];m.forEach(e=>{let t=b.get(e)||[],r=g.get(e)||[],n=new Map(t.map(e=>[e.name,e])),a=new Map(r.map(e=>[e.name,e])),s=r.filter(e=>!n.has(e.name)),i=t.filter(e=>!a.has(e.name)),o=[];t.forEach(e=>{let t=a.get(e.name);if(!t)return;let r=tN(e.type),n=tN(t.type);r!==n&&o.push({name:e.name,fromType:r,toType:n})});let l=v.get(e)??0,c=y.get(e)??0,d=l!==c;(s.length||i.length||o.length||d)&&w.push({table:e,addedColumns:s,removedColumns:i,modifiedColumns:o,rowCounts:{a:l,b:c}})});let j=(e,t)=>e.filter(e=>!t.has(e.name)),N=(e,t)=>e.filter(e=>!t.has(e.name)),E=new Set(l.map(e=>e.name)),S=new Set(c.map(e=>e.name)),k=new Set(d.map(e=>e.name)),_=new Set(u.map(e=>e.name)),C={addedTables:N(o,p),removedTables:j(i,h),addedIndexes:N(c,E),removedIndexes:j(l,S),addedTriggers:N(u,k),removedTriggers:j(d,_),tableChanges:w};eE(C)}catch(e){console.error("Failed to load compare changes:",e),eb(e.message||"Failed to load compare changes"),eE(null)}finally{ey(!1)}}function tS(e,t){"a"===e?eA(t):eR(t)}function tk(e,t){eu(r=>{let n={...r,[e]:t};return n.a&&n.b&&n.a!==n.b?eb(null):eb("Select two different branches to compare"),eE(null),eP({a:null,b:null}),eB({a:null,b:null}),n})}async function t_(e){let t="a"===e?eT:eO,r="a"===e?ed.a:ed.b;if(!t.trim()||!r)return{skipped:!0};if(/\b(INSERT|UPDATE|DELETE|ALTER|DROP|CREATE|TRUNCATE|ATTACH|DETACH|VACUUM|BEGIN|COMMIT|ROLLBACK|SAVEPOINT|RELEASE|REINDEX)\b/i.test(t))return{error:{message:"Compare Mode is read-only. Switch off Compare to modify data."},target:e};let n=performance.now();try{let a=await q(r,t),s=Math.round(performance.now()-n),i=tA(t);return{success:!0,target:e,data:a,executionTime:s,queryType:i}}catch(t){return{error:{message:t.message},target:e}}}async function tC(){if(!tI)return;f(!0),eB({a:null,b:null}),eP({a:null,b:null}),a("result");let[e,t]=await Promise.all([t_("a"),t_("b")]),r=!1;e&&!("skipped"in e)&&("error"in e&&e.error?(eB(t=>({...t,a:e.error})),r=!0):"success"in e&&e.success&&(ez(t=>({...t,a:e.queryType||"SELECT"})),eP(t=>({...t,a:{...e.data,executionTime:e.executionTime}})))),t&&!("skipped"in t)&&("error"in t&&t.error?(eB(e=>({...e,b:t.error})),r=!0):"success"in t&&t.success&&(ez(e=>({...e,b:t.queryType||"SELECT"})),eP(e=>({...e,b:{...t.data,executionTime:t.executionTime}})))),r&&a("errors"),f(!1)}function tM(e){let t,n=e||r.sql;if(!n.trim())return;let a=(t=n.toUpperCase().trim()).includes("DROP TABLE")||t.includes("DROP DATABASE")?{isRisky:!0,level:"high",reason:"This query will permanently delete a table or database. All data will be lost and cannot be recovered without a backup."}:t.includes("TRUNCATE")?{isRisky:!0,level:"high",reason:"TRUNCATE will remove all rows from the table. This action cannot be undone."}:t.includes("DELETE")&&!t.includes("WHERE")?{isRisky:!0,level:"high",reason:"DELETE without a WHERE clause will remove ALL rows from the table."}:t.includes("ALTER TABLE")&&(t.includes("DROP COLUMN")||t.includes("DROP CONSTRAINT"))?{isRisky:!0,level:"medium",reason:"This ALTER TABLE statement will remove a column or constraint. Data in the column will be lost."}:t.includes("UPDATE")&&!t.includes("WHERE")?{isRisky:!0,level:"medium",reason:"UPDATE without a WHERE clause will modify ALL rows in the table."}:t.includes("DROP INDEX")||t.includes("DROP TRIGGER")||t.includes("DROP VIEW")?{isRisky:!0,level:"medium",reason:"This query will permanently remove a database object."}:null;a&&a.isRisky?Q({isOpen:!0,sql:n,level:a.level,reason:a.reason}):tT(n)}async function tT(e){let t=e||r.sql;if(!t.trim())return;Q(null),f(!0),u(null),c(null),a("result");let n=performance.now();try{let e=await z(t),r=Math.round(performance.now()-n),a=tA(t);et(a),ea(t),c({...e,executionTime:r}),/CREATE|ALTER|DROP/i.test(t)&&tw()}catch(r){let e={message:r.message,code:r.code,errno:r.errno};u(e),h(r=>[{sql:t,error:e,timestamp:Date.now()},...r.slice(0,4)]),a("errors")}finally{f(!1)}}function tA(e){let t=e.trim().toUpperCase();return t.startsWith("SELECT")?"SELECT":t.startsWith("INSERT")?"INSERT":t.startsWith("UPDATE")?"UPDATE":t.startsWith("DELETE")?"DELETE":t.startsWith("CREATE")?"CREATE":t.startsWith("ALTER")?"ALTER":t.startsWith("DROP")?"DROP":"UNKNOWN"}function tO(e){return e.includes("no such table")?"Run PRAGMA table_list; to see available tables.":e.includes("no such column")?"Check your column names. Use PRAGMA table_info(table_name); to see columns.":null}async function tR(){r.sql.trim()?v(!0):alert("No SQL to save as migration")}async function tD(){if(!y.trim())return void alert("Please enter a migration name");S(!0);try{await el(y.trim(),r.sql),v(!1),w(""),alert("Migration created successfully!")}catch(e){alert(`Failed to create migration: ${e.message}`)}finally{S(!1)}}function t$(){M.trim()?(s(M.trim(),A),_(!1),T(""),R("")):alert("Please enter a name for the favorite")}function tL(e){var t,r;let n,a,s,i;if(!l?.rows||0===l.rows.length)return void alert("No data to export");let o="",c="",d="";switch(e){case"csv":o=function(e){if(0===e.length)return"";let t=Object.keys(e[0]),r=t.join(","),n=e.map(e=>t.map(t=>{let r=e[t];return null===r?"NULL":"string"==typeof r&&(r.includes(",")||r.includes('"'))?`"${r.replace(/"/g,'""')}"`:r}).join(",")).join("\n");return`${r}
68
68
  ${n}`}(l.rows),c=`query_result_${Date.now()}.csv`,d="text/csv";break;case"json":o=JSON.stringify(l.rows,null,2),c=`query_result_${Date.now()}.json`,d="application/json";break;case"sql":n=new Date().toISOString(),o=`-- Exported from SQL Kite
69
69
  -- Date: ${n}
70
70
  -- Query Type: ${ee}
71
71
 
72
72
  ${er}`,c=`query_${Date.now()}.sql`,d="text/plain";break;case"markdown":o=function(e){if(0===e.length)return"";let t=Object.keys(e[0]),r=`| ${t.join(" | ")} |`,n=`| ${t.map(()=>"---").join(" | ")} |`,a=e.map(e=>`| ${t.map(t=>null===e[t]?"NULL":e[t]).join(" | ")} |`).join("\n");return`${r}
73
73
  ${n}
74
- ${a}`}(l.rows),c=`query_result_${Date.now()}.md`,d="text/markdown"}t=o,r=c,a=new Blob([t],{type:d}),s=URL.createObjectURL(a),(i=document.createElement("a")).href=s,i.download=r,i.click(),URL.revokeObjectURL(s),Z(!1)}(0,g.useEffect)(()=>{tw()},[o]),(0,g.useEffect)(()=>{ei(e)},[e]),(0,g.useEffect)(()=>{t?.(es)},[es,t]),(0,g.useEffect)(()=>{if(!es){ec("change"),eE(null),e_(""),eM(""),eB({a:null,b:null}),eP({a:null,b:null}),eb(null),Z(!1),ed.a&&ed.b&&U([ed.a,ed.b]).catch(()=>null);return}Z(!1),tj()},[es]),(0,g.useEffect)(()=>{!es||ed.a&&ed.b&&ed.a!==ed.b&&H([ed.a,ed.b]).catch(()=>null)},[es,ed]),(0,g.useEffect)(()=>{!es||"change"!==eo||ed.a&&ed.b&&ed.a!==ed.b&&tE()},[es,eo,ed]),(0,g.useEffect)(()=>{if(!es||!ed.a||!ed.b||ed.a===ed.b)return;let e=function(e){if(!e)return"";let t=[];return e.addedTables.forEach(e=>{t.push(e.sql.endsWith(";")?e.sql:`${e.sql};`)}),e.removedTables.forEach(e=>{t.push(`DROP TABLE IF EXISTS "${e.name}";`)}),e.addedIndexes.forEach(e=>{t.push(e.sql.endsWith(";")?e.sql:`${e.sql};`)}),e.removedIndexes.forEach(e=>{t.push(`DROP INDEX IF EXISTS "${e.name}";`)}),e.addedTriggers.forEach(e=>{t.push(e.sql.endsWith(";")?e.sql:`${e.sql};`)}),e.removedTriggers.forEach(e=>{t.push(`DROP TRIGGER IF EXISTS "${e.name}";`)}),e.tableChanges.forEach(e=>{e.addedColumns.forEach(r=>{t.push(`ALTER TABLE "${e.table}" ADD COLUMN "${r.name}" ${r.type};`)}),e.removedColumns.forEach(r=>{t.push(`-- Column removed: ${e.table}.${r.name}`)}),e.modifiedColumns.forEach(r=>{t.push(`-- Column modified: ${e.table}.${r.name} ${r.fromType} -> ${r.toType}`)})}),t.join("\n")}(ew),t=function(e){if(!e)return"";let t=[];return e.addedTables.forEach(e=>{t.push(`DROP TABLE IF EXISTS "${e.name}";`)}),e.removedTables.forEach(e=>{t.push(e.sql.endsWith(";")?e.sql:`${e.sql};`)}),e.addedIndexes.forEach(e=>{t.push(`DROP INDEX IF EXISTS "${e.name}";`)}),e.removedIndexes.forEach(e=>{t.push(e.sql.endsWith(";")?e.sql:`${e.sql};`)}),e.addedTriggers.forEach(e=>{t.push(`DROP TRIGGER IF EXISTS "${e.name}";`)}),e.removedTriggers.forEach(e=>{t.push(e.sql.endsWith(";")?e.sql:`${e.sql};`)}),e.tableChanges.forEach(e=>{e.addedColumns.forEach(r=>{t.push(`-- Column to remove: ${e.table}.${r.name}`)}),e.removedColumns.forEach(r=>{t.push(`ALTER TABLE "${e.table}" ADD COLUMN "${r.name}" ${r.type};`)}),e.modifiedColumns.forEach(r=>{t.push(`-- Column modified: ${e.table}.${r.name} ${r.toType} -> ${r.fromType}`)})}),t.join("\n")}(ew);e_(e),eM(t)},[es,ed,ew]),(0,g.useEffect)(()=>()=>{es&&ed.a&&ed.b&&U([ed.a,ed.b]).catch(()=>null)},[es,ed]),(0,g.useEffect)(()=>{function e(e){eF.current&&!eF.current.contains(e.target)&&Z(!1)}if(J)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[J]),(0,g.useEffect)(()=>{function e(e){if(!eU.current||!eH.current)return;let t=eH.current.getBoundingClientRect(),r="touches"in e?e.touches[0].clientY:e.clientY;eV(Math.min(Math.max(220,t.height-220),Math.max(160,t.bottom-r)))}function t(){eU.current&&(eU.current=!1,document.body.style.cursor="")}return window.addEventListener("mousemove",e),window.addEventListener("mouseup",t),window.addEventListener("touchmove",e),window.addEventListener("touchend",t),()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",t),window.removeEventListener("touchmove",e),window.removeEventListener("touchend",t)}},[]);let tP="Disabled in Compare Mode",tI=!!ed.a&&!!ed.b&&ed.a!==ed.b,tB=es&&"manual"===eo&&tI;function tz(e){return 0===e.length?(0,b.jsx)("div",{className:"text-app-text-dim text-center py-6 text-sm",children:"No rows returned"}):(0,b.jsx)("div",{className:"border border-app-panel-border rounded overflow-x-auto",children:(0,b.jsxs)("table",{className:"w-full text-xs",children:[(0,b.jsx)("thead",{className:"bg-app-sidebar-active",children:(0,b.jsx)("tr",{children:Object.keys(e[0]).map(e=>(0,b.jsx)("th",{className:"px-3 py-2 text-left font-medium whitespace-nowrap",children:e},e))})}),(0,b.jsx)("tbody",{children:e.map((e,t)=>(0,b.jsx)("tr",{className:"border-t border-app-panel-border hover:bg-app-sidebar-hover",children:Object.values(e).map((e,t)=>(0,b.jsx)("td",{className:"px-3 py-2 font-mono",children:null===e?(0,b.jsx)("span",{className:"text-app-text-dim italic",children:"NULL"}):String(e)},t))},t))})]})})}function tq(e,t,r){return(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-4",children:[(0,b.jsxs)("div",{className:"text-xs text-app-text-dim mb-2",children:["Results — ",e]}),r?(0,b.jsxs)("div",{className:"bg-red-500/10 border border-red-500/30 rounded p-3",children:[(0,b.jsx)("div",{className:"text-red-400 font-semibold text-sm mb-1",children:"Error"}),(0,b.jsx)("pre",{className:"text-xs text-red-300 whitespace-pre-wrap font-mono",children:r.message})]}):t?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"mb-2 text-xs text-app-text-dim",children:[t.rows?.length||0," rows returned in ",t.executionTime,"ms"]}),tz(t.rows||[])]}):(0,b.jsx)("div",{className:"text-xs text-app-text-dim",children:"No results yet"})]})}return(0,b.jsxs)("div",{className:"flex h-full",children:[(0,b.jsx)(iP,{width:"220px",disabled:es,privateItems:e7,onPrivateItemsChange:e8,onOpenFile:(e,t)=>{if(e.sql){let t=eQ.find(t=>t.name===e.label&&t.sql===e.sql);if(t)e0(t.id);else{let t=`tab-${Date.now()}`,r={id:t,name:e.label,sql:e.sql};eJ(e=>[...e,r]),e0(t)}}}}),(0,b.jsxs)("div",{ref:eH,className:"flex-1 grid min-h-0",style:{gridTemplateRows:`minmax(220px, 1fr) 8px ${eW}px`},children:[(0,b.jsxs)("div",{className:"flex flex-col border-b border-app-border min-h-0",children:[(0,b.jsxs)("div",{className:"px-4 py-2 bg-app-sidebar/30 border-b border-app-border flex flex-wrap items-center gap-3",children:[(0,b.jsx)("span",{className:"text-xs uppercase text-app-text-dim",children:"SQL Editor"}),es&&(0,b.jsxs)("div",{className:"flex-1 flex flex-wrap items-center justify-center gap-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs text-app-text-dim",children:[(0,b.jsx)(C,{className:"w-3.5 h-3.5"}),(0,b.jsx)("span",{children:"Branch A"}),(0,b.jsx)("select",{value:ed.a,onChange:e=>tk("a",e.target.value),className:"bg-app-bg border border-app-border rounded px-2 py-1 text-xs text-app-text",children:ep.map(e=>(0,b.jsx)("option",{value:e,disabled:e===ed.b,children:e},e))})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 bg-app-sidebar-active rounded p-1",children:[(0,b.jsxs)("button",{onClick:()=>ec("change"),className:`px-2 py-1 text-xs rounded flex items-center gap-1 ${"change"===eo?"bg-app-accent/20 text-app-accent":"text-app-text-dim hover:text-app-text"}`,disabled:!!ex,children:[(0,b.jsx)(iS,{className:"w-3.5 h-3.5"}),"Change View"]}),(0,b.jsxs)("button",{onClick:()=>ec("preview"),className:`px-2 py-1 text-xs rounded flex items-center gap-1 ${"preview"===eo?"bg-app-accent/20 text-app-accent":"text-app-text-dim hover:text-app-text"}`,disabled:!!ex,children:[(0,b.jsx)(eN,{className:"w-3.5 h-3.5"}),"SQL Preview"]}),(0,b.jsxs)("button",{onClick:()=>ec("manual"),className:`px-2 py-1 text-xs rounded flex items-center gap-1 ${"manual"===eo?"bg-app-accent/20 text-app-accent":"text-app-text-dim hover:text-app-text"}`,disabled:!!ex,children:[(0,b.jsx)(ik,{className:"w-3.5 h-3.5"}),"Manual Inspect"]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs text-app-text-dim",children:[(0,b.jsx)(C,{className:"w-3.5 h-3.5"}),(0,b.jsx)("span",{children:"Branch B"}),(0,b.jsx)("select",{value:ed.b,onChange:e=>tk("b",e.target.value),className:"bg-app-bg border border-app-border rounded px-2 py-1 text-xs text-app-text",children:ep.map(e=>(0,b.jsx)("option",{value:e,disabled:e===ed.a,children:e},e))})]})]}),!es&&(0,b.jsx)("div",{className:"flex-1"}),(0,b.jsx)("div",{className:"ml-6",children:(0,b.jsxs)("button",{onClick:function(){es?(ed.a&&ed.b&&U([ed.a,ed.b]).catch(()=>null),ei(!1)):ei(!0)},className:`px-3 py-1.5 text-xs rounded transition-colors flex items-center gap-2 ${es?"bg-app-accent/20 text-app-accent":"bg-app-sidebar-active hover:bg-app-sidebar-hover text-app-text"}`,children:[(0,b.jsx)(iE,{className:"w-3.5 h-3.5"}),"Compare ",es?"On":"Off"]})})]}),es?(0,b.jsxs)("div",{className:"flex-1 bg-[#0f0f0f] min-h-0 overflow-hidden",children:[ex&&(0,b.jsx)("div",{className:"px-4 py-2 text-xs text-red-400 bg-red-500/10 border-b border-red-500/30",children:ex}),"change"===eo&&(0,b.jsx)("div",{className:"h-full overflow-auto",children:eg?(0,b.jsx)("div",{className:"text-xs text-app-text-dim p-4",children:"Loading changes..."}):ew?(()=>{if(!(ew.addedTables.length||ew.removedTables.length||ew.addedIndexes.length||ew.removedIndexes.length||ew.addedTriggers.length||ew.removedTriggers.length||ew.tableChanges.length))return(0,b.jsx)("div",{className:"text-sm text-app-text-dim p-4",children:"No differences between selected branches"});let e=e=>{eA(`SELECT * FROM sqlite_master WHERE type='table' AND name='${e}';`),eR(`SELECT * FROM sqlite_master WHERE type='table' AND name='${e}';`),ec("manual")},t=e=>{eA(`PRAGMA table_info("${e}");`),eR(`PRAGMA table_info("${e}");`),ec("manual")};return(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 h-full gap-px bg-app-border",children:[(0,b.jsxs)("div",{className:"bg-app-bg flex flex-col min-h-0",children:[(0,b.jsxs)("div",{className:"px-3 py-2 border-b border-app-border bg-app-sidebar/30 flex items-center gap-2",children:[(0,b.jsx)(C,{className:"w-3.5 h-3.5 text-app-text-dim"}),(0,b.jsx)("span",{className:"text-xs font-semibold text-app-text",children:ed.a||"Branch A"})]}),(0,b.jsxs)("div",{className:"flex-1 overflow-auto p-4 space-y-4",children:[ew.removedTables.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-green-400 mb-2",children:"Tables (+)"}),(0,b.jsx)("div",{className:"space-y-1",children:ew.removedTables.map(t=>(0,b.jsxs)("button",{onClick:()=>e(t.name),className:"w-full text-left px-3 py-2 text-sm bg-app-sidebar border border-app-border rounded hover:bg-app-sidebar-hover",children:[(0,b.jsx)("span",{className:"text-green-400",children:"+"})," ",t.name]},t.name))})]}),ew.addedTables.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-red-400 mb-2",children:"Tables (−)"}),(0,b.jsx)("div",{className:"space-y-1",children:ew.addedTables.map(t=>(0,b.jsxs)("button",{onClick:()=>e(t.name),className:"w-full text-left px-3 py-2 text-sm bg-app-sidebar border border-app-border rounded hover:bg-app-sidebar-hover opacity-60",children:[(0,b.jsx)("span",{className:"text-red-400",children:"−"})," ",t.name]},t.name))})]}),ew.tableChanges.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-app-text-dim mb-2",children:"Table changes"}),(0,b.jsx)("div",{className:"space-y-2",children:ew.tableChanges.map(e=>(0,b.jsxs)("button",{onClick:()=>t(e.table),className:"w-full text-left px-3 py-2 text-sm bg-app-sidebar border border-app-border rounded hover:bg-app-sidebar-hover",children:[(0,b.jsx)("div",{className:"font-medium text-app-text mb-1",children:e.table}),(0,b.jsxs)("div",{className:"space-y-1 text-xs text-app-text-dim",children:[e.removedColumns.map(e=>(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-green-400",children:"+"})," ",e.name," (",e.type,")"]},`removed-${e.name}`)),e.addedColumns.map(e=>(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-red-400",children:"−"})," ",e.name]},`added-${e.name}`)),e.modifiedColumns.map(e=>(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-yellow-400",children:"≈"})," ",e.name," (",e.fromType,")"]},`modified-${e.name}`)),e.rowCounts&&(0,b.jsxs)("div",{className:"text-yellow-400",children:["≈ rows: ",e.rowCounts.a]})]})]},e.table))})]}),ew.removedIndexes.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-green-400 mb-2",children:"Indexes (+)"}),(0,b.jsx)("div",{className:"space-y-1",children:ew.removedIndexes.map(e=>(0,b.jsxs)("div",{className:"px-3 py-2 text-sm bg-app-sidebar border border-app-border rounded",children:[(0,b.jsx)("span",{className:"text-green-400",children:"+"})," ",e.name]},e.name))})]}),ew.removedTriggers.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-green-400 mb-2",children:"Triggers (+)"}),(0,b.jsx)("div",{className:"space-y-1",children:ew.removedTriggers.map(e=>(0,b.jsxs)("div",{className:"px-3 py-2 text-sm bg-app-sidebar border border-app-border rounded",children:[(0,b.jsx)("span",{className:"text-green-400",children:"+"})," ",e.name]},e.name))})]})]})]}),(0,b.jsxs)("div",{className:"bg-app-bg flex flex-col min-h-0",children:[(0,b.jsxs)("div",{className:"px-3 py-2 border-b border-app-border bg-app-sidebar/30 flex items-center gap-2",children:[(0,b.jsx)(C,{className:"w-3.5 h-3.5 text-app-text-dim"}),(0,b.jsx)("span",{className:"text-xs font-semibold text-app-text",children:ed.b||"Branch B"})]}),(0,b.jsxs)("div",{className:"flex-1 overflow-auto p-4 space-y-4",children:[ew.addedTables.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-green-400 mb-2",children:"Tables (+)"}),(0,b.jsx)("div",{className:"space-y-1",children:ew.addedTables.map(t=>(0,b.jsxs)("button",{onClick:()=>e(t.name),className:"w-full text-left px-3 py-2 text-sm bg-app-sidebar border border-app-border rounded hover:bg-app-sidebar-hover",children:[(0,b.jsx)("span",{className:"text-green-400",children:"+"})," ",t.name]},t.name))})]}),ew.removedTables.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-red-400 mb-2",children:"Tables (−)"}),(0,b.jsx)("div",{className:"space-y-1",children:ew.removedTables.map(t=>(0,b.jsxs)("button",{onClick:()=>e(t.name),className:"w-full text-left px-3 py-2 text-sm bg-app-sidebar border border-app-border rounded hover:bg-app-sidebar-hover opacity-60",children:[(0,b.jsx)("span",{className:"text-red-400",children:"−"})," ",t.name]},t.name))})]}),ew.tableChanges.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-app-text-dim mb-2",children:"Table changes"}),(0,b.jsx)("div",{className:"space-y-2",children:ew.tableChanges.map(e=>(0,b.jsxs)("button",{onClick:()=>t(e.table),className:"w-full text-left px-3 py-2 text-sm bg-app-sidebar border border-app-border rounded hover:bg-app-sidebar-hover",children:[(0,b.jsx)("div",{className:"font-medium text-app-text mb-1",children:e.table}),(0,b.jsxs)("div",{className:"space-y-1 text-xs text-app-text-dim",children:[e.addedColumns.map(e=>(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-green-400",children:"+"})," ",e.name," (",e.type,")"]},`added-${e.name}`)),e.removedColumns.map(e=>(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-red-400",children:"−"})," ",e.name]},`removed-${e.name}`)),e.modifiedColumns.map(e=>(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-yellow-400",children:"≈"})," ",e.name," (",e.toType,")"]},`modified-${e.name}`)),e.rowCounts&&(0,b.jsxs)("div",{className:"text-yellow-400",children:["≈ rows: ",e.rowCounts.b]})]})]},e.table))})]}),ew.addedIndexes.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-green-400 mb-2",children:"Indexes (+)"}),(0,b.jsx)("div",{className:"space-y-1",children:ew.addedIndexes.map(e=>(0,b.jsxs)("div",{className:"px-3 py-2 text-sm bg-app-sidebar border border-app-border rounded",children:[(0,b.jsx)("span",{className:"text-green-400",children:"+"})," ",e.name]},e.name))})]}),ew.addedTriggers.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-green-400 mb-2",children:"Triggers (+)"}),(0,b.jsx)("div",{className:"space-y-1",children:ew.addedTriggers.map(e=>(0,b.jsxs)("div",{className:"px-3 py-2 text-sm bg-app-sidebar border border-app-border rounded",children:[(0,b.jsx)("span",{className:"text-green-400",children:"+"})," ",e.name]},e.name))})]})]})]})]})})():(0,b.jsx)("div",{className:"text-xs text-app-text-dim p-4",children:"Select two branches to compare."})}),"preview"===eo&&(0,b.jsxs)("div",{className:"h-full grid grid-cols-1 md:grid-cols-2 gap-px bg-app-border",children:[(0,b.jsxs)("div",{className:"bg-app-bg flex flex-col min-h-0",children:[(0,b.jsxs)("div",{className:"px-3 py-2 border-b border-app-border bg-app-sidebar/30 flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,b.jsx)(C,{className:"w-3.5 h-3.5 text-app-text-dim"}),(0,b.jsx)("span",{className:"font-semibold text-app-text",children:ed.a}),(0,b.jsx)("span",{className:"text-app-text-dim",children:"→"}),(0,b.jsx)("span",{className:"font-semibold text-app-text",children:ed.b})]}),(0,b.jsxs)("button",{onClick:()=>{navigator.clipboard.writeText(ek)},className:"px-2 py-1 text-xs bg-app-sidebar-active hover:bg-app-sidebar-hover rounded flex items-center gap-1.5",children:[(0,b.jsx)(eS,{className:"w-3 h-3"}),"Copy"]})]}),(0,b.jsxs)("div",{className:"px-3 py-1.5 bg-app-sidebar/20 border-b border-app-border/50 text-xs text-app-text-dim",children:["Apply these changes to transform ",ed.a," into ",ed.b," (read-only)"]}),(0,b.jsx)("div",{className:"flex-1 min-h-0",children:(0,b.jsx)(og,{height:"100%",language:"sql",theme:"vs-dark",value:ek||"-- No changes detected",options:{minimap:{enabled:!1},fontSize:13,lineNumbers:"on",scrollBeyondLastLine:!1,automaticLayout:!0,readOnly:!0,tabSize:2,padding:{top:16,bottom:16},fontFamily:'Monaco, Menlo, "Courier New", monospace'}})})]}),(0,b.jsxs)("div",{className:"bg-app-bg flex flex-col min-h-0",children:[(0,b.jsxs)("div",{className:"px-3 py-2 border-b border-app-border bg-app-sidebar/30 flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,b.jsx)(C,{className:"w-3.5 h-3.5 text-app-text-dim"}),(0,b.jsx)("span",{className:"font-semibold text-app-text",children:ed.b}),(0,b.jsx)("span",{className:"text-app-text-dim",children:"→"}),(0,b.jsx)("span",{className:"font-semibold text-app-text",children:ed.a})]}),(0,b.jsxs)("button",{onClick:()=>{navigator.clipboard.writeText(eC)},className:"px-2 py-1 text-xs bg-app-sidebar-active hover:bg-app-sidebar-hover rounded flex items-center gap-1.5",children:[(0,b.jsx)(eS,{className:"w-3 h-3"}),"Copy"]})]}),(0,b.jsxs)("div",{className:"px-3 py-1.5 bg-app-sidebar/20 border-b border-app-border/50 text-xs text-app-text-dim",children:["Apply these changes to transform ",ed.b," into ",ed.a," (read-only)"]}),(0,b.jsx)("div",{className:"flex-1 min-h-0",children:(0,b.jsx)(og,{height:"100%",language:"sql",theme:"vs-dark",value:eC||"-- No changes detected",options:{minimap:{enabled:!1},fontSize:13,lineNumbers:"on",scrollBeyondLastLine:!1,automaticLayout:!0,readOnly:!0,tabSize:2,padding:{top:16,bottom:16},fontFamily:'Monaco, Menlo, "Courier New", monospace'}})})]})]}),"manual"===eo&&(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 h-full gap-px bg-app-border",children:[(0,b.jsxs)("div",{className:"flex flex-col min-h-0 bg-app-bg",onClick:()=>eL("a"),children:[(0,b.jsxs)("div",{className:"px-3 py-2 border-b border-app-border bg-app-sidebar/30 flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,b.jsx)(C,{className:"w-3.5 h-3.5 text-app-text-dim"}),(0,b.jsx)("span",{className:"font-semibold text-app-text",children:ed.a||"Branch A"})]}),(0,b.jsx)("span",{className:"text-xs text-app-text-dim",children:"Editor A"})]}),(0,b.jsx)("div",{className:"flex-1 min-h-0",children:(0,b.jsx)(og,{height:"100%",language:"sql",theme:"vs-dark",value:eT,onChange:e=>tS("a",e||""),onMount:e=>{e.onDidFocusEditorWidget(()=>eL("a"))},options:{minimap:{enabled:!1},fontSize:13,lineNumbers:"on",scrollBeyondLastLine:!1,automaticLayout:!0,tabSize:2,padding:{top:16,bottom:16},fontFamily:'Monaco, Menlo, "Courier New", monospace'}})})]}),(0,b.jsxs)("div",{className:"flex flex-col min-h-0 bg-app-bg",onClick:()=>eL("b"),children:[(0,b.jsxs)("div",{className:"px-3 py-2 border-b border-app-border bg-app-sidebar/30 flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,b.jsx)(C,{className:"w-3.5 h-3.5 text-app-text-dim"}),(0,b.jsx)("span",{className:"font-semibold text-app-text",children:ed.b||"Branch B"})]}),(0,b.jsx)("span",{className:"text-xs text-app-text-dim",children:"Editor B"})]}),(0,b.jsx)("div",{className:"flex-1 min-h-0",children:(0,b.jsx)(og,{height:"100%",language:"sql",theme:"vs-dark",value:eO,onChange:e=>tS("b",e||""),onMount:e=>{e.onDidFocusEditorWidget(()=>eL("b"))},options:{minimap:{enabled:!1},fontSize:13,lineNumbers:"on",scrollBeyondLastLine:!1,automaticLayout:!0,tabSize:2,padding:{top:16,bottom:16},fontFamily:'Monaco, Menlo, "Courier New", monospace'}})})]})]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"bg-app-sidebar/50 border-b border-app-border flex items-center overflow-x-auto",children:[eQ.map(e=>(0,b.jsxs)("div",{draggable:!0,onDragStart:t=>tg(t,e.id),onDragOver:tv,onDrop:t=>ty(t,e.id),onClick:()=>e0(e.id),onDoubleClick:()=>tf(e.id,e.name),onContextMenu:t=>{t.preventDefault(),to({x:t.clientX,y:t.clientY,tabId:e.id})},onKeyDown:t=>tb(t,e.id),tabIndex:0,className:`
74
+ ${a}`}(l.rows),c=`query_result_${Date.now()}.md`,d="text/markdown"}t=o,r=c,a=new Blob([t],{type:d}),s=URL.createObjectURL(a),(i=document.createElement("a")).href=s,i.download=r,i.click(),URL.revokeObjectURL(s),Z(!1)}(0,g.useEffect)(()=>{tw()},[o]),(0,g.useEffect)(()=>{ei(e)},[e]),(0,g.useEffect)(()=>{t?.(es)},[es,t]),(0,g.useEffect)(()=>{if(!es){ec("change"),eE(null),e_(""),eM(""),eB({a:null,b:null}),eP({a:null,b:null}),eb(null),Z(!1),ed.a&&ed.b&&U([ed.a,ed.b]).catch(()=>null);return}Z(!1),tj()},[es]),(0,g.useEffect)(()=>{!es||ed.a&&ed.b&&ed.a!==ed.b&&H([ed.a,ed.b]).catch(()=>null)},[es,ed]),(0,g.useEffect)(()=>{!es||"change"!==eo||ed.a&&ed.b&&ed.a!==ed.b&&tE()},[es,eo,ed]),(0,g.useEffect)(()=>{if(!es||!ed.a||!ed.b||ed.a===ed.b)return;let e=function(e){if(!e)return"";let t=[];return e.addedTables.forEach(e=>{t.push(e.sql.endsWith(";")?e.sql:`${e.sql};`)}),e.removedTables.forEach(e=>{t.push(`DROP TABLE IF EXISTS "${e.name}";`)}),e.addedIndexes.forEach(e=>{t.push(e.sql.endsWith(";")?e.sql:`${e.sql};`)}),e.removedIndexes.forEach(e=>{t.push(`DROP INDEX IF EXISTS "${e.name}";`)}),e.addedTriggers.forEach(e=>{t.push(e.sql.endsWith(";")?e.sql:`${e.sql};`)}),e.removedTriggers.forEach(e=>{t.push(`DROP TRIGGER IF EXISTS "${e.name}";`)}),e.tableChanges.forEach(e=>{e.addedColumns.forEach(r=>{t.push(`ALTER TABLE "${e.table}" ADD COLUMN "${r.name}" ${r.type};`)}),e.removedColumns.forEach(r=>{t.push(`-- Column removed: ${e.table}.${r.name}`)}),e.modifiedColumns.forEach(r=>{t.push(`-- Column modified: ${e.table}.${r.name} ${r.fromType} -> ${r.toType}`)})}),t.join("\n")}(ew),t=function(e){if(!e)return"";let t=[];return e.addedTables.forEach(e=>{t.push(`DROP TABLE IF EXISTS "${e.name}";`)}),e.removedTables.forEach(e=>{t.push(e.sql.endsWith(";")?e.sql:`${e.sql};`)}),e.addedIndexes.forEach(e=>{t.push(`DROP INDEX IF EXISTS "${e.name}";`)}),e.removedIndexes.forEach(e=>{t.push(e.sql.endsWith(";")?e.sql:`${e.sql};`)}),e.addedTriggers.forEach(e=>{t.push(`DROP TRIGGER IF EXISTS "${e.name}";`)}),e.removedTriggers.forEach(e=>{t.push(e.sql.endsWith(";")?e.sql:`${e.sql};`)}),e.tableChanges.forEach(e=>{e.addedColumns.forEach(r=>{t.push(`-- Column to remove: ${e.table}.${r.name}`)}),e.removedColumns.forEach(r=>{t.push(`ALTER TABLE "${e.table}" ADD COLUMN "${r.name}" ${r.type};`)}),e.modifiedColumns.forEach(r=>{t.push(`-- Column modified: ${e.table}.${r.name} ${r.toType} -> ${r.fromType}`)})}),t.join("\n")}(ew);e_(e),eM(t)},[es,ed,ew]),(0,g.useEffect)(()=>()=>{es&&ed.a&&ed.b&&U([ed.a,ed.b]).catch(()=>null)},[es,ed]),(0,g.useEffect)(()=>{function e(e){eq.current&&!eq.current.contains(e.target)&&Z(!1)}if(J)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[J]),(0,g.useEffect)(()=>{function e(e){if(!eU.current||!eH.current)return;let t=eH.current.getBoundingClientRect(),r="touches"in e?e.touches[0].clientY:e.clientY;eV(Math.min(Math.max(220,t.height-220),Math.max(160,t.bottom-r)))}function t(){eU.current&&(eU.current=!1,document.body.style.cursor="")}return window.addEventListener("mousemove",e),window.addEventListener("mouseup",t),window.addEventListener("touchmove",e),window.addEventListener("touchend",t),()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",t),window.removeEventListener("touchmove",e),window.removeEventListener("touchend",t)}},[]);let tP="Disabled in Compare Mode",tI=!!ed.a&&!!ed.b&&ed.a!==ed.b,tB=es&&"manual"===eo&&tI;function tF(e){return 0===e.length?(0,b.jsx)("div",{className:"text-app-text-dim text-center py-6 text-sm",children:"No rows returned"}):(0,b.jsx)("div",{className:"border border-app-panel-border rounded overflow-x-auto",children:(0,b.jsxs)("table",{className:"w-full text-xs",children:[(0,b.jsx)("thead",{className:"bg-app-sidebar-active",children:(0,b.jsx)("tr",{children:Object.keys(e[0]).map(e=>(0,b.jsx)("th",{className:"px-3 py-2 text-left font-medium whitespace-nowrap",children:e},e))})}),(0,b.jsx)("tbody",{children:e.map((e,t)=>(0,b.jsx)("tr",{className:"border-t border-app-panel-border hover:bg-app-sidebar-hover",children:Object.values(e).map((e,t)=>(0,b.jsx)("td",{className:"px-3 py-2 font-mono",children:null===e?(0,b.jsx)("span",{className:"text-app-text-dim italic",children:"NULL"}):String(e)},t))},t))})]})})}function tz(e,t,r){return(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-4",children:[(0,b.jsxs)("div",{className:"text-xs text-app-text-dim mb-2",children:["Results — ",e]}),r?(0,b.jsxs)("div",{className:"bg-red-500/10 border border-red-500/30 rounded p-3",children:[(0,b.jsx)("div",{className:"text-red-400 font-semibold text-sm mb-1",children:"Error"}),(0,b.jsx)("pre",{className:"text-xs text-red-300 whitespace-pre-wrap font-mono",children:r.message})]}):t?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"mb-2 text-xs text-app-text-dim",children:[t.rows?.length||0," rows returned in ",t.executionTime,"ms"]}),tF(t.rows||[])]}):(0,b.jsx)("div",{className:"text-xs text-app-text-dim",children:"No results yet"})]})}return(0,b.jsxs)("div",{className:"flex h-full",children:[(0,b.jsx)(iP,{width:"220px",disabled:es,privateItems:e7,onPrivateItemsChange:e8,onOpenFile:(e,t)=>{if(e.sql){let t=eQ.find(t=>t.name===e.label&&t.sql===e.sql);if(t)e0(t.id);else{let t=`tab-${Date.now()}`,r={id:t,name:e.label,sql:e.sql};eJ(e=>[...e,r]),e0(t)}}}}),(0,b.jsxs)("div",{ref:eH,className:"flex-1 grid min-h-0",style:{gridTemplateRows:`minmax(220px, 1fr) 8px ${eW}px`},children:[(0,b.jsxs)("div",{className:"flex flex-col border-b border-app-border min-h-0",children:[(0,b.jsxs)("div",{className:"px-4 py-2 bg-app-sidebar/30 border-b border-app-border flex flex-wrap items-center gap-3",children:[(0,b.jsx)("span",{className:"text-xs uppercase text-app-text-dim",children:"SQL Editor"}),es&&(0,b.jsxs)("div",{className:"flex-1 flex flex-wrap items-center justify-center gap-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs text-app-text-dim",children:[(0,b.jsx)(C,{className:"w-3.5 h-3.5"}),(0,b.jsx)("span",{children:"Branch A"}),(0,b.jsx)("select",{value:ed.a,onChange:e=>tk("a",e.target.value),className:"bg-app-bg border border-app-border rounded px-2 py-1 text-xs text-app-text",children:ep.map(e=>(0,b.jsx)("option",{value:e,disabled:e===ed.b,children:e},e))})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 bg-app-sidebar-active rounded p-1",children:[(0,b.jsxs)("button",{onClick:()=>ec("change"),className:`px-2 py-1 text-xs rounded flex items-center gap-1 ${"change"===eo?"bg-app-accent/20 text-app-accent":"text-app-text-dim hover:text-app-text"}`,disabled:!!ex,children:[(0,b.jsx)(iS,{className:"w-3.5 h-3.5"}),"Change View"]}),(0,b.jsxs)("button",{onClick:()=>ec("preview"),className:`px-2 py-1 text-xs rounded flex items-center gap-1 ${"preview"===eo?"bg-app-accent/20 text-app-accent":"text-app-text-dim hover:text-app-text"}`,disabled:!!ex,children:[(0,b.jsx)(eN,{className:"w-3.5 h-3.5"}),"SQL Preview"]}),(0,b.jsxs)("button",{onClick:()=>ec("manual"),className:`px-2 py-1 text-xs rounded flex items-center gap-1 ${"manual"===eo?"bg-app-accent/20 text-app-accent":"text-app-text-dim hover:text-app-text"}`,disabled:!!ex,children:[(0,b.jsx)(ik,{className:"w-3.5 h-3.5"}),"Manual Inspect"]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs text-app-text-dim",children:[(0,b.jsx)(C,{className:"w-3.5 h-3.5"}),(0,b.jsx)("span",{children:"Branch B"}),(0,b.jsx)("select",{value:ed.b,onChange:e=>tk("b",e.target.value),className:"bg-app-bg border border-app-border rounded px-2 py-1 text-xs text-app-text",children:ep.map(e=>(0,b.jsx)("option",{value:e,disabled:e===ed.a,children:e},e))})]})]}),!es&&(0,b.jsx)("div",{className:"flex-1"}),(0,b.jsx)("div",{className:"ml-6",children:(0,b.jsxs)("button",{onClick:function(){es?(ed.a&&ed.b&&U([ed.a,ed.b]).catch(()=>null),ei(!1)):ei(!0)},className:`px-3 py-1.5 text-xs rounded transition-colors flex items-center gap-2 ${es?"bg-app-accent/20 text-app-accent":"bg-app-sidebar-active hover:bg-app-sidebar-hover text-app-text"}`,children:[(0,b.jsx)(iE,{className:"w-3.5 h-3.5"}),"Compare ",es?"On":"Off"]})})]}),es?(0,b.jsxs)("div",{className:"flex-1 bg-[#0f0f0f] min-h-0 overflow-hidden",children:[ex&&(0,b.jsx)("div",{className:"px-4 py-2 text-xs text-red-400 bg-red-500/10 border-b border-red-500/30",children:ex}),"change"===eo&&(0,b.jsx)("div",{className:"h-full overflow-auto",children:eg?(0,b.jsx)("div",{className:"text-xs text-app-text-dim p-4",children:"Loading changes..."}):ew?(()=>{if(!(ew.addedTables.length||ew.removedTables.length||ew.addedIndexes.length||ew.removedIndexes.length||ew.addedTriggers.length||ew.removedTriggers.length||ew.tableChanges.length))return(0,b.jsx)("div",{className:"text-sm text-app-text-dim p-4",children:"No differences between selected branches"});let e=e=>{eA(`SELECT * FROM sqlite_master WHERE type='table' AND name='${e}';`),eR(`SELECT * FROM sqlite_master WHERE type='table' AND name='${e}';`),ec("manual")},t=e=>{eA(`PRAGMA table_info("${e}");`),eR(`PRAGMA table_info("${e}");`),ec("manual")};return(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 h-full gap-px bg-app-border",children:[(0,b.jsxs)("div",{className:"bg-app-bg flex flex-col min-h-0",children:[(0,b.jsxs)("div",{className:"px-3 py-2 border-b border-app-border bg-app-sidebar/30 flex items-center gap-2",children:[(0,b.jsx)(C,{className:"w-3.5 h-3.5 text-app-text-dim"}),(0,b.jsx)("span",{className:"text-xs font-semibold text-app-text",children:ed.a||"Branch A"})]}),(0,b.jsxs)("div",{className:"flex-1 overflow-auto p-4 space-y-4",children:[ew.removedTables.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-green-400 mb-2",children:"Tables (+)"}),(0,b.jsx)("div",{className:"space-y-1",children:ew.removedTables.map(t=>(0,b.jsxs)("button",{onClick:()=>e(t.name),className:"w-full text-left px-3 py-2 text-sm bg-app-sidebar border border-app-border rounded hover:bg-app-sidebar-hover",children:[(0,b.jsx)("span",{className:"text-green-400",children:"+"})," ",t.name]},t.name))})]}),ew.addedTables.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-red-400 mb-2",children:"Tables (−)"}),(0,b.jsx)("div",{className:"space-y-1",children:ew.addedTables.map(t=>(0,b.jsxs)("button",{onClick:()=>e(t.name),className:"w-full text-left px-3 py-2 text-sm bg-app-sidebar border border-app-border rounded hover:bg-app-sidebar-hover opacity-60",children:[(0,b.jsx)("span",{className:"text-red-400",children:"−"})," ",t.name]},t.name))})]}),ew.tableChanges.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-app-text-dim mb-2",children:"Table changes"}),(0,b.jsx)("div",{className:"space-y-2",children:ew.tableChanges.map(e=>(0,b.jsxs)("button",{onClick:()=>t(e.table),className:"w-full text-left px-3 py-2 text-sm bg-app-sidebar border border-app-border rounded hover:bg-app-sidebar-hover",children:[(0,b.jsx)("div",{className:"font-medium text-app-text mb-1",children:e.table}),(0,b.jsxs)("div",{className:"space-y-1 text-xs text-app-text-dim",children:[e.removedColumns.map(e=>(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-green-400",children:"+"})," ",e.name," (",e.type,")"]},`removed-${e.name}`)),e.addedColumns.map(e=>(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-red-400",children:"−"})," ",e.name]},`added-${e.name}`)),e.modifiedColumns.map(e=>(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-yellow-400",children:"≈"})," ",e.name," (",e.fromType,")"]},`modified-${e.name}`)),e.rowCounts&&(0,b.jsxs)("div",{className:"text-yellow-400",children:["≈ rows: ",e.rowCounts.a]})]})]},e.table))})]}),ew.removedIndexes.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-green-400 mb-2",children:"Indexes (+)"}),(0,b.jsx)("div",{className:"space-y-1",children:ew.removedIndexes.map(e=>(0,b.jsxs)("div",{className:"px-3 py-2 text-sm bg-app-sidebar border border-app-border rounded",children:[(0,b.jsx)("span",{className:"text-green-400",children:"+"})," ",e.name]},e.name))})]}),ew.removedTriggers.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-green-400 mb-2",children:"Triggers (+)"}),(0,b.jsx)("div",{className:"space-y-1",children:ew.removedTriggers.map(e=>(0,b.jsxs)("div",{className:"px-3 py-2 text-sm bg-app-sidebar border border-app-border rounded",children:[(0,b.jsx)("span",{className:"text-green-400",children:"+"})," ",e.name]},e.name))})]})]})]}),(0,b.jsxs)("div",{className:"bg-app-bg flex flex-col min-h-0",children:[(0,b.jsxs)("div",{className:"px-3 py-2 border-b border-app-border bg-app-sidebar/30 flex items-center gap-2",children:[(0,b.jsx)(C,{className:"w-3.5 h-3.5 text-app-text-dim"}),(0,b.jsx)("span",{className:"text-xs font-semibold text-app-text",children:ed.b||"Branch B"})]}),(0,b.jsxs)("div",{className:"flex-1 overflow-auto p-4 space-y-4",children:[ew.addedTables.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-green-400 mb-2",children:"Tables (+)"}),(0,b.jsx)("div",{className:"space-y-1",children:ew.addedTables.map(t=>(0,b.jsxs)("button",{onClick:()=>e(t.name),className:"w-full text-left px-3 py-2 text-sm bg-app-sidebar border border-app-border rounded hover:bg-app-sidebar-hover",children:[(0,b.jsx)("span",{className:"text-green-400",children:"+"})," ",t.name]},t.name))})]}),ew.removedTables.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-red-400 mb-2",children:"Tables (−)"}),(0,b.jsx)("div",{className:"space-y-1",children:ew.removedTables.map(t=>(0,b.jsxs)("button",{onClick:()=>e(t.name),className:"w-full text-left px-3 py-2 text-sm bg-app-sidebar border border-app-border rounded hover:bg-app-sidebar-hover opacity-60",children:[(0,b.jsx)("span",{className:"text-red-400",children:"−"})," ",t.name]},t.name))})]}),ew.tableChanges.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-app-text-dim mb-2",children:"Table changes"}),(0,b.jsx)("div",{className:"space-y-2",children:ew.tableChanges.map(e=>(0,b.jsxs)("button",{onClick:()=>t(e.table),className:"w-full text-left px-3 py-2 text-sm bg-app-sidebar border border-app-border rounded hover:bg-app-sidebar-hover",children:[(0,b.jsx)("div",{className:"font-medium text-app-text mb-1",children:e.table}),(0,b.jsxs)("div",{className:"space-y-1 text-xs text-app-text-dim",children:[e.addedColumns.map(e=>(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-green-400",children:"+"})," ",e.name," (",e.type,")"]},`added-${e.name}`)),e.removedColumns.map(e=>(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-red-400",children:"−"})," ",e.name]},`removed-${e.name}`)),e.modifiedColumns.map(e=>(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-yellow-400",children:"≈"})," ",e.name," (",e.toType,")"]},`modified-${e.name}`)),e.rowCounts&&(0,b.jsxs)("div",{className:"text-yellow-400",children:["≈ rows: ",e.rowCounts.b]})]})]},e.table))})]}),ew.addedIndexes.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-green-400 mb-2",children:"Indexes (+)"}),(0,b.jsx)("div",{className:"space-y-1",children:ew.addedIndexes.map(e=>(0,b.jsxs)("div",{className:"px-3 py-2 text-sm bg-app-sidebar border border-app-border rounded",children:[(0,b.jsx)("span",{className:"text-green-400",children:"+"})," ",e.name]},e.name))})]}),ew.addedTriggers.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-green-400 mb-2",children:"Triggers (+)"}),(0,b.jsx)("div",{className:"space-y-1",children:ew.addedTriggers.map(e=>(0,b.jsxs)("div",{className:"px-3 py-2 text-sm bg-app-sidebar border border-app-border rounded",children:[(0,b.jsx)("span",{className:"text-green-400",children:"+"})," ",e.name]},e.name))})]})]})]})]})})():(0,b.jsx)("div",{className:"text-xs text-app-text-dim p-4",children:"Select two branches to compare."})}),"preview"===eo&&(0,b.jsxs)("div",{className:"h-full grid grid-cols-1 md:grid-cols-2 gap-px bg-app-border",children:[(0,b.jsxs)("div",{className:"bg-app-bg flex flex-col min-h-0",children:[(0,b.jsxs)("div",{className:"px-3 py-2 border-b border-app-border bg-app-sidebar/30 flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,b.jsx)(C,{className:"w-3.5 h-3.5 text-app-text-dim"}),(0,b.jsx)("span",{className:"font-semibold text-app-text",children:ed.a}),(0,b.jsx)("span",{className:"text-app-text-dim",children:"→"}),(0,b.jsx)("span",{className:"font-semibold text-app-text",children:ed.b})]}),(0,b.jsxs)("button",{onClick:()=>{navigator.clipboard.writeText(ek)},className:"px-2 py-1 text-xs bg-app-sidebar-active hover:bg-app-sidebar-hover rounded flex items-center gap-1.5",children:[(0,b.jsx)(eS,{className:"w-3 h-3"}),"Copy"]})]}),(0,b.jsxs)("div",{className:"px-3 py-1.5 bg-app-sidebar/20 border-b border-app-border/50 text-xs text-app-text-dim",children:["Apply these changes to transform ",ed.a," into ",ed.b," (read-only)"]}),(0,b.jsx)("div",{className:"flex-1 min-h-0",children:(0,b.jsx)(og,{height:"100%",language:"sql",theme:"vs-dark",value:ek||"-- No changes detected",options:{minimap:{enabled:!1},fontSize:13,lineNumbers:"on",scrollBeyondLastLine:!1,automaticLayout:!0,readOnly:!0,tabSize:2,padding:{top:16,bottom:16},fontFamily:'Monaco, Menlo, "Courier New", monospace'}})})]}),(0,b.jsxs)("div",{className:"bg-app-bg flex flex-col min-h-0",children:[(0,b.jsxs)("div",{className:"px-3 py-2 border-b border-app-border bg-app-sidebar/30 flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,b.jsx)(C,{className:"w-3.5 h-3.5 text-app-text-dim"}),(0,b.jsx)("span",{className:"font-semibold text-app-text",children:ed.b}),(0,b.jsx)("span",{className:"text-app-text-dim",children:"→"}),(0,b.jsx)("span",{className:"font-semibold text-app-text",children:ed.a})]}),(0,b.jsxs)("button",{onClick:()=>{navigator.clipboard.writeText(eC)},className:"px-2 py-1 text-xs bg-app-sidebar-active hover:bg-app-sidebar-hover rounded flex items-center gap-1.5",children:[(0,b.jsx)(eS,{className:"w-3 h-3"}),"Copy"]})]}),(0,b.jsxs)("div",{className:"px-3 py-1.5 bg-app-sidebar/20 border-b border-app-border/50 text-xs text-app-text-dim",children:["Apply these changes to transform ",ed.b," into ",ed.a," (read-only)"]}),(0,b.jsx)("div",{className:"flex-1 min-h-0",children:(0,b.jsx)(og,{height:"100%",language:"sql",theme:"vs-dark",value:eC||"-- No changes detected",options:{minimap:{enabled:!1},fontSize:13,lineNumbers:"on",scrollBeyondLastLine:!1,automaticLayout:!0,readOnly:!0,tabSize:2,padding:{top:16,bottom:16},fontFamily:'Monaco, Menlo, "Courier New", monospace'}})})]})]}),"manual"===eo&&(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 h-full gap-px bg-app-border",children:[(0,b.jsxs)("div",{className:"flex flex-col min-h-0 bg-app-bg",onClick:()=>e$("a"),children:[(0,b.jsxs)("div",{className:"px-3 py-2 border-b border-app-border bg-app-sidebar/30 flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,b.jsx)(C,{className:"w-3.5 h-3.5 text-app-text-dim"}),(0,b.jsx)("span",{className:"font-semibold text-app-text",children:ed.a||"Branch A"})]}),(0,b.jsx)("span",{className:"text-xs text-app-text-dim",children:"Editor A"})]}),(0,b.jsx)("div",{className:"flex-1 min-h-0",children:(0,b.jsx)(og,{height:"100%",language:"sql",theme:"vs-dark",value:eT,onChange:e=>tS("a",e||""),onMount:e=>{e.onDidFocusEditorWidget(()=>e$("a"))},options:{minimap:{enabled:!1},fontSize:13,lineNumbers:"on",scrollBeyondLastLine:!1,automaticLayout:!0,tabSize:2,padding:{top:16,bottom:16},fontFamily:'Monaco, Menlo, "Courier New", monospace'}})})]}),(0,b.jsxs)("div",{className:"flex flex-col min-h-0 bg-app-bg",onClick:()=>e$("b"),children:[(0,b.jsxs)("div",{className:"px-3 py-2 border-b border-app-border bg-app-sidebar/30 flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[(0,b.jsx)(C,{className:"w-3.5 h-3.5 text-app-text-dim"}),(0,b.jsx)("span",{className:"font-semibold text-app-text",children:ed.b||"Branch B"})]}),(0,b.jsx)("span",{className:"text-xs text-app-text-dim",children:"Editor B"})]}),(0,b.jsx)("div",{className:"flex-1 min-h-0",children:(0,b.jsx)(og,{height:"100%",language:"sql",theme:"vs-dark",value:eO,onChange:e=>tS("b",e||""),onMount:e=>{e.onDidFocusEditorWidget(()=>e$("b"))},options:{minimap:{enabled:!1},fontSize:13,lineNumbers:"on",scrollBeyondLastLine:!1,automaticLayout:!0,tabSize:2,padding:{top:16,bottom:16},fontFamily:'Monaco, Menlo, "Courier New", monospace'}})})]})]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"bg-app-sidebar/50 border-b border-app-border flex items-center overflow-x-auto",children:[eQ.map(e=>(0,b.jsxs)("div",{draggable:!0,onDragStart:t=>tg(t,e.id),onDragOver:tv,onDrop:t=>ty(t,e.id),onClick:()=>e0(e.id),onDoubleClick:()=>tf(e.id,e.name),onContextMenu:t=>{t.preventDefault(),to({x:t.clientX,y:t.clientY,tabId:e.id})},onKeyDown:t=>tb(t,e.id),tabIndex:0,className:`
75
75
  group flex items-center gap-2 px-3 py-1.5 text-xs cursor-pointer border-r border-app-border
76
76
  transition-colors outline-none focus:ring-1 focus:ring-app-accent/50
77
77
  ${e.id===eZ?"bg-app-bg text-app-text":"text-app-text-dim hover:bg-app-sidebar-hover hover:text-app-text"}
78
78
  ${e6===e.id?"opacity-50":""}
79
- `,children:[(0,b.jsx)(i_,{className:"w-3.5 h-3.5 flex-shrink-0 opacity-50"}),e1===e.id?(0,b.jsx)("input",{ref:e4,type:"text",value:e5,onChange:e=>e3(e.target.value),onBlur:tx,onKeyDown:e=>{"Enter"===e.key&&tx(),"Escape"===e.key&&(e2(null),e3("")),e.stopPropagation()},onClick:e=>e.stopPropagation(),className:"bg-app-bg border border-app-accent rounded px-1 py-0.5 text-xs w-32 outline-none",autoFocus:!0}):(0,b.jsx)("span",{className:"truncate max-w-[150px]",children:e.name}),eQ.length>1&&(0,b.jsx)("button",{onClick:t=>tm(e.id,t),className:"opacity-0 group-hover:opacity-100 hover:bg-app-border rounded p-0.5 transition-opacity",children:(0,b.jsx)(ef,{className:"w-3 h-3"})})]},e.id)),(0,b.jsxs)("button",{onClick:th,className:"flex items-center gap-1 px-3 py-1.5 text-xs text-app-text-dim hover:text-app-text hover:bg-app-sidebar-hover transition-colors",children:[(0,b.jsx)(D,{className:"w-3.5 h-3.5"}),"New"]})]}),(0,b.jsx)("div",{className:"flex-1 bg-[#0f0f0f] min-h-0",children:(0,b.jsx)(og,{height:"100%",language:"sql",theme:"vs-dark",value:tu?.sql||"",onChange:e=>tp(e||""),onMount:function(e,t){eG.current=e,eK.current=t,eY.current=new iF,eX.current=new iU,t.languages.registerCompletionItemProvider("sql",eY.current),t.languages.registerSignatureHelpProvider("sql",new iH),t.languages.registerHoverProvider("sql",eX.current),e.addAction({id:"run-query",label:"Run Query",keybindings:[t.KeyMod.CtrlCmd|t.KeyCode.Enter],run:()=>{tM()}}),e.addAction({id:"run-selected",label:"Run Selected Query",keybindings:[t.KeyMod.CtrlCmd|t.KeyMod.Shift|t.KeyCode.Enter],run:()=>{let t=e.getSelection(),r=e.getModel().getValueInRange(t);r.trim()?tM(r):tM()}}),e.addAction({id:"format-sql",label:"Format SQL",keybindings:[t.KeyMod.CtrlCmd|t.KeyMod.Shift|t.KeyCode.KeyF],run:()=>{e.getAction("editor.action.formatDocument").run()}}),tw()},options:{minimap:{enabled:!1},fontSize:13,lineNumbers:"on",scrollBeyondLastLine:!1,automaticLayout:!0,tabSize:2,padding:{top:16,bottom:16},fontFamily:'Monaco, Menlo, "Courier New", monospace',suggestOnTriggerCharacters:!0,quickSuggestions:{other:!0,comments:!1,strings:!1},parameterHints:{enabled:!0},suggest:{showKeywords:!0,showSnippets:!0,showFunctions:!0,snippetsPreventQuickSuggestions:!1},formatOnPaste:!0,formatOnType:!0,autoClosingBrackets:"always",autoClosingQuotes:"always",bracketPairColorization:{enabled:!0}}})})]})]}),(0,b.jsx)("div",{onMouseDown:()=>{eU.current=!0,document.body.style.cursor="row-resize"},onTouchStart:()=>{eU.current=!0,document.body.style.cursor="row-resize"},className:"bg-app-sidebar/40 border-y border-app-border cursor-row-resize flex items-center justify-center",children:(0,b.jsx)("div",{className:"w-10 h-1 rounded-full bg-app-border"})}),(0,b.jsxs)("div",{className:"flex flex-col bg-app-panel border-t border-app-panel-border overflow-hidden min-h-0",children:[(0,b.jsx)("div",{className:"px-4 py-2.5 border-b border-app-panel-border bg-app-sidebar/30 flex-shrink-0",children:(0,b.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",children:[(0,b.jsx)("div",{className:"flex gap-4",children:["result","errors","info"].map(e=>(0,b.jsx)("button",{onClick:()=>a(e),className:`
79
+ `,children:[(0,b.jsx)(i_,{className:"w-3.5 h-3.5 flex-shrink-0 opacity-50"}),e1===e.id?(0,b.jsx)("input",{ref:e4,type:"text",value:e5,onChange:e=>e3(e.target.value),onBlur:tx,onKeyDown:e=>{"Enter"===e.key&&tx(),"Escape"===e.key&&(e2(null),e3("")),e.stopPropagation()},onClick:e=>e.stopPropagation(),className:"bg-app-bg border border-app-accent rounded px-1 py-0.5 text-xs w-32 outline-none",autoFocus:!0}):(0,b.jsx)("span",{className:"truncate max-w-[150px]",children:e.name}),eQ.length>1&&(0,b.jsx)("button",{onClick:t=>tm(e.id,t),className:"opacity-0 group-hover:opacity-100 hover:bg-app-border rounded p-0.5 transition-opacity",children:(0,b.jsx)(ef,{className:"w-3 h-3"})})]},e.id)),(0,b.jsxs)("button",{onClick:th,className:"flex items-center gap-1 px-3 py-1.5 text-xs text-app-text-dim hover:text-app-text hover:bg-app-sidebar-hover transition-colors",children:[(0,b.jsx)(D,{className:"w-3.5 h-3.5"}),"New"]})]}),(0,b.jsx)("div",{className:"flex-1 bg-[#0f0f0f] min-h-0",children:(0,b.jsx)(og,{height:"100%",language:"sql",theme:"vs-dark",value:tu?.sql||"",onChange:e=>tp(e||""),onMount:function(e,t){eG.current=e,eK.current=t,eY.current=new iq,eX.current=new iU,t.languages.registerCompletionItemProvider("sql",eY.current),t.languages.registerSignatureHelpProvider("sql",new iH),t.languages.registerHoverProvider("sql",eX.current),e.addAction({id:"run-query",label:"Run Query",keybindings:[t.KeyMod.CtrlCmd|t.KeyCode.Enter],run:()=>{tM()}}),e.addAction({id:"run-selected",label:"Run Selected Query",keybindings:[t.KeyMod.CtrlCmd|t.KeyMod.Shift|t.KeyCode.Enter],run:()=>{let t=e.getSelection(),r=e.getModel().getValueInRange(t);r.trim()?tM(r):tM()}}),e.addAction({id:"format-sql",label:"Format SQL",keybindings:[t.KeyMod.CtrlCmd|t.KeyMod.Shift|t.KeyCode.KeyF],run:()=>{e.getAction("editor.action.formatDocument").run()}}),tw()},options:{minimap:{enabled:!1},fontSize:13,lineNumbers:"on",scrollBeyondLastLine:!1,automaticLayout:!0,tabSize:2,padding:{top:16,bottom:16},fontFamily:'Monaco, Menlo, "Courier New", monospace',suggestOnTriggerCharacters:!0,quickSuggestions:{other:!0,comments:!1,strings:!1},parameterHints:{enabled:!0},suggest:{showKeywords:!0,showSnippets:!0,showFunctions:!0,snippetsPreventQuickSuggestions:!1},formatOnPaste:!0,formatOnType:!0,autoClosingBrackets:"always",autoClosingQuotes:"always",bracketPairColorization:{enabled:!0}}})})]})]}),(0,b.jsx)("div",{onMouseDown:()=>{eU.current=!0,document.body.style.cursor="row-resize"},onTouchStart:()=>{eU.current=!0,document.body.style.cursor="row-resize"},className:"bg-app-sidebar/40 border-y border-app-border cursor-row-resize flex items-center justify-center",children:(0,b.jsx)("div",{className:"w-10 h-1 rounded-full bg-app-border"})}),(0,b.jsxs)("div",{className:"flex flex-col bg-app-panel border-t border-app-panel-border overflow-hidden min-h-0",children:[(0,b.jsx)("div",{className:"px-4 py-2.5 border-b border-app-panel-border bg-app-sidebar/30 flex-shrink-0",children:(0,b.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",children:[(0,b.jsx)("div",{className:"flex gap-4",children:["result","errors","info"].map(e=>(0,b.jsx)("button",{onClick:()=>a(e),className:`
80
80
  px-2 py-1 text-sm capitalize transition-colors font-medium
81
81
  ${r.activeTab===e?"text-app-text border-b-2 border-app-accent":"text-app-text-dim hover:text-app-text"}
82
- `,children:e},e))}),!es&&(0,b.jsxs)("div",{className:"hidden lg:flex items-center gap-3 text-[10px] text-app-text-dim/60",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)("kbd",{className:"px-1 py-0.5 bg-app-bg/50 border border-app-border/50 rounded text-[10px]",children:"⌘↵"}),"run"]}),(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)("kbd",{className:"px-1 py-0.5 bg-app-bg/50 border border-app-border/50 rounded text-[10px]",children:"⌘⇧↵"}),"selected"]}),(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)("kbd",{className:"px-1 py-0.5 bg-app-bg/50 border border-app-border/50 rounded text-[10px]",children:"⌘Space"}),"autocomplete"]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,b.jsxs)("div",{className:"relative",ref:eF,children:[(0,b.jsxs)("button",{onClick:()=>{es||Z(!J)},disabled:es||!l?.rows||0===l.rows.length,title:es?tP:void 0,className:"px-3 py-1.5 text-xs bg-app-sidebar-active hover:bg-app-sidebar-hover disabled:opacity-50 rounded transition-colors flex items-center gap-1.5",children:[(0,b.jsx)(iN,{className:"w-3.5 h-3.5"}),"Export",es&&(0,b.jsx)($,{className:"w-3 h-3 text-app-text-dim"}),(0,b.jsx)(O,{className:"w-3 h-3"})]}),J&&(0,b.jsxs)("div",{className:"absolute top-full mt-1 right-0 bg-app-sidebar border border-app-border rounded-lg shadow-lg py-1 z-10 min-w-[160px]",children:[(0,b.jsxs)("button",{onClick:()=>t$("csv"),className:"w-full px-3 py-2 text-xs text-left hover:bg-app-sidebar-hover flex items-center gap-2",children:[(0,b.jsx)(ij,{className:"w-3.5 h-3.5"}),"Export as CSV"]}),(0,b.jsxs)("button",{onClick:()=>t$("json"),className:"w-full px-3 py-2 text-xs text-left hover:bg-app-sidebar-hover flex items-center gap-2",children:[(0,b.jsx)(ij,{className:"w-3.5 h-3.5"}),"Export as JSON"]}),(0,b.jsxs)("button",{onClick:()=>t$("markdown"),className:"w-full px-3 py-2 text-xs text-left hover:bg-app-sidebar-hover flex items-center gap-2",children:[(0,b.jsx)(ij,{className:"w-3.5 h-3.5"}),"Export as Markdown"]}),(0,b.jsxs)("button",{onClick:()=>t$("sql"),className:"w-full px-3 py-2 text-xs text-left hover:bg-app-sidebar-hover flex items-center gap-2",children:[(0,b.jsx)(ij,{className:"w-3.5 h-3.5"}),"Export Query (SQL)"]})]})]}),(0,b.jsxs)("button",{onClick:function(){P(!0)},disabled:es,title:es?tP:void 0,className:"px-3 py-1.5 text-xs bg-app-border hover:bg-app-sidebar-hover disabled:opacity-50 rounded transition-colors flex items-center gap-1.5",children:[(0,b.jsx)(E,{className:"w-3.5 h-3.5"}),"Take snapshot",es&&(0,b.jsx)($,{className:"w-3 h-3 text-app-text-dim"})]}),(0,b.jsxs)("button",{onClick:function(){if(eG.current){let e=eG.current.getSelection(),t=eG.current.getModel().getValueInRange(e);if(!t.trim())return void alert("Please select SQL text first");R(t),_(!0)}},disabled:es,title:es?tP:void 0,className:"px-3 py-1.5 text-xs bg-app-sidebar-active hover:bg-app-sidebar-hover disabled:opacity-50 rounded transition-colors flex items-center gap-1.5",children:[(0,b.jsx)(iv,{className:"w-3.5 h-3.5"}),"Save as Favorite",es&&(0,b.jsx)($,{className:"w-3 h-3 text-app-text-dim"})]}),(0,b.jsxs)("button",{onClick:tR,disabled:es,title:es?tP:void 0,className:"px-3 py-1.5 text-xs bg-orange-500/20 hover:bg-orange-500/30 disabled:opacity-50 text-orange-400 rounded transition-colors flex items-center gap-1.5",children:[(0,b.jsx)(ig,{className:"w-3.5 h-3.5"}),"Save as Migration",es&&(0,b.jsx)($,{className:"w-3 h-3 text-app-text-dim"})]}),(!es||"manual"===eo)&&(0,b.jsx)("button",{onClick:()=>{es?tC():tM()},disabled:es&&!tB||m,title:es&&!tB?"Run is available in Manual Inspect with two different branches selected":void 0,className:"px-4 py-1.5 text-xs bg-app-accent hover:bg-app-accent-hover disabled:opacity-50 text-white rounded transition-colors font-medium",children:m?"Running...":"Run"})]})]})}),(0,b.jsxs)("div",{className:"flex-1 overflow-auto p-4",children:["result"===r.activeTab&&(0,b.jsx)("div",{children:es?"manual"!==eo?(0,b.jsx)("div",{className:"text-app-text-dim text-center py-8 text-sm",children:"Results are available in Manual Inspect."}):(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[tq(ed.a||"Branch A",e$.a,eI.a),tq(ed.b||"Branch B",e$.b,eI.b)]}):d?(0,b.jsxs)("div",{className:"bg-red-500/10 border border-red-500/30 rounded p-3",children:[(0,b.jsx)("div",{className:"text-red-400 font-semibold text-sm mb-1",children:"Error"}),(0,b.jsx)("pre",{className:"text-xs text-red-300 whitespace-pre-wrap font-mono",children:d.message})]}):l?(0,b.jsx)("div",{children:"select"===l.type?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"mb-2 text-xs text-app-text-dim",children:[l.rows?.length||0," rows returned in ",l.executionTime,"ms"]}),tz(l.rows||[])]}):(0,b.jsxs)("div",{className:"bg-green-500/10 border border-green-500/30 rounded p-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-green-400 font-semibold text-sm mb-1",children:[(0,b.jsx)(em,{className:"w-4 h-4"}),"Success"]}),(0,b.jsxs)("div",{className:"text-xs text-app-text-dim",children:[l.changes," row(s) affected in ",l.executionTime,"ms"]})]})}):(0,b.jsxs)("div",{className:"text-app-text-dim text-center py-8 text-sm",children:['Click "Run selected" or press ',(0,b.jsx)("kbd",{className:"px-1.5 py-0.5 bg-app-sidebar-active rounded text-xs",children:"⌘↵"})," to execute"]})}),"errors"===r.activeTab&&(0,b.jsx)("div",{children:es?(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-4",children:[(0,b.jsxs)("div",{className:"text-xs text-app-text-dim mb-2",children:["Errors — ",ed.a||"Branch A"]}),eI.a?(0,b.jsx)("div",{className:"bg-red-500/10 border border-red-500/30 rounded p-3",children:(0,b.jsx)("pre",{className:"text-xs text-red-300 whitespace-pre-wrap font-mono",children:eI.a.message})}):(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs text-green-400",children:[(0,b.jsx)(em,{className:"w-3.5 h-3.5"}),"No errors"]})]}),(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-4",children:[(0,b.jsxs)("div",{className:"text-xs text-app-text-dim mb-2",children:["Errors — ",ed.b||"Branch B"]}),eI.b?(0,b.jsx)("div",{className:"bg-red-500/10 border border-red-500/30 rounded p-3",children:(0,b.jsx)("pre",{className:"text-xs text-red-300 whitespace-pre-wrap font-mono",children:eI.b.message})}):(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs text-green-400",children:[(0,b.jsx)(em,{className:"w-3.5 h-3.5"}),"No errors"]})]})]}):d?(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)("div",{className:"bg-red-500/10 border border-red-500/30 rounded-lg p-4",children:(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[(0,b.jsx)(iy,{className:"w-5 h-5 text-red-400 flex-shrink-0 mt-0.5"}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,b.jsx)("h3",{className:"text-red-400 font-semibold text-sm",children:"Error"}),(0,b.jsxs)("button",{onClick:()=>{navigator.clipboard.writeText(d.message),alert("Error copied to clipboard")},className:"px-2 py-1 text-xs bg-red-500/20 hover:bg-red-500/30 rounded flex items-center gap-1.5",children:[(0,b.jsx)(eS,{className:"w-3 h-3"}),"Copy"]})]}),(0,b.jsx)("pre",{className:"text-xs text-red-300 whitespace-pre-wrap font-mono",children:d.message}),d.code&&(0,b.jsxs)("div",{className:"mt-2 text-xs text-red-400",children:["Error code: ",d.code]})]})]})}),tO(d.message)&&(0,b.jsx)("div",{className:"bg-blue-500/10 border border-blue-500/30 rounded-lg p-4",children:(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[(0,b.jsx)(iw,{className:"w-5 h-5 text-blue-400 flex-shrink-0 mt-0.5"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-blue-400 font-semibold text-sm mb-1",children:"Hint"}),(0,b.jsx)("p",{className:"text-xs text-app-text-dim",children:tO(d.message)})]})]})}),p.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-sm font-medium mb-2",children:"Recent Errors"}),(0,b.jsx)("div",{className:"space-y-2",children:p.map((e,t)=>(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded p-3 text-xs",children:[(0,b.jsx)("div",{className:"text-app-text-dim mb-1",children:new Date(e.timestamp).toLocaleTimeString()}),(0,b.jsx)("div",{className:"text-red-300 font-mono text-xs",children:e.error.message})]},t))})]})]}):(0,b.jsxs)("div",{className:"text-center py-8",children:[(0,b.jsx)(em,{className:"w-12 h-12 text-green-500 mx-auto mb-2 opacity-50"}),(0,b.jsx)("div",{className:"text-app-text-dim text-sm",children:"No errors"})]})}),"info"===r.activeTab&&(0,b.jsx)("div",{className:"space-y-4",children:es?(0,b.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:["a","b"].map(e=>{let t="a"===e?ed.a||"Branch A":ed.b||"Branch B",r=e$[e];return(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-4",children:[(0,b.jsxs)("h3",{className:"text-sm font-semibold mb-3 flex items-center gap-2",children:[(0,b.jsx)(iw,{className:"w-4 h-4"}),"Execution Metadata — ",t]}),r?(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-3 text-xs",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-app-text-dim mb-1",children:"Execution time"}),(0,b.jsxs)("div",{className:"font-mono",children:[r.executionTime,"ms"]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-app-text-dim mb-1",children:"Query type"}),(0,b.jsx)("div",{className:"font-mono",children:ez[e]})]}),r.rows&&(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-app-text-dim mb-1",children:"Rows returned"}),(0,b.jsx)("div",{className:"font-mono",children:r.rows.length})]})]}):(0,b.jsx)("div",{className:"text-xs text-app-text-dim",children:"No execution yet"})]},e)})}):(0,b.jsxs)(b.Fragment,{children:[l&&(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-4",children:[(0,b.jsxs)("h3",{className:"text-sm font-semibold mb-3 flex items-center gap-2",children:[(0,b.jsx)(iw,{className:"w-4 h-4"}),"Execution Metadata"]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-3 text-xs",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-app-text-dim mb-1",children:"Execution time"}),(0,b.jsxs)("div",{className:"font-mono",children:[l.executionTime,"ms"]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-app-text-dim mb-1",children:"Query type"}),(0,b.jsx)("div",{className:"font-mono",children:ee})]}),void 0!==l.changes&&(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-app-text-dim mb-1",children:"Rows affected"}),(0,b.jsx)("div",{className:"font-mono",children:l.changes})]}),l.rows&&(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-app-text-dim mb-1",children:"Rows returned"}),(0,b.jsx)("div",{className:"font-mono",children:l.rows.length})]})]})]}),(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-4",children:[(0,b.jsx)("h3",{className:"text-sm font-semibold mb-3",children:"Migration Eligibility"}),["CREATE","ALTER","DROP"].includes(ee)?(0,b.jsxs)("div",{className:"flex items-start gap-2 text-xs",children:[(0,b.jsx)(em,{className:"w-4 h-4 text-green-400 flex-shrink-0 mt-0.5"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-green-400 mb-1",children:"This query can be saved as a migration"}),(0,b.jsx)("p",{className:"text-app-text-dim",children:"DDL statements (CREATE, ALTER, DROP) can be versioned as migrations."})]})]}):(0,b.jsxs)("div",{className:"flex items-start gap-2 text-xs",children:[(0,b.jsx)(iy,{className:"w-4 h-4 text-app-text-dim flex-shrink-0 mt-0.5"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-app-text-dim mb-1",children:"This query cannot be saved as a migration"}),(0,b.jsx)("p",{className:"text-app-text-dim",children:"Only DDL statements (CREATE, ALTER, DROP) can be migrations."})]})]})]}),(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-4",children:[(0,b.jsx)("h3",{className:"text-sm font-semibold mb-3",children:"Editor Features"}),(0,b.jsxs)("div",{className:"space-y-2 text-xs text-app-text-dim",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(em,{className:"w-3.5 h-3.5 text-green-500"}),"SQL autocomplete enabled"]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(em,{className:"w-3.5 h-3.5 text-green-500"}),"Press Ctrl+Space for suggestions"]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(em,{className:"w-3.5 h-3.5 text-green-500"}),"Hover over keywords for documentation"]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(em,{className:"w-3.5 h-3.5 text-green-500"}),"Schema-aware column suggestions"]})]})]}),(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-4",children:[(0,b.jsx)("h3",{className:"text-sm font-semibold mb-3",children:"System Information"}),(0,b.jsxs)("div",{className:"space-y-1 text-xs text-app-text-dim",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(N,{className:"w-3.5 h-3.5"}),"SQLite 3.44.0"]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(ij,{className:"w-3.5 h-3.5"}),"Monaco Editor"]})]})]})]})})]})]})]}),x&&(0,b.jsx)("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-50",onClick:()=>v(!1),children:(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-6 w-full max-w-md",onClick:e=>e.stopPropagation(),children:[(0,b.jsx)("h2",{className:"text-xl font-bold mb-4",children:"Save as Migration"}),(0,b.jsxs)("div",{className:"mb-4",children:[(0,b.jsx)("label",{className:"block text-sm text-app-text-dim mb-2",children:"Migration Name"}),(0,b.jsx)("input",{type:"text",value:y,onChange:e=>w(e.target.value),onKeyDown:e=>{"Enter"!==e.key||j||tD()},placeholder:"e.g., add_users_table or create_indexes",className:"w-full px-3 py-2 bg-app-bg border border-app-border rounded text-sm focus:outline-none focus:border-app-accent",autoFocus:!0}),(0,b.jsx)("p",{className:"text-xs text-app-text-dim mt-1",children:"The migration will be automatically numbered (e.g., 001_your_name.sql)"})]}),(0,b.jsxs)("div",{className:"mb-4",children:[(0,b.jsx)("label",{className:"block text-sm text-app-text-dim mb-2",children:"SQL Preview"}),(0,b.jsx)("pre",{className:"text-xs bg-app-bg border border-app-border rounded p-3 max-h-40 overflow-auto font-mono",children:r.sql})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)("button",{onClick:()=>{v(!1),w("")},disabled:j,className:"px-4 py-2 text-sm bg-app-sidebar-active hover:bg-app-sidebar-hover disabled:opacity-50 rounded transition-colors",children:"Cancel"}),(0,b.jsx)("button",{onClick:tD,disabled:j||!y.trim(),className:"px-4 py-2 text-sm bg-app-accent hover:bg-app-accent-hover disabled:opacity-50 text-white rounded transition-colors",children:j?"Creating...":"Create Migration"})]})]})}),k&&(0,b.jsx)("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-50",onClick:()=>_(!1),children:(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-6 w-full max-w-md",onClick:e=>e.stopPropagation(),children:[(0,b.jsx)("h2",{className:"text-xl font-bold mb-4",children:"Save as Favorite"}),(0,b.jsxs)("div",{className:"mb-4",children:[(0,b.jsx)("label",{className:"block text-sm text-app-text-dim mb-2",children:"Favorite Name"}),(0,b.jsx)("input",{type:"text",value:M,onChange:e=>T(e.target.value),onKeyDown:e=>{"Enter"===e.key&&tL()},placeholder:"e.g., Get all users or Common joins",className:"w-full px-3 py-2 bg-app-bg border border-app-border rounded text-sm focus:outline-none focus:border-app-accent",autoFocus:!0})]}),(0,b.jsxs)("div",{className:"mb-4",children:[(0,b.jsx)("label",{className:"block text-sm text-app-text-dim mb-2",children:"SQL Preview"}),(0,b.jsx)("pre",{className:"text-xs bg-app-bg border border-app-border rounded p-3 max-h-40 overflow-auto font-mono",children:A})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)("button",{onClick:()=>{_(!1),T(""),R("")},className:"px-4 py-2 text-sm bg-app-sidebar-active hover:bg-app-sidebar-hover rounded transition-colors",children:"Cancel"}),(0,b.jsx)("button",{onClick:tL,disabled:!M.trim(),className:"px-4 py-2 text-sm bg-app-accent hover:bg-app-accent-hover disabled:opacity-50 text-white rounded transition-colors",children:"Save Favorite"})]})]})}),(0,b.jsx)(of,{isOpen:L,onClose:()=>{P(!1),W(""),Y("")},onSuccess:()=>{P(!1),W(""),Y(""),iT.toast.success("Snapshot created successfully!")},defaultLabel:I,defaultDescription:V}),K&&(0,b.jsx)(ob,{isOpen:K.isOpen,onClose:()=>Q(null),sql:K.sql,riskLevel:K.level,riskReason:K.reason,onProceed:()=>tT(K.sql)}),ti&&(0,b.jsxs)("div",{className:"fixed bg-app-sidebar border border-app-border rounded-lg shadow-lg overflow-hidden z-50",style:{left:ti.x,top:ti.y},onClick:e=>e.stopPropagation(),children:[(0,b.jsx)("div",{className:"px-3 py-1.5 text-xs text-app-text-dim border-b border-app-border",children:"Save As..."}),(0,b.jsxs)("button",{onClick:()=>{let e=eQ.find(e=>e.id===ti.tabId);if(!e?.sql?.trim()){iT.toast.error("Cannot save empty query"),to(null);return}tt({type:"favorite",sql:e.sql}),tn("Untitled query"!==e.name?e.name:""),ts([]),to(null)},className:"w-full px-3 py-2 text-left text-sm hover:bg-app-sidebar-hover flex items-center gap-2",children:[(0,b.jsx)(iv,{className:"w-4 h-4 text-yellow-400"}),(0,b.jsx)("span",{children:"Save as Favorite"})]}),(0,b.jsxs)("button",{onClick:()=>{let e=eQ.find(e=>e.id===ti.tabId);if(!e?.sql?.trim()){iT.toast.error("Cannot save empty query"),to(null);return}tt({type:"template",sql:e.sql}),tn("Untitled query"!==e.name?e.name:""),ts([]),to(null)},className:"w-full px-3 py-2 text-left text-sm hover:bg-app-sidebar-hover flex items-center gap-2",children:[(0,b.jsx)(ij,{className:"w-4 h-4 text-blue-400"}),(0,b.jsx)("span",{children:"Save as Template"})]}),(0,b.jsxs)("button",{onClick:()=>{let e=eQ.find(e=>e.id===ti.tabId);if(!e?.sql?.trim()){iT.toast.error("Cannot save empty query"),to(null);return}tt({type:"private",sql:e.sql}),tn("Untitled query"!==e.name?e.name:""),ts([]),to(null)},className:"w-full px-3 py-2 text-left text-sm hover:bg-app-sidebar-hover flex items-center gap-2",children:[(0,b.jsx)($,{className:"w-4 h-4 text-purple-400"}),(0,b.jsx)("span",{children:"Save as Private"})]})]}),te&&(0,b.jsx)("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-50",onClick:()=>{tt(null),ts([])},children:(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-6 w-full max-w-md",onClick:e=>e.stopPropagation(),children:[(0,b.jsxs)("h2",{className:"text-lg font-bold mb-4 flex items-center gap-2",children:["favorite"===te.type&&(0,b.jsx)(iv,{className:"w-5 h-5 text-yellow-400"}),"template"===te.type&&(0,b.jsx)(ij,{className:"w-5 h-5 text-blue-400"}),"private"===te.type&&(0,b.jsx)($,{className:"w-5 h-5 text-purple-400"}),"Save as ",te.type.charAt(0).toUpperCase()+te.type.slice(1)]}),(0,b.jsxs)("div",{className:"mb-4",children:[(0,b.jsx)("label",{className:"block text-sm text-app-text-dim mb-2",children:"Name"}),(0,b.jsx)("input",{type:"text",value:tr,onChange:e=>tn(e.target.value),onKeyDown:e=>{"Enter"===e.key&&tr.trim()&&td(te.type)},placeholder:"Enter a name for this query...",className:"w-full px-3 py-2 bg-app-bg border border-app-border rounded text-sm focus:outline-none focus:border-app-accent",autoFocus:!0})]}),(()=>{let e=tl(te.type),t=e.filter(e=>"folder"===e.type);if(0===t.length)return null;let r=[];r.push((0,b.jsxs)("select",{value:ta[0]||"",onChange:e=>{""===e.target.value?ts([]):ts([e.target.value])},className:"bg-app-bg border border-app-border rounded px-2 py-1.5 text-xs focus:outline-none focus:border-app-accent min-w-[100px]",children:[(0,b.jsx)("option",{value:"",children:"Root"}),t.map(e=>(0,b.jsx)("option",{value:e.id,children:e.label},e.id))]},"root"));let n=e;for(let e=0;e<ta.length;e++){let t=ta[e],a=n.find(e=>e.id===t&&"folder"===e.type);if(!a?.children)break;let s=a.children.filter(e=>"folder"===e.type);if(0===s.length)break;let i=e+1;r.push((0,b.jsx)(ej,{className:"w-4 h-4 text-app-text-dim flex-shrink-0"},`arrow-${e}`),(0,b.jsxs)("select",{value:ta[i]||"",onChange:e=>{""===e.target.value?ts(e=>e.slice(0,i)):ts(t=>[...t.slice(0,i),e.target.value])},className:"bg-app-bg border border-app-border rounded px-2 py-1.5 text-xs focus:outline-none focus:border-app-accent min-w-[100px]",children:[(0,b.jsx)("option",{value:"",children:a.label}),s.map(e=>(0,b.jsx)("option",{value:e.id,children:e.label},e.id))]},`level-${i}`)),n=a.children}return(0,b.jsxs)("div",{className:"mb-4",children:[(0,b.jsx)("label",{className:"block text-sm text-app-text-dim mb-2",children:"Location (optional)"}),(0,b.jsxs)("div",{className:"flex items-center gap-1 flex-wrap",children:[(0,b.jsx)(iC,{className:"w-4 h-4 text-app-text-dim flex-shrink-0 mr-1"}),r]})]})})(),(0,b.jsxs)("div",{className:"mb-4",children:[(0,b.jsx)("label",{className:"block text-sm text-app-text-dim mb-2",children:"Preview"}),(0,b.jsxs)("div",{className:"bg-app-bg border border-app-border rounded p-2 text-xs font-mono max-h-24 overflow-auto",children:[te.sql.slice(0,200),te.sql.length>200?"...":""]})]}),(0,b.jsxs)("div",{className:"mb-4",children:[(0,b.jsx)("label",{className:"block text-sm text-app-text-dim mb-2",children:"Save to"}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)("button",{onClick:()=>{tt({...te,type:"favorite"}),ts([])},className:`flex-1 px-3 py-2 text-xs rounded flex items-center justify-center gap-2 transition-colors ${"favorite"===te.type?"bg-yellow-500/20 border border-yellow-500/50 text-yellow-400":"bg-app-bg border border-app-border hover:bg-app-sidebar-hover"}`,children:[(0,b.jsx)(iv,{className:"w-3.5 h-3.5"}),"Favorite"]}),(0,b.jsxs)("button",{onClick:()=>{tt({...te,type:"template"}),ts([])},className:`flex-1 px-3 py-2 text-xs rounded flex items-center justify-center gap-2 transition-colors ${"template"===te.type?"bg-blue-500/20 border border-blue-500/50 text-blue-400":"bg-app-bg border border-app-border hover:bg-app-sidebar-hover"}`,children:[(0,b.jsx)(ij,{className:"w-3.5 h-3.5"}),"Template"]}),(0,b.jsxs)("button",{onClick:()=>{tt({...te,type:"private"}),ts([])},className:`flex-1 px-3 py-2 text-xs rounded flex items-center justify-center gap-2 transition-colors ${"private"===te.type?"bg-purple-500/20 border border-purple-500/50 text-purple-400":"bg-app-bg border border-app-border hover:bg-app-sidebar-hover"}`,children:[(0,b.jsx)($,{className:"w-3.5 h-3.5"}),"Private"]})]})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)("button",{onClick:()=>{tt(null),ts([])},className:"px-4 py-2 text-sm bg-app-sidebar-active hover:bg-app-sidebar-hover rounded transition-colors",children:"Cancel"}),(0,b.jsx)("button",{onClick:()=>td(te.type),disabled:!tr.trim(),className:"px-4 py-2 text-sm bg-app-accent hover:bg-app-accent-hover disabled:opacity-50 text-white rounded transition-colors",children:"Save"})]})]})})]})}function oy(e){return i2(e,Date.now())}function ow(e,t){let r=iZ(e),n=iZ(t),a=r.getTime()-n.getTime();return a<0?-1:a>0?1:a}function oj(e,t){return function(e,t,r){var n,a,s;let i,o,l,c=r?.locale??iJ.locale??iQ,d=ow(e,t);if(isNaN(d))throw RangeError("Invalid time value");let u=Object.assign({},r,{addSuffix:r?.addSuffix,comparison:d});d>0?(i=iZ(t),o=iZ(e)):(i=iZ(e),o=iZ(t));let p=(n=o,a=i,(s=void 0,e=>{let t=(s?Math[s]:Math.trunc)(e);return 0===t?0:t})((iZ(n)-iZ(a))/1e3)),h=Math.round((p-(i1(o)-i1(i))/1e3)/60);if(h<2)if(r?.includeSeconds)if(p<5)return c.formatDistance("lessThanXSeconds",5,u);else if(p<10)return c.formatDistance("lessThanXSeconds",10,u);else if(p<20)return c.formatDistance("lessThanXSeconds",20,u);else if(p<40)return c.formatDistance("halfAMinute",0,u);else if(p<60)return c.formatDistance("lessThanXMinutes",1,u);else return c.formatDistance("xMinutes",1,u);else if(0===h)return c.formatDistance("lessThanXMinutes",1,u);else return c.formatDistance("xMinutes",h,u);if(h<45)return c.formatDistance("xMinutes",h,u);if(h<90)return c.formatDistance("aboutXHours",1,u);if(h<1440){let e=Math.round(h/60);return c.formatDistance("aboutXHours",e,u)}if(h<2520)return c.formatDistance("xDays",1,u);else if(h<43200){let e=Math.round(h/1440);return c.formatDistance("xDays",e,u)}else if(h<86400)return l=Math.round(h/43200),c.formatDistance("aboutXMonths",l,u);if((l=function(e,t){let r,n,a,s=iZ(e),i=iZ(t),o=ow(s,i),l=Math.abs((n=iZ(s),a=iZ(i),12*(n.getFullYear()-a.getFullYear())+(n.getMonth()-a.getMonth())));if(l<1)r=0;else{var c;let t,n,a,d;1===s.getMonth()&&s.getDate()>27&&s.setDate(30),s.setMonth(s.getMonth()-o*l);let u=ow(s,i)===-o;c=iZ(e),d=iZ(c),+((t=iZ(d)).setHours(23,59,59,999),t)==+(a=(n=iZ(d)).getMonth(),n.setFullYear(n.getFullYear(),a+1,0),n.setHours(23,59,59,999),n)&&1===l&&1===ow(e,i)&&(u=!1),r=o*(l-Number(u))}return 0===r?0:r}(o,i))<12){let e=Math.round(h/43200);return c.formatDistance("xMonths",e,u)}{let e=l%12,t=Math.trunc(l/12);return e<3?c.formatDistance("aboutXYears",t,u):e<9?c.formatDistance("overXYears",t,u):c.formatDistance("almostXYears",t+1,u)}}(e,oy(e),t)}function oN(){let e,{branchVersion:t}=ev(),[r,n]=(0,g.useState)([]),[a,s]=(0,g.useState)(!0),[i,o]=(0,g.useState)("main"),[l,c]=(0,g.useState)("all"),[d,u]=(0,g.useState)(null),[p,h]=(0,g.useState)(0);async function m(){try{let e=await I();o(e.currentBranch||"main")}catch(e){console.error("Failed to load project info:",e)}}async function f(){try{s(!0);let e=await W(100,0,!1);n(e.events||[]),h(e.total||0)}catch(e){console.error("Failed to load timeline:",e)}finally{s(!1)}}(0,g.useEffect)(()=>{m()},[t]),(0,g.useEffect)(()=>{f()},[l,t]);let x=r.filter(e=>"all"===l||("migrations"===l?e.type.includes("migration"):"sql"===l?e.type.includes("sql")||e.type.includes("table"):"snapshots"===l?e.type.includes("snapshot"):"branches"!==l||e.type.includes("branch"))),v=(e={},x.forEach(t=>{var r,n;let a,s=new Date(t.createdAt);if(r=s,n=oy(s),+i0(r)==+i0(n))a="Today";else a=!function(e){var t,r,n;let a;return r=e,n=(t=oy(e),a=iZ(t),isNaN(-1)?i2(t,NaN):(a.setDate(a.getDate()+-1),a)),+i0(r)==+i0(n)}(s)?om(s,"MMMM d, yyyy"):"Yesterday";e[a]||(e[a]=[]),e[a].push(t)}),e);return a?(0,b.jsx)("div",{className:"h-full flex items-center justify-center",children:(0,b.jsx)(L,{className:"w-6 h-6 animate-spin text-app-accent"})}):(0,b.jsxs)("div",{className:"h-full flex flex-col bg-app-bg",children:[(0,b.jsx)("div",{className:"px-6 py-4 border-b border-app-border",children:(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-bold mb-1",children:"Timeline"}),(0,b.jsxs)("p",{className:"text-sm text-app-text-dim",children:["Database activity history • Branch: ",(0,b.jsx)("span",{className:"text-app-accent font-medium",children:i})]})]}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsxs)("select",{value:l,onChange:e=>c(e.target.value),className:"px-3 py-2 bg-app-sidebar border border-app-border rounded text-sm appearance-none pr-8 cursor-pointer hover:border-app-border-hover transition-colors focus:outline-none focus:border-app-accent",children:[(0,b.jsx)("option",{value:"all",children:"All"}),(0,b.jsx)("option",{value:"migrations",children:"Migrations"}),(0,b.jsx)("option",{value:"sql",children:"SQL"}),(0,b.jsx)("option",{value:"snapshots",children:"Snapshots"}),(0,b.jsx)("option",{value:"branches",children:"Branches"})]}),(0,b.jsx)(O,{className:"w-4 h-4 absolute right-2 top-1/2 -translate-y-1/2 text-app-text-dim pointer-events-none"})]})]})}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto p-6",children:0===x.length?(0,b.jsxs)("div",{className:"h-full flex flex-col items-center justify-center text-app-text-dim",children:[(0,b.jsx)(S,{className:"w-12 h-12 mb-3 opacity-50"}),(0,b.jsx)("p",{className:"text-lg",children:"No events yet"}),(0,b.jsx)("p",{className:"text-sm mt-1",children:"Activity will appear here as you use SQL Kite"})]}):(0,b.jsx)("div",{className:"max-w-4xl mx-auto space-y-6",children:Object.entries(v).map(([e,t])=>(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-xs font-semibold text-app-text-dim uppercase mb-3",children:e}),(0,b.jsx)("div",{className:"space-y-2",children:t.map(e=>(0,b.jsx)(oE,{event:e,currentBranch:i,expanded:d===e.id,onToggleExpand:()=>u(d===e.id?null:e.id)},e.id))})]},e))})})]})}function oE({event:e,currentBranch:t,expanded:r,onToggleExpand:n}){let a=function(e){switch(e){case"sql_executed":case"sql_error":return(0,b.jsx)(j,{className:"w-5 h-5"});case"table_created":case"table_dropped":return(0,b.jsx)(N,{className:"w-5 h-5"});case"snapshot_created":case"snapshot_restored":return(0,b.jsx)(E,{className:"w-5 h-5"});case"migration_applied":case"migration_created":case"migration_failed":return(0,b.jsx)(S,{className:"w-5 h-5"});case"branch_created":case"branch_created_from_here":case"branch_deleted":case"branch_switched":case"branch_promoted":case"branch_promoted_from_here":return(0,b.jsx)(C,{className:"w-5 h-5"});default:return(0,b.jsx)(iy,{className:"w-5 h-5"})}}(e.type),s=function(e){switch(e){case"sql_executed":case"branch_promoted":case"branch_promoted_from_here":return"bg-green-500/20 text-green-400";case"sql_error":case"migration_failed":case"branch_deleted":return"bg-red-500/20 text-red-400";case"table_created":return"bg-blue-500/20 text-blue-400";case"table_dropped":return"bg-orange-500/20 text-orange-400";case"snapshot_created":case"snapshot_restored":return"bg-purple-500/20 text-purple-400";case"migration_applied":case"migration_created":return"bg-yellow-500/20 text-yellow-400";case"branch_created":case"branch_created_from_here":return"bg-cyan-500/20 text-cyan-400";case"branch_switched":return"bg-indigo-500/20 text-indigo-400";default:return"bg-gray-500/20 text-gray-400"}}(e.type),i=["sql_executed","sql_error","migration_applied","migration_created","migration_failed","snapshot_created","snapshot_restored","branch_created","branch_created_from_here","branch_deleted","branch_promoted","branch_promoted_from_here","table_created"].includes(e.type);return(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg overflow-hidden hover:border-app-border-hover transition-colors",children:[(0,b.jsx)("div",{className:"p-4",children:(0,b.jsxs)("div",{className:"flex gap-4",children:[(0,b.jsx)("div",{className:`flex-shrink-0 w-10 h-10 rounded-lg ${s} flex items-center justify-center`,children:a}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4 mb-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,b.jsx)("h3",{className:"font-semibold text-sm",children:e.type.split("_").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")}),e.branch&&(0,b.jsxs)("span",{className:`
82
+ `,children:e},e))}),!es&&(0,b.jsxs)("div",{className:"hidden lg:flex items-center gap-3 text-[10px] text-app-text-dim/60",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)("kbd",{className:"px-1 py-0.5 bg-app-bg/50 border border-app-border/50 rounded text-[10px]",children:"⌘↵"}),"run"]}),(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)("kbd",{className:"px-1 py-0.5 bg-app-bg/50 border border-app-border/50 rounded text-[10px]",children:"⌘⇧↵"}),"selected"]}),(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)("kbd",{className:"px-1 py-0.5 bg-app-bg/50 border border-app-border/50 rounded text-[10px]",children:"⌘Space"}),"autocomplete"]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,b.jsxs)("div",{className:"relative",ref:eq,children:[(0,b.jsxs)("button",{onClick:()=>{es||Z(!J)},disabled:es||!l?.rows||0===l.rows.length,title:es?tP:void 0,className:"px-3 py-1.5 text-xs bg-app-sidebar-active hover:bg-app-sidebar-hover disabled:opacity-50 rounded transition-colors flex items-center gap-1.5",children:[(0,b.jsx)(iN,{className:"w-3.5 h-3.5"}),"Export",es&&(0,b.jsx)(L,{className:"w-3 h-3 text-app-text-dim"}),(0,b.jsx)(O,{className:"w-3 h-3"})]}),J&&(0,b.jsxs)("div",{className:"absolute top-full mt-1 right-0 bg-app-sidebar border border-app-border rounded-lg shadow-lg py-1 z-10 min-w-[160px]",children:[(0,b.jsxs)("button",{onClick:()=>tL("csv"),className:"w-full px-3 py-2 text-xs text-left hover:bg-app-sidebar-hover flex items-center gap-2",children:[(0,b.jsx)(ij,{className:"w-3.5 h-3.5"}),"Export as CSV"]}),(0,b.jsxs)("button",{onClick:()=>tL("json"),className:"w-full px-3 py-2 text-xs text-left hover:bg-app-sidebar-hover flex items-center gap-2",children:[(0,b.jsx)(ij,{className:"w-3.5 h-3.5"}),"Export as JSON"]}),(0,b.jsxs)("button",{onClick:()=>tL("markdown"),className:"w-full px-3 py-2 text-xs text-left hover:bg-app-sidebar-hover flex items-center gap-2",children:[(0,b.jsx)(ij,{className:"w-3.5 h-3.5"}),"Export as Markdown"]}),(0,b.jsxs)("button",{onClick:()=>tL("sql"),className:"w-full px-3 py-2 text-xs text-left hover:bg-app-sidebar-hover flex items-center gap-2",children:[(0,b.jsx)(ij,{className:"w-3.5 h-3.5"}),"Export Query (SQL)"]})]})]}),(0,b.jsxs)("button",{onClick:function(){P(!0)},disabled:es,title:es?tP:void 0,className:"px-3 py-1.5 text-xs bg-app-border hover:bg-app-sidebar-hover disabled:opacity-50 rounded transition-colors flex items-center gap-1.5",children:[(0,b.jsx)(E,{className:"w-3.5 h-3.5"}),"Take snapshot",es&&(0,b.jsx)(L,{className:"w-3 h-3 text-app-text-dim"})]}),(0,b.jsxs)("button",{onClick:function(){if(eG.current){let e=eG.current.getSelection(),t=eG.current.getModel().getValueInRange(e);if(!t.trim())return void alert("Please select SQL text first");R(t),_(!0)}},disabled:es,title:es?tP:void 0,className:"px-3 py-1.5 text-xs bg-app-sidebar-active hover:bg-app-sidebar-hover disabled:opacity-50 rounded transition-colors flex items-center gap-1.5",children:[(0,b.jsx)(iv,{className:"w-3.5 h-3.5"}),"Save as Favorite",es&&(0,b.jsx)(L,{className:"w-3 h-3 text-app-text-dim"})]}),(0,b.jsxs)("button",{onClick:tR,disabled:es,title:es?tP:void 0,className:"px-3 py-1.5 text-xs bg-orange-500/20 hover:bg-orange-500/30 disabled:opacity-50 text-orange-400 rounded transition-colors flex items-center gap-1.5",children:[(0,b.jsx)(ig,{className:"w-3.5 h-3.5"}),"Save as Migration",es&&(0,b.jsx)(L,{className:"w-3 h-3 text-app-text-dim"})]}),(!es||"manual"===eo)&&(0,b.jsx)("button",{onClick:()=>{es?tC():tM()},disabled:es&&!tB||m,title:es&&!tB?"Run is available in Manual Inspect with two different branches selected":void 0,className:"px-4 py-1.5 text-xs bg-app-accent hover:bg-app-accent-hover disabled:opacity-50 text-white rounded transition-colors font-medium",children:m?"Running...":"Run"})]})]})}),(0,b.jsxs)("div",{className:"flex-1 overflow-auto p-4",children:["result"===r.activeTab&&(0,b.jsx)("div",{children:es?"manual"!==eo?(0,b.jsx)("div",{className:"text-app-text-dim text-center py-8 text-sm",children:"Results are available in Manual Inspect."}):(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[tz(ed.a||"Branch A",eL.a,eI.a),tz(ed.b||"Branch B",eL.b,eI.b)]}):d?(0,b.jsxs)("div",{className:"bg-red-500/10 border border-red-500/30 rounded p-3",children:[(0,b.jsx)("div",{className:"text-red-400 font-semibold text-sm mb-1",children:"Error"}),(0,b.jsx)("pre",{className:"text-xs text-red-300 whitespace-pre-wrap font-mono",children:d.message})]}):l?(0,b.jsx)("div",{children:"select"===l.type?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"mb-2 text-xs text-app-text-dim",children:[l.rows?.length||0," rows returned in ",l.executionTime,"ms"]}),tF(l.rows||[])]}):(0,b.jsxs)("div",{className:"bg-green-500/10 border border-green-500/30 rounded p-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-green-400 font-semibold text-sm mb-1",children:[(0,b.jsx)(em,{className:"w-4 h-4"}),"Success"]}),(0,b.jsxs)("div",{className:"text-xs text-app-text-dim",children:[l.changes," row(s) affected in ",l.executionTime,"ms"]})]})}):(0,b.jsxs)("div",{className:"text-app-text-dim text-center py-8 text-sm",children:['Click "Run selected" or press ',(0,b.jsx)("kbd",{className:"px-1.5 py-0.5 bg-app-sidebar-active rounded text-xs",children:"⌘↵"})," to execute"]})}),"errors"===r.activeTab&&(0,b.jsx)("div",{children:es?(0,b.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-4",children:[(0,b.jsxs)("div",{className:"text-xs text-app-text-dim mb-2",children:["Errors — ",ed.a||"Branch A"]}),eI.a?(0,b.jsx)("div",{className:"bg-red-500/10 border border-red-500/30 rounded p-3",children:(0,b.jsx)("pre",{className:"text-xs text-red-300 whitespace-pre-wrap font-mono",children:eI.a.message})}):(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs text-green-400",children:[(0,b.jsx)(em,{className:"w-3.5 h-3.5"}),"No errors"]})]}),(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-4",children:[(0,b.jsxs)("div",{className:"text-xs text-app-text-dim mb-2",children:["Errors — ",ed.b||"Branch B"]}),eI.b?(0,b.jsx)("div",{className:"bg-red-500/10 border border-red-500/30 rounded p-3",children:(0,b.jsx)("pre",{className:"text-xs text-red-300 whitespace-pre-wrap font-mono",children:eI.b.message})}):(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs text-green-400",children:[(0,b.jsx)(em,{className:"w-3.5 h-3.5"}),"No errors"]})]})]}):d?(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)("div",{className:"bg-red-500/10 border border-red-500/30 rounded-lg p-4",children:(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[(0,b.jsx)(iy,{className:"w-5 h-5 text-red-400 flex-shrink-0 mt-0.5"}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,b.jsx)("h3",{className:"text-red-400 font-semibold text-sm",children:"Error"}),(0,b.jsxs)("button",{onClick:()=>{navigator.clipboard.writeText(d.message),alert("Error copied to clipboard")},className:"px-2 py-1 text-xs bg-red-500/20 hover:bg-red-500/30 rounded flex items-center gap-1.5",children:[(0,b.jsx)(eS,{className:"w-3 h-3"}),"Copy"]})]}),(0,b.jsx)("pre",{className:"text-xs text-red-300 whitespace-pre-wrap font-mono",children:d.message}),d.code&&(0,b.jsxs)("div",{className:"mt-2 text-xs text-red-400",children:["Error code: ",d.code]})]})]})}),tO(d.message)&&(0,b.jsx)("div",{className:"bg-blue-500/10 border border-blue-500/30 rounded-lg p-4",children:(0,b.jsxs)("div",{className:"flex items-start gap-3",children:[(0,b.jsx)(iw,{className:"w-5 h-5 text-blue-400 flex-shrink-0 mt-0.5"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-blue-400 font-semibold text-sm mb-1",children:"Hint"}),(0,b.jsx)("p",{className:"text-xs text-app-text-dim",children:tO(d.message)})]})]})}),p.length>0&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-sm font-medium mb-2",children:"Recent Errors"}),(0,b.jsx)("div",{className:"space-y-2",children:p.map((e,t)=>(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded p-3 text-xs",children:[(0,b.jsx)("div",{className:"text-app-text-dim mb-1",children:new Date(e.timestamp).toLocaleTimeString()}),(0,b.jsx)("div",{className:"text-red-300 font-mono text-xs",children:e.error.message})]},t))})]})]}):(0,b.jsxs)("div",{className:"text-center py-8",children:[(0,b.jsx)(em,{className:"w-12 h-12 text-green-500 mx-auto mb-2 opacity-50"}),(0,b.jsx)("div",{className:"text-app-text-dim text-sm",children:"No errors"})]})}),"info"===r.activeTab&&(0,b.jsx)("div",{className:"space-y-4",children:es?(0,b.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:["a","b"].map(e=>{let t="a"===e?ed.a||"Branch A":ed.b||"Branch B",r=eL[e];return(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-4",children:[(0,b.jsxs)("h3",{className:"text-sm font-semibold mb-3 flex items-center gap-2",children:[(0,b.jsx)(iw,{className:"w-4 h-4"}),"Execution Metadata — ",t]}),r?(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-3 text-xs",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-app-text-dim mb-1",children:"Execution time"}),(0,b.jsxs)("div",{className:"font-mono",children:[r.executionTime,"ms"]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-app-text-dim mb-1",children:"Query type"}),(0,b.jsx)("div",{className:"font-mono",children:eF[e]})]}),r.rows&&(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-app-text-dim mb-1",children:"Rows returned"}),(0,b.jsx)("div",{className:"font-mono",children:r.rows.length})]})]}):(0,b.jsx)("div",{className:"text-xs text-app-text-dim",children:"No execution yet"})]},e)})}):(0,b.jsxs)(b.Fragment,{children:[l&&(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-4",children:[(0,b.jsxs)("h3",{className:"text-sm font-semibold mb-3 flex items-center gap-2",children:[(0,b.jsx)(iw,{className:"w-4 h-4"}),"Execution Metadata"]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-3 text-xs",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-app-text-dim mb-1",children:"Execution time"}),(0,b.jsxs)("div",{className:"font-mono",children:[l.executionTime,"ms"]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-app-text-dim mb-1",children:"Query type"}),(0,b.jsx)("div",{className:"font-mono",children:ee})]}),void 0!==l.changes&&(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-app-text-dim mb-1",children:"Rows affected"}),(0,b.jsx)("div",{className:"font-mono",children:l.changes})]}),l.rows&&(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-app-text-dim mb-1",children:"Rows returned"}),(0,b.jsx)("div",{className:"font-mono",children:l.rows.length})]})]})]}),(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-4",children:[(0,b.jsx)("h3",{className:"text-sm font-semibold mb-3",children:"Migration Eligibility"}),["CREATE","ALTER","DROP"].includes(ee)?(0,b.jsxs)("div",{className:"flex items-start gap-2 text-xs",children:[(0,b.jsx)(em,{className:"w-4 h-4 text-green-400 flex-shrink-0 mt-0.5"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-green-400 mb-1",children:"This query can be saved as a migration"}),(0,b.jsx)("p",{className:"text-app-text-dim",children:"DDL statements (CREATE, ALTER, DROP) can be versioned as migrations."})]})]}):(0,b.jsxs)("div",{className:"flex items-start gap-2 text-xs",children:[(0,b.jsx)(iy,{className:"w-4 h-4 text-app-text-dim flex-shrink-0 mt-0.5"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("p",{className:"text-app-text-dim mb-1",children:"This query cannot be saved as a migration"}),(0,b.jsx)("p",{className:"text-app-text-dim",children:"Only DDL statements (CREATE, ALTER, DROP) can be migrations."})]})]})]}),(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-4",children:[(0,b.jsx)("h3",{className:"text-sm font-semibold mb-3",children:"Editor Features"}),(0,b.jsxs)("div",{className:"space-y-2 text-xs text-app-text-dim",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(em,{className:"w-3.5 h-3.5 text-green-500"}),"SQL autocomplete enabled"]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(em,{className:"w-3.5 h-3.5 text-green-500"}),"Press Ctrl+Space for suggestions"]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(em,{className:"w-3.5 h-3.5 text-green-500"}),"Hover over keywords for documentation"]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(em,{className:"w-3.5 h-3.5 text-green-500"}),"Schema-aware column suggestions"]})]})]}),(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-4",children:[(0,b.jsx)("h3",{className:"text-sm font-semibold mb-3",children:"System Information"}),(0,b.jsxs)("div",{className:"space-y-1 text-xs text-app-text-dim",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(N,{className:"w-3.5 h-3.5"}),"SQLite 3.44.0"]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(ij,{className:"w-3.5 h-3.5"}),"Monaco Editor"]})]})]})]})})]})]})]}),x&&(0,b.jsx)("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-50",onClick:()=>v(!1),children:(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-6 w-full max-w-md",onClick:e=>e.stopPropagation(),children:[(0,b.jsx)("h2",{className:"text-xl font-bold mb-4",children:"Save as Migration"}),(0,b.jsxs)("div",{className:"mb-4",children:[(0,b.jsx)("label",{className:"block text-sm text-app-text-dim mb-2",children:"Migration Name"}),(0,b.jsx)("input",{type:"text",value:y,onChange:e=>w(e.target.value),onKeyDown:e=>{"Enter"!==e.key||j||tD()},placeholder:"e.g., add_users_table or create_indexes",className:"w-full px-3 py-2 bg-app-bg border border-app-border rounded text-sm focus:outline-none focus:border-app-accent",autoFocus:!0}),(0,b.jsx)("p",{className:"text-xs text-app-text-dim mt-1",children:"The migration will be automatically numbered (e.g., 001_your_name.sql)"})]}),(0,b.jsxs)("div",{className:"mb-4",children:[(0,b.jsx)("label",{className:"block text-sm text-app-text-dim mb-2",children:"SQL Preview"}),(0,b.jsx)("pre",{className:"text-xs bg-app-bg border border-app-border rounded p-3 max-h-40 overflow-auto font-mono",children:r.sql})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)("button",{onClick:()=>{v(!1),w("")},disabled:j,className:"px-4 py-2 text-sm bg-app-sidebar-active hover:bg-app-sidebar-hover disabled:opacity-50 rounded transition-colors",children:"Cancel"}),(0,b.jsx)("button",{onClick:tD,disabled:j||!y.trim(),className:"px-4 py-2 text-sm bg-app-accent hover:bg-app-accent-hover disabled:opacity-50 text-white rounded transition-colors",children:j?"Creating...":"Create Migration"})]})]})}),k&&(0,b.jsx)("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-50",onClick:()=>_(!1),children:(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-6 w-full max-w-md",onClick:e=>e.stopPropagation(),children:[(0,b.jsx)("h2",{className:"text-xl font-bold mb-4",children:"Save as Favorite"}),(0,b.jsxs)("div",{className:"mb-4",children:[(0,b.jsx)("label",{className:"block text-sm text-app-text-dim mb-2",children:"Favorite Name"}),(0,b.jsx)("input",{type:"text",value:M,onChange:e=>T(e.target.value),onKeyDown:e=>{"Enter"===e.key&&t$()},placeholder:"e.g., Get all users or Common joins",className:"w-full px-3 py-2 bg-app-bg border border-app-border rounded text-sm focus:outline-none focus:border-app-accent",autoFocus:!0})]}),(0,b.jsxs)("div",{className:"mb-4",children:[(0,b.jsx)("label",{className:"block text-sm text-app-text-dim mb-2",children:"SQL Preview"}),(0,b.jsx)("pre",{className:"text-xs bg-app-bg border border-app-border rounded p-3 max-h-40 overflow-auto font-mono",children:A})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)("button",{onClick:()=>{_(!1),T(""),R("")},className:"px-4 py-2 text-sm bg-app-sidebar-active hover:bg-app-sidebar-hover rounded transition-colors",children:"Cancel"}),(0,b.jsx)("button",{onClick:t$,disabled:!M.trim(),className:"px-4 py-2 text-sm bg-app-accent hover:bg-app-accent-hover disabled:opacity-50 text-white rounded transition-colors",children:"Save Favorite"})]})]})}),(0,b.jsx)(of,{isOpen:$,onClose:()=>{P(!1),W(""),Y("")},onSuccess:()=>{P(!1),W(""),Y(""),iT.toast.success("Snapshot created successfully!")},defaultLabel:I,defaultDescription:V}),K&&(0,b.jsx)(ob,{isOpen:K.isOpen,onClose:()=>Q(null),sql:K.sql,riskLevel:K.level,riskReason:K.reason,onProceed:()=>tT(K.sql)}),ti&&(0,b.jsxs)("div",{className:"fixed bg-app-sidebar border border-app-border rounded-lg shadow-lg overflow-hidden z-50",style:{left:ti.x,top:ti.y},onClick:e=>e.stopPropagation(),children:[(0,b.jsx)("div",{className:"px-3 py-1.5 text-xs text-app-text-dim border-b border-app-border",children:"Save As..."}),(0,b.jsxs)("button",{onClick:()=>{let e=eQ.find(e=>e.id===ti.tabId);if(!e?.sql?.trim()){iT.toast.error("Cannot save empty query"),to(null);return}tt({type:"favorite",sql:e.sql}),tn("Untitled query"!==e.name?e.name:""),ts([]),to(null)},className:"w-full px-3 py-2 text-left text-sm hover:bg-app-sidebar-hover flex items-center gap-2",children:[(0,b.jsx)(iv,{className:"w-4 h-4 text-yellow-400"}),(0,b.jsx)("span",{children:"Save as Favorite"})]}),(0,b.jsxs)("button",{onClick:()=>{let e=eQ.find(e=>e.id===ti.tabId);if(!e?.sql?.trim()){iT.toast.error("Cannot save empty query"),to(null);return}tt({type:"template",sql:e.sql}),tn("Untitled query"!==e.name?e.name:""),ts([]),to(null)},className:"w-full px-3 py-2 text-left text-sm hover:bg-app-sidebar-hover flex items-center gap-2",children:[(0,b.jsx)(ij,{className:"w-4 h-4 text-blue-400"}),(0,b.jsx)("span",{children:"Save as Template"})]}),(0,b.jsxs)("button",{onClick:()=>{let e=eQ.find(e=>e.id===ti.tabId);if(!e?.sql?.trim()){iT.toast.error("Cannot save empty query"),to(null);return}tt({type:"private",sql:e.sql}),tn("Untitled query"!==e.name?e.name:""),ts([]),to(null)},className:"w-full px-3 py-2 text-left text-sm hover:bg-app-sidebar-hover flex items-center gap-2",children:[(0,b.jsx)(L,{className:"w-4 h-4 text-purple-400"}),(0,b.jsx)("span",{children:"Save as Private"})]})]}),te&&(0,b.jsx)("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-50",onClick:()=>{tt(null),ts([])},children:(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-6 w-full max-w-md",onClick:e=>e.stopPropagation(),children:[(0,b.jsxs)("h2",{className:"text-lg font-bold mb-4 flex items-center gap-2",children:["favorite"===te.type&&(0,b.jsx)(iv,{className:"w-5 h-5 text-yellow-400"}),"template"===te.type&&(0,b.jsx)(ij,{className:"w-5 h-5 text-blue-400"}),"private"===te.type&&(0,b.jsx)(L,{className:"w-5 h-5 text-purple-400"}),"Save as ",te.type.charAt(0).toUpperCase()+te.type.slice(1)]}),(0,b.jsxs)("div",{className:"mb-4",children:[(0,b.jsx)("label",{className:"block text-sm text-app-text-dim mb-2",children:"Name"}),(0,b.jsx)("input",{type:"text",value:tr,onChange:e=>tn(e.target.value),onKeyDown:e=>{"Enter"===e.key&&tr.trim()&&td(te.type)},placeholder:"Enter a name for this query...",className:"w-full px-3 py-2 bg-app-bg border border-app-border rounded text-sm focus:outline-none focus:border-app-accent",autoFocus:!0})]}),(()=>{let e=tl(te.type),t=e.filter(e=>"folder"===e.type);if(0===t.length)return null;let r=[];r.push((0,b.jsxs)("select",{value:ta[0]||"",onChange:e=>{""===e.target.value?ts([]):ts([e.target.value])},className:"bg-app-bg border border-app-border rounded px-2 py-1.5 text-xs focus:outline-none focus:border-app-accent min-w-[100px]",children:[(0,b.jsx)("option",{value:"",children:"Root"}),t.map(e=>(0,b.jsx)("option",{value:e.id,children:e.label},e.id))]},"root"));let n=e;for(let e=0;e<ta.length;e++){let t=ta[e],a=n.find(e=>e.id===t&&"folder"===e.type);if(!a?.children)break;let s=a.children.filter(e=>"folder"===e.type);if(0===s.length)break;let i=e+1;r.push((0,b.jsx)(ej,{className:"w-4 h-4 text-app-text-dim flex-shrink-0"},`arrow-${e}`),(0,b.jsxs)("select",{value:ta[i]||"",onChange:e=>{""===e.target.value?ts(e=>e.slice(0,i)):ts(t=>[...t.slice(0,i),e.target.value])},className:"bg-app-bg border border-app-border rounded px-2 py-1.5 text-xs focus:outline-none focus:border-app-accent min-w-[100px]",children:[(0,b.jsx)("option",{value:"",children:a.label}),s.map(e=>(0,b.jsx)("option",{value:e.id,children:e.label},e.id))]},`level-${i}`)),n=a.children}return(0,b.jsxs)("div",{className:"mb-4",children:[(0,b.jsx)("label",{className:"block text-sm text-app-text-dim mb-2",children:"Location (optional)"}),(0,b.jsxs)("div",{className:"flex items-center gap-1 flex-wrap",children:[(0,b.jsx)(iC,{className:"w-4 h-4 text-app-text-dim flex-shrink-0 mr-1"}),r]})]})})(),(0,b.jsxs)("div",{className:"mb-4",children:[(0,b.jsx)("label",{className:"block text-sm text-app-text-dim mb-2",children:"Preview"}),(0,b.jsxs)("div",{className:"bg-app-bg border border-app-border rounded p-2 text-xs font-mono max-h-24 overflow-auto",children:[te.sql.slice(0,200),te.sql.length>200?"...":""]})]}),(0,b.jsxs)("div",{className:"mb-4",children:[(0,b.jsx)("label",{className:"block text-sm text-app-text-dim mb-2",children:"Save to"}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)("button",{onClick:()=>{tt({...te,type:"favorite"}),ts([])},className:`flex-1 px-3 py-2 text-xs rounded flex items-center justify-center gap-2 transition-colors ${"favorite"===te.type?"bg-yellow-500/20 border border-yellow-500/50 text-yellow-400":"bg-app-bg border border-app-border hover:bg-app-sidebar-hover"}`,children:[(0,b.jsx)(iv,{className:"w-3.5 h-3.5"}),"Favorite"]}),(0,b.jsxs)("button",{onClick:()=>{tt({...te,type:"template"}),ts([])},className:`flex-1 px-3 py-2 text-xs rounded flex items-center justify-center gap-2 transition-colors ${"template"===te.type?"bg-blue-500/20 border border-blue-500/50 text-blue-400":"bg-app-bg border border-app-border hover:bg-app-sidebar-hover"}`,children:[(0,b.jsx)(ij,{className:"w-3.5 h-3.5"}),"Template"]}),(0,b.jsxs)("button",{onClick:()=>{tt({...te,type:"private"}),ts([])},className:`flex-1 px-3 py-2 text-xs rounded flex items-center justify-center gap-2 transition-colors ${"private"===te.type?"bg-purple-500/20 border border-purple-500/50 text-purple-400":"bg-app-bg border border-app-border hover:bg-app-sidebar-hover"}`,children:[(0,b.jsx)(L,{className:"w-3.5 h-3.5"}),"Private"]})]})]}),(0,b.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,b.jsx)("button",{onClick:()=>{tt(null),ts([])},className:"px-4 py-2 text-sm bg-app-sidebar-active hover:bg-app-sidebar-hover rounded transition-colors",children:"Cancel"}),(0,b.jsx)("button",{onClick:()=>td(te.type),disabled:!tr.trim(),className:"px-4 py-2 text-sm bg-app-accent hover:bg-app-accent-hover disabled:opacity-50 text-white rounded transition-colors",children:"Save"})]})]})})]})}function oy(e){return i2(e,Date.now())}function ow(e,t){let r=iZ(e),n=iZ(t),a=r.getTime()-n.getTime();return a<0?-1:a>0?1:a}function oj(e,t){return function(e,t,r){var n,a,s;let i,o,l,c=r?.locale??iJ.locale??iQ,d=ow(e,t);if(isNaN(d))throw RangeError("Invalid time value");let u=Object.assign({},r,{addSuffix:r?.addSuffix,comparison:d});d>0?(i=iZ(t),o=iZ(e)):(i=iZ(e),o=iZ(t));let p=(n=o,a=i,(s=void 0,e=>{let t=(s?Math[s]:Math.trunc)(e);return 0===t?0:t})((iZ(n)-iZ(a))/1e3)),h=Math.round((p-(i1(o)-i1(i))/1e3)/60);if(h<2)if(r?.includeSeconds)if(p<5)return c.formatDistance("lessThanXSeconds",5,u);else if(p<10)return c.formatDistance("lessThanXSeconds",10,u);else if(p<20)return c.formatDistance("lessThanXSeconds",20,u);else if(p<40)return c.formatDistance("halfAMinute",0,u);else if(p<60)return c.formatDistance("lessThanXMinutes",1,u);else return c.formatDistance("xMinutes",1,u);else if(0===h)return c.formatDistance("lessThanXMinutes",1,u);else return c.formatDistance("xMinutes",h,u);if(h<45)return c.formatDistance("xMinutes",h,u);if(h<90)return c.formatDistance("aboutXHours",1,u);if(h<1440){let e=Math.round(h/60);return c.formatDistance("aboutXHours",e,u)}if(h<2520)return c.formatDistance("xDays",1,u);else if(h<43200){let e=Math.round(h/1440);return c.formatDistance("xDays",e,u)}else if(h<86400)return l=Math.round(h/43200),c.formatDistance("aboutXMonths",l,u);if((l=function(e,t){let r,n,a,s=iZ(e),i=iZ(t),o=ow(s,i),l=Math.abs((n=iZ(s),a=iZ(i),12*(n.getFullYear()-a.getFullYear())+(n.getMonth()-a.getMonth())));if(l<1)r=0;else{var c;let t,n,a,d;1===s.getMonth()&&s.getDate()>27&&s.setDate(30),s.setMonth(s.getMonth()-o*l);let u=ow(s,i)===-o;c=iZ(e),d=iZ(c),+((t=iZ(d)).setHours(23,59,59,999),t)==+(a=(n=iZ(d)).getMonth(),n.setFullYear(n.getFullYear(),a+1,0),n.setHours(23,59,59,999),n)&&1===l&&1===ow(e,i)&&(u=!1),r=o*(l-Number(u))}return 0===r?0:r}(o,i))<12){let e=Math.round(h/43200);return c.formatDistance("xMonths",e,u)}{let e=l%12,t=Math.trunc(l/12);return e<3?c.formatDistance("aboutXYears",t,u):e<9?c.formatDistance("overXYears",t,u):c.formatDistance("almostXYears",t+1,u)}}(e,oy(e),t)}function oN(){let e,{branchVersion:t}=ev(),[r,n]=(0,g.useState)([]),[a,s]=(0,g.useState)(!0),[i,o]=(0,g.useState)("main"),[l,c]=(0,g.useState)("all"),[d,u]=(0,g.useState)(null),[p,h]=(0,g.useState)(0);async function m(){try{let e=await I();o(e.currentBranch||"main")}catch(e){console.error("Failed to load project info:",e)}}async function f(){try{s(!0);let e=await W(100,0,!1);n(e.events||[]),h(e.total||0)}catch(e){console.error("Failed to load timeline:",e)}finally{s(!1)}}(0,g.useEffect)(()=>{m()},[t]),(0,g.useEffect)(()=>{f()},[l,t]);let x=r.filter(e=>"all"===l||("migrations"===l?e.type.includes("migration"):"sql"===l?e.type.includes("sql")||e.type.includes("table"):"snapshots"===l?e.type.includes("snapshot"):"branches"!==l||e.type.includes("branch"))),v=(e={},x.forEach(t=>{var r,n;let a,s=new Date(t.createdAt);if(r=s,n=oy(s),+i0(r)==+i0(n))a="Today";else a=!function(e){var t,r,n;let a;return r=e,n=(t=oy(e),a=iZ(t),isNaN(-1)?i2(t,NaN):(a.setDate(a.getDate()+-1),a)),+i0(r)==+i0(n)}(s)?om(s,"MMMM d, yyyy"):"Yesterday";e[a]||(e[a]=[]),e[a].push(t)}),e);return a?(0,b.jsx)("div",{className:"h-full flex items-center justify-center",children:(0,b.jsx)($,{className:"w-6 h-6 animate-spin text-app-accent"})}):(0,b.jsxs)("div",{className:"h-full flex flex-col bg-app-bg",children:[(0,b.jsx)("div",{className:"px-6 py-4 border-b border-app-border",children:(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-bold mb-1",children:"Timeline"}),(0,b.jsxs)("p",{className:"text-sm text-app-text-dim",children:["Database activity history • Branch: ",(0,b.jsx)("span",{className:"text-app-accent font-medium",children:i})]})]}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsxs)("select",{value:l,onChange:e=>c(e.target.value),className:"px-3 py-2 bg-app-sidebar border border-app-border rounded text-sm appearance-none pr-8 cursor-pointer hover:border-app-border-hover transition-colors focus:outline-none focus:border-app-accent",children:[(0,b.jsx)("option",{value:"all",children:"All"}),(0,b.jsx)("option",{value:"migrations",children:"Migrations"}),(0,b.jsx)("option",{value:"sql",children:"SQL"}),(0,b.jsx)("option",{value:"snapshots",children:"Snapshots"}),(0,b.jsx)("option",{value:"branches",children:"Branches"})]}),(0,b.jsx)(O,{className:"w-4 h-4 absolute right-2 top-1/2 -translate-y-1/2 text-app-text-dim pointer-events-none"})]})]})}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto p-6",children:0===x.length?(0,b.jsxs)("div",{className:"h-full flex flex-col items-center justify-center text-app-text-dim",children:[(0,b.jsx)(S,{className:"w-12 h-12 mb-3 opacity-50"}),(0,b.jsx)("p",{className:"text-lg",children:"No events yet"}),(0,b.jsx)("p",{className:"text-sm mt-1",children:"Activity will appear here as you use SQL Kite"})]}):(0,b.jsx)("div",{className:"max-w-4xl mx-auto space-y-6",children:Object.entries(v).map(([e,t])=>(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-xs font-semibold text-app-text-dim uppercase mb-3",children:e}),(0,b.jsx)("div",{className:"space-y-2",children:t.map(e=>(0,b.jsx)(oE,{event:e,currentBranch:i,expanded:d===e.id,onToggleExpand:()=>u(d===e.id?null:e.id)},e.id))})]},e))})})]})}function oE({event:e,currentBranch:t,expanded:r,onToggleExpand:n}){let a=function(e){switch(e){case"sql_executed":case"sql_error":return(0,b.jsx)(j,{className:"w-5 h-5"});case"table_created":case"table_dropped":return(0,b.jsx)(N,{className:"w-5 h-5"});case"snapshot_created":case"snapshot_restored":return(0,b.jsx)(E,{className:"w-5 h-5"});case"migration_applied":case"migration_created":case"migration_failed":return(0,b.jsx)(S,{className:"w-5 h-5"});case"branch_created":case"branch_created_from_here":case"branch_deleted":case"branch_switched":case"branch_promoted":case"branch_promoted_from_here":return(0,b.jsx)(C,{className:"w-5 h-5"});default:return(0,b.jsx)(iy,{className:"w-5 h-5"})}}(e.type),s=function(e){switch(e){case"sql_executed":case"branch_promoted":case"branch_promoted_from_here":return"bg-green-500/20 text-green-400";case"sql_error":case"migration_failed":case"branch_deleted":return"bg-red-500/20 text-red-400";case"table_created":return"bg-blue-500/20 text-blue-400";case"table_dropped":return"bg-orange-500/20 text-orange-400";case"snapshot_created":case"snapshot_restored":return"bg-purple-500/20 text-purple-400";case"migration_applied":case"migration_created":return"bg-yellow-500/20 text-yellow-400";case"branch_created":case"branch_created_from_here":return"bg-cyan-500/20 text-cyan-400";case"branch_switched":return"bg-indigo-500/20 text-indigo-400";default:return"bg-gray-500/20 text-gray-400"}}(e.type),i=["sql_executed","sql_error","migration_applied","migration_created","migration_failed","snapshot_created","snapshot_restored","branch_created","branch_created_from_here","branch_deleted","branch_promoted","branch_promoted_from_here","table_created"].includes(e.type);return(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg overflow-hidden hover:border-app-border-hover transition-colors",children:[(0,b.jsx)("div",{className:"p-4",children:(0,b.jsxs)("div",{className:"flex gap-4",children:[(0,b.jsx)("div",{className:`flex-shrink-0 w-10 h-10 rounded-lg ${s} flex items-center justify-center`,children:a}),(0,b.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4 mb-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,b.jsx)("h3",{className:"font-semibold text-sm",children:e.type.split("_").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")}),e.branch&&(0,b.jsxs)("span",{className:`
83
83
  px-2 py-0.5 rounded text-xs font-medium flex items-center gap-1
84
84
  ${e.branch===t?"bg-app-accent/20 text-app-accent":"bg-app-sidebar-active text-app-text-dim"}
85
85
  `,children:[(0,b.jsx)(C,{className:"w-3 h-3"}),e.branch]})]}),(0,b.jsx)("span",{className:"text-xs text-app-text-dim whitespace-nowrap",children:oj(new Date(e.createdAt),{addSuffix:!0})})]}),(0,b.jsx)(oS,{event:e})]}),i&&(0,b.jsx)("button",{onClick:n,className:"flex-shrink-0 text-app-text-dim hover:text-app-text transition-colors",children:r?(0,b.jsx)(O,{className:"w-5 h-5"}):(0,b.jsx)(ej,{className:"w-5 h-5"})})]})}),r&&i&&(0,b.jsx)("div",{className:"border-t border-app-border px-4 py-4 bg-app-bg/50",children:(0,b.jsx)(ok,{event:e})})]})}function oS({event:e}){let{type:t,data:r}=e;switch(t){case"migration_applied":case"migration_created":return(0,b.jsx)("div",{className:"text-sm text-app-text-dim",children:(0,b.jsx)("span",{className:"font-mono text-app-accent",children:r.filename||r.name})});case"migration_failed":return(0,b.jsxs)("div",{className:"text-sm text-red-400",children:[(0,b.jsx)("span",{className:"font-mono",children:r.filename})," • Failed"]});case"sql_executed":return(0,b.jsx)("div",{className:"text-sm text-app-text-dim font-mono truncate",children:r.sql?.split("\n")[0]||"SQL query"});case"sql_error":return(0,b.jsxs)("div",{className:"text-sm text-red-400 font-mono truncate",children:[r.sql?.split("\n")[0]||"SQL query"," • Error"]});case"snapshot_created":return(0,b.jsxs)("div",{className:"text-sm text-app-text-dim",children:[(0,b.jsx)("span",{className:"font-mono text-app-accent",children:r.name||r.filename}),r.size&&(0,b.jsxs)("span",{className:"ml-2 text-xs",children:["(",(r.size/1024).toFixed(2)," KB)"]})]});case"snapshot_restored":return(0,b.jsxs)("div",{className:"text-sm text-app-text-dim",children:["Restored from ",(0,b.jsx)("span",{className:"font-mono text-app-accent",children:r.filename})]});case"branch_created":return(0,b.jsxs)("div",{className:"text-sm text-app-text-dim",children:["Created from ",(0,b.jsx)("span",{className:"font-mono text-app-accent",children:r.base_branch})]});case"branch_created_from_here":return(0,b.jsxs)("div",{className:"text-sm text-app-text-dim",children:["Branch ",(0,b.jsx)("span",{className:"font-mono text-app-accent",children:r.new_branch})," created from this branch"]});case"branch_deleted":return(0,b.jsxs)("div",{className:"text-sm text-app-text-dim",children:["Deleted ",(0,b.jsx)("span",{className:"font-mono text-red-400",children:r.branch})]});case"branch_promoted":return(0,b.jsxs)("div",{className:"text-sm text-app-text-dim",children:["Promoted from ",(0,b.jsx)("span",{className:"font-mono text-app-accent",children:r.source})]});case"branch_promoted_from_here":return(0,b.jsxs)("div",{className:"text-sm text-app-text-dim",children:["Promoted to ",(0,b.jsx)("span",{className:"font-mono text-app-accent",children:r.target})]});case"branch_switched":return(0,b.jsxs)("div",{className:"text-sm text-app-text-dim",children:["Switched to ",(0,b.jsx)("span",{className:"font-mono text-app-accent",children:r.to}),r.from&&(0,b.jsxs)("span",{children:[" from ",r.from]})]});case"table_created":case"table_dropped":return(0,b.jsx)("div",{className:"text-sm text-app-text-dim",children:r.tableName&&(0,b.jsx)("span",{className:"font-mono text-app-accent",children:r.tableName})});default:return(0,b.jsx)("div",{className:"text-sm text-app-text-dim",children:"Activity recorded"})}}function ok({event:e}){let{type:t,data:r}=e;switch(t){case"sql_executed":return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("pre",{className:"text-xs bg-app-bg border border-app-border rounded p-3 overflow-x-auto font-mono max-h-60 overflow-y-auto",children:r.sql}),(0,b.jsxs)("div",{className:"flex gap-4 text-xs text-app-text-dim",children:[(0,b.jsxs)("span",{children:["Type: ",r.type]}),(0,b.jsxs)("span",{children:["Time: ",r.executionTime,"ms"]}),r.changes&&(0,b.jsxs)("span",{children:["Changes: ",r.changes]}),void 0!==r.rowCount&&(0,b.jsxs)("span",{children:["Rows: ",r.rowCount]})]})]});case"sql_error":return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("pre",{className:"text-xs bg-app-bg border border-app-border rounded p-3 overflow-x-auto font-mono max-h-40 overflow-y-auto",children:r.sql}),(0,b.jsx)("div",{className:"text-sm text-red-400 bg-red-500/10 border border-red-500/30 rounded p-2",children:r.error})]});case"migration_applied":case"migration_created":case"migration_failed":return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"text-xs text-app-text-dim",children:["Migration: ",(0,b.jsx)("span",{className:"font-mono text-app-accent",children:r.filename||r.name})]}),r.error&&(0,b.jsx)("div",{className:"text-sm text-red-400 bg-red-500/10 border border-red-500/30 rounded p-2",children:r.error})]});case"snapshot_created":return(0,b.jsx)("div",{className:"space-y-2",children:(0,b.jsxs)("div",{className:"text-xs text-app-text-dim space-y-1",children:[(0,b.jsxs)("div",{children:["Snapshot: ",(0,b.jsx)("span",{className:"font-mono text-app-accent",children:r.name||r.filename})]}),r.size&&(0,b.jsxs)("div",{children:["Size: ",(r.size/1024).toFixed(2)," KB"]}),r.description&&(0,b.jsxs)("div",{children:["Description: ",r.description]})]})});case"snapshot_restored":return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"text-xs text-app-text-dim",children:["Restored from: ",(0,b.jsx)("span",{className:"font-mono text-app-accent",children:r.filename})]}),(0,b.jsx)("div",{className:"text-xs text-yellow-400 bg-yellow-500/10 border border-yellow-500/30 rounded p-2",children:"⚠ Database state was reset to this snapshot"})]});case"branch_created":return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"text-xs text-app-text-dim space-y-1",children:[(0,b.jsxs)("div",{children:["Base Branch: ",(0,b.jsx)("span",{className:"font-mono text-app-accent",children:r.base_branch})]}),(0,b.jsxs)("div",{children:["Created: ",new Date(r.created_at).toLocaleString()]})]}),(0,b.jsxs)("div",{className:"text-xs text-blue-400 bg-blue-500/10 border border-blue-500/30 rounded p-2",children:["ℹ️ This branch is a full isolated copy of ",r.base_branch]})]});case"branch_created_from_here":return(0,b.jsx)("div",{className:"space-y-2",children:(0,b.jsxs)("div",{className:"text-xs text-app-text-dim space-y-1",children:[(0,b.jsxs)("div",{children:["New Branch: ",(0,b.jsx)("span",{className:"font-mono text-app-accent",children:r.new_branch})]}),(0,b.jsxs)("div",{children:["Created: ",new Date(r.created_at).toLocaleString()]})]})});case"branch_deleted":return(0,b.jsxs)("div",{className:"text-xs text-app-text-dim",children:["Branch ",(0,b.jsx)("span",{className:"font-mono text-red-400",children:r.branch})," was deleted"]});case"branch_promoted":return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"text-xs text-app-text-dim space-y-1",children:[(0,b.jsxs)("div",{children:["Source: ",(0,b.jsx)("span",{className:"font-mono text-app-accent",children:r.source})]}),(0,b.jsxs)("div",{children:["Target: ",(0,b.jsx)("span",{className:"font-mono text-app-accent",children:r.target})]}),(0,b.jsxs)("div",{children:["Promoted: ",new Date(r.promoted_at).toLocaleString()]}),r.snapshot_id&&(0,b.jsxs)("div",{children:["Snapshot ID: ",r.snapshot_id]})]}),(0,b.jsxs)("div",{className:"text-xs text-green-400 bg-green-500/10 border border-green-500/30 rounded p-2",children:["✓ This branch state was replaced with ",r.source]})]});case"branch_promoted_from_here":return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"text-xs text-app-text-dim space-y-1",children:[(0,b.jsxs)("div",{children:["Target: ",(0,b.jsx)("span",{className:"font-mono text-app-accent",children:r.target})]}),(0,b.jsxs)("div",{children:["Promoted: ",new Date(r.promoted_at).toLocaleString()]})]}),(0,b.jsxs)("div",{className:"text-xs text-blue-400 bg-blue-500/10 border border-blue-500/30 rounded p-2",children:["ℹ️ This branch state was promoted to ",r.target]})]});case"branch_switched":return(0,b.jsxs)("div",{className:"text-xs text-app-text-dim",children:["Switched from ",(0,b.jsx)("span",{className:"font-mono",children:r.from})," to ",(0,b.jsx)("span",{className:"font-mono text-app-accent",children:r.to})]});case"table_created":return(0,b.jsx)("pre",{className:"text-xs bg-app-bg border border-app-border rounded p-3 overflow-x-auto font-mono max-h-60 overflow-y-auto",children:r.sql});default:return(0,b.jsx)("pre",{className:"text-xs text-app-text-dim",children:JSON.stringify(r,null,2)})}}let o_=y("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]),oC={manual:"Manual","auto-before-migration":"Before migration","auto-before-promote":"Before promote","import-baseline":"Import baseline","auto-risky-query":"Before risky query"},oM={manual:"text-blue-400","auto-before-migration":"text-amber-400","auto-before-promote":"text-purple-400","import-baseline":"text-green-400","auto-risky-query":"text-red-400"};function oT(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(2)} MB`}function oA(){let{branchVersion:e,incrementBranchVersion:t}=ev(),[r,n]=(0,g.useState)([]),[a,s]=(0,g.useState)(!0),[i,o]=(0,g.useState)(null),[l,c]=(0,g.useState)(!1),[d,u]=(0,g.useState)(null),[p,h]=(0,g.useState)(null);async function m(){try{s(!0);let e=await V();n(e)}catch(e){console.error("Failed to load snapshots:",e)}finally{s(!1)}}async function f(e){if(confirm(`Restore from "${e.name}"?
86
86
 
87
87
  This will replace your current database with this snapshot.`)){u(e.id);try{await G(e.id),iT.toast.success("Snapshot restored successfully"),await m(),t()}catch(e){iT.toast.error("Failed to restore snapshot: "+e.message)}finally{u(null)}}}async function x(e){if(confirm(`Delete snapshot "${e.name}"?
88
88
 
89
- This action cannot be undone.`)){h(e.id);try{await X(e.id),await m(),i===e.id&&o(null),iT.toast.success("Snapshot deleted")}catch(e){iT.toast.error("Failed to delete snapshot: "+e.message)}finally{h(null)}}}return((0,g.useEffect)(()=>{m()},[e]),a)?(0,b.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,b.jsxs)("div",{className:"flex items-center gap-3 text-app-text-dim",children:[(0,b.jsx)(L,{className:"w-5 h-5 animate-spin"}),"Loading snapshots..."]})}):(0,b.jsxs)("div",{className:"p-8 max-w-4xl mx-auto",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-6",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-bold",children:"Snapshots"}),(0,b.jsx)("p",{className:"text-app-text-dim text-sm mt-1",children:"Restore points for your database"})]}),(0,b.jsxs)("button",{onClick:()=>c(!0),className:"flex items-center gap-2 px-4 py-2.5 bg-app-accent hover:bg-app-accent-hover text-white rounded-lg font-medium transition-colors",children:[(0,b.jsx)(D,{className:"w-4 h-4"}),"Create Snapshot"]})]}),0===r.length?(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-xl p-12 text-center",children:[(0,b.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 bg-app-bg rounded-full mb-4",children:(0,b.jsx)(E,{className:"w-8 h-8 text-app-text-dim opacity-50"})}),(0,b.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"No snapshots yet"}),(0,b.jsx)("p",{className:"text-app-text-dim mb-6 max-w-sm mx-auto",children:"Create your first snapshot to save a restore point for your database."}),(0,b.jsxs)("button",{onClick:()=>c(!0),className:"inline-flex items-center gap-2 px-4 py-2.5 bg-app-accent hover:bg-app-accent-hover text-white rounded-lg font-medium transition-colors",children:[(0,b.jsx)(E,{className:"w-4 h-4"}),"Create Your First Snapshot"]})]}):(0,b.jsx)("div",{className:"space-y-3",children:r.map(e=>{let t=i===e.id,r=d===e.id||p===e.id;return(0,b.jsxs)("div",{className:`bg-app-sidebar border rounded-xl transition-all ${t?"border-app-accent/50 shadow-lg":"border-app-border hover:border-app-border-hover"}`,children:[(0,b.jsx)("div",{className:"p-4 cursor-pointer",onClick:()=>{var t;o(i===(t=e.id)?null:t)},children:(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsxs)("div",{className:"flex items-start gap-3 min-w-0 flex-1",children:[(0,b.jsx)("button",{className:"mt-0.5 p-1 -ml-1 hover:bg-app-bg rounded transition-colors",children:t?(0,b.jsx)(O,{className:"w-4 h-4 text-app-text-dim"}):(0,b.jsx)(ej,{className:"w-4 h-4 text-app-text-dim"})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("h3",{className:"font-semibold text-base truncate",children:e.name}),(0,b.jsxs)("div",{className:"flex items-center gap-2 mt-1 text-sm text-app-text-dim",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)(C,{className:"w-3.5 h-3.5"}),e.branch]}),(0,b.jsx)("span",{children:"•"}),(0,b.jsx)("span",{children:oT(e.size)}),"manual"!==e.type&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{children:"•"}),(0,b.jsx)("span",{className:oM[e.type]||"text-app-text-dim",children:oC[e.type]||e.type})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 mt-1.5 text-xs text-app-text-dim",children:[(0,b.jsx)(S,{className:"w-3 h-3"}),oj(new Date(e.createdAt),{addSuffix:!0})]})]})]}),(0,b.jsxs)("button",{onClick:t=>{t.stopPropagation(),f(e)},disabled:r,className:"flex items-center gap-2 px-4 py-2 bg-blue-500/10 hover:bg-blue-500/20 text-blue-400 rounded-lg transition-colors text-sm font-medium disabled:opacity-50",children:[d===e.id?(0,b.jsx)(L,{className:"w-4 h-4 animate-spin"}):(0,b.jsx)(o_,{className:"w-4 h-4"}),"Restore"]})]})}),t&&(0,b.jsx)("div",{className:"px-4 pb-4 border-t border-app-border/50",children:(0,b.jsxs)("div",{className:"pt-4 space-y-4",children:[e.description&&(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-xs font-medium text-app-text-dim uppercase tracking-wider mb-1",children:"Description"}),(0,b.jsx)("p",{className:"text-sm text-app-text",children:e.description})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-xs font-medium text-app-text-dim uppercase tracking-wider mb-1",children:"Branch"}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-sm",children:[(0,b.jsx)(C,{className:"w-3.5 h-3.5 text-app-text-dim"}),e.branch]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-xs font-medium text-app-text-dim uppercase tracking-wider mb-1",children:"Created"}),(0,b.jsx)("div",{className:"text-sm",children:om(new Date(e.createdAt),"MMM d, yyyy – HH:mm:ss")})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-xs font-medium text-app-text-dim uppercase tracking-wider mb-1",children:"Size"}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-sm",children:[(0,b.jsx)(N,{className:"w-3.5 h-3.5 text-app-text-dim"}),oT(e.size)]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-xs font-medium text-app-text-dim uppercase tracking-wider mb-1",children:"Type"}),(0,b.jsx)("div",{className:`text-sm ${oM[e.type]||"text-app-text"}`,children:oC[e.type]||"Manual snapshot"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-xs font-medium text-app-text-dim uppercase tracking-wider mb-1",children:"ID"}),(0,b.jsx)("div",{className:"text-sm font-mono text-app-text-dim",children:e.id})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-xs font-medium text-app-text-dim uppercase tracking-wider mb-1",children:"Filename"}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-sm",children:[(0,b.jsx)(i_,{className:"w-3.5 h-3.5 text-app-text-dim flex-shrink-0"}),(0,b.jsx)("span",{className:"font-mono text-app-text-dim truncate text-xs",children:e.filename})]})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-3 pt-2",children:[(0,b.jsxs)("button",{onClick:()=>f(e),disabled:r,className:"flex items-center gap-2 px-4 py-2 bg-blue-500/10 hover:bg-blue-500/20 text-blue-400 rounded-lg transition-colors text-sm font-medium disabled:opacity-50",children:[d===e.id?(0,b.jsx)(L,{className:"w-4 h-4 animate-spin"}):(0,b.jsx)(o_,{className:"w-4 h-4"}),"Restore"]}),(0,b.jsxs)("button",{onClick:()=>x(e),disabled:r,className:"flex items-center gap-2 px-4 py-2 bg-red-500/10 hover:bg-red-500/20 text-red-400 rounded-lg transition-colors text-sm font-medium disabled:opacity-50",children:[p===e.id?(0,b.jsx)(L,{className:"w-4 h-4 animate-spin"}):(0,b.jsx)(iR,{className:"w-4 h-4"}),"Delete"]})]})]})})]},e.id)})}),(0,b.jsx)(of,{isOpen:l,onClose:()=>c(!1),onSuccess:m})]})}function oO(){let{branchVersion:e,incrementBranchVersion:t}=ev(),[r,n]=(0,g.useState)([]),[a,s]=(0,g.useState)(!0),[i,o]=(0,g.useState)(null),[l,c]=(0,g.useState)(null),[d,u]=(0,g.useState)(null),[p,h]=(0,g.useState)("main"),[m,f]=(0,g.useState)(null),[x,v]=(0,g.useState)(!1),[y,w]=(0,g.useState)(!1),j=(0,g.useRef)(null);async function N(){try{s(!0);let[e,t]=await Promise.all([K(),I()]),r=await Promise.all(e.map(async e=>{try{let t=await Z(e.filename);return{...e,risk:E(e.content),applied_in_branches:t.applied_in_branches||[],can_delete:t.can_delete}}catch(t){return{...e,risk:E(e.content),applied_in_branches:[],can_delete:!0}}}));n(r),h(t.currentBranch||"main")}catch(e){u(e.message)}finally{s(!1)}}function E(e){let t=e.toUpperCase();return t.includes("DROP TABLE")||t.includes("DROP DATABASE")?"HIGH":t.includes("ALTER TABLE")||t.includes("DROP COLUMN")?"MED":"LOW"}async function S(e){try{o(e),u(null),await Q(e),await N(),t(),iT.toast.success(`Migration applied: ${e}`)}catch(e){u(e.message),iT.toast.error("Failed to apply migration: "+e.message)}finally{o(null)}}async function k(e,t){if(t.length>0)return void alert(`Cannot delete migration. It has been applied in: ${t.join(", ")}`);if(confirm(`Are you sure you want to delete migration "${e}"?
89
+ This action cannot be undone.`)){h(e.id);try{await X(e.id),await m(),i===e.id&&o(null),iT.toast.success("Snapshot deleted")}catch(e){iT.toast.error("Failed to delete snapshot: "+e.message)}finally{h(null)}}}return((0,g.useEffect)(()=>{m()},[e]),a)?(0,b.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,b.jsxs)("div",{className:"flex items-center gap-3 text-app-text-dim",children:[(0,b.jsx)($,{className:"w-5 h-5 animate-spin"}),"Loading snapshots..."]})}):(0,b.jsxs)("div",{className:"p-8 max-w-4xl mx-auto",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-6",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-bold",children:"Snapshots"}),(0,b.jsx)("p",{className:"text-app-text-dim text-sm mt-1",children:"Restore points for your database"})]}),(0,b.jsxs)("button",{onClick:()=>c(!0),className:"flex items-center gap-2 px-4 py-2.5 bg-app-accent hover:bg-app-accent-hover text-white rounded-lg font-medium transition-colors",children:[(0,b.jsx)(D,{className:"w-4 h-4"}),"Create Snapshot"]})]}),0===r.length?(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-xl p-12 text-center",children:[(0,b.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 bg-app-bg rounded-full mb-4",children:(0,b.jsx)(E,{className:"w-8 h-8 text-app-text-dim opacity-50"})}),(0,b.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"No snapshots yet"}),(0,b.jsx)("p",{className:"text-app-text-dim mb-6 max-w-sm mx-auto",children:"Create your first snapshot to save a restore point for your database."}),(0,b.jsxs)("button",{onClick:()=>c(!0),className:"inline-flex items-center gap-2 px-4 py-2.5 bg-app-accent hover:bg-app-accent-hover text-white rounded-lg font-medium transition-colors",children:[(0,b.jsx)(E,{className:"w-4 h-4"}),"Create Your First Snapshot"]})]}):(0,b.jsx)("div",{className:"space-y-3",children:r.map(e=>{let t=i===e.id,r=d===e.id||p===e.id;return(0,b.jsxs)("div",{className:`bg-app-sidebar border rounded-xl transition-all ${t?"border-app-accent/50 shadow-lg":"border-app-border hover:border-app-border-hover"}`,children:[(0,b.jsx)("div",{className:"p-4 cursor-pointer",onClick:()=>{var t;o(i===(t=e.id)?null:t)},children:(0,b.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,b.jsxs)("div",{className:"flex items-start gap-3 min-w-0 flex-1",children:[(0,b.jsx)("button",{className:"mt-0.5 p-1 -ml-1 hover:bg-app-bg rounded transition-colors",children:t?(0,b.jsx)(O,{className:"w-4 h-4 text-app-text-dim"}):(0,b.jsx)(ej,{className:"w-4 h-4 text-app-text-dim"})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)("h3",{className:"font-semibold text-base truncate",children:e.name}),(0,b.jsxs)("div",{className:"flex items-center gap-2 mt-1 text-sm text-app-text-dim",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)(C,{className:"w-3.5 h-3.5"}),e.branch]}),(0,b.jsx)("span",{children:"•"}),(0,b.jsx)("span",{children:oT(e.size)}),"manual"!==e.type&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{children:"•"}),(0,b.jsx)("span",{className:oM[e.type]||"text-app-text-dim",children:oC[e.type]||e.type})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 mt-1.5 text-xs text-app-text-dim",children:[(0,b.jsx)(S,{className:"w-3 h-3"}),oj(new Date(e.createdAt),{addSuffix:!0})]})]})]}),(0,b.jsxs)("button",{onClick:t=>{t.stopPropagation(),f(e)},disabled:r,className:"flex items-center gap-2 px-4 py-2 bg-blue-500/10 hover:bg-blue-500/20 text-blue-400 rounded-lg transition-colors text-sm font-medium disabled:opacity-50",children:[d===e.id?(0,b.jsx)($,{className:"w-4 h-4 animate-spin"}):(0,b.jsx)(o_,{className:"w-4 h-4"}),"Restore"]})]})}),t&&(0,b.jsx)("div",{className:"px-4 pb-4 border-t border-app-border/50",children:(0,b.jsxs)("div",{className:"pt-4 space-y-4",children:[e.description&&(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-xs font-medium text-app-text-dim uppercase tracking-wider mb-1",children:"Description"}),(0,b.jsx)("p",{className:"text-sm text-app-text",children:e.description})]}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-xs font-medium text-app-text-dim uppercase tracking-wider mb-1",children:"Branch"}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-sm",children:[(0,b.jsx)(C,{className:"w-3.5 h-3.5 text-app-text-dim"}),e.branch]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-xs font-medium text-app-text-dim uppercase tracking-wider mb-1",children:"Created"}),(0,b.jsx)("div",{className:"text-sm",children:om(new Date(e.createdAt),"MMM d, yyyy – HH:mm:ss")})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-xs font-medium text-app-text-dim uppercase tracking-wider mb-1",children:"Size"}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-sm",children:[(0,b.jsx)(N,{className:"w-3.5 h-3.5 text-app-text-dim"}),oT(e.size)]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-xs font-medium text-app-text-dim uppercase tracking-wider mb-1",children:"Type"}),(0,b.jsx)("div",{className:`text-sm ${oM[e.type]||"text-app-text"}`,children:oC[e.type]||"Manual snapshot"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-xs font-medium text-app-text-dim uppercase tracking-wider mb-1",children:"ID"}),(0,b.jsx)("div",{className:"text-sm font-mono text-app-text-dim",children:e.id})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-xs font-medium text-app-text-dim uppercase tracking-wider mb-1",children:"Filename"}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 text-sm",children:[(0,b.jsx)(i_,{className:"w-3.5 h-3.5 text-app-text-dim flex-shrink-0"}),(0,b.jsx)("span",{className:"font-mono text-app-text-dim truncate text-xs",children:e.filename})]})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-3 pt-2",children:[(0,b.jsxs)("button",{onClick:()=>f(e),disabled:r,className:"flex items-center gap-2 px-4 py-2 bg-blue-500/10 hover:bg-blue-500/20 text-blue-400 rounded-lg transition-colors text-sm font-medium disabled:opacity-50",children:[d===e.id?(0,b.jsx)($,{className:"w-4 h-4 animate-spin"}):(0,b.jsx)(o_,{className:"w-4 h-4"}),"Restore"]}),(0,b.jsxs)("button",{onClick:()=>x(e),disabled:r,className:"flex items-center gap-2 px-4 py-2 bg-red-500/10 hover:bg-red-500/20 text-red-400 rounded-lg transition-colors text-sm font-medium disabled:opacity-50",children:[p===e.id?(0,b.jsx)($,{className:"w-4 h-4 animate-spin"}):(0,b.jsx)(iR,{className:"w-4 h-4"}),"Delete"]})]})]})})]},e.id)})}),(0,b.jsx)(of,{isOpen:l,onClose:()=>c(!1),onSuccess:m})]})}function oO(){let{branchVersion:e,incrementBranchVersion:t}=ev(),[r,n]=(0,g.useState)([]),[a,s]=(0,g.useState)(!0),[i,o]=(0,g.useState)(null),[l,c]=(0,g.useState)(null),[d,u]=(0,g.useState)(null),[p,h]=(0,g.useState)("main"),[m,f]=(0,g.useState)(null),[x,v]=(0,g.useState)(!1),[y,w]=(0,g.useState)(!1),j=(0,g.useRef)(null);async function N(){try{s(!0);let[e,t]=await Promise.all([K(),I()]),r=await Promise.all(e.map(async e=>{try{let t=await Z(e.filename);return{...e,risk:E(e.content),applied_in_branches:t.applied_in_branches||[],can_delete:t.can_delete}}catch(t){return{...e,risk:E(e.content),applied_in_branches:[],can_delete:!0}}}));n(r),h(t.currentBranch||"main")}catch(e){u(e.message)}finally{s(!1)}}function E(e){let t=e.toUpperCase();return t.includes("DROP TABLE")||t.includes("DROP DATABASE")?"HIGH":t.includes("ALTER TABLE")||t.includes("DROP COLUMN")?"MED":"LOW"}async function S(e){try{o(e),u(null),await Q(e),await N(),t(),iT.toast.success(`Migration applied: ${e}`)}catch(e){u(e.message),iT.toast.error("Failed to apply migration: "+e.message)}finally{o(null)}}async function k(e,t){if(t.length>0)return void alert(`Cannot delete migration. It has been applied in: ${t.join(", ")}`);if(confirm(`Are you sure you want to delete migration "${e}"?
90
90
 
91
- This migration has not been applied to any branch.`))try{c(e),u(null),await J(e),await N(),iT.toast.success("Migration deleted")}catch(e){u(e.message),iT.toast.error("Failed to delete migration: "+e.message)}finally{c(null)}}async function _(){try{o("all"),u(null),await ec(),await N(),t(),iT.toast.success("All migrations applied")}catch(e){u(e.message),iT.toast.error("Failed to apply migrations: "+e.message)}finally{o(null)}}async function C(){try{w(!0),v(!1);let e=await ee(),t=new Blob([e],{type:"text/plain"}),r=URL.createObjectURL(t),n=document.createElement("a");n.href=r,n.download=`${p}_applied_migrations.sql`,document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(r)}catch(e){u(e.message)}finally{w(!1)}}async function M(){try{w(!0),v(!1);let e=await et(),t=new Blob([e],{type:"text/plain"}),r=URL.createObjectURL(t),n=document.createElement("a");n.href=r,n.download=`${p}_schema.sql`,document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(r)}catch(e){u(e.message)}finally{w(!1)}}(0,g.useEffect)(()=>{N()},[e]),(0,g.useEffect)(()=>{function e(e){j.current&&!j.current.contains(e.target)&&v(!1)}if(x)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[x]);let T=r.length,A=r.filter(e=>!e.applied),R=r.filter(e=>e.applied),D=r.filter(e=>e.error);return a?(0,b.jsx)("div",{className:"h-full flex items-center justify-center",children:(0,b.jsx)(L,{className:"w-6 h-6 animate-spin text-app-accent"})}):(0,b.jsxs)("div",{className:"h-full flex flex-col bg-app-bg overflow-hidden",children:[(0,b.jsxs)("div",{className:"px-6 py-4 border-b border-app-border bg-app-sidebar/30",children:[(0,b.jsx)("h1",{className:"text-2xl font-bold mb-1",children:"Migrations"}),(0,b.jsxs)("div",{className:"flex items-center gap-3 text-sm",children:[(0,b.jsx)("span",{className:"text-app-text-dim",children:"Versioned database schema changes"}),(0,b.jsx)("span",{className:"text-app-text-dim",children:"•"}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"px-2 py-0.5 bg-purple-500/20 text-purple-300 rounded text-xs font-medium",children:"GLOBAL"}),(0,b.jsxs)("span",{className:"text-app-text-dim",children:["Viewing status for branch: ",(0,b.jsx)("span",{className:"text-app-accent font-medium",children:p})]})]})]})]}),(0,b.jsxs)("div",{className:"px-6 py-4 border-b border-app-border",children:[(0,b.jsxs)("div",{className:"grid grid-cols-4 gap-4 max-w-3xl",children:[(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg px-4 py-3",children:[(0,b.jsx)("div",{className:"text-2xl font-bold",children:T}),(0,b.jsx)("div",{className:"text-xs text-app-text-dim mt-1",children:"Total"})]}),(0,b.jsxs)("div",{className:"bg-app-sidebar border border-yellow-500/30 rounded-lg px-4 py-3",children:[(0,b.jsx)("div",{className:"text-2xl font-bold text-yellow-400",children:A.length}),(0,b.jsx)("div",{className:"text-xs text-app-text-dim mt-1",children:"Pending"})]}),(0,b.jsxs)("div",{className:"bg-app-sidebar border border-green-500/30 rounded-lg px-4 py-3",children:[(0,b.jsx)("div",{className:"text-2xl font-bold text-green-400",children:R.length}),(0,b.jsx)("div",{className:"text-xs text-app-text-dim mt-1",children:"Applied"})]}),(0,b.jsxs)("div",{className:"bg-app-sidebar border border-red-500/30 rounded-lg px-4 py-3",children:[(0,b.jsx)("div",{className:"text-2xl font-bold text-red-400",children:D.length}),(0,b.jsx)("div",{className:"text-xs text-app-text-dim mt-1",children:"Failed"})]})]}),(0,b.jsxs)("div",{className:"mt-4 flex items-center gap-3",children:[A.length>0&&(0,b.jsx)("button",{onClick:_,disabled:null!==i,className:"px-4 py-2 bg-app-accent text-white rounded hover:bg-app-accent/90 disabled:opacity-50 flex items-center gap-2 font-medium",children:"all"===i?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(L,{className:"w-4 h-4 animate-spin"}),(0,b.jsx)("span",{children:"Applying migrations..."})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(ox,{className:"w-4 h-4"}),(0,b.jsxs)("span",{children:["Apply pending migrations (",A.length,")"]})]})}),(0,b.jsxs)("div",{className:"relative",ref:j,children:[(0,b.jsx)("button",{onClick:()=>v(!x),disabled:y,className:"px-4 py-2 bg-app-sidebar border border-app-border text-app-text rounded hover:bg-app-bg disabled:opacity-50 flex items-center gap-2 font-medium",children:y?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(L,{className:"w-4 h-4 animate-spin"}),(0,b.jsx)("span",{children:"Exporting..."})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(iN,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:"Export"}),(0,b.jsx)(O,{className:"w-4 h-4"})]})}),x&&!y&&(0,b.jsxs)("div",{className:"absolute top-full left-0 mt-2 w-72 bg-app-sidebar border border-app-border rounded-lg shadow-2xl z-50 overflow-hidden",children:[(0,b.jsx)("div",{className:"px-3 py-2 bg-app-bg border-b border-app-border",children:(0,b.jsx)("div",{className:"text-xs font-semibold text-app-text-dim",children:"EXPORT OPTIONS"})}),(0,b.jsxs)("button",{onClick:C,disabled:0===R.length,className:"w-full text-left px-3 py-2.5 hover:bg-app-bg disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:[(0,b.jsx)("div",{className:"font-medium text-sm",children:"Applied migrations"}),(0,b.jsx)("div",{className:"text-xs text-app-text-dim mt-0.5",children:R.length>0?`${R.length} migration${1===R.length?"":"s"} applied in ${p}`:"No migrations applied in this branch"})]}),(0,b.jsx)("div",{className:"border-t border-app-border"}),(0,b.jsxs)("button",{onClick:M,className:"w-full text-left px-3 py-2.5 hover:bg-app-bg transition-colors",children:[(0,b.jsx)("div",{className:"font-medium text-sm",children:"Full schema (current state)"}),(0,b.jsxs)("div",{className:"text-xs text-app-text-dim mt-0.5",children:["Complete CREATE statements from ",p]})]})]})]})]}),d&&(0,b.jsx)("div",{className:"mt-4 p-3 bg-red-500/10 border border-red-500/20 rounded text-sm text-red-400",children:d})]}),D.length>0&&(0,b.jsx)("div",{className:"px-6 py-4 bg-red-500/5 border-b border-red-500/20",children:(0,b.jsxs)("div",{className:"flex items-center gap-2 text-red-400 font-medium",children:[(0,b.jsx)(eh,{className:"w-4 h-4"}),(0,b.jsxs)("span",{children:["Failed migrations (",D.length,")"]})]})}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto p-6",children:0===r.length?(0,b.jsxs)("div",{className:"h-full flex flex-col items-center justify-center text-app-text-dim",children:[(0,b.jsx)(ij,{className:"w-12 h-12 mb-3 opacity-50"}),(0,b.jsx)("p",{className:"text-lg",children:"No migrations yet"}),(0,b.jsx)("p",{className:"text-sm mt-1",children:"Create your first migration in the SQL Editor"})]}):(0,b.jsx)("div",{className:"space-y-2 max-w-5xl",children:r.map(e=>(0,b.jsx)(oR,{migration:e,currentBranch:p,expanded:m===e.filename,onToggleExpand:()=>f(m===e.filename?null:e.filename),onApply:()=>S(e.filename),onDelete:()=>k(e.filename,e.applied_in_branches||[]),applying:i===e.filename,deleting:l===e.filename},e.filename))})})]})}function oR({migration:e,currentBranch:t,expanded:r,onToggleExpand:n,onApply:a,onDelete:s,applying:i,deleting:o}){let l=e.error?"red":e.applied?"green":"yellow",c=e.error?"Failed":e.applied?"Applied":"Pending";return(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg overflow-hidden hover:border-app-border-hover transition-colors",children:[(0,b.jsx)("div",{className:"p-4",children:(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsx)("button",{onClick:n,className:"flex-shrink-0 text-app-text-dim hover:text-app-text transition-colors",children:r?(0,b.jsx)(O,{className:"w-5 h-5"}):(0,b.jsx)(ej,{className:"w-5 h-5"})}),(0,b.jsx)("div",{className:"flex-1 min-w-0",children:(0,b.jsx)("h3",{className:"font-mono text-sm font-semibold truncate",children:e.filename})}),(0,b.jsx)("span",{className:`
91
+ This migration has not been applied to any branch.`))try{c(e),u(null),await J(e),await N(),iT.toast.success("Migration deleted")}catch(e){u(e.message),iT.toast.error("Failed to delete migration: "+e.message)}finally{c(null)}}async function _(){try{o("all"),u(null),await ec(),await N(),t(),iT.toast.success("All migrations applied")}catch(e){u(e.message),iT.toast.error("Failed to apply migrations: "+e.message)}finally{o(null)}}async function C(){try{w(!0),v(!1);let e=await ee(),t=new Blob([e],{type:"text/plain"}),r=URL.createObjectURL(t),n=document.createElement("a");n.href=r,n.download=`${p}_applied_migrations.sql`,document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(r)}catch(e){u(e.message)}finally{w(!1)}}async function M(){try{w(!0),v(!1);let e=await et(),t=new Blob([e],{type:"text/plain"}),r=URL.createObjectURL(t),n=document.createElement("a");n.href=r,n.download=`${p}_schema.sql`,document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(r)}catch(e){u(e.message)}finally{w(!1)}}(0,g.useEffect)(()=>{N()},[e]),(0,g.useEffect)(()=>{function e(e){j.current&&!j.current.contains(e.target)&&v(!1)}if(x)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[x]);let T=r.length,A=r.filter(e=>!e.applied),R=r.filter(e=>e.applied),D=r.filter(e=>e.error);return a?(0,b.jsx)("div",{className:"h-full flex items-center justify-center",children:(0,b.jsx)($,{className:"w-6 h-6 animate-spin text-app-accent"})}):(0,b.jsxs)("div",{className:"h-full flex flex-col bg-app-bg overflow-hidden",children:[(0,b.jsxs)("div",{className:"px-6 py-4 border-b border-app-border bg-app-sidebar/30",children:[(0,b.jsx)("h1",{className:"text-2xl font-bold mb-1",children:"Migrations"}),(0,b.jsxs)("div",{className:"flex items-center gap-3 text-sm",children:[(0,b.jsx)("span",{className:"text-app-text-dim",children:"Versioned database schema changes"}),(0,b.jsx)("span",{className:"text-app-text-dim",children:"•"}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"px-2 py-0.5 bg-purple-500/20 text-purple-300 rounded text-xs font-medium",children:"GLOBAL"}),(0,b.jsxs)("span",{className:"text-app-text-dim",children:["Viewing status for branch: ",(0,b.jsx)("span",{className:"text-app-accent font-medium",children:p})]})]})]})]}),(0,b.jsxs)("div",{className:"px-6 py-4 border-b border-app-border",children:[(0,b.jsxs)("div",{className:"grid grid-cols-4 gap-4 max-w-3xl",children:[(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg px-4 py-3",children:[(0,b.jsx)("div",{className:"text-2xl font-bold",children:T}),(0,b.jsx)("div",{className:"text-xs text-app-text-dim mt-1",children:"Total"})]}),(0,b.jsxs)("div",{className:"bg-app-sidebar border border-yellow-500/30 rounded-lg px-4 py-3",children:[(0,b.jsx)("div",{className:"text-2xl font-bold text-yellow-400",children:A.length}),(0,b.jsx)("div",{className:"text-xs text-app-text-dim mt-1",children:"Pending"})]}),(0,b.jsxs)("div",{className:"bg-app-sidebar border border-green-500/30 rounded-lg px-4 py-3",children:[(0,b.jsx)("div",{className:"text-2xl font-bold text-green-400",children:R.length}),(0,b.jsx)("div",{className:"text-xs text-app-text-dim mt-1",children:"Applied"})]}),(0,b.jsxs)("div",{className:"bg-app-sidebar border border-red-500/30 rounded-lg px-4 py-3",children:[(0,b.jsx)("div",{className:"text-2xl font-bold text-red-400",children:D.length}),(0,b.jsx)("div",{className:"text-xs text-app-text-dim mt-1",children:"Failed"})]})]}),(0,b.jsxs)("div",{className:"mt-4 flex items-center gap-3",children:[A.length>0&&(0,b.jsx)("button",{onClick:_,disabled:null!==i,className:"px-4 py-2 bg-app-accent text-white rounded hover:bg-app-accent/90 disabled:opacity-50 flex items-center gap-2 font-medium",children:"all"===i?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)($,{className:"w-4 h-4 animate-spin"}),(0,b.jsx)("span",{children:"Applying migrations..."})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(ox,{className:"w-4 h-4"}),(0,b.jsxs)("span",{children:["Apply pending migrations (",A.length,")"]})]})}),(0,b.jsxs)("div",{className:"relative",ref:j,children:[(0,b.jsx)("button",{onClick:()=>v(!x),disabled:y,className:"px-4 py-2 bg-app-sidebar border border-app-border text-app-text rounded hover:bg-app-bg disabled:opacity-50 flex items-center gap-2 font-medium",children:y?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)($,{className:"w-4 h-4 animate-spin"}),(0,b.jsx)("span",{children:"Exporting..."})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(iN,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:"Export"}),(0,b.jsx)(O,{className:"w-4 h-4"})]})}),x&&!y&&(0,b.jsxs)("div",{className:"absolute top-full left-0 mt-2 w-72 bg-app-sidebar border border-app-border rounded-lg shadow-2xl z-50 overflow-hidden",children:[(0,b.jsx)("div",{className:"px-3 py-2 bg-app-bg border-b border-app-border",children:(0,b.jsx)("div",{className:"text-xs font-semibold text-app-text-dim",children:"EXPORT OPTIONS"})}),(0,b.jsxs)("button",{onClick:C,disabled:0===R.length,className:"w-full text-left px-3 py-2.5 hover:bg-app-bg disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:[(0,b.jsx)("div",{className:"font-medium text-sm",children:"Applied migrations"}),(0,b.jsx)("div",{className:"text-xs text-app-text-dim mt-0.5",children:R.length>0?`${R.length} migration${1===R.length?"":"s"} applied in ${p}`:"No migrations applied in this branch"})]}),(0,b.jsx)("div",{className:"border-t border-app-border"}),(0,b.jsxs)("button",{onClick:M,className:"w-full text-left px-3 py-2.5 hover:bg-app-bg transition-colors",children:[(0,b.jsx)("div",{className:"font-medium text-sm",children:"Full schema (current state)"}),(0,b.jsxs)("div",{className:"text-xs text-app-text-dim mt-0.5",children:["Complete CREATE statements from ",p]})]})]})]})]}),d&&(0,b.jsx)("div",{className:"mt-4 p-3 bg-red-500/10 border border-red-500/20 rounded text-sm text-red-400",children:d})]}),D.length>0&&(0,b.jsx)("div",{className:"px-6 py-4 bg-red-500/5 border-b border-red-500/20",children:(0,b.jsxs)("div",{className:"flex items-center gap-2 text-red-400 font-medium",children:[(0,b.jsx)(eh,{className:"w-4 h-4"}),(0,b.jsxs)("span",{children:["Failed migrations (",D.length,")"]})]})}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto p-6",children:0===r.length?(0,b.jsxs)("div",{className:"h-full flex flex-col items-center justify-center text-app-text-dim",children:[(0,b.jsx)(ij,{className:"w-12 h-12 mb-3 opacity-50"}),(0,b.jsx)("p",{className:"text-lg",children:"No migrations yet"}),(0,b.jsx)("p",{className:"text-sm mt-1",children:"Create your first migration in the SQL Editor"})]}):(0,b.jsx)("div",{className:"space-y-2 max-w-5xl",children:r.map(e=>(0,b.jsx)(oR,{migration:e,currentBranch:p,expanded:m===e.filename,onToggleExpand:()=>f(m===e.filename?null:e.filename),onApply:()=>S(e.filename),onDelete:()=>k(e.filename,e.applied_in_branches||[]),applying:i===e.filename,deleting:l===e.filename},e.filename))})})]})}function oR({migration:e,currentBranch:t,expanded:r,onToggleExpand:n,onApply:a,onDelete:s,applying:i,deleting:o}){let l=e.error?"red":e.applied?"green":"yellow",c=e.error?"Failed":e.applied?"Applied":"Pending";return(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg overflow-hidden hover:border-app-border-hover transition-colors",children:[(0,b.jsx)("div",{className:"p-4",children:(0,b.jsxs)("div",{className:"flex items-center gap-4",children:[(0,b.jsx)("button",{onClick:n,className:"flex-shrink-0 text-app-text-dim hover:text-app-text transition-colors",children:r?(0,b.jsx)(O,{className:"w-5 h-5"}):(0,b.jsx)(ej,{className:"w-5 h-5"})}),(0,b.jsx)("div",{className:"flex-1 min-w-0",children:(0,b.jsx)("h3",{className:"font-mono text-sm font-semibold truncate",children:e.filename})}),(0,b.jsx)("span",{className:`
92
92
  px-2 py-1 rounded text-xs font-medium flex-shrink-0
93
93
  ${"green"===l?"bg-green-500/20 text-green-400":""}
94
94
  ${"yellow"===l?"bg-yellow-500/20 text-yellow-400":""}
95
95
  ${"red"===l?"bg-red-500/20 text-red-400":""}
96
- `,children:c}),e.risk&&(0,b.jsx)("span",{className:`px-2 py-1 rounded text-xs font-medium flex-shrink-0 ${{LOW:"bg-green-500/20 text-green-400",MED:"bg-yellow-500/20 text-yellow-400",HIGH:"bg-red-500/20 text-red-400"}[e.risk]}`,children:e.risk}),!e.applied&&!e.error&&(0,b.jsx)("button",{onClick:a,disabled:i,className:"px-3 py-1.5 bg-app-accent text-white text-xs rounded hover:bg-app-accent/90 disabled:opacity-50 flex items-center gap-1.5 flex-shrink-0",children:i?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(L,{className:"w-3.5 h-3.5 animate-spin"}),(0,b.jsx)("span",{children:"Applying..."})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(ox,{className:"w-3.5 h-3.5"}),(0,b.jsx)("span",{children:"Apply"})]})}),e.error&&(0,b.jsx)("button",{onClick:a,disabled:i,className:"px-3 py-1.5 bg-orange-500/20 text-orange-400 text-xs rounded hover:bg-orange-500/30 disabled:opacity-50 flex items-center gap-1.5 flex-shrink-0",children:i?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(L,{className:"w-3.5 h-3.5 animate-spin"}),(0,b.jsx)("span",{children:"Retrying..."})]}):(0,b.jsx)("span",{children:"Retry"})}),e.can_delete&&0===(e.applied_in_branches||[]).length?(0,b.jsx)("button",{onClick:s,disabled:o,className:"p-1.5 text-red-400 hover:bg-red-500/10 disabled:opacity-50 rounded transition-colors flex-shrink-0",title:"Delete migration",children:o?(0,b.jsx)(L,{className:"w-3.5 h-3.5 animate-spin"}):(0,b.jsx)(iR,{className:"w-3.5 h-3.5"})}):(e.applied_in_branches||[]).length>0&&(0,b.jsx)("div",{className:"p-1.5 text-app-text-dim opacity-30 cursor-not-allowed flex-shrink-0",title:`This migration has been applied in ${e.applied_in_branches?.join(", ")} and cannot be deleted.`,children:(0,b.jsx)(iR,{className:"w-3.5 h-3.5"})})]})}),r&&(0,b.jsxs)("div",{className:"border-t border-app-border px-4 py-4 bg-app-bg/50 space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-app-text-dim mb-2",children:"SQL PREVIEW"}),(0,b.jsx)("pre",{className:"text-xs bg-app-bg border border-app-border rounded p-3 overflow-x-auto font-mono max-h-60 overflow-y-auto",children:e.content})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-app-text-dim mb-2",children:"METADATA"}),(0,b.jsxs)("div",{className:"text-xs text-app-text-dim space-y-1",children:[(0,b.jsxs)("div",{children:["Created: ",e.created_at?new Date(e.created_at).toLocaleString():"Unknown"]}),e.applied_at&&(0,b.jsxs)("div",{children:["Applied: ",new Date(e.applied_at).toLocaleString()]}),(0,b.jsxs)("div",{children:["Checksum: ",e.checksum?`sha256:${e.checksum.substring(0,12)}...`:"N/A"]}),(0,b.jsxs)("div",{children:["Author: ",e.author||"SQL Kite"]})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-app-text-dim mb-2",children:"BRANCH APPLICATION STATUS"}),(0,b.jsx)("div",{className:"bg-app-bg border border-app-border rounded overflow-hidden",children:(0,b.jsxs)("table",{className:"w-full text-xs",children:[(0,b.jsx)("thead",{className:"bg-app-sidebar-active",children:(0,b.jsxs)("tr",{children:[(0,b.jsx)("th",{className:"px-3 py-2 text-left font-medium",children:"Branch"}),(0,b.jsx)("th",{className:"px-3 py-2 text-left font-medium",children:"Status"})]})}),(0,b.jsx)("tbody",{children:(0,b.jsxs)("tr",{className:"border-t border-app-border",children:[(0,b.jsx)("td",{className:"px-3 py-2 font-mono",children:t}),(0,b.jsx)("td",{className:"px-3 py-2",children:(0,b.jsx)("span",{className:`
96
+ `,children:c}),e.risk&&(0,b.jsx)("span",{className:`px-2 py-1 rounded text-xs font-medium flex-shrink-0 ${{LOW:"bg-green-500/20 text-green-400",MED:"bg-yellow-500/20 text-yellow-400",HIGH:"bg-red-500/20 text-red-400"}[e.risk]}`,children:e.risk}),!e.applied&&!e.error&&(0,b.jsx)("button",{onClick:a,disabled:i,className:"px-3 py-1.5 bg-app-accent text-white text-xs rounded hover:bg-app-accent/90 disabled:opacity-50 flex items-center gap-1.5 flex-shrink-0",children:i?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)($,{className:"w-3.5 h-3.5 animate-spin"}),(0,b.jsx)("span",{children:"Applying..."})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(ox,{className:"w-3.5 h-3.5"}),(0,b.jsx)("span",{children:"Apply"})]})}),e.error&&(0,b.jsx)("button",{onClick:a,disabled:i,className:"px-3 py-1.5 bg-orange-500/20 text-orange-400 text-xs rounded hover:bg-orange-500/30 disabled:opacity-50 flex items-center gap-1.5 flex-shrink-0",children:i?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)($,{className:"w-3.5 h-3.5 animate-spin"}),(0,b.jsx)("span",{children:"Retrying..."})]}):(0,b.jsx)("span",{children:"Retry"})}),e.can_delete&&0===(e.applied_in_branches||[]).length?(0,b.jsx)("button",{onClick:s,disabled:o,className:"p-1.5 text-red-400 hover:bg-red-500/10 disabled:opacity-50 rounded transition-colors flex-shrink-0",title:"Delete migration",children:o?(0,b.jsx)($,{className:"w-3.5 h-3.5 animate-spin"}):(0,b.jsx)(iR,{className:"w-3.5 h-3.5"})}):(e.applied_in_branches||[]).length>0&&(0,b.jsx)("div",{className:"p-1.5 text-app-text-dim opacity-30 cursor-not-allowed flex-shrink-0",title:`This migration has been applied in ${e.applied_in_branches?.join(", ")} and cannot be deleted.`,children:(0,b.jsx)(iR,{className:"w-3.5 h-3.5"})})]})}),r&&(0,b.jsxs)("div",{className:"border-t border-app-border px-4 py-4 bg-app-bg/50 space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-app-text-dim mb-2",children:"SQL PREVIEW"}),(0,b.jsx)("pre",{className:"text-xs bg-app-bg border border-app-border rounded p-3 overflow-x-auto font-mono max-h-60 overflow-y-auto",children:e.content})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-app-text-dim mb-2",children:"METADATA"}),(0,b.jsxs)("div",{className:"text-xs text-app-text-dim space-y-1",children:[(0,b.jsxs)("div",{children:["Created: ",e.created_at?new Date(e.created_at).toLocaleString():"Unknown"]}),e.applied_at&&(0,b.jsxs)("div",{children:["Applied: ",new Date(e.applied_at).toLocaleString()]}),(0,b.jsxs)("div",{children:["Checksum: ",e.checksum?`sha256:${e.checksum.substring(0,12)}...`:"N/A"]}),(0,b.jsxs)("div",{children:["Author: ",e.author||"SQL Kite"]})]})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-app-text-dim mb-2",children:"BRANCH APPLICATION STATUS"}),(0,b.jsx)("div",{className:"bg-app-bg border border-app-border rounded overflow-hidden",children:(0,b.jsxs)("table",{className:"w-full text-xs",children:[(0,b.jsx)("thead",{className:"bg-app-sidebar-active",children:(0,b.jsxs)("tr",{children:[(0,b.jsx)("th",{className:"px-3 py-2 text-left font-medium",children:"Branch"}),(0,b.jsx)("th",{className:"px-3 py-2 text-left font-medium",children:"Status"})]})}),(0,b.jsx)("tbody",{children:(0,b.jsxs)("tr",{className:"border-t border-app-border",children:[(0,b.jsx)("td",{className:"px-3 py-2 font-mono",children:t}),(0,b.jsx)("td",{className:"px-3 py-2",children:(0,b.jsx)("span",{className:`
97
97
  px-2 py-0.5 rounded text-xs
98
98
  ${e.applied?"bg-green-500/20 text-green-400":"bg-yellow-500/20 text-yellow-400"}
99
- `,children:e.applied?"Applied":"Pending"})})]})})]})})]}),e.error&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-red-400 mb-2",children:"ERROR DETAILS"}),(0,b.jsx)("div",{className:"bg-red-500/10 border border-red-500/30 rounded p-3",children:(0,b.jsx)("pre",{className:"text-xs text-red-300 font-mono whitespace-pre-wrap",children:e.error})})]})]})]})}let oD=y("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);function oL({isOpen:e,onClose:t,sourceBranch:r,branches:n,onSuccess:a}){let[s,i]=(0,g.useState)("main"),[o,l]=(0,g.useState)(!0),[c,d]=(0,g.useState)(!1),[u,p]=(0,g.useState)(null);if(!e)return null;let h=n.filter(e=>e!==r);async function m(){if(!s)return void p("Target branch is required");if(s===r)return void p("Cannot promote to the same branch");if(confirm(`Are you sure you want to promote "${r}" to "${s}"?
99
+ `,children:e.applied?"Applied":"Pending"})})]})})]})})]}),e.error&&(0,b.jsxs)("div",{children:[(0,b.jsx)("h4",{className:"text-xs font-semibold text-red-400 mb-2",children:"ERROR DETAILS"}),(0,b.jsx)("div",{className:"bg-red-500/10 border border-red-500/30 rounded p-3",children:(0,b.jsx)("pre",{className:"text-xs text-red-300 font-mono whitespace-pre-wrap",children:e.error})})]})]})]})}let oD=y("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);function o$({isOpen:e,onClose:t,sourceBranch:r,branches:n,onSuccess:a}){let[s,i]=(0,g.useState)("main"),[o,l]=(0,g.useState)(!0),[c,d]=(0,g.useState)(!1),[u,p]=(0,g.useState)(null);if(!e)return null;let h=n.filter(e=>e!==r);async function m(){if(!s)return void p("Target branch is required");if(s===r)return void p("Cannot promote to the same branch");if(confirm(`Are you sure you want to promote "${r}" to "${s}"?
100
100
 
101
- ⚠️ This will replace the entire state of "${s}" with "${r}".`)){d(!0),p(null);try{await eo(r,s,o),t(),a?.()}catch(e){p(e.message)}finally{d(!1)}}}function f(){c||(p(null),t())}return(0,b.jsx)("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-50",onClick:f,children:(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-6 w-full max-w-lg",onClick:e=>e.stopPropagation(),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,b.jsx)("h2",{className:"text-xl font-bold",children:"Promote Branch"}),(0,b.jsx)("button",{onClick:f,disabled:c,className:"text-app-text-dim hover:text-app-text transition-colors disabled:opacity-50",children:(0,b.jsx)(ef,{className:"w-5 h-5"})})]}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"block text-sm text-app-text-dim mb-2",children:"Source"}),(0,b.jsx)("div",{className:"px-3 py-2 bg-app-bg border border-app-border rounded font-mono text-app-accent",children:r})]}),(0,b.jsx)("div",{className:"flex justify-center",children:(0,b.jsx)(oD,{className:"w-6 h-6 text-app-text-dim"})}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("label",{className:"block text-sm text-app-text-dim mb-2",children:["Target ",(0,b.jsx)("span",{className:"text-red-400",children:"*"})]}),(0,b.jsx)("select",{value:s,onChange:e=>i(e.target.value),disabled:c,className:"w-full px-3 py-2 bg-app-bg border border-app-border rounded text-sm focus:outline-none focus:border-app-accent cursor-pointer",children:h.map(e=>(0,b.jsx)("option",{value:e,children:e},e))}),"main"===s&&(0,b.jsxs)("div",{className:"mt-2 flex items-start gap-2 text-yellow-400 text-xs",children:[(0,b.jsx)(eh,{className:"w-3.5 h-3.5 flex-shrink-0 mt-0.5"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"font-semibold",children:"main"})," is a protected branch. This operation will update production state."]})]}),"main"!==s&&(0,b.jsx)("p",{className:"text-xs text-app-text-dim mt-1",children:"The branch that will be updated"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"block text-sm text-app-text-dim mb-2",children:"Promotion Method"}),(0,b.jsx)("div",{className:"px-3 py-2.5 bg-app-bg border border-app-border rounded",children:(0,b.jsxs)("div",{className:"flex items-start gap-2",children:[(0,b.jsx)("div",{className:"text-green-400 mt-0.5",children:"✓"}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:"Full state replacement (SQLite-safe)"}),(0,b.jsx)("div",{className:"text-xs text-app-text-dim mt-1",children:"SQLite branches are promoted by replacing the target database state."})]})]})})]}),(0,b.jsx)("div",{children:(0,b.jsxs)("label",{className:"flex items-start gap-2 cursor-pointer",children:[(0,b.jsx)("input",{type:"checkbox",checked:o,onChange:e=>l(e.target.checked),disabled:c,className:"mt-0.5"}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:"Create snapshot before promote"}),(0,b.jsx)("div",{className:"text-xs text-app-text-dim",children:"Recommended for easy rollback"})]})]})}),(0,b.jsx)("div",{className:"bg-yellow-500/10 border border-yellow-500/20 rounded p-4",children:(0,b.jsxs)("div",{className:"flex items-start gap-2",children:[(0,b.jsx)(eh,{className:"w-5 h-5 text-yellow-400 flex-shrink-0 mt-0.5"}),(0,b.jsxs)("div",{className:"flex-1 space-y-1 text-sm text-yellow-200",children:[(0,b.jsx)("p",{className:"font-medium",children:"Summary:"}),(0,b.jsxs)("ul",{className:"space-y-1 list-disc list-inside text-xs",children:[(0,b.jsxs)("li",{children:[(0,b.jsx)("span",{className:"font-mono",children:s})," will be updated to match ",(0,b.jsx)("span",{className:"font-mono",children:r})]}),(0,b.jsxs)("li",{children:[(0,b.jsx)("span",{className:"font-mono",children:s})," history will be preserved in timeline"]}),(0,b.jsxs)("li",{children:[(0,b.jsx)("span",{className:"font-mono",children:r})," will remain unchanged"]}),o&&(0,b.jsx)("li",{children:"Automatic snapshot created for rollback"})]})]})]})}),u&&(0,b.jsx)("div",{className:"bg-red-500/10 border border-red-500/20 rounded p-3",children:(0,b.jsx)("p",{className:"text-sm text-red-400",children:u})}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 pt-2",children:[(0,b.jsx)("button",{onClick:f,disabled:c,className:"px-4 py-2 text-sm bg-app-sidebar-active hover:bg-app-sidebar-hover disabled:opacity-50 rounded transition-colors",children:"Cancel"}),(0,b.jsx)("button",{onClick:m,disabled:c||!s,className:"px-4 py-2 text-sm bg-app-accent hover:bg-app-accent-hover disabled:opacity-50 text-white rounded transition-colors flex items-center gap-2",children:c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(L,{className:"w-4 h-4 animate-spin"}),(0,b.jsx)("span",{children:"Promoting..."})]}):(0,b.jsx)("span",{children:"Promote"})})]})]})]})})}function o$({currentBranch:e,onBranchChange:t,onCreateClick:r}){let{branchVersion:n,incrementBranchVersion:a}=ev(),[s,i]=(0,g.useState)([]),[o,l]=(0,g.useState)(!0),[c,d]=(0,g.useState)(null),[u,p]=(0,g.useState)(null);async function h(){try{l(!0);let e=await en();i(e.branches||[])}catch(e){console.error("Failed to load branches:",e)}finally{l(!1)}}async function m(){p(null),await h(),t?.()}async function f(r){if("main"===r)return void iT.toast.error("Cannot delete main branch");let n=r===e;if(confirm(`Are you sure you want to delete branch "${r}"?
101
+ ⚠️ This will replace the entire state of "${s}" with "${r}".`)){d(!0),p(null);try{await eo(r,s,o),t(),a?.()}catch(e){p(e.message)}finally{d(!1)}}}function f(){c||(p(null),t())}return(0,b.jsx)("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-50",onClick:f,children:(0,b.jsxs)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-6 w-full max-w-lg",onClick:e=>e.stopPropagation(),children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,b.jsx)("h2",{className:"text-xl font-bold",children:"Promote Branch"}),(0,b.jsx)("button",{onClick:f,disabled:c,className:"text-app-text-dim hover:text-app-text transition-colors disabled:opacity-50",children:(0,b.jsx)(ef,{className:"w-5 h-5"})})]}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"block text-sm text-app-text-dim mb-2",children:"Source"}),(0,b.jsx)("div",{className:"px-3 py-2 bg-app-bg border border-app-border rounded font-mono text-app-accent",children:r})]}),(0,b.jsx)("div",{className:"flex justify-center",children:(0,b.jsx)(oD,{className:"w-6 h-6 text-app-text-dim"})}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("label",{className:"block text-sm text-app-text-dim mb-2",children:["Target ",(0,b.jsx)("span",{className:"text-red-400",children:"*"})]}),(0,b.jsx)("select",{value:s,onChange:e=>i(e.target.value),disabled:c,className:"w-full px-3 py-2 bg-app-bg border border-app-border rounded text-sm focus:outline-none focus:border-app-accent cursor-pointer",children:h.map(e=>(0,b.jsx)("option",{value:e,children:e},e))}),"main"===s&&(0,b.jsxs)("div",{className:"mt-2 flex items-start gap-2 text-yellow-400 text-xs",children:[(0,b.jsx)(eh,{className:"w-3.5 h-3.5 flex-shrink-0 mt-0.5"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"font-semibold",children:"main"})," is a protected branch. This operation will update production state."]})]}),"main"!==s&&(0,b.jsx)("p",{className:"text-xs text-app-text-dim mt-1",children:"The branch that will be updated"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"block text-sm text-app-text-dim mb-2",children:"Promotion Method"}),(0,b.jsx)("div",{className:"px-3 py-2.5 bg-app-bg border border-app-border rounded",children:(0,b.jsxs)("div",{className:"flex items-start gap-2",children:[(0,b.jsx)("div",{className:"text-green-400 mt-0.5",children:"✓"}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:"Full state replacement (SQLite-safe)"}),(0,b.jsx)("div",{className:"text-xs text-app-text-dim mt-1",children:"SQLite branches are promoted by replacing the target database state."})]})]})})]}),(0,b.jsx)("div",{children:(0,b.jsxs)("label",{className:"flex items-start gap-2 cursor-pointer",children:[(0,b.jsx)("input",{type:"checkbox",checked:o,onChange:e=>l(e.target.checked),disabled:c,className:"mt-0.5"}),(0,b.jsxs)("div",{className:"flex-1",children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:"Create snapshot before promote"}),(0,b.jsx)("div",{className:"text-xs text-app-text-dim",children:"Recommended for easy rollback"})]})]})}),(0,b.jsx)("div",{className:"bg-yellow-500/10 border border-yellow-500/20 rounded p-4",children:(0,b.jsxs)("div",{className:"flex items-start gap-2",children:[(0,b.jsx)(eh,{className:"w-5 h-5 text-yellow-400 flex-shrink-0 mt-0.5"}),(0,b.jsxs)("div",{className:"flex-1 space-y-1 text-sm text-yellow-200",children:[(0,b.jsx)("p",{className:"font-medium",children:"Summary:"}),(0,b.jsxs)("ul",{className:"space-y-1 list-disc list-inside text-xs",children:[(0,b.jsxs)("li",{children:[(0,b.jsx)("span",{className:"font-mono",children:s})," will be updated to match ",(0,b.jsx)("span",{className:"font-mono",children:r})]}),(0,b.jsxs)("li",{children:[(0,b.jsx)("span",{className:"font-mono",children:s})," history will be preserved in timeline"]}),(0,b.jsxs)("li",{children:[(0,b.jsx)("span",{className:"font-mono",children:r})," will remain unchanged"]}),o&&(0,b.jsx)("li",{children:"Automatic snapshot created for rollback"})]})]})]})}),u&&(0,b.jsx)("div",{className:"bg-red-500/10 border border-red-500/20 rounded p-3",children:(0,b.jsx)("p",{className:"text-sm text-red-400",children:u})}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 pt-2",children:[(0,b.jsx)("button",{onClick:f,disabled:c,className:"px-4 py-2 text-sm bg-app-sidebar-active hover:bg-app-sidebar-hover disabled:opacity-50 rounded transition-colors",children:"Cancel"}),(0,b.jsx)("button",{onClick:m,disabled:c||!s,className:"px-4 py-2 text-sm bg-app-accent hover:bg-app-accent-hover disabled:opacity-50 text-white rounded transition-colors flex items-center gap-2",children:c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)($,{className:"w-4 h-4 animate-spin"}),(0,b.jsx)("span",{children:"Promoting..."})]}):(0,b.jsx)("span",{children:"Promote"})})]})]})]})})}function oL({currentBranch:e,onBranchChange:t,onCreateClick:r}){let{branchVersion:n,incrementBranchVersion:a}=ev(),[s,i]=(0,g.useState)([]),[o,l]=(0,g.useState)(!0),[c,d]=(0,g.useState)(null),[u,p]=(0,g.useState)(null);async function h(){try{l(!0);let e=await en();i(e.branches||[])}catch(e){console.error("Failed to load branches:",e)}finally{l(!1)}}async function m(){p(null),await h(),t?.()}async function f(r){if("main"===r)return void iT.toast.error("Cannot delete main branch");let n=r===e;if(confirm(`Are you sure you want to delete branch "${r}"?
102
102
 
103
- This will remove the branch metadata, but the database file will be kept for safety.${n?"\n\nYou will be switched to main branch.":""}`))try{d(r),n&&(await es("main"),a()),await ei(r),await h(),iT.toast.success(`Branch "${r}" deleted`),n&&t?.()}catch(e){console.error("Failed to delete branch:",e),iT.toast.error(`Failed to delete branch: ${e.message}`)}finally{d(null)}}return((0,g.useEffect)(()=>{h()},[n]),o)?(0,b.jsx)("div",{className:"h-full flex items-center justify-center",children:(0,b.jsx)(L,{className:"w-6 h-6 animate-spin text-app-accent"})}):(0,b.jsxs)("div",{className:"h-full flex flex-col bg-app-bg",children:[(0,b.jsx)("div",{className:"px-6 py-4 border-b border-app-border",children:(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-bold mb-1",children:"Branches"}),(0,b.jsxs)("p",{className:"text-sm text-app-text-dim",children:["Manage database branches • Current: ",(0,b.jsx)("span",{className:"text-app-accent font-medium",children:e})]})]}),(0,b.jsxs)("button",{onClick:r,className:"px-4 py-2 bg-app-accent hover:bg-app-accent-hover text-white rounded flex items-center gap-2 transition-colors",children:[(0,b.jsx)(D,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:"Create Branch"})]})]})}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto p-6",children:0===s.length?(0,b.jsxs)("div",{className:"h-full flex flex-col items-center justify-center text-app-text-dim",children:[(0,b.jsx)(C,{className:"w-12 h-12 mb-3 opacity-50"}),(0,b.jsx)("p",{className:"text-lg",children:"No branches"}),(0,b.jsx)("p",{className:"text-sm mt-1",children:"Create your first branch to get started"})]}):(0,b.jsx)("div",{className:"max-w-6xl mx-auto",children:(0,b.jsx)("div",{className:"bg-app-sidebar border border-app-border rounded-lg overflow-hidden",children:(0,b.jsxs)("table",{className:"w-full",children:[(0,b.jsx)("thead",{children:(0,b.jsxs)("tr",{className:"border-b border-app-border bg-app-bg",children:[(0,b.jsx)("th",{className:"px-4 py-3 text-left text-xs font-semibold text-app-text-dim uppercase",children:"Branch"}),(0,b.jsx)("th",{className:"px-4 py-3 text-left text-xs font-semibold text-app-text-dim uppercase",children:"Base"}),(0,b.jsx)("th",{className:"px-4 py-3 text-left text-xs font-semibold text-app-text-dim uppercase",children:"Created"}),(0,b.jsx)("th",{className:"px-4 py-3 text-left text-xs font-semibold text-app-text-dim uppercase",children:"Last Change"}),(0,b.jsx)("th",{className:"px-4 py-3 text-right text-xs font-semibold text-app-text-dim uppercase",children:"Actions"})]})}),(0,b.jsx)("tbody",{children:s.map(e=>(0,b.jsxs)("tr",{className:`
103
+ This will remove the branch metadata, but the database file will be kept for safety.${n?"\n\nYou will be switched to main branch.":""}`))try{d(r),n&&(await es("main"),a()),await ei(r),await h(),iT.toast.success(`Branch "${r}" deleted`),n&&t?.()}catch(e){console.error("Failed to delete branch:",e),iT.toast.error(`Failed to delete branch: ${e.message}`)}finally{d(null)}}return((0,g.useEffect)(()=>{h()},[n]),o)?(0,b.jsx)("div",{className:"h-full flex items-center justify-center",children:(0,b.jsx)($,{className:"w-6 h-6 animate-spin text-app-accent"})}):(0,b.jsxs)("div",{className:"h-full flex flex-col bg-app-bg",children:[(0,b.jsx)("div",{className:"px-6 py-4 border-b border-app-border",children:(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h1",{className:"text-2xl font-bold mb-1",children:"Branches"}),(0,b.jsxs)("p",{className:"text-sm text-app-text-dim",children:["Manage database branches • Current: ",(0,b.jsx)("span",{className:"text-app-accent font-medium",children:e})]})]}),(0,b.jsxs)("button",{onClick:r,className:"px-4 py-2 bg-app-accent hover:bg-app-accent-hover text-white rounded flex items-center gap-2 transition-colors",children:[(0,b.jsx)(D,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:"Create Branch"})]})]})}),(0,b.jsx)("div",{className:"flex-1 overflow-y-auto p-6",children:0===s.length?(0,b.jsxs)("div",{className:"h-full flex flex-col items-center justify-center text-app-text-dim",children:[(0,b.jsx)(C,{className:"w-12 h-12 mb-3 opacity-50"}),(0,b.jsx)("p",{className:"text-lg",children:"No branches"}),(0,b.jsx)("p",{className:"text-sm mt-1",children:"Create your first branch to get started"})]}):(0,b.jsx)("div",{className:"max-w-6xl mx-auto",children:(0,b.jsx)("div",{className:"bg-app-sidebar border border-app-border rounded-lg overflow-hidden",children:(0,b.jsxs)("table",{className:"w-full",children:[(0,b.jsx)("thead",{children:(0,b.jsxs)("tr",{className:"border-b border-app-border bg-app-bg",children:[(0,b.jsx)("th",{className:"px-4 py-3 text-left text-xs font-semibold text-app-text-dim uppercase",children:"Branch"}),(0,b.jsx)("th",{className:"px-4 py-3 text-left text-xs font-semibold text-app-text-dim uppercase",children:"Base"}),(0,b.jsx)("th",{className:"px-4 py-3 text-left text-xs font-semibold text-app-text-dim uppercase",children:"Created"}),(0,b.jsx)("th",{className:"px-4 py-3 text-left text-xs font-semibold text-app-text-dim uppercase",children:"Last Change"}),(0,b.jsx)("th",{className:"px-4 py-3 text-right text-xs font-semibold text-app-text-dim uppercase",children:"Actions"})]})}),(0,b.jsx)("tbody",{children:s.map(e=>(0,b.jsxs)("tr",{className:`
104
104
  border-b border-app-border last:border-0 transition-colors
105
105
  ${e.is_current?"bg-app-accent/5":"hover:bg-app-sidebar-hover"}
106
- `,children:[(0,b.jsx)("td",{className:"px-4 py-3",children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(C,{className:`w-4 h-4 flex-shrink-0 ${e.is_current?"text-app-accent":"text-app-text-dim"}`}),(0,b.jsx)("span",{className:"font-medium font-mono",children:e.name}),e.is_current&&(0,b.jsx)("span",{className:"px-1.5 py-0.5 bg-app-accent/20 text-app-accent text-xs rounded",children:"current"})]})}),(0,b.jsx)("td",{className:"px-4 py-3",children:e.created_from?(0,b.jsx)("span",{className:"font-mono text-sm text-app-text-dim",children:e.created_from}):(0,b.jsx)("span",{className:"text-app-text-dim text-sm",children:"—"})}),(0,b.jsx)("td",{className:"px-4 py-3",children:(0,b.jsx)("span",{className:"text-sm text-app-text-dim",children:om(new Date(e.created_at),"MMM d")})}),(0,b.jsx)("td",{className:"px-4 py-3",children:(0,b.jsx)("span",{className:"text-sm text-app-text-dim",children:om(new Date(e.created_at),"MMM d")})}),(0,b.jsx)("td",{className:"px-4 py-3",children:(0,b.jsx)("div",{className:"flex items-center justify-end gap-2",children:"main"===e.name?(0,b.jsxs)("div",{className:"flex items-center gap-1 text-app-text-dim text-sm",children:[(0,b.jsx)($,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:"Protected"})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("button",{onClick:()=>p(e.name),className:"px-3 py-1.5 bg-app-accent/10 hover:bg-app-accent/20 text-app-accent rounded text-sm transition-colors flex items-center gap-1.5",children:[(0,b.jsx)(oD,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:"Promote"})]}),(0,b.jsx)("button",{onClick:()=>f(e.name),disabled:null!==c,className:"p-1.5 text-red-400 hover:bg-red-500/10 disabled:opacity-50 rounded transition-colors",title:e.is_current?"Delete branch (will switch to main)":"Delete branch",children:c===e.name?(0,b.jsx)(L,{className:"w-4 h-4 animate-spin"}):(0,b.jsx)(iR,{className:"w-4 h-4"})})]})})})]},e.name))})]})})})}),u&&(0,b.jsx)(oL,{isOpen:!0,onClose:()=>p(null),sourceBranch:u,branches:s.map(e=>e.name),onSuccess:m})]})}function oP({isOpen:e,onClose:t,currentBranch:r,onSuccess:n}){let{incrementBranchVersion:a}=ev(),[s,i]=(0,g.useState)(""),[o,l]=(0,g.useState)(""),[c,d]=(0,g.useState)(r),[u,p]=(0,g.useState)([]),[h,m]=(0,g.useState)(!1),[f,x]=(0,g.useState)(!1),[v,y]=(0,g.useState)(null),[w,j]=(0,g.useState)(!1),[N,E]=(0,g.useState)(""),[S,k]=(0,g.useState)(!1);async function _(){x(!0);try{let e=await en();p(e.branches||[])}catch(e){console.error("Failed to load branches:",e)}finally{x(!1)}}if((0,g.useEffect)(()=>{e&&(_(),d(r))},[e,r]),!e)return null;async function M(){if(!s.trim())return void y("Branch name is required");if(!/^[a-zA-Z0-9_/-]+$/.test(s))return void y("Branch name can only contain letters, numbers, hyphens, slashes, and underscores");if(!c)return void y("Base branch is required");m(!0),y(null);try{let e=s.trim();await ea(e,c,o.trim()||void 0),E(e),j(!0),i(""),l(""),d(r),n?.()}catch(e){y(e.message)}finally{m(!1)}}async function T(){k(!0);try{await es(N),a(),iT.toast.success(`Switched to branch: ${N}`),j(!1),t()}catch(e){iT.toast.error("Failed to switch branch: "+e.message)}finally{k(!1)}}function A(){h||S||(i(""),l(""),d(r),y(null),j(!1),t())}return(0,b.jsx)("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-50",onClick:A,children:(0,b.jsx)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-6 w-full max-w-md",onClick:e=>e.stopPropagation(),children:w?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"flex items-center justify-center mb-4",children:(0,b.jsx)("div",{className:"w-12 h-12 bg-green-500/20 rounded-full flex items-center justify-center",children:(0,b.jsx)(R,{className:"w-6 h-6 text-green-400"})})}),(0,b.jsxs)("div",{className:"text-center mb-6",children:[(0,b.jsx)("h2",{className:"text-lg font-bold mb-2",children:"Branch Created!"}),(0,b.jsxs)("p",{className:"text-app-text-dim text-sm",children:[(0,b.jsx)("span",{className:"font-mono text-app-accent",children:N})," has been created successfully."]})]}),(0,b.jsx)("div",{className:"bg-app-bg/50 border border-app-border rounded-lg p-4 mb-6",children:(0,b.jsx)("p",{className:"text-sm text-center",children:"Switch to the new branch?"})}),(0,b.jsxs)("div",{className:"flex gap-3",children:[(0,b.jsxs)("button",{onClick:function(){iT.toast.success(`Branch "${N}" created`),j(!1),t()},disabled:S,className:"flex-1 px-4 py-2.5 text-sm bg-app-sidebar-active hover:bg-app-sidebar-hover disabled:opacity-50 rounded transition-colors",children:["Stay on ",r]}),(0,b.jsx)("button",{onClick:T,disabled:S,className:"flex-1 px-4 py-2.5 text-sm bg-app-accent hover:bg-app-accent-hover disabled:opacity-50 text-white rounded transition-colors flex items-center justify-center gap-2",children:S?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(L,{className:"w-4 h-4 animate-spin"}),(0,b.jsx)("span",{children:"Switching..."})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(C,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:"Switch"})]})})]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(C,{className:"w-5 h-5 text-app-accent"}),(0,b.jsx)("h2",{className:"text-xl font-bold",children:"Create New Branch"})]}),(0,b.jsx)("button",{onClick:A,disabled:h,className:"text-app-text-dim hover:text-app-text transition-colors disabled:opacity-50",children:(0,b.jsx)(ef,{className:"w-5 h-5"})})]}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("label",{className:"block text-sm text-app-text-dim mb-2",children:["Branch Name ",(0,b.jsx)("span",{className:"text-red-400",children:"*"})]}),(0,b.jsx)("input",{type:"text",value:s,onChange:e=>i(e.target.value),onKeyDown:e=>{"Enter"!==e.key||h||M()},placeholder:"e.g., feature/auth or experiment",className:"w-full px-3 py-2 bg-app-bg border border-app-border rounded text-sm focus:outline-none focus:border-app-accent",autoFocus:!0,disabled:h}),(0,b.jsx)("p",{className:"text-xs text-app-text-dim mt-1",children:"Letters, numbers, hyphens, slashes, and underscores only"})]}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("label",{className:"block text-sm text-app-text-dim mb-2",children:["Base Branch ",(0,b.jsx)("span",{className:"text-red-400",children:"*"})]}),(0,b.jsx)("select",{value:c,onChange:e=>d(e.target.value),disabled:h||f,className:"w-full px-3 py-2 bg-app-bg border border-app-border rounded text-sm focus:outline-none focus:border-app-accent cursor-pointer",children:f?(0,b.jsx)("option",{children:"Loading branches..."}):u.map(e=>(0,b.jsxs)("option",{value:e.name,children:[e.name," ",e.is_current?"(current)":""]},e.name))}),(0,b.jsx)("p",{className:"text-xs text-app-text-dim mt-1",children:"The branch to copy from"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"block text-sm text-app-text-dim mb-2",children:"Description (optional)"}),(0,b.jsx)("textarea",{value:o,onChange:e=>l(e.target.value),placeholder:"What is this branch for?",className:"w-full px-3 py-2 bg-app-bg border border-app-border rounded text-sm focus:outline-none focus:border-app-accent resize-none",rows:3,disabled:h})]}),(0,b.jsx)("div",{className:"bg-blue-500/10 border border-blue-500/20 rounded p-3",children:(0,b.jsxs)("p",{className:"text-xs text-blue-400",children:["ℹ️ This will create a full isolated copy of ",(0,b.jsx)("span",{className:"font-semibold",children:c})]})}),v&&(0,b.jsx)("div",{className:"bg-red-500/10 border border-red-500/20 rounded p-3",children:(0,b.jsx)("p",{className:"text-sm text-red-400",children:v})}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 pt-2",children:[(0,b.jsx)("button",{onClick:A,disabled:h,className:"px-4 py-2 text-sm bg-app-sidebar-active hover:bg-app-sidebar-hover disabled:opacity-50 rounded transition-colors",children:"Cancel"}),(0,b.jsx)("button",{onClick:M,disabled:h||!s.trim()||!c||f,className:"px-4 py-2 text-sm bg-app-accent hover:bg-app-accent-hover disabled:opacity-50 text-white rounded transition-colors flex items-center gap-2",children:h?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(L,{className:"w-4 h-4 animate-spin"}),(0,b.jsx)("span",{children:"Creating..."})]}):(0,b.jsx)("span",{children:"Create Branch"})})]})]})]})})})}let oI=y("XCircle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),oB=y("Loader2",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);function oz(){let e,t,r,n,a,[s,i]=(0,g.useState)(null),[o,l]=(0,g.useState)(!0),[c,d]=(0,g.useState)(!1),[u,p]=(0,g.useState)(!1),[h,m]=(0,g.useState)("production"),[f,x]=(0,g.useState)(null);async function v(){try{l(!0);let e=await fetch("/api/export/status");if(!e.ok)throw Error("Failed to load export status");let t=await e.json();i(t),x(null)}catch(e){x(e instanceof Error?e.message:"Failed to load status")}finally{l(!1)}}async function y(){if(s?.mainExists&&s?.databaseHealthy)try{d(!0),p(!1),x(null);let e=await fetch("/api/export/database",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({fileName:h||"production"})});if(!e.ok){let t=await e.json();throw Error(t.error||"Export failed")}let t=await e.blob(),r=window.URL.createObjectURL(t),n=document.createElement("a");n.href=r,n.download=`${h||"production"}.db`,document.body.appendChild(n),n.click(),window.URL.revokeObjectURL(r),document.body.removeChild(n),p(!0),setTimeout(()=>p(!1),3e3)}catch(e){x(e instanceof Error?e.message:"Export failed")}finally{d(!1)}}(0,g.useEffect)(()=>{v()},[]);let w=s?.mainExists&&s?.databaseHealthy&&!c;return(0,b.jsx)("div",{className:"h-full overflow-auto",children:(0,b.jsxs)("div",{className:"max-w-2xl mx-auto p-8",children:[(0,b.jsxs)("div",{className:"mb-8",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 mb-2",children:[(0,b.jsx)("div",{className:"p-2 bg-emerald-500/10 rounded-lg",children:(0,b.jsx)(M,{className:"w-6 h-6 text-emerald-500"})}),(0,b.jsx)("h1",{className:"text-2xl font-bold",children:"Export Production Database"})]}),(0,b.jsxs)("p",{className:"text-app-text-dim",children:["Export a clean SQLite database from the ",(0,b.jsx)("code",{className:"px-1.5 py-0.5 bg-app-sidebar rounded text-emerald-400",children:"main"})," branch for production use."]})]}),o?(0,b.jsx)("div",{className:"flex items-center justify-center py-16",children:(0,b.jsx)(oB,{className:"w-8 h-8 animate-spin text-app-text-dim"})}):f&&!s?(0,b.jsx)("div",{className:"bg-red-500/10 border border-red-500/20 rounded-lg p-4 text-red-400",children:f}):s&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"bg-app-card border border-app-border rounded-lg p-5 mb-6",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-4",children:[(0,b.jsx)(C,{className:"w-4 h-4 text-emerald-500"}),(0,b.jsx)("span",{className:"text-sm font-medium",children:"Branch used for export"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:"px-3 py-1.5 bg-emerald-500/10 border border-emerald-500/20 rounded-md",children:(0,b.jsx)("span",{className:"text-emerald-400 font-mono font-medium",children:"main"})}),(0,b.jsx)("span",{className:"text-app-text-dim text-sm",children:"(Production source — always stable)"})]}),(0,b.jsxs)("div",{className:"mt-3 text-xs text-app-text-dim",children:["ℹ️ Only the ",(0,b.jsx)("span",{className:"font-mono text-emerald-400",children:"main"})," branch can be exported. To export another branch, promote it to main first."]})]}),(0,b.jsxs)("div",{className:"bg-app-card border border-app-border rounded-lg p-5 mb-6",children:[(0,b.jsx)("h3",{className:"text-sm font-medium mb-4",children:"Pre-export Checks"}),(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)(oq,{ok:s.mainExists,label:"main branch exists"}),(0,b.jsx)(oq,{ok:0===s.pendingMigrations,label:0===s.pendingMigrations?"No pending migrations on main":`${s.pendingMigrations} pending migration(s) on main`,warning:s.pendingMigrations>0}),(0,b.jsx)(oq,{ok:s.databaseHealthy,label:"Database healthy"})]})]}),(0,b.jsxs)("div",{className:"bg-app-card border border-app-border rounded-lg p-5 mb-6",children:[(0,b.jsx)("h3",{className:"text-sm font-medium mb-4",children:"Database Contents"}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(N,{className:"w-4 h-4 text-app-text-dim"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-lg font-semibold",children:s.tableCount}),(0,b.jsx)("div",{className:"text-xs text-app-text-dim",children:"Tables"})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(S,{className:"w-4 h-4 text-app-text-dim"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:s.lastModified?(e=new Date(s.lastModified),r=Math.floor((t=new Date().getTime()-e.getTime())/6e4),n=Math.floor(t/36e5),a=Math.floor(t/864e5),r<1?"Just now":r<60?`${r} minute${r>1?"s":""} ago`:n<24?`${n} hour${n>1?"s":""} ago`:a<7?`${a} day${a>1?"s":""} ago`:e.toLocaleDateString()):"Never modified"}),(0,b.jsx)("div",{className:"text-xs text-app-text-dim",children:"Last modified on main"})]})]})]})]}),(0,b.jsxs)("div",{className:"bg-app-card border border-app-border rounded-lg p-5",children:[(0,b.jsx)("h3",{className:"text-sm font-medium mb-4",children:"Export Settings"}),(0,b.jsxs)("div",{className:"mb-6",children:[(0,b.jsx)("label",{className:"block text-sm text-app-text-dim mb-2",children:"Export file name"}),(0,b.jsxs)("div",{className:"flex items-center",children:[(0,b.jsx)("input",{type:"text",value:h,onChange:e=>m(e.target.value.replace(/[^a-zA-Z0-9_-]/g,"")),placeholder:"production",className:"flex-1 px-3 py-2 bg-app-bg border border-app-border rounded-l-md focus:outline-none focus:border-blue-500 font-mono"}),(0,b.jsx)("span",{className:"px-3 py-2 bg-app-sidebar border border-l-0 border-app-border rounded-r-md text-app-text-dim",children:".db"})]})]}),f&&(0,b.jsx)("div",{className:"mb-4 p-3 bg-red-500/10 border border-red-500/20 rounded-md text-red-400 text-sm",children:f}),(0,b.jsx)("button",{onClick:y,disabled:!w,className:`
107
- w-full flex items-center justify-center gap-3 px-4 py-3 rounded-lg font-medium transition-all duration-300
108
- ${w?u?"bg-emerald-500 text-white":"bg-blue-600 hover:bg-blue-700 text-white":"bg-app-sidebar text-app-text-dim cursor-not-allowed"}
109
- `,children:c?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(oB,{className:"w-5 h-5 animate-spin"}),(0,b.jsx)("span",{children:"Exporting..."}),(0,b.jsx)(oF,{})]}):u?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(em,{className:"w-5 h-5"}),(0,b.jsx)("span",{children:"Downloaded Successfully!"})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(iN,{className:"w-5 h-5"}),(0,b.jsx)("span",{children:"Export Database"})]})}),!s.mainExists&&(0,b.jsx)("p",{className:"mt-3 text-sm text-red-400 text-center",children:"Cannot export: main branch does not exist"})]}),(0,b.jsxs)("div",{className:"mt-6 p-4 bg-app-sidebar/50 rounded-lg",children:[(0,b.jsx)("h4",{className:"text-sm font-medium mb-3",children:"What's included in export:"}),(0,b.jsxs)("ul",{className:"text-sm text-app-text-dim space-y-1",children:[(0,b.jsxs)("li",{className:"flex items-center gap-2",children:[(0,b.jsx)(em,{className:"w-3.5 h-3.5 text-emerald-500"}),"All tables and data from main"]}),(0,b.jsxs)("li",{className:"flex items-center gap-2",children:[(0,b.jsx)(em,{className:"w-3.5 h-3.5 text-emerald-500"}),"Indexes, triggers, and views"]}),(0,b.jsxs)("li",{className:"flex items-center gap-2",children:[(0,b.jsx)(em,{className:"w-3.5 h-3.5 text-emerald-500"}),"Clean SQLite file (no WAL)"]})]}),(0,b.jsx)("h4",{className:"text-sm font-medium mt-4 mb-3",children:"What's NOT included:"}),(0,b.jsxs)("ul",{className:"text-sm text-app-text-dim space-y-1",children:[(0,b.jsxs)("li",{className:"flex items-center gap-2",children:[(0,b.jsx)(oI,{className:"w-3.5 h-3.5 text-red-400"}),"Branch data"]}),(0,b.jsxs)("li",{className:"flex items-center gap-2",children:[(0,b.jsx)(oI,{className:"w-3.5 h-3.5 text-red-400"}),"Timeline history"]}),(0,b.jsxs)("li",{className:"flex items-center gap-2",children:[(0,b.jsx)(oI,{className:"w-3.5 h-3.5 text-red-400"}),"Snapshots"]}),(0,b.jsxs)("li",{className:"flex items-center gap-2",children:[(0,b.jsx)(oI,{className:"w-3.5 h-3.5 text-red-400"}),"Migration metadata"]})]})]})]})]})})}function oq({ok:e,label:t,warning:r=!1}){return(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[e?(0,b.jsx)(em,{className:`w-4 h-4 ${r?"text-amber-400":"text-emerald-500"}`}):(0,b.jsx)(oI,{className:"w-4 h-4 text-red-400"}),(0,b.jsx)("span",{className:`text-sm ${e?r?"text-amber-400":"text-app-text":"text-red-400"}`,children:t})]})}function oF(){return(0,b.jsxs)("span",{className:"flex gap-1",children:[(0,b.jsx)("span",{className:"w-1.5 h-1.5 bg-white/60 rounded-full animate-bounce",style:{animationDelay:"0ms"}}),(0,b.jsx)("span",{className:"w-1.5 h-1.5 bg-white/60 rounded-full animate-bounce",style:{animationDelay:"150ms"}}),(0,b.jsx)("span",{className:"w-1.5 h-1.5 bg-white/60 rounded-full animate-bounce",style:{animationDelay:"300ms"}})]})}function oH(){let[e,t]=(0,g.useState)("home"),[r,n]=(0,g.useState)(!1),[a,s]=(0,g.useState)(!1),[i,o]=(0,g.useState)(!1),{projectInfo:l,setProjectInfo:c,incrementBranchVersion:d}=ev();async function u(){try{let e=await I();c(e)}catch(e){console.error("Failed to load project info:",e)}}function p(){u(),d()}function h(){n(!0)}(0,g.useEffect)(()=>{u()},[]),(0,g.useEffect)(()=>{"sql"!==e&&i&&o(!1)},[e,i]);let m="sql"===e;return(0,b.jsxs)("div",{className:"flex h-screen bg-app-bg text-app-text",children:[(0,b.jsx)(T,{currentPage:e,onNavigate:t}),(0,b.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,b.jsx)(eu,{projectInfo:l,currentBranch:l?.currentBranch,onBranchChange:p,onCreateBranchClick:h,showAI:m,onAIClick:()=>s(e=>!e),disableBranchSelector:"sql"===e&&i}),(0,b.jsxs)("main",{className:"flex-1 overflow-hidden",children:["home"===e&&(0,b.jsx)(ey,{projectInfo:l}),"sql"===e&&(0,b.jsx)(ov,{compareMode:i,onCompareModeChange:o}),"database"===e&&(0,b.jsx)(ib,{}),"branches"===e&&(0,b.jsx)(o$,{currentBranch:l?.currentBranch||"main",onBranchChange:p,onCreateClick:h}),"migrations"===e&&(0,b.jsx)(oO,{}),"timeline"===e&&(0,b.jsx)(oN,{}),"snapshots"===e&&(0,b.jsx)(oA,{}),"export"===e&&(0,b.jsx)(oz,{}),"settings"===e&&(0,b.jsxs)("div",{className:"p-8",children:[(0,b.jsx)("h1",{className:"text-2xl font-bold",children:"Settings"}),(0,b.jsx)("p",{className:"text-app-text-dim mt-2",children:"settings will be added later to further modify values and workflows."})]})]})]}),m&&a&&(0,b.jsxs)("div",{className:"fixed inset-0 z-50",children:[(0,b.jsx)("div",{className:"absolute inset-0 bg-black/50",onClick:()=>s(!1)}),(0,b.jsxs)("aside",{className:"absolute right-0 top-0 h-full w-full max-w-md bg-app-sidebar border-l border-app-border shadow-2xl flex flex-col",children:[(0,b.jsxs)("div",{className:"h-12 px-4 border-b border-app-border flex items-center justify-between",children:[(0,b.jsx)("div",{className:"text-sm font-semibold",children:"AI Assistant"}),(0,b.jsx)("button",{onClick:()=>s(!1),className:"px-2 py-1 text-xs bg-app-sidebar-active hover:bg-app-sidebar-hover rounded transition-colors",children:"Close"})]}),(0,b.jsxs)("div",{className:"flex-1 p-6 flex flex-col items-center justify-center text-center",children:[(0,b.jsx)("div",{className:"text-2xl font-bold mb-2",children:"Comming soon"}),(0,b.jsx)("p",{className:"text-sm text-app-text-dim max-w-sm",children:"We are building a focused assistant for SQL, schema insights, and query tuning."}),(0,b.jsx)("div",{className:"mt-6 w-full max-w-xs rounded-lg border border-app-border bg-app-bg/60 p-4 text-xs text-app-text-dim",children:"Stay tuned for guided query help, ER diagram hints, and migration suggestions."})]})]})]}),(0,b.jsx)(oP,{isOpen:r,onClose:()=>n(!1),currentBranch:l?.currentBranch||"main",onSuccess:p})]})}function oU(){return(0,b.jsx)(eg,{children:(0,b.jsx)(oH,{})})}e.s(["default",()=>oU],53865)}]);
106
+ `,children:[(0,b.jsx)("td",{className:"px-4 py-3",children:(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(C,{className:`w-4 h-4 flex-shrink-0 ${e.is_current?"text-app-accent":"text-app-text-dim"}`}),(0,b.jsx)("span",{className:"font-medium font-mono",children:e.name}),e.is_current&&(0,b.jsx)("span",{className:"px-1.5 py-0.5 bg-app-accent/20 text-app-accent text-xs rounded",children:"current"})]})}),(0,b.jsx)("td",{className:"px-4 py-3",children:e.created_from?(0,b.jsx)("span",{className:"font-mono text-sm text-app-text-dim",children:e.created_from}):(0,b.jsx)("span",{className:"text-app-text-dim text-sm",children:"—"})}),(0,b.jsx)("td",{className:"px-4 py-3",children:(0,b.jsx)("span",{className:"text-sm text-app-text-dim",children:om(new Date(e.created_at),"MMM d")})}),(0,b.jsx)("td",{className:"px-4 py-3",children:(0,b.jsx)("span",{className:"text-sm text-app-text-dim",children:om(new Date(e.created_at),"MMM d")})}),(0,b.jsx)("td",{className:"px-4 py-3",children:(0,b.jsx)("div",{className:"flex items-center justify-end gap-2",children:"main"===e.name?(0,b.jsxs)("div",{className:"flex items-center gap-1 text-app-text-dim text-sm",children:[(0,b.jsx)(L,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:"Protected"})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("button",{onClick:()=>p(e.name),className:"px-3 py-1.5 bg-app-accent/10 hover:bg-app-accent/20 text-app-accent rounded text-sm transition-colors flex items-center gap-1.5",children:[(0,b.jsx)(oD,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:"Promote"})]}),(0,b.jsx)("button",{onClick:()=>f(e.name),disabled:null!==c,className:"p-1.5 text-red-400 hover:bg-red-500/10 disabled:opacity-50 rounded transition-colors",title:e.is_current?"Delete branch (will switch to main)":"Delete branch",children:c===e.name?(0,b.jsx)($,{className:"w-4 h-4 animate-spin"}):(0,b.jsx)(iR,{className:"w-4 h-4"})})]})})})]},e.name))})]})})})}),u&&(0,b.jsx)(o$,{isOpen:!0,onClose:()=>p(null),sourceBranch:u,branches:s.map(e=>e.name),onSuccess:m})]})}function oP({isOpen:e,onClose:t,currentBranch:r,onSuccess:n}){let{incrementBranchVersion:a}=ev(),[s,i]=(0,g.useState)(""),[o,l]=(0,g.useState)(""),[c,d]=(0,g.useState)(r),[u,p]=(0,g.useState)([]),[h,m]=(0,g.useState)(!1),[f,x]=(0,g.useState)(!1),[v,y]=(0,g.useState)(null),[w,j]=(0,g.useState)(!1),[N,E]=(0,g.useState)(""),[S,k]=(0,g.useState)(!1);async function _(){x(!0);try{let e=await en();p(e.branches||[])}catch(e){console.error("Failed to load branches:",e)}finally{x(!1)}}if((0,g.useEffect)(()=>{e&&(_(),d(r))},[e,r]),!e)return null;async function M(){if(!s.trim())return void y("Branch name is required");if(!/^[a-zA-Z0-9_/-]+$/.test(s))return void y("Branch name can only contain letters, numbers, hyphens, slashes, and underscores");if(!c)return void y("Base branch is required");m(!0),y(null);try{let e=s.trim();await ea(e,c,o.trim()||void 0),E(e),j(!0),i(""),l(""),d(r),n?.()}catch(e){y(e.message)}finally{m(!1)}}async function T(){k(!0);try{await es(N),a(),iT.toast.success(`Switched to branch: ${N}`),j(!1),t()}catch(e){iT.toast.error("Failed to switch branch: "+e.message)}finally{k(!1)}}function A(){h||S||(i(""),l(""),d(r),y(null),j(!1),t())}return(0,b.jsx)("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-50",onClick:A,children:(0,b.jsx)("div",{className:"bg-app-sidebar border border-app-border rounded-lg p-6 w-full max-w-md",onClick:e=>e.stopPropagation(),children:w?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"flex items-center justify-center mb-4",children:(0,b.jsx)("div",{className:"w-12 h-12 bg-green-500/20 rounded-full flex items-center justify-center",children:(0,b.jsx)(R,{className:"w-6 h-6 text-green-400"})})}),(0,b.jsxs)("div",{className:"text-center mb-6",children:[(0,b.jsx)("h2",{className:"text-lg font-bold mb-2",children:"Branch Created!"}),(0,b.jsxs)("p",{className:"text-app-text-dim text-sm",children:[(0,b.jsx)("span",{className:"font-mono text-app-accent",children:N})," has been created successfully."]})]}),(0,b.jsx)("div",{className:"bg-app-bg/50 border border-app-border rounded-lg p-4 mb-6",children:(0,b.jsx)("p",{className:"text-sm text-center",children:"Switch to the new branch?"})}),(0,b.jsxs)("div",{className:"flex gap-3",children:[(0,b.jsxs)("button",{onClick:function(){iT.toast.success(`Branch "${N}" created`),j(!1),t()},disabled:S,className:"flex-1 px-4 py-2.5 text-sm bg-app-sidebar-active hover:bg-app-sidebar-hover disabled:opacity-50 rounded transition-colors",children:["Stay on ",r]}),(0,b.jsx)("button",{onClick:T,disabled:S,className:"flex-1 px-4 py-2.5 text-sm bg-app-accent hover:bg-app-accent-hover disabled:opacity-50 text-white rounded transition-colors flex items-center justify-center gap-2",children:S?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)($,{className:"w-4 h-4 animate-spin"}),(0,b.jsx)("span",{children:"Switching..."})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(C,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:"Switch"})]})})]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(C,{className:"w-5 h-5 text-app-accent"}),(0,b.jsx)("h2",{className:"text-xl font-bold",children:"Create New Branch"})]}),(0,b.jsx)("button",{onClick:A,disabled:h,className:"text-app-text-dim hover:text-app-text transition-colors disabled:opacity-50",children:(0,b.jsx)(ef,{className:"w-5 h-5"})})]}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{children:[(0,b.jsxs)("label",{className:"block text-sm text-app-text-dim mb-2",children:["Branch Name ",(0,b.jsx)("span",{className:"text-red-400",children:"*"})]}),(0,b.jsx)("input",{type:"text",value:s,onChange:e=>i(e.target.value),onKeyDown:e=>{"Enter"!==e.key||h||M()},placeholder:"e.g., feature/auth or experiment",className:"w-full px-3 py-2 bg-app-bg border border-app-border rounded text-sm focus:outline-none focus:border-app-accent",autoFocus:!0,disabled:h}),(0,b.jsx)("p",{className:"text-xs text-app-text-dim mt-1",children:"Letters, numbers, hyphens, slashes, and underscores only"})]}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("label",{className:"block text-sm text-app-text-dim mb-2",children:["Base Branch ",(0,b.jsx)("span",{className:"text-red-400",children:"*"})]}),(0,b.jsx)("select",{value:c,onChange:e=>d(e.target.value),disabled:h||f,className:"w-full px-3 py-2 bg-app-bg border border-app-border rounded text-sm focus:outline-none focus:border-app-accent cursor-pointer",children:f?(0,b.jsx)("option",{children:"Loading branches..."}):u.map(e=>(0,b.jsxs)("option",{value:e.name,children:[e.name," ",e.is_current?"(current)":""]},e.name))}),(0,b.jsx)("p",{className:"text-xs text-app-text-dim mt-1",children:"The branch to copy from"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("label",{className:"block text-sm text-app-text-dim mb-2",children:"Description (optional)"}),(0,b.jsx)("textarea",{value:o,onChange:e=>l(e.target.value),placeholder:"What is this branch for?",className:"w-full px-3 py-2 bg-app-bg border border-app-border rounded text-sm focus:outline-none focus:border-app-accent resize-none",rows:3,disabled:h})]}),(0,b.jsx)("div",{className:"bg-blue-500/10 border border-blue-500/20 rounded p-3",children:(0,b.jsxs)("p",{className:"text-xs text-blue-400",children:["ℹ️ This will create a full isolated copy of ",(0,b.jsx)("span",{className:"font-semibold",children:c})]})}),v&&(0,b.jsx)("div",{className:"bg-red-500/10 border border-red-500/20 rounded p-3",children:(0,b.jsx)("p",{className:"text-sm text-red-400",children:v})}),(0,b.jsxs)("div",{className:"flex justify-end gap-2 pt-2",children:[(0,b.jsx)("button",{onClick:A,disabled:h,className:"px-4 py-2 text-sm bg-app-sidebar-active hover:bg-app-sidebar-hover disabled:opacity-50 rounded transition-colors",children:"Cancel"}),(0,b.jsx)("button",{onClick:M,disabled:h||!s.trim()||!c||f,className:"px-4 py-2 text-sm bg-app-accent hover:bg-app-accent-hover disabled:opacity-50 text-white rounded transition-colors flex items-center gap-2",children:h?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)($,{className:"w-4 h-4 animate-spin"}),(0,b.jsx)("span",{children:"Creating..."})]}):(0,b.jsx)("span",{children:"Create Branch"})})]})]})]})})})}let oI=y("XCircle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),oB=y("Loader2",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]),oF=y("FileCode2",[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v4",key:"702lig"}],["polyline",{points:"14 2 14 8 20 8",key:"1ew0cm"}],["path",{d:"m9 18 3-3-3-3",key:"112psh"}],["path",{d:"m5 12-3 3 3 3",key:"oke12k"}]]),oz=y("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);function oq(){let e,t,r,n,a,[s,i]=(0,g.useState)("db"),[o,l]=(0,g.useState)(null),[c,d]=(0,g.useState)(!0),[u,p]=(0,g.useState)(null),[h,m]=(0,g.useState)(!1),[f,x]=(0,g.useState)(!1),[v,y]=(0,g.useState)("production"),[w,j]=(0,g.useState)(null),[E,k]=(0,g.useState)(!1),[_,T]=(0,g.useState)(null),[A,O]=(0,g.useState)("database"),[D,$]=(0,g.useState)(!1),[L,P]=(0,g.useState)(!1),[I,B]=(0,g.useState)(!1);async function F(){try{d(!0);let e=await fetch("/api/export/status");if(!e.ok)throw Error("Failed to load export status");let t=await e.json();l(t),p(null)}catch(e){p(e instanceof Error?e.message:"Failed to load status")}finally{d(!1)}}async function z(){try{k(!0),T(null);let e=await fetch("/api/export/schema-typescript");if(!e.ok){let t=await e.json();throw Error(t.error||"Failed to generate schema")}let t=await e.text();j(t)}catch(e){T(e instanceof Error?e.message:"Failed to generate schema")}finally{k(!1)}}async function q(){if(o?.mainExists&&o?.databaseHealthy)try{m(!0),x(!1),p(null);let e=await fetch("/api/export/database",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({fileName:v||"production"})});if(!e.ok){let t=await e.json();throw Error(t.error||"Export failed")}let t=await e.blob();W(t,`${v||"production"}.db`),x(!0),setTimeout(()=>x(!1),3e3)}catch(e){p(e instanceof Error?e.message:"Export failed")}finally{m(!1)}}async function H(){if(w)try{P(!0),B(!1);let e=new Blob([w],{type:"text/plain"});W(e,`${A||"database"}.ts`),B(!0),setTimeout(()=>B(!1),3e3)}finally{P(!1)}}async function U(){w&&(await navigator.clipboard.writeText(w),$(!0),setTimeout(()=>$(!1),2e3))}function W(e,t){let r=window.URL.createObjectURL(e),n=document.createElement("a");n.href=r,n.download=t,document.body.appendChild(n),n.click(),window.URL.revokeObjectURL(r),document.body.removeChild(n)}(0,g.useEffect)(()=>{F()},[]),(0,g.useEffect)(()=>{"ts"===s&&null===w&&!E&&o?.mainExists&&o?.databaseHealthy&&z()},[s,o]);let V=o?.mainExists&&o?.databaseHealthy&&!h;return(0,b.jsx)("div",{className:"h-full overflow-auto",children:(0,b.jsxs)("div",{className:"max-w-2xl mx-auto p-8",children:[(0,b.jsxs)("div",{className:"mb-6",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3 mb-2",children:[(0,b.jsx)("div",{className:"p-2 bg-emerald-500/10 rounded-lg",children:(0,b.jsx)(M,{className:"w-6 h-6 text-emerald-500"})}),(0,b.jsx)("h1",{className:"text-2xl font-bold",children:"Export"})]}),(0,b.jsxs)("p",{className:"text-app-text-dim",children:["Export from the ",(0,b.jsx)("code",{className:"px-1.5 py-0.5 bg-app-sidebar rounded text-emerald-400",children:"main"})," branch for production use."]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 mb-6 bg-app-sidebar border border-app-border rounded-lg p-1 w-fit",children:[(0,b.jsxs)("button",{onClick:()=>i("db"),className:`flex items-center gap-2 px-4 py-1.5 rounded-md text-sm font-medium transition-all ${"db"===s?"bg-app-bg text-app-text shadow-sm border border-app-border":"text-app-text-dim hover:text-app-text"}`,children:[(0,b.jsx)(N,{className:"w-3.5 h-3.5"}),"main.db"]}),(0,b.jsxs)("button",{onClick:()=>i("ts"),className:`flex items-center gap-2 px-4 py-1.5 rounded-md text-sm font-medium transition-all ${"ts"===s?"bg-app-bg text-app-text shadow-sm border border-app-border":"text-app-text-dim hover:text-app-text"}`,children:[(0,b.jsx)(oF,{className:"w-3.5 h-3.5"}),"schema.ts"]})]}),c?(0,b.jsx)("div",{className:"flex items-center justify-center py-16",children:(0,b.jsx)(oB,{className:"w-8 h-8 animate-spin text-app-text-dim"})}):u&&!o?(0,b.jsx)("div",{className:"bg-red-500/10 border border-red-500/20 rounded-lg p-4 text-red-400",children:u}):o&&(0,b.jsxs)(b.Fragment,{children:["db"===s&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"bg-app-card border border-app-border rounded-lg p-5 mb-6",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 mb-4",children:[(0,b.jsx)(C,{className:"w-4 h-4 text-emerald-500"}),(0,b.jsx)("span",{className:"text-sm font-medium",children:"Branch used for export"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:"px-3 py-1.5 bg-emerald-500/10 border border-emerald-500/20 rounded-md",children:(0,b.jsx)("span",{className:"text-emerald-400 font-mono font-medium",children:"main"})}),(0,b.jsx)("span",{className:"text-app-text-dim text-sm",children:"(Production source — always stable)"})]}),(0,b.jsxs)("div",{className:"mt-3 text-xs text-app-text-dim",children:["ℹ️ Only the ",(0,b.jsx)("span",{className:"font-mono text-emerald-400",children:"main"})," branch can be exported. To export another branch, promote it to main first."]})]}),(0,b.jsxs)("div",{className:"bg-app-card border border-app-border rounded-lg p-5 mb-6",children:[(0,b.jsx)("h3",{className:"text-sm font-medium mb-4",children:"Pre-export Checks"}),(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)(oH,{ok:o.mainExists,label:"main branch exists"}),(0,b.jsx)(oH,{ok:0===o.pendingMigrations,label:0===o.pendingMigrations?"No pending migrations on main":`${o.pendingMigrations} pending migration(s) on main`,warning:o.pendingMigrations>0}),(0,b.jsx)(oH,{ok:o.databaseHealthy,label:"Database healthy"})]})]}),(0,b.jsxs)("div",{className:"bg-app-card border border-app-border rounded-lg p-5 mb-6",children:[(0,b.jsx)("h3",{className:"text-sm font-medium mb-4",children:"Database Contents"}),(0,b.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(N,{className:"w-4 h-4 text-app-text-dim"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-lg font-semibold",children:o.tableCount}),(0,b.jsx)("div",{className:"text-xs text-app-text-dim",children:"Tables"})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(S,{className:"w-4 h-4 text-app-text-dim"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"text-sm font-medium",children:o.lastModified?(e=new Date(o.lastModified),r=Math.floor((t=new Date().getTime()-e.getTime())/6e4),n=Math.floor(t/36e5),a=Math.floor(t/864e5),r<1?"Just now":r<60?`${r} minute${r>1?"s":""} ago`:n<24?`${n} hour${n>1?"s":""} ago`:a<7?`${a} day${a>1?"s":""} ago`:e.toLocaleDateString()):"Never modified"}),(0,b.jsx)("div",{className:"text-xs text-app-text-dim",children:"Last modified on main"})]})]})]})]}),(0,b.jsxs)("div",{className:"bg-app-card border border-app-border rounded-lg p-5",children:[(0,b.jsx)("h3",{className:"text-sm font-medium mb-4",children:"Export Settings"}),(0,b.jsxs)("div",{className:"mb-6",children:[(0,b.jsx)("label",{className:"block text-sm text-app-text-dim mb-2",children:"Export file name"}),(0,b.jsxs)("div",{className:"flex items-center",children:[(0,b.jsx)("input",{type:"text",value:v,onChange:e=>y(e.target.value.replace(/[^a-zA-Z0-9_-]/g,"")),placeholder:"production",className:"flex-1 px-3 py-2 bg-app-bg border border-app-border rounded-l-md focus:outline-none focus:border-blue-500 font-mono"}),(0,b.jsx)("span",{className:"px-3 py-2 bg-app-sidebar border border-l-0 border-app-border rounded-r-md text-app-text-dim",children:".db"})]})]}),u&&(0,b.jsx)("div",{className:"mb-4 p-3 bg-red-500/10 border border-red-500/20 rounded-md text-red-400 text-sm",children:u}),(0,b.jsx)("button",{onClick:q,disabled:!V||h,className:`w-full flex items-center justify-center gap-3 px-4 py-3 rounded-lg font-medium transition-all duration-300 ${V&&!h?f?"bg-emerald-500 text-white":"bg-blue-600 hover:bg-blue-700 text-white":"bg-app-sidebar text-app-text-dim cursor-not-allowed"}`,children:h?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(oB,{className:"w-5 h-5 animate-spin"}),(0,b.jsx)("span",{children:"Exporting..."}),(0,b.jsx)(oU,{})]}):f?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(em,{className:"w-5 h-5"}),(0,b.jsx)("span",{children:"Downloaded Successfully!"})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(iN,{className:"w-5 h-5"}),(0,b.jsx)("span",{children:"Export Database"})]})}),!o.mainExists&&(0,b.jsx)("p",{className:"mt-3 text-sm text-red-400 text-center",children:"Cannot export: main branch does not exist"})]}),(0,b.jsxs)("div",{className:"mt-6 p-4 bg-app-sidebar/50 rounded-lg",children:[(0,b.jsx)("h4",{className:"text-sm font-medium mb-3",children:"What's included in export:"}),(0,b.jsxs)("ul",{className:"text-sm text-app-text-dim space-y-1",children:[(0,b.jsxs)("li",{className:"flex items-center gap-2",children:[(0,b.jsx)(em,{className:"w-3.5 h-3.5 text-emerald-500"}),"All tables and data from main"]}),(0,b.jsxs)("li",{className:"flex items-center gap-2",children:[(0,b.jsx)(em,{className:"w-3.5 h-3.5 text-emerald-500"}),"Indexes, triggers, and views"]}),(0,b.jsxs)("li",{className:"flex items-center gap-2",children:[(0,b.jsx)(em,{className:"w-3.5 h-3.5 text-emerald-500"}),"Clean SQLite file (no WAL)"]})]}),(0,b.jsx)("h4",{className:"text-sm font-medium mt-4 mb-3",children:"What's NOT included:"}),(0,b.jsxs)("ul",{className:"text-sm text-app-text-dim space-y-1",children:[(0,b.jsxs)("li",{className:"flex items-center gap-2",children:[(0,b.jsx)(oI,{className:"w-3.5 h-3.5 text-red-400"}),"Branch data"]}),(0,b.jsxs)("li",{className:"flex items-center gap-2",children:[(0,b.jsx)(oI,{className:"w-3.5 h-3.5 text-red-400"}),"Timeline history"]}),(0,b.jsxs)("li",{className:"flex items-center gap-2",children:[(0,b.jsx)(oI,{className:"w-3.5 h-3.5 text-red-400"}),"Snapshots"]}),(0,b.jsxs)("li",{className:"flex items-center gap-2",children:[(0,b.jsx)(oI,{className:"w-3.5 h-3.5 text-red-400"}),"Migration metadata"]})]})]})]}),"ts"===s&&(0,b.jsx)(b.Fragment,{children:V?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"bg-app-card border border-app-border rounded-lg overflow-hidden mb-6",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between px-4 py-2.5 border-b border-app-border bg-app-sidebar",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs text-app-text-dim font-mono",children:[(0,b.jsx)(oF,{className:"w-3.5 h-3.5"}),(0,b.jsxs)("span",{children:[A||"database",".ts"]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("button",{onClick:()=>{j(null),z()},disabled:E,title:"Regenerate",className:"p-1.5 rounded hover:bg-app-border text-app-text-dim hover:text-app-text transition-colors disabled:opacity-40",children:(0,b.jsx)(oz,{className:`w-3.5 h-3.5 ${E?"animate-spin":""}`})}),(0,b.jsx)("button",{onClick:U,disabled:!w||E,title:"Copy to clipboard",className:"flex items-center gap-1.5 px-2.5 py-1 rounded text-xs font-medium bg-app-bg border border-app-border hover:border-blue-500 hover:text-blue-400 text-app-text-dim transition-colors disabled:opacity-40 disabled:cursor-not-allowed",children:D?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(R,{className:"w-3 h-3 text-emerald-400"}),(0,b.jsx)("span",{className:"text-emerald-400",children:"Copied!"})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(eS,{className:"w-3 h-3"}),(0,b.jsx)("span",{children:"Copy"})]})})]})]}),(0,b.jsx)("div",{className:"min-h-[320px] max-h-[520px] overflow-auto",children:E?(0,b.jsxs)("div",{className:"flex items-center justify-center h-64 gap-3 text-app-text-dim",children:[(0,b.jsx)(oB,{className:"w-5 h-5 animate-spin"}),(0,b.jsx)("span",{className:"text-sm",children:"Generating schema..."})]}):_?(0,b.jsx)("div",{className:"p-6 text-red-400 text-sm",children:_}):w?(0,b.jsx)("pre",{className:"p-4 text-xs font-mono leading-relaxed text-app-text whitespace-pre overflow-x-auto",children:w}):null})]}),(0,b.jsxs)("div",{className:"bg-app-card border border-app-border rounded-lg p-5",children:[(0,b.jsx)("h3",{className:"text-sm font-medium mb-4",children:"Download Settings"}),(0,b.jsxs)("div",{className:"mb-5",children:[(0,b.jsx)("label",{className:"block text-sm text-app-text-dim mb-2",children:"File name"}),(0,b.jsxs)("div",{className:"flex items-center",children:[(0,b.jsx)("input",{type:"text",value:A,onChange:e=>O(e.target.value.replace(/[^a-zA-Z0-9_-]/g,"")),placeholder:"database",className:"flex-1 px-3 py-2 bg-app-bg border border-app-border rounded-l-md focus:outline-none focus:border-violet-500 font-mono"}),(0,b.jsx)("span",{className:"px-3 py-2 bg-app-sidebar border border-l-0 border-app-border rounded-r-md text-app-text-dim",children:".ts"})]})]}),(0,b.jsx)("button",{onClick:H,disabled:!w||L||E,className:`w-full flex items-center justify-center gap-3 px-4 py-3 rounded-lg font-medium transition-all duration-300 ${w&&!L&&!E?I?"bg-emerald-500 text-white":"bg-violet-600 hover:bg-violet-700 text-white":"bg-app-sidebar text-app-text-dim cursor-not-allowed"}`,children:L?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(oB,{className:"w-5 h-5 animate-spin"}),(0,b.jsx)("span",{children:"Downloading..."})]}):I?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(em,{className:"w-5 h-5"}),(0,b.jsx)("span",{children:"Downloaded Successfully!"})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(iN,{className:"w-5 h-5"}),(0,b.jsxs)("span",{children:["Download ",(0,b.jsxs)("code",{className:"font-mono",children:[A||"database",".ts"]})]})]})})]}),(0,b.jsxs)("div",{className:"mt-4 p-3 bg-app-sidebar/50 rounded-lg text-xs text-app-text-dim leading-relaxed",children:["This file bootstraps the full schema of the ",(0,b.jsx)("span",{className:"font-mono text-emerald-400",children:"main"})," branch. Intended for Expo / React Native — does ",(0,b.jsx)("strong",{className:"text-app-text",children:"not"})," handle migrations."]})]}):(0,b.jsx)("div",{className:"bg-amber-500/10 border border-amber-500/20 rounded-lg p-4 text-amber-400 text-sm",children:"Cannot generate schema: main branch is missing or unhealthy."})})]})]})})}function oH({ok:e,label:t,warning:r=!1}){return(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[e?(0,b.jsx)(em,{className:`w-4 h-4 ${r?"text-amber-400":"text-emerald-500"}`}):(0,b.jsx)(oI,{className:"w-4 h-4 text-red-400"}),(0,b.jsx)("span",{className:`text-sm ${e?r?"text-amber-400":"text-app-text":"text-red-400"}`,children:t})]})}function oU(){return(0,b.jsxs)("span",{className:"flex gap-1",children:[(0,b.jsx)("span",{className:"w-1.5 h-1.5 bg-white/60 rounded-full animate-bounce",style:{animationDelay:"0ms"}}),(0,b.jsx)("span",{className:"w-1.5 h-1.5 bg-white/60 rounded-full animate-bounce",style:{animationDelay:"150ms"}}),(0,b.jsx)("span",{className:"w-1.5 h-1.5 bg-white/60 rounded-full animate-bounce",style:{animationDelay:"300ms"}})]})}function oW(){let[e,t]=(0,g.useState)("home"),[r,n]=(0,g.useState)(!1),[a,s]=(0,g.useState)(!1),[i,o]=(0,g.useState)(!1),{projectInfo:l,setProjectInfo:c,incrementBranchVersion:d}=ev();async function u(){try{let e=await I();c(e)}catch(e){console.error("Failed to load project info:",e)}}function p(){u(),d()}function h(){n(!0)}(0,g.useEffect)(()=>{u()},[]),(0,g.useEffect)(()=>{"sql"!==e&&i&&o(!1)},[e,i]);let m="sql"===e;return(0,b.jsxs)("div",{className:"flex h-screen bg-app-bg text-app-text",children:[(0,b.jsx)(T,{currentPage:e,onNavigate:t}),(0,b.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,b.jsx)(eu,{projectInfo:l,currentBranch:l?.currentBranch,onBranchChange:p,onCreateBranchClick:h,showAI:m,onAIClick:()=>s(e=>!e),disableBranchSelector:"sql"===e&&i}),(0,b.jsxs)("main",{className:"flex-1 overflow-hidden",children:["home"===e&&(0,b.jsx)(ey,{projectInfo:l}),"sql"===e&&(0,b.jsx)(ov,{compareMode:i,onCompareModeChange:o}),"database"===e&&(0,b.jsx)(ib,{}),"branches"===e&&(0,b.jsx)(oL,{currentBranch:l?.currentBranch||"main",onBranchChange:p,onCreateClick:h}),"migrations"===e&&(0,b.jsx)(oO,{}),"timeline"===e&&(0,b.jsx)(oN,{}),"snapshots"===e&&(0,b.jsx)(oA,{}),"export"===e&&(0,b.jsx)(oq,{}),"settings"===e&&(0,b.jsxs)("div",{className:"p-8",children:[(0,b.jsx)("h1",{className:"text-2xl font-bold",children:"Settings"}),(0,b.jsx)("p",{className:"text-app-text-dim mt-2",children:"settings will be added later to further modify values and workflows."})]})]})]}),m&&a&&(0,b.jsxs)("div",{className:"fixed inset-0 z-50",children:[(0,b.jsx)("div",{className:"absolute inset-0 bg-black/50",onClick:()=>s(!1)}),(0,b.jsxs)("aside",{className:"absolute right-0 top-0 h-full w-full max-w-md bg-app-sidebar border-l border-app-border shadow-2xl flex flex-col",children:[(0,b.jsxs)("div",{className:"h-12 px-4 border-b border-app-border flex items-center justify-between",children:[(0,b.jsx)("div",{className:"text-sm font-semibold",children:"AI Assistant"}),(0,b.jsx)("button",{onClick:()=>s(!1),className:"px-2 py-1 text-xs bg-app-sidebar-active hover:bg-app-sidebar-hover rounded transition-colors",children:"Close"})]}),(0,b.jsxs)("div",{className:"flex-1 p-6 flex flex-col items-center justify-center text-center",children:[(0,b.jsx)("div",{className:"text-2xl font-bold mb-2",children:"Comming soon"}),(0,b.jsx)("p",{className:"text-sm text-app-text-dim max-w-sm",children:"We are building a focused assistant for SQL, schema insights, and query tuning."}),(0,b.jsx)("div",{className:"mt-6 w-full max-w-xs rounded-lg border border-app-border bg-app-bg/60 p-4 text-xs text-app-text-dim",children:"Stay tuned for guided query help, ER diagram hints, and migration suggestions."})]})]})]}),(0,b.jsx)(oP,{isOpen:r,onClose:()=>n(!1),currentBranch:l?.currentBranch||"main",onSuccess:p})]})}function oV(){return(0,b.jsx)(eg,{children:(0,b.jsx)(oW,{})})}e.s(["default",()=>oV],53865)}]);