diff --git a/.next/dev/cache/turbopack/dc98c04f/00000465.meta b/.next/dev/cache/turbopack/dc98c04f/00000465.meta deleted file mode 100644 index 5fa9a93..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000465.meta and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000466.del b/.next/dev/cache/turbopack/dc98c04f/00000466.del deleted file mode 100644 index b57684a..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000466.del and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000467.sst b/.next/dev/cache/turbopack/dc98c04f/00000467.sst deleted file mode 100644 index 75d1ed4..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000467.sst and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000474.sst b/.next/dev/cache/turbopack/dc98c04f/00000474.sst deleted file mode 100644 index d40426f..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000474.sst and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000479.sst b/.next/dev/cache/turbopack/dc98c04f/00000479.sst deleted file mode 100644 index 989063a..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000479.sst and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000487.meta b/.next/dev/cache/turbopack/dc98c04f/00000487.meta deleted file mode 100644 index 3e784f1..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000487.meta and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000490.sst b/.next/dev/cache/turbopack/dc98c04f/00000490.sst deleted file mode 100644 index 6ea1092..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000490.sst and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000499.sst b/.next/dev/cache/turbopack/dc98c04f/00000499.sst deleted file mode 100644 index e34f1be..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000499.sst and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000506.meta b/.next/dev/cache/turbopack/dc98c04f/00000506.meta deleted file mode 100644 index 1d0618a..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000506.meta and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000509.sst b/.next/dev/cache/turbopack/dc98c04f/00000509.sst deleted file mode 100644 index 004f520..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000509.sst and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000515.meta b/.next/dev/cache/turbopack/dc98c04f/00000515.meta deleted file mode 100644 index 0bc7ce7..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000515.meta and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000526.meta b/.next/dev/cache/turbopack/dc98c04f/00000526.meta deleted file mode 100644 index f9b37cb..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000526.meta and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000529.sst b/.next/dev/cache/turbopack/dc98c04f/00000529.sst deleted file mode 100644 index 6f8d5ea..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000529.sst and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000536.sst b/.next/dev/cache/turbopack/dc98c04f/00000536.sst deleted file mode 100644 index 0f289e6..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000536.sst and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000542.meta b/.next/dev/cache/turbopack/dc98c04f/00000542.meta deleted file mode 100644 index 99d7d45..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000542.meta and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000546.sst b/.next/dev/cache/turbopack/dc98c04f/00000546.sst deleted file mode 100644 index 03cd09c..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000546.sst and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000550.meta b/.next/dev/cache/turbopack/dc98c04f/00000550.meta deleted file mode 100644 index af45671..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000550.meta and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000552.sst b/.next/dev/cache/turbopack/dc98c04f/00000552.sst deleted file mode 100644 index b405e65..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000552.sst and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000556.meta b/.next/dev/cache/turbopack/dc98c04f/00000556.meta deleted file mode 100644 index c5a14c8..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000556.meta and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000558.sst b/.next/dev/cache/turbopack/dc98c04f/00000558.sst deleted file mode 100644 index f3a7807..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000558.sst and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000562.meta b/.next/dev/cache/turbopack/dc98c04f/00000562.meta deleted file mode 100644 index 11a99c9..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000562.meta and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000564.sst b/.next/dev/cache/turbopack/dc98c04f/00000564.sst deleted file mode 100644 index a3bf101..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000564.sst and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000570.sst b/.next/dev/cache/turbopack/dc98c04f/00000570.sst deleted file mode 100644 index a819f0a..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000570.sst and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000575.sst b/.next/dev/cache/turbopack/dc98c04f/00000575.sst deleted file mode 100644 index e52c065..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000575.sst and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000582.meta b/.next/dev/cache/turbopack/dc98c04f/00000582.meta deleted file mode 100644 index 56a1e25..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000582.meta and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000585.sst b/.next/dev/cache/turbopack/dc98c04f/00000585.sst deleted file mode 100644 index 5b81eef..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000585.sst and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000590.meta b/.next/dev/cache/turbopack/dc98c04f/00000590.meta deleted file mode 100644 index 6e1dbce..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000590.meta and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000592.sst b/.next/dev/cache/turbopack/dc98c04f/00000592.sst deleted file mode 100644 index 683fdc4..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000592.sst and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000597.sst b/.next/dev/cache/turbopack/dc98c04f/00000597.sst deleted file mode 100644 index 96a7bb5..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000597.sst and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000602.meta b/.next/dev/cache/turbopack/dc98c04f/00000602.meta deleted file mode 100644 index 01adc9d..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000602.meta and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000604.sst b/.next/dev/cache/turbopack/dc98c04f/00000604.sst deleted file mode 100644 index 683fdc4..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000604.sst and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000610.sst b/.next/dev/cache/turbopack/dc98c04f/00000610.sst deleted file mode 100644 index 95d2829..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000610.sst and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000616.sst b/.next/dev/cache/turbopack/dc98c04f/00000616.sst deleted file mode 100644 index 95d2829..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000616.sst and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000622.sst b/.next/dev/cache/turbopack/dc98c04f/00000622.sst deleted file mode 100644 index 95d2829..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000622.sst and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000628.sst b/.next/dev/cache/turbopack/dc98c04f/00000628.sst deleted file mode 100644 index 95d2829..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000628.sst and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000632.meta b/.next/dev/cache/turbopack/dc98c04f/00000632.meta deleted file mode 100644 index 0fa043f..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000632.meta and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000633.sst b/.next/dev/cache/turbopack/dc98c04f/00000633.sst deleted file mode 100644 index a73b801..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000633.sst and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000637.meta b/.next/dev/cache/turbopack/dc98c04f/00000637.meta deleted file mode 100644 index ea6cbce..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000637.meta and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000640.sst b/.next/dev/cache/turbopack/dc98c04f/00000640.sst deleted file mode 100644 index 9d864bc..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000640.sst and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000644.meta b/.next/dev/cache/turbopack/dc98c04f/00000644.meta deleted file mode 100644 index 8cd9eea..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000644.meta and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000646.sst b/.next/dev/cache/turbopack/dc98c04f/00000646.sst deleted file mode 100644 index 9d864bc..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000646.sst and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000650.meta b/.next/dev/cache/turbopack/dc98c04f/00000650.meta deleted file mode 100644 index e83bff3..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000650.meta and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000652.sst b/.next/dev/cache/turbopack/dc98c04f/00000652.sst deleted file mode 100644 index 9d864bc..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000652.sst and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000656.meta b/.next/dev/cache/turbopack/dc98c04f/00000656.meta deleted file mode 100644 index 0068079..0000000 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000656.meta and /dev/null differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000658.sst b/.next/dev/cache/turbopack/dc98c04f/00000658.sst new file mode 100644 index 0000000..d3a9bf8 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000658.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000659.sst b/.next/dev/cache/turbopack/dc98c04f/00000659.sst new file mode 100644 index 0000000..b7ada12 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000659.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000660.meta b/.next/dev/cache/turbopack/dc98c04f/00000660.meta new file mode 100644 index 0000000..0745f37 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000660.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000662.meta b/.next/dev/cache/turbopack/dc98c04f/00000662.meta new file mode 100644 index 0000000..edaa702 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000662.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000664.sst b/.next/dev/cache/turbopack/dc98c04f/00000664.sst new file mode 100644 index 0000000..5a4c298 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000664.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000665.sst b/.next/dev/cache/turbopack/dc98c04f/00000665.sst new file mode 100644 index 0000000..b7ada12 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000665.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000472.meta b/.next/dev/cache/turbopack/dc98c04f/00000666.meta similarity index 58% rename from .next/dev/cache/turbopack/dc98c04f/00000472.meta rename to .next/dev/cache/turbopack/dc98c04f/00000666.meta index 252f6c8..fdf3c9b 100644 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000472.meta and b/.next/dev/cache/turbopack/dc98c04f/00000666.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000667.meta b/.next/dev/cache/turbopack/dc98c04f/00000667.meta new file mode 100644 index 0000000..5fc306b Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000667.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000670.sst b/.next/dev/cache/turbopack/dc98c04f/00000670.sst new file mode 100644 index 0000000..9a3338e Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000670.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000671.sst b/.next/dev/cache/turbopack/dc98c04f/00000671.sst new file mode 100644 index 0000000..b7ada12 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000671.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000478.meta b/.next/dev/cache/turbopack/dc98c04f/00000672.meta similarity index 58% rename from .next/dev/cache/turbopack/dc98c04f/00000478.meta rename to .next/dev/cache/turbopack/dc98c04f/00000672.meta index 51087d6..fbf8b61 100644 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000478.meta and b/.next/dev/cache/turbopack/dc98c04f/00000672.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000673.meta b/.next/dev/cache/turbopack/dc98c04f/00000673.meta new file mode 100644 index 0000000..4bc62e7 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000673.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000676.sst b/.next/dev/cache/turbopack/dc98c04f/00000676.sst new file mode 100644 index 0000000..f713c27 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000676.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000677.sst b/.next/dev/cache/turbopack/dc98c04f/00000677.sst new file mode 100644 index 0000000..b7ada12 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000677.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000534.meta b/.next/dev/cache/turbopack/dc98c04f/00000678.meta similarity index 58% rename from .next/dev/cache/turbopack/dc98c04f/00000534.meta rename to .next/dev/cache/turbopack/dc98c04f/00000678.meta index a939a66..67444fb 100644 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000534.meta and b/.next/dev/cache/turbopack/dc98c04f/00000678.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000679.meta b/.next/dev/cache/turbopack/dc98c04f/00000679.meta new file mode 100644 index 0000000..3249400 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000679.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000682.sst b/.next/dev/cache/turbopack/dc98c04f/00000682.sst new file mode 100644 index 0000000..35e82e3 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000682.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000683.sst b/.next/dev/cache/turbopack/dc98c04f/00000683.sst new file mode 100644 index 0000000..752dccf Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000683.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000684.sst b/.next/dev/cache/turbopack/dc98c04f/00000684.sst new file mode 100644 index 0000000..b342559 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000684.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000685.sst b/.next/dev/cache/turbopack/dc98c04f/00000685.sst new file mode 100644 index 0000000..0e3798a Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000685.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000686.meta b/.next/dev/cache/turbopack/dc98c04f/00000686.meta new file mode 100644 index 0000000..242a24c Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000686.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000687.meta b/.next/dev/cache/turbopack/dc98c04f/00000687.meta new file mode 100644 index 0000000..b38024b Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000687.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000688.meta b/.next/dev/cache/turbopack/dc98c04f/00000688.meta new file mode 100644 index 0000000..65e2b3d Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000688.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000690.meta b/.next/dev/cache/turbopack/dc98c04f/00000690.meta new file mode 100644 index 0000000..5739879 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000690.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000692.sst b/.next/dev/cache/turbopack/dc98c04f/00000692.sst new file mode 100644 index 0000000..f4228e0 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000692.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000693.sst b/.next/dev/cache/turbopack/dc98c04f/00000693.sst new file mode 100644 index 0000000..e8165d4 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000693.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000694.sst b/.next/dev/cache/turbopack/dc98c04f/00000694.sst new file mode 100644 index 0000000..03d7f5e Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000694.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000695.sst b/.next/dev/cache/turbopack/dc98c04f/00000695.sst new file mode 100644 index 0000000..39cb538 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000695.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000696.meta b/.next/dev/cache/turbopack/dc98c04f/00000696.meta new file mode 100644 index 0000000..0c8bb0e Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000696.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000697.meta b/.next/dev/cache/turbopack/dc98c04f/00000697.meta new file mode 100644 index 0000000..462e7dc Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000697.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000699.meta b/.next/dev/cache/turbopack/dc98c04f/00000699.meta new file mode 100644 index 0000000..301ea8e Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000699.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000700.meta b/.next/dev/cache/turbopack/dc98c04f/00000700.meta new file mode 100644 index 0000000..9861115 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000700.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000702.sst b/.next/dev/cache/turbopack/dc98c04f/00000702.sst new file mode 100644 index 0000000..460c4ac Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000702.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000703.sst b/.next/dev/cache/turbopack/dc98c04f/00000703.sst new file mode 100644 index 0000000..e8165d4 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000703.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000704.meta b/.next/dev/cache/turbopack/dc98c04f/00000704.meta new file mode 100644 index 0000000..e9d8dd4 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000704.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000705.meta b/.next/dev/cache/turbopack/dc98c04f/00000705.meta new file mode 100644 index 0000000..0d0152f Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000705.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000707.sst b/.next/dev/cache/turbopack/dc98c04f/00000707.sst new file mode 100644 index 0000000..778cd6d Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000707.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000709.sst b/.next/dev/cache/turbopack/dc98c04f/00000709.sst new file mode 100644 index 0000000..0c9d30c Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000709.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000710.sst b/.next/dev/cache/turbopack/dc98c04f/00000710.sst new file mode 100644 index 0000000..c25a4d5 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000710.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000711.sst b/.next/dev/cache/turbopack/dc98c04f/00000711.sst new file mode 100644 index 0000000..3ee4056 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000711.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000712.meta b/.next/dev/cache/turbopack/dc98c04f/00000712.meta new file mode 100644 index 0000000..a73fe60 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000712.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000496.meta b/.next/dev/cache/turbopack/dc98c04f/00000713.meta similarity index 58% rename from .next/dev/cache/turbopack/dc98c04f/00000496.meta rename to .next/dev/cache/turbopack/dc98c04f/00000713.meta index 8e07d72..64b38d7 100644 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000496.meta and b/.next/dev/cache/turbopack/dc98c04f/00000713.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000715.meta b/.next/dev/cache/turbopack/dc98c04f/00000715.meta new file mode 100644 index 0000000..6900221 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000715.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000716.meta b/.next/dev/cache/turbopack/dc98c04f/00000716.meta new file mode 100644 index 0000000..8377329 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000716.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000717.sst b/.next/dev/cache/turbopack/dc98c04f/00000717.sst new file mode 100644 index 0000000..da520f5 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000717.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000719.sst b/.next/dev/cache/turbopack/dc98c04f/00000719.sst new file mode 100644 index 0000000..6108f0b Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000719.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000720.sst b/.next/dev/cache/turbopack/dc98c04f/00000720.sst new file mode 100644 index 0000000..a2a56b5 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000720.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000721.sst b/.next/dev/cache/turbopack/dc98c04f/00000721.sst new file mode 100644 index 0000000..e39e65f Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000721.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000722.meta b/.next/dev/cache/turbopack/dc98c04f/00000722.meta new file mode 100644 index 0000000..f6c5ca7 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000722.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000723.meta b/.next/dev/cache/turbopack/dc98c04f/00000723.meta new file mode 100644 index 0000000..0dcb069 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000723.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000725.meta b/.next/dev/cache/turbopack/dc98c04f/00000725.meta new file mode 100644 index 0000000..345e62e Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000725.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000596.meta b/.next/dev/cache/turbopack/dc98c04f/00000726.meta similarity index 68% rename from .next/dev/cache/turbopack/dc98c04f/00000596.meta rename to .next/dev/cache/turbopack/dc98c04f/00000726.meta index 20bb3fd..0b56f91 100644 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000596.meta and b/.next/dev/cache/turbopack/dc98c04f/00000726.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000728.sst b/.next/dev/cache/turbopack/dc98c04f/00000728.sst new file mode 100644 index 0000000..746c002 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000728.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000729.sst b/.next/dev/cache/turbopack/dc98c04f/00000729.sst new file mode 100644 index 0000000..57cf988 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000729.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000730.sst b/.next/dev/cache/turbopack/dc98c04f/00000730.sst new file mode 100644 index 0000000..0454480 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000730.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000731.sst b/.next/dev/cache/turbopack/dc98c04f/00000731.sst new file mode 100644 index 0000000..48fc255 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000731.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000732.meta b/.next/dev/cache/turbopack/dc98c04f/00000732.meta new file mode 100644 index 0000000..eb0151e Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000732.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000733.meta b/.next/dev/cache/turbopack/dc98c04f/00000733.meta new file mode 100644 index 0000000..a8d85ec Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000733.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000568.meta b/.next/dev/cache/turbopack/dc98c04f/00000735.meta similarity index 68% rename from .next/dev/cache/turbopack/dc98c04f/00000568.meta rename to .next/dev/cache/turbopack/dc98c04f/00000735.meta index 36207b1..e3294f0 100644 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000568.meta and b/.next/dev/cache/turbopack/dc98c04f/00000735.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000608.meta b/.next/dev/cache/turbopack/dc98c04f/00000736.meta similarity index 68% rename from .next/dev/cache/turbopack/dc98c04f/00000608.meta rename to .next/dev/cache/turbopack/dc98c04f/00000736.meta index feea353..501f4e2 100644 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000608.meta and b/.next/dev/cache/turbopack/dc98c04f/00000736.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000738.sst b/.next/dev/cache/turbopack/dc98c04f/00000738.sst new file mode 100644 index 0000000..33327f0 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000738.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000739.sst b/.next/dev/cache/turbopack/dc98c04f/00000739.sst new file mode 100644 index 0000000..ff25606 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000739.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000740.sst b/.next/dev/cache/turbopack/dc98c04f/00000740.sst new file mode 100644 index 0000000..43e9440 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000740.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000741.sst b/.next/dev/cache/turbopack/dc98c04f/00000741.sst new file mode 100644 index 0000000..cdd9311 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000741.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000742.meta b/.next/dev/cache/turbopack/dc98c04f/00000742.meta new file mode 100644 index 0000000..d96929a Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000742.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000744.meta b/.next/dev/cache/turbopack/dc98c04f/00000744.meta new file mode 100644 index 0000000..553d1db Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000744.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000745.meta b/.next/dev/cache/turbopack/dc98c04f/00000745.meta new file mode 100644 index 0000000..3a2f371 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000745.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000746.meta b/.next/dev/cache/turbopack/dc98c04f/00000746.meta new file mode 100644 index 0000000..317e2a6 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000746.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000463.sst b/.next/dev/cache/turbopack/dc98c04f/00000747.sst similarity index 77% rename from .next/dev/cache/turbopack/dc98c04f/00000463.sst rename to .next/dev/cache/turbopack/dc98c04f/00000747.sst index 6208862..186e68d 100644 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000463.sst and b/.next/dev/cache/turbopack/dc98c04f/00000747.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000464.sst b/.next/dev/cache/turbopack/dc98c04f/00000748.sst similarity index 79% rename from .next/dev/cache/turbopack/dc98c04f/00000464.sst rename to .next/dev/cache/turbopack/dc98c04f/00000748.sst index 8c15a1a..91e9033 100644 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000464.sst and b/.next/dev/cache/turbopack/dc98c04f/00000748.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000749.meta b/.next/dev/cache/turbopack/dc98c04f/00000749.meta new file mode 100644 index 0000000..9cd95d1 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000749.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000750.del b/.next/dev/cache/turbopack/dc98c04f/00000750.del new file mode 100644 index 0000000..4df3a2f Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000750.del differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000519.sst b/.next/dev/cache/turbopack/dc98c04f/00000751.sst similarity index 65% rename from .next/dev/cache/turbopack/dc98c04f/00000519.sst rename to .next/dev/cache/turbopack/dc98c04f/00000751.sst index d781146..96fcaec 100644 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000519.sst and b/.next/dev/cache/turbopack/dc98c04f/00000751.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000752.sst b/.next/dev/cache/turbopack/dc98c04f/00000752.sst new file mode 100644 index 0000000..7155912 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000752.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000753.sst b/.next/dev/cache/turbopack/dc98c04f/00000753.sst new file mode 100644 index 0000000..82db319 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000753.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000754.sst b/.next/dev/cache/turbopack/dc98c04f/00000754.sst new file mode 100644 index 0000000..3caaaf5 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000754.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000755.sst b/.next/dev/cache/turbopack/dc98c04f/00000755.sst new file mode 100644 index 0000000..3a4fc9d Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000755.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000756.meta b/.next/dev/cache/turbopack/dc98c04f/00000756.meta new file mode 100644 index 0000000..b2b9bcb Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000756.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000757.meta b/.next/dev/cache/turbopack/dc98c04f/00000757.meta new file mode 100644 index 0000000..66c68a7 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000757.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000758.meta b/.next/dev/cache/turbopack/dc98c04f/00000758.meta new file mode 100644 index 0000000..8398c38 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000758.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000759.meta b/.next/dev/cache/turbopack/dc98c04f/00000759.meta new file mode 100644 index 0000000..d8c3573 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000759.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000760.meta b/.next/dev/cache/turbopack/dc98c04f/00000760.meta new file mode 100644 index 0000000..0564dbb Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000760.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000761.sst b/.next/dev/cache/turbopack/dc98c04f/00000761.sst new file mode 100644 index 0000000..eb07394 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000761.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000762.sst b/.next/dev/cache/turbopack/dc98c04f/00000762.sst new file mode 100644 index 0000000..4e3224e Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000762.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000763.sst b/.next/dev/cache/turbopack/dc98c04f/00000763.sst new file mode 100644 index 0000000..14c1aa2 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000763.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000764.sst b/.next/dev/cache/turbopack/dc98c04f/00000764.sst new file mode 100644 index 0000000..0ec58d8 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000764.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000765.sst b/.next/dev/cache/turbopack/dc98c04f/00000765.sst new file mode 100644 index 0000000..dc77241 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000765.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000766.meta b/.next/dev/cache/turbopack/dc98c04f/00000766.meta new file mode 100644 index 0000000..ef29bf8 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000766.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000767.meta b/.next/dev/cache/turbopack/dc98c04f/00000767.meta new file mode 100644 index 0000000..ca0a2a6 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000767.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000768.meta b/.next/dev/cache/turbopack/dc98c04f/00000768.meta new file mode 100644 index 0000000..e34bf76 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000768.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000769.meta b/.next/dev/cache/turbopack/dc98c04f/00000769.meta new file mode 100644 index 0000000..d0d4e3b Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000769.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000770.meta b/.next/dev/cache/turbopack/dc98c04f/00000770.meta new file mode 100644 index 0000000..730ee72 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000770.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000771.sst b/.next/dev/cache/turbopack/dc98c04f/00000771.sst new file mode 100644 index 0000000..45bbe4d Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000771.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000772.sst b/.next/dev/cache/turbopack/dc98c04f/00000772.sst new file mode 100644 index 0000000..a2e73d1 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000772.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000773.sst b/.next/dev/cache/turbopack/dc98c04f/00000773.sst new file mode 100644 index 0000000..14c1aa2 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000773.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000774.meta b/.next/dev/cache/turbopack/dc98c04f/00000774.meta new file mode 100644 index 0000000..73e6879 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000774.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000574.meta b/.next/dev/cache/turbopack/dc98c04f/00000775.meta similarity index 77% rename from .next/dev/cache/turbopack/dc98c04f/00000574.meta rename to .next/dev/cache/turbopack/dc98c04f/00000775.meta index a8d831c..cd4d919 100644 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000574.meta and b/.next/dev/cache/turbopack/dc98c04f/00000775.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000776.meta b/.next/dev/cache/turbopack/dc98c04f/00000776.meta new file mode 100644 index 0000000..8b7f0de Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000776.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000777.sst b/.next/dev/cache/turbopack/dc98c04f/00000777.sst new file mode 100644 index 0000000..161992c Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000777.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000778.sst b/.next/dev/cache/turbopack/dc98c04f/00000778.sst new file mode 100644 index 0000000..d198db5 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000778.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000779.sst b/.next/dev/cache/turbopack/dc98c04f/00000779.sst new file mode 100644 index 0000000..14c1aa2 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000779.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000780.meta b/.next/dev/cache/turbopack/dc98c04f/00000780.meta new file mode 100644 index 0000000..6b5a7f9 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000780.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000614.meta b/.next/dev/cache/turbopack/dc98c04f/00000781.meta similarity index 87% rename from .next/dev/cache/turbopack/dc98c04f/00000614.meta rename to .next/dev/cache/turbopack/dc98c04f/00000781.meta index eb8e074..d62b798 100644 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000614.meta and b/.next/dev/cache/turbopack/dc98c04f/00000781.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000782.meta b/.next/dev/cache/turbopack/dc98c04f/00000782.meta new file mode 100644 index 0000000..4c339e1 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000782.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000783.sst b/.next/dev/cache/turbopack/dc98c04f/00000783.sst new file mode 100644 index 0000000..161992c Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000783.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000784.sst b/.next/dev/cache/turbopack/dc98c04f/00000784.sst new file mode 100644 index 0000000..d198db5 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000784.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000785.sst b/.next/dev/cache/turbopack/dc98c04f/00000785.sst new file mode 100644 index 0000000..14c1aa2 Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000785.sst differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000786.meta b/.next/dev/cache/turbopack/dc98c04f/00000786.meta new file mode 100644 index 0000000..c35853b Binary files /dev/null and b/.next/dev/cache/turbopack/dc98c04f/00000786.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000620.meta b/.next/dev/cache/turbopack/dc98c04f/00000787.meta similarity index 87% rename from .next/dev/cache/turbopack/dc98c04f/00000620.meta rename to .next/dev/cache/turbopack/dc98c04f/00000787.meta index 079dbaf..858bd25 100644 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000620.meta and b/.next/dev/cache/turbopack/dc98c04f/00000787.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/00000626.meta b/.next/dev/cache/turbopack/dc98c04f/00000788.meta similarity index 87% rename from .next/dev/cache/turbopack/dc98c04f/00000626.meta rename to .next/dev/cache/turbopack/dc98c04f/00000788.meta index b380df0..20d3cb0 100644 Binary files a/.next/dev/cache/turbopack/dc98c04f/00000626.meta and b/.next/dev/cache/turbopack/dc98c04f/00000788.meta differ diff --git a/.next/dev/cache/turbopack/dc98c04f/CURRENT b/.next/dev/cache/turbopack/dc98c04f/CURRENT index 327a388..cd4189c 100644 Binary files a/.next/dev/cache/turbopack/dc98c04f/CURRENT and b/.next/dev/cache/turbopack/dc98c04f/CURRENT differ diff --git a/.next/dev/cache/turbopack/dc98c04f/LOG b/.next/dev/cache/turbopack/dc98c04f/LOG index dd663dc..c3d3ddc 100644 --- a/.next/dev/cache/turbopack/dc98c04f/LOG +++ b/.next/dev/cache/turbopack/dc98c04f/LOG @@ -714,3 +714,173 @@ FAM | META SEQ | SST SEQ | RANGE 0 | 00000654 | 00000653 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) 1 | 00000655 | 00000651 SST | O | 3ffdfb3b7d50fcf1-3ffdfb3b7d50fcf1 (0 MiB, fresh) 2 | 00000656 | 00000652 SST | O | 3ffdfb3b7d50fcf1-3ffdfb3b7d50fcf1 (0 MiB, fresh) +Time 2026-04-09T07:31:15.6270812Z +Commit 00000662 995 keys in 7ms 725µs 400ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000660 | 00000659 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) + 2 | 00000661 | 00000657 SST | [=================================================================================================] | 00d95c69f6207a96-fafb4337d29c2d39 (0 MiB, fresh) + 1 | 00000662 | 00000658 SST | [==================================================================================================] | 0060799d565701ce-ff9c8217269e5bc2 (0 MiB, fresh) +Time 2026-04-09T07:31:19.1645937Z +Commit 00000668 1077 keys in 6ms 440µs 800ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000666 | 00000665 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) + 1 | 00000667 | 00000664 SST | [==================================================================================================] | 003bc10d5103758d-ff9c8217269e5bc2 (0 MiB, fresh) + 2 | 00000668 | 00000663 SST | [==================================================================================================] | 003bc10d5103758d-ff8482b1135f96ce (0 MiB, fresh) +Time 2026-04-09T07:31:56.8944301Z +Commit 00000674 58 keys in 5ms 16µs 400ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000672 | 00000671 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) + 1 | 00000673 | 00000670 SST | [===============================================================================================] | 04883c0821d58b16-fadda31e976d3019 (0 MiB, fresh) + 2 | 00000674 | 00000669 SST | [==================================================================================] | 14bb92c633f64a3f-e905164c14c7756e (0 MiB, fresh) +Time 2026-04-09T07:33:56.4032524Z +Commit 00000680 42 keys in 6ms 424µs 400ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000678 | 00000677 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) + 1 | 00000679 | 00000676 SST | [==============================================================================================] | 0bc6426810a8217f-fe21cf9da14de631 (0 MiB, fresh) + 2 | 00000680 | 00000675 SST | [==============================================================================================] | 0bc6426810a8217f-fe21cf9da14de631 (0 MiB, fresh) +Time 2026-04-09T07:35:02.7165201Z +Commit 00000690 39946 keys in 16ms 916µs 100ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000686 | 00000683 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) + 4 | 00000687 | 00000685 SST | [==================================================================================================] | 00050809e632d479-fff78c8bf20f475c (0 MiB, fresh) + 3 | 00000688 | 00000684 SST | [==================================================================================================] | 001d623e696c0bdf-ffde1a8a30eea4db (0 MiB, fresh) + 2 | 00000689 | 00000681 SST | [==================================================================================================] | 00050809e632d479-fffb5bf35f53d031 (9 MiB, fresh) + 1 | 00000690 | 00000682 SST | [==================================================================================================] | 000219dada7120d8-fffe7cb8f2c6deb1 (3 MiB, fresh) +Time 2026-04-09T07:35:25.3639882Z +Commit 00000700 3677 keys in 12ms 753µs 100ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000696 | 00000693 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) + 1 | 00000697 | 00000692 SST | [==================================================================================================] | 00050809e632d479-ffef13abe8bb5adf (0 MiB, fresh) + 2 | 00000698 | 00000691 SST | [==================================================================================================] | 00050809e632d479-ffef13abe8bb5adf (5 MiB, fresh) + 3 | 00000699 | 00000694 SST | [=========================================================================] | 2ec97519e6ac68d0-ed20524aece02abb (0 MiB, fresh) + 4 | 00000700 | 00000695 SST | [=================================================================================] | 20ab9c1bee69284a-f1fe07677f26bc12 (0 MiB, fresh) +Time 2026-04-09T07:35:28.4933039Z +Commit 00000706 97 keys in 6ms 767µs 900ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000704 | 00000703 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) + 1 | 00000705 | 00000702 SST | [==================================================================================================] | 026faec135e5e7be-ff644ac82ff70d16 (0 MiB, fresh) + 2 | 00000706 | 00000701 SST | [=========================================================================================] | 13b82b25a259de7e-fa7e7e468d550d13 (0 MiB, fresh) +Time 2026-04-09T07:35:36.5793926Z +Commit 00000716 3804 keys in 8ms 843µs 800ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000712 | 00000709 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) + 1 | 00000713 | 00000707 SST | [==================================================================================================] | 001273de5f9a47f4-ffe974c579645c1b (0 MiB, fresh) + 2 | 00000714 | 00000708 SST | [==================================================================================================] | 001273de5f9a47f4-ffe974c579645c1b (1 MiB, fresh) + 3 | 00000715 | 00000711 SST | [============================================================================================] | 08509049fea14459-f7eefdc99196ff31 (0 MiB, fresh) + 4 | 00000716 | 00000710 SST | [===============================================================================================] | 076ca6eff1bd12c3-fc33d6f64b45d652 (0 MiB, fresh) +Time 2026-04-09T07:36:05.7658882Z +Commit 00000726 628 keys in 8ms 750µs 500ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000722 | 00000719 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) + 1 | 00000723 | 00000717 SST | [=================================================================================================] | 0180b23ba94396a4-fc33d6f64b45d652 (0 MiB, fresh) + 2 | 00000724 | 00000718 SST | [=================================================================================================] | 0180b23ba94396a4-fc33d6f64b45d652 (0 MiB, fresh) + 3 | 00000725 | 00000720 SST | [=============================================================================================] | 05f4827b9f93e951-f6a9e09d81f8ae34 (0 MiB, fresh) + 4 | 00000726 | 00000721 SST | [=============================================================================================] | 02ae3e86a8f2df94-f4fa5646535cfa98 (0 MiB, fresh) +Time 2026-04-09T07:36:28.840904Z +Commit 00000736 632 keys in 8ms 466µs 800ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000732 | 00000729 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) + 1 | 00000733 | 00000728 SST | [================================================================================================] | 007f4583bc3369ea-fa658df5c58d58ff (0 MiB, fresh) + 2 | 00000734 | 00000727 SST | [================================================================================================] | 007f4583bc3369ea-fa658df5c58d58ff (0 MiB, fresh) + 3 | 00000735 | 00000730 SST | [==============================================================================================] | 0431c4d2f4e06479-f75b20c3ac65f2e2 (0 MiB, fresh) + 4 | 00000736 | 00000731 SST | [============================================================================================] | 007f4583bc3369ea-f089b19bc9a2339b (0 MiB, fresh) +Time 2026-04-09T07:37:06.9158006Z +Commit 00000746 9047 keys in 11ms 980µs 400ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000742 | 00000739 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) + 2 | 00000743 | 00000737 SST | [==================================================================================================] | 00005b386d02964f-fffaf23060127973 (3 MiB, fresh) + 4 | 00000744 | 00000741 SST | [==================================================================================================] | 00005b386d02964f-ff5042d908821139 (0 MiB, fresh) + 1 | 00000745 | 00000738 SST | [==================================================================================================] | 00005b386d02964f-fffaf23060127973 (1 MiB, fresh) + 3 | 00000746 | 00000740 SST | [==================================================================================================] | 000c35c2339e068e-fff648118757c1e5 (0 MiB, fresh) + 2 | 00000749 | Compaction: + 2 | 00000749 | MERGE (146445 keys): + 2 | 00000749 | 00000464 INPUT | [==================================================================================================] | 0000737dcecb7eaa-ffffc8b261a62b07 + 2 | 00000749 | 00000463 INPUT | [==================================================================================================] | 0006bb8b2247bad7-fffdd89e249d22e3 + 2 | 00000749 | 00000467 INPUT | [==============================================================================================] | 0a6d6226864a1f1a-fe21cf9da14de631 + 2 | 00000749 | 00000474 INPUT | [==============================================================================================] | 0bc6426810a8217f-fe21cf9da14de631 + 2 | 00000749 | 00000479 INPUT | [==================================================================================================] | 000ec71960d9cb04-fffb5bf35f53d031 + 2 | 00000749 | 00000490 INPUT | [==================================================================================================] | 001273de5f9a47f4-fff0999349373486 + 2 | 00000749 | 00000499 INPUT | [==================================================================================================] | 0180b23ba94396a4-fff0999349373486 + 2 | 00000749 | 00000509 INPUT | [==================================================================================================] | 0180b23ba94396a4-fff0999349373486 + 2 | 00000749 | 00000519 INPUT | [==================================================================================================] | 000d7abd622bbe94-fff0999349373486 + 2 | 00000749 | 00000529 INPUT | [==========================================================================================] | 15151b735832903e-fe21cf9da14de631 + 2 | 00000749 | 00000536 INPUT | [==================================================================================================] | 01e00421943f5562-ff2af557ff3a3113 + 2 | 00000749 | 00000546 INPUT | [=============================================================================================] | 06ca68b9c4d1443e-f791595964ce08ad + 2 | 00000749 | 00000552 INPUT | [=============================================================================================] | 06ca68b9c4d1443e-f791595964ce08ad + 2 | 00000749 | 00000558 INPUT | [=============================================================================================] | 06ca68b9c4d1443e-f791595964ce08ad + 2 | 00000749 | 00000564 INPUT | [============================================] | 4bfeccfe158f874c-bf9e37ec27d515a9 + 2 | 00000749 | 00000570 INPUT | O | 9d6a7c5eb65d16c1-9d6a7c5eb65d16c1 + 2 | 00000749 | 00000575 INPUT | [==================================================================================================] | 0033a8e8b56c6091-fff0999349373486 + 2 | 00000749 | 00000585 INPUT | [==================================================================================================] | 0033a8e8b56c6091-fff0999349373486 + 2 | 00000749 | 00000592 INPUT | [=======================] | 77a756b98837e808-b4ab6d3ca394feaf + 2 | 00000749 | 00000597 INPUT | [=======================================================================================] | 0a6d6226864a1f1a-ed475026b19bf87e + 2 | 00000749 | 00000604 INPUT | [=======================] | 77a756b98837e808-b4ab6d3ca394feaf + 2 | 00000749 | 00000610 INPUT | O | 3ffdfb3b7d50fcf1-3ffdfb3b7d50fcf1 + 2 | 00000749 | 00000616 INPUT | O | 3ffdfb3b7d50fcf1-3ffdfb3b7d50fcf1 + 2 | 00000749 | 00000622 INPUT | O | 3ffdfb3b7d50fcf1-3ffdfb3b7d50fcf1 + 2 | 00000749 | 00000628 INPUT | O | 3ffdfb3b7d50fcf1-3ffdfb3b7d50fcf1 + 2 | 00000749 | 00000633 INPUT | [==================================================================================================] | 005b36fb126383dd-ff881d6151ab3b91 + 2 | 00000749 | 00000640 INPUT | O | 3ffdfb3b7d50fcf1-3ffdfb3b7d50fcf1 + 2 | 00000749 | 00000646 INPUT | O | 3ffdfb3b7d50fcf1-3ffdfb3b7d50fcf1 + 2 | 00000749 | 00000652 INPUT | O | 3ffdfb3b7d50fcf1-3ffdfb3b7d50fcf1 + 2 | 00000749 | 00000657 INPUT | [=================================================================================================] | 00d95c69f6207a96-fafb4337d29c2d39 + 2 | 00000749 | 00000663 INPUT | [==================================================================================================] | 003bc10d5103758d-ff8482b1135f96ce + 2 | 00000749 | 00000669 INPUT | [==================================================================================] | 14bb92c633f64a3f-e905164c14c7756e + 2 | 00000749 | 00000675 INPUT | [==============================================================================================] | 0bc6426810a8217f-fe21cf9da14de631 + 2 | 00000749 | 00000681 INPUT | [==================================================================================================] | 00050809e632d479-fffb5bf35f53d031 + 2 | 00000749 | 00000691 INPUT | [==================================================================================================] | 00050809e632d479-ffef13abe8bb5adf + 2 | 00000749 | 00000701 INPUT | [=========================================================================================] | 13b82b25a259de7e-fa7e7e468d550d13 + 2 | 00000749 | 00000708 INPUT | [==================================================================================================] | 001273de5f9a47f4-ffe974c579645c1b + 2 | 00000749 | 00000718 INPUT | [=================================================================================================] | 0180b23ba94396a4-fc33d6f64b45d652 + 2 | 00000749 | 00000727 INPUT | [================================================================================================] | 007f4583bc3369ea-fa658df5c58d58ff + 2 | 00000749 | 00000737 INPUT | [==================================================================================================] | 00005b386d02964f-fffaf23060127973 + 2 | 00000749 | 00000748 OUTPUT | [==================================================================================================] | 00005b386d02964f-ffffc8b261a62b07 (cold) + 2 | 00000749 | 00000747 OUTPUT | [==================================================================================================] | 0006bb8b2247bad7-fffdd89e249d22e3 (warm) +Time 2026-04-09T07:37:07.2216997Z +Commit 00000750 146445 keys in 79ms 256µs 800ns +FAM | META SEQ | SST SEQ | RANGE + 2 | 00000749 | 00000748 SST | [==================================================================================================] | 00005b386d02964f-ffffc8b261a62b07 (64 MiB, cold) + 2 | 00000749 | 00000747 SST | [==================================================================================================] | 0006bb8b2247bad7-fffdd89e249d22e3 (23 MiB, warm) + 2 | 00000749 | 00000463 00000464 00000467 00000474 00000479 00000490 00000499 00000509 00000519 00000529 00000536 00000546 00000552 00000558 00000564 OBSOLETE SST + 2 | 00000749 | 00000570 00000575 00000585 00000592 00000597 00000604 00000610 00000616 00000622 00000628 00000633 00000640 00000646 00000652 00000657 OBSOLETE SST + 2 | 00000749 | 00000663 00000669 00000675 00000681 00000691 00000701 00000708 00000718 00000727 00000737 OBSOLETE SST + | | 00000463 00000464 00000467 00000474 00000479 00000490 00000499 00000509 00000519 00000529 00000536 00000546 00000552 00000558 00000564 SST DELETED + | | 00000570 00000575 00000585 00000592 00000597 00000604 00000610 00000616 00000622 00000628 00000633 00000640 00000646 00000652 00000657 SST DELETED + | | 00000663 00000669 00000675 00000681 00000691 00000701 00000708 00000718 00000727 00000737 SST DELETED + | | 00000465 00000472 00000478 00000487 00000496 00000506 00000515 00000526 00000534 00000542 00000550 00000556 00000562 00000568 00000574 META DELETED + | | 00000582 00000590 00000596 00000602 00000608 00000614 00000620 00000626 00000632 00000637 00000644 00000650 00000656 00000661 00000668 META DELETED + | | 00000674 00000680 00000689 00000698 00000706 00000714 00000724 00000734 00000743 META DELETED +Time 2026-04-09T07:37:16.3457768Z +Commit 00000760 7113 keys in 13ms 613µs 200ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000756 | 00000753 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) + 4 | 00000757 | 00000755 SST | [==================================================================================================] | 0004013bbf6cfcfc-fe8c6f5c7ad65d1e (0 MiB, fresh) + 1 | 00000758 | 00000752 SST | [==================================================================================================] | 0004013bbf6cfcfc-ffef13abe8bb5adf (0 MiB, fresh) + 3 | 00000759 | 00000754 SST | [==================================================================================================] | 007ea02c9c0b011a-ff53683b7776f0b9 (0 MiB, fresh) + 2 | 00000760 | 00000751 SST | [==================================================================================================] | 0004013bbf6cfcfc-ffef13abe8bb5adf (6 MiB, fresh) +Time 2026-04-09T07:38:17.5687957Z +Commit 00000770 510 keys in 9ms 923µs 200ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000766 | 00000763 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) + 1 | 00000767 | 00000761 SST | [=================================================================================================] | 02fe708384dd0378-ffe974c579645c1b (0 MiB, fresh) + 3 | 00000768 | 00000764 SST | [======================================================] | 43d3b70ccf4a45dc-d0cd8b0a50ed3b4f (0 MiB, fresh) + 2 | 00000769 | 00000762 SST | [=================================================================================================] | 02fe708384dd0378-ffe974c579645c1b (0 MiB, fresh) + 4 | 00000770 | 00000765 SST | [===================================] | 4d2ab15d72cf0026-ab61c1d8b927e045 (0 MiB, fresh) +Time 2026-04-09T07:38:20.8524701Z +Commit 00000776 4 keys in 6ms 38µs 900ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000774 | 00000773 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) + 1 | 00000775 | 00000771 SST | O | 518bcf8971da83eb-518bcf8971da83eb (0 MiB, fresh) + 2 | 00000776 | 00000772 SST | O | 518bcf8971da83eb-518bcf8971da83eb (0 MiB, fresh) +Time 2026-04-09T07:39:24.4376806Z +Commit 00000782 4 keys in 5ms 680µs 700ns +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000780 | 00000779 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) + 1 | 00000781 | 00000777 SST | O | 3ffdfb3b7d50fcf1-3ffdfb3b7d50fcf1 (0 MiB, fresh) + 2 | 00000782 | 00000778 SST | O | 3ffdfb3b7d50fcf1-3ffdfb3b7d50fcf1 (0 MiB, fresh) +Time 2026-04-09T07:39:28.4969685Z +Commit 00000788 4 keys in 5ms 857µs +FAM | META SEQ | SST SEQ | RANGE + 0 | 00000786 | 00000785 SST | [=======================================================================] | 3aefa6fd5cf2deb4-f42f94001fcb5351 (0 MiB, fresh) + 1 | 00000787 | 00000783 SST | O | 3ffdfb3b7d50fcf1-3ffdfb3b7d50fcf1 (0 MiB, fresh) + 2 | 00000788 | 00000784 SST | O | 3ffdfb3b7d50fcf1-3ffdfb3b7d50fcf1 (0 MiB, fresh) diff --git a/.next/dev/logs/next-development.log b/.next/dev/logs/next-development.log index 1cdd61f..0454d75 100644 --- a/.next/dev/logs/next-development.log +++ b/.next/dev/logs/next-development.log @@ -1,94 +1,283 @@ -[00:00:01.490] Server LOG ✓ Ready in 1104ms -[01:23:50.726] Browser INFO %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold -[01:24:15.613] Browser INFO %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold -[01:27:50.733] Browser INFO %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold -[01:35:07.474] Browser INFO %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold -[01:36:25.417] Server ERROR ⨯ Error: The default export is not a React Component in "/config-files/page" -[01:36:25.685] Server ERROR ⨯ Error: The default export is not a React Component in "/config-files/page" -[01:36:26.309] Server ERROR ⨯ Error: The default export is not a React Component in "/config-files/page" -[01:36:26.553] Server ERROR ⨯ Error: The default export is not a React Component in "/config-files/page" -[01:36:26.936] Server ERROR ⨯ Error: The default export is not a React Component in "/config-files/page" -[01:36:27.437] Server ERROR ⨯ Error: The default export is not a React Component in "/config-files/page" -[01:36:27.868] Server ERROR ⨯ Error: The default export is not a React Component in "/config-files/page" -[01:36:28.255] Server ERROR ⨯ Error: The default export is not a React Component in "/config-files/page" -[01:36:28.412] Browser ERROR uncaughtError: Error: The default export is not a React Component in "/config-files/page" -[01:36:55.581] Browser ERROR ./src/app/config-files/page.tsx:94:1 +[00:00:01.305] Server LOG ✓ Ready in 924ms +[00:00:04.672] Browser INFO %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold +[00:02:41.930] Browser INFO %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold +[00:03:45.232] Server ERROR ⨯ Error: The default export is not a React Component in "/registration/page" +[00:03:45.614] Server ERROR ⨯ Error: The default export is not a React Component in "/registration/page" +[00:03:46.214] Server ERROR ⨯ Error: The default export is not a React Component in "/registration/page" +[00:03:46.476] Server ERROR ⨯ Error: The default export is not a React Component in "/registration/page" +[00:03:46.859] Server ERROR ⨯ Error: The default export is not a React Component in "/registration/page" +[00:03:47.191] Server ERROR ⨯ Error: The default export is not a React Component in "/registration/page" +[00:03:47.547] Server ERROR ⨯ Error: The default export is not a React Component in "/registration/page" +[00:03:47.844] Server ERROR ⨯ Error: The default export is not a React Component in "/registration/page" +[00:03:48.053] Browser ERROR uncaughtError: Error: The default export is not a React Component in "/registration/page" +[00:04:08.647] Server ERROR ⨯ Error: The default export is not a React Component in "/registration/page" +[00:04:08.874] Server ERROR ⨯ Error: The default export is not a React Component in "/registration/page" +[00:04:09.022] Browser ERROR uncaughtError: Error: The default export is not a React Component in "/registration/page" +[00:04:10.835] Browser INFO %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold +[00:04:22.234] Browser ERROR ./src/app/registration/page.tsx:124:1 Parsing ecmascript source code failed - 92 | - 93 | -> 94 | - | ^ - -Expected '' - -Import traces: - Client Component Browser: - ./src/app/config-files/page.tsx [Client Component Browser] - ./src/app/config-files/page.tsx [Server Component] - - Client Component SSR: - ./src/app/config-files/page.tsx [Client Component SSR] - ./src/app/config-files/page.tsx [Server Component] -[01:37:18.240] Browser ERROR ./src/app/config-files/page.tsx:138:1 -Parsing ecmascript source code failed - 136 | - 137 | -> 138 | + 122 | + 123 | +> 124 | | ^ Expected '' Import traces: Client Component Browser: - ./src/app/config-files/page.tsx [Client Component Browser] - ./src/app/config-files/page.tsx [Server Component] + ./src/app/registration/page.tsx [Client Component Browser] + ./src/app/registration/page.tsx [Server Component] Client Component SSR: - ./src/app/config-files/page.tsx [Client Component SSR] - ./src/app/config-files/page.tsx [Server Component] -[01:37:44.117] Browser ERROR ./src/app/config-files/page.tsx:196:1 + ./src/app/registration/page.tsx [Client Component SSR] + ./src/app/registration/page.tsx [Server Component] +[00:04:42.706] Browser ERROR uncaughtError: Error: ./src/app/registration/page.tsx:124:1 Parsing ecmascript source code failed - 194 | - 195 | )} -> 196 | + 122 | + 123 | +> 124 | | ^ Expected '' Import traces: Client Component Browser: - ./src/app/config-files/page.tsx [Client Component Browser] - ./src/app/config-files/page.tsx [Server Component] + ./src/app/registration/page.tsx [Client Component Browser] + ./src/app/registration/page.tsx [Server Component] Client Component SSR: - ./src/app/config-files/page.tsx [Client Component SSR] - ./src/app/config-files/page.tsx [Server Component] -[01:38:23.886] Server LOG ✓ Compiled in 171ms -[01:38:24.353] Browser INFO %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold -[02:18:04.258] Browser INFO %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold -[02:19:49.787] Server LOG ✓ Compiled in 28ms -[02:21:21.355] Server LOG ✓ Compiled in 29ms -[02:21:34.151] Server LOG ✓ Compiled in 30ms -[02:24:22.769] Server LOG ✓ Compiled in 27ms -[02:31:50.211] Server LOG ✓ Compiled in 119ms -[02:31:50.314] Browser ERROR ./src/app/config-files/page.tsx:6:227 -Parsing ecmascript source code failed - 4 | - 5 | const configData = [ -> 6 | { id: 1, name: 'CFG-GD30-v1.2.0', model: 'GD-30 Supreme', version: 'v1.2.0', createTime: '2025-01-15 10:30', status: '生效', voltage: '1500V', current: '10A', dutyCycle: '50%、100%', pulseWidth: '0.25s~64s', iterations: 1~256, channels: 12, sampleRate: '50Hz/60Hz/100Hz/1000Hz', voltageRange: '±2.5V/±80V', waveform: '支持', ssid: 'GD30' }, - | ^ - 7 | { id: 2, name: 'CFG-GD30-v1.1.0', model: 'GD-30 Supreme', version: 'v1.1.0', createTime: '2024-09-20 14:00', status: '已停用', voltage: '1200V', current: '10A', dutyCycle: '50%', pulseWidth: '0.25s~32s', iterations: 1~128, channels: 12, sampleRate: '50Hz/60Hz/100Hz', voltageRange: '±2.5V/±80V', waveform: '支持', ssid: 'GD30' }, - 8 | { id: 3, name: 'CFG-GD20-v1.0.0', model: 'GD-20 Supreme', version: 'v1.0.0', createTime: '2024-08-10 09:15', status: '生效', voltage: '1000V', current: '8A', dutyCycle: '50%', pulseWidth: '0.25s~8s', iterations: 1~128, channels: 6, sampleRate: '50Hz/60Hz', voltageRange: '±2.5V/±80V', waveform: '不支持', ssid: 'GD20' }, - 9 | { id: 4, name: 'CFG-GD10-v1.0.0', model: 'GD-10 Supreme', version: 'v1.0.0', createTime: '2024-06-05 16:45', status: '生效', voltage: '800V', current: '5A', dutyCycle: '50%', pulseWidth: '0.5s~8s', iterations: 1~64, channels: 1, sampleRate: '50Hz/60Hz', voltageRange: '±2.5V', waveform: '不支持', ssid: 'GD10' }, + ./src/app/registration/page.tsx [Client Component SSR] + ./src/app/registration/page.tsx [Server Component] -Expected ',', got '~' + +[00:04:42.856] Browser ERROR ./src/app/registration/page.tsx:124:1 +Parsing ecmascript source code failed + 122 | + 123 | +> 124 | + | ^ + +Expected '' Import traces: Client Component Browser: - ./src/app/config-files/page.tsx [Client Component Browser] - ./src/app/config-files/page.tsx [Server Component] + ./src/app/registration/page.tsx [Client Component Browser] + ./src/app/registration/page.tsx [Server Component] Client Component SSR: - ./src/app/config-files/page.tsx [Client Component SSR] - ./src/app/config-files/page.tsx [Server Component] -[02:39:31.977] Browser INFO %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold + ./src/app/registration/page.tsx [Client Component SSR] + ./src/app/registration/page.tsx [Server Component] +[00:04:42.856] Browser ERROR ./src/app/registration/page.tsx:124:1 +Parsing ecmascript source code failed + 122 | + 123 | +> 124 | + | ^ + +Expected '' + +Import traces: + Client Component Browser: + ./src/app/registration/page.tsx [Client Component Browser] + ./src/app/registration/page.tsx [Server Component] + + Client Component SSR: + ./src/app/registration/page.tsx [Client Component SSR] + ./src/app/registration/page.tsx [Server Component] +[00:04:45.497] Browser ERROR uncaughtError: Error: ./src/app/registration/page.tsx:124:1 +Parsing ecmascript source code failed + 122 | + 123 | +> 124 | + | ^ + +Expected '' + +Import traces: + Client Component Browser: + ./src/app/registration/page.tsx [Client Component Browser] + ./src/app/registration/page.tsx [Server Component] + + Client Component SSR: + ./src/app/registration/page.tsx [Client Component SSR] + ./src/app/registration/page.tsx [Server Component] + + +[00:04:45.649] Browser ERROR ./src/app/registration/page.tsx:124:1 +Parsing ecmascript source code failed + 122 | + 123 | +> 124 | + | ^ + +Expected '' + +Import traces: + Client Component Browser: + ./src/app/registration/page.tsx [Client Component Browser] + ./src/app/registration/page.tsx [Server Component] + + Client Component SSR: + ./src/app/registration/page.tsx [Client Component SSR] + ./src/app/registration/page.tsx [Server Component] +[00:04:45.649] Browser ERROR ./src/app/registration/page.tsx:124:1 +Parsing ecmascript source code failed + 122 | + 123 | +> 124 | + | ^ + +Expected '' + +Import traces: + Client Component Browser: + ./src/app/registration/page.tsx [Client Component Browser] + ./src/app/registration/page.tsx [Server Component] + + Client Component SSR: + ./src/app/registration/page.tsx [Client Component SSR] + ./src/app/registration/page.tsx [Server Component] +[00:04:47.774] Browser ERROR uncaughtError: Error: ./src/app/registration/page.tsx:124:1 +Parsing ecmascript source code failed + 122 | + 123 | +> 124 | + | ^ + +Expected '' + +Import traces: + Client Component Browser: + ./src/app/registration/page.tsx [Client Component Browser] + ./src/app/registration/page.tsx [Server Component] + + Client Component SSR: + ./src/app/registration/page.tsx [Client Component SSR] + ./src/app/registration/page.tsx [Server Component] + + +[00:04:47.916] Browser ERROR ./src/app/registration/page.tsx:124:1 +Parsing ecmascript source code failed + 122 | + 123 | +> 124 | + | ^ + +Expected '' + +Import traces: + Client Component Browser: + ./src/app/registration/page.tsx [Client Component Browser] + ./src/app/registration/page.tsx [Server Component] + + Client Component SSR: + ./src/app/registration/page.tsx [Client Component SSR] + ./src/app/registration/page.tsx [Server Component] +[00:04:47.916] Browser ERROR ./src/app/registration/page.tsx:124:1 +Parsing ecmascript source code failed + 122 | + 123 | +> 124 | + | ^ + +Expected '' + +Import traces: + Client Component Browser: + ./src/app/registration/page.tsx [Client Component Browser] + ./src/app/registration/page.tsx [Server Component] + + Client Component SSR: + ./src/app/registration/page.tsx [Client Component SSR] + ./src/app/registration/page.tsx [Server Component] +[00:04:51.434] Browser ERROR ./src/app/registration/page.tsx:181:1 +Parsing ecmascript source code failed + 179 | + 180 | +> 181 | + | ^ + +Expected '' + +Import traces: + Client Component Browser: + ./src/app/registration/page.tsx [Client Component Browser] + ./src/app/registration/page.tsx [Server Component] + + Client Component SSR: + ./src/app/registration/page.tsx [Client Component SSR] + ./src/app/registration/page.tsx [Server Component] +[00:05:14.501] Browser ERROR ./src/app/registration/page.tsx:220:1 +Parsing ecmascript source code failed + 218 | + 219 | +> 220 | + | ^ + +Expected '' + +Import traces: + Client Component Browser: + ./src/app/registration/page.tsx [Client Component Browser] + ./src/app/registration/page.tsx [Server Component] + + Client Component SSR: + ./src/app/registration/page.tsx [Client Component SSR] + ./src/app/registration/page.tsx [Server Component] +[00:05:29.054] Browser ERROR uncaughtError: Error: ./src/app/registration/page.tsx:220:1 +Parsing ecmascript source code failed + 218 | + 219 | +> 220 | + | ^ + +Expected '' + +Import traces: + Client Component Browser: + ./src/app/registration/page.tsx [Client Component Browser] + ./src/app/registration/page.tsx [Server Component] + + Client Component SSR: + ./src/app/registration/page.tsx [Client Component SSR] + ./src/app/registration/page.tsx [Server Component] + + +[00:05:29.198] Browser ERROR ./src/app/registration/page.tsx:220:1 +Parsing ecmascript source code failed + 218 | + 219 | +> 220 | + | ^ + +Expected '' + +Import traces: + Client Component Browser: + ./src/app/registration/page.tsx [Client Component Browser] + ./src/app/registration/page.tsx [Server Component] + + Client Component SSR: + ./src/app/registration/page.tsx [Client Component SSR] + ./src/app/registration/page.tsx [Server Component] +[00:05:29.198] Browser ERROR ./src/app/registration/page.tsx:220:1 +Parsing ecmascript source code failed + 218 | + 219 | +> 220 | + | ^ + +Expected '' + +Import traces: + Client Component Browser: + ./src/app/registration/page.tsx [Client Component Browser] + ./src/app/registration/page.tsx [Server Component] + + Client Component SSR: + ./src/app/registration/page.tsx [Client Component SSR] + ./src/app/registration/page.tsx [Server Component] +[00:05:52.168] Server LOG ✓ Compiled in 59ms +[00:05:52.363] Browser INFO %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold +[00:07:03.121] Server LOG ✓ Compiled in 28ms +[00:07:06.379] Browser INFO %cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools font-weight:bold diff --git a/.next/dev/prerender-manifest.json b/.next/dev/prerender-manifest.json index 32bfb02..4aaaa88 100644 --- a/.next/dev/prerender-manifest.json +++ b/.next/dev/prerender-manifest.json @@ -4,8 +4,8 @@ "dynamicRoutes": {}, "notFoundRoutes": [], "preview": { - "previewModeId": "ddebc876e2527e2c1c89b8a4985c357c", - "previewModeSigningKey": "0733fc8a1f7b85ebc9692f17ef5bab3fd71f3ade9f7ac86c49090d5580982438", - "previewModeEncryptionKey": "7314d496eac7124b3ac44211d106a115ec19a240718ea50bc5d722288604fe2a" + "previewModeId": "a77caa2716620f9bf9c8c0b633b086a7", + "previewModeSigningKey": "6c1a4da1893c6a2d3302bd3804f6a0298f6ee1b4dbdc30fce7f156e0e985c89d", + "previewModeEncryptionKey": "0ecc6703d0848407da50db03f1c32567f026d8ce337be2b5ad00b0e871396a8a" } } \ No newline at end of file diff --git a/.next/dev/server/app-paths-manifest.json b/.next/dev/server/app-paths-manifest.json index a2f0878..da5673c 100644 --- a/.next/dev/server/app-paths-manifest.json +++ b/.next/dev/server/app-paths-manifest.json @@ -1,12 +1,7 @@ { "/_not-found/page": "app/_not-found/page.js", - "/boards/page": "app/boards/page.js", - "/calibration/page": "app/calibration/page.js", - "/config-files/page": "app/config-files/page.js", "/devices/page": "app/devices/page.js", - "/licenses/page": "app/licenses/page.js", "/models/page": "app/models/page.js", "/page": "app/page.js", - "/repair/page": "app/repair/page.js", - "/scrap/page": "app/scrap/page.js" + "/registration/page": "app/registration/page.js" } \ No newline at end of file diff --git a/.next/dev/server/app/registration/page.js b/.next/dev/server/app/registration/page.js new file mode 100644 index 0000000..1b0594a --- /dev/null +++ b/.next/dev/server/app/registration/page.js @@ -0,0 +1,13 @@ +var R=require("../../chunks/ssr/[turbopack]_runtime.js")("server/app/registration/page.js") +R.c("server/chunks/ssr/node_modules_next_dist_6643d7da._.js") +R.c("server/chunks/ssr/[root-of-the-server]__7da3fcc8._.js") +R.c("server/chunks/ssr/node_modules_next_dist_7381059c._.js") +R.c("server/chunks/ssr/[externals]__7f148858._.js") +R.c("server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_ece394eb.js") +R.c("server/chunks/ssr/_a7258fb4._.js") +R.c("server/chunks/ssr/node_modules_next_dist_client_components_9774470f._.js") +R.c("server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_45780354.js") +R.c("server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_15817684.js") +R.c("server/chunks/ssr/_next-internal_server_app_registration_page_actions_515eee8c.js") +R.m("[project]/node_modules/next/dist/esm/build/templates/app-page.js?page=/registration/page { GLOBAL_ERROR_MODULE => \"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_0 => \"[project]/src/app/layout.tsx [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_1 => \"[project]/node_modules/next/dist/client/components/builtin/not-found.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_2 => \"[project]/node_modules/next/dist/client/components/builtin/forbidden.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_3 => \"[project]/node_modules/next/dist/client/components/builtin/unauthorized.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_4 => \"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_5 => \"[project]/src/app/registration/page.tsx [app-rsc] (ecmascript, Next.js Server Component)\" } [app-rsc] (ecmascript)") +module.exports=R.m("[project]/node_modules/next/dist/esm/build/templates/app-page.js?page=/registration/page { GLOBAL_ERROR_MODULE => \"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_0 => \"[project]/src/app/layout.tsx [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_1 => \"[project]/node_modules/next/dist/client/components/builtin/not-found.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_2 => \"[project]/node_modules/next/dist/client/components/builtin/forbidden.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_3 => \"[project]/node_modules/next/dist/client/components/builtin/unauthorized.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_4 => \"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_5 => \"[project]/src/app/registration/page.tsx [app-rsc] (ecmascript, Next.js Server Component)\" } [app-rsc] (ecmascript)").exports diff --git a/.next/dev/server/app/registration/page.js.map b/.next/dev/server/app/registration/page.js.map new file mode 100644 index 0000000..c15d7ec --- /dev/null +++ b/.next/dev/server/app/registration/page.js.map @@ -0,0 +1,5 @@ +{ + "version": 3, + "sources": [], + "sections": [] +} \ No newline at end of file diff --git a/.next/dev/server/app/registration/page/app-paths-manifest.json b/.next/dev/server/app/registration/page/app-paths-manifest.json new file mode 100644 index 0000000..50b5eb0 --- /dev/null +++ b/.next/dev/server/app/registration/page/app-paths-manifest.json @@ -0,0 +1,3 @@ +{ + "/registration/page": "app/registration/page.js" +} \ No newline at end of file diff --git a/.next/dev/server/app/registration/page/build-manifest.json b/.next/dev/server/app/registration/page/build-manifest.json new file mode 100644 index 0000000..9239fd2 --- /dev/null +++ b/.next/dev/server/app/registration/page/build-manifest.json @@ -0,0 +1,22 @@ +{ + "devFiles": [], + "ampDevFiles": [], + "polyfillFiles": [ + "static/chunks/node_modules_next_dist_build_polyfills_polyfill-nomodule.js" + ], + "lowPriorityFiles": [], + "rootMainFiles": [ + "static/chunks/[turbopack]_browser_dev_hmr-client_hmr-client_ts_956a0d3a._.js", + "static/chunks/node_modules_next_dist_compiled_react-dom_1e674e59._.js", + "static/chunks/node_modules_next_dist_compiled_react-server-dom-turbopack_9212ccad._.js", + "static/chunks/node_modules_next_dist_compiled_next-devtools_index_1dd7fb59.js", + "static/chunks/node_modules_next_dist_compiled_a0e4c7b4._.js", + "static/chunks/node_modules_next_dist_client_17643121._.js", + "static/chunks/node_modules_next_dist_f3530cac._.js", + "static/chunks/node_modules_@swc_helpers_cjs_d80fb378._.js", + "static/chunks/_a0ff3932._.js", + "static/chunks/turbopack-_23a915ee._.js" + ], + "pages": {}, + "ampFirstPages": [] +} \ No newline at end of file diff --git a/.next/dev/server/app/registration/page/next-font-manifest.json b/.next/dev/server/app/registration/page/next-font-manifest.json new file mode 100644 index 0000000..e0cc400 --- /dev/null +++ b/.next/dev/server/app/registration/page/next-font-manifest.json @@ -0,0 +1,6 @@ +{ + "pages": {}, + "app": {}, + "appUsingSizeAdjust": false, + "pagesUsingSizeAdjust": false +} \ No newline at end of file diff --git a/.next/dev/server/app/registration/page/react-loadable-manifest.json b/.next/dev/server/app/registration/page/react-loadable-manifest.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/.next/dev/server/app/registration/page/react-loadable-manifest.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/.next/dev/server/app/registration/page/server-reference-manifest.json b/.next/dev/server/app/registration/page/server-reference-manifest.json new file mode 100644 index 0000000..27a92af --- /dev/null +++ b/.next/dev/server/app/registration/page/server-reference-manifest.json @@ -0,0 +1,4 @@ +{ + "node": {}, + "edge": {} +} \ No newline at end of file diff --git a/.next/dev/server/app/registration/page_client-reference-manifest.js b/.next/dev/server/app/registration/page_client-reference-manifest.js new file mode 100644 index 0000000..38a0fe2 --- /dev/null +++ b/.next/dev/server/app/registration/page_client-reference-manifest.js @@ -0,0 +1,2 @@ +globalThis.__RSC_MANIFEST = globalThis.__RSC_MANIFEST || {}; +globalThis.__RSC_MANIFEST["/registration/page"] = {"moduleLoading":{"prefix":"","crossOrigin":null},"clientModules":{"[project]/node_modules/next/dist/esm/client/components/layout-router.js ":{"id":"[project]/node_modules/next/dist/client/components/layout-router.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_be32b49c._.js","/_next/static/chunks/node_modules_next_dist_client_components_builtin_global-error_1cf6b850.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/layout-router.js":{"id":"[project]/node_modules/next/dist/client/components/layout-router.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_be32b49c._.js","/_next/static/chunks/node_modules_next_dist_client_components_builtin_global-error_1cf6b850.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/render-from-template-context.js ":{"id":"[project]/node_modules/next/dist/client/components/render-from-template-context.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_be32b49c._.js","/_next/static/chunks/node_modules_next_dist_client_components_builtin_global-error_1cf6b850.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":"[project]/node_modules/next/dist/client/components/render-from-template-context.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_be32b49c._.js","/_next/static/chunks/node_modules_next_dist_client_components_builtin_global-error_1cf6b850.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-page.js ":{"id":"[project]/node_modules/next/dist/client/components/client-page.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_be32b49c._.js","/_next/static/chunks/node_modules_next_dist_client_components_builtin_global-error_1cf6b850.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-page.js":{"id":"[project]/node_modules/next/dist/client/components/client-page.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_be32b49c._.js","/_next/static/chunks/node_modules_next_dist_client_components_builtin_global-error_1cf6b850.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-segment.js ":{"id":"[project]/node_modules/next/dist/client/components/client-segment.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_be32b49c._.js","/_next/static/chunks/node_modules_next_dist_client_components_builtin_global-error_1cf6b850.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/client-segment.js":{"id":"[project]/node_modules/next/dist/client/components/client-segment.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_be32b49c._.js","/_next/static/chunks/node_modules_next_dist_client_components_builtin_global-error_1cf6b850.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js ":{"id":"[project]/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_be32b49c._.js","/_next/static/chunks/node_modules_next_dist_client_components_builtin_global-error_1cf6b850.js"],"async":false},"[project]/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":"[project]/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_be32b49c._.js","/_next/static/chunks/node_modules_next_dist_client_components_builtin_global-error_1cf6b850.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js ":{"id":"[project]/node_modules/next/dist/lib/metadata/generate/icon-mark.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_be32b49c._.js","/_next/static/chunks/node_modules_next_dist_client_components_builtin_global-error_1cf6b850.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":"[project]/node_modules/next/dist/lib/metadata/generate/icon-mark.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_be32b49c._.js","/_next/static/chunks/node_modules_next_dist_client_components_builtin_global-error_1cf6b850.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/framework/boundary-components.js ":{"id":"[project]/node_modules/next/dist/lib/framework/boundary-components.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_be32b49c._.js","/_next/static/chunks/node_modules_next_dist_client_components_builtin_global-error_1cf6b850.js"],"async":false},"[project]/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":"[project]/node_modules/next/dist/lib/framework/boundary-components.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_be32b49c._.js","/_next/static/chunks/node_modules_next_dist_client_components_builtin_global-error_1cf6b850.js"],"async":false},"[project]/node_modules/next/dist/esm/next-devtools/userspace/app/segment-explorer-node.js ":{"id":"[project]/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_be32b49c._.js","/_next/static/chunks/node_modules_next_dist_client_components_builtin_global-error_1cf6b850.js"],"async":false},"[project]/node_modules/next/dist/esm/next-devtools/userspace/app/segment-explorer-node.js":{"id":"[project]/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_be32b49c._.js","/_next/static/chunks/node_modules_next_dist_client_components_builtin_global-error_1cf6b850.js"],"async":false},"[project]/node_modules/next/dist/client/components/builtin/global-error.js ":{"id":"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_be32b49c._.js","/_next/static/chunks/node_modules_next_dist_client_components_builtin_global-error_1cf6b850.js"],"async":false},"[project]/node_modules/next/dist/client/components/builtin/global-error.js":{"id":"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/node_modules_next_dist_be32b49c._.js","/_next/static/chunks/node_modules_next_dist_client_components_builtin_global-error_1cf6b850.js"],"async":false},"[project]/src/app/components/sidebar.tsx ":{"id":"[project]/src/app/components/sidebar.tsx [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/_2da84fc5._.js","/_next/static/chunks/src_app_layout_tsx_1cf6b850._.js"],"async":false},"[project]/src/app/components/sidebar.tsx":{"id":"[project]/src/app/components/sidebar.tsx [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/_2da84fc5._.js","/_next/static/chunks/src_app_layout_tsx_1cf6b850._.js"],"async":false},"[project]/src/app/components/header.tsx ":{"id":"[project]/src/app/components/header.tsx [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/_2da84fc5._.js","/_next/static/chunks/src_app_layout_tsx_1cf6b850._.js"],"async":false},"[project]/src/app/components/header.tsx":{"id":"[project]/src/app/components/header.tsx [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/_2da84fc5._.js","/_next/static/chunks/src_app_layout_tsx_1cf6b850._.js"],"async":false},"[project]/src/app/registration/page.tsx ":{"id":"[project]/src/app/registration/page.tsx [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/_2da84fc5._.js","/_next/static/chunks/src_app_layout_tsx_1cf6b850._.js","/_next/static/chunks/src_app_registration_page_tsx_cf711930._.js","/_next/static/chunks/node_modules_lucide-react_dist_esm_icons_3aa00cc0._.js","/_next/static/chunks/src_app_registration_page_tsx_b52ab1da._.js"],"async":false},"[project]/src/app/registration/page.tsx":{"id":"[project]/src/app/registration/page.tsx [app-client] (ecmascript)","name":"*","chunks":["/_next/static/chunks/_2da84fc5._.js","/_next/static/chunks/src_app_layout_tsx_1cf6b850._.js","/_next/static/chunks/src_app_registration_page_tsx_cf711930._.js","/_next/static/chunks/node_modules_lucide-react_dist_esm_icons_3aa00cc0._.js","/_next/static/chunks/src_app_registration_page_tsx_b52ab1da._.js"],"async":false}},"ssrModuleMapping":{"[project]/node_modules/next/dist/client/components/layout-router.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/client/components/layout-router.js [app-ssr] (ecmascript)","name":"*","chunks":["server/chunks/ssr/node_modules_next_dist_afb60855._.js","server/chunks/ssr/[externals]_next_dist_1aaf5479._.js"],"async":false}},"[project]/node_modules/next/dist/client/components/render-from-template-context.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/client/components/render-from-template-context.js [app-ssr] (ecmascript)","name":"*","chunks":["server/chunks/ssr/node_modules_next_dist_afb60855._.js","server/chunks/ssr/[externals]_next_dist_1aaf5479._.js"],"async":false}},"[project]/node_modules/next/dist/client/components/client-page.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/client/components/client-page.js [app-ssr] (ecmascript)","name":"*","chunks":["server/chunks/ssr/node_modules_next_dist_afb60855._.js","server/chunks/ssr/[externals]_next_dist_1aaf5479._.js"],"async":false}},"[project]/node_modules/next/dist/client/components/client-segment.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/client/components/client-segment.js [app-ssr] (ecmascript)","name":"*","chunks":["server/chunks/ssr/node_modules_next_dist_afb60855._.js","server/chunks/ssr/[externals]_next_dist_1aaf5479._.js"],"async":false}},"[project]/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js [app-ssr] (ecmascript)","name":"*","chunks":["server/chunks/ssr/node_modules_next_dist_afb60855._.js","server/chunks/ssr/[externals]_next_dist_1aaf5479._.js"],"async":false}},"[project]/node_modules/next/dist/lib/metadata/generate/icon-mark.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js [app-ssr] (ecmascript)","name":"*","chunks":["server/chunks/ssr/node_modules_next_dist_afb60855._.js","server/chunks/ssr/[externals]_next_dist_1aaf5479._.js"],"async":false}},"[project]/node_modules/next/dist/lib/framework/boundary-components.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/lib/framework/boundary-components.js [app-ssr] (ecmascript)","name":"*","chunks":["server/chunks/ssr/node_modules_next_dist_afb60855._.js","server/chunks/ssr/[externals]_next_dist_1aaf5479._.js"],"async":false}},"[project]/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/next-devtools/userspace/app/segment-explorer-node.js [app-ssr] (ecmascript)","name":"*","chunks":["server/chunks/ssr/node_modules_next_dist_afb60855._.js","server/chunks/ssr/[externals]_next_dist_1aaf5479._.js"],"async":false}},"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-ssr] (ecmascript)","name":"*","chunks":["server/chunks/ssr/node_modules_next_dist_afb60855._.js","server/chunks/ssr/[externals]_next_dist_1aaf5479._.js"],"async":false}},"[project]/src/app/components/sidebar.tsx [app-client] (ecmascript)":{"*":{"id":"[project]/src/app/components/sidebar.tsx [app-ssr] (ecmascript)","name":"*","chunks":["server/chunks/ssr/node_modules_d922b083._.js","server/chunks/ssr/[root-of-the-server]__e8545da7._.js"],"async":false}},"[project]/src/app/components/header.tsx [app-client] (ecmascript)":{"*":{"id":"[project]/src/app/components/header.tsx [app-ssr] (ecmascript)","name":"*","chunks":["server/chunks/ssr/node_modules_d922b083._.js","server/chunks/ssr/[root-of-the-server]__e8545da7._.js"],"async":false}},"[project]/src/app/registration/page.tsx [app-client] (ecmascript)":{"*":{"id":"[project]/src/app/registration/page.tsx [app-ssr] (ecmascript)","name":"*","chunks":["server/chunks/ssr/node_modules_d922b083._.js","server/chunks/ssr/[root-of-the-server]__e8545da7._.js","server/chunks/ssr/src_app_registration_page_tsx_e3654e29._.js","server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_6684d157._.js"],"async":false}}},"edgeSSRModuleMapping":{},"rscModuleMapping":{"[project]/node_modules/next/dist/client/components/layout-router.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/client/components/layout-router.js [app-rsc] (client reference proxy)","name":"*","chunks":[],"async":false}},"[project]/node_modules/next/dist/client/components/render-from-template-context.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/client/components/render-from-template-context.js [app-rsc] (client reference proxy)","name":"*","chunks":[],"async":false}},"[project]/node_modules/next/dist/client/components/client-page.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/client/components/client-page.js [app-rsc] (client reference proxy)","name":"*","chunks":[],"async":false}},"[project]/node_modules/next/dist/client/components/client-segment.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/client/components/client-segment.js [app-rsc] (client reference proxy)","name":"*","chunks":[],"async":false}},"[project]/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js [app-rsc] (client reference proxy)","name":"*","chunks":[],"async":false}},"[project]/node_modules/next/dist/lib/metadata/generate/icon-mark.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js [app-rsc] (client reference proxy)","name":"*","chunks":[],"async":false}},"[project]/node_modules/next/dist/lib/framework/boundary-components.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/lib/framework/boundary-components.js [app-rsc] (client reference proxy)","name":"*","chunks":[],"async":false}},"[project]/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/esm/next-devtools/userspace/app/segment-explorer-node.js [app-rsc] (client reference proxy)","name":"*","chunks":[],"async":false}},"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-client] (ecmascript)":{"*":{"id":"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-rsc] (client reference proxy)","name":"*","chunks":[],"async":false}},"[project]/src/app/components/sidebar.tsx [app-client] (ecmascript)":{"*":{"id":"[project]/src/app/components/sidebar.tsx [app-rsc] (client reference proxy)","name":"*","chunks":[],"async":false}},"[project]/src/app/components/header.tsx [app-client] (ecmascript)":{"*":{"id":"[project]/src/app/components/header.tsx [app-rsc] (client reference proxy)","name":"*","chunks":[],"async":false}},"[project]/src/app/registration/page.tsx [app-client] (ecmascript)":{"*":{"id":"[project]/src/app/registration/page.tsx [app-rsc] (client reference proxy)","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{},"entryCSSFiles":{"[project]/node_modules/next/dist/client/components/builtin/global-error":[],"[project]/src/app/layout":[{"path":"static/chunks/src_styles_index_a8d4c9fa.css","inlined":false}],"[project]/src/app/registration/page":[{"path":"static/chunks/src_styles_index_a8d4c9fa.css","inlined":false}]},"entryJSFiles":{"[project]/node_modules/next/dist/client/components/builtin/global-error":["static/chunks/node_modules_next_dist_be32b49c._.js","static/chunks/node_modules_next_dist_client_components_builtin_global-error_1cf6b850.js"],"[project]/src/app/layout":["static/chunks/_2da84fc5._.js","static/chunks/src_app_layout_tsx_1cf6b850._.js"],"[project]/src/app/registration/page":["static/chunks/_2da84fc5._.js","static/chunks/src_app_layout_tsx_1cf6b850._.js","static/chunks/src_app_registration_page_tsx_cf711930._.js","static/chunks/node_modules_lucide-react_dist_esm_icons_3aa00cc0._.js","static/chunks/src_app_registration_page_tsx_b52ab1da._.js"]}} diff --git a/.next/dev/server/chunks/ssr/[root-of-the-server]__7da3fcc8._.js b/.next/dev/server/chunks/ssr/[root-of-the-server]__7da3fcc8._.js new file mode 100644 index 0000000..43ad1dd --- /dev/null +++ b/.next/dev/server/chunks/ssr/[root-of-the-server]__7da3fcc8._.js @@ -0,0 +1,54 @@ +module.exports = [ +"[externals]/next/dist/shared/lib/no-fallback-error.external.js [external] (next/dist/shared/lib/no-fallback-error.external.js, cjs)", ((__turbopack_context__, module, exports) => { + +const mod = __turbopack_context__.x("next/dist/shared/lib/no-fallback-error.external.js", () => require("next/dist/shared/lib/no-fallback-error.external.js")); + +module.exports = mod; +}), +"[project]/src/app/layout.tsx [app-rsc] (ecmascript, Next.js Server Component)", ((__turbopack_context__) => { + +__turbopack_context__.n(__turbopack_context__.i("[project]/src/app/layout.tsx [app-rsc] (ecmascript)")); +}), +"[project]/src/app/registration/page.tsx [app-rsc] (client reference proxy) ", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "default", + ()=>__TURBOPACK__default__export__ +]); +// This file is generated by next-core EcmascriptClientReferenceModule. +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$server$2d$dom$2d$turbopack$2d$server$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.js [app-rsc] (ecmascript)"); +; +const __TURBOPACK__default__export__ = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$server$2d$dom$2d$turbopack$2d$server$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["registerClientReference"])(function() { + throw new Error("Attempted to call the default export of [project]/src/app/registration/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); +}, "[project]/src/app/registration/page.tsx ", "default"); +}), +"[project]/src/app/registration/page.tsx [app-rsc] (client reference proxy)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "default", + ()=>__TURBOPACK__default__export__ +]); +// This file is generated by next-core EcmascriptClientReferenceModule. +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$server$2d$dom$2d$turbopack$2d$server$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-server.js [app-rsc] (ecmascript)"); +; +const __TURBOPACK__default__export__ = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$rsc$2f$react$2d$server$2d$dom$2d$turbopack$2d$server$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["registerClientReference"])(function() { + throw new Error("Attempted to call the default export of [project]/src/app/registration/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component."); +}, "[project]/src/app/registration/page.tsx", "default"); +}), +"[project]/src/app/registration/page.tsx [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +var __TURBOPACK__imported__module__$5b$project$5d2f$src$2f$app$2f$registration$2f$page$2e$tsx__$5b$app$2d$rsc$5d$__$28$client__reference__proxy$29$__$3c$module__evaluation$3e$__ = __turbopack_context__.i("[project]/src/app/registration/page.tsx [app-rsc] (client reference proxy) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$src$2f$app$2f$registration$2f$page$2e$tsx__$5b$app$2d$rsc$5d$__$28$client__reference__proxy$29$__ = __turbopack_context__.i("[project]/src/app/registration/page.tsx [app-rsc] (client reference proxy)"); +; +__turbopack_context__.n(__TURBOPACK__imported__module__$5b$project$5d2f$src$2f$app$2f$registration$2f$page$2e$tsx__$5b$app$2d$rsc$5d$__$28$client__reference__proxy$29$__); +}), +"[project]/src/app/registration/page.tsx [app-rsc] (ecmascript, Next.js Server Component)", ((__turbopack_context__) => { + +__turbopack_context__.n(__turbopack_context__.i("[project]/src/app/registration/page.tsx [app-rsc] (ecmascript)")); +}), +]; + +//# sourceMappingURL=%5Broot-of-the-server%5D__7da3fcc8._.js.map \ No newline at end of file diff --git a/.next/dev/server/chunks/ssr/[root-of-the-server]__7da3fcc8._.js.map b/.next/dev/server/chunks/ssr/[root-of-the-server]__7da3fcc8._.js.map new file mode 100644 index 0000000..b643814 --- /dev/null +++ b/.next/dev/server/chunks/ssr/[root-of-the-server]__7da3fcc8._.js.map @@ -0,0 +1,8 @@ +{ + "version": 3, + "sources": [], + "sections": [ + {"offset": {"line": 14, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/src/app/registration/page.tsx/__nextjs-internal-proxy.mjs"],"sourcesContent":["// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport default registerClientReference(\n function() { throw new Error(\"Attempted to call the default export of [project]/src/app/registration/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/src/app/registration/page.tsx \",\n \"default\",\n);\n"],"names":[],"mappings":";;;;AAAA,uEAAuE;AACvE;;uCACe,IAAA,wQAAuB,EAClC;IAAa,MAAM,IAAI,MAAM;AAAiS,GAC9T,+DACA","ignoreList":[0]}}, + {"offset": {"line": 28, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/src/app/registration/page.tsx/__nextjs-internal-proxy.mjs"],"sourcesContent":["// This file is generated by next-core EcmascriptClientReferenceModule.\nimport { registerClientReference } from \"react-server-dom-turbopack/server\";\nexport default registerClientReference(\n function() { throw new Error(\"Attempted to call the default export of [project]/src/app/registration/page.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.\"); },\n \"[project]/src/app/registration/page.tsx\",\n \"default\",\n);\n"],"names":[],"mappings":";;;;AAAA,uEAAuE;AACvE;;uCACe,IAAA,wQAAuB,EAClC;IAAa,MAAM,IAAI,MAAM;AAA6Q,GAC1S,2CACA","ignoreList":[0]}}, + {"offset": {"line": 42, "column": 0}, "map": {"version":3,"sources":[],"names":[],"mappings":""}}] +} \ No newline at end of file diff --git a/.next/dev/server/chunks/ssr/_next-internal_server_app_registration_page_actions_515eee8c.js b/.next/dev/server/chunks/ssr/_next-internal_server_app_registration_page_actions_515eee8c.js new file mode 100644 index 0000000..142976b --- /dev/null +++ b/.next/dev/server/chunks/ssr/_next-internal_server_app_registration_page_actions_515eee8c.js @@ -0,0 +1,7 @@ +module.exports = [ +"[project]/.next-internal/server/app/registration/page/actions.js [app-rsc] (server actions loader, ecmascript)", ((__turbopack_context__, module, exports) => { + +}), +]; + +//# sourceMappingURL=_next-internal_server_app_registration_page_actions_515eee8c.js.map \ No newline at end of file diff --git a/.next/dev/server/chunks/ssr/_next-internal_server_app_registration_page_actions_515eee8c.js.map b/.next/dev/server/chunks/ssr/_next-internal_server_app_registration_page_actions_515eee8c.js.map new file mode 100644 index 0000000..f89d7b7 --- /dev/null +++ b/.next/dev/server/chunks/ssr/_next-internal_server_app_registration_page_actions_515eee8c.js.map @@ -0,0 +1,6 @@ +{ + "version": 3, + "sources": [], + "sections": [ + {"offset": {"line": 3, "column": 0}, "map": {"version":3,"sources":[],"names":[],"mappings":""}}] +} \ No newline at end of file diff --git a/.next/dev/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_6684d157._.js b/.next/dev/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_6684d157._.js new file mode 100644 index 0000000..fcdfb8c --- /dev/null +++ b/.next/dev/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_6684d157._.js @@ -0,0 +1,507 @@ +module.exports = [ +"[project]/node_modules/lucide-react/dist/esm/icons/arrow-left.js [app-ssr] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "__iconNode", + ()=>__iconNode, + "default", + ()=>ArrowLeft +]); +/** + * @license lucide-react v1.7.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-ssr] (ecmascript)"); +; +const __iconNode = [ + [ + "path", + { + d: "m12 19-7-7 7-7", + key: "1l729n" + } + ], + [ + "path", + { + d: "M19 12H5", + key: "x3x0zl" + } + ] +]; +const ArrowLeft = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"])("arrow-left", __iconNode); +; + //# sourceMappingURL=arrow-left.js.map +}), +"[project]/node_modules/lucide-react/dist/esm/icons/arrow-left.js [app-ssr] (ecmascript) ", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "ArrowLeft", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$arrow$2d$left$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"] +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$arrow$2d$left$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/arrow-left.js [app-ssr] (ecmascript)"); +}), +"[project]/node_modules/lucide-react/dist/esm/icons/upload.js [app-ssr] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "__iconNode", + ()=>__iconNode, + "default", + ()=>Upload +]); +/** + * @license lucide-react v1.7.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-ssr] (ecmascript)"); +; +const __iconNode = [ + [ + "path", + { + d: "M12 3v12", + key: "1x0j5s" + } + ], + [ + "path", + { + d: "m17 8-5-5-5 5", + key: "7q97r8" + } + ], + [ + "path", + { + d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", + key: "ih7n3h" + } + ] +]; +const Upload = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"])("upload", __iconNode); +; + //# sourceMappingURL=upload.js.map +}), +"[project]/node_modules/lucide-react/dist/esm/icons/upload.js [app-ssr] (ecmascript) ", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "Upload", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$upload$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"] +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$upload$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/upload.js [app-ssr] (ecmascript)"); +}), +"[project]/node_modules/lucide-react/dist/esm/icons/download.js [app-ssr] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "__iconNode", + ()=>__iconNode, + "default", + ()=>Download +]); +/** + * @license lucide-react v1.7.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-ssr] (ecmascript)"); +; +const __iconNode = [ + [ + "path", + { + d: "M12 15V3", + key: "m9g1x1" + } + ], + [ + "path", + { + d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", + key: "ih7n3h" + } + ], + [ + "path", + { + d: "m7 10 5 5 5-5", + key: "brsn70" + } + ] +]; +const Download = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"])("download", __iconNode); +; + //# sourceMappingURL=download.js.map +}), +"[project]/node_modules/lucide-react/dist/esm/icons/download.js [app-ssr] (ecmascript) ", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "Download", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$download$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"] +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$download$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/download.js [app-ssr] (ecmascript)"); +}), +"[project]/node_modules/lucide-react/dist/esm/icons/trash-2.js [app-ssr] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "__iconNode", + ()=>__iconNode, + "default", + ()=>Trash2 +]); +/** + * @license lucide-react v1.7.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-ssr] (ecmascript)"); +; +const __iconNode = [ + [ + "path", + { + d: "M10 11v6", + key: "nco0om" + } + ], + [ + "path", + { + d: "M14 11v6", + key: "outv1u" + } + ], + [ + "path", + { + d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6", + key: "miytrc" + } + ], + [ + "path", + { + d: "M3 6h18", + key: "d0wm0j" + } + ], + [ + "path", + { + d: "M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2", + key: "e791ji" + } + ] +]; +const Trash2 = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"])("trash-2", __iconNode); +; + //# sourceMappingURL=trash-2.js.map +}), +"[project]/node_modules/lucide-react/dist/esm/icons/trash-2.js [app-ssr] (ecmascript) ", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "Trash2", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$trash$2d$2$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"] +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$trash$2d$2$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/trash-2.js [app-ssr] (ecmascript)"); +}), +"[project]/node_modules/lucide-react/dist/esm/icons/square-pen.js [app-ssr] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "__iconNode", + ()=>__iconNode, + "default", + ()=>SquarePen +]); +/** + * @license lucide-react v1.7.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-ssr] (ecmascript)"); +; +const __iconNode = [ + [ + "path", + { + d: "M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7", + key: "1m0v6g" + } + ], + [ + "path", + { + d: "M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z", + key: "ohrbg2" + } + ] +]; +const SquarePen = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"])("square-pen", __iconNode); +; + //# sourceMappingURL=square-pen.js.map +}), +"[project]/node_modules/lucide-react/dist/esm/icons/square-pen.js [app-ssr] (ecmascript) ", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "Edit", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$square$2d$pen$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"] +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$square$2d$pen$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/square-pen.js [app-ssr] (ecmascript)"); +}), +"[project]/node_modules/lucide-react/dist/esm/icons/circle-check-big.js [app-ssr] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "__iconNode", + ()=>__iconNode, + "default", + ()=>CircleCheckBig +]); +/** + * @license lucide-react v1.7.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-ssr] (ecmascript)"); +; +const __iconNode = [ + [ + "path", + { + d: "M21.801 10A10 10 0 1 1 17 3.335", + key: "yps3ct" + } + ], + [ + "path", + { + d: "m9 11 3 3L22 4", + key: "1pflzl" + } + ] +]; +const CircleCheckBig = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"])("circle-check-big", __iconNode); +; + //# sourceMappingURL=circle-check-big.js.map +}), +"[project]/node_modules/lucide-react/dist/esm/icons/circle-check-big.js [app-ssr] (ecmascript) ", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "CheckCircle", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$circle$2d$check$2d$big$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"] +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$circle$2d$check$2d$big$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/circle-check-big.js [app-ssr] (ecmascript)"); +}), +"[project]/node_modules/lucide-react/dist/esm/icons/camera.js [app-ssr] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "__iconNode", + ()=>__iconNode, + "default", + ()=>Camera +]); +/** + * @license lucide-react v1.7.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-ssr] (ecmascript)"); +; +const __iconNode = [ + [ + "path", + { + d: "M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z", + key: "18u6gg" + } + ], + [ + "circle", + { + cx: "12", + cy: "13", + r: "3", + key: "1vg3eu" + } + ] +]; +const Camera = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"])("camera", __iconNode); +; + //# sourceMappingURL=camera.js.map +}), +"[project]/node_modules/lucide-react/dist/esm/icons/camera.js [app-ssr] (ecmascript) ", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "Camera", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$camera$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"] +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$camera$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/camera.js [app-ssr] (ecmascript)"); +}), +"[project]/node_modules/lucide-react/dist/esm/icons/x.js [app-ssr] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "__iconNode", + ()=>__iconNode, + "default", + ()=>X +]); +/** + * @license lucide-react v1.7.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-ssr] (ecmascript)"); +; +const __iconNode = [ + [ + "path", + { + d: "M18 6 6 18", + key: "1bl5f8" + } + ], + [ + "path", + { + d: "m6 6 12 12", + key: "d8bk6v" + } + ] +]; +const X = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"])("x", __iconNode); +; + //# sourceMappingURL=x.js.map +}), +"[project]/node_modules/lucide-react/dist/esm/icons/x.js [app-ssr] (ecmascript) ", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "X", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$x$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"] +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$x$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/x.js [app-ssr] (ecmascript)"); +}), +"[project]/node_modules/lucide-react/dist/esm/icons/triangle-alert.js [app-ssr] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "__iconNode", + ()=>__iconNode, + "default", + ()=>TriangleAlert +]); +/** + * @license lucide-react v1.7.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-ssr] (ecmascript)"); +; +const __iconNode = [ + [ + "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-3", + key: "wmoenq" + } + ], + [ + "path", + { + d: "M12 9v4", + key: "juzpu7" + } + ], + [ + "path", + { + d: "M12 17h.01", + key: "p32p05" + } + ] +]; +const TriangleAlert = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"])("triangle-alert", __iconNode); +; + //# sourceMappingURL=triangle-alert.js.map +}), +"[project]/node_modules/lucide-react/dist/esm/icons/triangle-alert.js [app-ssr] (ecmascript) ", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "AlertTriangle", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$triangle$2d$alert$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"] +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$triangle$2d$alert$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/triangle-alert.js [app-ssr] (ecmascript)"); +}), +"[project]/node_modules/lucide-react/dist/esm/icons/info.js [app-ssr] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "__iconNode", + ()=>__iconNode, + "default", + ()=>Info +]); +/** + * @license lucide-react v1.7.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.js [app-ssr] (ecmascript)"); +; +const __iconNode = [ + [ + "circle", + { + cx: "12", + cy: "12", + r: "10", + key: "1mglay" + } + ], + [ + "path", + { + d: "M12 16v-4", + key: "1dtifu" + } + ], + [ + "path", + { + d: "M12 8h.01", + key: "e9boi3" + } + ] +]; +const Info = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"])("info", __iconNode); +; + //# sourceMappingURL=info.js.map +}), +"[project]/node_modules/lucide-react/dist/esm/icons/info.js [app-ssr] (ecmascript) ", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "Info", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$info$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["default"] +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$info$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/info.js [app-ssr] (ecmascript)"); +}), +]; + +//# sourceMappingURL=node_modules_lucide-react_dist_esm_icons_6684d157._.js.map \ No newline at end of file diff --git a/.next/dev/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_6684d157._.js.map b/.next/dev/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_6684d157._.js.map new file mode 100644 index 0000000..f05964c --- /dev/null +++ b/.next/dev/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_6684d157._.js.map @@ -0,0 +1,15 @@ +{ + "version": 3, + "sources": [], + "sections": [ + {"offset": {"line": 4, "column": 0}, "map": {"version":3,"file":"turbopack:///[project]/node_modules/lucide-react/dist/esm/icons/arrow-left.js","sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/lucide-react/src/icons/arrow-left.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'm12 19-7-7 7-7', key: '1l729n' }],\n ['path', { d: 'M19 12H5', key: 'x3x0zl' }],\n];\n\n/**\n * @component @name ArrowLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTIgMTktNy03IDctNyIgLz4KICA8cGF0aCBkPSJNMTkgMTJINSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/arrow-left\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ArrowLeft = createLucideIcon('arrow-left', __iconNode);\n\nexport default ArrowLeft;\n"],"names":[],"mappings":";;;;;;;;;;;;;AAGO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,UAAA,CAAA,CAAA,CAAuB;IAClC;QAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAQ,CAAA;YAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YAAkB,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAA,CAAU;KAAA;IAC/C;QAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAQ,CAAA;YAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YAAY,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAA,CAAU;KAAA;CAC3C;AAaA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,SAAA,CAAA,CAAA,KAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,8JAAA,EAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA"}}, + {"offset": {"line": 49, "column": 0}, "map": {"version":3,"file":"turbopack:///[project]/node_modules/lucide-react/dist/esm/icons/upload.js","sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/lucide-react/src/icons/upload.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M12 3v12', key: '1x0j5s' }],\n ['path', { d: 'm17 8-5-5-5 5', key: '7q97r8' }],\n ['path', { d: 'M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4', key: 'ih7n3h' }],\n];\n\n/**\n * @component @name Upload\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgM3YxMiIgLz4KICA8cGF0aCBkPSJtMTcgOC01LTUtNSA1IiAvPgogIDxwYXRoIGQ9Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/upload\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Upload = createLucideIcon('upload', __iconNode);\n\nexport default Upload;\n"],"names":[],"mappings":";;;;;;;;;;;;;AAGO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,UAAA,CAAA,CAAA,CAAuB;IAClC;QAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAQ,CAAA;YAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YAAY,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAA,CAAU;KAAA;IACzC;QAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAQ,CAAA;YAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YAAiB,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAA,CAAU;KAAA;IAC9C;QAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAQ,CAAA;YAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YAA6C,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAA,CAAU;KAAA;CAC5E;AAaA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,MAAA,CAAA,CAAA,KAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,8JAAA,EAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA"}}, + {"offset": {"line": 101, "column": 0}, "map": {"version":3,"file":"turbopack:///[project]/node_modules/lucide-react/dist/esm/icons/download.js","sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/lucide-react/src/icons/download.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M12 15V3', key: 'm9g1x1' }],\n ['path', { d: 'M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4', key: 'ih7n3h' }],\n ['path', { d: 'm7 10 5 5 5-5', key: 'brsn70' }],\n];\n\n/**\n * @component @name Download\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgMTVWMyIgLz4KICA8cGF0aCBkPSJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNCIgLz4KICA8cGF0aCBkPSJtNyAxMCA1IDUgNS01IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/download\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Download = createLucideIcon('download', __iconNode);\n\nexport default Download;\n"],"names":[],"mappings":";;;;;;;;;;;;;AAGO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,UAAA,CAAA,CAAA,CAAuB;IAClC;QAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAQ,CAAA;YAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YAAY,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAA,CAAU;KAAA;IACzC;QAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAQ,CAAA;YAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YAA6C,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAA,CAAU;KAAA;IAC1E;QAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAQ,CAAA;YAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YAAiB,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAA,CAAU;KAAA;CAChD;AAaA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,QAAA,CAAA,CAAA,KAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,8JAAA,EAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA"}}, + {"offset": {"line": 153, "column": 0}, "map": {"version":3,"file":"turbopack:///[project]/node_modules/lucide-react/dist/esm/icons/trash-2.js","sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/lucide-react/src/icons/trash-2.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M10 11v6', key: 'nco0om' }],\n ['path', { d: 'M14 11v6', key: 'outv1u' }],\n ['path', { d: 'M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6', key: 'miytrc' }],\n ['path', { d: 'M3 6h18', key: 'd0wm0j' }],\n ['path', { d: 'M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2', key: 'e791ji' }],\n];\n\n/**\n * @component @name Trash2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTF2NiIgLz4KICA8cGF0aCBkPSJNMTQgMTF2NiIgLz4KICA8cGF0aCBkPSJNMTkgNnYxNGEyIDIgMCAwIDEtMiAySDdhMiAyIDAgMCAxLTItMlY2IiAvPgogIDxwYXRoIGQ9Ik0zIDZoMTgiIC8+CiAgPHBhdGggZD0iTTggNlY0YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/trash-2\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Trash2 = createLucideIcon('trash-2', __iconNode);\n\nexport default Trash2;\n"],"names":[],"mappings":";;;;;;;;;;;;;AAGO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,UAAA,CAAA,CAAA,CAAuB;IAClC;QAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAQ,CAAA;YAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YAAY,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAA,CAAU;KAAA;IACzC;QAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAQ,CAAA;YAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YAAY,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAA,CAAU;KAAA;IACzC;QAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAQ,CAAA;YAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YAA4C,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAA,CAAU;KAAA;IACzE;QAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAQ,CAAA;YAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YAAW,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAA,CAAU;KAAA;IACxC;QAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAQ,CAAA;YAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YAA0C,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAA,CAAU;KAAA;CACzE;AAaA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,MAAA,CAAA,CAAA,KAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,8JAAA,EAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA"}}, + {"offset": {"line": 219, "column": 0}, "map": {"version":3,"file":"turbopack:///[project]/node_modules/lucide-react/dist/esm/icons/square-pen.js","sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/lucide-react/src/icons/square-pen.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7', key: '1m0v6g' }],\n [\n 'path',\n {\n d: 'M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z',\n key: 'ohrbg2',\n },\n ],\n];\n\n/**\n * @component @name SquarePen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgM0g1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0ydi03IiAvPgogIDxwYXRoIGQ9Ik0xOC4zNzUgMi42MjVhMSAxIDAgMCAxIDMgM2wtOS4wMTMgOS4wMTRhMiAyIDAgMCAxLS44NTMuNTA1bC0yLjg3My44NGEuNS41IDAgMCAxLS42Mi0uNjJsLjg0LTIuODczYTIgMiAwIDAgMSAuNTA2LS44NTJ6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/square-pen\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst SquarePen = createLucideIcon('square-pen', __iconNode);\n\nexport default SquarePen;\n"],"names":[],"mappings":";;;;;;;;;;;;;AAGO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,UAAA,CAAA,CAAA,CAAuB;IAClC;QAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAQ,CAAA;YAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YAA8D,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAA,CAAU;KAAA;IAC3F;QACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QACA;YACE,CAAA,EAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YACH,GAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAA;KACP;CAEJ;AAaA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,SAAA,CAAA,CAAA,KAAY,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,8JAAA,EAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA"}}, + {"offset": {"line": 264, "column": 0}, "map": {"version":3,"file":"turbopack:///[project]/node_modules/lucide-react/dist/esm/icons/circle-check-big.js","sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/lucide-react/src/icons/circle-check-big.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M21.801 10A10 10 0 1 1 17 3.335', key: 'yps3ct' }],\n ['path', { d: 'm9 11 3 3L22 4', key: '1pflzl' }],\n];\n\n/**\n * @component @name CircleCheckBig\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEuODAxIDEwQTEwIDEwIDAgMSAxIDE3IDMuMzM1IiAvPgogIDxwYXRoIGQ9Im05IDExIDMgM0wyMiA0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/circle-check-big\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst CircleCheckBig = createLucideIcon('circle-check-big', __iconNode);\n\nexport default CircleCheckBig;\n"],"names":[],"mappings":";;;;;;;;;;;;;AAGO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,UAAA,CAAA,CAAA,CAAuB;IAClC;QAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAQ,CAAA;YAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YAAmC,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAA,CAAU;KAAA;IAChE;QAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAQ,CAAA;YAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YAAkB,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAA,CAAU;KAAA;CACjD;AAaA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,cAAA,CAAA,CAAA,KAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,8JAAA,EAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA"}}, + {"offset": {"line": 309, "column": 0}, "map": {"version":3,"file":"turbopack:///[project]/node_modules/lucide-react/dist/esm/icons/camera.js","sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/lucide-react/src/icons/camera.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z',\n key: '18u6gg',\n },\n ],\n ['circle', { cx: '12', cy: '13', r: '3', key: '1vg3eu' }],\n];\n\n/**\n * @component @name Camera\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTMuOTk3IDRhMiAyIDAgMCAxIDEuNzYgMS4wNWwuNDg2LjlBMiAyIDAgMCAwIDE4LjAwMyA3SDIwYTIgMiAwIDAgMSAyIDJ2OWEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY5YTIgMiAwIDAgMSAyLTJoMS45OTdhMiAyIDAgMCAwIDEuNzU5LTEuMDQ4bC40ODktLjkwNEEyIDIgMCAwIDEgMTAuMDA0IDR6IiAvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTMiIHI9IjMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/camera\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Camera = createLucideIcon('camera', __iconNode);\n\nexport default Camera;\n"],"names":[],"mappings":";;;;;;;;;;;;;AAGO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,UAAA,CAAA,CAAA,CAAuB;IAClC;QACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QACA;YACE,CAAA,EAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YACH,GAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAA;KAET;IACA;QAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAU;YAAE,CAAA,CAAA,CAAA,CAAI,IAAA,CAAA;YAAM,CAAA,CAAA,EAAI,CAAA,CAAA,CAAA,CAAA,CAAA;YAAM,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA;YAAK,CAAA,CAAA,CAAA,CAAA,CAAK,QAAA;QAAA,CAAU;KAAA;CAC1D;AAaA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,MAAA,CAAA,CAAA,KAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,8JAAA,EAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAU,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA"}}, + {"offset": {"line": 356, "column": 0}, "map": {"version":3,"file":"turbopack:///[project]/node_modules/lucide-react/dist/esm/icons/x.js","sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/lucide-react/src/icons/x.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M18 6 6 18', key: '1bl5f8' }],\n ['path', { d: 'm6 6 12 12', key: 'd8bk6v' }],\n];\n\n/**\n * @component @name X\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTggNiA2IDE4IiAvPgogIDxwYXRoIGQ9Im02IDYgMTIgMTIiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/x\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst X = createLucideIcon('x', __iconNode);\n\nexport default X;\n"],"names":[],"mappings":";;;;;;;;;;;;;AAGO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,UAAA,CAAA,CAAA,CAAuB;IAClC;QAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAQ,CAAA;YAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YAAc,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAA,CAAU;KAAA;IAC3C;QAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAQ,CAAA;YAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YAAc,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAA,CAAU;KAAA;CAC7C;AAaA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,KAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,8JAAA,EAAiB,CAAA,CAAA,CAAA,EAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA"}}, + {"offset": {"line": 401, "column": 0}, "map": {"version":3,"file":"turbopack:///[project]/node_modules/lucide-react/dist/esm/icons/triangle-alert.js","sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/lucide-react/src/icons/triangle-alert.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n 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-3',\n key: 'wmoenq',\n },\n ],\n ['path', { d: 'M12 9v4', key: 'juzpu7' }],\n ['path', { d: 'M12 17h.01', key: 'p32p05' }],\n];\n\n/**\n * @component @name TriangleAlert\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMjEuNzMgMTgtOC0xNGEyIDIgMCAwIDAtMy40OCAwbC04IDE0QTIgMiAwIDAgMCA0IDIxaDE2YTIgMiAwIDAgMCAxLjczLTMiIC8+CiAgPHBhdGggZD0iTTEyIDl2NCIgLz4KICA8cGF0aCBkPSJNMTIgMTdoLjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/triangle-alert\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst TriangleAlert = createLucideIcon('triangle-alert', __iconNode);\n\nexport default TriangleAlert;\n"],"names":[],"mappings":";;;;;;;;;;;;;AAGO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,UAAA,CAAA,CAAA,CAAuB;IAClC;QACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QACA;YACE,CAAA,EAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YACH,GAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAA;KAET;IACA;QAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAQ,CAAA;YAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YAAW,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAA,CAAU;KAAA;IACxC;QAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAQ,CAAA;YAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YAAc,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAA,CAAU;KAAA;CAC7C;AAaA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,aAAA,CAAA,CAAA,KAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,8JAAA,EAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAkB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA"}}, + {"offset": {"line": 453, "column": 0}, "map": {"version":3,"file":"turbopack:///[project]/node_modules/lucide-react/dist/esm/icons/info.js","sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/lucide-react/src/icons/info.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['path', { d: 'M12 16v-4', key: '1dtifu' }],\n ['path', { d: 'M12 8h.01', key: 'e9boi3' }],\n];\n\n/**\n * @component @name Info\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNMTIgMTZ2LTQiIC8+CiAgPHBhdGggZD0iTTEyIDhoLjAxIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/info\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Info = createLucideIcon('info', __iconNode);\n\nexport default Info;\n"],"names":[],"mappings":";;;;;;;;;;;;;AAGO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,UAAA,CAAA,CAAA,CAAuB;IAClC;QAAC,QAAA,CAAA;QAAU,CAAA;YAAE,EAAA,CAAA,CAAI,CAAA,CAAA,CAAA,CAAA;YAAM,CAAA,CAAA,CAAA,CAAI,IAAA,CAAA;YAAM,CAAA,EAAG,CAAA,CAAA,CAAA,CAAA,CAAA;YAAM,GAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAA,CAAU;KAAA;IACzD;QAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAQ,CAAA;YAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YAAa,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAA,CAAU;KAAA;IAC1C;QAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAQ,CAAA;YAAE,GAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YAAa,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAAA,CAAU;KAAA;CAC5C;AAaA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,IAAA,CAAA,CAAA,KAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,8JAAA,EAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA"}}] +} \ No newline at end of file diff --git a/.next/dev/server/chunks/ssr/node_modules_next_dist_6643d7da._.js b/.next/dev/server/chunks/ssr/node_modules_next_dist_6643d7da._.js new file mode 100644 index 0000000..4f55e26 --- /dev/null +++ b/.next/dev/server/chunks/ssr/node_modules_next_dist_6643d7da._.js @@ -0,0 +1,3830 @@ +module.exports = [ +"[project]/node_modules/next/dist/esm/server/route-modules/app-page/module.compiled.js [app-ssr] (ecmascript)", ((__turbopack_context__, module, exports) => { + +if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable +; +else { + if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; + else { + if ("TURBOPACK compile-time truthy", 1) { + if ("TURBOPACK compile-time truthy", 1) { + module.exports = __turbopack_context__.r("[externals]/next/dist/compiled/next-server/app-page-turbo.runtime.dev.js [external] (next/dist/compiled/next-server/app-page-turbo.runtime.dev.js, cjs)"); + } else //TURBOPACK unreachable + ; + } else //TURBOPACK unreachable + ; + } +} //# sourceMappingURL=module.compiled.js.map +}), +"[project]/node_modules/next/dist/esm/server/route-kind.js [app-rsc] (ecmascript, Next.js server utility)", ((__turbopack_context__) => { + +__turbopack_context__.n(__turbopack_context__.i("[project]/node_modules/next/dist/esm/server/route-kind.js [app-rsc] (ecmascript)"));}), +"[project]/node_modules/next/dist/esm/server/instrumentation/utils.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "getRevalidateReason", + ()=>getRevalidateReason +]); +function getRevalidateReason(params) { + if (params.isOnDemandRevalidate) { + return 'on-demand'; + } + if (params.isStaticGeneration) { + return 'stale'; + } + return undefined; +} //# sourceMappingURL=utils.js.map +}), +"[project]/node_modules/next/dist/esm/server/app-render/interop-default.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** + * Interop between "export default" and "module.exports". + */ __turbopack_context__.s([ + "interopDefault", + ()=>interopDefault +]); +function interopDefault(mod) { + return mod.default || mod; +} //# sourceMappingURL=interop-default.js.map +}), +"[project]/node_modules/next/dist/esm/server/app-render/strip-flight-headers.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "stripFlightHeaders", + ()=>stripFlightHeaders +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/client/components/app-router-headers.js [app-rsc] (ecmascript)"); +; +function stripFlightHeaders(headers) { + for (const header of __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["FLIGHT_HEADERS"]){ + delete headers[header]; + } +} //# sourceMappingURL=strip-flight-headers.js.map +}), +"[project]/node_modules/next/dist/esm/server/web/spec-extension/adapters/headers.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "HeadersAdapter", + ()=>HeadersAdapter, + "ReadonlyHeadersError", + ()=>ReadonlyHeadersError +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/spec-extension/adapters/reflect.js [app-rsc] (ecmascript)"); +; +class ReadonlyHeadersError extends Error { + constructor(){ + super('Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers'); + } + static callable() { + throw new ReadonlyHeadersError(); + } +} +class HeadersAdapter extends Headers { + constructor(headers){ + // We've already overridden the methods that would be called, so we're just + // calling the super constructor to ensure that the instanceof check works. + super(); + this.headers = new Proxy(headers, { + get (target, prop, receiver) { + // Because this is just an object, we expect that all "get" operations + // are for properties. If it's a "get" for a symbol, we'll just return + // the symbol. + if (typeof prop === 'symbol') { + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["ReflectAdapter"].get(target, prop, receiver); + } + const lowercased = prop.toLowerCase(); + // Let's find the original casing of the key. This assumes that there is + // no mixed case keys (e.g. "Content-Type" and "content-type") in the + // headers object. + const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased); + // If the original casing doesn't exist, return undefined. + if (typeof original === 'undefined') return; + // If the original casing exists, return the value. + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["ReflectAdapter"].get(target, original, receiver); + }, + set (target, prop, value, receiver) { + if (typeof prop === 'symbol') { + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["ReflectAdapter"].set(target, prop, value, receiver); + } + const lowercased = prop.toLowerCase(); + // Let's find the original casing of the key. This assumes that there is + // no mixed case keys (e.g. "Content-Type" and "content-type") in the + // headers object. + const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased); + // If the original casing doesn't exist, use the prop as the key. + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["ReflectAdapter"].set(target, original ?? prop, value, receiver); + }, + has (target, prop) { + if (typeof prop === 'symbol') return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["ReflectAdapter"].has(target, prop); + const lowercased = prop.toLowerCase(); + // Let's find the original casing of the key. This assumes that there is + // no mixed case keys (e.g. "Content-Type" and "content-type") in the + // headers object. + const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased); + // If the original casing doesn't exist, return false. + if (typeof original === 'undefined') return false; + // If the original casing exists, return true. + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["ReflectAdapter"].has(target, original); + }, + deleteProperty (target, prop) { + if (typeof prop === 'symbol') return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["ReflectAdapter"].deleteProperty(target, prop); + const lowercased = prop.toLowerCase(); + // Let's find the original casing of the key. This assumes that there is + // no mixed case keys (e.g. "Content-Type" and "content-type") in the + // headers object. + const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased); + // If the original casing doesn't exist, return true. + if (typeof original === 'undefined') return true; + // If the original casing exists, delete the property. + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["ReflectAdapter"].deleteProperty(target, original); + } + }); + } + /** + * Seals a Headers instance to prevent modification by throwing an error when + * any mutating method is called. + */ static seal(headers) { + return new Proxy(headers, { + get (target, prop, receiver) { + switch(prop){ + case 'append': + case 'delete': + case 'set': + return ReadonlyHeadersError.callable; + default: + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$reflect$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["ReflectAdapter"].get(target, prop, receiver); + } + } + }); + } + /** + * Merges a header value into a string. This stores multiple values as an + * array, so we need to merge them into a string. + * + * @param value a header value + * @returns a merged header value (a string) + */ merge(value) { + if (Array.isArray(value)) return value.join(', '); + return value; + } + /** + * Creates a Headers instance from a plain object or a Headers instance. + * + * @param headers a plain object or a Headers instance + * @returns a headers instance + */ static from(headers) { + if (headers instanceof Headers) return headers; + return new HeadersAdapter(headers); + } + append(name, value) { + const existing = this.headers[name]; + if (typeof existing === 'string') { + this.headers[name] = [ + existing, + value + ]; + } else if (Array.isArray(existing)) { + existing.push(value); + } else { + this.headers[name] = value; + } + } + delete(name) { + delete this.headers[name]; + } + get(name) { + const value = this.headers[name]; + if (typeof value !== 'undefined') return this.merge(value); + return null; + } + has(name) { + return typeof this.headers[name] !== 'undefined'; + } + set(name, value) { + this.headers[name] = value; + } + forEach(callbackfn, thisArg) { + for (const [name, value] of this.entries()){ + callbackfn.call(thisArg, value, name, this); + } + } + *entries() { + for (const key of Object.keys(this.headers)){ + const name = key.toLowerCase(); + // We assert here that this is a string because we got it from the + // Object.keys() call above. + const value = this.get(name); + yield [ + name, + value + ]; + } + } + *keys() { + for (const key of Object.keys(this.headers)){ + const name = key.toLowerCase(); + yield name; + } + } + *values() { + for (const key of Object.keys(this.headers)){ + // We assert here that this is a string because we got it from the + // Object.keys() call above. + const value = this.get(key); + yield value; + } + } + [Symbol.iterator]() { + return this.entries(); + } +} //# sourceMappingURL=headers.js.map +}), +"[project]/node_modules/next/dist/compiled/cookie/index.js [app-rsc] (ecmascript)", ((__turbopack_context__, module, exports) => { + +(()=>{ + "use strict"; + if (typeof __nccwpck_require__ !== "undefined") __nccwpck_require__.ab = ("TURBOPACK compile-time value", "/ROOT/node_modules/next/dist/compiled/cookie") + "/"; + var e = {}; + (()=>{ + var r = e; + /*! + * cookie + * Copyright(c) 2012-2014 Roman Shtylman + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ r.parse = parse; + r.serialize = serialize; + var i = decodeURIComponent; + var t = encodeURIComponent; + var a = /; */; + var n = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/; + function parse(e, r) { + if (typeof e !== "string") { + throw new TypeError("argument str must be a string"); + } + var t = {}; + var n = r || {}; + var o = e.split(a); + var s = n.decode || i; + for(var p = 0; p < o.length; p++){ + var f = o[p]; + var u = f.indexOf("="); + if (u < 0) { + continue; + } + var v = f.substr(0, u).trim(); + var c = f.substr(++u, f.length).trim(); + if ('"' == c[0]) { + c = c.slice(1, -1); + } + if (undefined == t[v]) { + t[v] = tryDecode(c, s); + } + } + return t; + } + function serialize(e, r, i) { + var a = i || {}; + var o = a.encode || t; + if (typeof o !== "function") { + throw new TypeError("option encode is invalid"); + } + if (!n.test(e)) { + throw new TypeError("argument name is invalid"); + } + var s = o(r); + if (s && !n.test(s)) { + throw new TypeError("argument val is invalid"); + } + var p = e + "=" + s; + if (null != a.maxAge) { + var f = a.maxAge - 0; + if (isNaN(f) || !isFinite(f)) { + throw new TypeError("option maxAge is invalid"); + } + p += "; Max-Age=" + Math.floor(f); + } + if (a.domain) { + if (!n.test(a.domain)) { + throw new TypeError("option domain is invalid"); + } + p += "; Domain=" + a.domain; + } + if (a.path) { + if (!n.test(a.path)) { + throw new TypeError("option path is invalid"); + } + p += "; Path=" + a.path; + } + if (a.expires) { + if (typeof a.expires.toUTCString !== "function") { + throw new TypeError("option expires is invalid"); + } + p += "; Expires=" + a.expires.toUTCString(); + } + if (a.httpOnly) { + p += "; HttpOnly"; + } + if (a.secure) { + p += "; Secure"; + } + if (a.sameSite) { + var u = typeof a.sameSite === "string" ? a.sameSite.toLowerCase() : a.sameSite; + switch(u){ + case true: + p += "; SameSite=Strict"; + break; + case "lax": + p += "; SameSite=Lax"; + break; + case "strict": + p += "; SameSite=Strict"; + break; + case "none": + p += "; SameSite=None"; + break; + default: + throw new TypeError("option sameSite is invalid"); + } + } + return p; + } + function tryDecode(e, r) { + try { + return r(e); + } catch (r) { + return e; + } + } + })(); + module.exports = e; +})(); +}), +"[project]/node_modules/next/dist/esm/server/api-utils/index.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "ApiError", + ()=>ApiError, + "COOKIE_NAME_PRERENDER_BYPASS", + ()=>COOKIE_NAME_PRERENDER_BYPASS, + "COOKIE_NAME_PRERENDER_DATA", + ()=>COOKIE_NAME_PRERENDER_DATA, + "RESPONSE_LIMIT_DEFAULT", + ()=>RESPONSE_LIMIT_DEFAULT, + "SYMBOL_CLEARED_COOKIES", + ()=>SYMBOL_CLEARED_COOKIES, + "SYMBOL_PREVIEW_DATA", + ()=>SYMBOL_PREVIEW_DATA, + "checkIsOnDemandRevalidate", + ()=>checkIsOnDemandRevalidate, + "clearPreviewData", + ()=>clearPreviewData, + "redirect", + ()=>redirect, + "sendError", + ()=>sendError, + "sendStatusCode", + ()=>sendStatusCode, + "setLazyProp", + ()=>setLazyProp, + "wrapApiHandler", + ()=>wrapApiHandler +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$headers$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/web/spec-extension/adapters/headers.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/lib/constants.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$tracer$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/trace/tracer.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$constants$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/trace/constants.js [app-rsc] (ecmascript)"); +; +; +; +; +function wrapApiHandler(page, handler) { + return (...args)=>{ + (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$tracer$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getTracer"])().setRootSpanAttribute('next.route', page); + // Call API route method + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$tracer$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getTracer"])().trace(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$constants$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["NodeSpan"].runHandler, { + spanName: `executing api route (pages) ${page}` + }, ()=>handler(...args)); + }; +} +function sendStatusCode(res, statusCode) { + res.statusCode = statusCode; + return res; +} +function redirect(res, statusOrUrl, url) { + if (typeof statusOrUrl === 'string') { + url = statusOrUrl; + statusOrUrl = 307; + } + if (typeof statusOrUrl !== 'number' || typeof url !== 'string') { + throw Object.defineProperty(new Error(`Invalid redirect arguments. Please use a single argument URL, e.g. res.redirect('/destination') or use a status code and URL, e.g. res.redirect(307, '/destination').`), "__NEXT_ERROR_CODE", { + value: "E389", + enumerable: false, + configurable: true + }); + } + res.writeHead(statusOrUrl, { + Location: url + }); + res.write(url); + res.end(); + return res; +} +function checkIsOnDemandRevalidate(req, previewProps) { + const headers = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$headers$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["HeadersAdapter"].from(req.headers); + const previewModeId = headers.get(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["PRERENDER_REVALIDATE_HEADER"]); + const isOnDemandRevalidate = previewModeId === previewProps.previewModeId; + const revalidateOnlyGenerated = headers.has(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER"]); + return { + isOnDemandRevalidate, + revalidateOnlyGenerated + }; +} +const COOKIE_NAME_PRERENDER_BYPASS = `__prerender_bypass`; +const COOKIE_NAME_PRERENDER_DATA = `__next_preview_data`; +const RESPONSE_LIMIT_DEFAULT = 4 * 1024 * 1024; +const SYMBOL_PREVIEW_DATA = Symbol(COOKIE_NAME_PRERENDER_DATA); +const SYMBOL_CLEARED_COOKIES = Symbol(COOKIE_NAME_PRERENDER_BYPASS); +function clearPreviewData(res, options = {}) { + if (SYMBOL_CLEARED_COOKIES in res) { + return res; + } + const { serialize } = __turbopack_context__.r("[project]/node_modules/next/dist/compiled/cookie/index.js [app-rsc] (ecmascript)"); + const previous = res.getHeader('Set-Cookie'); + res.setHeader(`Set-Cookie`, [ + ...typeof previous === 'string' ? [ + previous + ] : Array.isArray(previous) ? previous : [], + serialize(COOKIE_NAME_PRERENDER_BYPASS, '', { + // To delete a cookie, set `expires` to a date in the past: + // https://tools.ietf.org/html/rfc6265#section-4.1.1 + // `Max-Age: 0` is not valid, thus ignored, and the cookie is persisted. + expires: new Date(0), + httpOnly: true, + sameSite: ("TURBOPACK compile-time falsy", 0) ? "TURBOPACK unreachable" : 'lax', + secure: ("TURBOPACK compile-time value", "development") !== 'development', + path: '/', + ...options.path !== undefined ? { + path: options.path + } : undefined + }), + serialize(COOKIE_NAME_PRERENDER_DATA, '', { + // To delete a cookie, set `expires` to a date in the past: + // https://tools.ietf.org/html/rfc6265#section-4.1.1 + // `Max-Age: 0` is not valid, thus ignored, and the cookie is persisted. + expires: new Date(0), + httpOnly: true, + sameSite: ("TURBOPACK compile-time falsy", 0) ? "TURBOPACK unreachable" : 'lax', + secure: ("TURBOPACK compile-time value", "development") !== 'development', + path: '/', + ...options.path !== undefined ? { + path: options.path + } : undefined + }) + ]); + Object.defineProperty(res, SYMBOL_CLEARED_COOKIES, { + value: true, + enumerable: false + }); + return res; +} +class ApiError extends Error { + constructor(statusCode, message){ + super(message); + this.statusCode = statusCode; + } +} +function sendError(res, statusCode, message) { + res.statusCode = statusCode; + res.statusMessage = message; + res.end(message); +} +function setLazyProp({ req }, prop, getter) { + const opts = { + configurable: true, + enumerable: true + }; + const optsReset = { + ...opts, + writable: true + }; + Object.defineProperty(req, prop, { + ...opts, + get: ()=>{ + const value = getter(); + // we set the property on the object to avoid recalculating it + Object.defineProperty(req, prop, { + ...optsReset, + value + }); + return value; + }, + set: (value)=>{ + Object.defineProperty(req, prop, { + ...optsReset, + value + }); + } + }); +} //# sourceMappingURL=index.js.map +}), +"[project]/node_modules/next/dist/esm/server/api-utils/get-cookie-parser.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** + * Parse cookies from the `headers` of request + * @param req request object + */ __turbopack_context__.s([ + "getCookieParser", + ()=>getCookieParser +]); +function getCookieParser(headers) { + return function parseCookie() { + const { cookie } = headers; + if (!cookie) { + return {}; + } + const { parse: parseCookieFn } = __turbopack_context__.r("[project]/node_modules/next/dist/compiled/cookie/index.js [app-rsc] (ecmascript)"); + return parseCookieFn(Array.isArray(cookie) ? cookie.join('; ') : cookie); + }; +} //# sourceMappingURL=get-cookie-parser.js.map +}), +"[project]/node_modules/next/dist/esm/server/base-http/index.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "BaseNextRequest", + ()=>BaseNextRequest, + "BaseNextResponse", + ()=>BaseNextResponse +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$redirect$2d$status$2d$code$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/client/components/redirect-status-code.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$api$2d$utils$2f$get$2d$cookie$2d$parser$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/api-utils/get-cookie-parser.js [app-rsc] (ecmascript)"); +; +; +class BaseNextRequest { + constructor(method, url, body){ + this.method = method; + this.url = url; + this.body = body; + } + // Utils implemented using the abstract methods above + get cookies() { + if (this._cookies) return this._cookies; + return this._cookies = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$api$2d$utils$2f$get$2d$cookie$2d$parser$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getCookieParser"])(this.headers)(); + } +} +class BaseNextResponse { + constructor(destination){ + this.destination = destination; + } + // Utils implemented using the abstract methods above + redirect(destination, statusCode) { + this.setHeader('Location', destination); + this.statusCode = statusCode; + // Since IE11 doesn't support the 308 header add backwards + // compatibility using refresh header + if (statusCode === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$redirect$2d$status$2d$code$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["RedirectStatusCode"].PermanentRedirect) { + this.setHeader('Refresh', `0;url=${destination}`); + } + return this; + } +} //# sourceMappingURL=index.js.map +}), +"[project]/node_modules/next/dist/esm/server/base-http/node.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "NodeNextRequest", + ()=>NodeNextRequest, + "NodeNextResponse", + ()=>NodeNextResponse +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$api$2d$utils$2f$index$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/api-utils/index.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/request-meta.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$base$2d$http$2f$index$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/base-http/index.js [app-rsc] (ecmascript)"); +; +; +; +let prop; +class NodeNextRequest extends __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$base$2d$http$2f$index$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["BaseNextRequest"] { + static #_ = prop = _NEXT_REQUEST_META = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["NEXT_REQUEST_META"]; + constructor(_req){ + var _this__req; + super(_req.method.toUpperCase(), _req.url, _req), this._req = _req, this.headers = this._req.headers, this.fetchMetrics = (_this__req = this._req) == null ? void 0 : _this__req.fetchMetrics, this[_NEXT_REQUEST_META] = this._req[__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["NEXT_REQUEST_META"]] || {}, this.streaming = false; + } + get originalRequest() { + // Need to mimic these changes to the original req object for places where we use it: + // render.tsx, api/ssg requests + this._req[__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["NEXT_REQUEST_META"]] = this[__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["NEXT_REQUEST_META"]]; + this._req.url = this.url; + this._req.cookies = this.cookies; + return this._req; + } + set originalRequest(value) { + this._req = value; + } + /** + * Returns the request body as a Web Readable Stream. The body here can only + * be read once as the body will start flowing as soon as the data handler + * is attached. + * + * @internal + */ stream() { + if (this.streaming) { + throw Object.defineProperty(new Error('Invariant: NodeNextRequest.stream() can only be called once'), "__NEXT_ERROR_CODE", { + value: "E467", + enumerable: false, + configurable: true + }); + } + this.streaming = true; + return new ReadableStream({ + start: (controller)=>{ + this._req.on('data', (chunk)=>{ + controller.enqueue(new Uint8Array(chunk)); + }); + this._req.on('end', ()=>{ + controller.close(); + }); + this._req.on('error', (err)=>{ + controller.error(err); + }); + } + }); + } +} +class NodeNextResponse extends __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$base$2d$http$2f$index$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["BaseNextResponse"] { + get originalResponse() { + if (__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$api$2d$utils$2f$index$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["SYMBOL_CLEARED_COOKIES"] in this) { + this._res[__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$api$2d$utils$2f$index$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["SYMBOL_CLEARED_COOKIES"]] = this[__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$api$2d$utils$2f$index$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["SYMBOL_CLEARED_COOKIES"]]; + } + return this._res; + } + constructor(_res){ + super(_res), this._res = _res, this.textBody = undefined; + } + get sent() { + return this._res.finished || this._res.headersSent; + } + get statusCode() { + return this._res.statusCode; + } + set statusCode(value) { + this._res.statusCode = value; + } + get statusMessage() { + return this._res.statusMessage; + } + set statusMessage(value) { + this._res.statusMessage = value; + } + setHeader(name, value) { + this._res.setHeader(name, value); + return this; + } + removeHeader(name) { + this._res.removeHeader(name); + return this; + } + getHeaderValues(name) { + const values = this._res.getHeader(name); + if (values === undefined) return undefined; + return (Array.isArray(values) ? values : [ + values + ]).map((value)=>value.toString()); + } + hasHeader(name) { + return this._res.hasHeader(name); + } + getHeader(name) { + const values = this.getHeaderValues(name); + return Array.isArray(values) ? values.join(',') : undefined; + } + getHeaders() { + return this._res.getHeaders(); + } + appendHeader(name, value) { + const currentValues = this.getHeaderValues(name) ?? []; + if (!currentValues.includes(value)) { + this._res.setHeader(name, [ + ...currentValues, + value + ]); + } + return this; + } + body(value) { + this.textBody = value; + return this; + } + send() { + this._res.end(this.textBody); + } + onClose(callback) { + this.originalResponse.on('close', callback); + } +} +var _NEXT_REQUEST_META; //# sourceMappingURL=node.js.map +}), +"[project]/node_modules/next/dist/esm/server/lib/experimental/ppr.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** + * If set to `incremental`, only those leaf pages that export + * `experimental_ppr = true` will have partial prerendering enabled. If any + * page exports this value as `false` or does not export it at all will not + * have partial prerendering enabled. If set to a boolean, the options for + * `experimental_ppr` will be ignored. + */ /** + * Returns true if partial prerendering is enabled for the application. It does + * not tell you if a given route has PPR enabled, as that requires analysis of + * the route's configuration. + * + * @see {@link checkIsRoutePPREnabled} - for checking if a specific route has PPR enabled. + */ __turbopack_context__.s([ + "checkIsAppPPREnabled", + ()=>checkIsAppPPREnabled, + "checkIsRoutePPREnabled", + ()=>checkIsRoutePPREnabled +]); +function checkIsAppPPREnabled(config) { + // If the config is undefined, partial prerendering is disabled. + if (typeof config === 'undefined') return false; + // If the config is a boolean, use it directly. + if (typeof config === 'boolean') return config; + // If the config is a string, it must be 'incremental' to enable partial + // prerendering. + if (config === 'incremental') return true; + return false; +} +function checkIsRoutePPREnabled(config) { + // If the config is undefined, partial prerendering is disabled. + if (typeof config === 'undefined') return false; + // If the config is a boolean, use it directly. + if (typeof config === 'boolean') return config; + return false; +} //# sourceMappingURL=ppr.js.map +}), +"[project]/node_modules/next/dist/esm/server/route-modules/checks.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "isAppPageRouteModule", + ()=>isAppPageRouteModule, + "isAppRouteRouteModule", + ()=>isAppRouteRouteModule, + "isPagesAPIRouteModule", + ()=>isPagesAPIRouteModule, + "isPagesRouteModule", + ()=>isPagesRouteModule +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/route-kind.js [app-rsc] (ecmascript)"); +; +function isAppRouteRouteModule(routeModule) { + return routeModule.definition.kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["RouteKind"].APP_ROUTE; +} +function isAppPageRouteModule(routeModule) { + return routeModule.definition.kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["RouteKind"].APP_PAGE; +} +function isPagesRouteModule(routeModule) { + return routeModule.definition.kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["RouteKind"].PAGES; +} +function isPagesAPIRouteModule(routeModule) { + return routeModule.definition.kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["RouteKind"].PAGES_API; +} //# sourceMappingURL=checks.js.map +}), +"[project]/node_modules/next/dist/esm/shared/lib/page-path/ensure-leading-slash.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** + * For a given page path, this function ensures that there is a leading slash. + * If there is not a leading slash, one is added, otherwise it is noop. + */ __turbopack_context__.s([ + "ensureLeadingSlash", + ()=>ensureLeadingSlash +]); +function ensureLeadingSlash(path) { + return path.startsWith('/') ? path : `/${path}`; +} //# sourceMappingURL=ensure-leading-slash.js.map +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/app-paths.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "normalizeAppPath", + ()=>normalizeAppPath, + "normalizeRscURL", + ()=>normalizeRscURL +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$page$2d$path$2f$ensure$2d$leading$2d$slash$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/page-path/ensure-leading-slash.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$segment$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/segment.js [app-rsc] (ecmascript)"); +; +; +function normalizeAppPath(route) { + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$page$2d$path$2f$ensure$2d$leading$2d$slash$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["ensureLeadingSlash"])(route.split('/').reduce((pathname, segment, index, segments)=>{ + // Empty segments are ignored. + if (!segment) { + return pathname; + } + // Groups are ignored. + if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$segment$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["isGroupSegment"])(segment)) { + return pathname; + } + // Parallel segments are ignored. + if (segment[0] === '@') { + return pathname; + } + // The last segment (if it's a leaf) should be ignored. + if ((segment === 'page' || segment === 'route') && index === segments.length - 1) { + return pathname; + } + return `${pathname}/${segment}`; + }, '')); +} +function normalizeRscURL(url) { + return url.replace(/\.rsc($|\?)/, '$1'); +} //# sourceMappingURL=app-paths.js.map +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/interception-routes.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "INTERCEPTION_ROUTE_MARKERS", + ()=>INTERCEPTION_ROUTE_MARKERS, + "extractInterceptionRouteInformation", + ()=>extractInterceptionRouteInformation, + "isInterceptionRouteAppPath", + ()=>isInterceptionRouteAppPath +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$app$2d$paths$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/app-paths.js [app-rsc] (ecmascript)"); +; +const INTERCEPTION_ROUTE_MARKERS = [ + '(..)(..)', + '(.)', + '(..)', + '(...)' +]; +function isInterceptionRouteAppPath(path) { + // TODO-APP: add more serious validation + return path.split('/').find((segment)=>INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m))) !== undefined; +} +function extractInterceptionRouteInformation(path) { + let interceptingRoute; + let marker; + let interceptedRoute; + for (const segment of path.split('/')){ + marker = INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m)); + if (marker) { + ; + [interceptingRoute, interceptedRoute] = path.split(marker, 2); + break; + } + } + if (!interceptingRoute || !marker || !interceptedRoute) { + throw Object.defineProperty(new Error(`Invalid interception route: ${path}. Must be in the format //(..|...|..)(..)/`), "__NEXT_ERROR_CODE", { + value: "E269", + enumerable: false, + configurable: true + }); + } + interceptingRoute = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$app$2d$paths$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["normalizeAppPath"])(interceptingRoute) // normalize the path, e.g. /(blog)/feed -> /feed + ; + switch(marker){ + case '(.)': + // (.) indicates that we should match with sibling routes, so we just need to append the intercepted route to the intercepting route + if (interceptingRoute === '/') { + interceptedRoute = `/${interceptedRoute}`; + } else { + interceptedRoute = interceptingRoute + '/' + interceptedRoute; + } + break; + case '(..)': + // (..) indicates that we should match at one level up, so we need to remove the last segment of the intercepting route + if (interceptingRoute === '/') { + throw Object.defineProperty(new Error(`Invalid interception route: ${path}. Cannot use (..) marker at the root level, use (.) instead.`), "__NEXT_ERROR_CODE", { + value: "E207", + enumerable: false, + configurable: true + }); + } + interceptedRoute = interceptingRoute.split('/').slice(0, -1).concat(interceptedRoute).join('/'); + break; + case '(...)': + // (...) will match the route segment in the root directory, so we need to use the root directory to prepend the intercepted route + interceptedRoute = '/' + interceptedRoute; + break; + case '(..)(..)': + // (..)(..) indicates that we should match at two levels up, so we need to remove the last two segments of the intercepting route + const splitInterceptingRoute = interceptingRoute.split('/'); + if (splitInterceptingRoute.length <= 2) { + throw Object.defineProperty(new Error(`Invalid interception route: ${path}. Cannot use (..)(..) marker at the root level or one level up.`), "__NEXT_ERROR_CODE", { + value: "E486", + enumerable: false, + configurable: true + }); + } + interceptedRoute = splitInterceptingRoute.slice(0, -2).concat(interceptedRoute).join('/'); + break; + default: + throw Object.defineProperty(new Error('Invariant: unexpected marker'), "__NEXT_ERROR_CODE", { + value: "E112", + enumerable: false, + configurable: true + }); + } + return { + interceptingRoute, + interceptedRoute + }; +} //# sourceMappingURL=interception-routes.js.map +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/get-segment-param.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "getParamProperties", + ()=>getParamProperties, + "getSegmentParam", + ()=>getSegmentParam, + "isCatchAll", + ()=>isCatchAll +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$interception$2d$routes$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/interception-routes.js [app-rsc] (ecmascript)"); +; +function getSegmentParam(segment) { + const interceptionMarker = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$interception$2d$routes$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["INTERCEPTION_ROUTE_MARKERS"].find((marker)=>segment.startsWith(marker)); + // if an interception marker is part of the path segment, we need to jump ahead + // to the relevant portion for param parsing + if (interceptionMarker) { + segment = segment.slice(interceptionMarker.length); + } + if (segment.startsWith('[[...') && segment.endsWith(']]')) { + return { + // TODO-APP: Optional catchall does not currently work with parallel routes, + // so for now aren't handling a potential interception marker. + paramType: 'optional-catchall', + paramName: segment.slice(5, -2) + }; + } + if (segment.startsWith('[...') && segment.endsWith(']')) { + return { + paramType: interceptionMarker ? `catchall-intercepted-${interceptionMarker}` : 'catchall', + paramName: segment.slice(4, -1) + }; + } + if (segment.startsWith('[') && segment.endsWith(']')) { + return { + paramType: interceptionMarker ? `dynamic-intercepted-${interceptionMarker}` : 'dynamic', + paramName: segment.slice(1, -1) + }; + } + return null; +} +function isCatchAll(type) { + return type === 'catchall' || type === 'catchall-intercepted-(..)(..)' || type === 'catchall-intercepted-(.)' || type === 'catchall-intercepted-(..)' || type === 'catchall-intercepted-(...)' || type === 'optional-catchall'; +} +function getParamProperties(paramType) { + let repeat = false; + let optional = false; + switch(paramType){ + case 'catchall': + case 'catchall-intercepted-(..)(..)': + case 'catchall-intercepted-(.)': + case 'catchall-intercepted-(..)': + case 'catchall-intercepted-(...)': + repeat = true; + break; + case 'optional-catchall': + repeat = true; + optional = true; + break; + case 'dynamic': + case 'dynamic-intercepted-(..)(..)': + case 'dynamic-intercepted-(.)': + case 'dynamic-intercepted-(..)': + case 'dynamic-intercepted-(...)': + break; + default: + paramType; + } + return { + repeat, + optional + }; +} //# sourceMappingURL=get-segment-param.js.map +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/routes/app.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "isInterceptionAppRoute", + ()=>isInterceptionAppRoute, + "isNormalizedAppRoute", + ()=>isNormalizedAppRoute, + "parseAppRoute", + ()=>parseAppRoute, + "parseAppRouteSegment", + ()=>parseAppRouteSegment +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/invariant-error.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$get$2d$segment$2d$param$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/get-segment-param.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$interception$2d$routes$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/interception-routes.js [app-rsc] (ecmascript)"); +; +; +; +function parseAppRouteSegment(segment) { + if (segment === '') { + return null; + } + // Check if the segment starts with an interception marker + const interceptionMarker = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$interception$2d$routes$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["INTERCEPTION_ROUTE_MARKERS"].find((m)=>segment.startsWith(m)); + const param = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$get$2d$segment$2d$param$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getSegmentParam"])(segment); + if (param) { + return { + type: 'dynamic', + name: segment, + param, + interceptionMarker + }; + } else if (segment.startsWith('(') && segment.endsWith(')')) { + return { + type: 'route-group', + name: segment, + interceptionMarker + }; + } else if (segment.startsWith('@')) { + return { + type: 'parallel-route', + name: segment, + interceptionMarker + }; + } else { + return { + type: 'static', + name: segment, + interceptionMarker + }; + } +} +function isNormalizedAppRoute(route) { + return route.normalized; +} +function isInterceptionAppRoute(route) { + return route.interceptionMarker !== undefined && route.interceptingRoute !== undefined && route.interceptedRoute !== undefined; +} +function parseAppRoute(pathname, normalized) { + const pathnameSegments = pathname.split('/').filter(Boolean); + // Build segments array with static and dynamic segments + const segments = []; + // Parse if this is an interception route. + let interceptionMarker; + let interceptingRoute; + let interceptedRoute; + for (const segment of pathnameSegments){ + // Parse the segment into an AppSegment. + const appSegment = parseAppRouteSegment(segment); + if (!appSegment) { + continue; + } + if (normalized && (appSegment.type === 'route-group' || appSegment.type === 'parallel-route')) { + throw Object.defineProperty(new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["InvariantError"](`${pathname} is being parsed as a normalized route, but it has a route group or parallel route segment.`), "__NEXT_ERROR_CODE", { + value: "E923", + enumerable: false, + configurable: true + }); + } + segments.push(appSegment); + if (appSegment.interceptionMarker) { + const parts = pathname.split(appSegment.interceptionMarker); + if (parts.length !== 2) { + throw Object.defineProperty(new Error(`Invalid interception route: ${pathname}`), "__NEXT_ERROR_CODE", { + value: "E924", + enumerable: false, + configurable: true + }); + } + interceptingRoute = normalized ? parseAppRoute(parts[0], true) : parseAppRoute(parts[0], false); + interceptedRoute = normalized ? parseAppRoute(parts[1], true) : parseAppRoute(parts[1], false); + interceptionMarker = appSegment.interceptionMarker; + } + } + const dynamicSegments = segments.filter((segment)=>segment.type === 'dynamic'); + return { + normalized, + pathname, + segments, + dynamicSegments, + interceptionMarker, + interceptingRoute, + interceptedRoute + }; +} //# sourceMappingURL=app.js.map +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/parse-loader-tree.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "parseLoaderTree", + ()=>parseLoaderTree +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$segment$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/segment.js [app-rsc] (ecmascript)"); +; +function parseLoaderTree(tree) { + const [segment, parallelRoutes, modules] = tree; + const { layout, template } = modules; + let { page } = modules; + // a __DEFAULT__ segment means that this route didn't match any of the + // segments in the route, so we should use the default page + page = segment === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$segment$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["DEFAULT_SEGMENT_KEY"] ? modules.defaultPage : page; + const conventionPath = layout?.[1] || template?.[1] || page?.[1]; + return { + page, + segment, + modules, + /* it can be either layout / template / page */ conventionPath, + parallelRoutes + }; +} //# sourceMappingURL=parse-loader-tree.js.map +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/interception-prefix-from-param-type.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "interceptionPrefixFromParamType", + ()=>interceptionPrefixFromParamType +]); +function interceptionPrefixFromParamType(paramType) { + switch(paramType){ + case 'catchall-intercepted-(..)(..)': + case 'dynamic-intercepted-(..)(..)': + return '(..)(..)'; + case 'catchall-intercepted-(.)': + case 'dynamic-intercepted-(.)': + return '(.)'; + case 'catchall-intercepted-(..)': + case 'dynamic-intercepted-(..)': + return '(..)'; + case 'catchall-intercepted-(...)': + case 'dynamic-intercepted-(...)': + return '(...)'; + case 'catchall': + case 'dynamic': + case 'optional-catchall': + default: + return null; + } +} //# sourceMappingURL=interception-prefix-from-param-type.js.map +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/resolve-param-value.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "resolveParamValue", + ()=>resolveParamValue +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/invariant-error.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$interception$2d$prefix$2d$from$2d$param$2d$type$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/interception-prefix-from-param-type.js [app-rsc] (ecmascript)"); +; +; +/** + * Extracts the param value from a path segment, handling interception markers + * based on the expected param type. + * + * @param pathSegment - The path segment to extract the value from + * @param params - The current params object for resolving dynamic param references + * @param paramType - The expected param type which may include interception marker info + * @returns The extracted param value + */ function getParamValueFromSegment(pathSegment, params, paramType) { + // If the segment is dynamic, resolve it from the params object + if (pathSegment.type === 'dynamic') { + return params[pathSegment.param.paramName]; + } + // If the paramType indicates this is an intercepted param, strip the marker + // that matches the interception marker in the param type + const interceptionPrefix = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$interception$2d$prefix$2d$from$2d$param$2d$type$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["interceptionPrefixFromParamType"])(paramType); + if (interceptionPrefix === pathSegment.interceptionMarker) { + return pathSegment.name.replace(pathSegment.interceptionMarker, ''); + } + // For static segments, use the name + return pathSegment.name; +} +function resolveParamValue(paramName, paramType, depth, route, params) { + switch(paramType){ + case 'catchall': + case 'optional-catchall': + case 'catchall-intercepted-(..)(..)': + case 'catchall-intercepted-(.)': + case 'catchall-intercepted-(..)': + case 'catchall-intercepted-(...)': + // For catchall routes, derive from pathname using depth to determine + // which segments to use + const processedSegments = []; + // Process segments to handle any embedded dynamic params + for(let index = depth; index < route.segments.length; index++){ + const pathSegment = route.segments[index]; + if (pathSegment.type === 'static') { + let value = pathSegment.name; + // For intercepted catch-all params, strip the marker from the first segment + const interceptionPrefix = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$interception$2d$prefix$2d$from$2d$param$2d$type$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["interceptionPrefixFromParamType"])(paramType); + if (interceptionPrefix && index === depth && interceptionPrefix === pathSegment.interceptionMarker) { + // Strip the interception marker from the value + value = value.replace(pathSegment.interceptionMarker, ''); + } + processedSegments.push(value); + } else { + // If the segment is a param placeholder, check if we have its value + if (!params.hasOwnProperty(pathSegment.param.paramName)) { + // If the segment is an optional catchall, we can break out of the + // loop because it's optional! + if (pathSegment.param.paramType === 'optional-catchall') { + break; + } + // Unknown param placeholder in pathname - can't derive full value + return undefined; + } + // If the segment matches a param, use the param value + // We don't encode values here as that's handled during retrieval. + const paramValue = params[pathSegment.param.paramName]; + if (Array.isArray(paramValue)) { + processedSegments.push(...paramValue); + } else { + processedSegments.push(paramValue); + } + } + } + if (processedSegments.length > 0) { + return processedSegments; + } else if (paramType === 'optional-catchall') { + return undefined; + } else { + // We shouldn't be able to match a catchall segment without any path + // segments if it's not an optional catchall + throw Object.defineProperty(new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["InvariantError"](`Unexpected empty path segments match for a route "${route.pathname}" with param "${paramName}" of type "${paramType}"`), "__NEXT_ERROR_CODE", { + value: "E931", + enumerable: false, + configurable: true + }); + } + case 'dynamic': + case 'dynamic-intercepted-(..)(..)': + case 'dynamic-intercepted-(.)': + case 'dynamic-intercepted-(..)': + case 'dynamic-intercepted-(...)': + // For regular dynamic parameters, take the segment at this depth + if (depth < route.segments.length) { + const pathSegment = route.segments[depth]; + // Check if the segment at this depth is a placeholder for an unknown param + if (pathSegment.type === 'dynamic' && !params.hasOwnProperty(pathSegment.param.paramName)) { + // The segment is a placeholder like [category] and we don't have the value + return undefined; + } + // If the segment matches a param, use the param value from params object + // Otherwise it's a static segment, just use it directly + // We don't encode values here as that's handled during retrieval + return getParamValueFromSegment(pathSegment, params, paramType); + } + return undefined; + default: + paramType; + } +} //# sourceMappingURL=resolve-param-value.js.map +}), +"[project]/node_modules/next/dist/esm/build/static-paths/app/extract-pathname-route-param-segments-from-loader-tree.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "extractPathnameRouteParamSegmentsFromLoaderTree", + ()=>extractPathnameRouteParamSegmentsFromLoaderTree +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$routes$2f$app$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/routes/app.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$parse$2d$loader$2d$tree$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/parse-loader-tree.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$resolve$2d$param$2d$value$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/resolve-param-value.js [app-rsc] (ecmascript)"); +; +; +; +/** + * Validates that the static segments in currentPath match the corresponding + * segments in targetSegments. This ensures we only extract dynamic parameters + * that are part of the target pathname structure. + * + * Segments are compared literally - interception markers like "(.)photo" are + * part of the pathname and must match exactly. + * + * @example + * // Matching paths + * currentPath: ['blog', '(.)photo'] + * targetSegments: ['blog', '(.)photo', '[id]'] + * → Returns true (both static segments match exactly) + * + * @example + * // Non-matching paths + * currentPath: ['blog', '(.)photo'] + * targetSegments: ['blog', 'photo', '[id]'] + * → Returns false (segments don't match - marker is part of pathname) + * + * @param currentPath - The accumulated path segments from the loader tree + * @param targetSegments - The target pathname split into segments + * @returns true if all static segments match, false otherwise + */ function validatePrefixMatch(currentPath, route) { + for(let i = 0; i < currentPath.length; i++){ + const pathSegment = currentPath[i]; + const targetPathSegment = route.segments[i]; + // Type mismatch - one is static, one is dynamic + if (pathSegment.type !== targetPathSegment.type) { + return false; + } + // One has an interception marker, the other doesn't. + if (pathSegment.interceptionMarker !== targetPathSegment.interceptionMarker) { + return false; + } + // Both are static but names don't match + if (pathSegment.type === 'static' && targetPathSegment.type === 'static' && pathSegment.name !== targetPathSegment.name) { + return false; + } else if (pathSegment.type === 'dynamic' && targetPathSegment.type === 'dynamic' && pathSegment.param.paramType !== targetPathSegment.param.paramType && pathSegment.param.paramName !== targetPathSegment.param.paramName) { + return false; + } + } + return true; +} +function extractPathnameRouteParamSegmentsFromLoaderTree(loaderTree, route) { + const pathnameRouteParamSegments = []; + const params = {}; + // BFS traversal with depth and path tracking + const queue = [ + { + tree: loaderTree, + depth: 0, + currentPath: [] + } + ]; + while(queue.length > 0){ + const { tree, depth, currentPath } = queue.shift(); + const { segment, parallelRoutes } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$parse$2d$loader$2d$tree$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["parseLoaderTree"])(tree); + // Build the path for the current node + let updatedPath = currentPath; + let nextDepth = depth; + const appSegment = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$routes$2f$app$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["parseAppRouteSegment"])(segment); + // Only add to path if it's a real segment that appears in the URL + // Route groups and parallel markers don't contribute to URL pathname + if (appSegment && appSegment.type !== 'route-group' && appSegment.type !== 'parallel-route') { + updatedPath = [ + ...currentPath, + appSegment + ]; + nextDepth = depth + 1; + } + // Check if this segment has a param and matches the target pathname at this depth + if ((appSegment == null ? void 0 : appSegment.type) === 'dynamic') { + const { paramName, paramType } = appSegment.param; + // Check if this segment is at the correct depth in the target pathname + // A segment matches if: + // 1. There's a dynamic segment at this depth in the pathname + // 2. The parameter names match (e.g., [id] matches [id], not [category]) + // 3. The static segments leading up to this point match (prefix check) + if (depth < route.segments.length) { + const targetSegment = route.segments[depth]; + // Match if the target pathname has a dynamic segment at this depth + if (targetSegment.type === 'dynamic') { + // Check that parameter names match exactly + // This prevents [category] from matching against /[id] + if (paramName !== targetSegment.param.paramName) { + continue; // Different param names, skip this segment + } + // Validate that the path leading up to this dynamic segment matches + // the target pathname. This prevents false matches like extracting + // [slug] from "/news/[slug]" when the tree has "/blog/[slug]" + if (validatePrefixMatch(currentPath, route)) { + pathnameRouteParamSegments.push({ + name: segment, + paramName, + paramType + }); + } + } + } + // Resolve parameter value if it's not already known. + if (!params.hasOwnProperty(paramName)) { + const paramValue = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$resolve$2d$param$2d$value$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["resolveParamValue"])(paramName, paramType, depth, route, params); + if (paramValue !== undefined) { + params[paramName] = paramValue; + } + } + } + // Continue traversing all parallel routes to find matching segments + for (const parallelRoute of Object.values(parallelRoutes)){ + queue.push({ + tree: parallelRoute, + depth: nextDepth, + currentPath: updatedPath + }); + } + } + return { + pathnameRouteParamSegments, + params + }; +} //# sourceMappingURL=extract-pathname-route-param-segments-from-loader-tree.js.map +}), +"[project]/node_modules/next/dist/esm/build/static-paths/utils.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "encodeParam", + ()=>encodeParam, + "extractPathnameRouteParamSegments", + ()=>extractPathnameRouteParamSegments, + "extractPathnameRouteParamSegmentsFromSegments", + ()=>extractPathnameRouteParamSegmentsFromSegments, + "normalizePathname", + ()=>normalizePathname, + "resolveRouteParamsFromTree", + ()=>resolveRouteParamsFromTree +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$modules$2f$checks$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/route-modules/checks.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$routes$2f$app$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/routes/app.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$parse$2d$loader$2d$tree$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/parse-loader-tree.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$build$2f$static$2d$paths$2f$app$2f$extract$2d$pathname$2d$route$2d$param$2d$segments$2d$from$2d$loader$2d$tree$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/build/static-paths/app/extract-pathname-route-param-segments-from-loader-tree.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$resolve$2d$param$2d$value$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/resolve-param-value.js [app-rsc] (ecmascript)"); +; +; +; +; +; +function encodeParam(value, encoder) { + let replaceValue; + if (Array.isArray(value)) { + replaceValue = value.map(encoder).join('/'); + } else { + replaceValue = encoder(value); + } + return replaceValue; +} +function normalizePathname(pathname) { + return pathname.replace(/\\/g, '/').replace(/(?!^)\/$/, ''); +} +function extractPathnameRouteParamSegments(routeModule, segments, route) { + // For AppPageRouteModule, use the loaderTree traversal approach + if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$modules$2f$checks$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["isAppPageRouteModule"])(routeModule)) { + const { pathnameRouteParamSegments } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$build$2f$static$2d$paths$2f$app$2f$extract$2d$pathname$2d$route$2d$param$2d$segments$2d$from$2d$loader$2d$tree$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["extractPathnameRouteParamSegmentsFromLoaderTree"])(routeModule.userland.loaderTree, route); + return pathnameRouteParamSegments; + } + return extractPathnameRouteParamSegmentsFromSegments(segments); +} +function extractPathnameRouteParamSegmentsFromSegments(segments) { + // TODO: should we consider what values are already present in the page? + // For AppRouteRouteModule, filter the segments array to get the route params + // that contribute to the pathname. + const result = []; + for (const segment of segments){ + // Skip segments without param info. + if (!segment.paramName || !segment.paramType) continue; + // Collect all the route param keys that contribute to the pathname. + result.push({ + name: segment.name, + paramName: segment.paramName, + paramType: segment.paramType + }); + } + return result; +} +function resolveRouteParamsFromTree(loaderTree, params, route, fallbackRouteParams) { + // Stack-based traversal with depth tracking + const stack = [ + { + tree: loaderTree, + depth: 0 + } + ]; + while(stack.length > 0){ + const { tree, depth } = stack.pop(); + const { segment, parallelRoutes } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$parse$2d$loader$2d$tree$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["parseLoaderTree"])(tree); + const appSegment = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$routes$2f$app$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["parseAppRouteSegment"])(segment); + // If this segment is a route parameter, then we should process it if it's + // not already known and is not already marked as a fallback route param. + if ((appSegment == null ? void 0 : appSegment.type) === 'dynamic' && !params.hasOwnProperty(appSegment.param.paramName) && !fallbackRouteParams.some((param)=>param.paramName === appSegment.param.paramName)) { + const { paramName, paramType } = appSegment.param; + const paramValue = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$resolve$2d$param$2d$value$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["resolveParamValue"])(paramName, paramType, depth, route, params); + if (paramValue !== undefined) { + params[paramName] = paramValue; + } else if (paramType !== 'optional-catchall') { + // If we couldn't resolve the param, mark it as a fallback + fallbackRouteParams.push({ + paramName, + paramType + }); + } + } + // Calculate next depth - increment if this is not a route group and not empty + let nextDepth = depth; + if (appSegment && appSegment.type !== 'route-group' && appSegment.type !== 'parallel-route') { + nextDepth++; + } + // Add all parallel routes to the stack for processing. + for (const parallelRoute of Object.values(parallelRoutes)){ + stack.push({ + tree: parallelRoute, + depth: nextDepth + }); + } + } +} //# sourceMappingURL=utils.js.map +}), +"[project]/node_modules/next/dist/esm/server/app-render/get-short-dynamic-param-type.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "dynamicParamTypes", + ()=>dynamicParamTypes +]); +const dynamicParamTypes = { + catchall: 'c', + 'catchall-intercepted-(..)(..)': 'ci(..)(..)', + 'catchall-intercepted-(.)': 'ci(.)', + 'catchall-intercepted-(..)': 'ci(..)', + 'catchall-intercepted-(...)': 'ci(...)', + 'optional-catchall': 'oc', + dynamic: 'd', + 'dynamic-intercepted-(..)(..)': 'di(..)(..)', + 'dynamic-intercepted-(.)': 'di(.)', + 'dynamic-intercepted-(..)': 'di(..)', + 'dynamic-intercepted-(...)': 'di(...)' +}; //# sourceMappingURL=get-short-dynamic-param-type.js.map +}), +"[project]/node_modules/next/dist/esm/server/request/fallback-params.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "createOpaqueFallbackRouteParams", + ()=>createOpaqueFallbackRouteParams, + "getFallbackRouteParams", + ()=>getFallbackRouteParams +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$build$2f$static$2d$paths$2f$utils$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/build/static-paths/utils.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$get$2d$short$2d$dynamic$2d$param$2d$type$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/app-render/get-short-dynamic-param-type.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$routes$2f$app$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/routes/app.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$build$2f$static$2d$paths$2f$app$2f$extract$2d$pathname$2d$route$2d$param$2d$segments$2d$from$2d$loader$2d$tree$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/build/static-paths/app/extract-pathname-route-param-segments-from-loader-tree.js [app-rsc] (ecmascript)"); +; +; +; +; +function createOpaqueFallbackRouteParams(fallbackRouteParams) { + // If there are no fallback route params, we can return early. + if (fallbackRouteParams.length === 0) return null; + // As we're creating unique keys for each of the dynamic route params, we only + // need to generate a unique ID once per request because each of the keys will + // be also be unique. + const uniqueID = Math.random().toString(16).slice(2); + const keys = new Map(); + // Generate a unique key for the fallback route param, if this key is found + // in the static output, it represents a bug in cache components. + for (const { paramName, paramType } of fallbackRouteParams){ + keys.set(paramName, [ + `%%drp:${paramName}:${uniqueID}%%`, + __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$get$2d$short$2d$dynamic$2d$param$2d$type$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["dynamicParamTypes"][paramType] + ]); + } + return keys; +} +function getFallbackRouteParams(page, routeModule) { + const route = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$routes$2f$app$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["parseAppRoute"])(page, true); + // Extract the pathname-contributing segments from the loader tree. This + // mirrors the logic in buildAppStaticPaths where we determine which segments + // actually contribute to the pathname. + const { pathnameRouteParamSegments, params } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$build$2f$static$2d$paths$2f$app$2f$extract$2d$pathname$2d$route$2d$param$2d$segments$2d$from$2d$loader$2d$tree$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["extractPathnameRouteParamSegmentsFromLoaderTree"])(routeModule.userland.loaderTree, route); + // Create fallback route params for the pathname segments. + const fallbackRouteParams = pathnameRouteParamSegments.map(({ paramName, paramType })=>({ + paramName, + paramType + })); + // Resolve route params from the loader tree. This mutates the + // fallbackRouteParams array to add any route params that are + // unknown at request time. + // + // The page parameter contains placeholders like [slug], which helps + // resolveRouteParamsFromTree determine which params are unknown. + (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$build$2f$static$2d$paths$2f$utils$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["resolveRouteParamsFromTree"])(routeModule.userland.loaderTree, params, route, fallbackRouteParams // Will be mutated to add route params + ); + // Convert the fallback route params to an opaque format that can be safely + // used in the postponed state without exposing implementation details. + return createOpaqueFallbackRouteParams(fallbackRouteParams); +} //# sourceMappingURL=fallback-params.js.map +}), +"[project]/node_modules/next/dist/esm/server/app-render/manifests-singleton.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "getClientReferenceManifest", + ()=>getClientReferenceManifest, + "getServerActionsManifest", + ()=>getServerActionsManifest, + "getServerModuleMap", + ()=>getServerModuleMap, + "selectWorkerForForwarding", + ()=>selectWorkerForForwarding, + "setManifestsSingleton", + ()=>setManifestsSingleton +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/invariant-error.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$app$2d$paths$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/app-paths.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$path$2d$has$2d$prefix$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/path-has-prefix.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$remove$2d$path$2d$prefix$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/remove-path-prefix.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/next/dist/server/app-render/work-async-storage.external.js [external] (next/dist/server/app-render/work-async-storage.external.js, cjs)"); +; +; +; +; +; +// This is a global singleton that is, among other things, also used to +// encode/decode bound args of server function closures. This can't be using a +// AsyncLocalStorage as it might happen at the module level. +const MANIFESTS_SINGLETON = Symbol.for('next.server.manifests'); +const globalThisWithManifests = globalThis; +function createProxiedClientReferenceManifest(clientReferenceManifestsPerRoute) { + const createMappingProxy = (prop)=>{ + return new Proxy({}, { + get (_, id) { + const workStore = __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js$2c$__cjs$29$__["workAsyncStorage"].getStore(); + if (workStore) { + const currentManifest = clientReferenceManifestsPerRoute.get(workStore.route); + if (currentManifest == null ? void 0 : currentManifest[prop][id]) { + return currentManifest[prop][id]; + } + // In development, we also check all other manifests to see if the + // module exists there. This is to support a scenario where React's + // I/O tracking (dev-only) creates a connection from one page to + // another through an emitted async I/O node that references client + // components from the other page, e.g. in owner props. + // TODO: Maybe we need to add a `debugBundlerConfig` option to React + // to avoid this workaround. The current workaround has the + // disadvantage that one might accidentally or intentionally share + // client references across pages (e.g. by storing them in a global + // variable), which would then only be caught in production. + if ("TURBOPACK compile-time truthy", 1) { + for (const [route, manifest] of clientReferenceManifestsPerRoute){ + if (route === workStore.route) { + continue; + } + const entry = manifest[prop][id]; + if (entry !== undefined) { + return entry; + } + } + } + } else { + // If there's no work store defined, we can assume that a client + // reference manifest is needed during module evaluation, e.g. to + // create a server function using a higher-order function. This + // might also use client components which need to be serialized by + // Flight, and therefore client references need to be resolvable. In + // that case we search all page manifests to find the module. + for (const manifest of clientReferenceManifestsPerRoute.values()){ + const entry = manifest[prop][id]; + if (entry !== undefined) { + return entry; + } + } + } + return undefined; + } + }); + }; + const mappingProxies = new Map(); + return new Proxy({}, { + get (_, prop) { + const workStore = __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js$2c$__cjs$29$__["workAsyncStorage"].getStore(); + switch(prop){ + case 'moduleLoading': + case 'entryCSSFiles': + case 'entryJSFiles': + { + if (!workStore) { + throw Object.defineProperty(new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["InvariantError"](`Cannot access "${prop}" without a work store.`), "__NEXT_ERROR_CODE", { + value: "E952", + enumerable: false, + configurable: true + }); + } + const currentManifest = clientReferenceManifestsPerRoute.get(workStore.route); + if (!currentManifest) { + throw Object.defineProperty(new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["InvariantError"](`The client reference manifest for route "${workStore.route}" does not exist.`), "__NEXT_ERROR_CODE", { + value: "E951", + enumerable: false, + configurable: true + }); + } + return currentManifest[prop]; + } + case 'clientModules': + case 'rscModuleMapping': + case 'edgeRscModuleMapping': + case 'ssrModuleMapping': + case 'edgeSSRModuleMapping': + { + let proxy = mappingProxies.get(prop); + if (!proxy) { + proxy = createMappingProxy(prop); + mappingProxies.set(prop, proxy); + } + return proxy; + } + default: + { + throw Object.defineProperty(new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["InvariantError"](`This is a proxied client reference manifest. The property "${String(prop)}" is not handled.`), "__NEXT_ERROR_CODE", { + value: "E953", + enumerable: false, + configurable: true + }); + } + } + } + }); +} +/** + * This function creates a Flight-acceptable server module map proxy from our + * Server Reference Manifest similar to our client module map. This is because + * our manifest contains a lot of internal Next.js data that are relevant to the + * runtime, workers, etc. that React doesn't need to know. + */ function createServerModuleMap() { + return new Proxy({}, { + get: (_, id)=>{ + var _getServerActionsManifest__id, _getServerActionsManifest_; + const workers = (_getServerActionsManifest_ = getServerActionsManifest()[("TURBOPACK compile-time falsy", 0) ? "TURBOPACK unreachable" : 'node']) == null ? void 0 : (_getServerActionsManifest__id = _getServerActionsManifest_[id]) == null ? void 0 : _getServerActionsManifest__id.workers; + if (!workers) { + return undefined; + } + const workStore = __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$server$2f$app$2d$render$2f$work$2d$async$2d$storage$2e$external$2e$js$2c$__cjs$29$__["workAsyncStorage"].getStore(); + let workerEntry; + if (workStore) { + workerEntry = workers[normalizeWorkerPageName(workStore.page)]; + } else { + // If there's no work store defined, we can assume that a server + // module map is needed during module evaluation, e.g. to create a + // server action using a higher-order function. Therefore it should be + // safe to return any entry from the manifest that matches the action + // ID. They all refer to the same module ID, which must also exist in + // the current page bundle. TODO: This is currently not guaranteed in + // Turbopack, and needs to be fixed. + workerEntry = Object.values(workers).at(0); + } + if (!workerEntry) { + return undefined; + } + const { moduleId, async } = workerEntry; + return { + id: moduleId, + name: id, + chunks: [], + async + }; + } + }); +} +/** + * The flight entry loader keys actions by bundlePath. bundlePath corresponds + * with the relative path (including 'app') to the page entrypoint. + */ function normalizeWorkerPageName(pageName) { + if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$path$2d$has$2d$prefix$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["pathHasPrefix"])(pageName, 'app')) { + return pageName; + } + return 'app' + pageName; +} +/** + * Converts a bundlePath (relative path to the entrypoint) to a routable page + * name. + */ function denormalizeWorkerPageName(bundlePath) { + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$app$2d$paths$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["normalizeAppPath"])((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$remove$2d$path$2d$prefix$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["removePathPrefix"])(bundlePath, 'app')); +} +function selectWorkerForForwarding(actionId, pageName) { + var _serverActionsManifest__actionId; + const serverActionsManifest = getServerActionsManifest(); + const workers = (_serverActionsManifest__actionId = serverActionsManifest[("TURBOPACK compile-time falsy", 0) ? "TURBOPACK unreachable" : 'node'][actionId]) == null ? void 0 : _serverActionsManifest__actionId.workers; + // There are no workers to handle this action, nothing to forward to. + if (!workers) { + return; + } + // If there is an entry for the current page, we don't need to forward. + if (workers[normalizeWorkerPageName(pageName)]) { + return; + } + // Otherwise, grab the first worker that has a handler for this action id. + return denormalizeWorkerPageName(Object.keys(workers)[0]); +} +function setManifestsSingleton({ page, clientReferenceManifest, serverActionsManifest }) { + const existingSingleton = globalThisWithManifests[MANIFESTS_SINGLETON]; + if (existingSingleton) { + existingSingleton.clientReferenceManifestsPerRoute.set((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$app$2d$paths$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["normalizeAppPath"])(page), clientReferenceManifest); + existingSingleton.serverActionsManifest = serverActionsManifest; + } else { + const clientReferenceManifestsPerRoute = new Map([ + [ + (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$app$2d$paths$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["normalizeAppPath"])(page), + clientReferenceManifest + ] + ]); + const proxiedClientReferenceManifest = createProxiedClientReferenceManifest(clientReferenceManifestsPerRoute); + globalThisWithManifests[MANIFESTS_SINGLETON] = { + clientReferenceManifestsPerRoute, + proxiedClientReferenceManifest, + serverActionsManifest, + serverModuleMap: createServerModuleMap() + }; + } +} +function getManifestsSingleton() { + const manifestSingleton = globalThisWithManifests[MANIFESTS_SINGLETON]; + if (!manifestSingleton) { + throw Object.defineProperty(new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["InvariantError"]('The manifests singleton was not initialized.'), "__NEXT_ERROR_CODE", { + value: "E950", + enumerable: false, + configurable: true + }); + } + return manifestSingleton; +} +function getClientReferenceManifest() { + return getManifestsSingleton().proxiedClientReferenceManifest; +} +function getServerActionsManifest() { + return getManifestsSingleton().serverActionsManifest; +} +function getServerModuleMap() { + return getManifestsSingleton().serverModuleMap; +} //# sourceMappingURL=manifests-singleton.js.map +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/html-bots.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +// This regex contains the bots that we need to do a blocking render for and can't safely stream the response +// due to how they parse the DOM. For example, they might explicitly check for metadata in the `head` tag, so we can't stream metadata tags after the `head` was sent. +// Note: The pattern [\w-]+-Google captures all Google crawlers with "-Google" suffix (e.g., Mediapartners-Google, AdsBot-Google, Storebot-Google) +// as well as crawlers starting with "Google-" (e.g., Google-PageRenderer, Google-InspectionTool) +__turbopack_context__.s([ + "HTML_LIMITED_BOT_UA_RE", + ()=>HTML_LIMITED_BOT_UA_RE +]); +const HTML_LIMITED_BOT_UA_RE = /[\w-]+-Google|Google-[\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight/i; //# sourceMappingURL=html-bots.js.map +}), +"[project]/node_modules/next/dist/esm/shared/lib/router/utils/is-bot.js [app-rsc] (ecmascript) ", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "HTML_LIMITED_BOT_UA_RE_STRING", + ()=>HTML_LIMITED_BOT_UA_RE_STRING, + "getBotType", + ()=>getBotType, + "isBot", + ()=>isBot +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$html$2d$bots$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/html-bots.js [app-rsc] (ecmascript)"); +; +// Bot crawler that will spin up a headless browser and execute JS. +// Only the main Googlebot search crawler executes JavaScript, not other Google crawlers. +// x-ref: https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers +// This regex specifically matches "Googlebot" but NOT "Mediapartners-Google", "AdsBot-Google", etc. +const HEADLESS_BROWSER_BOT_UA_RE = /Googlebot(?!-)|Googlebot$/i; +const HTML_LIMITED_BOT_UA_RE_STRING = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$html$2d$bots$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["HTML_LIMITED_BOT_UA_RE"].source; +; +function isDomBotUA(userAgent) { + return HEADLESS_BROWSER_BOT_UA_RE.test(userAgent); +} +function isHtmlLimitedBotUA(userAgent) { + return __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$html$2d$bots$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["HTML_LIMITED_BOT_UA_RE"].test(userAgent); +} +function isBot(userAgent) { + return isDomBotUA(userAgent) || isHtmlLimitedBotUA(userAgent); +} +function getBotType(userAgent) { + if (isDomBotUA(userAgent)) { + return 'dom'; + } + if (isHtmlLimitedBotUA(userAgent)) { + return 'html'; + } + return undefined; +} //# sourceMappingURL=is-bot.js.map +}), +"[project]/node_modules/next/dist/esm/server/lib/streaming-metadata.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "isHtmlBotRequest", + ()=>isHtmlBotRequest, + "shouldServeStreamingMetadata", + ()=>shouldServeStreamingMetadata +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$is$2d$bot$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$locals$3e$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/is-bot.js [app-rsc] (ecmascript) "); +; +function shouldServeStreamingMetadata(userAgent, htmlLimitedBots) { + const blockingMetadataUARegex = new RegExp(htmlLimitedBots || __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$is$2d$bot$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$locals$3e$__["HTML_LIMITED_BOT_UA_RE_STRING"], 'i'); + // Only block metadata for HTML-limited bots + if (userAgent && blockingMetadataUARegex.test(userAgent)) { + return false; + } + return true; +} +function isHtmlBotRequest(req) { + const ua = req.headers['user-agent'] || ''; + const botType = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$is$2d$bot$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$locals$3e$__["getBotType"])(ua); + return botType === 'html'; +} //# sourceMappingURL=streaming-metadata.js.map +}), +"[project]/node_modules/next/dist/esm/server/lib/server-action-request-meta.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "getIsPossibleServerAction", + ()=>getIsPossibleServerAction, + "getServerActionRequestMetadata", + ()=>getServerActionRequestMetadata +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/client/components/app-router-headers.js [app-rsc] (ecmascript)"); +; +function getServerActionRequestMetadata(req) { + let actionId; + let contentType; + if (req.headers instanceof Headers) { + actionId = req.headers.get(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["ACTION_HEADER"]) ?? null; + contentType = req.headers.get('content-type'); + } else { + actionId = req.headers[__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["ACTION_HEADER"]] ?? null; + contentType = req.headers['content-type'] ?? null; + } + // We don't actually support URL encoded actions, and the action handler will bail out if it sees one. + // But we still want it to flow through to the action handler, to prevent changes in behavior when a regular + // page component tries to handle a POST. + const isURLEncodedAction = Boolean(req.method === 'POST' && contentType === 'application/x-www-form-urlencoded'); + const isMultipartAction = Boolean(req.method === 'POST' && (contentType == null ? void 0 : contentType.startsWith('multipart/form-data'))); + const isFetchAction = Boolean(actionId !== undefined && typeof actionId === 'string' && req.method === 'POST'); + const isPossibleServerAction = Boolean(isFetchAction || isURLEncodedAction || isMultipartAction); + return { + actionId, + isURLEncodedAction, + isMultipartAction, + isFetchAction, + isPossibleServerAction + }; +} +function getIsPossibleServerAction(req) { + return getServerActionRequestMetadata(req).isPossibleServerAction; +} //# sourceMappingURL=server-action-request-meta.js.map +}), +"[project]/node_modules/next/dist/esm/lib/fallback.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** + * Describes the different fallback modes that a given page can have. + */ __turbopack_context__.s([ + "FallbackMode", + ()=>FallbackMode, + "fallbackModeToFallbackField", + ()=>fallbackModeToFallbackField, + "parseFallbackField", + ()=>parseFallbackField, + "parseStaticPathsResult", + ()=>parseStaticPathsResult +]); +var FallbackMode = /*#__PURE__*/ function(FallbackMode) { + /** + * A BLOCKING_STATIC_RENDER fallback will block the request until the page is + * generated. No fallback page will be rendered, and users will have to wait + * to render the page. + */ FallbackMode["BLOCKING_STATIC_RENDER"] = "BLOCKING_STATIC_RENDER"; + /** + * When set to PRERENDER, a fallback page will be sent to users in place of + * forcing them to wait for the page to be generated. This allows the user to + * see a rendered page earlier. + */ FallbackMode["PRERENDER"] = "PRERENDER"; + /** + * When set to NOT_FOUND, pages that are not already prerendered will result + * in a not found response. + */ FallbackMode["NOT_FOUND"] = "NOT_FOUND"; + return FallbackMode; +}({}); +function parseFallbackField(fallbackField) { + if (typeof fallbackField === 'string') { + return "PRERENDER"; + } else if (fallbackField === null) { + return "BLOCKING_STATIC_RENDER"; + } else if (fallbackField === false) { + return "NOT_FOUND"; + } else if (fallbackField === undefined) { + return undefined; + } else { + throw Object.defineProperty(new Error(`Invalid fallback option: ${fallbackField}. Fallback option must be a string, null, undefined, or false.`), "__NEXT_ERROR_CODE", { + value: "E285", + enumerable: false, + configurable: true + }); + } +} +function fallbackModeToFallbackField(fallback, page) { + switch(fallback){ + case "BLOCKING_STATIC_RENDER": + return null; + case "NOT_FOUND": + return false; + case "PRERENDER": + if (!page) { + throw Object.defineProperty(new Error(`Invariant: expected a page to be provided when fallback mode is "${fallback}"`), "__NEXT_ERROR_CODE", { + value: "E422", + enumerable: false, + configurable: true + }); + } + return page; + default: + throw Object.defineProperty(new Error(`Invalid fallback mode: ${fallback}`), "__NEXT_ERROR_CODE", { + value: "E254", + enumerable: false, + configurable: true + }); + } +} +function parseStaticPathsResult(result) { + if (result === true) { + return "PRERENDER"; + } else if (result === 'blocking') { + return "BLOCKING_STATIC_RENDER"; + } else { + return "NOT_FOUND"; + } +} //# sourceMappingURL=fallback.js.map +}), +"[project]/node_modules/next/dist/esm/shared/lib/utils.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** + * Web vitals provided to _app.reportWebVitals by Core Web Vitals plugin developed by Google Chrome team. + * https://nextjs.org/blog/next-9-4#integrated-web-vitals-reporting + */ __turbopack_context__.s([ + "DecodeError", + ()=>DecodeError, + "MiddlewareNotFoundError", + ()=>MiddlewareNotFoundError, + "MissingStaticPage", + ()=>MissingStaticPage, + "NormalizeError", + ()=>NormalizeError, + "PageNotFoundError", + ()=>PageNotFoundError, + "SP", + ()=>SP, + "ST", + ()=>ST, + "WEB_VITALS", + ()=>WEB_VITALS, + "execOnce", + ()=>execOnce, + "getDisplayName", + ()=>getDisplayName, + "getLocationOrigin", + ()=>getLocationOrigin, + "getURL", + ()=>getURL, + "isAbsoluteUrl", + ()=>isAbsoluteUrl, + "isResSent", + ()=>isResSent, + "loadGetInitialProps", + ()=>loadGetInitialProps, + "normalizeRepeatedSlashes", + ()=>normalizeRepeatedSlashes, + "stringifyError", + ()=>stringifyError +]); +const WEB_VITALS = [ + 'CLS', + 'FCP', + 'FID', + 'INP', + 'LCP', + 'TTFB' +]; +function execOnce(fn) { + let used = false; + let result; + return (...args)=>{ + if (!used) { + used = true; + result = fn(...args); + } + return result; + }; +} +// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1 +// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3 +const ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\d+\-.]*?:/; +const isAbsoluteUrl = (url)=>ABSOLUTE_URL_REGEX.test(url); +function getLocationOrigin() { + const { protocol, hostname, port } = window.location; + return `${protocol}//${hostname}${port ? ':' + port : ''}`; +} +function getURL() { + const { href } = window.location; + const origin = getLocationOrigin(); + return href.substring(origin.length); +} +function getDisplayName(Component) { + return typeof Component === 'string' ? Component : Component.displayName || Component.name || 'Unknown'; +} +function isResSent(res) { + return res.finished || res.headersSent; +} +function normalizeRepeatedSlashes(url) { + const urlParts = url.split('?'); + const urlNoQuery = urlParts[0]; + return urlNoQuery // first we replace any non-encoded backslashes with forward + // then normalize repeated forward slashes + .replace(/\\/g, '/').replace(/\/\/+/g, '/') + (urlParts[1] ? `?${urlParts.slice(1).join('?')}` : ''); +} +async function loadGetInitialProps(App, ctx) { + if ("TURBOPACK compile-time truthy", 1) { + if (App.prototype?.getInitialProps) { + const message = `"${getDisplayName(App)}.getInitialProps()" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.`; + throw Object.defineProperty(new Error(message), "__NEXT_ERROR_CODE", { + value: "E394", + enumerable: false, + configurable: true + }); + } + } + // when called from _app `ctx` is nested in `ctx` + const res = ctx.res || ctx.ctx && ctx.ctx.res; + if (!App.getInitialProps) { + if (ctx.ctx && ctx.Component) { + // @ts-ignore pageProps default + return { + pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx) + }; + } + return {}; + } + const props = await App.getInitialProps(ctx); + if (res && isResSent(res)) { + return props; + } + if (!props) { + const message = `"${getDisplayName(App)}.getInitialProps()" should resolve to an object. But found "${props}" instead.`; + throw Object.defineProperty(new Error(message), "__NEXT_ERROR_CODE", { + value: "E394", + enumerable: false, + configurable: true + }); + } + if ("TURBOPACK compile-time truthy", 1) { + if (Object.keys(props).length === 0 && !ctx.ctx) { + console.warn(`${getDisplayName(App)} returned an empty object from \`getInitialProps\`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps`); + } + } + return props; +} +const SP = typeof performance !== 'undefined'; +const ST = SP && [ + 'mark', + 'measure', + 'getEntriesByName' +].every((method)=>typeof performance[method] === 'function'); +class DecodeError extends Error { +} +class NormalizeError extends Error { +} +class PageNotFoundError extends Error { + constructor(page){ + super(); + this.code = 'ENOENT'; + this.name = 'PageNotFoundError'; + this.message = `Cannot find module for page: ${page}`; + } +} +class MissingStaticPage extends Error { + constructor(page, message){ + super(); + this.message = `Failed to load static file for page: ${page} ${message}`; + } +} +class MiddlewareNotFoundError extends Error { + constructor(){ + super(); + this.code = 'ENOENT'; + this.message = `Cannot find the middleware module`; + } +} +function stringifyError(error) { + return JSON.stringify({ + message: error.message, + stack: error.stack + }); +} //# sourceMappingURL=utils.js.map +}), +"[project]/node_modules/next/dist/esm/server/lib/etag.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +/** + * FNV-1a Hash implementation + * @author Travis Webb (tjwebb) + * + * Ported from https://github.com/tjwebb/fnv-plus/blob/master/index.js + * + * Simplified, optimized and add modified for 52 bit, which provides a larger hash space + * and still making use of Javascript's 53-bit integer space. + */ __turbopack_context__.s([ + "fnv1a52", + ()=>fnv1a52, + "generateETag", + ()=>generateETag +]); +const fnv1a52 = (str)=>{ + const len = str.length; + let i = 0, t0 = 0, v0 = 0x2325, t1 = 0, v1 = 0x8422, t2 = 0, v2 = 0x9ce4, t3 = 0, v3 = 0xcbf2; + while(i < len){ + v0 ^= str.charCodeAt(i++); + t0 = v0 * 435; + t1 = v1 * 435; + t2 = v2 * 435; + t3 = v3 * 435; + t2 += v0 << 8; + t3 += v1 << 8; + t1 += t0 >>> 16; + v0 = t0 & 65535; + t2 += t1 >>> 16; + v1 = t1 & 65535; + v3 = t3 + (t2 >>> 16) & 65535; + v2 = t2 & 65535; + } + return (v3 & 15) * 281474976710656 + v2 * 4294967296 + v1 * 65536 + (v0 ^ v3 >> 4); +}; +const generateETag = (payload, weak = false)=>{ + const prefix = weak ? 'W/"' : '"'; + return prefix + fnv1a52(payload).toString(36) + payload.length.toString(36) + '"'; +}; //# sourceMappingURL=etag.js.map +}), +"[project]/node_modules/next/dist/compiled/fresh/index.js [app-rsc] (ecmascript)", ((__turbopack_context__, module, exports) => { + +(()=>{ + "use strict"; + var e = { + 695: (e)=>{ + /*! + * fresh + * Copyright(c) 2012 TJ Holowaychuk + * Copyright(c) 2016-2017 Douglas Christopher Wilson + * MIT Licensed + */ var r = /(?:^|,)\s*?no-cache\s*?(?:,|$)/; + e.exports = fresh; + function fresh(e, a) { + var t = e["if-modified-since"]; + var s = e["if-none-match"]; + if (!t && !s) { + return false; + } + var i = e["cache-control"]; + if (i && r.test(i)) { + return false; + } + if (s && s !== "*") { + var f = a["etag"]; + if (!f) { + return false; + } + var n = true; + var u = parseTokenList(s); + for(var _ = 0; _ < u.length; _++){ + var o = u[_]; + if (o === f || o === "W/" + f || "W/" + o === f) { + n = false; + break; + } + } + if (n) { + return false; + } + } + if (t) { + var p = a["last-modified"]; + var v = !p || !(parseHttpDate(p) <= parseHttpDate(t)); + if (v) { + return false; + } + } + return true; + } + function parseHttpDate(e) { + var r = e && Date.parse(e); + return typeof r === "number" ? r : NaN; + } + function parseTokenList(e) { + var r = 0; + var a = []; + var t = 0; + for(var s = 0, i = e.length; s < i; s++){ + switch(e.charCodeAt(s)){ + case 32: + if (t === r) { + t = r = s + 1; + } + break; + case 44: + a.push(e.substring(t, r)); + t = r = s + 1; + break; + default: + r = s + 1; + break; + } + } + a.push(e.substring(t, r)); + return a; + } + } + }; + var r = {}; + function __nccwpck_require__(a) { + var t = r[a]; + if (t !== undefined) { + return t.exports; + } + var s = r[a] = { + exports: {} + }; + var i = true; + try { + e[a](s, s.exports, __nccwpck_require__); + i = false; + } finally{ + if (i) delete r[a]; + } + return s.exports; + } + if (typeof __nccwpck_require__ !== "undefined") __nccwpck_require__.ab = ("TURBOPACK compile-time value", "/ROOT/node_modules/next/dist/compiled/fresh") + "/"; + var a = __nccwpck_require__(695); + module.exports = a; +})(); +}), +"[project]/node_modules/next/dist/esm/server/lib/cache-control.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "getCacheControlHeader", + ()=>getCacheControlHeader +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/lib/constants.js [app-rsc] (ecmascript)"); +; +function getCacheControlHeader({ revalidate, expire }) { + const swrHeader = typeof revalidate === 'number' && expire !== undefined && revalidate < expire ? `, stale-while-revalidate=${expire - revalidate}` : ''; + if (revalidate === 0) { + return 'private, no-cache, no-store, max-age=0, must-revalidate'; + } else if (typeof revalidate === 'number') { + return `s-maxage=${revalidate}${swrHeader}`; + } + return `s-maxage=${__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["CACHE_ONE_YEAR"]}${swrHeader}`; +} //# sourceMappingURL=cache-control.js.map +}), +"[project]/node_modules/next/dist/esm/server/send-payload.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "sendEtagResponse", + ()=>sendEtagResponse, + "sendRenderResult", + ()=>sendRenderResult +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$utils$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/utils.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$etag$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/etag.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$fresh$2f$index$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/fresh/index.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$cache$2d$control$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/cache-control.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/lib/constants.js [app-rsc] (ecmascript)"); +; +; +; +; +; +function sendEtagResponse(req, res, etag) { + if (etag) { + /** + * The server generating a 304 response MUST generate any of the + * following header fields that would have been sent in a 200 (OK) + * response to the same request: Cache-Control, Content-Location, Date, + * ETag, Expires, and Vary. https://tools.ietf.org/html/rfc7232#section-4.1 + */ res.setHeader('ETag', etag); + } + if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$fresh$2f$index$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["default"])(req.headers, { + etag + })) { + res.statusCode = 304; + res.end(); + return true; + } + return false; +} +async function sendRenderResult({ req, res, result, generateEtags, poweredByHeader, cacheControl }) { + if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$utils$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["isResSent"])(res)) { + return; + } + if (poweredByHeader && result.contentType === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["HTML_CONTENT_TYPE_HEADER"]) { + res.setHeader('X-Powered-By', 'Next.js'); + } + // If cache control is already set on the response we don't + // override it to allow users to customize it via next.config + if (cacheControl && !res.getHeader('Cache-Control')) { + res.setHeader('Cache-Control', (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$cache$2d$control$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getCacheControlHeader"])(cacheControl)); + } + const payload = result.isDynamic ? null : result.toUnchunkedString(); + if (generateEtags && payload !== null) { + const etag = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$etag$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["generateETag"])(payload); + if (sendEtagResponse(req, res, etag)) { + return; + } + } + if (!res.getHeader('Content-Type') && result.contentType) { + res.setHeader('Content-Type', result.contentType); + } + if (payload) { + res.setHeader('Content-Length', Buffer.byteLength(payload)); + } + if (req.method === 'HEAD') { + res.end(null); + return; + } + if (payload !== null) { + res.end(payload); + return; + } + // Pipe the render result to the response after we get a writer for it. + await result.pipeToNodeResponse(res); +} //# sourceMappingURL=send-payload.js.map +}), +"[project]/node_modules/next/dist/compiled/bytes/index.js [app-rsc] (ecmascript)", ((__turbopack_context__, module, exports) => { + +(()=>{ + "use strict"; + var e = { + 56: (e)=>{ + /*! + * bytes + * Copyright(c) 2012-2014 TJ Holowaychuk + * Copyright(c) 2015 Jed Watson + * MIT Licensed + */ e.exports = bytes; + e.exports.format = format; + e.exports.parse = parse; + var r = /\B(?=(\d{3})+(?!\d))/g; + var a = /(?:\.0*|(\.[^0]+)0+)$/; + var t = { + b: 1, + kb: 1 << 10, + mb: 1 << 20, + gb: 1 << 30, + tb: Math.pow(1024, 4), + pb: Math.pow(1024, 5) + }; + var i = /^((-|\+)?(\d+(?:\.\d+)?)) *(kb|mb|gb|tb|pb)$/i; + function bytes(e, r) { + if (typeof e === "string") { + return parse(e); + } + if (typeof e === "number") { + return format(e, r); + } + return null; + } + function format(e, i) { + if (!Number.isFinite(e)) { + return null; + } + var n = Math.abs(e); + var o = i && i.thousandsSeparator || ""; + var s = i && i.unitSeparator || ""; + var f = i && i.decimalPlaces !== undefined ? i.decimalPlaces : 2; + var u = Boolean(i && i.fixedDecimals); + var p = i && i.unit || ""; + if (!p || !t[p.toLowerCase()]) { + if (n >= t.pb) { + p = "PB"; + } else if (n >= t.tb) { + p = "TB"; + } else if (n >= t.gb) { + p = "GB"; + } else if (n >= t.mb) { + p = "MB"; + } else if (n >= t.kb) { + p = "KB"; + } else { + p = "B"; + } + } + var b = e / t[p.toLowerCase()]; + var l = b.toFixed(f); + if (!u) { + l = l.replace(a, "$1"); + } + if (o) { + l = l.split(".").map(function(e, a) { + return a === 0 ? e.replace(r, o) : e; + }).join("."); + } + return l + s + p; + } + function parse(e) { + if (typeof e === "number" && !isNaN(e)) { + return e; + } + if (typeof e !== "string") { + return null; + } + var r = i.exec(e); + var a; + var n = "b"; + if (!r) { + a = parseInt(e, 10); + n = "b"; + } else { + a = parseFloat(r[1]); + n = r[4].toLowerCase(); + } + return Math.floor(t[n] * a); + } + } + }; + var r = {}; + function __nccwpck_require__(a) { + var t = r[a]; + if (t !== undefined) { + return t.exports; + } + var i = r[a] = { + exports: {} + }; + var n = true; + try { + e[a](i, i.exports, __nccwpck_require__); + n = false; + } finally{ + if (n) delete r[a]; + } + return i.exports; + } + if (typeof __nccwpck_require__ !== "undefined") __nccwpck_require__.ab = ("TURBOPACK compile-time value", "/ROOT/node_modules/next/dist/compiled/bytes") + "/"; + var a = __nccwpck_require__(56); + module.exports = a; +})(); +}), +"[project]/node_modules/next/dist/esm/shared/lib/size-limit.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "DEFAULT_MAX_POSTPONED_STATE_SIZE", + ()=>DEFAULT_MAX_POSTPONED_STATE_SIZE, + "parseMaxPostponedStateSize", + ()=>parseMaxPostponedStateSize +]); +const DEFAULT_MAX_POSTPONED_STATE_SIZE = '100 MB'; +function parseSizeLimit(size) { + const bytes = __turbopack_context__.r("[project]/node_modules/next/dist/compiled/bytes/index.js [app-rsc] (ecmascript)").parse(size); + if (bytes === null || isNaN(bytes) || bytes < 1) { + return undefined; + } + return bytes; +} +function parseMaxPostponedStateSize(size) { + return parseSizeLimit(size ?? DEFAULT_MAX_POSTPONED_STATE_SIZE); +} //# sourceMappingURL=size-limit.js.map +}), +"[project]/node_modules/next/dist/esm/server/lib/postponed-request-body.js [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "getMaxPostponedStateSize", + ()=>getMaxPostponedStateSize, + "getPostponedStateExceededErrorMessage", + ()=>getPostponedStateExceededErrorMessage, + "readBodyWithSizeLimit", + ()=>readBodyWithSizeLimit +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$size$2d$limit$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/size-limit.js [app-rsc] (ecmascript)"); +; +const INVALID_MAX_POSTPONED_STATE_SIZE_ERROR_MESSAGE = 'maxPostponedStateSize must be a valid number (bytes) or filesize format string (e.g., "5mb")'; +function getMaxPostponedStateSize(configuredMaxPostponedStateSize) { + const maxPostponedStateSize = configuredMaxPostponedStateSize ?? __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$size$2d$limit$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["DEFAULT_MAX_POSTPONED_STATE_SIZE"]; + const maxPostponedStateSizeBytes = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$size$2d$limit$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["parseMaxPostponedStateSize"])(configuredMaxPostponedStateSize); + if (maxPostponedStateSizeBytes === undefined) { + throw Object.defineProperty(new Error(INVALID_MAX_POSTPONED_STATE_SIZE_ERROR_MESSAGE), "__NEXT_ERROR_CODE", { + value: "E394", + enumerable: false, + configurable: true + }); + } + return { + maxPostponedStateSize, + maxPostponedStateSizeBytes + }; +} +function getPostponedStateExceededErrorMessage(maxPostponedStateSize) { + return `Postponed state exceeded ${maxPostponedStateSize} limit. ` + `To configure the limit, see: https://nextjs.org/docs/app/api-reference/config/next-config-js/max-postponed-state-size`; +} +function toBuffer(chunk) { + return Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk); +} +async function readBodyWithSizeLimit(body, maxBodySizeBytes) { + const chunks = []; + let size = 0; + for await (const chunk of body){ + const buffer = toBuffer(chunk); + size += buffer.byteLength; + if (size > maxBodySizeBytes) { + return null; + } + chunks.push(buffer); + } + return Buffer.concat(chunks); +} //# sourceMappingURL=postponed-request-body.js.map +}), +"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-rsc] (ecmascript, Next.js Server Component)", ((__turbopack_context__) => { + +__turbopack_context__.n(__turbopack_context__.i("[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-rsc] (ecmascript)")); +}), +"[project]/node_modules/next/dist/esm/server/app-render/entry-base.js [app-rsc] (ecmascript, Next.js server utility) ", ((__turbopack_context__) => { + +__turbopack_context__.n(__turbopack_context__.i("[project]/node_modules/next/dist/esm/server/app-render/entry-base.js [app-rsc] (ecmascript) "));}), +"[project]/node_modules/next/dist/esm/server/app-render/entry-base.js [app-rsc] (ecmascript, Next.js server utility)", ((__turbopack_context__) => { + +__turbopack_context__.n(__turbopack_context__.i("[project]/node_modules/next/dist/esm/server/app-render/entry-base.js [app-rsc] (ecmascript)"));}), +"[project]/node_modules/next/dist/client/components/builtin/not-found.js [app-rsc] (ecmascript, Next.js Server Component)", ((__turbopack_context__) => { + +__turbopack_context__.n(__turbopack_context__.i("[project]/node_modules/next/dist/client/components/builtin/not-found.js [app-rsc] (ecmascript)")); +}), +"[project]/node_modules/next/dist/client/components/builtin/forbidden.js [app-rsc] (ecmascript, Next.js Server Component)", ((__turbopack_context__) => { + +__turbopack_context__.n(__turbopack_context__.i("[project]/node_modules/next/dist/client/components/builtin/forbidden.js [app-rsc] (ecmascript)")); +}), +"[project]/node_modules/next/dist/client/components/builtin/unauthorized.js [app-rsc] (ecmascript, Next.js Server Component)", ((__turbopack_context__) => { + +__turbopack_context__.n(__turbopack_context__.i("[project]/node_modules/next/dist/client/components/builtin/unauthorized.js [app-rsc] (ecmascript)")); +}), +"[project]/node_modules/next/dist/esm/build/templates/app-page.js?page=/registration/page { GLOBAL_ERROR_MODULE => \"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_0 => \"[project]/src/app/layout.tsx [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_1 => \"[project]/node_modules/next/dist/client/components/builtin/not-found.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_2 => \"[project]/node_modules/next/dist/client/components/builtin/forbidden.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_3 => \"[project]/node_modules/next/dist/client/components/builtin/unauthorized.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_4 => \"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_5 => \"[project]/src/app/registration/page.tsx [app-rsc] (ecmascript, Next.js Server Component)\" } [app-rsc] (ecmascript) ", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "__next_app__", + ()=>__next_app__, + "handler", + ()=>handler, + "routeModule", + ()=>routeModule +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$module$2e$compiled$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/route-modules/app-page/module.compiled.js [app-ssr] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/route-kind.js [app-rsc] (ecmascript, Next.js server utility)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$instrumentation$2f$utils$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/instrumentation/utils.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$tracer$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/trace/tracer.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/request-meta.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$constants$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/trace/constants.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$interop$2d$default$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/app-render/interop-default.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$strip$2d$flight$2d$headers$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/app-render/strip-flight-headers.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$base$2d$http$2f$node$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/base-http/node.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$experimental$2f$ppr$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/experimental/ppr.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2f$fallback$2d$params$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/request/fallback-params.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$manifests$2d$singleton$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/app-render/manifests-singleton.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$streaming$2d$metadata$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/streaming-metadata.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$app$2d$paths$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/app-paths.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$server$2d$action$2d$request$2d$meta$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/server-action-request-meta.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/client/components/app-router-headers.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$is$2d$bot$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$locals$3e$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/is-bot.js [app-rsc] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$index$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$locals$3e$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/response-cache/index.js [app-rsc] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/response-cache/types.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$fallback$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/lib/fallback.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$render$2d$result$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/render-result.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/lib/constants.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/stream-utils/encoded-tags.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$send$2d$payload$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/send-payload.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$shared$2f$lib$2f$no$2d$fallback$2d$error$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$shared$2f$lib$2f$no$2d$fallback$2d$error$2e$external$2e$js$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/next/dist/shared/lib/no-fallback-error.external.js [external] (next/dist/shared/lib/no-fallback-error.external.js, cjs)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$size$2d$limit$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/size-limit.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$postponed$2d$request$2d$body$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/lib/postponed-request-body.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$client$2f$components$2f$builtin$2f$global$2d$error$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-rsc] (ecmascript, Next.js Server Component)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__$3c$locals$3e$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/app-render/entry-base.js [app-rsc] (ecmascript, Next.js server utility) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/app-render/entry-base.js [app-rsc] (ecmascript, Next.js server utility)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$redirect$2d$status$2d$code$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/client/components/redirect-status-code.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/invariant-error.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$scheduler$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/lib/scheduler.js [app-rsc] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$interception$2d$routes$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/shared/lib/router/utils/interception-routes.js [app-rsc] (ecmascript)"); +const __TURBOPACK__layout__$23$0__ = ()=>__turbopack_context__.r("[project]/src/app/layout.tsx [app-rsc] (ecmascript, Next.js Server Component)"); +const __TURBOPACK__not$2d$found__$23$1__ = ()=>__turbopack_context__.r("[project]/node_modules/next/dist/client/components/builtin/not-found.js [app-rsc] (ecmascript, Next.js Server Component)"); +const __TURBOPACK__forbidden__$23$2__ = ()=>__turbopack_context__.r("[project]/node_modules/next/dist/client/components/builtin/forbidden.js [app-rsc] (ecmascript, Next.js Server Component)"); +const __TURBOPACK__unauthorized__$23$3__ = ()=>__turbopack_context__.r("[project]/node_modules/next/dist/client/components/builtin/unauthorized.js [app-rsc] (ecmascript, Next.js Server Component)"); +const __TURBOPACK__global$2d$error__$23$4__ = ()=>__turbopack_context__.r("[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-rsc] (ecmascript, Next.js Server Component)"); +const __TURBOPACK__page__$23$5__ = ()=>__turbopack_context__.r("[project]/src/app/registration/page.tsx [app-rsc] (ecmascript, Next.js Server Component)"); +; +; +; +; +; +; +; +; +; +; +; +; +; +; +; +; +; +; +; +; +; +; +; +; +; +; +// We inject the tree and pages here so that we can use them in the route +// module. +const tree = [ + "", + { + "children": [ + "registration", + { + "children": [ + "__PAGE__", + {}, + { + metadata: {}, + "page": [ + __TURBOPACK__page__$23$5__, + "[project]/src/app/registration/page.tsx" + ] + } + ] + }, + { + metadata: {} + } + ] + }, + { + "layout": [ + __TURBOPACK__layout__$23$0__, + "[project]/src/app/layout.tsx" + ], + "not-found": [ + __TURBOPACK__not$2d$found__$23$1__, + "[project]/node_modules/next/dist/client/components/builtin/not-found.js" + ], + "forbidden": [ + __TURBOPACK__forbidden__$23$2__, + "[project]/node_modules/next/dist/client/components/builtin/forbidden.js" + ], + "unauthorized": [ + __TURBOPACK__unauthorized__$23$3__, + "[project]/node_modules/next/dist/client/components/builtin/unauthorized.js" + ], + "global-error": [ + __TURBOPACK__global$2d$error__$23$4__, + "[project]/node_modules/next/dist/client/components/builtin/global-error.js" + ] + } +]; +; +; +const __next_app_require__ = __turbopack_context__.r.bind(__turbopack_context__); +const __next_app_load_chunk__ = __turbopack_context__.l.bind(__turbopack_context__); +const __next_app__ = { + require: __next_app_require__, + loadChunk: __next_app_load_chunk__ +}; +; +; +; +; +; +; +const routeModule = new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$module$2e$compiled$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["AppPageRouteModule"]({ + definition: { + kind: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["RouteKind"].APP_PAGE, + page: "/registration/page", + pathname: "/registration", + // The following aren't used in production. + bundlePath: '', + filename: '', + appPaths: [] + }, + userland: { + loaderTree: tree + }, + distDir: ("TURBOPACK compile-time value", ".next\\dev") || '', + relativeProjectDir: ("TURBOPACK compile-time value", "") || '' +}); +async function handler(req, res, ctx) { + var _this; + if (routeModule.isDev) { + (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["addRequestMeta"])(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint()); + } + const isMinimalMode = Boolean(("TURBOPACK compile-time value", false) || (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getRequestMeta"])(req, 'minimalMode')); + let srcPage = "/registration/page"; + // turbopack doesn't normalize `/index` in the page name + // so we need to to process dynamic routes properly + // TODO: fix turbopack providing differing value from webpack + if ("TURBOPACK compile-time truthy", 1) { + srcPage = srcPage.replace(/\/index$/, '') || '/'; + } else if (srcPage === '/index') { + // we always normalize /index specifically + srcPage = '/'; + } + const multiZoneDraftMode = ("TURBOPACK compile-time value", false); + const prepareResult = await routeModule.prepare(req, res, { + srcPage, + multiZoneDraftMode + }); + if (!prepareResult) { + res.statusCode = 400; + res.end('Bad Request'); + ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve()); + return null; + } + const { buildId, query, params, pageIsDynamic, buildManifest, nextFontManifest, reactLoadableManifest, serverActionsManifest, clientReferenceManifest, subresourceIntegrityManifest, prerenderManifest, isDraftMode, resolvedPathname, revalidateOnlyGenerated, routerServerContext, nextConfig, parsedUrl, interceptionRoutePatterns, deploymentId } = prepareResult; + const normalizedSrcPage = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$app$2d$paths$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["normalizeAppPath"])(srcPage); + let { isOnDemandRevalidate } = prepareResult; + // We use the resolvedPathname instead of the parsedUrl.pathname because it + // is not rewritten as resolvedPathname is. This will ensure that the correct + // prerender info is used instead of using the original pathname as the + // source. If however PPR is enabled and cacheComponents is disabled, we + // treat the pathname as dynamic. Currently, there's a bug in the PPR + // implementation that incorrectly leaves %%drp placeholders in the output of + // parallel routes. This is addressed with cacheComponents. + const prerenderInfo = nextConfig.experimental.ppr && !nextConfig.cacheComponents && (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$interception$2d$routes$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["isInterceptionRouteAppPath"])(resolvedPathname) ? null : routeModule.match(resolvedPathname, prerenderManifest); + const isPrerendered = !!prerenderManifest.routes[resolvedPathname]; + const userAgent = req.headers['user-agent'] || ''; + const botType = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$is$2d$bot$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$locals$3e$__["getBotType"])(userAgent); + const isHtmlBot = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$streaming$2d$metadata$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["isHtmlBotRequest"])(req); + /** + * If true, this indicates that the request being made is for an app + * prefetch request. + */ const isPrefetchRSCRequest = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getRequestMeta"])(req, 'isPrefetchRSCRequest') ?? req.headers[__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["NEXT_ROUTER_PREFETCH_HEADER"]] === '1' // exclude runtime prefetches, which use '2' + ; + // NOTE: Don't delete headers[RSC] yet, it still needs to be used in renderToHTML later + const isRSCRequest = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getRequestMeta"])(req, 'isRSCRequest') ?? Boolean(req.headers[__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["RSC_HEADER"]]); + const isPossibleServerAction = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$server$2d$action$2d$request$2d$meta$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getIsPossibleServerAction"])(req); + /** + * If the route being rendered is an app page, and the ppr feature has been + * enabled, then the given route _could_ support PPR. + */ const couldSupportPPR = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$experimental$2f$ppr$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["checkIsAppPPREnabled"])(nextConfig.experimental.ppr); + if (!(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getRequestMeta"])(req, 'postponed') && couldSupportPPR && req.headers[__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["NEXT_RESUME_HEADER"]] === '1' && req.method === 'POST') { + const { maxPostponedStateSize, maxPostponedStateSizeBytes } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$postponed$2d$request$2d$body$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getMaxPostponedStateSize"])(nextConfig.experimental.maxPostponedStateSize); + // Decode the postponed state from the request body, it will come as + // an array of buffers, so collect them and then concat them to form + // the string. + const body = await (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$postponed$2d$request$2d$body$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["readBodyWithSizeLimit"])(req, maxPostponedStateSizeBytes); + if (body === null) { + res.statusCode = 413; + res.end((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$postponed$2d$request$2d$body$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getPostponedStateExceededErrorMessage"])(maxPostponedStateSize)); + ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve()); + return null; + } + const postponed = body.toString('utf8'); + (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["addRequestMeta"])(req, 'postponed', postponed); + } + // When enabled, this will allow the use of the `?__nextppronly` query to + // enable debugging of the static shell. + const hasDebugStaticShellQuery = ("TURBOPACK compile-time value", false) === '1' && typeof query.__nextppronly !== 'undefined' && couldSupportPPR; + // When enabled, this will allow the use of the `?__nextppronly` query + // to enable debugging of the fallback shell. + const hasDebugFallbackShellQuery = hasDebugStaticShellQuery && query.__nextppronly === 'fallback'; + // This page supports PPR if it is marked as being `PARTIALLY_STATIC` in the + // prerender manifest and this is an app page. + const isRoutePPREnabled = couldSupportPPR && (((_this = prerenderManifest.routes[normalizedSrcPage] ?? prerenderManifest.dynamicRoutes[normalizedSrcPage]) == null ? void 0 : _this.renderingMode) === 'PARTIALLY_STATIC' || // Ideally we'd want to check the appConfig to see if this page has PPR + // enabled or not, but that would require plumbing the appConfig through + // to the server during development. We assume that the page supports it + // but only during development. + hasDebugStaticShellQuery && (routeModule.isDev === true || (routerServerContext == null ? void 0 : routerServerContext.experimentalTestProxy) === true)); + const isDebugStaticShell = hasDebugStaticShellQuery && isRoutePPREnabled; + // We should enable debugging dynamic accesses when the static shell + // debugging has been enabled and we're also in development mode. + const isDebugDynamicAccesses = isDebugStaticShell && routeModule.isDev === true; + const isDebugFallbackShell = hasDebugFallbackShellQuery && isRoutePPREnabled; + // If we're in minimal mode, then try to get the postponed information from + // the request metadata. If available, use it for resuming the postponed + // render. + const minimalPostponed = isRoutePPREnabled ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getRequestMeta"])(req, 'postponed') : undefined; + // If PPR is enabled, and this is a RSC request (but not a prefetch), then + // we can use this fact to only generate the flight data for the request + // because we can't cache the HTML (as it's also dynamic). + let isDynamicRSCRequest = isRoutePPREnabled && isRSCRequest && !isPrefetchRSCRequest; + // During a PPR revalidation, the RSC request is not dynamic if we do not have the postponed data. + // We only attach the postponed data during a resume. If there's no postponed data, then it must be a revalidation. + // This is to ensure that we don't bypass the cache during a revalidation. + if (isMinimalMode) { + isDynamicRSCRequest = isDynamicRSCRequest && !!minimalPostponed; + } + // Need to read this before it's stripped by stripFlightHeaders. We don't + // need to transfer it to the request meta because it's only read + // within this function; the static segment data should have already been + // generated, so we will always either return a static response or a 404. + const segmentPrefetchHeader = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getRequestMeta"])(req, 'segmentPrefetchRSCRequest'); + // TODO: investigate existing bug with shouldServeStreamingMetadata always + // being true for a revalidate due to modifying the base-server this.renderOpts + // when fixing this to correct logic it causes hydration issue since we set + // serveStreamingMetadata to true during export + const serveStreamingMetadata = isHtmlBot && isRoutePPREnabled ? false : !userAgent ? true : (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$streaming$2d$metadata$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["shouldServeStreamingMetadata"])(userAgent, nextConfig.htmlLimitedBots); + const isSSG = Boolean((prerenderInfo || isPrerendered || prerenderManifest.routes[normalizedSrcPage]) && // If this is a html bot request and PPR is enabled, then we don't want + // to serve a static response. + !(isHtmlBot && isRoutePPREnabled)); + // When a page supports cacheComponents, we can support RDC for Navigations + const supportsRDCForNavigations = isRoutePPREnabled && nextConfig.cacheComponents === true; + // In development, we always want to generate dynamic HTML. + const supportsDynamicResponse = // a data request, in which case we only produce static HTML. + routeModule.isDev === true || // If this is not SSG or does not have static paths, then it supports + // dynamic HTML. + !isSSG || // If this request has provided postponed data, it supports dynamic + // HTML. + typeof minimalPostponed === 'string' || // If this handler supports onCacheEntryV2, then we can only support + // dynamic responses if it's a dynamic RSC request and not in minimal mode. If it + // doesn't support it we must fallback to the default behavior. + (supportsRDCForNavigations && (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getRequestMeta"])(req, 'onCacheEntryV2') ? // RSC request, we'll pass the minimal postponed data to the render + // which will trigger the `supportsDynamicResponse` to be true. + isDynamicRSCRequest && !isMinimalMode : isDynamicRSCRequest); + // When html bots request PPR page, perform the full dynamic rendering. + const shouldWaitOnAllReady = isHtmlBot && isRoutePPREnabled; + let ssgCacheKey = null; + if (!isDraftMode && isSSG && !supportsDynamicResponse && !isPossibleServerAction && !minimalPostponed && !isDynamicRSCRequest) { + ssgCacheKey = resolvedPathname; + } + // the staticPathKey differs from ssgCacheKey since + // ssgCacheKey is null in dev since we're always in "dynamic" + // mode in dev to bypass the cache, but we still need to honor + // dynamicParams = false in dev mode + let staticPathKey = ssgCacheKey; + if (!staticPathKey && routeModule.isDev) { + staticPathKey = resolvedPathname; + } + // If this is a request for an app path that should be statically generated + // and we aren't in the edge runtime, strip the flight headers so it will + // generate the static response. + if (!routeModule.isDev && !isDraftMode && isSSG && isRSCRequest && !isDynamicRSCRequest) { + (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$strip$2d$flight$2d$headers$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["stripFlightHeaders"])(req.headers); + } + const ComponentMod = { + ...__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__, + tree, + GlobalError: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$client$2f$components$2f$builtin$2f$global$2d$error$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29$__["default"], + handler, + routeModule, + __next_app__ + }; + // Before rendering (which initializes component tree modules), we have to + // set the reference manifests to our global store so Server Action's + // encryption util can access to them at the top level of the page module. + if (serverActionsManifest && clientReferenceManifest) { + (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$manifests$2d$singleton$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["setManifestsSingleton"])({ + page: srcPage, + clientReferenceManifest, + serverActionsManifest + }); + } + const method = req.method || 'GET'; + const tracer = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$tracer$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getTracer"])(); + const activeSpan = tracer.getActiveScopeSpan(); + const render404 = async ()=>{ + // TODO: should route-module itself handle rendering the 404 + if (routerServerContext == null ? void 0 : routerServerContext.render404) { + await routerServerContext.render404(req, res, parsedUrl, false); + } else { + res.end('This page could not be found'); + } + return null; + }; + try { + const varyHeader = routeModule.getVaryHeader(resolvedPathname, interceptionRoutePatterns); + res.setHeader('Vary', varyHeader); + const invokeRouteModule = async (span, context)=>{ + const nextReq = new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$base$2d$http$2f$node$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["NodeNextRequest"](req); + const nextRes = new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$base$2d$http$2f$node$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["NodeNextResponse"](res); + return routeModule.render(nextReq, nextRes, context).finally(()=>{ + if (!span) return; + span.setAttributes({ + 'http.status_code': res.statusCode, + 'next.rsc': false + }); + const rootSpanAttributes = tracer.getRootSpanAttributes(); + // We were unable to get attributes, probably OTEL is not enabled + if (!rootSpanAttributes) { + return; + } + if (rootSpanAttributes.get('next.span_type') !== __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$constants$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["BaseServerSpan"].handleRequest) { + console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`); + return; + } + const route = rootSpanAttributes.get('next.route'); + if (route) { + const name = `${method} ${route}`; + span.setAttributes({ + 'next.route': route, + 'http.route': route, + 'next.span_name': name + }); + span.updateName(name); + } else { + span.updateName(`${method} ${srcPage}`); + } + }); + }; + const incrementalCache = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getRequestMeta"])(req, 'incrementalCache'); + const doRender = async ({ span, postponed, fallbackRouteParams, forceStaticRender })=>{ + const context = { + query, + params, + page: normalizedSrcPage, + sharedContext: { + buildId + }, + serverComponentsHmrCache: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getRequestMeta"])(req, 'serverComponentsHmrCache'), + fallbackRouteParams, + renderOpts: { + App: ()=>null, + Document: ()=>null, + pageConfig: {}, + ComponentMod, + Component: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$interop$2d$default$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["interopDefault"])(ComponentMod), + params, + routeModule, + page: srcPage, + postponed, + shouldWaitOnAllReady, + serveStreamingMetadata, + supportsDynamicResponse: typeof postponed === 'string' || supportsDynamicResponse, + buildManifest, + nextFontManifest, + reactLoadableManifest, + subresourceIntegrityManifest, + setCacheStatus: routerServerContext == null ? void 0 : routerServerContext.setCacheStatus, + setIsrStatus: routerServerContext == null ? void 0 : routerServerContext.setIsrStatus, + setReactDebugChannel: routerServerContext == null ? void 0 : routerServerContext.setReactDebugChannel, + sendErrorsToBrowser: routerServerContext == null ? void 0 : routerServerContext.sendErrorsToBrowser, + dir: ("TURBOPACK compile-time truthy", 1) ? require('path').join(/* turbopackIgnore: true */ process.cwd(), routeModule.relativeProjectDir) : "TURBOPACK unreachable", + isDraftMode, + botType, + isOnDemandRevalidate, + isPossibleServerAction, + assetPrefix: nextConfig.assetPrefix, + nextConfigOutput: nextConfig.output, + crossOrigin: nextConfig.crossOrigin, + trailingSlash: nextConfig.trailingSlash, + images: nextConfig.images, + previewProps: prerenderManifest.preview, + deploymentId: deploymentId, + enableTainting: nextConfig.experimental.taint, + htmlLimitedBots: nextConfig.htmlLimitedBots, + reactMaxHeadersLength: nextConfig.reactMaxHeadersLength, + multiZoneDraftMode, + incrementalCache, + cacheLifeProfiles: nextConfig.cacheLife, + basePath: nextConfig.basePath, + serverActions: nextConfig.experimental.serverActions, + ...isDebugStaticShell || isDebugDynamicAccesses || isDebugFallbackShell ? { + nextExport: true, + supportsDynamicResponse: false, + isStaticGeneration: true, + isDebugDynamicAccesses: isDebugDynamicAccesses + } : {}, + cacheComponents: Boolean(nextConfig.cacheComponents), + experimental: { + isRoutePPREnabled, + expireTime: nextConfig.expireTime, + staleTimes: nextConfig.experimental.staleTimes, + dynamicOnHover: Boolean(nextConfig.experimental.dynamicOnHover), + inlineCss: Boolean(nextConfig.experimental.inlineCss), + authInterrupts: Boolean(nextConfig.experimental.authInterrupts), + clientTraceMetadata: nextConfig.experimental.clientTraceMetadata || [], + clientParamParsingOrigins: nextConfig.experimental.clientParamParsingOrigins, + maxPostponedStateSizeBytes: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$size$2d$limit$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["parseMaxPostponedStateSize"])(nextConfig.experimental.maxPostponedStateSize) + }, + waitUntil: ctx.waitUntil, + onClose: (cb)=>{ + res.on('close', cb); + }, + onAfterTaskError: ()=>{}, + onInstrumentationRequestError: (error, _request, errorContext, silenceLog)=>routeModule.onRequestError(req, error, errorContext, silenceLog, routerServerContext), + err: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getRequestMeta"])(req, 'invokeError'), + dev: routeModule.isDev + } + }; + if (isDebugStaticShell || isDebugDynamicAccesses) { + context.renderOpts.nextExport = true; + context.renderOpts.supportsDynamicResponse = false; + context.renderOpts.isDebugDynamicAccesses = isDebugDynamicAccesses; + } + // When we're revalidating in the background, we should not allow dynamic + // responses. + if (forceStaticRender) { + context.renderOpts.supportsDynamicResponse = false; + } + const result = await invokeRouteModule(span, context); + const { metadata } = result; + const { cacheControl, headers = {}, fetchTags: cacheTags, fetchMetrics } = metadata; + if (cacheTags) { + headers[__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["NEXT_CACHE_TAGS_HEADER"]] = cacheTags; + } + // Pull any fetch metrics from the render onto the request. + ; + req.fetchMetrics = fetchMetrics; + // we don't throw static to dynamic errors in dev as isSSG + // is a best guess in dev since we don't have the prerender pass + // to know whether the path is actually static or not + if (isSSG && (cacheControl == null ? void 0 : cacheControl.revalidate) === 0 && !routeModule.isDev && !isRoutePPREnabled) { + const staticBailoutInfo = metadata.staticBailoutInfo; + const err = Object.defineProperty(new Error(`Page changed from static to dynamic at runtime ${resolvedPathname}${(staticBailoutInfo == null ? void 0 : staticBailoutInfo.description) ? `, reason: ${staticBailoutInfo.description}` : ``}` + `\nsee more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`), "__NEXT_ERROR_CODE", { + value: "E132", + enumerable: false, + configurable: true + }); + if (staticBailoutInfo == null ? void 0 : staticBailoutInfo.stack) { + const stack = staticBailoutInfo.stack; + err.stack = err.message + stack.substring(stack.indexOf('\n')); + } + throw err; + } + return { + value: { + kind: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_PAGE, + html: result, + headers, + rscData: metadata.flightData, + postponed: metadata.postponed, + status: metadata.statusCode, + segmentData: metadata.segmentData + }, + cacheControl + }; + }; + const responseGenerator = async ({ hasResolved, previousCacheEntry: previousIncrementalCacheEntry, isRevalidating, span, forceStaticRender = false })=>{ + const isProduction = routeModule.isDev === false; + const didRespond = hasResolved || res.writableEnded; + // skip on-demand revalidate if cache is not present and + // revalidate-if-generated is set + if (isOnDemandRevalidate && revalidateOnlyGenerated && !previousIncrementalCacheEntry && !isMinimalMode) { + if (routerServerContext == null ? void 0 : routerServerContext.render404) { + await routerServerContext.render404(req, res); + } else { + res.statusCode = 404; + res.end('This page could not be found'); + } + return null; + } + let fallbackMode; + if (prerenderInfo) { + fallbackMode = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$fallback$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["parseFallbackField"])(prerenderInfo.fallback); + } + // When serving a HTML bot request, we want to serve a blocking render and + // not the prerendered page. This ensures that the correct content is served + // to the bot in the head. + if (fallbackMode === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$fallback$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["FallbackMode"].PRERENDER && (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$is$2d$bot$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$locals$3e$__["isBot"])(userAgent)) { + if (!isRoutePPREnabled || isHtmlBot) { + fallbackMode = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$fallback$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["FallbackMode"].BLOCKING_STATIC_RENDER; + } + } + if ((previousIncrementalCacheEntry == null ? void 0 : previousIncrementalCacheEntry.isStale) === -1) { + isOnDemandRevalidate = true; + } + // TODO: adapt for PPR + // only allow on-demand revalidate for fallback: true/blocking + // or for prerendered fallback: false paths + if (isOnDemandRevalidate && (fallbackMode !== __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$fallback$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["FallbackMode"].NOT_FOUND || previousIncrementalCacheEntry)) { + fallbackMode = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$fallback$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["FallbackMode"].BLOCKING_STATIC_RENDER; + } + if (!isMinimalMode && fallbackMode !== __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$fallback$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["FallbackMode"].BLOCKING_STATIC_RENDER && staticPathKey && !didRespond && !isDraftMode && pageIsDynamic && (isProduction || !isPrerendered)) { + // if the page has dynamicParams: false and this pathname wasn't + // prerendered trigger the no fallback handling + if (// getStaticPaths. + (isProduction || prerenderInfo) && // When fallback isn't present, abort this render so we 404 + fallbackMode === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$fallback$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["FallbackMode"].NOT_FOUND) { + if (nextConfig.experimental.adapterPath) { + return await render404(); + } + throw new __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$shared$2f$lib$2f$no$2d$fallback$2d$error$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$shared$2f$lib$2f$no$2d$fallback$2d$error$2e$external$2e$js$2c$__cjs$29$__["NoFallbackError"](); + } + // When cacheComponents is enabled, we can use the fallback + // response if the request is not a dynamic RSC request because the + // RSC data when this feature flag is enabled does not contain any + // param references. Without this feature flag enabled, the RSC data + // contains param references, and therefore we can't use the fallback. + if (isRoutePPREnabled && (nextConfig.cacheComponents ? !isDynamicRSCRequest : !isRSCRequest)) { + const cacheKey = isProduction && typeof (prerenderInfo == null ? void 0 : prerenderInfo.fallback) === 'string' ? prerenderInfo.fallback : normalizedSrcPage; + const fallbackRouteParams = // can use the manifest fallback route params. + isProduction && (prerenderInfo == null ? void 0 : prerenderInfo.fallbackRouteParams) ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2f$fallback$2d$params$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["createOpaqueFallbackRouteParams"])(prerenderInfo.fallbackRouteParams) : isDebugFallbackShell ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2f$fallback$2d$params$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getFallbackRouteParams"])(normalizedSrcPage, routeModule) : null; + // We use the response cache here to handle the revalidation and + // management of the fallback shell. + const fallbackResponse = await routeModule.handleResponse({ + cacheKey, + req, + nextConfig, + routeKind: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["RouteKind"].APP_PAGE, + isFallback: true, + prerenderManifest, + isRoutePPREnabled, + responseGenerator: async ()=>doRender({ + span, + // We pass `undefined` as rendering a fallback isn't resumed + // here. + postponed: undefined, + fallbackRouteParams, + forceStaticRender: false + }), + waitUntil: ctx.waitUntil, + isMinimalMode + }); + // If the fallback response was set to null, then we should return null. + if (fallbackResponse === null) return null; + // Otherwise, if we did get a fallback response, we should return it. + if (fallbackResponse) { + // Remove the cache control from the response to prevent it from being + // used in the surrounding cache. + delete fallbackResponse.cacheControl; + return fallbackResponse; + } + } + } + // Only requests that aren't revalidating can be resumed. If we have the + // minimal postponed data, then we should resume the render with it. + let postponed = !isOnDemandRevalidate && !isRevalidating && minimalPostponed ? minimalPostponed : undefined; + // If this is a dynamic RSC request, we should use the postponed data from + // the static render (if available). This ensures that we can utilize the + // resume data cache (RDC) from the static render to ensure that the data + // is consistent between the static and dynamic renders. + if (supportsRDCForNavigations && ("TURBOPACK compile-time value", "nodejs") !== 'edge' && !isMinimalMode && incrementalCache && isDynamicRSCRequest && // We don't typically trigger an on-demand revalidation for dynamic RSC + // requests, as we're typically revalidating the page in the background + // instead. However, if the cache entry is stale, we should trigger a + // background revalidation on dynamic RSC requests. This prevents us + // from entering an infinite loop of revalidations. + !forceStaticRender) { + const incrementalCacheEntry = await incrementalCache.get(resolvedPathname, { + kind: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].APP_PAGE, + isRoutePPREnabled: true, + isFallback: false + }); + // If the cache entry is found, we should use the postponed data from + // the cache. + if (incrementalCacheEntry && incrementalCacheEntry.value && incrementalCacheEntry.value.kind === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_PAGE) { + // CRITICAL: we're assigning the postponed data from the cache entry + // here as we're using the RDC to resume the render. + postponed = incrementalCacheEntry.value.postponed; + // If the cache entry is stale, we should trigger a background + // revalidation so that subsequent requests will get a fresh response. + if (incrementalCacheEntry && // We want to trigger this flow if the cache entry is stale and if + // the requested revalidation flow is either foreground or + // background. + (incrementalCacheEntry.isStale === -1 || incrementalCacheEntry.isStale === true)) { + // We want to schedule this on the next tick to ensure that the + // render is not blocked on it. + (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$scheduler$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["scheduleOnNextTick"])(async ()=>{ + const responseCache = routeModule.getResponseCache(req); + try { + await responseCache.revalidate(resolvedPathname, incrementalCache, isRoutePPREnabled, false, (c)=>responseGenerator({ + ...c, + // CRITICAL: we need to set this to true as we're + // revalidating in the background and typically this dynamic + // RSC request is not treated as static. + forceStaticRender: true + }), // previous cache entry here (which is stale) will switch on + // isOnDemandRevalidate and break the prerendering. + null, hasResolved, ctx.waitUntil); + } catch (err) { + console.error('Error revalidating the page in the background', err); + } + }); + } + } + } + // When we're in minimal mode, if we're trying to debug the static shell, + // we should just return nothing instead of resuming the dynamic render. + if ((isDebugStaticShell || isDebugDynamicAccesses) && typeof postponed !== 'undefined') { + return { + cacheControl: { + revalidate: 1, + expire: undefined + }, + value: { + kind: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["CachedRouteKind"].PAGES, + html: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$render$2d$result$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["default"].EMPTY, + pageData: {}, + headers: undefined, + status: undefined + } + }; + } + const fallbackRouteParams = // can use the manifest fallback route params if we need to render the + // fallback shell. + isProduction && (prerenderInfo == null ? void 0 : prerenderInfo.fallbackRouteParams) && (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getRequestMeta"])(req, 'renderFallbackShell') ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2f$fallback$2d$params$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["createOpaqueFallbackRouteParams"])(prerenderInfo.fallbackRouteParams) : isDebugFallbackShell ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2f$fallback$2d$params$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getFallbackRouteParams"])(normalizedSrcPage, routeModule) : null; + // Perform the render. + return doRender({ + span, + postponed, + fallbackRouteParams, + forceStaticRender + }); + }; + const handleResponse = async (span)=>{ + var _cacheEntry_value, _cachedData_headers; + const cacheEntry = await routeModule.handleResponse({ + cacheKey: ssgCacheKey, + responseGenerator: (c)=>responseGenerator({ + span, + ...c + }), + routeKind: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["RouteKind"].APP_PAGE, + isOnDemandRevalidate, + isRoutePPREnabled, + req, + nextConfig, + prerenderManifest, + waitUntil: ctx.waitUntil, + isMinimalMode + }); + if (isDraftMode) { + res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate'); + } + // In dev, we should not cache pages for any reason. + if (routeModule.isDev) { + res.setHeader('Cache-Control', 'no-store, must-revalidate'); + } + if (!cacheEntry) { + if (ssgCacheKey) { + // A cache entry might not be generated if a response is written + // in `getInitialProps` or `getServerSideProps`, but those shouldn't + // have a cache key. If we do have a cache key but we don't end up + // with a cache entry, then either Next.js or the application has a + // bug that needs fixing. + throw Object.defineProperty(new Error('invariant: cache entry required but not generated'), "__NEXT_ERROR_CODE", { + value: "E62", + enumerable: false, + configurable: true + }); + } + return null; + } + if (((_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) !== __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_PAGE) { + var _cacheEntry_value1; + throw Object.defineProperty(new Error(`Invariant app-page handler received invalid cache entry ${(_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind}`), "__NEXT_ERROR_CODE", { + value: "E707", + enumerable: false, + configurable: true + }); + } + const didPostpone = typeof cacheEntry.value.postponed === 'string'; + if (isSSG && // We don't want to send a cache header for requests that contain dynamic + // data. If this is a Dynamic RSC request or wasn't a Prefetch RSC + // request, then we should set the cache header. + !isDynamicRSCRequest && (!didPostpone || isPrefetchRSCRequest)) { + if (!isMinimalMode) { + // set x-nextjs-cache header to match the header + // we set for the image-optimizer + res.setHeader('x-nextjs-cache', isOnDemandRevalidate ? 'REVALIDATED' : cacheEntry.isMiss ? 'MISS' : cacheEntry.isStale ? 'STALE' : 'HIT'); + } + // Set a header used by the client router to signal the response is static + // and should respect the `static` cache staleTime value. + res.setHeader(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["NEXT_IS_PRERENDER_HEADER"], '1'); + } + const { value: cachedData } = cacheEntry; + // Coerce the cache control parameter from the render. + let cacheControl; + // If this is a resume request in minimal mode it is streamed with dynamic + // content and should not be cached. + if (minimalPostponed) { + cacheControl = { + revalidate: 0, + expire: undefined + }; + } else if (isDynamicRSCRequest) { + cacheControl = { + revalidate: 0, + expire: undefined + }; + } else if (!routeModule.isDev) { + // If this is a preview mode request, we shouldn't cache it + if (isDraftMode) { + cacheControl = { + revalidate: 0, + expire: undefined + }; + } else if (!isSSG) { + if (!res.getHeader('Cache-Control')) { + cacheControl = { + revalidate: 0, + expire: undefined + }; + } + } else if (cacheEntry.cacheControl) { + // If the cache entry has a cache control with a revalidate value that's + // a number, use it. + if (typeof cacheEntry.cacheControl.revalidate === 'number') { + var _cacheEntry_cacheControl; + if (cacheEntry.cacheControl.revalidate < 1) { + throw Object.defineProperty(new Error(`Invalid revalidate configuration provided: ${cacheEntry.cacheControl.revalidate} < 1`), "__NEXT_ERROR_CODE", { + value: "E22", + enumerable: false, + configurable: true + }); + } + cacheControl = { + revalidate: cacheEntry.cacheControl.revalidate, + expire: ((_cacheEntry_cacheControl = cacheEntry.cacheControl) == null ? void 0 : _cacheEntry_cacheControl.expire) ?? nextConfig.expireTime + }; + } else { + cacheControl = { + revalidate: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["CACHE_ONE_YEAR"], + expire: undefined + }; + } + } + } + cacheEntry.cacheControl = cacheControl; + if (typeof segmentPrefetchHeader === 'string' && (cachedData == null ? void 0 : cachedData.kind) === __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_PAGE && cachedData.segmentData) { + var _cachedData_headers1; + // This is a prefetch request issued by the client Segment Cache. These + // should never reach the application layer (lambda). We should either + // respond from the cache (HIT) or respond with 204 No Content (MISS). + // Set a header to indicate that PPR is enabled for this route. This + // lets the client distinguish between a regular cache miss and a cache + // miss due to PPR being disabled. In other contexts this header is used + // to indicate that the response contains dynamic data, but here we're + // only using it to indicate that the feature is enabled — the segment + // response itself contains whether the data is dynamic. + res.setHeader(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["NEXT_DID_POSTPONE_HEADER"], '2'); + // Add the cache tags header to the response if it exists and we're in + // minimal mode while rendering a static page. + const tags = (_cachedData_headers1 = cachedData.headers) == null ? void 0 : _cachedData_headers1[__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["NEXT_CACHE_TAGS_HEADER"]]; + if (isMinimalMode && isSSG && tags && typeof tags === 'string') { + res.setHeader(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["NEXT_CACHE_TAGS_HEADER"], tags); + } + const matchedSegment = cachedData.segmentData.get(segmentPrefetchHeader); + if (matchedSegment !== undefined) { + // Cache hit + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$send$2d$payload$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["sendRenderResult"])({ + req, + res, + generateEtags: nextConfig.generateEtags, + poweredByHeader: nextConfig.poweredByHeader, + result: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$render$2d$result$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["default"].fromStatic(matchedSegment, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["RSC_CONTENT_TYPE_HEADER"]), + cacheControl: cacheEntry.cacheControl + }); + } + // Cache miss. Either a cache entry for this route has not been generated + // (which technically should not be possible when PPR is enabled, because + // at a minimum there should always be a fallback entry) or there's no + // match for the requested segment. Respond with a 204 No Content. We + // don't bother to respond with 404, because these requests are only + // issued as part of a prefetch. + res.statusCode = 204; + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$send$2d$payload$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["sendRenderResult"])({ + req, + res, + generateEtags: nextConfig.generateEtags, + poweredByHeader: nextConfig.poweredByHeader, + result: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$render$2d$result$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["default"].EMPTY, + cacheControl: cacheEntry.cacheControl + }); + } + // If there's a callback for `onCacheEntry`, call it with the cache entry + // and the revalidate options. If we support RDC for Navigations, we + // prefer the `onCacheEntryV2` callback. Once RDC for Navigations is the + // default, we can remove the fallback to `onCacheEntry` as + // `onCacheEntryV2` is now fully supported. + const onCacheEntry = supportsRDCForNavigations ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getRequestMeta"])(req, 'onCacheEntryV2') ?? (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getRequestMeta"])(req, 'onCacheEntry') : (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getRequestMeta"])(req, 'onCacheEntry'); + if (onCacheEntry) { + const finished = await onCacheEntry(cacheEntry, { + url: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getRequestMeta"])(req, 'initURL') ?? req.url + }); + if (finished) return null; + } + if (cachedData.headers) { + const headers = { + ...cachedData.headers + }; + if (!isMinimalMode || !isSSG) { + delete headers[__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["NEXT_CACHE_TAGS_HEADER"]]; + } + for (let [key, value] of Object.entries(headers)){ + if (typeof value === 'undefined') continue; + if (Array.isArray(value)) { + for (const v of value){ + res.appendHeader(key, v); + } + } else if (typeof value === 'number') { + value = value.toString(); + res.appendHeader(key, value); + } else { + res.appendHeader(key, value); + } + } + } + // Add the cache tags header to the response if it exists and we're in + // minimal mode while rendering a static page. + const tags = (_cachedData_headers = cachedData.headers) == null ? void 0 : _cachedData_headers[__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["NEXT_CACHE_TAGS_HEADER"]]; + if (isMinimalMode && isSSG && tags && typeof tags === 'string') { + res.setHeader(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["NEXT_CACHE_TAGS_HEADER"], tags); + } + // If the request is a data request, then we shouldn't set the status code + // from the response because it should always be 200. This should be gated + // behind the experimental PPR flag. + if (cachedData.status && (!isRSCRequest || !isRoutePPREnabled)) { + res.statusCode = cachedData.status; + } + // Redirect information is encoded in RSC payload, so we don't need to use redirect status codes + if (!isMinimalMode && cachedData.status && __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$redirect$2d$status$2d$code$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["RedirectStatusCode"][cachedData.status] && isRSCRequest) { + res.statusCode = 200; + } + // Mark that the request did postpone. + if (didPostpone && !isDynamicRSCRequest) { + res.setHeader(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["NEXT_DID_POSTPONE_HEADER"], '1'); + } + // we don't go through this block when preview mode is true + // as preview mode is a dynamic request (bypasses cache) and doesn't + // generate both HTML and payloads in the same request so continue to just + // return the generated payload + if (isRSCRequest && !isDraftMode) { + // If this is a dynamic RSC request, then stream the response. + if (typeof cachedData.rscData === 'undefined') { + // If the response is not an RSC response, then we can't serve it. + if (cachedData.html.contentType !== __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["RSC_CONTENT_TYPE_HEADER"]) { + if (nextConfig.cacheComponents) { + res.statusCode = 404; + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$send$2d$payload$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["sendRenderResult"])({ + req, + res, + generateEtags: nextConfig.generateEtags, + poweredByHeader: nextConfig.poweredByHeader, + result: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$render$2d$result$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["default"].EMPTY, + cacheControl: cacheEntry.cacheControl + }); + } else { + // Otherwise this case is not expected. + throw Object.defineProperty(new __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["InvariantError"](`Expected RSC response, got ${cachedData.html.contentType}`), "__NEXT_ERROR_CODE", { + value: "E789", + enumerable: false, + configurable: true + }); + } + } + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$send$2d$payload$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["sendRenderResult"])({ + req, + res, + generateEtags: nextConfig.generateEtags, + poweredByHeader: nextConfig.poweredByHeader, + result: cachedData.html, + cacheControl: cacheEntry.cacheControl + }); + } + // As this isn't a prefetch request, we should serve the static flight + // data. + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$send$2d$payload$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["sendRenderResult"])({ + req, + res, + generateEtags: nextConfig.generateEtags, + poweredByHeader: nextConfig.poweredByHeader, + result: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$render$2d$result$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["default"].fromStatic(cachedData.rscData, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["RSC_CONTENT_TYPE_HEADER"]), + cacheControl: cacheEntry.cacheControl + }); + } + // This is a request for HTML data. + const body = cachedData.html; + // If there's no postponed state, we should just serve the HTML. This + // should also be the case for a resume request because it's completed + // as a server render (rather than a static render). + if (!didPostpone || isMinimalMode || isRSCRequest) { + // If we're in test mode, we should add a sentinel chunk to the response + // that's between the static and dynamic parts so we can compare the + // chunks and add assertions. + if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$send$2d$payload$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["sendRenderResult"])({ + req, + res, + generateEtags: nextConfig.generateEtags, + poweredByHeader: nextConfig.poweredByHeader, + result: body, + cacheControl: cacheEntry.cacheControl + }); + } + // If we're debugging the static shell or the dynamic API accesses, we + // should just serve the HTML without resuming the render. The returned + // HTML will be the static shell so all the Dynamic API's will be used + // during static generation. + if (isDebugStaticShell || isDebugDynamicAccesses) { + // Since we're not resuming the render, we need to at least add the + // closing body and html tags to create valid HTML. + body.push(new ReadableStream({ + start (controller) { + controller.enqueue(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].CLOSED.BODY_AND_HTML); + controller.close(); + } + })); + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$send$2d$payload$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["sendRenderResult"])({ + req, + res, + generateEtags: nextConfig.generateEtags, + poweredByHeader: nextConfig.poweredByHeader, + result: body, + cacheControl: { + revalidate: 0, + expire: undefined + } + }); + } + // If we're in test mode, we should add a sentinel chunk to the response + // that's between the static and dynamic parts so we can compare the + // chunks and add assertions. + if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable + ; + // This request has postponed, so let's create a new transformer that the + // dynamic data can pipe to that will attach the dynamic data to the end + // of the response. + const transformer = new TransformStream(); + body.push(transformer.readable); + // Perform the render again, but this time, provide the postponed state. + // We don't await because we want the result to start streaming now, and + // we've already chained the transformer's readable to the render result. + doRender({ + span, + postponed: cachedData.postponed, + // This is a resume render, not a fallback render, so we don't need to + // set this. + fallbackRouteParams: null, + forceStaticRender: false + }).then(async (result)=>{ + var _result_value; + if (!result) { + throw Object.defineProperty(new Error('Invariant: expected a result to be returned'), "__NEXT_ERROR_CODE", { + value: "E463", + enumerable: false, + configurable: true + }); + } + if (((_result_value = result.value) == null ? void 0 : _result_value.kind) !== __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_PAGE) { + var _result_value1; + throw Object.defineProperty(new Error(`Invariant: expected a page response, got ${(_result_value1 = result.value) == null ? void 0 : _result_value1.kind}`), "__NEXT_ERROR_CODE", { + value: "E305", + enumerable: false, + configurable: true + }); + } + // Pipe the resume result to the transformer. + await result.value.html.pipeTo(transformer.writable); + }).catch((err)=>{ + // An error occurred during piping or preparing the render, abort + // the transformers writer so we can terminate the stream. + transformer.writable.abort(err).catch((e)=>{ + console.error("couldn't abort transformer", e); + }); + }); + return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$send$2d$payload$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["sendRenderResult"])({ + req, + res, + generateEtags: nextConfig.generateEtags, + poweredByHeader: nextConfig.poweredByHeader, + result: body, + // We don't want to cache the response if it has postponed data because + // the response being sent to the client it's dynamic parts are streamed + // to the client on the same request. + cacheControl: { + revalidate: 0, + expire: undefined + } + }); + }; + // TODO: activeSpan code path is for when wrapped by + // next-server can be removed when this is no longer used + if (activeSpan) { + await handleResponse(activeSpan); + } else { + return await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$constants$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["BaseServerSpan"].handleRequest, { + spanName: `${method} ${srcPage}`, + kind: __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$tracer$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["SpanKind"].SERVER, + attributes: { + 'http.method': method, + 'http.target': req.url + } + }, handleResponse)); + } + } catch (err) { + if (!(err instanceof __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$shared$2f$lib$2f$no$2d$fallback$2d$error$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$shared$2f$lib$2f$no$2d$fallback$2d$error$2e$external$2e$js$2c$__cjs$29$__["NoFallbackError"])) { + const silenceLog = false; + await routeModule.onRequestError(req, err, { + routerKind: 'App Router', + routePath: srcPage, + routeType: 'render', + revalidateReason: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$instrumentation$2f$utils$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__["getRevalidateReason"])({ + isStaticGeneration: isSSG, + isOnDemandRevalidate + }) + }, silenceLog, routerServerContext); + } + // rethrow so that we can handle serving error page + throw err; + } +} +// TODO: omit this from production builds, only test builds should include it +/** + * Creates a readable stream that emits a PPR boundary sentinel. + * + * @returns A readable stream that emits a PPR boundary sentinel. + */ function createPPRBoundarySentinel() { + return new ReadableStream({ + start (controller) { + controller.enqueue(new TextEncoder().encode('')); + controller.close(); + } + }); +} //# sourceMappingURL=app-page.js.map +}), +"[project]/node_modules/next/dist/esm/build/templates/app-page.js?page=/registration/page { GLOBAL_ERROR_MODULE => \"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_0 => \"[project]/src/app/layout.tsx [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_1 => \"[project]/node_modules/next/dist/client/components/builtin/not-found.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_2 => \"[project]/node_modules/next/dist/client/components/builtin/forbidden.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_3 => \"[project]/node_modules/next/dist/client/components/builtin/unauthorized.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_4 => \"[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-rsc] (ecmascript, Next.js Server Component)\", MODULE_5 => \"[project]/src/app/registration/page.tsx [app-rsc] (ecmascript, Next.js Server Component)\" } [app-rsc] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "ClientPageRoot", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["ClientPageRoot"], + "ClientSegmentRoot", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["ClientSegmentRoot"], + "Fragment", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["Fragment"], + "GlobalError", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$client$2f$components$2f$builtin$2f$global$2d$error$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29$__["default"], + "HTTPAccessFallbackBoundary", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["HTTPAccessFallbackBoundary"], + "LayoutRouter", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["LayoutRouter"], + "Postpone", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["Postpone"], + "RenderFromTemplateContext", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["RenderFromTemplateContext"], + "RootLayoutBoundary", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["RootLayoutBoundary"], + "SegmentViewNode", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["SegmentViewNode"], + "SegmentViewStateNode", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["SegmentViewStateNode"], + "__next_app__", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$build$2f$templates$2f$app$2d$page$2e$js$3f$page$3d2f$registration$2f$page__$7b$__GLOBAL_ERROR_MODULE__$3d3e$__$225b$project$5d2f$node_modules$2f$next$2f$dist$2f$client$2f$components$2f$builtin$2f$global$2d$error$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29222c$__MODULE_0__$3d3e$__$225b$project$5d2f$src$2f$app$2f$layout$2e$tsx__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29222c$__MODULE_1__$3d3e$__$225b$project$5d2f$node_modules$2f$next$2f$dist$2f$client$2f$components$2f$builtin$2f$not$2d$found$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29222c$__MODULE_2__$3d3e$__$225b$project$5d2f$node_modules$2f$next$2f$dist$2f$client$2f$components$2f$builtin$2f$forbidden$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29222c$__MODULE_3__$3d3e$__$225b$project$5d2f$node_modules$2f$next$2f$dist$2f$client$2f$components$2f$builtin$2f$unauthorized$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29222c$__MODULE_4__$3d3e$__$225b$project$5d2f$node_modules$2f$next$2f$dist$2f$client$2f$components$2f$builtin$2f$global$2d$error$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29222c$__MODULE_5__$3d3e$__$225b$project$5d2f$src$2f$app$2f$registration$2f$page$2e$tsx__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$2922$__$7d$__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$locals$3e$__["__next_app__"], + "actionAsyncStorage", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["actionAsyncStorage"], + "captureOwnerStack", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["captureOwnerStack"], + "collectSegmentData", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["collectSegmentData"], + "createElement", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["createElement"], + "createMetadataComponents", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["createMetadataComponents"], + "createPrerenderParamsForClientSegment", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["createPrerenderParamsForClientSegment"], + "createPrerenderSearchParamsForClientPage", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["createPrerenderSearchParamsForClientPage"], + "createServerParamsForServerSegment", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["createServerParamsForServerSegment"], + "createServerSearchParamsForServerPage", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["createServerSearchParamsForServerPage"], + "createTemporaryReferenceSet", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["createTemporaryReferenceSet"], + "decodeAction", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["decodeAction"], + "decodeFormState", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["decodeFormState"], + "decodeReply", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["decodeReply"], + "handler", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$build$2f$templates$2f$app$2d$page$2e$js$3f$page$3d2f$registration$2f$page__$7b$__GLOBAL_ERROR_MODULE__$3d3e$__$225b$project$5d2f$node_modules$2f$next$2f$dist$2f$client$2f$components$2f$builtin$2f$global$2d$error$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29222c$__MODULE_0__$3d3e$__$225b$project$5d2f$src$2f$app$2f$layout$2e$tsx__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29222c$__MODULE_1__$3d3e$__$225b$project$5d2f$node_modules$2f$next$2f$dist$2f$client$2f$components$2f$builtin$2f$not$2d$found$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29222c$__MODULE_2__$3d3e$__$225b$project$5d2f$node_modules$2f$next$2f$dist$2f$client$2f$components$2f$builtin$2f$forbidden$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29222c$__MODULE_3__$3d3e$__$225b$project$5d2f$node_modules$2f$next$2f$dist$2f$client$2f$components$2f$builtin$2f$unauthorized$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29222c$__MODULE_4__$3d3e$__$225b$project$5d2f$node_modules$2f$next$2f$dist$2f$client$2f$components$2f$builtin$2f$global$2d$error$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29222c$__MODULE_5__$3d3e$__$225b$project$5d2f$src$2f$app$2f$registration$2f$page$2e$tsx__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$2922$__$7d$__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$locals$3e$__["handler"], + "patchFetch", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["patchFetch"], + "preconnect", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["preconnect"], + "preloadFont", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["preloadFont"], + "preloadStyle", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["preloadStyle"], + "prerender", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["prerender"], + "renderToReadableStream", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["renderToReadableStream"], + "routeModule", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$build$2f$templates$2f$app$2d$page$2e$js$3f$page$3d2f$registration$2f$page__$7b$__GLOBAL_ERROR_MODULE__$3d3e$__$225b$project$5d2f$node_modules$2f$next$2f$dist$2f$client$2f$components$2f$builtin$2f$global$2d$error$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29222c$__MODULE_0__$3d3e$__$225b$project$5d2f$src$2f$app$2f$layout$2e$tsx__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29222c$__MODULE_1__$3d3e$__$225b$project$5d2f$node_modules$2f$next$2f$dist$2f$client$2f$components$2f$builtin$2f$not$2d$found$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29222c$__MODULE_2__$3d3e$__$225b$project$5d2f$node_modules$2f$next$2f$dist$2f$client$2f$components$2f$builtin$2f$forbidden$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29222c$__MODULE_3__$3d3e$__$225b$project$5d2f$node_modules$2f$next$2f$dist$2f$client$2f$components$2f$builtin$2f$unauthorized$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29222c$__MODULE_4__$3d3e$__$225b$project$5d2f$node_modules$2f$next$2f$dist$2f$client$2f$components$2f$builtin$2f$global$2d$error$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29222c$__MODULE_5__$3d3e$__$225b$project$5d2f$src$2f$app$2f$registration$2f$page$2e$tsx__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$2922$__$7d$__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$locals$3e$__["routeModule"], + "serverHooks", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["serverHooks"], + "taintObjectReference", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["taintObjectReference"], + "workAsyncStorage", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["workAsyncStorage"], + "workUnitAsyncStorage", + ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__["workUnitAsyncStorage"] +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$build$2f$templates$2f$app$2d$page$2e$js$3f$page$3d2f$registration$2f$page__$7b$__GLOBAL_ERROR_MODULE__$3d3e$__$225b$project$5d2f$node_modules$2f$next$2f$dist$2f$client$2f$components$2f$builtin$2f$global$2d$error$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29222c$__MODULE_0__$3d3e$__$225b$project$5d2f$src$2f$app$2f$layout$2e$tsx__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29222c$__MODULE_1__$3d3e$__$225b$project$5d2f$node_modules$2f$next$2f$dist$2f$client$2f$components$2f$builtin$2f$not$2d$found$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29222c$__MODULE_2__$3d3e$__$225b$project$5d2f$node_modules$2f$next$2f$dist$2f$client$2f$components$2f$builtin$2f$forbidden$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29222c$__MODULE_3__$3d3e$__$225b$project$5d2f$node_modules$2f$next$2f$dist$2f$client$2f$components$2f$builtin$2f$unauthorized$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29222c$__MODULE_4__$3d3e$__$225b$project$5d2f$node_modules$2f$next$2f$dist$2f$client$2f$components$2f$builtin$2f$global$2d$error$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29222c$__MODULE_5__$3d3e$__$225b$project$5d2f$src$2f$app$2f$registration$2f$page$2e$tsx__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$2922$__$7d$__$5b$app$2d$rsc$5d$__$28$ecmascript$29$__$3c$locals$3e$__ = __turbopack_context__.i('[project]/node_modules/next/dist/esm/build/templates/app-page.js?page=/registration/page { GLOBAL_ERROR_MODULE => "[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-rsc] (ecmascript, Next.js Server Component)", MODULE_0 => "[project]/src/app/layout.tsx [app-rsc] (ecmascript, Next.js Server Component)", MODULE_1 => "[project]/node_modules/next/dist/client/components/builtin/not-found.js [app-rsc] (ecmascript, Next.js Server Component)", MODULE_2 => "[project]/node_modules/next/dist/client/components/builtin/forbidden.js [app-rsc] (ecmascript, Next.js Server Component)", MODULE_3 => "[project]/node_modules/next/dist/client/components/builtin/unauthorized.js [app-rsc] (ecmascript, Next.js Server Component)", MODULE_4 => "[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-rsc] (ecmascript, Next.js Server Component)", MODULE_5 => "[project]/src/app/registration/page.tsx [app-rsc] (ecmascript, Next.js Server Component)" } [app-rsc] (ecmascript) '); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$client$2f$components$2f$builtin$2f$global$2d$error$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__Server__Component$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/client/components/builtin/global-error.js [app-rsc] (ecmascript, Next.js Server Component)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$entry$2d$base$2e$js__$5b$app$2d$rsc$5d$__$28$ecmascript$2c$__Next$2e$js__server__utility$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/esm/server/app-render/entry-base.js [app-rsc] (ecmascript, Next.js server utility)"); +}), +]; + +//# sourceMappingURL=node_modules_next_dist_6643d7da._.js.map \ No newline at end of file diff --git a/.next/dev/server/chunks/ssr/node_modules_next_dist_6643d7da._.js.map b/.next/dev/server/chunks/ssr/node_modules_next_dist_6643d7da._.js.map new file mode 100644 index 0000000..562a7f1 --- /dev/null +++ b/.next/dev/server/chunks/ssr/node_modules_next_dist_6643d7da._.js.map @@ -0,0 +1,44 @@ +{ + "version": 3, + "sources": [], + "sections": [ + {"offset": {"line": 3, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/server/route-modules/app-page/module.compiled.js"],"sourcesContent":["if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/app-page/module.js')\n} else {\n if (process.env.__NEXT_EXPERIMENTAL_REACT) {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page-experimental.runtime.prod.js')\n }\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/app-page-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/app-page.runtime.prod.js')\n }\n }\n }\n}\n"],"names":["process","env","NEXT_RUNTIME","module","exports","require","__NEXT_EXPERIMENTAL_REACT","NODE_ENV","TURBOPACK"],"mappings":"AAAA,IAAIA,QAAQC,GAAG,CAACC,YAAY,KAAK,QAAQ;;KAElC;IACL,IAAIF,QAAQC,GAAG,CAACK,yBAAyB,EAAE;;SAcpC;QACL,IAAIN,QAAQC,GAAG,CAACM,QAAQ,KAAK,WAAe;YAC1C,IAAIP,QAAQC,GAAG,CAACO,SAAS,eAAE;gBACzBL,OAAOC,OAAO,GAAGC,QAAQ;YAC3B,OAAO;;QAGT,OAAO;;IAOT;AACF","ignoreList":[0]}}, + {"offset": {"line": 25, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/server/instrumentation/utils.ts"],"sourcesContent":["export function getRevalidateReason(params: {\n isOnDemandRevalidate?: boolean\n isStaticGeneration?: boolean\n}): 'on-demand' | 'stale' | undefined {\n if (params.isOnDemandRevalidate) {\n return 'on-demand'\n }\n if (params.isStaticGeneration) {\n return 'stale'\n }\n return undefined\n}\n"],"names":["getRevalidateReason","params","isOnDemandRevalidate","isStaticGeneration","undefined"],"mappings":";;;;AAAO,SAASA,oBAAoBC,MAGnC;IACC,IAAIA,OAAOC,oBAAoB,EAAE;QAC/B,OAAO;IACT;IACA,IAAID,OAAOE,kBAAkB,EAAE;QAC7B,OAAO;IACT;IACA,OAAOC;AACT","ignoreList":[0]}}, + {"offset": {"line": 42, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/server/app-render/interop-default.ts"],"sourcesContent":["/**\n * Interop between \"export default\" and \"module.exports\".\n */\nexport function interopDefault(mod: any) {\n return mod.default || mod\n}\n"],"names":["interopDefault","mod","default"],"mappings":"AAAA;;CAEC,GACD;;;;AAAO,SAASA,eAAeC,GAAQ;IACrC,OAAOA,IAAIC,OAAO,IAAID;AACxB","ignoreList":[0]}}, + {"offset": {"line": 55, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/server/app-render/strip-flight-headers.ts"],"sourcesContent":["import type { IncomingHttpHeaders } from 'node:http'\n\nimport { FLIGHT_HEADERS } from '../../client/components/app-router-headers'\n\n/**\n * Removes the flight headers from the request.\n *\n * @param req the request to strip the headers from\n */\nexport function stripFlightHeaders(headers: IncomingHttpHeaders) {\n for (const header of FLIGHT_HEADERS) {\n delete headers[header]\n }\n}\n"],"names":["FLIGHT_HEADERS","stripFlightHeaders","headers","header"],"mappings":";;;;AAEA,SAASA,cAAc,QAAQ,6CAA4C;;AAOpE,SAASC,mBAAmBC,OAA4B;IAC7D,KAAK,MAAMC,UAAUH,yMAAAA,CAAgB;QACnC,OAAOE,OAAO,CAACC,OAAO;IACxB;AACF","ignoreList":[0]}}, + {"offset": {"line": 70, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/server/web/spec-extension/adapters/headers.ts"],"sourcesContent":["import type { IncomingHttpHeaders } from 'http'\n\nimport { ReflectAdapter } from './reflect'\n\n/**\n * @internal\n */\nexport class ReadonlyHeadersError extends Error {\n constructor() {\n super(\n 'Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers'\n )\n }\n\n public static callable() {\n throw new ReadonlyHeadersError()\n }\n}\n\nexport type ReadonlyHeaders = Headers & {\n /** @deprecated Method unavailable on `ReadonlyHeaders`. Read more: https://nextjs.org/docs/app/api-reference/functions/headers */\n append(...args: any[]): void\n /** @deprecated Method unavailable on `ReadonlyHeaders`. Read more: https://nextjs.org/docs/app/api-reference/functions/headers */\n set(...args: any[]): void\n /** @deprecated Method unavailable on `ReadonlyHeaders`. Read more: https://nextjs.org/docs/app/api-reference/functions/headers */\n delete(...args: any[]): void\n}\nexport class HeadersAdapter extends Headers {\n private readonly headers: IncomingHttpHeaders\n\n constructor(headers: IncomingHttpHeaders) {\n // We've already overridden the methods that would be called, so we're just\n // calling the super constructor to ensure that the instanceof check works.\n super()\n\n this.headers = new Proxy(headers, {\n get(target, prop, receiver) {\n // Because this is just an object, we expect that all \"get\" operations\n // are for properties. If it's a \"get\" for a symbol, we'll just return\n // the symbol.\n if (typeof prop === 'symbol') {\n return ReflectAdapter.get(target, prop, receiver)\n }\n\n const lowercased = prop.toLowerCase()\n\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find(\n (o) => o.toLowerCase() === lowercased\n )\n\n // If the original casing doesn't exist, return undefined.\n if (typeof original === 'undefined') return\n\n // If the original casing exists, return the value.\n return ReflectAdapter.get(target, original, receiver)\n },\n set(target, prop, value, receiver) {\n if (typeof prop === 'symbol') {\n return ReflectAdapter.set(target, prop, value, receiver)\n }\n\n const lowercased = prop.toLowerCase()\n\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find(\n (o) => o.toLowerCase() === lowercased\n )\n\n // If the original casing doesn't exist, use the prop as the key.\n return ReflectAdapter.set(target, original ?? prop, value, receiver)\n },\n has(target, prop) {\n if (typeof prop === 'symbol') return ReflectAdapter.has(target, prop)\n\n const lowercased = prop.toLowerCase()\n\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find(\n (o) => o.toLowerCase() === lowercased\n )\n\n // If the original casing doesn't exist, return false.\n if (typeof original === 'undefined') return false\n\n // If the original casing exists, return true.\n return ReflectAdapter.has(target, original)\n },\n deleteProperty(target, prop) {\n if (typeof prop === 'symbol')\n return ReflectAdapter.deleteProperty(target, prop)\n\n const lowercased = prop.toLowerCase()\n\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find(\n (o) => o.toLowerCase() === lowercased\n )\n\n // If the original casing doesn't exist, return true.\n if (typeof original === 'undefined') return true\n\n // If the original casing exists, delete the property.\n return ReflectAdapter.deleteProperty(target, original)\n },\n })\n }\n\n /**\n * Seals a Headers instance to prevent modification by throwing an error when\n * any mutating method is called.\n */\n public static seal(headers: Headers): ReadonlyHeaders {\n return new Proxy(headers, {\n get(target, prop, receiver) {\n switch (prop) {\n case 'append':\n case 'delete':\n case 'set':\n return ReadonlyHeadersError.callable\n default:\n return ReflectAdapter.get(target, prop, receiver)\n }\n },\n })\n }\n\n /**\n * Merges a header value into a string. This stores multiple values as an\n * array, so we need to merge them into a string.\n *\n * @param value a header value\n * @returns a merged header value (a string)\n */\n private merge(value: string | string[]): string {\n if (Array.isArray(value)) return value.join(', ')\n\n return value\n }\n\n /**\n * Creates a Headers instance from a plain object or a Headers instance.\n *\n * @param headers a plain object or a Headers instance\n * @returns a headers instance\n */\n public static from(headers: IncomingHttpHeaders | Headers): Headers {\n if (headers instanceof Headers) return headers\n\n return new HeadersAdapter(headers)\n }\n\n public append(name: string, value: string): void {\n const existing = this.headers[name]\n if (typeof existing === 'string') {\n this.headers[name] = [existing, value]\n } else if (Array.isArray(existing)) {\n existing.push(value)\n } else {\n this.headers[name] = value\n }\n }\n\n public delete(name: string): void {\n delete this.headers[name]\n }\n\n public get(name: string): string | null {\n const value = this.headers[name]\n if (typeof value !== 'undefined') return this.merge(value)\n\n return null\n }\n\n public has(name: string): boolean {\n return typeof this.headers[name] !== 'undefined'\n }\n\n public set(name: string, value: string): void {\n this.headers[name] = value\n }\n\n public forEach(\n callbackfn: (value: string, name: string, parent: Headers) => void,\n thisArg?: any\n ): void {\n for (const [name, value] of this.entries()) {\n callbackfn.call(thisArg, value, name, this)\n }\n }\n\n public *entries(): HeadersIterator<[string, string]> {\n for (const key of Object.keys(this.headers)) {\n const name = key.toLowerCase()\n // We assert here that this is a string because we got it from the\n // Object.keys() call above.\n const value = this.get(name) as string\n\n yield [name, value] as [string, string]\n }\n }\n\n public *keys(): HeadersIterator {\n for (const key of Object.keys(this.headers)) {\n const name = key.toLowerCase()\n yield name\n }\n }\n\n public *values(): HeadersIterator {\n for (const key of Object.keys(this.headers)) {\n // We assert here that this is a string because we got it from the\n // Object.keys() call above.\n const value = this.get(key) as string\n\n yield value\n }\n }\n\n public [Symbol.iterator](): HeadersIterator<[string, string]> {\n return this.entries()\n }\n}\n"],"names":["ReflectAdapter","ReadonlyHeadersError","Error","constructor","callable","HeadersAdapter","Headers","headers","Proxy","get","target","prop","receiver","lowercased","toLowerCase","original","Object","keys","find","o","set","value","has","deleteProperty","seal","merge","Array","isArray","join","from","append","name","existing","push","delete","forEach","callbackfn","thisArg","entries","call","key","values","Symbol","iterator"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 248, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/dist/compiled/cookie/index.js"],"sourcesContent":["(()=>{\"use strict\";if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var e={};(()=>{var r=e;\n/*!\n * cookie\n * Copyright(c) 2012-2014 Roman Shtylman\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */r.parse=parse;r.serialize=serialize;var i=decodeURIComponent;var t=encodeURIComponent;var a=/; */;var n=/^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;function parse(e,r){if(typeof e!==\"string\"){throw new TypeError(\"argument str must be a string\")}var t={};var n=r||{};var o=e.split(a);var s=n.decode||i;for(var p=0;p\nexport type NextApiRequestQuery = Partial<{ [key: string]: string | string[] }>\n\nexport type __ApiPreviewProps = {\n previewModeId: string\n previewModeEncryptionKey: string\n previewModeSigningKey: string\n}\n\nexport function wrapApiHandler any>(\n page: string,\n handler: T\n): T {\n return ((...args) => {\n getTracer().setRootSpanAttribute('next.route', page)\n // Call API route method\n return getTracer().trace(\n NodeSpan.runHandler,\n {\n spanName: `executing api route (pages) ${page}`,\n },\n () => handler(...args)\n )\n }) as T\n}\n\n/**\n *\n * @param res response object\n * @param statusCode `HTTP` status code of response\n */\nexport function sendStatusCode(\n res: NextApiResponse,\n statusCode: number\n): NextApiResponse {\n res.statusCode = statusCode\n return res\n}\n\n/**\n *\n * @param res response object\n * @param [statusOrUrl] `HTTP` status code of redirect\n * @param url URL of redirect\n */\nexport function redirect(\n res: NextApiResponse,\n statusOrUrl: string | number,\n url?: string\n): NextApiResponse {\n if (typeof statusOrUrl === 'string') {\n url = statusOrUrl\n statusOrUrl = 307\n }\n if (typeof statusOrUrl !== 'number' || typeof url !== 'string') {\n throw new Error(\n `Invalid redirect arguments. Please use a single argument URL, e.g. res.redirect('/destination') or use a status code and URL, e.g. res.redirect(307, '/destination').`\n )\n }\n res.writeHead(statusOrUrl, { Location: url })\n res.write(url)\n res.end()\n return res\n}\n\nexport function checkIsOnDemandRevalidate(\n req: Request | IncomingMessage | BaseNextRequest,\n previewProps: __ApiPreviewProps\n): {\n isOnDemandRevalidate: boolean\n revalidateOnlyGenerated: boolean\n} {\n const headers = HeadersAdapter.from(req.headers)\n\n const previewModeId = headers.get(PRERENDER_REVALIDATE_HEADER)\n const isOnDemandRevalidate = previewModeId === previewProps.previewModeId\n\n const revalidateOnlyGenerated = headers.has(\n PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER\n )\n\n return { isOnDemandRevalidate, revalidateOnlyGenerated }\n}\n\nexport const COOKIE_NAME_PRERENDER_BYPASS = `__prerender_bypass`\nexport const COOKIE_NAME_PRERENDER_DATA = `__next_preview_data`\n\nexport const RESPONSE_LIMIT_DEFAULT = 4 * 1024 * 1024\n\nexport const SYMBOL_PREVIEW_DATA = Symbol(COOKIE_NAME_PRERENDER_DATA)\nexport const SYMBOL_CLEARED_COOKIES = Symbol(COOKIE_NAME_PRERENDER_BYPASS)\n\nexport function clearPreviewData(\n res: NextApiResponse,\n options: {\n path?: string\n } = {}\n): NextApiResponse {\n if (SYMBOL_CLEARED_COOKIES in res) {\n return res\n }\n\n const { serialize } =\n require('next/dist/compiled/cookie') as typeof import('next/dist/compiled/cookie')\n const previous = res.getHeader('Set-Cookie')\n res.setHeader(`Set-Cookie`, [\n ...(typeof previous === 'string'\n ? [previous]\n : Array.isArray(previous)\n ? previous\n : []),\n serialize(COOKIE_NAME_PRERENDER_BYPASS, '', {\n // To delete a cookie, set `expires` to a date in the past:\n // https://tools.ietf.org/html/rfc6265#section-4.1.1\n // `Max-Age: 0` is not valid, thus ignored, and the cookie is persisted.\n expires: new Date(0),\n httpOnly: true,\n sameSite: process.env.NODE_ENV !== 'development' ? 'none' : 'lax',\n secure: process.env.NODE_ENV !== 'development',\n path: '/',\n ...(options.path !== undefined\n ? ({ path: options.path } as CookieSerializeOptions)\n : undefined),\n }),\n serialize(COOKIE_NAME_PRERENDER_DATA, '', {\n // To delete a cookie, set `expires` to a date in the past:\n // https://tools.ietf.org/html/rfc6265#section-4.1.1\n // `Max-Age: 0` is not valid, thus ignored, and the cookie is persisted.\n expires: new Date(0),\n httpOnly: true,\n sameSite: process.env.NODE_ENV !== 'development' ? 'none' : 'lax',\n secure: process.env.NODE_ENV !== 'development',\n path: '/',\n ...(options.path !== undefined\n ? ({ path: options.path } as CookieSerializeOptions)\n : undefined),\n }),\n ])\n\n Object.defineProperty(res, SYMBOL_CLEARED_COOKIES, {\n value: true,\n enumerable: false,\n })\n return res\n}\n\n/**\n * Custom error class\n */\nexport class ApiError extends Error {\n readonly statusCode: number\n\n constructor(statusCode: number, message: string) {\n super(message)\n this.statusCode = statusCode\n }\n}\n\n/**\n * Sends error in `response`\n * @param res response object\n * @param statusCode of response\n * @param message of response\n */\nexport function sendError(\n res: NextApiResponse,\n statusCode: number,\n message: string\n): void {\n res.statusCode = statusCode\n res.statusMessage = message\n res.end(message)\n}\n\ninterface LazyProps {\n req: IncomingMessage\n}\n\n/**\n * Execute getter function only if its needed\n * @param LazyProps `req` and `params` for lazyProp\n * @param prop name of property\n * @param getter function to get data\n */\nexport function setLazyProp(\n { req }: LazyProps,\n prop: string,\n getter: () => T\n): void {\n const opts = { configurable: true, enumerable: true }\n const optsReset = { ...opts, writable: true }\n\n Object.defineProperty(req, prop, {\n ...opts,\n get: () => {\n const value = getter()\n // we set the property on the object to avoid recalculating it\n Object.defineProperty(req, prop, { ...optsReset, value })\n return value\n },\n set: (value) => {\n Object.defineProperty(req, prop, { ...optsReset, value })\n },\n })\n}\n"],"names":["HeadersAdapter","PRERENDER_REVALIDATE_HEADER","PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER","getTracer","NodeSpan","wrapApiHandler","page","handler","args","setRootSpanAttribute","trace","runHandler","spanName","sendStatusCode","res","statusCode","redirect","statusOrUrl","url","Error","writeHead","Location","write","end","checkIsOnDemandRevalidate","req","previewProps","headers","from","previewModeId","get","isOnDemandRevalidate","revalidateOnlyGenerated","has","COOKIE_NAME_PRERENDER_BYPASS","COOKIE_NAME_PRERENDER_DATA","RESPONSE_LIMIT_DEFAULT","SYMBOL_PREVIEW_DATA","Symbol","SYMBOL_CLEARED_COOKIES","clearPreviewData","options","serialize","require","previous","getHeader","setHeader","Array","isArray","expires","Date","httpOnly","sameSite","process","env","NODE_ENV","secure","path","undefined","Object","defineProperty","value","enumerable","ApiError","constructor","message","sendError","statusMessage","setLazyProp","prop","getter","opts","configurable","optsReset","writable","set"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,SAASA,cAAc,QAAQ,yCAAwC;AACvE,SACEC,2BAA2B,EAC3BC,0CAA0C,QACrC,sBAAqB;AAC5B,SAASC,SAAS,QAAQ,sBAAqB;AAC/C,SAASC,QAAQ,QAAQ,yBAAwB;;;;;AAW1C,SAASC,eACdC,IAAY,EACZC,OAAU;IAEV,OAAQ,CAAC,GAAGC;YACVL,oLAAAA,IAAYM,oBAAoB,CAAC,cAAcH;QAC/C,wBAAwB;QACxB,WAAOH,oLAAAA,IAAYO,KAAK,CACtBN,sLAAAA,CAASO,UAAU,EACnB;YACEC,UAAU,CAAC,4BAA4B,EAAEN,MAAM;QACjD,GACA,IAAMC,WAAWC;IAErB;AACF;AAOO,SAASK,eACdC,GAAoB,EACpBC,UAAkB;IAElBD,IAAIC,UAAU,GAAGA;IACjB,OAAOD;AACT;AAQO,SAASE,SACdF,GAAoB,EACpBG,WAA4B,EAC5BC,GAAY;IAEZ,IAAI,OAAOD,gBAAgB,UAAU;QACnCC,MAAMD;QACNA,cAAc;IAChB;IACA,IAAI,OAAOA,gBAAgB,YAAY,OAAOC,QAAQ,UAAU;QAC9D,MAAM,OAAA,cAEL,CAFK,IAAIC,MACR,CAAC,qKAAqK,CAAC,GADnK,qBAAA;mBAAA;wBAAA;0BAAA;QAEN;IACF;IACAL,IAAIM,SAAS,CAACH,aAAa;QAAEI,UAAUH;IAAI;IAC3CJ,IAAIQ,KAAK,CAACJ;IACVJ,IAAIS,GAAG;IACP,OAAOT;AACT;AAEO,SAASU,0BACdC,GAAgD,EAChDC,YAA+B;IAK/B,MAAMC,UAAU3B,kNAAAA,CAAe4B,IAAI,CAACH,IAAIE,OAAO;IAE/C,MAAME,gBAAgBF,QAAQG,GAAG,CAAC7B,sLAAAA;IAClC,MAAM8B,uBAAuBF,kBAAkBH,aAAaG,aAAa;IAEzE,MAAMG,0BAA0BL,QAAQM,GAAG,CACzC/B,qMAAAA;IAGF,OAAO;QAAE6B;QAAsBC;IAAwB;AACzD;AAEO,MAAME,+BAA+B,CAAC,kBAAkB,CAAC,CAAA;AACzD,MAAMC,6BAA6B,CAAC,mBAAmB,CAAC,CAAA;AAExD,MAAMC,yBAAyB,IAAI,OAAO,KAAI;AAE9C,MAAMC,sBAAsBC,OAAOH,4BAA2B;AAC9D,MAAMI,yBAAyBD,OAAOJ,8BAA6B;AAEnE,SAASM,iBACd1B,GAAuB,EACvB2B,UAEI,CAAC,CAAC;IAEN,IAAIF,0BAA0BzB,KAAK;QACjC,OAAOA;IACT;IAEA,MAAM,EAAE4B,SAAS,EAAE,GACjBC,QAAQ;IACV,MAAMC,WAAW9B,IAAI+B,SAAS,CAAC;IAC/B/B,IAAIgC,SAAS,CAAC,CAAC,UAAU,CAAC,EAAE;WACtB,OAAOF,aAAa,WACpB;YAACA;SAAS,GACVG,MAAMC,OAAO,CAACJ,YACZA,WACA,EAAE;QACRF,UAAUR,8BAA8B,IAAI;YAC1C,2DAA2D;YAC3D,oDAAoD;YACpD,wEAAwE;YACxEe,SAAS,IAAIC,KAAK;YAClBC,UAAU;YACVC,UAAUC,QAAQC,GAAG,CAACC,QAAQ,KAAK,aAAgB,0BAAS;YAC5DC,QAAQH,QAAQC,GAAG,CAACC,QAAQ,gCAAK;YACjCE,MAAM;YACN,GAAIhB,QAAQgB,IAAI,KAAKC,YAChB;gBAAED,MAAMhB,QAAQgB,IAAI;YAAC,IACtBC,SAAS;QACf;QACAhB,UAAUP,4BAA4B,IAAI;YACxC,2DAA2D;YAC3D,oDAAoD;YACpD,wEAAwE;YACxEc,SAAS,IAAIC,KAAK;YAClBC,UAAU;YACVC,UAAUC,QAAQC,GAAG,CAACC,QAAQ,KAAK,aAAgB,0BAAS;YAC5DC,QAAQH,QAAQC,GAAG,CAACC,QAAQ,gCAAK;YACjCE,MAAM;YACN,GAAIhB,QAAQgB,IAAI,KAAKC,YAChB;gBAAED,MAAMhB,QAAQgB,IAAI;YAAC,IACtBC,SAAS;QACf;KACD;IAEDC,OAAOC,cAAc,CAAC9C,KAAKyB,wBAAwB;QACjDsB,OAAO;QACPC,YAAY;IACd;IACA,OAAOhD;AACT;AAKO,MAAMiD,iBAAiB5C;IAG5B6C,YAAYjD,UAAkB,EAAEkD,OAAe,CAAE;QAC/C,KAAK,CAACA;QACN,IAAI,CAAClD,UAAU,GAAGA;IACpB;AACF;AAQO,SAASmD,UACdpD,GAAoB,EACpBC,UAAkB,EAClBkD,OAAe;IAEfnD,IAAIC,UAAU,GAAGA;IACjBD,IAAIqD,aAAa,GAAGF;IACpBnD,IAAIS,GAAG,CAAC0C;AACV;AAYO,SAASG,YACd,EAAE3C,GAAG,EAAa,EAClB4C,IAAY,EACZC,MAAe;IAEf,MAAMC,OAAO;QAAEC,cAAc;QAAMV,YAAY;IAAK;IACpD,MAAMW,YAAY;QAAE,GAAGF,IAAI;QAAEG,UAAU;IAAK;IAE5Cf,OAAOC,cAAc,CAACnC,KAAK4C,MAAM;QAC/B,GAAGE,IAAI;QACPzC,KAAK;YACH,MAAM+B,QAAQS;YACd,8DAA8D;YAC9DX,OAAOC,cAAc,CAACnC,KAAK4C,MAAM;gBAAE,GAAGI,SAAS;gBAAEZ;YAAM;YACvD,OAAOA;QACT;QACAc,KAAK,CAACd;YACJF,OAAOC,cAAc,CAACnC,KAAK4C,MAAM;gBAAE,GAAGI,SAAS;gBAAEZ;YAAM;QACzD;IACF;AACF","ignoreList":[0]}}, + {"offset": {"line": 539, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/server/api-utils/get-cookie-parser.ts"],"sourcesContent":["import type { NextApiRequestCookies } from '.'\n\n/**\n * Parse cookies from the `headers` of request\n * @param req request object\n */\n\nexport function getCookieParser(headers: {\n [key: string]: string | string[] | null | undefined\n}): () => NextApiRequestCookies {\n return function parseCookie(): NextApiRequestCookies {\n const { cookie } = headers\n\n if (!cookie) {\n return {}\n }\n\n const { parse: parseCookieFn } =\n require('next/dist/compiled/cookie') as typeof import('next/dist/compiled/cookie')\n return parseCookieFn(Array.isArray(cookie) ? cookie.join('; ') : cookie)\n }\n}\n"],"names":["getCookieParser","headers","parseCookie","cookie","parse","parseCookieFn","require","Array","isArray","join"],"mappings":"AAEA;;;CAGC,GAED;;;;AAAO,SAASA,gBAAgBC,OAE/B;IACC,OAAO,SAASC;QACd,MAAM,EAAEC,MAAM,EAAE,GAAGF;QAEnB,IAAI,CAACE,QAAQ;YACX,OAAO,CAAC;QACV;QAEA,MAAM,EAAEC,OAAOC,aAAa,EAAE,GAC5BC,QAAQ;QACV,OAAOD,cAAcE,MAAMC,OAAO,CAACL,UAAUA,OAAOM,IAAI,CAAC,QAAQN;IACnE;AACF","ignoreList":[0]}}, + {"offset": {"line": 560, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/server/base-http/index.ts"],"sourcesContent":["import type { IncomingHttpHeaders, OutgoingHttpHeaders } from 'http'\nimport type { I18NConfig } from '../config-shared'\n\nimport { RedirectStatusCode } from '../../client/components/redirect-status-code'\nimport type { NextApiRequestCookies } from '../api-utils'\nimport { getCookieParser } from '../api-utils/get-cookie-parser'\n\nexport interface BaseNextRequestConfig {\n basePath: string | undefined\n i18n?: I18NConfig\n trailingSlash?: boolean | undefined\n}\n\nexport type FetchMetric = {\n url: string\n idx: number\n end: number\n start: number\n method: string\n status: number\n cacheReason: string\n cacheStatus: 'hit' | 'miss' | 'skip' | 'hmr'\n cacheWarning?: string\n}\n\nexport type FetchMetrics = Array\n\nexport abstract class BaseNextRequest {\n protected _cookies: NextApiRequestCookies | undefined\n public abstract headers: IncomingHttpHeaders\n public abstract fetchMetrics: FetchMetric[] | undefined\n\n constructor(\n public method: string,\n public url: string,\n public body: Body\n ) {}\n\n // Utils implemented using the abstract methods above\n\n public get cookies() {\n if (this._cookies) return this._cookies\n return (this._cookies = getCookieParser(this.headers)())\n }\n}\n\nexport abstract class BaseNextResponse {\n abstract statusCode: number | undefined\n abstract statusMessage: string | undefined\n abstract get sent(): boolean\n\n constructor(public destination: Destination) {}\n\n /**\n * Sets a value for the header overwriting existing values\n */\n abstract setHeader(name: string, value: string | string[]): this\n\n /**\n * Removes a header\n */\n abstract removeHeader(name: string): this\n\n /**\n * Appends value for the given header name\n */\n abstract appendHeader(name: string, value: string): this\n\n /**\n * Get all values for a header as an array or undefined if no value is present\n */\n abstract getHeaderValues(name: string): string[] | undefined\n\n abstract hasHeader(name: string): boolean\n\n /**\n * Get values for a header concatenated using `,` or undefined if no value is present\n */\n abstract getHeader(name: string): string | undefined\n\n abstract getHeaders(): OutgoingHttpHeaders\n\n abstract body(value: string): this\n\n abstract send(): void\n\n abstract onClose(callback: () => void): void\n\n // Utils implemented using the abstract methods above\n\n public redirect(destination: string, statusCode: number) {\n this.setHeader('Location', destination)\n this.statusCode = statusCode\n\n // Since IE11 doesn't support the 308 header add backwards\n // compatibility using refresh header\n if (statusCode === RedirectStatusCode.PermanentRedirect) {\n this.setHeader('Refresh', `0;url=${destination}`)\n }\n\n return this\n }\n}\n"],"names":["RedirectStatusCode","getCookieParser","BaseNextRequest","constructor","method","url","body","cookies","_cookies","headers","BaseNextResponse","destination","redirect","statusCode","setHeader","PermanentRedirect"],"mappings":";;;;;;AAGA,SAASA,kBAAkB,QAAQ,+CAA8C;AAEjF,SAASC,eAAe,QAAQ,iCAAgC;;;AAsBzD,MAAeC;IAKpBC,YACSC,MAAc,EACdC,GAAW,EACXC,IAAU,CACjB;aAHOF,MAAAA,GAAAA;aACAC,GAAAA,GAAAA;aACAC,IAAAA,GAAAA;IACN;IAEH,qDAAqD;IAErD,IAAWC,UAAU;QACnB,IAAI,IAAI,CAACC,QAAQ,EAAE,OAAO,IAAI,CAACA,QAAQ;QACvC,OAAQ,IAAI,CAACA,QAAQ,OAAGP,2MAAAA,EAAgB,IAAI,CAACQ,OAAO;IACtD;AACF;AAEO,MAAeC;IAKpBP,YAAmBQ,WAAwB,CAAE;aAA1BA,WAAAA,GAAAA;IAA2B;IAqC9C,qDAAqD;IAE9CC,SAASD,WAAmB,EAAEE,UAAkB,EAAE;QACvD,IAAI,CAACC,SAAS,CAAC,YAAYH;QAC3B,IAAI,CAACE,UAAU,GAAGA;QAElB,0DAA0D;QAC1D,qCAAqC;QACrC,IAAIA,eAAeb,+MAAAA,CAAmBe,iBAAiB,EAAE;YACvD,IAAI,CAACD,SAAS,CAAC,WAAW,CAAC,MAAM,EAAEH,aAAa;QAClD;QAEA,OAAO,IAAI;IACb;AACF","ignoreList":[0]}}, + {"offset": {"line": 602, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/server/base-http/node.ts"],"sourcesContent":["import type { ServerResponse, IncomingMessage } from 'http'\nimport type { Writable, Readable } from 'stream'\n\nimport { SYMBOL_CLEARED_COOKIES } from '../api-utils'\nimport type { NextApiRequestCookies } from '../api-utils'\n\nimport { NEXT_REQUEST_META } from '../request-meta'\nimport type { RequestMeta } from '../request-meta'\n\nimport { BaseNextRequest, BaseNextResponse, type FetchMetric } from './index'\nimport type { OutgoingHttpHeaders } from 'node:http'\n\ntype Req = IncomingMessage & {\n [NEXT_REQUEST_META]?: RequestMeta\n cookies?: NextApiRequestCookies\n fetchMetrics?: FetchMetric[]\n}\n\nexport class NodeNextRequest extends BaseNextRequest {\n public headers = this._req.headers\n public fetchMetrics: FetchMetric[] | undefined = this._req?.fetchMetrics;\n\n [NEXT_REQUEST_META]: RequestMeta = this._req[NEXT_REQUEST_META] || {}\n\n constructor(private _req: Req) {\n super(_req.method!.toUpperCase(), _req.url!, _req)\n }\n\n get originalRequest() {\n // Need to mimic these changes to the original req object for places where we use it:\n // render.tsx, api/ssg requests\n this._req[NEXT_REQUEST_META] = this[NEXT_REQUEST_META]\n this._req.url = this.url\n this._req.cookies = this.cookies\n return this._req\n }\n\n set originalRequest(value: Req) {\n this._req = value\n }\n\n private streaming = false\n\n /**\n * Returns the request body as a Web Readable Stream. The body here can only\n * be read once as the body will start flowing as soon as the data handler\n * is attached.\n *\n * @internal\n */\n public stream() {\n if (this.streaming) {\n throw new Error(\n 'Invariant: NodeNextRequest.stream() can only be called once'\n )\n }\n this.streaming = true\n\n return new ReadableStream({\n start: (controller) => {\n this._req.on('data', (chunk) => {\n controller.enqueue(new Uint8Array(chunk))\n })\n this._req.on('end', () => {\n controller.close()\n })\n this._req.on('error', (err) => {\n controller.error(err)\n })\n },\n })\n }\n}\n\nexport class NodeNextResponse extends BaseNextResponse {\n private textBody: string | undefined = undefined\n\n public [SYMBOL_CLEARED_COOKIES]?: boolean\n\n get originalResponse() {\n if (SYMBOL_CLEARED_COOKIES in this) {\n this._res[SYMBOL_CLEARED_COOKIES] = this[SYMBOL_CLEARED_COOKIES]\n }\n\n return this._res\n }\n\n constructor(\n private _res: ServerResponse & { [SYMBOL_CLEARED_COOKIES]?: boolean }\n ) {\n super(_res)\n }\n\n get sent() {\n return this._res.finished || this._res.headersSent\n }\n\n get statusCode() {\n return this._res.statusCode\n }\n\n set statusCode(value: number) {\n this._res.statusCode = value\n }\n\n get statusMessage() {\n return this._res.statusMessage\n }\n\n set statusMessage(value: string) {\n this._res.statusMessage = value\n }\n\n setHeader(name: string, value: string | string[]): this {\n this._res.setHeader(name, value)\n return this\n }\n\n removeHeader(name: string): this {\n this._res.removeHeader(name)\n return this\n }\n\n getHeaderValues(name: string): string[] | undefined {\n const values = this._res.getHeader(name)\n\n if (values === undefined) return undefined\n\n return (Array.isArray(values) ? values : [values]).map((value) =>\n value.toString()\n )\n }\n\n hasHeader(name: string): boolean {\n return this._res.hasHeader(name)\n }\n\n getHeader(name: string): string | undefined {\n const values = this.getHeaderValues(name)\n return Array.isArray(values) ? values.join(',') : undefined\n }\n\n getHeaders(): OutgoingHttpHeaders {\n return this._res.getHeaders()\n }\n\n appendHeader(name: string, value: string): this {\n const currentValues = this.getHeaderValues(name) ?? []\n\n if (!currentValues.includes(value)) {\n this._res.setHeader(name, [...currentValues, value])\n }\n\n return this\n }\n\n body(value: string) {\n this.textBody = value\n return this\n }\n\n send() {\n this._res.end(this.textBody)\n }\n\n public onClose(callback: () => void) {\n this.originalResponse.on('close', callback)\n }\n}\n"],"names":["SYMBOL_CLEARED_COOKIES","NEXT_REQUEST_META","BaseNextRequest","BaseNextResponse","NodeNextRequest","constructor","_req","method","toUpperCase","url","headers","fetchMetrics","streaming","originalRequest","cookies","value","stream","Error","ReadableStream","start","controller","on","chunk","enqueue","Uint8Array","close","err","error","NodeNextResponse","originalResponse","_res","textBody","undefined","sent","finished","headersSent","statusCode","statusMessage","setHeader","name","removeHeader","getHeaderValues","values","getHeader","Array","isArray","map","toString","hasHeader","join","getHeaders","appendHeader","currentValues","includes","body","send","end","onClose","callback"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 738, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/server/lib/experimental/ppr.ts"],"sourcesContent":["/**\n * If set to `incremental`, only those leaf pages that export\n * `experimental_ppr = true` will have partial prerendering enabled. If any\n * page exports this value as `false` or does not export it at all will not\n * have partial prerendering enabled. If set to a boolean, the options for\n * `experimental_ppr` will be ignored.\n */\n\nexport type ExperimentalPPRConfig = boolean | 'incremental'\n\n/**\n * Returns true if partial prerendering is enabled for the application. It does\n * not tell you if a given route has PPR enabled, as that requires analysis of\n * the route's configuration.\n *\n * @see {@link checkIsRoutePPREnabled} - for checking if a specific route has PPR enabled.\n */\nexport function checkIsAppPPREnabled(\n config: ExperimentalPPRConfig | undefined\n): boolean {\n // If the config is undefined, partial prerendering is disabled.\n if (typeof config === 'undefined') return false\n\n // If the config is a boolean, use it directly.\n if (typeof config === 'boolean') return config\n\n // If the config is a string, it must be 'incremental' to enable partial\n // prerendering.\n if (config === 'incremental') return true\n\n return false\n}\n\n/**\n * Returns true if partial prerendering is supported for the current page with\n * the provided app configuration. If the application doesn't have partial\n * prerendering enabled, this function will always return false. If you want to\n * check if the application has partial prerendering enabled\n *\n * @see {@link checkIsAppPPREnabled} for checking if the application has PPR enabled.\n */\nexport function checkIsRoutePPREnabled(\n config: ExperimentalPPRConfig | undefined\n): boolean {\n // If the config is undefined, partial prerendering is disabled.\n if (typeof config === 'undefined') return false\n\n // If the config is a boolean, use it directly.\n if (typeof config === 'boolean') return config\n\n return false\n}\n"],"names":["checkIsAppPPREnabled","config","checkIsRoutePPREnabled"],"mappings":"AAAA;;;;;;CAMC,GAID;;;;;;CAMC,GACD;;;;;;AAAO,SAASA,qBACdC,MAAyC;IAEzC,gEAAgE;IAChE,IAAI,OAAOA,WAAW,aAAa,OAAO;IAE1C,+CAA+C;IAC/C,IAAI,OAAOA,WAAW,WAAW,OAAOA;IAExC,wEAAwE;IACxE,gBAAgB;IAChB,IAAIA,WAAW,eAAe,OAAO;IAErC,OAAO;AACT;AAUO,SAASC,uBACdD,MAAyC;IAEzC,gEAAgE;IAChE,IAAI,OAAOA,WAAW,aAAa,OAAO;IAE1C,+CAA+C;IAC/C,IAAI,OAAOA,WAAW,WAAW,OAAOA;IAExC,OAAO;AACT","ignoreList":[0]}}, + {"offset": {"line": 777, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/server/route-modules/checks.ts"],"sourcesContent":["import type { AppRouteRouteModule } from './app-route/module'\nimport type { AppPageRouteModule } from './app-page/module'\nimport type { PagesRouteModule } from './pages/module'\nimport type { PagesAPIRouteModule } from './pages-api/module'\n\nimport type { RouteModule } from './route-module'\n\nimport { RouteKind } from '../route-kind'\n\nexport function isAppRouteRouteModule(\n routeModule: RouteModule\n): routeModule is AppRouteRouteModule {\n return routeModule.definition.kind === RouteKind.APP_ROUTE\n}\n\nexport function isAppPageRouteModule(\n routeModule: RouteModule\n): routeModule is AppPageRouteModule {\n return routeModule.definition.kind === RouteKind.APP_PAGE\n}\n\nexport function isPagesRouteModule(\n routeModule: RouteModule\n): routeModule is PagesRouteModule {\n return routeModule.definition.kind === RouteKind.PAGES\n}\n\nexport function isPagesAPIRouteModule(\n routeModule: RouteModule\n): routeModule is PagesAPIRouteModule {\n return routeModule.definition.kind === RouteKind.PAGES_API\n}\n"],"names":["RouteKind","isAppRouteRouteModule","routeModule","definition","kind","APP_ROUTE","isAppPageRouteModule","APP_PAGE","isPagesRouteModule","PAGES","isPagesAPIRouteModule","PAGES_API"],"mappings":";;;;;;;;;;AAOA,SAASA,SAAS,QAAQ,gBAAe;;AAElC,SAASC,sBACdC,WAAwB;IAExB,OAAOA,YAAYC,UAAU,CAACC,IAAI,KAAKJ,2KAAAA,CAAUK,SAAS;AAC5D;AAEO,SAASC,qBACdJ,WAAwB;IAExB,OAAOA,YAAYC,UAAU,CAACC,IAAI,KAAKJ,2KAAAA,CAAUO,QAAQ;AAC3D;AAEO,SAASC,mBACdN,WAAwB;IAExB,OAAOA,YAAYC,UAAU,CAACC,IAAI,KAAKJ,2KAAAA,CAAUS,KAAK;AACxD;AAEO,SAASC,sBACdR,WAAwB;IAExB,OAAOA,YAAYC,UAAU,CAACC,IAAI,KAAKJ,2KAAAA,CAAUW,SAAS;AAC5D","ignoreList":[0]}}, + {"offset": {"line": 805, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/shared/lib/page-path/ensure-leading-slash.ts"],"sourcesContent":["/**\n * For a given page path, this function ensures that there is a leading slash.\n * If there is not a leading slash, one is added, otherwise it is noop.\n */\nexport function ensureLeadingSlash(path: string) {\n return path.startsWith('/') ? path : `/${path}`\n}\n"],"names":["ensureLeadingSlash","path","startsWith"],"mappings":"AAAA;;;CAGC,GACD;;;;AAAO,SAASA,mBAAmBC,IAAY;IAC7C,OAAOA,KAAKC,UAAU,CAAC,OAAOD,OAAO,CAAC,CAAC,EAAEA,MAAM;AACjD","ignoreList":[0]}}, + {"offset": {"line": 819, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/shared/lib/router/utils/app-paths.ts"],"sourcesContent":["import { ensureLeadingSlash } from '../../page-path/ensure-leading-slash'\nimport { isGroupSegment } from '../../segment'\n\n/**\n * Normalizes an app route so it represents the actual request path. Essentially\n * performing the following transformations:\n *\n * - `/(dashboard)/user/[id]/page` to `/user/[id]`\n * - `/(dashboard)/account/page` to `/account`\n * - `/user/[id]/page` to `/user/[id]`\n * - `/account/page` to `/account`\n * - `/page` to `/`\n * - `/(dashboard)/user/[id]/route` to `/user/[id]`\n * - `/(dashboard)/account/route` to `/account`\n * - `/user/[id]/route` to `/user/[id]`\n * - `/account/route` to `/account`\n * - `/route` to `/`\n * - `/` to `/`\n *\n * @param route the app route to normalize\n * @returns the normalized pathname\n */\nexport function normalizeAppPath(route: string) {\n return ensureLeadingSlash(\n route.split('/').reduce((pathname, segment, index, segments) => {\n // Empty segments are ignored.\n if (!segment) {\n return pathname\n }\n\n // Groups are ignored.\n if (isGroupSegment(segment)) {\n return pathname\n }\n\n // Parallel segments are ignored.\n if (segment[0] === '@') {\n return pathname\n }\n\n // The last segment (if it's a leaf) should be ignored.\n if (\n (segment === 'page' || segment === 'route') &&\n index === segments.length - 1\n ) {\n return pathname\n }\n\n return `${pathname}/${segment}`\n }, '')\n )\n}\n\n/**\n * Strips the `.rsc` extension if it's in the pathname.\n * Since this function is used on full urls it checks `?` for searchParams handling.\n */\nexport function normalizeRscURL(url: string) {\n return url.replace(\n /\\.rsc($|\\?)/,\n // $1 ensures `?` is preserved\n '$1'\n )\n}\n"],"names":["ensureLeadingSlash","isGroupSegment","normalizeAppPath","route","split","reduce","pathname","segment","index","segments","length","normalizeRscURL","url","replace"],"mappings":";;;;;;AAAA,SAASA,kBAAkB,QAAQ,uCAAsC;AACzE,SAASC,cAAc,QAAQ,gBAAe;;;AAqBvC,SAASC,iBAAiBC,KAAa;IAC5C,WAAOH,wNAAAA,EACLG,MAAMC,KAAK,CAAC,KAAKC,MAAM,CAAC,CAACC,UAAUC,SAASC,OAAOC;QACjD,8BAA8B;QAC9B,IAAI,CAACF,SAAS;YACZ,OAAOD;QACT;QAEA,sBAAsB;QACtB,QAAIL,iLAAAA,EAAeM,UAAU;YAC3B,OAAOD;QACT;QAEA,iCAAiC;QACjC,IAAIC,OAAO,CAAC,EAAE,KAAK,KAAK;YACtB,OAAOD;QACT;QAEA,uDAAuD;QACvD,IACGC,CAAAA,YAAY,UAAUA,YAAY,OAAM,KACzCC,UAAUC,SAASC,MAAM,GAAG,GAC5B;YACA,OAAOJ;QACT;QAEA,OAAO,GAAGA,SAAS,CAAC,EAAEC,SAAS;IACjC,GAAG;AAEP;AAMO,SAASI,gBAAgBC,GAAW;IACzC,OAAOA,IAAIC,OAAO,CAChB,eACA,AACA,8BAD8B;AAGlC","ignoreList":[0]}}, + {"offset": {"line": 857, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/shared/lib/router/utils/interception-routes.ts"],"sourcesContent":["import { normalizeAppPath } from './app-paths'\n\n// order matters here, the first match will be used\nexport const INTERCEPTION_ROUTE_MARKERS = [\n '(..)(..)',\n '(.)',\n '(..)',\n '(...)',\n] as const\n\nexport type InterceptionMarker = (typeof INTERCEPTION_ROUTE_MARKERS)[number]\n\nexport function isInterceptionRouteAppPath(path: string): boolean {\n // TODO-APP: add more serious validation\n return (\n path\n .split('/')\n .find((segment) =>\n INTERCEPTION_ROUTE_MARKERS.find((m) => segment.startsWith(m))\n ) !== undefined\n )\n}\n\ntype InterceptionRouteInformation = {\n /**\n * The intercepting route. This is the route that is being intercepted or the\n * route that the user was coming from. This is matched by the Next-Url\n * header.\n */\n interceptingRoute: string\n\n /**\n * The intercepted route. This is the route that is being intercepted or the\n * route that the user is going to. This is matched by the request pathname.\n */\n interceptedRoute: string\n}\n\nexport function extractInterceptionRouteInformation(\n path: string\n): InterceptionRouteInformation {\n let interceptingRoute: string | undefined\n let marker: (typeof INTERCEPTION_ROUTE_MARKERS)[number] | undefined\n let interceptedRoute: string | undefined\n\n for (const segment of path.split('/')) {\n marker = INTERCEPTION_ROUTE_MARKERS.find((m) => segment.startsWith(m))\n if (marker) {\n ;[interceptingRoute, interceptedRoute] = path.split(marker, 2)\n break\n }\n }\n\n if (!interceptingRoute || !marker || !interceptedRoute) {\n throw new Error(\n `Invalid interception route: ${path}. Must be in the format //(..|...|..)(..)/`\n )\n }\n\n interceptingRoute = normalizeAppPath(interceptingRoute) // normalize the path, e.g. /(blog)/feed -> /feed\n\n switch (marker) {\n case '(.)':\n // (.) indicates that we should match with sibling routes, so we just need to append the intercepted route to the intercepting route\n if (interceptingRoute === '/') {\n interceptedRoute = `/${interceptedRoute}`\n } else {\n interceptedRoute = interceptingRoute + '/' + interceptedRoute\n }\n break\n case '(..)':\n // (..) indicates that we should match at one level up, so we need to remove the last segment of the intercepting route\n if (interceptingRoute === '/') {\n throw new Error(\n `Invalid interception route: ${path}. Cannot use (..) marker at the root level, use (.) instead.`\n )\n }\n interceptedRoute = interceptingRoute\n .split('/')\n .slice(0, -1)\n .concat(interceptedRoute)\n .join('/')\n break\n case '(...)':\n // (...) will match the route segment in the root directory, so we need to use the root directory to prepend the intercepted route\n interceptedRoute = '/' + interceptedRoute\n break\n case '(..)(..)':\n // (..)(..) indicates that we should match at two levels up, so we need to remove the last two segments of the intercepting route\n\n const splitInterceptingRoute = interceptingRoute.split('/')\n if (splitInterceptingRoute.length <= 2) {\n throw new Error(\n `Invalid interception route: ${path}. Cannot use (..)(..) marker at the root level or one level up.`\n )\n }\n\n interceptedRoute = splitInterceptingRoute\n .slice(0, -2)\n .concat(interceptedRoute)\n .join('/')\n break\n default:\n throw new Error('Invariant: unexpected marker')\n }\n\n return { interceptingRoute, interceptedRoute }\n}\n"],"names":["normalizeAppPath","INTERCEPTION_ROUTE_MARKERS","isInterceptionRouteAppPath","path","split","find","segment","m","startsWith","undefined","extractInterceptionRouteInformation","interceptingRoute","marker","interceptedRoute","Error","slice","concat","join","splitInterceptingRoute","length"],"mappings":";;;;;;;;AAAA,SAASA,gBAAgB,QAAQ,cAAa;;AAGvC,MAAMC,6BAA6B;IACxC;IACA;IACA;IACA;CACD,CAAS;AAIH,SAASC,2BAA2BC,IAAY;IACrD,wCAAwC;IACxC,OACEA,KACGC,KAAK,CAAC,KACNC,IAAI,CAAC,CAACC,UACLL,2BAA2BI,IAAI,CAAC,CAACE,IAAMD,QAAQE,UAAU,CAACD,SACtDE;AAEZ;AAiBO,SAASC,oCACdP,IAAY;IAEZ,IAAIQ;IACJ,IAAIC;IACJ,IAAIC;IAEJ,KAAK,MAAMP,WAAWH,KAAKC,KAAK,CAAC,KAAM;QACrCQ,SAASX,2BAA2BI,IAAI,CAAC,CAACE,IAAMD,QAAQE,UAAU,CAACD;QACnE,IAAIK,QAAQ;;YACT,CAACD,mBAAmBE,iBAAiB,GAAGV,KAAKC,KAAK,CAACQ,QAAQ;YAC5D;QACF;IACF;IAEA,IAAI,CAACD,qBAAqB,CAACC,UAAU,CAACC,kBAAkB;QACtD,MAAM,OAAA,cAEL,CAFK,IAAIC,MACR,CAAC,4BAA4B,EAAEX,KAAK,iFAAiF,CAAC,GADlH,qBAAA;mBAAA;wBAAA;0BAAA;QAEN;IACF;IAEAQ,wBAAoBX,2MAAAA,EAAiBW,mBAAmB,iDAAiD;;IAEzG,OAAQC;QACN,KAAK;YACH,oIAAoI;YACpI,IAAID,sBAAsB,KAAK;gBAC7BE,mBAAmB,CAAC,CAAC,EAAEA,kBAAkB;YAC3C,OAAO;gBACLA,mBAAmBF,oBAAoB,MAAME;YAC/C;YACA;QACF,KAAK;YACH,uHAAuH;YACvH,IAAIF,sBAAsB,KAAK;gBAC7B,MAAM,OAAA,cAEL,CAFK,IAAIG,MACR,CAAC,4BAA4B,EAAEX,KAAK,4DAA4D,CAAC,GAD7F,qBAAA;2BAAA;gCAAA;kCAAA;gBAEN;YACF;YACAU,mBAAmBF,kBAChBP,KAAK,CAAC,KACNW,KAAK,CAAC,GAAG,CAAC,GACVC,MAAM,CAACH,kBACPI,IAAI,CAAC;YACR;QACF,KAAK;YACH,kIAAkI;YAClIJ,mBAAmB,MAAMA;YACzB;QACF,KAAK;YACH,iIAAiI;YAEjI,MAAMK,yBAAyBP,kBAAkBP,KAAK,CAAC;YACvD,IAAIc,uBAAuBC,MAAM,IAAI,GAAG;gBACtC,MAAM,OAAA,cAEL,CAFK,IAAIL,MACR,CAAC,4BAA4B,EAAEX,KAAK,+DAA+D,CAAC,GADhG,qBAAA;2BAAA;gCAAA;kCAAA;gBAEN;YACF;YAEAU,mBAAmBK,uBAChBH,KAAK,CAAC,GAAG,CAAC,GACVC,MAAM,CAACH,kBACPI,IAAI,CAAC;YACR;QACF;YACE,MAAM,OAAA,cAAyC,CAAzC,IAAIH,MAAM,iCAAV,qBAAA;uBAAA;4BAAA;8BAAA;YAAwC;IAClD;IAEA,OAAO;QAAEH;QAAmBE;IAAiB;AAC/C","ignoreList":[0]}}, + {"offset": {"line": 950, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/shared/lib/router/utils/get-segment-param.tsx"],"sourcesContent":["import { INTERCEPTION_ROUTE_MARKERS } from './interception-routes'\nimport type { DynamicParamTypes } from '../../app-router-types'\n\nexport type SegmentParam = {\n paramName: string\n paramType: DynamicParamTypes\n}\n\n/**\n * Parse dynamic route segment to type of parameter\n */\nexport function getSegmentParam(segment: string): SegmentParam | null {\n const interceptionMarker = INTERCEPTION_ROUTE_MARKERS.find((marker) =>\n segment.startsWith(marker)\n )\n\n // if an interception marker is part of the path segment, we need to jump ahead\n // to the relevant portion for param parsing\n if (interceptionMarker) {\n segment = segment.slice(interceptionMarker.length)\n }\n\n if (segment.startsWith('[[...') && segment.endsWith(']]')) {\n return {\n // TODO-APP: Optional catchall does not currently work with parallel routes,\n // so for now aren't handling a potential interception marker.\n paramType: 'optional-catchall',\n paramName: segment.slice(5, -2),\n }\n }\n\n if (segment.startsWith('[...') && segment.endsWith(']')) {\n return {\n paramType: interceptionMarker\n ? `catchall-intercepted-${interceptionMarker}`\n : 'catchall',\n paramName: segment.slice(4, -1),\n }\n }\n\n if (segment.startsWith('[') && segment.endsWith(']')) {\n return {\n paramType: interceptionMarker\n ? `dynamic-intercepted-${interceptionMarker}`\n : 'dynamic',\n paramName: segment.slice(1, -1),\n }\n }\n\n return null\n}\n\nexport function isCatchAll(\n type: DynamicParamTypes\n): type is\n | 'catchall'\n | 'catchall-intercepted-(..)(..)'\n | 'catchall-intercepted-(.)'\n | 'catchall-intercepted-(..)'\n | 'catchall-intercepted-(...)'\n | 'optional-catchall' {\n return (\n type === 'catchall' ||\n type === 'catchall-intercepted-(..)(..)' ||\n type === 'catchall-intercepted-(.)' ||\n type === 'catchall-intercepted-(..)' ||\n type === 'catchall-intercepted-(...)' ||\n type === 'optional-catchall'\n )\n}\n\nexport function getParamProperties(paramType: DynamicParamTypes): {\n repeat: boolean\n optional: boolean\n} {\n let repeat = false\n let optional = false\n\n switch (paramType) {\n case 'catchall':\n case 'catchall-intercepted-(..)(..)':\n case 'catchall-intercepted-(.)':\n case 'catchall-intercepted-(..)':\n case 'catchall-intercepted-(...)':\n repeat = true\n break\n case 'optional-catchall':\n repeat = true\n optional = true\n break\n case 'dynamic':\n case 'dynamic-intercepted-(..)(..)':\n case 'dynamic-intercepted-(.)':\n case 'dynamic-intercepted-(..)':\n case 'dynamic-intercepted-(...)':\n break\n default:\n paramType satisfies never\n }\n\n return { repeat, optional }\n}\n"],"names":["INTERCEPTION_ROUTE_MARKERS","getSegmentParam","segment","interceptionMarker","find","marker","startsWith","slice","length","endsWith","paramType","paramName","isCatchAll","type","getParamProperties","repeat","optional"],"mappings":";;;;;;;;AAAA,SAASA,0BAA0B,QAAQ,wBAAuB;;AAW3D,SAASC,gBAAgBC,OAAe;IAC7C,MAAMC,qBAAqBH,+NAAAA,CAA2BI,IAAI,CAAC,CAACC,SAC1DH,QAAQI,UAAU,CAACD;IAGrB,+EAA+E;IAC/E,4CAA4C;IAC5C,IAAIF,oBAAoB;QACtBD,UAAUA,QAAQK,KAAK,CAACJ,mBAAmBK,MAAM;IACnD;IAEA,IAAIN,QAAQI,UAAU,CAAC,YAAYJ,QAAQO,QAAQ,CAAC,OAAO;QACzD,OAAO;YACL,4EAA4E;YAC5E,8DAA8D;YAC9DC,WAAW;YACXC,WAAWT,QAAQK,KAAK,CAAC,GAAG,CAAC;QAC/B;IACF;IAEA,IAAIL,QAAQI,UAAU,CAAC,WAAWJ,QAAQO,QAAQ,CAAC,MAAM;QACvD,OAAO;YACLC,WAAWP,qBACP,CAAC,qBAAqB,EAAEA,oBAAoB,GAC5C;YACJQ,WAAWT,QAAQK,KAAK,CAAC,GAAG,CAAC;QAC/B;IACF;IAEA,IAAIL,QAAQI,UAAU,CAAC,QAAQJ,QAAQO,QAAQ,CAAC,MAAM;QACpD,OAAO;YACLC,WAAWP,qBACP,CAAC,oBAAoB,EAAEA,oBAAoB,GAC3C;YACJQ,WAAWT,QAAQK,KAAK,CAAC,GAAG,CAAC;QAC/B;IACF;IAEA,OAAO;AACT;AAEO,SAASK,WACdC,IAAuB;IAQvB,OACEA,SAAS,cACTA,SAAS,mCACTA,SAAS,8BACTA,SAAS,+BACTA,SAAS,gCACTA,SAAS;AAEb;AAEO,SAASC,mBAAmBJ,SAA4B;IAI7D,IAAIK,SAAS;IACb,IAAIC,WAAW;IAEf,OAAQN;QACN,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;YACHK,SAAS;YACT;QACF,KAAK;YACHA,SAAS;YACTC,WAAW;YACX;QACF,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;QACL,KAAK;YACH;QACF;YACEN;IACJ;IAEA,OAAO;QAAEK;QAAQC;IAAS;AAC5B","ignoreList":[0]}}, + {"offset": {"line": 1025, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/shared/lib/router/routes/app.ts"],"sourcesContent":["import { InvariantError } from '../../invariant-error'\nimport { getSegmentParam, type SegmentParam } from '../utils/get-segment-param'\nimport {\n INTERCEPTION_ROUTE_MARKERS,\n type InterceptionMarker,\n} from '../utils/interception-routes'\n\nexport type RouteGroupAppRouteSegment = {\n type: 'route-group'\n name: string\n\n /**\n * If present, this segment has an interception marker prefixing it.\n */\n interceptionMarker?: InterceptionMarker\n}\n\nexport type ParallelRouteAppRouteSegment = {\n type: 'parallel-route'\n name: string\n\n /**\n * If present, this segment has an interception marker prefixing it.\n */\n interceptionMarker?: InterceptionMarker\n}\n\nexport type StaticAppRouteSegment = {\n type: 'static'\n name: string\n\n /**\n * If present, this segment has an interception marker prefixing it.\n */\n interceptionMarker?: InterceptionMarker\n}\n\nexport type DynamicAppRouteSegment = {\n type: 'dynamic'\n name: string\n param: SegmentParam\n\n /**\n * If present, this segment has an interception marker prefixing it.\n */\n interceptionMarker?: InterceptionMarker\n}\n\n/**\n * Represents a single segment in a route path.\n * Can be either static (e.g., \"blog\") or dynamic (e.g., \"[slug]\").\n */\nexport type AppRouteSegment =\n | StaticAppRouteSegment\n | DynamicAppRouteSegment\n | RouteGroupAppRouteSegment\n | ParallelRouteAppRouteSegment\n\nexport type NormalizedAppRouteSegment =\n | StaticAppRouteSegment\n | DynamicAppRouteSegment\n\nexport function parseAppRouteSegment(segment: string): AppRouteSegment | null {\n if (segment === '') {\n return null\n }\n\n // Check if the segment starts with an interception marker\n const interceptionMarker = INTERCEPTION_ROUTE_MARKERS.find((m) =>\n segment.startsWith(m)\n )\n\n const param = getSegmentParam(segment)\n if (param) {\n return {\n type: 'dynamic',\n name: segment,\n param,\n interceptionMarker,\n }\n } else if (segment.startsWith('(') && segment.endsWith(')')) {\n return {\n type: 'route-group',\n name: segment,\n interceptionMarker,\n }\n } else if (segment.startsWith('@')) {\n return {\n type: 'parallel-route',\n name: segment,\n interceptionMarker,\n }\n } else {\n return {\n type: 'static',\n name: segment,\n interceptionMarker,\n }\n }\n}\n\nexport type AppRoute = {\n normalized: boolean\n pathname: string\n segments: AppRouteSegment[]\n dynamicSegments: DynamicAppRouteSegment[]\n interceptionMarker: InterceptionMarker | undefined\n interceptingRoute: AppRoute | undefined\n interceptedRoute: AppRoute | undefined\n}\n\nexport type NormalizedAppRoute = Omit & {\n normalized: true\n segments: NormalizedAppRouteSegment[]\n}\n\nexport function isNormalizedAppRoute(\n route: InterceptionAppRoute\n): route is NormalizedInterceptionAppRoute\nexport function isNormalizedAppRoute(\n route: AppRoute | InterceptionAppRoute\n): route is NormalizedAppRoute {\n return route.normalized\n}\n\nexport type InterceptionAppRoute = Omit<\n AppRoute,\n 'interceptionMarker' | 'interceptingRoute' | 'interceptedRoute'\n> & {\n interceptionMarker: InterceptionMarker\n interceptingRoute: AppRoute\n interceptedRoute: AppRoute\n}\n\nexport type NormalizedInterceptionAppRoute = Omit<\n InterceptionAppRoute,\n | 'normalized'\n | 'segments'\n | 'interceptionMarker'\n | 'interceptingRoute'\n | 'interceptedRoute'\n> & {\n normalized: true\n segments: NormalizedAppRouteSegment[]\n interceptionMarker: InterceptionMarker\n interceptingRoute: NormalizedAppRoute\n interceptedRoute: NormalizedAppRoute\n}\n\nexport function isInterceptionAppRoute(\n route: NormalizedAppRoute\n): route is NormalizedInterceptionAppRoute\nexport function isInterceptionAppRoute(\n route: AppRoute\n): route is InterceptionAppRoute {\n return (\n route.interceptionMarker !== undefined &&\n route.interceptingRoute !== undefined &&\n route.interceptedRoute !== undefined\n )\n}\n\nexport function parseAppRoute(\n pathname: string,\n normalized: true\n): NormalizedAppRoute\nexport function parseAppRoute(pathname: string, normalized: false): AppRoute\nexport function parseAppRoute(\n pathname: string,\n normalized: boolean\n): AppRoute | NormalizedAppRoute {\n const pathnameSegments = pathname.split('/').filter(Boolean)\n\n // Build segments array with static and dynamic segments\n const segments: AppRouteSegment[] = []\n\n // Parse if this is an interception route.\n let interceptionMarker: InterceptionMarker | undefined\n let interceptingRoute: AppRoute | NormalizedAppRoute | undefined\n let interceptedRoute: AppRoute | NormalizedAppRoute | undefined\n\n for (const segment of pathnameSegments) {\n // Parse the segment into an AppSegment.\n const appSegment = parseAppRouteSegment(segment)\n if (!appSegment) {\n continue\n }\n\n if (\n normalized &&\n (appSegment.type === 'route-group' ||\n appSegment.type === 'parallel-route')\n ) {\n throw new InvariantError(\n `${pathname} is being parsed as a normalized route, but it has a route group or parallel route segment.`\n )\n }\n\n segments.push(appSegment)\n\n if (appSegment.interceptionMarker) {\n const parts = pathname.split(appSegment.interceptionMarker)\n if (parts.length !== 2) {\n throw new Error(`Invalid interception route: ${pathname}`)\n }\n\n interceptingRoute = normalized\n ? parseAppRoute(parts[0], true)\n : parseAppRoute(parts[0], false)\n interceptedRoute = normalized\n ? parseAppRoute(parts[1], true)\n : parseAppRoute(parts[1], false)\n interceptionMarker = appSegment.interceptionMarker\n }\n }\n\n const dynamicSegments = segments.filter(\n (segment) => segment.type === 'dynamic'\n )\n\n return {\n normalized,\n pathname,\n segments,\n dynamicSegments,\n interceptionMarker,\n interceptingRoute,\n interceptedRoute,\n }\n}\n"],"names":["InvariantError","getSegmentParam","INTERCEPTION_ROUTE_MARKERS","parseAppRouteSegment","segment","interceptionMarker","find","m","startsWith","param","type","name","endsWith","isNormalizedAppRoute","route","normalized","isInterceptionAppRoute","undefined","interceptingRoute","interceptedRoute","parseAppRoute","pathname","pathnameSegments","split","filter","Boolean","segments","appSegment","push","parts","length","Error","dynamicSegments"],"mappings":";;;;;;;;;;AAAA,SAASA,cAAc,QAAQ,wBAAuB;AACtD,SAASC,eAAe,QAA2B,6BAA4B;AAC/E,SACEC,0BAA0B,QAErB,+BAA8B;;;;AAyD9B,SAASC,qBAAqBC,OAAe;IAClD,IAAIA,YAAY,IAAI;QAClB,OAAO;IACT;IAEA,0DAA0D;IAC1D,MAAMC,qBAAqBH,+NAAAA,CAA2BI,IAAI,CAAC,CAACC,IAC1DH,QAAQI,UAAU,CAACD;IAGrB,MAAME,YAAQR,qNAAAA,EAAgBG;IAC9B,IAAIK,OAAO;QACT,OAAO;YACLC,MAAM;YACNC,MAAMP;YACNK;YACAJ;QACF;IACF,OAAO,IAAID,QAAQI,UAAU,CAAC,QAAQJ,QAAQQ,QAAQ,CAAC,MAAM;QAC3D,OAAO;YACLF,MAAM;YACNC,MAAMP;YACNC;QACF;IACF,OAAO,IAAID,QAAQI,UAAU,CAAC,MAAM;QAClC,OAAO;YACLE,MAAM;YACNC,MAAMP;YACNC;QACF;IACF,OAAO;QACL,OAAO;YACLK,MAAM;YACNC,MAAMP;YACNC;QACF;IACF;AACF;AAoBO,SAASQ,qBACdC,KAAsC;IAEtC,OAAOA,MAAMC,UAAU;AACzB;AA6BO,SAASC,uBACdF,KAAe;IAEf,OACEA,MAAMT,kBAAkB,KAAKY,aAC7BH,MAAMI,iBAAiB,KAAKD,aAC5BH,MAAMK,gBAAgB,KAAKF;AAE/B;AAOO,SAASG,cACdC,QAAgB,EAChBN,UAAmB;IAEnB,MAAMO,mBAAmBD,SAASE,KAAK,CAAC,KAAKC,MAAM,CAACC;IAEpD,wDAAwD;IACxD,MAAMC,WAA8B,EAAE;IAEtC,0CAA0C;IAC1C,IAAIrB;IACJ,IAAIa;IACJ,IAAIC;IAEJ,KAAK,MAAMf,WAAWkB,iBAAkB;QACtC,wCAAwC;QACxC,MAAMK,aAAaxB,qBAAqBC;QACxC,IAAI,CAACuB,YAAY;YACf;QACF;QAEA,IACEZ,cACCY,CAAAA,WAAWjB,IAAI,KAAK,iBACnBiB,WAAWjB,IAAI,KAAK,gBAAe,GACrC;YACA,MAAM,OAAA,cAEL,CAFK,IAAIV,4LAAAA,CACR,GAAGqB,SAAS,2FAA2F,CAAC,GADpG,qBAAA;uBAAA;4BAAA;8BAAA;YAEN;QACF;QAEAK,SAASE,IAAI,CAACD;QAEd,IAAIA,WAAWtB,kBAAkB,EAAE;YACjC,MAAMwB,QAAQR,SAASE,KAAK,CAACI,WAAWtB,kBAAkB;YAC1D,IAAIwB,MAAMC,MAAM,KAAK,GAAG;gBACtB,MAAM,OAAA,cAAoD,CAApD,IAAIC,MAAM,CAAC,4BAA4B,EAAEV,UAAU,GAAnD,qBAAA;2BAAA;gCAAA;kCAAA;gBAAmD;YAC3D;YAEAH,oBAAoBH,aAChBK,cAAcS,KAAK,CAAC,EAAE,EAAE,QACxBT,cAAcS,KAAK,CAAC,EAAE,EAAE;YAC5BV,mBAAmBJ,aACfK,cAAcS,KAAK,CAAC,EAAE,EAAE,QACxBT,cAAcS,KAAK,CAAC,EAAE,EAAE;YAC5BxB,qBAAqBsB,WAAWtB,kBAAkB;QACpD;IACF;IAEA,MAAM2B,kBAAkBN,SAASF,MAAM,CACrC,CAACpB,UAAYA,QAAQM,IAAI,KAAK;IAGhC,OAAO;QACLK;QACAM;QACAK;QACAM;QACA3B;QACAa;QACAC;IACF;AACF","ignoreList":[0]}}, + {"offset": {"line": 1132, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/shared/lib/router/utils/parse-loader-tree.ts"],"sourcesContent":["import { DEFAULT_SEGMENT_KEY } from '../../segment'\nimport type { LoaderTree } from '../../../../server/lib/app-dir-module'\n\nexport function parseLoaderTree(tree: LoaderTree) {\n const [segment, parallelRoutes, modules] = tree\n const { layout, template } = modules\n let { page } = modules\n // a __DEFAULT__ segment means that this route didn't match any of the\n // segments in the route, so we should use the default page\n page = segment === DEFAULT_SEGMENT_KEY ? modules.defaultPage : page\n\n const conventionPath = layout?.[1] || template?.[1] || page?.[1]\n\n return {\n page,\n segment,\n modules,\n /* it can be either layout / template / page */\n conventionPath,\n parallelRoutes,\n }\n}\n"],"names":["DEFAULT_SEGMENT_KEY","parseLoaderTree","tree","segment","parallelRoutes","modules","layout","template","page","defaultPage","conventionPath"],"mappings":";;;;AAAA,SAASA,mBAAmB,QAAQ,gBAAe;;AAG5C,SAASC,gBAAgBC,IAAgB;IAC9C,MAAM,CAACC,SAASC,gBAAgBC,QAAQ,GAAGH;IAC3C,MAAM,EAAEI,MAAM,EAAEC,QAAQ,EAAE,GAAGF;IAC7B,IAAI,EAAEG,IAAI,EAAE,GAAGH;IACf,sEAAsE;IACtE,2DAA2D;IAC3DG,OAAOL,YAAYH,sLAAAA,GAAsBK,QAAQI,WAAW,GAAGD;IAE/D,MAAME,iBAAiBJ,QAAQ,CAAC,EAAE,IAAIC,UAAU,CAAC,EAAE,IAAIC,MAAM,CAAC,EAAE;IAEhE,OAAO;QACLA;QACAL;QACAE;QACA,6CAA6C,GAC7CK;QACAN;IACF;AACF","ignoreList":[0]}}, + {"offset": {"line": 1158, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/shared/lib/router/utils/interception-prefix-from-param-type.ts"],"sourcesContent":["import type { DynamicParamTypes } from '../../app-router-types'\n\nexport function interceptionPrefixFromParamType(\n paramType: DynamicParamTypes\n): string | null {\n switch (paramType) {\n case 'catchall-intercepted-(..)(..)':\n case 'dynamic-intercepted-(..)(..)':\n return '(..)(..)'\n case 'catchall-intercepted-(.)':\n case 'dynamic-intercepted-(.)':\n return '(.)'\n case 'catchall-intercepted-(..)':\n case 'dynamic-intercepted-(..)':\n return '(..)'\n case 'catchall-intercepted-(...)':\n case 'dynamic-intercepted-(...)':\n return '(...)'\n case 'catchall':\n case 'dynamic':\n case 'optional-catchall':\n default:\n return null\n }\n}\n"],"names":["interceptionPrefixFromParamType","paramType"],"mappings":";;;;AAEO,SAASA,gCACdC,SAA4B;IAE5B,OAAQA;QACN,KAAK;QACL,KAAK;YACH,OAAO;QACT,KAAK;QACL,KAAK;YACH,OAAO;QACT,KAAK;QACL,KAAK;YACH,OAAO;QACT,KAAK;QACL,KAAK;YACH,OAAO;QACT,KAAK;QACL,KAAK;QACL,KAAK;QACL;YACE,OAAO;IACX;AACF","ignoreList":[0]}}, + {"offset": {"line": 1187, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/shared/lib/router/utils/resolve-param-value.ts"],"sourcesContent":["import type { Params } from '../../../../server/request/params'\nimport type { DynamicParamTypes } from '../../app-router-types'\nimport { InvariantError } from '../../invariant-error'\nimport type {\n NormalizedAppRoute,\n NormalizedAppRouteSegment,\n} from '../routes/app'\nimport { interceptionPrefixFromParamType } from './interception-prefix-from-param-type'\n\n/**\n * Extracts the param value from a path segment, handling interception markers\n * based on the expected param type.\n *\n * @param pathSegment - The path segment to extract the value from\n * @param params - The current params object for resolving dynamic param references\n * @param paramType - The expected param type which may include interception marker info\n * @returns The extracted param value\n */\nfunction getParamValueFromSegment(\n pathSegment: NormalizedAppRouteSegment,\n params: Params,\n paramType: DynamicParamTypes\n): string {\n // If the segment is dynamic, resolve it from the params object\n if (pathSegment.type === 'dynamic') {\n return params[pathSegment.param.paramName] as string\n }\n\n // If the paramType indicates this is an intercepted param, strip the marker\n // that matches the interception marker in the param type\n const interceptionPrefix = interceptionPrefixFromParamType(paramType)\n if (interceptionPrefix === pathSegment.interceptionMarker) {\n return pathSegment.name.replace(pathSegment.interceptionMarker, '')\n }\n\n // For static segments, use the name\n return pathSegment.name\n}\n\n/**\n * Resolves a route parameter value from the route segments at the given depth.\n * This shared logic is used by both extractPathnameRouteParamSegmentsFromLoaderTree\n * and resolveRouteParamsFromTree.\n *\n * @param paramName - The parameter name to resolve\n * @param paramType - The parameter type (dynamic, catchall, etc.)\n * @param depth - The current depth in the route tree\n * @param route - The normalized route containing segments\n * @param params - The current params object (used to resolve embedded param references)\n * @param options - Configuration options\n * @returns The resolved parameter value, or undefined if it cannot be resolved\n */\nexport function resolveParamValue(\n paramName: string,\n paramType: DynamicParamTypes,\n depth: number,\n route: NormalizedAppRoute,\n params: Params\n): string | string[] | undefined {\n switch (paramType) {\n case 'catchall':\n case 'optional-catchall':\n case 'catchall-intercepted-(..)(..)':\n case 'catchall-intercepted-(.)':\n case 'catchall-intercepted-(..)':\n case 'catchall-intercepted-(...)':\n // For catchall routes, derive from pathname using depth to determine\n // which segments to use\n const processedSegments: string[] = []\n\n // Process segments to handle any embedded dynamic params\n for (let index = depth; index < route.segments.length; index++) {\n const pathSegment = route.segments[index]\n\n if (pathSegment.type === 'static') {\n let value = pathSegment.name\n\n // For intercepted catch-all params, strip the marker from the first segment\n const interceptionPrefix = interceptionPrefixFromParamType(paramType)\n if (\n interceptionPrefix &&\n index === depth &&\n interceptionPrefix === pathSegment.interceptionMarker\n ) {\n // Strip the interception marker from the value\n value = value.replace(pathSegment.interceptionMarker, '')\n }\n\n processedSegments.push(value)\n } else {\n // If the segment is a param placeholder, check if we have its value\n if (!params.hasOwnProperty(pathSegment.param.paramName)) {\n // If the segment is an optional catchall, we can break out of the\n // loop because it's optional!\n if (pathSegment.param.paramType === 'optional-catchall') {\n break\n }\n\n // Unknown param placeholder in pathname - can't derive full value\n return undefined\n }\n\n // If the segment matches a param, use the param value\n // We don't encode values here as that's handled during retrieval.\n const paramValue = params[pathSegment.param.paramName]\n if (Array.isArray(paramValue)) {\n processedSegments.push(...paramValue)\n } else {\n processedSegments.push(paramValue as string)\n }\n }\n }\n\n if (processedSegments.length > 0) {\n return processedSegments\n } else if (paramType === 'optional-catchall') {\n return undefined\n } else {\n // We shouldn't be able to match a catchall segment without any path\n // segments if it's not an optional catchall\n throw new InvariantError(\n `Unexpected empty path segments match for a route \"${route.pathname}\" with param \"${paramName}\" of type \"${paramType}\"`\n )\n }\n case 'dynamic':\n case 'dynamic-intercepted-(..)(..)':\n case 'dynamic-intercepted-(.)':\n case 'dynamic-intercepted-(..)':\n case 'dynamic-intercepted-(...)':\n // For regular dynamic parameters, take the segment at this depth\n if (depth < route.segments.length) {\n const pathSegment = route.segments[depth]\n\n // Check if the segment at this depth is a placeholder for an unknown param\n if (\n pathSegment.type === 'dynamic' &&\n !params.hasOwnProperty(pathSegment.param.paramName)\n ) {\n // The segment is a placeholder like [category] and we don't have the value\n return undefined\n }\n\n // If the segment matches a param, use the param value from params object\n // Otherwise it's a static segment, just use it directly\n // We don't encode values here as that's handled during retrieval\n return getParamValueFromSegment(pathSegment, params, paramType)\n }\n\n return undefined\n\n default:\n paramType satisfies never\n }\n}\n"],"names":["InvariantError","interceptionPrefixFromParamType","getParamValueFromSegment","pathSegment","params","paramType","type","param","paramName","interceptionPrefix","interceptionMarker","name","replace","resolveParamValue","depth","route","processedSegments","index","segments","length","value","push","hasOwnProperty","undefined","paramValue","Array","isArray","pathname"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 1301, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/build/static-paths/app/extract-pathname-route-param-segments-from-loader-tree.ts"],"sourcesContent":["import type { LoaderTree } from '../../../server/lib/app-dir-module'\nimport type { Params } from '../../../server/request/params'\nimport type { DynamicParamTypes } from '../../../shared/lib/app-router-types'\nimport {\n parseAppRouteSegment,\n type NormalizedAppRoute,\n type NormalizedAppRouteSegment,\n} from '../../../shared/lib/router/routes/app'\nimport { parseLoaderTree } from '../../../shared/lib/router/utils/parse-loader-tree'\nimport { resolveParamValue } from '../../../shared/lib/router/utils/resolve-param-value'\n\n/**\n * Validates that the static segments in currentPath match the corresponding\n * segments in targetSegments. This ensures we only extract dynamic parameters\n * that are part of the target pathname structure.\n *\n * Segments are compared literally - interception markers like \"(.)photo\" are\n * part of the pathname and must match exactly.\n *\n * @example\n * // Matching paths\n * currentPath: ['blog', '(.)photo']\n * targetSegments: ['blog', '(.)photo', '[id]']\n * → Returns true (both static segments match exactly)\n *\n * @example\n * // Non-matching paths\n * currentPath: ['blog', '(.)photo']\n * targetSegments: ['blog', 'photo', '[id]']\n * → Returns false (segments don't match - marker is part of pathname)\n *\n * @param currentPath - The accumulated path segments from the loader tree\n * @param targetSegments - The target pathname split into segments\n * @returns true if all static segments match, false otherwise\n */\nfunction validatePrefixMatch(\n currentPath: NormalizedAppRouteSegment[],\n route: NormalizedAppRoute\n): boolean {\n for (let i = 0; i < currentPath.length; i++) {\n const pathSegment = currentPath[i]\n const targetPathSegment = route.segments[i]\n\n // Type mismatch - one is static, one is dynamic\n if (pathSegment.type !== targetPathSegment.type) {\n return false\n }\n\n // One has an interception marker, the other doesn't.\n if (\n pathSegment.interceptionMarker !== targetPathSegment.interceptionMarker\n ) {\n return false\n }\n\n // Both are static but names don't match\n if (\n pathSegment.type === 'static' &&\n targetPathSegment.type === 'static' &&\n pathSegment.name !== targetPathSegment.name\n ) {\n return false\n }\n // Both are dynamic but param names don't match\n else if (\n pathSegment.type === 'dynamic' &&\n targetPathSegment.type === 'dynamic' &&\n pathSegment.param.paramType !== targetPathSegment.param.paramType &&\n pathSegment.param.paramName !== targetPathSegment.param.paramName\n ) {\n return false\n }\n }\n\n return true\n}\n\n/**\n * Extracts pathname route param segments from a loader tree and resolves\n * parameter values from static segments in the route.\n *\n * @param loaderTree - The loader tree structure containing route hierarchy\n * @param route - The target route to match against\n * @returns Object containing pathname route param segments and resolved params\n */\nexport function extractPathnameRouteParamSegmentsFromLoaderTree(\n loaderTree: LoaderTree,\n route: NormalizedAppRoute\n): {\n pathnameRouteParamSegments: Array<{\n readonly name: string\n readonly paramName: string\n readonly paramType: DynamicParamTypes\n }>\n params: Params\n} {\n const pathnameRouteParamSegments: Array<{\n readonly name: string\n readonly paramName: string\n readonly paramType: DynamicParamTypes\n }> = []\n const params: Params = {}\n\n // BFS traversal with depth and path tracking\n const queue: Array<{\n tree: LoaderTree\n depth: number\n currentPath: NormalizedAppRouteSegment[]\n }> = [{ tree: loaderTree, depth: 0, currentPath: [] }]\n\n while (queue.length > 0) {\n const { tree, depth, currentPath } = queue.shift()!\n const { segment, parallelRoutes } = parseLoaderTree(tree)\n\n // Build the path for the current node\n let updatedPath = currentPath\n let nextDepth = depth\n\n const appSegment = parseAppRouteSegment(segment)\n\n // Only add to path if it's a real segment that appears in the URL\n // Route groups and parallel markers don't contribute to URL pathname\n if (\n appSegment &&\n appSegment.type !== 'route-group' &&\n appSegment.type !== 'parallel-route'\n ) {\n updatedPath = [...currentPath, appSegment]\n nextDepth = depth + 1\n }\n\n // Check if this segment has a param and matches the target pathname at this depth\n if (appSegment?.type === 'dynamic') {\n const { paramName, paramType } = appSegment.param\n\n // Check if this segment is at the correct depth in the target pathname\n // A segment matches if:\n // 1. There's a dynamic segment at this depth in the pathname\n // 2. The parameter names match (e.g., [id] matches [id], not [category])\n // 3. The static segments leading up to this point match (prefix check)\n if (depth < route.segments.length) {\n const targetSegment = route.segments[depth]\n\n // Match if the target pathname has a dynamic segment at this depth\n if (targetSegment.type === 'dynamic') {\n // Check that parameter names match exactly\n // This prevents [category] from matching against /[id]\n if (paramName !== targetSegment.param.paramName) {\n continue // Different param names, skip this segment\n }\n\n // Validate that the path leading up to this dynamic segment matches\n // the target pathname. This prevents false matches like extracting\n // [slug] from \"/news/[slug]\" when the tree has \"/blog/[slug]\"\n if (validatePrefixMatch(currentPath, route)) {\n pathnameRouteParamSegments.push({\n name: segment,\n paramName,\n paramType,\n })\n }\n }\n }\n\n // Resolve parameter value if it's not already known.\n if (!params.hasOwnProperty(paramName)) {\n const paramValue = resolveParamValue(\n paramName,\n paramType,\n depth,\n route,\n params\n )\n\n if (paramValue !== undefined) {\n params[paramName] = paramValue\n }\n }\n }\n\n // Continue traversing all parallel routes to find matching segments\n for (const parallelRoute of Object.values(parallelRoutes)) {\n queue.push({\n tree: parallelRoute,\n depth: nextDepth,\n currentPath: updatedPath,\n })\n }\n }\n\n return { pathnameRouteParamSegments, params }\n}\n"],"names":["parseAppRouteSegment","parseLoaderTree","resolveParamValue","validatePrefixMatch","currentPath","route","i","length","pathSegment","targetPathSegment","segments","type","interceptionMarker","name","param","paramType","paramName","extractPathnameRouteParamSegmentsFromLoaderTree","loaderTree","pathnameRouteParamSegments","params","queue","tree","depth","shift","segment","parallelRoutes","updatedPath","nextDepth","appSegment","targetSegment","push","hasOwnProperty","paramValue","undefined","parallelRoute","Object","values"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 1437, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/build/static-paths/utils.ts"],"sourcesContent":["import type { LoaderTree } from '../../server/lib/app-dir-module'\nimport type { Params } from '../../server/request/params'\nimport type { AppPageRouteModule } from '../../server/route-modules/app-page/module.compiled'\nimport type { AppRouteRouteModule } from '../../server/route-modules/app-route/module.compiled'\nimport { isAppPageRouteModule } from '../../server/route-modules/checks'\nimport type { DynamicParamTypes } from '../../shared/lib/app-router-types'\nimport {\n parseAppRouteSegment,\n type NormalizedAppRoute,\n} from '../../shared/lib/router/routes/app'\nimport { parseLoaderTree } from '../../shared/lib/router/utils/parse-loader-tree'\nimport type { AppSegment } from '../segment-config/app/app-segments'\nimport { extractPathnameRouteParamSegmentsFromLoaderTree } from './app/extract-pathname-route-param-segments-from-loader-tree'\nimport { resolveParamValue } from '../../shared/lib/router/utils/resolve-param-value'\nimport type { FallbackRouteParam } from './types'\n\n/**\n * Encodes a parameter value using the provided encoder.\n *\n * @param value - The value to encode.\n * @param encoder - The encoder to use.\n * @returns The encoded value.\n */\nexport function encodeParam(\n value: string | string[],\n encoder: (value: string) => string\n) {\n let replaceValue: string\n if (Array.isArray(value)) {\n replaceValue = value.map(encoder).join('/')\n } else {\n replaceValue = encoder(value)\n }\n\n return replaceValue\n}\n\n/**\n * Normalizes a pathname to a consistent format.\n *\n * @param pathname - The pathname to normalize.\n * @returns The normalized pathname.\n */\nexport function normalizePathname(pathname: string) {\n return pathname.replace(/\\\\/g, '/').replace(/(?!^)\\/$/, '')\n}\n\n/**\n * Extracts segments that contribute to the pathname by traversing the loader tree\n * based on the route module type.\n *\n * @param routeModule - The app route module (page or route handler)\n * @param segments - Array of AppSegment objects collected from the route\n * @param page - The target pathname to match against, INCLUDING interception\n * markers (e.g., \"/blog/[slug]\", \"/(.)photo/[id]\")\n * @returns Array of segments with param info that contribute to the pathname\n */\nexport function extractPathnameRouteParamSegments(\n routeModule: AppRouteRouteModule | AppPageRouteModule,\n segments: readonly Readonly[],\n route: NormalizedAppRoute\n): Array<{\n readonly name: string\n readonly paramName: string\n readonly paramType: DynamicParamTypes\n}> {\n // For AppPageRouteModule, use the loaderTree traversal approach\n if (isAppPageRouteModule(routeModule)) {\n const { pathnameRouteParamSegments } =\n extractPathnameRouteParamSegmentsFromLoaderTree(\n routeModule.userland.loaderTree,\n route\n )\n return pathnameRouteParamSegments\n }\n\n return extractPathnameRouteParamSegmentsFromSegments(segments)\n}\n\nexport function extractPathnameRouteParamSegmentsFromSegments(\n segments: readonly Readonly[]\n): Array<{\n readonly name: string\n readonly paramName: string\n readonly paramType: DynamicParamTypes\n}> {\n // TODO: should we consider what values are already present in the page?\n\n // For AppRouteRouteModule, filter the segments array to get the route params\n // that contribute to the pathname.\n const result: Array<{\n readonly name: string\n readonly paramName: string\n readonly paramType: DynamicParamTypes\n }> = []\n\n for (const segment of segments) {\n // Skip segments without param info.\n if (!segment.paramName || !segment.paramType) continue\n\n // Collect all the route param keys that contribute to the pathname.\n result.push({\n name: segment.name,\n paramName: segment.paramName,\n paramType: segment.paramType,\n })\n }\n\n return result\n}\n\n/**\n * Resolves all route parameters from the loader tree. This function uses\n * tree-based traversal to correctly handle the hierarchical structure of routes\n * and accurately determine parameter values based on their depth in the tree.\n *\n * This processes both regular route parameters (from the main children route) and\n * parallel route parameters (from slots like @modal, @sidebar).\n *\n * Unlike interpolateParallelRouteParams (which has a complete URL at runtime),\n * this build-time function determines which route params are unknown.\n * The pathname may contain placeholders like [slug], making it incomplete.\n *\n * @param loaderTree - The loader tree structure containing route hierarchy\n * @param params - The current route parameters object (will be mutated)\n * @param route - The current route being processed\n * @param fallbackRouteParams - Array of fallback route parameters (will be mutated)\n */\nexport function resolveRouteParamsFromTree(\n loaderTree: LoaderTree,\n params: Params,\n route: NormalizedAppRoute,\n fallbackRouteParams: FallbackRouteParam[]\n): void {\n // Stack-based traversal with depth tracking\n const stack: Array<{\n tree: LoaderTree\n depth: number\n }> = [{ tree: loaderTree, depth: 0 }]\n\n while (stack.length > 0) {\n const { tree, depth } = stack.pop()!\n const { segment, parallelRoutes } = parseLoaderTree(tree)\n\n const appSegment = parseAppRouteSegment(segment)\n\n // If this segment is a route parameter, then we should process it if it's\n // not already known and is not already marked as a fallback route param.\n if (\n appSegment?.type === 'dynamic' &&\n !params.hasOwnProperty(appSegment.param.paramName) &&\n !fallbackRouteParams.some(\n (param) => param.paramName === appSegment.param.paramName\n )\n ) {\n const { paramName, paramType } = appSegment.param\n\n const paramValue = resolveParamValue(\n paramName,\n paramType,\n depth,\n route,\n params\n )\n\n if (paramValue !== undefined) {\n params[paramName] = paramValue\n } else if (paramType !== 'optional-catchall') {\n // If we couldn't resolve the param, mark it as a fallback\n fallbackRouteParams.push({ paramName, paramType })\n }\n }\n\n // Calculate next depth - increment if this is not a route group and not empty\n let nextDepth = depth\n if (\n appSegment &&\n appSegment.type !== 'route-group' &&\n appSegment.type !== 'parallel-route'\n ) {\n nextDepth++\n }\n\n // Add all parallel routes to the stack for processing.\n for (const parallelRoute of Object.values(parallelRoutes)) {\n stack.push({ tree: parallelRoute, depth: nextDepth })\n }\n }\n}\n"],"names":["isAppPageRouteModule","parseAppRouteSegment","parseLoaderTree","extractPathnameRouteParamSegmentsFromLoaderTree","resolveParamValue","encodeParam","value","encoder","replaceValue","Array","isArray","map","join","normalizePathname","pathname","replace","extractPathnameRouteParamSegments","routeModule","segments","route","pathnameRouteParamSegments","userland","loaderTree","extractPathnameRouteParamSegmentsFromSegments","result","segment","paramName","paramType","push","name","resolveRouteParamsFromTree","params","fallbackRouteParams","stack","tree","depth","length","pop","parallelRoutes","appSegment","type","hasOwnProperty","param","some","paramValue","undefined","nextDepth","parallelRoute","Object","values"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 1541, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/server/app-render/get-short-dynamic-param-type.tsx"],"sourcesContent":["import type {\n DynamicParamTypes,\n DynamicParamTypesShort,\n} from '../../shared/lib/app-router-types'\n\nexport const dynamicParamTypes: Record<\n DynamicParamTypes,\n DynamicParamTypesShort\n> = {\n catchall: 'c',\n 'catchall-intercepted-(..)(..)': 'ci(..)(..)',\n 'catchall-intercepted-(.)': 'ci(.)',\n 'catchall-intercepted-(..)': 'ci(..)',\n 'catchall-intercepted-(...)': 'ci(...)',\n 'optional-catchall': 'oc',\n dynamic: 'd',\n 'dynamic-intercepted-(..)(..)': 'di(..)(..)',\n 'dynamic-intercepted-(.)': 'di(.)',\n 'dynamic-intercepted-(..)': 'di(..)',\n 'dynamic-intercepted-(...)': 'di(...)',\n}\n"],"names":["dynamicParamTypes","catchall","dynamic"],"mappings":";;;;AAKO,MAAMA,oBAGT;IACFC,UAAU;IACV,iCAAiC;IACjC,4BAA4B;IAC5B,6BAA6B;IAC7B,8BAA8B;IAC9B,qBAAqB;IACrBC,SAAS;IACT,gCAAgC;IAChC,2BAA2B;IAC3B,4BAA4B;IAC5B,6BAA6B;AAC/B,EAAC","ignoreList":[0]}}, + {"offset": {"line": 1562, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/server/request/fallback-params.ts"],"sourcesContent":["import { resolveRouteParamsFromTree } from '../../build/static-paths/utils'\nimport type { FallbackRouteParam } from '../../build/static-paths/types'\nimport type { DynamicParamTypesShort } from '../../shared/lib/app-router-types'\nimport { dynamicParamTypes } from '../app-render/get-short-dynamic-param-type'\nimport type AppPageRouteModule from '../route-modules/app-page/module'\nimport { parseAppRoute } from '../../shared/lib/router/routes/app'\nimport { extractPathnameRouteParamSegmentsFromLoaderTree } from '../../build/static-paths/app/extract-pathname-route-param-segments-from-loader-tree'\n\nexport type OpaqueFallbackRouteParamValue = [\n /**\n * The search value of the fallback route param. This is the opaque key\n * that will be used to replace the dynamic param in the postponed state.\n */\n searchValue: string,\n\n /**\n * The dynamic param type of the fallback route param. This is the type of\n * the dynamic param that will be used to replace the dynamic param in the\n * postponed state.\n */\n dynamicParamType: DynamicParamTypesShort,\n]\n\n/**\n * An opaque fallback route params object. This is used to store the fallback\n * route params in a way that is not easily accessible to the client.\n */\nexport type OpaqueFallbackRouteParams = ReadonlyMap<\n string,\n OpaqueFallbackRouteParamValue\n>\n\n/**\n * The entries of the opaque fallback route params object.\n *\n * @param key the key of the fallback route param\n * @param value the value of the fallback route param\n */\nexport type OpaqueFallbackRouteParamEntries =\n ReturnType extends MapIterator<\n [infer K, infer V]\n >\n ? ReadonlyArray<[K, V]>\n : never\n\n/**\n * Creates an opaque fallback route params object from the fallback route params.\n *\n * @param fallbackRouteParams the fallback route params\n * @returns the opaque fallback route params\n */\nexport function createOpaqueFallbackRouteParams(\n fallbackRouteParams: readonly FallbackRouteParam[]\n): OpaqueFallbackRouteParams | null {\n // If there are no fallback route params, we can return early.\n if (fallbackRouteParams.length === 0) return null\n\n // As we're creating unique keys for each of the dynamic route params, we only\n // need to generate a unique ID once per request because each of the keys will\n // be also be unique.\n const uniqueID = Math.random().toString(16).slice(2)\n\n const keys = new Map()\n\n // Generate a unique key for the fallback route param, if this key is found\n // in the static output, it represents a bug in cache components.\n for (const { paramName, paramType } of fallbackRouteParams) {\n keys.set(paramName, [\n `%%drp:${paramName}:${uniqueID}%%`,\n dynamicParamTypes[paramType],\n ])\n }\n\n return keys\n}\n\n/**\n * Gets the fallback route params for a given page. This is an expensive\n * operation because it requires parsing the loader tree to extract the fallback\n * route params.\n *\n * @param page the page\n * @param routeModule the route module\n * @returns the opaque fallback route params\n */\nexport function getFallbackRouteParams(\n page: string,\n routeModule: AppPageRouteModule\n) {\n const route = parseAppRoute(page, true)\n\n // Extract the pathname-contributing segments from the loader tree. This\n // mirrors the logic in buildAppStaticPaths where we determine which segments\n // actually contribute to the pathname.\n const { pathnameRouteParamSegments, params } =\n extractPathnameRouteParamSegmentsFromLoaderTree(\n routeModule.userland.loaderTree,\n route\n )\n\n // Create fallback route params for the pathname segments.\n const fallbackRouteParams: FallbackRouteParam[] =\n pathnameRouteParamSegments.map(({ paramName, paramType }) => ({\n paramName,\n paramType,\n }))\n\n // Resolve route params from the loader tree. This mutates the\n // fallbackRouteParams array to add any route params that are\n // unknown at request time.\n //\n // The page parameter contains placeholders like [slug], which helps\n // resolveRouteParamsFromTree determine which params are unknown.\n resolveRouteParamsFromTree(\n routeModule.userland.loaderTree,\n params, // Static params extracted from the page\n route, // The page pattern with placeholders\n fallbackRouteParams // Will be mutated to add route params\n )\n\n // Convert the fallback route params to an opaque format that can be safely\n // used in the postponed state without exposing implementation details.\n return createOpaqueFallbackRouteParams(fallbackRouteParams)\n}\n"],"names":["resolveRouteParamsFromTree","dynamicParamTypes","parseAppRoute","extractPathnameRouteParamSegmentsFromLoaderTree","createOpaqueFallbackRouteParams","fallbackRouteParams","length","uniqueID","Math","random","toString","slice","keys","Map","paramName","paramType","set","getFallbackRouteParams","page","routeModule","route","pathnameRouteParamSegments","params","userland","loaderTree","map"],"mappings":";;;;;;AAAA,SAASA,0BAA0B,QAAQ,iCAAgC;AAG3E,SAASC,iBAAiB,QAAQ,6CAA4C;AAE9E,SAASC,aAAa,QAAQ,qCAAoC;AAClE,SAASC,+CAA+C,QAAQ,sFAAqF;;;;;AA6C9I,SAASC,gCACdC,mBAAkD;IAElD,8DAA8D;IAC9D,IAAIA,oBAAoBC,MAAM,KAAK,GAAG,OAAO;IAE7C,8EAA8E;IAC9E,8EAA8E;IAC9E,qBAAqB;IACrB,MAAMC,WAAWC,KAAKC,MAAM,GAAGC,QAAQ,CAAC,IAAIC,KAAK,CAAC;IAElD,MAAMC,OAAO,IAAIC;IAEjB,2EAA2E;IAC3E,iEAAiE;IACjE,KAAK,MAAM,EAAEC,SAAS,EAAEC,SAAS,EAAE,IAAIV,oBAAqB;QAC1DO,KAAKI,GAAG,CAACF,WAAW;YAClB,CAAC,MAAM,EAAEA,UAAU,CAAC,EAAEP,SAAS,EAAE,CAAC;YAClCN,+NAAiB,CAACc,UAAU;SAC7B;IACH;IAEA,OAAOH;AACT;AAWO,SAASK,uBACdC,IAAY,EACZC,WAA+B;IAE/B,MAAMC,YAAQlB,gMAAAA,EAAcgB,MAAM;IAElC,wEAAwE;IACxE,6EAA6E;IAC7E,uCAAuC;IACvC,MAAM,EAAEG,0BAA0B,EAAEC,MAAM,EAAE,OAC1CnB,wSAAAA,EACEgB,YAAYI,QAAQ,CAACC,UAAU,EAC/BJ;IAGJ,0DAA0D;IAC1D,MAAMf,sBACJgB,2BAA2BI,GAAG,CAAC,CAAC,EAAEX,SAAS,EAAEC,SAAS,EAAE,GAAM,CAAA;YAC5DD;YACAC;QACF,CAAA;IAEF,8DAA8D;IAC9D,6DAA6D;IAC7D,2BAA2B;IAC3B,EAAE;IACF,oEAAoE;IACpE,iEAAiE;QACjEf,sMAAAA,EACEmB,YAAYI,QAAQ,CAACC,UAAU,EAC/BF,QACAF,OACAf,oBAAoB,sCAAsC;;IAG5D,2EAA2E;IAC3E,uEAAuE;IACvE,OAAOD,gCAAgCC;AACzC","ignoreList":[0]}}, + {"offset": {"line": 1621, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/server/app-render/manifests-singleton.ts"],"sourcesContent":["import type { ActionManifest } from '../../build/webpack/plugins/flight-client-entry-plugin'\nimport type { ClientReferenceManifest } from '../../build/webpack/plugins/flight-manifest-plugin'\nimport type { DeepReadonly } from '../../shared/lib/deep-readonly'\nimport { InvariantError } from '../../shared/lib/invariant-error'\nimport { normalizeAppPath } from '../../shared/lib/router/utils/app-paths'\nimport { pathHasPrefix } from '../../shared/lib/router/utils/path-has-prefix'\nimport { removePathPrefix } from '../../shared/lib/router/utils/remove-path-prefix'\nimport { workAsyncStorage } from './work-async-storage.external'\n\nexport interface ServerModuleMap {\n readonly [name: string]: {\n readonly id: string | number\n readonly name: string\n readonly chunks: Readonly> // currently not used\n readonly async?: boolean\n }\n}\n\n// This is a global singleton that is, among other things, also used to\n// encode/decode bound args of server function closures. This can't be using a\n// AsyncLocalStorage as it might happen at the module level.\nconst MANIFESTS_SINGLETON = Symbol.for('next.server.manifests')\n\ninterface ManifestsSingleton {\n readonly clientReferenceManifestsPerRoute: Map<\n string,\n DeepReadonly\n >\n readonly proxiedClientReferenceManifest: DeepReadonly\n serverActionsManifest: DeepReadonly\n serverModuleMap: ServerModuleMap\n}\n\ntype GlobalThisWithManifests = typeof globalThis & {\n [MANIFESTS_SINGLETON]?: ManifestsSingleton\n}\n\ntype ClientReferenceManifestMappingProp =\n | 'clientModules'\n | 'rscModuleMapping'\n | 'edgeRscModuleMapping'\n | 'ssrModuleMapping'\n | 'edgeSSRModuleMapping'\n\nconst globalThisWithManifests = globalThis as GlobalThisWithManifests\n\nfunction createProxiedClientReferenceManifest(\n clientReferenceManifestsPerRoute: Map<\n string,\n DeepReadonly\n >\n): DeepReadonly {\n const createMappingProxy = (prop: ClientReferenceManifestMappingProp) => {\n return new Proxy(\n {},\n {\n get(_, id: string) {\n const workStore = workAsyncStorage.getStore()\n\n if (workStore) {\n const currentManifest = clientReferenceManifestsPerRoute.get(\n workStore.route\n )\n\n if (currentManifest?.[prop][id]) {\n return currentManifest[prop][id]\n }\n\n // In development, we also check all other manifests to see if the\n // module exists there. This is to support a scenario where React's\n // I/O tracking (dev-only) creates a connection from one page to\n // another through an emitted async I/O node that references client\n // components from the other page, e.g. in owner props.\n // TODO: Maybe we need to add a `debugBundlerConfig` option to React\n // to avoid this workaround. The current workaround has the\n // disadvantage that one might accidentally or intentionally share\n // client references across pages (e.g. by storing them in a global\n // variable), which would then only be caught in production.\n if (process.env.NODE_ENV !== 'production') {\n for (const [\n route,\n manifest,\n ] of clientReferenceManifestsPerRoute) {\n if (route === workStore.route) {\n continue\n }\n\n const entry = manifest[prop][id]\n\n if (entry !== undefined) {\n return entry\n }\n }\n }\n } else {\n // If there's no work store defined, we can assume that a client\n // reference manifest is needed during module evaluation, e.g. to\n // create a server function using a higher-order function. This\n // might also use client components which need to be serialized by\n // Flight, and therefore client references need to be resolvable. In\n // that case we search all page manifests to find the module.\n for (const manifest of clientReferenceManifestsPerRoute.values()) {\n const entry = manifest[prop][id]\n\n if (entry !== undefined) {\n return entry\n }\n }\n }\n\n return undefined\n },\n }\n )\n }\n\n const mappingProxies = new Map<\n ClientReferenceManifestMappingProp,\n ReturnType\n >()\n\n return new Proxy(\n {},\n {\n get(_, prop) {\n const workStore = workAsyncStorage.getStore()\n\n switch (prop) {\n case 'moduleLoading':\n case 'entryCSSFiles':\n case 'entryJSFiles': {\n if (!workStore) {\n throw new InvariantError(\n `Cannot access \"${prop}\" without a work store.`\n )\n }\n\n const currentManifest = clientReferenceManifestsPerRoute.get(\n workStore.route\n )\n\n if (!currentManifest) {\n throw new InvariantError(\n `The client reference manifest for route \"${workStore.route}\" does not exist.`\n )\n }\n\n return currentManifest[prop]\n }\n case 'clientModules':\n case 'rscModuleMapping':\n case 'edgeRscModuleMapping':\n case 'ssrModuleMapping':\n case 'edgeSSRModuleMapping': {\n let proxy = mappingProxies.get(prop)\n\n if (!proxy) {\n proxy = createMappingProxy(prop)\n mappingProxies.set(prop, proxy)\n }\n\n return proxy\n }\n default: {\n throw new InvariantError(\n `This is a proxied client reference manifest. The property \"${String(prop)}\" is not handled.`\n )\n }\n }\n },\n }\n ) as DeepReadonly\n}\n\n/**\n * This function creates a Flight-acceptable server module map proxy from our\n * Server Reference Manifest similar to our client module map. This is because\n * our manifest contains a lot of internal Next.js data that are relevant to the\n * runtime, workers, etc. that React doesn't need to know.\n */\nfunction createServerModuleMap(): ServerModuleMap {\n return new Proxy(\n {},\n {\n get: (_, id: string) => {\n const workers =\n getServerActionsManifest()[\n process.env.NEXT_RUNTIME === 'edge' ? 'edge' : 'node'\n ]?.[id]?.workers\n\n if (!workers) {\n return undefined\n }\n\n const workStore = workAsyncStorage.getStore()\n\n let workerEntry:\n | { moduleId: string | number; async: boolean }\n | undefined\n\n if (workStore) {\n workerEntry = workers[normalizeWorkerPageName(workStore.page)]\n } else {\n // If there's no work store defined, we can assume that a server\n // module map is needed during module evaluation, e.g. to create a\n // server action using a higher-order function. Therefore it should be\n // safe to return any entry from the manifest that matches the action\n // ID. They all refer to the same module ID, which must also exist in\n // the current page bundle. TODO: This is currently not guaranteed in\n // Turbopack, and needs to be fixed.\n workerEntry = Object.values(workers).at(0)\n }\n\n if (!workerEntry) {\n return undefined\n }\n\n const { moduleId, async } = workerEntry\n\n return { id: moduleId, name: id, chunks: [], async }\n },\n }\n )\n}\n\n/**\n * The flight entry loader keys actions by bundlePath. bundlePath corresponds\n * with the relative path (including 'app') to the page entrypoint.\n */\nfunction normalizeWorkerPageName(pageName: string) {\n if (pathHasPrefix(pageName, 'app')) {\n return pageName\n }\n\n return 'app' + pageName\n}\n\n/**\n * Converts a bundlePath (relative path to the entrypoint) to a routable page\n * name.\n */\nfunction denormalizeWorkerPageName(bundlePath: string) {\n return normalizeAppPath(removePathPrefix(bundlePath, 'app'))\n}\n\n/**\n * Checks if the requested action has a worker for the current page.\n * If not, it returns the first worker that has a handler for the action.\n */\nexport function selectWorkerForForwarding(\n actionId: string,\n pageName: string\n): string | undefined {\n const serverActionsManifest = getServerActionsManifest()\n const workers =\n serverActionsManifest[\n process.env.NEXT_RUNTIME === 'edge' ? 'edge' : 'node'\n ][actionId]?.workers\n\n // There are no workers to handle this action, nothing to forward to.\n if (!workers) {\n return\n }\n\n // If there is an entry for the current page, we don't need to forward.\n if (workers[normalizeWorkerPageName(pageName)]) {\n return\n }\n\n // Otherwise, grab the first worker that has a handler for this action id.\n return denormalizeWorkerPageName(Object.keys(workers)[0])\n}\n\nexport function setManifestsSingleton({\n page,\n clientReferenceManifest,\n serverActionsManifest,\n}: {\n page: string\n clientReferenceManifest: DeepReadonly\n serverActionsManifest: DeepReadonly\n}) {\n const existingSingleton = globalThisWithManifests[MANIFESTS_SINGLETON]\n\n if (existingSingleton) {\n existingSingleton.clientReferenceManifestsPerRoute.set(\n normalizeAppPath(page),\n clientReferenceManifest\n )\n\n existingSingleton.serverActionsManifest = serverActionsManifest\n } else {\n const clientReferenceManifestsPerRoute = new Map<\n string,\n DeepReadonly\n >([[normalizeAppPath(page), clientReferenceManifest]])\n\n const proxiedClientReferenceManifest = createProxiedClientReferenceManifest(\n clientReferenceManifestsPerRoute\n )\n\n globalThisWithManifests[MANIFESTS_SINGLETON] = {\n clientReferenceManifestsPerRoute,\n proxiedClientReferenceManifest,\n serverActionsManifest,\n serverModuleMap: createServerModuleMap(),\n }\n }\n}\n\nfunction getManifestsSingleton(): ManifestsSingleton {\n const manifestSingleton = globalThisWithManifests[MANIFESTS_SINGLETON]\n\n if (!manifestSingleton) {\n throw new InvariantError('The manifests singleton was not initialized.')\n }\n\n return manifestSingleton\n}\n\nexport function getClientReferenceManifest(): DeepReadonly {\n return getManifestsSingleton().proxiedClientReferenceManifest\n}\n\nexport function getServerActionsManifest(): DeepReadonly {\n return getManifestsSingleton().serverActionsManifest\n}\n\nexport function getServerModuleMap() {\n return getManifestsSingleton().serverModuleMap\n}\n"],"names":["InvariantError","normalizeAppPath","pathHasPrefix","removePathPrefix","workAsyncStorage","MANIFESTS_SINGLETON","Symbol","for","globalThisWithManifests","globalThis","createProxiedClientReferenceManifest","clientReferenceManifestsPerRoute","createMappingProxy","prop","Proxy","get","_","id","workStore","getStore","currentManifest","route","process","env","NODE_ENV","manifest","entry","undefined","values","mappingProxies","Map","proxy","set","String","createServerModuleMap","getServerActionsManifest","workers","NEXT_RUNTIME","workerEntry","normalizeWorkerPageName","page","Object","at","moduleId","async","name","chunks","pageName","denormalizeWorkerPageName","bundlePath","selectWorkerForForwarding","actionId","serverActionsManifest","keys","setManifestsSingleton","clientReferenceManifest","existingSingleton","proxiedClientReferenceManifest","serverModuleMap","getManifestsSingleton","manifestSingleton","getClientReferenceManifest","getServerModuleMap"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 1863, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/shared/lib/router/utils/html-bots.ts"],"sourcesContent":["// This regex contains the bots that we need to do a blocking render for and can't safely stream the response\n// due to how they parse the DOM. For example, they might explicitly check for metadata in the `head` tag, so we can't stream metadata tags after the `head` was sent.\n// Note: The pattern [\\w-]+-Google captures all Google crawlers with \"-Google\" suffix (e.g., Mediapartners-Google, AdsBot-Google, Storebot-Google)\n// as well as crawlers starting with \"Google-\" (e.g., Google-PageRenderer, Google-InspectionTool)\nexport const HTML_LIMITED_BOT_UA_RE =\n /[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight/i\n"],"names":["HTML_LIMITED_BOT_UA_RE"],"mappings":"AAAA,6GAA6G;AAC7G,sKAAsK;AACtK,kJAAkJ;AAClJ,iGAAiG;;;;;AAC1F,MAAMA,yBACX,sTAAqT","ignoreList":[0]}}, + {"offset": {"line": 1876, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/shared/lib/router/utils/is-bot.ts"],"sourcesContent":["import { HTML_LIMITED_BOT_UA_RE } from './html-bots'\n\n// Bot crawler that will spin up a headless browser and execute JS.\n// Only the main Googlebot search crawler executes JavaScript, not other Google crawlers.\n// x-ref: https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers\n// This regex specifically matches \"Googlebot\" but NOT \"Mediapartners-Google\", \"AdsBot-Google\", etc.\nconst HEADLESS_BROWSER_BOT_UA_RE = /Googlebot(?!-)|Googlebot$/i\n\nexport const HTML_LIMITED_BOT_UA_RE_STRING = HTML_LIMITED_BOT_UA_RE.source\n\nexport { HTML_LIMITED_BOT_UA_RE }\n\nfunction isDomBotUA(userAgent: string) {\n return HEADLESS_BROWSER_BOT_UA_RE.test(userAgent)\n}\n\nfunction isHtmlLimitedBotUA(userAgent: string) {\n return HTML_LIMITED_BOT_UA_RE.test(userAgent)\n}\n\nexport function isBot(userAgent: string): boolean {\n return isDomBotUA(userAgent) || isHtmlLimitedBotUA(userAgent)\n}\n\nexport function getBotType(userAgent: string): 'dom' | 'html' | undefined {\n if (isDomBotUA(userAgent)) {\n return 'dom'\n }\n if (isHtmlLimitedBotUA(userAgent)) {\n return 'html'\n }\n return undefined\n}\n"],"names":["HTML_LIMITED_BOT_UA_RE","HEADLESS_BROWSER_BOT_UA_RE","HTML_LIMITED_BOT_UA_RE_STRING","source","isDomBotUA","userAgent","test","isHtmlLimitedBotUA","isBot","getBotType","undefined"],"mappings":";;;;;;;;AAAA,SAASA,sBAAsB,QAAQ,cAAa;;AAEpD,mEAAmE;AACnE,yFAAyF;AACzF,4FAA4F;AAC5F,oGAAoG;AACpG,MAAMC,6BAA6B;AAE5B,MAAMC,gCAAgCF,iNAAAA,CAAuBG,MAAM,CAAA;;AAI1E,SAASC,WAAWC,SAAiB;IACnC,OAAOJ,2BAA2BK,IAAI,CAACD;AACzC;AAEA,SAASE,mBAAmBF,SAAiB;IAC3C,OAAOL,iNAAAA,CAAuBM,IAAI,CAACD;AACrC;AAEO,SAASG,MAAMH,SAAiB;IACrC,OAAOD,WAAWC,cAAcE,mBAAmBF;AACrD;AAEO,SAASI,WAAWJ,SAAiB;IAC1C,IAAID,WAAWC,YAAY;QACzB,OAAO;IACT;IACA,IAAIE,mBAAmBF,YAAY;QACjC,OAAO;IACT;IACA,OAAOK;AACT","ignoreList":[0]}}, + {"offset": {"line": 1915, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/server/lib/streaming-metadata.ts"],"sourcesContent":["import {\n getBotType,\n HTML_LIMITED_BOT_UA_RE_STRING,\n} from '../../shared/lib/router/utils/is-bot'\nimport type { BaseNextRequest } from '../base-http'\n\nexport function shouldServeStreamingMetadata(\n userAgent: string,\n htmlLimitedBots: string | undefined\n): boolean {\n const blockingMetadataUARegex = new RegExp(\n htmlLimitedBots || HTML_LIMITED_BOT_UA_RE_STRING,\n 'i'\n )\n // Only block metadata for HTML-limited bots\n if (userAgent && blockingMetadataUARegex.test(userAgent)) {\n return false\n }\n return true\n}\n\n// When the request UA is a html-limited bot, we should do a dynamic render.\n// In this case, postpone state is not sent.\nexport function isHtmlBotRequest(req: {\n headers: BaseNextRequest['headers']\n}): boolean {\n const ua = req.headers['user-agent'] || ''\n const botType = getBotType(ua)\n\n return botType === 'html'\n}\n"],"names":["getBotType","HTML_LIMITED_BOT_UA_RE_STRING","shouldServeStreamingMetadata","userAgent","htmlLimitedBots","blockingMetadataUARegex","RegExp","test","isHtmlBotRequest","req","ua","headers","botType"],"mappings":";;;;;;AAAA,SACEA,UAAU,EACVC,6BAA6B,QACxB,uCAAsC;;AAGtC,SAASC,6BACdC,SAAiB,EACjBC,eAAmC;IAEnC,MAAMC,0BAA0B,IAAIC,OAClCF,mBAAmBH,qOAAAA,EACnB;IAEF,4CAA4C;IAC5C,IAAIE,aAAaE,wBAAwBE,IAAI,CAACJ,YAAY;QACxD,OAAO;IACT;IACA,OAAO;AACT;AAIO,SAASK,iBAAiBC,GAEhC;IACC,MAAMC,KAAKD,IAAIE,OAAO,CAAC,aAAa,IAAI;IACxC,MAAMC,cAAUZ,kNAAAA,EAAWU;IAE3B,OAAOE,YAAY;AACrB","ignoreList":[0]}}, + {"offset": {"line": 1940, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/server/lib/server-action-request-meta.ts"],"sourcesContent":["import type { IncomingMessage } from 'http'\nimport type { BaseNextRequest } from '../base-http'\nimport type { NextRequest } from '../web/exports'\nimport { ACTION_HEADER } from '../../client/components/app-router-headers'\n\nexport function getServerActionRequestMetadata(\n req: IncomingMessage | BaseNextRequest | NextRequest\n): {\n actionId: string | null\n isURLEncodedAction: boolean\n isMultipartAction: boolean\n isFetchAction: boolean\n isPossibleServerAction: boolean\n} {\n let actionId: string | null\n let contentType: string | null\n\n if (req.headers instanceof Headers) {\n actionId = req.headers.get(ACTION_HEADER) ?? null\n contentType = req.headers.get('content-type')\n } else {\n actionId = (req.headers[ACTION_HEADER] as string) ?? null\n contentType = req.headers['content-type'] ?? null\n }\n\n // We don't actually support URL encoded actions, and the action handler will bail out if it sees one.\n // But we still want it to flow through to the action handler, to prevent changes in behavior when a regular\n // page component tries to handle a POST.\n const isURLEncodedAction = Boolean(\n req.method === 'POST' && contentType === 'application/x-www-form-urlencoded'\n )\n const isMultipartAction = Boolean(\n req.method === 'POST' && contentType?.startsWith('multipart/form-data')\n )\n const isFetchAction = Boolean(\n actionId !== undefined &&\n typeof actionId === 'string' &&\n req.method === 'POST'\n )\n\n const isPossibleServerAction = Boolean(\n isFetchAction || isURLEncodedAction || isMultipartAction\n )\n\n return {\n actionId,\n isURLEncodedAction,\n isMultipartAction,\n isFetchAction,\n isPossibleServerAction,\n }\n}\n\nexport function getIsPossibleServerAction(\n req: IncomingMessage | BaseNextRequest | NextRequest\n): boolean {\n return getServerActionRequestMetadata(req).isPossibleServerAction\n}\n"],"names":["ACTION_HEADER","getServerActionRequestMetadata","req","actionId","contentType","headers","Headers","get","isURLEncodedAction","Boolean","method","isMultipartAction","startsWith","isFetchAction","undefined","isPossibleServerAction","getIsPossibleServerAction"],"mappings":";;;;;;AAGA,SAASA,aAAa,QAAQ,6CAA4C;;AAEnE,SAASC,+BACdC,GAAoD;IAQpD,IAAIC;IACJ,IAAIC;IAEJ,IAAIF,IAAIG,OAAO,YAAYC,SAAS;QAClCH,WAAWD,IAAIG,OAAO,CAACE,GAAG,CAACP,wMAAAA,KAAkB;QAC7CI,cAAcF,IAAIG,OAAO,CAACE,GAAG,CAAC;IAChC,OAAO;QACLJ,WAAYD,IAAIG,OAAO,CAACL,wMAAAA,CAAc,IAAe;QACrDI,cAAcF,IAAIG,OAAO,CAAC,eAAe,IAAI;IAC/C;IAEA,sGAAsG;IACtG,4GAA4G;IAC5G,yCAAyC;IACzC,MAAMG,qBAAqBC,QACzBP,IAAIQ,MAAM,KAAK,UAAUN,gBAAgB;IAE3C,MAAMO,oBAAoBF,QACxBP,IAAIQ,MAAM,KAAK,UAAA,CAAUN,eAAAA,OAAAA,KAAAA,IAAAA,YAAaQ,UAAU,CAAC,sBAAA;IAEnD,MAAMC,gBAAgBJ,QACpBN,aAAaW,aACX,OAAOX,aAAa,YACpBD,IAAIQ,MAAM,KAAK;IAGnB,MAAMK,yBAAyBN,QAC7BI,iBAAiBL,sBAAsBG;IAGzC,OAAO;QACLR;QACAK;QACAG;QACAE;QACAE;IACF;AACF;AAEO,SAASC,0BACdd,GAAoD;IAEpD,OAAOD,+BAA+BC,KAAKa,sBAAsB;AACnE","ignoreList":[0]}}, + {"offset": {"line": 1980, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/lib/fallback.ts"],"sourcesContent":["/**\n * Describes the different fallback modes that a given page can have.\n */\nexport const enum FallbackMode {\n /**\n * A BLOCKING_STATIC_RENDER fallback will block the request until the page is\n * generated. No fallback page will be rendered, and users will have to wait\n * to render the page.\n */\n BLOCKING_STATIC_RENDER = 'BLOCKING_STATIC_RENDER',\n\n /**\n * When set to PRERENDER, a fallback page will be sent to users in place of\n * forcing them to wait for the page to be generated. This allows the user to\n * see a rendered page earlier.\n */\n PRERENDER = 'PRERENDER',\n\n /**\n * When set to NOT_FOUND, pages that are not already prerendered will result\n * in a not found response.\n */\n NOT_FOUND = 'NOT_FOUND',\n}\n\n/**\n * The fallback value returned from the `getStaticPaths` function.\n */\nexport type GetStaticPathsFallback = boolean | 'blocking'\n\n/**\n * Parses the fallback field from the prerender manifest.\n *\n * @param fallbackField The fallback field from the prerender manifest.\n * @returns The fallback mode.\n */\nexport function parseFallbackField(\n fallbackField: string | boolean | null | undefined\n): FallbackMode | undefined {\n if (typeof fallbackField === 'string') {\n return FallbackMode.PRERENDER\n } else if (fallbackField === null) {\n return FallbackMode.BLOCKING_STATIC_RENDER\n } else if (fallbackField === false) {\n return FallbackMode.NOT_FOUND\n } else if (fallbackField === undefined) {\n return undefined\n } else {\n throw new Error(\n `Invalid fallback option: ${fallbackField}. Fallback option must be a string, null, undefined, or false.`\n )\n }\n}\n\nexport function fallbackModeToFallbackField(\n fallback: FallbackMode,\n page: string | undefined\n): string | false | null {\n switch (fallback) {\n case FallbackMode.BLOCKING_STATIC_RENDER:\n return null\n case FallbackMode.NOT_FOUND:\n return false\n case FallbackMode.PRERENDER:\n if (!page) {\n throw new Error(\n `Invariant: expected a page to be provided when fallback mode is \"${fallback}\"`\n )\n }\n\n return page\n default:\n throw new Error(`Invalid fallback mode: ${fallback}`)\n }\n}\n\n/**\n * Parses the fallback from the static paths result.\n *\n * @param result The result from the static paths function.\n * @returns The fallback mode.\n */\nexport function parseStaticPathsResult(\n result: GetStaticPathsFallback\n): FallbackMode {\n if (result === true) {\n return FallbackMode.PRERENDER\n } else if (result === 'blocking') {\n return FallbackMode.BLOCKING_STATIC_RENDER\n } else {\n return FallbackMode.NOT_FOUND\n }\n}\n"],"names":["FallbackMode","parseFallbackField","fallbackField","undefined","Error","fallbackModeToFallbackField","fallback","page","parseStaticPathsResult","result"],"mappings":"AAAA;;CAEC,GACD;;;;;;;;;;AAAO,IAAWA,eAAAA,WAAAA,GAAAA,SAAAA,YAAAA;IAChB;;;;GAIC,GAAA,YAAA,CAAA,yBAAA,GAAA;IAGD;;;;GAIC,GAAA,YAAA,CAAA,YAAA,GAAA;IAGD;;;GAGC,GAAA,YAAA,CAAA,YAAA,GAAA;WAlBeA;MAoBjB;AAaM,SAASC,mBACdC,aAAkD;IAElD,IAAI,OAAOA,kBAAkB,UAAU;QACrC,OAAA;IACF,OAAO,IAAIA,kBAAkB,MAAM;QACjC,OAAA;IACF,OAAO,IAAIA,kBAAkB,OAAO;QAClC,OAAA;IACF,OAAO,IAAIA,kBAAkBC,WAAW;QACtC,OAAOA;IACT,OAAO;QACL,MAAM,OAAA,cAEL,CAFK,IAAIC,MACR,CAAC,yBAAyB,EAAEF,cAAc,8DAA8D,CAAC,GADrG,qBAAA;mBAAA;wBAAA;0BAAA;QAEN;IACF;AACF;AAEO,SAASG,4BACdC,QAAsB,EACtBC,IAAwB;IAExB,OAAQD;QACN,KAAA;YACE,OAAO;QACT,KAAA;YACE,OAAO;QACT,KAAA;YACE,IAAI,CAACC,MAAM;gBACT,MAAM,OAAA,cAEL,CAFK,IAAIH,MACR,CAAC,iEAAiE,EAAEE,SAAS,CAAC,CAAC,GAD3E,qBAAA;2BAAA;gCAAA;kCAAA;gBAEN;YACF;YAEA,OAAOC;QACT;YACE,MAAM,OAAA,cAA+C,CAA/C,IAAIH,MAAM,CAAC,uBAAuB,EAAEE,UAAU,GAA9C,qBAAA;uBAAA;4BAAA;8BAAA;YAA8C;IACxD;AACF;AAQO,SAASE,uBACdC,MAA8B;IAE9B,IAAIA,WAAW,MAAM;QACnB,OAAA;IACF,OAAO,IAAIA,WAAW,YAAY;QAChC,OAAA;IACF,OAAO;QACL,OAAA;IACF;AACF","ignoreList":[0]}}, + {"offset": {"line": 2062, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/shared/lib/utils.ts"],"sourcesContent":["import type { HtmlProps } from './html-context.shared-runtime'\nimport type { ComponentType, JSX } from 'react'\nimport type { DomainLocale } from '../../server/config'\nimport type { Env } from '@next/env'\nimport type { IncomingMessage, ServerResponse } from 'http'\nimport type { NextRouter } from './router/router'\nimport type { ParsedUrlQuery } from 'querystring'\nimport type { PreviewData } from '../../types'\nimport type { COMPILER_NAMES } from './constants'\nimport type fs from 'fs'\n\nexport type NextComponentType<\n Context extends BaseContext = NextPageContext,\n InitialProps = {},\n Props = {},\n> = ComponentType & {\n /**\n * Used for initial page load data population. Data returned from `getInitialProps` is serialized when server rendered.\n * Make sure to return plain `Object` without using `Date`, `Map`, `Set`.\n * @param context Context of `page`\n */\n getInitialProps?(context: Context): InitialProps | Promise\n}\n\nexport type DocumentType = NextComponentType<\n DocumentContext,\n DocumentInitialProps,\n DocumentProps\n>\n\nexport type AppType

= NextComponentType<\n AppContextType,\n P,\n AppPropsType\n>\n\nexport type AppTreeType = ComponentType<\n AppInitialProps & { [name: string]: any }\n>\n\n/**\n * Web vitals provided to _app.reportWebVitals by Core Web Vitals plugin developed by Google Chrome team.\n * https://nextjs.org/blog/next-9-4#integrated-web-vitals-reporting\n */\nexport const WEB_VITALS = ['CLS', 'FCP', 'FID', 'INP', 'LCP', 'TTFB'] as const\nexport type NextWebVitalsMetric = {\n id: string\n startTime: number\n value: number\n attribution?: { [key: string]: unknown }\n} & (\n | {\n label: 'web-vital'\n name: (typeof WEB_VITALS)[number]\n }\n | {\n label: 'custom'\n name:\n | 'Next.js-hydration'\n | 'Next.js-route-change-to-render'\n | 'Next.js-render'\n }\n)\n\nexport type Enhancer = (Component: C) => C\n\nexport type ComponentsEnhancer =\n | {\n enhanceApp?: Enhancer\n enhanceComponent?: Enhancer\n }\n | Enhancer\n\nexport type RenderPageResult = {\n html: string\n head?: Array\n}\n\nexport type RenderPage = (\n options?: ComponentsEnhancer\n) => DocumentInitialProps | Promise\n\nexport type BaseContext = {\n res?: ServerResponse\n [k: string]: any\n}\n\nexport type NEXT_DATA = {\n props: Record\n page: string\n query: ParsedUrlQuery\n buildId: string\n assetPrefix?: string\n nextExport?: boolean\n autoExport?: boolean\n isFallback?: boolean\n isExperimentalCompile?: boolean\n dynamicIds?: (string | number)[]\n err?: Error & {\n statusCode?: number\n source?: typeof COMPILER_NAMES.server | typeof COMPILER_NAMES.edgeServer\n }\n gsp?: boolean\n gssp?: boolean\n customServer?: boolean\n gip?: boolean\n appGip?: boolean\n locale?: string\n locales?: readonly string[]\n defaultLocale?: string\n domainLocales?: readonly DomainLocale[]\n scriptLoader?: any[]\n isPreview?: boolean\n notFoundSrcPage?: string\n}\n\n/**\n * `Next` context\n */\nexport interface NextPageContext {\n /**\n * Error object if encountered during rendering\n */\n err?: (Error & { statusCode?: number }) | null\n /**\n * `HTTP` request object.\n */\n req?: IncomingMessage\n /**\n * `HTTP` response object.\n */\n res?: ServerResponse\n /**\n * Path section of `URL`.\n */\n pathname: string\n /**\n * Query string section of `URL` parsed as an object.\n */\n query: ParsedUrlQuery\n /**\n * `String` of the actual path including query.\n */\n asPath?: string\n /**\n * The currently active locale\n */\n locale?: string\n /**\n * All configured locales\n */\n locales?: readonly string[]\n /**\n * The configured default locale\n */\n defaultLocale?: string\n /**\n * `Component` the tree of the App to use if needing to render separately\n */\n AppTree: AppTreeType\n}\n\nexport type AppContextType = {\n Component: NextComponentType\n AppTree: AppTreeType\n ctx: NextPageContext\n router: Router\n}\n\nexport type AppInitialProps = {\n pageProps: PageProps\n}\n\nexport type AppPropsType<\n Router extends NextRouter = NextRouter,\n PageProps = {},\n> = AppInitialProps & {\n Component: NextComponentType\n router: Router\n __N_SSG?: boolean\n __N_SSP?: boolean\n}\n\nexport type DocumentContext = NextPageContext & {\n renderPage: RenderPage\n defaultGetInitialProps(\n ctx: DocumentContext,\n options?: { nonce?: string }\n ): Promise\n}\n\nexport type DocumentInitialProps = RenderPageResult & {\n styles?: React.ReactElement[] | Iterable | JSX.Element\n}\n\nexport type DocumentProps = DocumentInitialProps & HtmlProps\n\n/**\n * Next `API` route request\n */\nexport interface NextApiRequest extends IncomingMessage {\n /**\n * Object of `query` values from url\n */\n query: Partial<{\n [key: string]: string | string[]\n }>\n /**\n * Object of `cookies` from header\n */\n cookies: Partial<{\n [key: string]: string\n }>\n\n body: any\n\n env: Env\n\n draftMode?: boolean\n\n preview?: boolean\n /**\n * Preview data set on the request, if any\n * */\n previewData?: PreviewData\n}\n\n/**\n * Send body of response\n */\ntype Send = (body: T) => void\n\n/**\n * Next `API` route response\n */\nexport type NextApiResponse = ServerResponse & {\n /**\n * Send data `any` data in response\n */\n send: Send\n /**\n * Send data `json` data in response\n */\n json: Send\n status: (statusCode: number) => NextApiResponse\n redirect(url: string): NextApiResponse\n redirect(status: number, url: string): NextApiResponse\n\n /**\n * Set draft mode\n */\n setDraftMode: (options: { enable: boolean }) => NextApiResponse\n\n /**\n * Set preview data for Next.js' prerender mode\n */\n setPreviewData: (\n data: object | string,\n options?: {\n /**\n * Specifies the number (in seconds) for the preview session to last for.\n * The given number will be converted to an integer by rounding down.\n * By default, no maximum age is set and the preview session finishes\n * when the client shuts down (browser is closed).\n */\n maxAge?: number\n /**\n * Specifies the path for the preview session to work under. By default,\n * the path is considered the \"default path\", i.e., any pages under \"/\".\n */\n path?: string\n }\n ) => NextApiResponse\n\n /**\n * Clear preview data for Next.js' prerender mode\n */\n clearPreviewData: (options?: { path?: string }) => NextApiResponse\n\n /**\n * Revalidate a specific page and regenerate it using On-Demand Incremental\n * Static Regeneration.\n * The path should be an actual path, not a rewritten path. E.g. for\n * \"/blog/[slug]\" this should be \"/blog/post-1\".\n * @link https://nextjs.org/docs/app/building-your-application/data-fetching/incremental-static-regeneration#on-demand-revalidation-with-revalidatepath\n */\n revalidate: (\n urlPath: string,\n opts?: {\n unstable_onlyGenerated?: boolean\n }\n ) => Promise\n}\n\n/**\n * Next `API` route handler\n */\nexport type NextApiHandler = (\n req: NextApiRequest,\n res: NextApiResponse\n) => unknown | Promise\n\n/**\n * Utils\n */\nexport function execOnce ReturnType>(\n fn: T\n): T {\n let used = false\n let result: ReturnType\n\n return ((...args: any[]) => {\n if (!used) {\n used = true\n result = fn(...args)\n }\n return result\n }) as T\n}\n\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/\nexport const isAbsoluteUrl = (url: string) => ABSOLUTE_URL_REGEX.test(url)\n\nexport function getLocationOrigin() {\n const { protocol, hostname, port } = window.location\n return `${protocol}//${hostname}${port ? ':' + port : ''}`\n}\n\nexport function getURL() {\n const { href } = window.location\n const origin = getLocationOrigin()\n return href.substring(origin.length)\n}\n\nexport function getDisplayName

(Component: ComponentType

) {\n return typeof Component === 'string'\n ? Component\n : Component.displayName || Component.name || 'Unknown'\n}\n\nexport function isResSent(res: ServerResponse) {\n return res.finished || res.headersSent\n}\n\nexport function normalizeRepeatedSlashes(url: string) {\n const urlParts = url.split('?')\n const urlNoQuery = urlParts[0]\n\n return (\n urlNoQuery\n // first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, '/')\n .replace(/\\/\\/+/g, '/') +\n (urlParts[1] ? `?${urlParts.slice(1).join('?')}` : '')\n )\n}\n\nexport async function loadGetInitialProps<\n C extends BaseContext,\n IP = {},\n P = {},\n>(App: NextComponentType, ctx: C): Promise {\n if (process.env.NODE_ENV !== 'production') {\n if (App.prototype?.getInitialProps) {\n const message = `\"${getDisplayName(\n App\n )}.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.`\n throw new Error(message)\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || (ctx.ctx && ctx.ctx.res)\n\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx),\n }\n }\n return {} as IP\n }\n\n const props = await App.getInitialProps(ctx)\n\n if (res && isResSent(res)) {\n return props\n }\n\n if (!props) {\n const message = `\"${getDisplayName(\n App\n )}.getInitialProps()\" should resolve to an object. But found \"${props}\" instead.`\n throw new Error(message)\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\n `${getDisplayName(\n App\n )} returned an empty object from \\`getInitialProps\\`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps`\n )\n }\n }\n\n return props\n}\n\nexport const SP = typeof performance !== 'undefined'\nexport const ST =\n SP &&\n (['mark', 'measure', 'getEntriesByName'] as const).every(\n (method) => typeof performance[method] === 'function'\n )\n\nexport class DecodeError extends Error {}\nexport class NormalizeError extends Error {}\nexport class PageNotFoundError extends Error {\n code: string\n\n constructor(page: string) {\n super()\n this.code = 'ENOENT'\n this.name = 'PageNotFoundError'\n this.message = `Cannot find module for page: ${page}`\n }\n}\n\nexport class MissingStaticPage extends Error {\n constructor(page: string, message: string) {\n super()\n this.message = `Failed to load static file for page: ${page} ${message}`\n }\n}\n\nexport class MiddlewareNotFoundError extends Error {\n code: string\n constructor() {\n super()\n this.code = 'ENOENT'\n this.message = `Cannot find the middleware module`\n }\n}\n\nexport interface CacheFs {\n existsSync: typeof fs.existsSync\n readFile: typeof fs.promises.readFile\n readFileSync: typeof fs.readFileSync\n writeFile(f: string, d: any): Promise\n mkdir(dir: string): Promise\n stat(f: string): Promise<{ mtime: Date }>\n}\n\nexport function stringifyError(error: Error) {\n return JSON.stringify({ message: error.message, stack: error.stack })\n}\n"],"names":["WEB_VITALS","execOnce","fn","used","result","args","ABSOLUTE_URL_REGEX","isAbsoluteUrl","url","test","getLocationOrigin","protocol","hostname","port","window","location","getURL","href","origin","substring","length","getDisplayName","Component","displayName","name","isResSent","res","finished","headersSent","normalizeRepeatedSlashes","urlParts","split","urlNoQuery","replace","slice","join","loadGetInitialProps","App","ctx","process","env","NODE_ENV","prototype","getInitialProps","message","Error","pageProps","props","Object","keys","console","warn","SP","performance","ST","every","method","DecodeError","NormalizeError","PageNotFoundError","constructor","page","code","MissingStaticPage","MiddlewareNotFoundError","stringifyError","error","JSON","stringify","stack"],"mappings":"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","ignoreList":[0]}}, + {"offset": {"line": 2228, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/server/lib/etag.ts"],"sourcesContent":["/**\n * FNV-1a Hash implementation\n * @author Travis Webb (tjwebb) \n *\n * Ported from https://github.com/tjwebb/fnv-plus/blob/master/index.js\n *\n * Simplified, optimized and add modified for 52 bit, which provides a larger hash space\n * and still making use of Javascript's 53-bit integer space.\n */\nexport const fnv1a52 = (str: string) => {\n const len = str.length\n let i = 0,\n t0 = 0,\n v0 = 0x2325,\n t1 = 0,\n v1 = 0x8422,\n t2 = 0,\n v2 = 0x9ce4,\n t3 = 0,\n v3 = 0xcbf2\n\n while (i < len) {\n v0 ^= str.charCodeAt(i++)\n t0 = v0 * 435\n t1 = v1 * 435\n t2 = v2 * 435\n t3 = v3 * 435\n t2 += v0 << 8\n t3 += v1 << 8\n t1 += t0 >>> 16\n v0 = t0 & 65535\n t2 += t1 >>> 16\n v1 = t1 & 65535\n v3 = (t3 + (t2 >>> 16)) & 65535\n v2 = t2 & 65535\n }\n\n return (\n (v3 & 15) * 281474976710656 +\n v2 * 4294967296 +\n v1 * 65536 +\n (v0 ^ (v3 >> 4))\n )\n}\n\nexport const generateETag = (payload: string, weak = false) => {\n const prefix = weak ? 'W/\"' : '\"'\n return (\n prefix + fnv1a52(payload).toString(36) + payload.length.toString(36) + '\"'\n )\n}\n"],"names":["fnv1a52","str","len","length","i","t0","v0","t1","v1","t2","v2","t3","v3","charCodeAt","generateETag","payload","weak","prefix","toString"],"mappings":"AAAA;;;;;;;;CAQC,GACD;;;;;;AAAO,MAAMA,UAAU,CAACC;IACtB,MAAMC,MAAMD,IAAIE,MAAM;IACtB,IAAIC,IAAI,GACNC,KAAK,GACLC,KAAK,QACLC,KAAK,GACLC,KAAK,QACLC,KAAK,GACLC,KAAK,QACLC,KAAK,GACLC,KAAK;IAEP,MAAOR,IAAIF,IAAK;QACdI,MAAML,IAAIY,UAAU,CAACT;QACrBC,KAAKC,KAAK;QACVC,KAAKC,KAAK;QACVC,KAAKC,KAAK;QACVC,KAAKC,KAAK;QACVH,MAAMH,MAAM;QACZK,MAAMH,MAAM;QACZD,MAAMF,OAAO;QACbC,KAAKD,KAAK;QACVI,MAAMF,OAAO;QACbC,KAAKD,KAAK;QACVK,KAAMD,KAAMF,CAAAA,OAAO,EAAC,IAAM;QAC1BC,KAAKD,KAAK;IACZ;IAEA,OACGG,CAAAA,KAAK,EAAC,IAAK,kBACZF,KAAK,aACLF,KAAK,QACJF,CAAAA,KAAMM,MAAM,CAAC;AAElB,EAAC;AAEM,MAAME,eAAe,CAACC,SAAiBC,OAAO,KAAK;IACxD,MAAMC,SAASD,OAAO,QAAQ;IAC9B,OACEC,SAASjB,QAAQe,SAASG,QAAQ,CAAC,MAAMH,QAAQZ,MAAM,CAACe,QAAQ,CAAC,MAAM;AAE3E,EAAC","ignoreList":[0]}}, + {"offset": {"line": 2269, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/dist/compiled/fresh/index.js"],"sourcesContent":["(()=>{\"use strict\";var e={695:e=>{\n/*!\n * fresh\n * Copyright(c) 2012 TJ Holowaychuk\n * Copyright(c) 2016-2017 Douglas Christopher Wilson\n * MIT Licensed\n */\nvar r=/(?:^|,)\\s*?no-cache\\s*?(?:,|$)/;e.exports=fresh;function fresh(e,a){var t=e[\"if-modified-since\"];var s=e[\"if-none-match\"];if(!t&&!s){return false}var i=e[\"cache-control\"];if(i&&r.test(i)){return false}if(s&&s!==\"*\"){var f=a[\"etag\"];if(!f){return false}var n=true;var u=parseTokenList(s);for(var _=0;_ {\n if (isResSent(res)) {\n return\n }\n\n if (poweredByHeader && result.contentType === HTML_CONTENT_TYPE_HEADER) {\n res.setHeader('X-Powered-By', 'Next.js')\n }\n\n // If cache control is already set on the response we don't\n // override it to allow users to customize it via next.config\n if (cacheControl && !res.getHeader('Cache-Control')) {\n res.setHeader('Cache-Control', getCacheControlHeader(cacheControl))\n }\n\n const payload = result.isDynamic ? null : result.toUnchunkedString()\n\n if (generateEtags && payload !== null) {\n const etag = generateETag(payload)\n if (sendEtagResponse(req, res, etag)) {\n return\n }\n }\n\n if (!res.getHeader('Content-Type') && result.contentType) {\n res.setHeader('Content-Type', result.contentType)\n }\n\n if (payload) {\n res.setHeader('Content-Length', Buffer.byteLength(payload))\n }\n\n if (req.method === 'HEAD') {\n res.end(null)\n return\n }\n\n if (payload !== null) {\n res.end(payload)\n return\n }\n\n // Pipe the render result to the response after we get a writer for it.\n await result.pipeToNodeResponse(res)\n}\n"],"names":["isResSent","generateETag","fresh","getCacheControlHeader","HTML_CONTENT_TYPE_HEADER","sendEtagResponse","req","res","etag","setHeader","headers","statusCode","end","sendRenderResult","result","generateEtags","poweredByHeader","cacheControl","contentType","getHeader","payload","isDynamic","toUnchunkedString","Buffer","byteLength","method","pipeToNodeResponse"],"mappings":";;;;;;AAIA,SAASA,SAAS,QAAQ,sBAAqB;AAC/C,SAASC,YAAY,QAAQ,aAAY;AACzC,OAAOC,WAAW,2BAA0B;AAC5C,SAASC,qBAAqB,QAAQ,sBAAqB;AAC3D,SAASC,wBAAwB,QAAQ,mBAAkB;;;;;;AAEpD,SAASC,iBACdC,GAAoB,EACpBC,GAAmB,EACnBC,IAAwB;IAExB,IAAIA,MAAM;QACR;;;;;KAKC,GACDD,IAAIE,SAAS,CAAC,QAAQD;IACxB;IAEA,QAAIN,qKAAAA,EAAMI,IAAII,OAAO,EAAE;QAAEF;IAAK,IAAI;QAChCD,IAAII,UAAU,GAAG;QACjBJ,IAAIK,GAAG;QACP,OAAO;IACT;IAEA,OAAO;AACT;AAEO,eAAeC,iBAAiB,EACrCP,GAAG,EACHC,GAAG,EACHO,MAAM,EACNC,aAAa,EACbC,eAAe,EACfC,YAAY,EAQb;IACC,QAAIjB,0KAAAA,EAAUO,MAAM;QAClB;IACF;IAEA,IAAIS,mBAAmBF,OAAOI,WAAW,KAAKd,mLAAAA,EAA0B;QACtEG,IAAIE,SAAS,CAAC,gBAAgB;IAChC;IAEA,2DAA2D;IAC3D,6DAA6D;IAC7D,IAAIQ,gBAAgB,CAACV,IAAIY,SAAS,CAAC,kBAAkB;QACnDZ,IAAIE,SAAS,CAAC,qBAAiBN,iMAAAA,EAAsBc;IACvD;IAEA,MAAMG,UAAUN,OAAOO,SAAS,GAAG,OAAOP,OAAOQ,iBAAiB;IAElE,IAAIP,iBAAiBK,YAAY,MAAM;QACrC,MAAMZ,WAAOP,4KAAAA,EAAamB;QAC1B,IAAIf,iBAAiBC,KAAKC,KAAKC,OAAO;YACpC;QACF;IACF;IAEA,IAAI,CAACD,IAAIY,SAAS,CAAC,mBAAmBL,OAAOI,WAAW,EAAE;QACxDX,IAAIE,SAAS,CAAC,gBAAgBK,OAAOI,WAAW;IAClD;IAEA,IAAIE,SAAS;QACXb,IAAIE,SAAS,CAAC,kBAAkBc,OAAOC,UAAU,CAACJ;IACpD;IAEA,IAAId,IAAImB,MAAM,KAAK,QAAQ;QACzBlB,IAAIK,GAAG,CAAC;QACR;IACF;IAEA,IAAIQ,YAAY,MAAM;QACpBb,IAAIK,GAAG,CAACQ;QACR;IACF;IAEA,uEAAuE;IACvE,MAAMN,OAAOY,kBAAkB,CAACnB;AAClC","ignoreList":[0]}}, + {"offset": {"line": 2464, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/dist/compiled/bytes/index.js"],"sourcesContent":["(()=>{\"use strict\";var e={56:e=>{\n/*!\n * bytes\n * Copyright(c) 2012-2014 TJ Holowaychuk\n * Copyright(c) 2015 Jed Watson\n * MIT Licensed\n */\ne.exports=bytes;e.exports.format=format;e.exports.parse=parse;var r=/\\B(?=(\\d{3})+(?!\\d))/g;var a=/(?:\\.0*|(\\.[^0]+)0+)$/;var t={b:1,kb:1<<10,mb:1<<20,gb:1<<30,tb:Math.pow(1024,4),pb:Math.pow(1024,5)};var i=/^((-|\\+)?(\\d+(?:\\.\\d+)?)) *(kb|mb|gb|tb|pb)$/i;function bytes(e,r){if(typeof e===\"string\"){return parse(e)}if(typeof e===\"number\"){return format(e,r)}return null}function format(e,i){if(!Number.isFinite(e)){return null}var n=Math.abs(e);var o=i&&i.thousandsSeparator||\"\";var s=i&&i.unitSeparator||\"\";var f=i&&i.decimalPlaces!==undefined?i.decimalPlaces:2;var u=Boolean(i&&i.fixedDecimals);var p=i&&i.unit||\"\";if(!p||!t[p.toLowerCase()]){if(n>=t.pb){p=\"PB\"}else if(n>=t.tb){p=\"TB\"}else if(n>=t.gb){p=\"GB\"}else if(n>=t.mb){p=\"MB\"}else if(n>=t.kb){p=\"KB\"}else{p=\"B\"}}var b=e/t[p.toLowerCase()];var l=b.toFixed(f);if(!u){l=l.replace(a,\"$1\")}if(o){l=l.split(\".\").map((function(e,a){return a===0?e.replace(r,o):e})).join(\".\")}return l+s+p}function parse(e){if(typeof e===\"number\"&&!isNaN(e)){return e}if(typeof e!==\"string\"){return null}var r=i.exec(e);var a;var n=\"b\";if(!r){a=parseInt(e,10);n=\"b\"}else{a=parseFloat(r[1]);n=r[4].toLowerCase()}return Math.floor(t[n]*a)}}};var r={};function __nccwpck_require__(a){var t=r[a];if(t!==undefined){return t.exports}var i=r[a]={exports:{}};var n=true;try{e[a](i,i.exports,__nccwpck_require__);n=false}finally{if(n)delete r[a]}return i.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var a=__nccwpck_require__(56);module.exports=a})();"],"names":[],"mappings":"AAAA,CAAC;IAAK;IAAa,IAAI,IAAE;QAAC,IAAG,CAAA;YAC7B;;;;;CAKC,GACD,EAAE,OAAO,GAAC;YAAM,EAAE,OAAO,CAAC,MAAM,GAAC;YAAO,EAAE,OAAO,CAAC,KAAK,GAAC;YAAM,IAAI,IAAE;YAAwB,IAAI,IAAE;YAAwB,IAAI,IAAE;gBAAC,GAAE;gBAAE,IAAG,KAAG;gBAAG,IAAG,KAAG;gBAAG,IAAG,KAAG;gBAAG,IAAG,KAAK,GAAG,CAAC,MAAK;gBAAG,IAAG,KAAK,GAAG,CAAC,MAAK;YAAE;YAAE,IAAI,IAAE;YAAgD,SAAS,MAAM,CAAC,EAAC,CAAC;gBAAE,IAAG,OAAO,MAAI,UAAS;oBAAC,OAAO,MAAM;gBAAE;gBAAC,IAAG,OAAO,MAAI,UAAS;oBAAC,OAAO,OAAO,GAAE;gBAAE;gBAAC,OAAO;YAAI;YAAC,SAAS,OAAO,CAAC,EAAC,CAAC;gBAAE,IAAG,CAAC,OAAO,QAAQ,CAAC,IAAG;oBAAC,OAAO;gBAAI;gBAAC,IAAI,IAAE,KAAK,GAAG,CAAC;gBAAG,IAAI,IAAE,KAAG,EAAE,kBAAkB,IAAE;gBAAG,IAAI,IAAE,KAAG,EAAE,aAAa,IAAE;gBAAG,IAAI,IAAE,KAAG,EAAE,aAAa,KAAG,YAAU,EAAE,aAAa,GAAC;gBAAE,IAAI,IAAE,QAAQ,KAAG,EAAE,aAAa;gBAAE,IAAI,IAAE,KAAG,EAAE,IAAI,IAAE;gBAAG,IAAG,CAAC,KAAG,CAAC,CAAC,CAAC,EAAE,WAAW,GAAG,EAAC;oBAAC,IAAG,KAAG,EAAE,EAAE,EAAC;wBAAC,IAAE;oBAAI,OAAM,IAAG,KAAG,EAAE,EAAE,EAAC;wBAAC,IAAE;oBAAI,OAAM,IAAG,KAAG,EAAE,EAAE,EAAC;wBAAC,IAAE;oBAAI,OAAM,IAAG,KAAG,EAAE,EAAE,EAAC;wBAAC,IAAE;oBAAI,OAAM,IAAG,KAAG,EAAE,EAAE,EAAC;wBAAC,IAAE;oBAAI,OAAK;wBAAC,IAAE;oBAAG;gBAAC;gBAAC,IAAI,IAAE,IAAE,CAAC,CAAC,EAAE,WAAW,GAAG;gBAAC,IAAI,IAAE,EAAE,OAAO,CAAC;gBAAG,IAAG,CAAC,GAAE;oBAAC,IAAE,EAAE,OAAO,CAAC,GAAE;gBAAK;gBAAC,IAAG,GAAE;oBAAC,IAAE,EAAE,KAAK,CAAC,KAAK,GAAG,CAAE,SAAS,CAAC,EAAC,CAAC;wBAAE,OAAO,MAAI,IAAE,EAAE,OAAO,CAAC,GAAE,KAAG;oBAAC,GAAI,IAAI,CAAC;gBAAI;gBAAC,OAAO,IAAE,IAAE;YAAC;YAAC,SAAS,MAAM,CAAC;gBAAE,IAAG,OAAO,MAAI,YAAU,CAAC,MAAM,IAAG;oBAAC,OAAO;gBAAC;gBAAC,IAAG,OAAO,MAAI,UAAS;oBAAC,OAAO;gBAAI;gBAAC,IAAI,IAAE,EAAE,IAAI,CAAC;gBAAG,IAAI;gBAAE,IAAI,IAAE;gBAAI,IAAG,CAAC,GAAE;oBAAC,IAAE,SAAS,GAAE;oBAAI,IAAE;gBAAG,OAAK;oBAAC,IAAE,WAAW,CAAC,CAAC,EAAE;oBAAE,IAAE,CAAC,CAAC,EAAE,CAAC,WAAW;gBAAE;gBAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,GAAC;YAAE;QAAC;IAAC;IAAE,IAAI,IAAE,CAAC;IAAE,SAAS,oBAAoB,CAAC;QAAE,IAAI,IAAE,CAAC,CAAC,EAAE;QAAC,IAAG,MAAI,WAAU;YAAC,OAAO,EAAE,OAAO;QAAA;QAAC,IAAI,IAAE,CAAC,CAAC,EAAE,GAAC;YAAC,SAAQ,CAAC;QAAC;QAAE,IAAI,IAAE;QAAK,IAAG;YAAC,CAAC,CAAC,EAAE,CAAC,GAAE,EAAE,OAAO,EAAC;YAAqB,IAAE;QAAK,SAAQ;YAAC,IAAG,GAAE,OAAO,CAAC,CAAC,EAAE;QAAA;QAAC,OAAO,EAAE,OAAO;IAAA;IAAC,IAAG,OAAO,wBAAsB,aAAY,oBAAoB,EAAE,GAAC,kFAAU;IAAI,IAAI,IAAE,oBAAoB;IAAI,OAAO,OAAO,GAAC;AAAC,CAAC","ignoreList":[0]}}, + {"offset": {"line": 2580, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/shared/lib/size-limit.ts"],"sourcesContent":["import type { SizeLimit } from '../../types'\n\nexport const DEFAULT_MAX_POSTPONED_STATE_SIZE: SizeLimit = '100 MB'\n\nfunction parseSizeLimit(size: SizeLimit): number | undefined {\n const bytes = (\n require('next/dist/compiled/bytes') as typeof import('next/dist/compiled/bytes')\n ).parse(size)\n if (bytes === null || isNaN(bytes) || bytes < 1) {\n return undefined\n }\n return bytes\n}\n\n/**\n * Parses the maxPostponedStateSize config value, using the default if not provided.\n */\nexport function parseMaxPostponedStateSize(\n size: SizeLimit | undefined\n): number | undefined {\n return parseSizeLimit(size ?? DEFAULT_MAX_POSTPONED_STATE_SIZE)\n}\n"],"names":["DEFAULT_MAX_POSTPONED_STATE_SIZE","parseSizeLimit","size","bytes","require","parse","isNaN","undefined","parseMaxPostponedStateSize"],"mappings":";;;;;;AAEO,MAAMA,mCAA8C,SAAQ;AAEnE,SAASC,eAAeC,IAAe;IACrC,MAAMC,QACJC,QAAQ,mGACRC,KAAK,CAACH;IACR,IAAIC,UAAU,QAAQG,MAAMH,UAAUA,QAAQ,GAAG;QAC/C,OAAOI;IACT;IACA,OAAOJ;AACT;AAKO,SAASK,2BACdN,IAA2B;IAE3B,OAAOD,eAAeC,QAAQF;AAChC","ignoreList":[0]}}, + {"offset": {"line": 2601, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/server/lib/postponed-request-body.ts"],"sourcesContent":["import {\n DEFAULT_MAX_POSTPONED_STATE_SIZE,\n parseMaxPostponedStateSize,\n} from '../../shared/lib/size-limit'\nimport type { SizeLimit } from '../../types'\n\nconst INVALID_MAX_POSTPONED_STATE_SIZE_ERROR_MESSAGE =\n 'maxPostponedStateSize must be a valid number (bytes) or filesize format string (e.g., \"5mb\")'\n\nexport type PostponedRequestBodyChunk = Buffer | Uint8Array | string\n\nexport function getMaxPostponedStateSize(\n configuredMaxPostponedStateSize: SizeLimit | undefined\n): {\n maxPostponedStateSize: SizeLimit\n maxPostponedStateSizeBytes: number\n} {\n const maxPostponedStateSize =\n configuredMaxPostponedStateSize ?? DEFAULT_MAX_POSTPONED_STATE_SIZE\n const maxPostponedStateSizeBytes = parseMaxPostponedStateSize(\n configuredMaxPostponedStateSize\n )\n\n if (maxPostponedStateSizeBytes === undefined) {\n throw new Error(INVALID_MAX_POSTPONED_STATE_SIZE_ERROR_MESSAGE)\n }\n\n return { maxPostponedStateSize, maxPostponedStateSizeBytes }\n}\n\nexport function getPostponedStateExceededErrorMessage(\n maxPostponedStateSize: SizeLimit\n): string {\n return (\n `Postponed state exceeded ${maxPostponedStateSize} limit. ` +\n `To configure the limit, see: https://nextjs.org/docs/app/api-reference/config/next-config-js/max-postponed-state-size`\n )\n}\n\nfunction toBuffer(chunk: PostponedRequestBodyChunk): Buffer {\n return Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk)\n}\n\nexport async function readBodyWithSizeLimit(\n body: AsyncIterable,\n maxBodySizeBytes: number\n): Promise {\n const chunks: Array = []\n let size = 0\n\n for await (const chunk of body) {\n const buffer = toBuffer(chunk)\n size += buffer.byteLength\n if (size > maxBodySizeBytes) {\n return null\n }\n chunks.push(buffer)\n }\n\n return Buffer.concat(chunks)\n}\n"],"names":["DEFAULT_MAX_POSTPONED_STATE_SIZE","parseMaxPostponedStateSize","INVALID_MAX_POSTPONED_STATE_SIZE_ERROR_MESSAGE","getMaxPostponedStateSize","configuredMaxPostponedStateSize","maxPostponedStateSize","maxPostponedStateSizeBytes","undefined","Error","getPostponedStateExceededErrorMessage","toBuffer","chunk","Buffer","isBuffer","from","readBodyWithSizeLimit","body","maxBodySizeBytes","chunks","size","buffer","byteLength","push","concat"],"mappings":";;;;;;;;AAAA,SACEA,gCAAgC,EAChCC,0BAA0B,QACrB,8BAA6B;;AAGpC,MAAMC,iDACJ;AAIK,SAASC,yBACdC,+BAAsD;IAKtD,MAAMC,wBACJD,mCAAmCJ,yMAAAA;IACrC,MAAMM,iCAA6BL,mMAAAA,EACjCG;IAGF,IAAIE,+BAA+BC,WAAW;QAC5C,MAAM,OAAA,cAAyD,CAAzD,IAAIC,MAAMN,iDAAV,qBAAA;mBAAA;wBAAA;0BAAA;QAAwD;IAChE;IAEA,OAAO;QAAEG;QAAuBC;IAA2B;AAC7D;AAEO,SAASG,sCACdJ,qBAAgC;IAEhC,OACE,CAAC,yBAAyB,EAAEA,sBAAsB,QAAQ,CAAC,GAC3D,CAAC,qHAAqH,CAAC;AAE3H;AAEA,SAASK,SAASC,KAAgC;IAChD,OAAOC,OAAOC,QAAQ,CAACF,SAASA,QAAQC,OAAOE,IAAI,CAACH;AACtD;AAEO,eAAeI,sBACpBC,IAA8C,EAC9CC,gBAAwB;IAExB,MAAMC,SAAwB,EAAE;IAChC,IAAIC,OAAO;IAEX,WAAW,MAAMR,SAASK,KAAM;QAC9B,MAAMI,SAASV,SAASC;QACxBQ,QAAQC,OAAOC,UAAU;QACzB,IAAIF,OAAOF,kBAAkB;YAC3B,OAAO;QACT;QACAC,OAAOI,IAAI,CAACF;IACd;IAEA,OAAOR,OAAOW,MAAM,CAACL;AACvB","ignoreList":[0]}}, + {"offset": {"line": 2672, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/node_modules/next/src/build/templates/app-page.ts"],"sourcesContent":["import type { LoaderTree } from '../../server/lib/app-dir-module'\nimport type { IncomingMessage, ServerResponse } from 'node:http'\n\nimport {\n AppPageRouteModule,\n type AppPageRouteHandlerContext,\n} from '../../server/route-modules/app-page/module.compiled' with { 'turbopack-transition': 'next-ssr' }\n\nimport { RouteKind } from '../../server/route-kind' with { 'turbopack-transition': 'next-server-utility' }\n\nimport { getRevalidateReason } from '../../server/instrumentation/utils'\nimport { getTracer, SpanKind, type Span } from '../../server/lib/trace/tracer'\nimport { addRequestMeta, getRequestMeta } from '../../server/request-meta'\nimport { BaseServerSpan } from '../../server/lib/trace/constants'\nimport { interopDefault } from '../../server/app-render/interop-default'\nimport { stripFlightHeaders } from '../../server/app-render/strip-flight-headers'\nimport { NodeNextRequest, NodeNextResponse } from '../../server/base-http/node'\nimport { checkIsAppPPREnabled } from '../../server/lib/experimental/ppr'\nimport {\n getFallbackRouteParams,\n createOpaqueFallbackRouteParams,\n type OpaqueFallbackRouteParams,\n} from '../../server/request/fallback-params'\nimport { setManifestsSingleton } from '../../server/app-render/manifests-singleton'\nimport {\n isHtmlBotRequest,\n shouldServeStreamingMetadata,\n} from '../../server/lib/streaming-metadata'\nimport { normalizeAppPath } from '../../shared/lib/router/utils/app-paths'\nimport { getIsPossibleServerAction } from '../../server/lib/server-action-request-meta'\nimport {\n RSC_HEADER,\n NEXT_ROUTER_PREFETCH_HEADER,\n NEXT_IS_PRERENDER_HEADER,\n NEXT_DID_POSTPONE_HEADER,\n RSC_CONTENT_TYPE_HEADER,\n} from '../../client/components/app-router-headers'\nimport { getBotType, isBot } from '../../shared/lib/router/utils/is-bot'\nimport {\n CachedRouteKind,\n IncrementalCacheKind,\n type CachedAppPageValue,\n type CachedPageValue,\n type ResponseCacheEntry,\n type ResponseGenerator,\n} from '../../server/response-cache'\nimport { FallbackMode, parseFallbackField } from '../../lib/fallback'\nimport RenderResult from '../../server/render-result'\nimport {\n CACHE_ONE_YEAR,\n HTML_CONTENT_TYPE_HEADER,\n NEXT_CACHE_TAGS_HEADER,\n NEXT_RESUME_HEADER,\n} from '../../lib/constants'\nimport type { CacheControl } from '../../server/lib/cache-control'\nimport { ENCODED_TAGS } from '../../server/stream-utils/encoded-tags'\nimport { sendRenderResult } from '../../server/send-payload'\nimport { NoFallbackError } from '../../shared/lib/no-fallback-error.external'\nimport { parseMaxPostponedStateSize } from '../../shared/lib/size-limit'\nimport {\n getMaxPostponedStateSize,\n getPostponedStateExceededErrorMessage,\n readBodyWithSizeLimit,\n} from '../../server/lib/postponed-request-body'\n\n// These are injected by the loader afterwards.\n\n/**\n * The tree created in next-app-loader that holds component segments and modules\n * and I've updated it.\n */\ndeclare const tree: LoaderTree\n\n// We inject the tree and pages here so that we can use them in the route\n// module.\n// INJECT:tree\n\nimport GlobalError from 'VAR_MODULE_GLOBAL_ERROR' with { 'turbopack-transition': 'next-server-utility' }\n\nexport { GlobalError }\n\n// These are injected by the loader afterwards.\ndeclare const __next_app_require__: (id: string | number) => unknown\ndeclare const __next_app_load_chunk__: (id: string | number) => Promise\n\n// INJECT:__next_app_require__\n// INJECT:__next_app_load_chunk__\n\nexport const __next_app__ = {\n require: __next_app_require__,\n loadChunk: __next_app_load_chunk__,\n}\n\nimport * as entryBase from '../../server/app-render/entry-base' with { 'turbopack-transition': 'next-server-utility' }\nimport { RedirectStatusCode } from '../../client/components/redirect-status-code'\nimport { InvariantError } from '../../shared/lib/invariant-error'\nimport { scheduleOnNextTick } from '../../lib/scheduler'\nimport { isInterceptionRouteAppPath } from '../../shared/lib/router/utils/interception-routes'\n\nexport * from '../../server/app-render/entry-base' with { 'turbopack-transition': 'next-server-utility' }\n\n// Create and export the route module that will be consumed.\nexport const routeModule = new AppPageRouteModule({\n definition: {\n kind: RouteKind.APP_PAGE,\n page: 'VAR_DEFINITION_PAGE',\n pathname: 'VAR_DEFINITION_PATHNAME',\n // The following aren't used in production.\n bundlePath: '',\n filename: '',\n appPaths: [],\n },\n userland: {\n loaderTree: tree,\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n})\n\nexport async function handler(\n req: IncomingMessage,\n res: ServerResponse,\n ctx: {\n waitUntil: (prom: Promise) => void\n }\n) {\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint())\n }\n const isMinimalMode = Boolean(\n process.env.MINIMAL_MODE || getRequestMeta(req, 'minimalMode')\n )\n\n let srcPage = 'VAR_DEFINITION_PAGE'\n\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/'\n } else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/'\n }\n const multiZoneDraftMode = process.env\n .__NEXT_MULTI_ZONE_DRAFT_MODE as any as boolean\n\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode,\n })\n\n if (!prepareResult) {\n res.statusCode = 400\n res.end('Bad Request')\n ctx.waitUntil?.(Promise.resolve())\n return null\n }\n\n const {\n buildId,\n query,\n params,\n pageIsDynamic,\n buildManifest,\n nextFontManifest,\n reactLoadableManifest,\n serverActionsManifest,\n clientReferenceManifest,\n subresourceIntegrityManifest,\n prerenderManifest,\n isDraftMode,\n resolvedPathname,\n revalidateOnlyGenerated,\n routerServerContext,\n nextConfig,\n parsedUrl,\n interceptionRoutePatterns,\n deploymentId,\n } = prepareResult\n\n const normalizedSrcPage = normalizeAppPath(srcPage)\n\n let { isOnDemandRevalidate } = prepareResult\n\n // We use the resolvedPathname instead of the parsedUrl.pathname because it\n // is not rewritten as resolvedPathname is. This will ensure that the correct\n // prerender info is used instead of using the original pathname as the\n // source. If however PPR is enabled and cacheComponents is disabled, we\n // treat the pathname as dynamic. Currently, there's a bug in the PPR\n // implementation that incorrectly leaves %%drp placeholders in the output of\n // parallel routes. This is addressed with cacheComponents.\n const prerenderInfo =\n nextConfig.experimental.ppr &&\n !nextConfig.cacheComponents &&\n isInterceptionRouteAppPath(resolvedPathname)\n ? null\n : routeModule.match(resolvedPathname, prerenderManifest)\n\n const isPrerendered = !!prerenderManifest.routes[resolvedPathname]\n\n const userAgent = req.headers['user-agent'] || ''\n const botType = getBotType(userAgent)\n const isHtmlBot = isHtmlBotRequest(req)\n\n /**\n * If true, this indicates that the request being made is for an app\n * prefetch request.\n */\n const isPrefetchRSCRequest =\n getRequestMeta(req, 'isPrefetchRSCRequest') ??\n req.headers[NEXT_ROUTER_PREFETCH_HEADER] === '1' // exclude runtime prefetches, which use '2'\n\n // NOTE: Don't delete headers[RSC] yet, it still needs to be used in renderToHTML later\n\n const isRSCRequest =\n getRequestMeta(req, 'isRSCRequest') ?? Boolean(req.headers[RSC_HEADER])\n\n const isPossibleServerAction = getIsPossibleServerAction(req)\n\n /**\n * If the route being rendered is an app page, and the ppr feature has been\n * enabled, then the given route _could_ support PPR.\n */\n const couldSupportPPR: boolean = checkIsAppPPREnabled(\n nextConfig.experimental.ppr\n )\n\n if (\n !getRequestMeta(req, 'postponed') &&\n couldSupportPPR &&\n req.headers[NEXT_RESUME_HEADER] === '1' &&\n req.method === 'POST'\n ) {\n const { maxPostponedStateSize, maxPostponedStateSizeBytes } =\n getMaxPostponedStateSize(nextConfig.experimental.maxPostponedStateSize)\n\n // Decode the postponed state from the request body, it will come as\n // an array of buffers, so collect them and then concat them to form\n // the string.\n const body = await readBodyWithSizeLimit(req, maxPostponedStateSizeBytes)\n if (body === null) {\n res.statusCode = 413\n res.end(getPostponedStateExceededErrorMessage(maxPostponedStateSize))\n ctx.waitUntil?.(Promise.resolve())\n return null\n }\n const postponed = body.toString('utf8')\n\n addRequestMeta(req, 'postponed', postponed)\n }\n\n // When enabled, this will allow the use of the `?__nextppronly` query to\n // enable debugging of the static shell.\n const hasDebugStaticShellQuery =\n process.env.__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING === '1' &&\n typeof query.__nextppronly !== 'undefined' &&\n couldSupportPPR\n\n // When enabled, this will allow the use of the `?__nextppronly` query\n // to enable debugging of the fallback shell.\n const hasDebugFallbackShellQuery =\n hasDebugStaticShellQuery && query.__nextppronly === 'fallback'\n\n // This page supports PPR if it is marked as being `PARTIALLY_STATIC` in the\n // prerender manifest and this is an app page.\n const isRoutePPREnabled: boolean =\n couldSupportPPR &&\n ((\n prerenderManifest.routes[normalizedSrcPage] ??\n prerenderManifest.dynamicRoutes[normalizedSrcPage]\n )?.renderingMode === 'PARTIALLY_STATIC' ||\n // Ideally we'd want to check the appConfig to see if this page has PPR\n // enabled or not, but that would require plumbing the appConfig through\n // to the server during development. We assume that the page supports it\n // but only during development.\n (hasDebugStaticShellQuery &&\n (routeModule.isDev === true ||\n routerServerContext?.experimentalTestProxy === true)))\n\n const isDebugStaticShell: boolean =\n hasDebugStaticShellQuery && isRoutePPREnabled\n\n // We should enable debugging dynamic accesses when the static shell\n // debugging has been enabled and we're also in development mode.\n const isDebugDynamicAccesses =\n isDebugStaticShell && routeModule.isDev === true\n\n const isDebugFallbackShell = hasDebugFallbackShellQuery && isRoutePPREnabled\n\n // If we're in minimal mode, then try to get the postponed information from\n // the request metadata. If available, use it for resuming the postponed\n // render.\n const minimalPostponed = isRoutePPREnabled\n ? getRequestMeta(req, 'postponed')\n : undefined\n\n // If PPR is enabled, and this is a RSC request (but not a prefetch), then\n // we can use this fact to only generate the flight data for the request\n // because we can't cache the HTML (as it's also dynamic).\n let isDynamicRSCRequest =\n isRoutePPREnabled && isRSCRequest && !isPrefetchRSCRequest\n\n // During a PPR revalidation, the RSC request is not dynamic if we do not have the postponed data.\n // We only attach the postponed data during a resume. If there's no postponed data, then it must be a revalidation.\n // This is to ensure that we don't bypass the cache during a revalidation.\n if (isMinimalMode) {\n isDynamicRSCRequest = isDynamicRSCRequest && !!minimalPostponed\n }\n\n // Need to read this before it's stripped by stripFlightHeaders. We don't\n // need to transfer it to the request meta because it's only read\n // within this function; the static segment data should have already been\n // generated, so we will always either return a static response or a 404.\n const segmentPrefetchHeader = getRequestMeta(req, 'segmentPrefetchRSCRequest')\n\n // TODO: investigate existing bug with shouldServeStreamingMetadata always\n // being true for a revalidate due to modifying the base-server this.renderOpts\n // when fixing this to correct logic it causes hydration issue since we set\n // serveStreamingMetadata to true during export\n const serveStreamingMetadata =\n isHtmlBot && isRoutePPREnabled\n ? false\n : !userAgent\n ? true\n : shouldServeStreamingMetadata(userAgent, nextConfig.htmlLimitedBots)\n\n const isSSG = Boolean(\n (prerenderInfo ||\n isPrerendered ||\n prerenderManifest.routes[normalizedSrcPage]) &&\n // If this is a html bot request and PPR is enabled, then we don't want\n // to serve a static response.\n !(isHtmlBot && isRoutePPREnabled)\n )\n\n // When a page supports cacheComponents, we can support RDC for Navigations\n const supportsRDCForNavigations =\n isRoutePPREnabled && nextConfig.cacheComponents === true\n\n // In development, we always want to generate dynamic HTML.\n const supportsDynamicResponse: boolean =\n // If we're in development, we always support dynamic HTML, unless it's\n // a data request, in which case we only produce static HTML.\n routeModule.isDev === true ||\n // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isSSG ||\n // If this request has provided postponed data, it supports dynamic\n // HTML.\n typeof minimalPostponed === 'string' ||\n // If this handler supports onCacheEntryV2, then we can only support\n // dynamic responses if it's a dynamic RSC request and not in minimal mode. If it\n // doesn't support it we must fallback to the default behavior.\n (supportsRDCForNavigations && getRequestMeta(req, 'onCacheEntryV2')\n ? // In minimal mode, we'll always want to generate a static response\n // which will generate the RDC for the route. When resuming a Dynamic\n // RSC request, we'll pass the minimal postponed data to the render\n // which will trigger the `supportsDynamicResponse` to be true.\n isDynamicRSCRequest && !isMinimalMode\n : // Otherwise, we can support dynamic responses if it's a dynamic RSC request.\n isDynamicRSCRequest)\n\n // When html bots request PPR page, perform the full dynamic rendering.\n const shouldWaitOnAllReady = isHtmlBot && isRoutePPREnabled\n\n let ssgCacheKey: string | null = null\n if (\n !isDraftMode &&\n isSSG &&\n !supportsDynamicResponse &&\n !isPossibleServerAction &&\n !minimalPostponed &&\n !isDynamicRSCRequest\n ) {\n ssgCacheKey = resolvedPathname\n }\n\n // the staticPathKey differs from ssgCacheKey since\n // ssgCacheKey is null in dev since we're always in \"dynamic\"\n // mode in dev to bypass the cache, but we still need to honor\n // dynamicParams = false in dev mode\n let staticPathKey = ssgCacheKey\n if (!staticPathKey && routeModule.isDev) {\n staticPathKey = resolvedPathname\n }\n\n // If this is a request for an app path that should be statically generated\n // and we aren't in the edge runtime, strip the flight headers so it will\n // generate the static response.\n if (\n !routeModule.isDev &&\n !isDraftMode &&\n isSSG &&\n isRSCRequest &&\n !isDynamicRSCRequest\n ) {\n stripFlightHeaders(req.headers)\n }\n\n const ComponentMod = {\n ...entryBase,\n tree,\n GlobalError,\n handler,\n routeModule,\n __next_app__,\n }\n\n // Before rendering (which initializes component tree modules), we have to\n // set the reference manifests to our global store so Server Action's\n // encryption util can access to them at the top level of the page module.\n if (serverActionsManifest && clientReferenceManifest) {\n setManifestsSingleton({\n page: srcPage,\n clientReferenceManifest,\n serverActionsManifest,\n })\n }\n\n const method = req.method || 'GET'\n const tracer = getTracer()\n const activeSpan = tracer.getActiveScopeSpan()\n\n const render404 = async () => {\n // TODO: should route-module itself handle rendering the 404\n if (routerServerContext?.render404) {\n await routerServerContext.render404(req, res, parsedUrl, false)\n } else {\n res.end('This page could not be found')\n }\n return null\n }\n\n try {\n const varyHeader = routeModule.getVaryHeader(\n resolvedPathname,\n interceptionRoutePatterns\n )\n res.setHeader('Vary', varyHeader)\n const invokeRouteModule = async (\n span: Span | undefined,\n context: AppPageRouteHandlerContext\n ) => {\n const nextReq = new NodeNextRequest(req)\n const nextRes = new NodeNextResponse(res)\n\n return routeModule.render(nextReq, nextRes, context).finally(() => {\n if (!span) return\n\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false,\n })\n\n const rootSpanAttributes = tracer.getRootSpanAttributes()\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return\n }\n\n if (\n rootSpanAttributes.get('next.span_type') !==\n BaseServerSpan.handleRequest\n ) {\n console.warn(\n `Unexpected root span type '${rootSpanAttributes.get(\n 'next.span_type'\n )}'. Please report this Next.js issue https://github.com/vercel/next.js`\n )\n return\n }\n\n const route = rootSpanAttributes.get('next.route')\n if (route) {\n const name = `${method} ${route}`\n\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name,\n })\n span.updateName(name)\n } else {\n span.updateName(`${method} ${srcPage}`)\n }\n })\n }\n\n const incrementalCache = getRequestMeta(req, 'incrementalCache')\n\n const doRender = async ({\n span,\n postponed,\n fallbackRouteParams,\n forceStaticRender,\n }: {\n span?: Span\n\n /**\n * The postponed data for this render. This is only provided when resuming\n * a render that has been postponed.\n */\n postponed: string | undefined\n\n /**\n * The unknown route params for this render.\n */\n fallbackRouteParams: OpaqueFallbackRouteParams | null\n\n /**\n * When true, this indicates that the response generator is being called\n * in a context where the response must be generated statically.\n *\n * CRITICAL: This should only currently be used when revalidating due to a\n * dynamic RSC request.\n */\n forceStaticRender: boolean\n }): Promise => {\n const context: AppPageRouteHandlerContext = {\n query,\n params,\n page: normalizedSrcPage,\n sharedContext: {\n buildId,\n },\n serverComponentsHmrCache: getRequestMeta(\n req,\n 'serverComponentsHmrCache'\n ),\n fallbackRouteParams,\n renderOpts: {\n App: () => null,\n Document: () => null,\n pageConfig: {},\n ComponentMod,\n Component: interopDefault(ComponentMod),\n\n params,\n routeModule,\n page: srcPage,\n postponed,\n shouldWaitOnAllReady,\n serveStreamingMetadata,\n supportsDynamicResponse:\n typeof postponed === 'string' || supportsDynamicResponse,\n buildManifest,\n nextFontManifest,\n reactLoadableManifest,\n subresourceIntegrityManifest,\n setCacheStatus: routerServerContext?.setCacheStatus,\n setIsrStatus: routerServerContext?.setIsrStatus,\n setReactDebugChannel: routerServerContext?.setReactDebugChannel,\n sendErrorsToBrowser: routerServerContext?.sendErrorsToBrowser,\n\n dir:\n process.env.NEXT_RUNTIME === 'nodejs'\n ? (require('path') as typeof import('path')).join(\n /* turbopackIgnore: true */\n process.cwd(),\n routeModule.relativeProjectDir\n )\n : `${process.cwd()}/${routeModule.relativeProjectDir}`,\n isDraftMode,\n botType,\n isOnDemandRevalidate,\n isPossibleServerAction,\n assetPrefix: nextConfig.assetPrefix,\n nextConfigOutput: nextConfig.output,\n crossOrigin: nextConfig.crossOrigin,\n trailingSlash: nextConfig.trailingSlash,\n images: nextConfig.images,\n previewProps: prerenderManifest.preview,\n deploymentId: deploymentId,\n enableTainting: nextConfig.experimental.taint,\n htmlLimitedBots: nextConfig.htmlLimitedBots,\n reactMaxHeadersLength: nextConfig.reactMaxHeadersLength,\n\n multiZoneDraftMode,\n incrementalCache,\n cacheLifeProfiles: nextConfig.cacheLife,\n basePath: nextConfig.basePath,\n serverActions: nextConfig.experimental.serverActions,\n\n ...(isDebugStaticShell ||\n isDebugDynamicAccesses ||\n isDebugFallbackShell\n ? {\n nextExport: true,\n supportsDynamicResponse: false,\n isStaticGeneration: true,\n isDebugDynamicAccesses: isDebugDynamicAccesses,\n }\n : {}),\n cacheComponents: Boolean(nextConfig.cacheComponents),\n experimental: {\n isRoutePPREnabled,\n expireTime: nextConfig.expireTime,\n staleTimes: nextConfig.experimental.staleTimes,\n dynamicOnHover: Boolean(nextConfig.experimental.dynamicOnHover),\n inlineCss: Boolean(nextConfig.experimental.inlineCss),\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts),\n clientTraceMetadata:\n nextConfig.experimental.clientTraceMetadata || ([] as any),\n clientParamParsingOrigins:\n nextConfig.experimental.clientParamParsingOrigins,\n maxPostponedStateSizeBytes: parseMaxPostponedStateSize(\n nextConfig.experimental.maxPostponedStateSize\n ),\n },\n\n waitUntil: ctx.waitUntil,\n onClose: (cb) => {\n res.on('close', cb)\n },\n onAfterTaskError: () => {},\n\n onInstrumentationRequestError: (\n error,\n _request,\n errorContext,\n silenceLog\n ) =>\n routeModule.onRequestError(\n req,\n error,\n errorContext,\n silenceLog,\n routerServerContext\n ),\n err: getRequestMeta(req, 'invokeError'),\n dev: routeModule.isDev,\n },\n }\n\n if (isDebugStaticShell || isDebugDynamicAccesses) {\n context.renderOpts.nextExport = true\n context.renderOpts.supportsDynamicResponse = false\n context.renderOpts.isDebugDynamicAccesses = isDebugDynamicAccesses\n }\n\n // When we're revalidating in the background, we should not allow dynamic\n // responses.\n if (forceStaticRender) {\n context.renderOpts.supportsDynamicResponse = false\n }\n\n const result = await invokeRouteModule(span, context)\n\n const { metadata } = result\n\n const {\n cacheControl,\n headers = {},\n // Add any fetch tags that were on the page to the response headers.\n fetchTags: cacheTags,\n fetchMetrics,\n } = metadata\n\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags\n }\n\n // Pull any fetch metrics from the render onto the request.\n ;(req as any).fetchMetrics = fetchMetrics\n\n // we don't throw static to dynamic errors in dev as isSSG\n // is a best guess in dev since we don't have the prerender pass\n // to know whether the path is actually static or not\n if (\n isSSG &&\n cacheControl?.revalidate === 0 &&\n !routeModule.isDev &&\n !isRoutePPREnabled\n ) {\n const staticBailoutInfo = metadata.staticBailoutInfo\n\n const err = new Error(\n `Page changed from static to dynamic at runtime ${resolvedPathname}${\n staticBailoutInfo?.description\n ? `, reason: ${staticBailoutInfo.description}`\n : ``\n }` +\n `\\nsee more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`\n )\n\n if (staticBailoutInfo?.stack) {\n const stack = staticBailoutInfo.stack\n err.stack = err.message + stack.substring(stack.indexOf('\\n'))\n }\n\n throw err\n }\n\n return {\n value: {\n kind: CachedRouteKind.APP_PAGE,\n html: result,\n headers,\n rscData: metadata.flightData,\n postponed: metadata.postponed,\n status: metadata.statusCode,\n segmentData: metadata.segmentData,\n } satisfies CachedAppPageValue,\n cacheControl,\n } satisfies ResponseCacheEntry\n }\n\n const responseGenerator: ResponseGenerator = async ({\n hasResolved,\n previousCacheEntry: previousIncrementalCacheEntry,\n isRevalidating,\n span,\n forceStaticRender = false,\n }) => {\n const isProduction = routeModule.isDev === false\n const didRespond = hasResolved || res.writableEnded\n\n // skip on-demand revalidate if cache is not present and\n // revalidate-if-generated is set\n if (\n isOnDemandRevalidate &&\n revalidateOnlyGenerated &&\n !previousIncrementalCacheEntry &&\n !isMinimalMode\n ) {\n if (routerServerContext?.render404) {\n await routerServerContext.render404(req, res)\n } else {\n res.statusCode = 404\n res.end('This page could not be found')\n }\n return null\n }\n\n let fallbackMode: FallbackMode | undefined\n\n if (prerenderInfo) {\n fallbackMode = parseFallbackField(prerenderInfo.fallback)\n }\n\n // When serving a HTML bot request, we want to serve a blocking render and\n // not the prerendered page. This ensures that the correct content is served\n // to the bot in the head.\n if (fallbackMode === FallbackMode.PRERENDER && isBot(userAgent)) {\n if (!isRoutePPREnabled || isHtmlBot) {\n fallbackMode = FallbackMode.BLOCKING_STATIC_RENDER\n }\n }\n\n if (previousIncrementalCacheEntry?.isStale === -1) {\n isOnDemandRevalidate = true\n }\n\n // TODO: adapt for PPR\n // only allow on-demand revalidate for fallback: true/blocking\n // or for prerendered fallback: false paths\n if (\n isOnDemandRevalidate &&\n (fallbackMode !== FallbackMode.NOT_FOUND ||\n previousIncrementalCacheEntry)\n ) {\n fallbackMode = FallbackMode.BLOCKING_STATIC_RENDER\n }\n\n if (\n !isMinimalMode &&\n fallbackMode !== FallbackMode.BLOCKING_STATIC_RENDER &&\n staticPathKey &&\n !didRespond &&\n !isDraftMode &&\n pageIsDynamic &&\n (isProduction || !isPrerendered)\n ) {\n // if the page has dynamicParams: false and this pathname wasn't\n // prerendered trigger the no fallback handling\n if (\n // In development, fall through to render to handle missing\n // getStaticPaths.\n (isProduction || prerenderInfo) &&\n // When fallback isn't present, abort this render so we 404\n fallbackMode === FallbackMode.NOT_FOUND\n ) {\n if (nextConfig.experimental.adapterPath) {\n return await render404()\n }\n throw new NoFallbackError()\n }\n\n // When cacheComponents is enabled, we can use the fallback\n // response if the request is not a dynamic RSC request because the\n // RSC data when this feature flag is enabled does not contain any\n // param references. Without this feature flag enabled, the RSC data\n // contains param references, and therefore we can't use the fallback.\n if (\n isRoutePPREnabled &&\n (nextConfig.cacheComponents ? !isDynamicRSCRequest : !isRSCRequest)\n ) {\n const cacheKey =\n isProduction && typeof prerenderInfo?.fallback === 'string'\n ? prerenderInfo.fallback\n : normalizedSrcPage\n\n const fallbackRouteParams =\n // If we're in production and we have fallback route params, then we\n // can use the manifest fallback route params.\n isProduction && prerenderInfo?.fallbackRouteParams\n ? createOpaqueFallbackRouteParams(\n prerenderInfo.fallbackRouteParams\n )\n : // Otherwise, if we're debugging the fallback shell, then we\n // have to manually generate the fallback route params.\n isDebugFallbackShell\n ? getFallbackRouteParams(normalizedSrcPage, routeModule)\n : null\n\n // We use the response cache here to handle the revalidation and\n // management of the fallback shell.\n const fallbackResponse = await routeModule.handleResponse({\n cacheKey,\n req,\n nextConfig,\n routeKind: RouteKind.APP_PAGE,\n isFallback: true,\n prerenderManifest,\n isRoutePPREnabled,\n responseGenerator: async () =>\n doRender({\n span,\n // We pass `undefined` as rendering a fallback isn't resumed\n // here.\n postponed: undefined,\n fallbackRouteParams,\n forceStaticRender: false,\n }),\n waitUntil: ctx.waitUntil,\n isMinimalMode,\n })\n\n // If the fallback response was set to null, then we should return null.\n if (fallbackResponse === null) return null\n\n // Otherwise, if we did get a fallback response, we should return it.\n if (fallbackResponse) {\n // Remove the cache control from the response to prevent it from being\n // used in the surrounding cache.\n delete fallbackResponse.cacheControl\n\n return fallbackResponse\n }\n }\n }\n\n // Only requests that aren't revalidating can be resumed. If we have the\n // minimal postponed data, then we should resume the render with it.\n let postponed =\n !isOnDemandRevalidate && !isRevalidating && minimalPostponed\n ? minimalPostponed\n : undefined\n\n // If this is a dynamic RSC request, we should use the postponed data from\n // the static render (if available). This ensures that we can utilize the\n // resume data cache (RDC) from the static render to ensure that the data\n // is consistent between the static and dynamic renders.\n if (\n // Only enable RDC for Navigations if the feature is enabled.\n supportsRDCForNavigations &&\n process.env.NEXT_RUNTIME !== 'edge' &&\n !isMinimalMode &&\n incrementalCache &&\n isDynamicRSCRequest &&\n // We don't typically trigger an on-demand revalidation for dynamic RSC\n // requests, as we're typically revalidating the page in the background\n // instead. However, if the cache entry is stale, we should trigger a\n // background revalidation on dynamic RSC requests. This prevents us\n // from entering an infinite loop of revalidations.\n !forceStaticRender\n ) {\n const incrementalCacheEntry = await incrementalCache.get(\n resolvedPathname,\n {\n kind: IncrementalCacheKind.APP_PAGE,\n isRoutePPREnabled: true,\n isFallback: false,\n }\n )\n\n // If the cache entry is found, we should use the postponed data from\n // the cache.\n if (\n incrementalCacheEntry &&\n incrementalCacheEntry.value &&\n incrementalCacheEntry.value.kind === CachedRouteKind.APP_PAGE\n ) {\n // CRITICAL: we're assigning the postponed data from the cache entry\n // here as we're using the RDC to resume the render.\n postponed = incrementalCacheEntry.value.postponed\n\n // If the cache entry is stale, we should trigger a background\n // revalidation so that subsequent requests will get a fresh response.\n if (\n incrementalCacheEntry &&\n // We want to trigger this flow if the cache entry is stale and if\n // the requested revalidation flow is either foreground or\n // background.\n (incrementalCacheEntry.isStale === -1 ||\n incrementalCacheEntry.isStale === true)\n ) {\n // We want to schedule this on the next tick to ensure that the\n // render is not blocked on it.\n scheduleOnNextTick(async () => {\n const responseCache = routeModule.getResponseCache(req)\n\n try {\n await responseCache.revalidate(\n resolvedPathname,\n incrementalCache,\n isRoutePPREnabled,\n false,\n (c) =>\n responseGenerator({\n ...c,\n // CRITICAL: we need to set this to true as we're\n // revalidating in the background and typically this dynamic\n // RSC request is not treated as static.\n forceStaticRender: true,\n }),\n // CRITICAL: we need to pass null here because passing the\n // previous cache entry here (which is stale) will switch on\n // isOnDemandRevalidate and break the prerendering.\n null,\n hasResolved,\n ctx.waitUntil\n )\n } catch (err) {\n console.error(\n 'Error revalidating the page in the background',\n err\n )\n }\n })\n }\n }\n }\n\n // When we're in minimal mode, if we're trying to debug the static shell,\n // we should just return nothing instead of resuming the dynamic render.\n if (\n (isDebugStaticShell || isDebugDynamicAccesses) &&\n typeof postponed !== 'undefined'\n ) {\n return {\n cacheControl: { revalidate: 1, expire: undefined },\n value: {\n kind: CachedRouteKind.PAGES,\n html: RenderResult.EMPTY,\n pageData: {},\n headers: undefined,\n status: undefined,\n } satisfies CachedPageValue,\n }\n }\n\n const fallbackRouteParams =\n // If we're in production and we have fallback route params, then we\n // can use the manifest fallback route params if we need to render the\n // fallback shell.\n isProduction &&\n prerenderInfo?.fallbackRouteParams &&\n getRequestMeta(req, 'renderFallbackShell')\n ? createOpaqueFallbackRouteParams(prerenderInfo.fallbackRouteParams)\n : // Otherwise, if we're debugging the fallback shell, then we have to\n // manually generate the fallback route params.\n isDebugFallbackShell\n ? getFallbackRouteParams(normalizedSrcPage, routeModule)\n : null\n\n // Perform the render.\n return doRender({\n span,\n postponed,\n fallbackRouteParams,\n forceStaticRender,\n })\n }\n\n const handleResponse = async (span?: Span): Promise => {\n const cacheEntry = await routeModule.handleResponse({\n cacheKey: ssgCacheKey,\n responseGenerator: (c) =>\n responseGenerator({\n span,\n ...c,\n }),\n routeKind: RouteKind.APP_PAGE,\n isOnDemandRevalidate,\n isRoutePPREnabled,\n req,\n nextConfig,\n prerenderManifest,\n waitUntil: ctx.waitUntil,\n isMinimalMode,\n })\n\n if (isDraftMode) {\n res.setHeader(\n 'Cache-Control',\n 'private, no-cache, no-store, max-age=0, must-revalidate'\n )\n }\n\n // In dev, we should not cache pages for any reason.\n if (routeModule.isDev) {\n res.setHeader('Cache-Control', 'no-store, must-revalidate')\n }\n\n if (!cacheEntry) {\n if (ssgCacheKey) {\n // A cache entry might not be generated if a response is written\n // in `getInitialProps` or `getServerSideProps`, but those shouldn't\n // have a cache key. If we do have a cache key but we don't end up\n // with a cache entry, then either Next.js or the application has a\n // bug that needs fixing.\n throw new Error('invariant: cache entry required but not generated')\n }\n return null\n }\n\n if (cacheEntry.value?.kind !== CachedRouteKind.APP_PAGE) {\n throw new Error(\n `Invariant app-page handler received invalid cache entry ${cacheEntry.value?.kind}`\n )\n }\n\n const didPostpone = typeof cacheEntry.value.postponed === 'string'\n\n if (\n isSSG &&\n // We don't want to send a cache header for requests that contain dynamic\n // data. If this is a Dynamic RSC request or wasn't a Prefetch RSC\n // request, then we should set the cache header.\n !isDynamicRSCRequest &&\n (!didPostpone || isPrefetchRSCRequest)\n ) {\n if (!isMinimalMode) {\n // set x-nextjs-cache header to match the header\n // we set for the image-optimizer\n res.setHeader(\n 'x-nextjs-cache',\n isOnDemandRevalidate\n ? 'REVALIDATED'\n : cacheEntry.isMiss\n ? 'MISS'\n : cacheEntry.isStale\n ? 'STALE'\n : 'HIT'\n )\n }\n // Set a header used by the client router to signal the response is static\n // and should respect the `static` cache staleTime value.\n res.setHeader(NEXT_IS_PRERENDER_HEADER, '1')\n }\n const { value: cachedData } = cacheEntry\n\n // Coerce the cache control parameter from the render.\n let cacheControl: CacheControl | undefined\n\n // If this is a resume request in minimal mode it is streamed with dynamic\n // content and should not be cached.\n if (minimalPostponed) {\n cacheControl = { revalidate: 0, expire: undefined }\n }\n\n // If this is in minimal mode and this is a flight request that isn't a\n // prefetch request while PPR is enabled, it cannot be cached as it contains\n // dynamic content.\n else if (isDynamicRSCRequest) {\n cacheControl = { revalidate: 0, expire: undefined }\n } else if (!routeModule.isDev) {\n // If this is a preview mode request, we shouldn't cache it\n if (isDraftMode) {\n cacheControl = { revalidate: 0, expire: undefined }\n }\n\n // If this isn't SSG, then we should set change the header only if it is\n // not set already.\n else if (!isSSG) {\n if (!res.getHeader('Cache-Control')) {\n cacheControl = { revalidate: 0, expire: undefined }\n }\n } else if (cacheEntry.cacheControl) {\n // If the cache entry has a cache control with a revalidate value that's\n // a number, use it.\n if (typeof cacheEntry.cacheControl.revalidate === 'number') {\n if (cacheEntry.cacheControl.revalidate < 1) {\n throw new Error(\n `Invalid revalidate configuration provided: ${cacheEntry.cacheControl.revalidate} < 1`\n )\n }\n\n cacheControl = {\n revalidate: cacheEntry.cacheControl.revalidate,\n expire: cacheEntry.cacheControl?.expire ?? nextConfig.expireTime,\n }\n }\n // Otherwise if the revalidate value is false, then we should use the\n // cache time of one year.\n else {\n cacheControl = { revalidate: CACHE_ONE_YEAR, expire: undefined }\n }\n }\n }\n\n cacheEntry.cacheControl = cacheControl\n\n if (\n typeof segmentPrefetchHeader === 'string' &&\n cachedData?.kind === CachedRouteKind.APP_PAGE &&\n cachedData.segmentData\n ) {\n // This is a prefetch request issued by the client Segment Cache. These\n // should never reach the application layer (lambda). We should either\n // respond from the cache (HIT) or respond with 204 No Content (MISS).\n\n // Set a header to indicate that PPR is enabled for this route. This\n // lets the client distinguish between a regular cache miss and a cache\n // miss due to PPR being disabled. In other contexts this header is used\n // to indicate that the response contains dynamic data, but here we're\n // only using it to indicate that the feature is enabled — the segment\n // response itself contains whether the data is dynamic.\n res.setHeader(NEXT_DID_POSTPONE_HEADER, '2')\n\n // Add the cache tags header to the response if it exists and we're in\n // minimal mode while rendering a static page.\n const tags = cachedData.headers?.[NEXT_CACHE_TAGS_HEADER]\n if (isMinimalMode && isSSG && tags && typeof tags === 'string') {\n res.setHeader(NEXT_CACHE_TAGS_HEADER, tags)\n }\n\n const matchedSegment = cachedData.segmentData.get(segmentPrefetchHeader)\n if (matchedSegment !== undefined) {\n // Cache hit\n return sendRenderResult({\n req,\n res,\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: RenderResult.fromStatic(\n matchedSegment,\n RSC_CONTENT_TYPE_HEADER\n ),\n cacheControl: cacheEntry.cacheControl,\n })\n }\n\n // Cache miss. Either a cache entry for this route has not been generated\n // (which technically should not be possible when PPR is enabled, because\n // at a minimum there should always be a fallback entry) or there's no\n // match for the requested segment. Respond with a 204 No Content. We\n // don't bother to respond with 404, because these requests are only\n // issued as part of a prefetch.\n res.statusCode = 204\n return sendRenderResult({\n req,\n res,\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: RenderResult.EMPTY,\n cacheControl: cacheEntry.cacheControl,\n })\n }\n\n // If there's a callback for `onCacheEntry`, call it with the cache entry\n // and the revalidate options. If we support RDC for Navigations, we\n // prefer the `onCacheEntryV2` callback. Once RDC for Navigations is the\n // default, we can remove the fallback to `onCacheEntry` as\n // `onCacheEntryV2` is now fully supported.\n const onCacheEntry = supportsRDCForNavigations\n ? (getRequestMeta(req, 'onCacheEntryV2') ??\n getRequestMeta(req, 'onCacheEntry'))\n : getRequestMeta(req, 'onCacheEntry')\n if (onCacheEntry) {\n const finished = await onCacheEntry(cacheEntry, {\n url: getRequestMeta(req, 'initURL') ?? req.url,\n })\n if (finished) return null\n }\n\n if (cachedData.headers) {\n const headers = { ...cachedData.headers }\n\n if (!isMinimalMode || !isSSG) {\n delete headers[NEXT_CACHE_TAGS_HEADER]\n }\n\n for (let [key, value] of Object.entries(headers)) {\n if (typeof value === 'undefined') continue\n\n if (Array.isArray(value)) {\n for (const v of value) {\n res.appendHeader(key, v)\n }\n } else if (typeof value === 'number') {\n value = value.toString()\n res.appendHeader(key, value)\n } else {\n res.appendHeader(key, value)\n }\n }\n }\n\n // Add the cache tags header to the response if it exists and we're in\n // minimal mode while rendering a static page.\n const tags = cachedData.headers?.[NEXT_CACHE_TAGS_HEADER]\n if (isMinimalMode && isSSG && tags && typeof tags === 'string') {\n res.setHeader(NEXT_CACHE_TAGS_HEADER, tags)\n }\n\n // If the request is a data request, then we shouldn't set the status code\n // from the response because it should always be 200. This should be gated\n // behind the experimental PPR flag.\n if (cachedData.status && (!isRSCRequest || !isRoutePPREnabled)) {\n res.statusCode = cachedData.status\n }\n\n // Redirect information is encoded in RSC payload, so we don't need to use redirect status codes\n if (\n !isMinimalMode &&\n cachedData.status &&\n RedirectStatusCode[cachedData.status] &&\n isRSCRequest\n ) {\n res.statusCode = 200\n }\n\n // Mark that the request did postpone.\n if (didPostpone && !isDynamicRSCRequest) {\n res.setHeader(NEXT_DID_POSTPONE_HEADER, '1')\n }\n\n // we don't go through this block when preview mode is true\n // as preview mode is a dynamic request (bypasses cache) and doesn't\n // generate both HTML and payloads in the same request so continue to just\n // return the generated payload\n if (isRSCRequest && !isDraftMode) {\n // If this is a dynamic RSC request, then stream the response.\n if (typeof cachedData.rscData === 'undefined') {\n // If the response is not an RSC response, then we can't serve it.\n if (cachedData.html.contentType !== RSC_CONTENT_TYPE_HEADER) {\n if (nextConfig.cacheComponents) {\n res.statusCode = 404\n return sendRenderResult({\n req,\n res,\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: RenderResult.EMPTY,\n cacheControl: cacheEntry.cacheControl,\n })\n } else {\n // Otherwise this case is not expected.\n throw new InvariantError(\n `Expected RSC response, got ${cachedData.html.contentType}`\n )\n }\n }\n\n return sendRenderResult({\n req,\n res,\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: cachedData.html,\n cacheControl: cacheEntry.cacheControl,\n })\n }\n\n // As this isn't a prefetch request, we should serve the static flight\n // data.\n return sendRenderResult({\n req,\n res,\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: RenderResult.fromStatic(\n cachedData.rscData,\n RSC_CONTENT_TYPE_HEADER\n ),\n cacheControl: cacheEntry.cacheControl,\n })\n }\n\n // This is a request for HTML data.\n const body = cachedData.html\n\n // If there's no postponed state, we should just serve the HTML. This\n // should also be the case for a resume request because it's completed\n // as a server render (rather than a static render).\n if (!didPostpone || isMinimalMode || isRSCRequest) {\n // If we're in test mode, we should add a sentinel chunk to the response\n // that's between the static and dynamic parts so we can compare the\n // chunks and add assertions.\n if (\n process.env.__NEXT_TEST_MODE &&\n isMinimalMode &&\n isRoutePPREnabled &&\n body.contentType === HTML_CONTENT_TYPE_HEADER\n ) {\n // As we're in minimal mode, the static part would have already been\n // streamed first. The only part that this streams is the dynamic part\n // so we should FIRST stream the sentinel and THEN the dynamic part.\n body.unshift(createPPRBoundarySentinel())\n }\n\n return sendRenderResult({\n req,\n res,\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: body,\n cacheControl: cacheEntry.cacheControl,\n })\n }\n\n // If we're debugging the static shell or the dynamic API accesses, we\n // should just serve the HTML without resuming the render. The returned\n // HTML will be the static shell so all the Dynamic API's will be used\n // during static generation.\n if (isDebugStaticShell || isDebugDynamicAccesses) {\n // Since we're not resuming the render, we need to at least add the\n // closing body and html tags to create valid HTML.\n body.push(\n new ReadableStream({\n start(controller) {\n controller.enqueue(ENCODED_TAGS.CLOSED.BODY_AND_HTML)\n controller.close()\n },\n })\n )\n\n return sendRenderResult({\n req,\n res,\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: body,\n cacheControl: { revalidate: 0, expire: undefined },\n })\n }\n\n // If we're in test mode, we should add a sentinel chunk to the response\n // that's between the static and dynamic parts so we can compare the\n // chunks and add assertions.\n if (process.env.__NEXT_TEST_MODE) {\n body.push(createPPRBoundarySentinel())\n }\n\n // This request has postponed, so let's create a new transformer that the\n // dynamic data can pipe to that will attach the dynamic data to the end\n // of the response.\n const transformer = new TransformStream()\n body.push(transformer.readable)\n\n // Perform the render again, but this time, provide the postponed state.\n // We don't await because we want the result to start streaming now, and\n // we've already chained the transformer's readable to the render result.\n doRender({\n span,\n postponed: cachedData.postponed,\n // This is a resume render, not a fallback render, so we don't need to\n // set this.\n fallbackRouteParams: null,\n forceStaticRender: false,\n })\n .then(async (result) => {\n if (!result) {\n throw new Error('Invariant: expected a result to be returned')\n }\n\n if (result.value?.kind !== CachedRouteKind.APP_PAGE) {\n throw new Error(\n `Invariant: expected a page response, got ${result.value?.kind}`\n )\n }\n\n // Pipe the resume result to the transformer.\n await result.value.html.pipeTo(transformer.writable)\n })\n .catch((err) => {\n // An error occurred during piping or preparing the render, abort\n // the transformers writer so we can terminate the stream.\n transformer.writable.abort(err).catch((e) => {\n console.error(\"couldn't abort transformer\", e)\n })\n })\n\n return sendRenderResult({\n req,\n res,\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: body,\n // We don't want to cache the response if it has postponed data because\n // the response being sent to the client it's dynamic parts are streamed\n // to the client on the same request.\n cacheControl: { revalidate: 0, expire: undefined },\n })\n }\n\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (activeSpan) {\n await handleResponse(activeSpan)\n } else {\n return await tracer.withPropagatedContext(req.headers, () =>\n tracer.trace(\n BaseServerSpan.handleRequest,\n {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url,\n },\n },\n handleResponse\n )\n )\n }\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n const silenceLog = false\n await routeModule.onRequestError(\n req,\n err,\n {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'render',\n revalidateReason: getRevalidateReason({\n isStaticGeneration: isSSG,\n isOnDemandRevalidate,\n }),\n },\n silenceLog,\n routerServerContext\n )\n }\n\n // rethrow so that we can handle serving error page\n throw err\n }\n}\n\n// TODO: omit this from production builds, only test builds should include it\n/**\n * Creates a readable stream that emits a PPR boundary sentinel.\n *\n * @returns A readable stream that emits a PPR boundary sentinel.\n */\nfunction createPPRBoundarySentinel() {\n return new ReadableStream({\n start(controller) {\n controller.enqueue(\n new TextEncoder().encode('')\n )\n controller.close()\n },\n })\n}\n"],"names":["AppPageRouteModule","RouteKind","getRevalidateReason","getTracer","SpanKind","addRequestMeta","getRequestMeta","BaseServerSpan","interopDefault","stripFlightHeaders","NodeNextRequest","NodeNextResponse","checkIsAppPPREnabled","getFallbackRouteParams","createOpaqueFallbackRouteParams","setManifestsSingleton","isHtmlBotRequest","shouldServeStreamingMetadata","normalizeAppPath","getIsPossibleServerAction","RSC_HEADER","NEXT_ROUTER_PREFETCH_HEADER","NEXT_IS_PRERENDER_HEADER","NEXT_DID_POSTPONE_HEADER","RSC_CONTENT_TYPE_HEADER","getBotType","isBot","CachedRouteKind","IncrementalCacheKind","FallbackMode","parseFallbackField","RenderResult","CACHE_ONE_YEAR","HTML_CONTENT_TYPE_HEADER","NEXT_CACHE_TAGS_HEADER","NEXT_RESUME_HEADER","ENCODED_TAGS","sendRenderResult","NoFallbackError","parseMaxPostponedStateSize","getMaxPostponedStateSize","getPostponedStateExceededErrorMessage","readBodyWithSizeLimit","GlobalError","__next_app__","require","__next_app_require__","loadChunk","__next_app_load_chunk__","entryBase","RedirectStatusCode","InvariantError","scheduleOnNextTick","isInterceptionRouteAppPath","routeModule","definition","kind","APP_PAGE","page","pathname","bundlePath","filename","appPaths","userland","loaderTree","tree","distDir","process","env","__NEXT_RELATIVE_DIST_DIR","relativeProjectDir","__NEXT_RELATIVE_PROJECT_DIR","handler","req","res","ctx","prerenderManifest","isDev","hrtime","bigint","isMinimalMode","Boolean","MINIMAL_MODE","srcPage","TURBOPACK","replace","multiZoneDraftMode","__NEXT_MULTI_ZONE_DRAFT_MODE","prepareResult","prepare","statusCode","end","waitUntil","Promise","resolve","buildId","query","params","pageIsDynamic","buildManifest","nextFontManifest","reactLoadableManifest","serverActionsManifest","clientReferenceManifest","subresourceIntegrityManifest","isDraftMode","resolvedPathname","revalidateOnlyGenerated","routerServerContext","nextConfig","parsedUrl","interceptionRoutePatterns","deploymentId","normalizedSrcPage","isOnDemandRevalidate","prerenderInfo","experimental","ppr","cacheComponents","match","isPrerendered","routes","userAgent","headers","botType","isHtmlBot","isPrefetchRSCRequest","isRSCRequest","isPossibleServerAction","couldSupportPPR","method","maxPostponedStateSize","maxPostponedStateSizeBytes","body","postponed","toString","hasDebugStaticShellQuery","__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING","__nextppronly","hasDebugFallbackShellQuery","isRoutePPREnabled","dynamicRoutes","renderingMode","experimentalTestProxy","isDebugStaticShell","isDebugDynamicAccesses","isDebugFallbackShell","minimalPostponed","undefined","isDynamicRSCRequest","segmentPrefetchHeader","serveStreamingMetadata","htmlLimitedBots","isSSG","supportsRDCForNavigations","supportsDynamicResponse","shouldWaitOnAllReady","ssgCacheKey","staticPathKey","ComponentMod","tracer","activeSpan","getActiveScopeSpan","render404","varyHeader","getVaryHeader","setHeader","invokeRouteModule","span","context","nextReq","nextRes","render","finally","setAttributes","rootSpanAttributes","getRootSpanAttributes","get","handleRequest","console","warn","route","name","updateName","incrementalCache","doRender","fallbackRouteParams","forceStaticRender","sharedContext","serverComponentsHmrCache","renderOpts","App","Document","pageConfig","Component","setCacheStatus","setIsrStatus","setReactDebugChannel","sendErrorsToBrowser","dir","NEXT_RUNTIME","join","cwd","assetPrefix","nextConfigOutput","output","crossOrigin","trailingSlash","images","previewProps","preview","enableTainting","taint","reactMaxHeadersLength","cacheLifeProfiles","cacheLife","basePath","serverActions","nextExport","isStaticGeneration","expireTime","staleTimes","dynamicOnHover","inlineCss","authInterrupts","clientTraceMetadata","clientParamParsingOrigins","onClose","cb","on","onAfterTaskError","onInstrumentationRequestError","error","_request","errorContext","silenceLog","onRequestError","err","dev","result","metadata","cacheControl","fetchTags","cacheTags","fetchMetrics","revalidate","staticBailoutInfo","Error","description","stack","message","substring","indexOf","value","html","rscData","flightData","status","segmentData","responseGenerator","hasResolved","previousCacheEntry","previousIncrementalCacheEntry","isRevalidating","isProduction","didRespond","writableEnded","fallbackMode","fallback","PRERENDER","BLOCKING_STATIC_RENDER","isStale","NOT_FOUND","adapterPath","cacheKey","fallbackResponse","handleResponse","routeKind","isFallback","incrementalCacheEntry","responseCache","getResponseCache","c","expire","PAGES","EMPTY","pageData","cacheEntry","cachedData","didPostpone","isMiss","getHeader","tags","matchedSegment","generateEtags","poweredByHeader","fromStatic","onCacheEntry","finished","url","key","Object","entries","Array","isArray","v","appendHeader","contentType","__NEXT_TEST_MODE","unshift","createPPRBoundarySentinel","push","ReadableStream","start","controller","enqueue","CLOSED","BODY_AND_HTML","close","transformer","TransformStream","readable","then","pipeTo","writable","catch","abort","e","withPropagatedContext","trace","spanName","SERVER","attributes","routerKind","routePath","routeType","revalidateReason","TextEncoder","encode"],"mappings":"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","ignoreList":[0]}}] +} \ No newline at end of file diff --git a/.next/dev/server/chunks/ssr/src_app_registration_page_tsx_e3654e29._.js b/.next/dev/server/chunks/ssr/src_app_registration_page_tsx_e3654e29._.js new file mode 100644 index 0000000..ec5bb17 --- /dev/null +++ b/.next/dev/server/chunks/ssr/src_app_registration_page_tsx_e3654e29._.js @@ -0,0 +1,2079 @@ +module.exports = [ +"[project]/src/app/registration/page.tsx [app-ssr] (ecmascript)", ((__turbopack_context__) => { +"use strict"; + +__turbopack_context__.s([ + "default", + ()=>RegistrationPage +]); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js [app-ssr] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/server/route-modules/app-page/vendored/ssr/react.js [app-ssr] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$navigation$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/navigation.js [app-ssr] (ecmascript)"); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$arrow$2d$left$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__ArrowLeft$3e$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/arrow-left.js [app-ssr] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$upload$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__Upload$3e$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/upload.js [app-ssr] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$download$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__Download$3e$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/download.js [app-ssr] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$trash$2d$2$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__Trash2$3e$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/trash-2.js [app-ssr] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$square$2d$pen$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__Edit$3e$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/square-pen.js [app-ssr] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$circle$2d$check$2d$big$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__CheckCircle$3e$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/circle-check-big.js [app-ssr] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$camera$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__Camera$3e$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/camera.js [app-ssr] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$x$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__X$3e$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/x.js [app-ssr] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$triangle$2d$alert$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__AlertTriangle$3e$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/triangle-alert.js [app-ssr] (ecmascript) "); +var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$info$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__Info$3e$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/info.js [app-ssr] (ecmascript) "); +'use client'; +; +; +; +; +const modelMatchInfo = { + 'GD-30 Supreme': { + license: 'LIC-GD30-全模块授权', + config: 'CFG-GD30-v1.3.0', + firmware: 'v2.3.5' + }, + 'GD-20 Supreme': { + license: 'LIC-GD20-标准授权', + config: 'CFG-GD20-v1.1.0', + firmware: 'v1.8.5' + }, + 'GD-10 Supreme': { + license: 'LIC-GD10-基础授权', + config: 'CFG-GD10-v1.0.0', + firmware: 'v1.5.2' + } +}; +const defaultBOM = [ + { + id: 1, + code: 'MB-2024-001', + name: '主协板', + sn: 'MCB-2024-0089', + model: 'MCB-3000', + calibration: '无需校准', + qty: 1 + }, + { + id: 2, + code: 'AC-2024-001', + name: '采集板', + sn: 'ACB-2024-0156', + model: 'ACB-6000', + calibration: '已校准', + qty: 1 + }, + { + id: 3, + code: 'AC-2024-002', + name: '采集板', + sn: 'ACB-2024-0157', + model: 'ACB-6000', + calibration: '已校准', + qty: 1 + }, + { + id: 5, + code: 'TX-2024-001', + name: '发射板', + sn: 'TXB-2024-0034', + model: 'TXB-1000', + calibration: '无需校准', + qty: 1 + }, + { + id: 6, + code: 'BS-2024-001', + name: '升压板', + sn: 'BST-2024-0021', + model: 'BST-500', + calibration: '无需校准', + qty: 1 + }, + { + id: 7, + code: 'CS-2024-001', + name: '外壳机箱', + sn: '-', + model: 'GD30-CASE-A', + calibration: '无需校准', + qty: 1 + } +]; +const defaultChecklist = [ + { + id: 1, + name: '主板SN扫码绑定', + required: true + }, + { + id: 2, + name: '采集板SN录入(×6)', + required: true + }, + { + id: 3, + name: '发射板安装检查', + required: true + }, + { + id: 4, + name: '升压板安装检查', + required: true + }, + { + id: 5, + name: '线缆连接检查', + required: true + }, + { + id: 6, + name: '整机通电测试', + required: true + }, + { + id: 7, + name: 'GPS/北斗模块检测', + required: true + }, + { + id: 8, + name: 'WiFi通信测试', + required: true + }, + { + id: 9, + name: '蓝牙通信测试', + required: true + }, + { + id: 10, + name: '采集通道校准验证', + required: true + }, + { + id: 11, + name: '发射电压测试', + required: true + }, + { + id: 12, + name: '电池安装与充电测试', + required: true + }, + { + id: 13, + name: 'IP66防护检测', + required: true + }, + { + id: 14, + name: '固件版本校验', + required: true + }, + { + id: 15, + name: '配置文件写入', + required: true + }, + { + id: 16, + name: '授权文件写入', + required: true + }, + { + id: 17, + name: '整机功能测试', + required: true + }, + { + id: 18, + name: '数据采集验证', + required: true + }, + { + id: 19, + name: '外观检查', + required: false + }, + { + id: 20, + name: '标签粘贴', + required: false + }, + { + id: 21, + name: '配件清点', + required: false + }, + { + id: 22, + name: '包装检查', + required: false + } +]; +function RegistrationPage() { + const router = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$navigation$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useRouter"])(); + const [deviceModel, setDeviceModel] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])('GD-30 Supreme'); + const [hostSN, setHostSN] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])(''); + const [boardSN, setBoardSN] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])(''); + const [testStatus, setTestStatus] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])('测试通过'); + const [productionDate, setProductionDate] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])(''); + const [bomList, setBomList] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])(defaultBOM); + const [checkedItems, setCheckedItems] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])([]); + const [photoCount, setPhotoCount] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])({}); + const [importOpen, setImportOpen] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])(false); + const [photoOpen, setPhotoOpen] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])(null); + const [photoNote, setPhotoNote] = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["useState"])(''); + const matchInfo = modelMatchInfo[deviceModel]; + const completedCount = checkedItems.length; + const totalCount = defaultChecklist.length; + const toggleCheck = (id)=>{ + setCheckedItems((prev)=>prev.includes(id) ? prev.filter((x)=>x !== id) : [ + ...prev, + id + ]); + }; + const removeBomItem = (id)=>{ + setBomList((prev)=>prev.filter((b)=>b.id !== id)); + }; + return /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + minHeight: '100vh', + display: 'flex', + flexDirection: 'column' + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + flex: 1, + padding: 24, + paddingBottom: 80 + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 12, + marginBottom: 24 + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("button", { + onClick: ()=>router.back(), + style: { + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + width: 32, + height: 32, + border: '1px solid #D9D9D9', + borderRadius: 6, + backgroundColor: '#fff', + cursor: 'pointer' + }, + children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$arrow$2d$left$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__ArrowLeft$3e$__["ArrowLeft"], { + size: 16 + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 78, + columnNumber: 13 + }, this) + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 77, + columnNumber: 11 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("h2", { + style: { + fontSize: 20, + fontWeight: 600, + margin: 0 + }, + children: "设备登记" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 81, + columnNumber: 13 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("p", { + style: { + fontSize: 14, + color: 'rgba(0,0,0,0.45)', + margin: '4px 0 0' + }, + children: "登记新设备信息,填写装机信息与BOM清单" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 82, + columnNumber: 13 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 80, + columnNumber: 11 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 76, + columnNumber: 9 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + backgroundColor: '#fff', + borderRadius: 8, + padding: 24, + marginBottom: 24, + boxShadow: '0 1px 2px rgba(0,0,0,0.05)' + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("h3", { + style: { + fontSize: 16, + fontWeight: 600, + margin: '0 0 20px' + }, + children: "装机信息" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 88, + columnNumber: 11 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + display: 'grid', + gridTemplateColumns: 'repeat(3, 1fr)', + gap: 20 + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("label", { + style: { + display: 'block', + fontSize: 13, + fontWeight: 500, + marginBottom: 6 + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", { + style: { + color: '#FF4D4F' + }, + children: "*" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 91, + columnNumber: 99 + }, this), + " 设备型号" + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 91, + columnNumber: 15 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("select", { + value: deviceModel, + onChange: (e)=>setDeviceModel(e.target.value), + style: { + width: '100%', + padding: '8px 12px', + border: '1px solid #D9D9D9', + borderRadius: 6, + fontSize: 14 + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("option", { + value: "GD-30 Supreme", + children: "GD-30 Supreme" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 93, + columnNumber: 17 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("option", { + value: "GD-20 Supreme", + children: "GD-20 Supreme" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 94, + columnNumber: 17 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("option", { + value: "GD-10 Supreme", + children: "GD-10 Supreme" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 95, + columnNumber: 17 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 92, + columnNumber: 15 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 90, + columnNumber: 13 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("label", { + style: { + display: 'block', + fontSize: 13, + fontWeight: 500, + marginBottom: 6 + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", { + style: { + color: '#FF4D4F' + }, + children: "*" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 99, + columnNumber: 99 + }, this), + " 主机SN号" + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 99, + columnNumber: 15 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("input", { + value: hostSN, + onChange: (e)=>setHostSN(e.target.value), + placeholder: "如 GD30-20240308-001", + style: { + width: '100%', + padding: '8px 12px', + border: '1px solid #D9D9D9', + borderRadius: 6, + fontSize: 14, + boxSizing: 'border-box' + } + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 100, + columnNumber: 15 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 98, + columnNumber: 13 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("label", { + style: { + display: 'block', + fontSize: 13, + fontWeight: 500, + marginBottom: 6 + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", { + style: { + color: '#FF4D4F' + }, + children: "*" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 103, + columnNumber: 99 + }, this), + " 主板SN号" + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 103, + columnNumber: 15 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("input", { + value: boardSN, + onChange: (e)=>setBoardSN(e.target.value), + placeholder: "如 MB20240308001", + style: { + width: '100%', + padding: '8px 12px', + border: '1px solid #D9D9D9', + borderRadius: 6, + fontSize: 14, + boxSizing: 'border-box' + } + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 104, + columnNumber: 15 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 102, + columnNumber: 13 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("label", { + style: { + display: 'block', + fontSize: 13, + fontWeight: 500, + marginBottom: 6 + }, + children: "装机测试状态" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 107, + columnNumber: 15 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("select", { + value: testStatus, + onChange: (e)=>setTestStatus(e.target.value), + style: { + width: '100%', + padding: '8px 12px', + border: '1px solid #D9D9D9', + borderRadius: 6, + fontSize: 14 + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("option", { + value: "测试通过", + children: "测试通过" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 109, + columnNumber: 17 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("option", { + value: "测试不通过", + children: "测试不通过" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 110, + columnNumber: 17 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 108, + columnNumber: 15 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 106, + columnNumber: 13 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("label", { + style: { + display: 'block', + fontSize: 13, + fontWeight: 500, + marginBottom: 6 + }, + children: "生产日期" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 114, + columnNumber: 15 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("input", { + type: "date", + value: productionDate, + onChange: (e)=>setProductionDate(e.target.value), + style: { + width: '100%', + padding: '8px 12px', + border: '1px solid #D9D9D9', + borderRadius: 6, + fontSize: 14, + boxSizing: 'border-box' + } + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 115, + columnNumber: 15 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 113, + columnNumber: 13 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("label", { + style: { + display: 'block', + fontSize: 13, + fontWeight: 500, + marginBottom: 6 + }, + children: "登记人" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 118, + columnNumber: 15 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("input", { + value: "张工", + readOnly: true, + style: { + width: '100%', + padding: '8px 12px', + border: '1px solid #D9D9D9', + borderRadius: 6, + fontSize: 14, + boxSizing: 'border-box', + backgroundColor: '#FAFAFA', + color: 'rgba(0,0,0,0.45)' + } + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 119, + columnNumber: 15 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 117, + columnNumber: 13 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 89, + columnNumber: 11 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 87, + columnNumber: 9 + }, this), + matchInfo ? /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + display: 'flex', + alignItems: 'flex-start', + gap: 12, + padding: 16, + backgroundColor: '#F6FFED', + borderRadius: 8, + marginBottom: 24, + border: '1px solid #B7EB8F' + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$circle$2d$check$2d$big$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__CheckCircle$3e$__["CheckCircle"], { + size: 18, + style: { + color: '#52C41A', + flexShrink: 0, + marginTop: 2 + } + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 127, + columnNumber: 13 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + fontSize: 13, + color: 'rgba(0,0,0,0.65)', + lineHeight: 1.8 + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + children: [ + "已匹配型号 ", + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", { + style: { + fontWeight: 600 + }, + children: deviceModel + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 129, + columnNumber: 26 + }, this), + " 的关联信息:" + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 129, + columnNumber: 15 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + children: [ + "授权文件:", + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", { + style: { + color: '#4a7c59' + }, + children: matchInfo.license + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 130, + columnNumber: 25 + }, this), + " · 配置文件:", + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", { + style: { + color: '#4a7c59' + }, + children: matchInfo.config + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 130, + columnNumber: 94 + }, this), + " · 固件版本:", + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", { + style: { + color: '#4a7c59' + }, + children: matchInfo.firmware + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 130, + columnNumber: 162 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 130, + columnNumber: 15 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 128, + columnNumber: 13 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 126, + columnNumber: 11 + }, this) : /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + display: 'flex', + alignItems: 'flex-start', + gap: 12, + padding: 16, + backgroundColor: '#FFFBE6', + borderRadius: 8, + marginBottom: 24, + border: '1px solid #FFE58F' + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$triangle$2d$alert$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__AlertTriangle$3e$__["AlertTriangle"], { + size: 18, + style: { + color: '#FAAD14', + flexShrink: 0, + marginTop: 2 + } + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 135, + columnNumber: 13 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + fontSize: 13, + color: 'rgba(0,0,0,0.65)' + }, + children: [ + "未匹配到型号关联信息,请先在", + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", { + style: { + color: '#4a7c59', + cursor: 'pointer' + }, + onClick: ()=>router.push('/models'), + children: "型号管理" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 137, + columnNumber: 29 + }, this), + "中配置。" + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 136, + columnNumber: 13 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 134, + columnNumber: 11 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + backgroundColor: '#fff', + borderRadius: 8, + marginBottom: 24, + boxShadow: '0 1px 2px rgba(0,0,0,0.05)', + overflow: 'hidden' + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + display: 'flex', + justifyContent: 'space-between', + alignItems: 'center', + padding: '16px 20px', + borderBottom: '1px solid #F0F0F0' + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("h3", { + style: { + fontSize: 16, + fontWeight: 600, + margin: 0 + }, + children: "装机清单 BOM" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 145, + columnNumber: 13 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("button", { + onClick: ()=>setImportOpen(true), + style: { + display: 'flex', + alignItems: 'center', + gap: 6, + padding: '6px 14px', + border: '1px solid #D9D9D9', + borderRadius: 6, + backgroundColor: '#fff', + cursor: 'pointer', + fontSize: 13 + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$upload$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__Upload$3e$__["Upload"], { + size: 14 + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 147, + columnNumber: 15 + }, this), + "导入" + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 146, + columnNumber: 13 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 144, + columnNumber: 11 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("table", { + style: { + width: '100%', + borderCollapse: 'collapse' + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("thead", { + children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("tr", { + style: { + backgroundColor: '#FAFAFA' + }, + children: [ + '物料编码', + '物料名称', + 'SN号', + '型号', + '校准状态', + '数量', + '操作' + ].map((h)=>/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("th", { + style: { + padding: '10px 16px', + textAlign: 'left', + fontSize: 13, + fontWeight: 600, + color: 'rgba(0,0,0,0.85)', + borderBottom: '1px solid #F0F0F0' + }, + children: h + }, h, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 154, + columnNumber: 19 + }, this)) + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 152, + columnNumber: 15 + }, this) + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 151, + columnNumber: 13 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("tbody", { + children: bomList.map((item)=>/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("tr", { + style: { + borderBottom: '1px solid #F0F0F0' + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("td", { + style: { + padding: '10px 16px', + fontSize: 13 + }, + children: item.code + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 161, + columnNumber: 19 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("td", { + style: { + padding: '10px 16px', + fontSize: 13 + }, + children: item.name + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 162, + columnNumber: 19 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("td", { + style: { + padding: '10px 16px', + fontSize: 13, + fontWeight: 500 + }, + children: item.sn + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 163, + columnNumber: 19 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("td", { + style: { + padding: '10px 16px', + fontSize: 13, + color: 'rgba(0,0,0,0.65)' + }, + children: item.model + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 164, + columnNumber: 19 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("td", { + style: { + padding: '10px 16px' + }, + children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", { + style: { + padding: '1px 6px', + borderRadius: 4, + fontSize: 11, + ...item.calibration === '已校准' ? { + backgroundColor: '#F6FFED', + color: '#52C41A', + border: '1px solid #B7EB8F' + } : { + backgroundColor: '#FAFAFA', + color: 'rgba(0,0,0,0.45)', + border: '1px solid #D9D9D9' + } + }, + children: item.calibration + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 166, + columnNumber: 21 + }, this) + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 165, + columnNumber: 19 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("td", { + style: { + padding: '10px 16px', + fontSize: 13 + }, + children: item.qty + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 168, + columnNumber: 19 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("td", { + style: { + padding: '10px 16px' + }, + children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + display: 'flex', + gap: 8 + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("button", { + style: { + color: '#4a7c59', + cursor: 'pointer', + border: 'none', + background: 'none', + fontSize: 13 + }, + children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$square$2d$pen$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__Edit$3e$__["Edit"], { + size: 13 + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 171, + columnNumber: 129 + }, this) + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 171, + columnNumber: 23 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("button", { + onClick: ()=>removeBomItem(item.id), + style: { + color: '#FF4D4F', + cursor: 'pointer', + border: 'none', + background: 'none', + fontSize: 13 + }, + children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$trash$2d$2$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__Trash2$3e$__["Trash2"], { + size: 13 + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 172, + columnNumber: 168 + }, this) + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 172, + columnNumber: 23 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 170, + columnNumber: 21 + }, this) + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 169, + columnNumber: 19 + }, this) + ] + }, item.id, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 160, + columnNumber: 17 + }, this)) + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 158, + columnNumber: 13 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 150, + columnNumber: 11 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 143, + columnNumber: 9 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + backgroundColor: '#fff', + borderRadius: 8, + padding: 24, + marginBottom: 24, + boxShadow: '0 1px 2px rgba(0,0,0,0.05)' + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + display: 'flex', + justifyContent: 'space-between', + alignItems: 'center', + marginBottom: 20 + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("h3", { + style: { + fontSize: 16, + fontWeight: 600, + margin: 0 + }, + children: "装配 Checklist" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 184, + columnNumber: 13 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", { + style: { + fontSize: 14, + color: 'rgba(0,0,0,0.45)' + }, + children: [ + "完成 ", + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", { + style: { + color: '#4a7c59', + fontWeight: 600 + }, + children: completedCount + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 185, + columnNumber: 74 + }, this), + "/", + totalCount + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 185, + columnNumber: 13 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 183, + columnNumber: 11 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + height: 6, + backgroundColor: '#F0F0F0', + borderRadius: 3, + marginBottom: 20, + overflow: 'hidden' + }, + children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + height: '100%', + width: `${completedCount / totalCount * 100}%`, + backgroundColor: '#4a7c59', + borderRadius: 3, + transition: 'width 0.3s' + } + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 189, + columnNumber: 13 + }, this) + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 188, + columnNumber: 11 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 8 + }, + children: defaultChecklist.map((item, i)=>{ + const isChecked = checkedItems.includes(item.id); + const photos = photoCount[item.id] || 0; + return /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 12, + padding: '12px 16px', + borderRadius: 8, + backgroundColor: isChecked ? '#F6FFED' : '#FAFAFA', + border: isChecked ? '1px solid #B7EB8F' : '1px solid #F0F0F0', + transition: 'all 0.2s' + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + onClick: ()=>toggleCheck(item.id), + style: { + width: 20, + height: 20, + borderRadius: 4, + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + cursor: 'pointer', + border: isChecked ? 'none' : '2px solid #D9D9D9', + backgroundColor: isChecked ? '#52C41A' : '#fff', + flexShrink: 0 + }, + children: isChecked && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$circle$2d$check$2d$big$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__CheckCircle$3e$__["CheckCircle"], { + size: 14, + color: "#fff" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 198, + columnNumber: 35 + }, this) + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 197, + columnNumber: 19 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + width: 28, + height: 28, + borderRadius: '50%', + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + fontSize: 12, + fontWeight: 600, + backgroundColor: isChecked ? '#eef5f0' : '#F0F0F0', + color: isChecked ? '#4a7c59' : 'rgba(0,0,0,0.45)', + flexShrink: 0 + }, + children: i + 1 + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 200, + columnNumber: 19 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + flex: 1 + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", { + style: { + fontSize: 14, + color: isChecked ? '#4a7c59' : 'rgba(0,0,0,0.85)' + }, + children: item.name + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 202, + columnNumber: 21 + }, this), + item.id === 14 && !isChecked && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", { + style: { + marginLeft: 8, + fontSize: 12, + color: '#FF4D4F' + }, + children: "⚠ 请确认固件版本与配置一致" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 204, + columnNumber: 23 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 201, + columnNumber: 19 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 8, + flexShrink: 0 + }, + children: [ + photos > 0 && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", { + style: { + fontSize: 12, + color: '#52C41A' + }, + children: [ + photos, + "张照片" + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 208, + columnNumber: 36 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("button", { + onClick: ()=>{ + setPhotoOpen(item.id); + setPhotoNote(''); + }, + style: { + display: 'flex', + alignItems: 'center', + gap: 4, + padding: '4px 10px', + border: '1px solid #D9D9D9', + borderRadius: 4, + backgroundColor: '#fff', + cursor: 'pointer', + fontSize: 12, + color: 'rgba(0,0,0,0.65)' + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$camera$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__Camera$3e$__["Camera"], { + size: 12 + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 210, + columnNumber: 23 + }, this), + photos > 0 ? '管理' : '拍照' + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 209, + columnNumber: 21 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 207, + columnNumber: 19 + }, this) + ] + }, item.id, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 196, + columnNumber: 17 + }, this); + }) + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 191, + columnNumber: 11 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 182, + columnNumber: 9 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 74, + columnNumber: 7 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + position: 'sticky', + bottom: 0, + backgroundColor: '#fff', + borderTop: '1px solid #F0F0F0', + padding: '12px 24px', + display: 'flex', + justifyContent: 'flex-end', + gap: 12, + zIndex: 10 + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("button", { + onClick: ()=>router.back(), + style: { + padding: '8px 24px', + border: '1px solid #D9D9D9', + borderRadius: 6, + backgroundColor: '#fff', + cursor: 'pointer', + fontSize: 14 + }, + children: "取消" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 222, + columnNumber: 9 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("button", { + style: { + padding: '8px 24px', + border: '1px solid #D9D9D9', + borderRadius: 6, + backgroundColor: '#fff', + cursor: 'pointer', + fontSize: 14 + }, + children: "更新" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 223, + columnNumber: 9 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("button", { + style: { + padding: '8px 24px', + border: 'none', + borderRadius: 6, + backgroundColor: '#4a7c59', + color: '#fff', + cursor: 'pointer', + fontSize: 14 + }, + children: "提交" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 224, + columnNumber: 9 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 221, + columnNumber: 7 + }, this), + importOpen && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + position: 'fixed', + inset: 0, + zIndex: 50, + display: 'flex', + alignItems: 'center', + justifyContent: 'center' + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + onClick: ()=>setImportOpen(false), + style: { + position: 'absolute', + inset: 0, + backgroundColor: 'rgba(0,0,0,0.45)' + } + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 230, + columnNumber: 11 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + position: 'relative', + width: 520, + backgroundColor: '#fff', + borderRadius: 8, + boxShadow: '0 4px 12px rgba(0,0,0,0.15)' + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + display: 'flex', + justifyContent: 'space-between', + alignItems: 'center', + padding: '16px 24px', + borderBottom: '1px solid #F0F0F0' + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("h3", { + style: { + fontSize: 16, + fontWeight: 600, + margin: 0 + }, + children: "导入BOM清单" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 233, + columnNumber: 15 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("button", { + onClick: ()=>setImportOpen(false), + style: { + border: 'none', + background: 'none', + cursor: 'pointer', + padding: 4 + }, + children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$x$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__X$3e$__["X"], { + size: 20 + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 234, + columnNumber: 138 + }, this) + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 234, + columnNumber: 15 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 232, + columnNumber: 13 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + padding: 24 + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + marginBottom: 20 + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + fontSize: 14, + fontWeight: 500, + marginBottom: 8 + }, + children: "第一步:下载导入模板" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 238, + columnNumber: 17 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("button", { + style: { + display: 'flex', + alignItems: 'center', + gap: 6, + padding: '8px 16px', + border: '1px solid #D9D9D9', + borderRadius: 6, + backgroundColor: '#fff', + cursor: 'pointer', + fontSize: 13 + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$download$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__Download$3e$__["Download"], { + size: 14 + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 240, + columnNumber: 19 + }, this), + "BOM导入模板.xlsx" + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 239, + columnNumber: 17 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 237, + columnNumber: 15 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + marginBottom: 20 + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + fontSize: 14, + fontWeight: 500, + marginBottom: 8 + }, + children: "第二步:上传Excel文件" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 244, + columnNumber: 17 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + border: '2px dashed #D9D9D9', + borderRadius: 8, + padding: '32px 24px', + textAlign: 'center', + cursor: 'pointer' + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$upload$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__Upload$3e$__["Upload"], { + size: 24, + style: { + color: 'rgba(0,0,0,0.25)', + marginBottom: 8 + } + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 246, + columnNumber: 19 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + fontSize: 14, + color: 'rgba(0,0,0,0.45)' + }, + children: "点击或拖拽上传文件" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 247, + columnNumber: 19 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + fontSize: 12, + color: 'rgba(0,0,0,0.25)', + marginTop: 4 + }, + children: "支持 .xlsx / .xls / .csv 格式" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 248, + columnNumber: 19 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 245, + columnNumber: 17 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 243, + columnNumber: 15 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + display: 'flex', + alignItems: 'flex-start', + gap: 8, + padding: 12, + backgroundColor: '#FFFBE6', + borderRadius: 6, + border: '1px solid #FFE58F' + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$info$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__Info$3e$__["Info"], { + size: 14, + style: { + color: '#FAAD14', + flexShrink: 0, + marginTop: 2 + } + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 252, + columnNumber: 17 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", { + style: { + fontSize: 12, + color: 'rgba(0,0,0,0.65)' + }, + children: "请确保文件格式与模板一致,物料编码和SN号为必填项。" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 253, + columnNumber: 17 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 251, + columnNumber: 15 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 236, + columnNumber: 13 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + padding: '16px 24px', + borderTop: '1px solid #F0F0F0', + display: 'flex', + justifyContent: 'flex-end', + gap: 12 + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("button", { + onClick: ()=>setImportOpen(false), + style: { + padding: '8px 20px', + border: '1px solid #D9D9D9', + borderRadius: 6, + backgroundColor: '#fff', + cursor: 'pointer', + fontSize: 14 + }, + children: "取消" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 257, + columnNumber: 15 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("button", { + onClick: ()=>setImportOpen(false), + style: { + padding: '8px 20px', + border: 'none', + borderRadius: 6, + backgroundColor: '#4a7c59', + color: '#fff', + cursor: 'pointer', + fontSize: 14 + }, + children: "确认导入" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 258, + columnNumber: 15 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 256, + columnNumber: 13 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 231, + columnNumber: 11 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 229, + columnNumber: 9 + }, this), + photoOpen !== null && /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + position: 'fixed', + inset: 0, + zIndex: 50, + display: 'flex', + alignItems: 'center', + justifyContent: 'center' + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + onClick: ()=>setPhotoOpen(null), + style: { + position: 'absolute', + inset: 0, + backgroundColor: 'rgba(0,0,0,0.45)' + } + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 267, + columnNumber: 11 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + position: 'relative', + width: 520, + backgroundColor: '#fff', + borderRadius: 8, + boxShadow: '0 4px 12px rgba(0,0,0,0.15)' + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + display: 'flex', + justifyContent: 'space-between', + alignItems: 'center', + padding: '16px 24px', + borderBottom: '1px solid #F0F0F0' + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("h3", { + style: { + fontSize: 16, + fontWeight: 600, + margin: 0 + }, + children: "上传照片" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 270, + columnNumber: 15 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("button", { + onClick: ()=>setPhotoOpen(null), + style: { + border: 'none', + background: 'none', + cursor: 'pointer', + padding: 4 + }, + children: /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$x$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__X$3e$__["X"], { + size: 20 + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 271, + columnNumber: 136 + }, this) + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 271, + columnNumber: 15 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 269, + columnNumber: 13 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + padding: 24 + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + display: 'grid', + gridTemplateColumns: 'repeat(4, 1fr)', + gap: 12, + marginBottom: 20 + }, + children: [ + Array.from({ + length: photoCount[photoOpen] || 0 + }).map((_, i)=>/*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + position: 'relative', + aspectRatio: '1', + backgroundColor: '#F0F0F0', + borderRadius: 6, + display: 'flex', + alignItems: 'center', + justifyContent: 'center' + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$camera$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__Camera$3e$__["Camera"], { + size: 20, + style: { + color: 'rgba(0,0,0,0.25)' + } + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 277, + columnNumber: 21 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("button", { + onClick: ()=>setPhotoCount((prev)=>({ + ...prev, + [photoOpen]: Math.max(0, (prev[photoOpen] || 0) - 1) + })), + style: { + position: 'absolute', + top: -6, + right: -6, + width: 18, + height: 18, + borderRadius: '50%', + border: 'none', + backgroundColor: '#FF4D4F', + color: '#fff', + fontSize: 10, + cursor: 'pointer', + display: 'flex', + alignItems: 'center', + justifyContent: 'center' + }, + children: "×" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 278, + columnNumber: 21 + }, this) + ] + }, i, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 276, + columnNumber: 19 + }, this)), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + onClick: ()=>setPhotoCount((prev)=>({ + ...prev, + [photoOpen]: (prev[photoOpen] || 0) + 1 + })), + style: { + aspectRatio: '1', + border: '2px dashed #D9D9D9', + borderRadius: 6, + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + justifyContent: 'center', + cursor: 'pointer', + gap: 4 + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$camera$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__$3c$export__default__as__Camera$3e$__["Camera"], { + size: 20, + style: { + color: 'rgba(0,0,0,0.25)' + } + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 282, + columnNumber: 19 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("span", { + style: { + fontSize: 11, + color: 'rgba(0,0,0,0.35)' + }, + children: "添加" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 283, + columnNumber: 19 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 281, + columnNumber: 17 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 274, + columnNumber: 15 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("label", { + style: { + display: 'block', + fontSize: 13, + fontWeight: 500, + marginBottom: 6 + }, + children: "装配记录信息" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 287, + columnNumber: 17 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("textarea", { + value: photoNote, + onChange: (e)=>setPhotoNote(e.target.value), + rows: 3, + placeholder: "输入装配记录", + style: { + width: '100%', + padding: '8px 12px', + border: '1px solid #D9D9D9', + borderRadius: 6, + fontSize: 14, + resize: 'vertical', + boxSizing: 'border-box' + } + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 288, + columnNumber: 17 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 286, + columnNumber: 15 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 273, + columnNumber: 13 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("div", { + style: { + padding: '16px 24px', + borderTop: '1px solid #F0F0F0', + display: 'flex', + justifyContent: 'flex-end', + gap: 12 + }, + children: [ + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("button", { + onClick: ()=>setPhotoOpen(null), + style: { + padding: '8px 20px', + border: '1px solid #D9D9D9', + borderRadius: 6, + backgroundColor: '#fff', + cursor: 'pointer', + fontSize: 14 + }, + children: "取消" + }, void 0, false, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 292, + columnNumber: 15 + }, this), + /*#__PURE__*/ (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$server$2f$route$2d$modules$2f$app$2d$page$2f$vendored$2f$ssr$2f$react$2d$jsx$2d$dev$2d$runtime$2e$js__$5b$app$2d$ssr$5d$__$28$ecmascript$29$__["jsxDEV"])("button", { + onClick: ()=>setPhotoOpen(null), + style: { + padding: '8px 20px', + border: 'none', + borderRadius: 6, + backgroundColor: '#4a7c59', + color: '#fff', + cursor: 'pointer', + fontSize: 14 + }, + children: [ + "确认上传(", + photoCount[photoOpen] || 0, + "张)" + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 293, + columnNumber: 15 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 291, + columnNumber: 13 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 268, + columnNumber: 11 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 266, + columnNumber: 9 + }, this) + ] + }, void 0, true, { + fileName: "[project]/src/app/registration/page.tsx", + lineNumber: 73, + columnNumber: 5 + }, this); +} +}), +]; + +//# sourceMappingURL=src_app_registration_page_tsx_e3654e29._.js.map \ No newline at end of file diff --git a/.next/dev/server/chunks/ssr/src_app_registration_page_tsx_e3654e29._.js.map b/.next/dev/server/chunks/ssr/src_app_registration_page_tsx_e3654e29._.js.map new file mode 100644 index 0000000..8c5eb12 --- /dev/null +++ b/.next/dev/server/chunks/ssr/src_app_registration_page_tsx_e3654e29._.js.map @@ -0,0 +1,6 @@ +{ + "version": 3, + "sources": [], + "sections": [ + {"offset": {"line": 4, "column": 0}, "map": {"version":3,"sources":["file:///E:/gitee/enterprise-saa-s-dashboard-design/src/app/registration/page.tsx"],"sourcesContent":["'use client'\nimport { useState } from 'react'\nimport { useRouter } from 'next/navigation'\nimport { ArrowLeft, Upload, Download, Trash2, Edit, CheckCircle, Camera, X, AlertTriangle, Info } from 'lucide-react'\n\nconst modelMatchInfo: Record = {\n 'GD-30 Supreme': { license: 'LIC-GD30-全模块授权', config: 'CFG-GD30-v1.3.0', firmware: 'v2.3.5' },\n 'GD-20 Supreme': { license: 'LIC-GD20-标准授权', config: 'CFG-GD20-v1.1.0', firmware: 'v1.8.5' },\n 'GD-10 Supreme': { license: 'LIC-GD10-基础授权', config: 'CFG-GD10-v1.0.0', firmware: 'v1.5.2' },\n}\n\nconst defaultBOM = [\n { id: 1, code: 'MB-2024-001', name: '主协板', sn: 'MCB-2024-0089', model: 'MCB-3000', calibration: '无需校准', qty: 1 },\n { id: 2, code: 'AC-2024-001', name: '采集板', sn: 'ACB-2024-0156', model: 'ACB-6000', calibration: '已校准', qty: 1 },\n { id: 3, code: 'AC-2024-002', name: '采集板', sn: 'ACB-2024-0157', model: 'ACB-6000', calibration: '已校准', qty: 1 },\n { id: 5, code: 'TX-2024-001', name: '发射板', sn: 'TXB-2024-0034', model: 'TXB-1000', calibration: '无需校准', qty: 1 },\n { id: 6, code: 'BS-2024-001', name: '升压板', sn: 'BST-2024-0021', model: 'BST-500', calibration: '无需校准', qty: 1 },\n { id: 7, code: 'CS-2024-001', name: '外壳机箱', sn: '-', model: 'GD30-CASE-A', calibration: '无需校准', qty: 1 },\n]\n\nconst defaultChecklist = [\n { id: 1, name: '主板SN扫码绑定', required: true },\n { id: 2, name: '采集板SN录入(×6)', required: true },\n { id: 3, name: '发射板安装检查', required: true },\n { id: 4, name: '升压板安装检查', required: true },\n { id: 5, name: '线缆连接检查', required: true },\n { id: 6, name: '整机通电测试', required: true },\n { id: 7, name: 'GPS/北斗模块检测', required: true },\n { id: 8, name: 'WiFi通信测试', required: true },\n { id: 9, name: '蓝牙通信测试', required: true },\n { id: 10, name: '采集通道校准验证', required: true },\n { id: 11, name: '发射电压测试', required: true },\n { id: 12, name: '电池安装与充电测试', required: true },\n { id: 13, name: 'IP66防护检测', required: true },\n { id: 14, name: '固件版本校验', required: true },\n { id: 15, name: '配置文件写入', required: true },\n { id: 16, name: '授权文件写入', required: true },\n { id: 17, name: '整机功能测试', required: true },\n { id: 18, name: '数据采集验证', required: true },\n { id: 19, name: '外观检查', required: false },\n { id: 20, name: '标签粘贴', required: false },\n { id: 21, name: '配件清点', required: false },\n { id: 22, name: '包装检查', required: false },\n]\n\nexport default function RegistrationPage() {\n const router = useRouter()\n const [deviceModel, setDeviceModel] = useState('GD-30 Supreme')\n const [hostSN, setHostSN] = useState('')\n const [boardSN, setBoardSN] = useState('')\n const [testStatus, setTestStatus] = useState('测试通过')\n const [productionDate, setProductionDate] = useState('')\n const [bomList, setBomList] = useState(defaultBOM)\n const [checkedItems, setCheckedItems] = useState([])\n const [photoCount, setPhotoCount] = useState>({})\n const [importOpen, setImportOpen] = useState(false)\n const [photoOpen, setPhotoOpen] = useState(null)\n const [photoNote, setPhotoNote] = useState('')\n\n const matchInfo = modelMatchInfo[deviceModel]\n const completedCount = checkedItems.length\n const totalCount = defaultChecklist.length\n\n const toggleCheck = (id: number) => {\n setCheckedItems(prev => prev.includes(id) ? prev.filter(x => x !== id) : [...prev, id])\n }\n\n const removeBomItem = (id: number) => {\n setBomList(prev => prev.filter(b => b.id !== id))\n }\n\n return (\n

\n
\n {/* Header */}\n
\n \n
\n

设备登记

\n

登记新设备信息,填写装机信息与BOM清单

\n
\n
\n\n {/* 装机信息 */}\n
\n

装机信息

\n
\n
\n \n \n
\n
\n \n setHostSN(e.target.value)} placeholder=\"如 GD30-20240308-001\" style={{ width: '100%', padding: '8px 12px', border: '1px solid #D9D9D9', borderRadius: 6, fontSize: 14, boxSizing: 'border-box' }} />\n
\n
\n \n setBoardSN(e.target.value)} placeholder=\"如 MB20240308001\" style={{ width: '100%', padding: '8px 12px', border: '1px solid #D9D9D9', borderRadius: 6, fontSize: 14, boxSizing: 'border-box' }} />\n
\n
\n \n \n
\n
\n \n setProductionDate(e.target.value)} style={{ width: '100%', padding: '8px 12px', border: '1px solid #D9D9D9', borderRadius: 6, fontSize: 14, boxSizing: 'border-box' }} />\n
\n
\n \n \n
\n
\n
\n\n {/* 型号匹配提示 */}\n {matchInfo ? (\n
\n \n
\n
已匹配型号 {deviceModel} 的关联信息:
\n
授权文件:{matchInfo.license} · 配置文件:{matchInfo.config} · 固件版本:{matchInfo.firmware}
\n
\n
\n ) : (\n
\n \n
\n 未匹配到型号关联信息,请先在 router.push('/models')}>型号管理中配置。\n
\n
\n )}\n\n {/* BOM 清单 */}\n
\n
\n

装机清单 BOM

\n \n
\n \n \n \n {['物料编码', '物料名称', 'SN号', '型号', '校准状态', '数量', '操作'].map(h => (\n \n ))}\n \n \n \n {bomList.map(item => (\n \n \n \n \n \n \n \n \n \n ))}\n \n
{h}
{item.code}{item.name}{item.sn}{item.model}\n {item.calibration}\n {item.qty}\n
\n \n \n
\n
\n
\n\n {/* 装配 Checklist */}\n
\n
\n

装配 Checklist

\n 完成 {completedCount}/{totalCount}\n
\n {/* Progress bar */}\n
\n
\n
\n
\n {defaultChecklist.map((item, i) => {\n const isChecked = checkedItems.includes(item.id)\n const photos = photoCount[item.id] || 0\n return (\n
\n
toggleCheck(item.id)} style={{ width: 20, height: 20, borderRadius: 4, display: 'flex', alignItems: 'center', justifyContent: 'center', cursor: 'pointer', border: isChecked ? 'none' : '2px solid #D9D9D9', backgroundColor: isChecked ? '#52C41A' : '#fff', flexShrink: 0 }}>\n {isChecked && }\n
\n
{i + 1}
\n
\n {item.name}\n {item.id === 14 && !isChecked && (\n ⚠ 请确认固件版本与配置一致\n )}\n
\n
\n {photos > 0 && {photos}张照片}\n \n
\n
\n )\n })}\n
\n
\n
\n\n {/* Sticky Bottom Bar */}\n
\n \n \n \n
\n\n {/* Import BOM Dialog */}\n {importOpen && (\n
\n
setImportOpen(false)} style={{ position: 'absolute', inset: 0, backgroundColor: 'rgba(0,0,0,0.45)' }} />\n
\n
\n

导入BOM清单

\n \n
\n
\n
\n
第一步:下载导入模板
\n \n
\n
\n
第二步:上传Excel文件
\n
\n \n
点击或拖拽上传文件
\n
支持 .xlsx / .xls / .csv 格式
\n
\n
\n
\n \n 请确保文件格式与模板一致,物料编码和SN号为必填项。\n
\n
\n
\n \n \n
\n
\n
\n )}\n\n {/* Photo Upload Dialog */}\n {photoOpen !== null && (\n
\n
setPhotoOpen(null)} style={{ position: 'absolute', inset: 0, backgroundColor: 'rgba(0,0,0,0.45)' }} />\n
\n
\n

上传照片

\n \n
\n
\n
\n {Array.from({ length: photoCount[photoOpen] || 0 }).map((_, i) => (\n
\n \n \n
\n ))}\n
setPhotoCount(prev => ({ ...prev, [photoOpen]: (prev[photoOpen] || 0) + 1 }))} style={{ aspectRatio: '1', border: '2px dashed #D9D9D9', borderRadius: 6, display: 'flex', flexDirection: 'column', alignItems: 'center', justifyContent: 'center', cursor: 'pointer', gap: 4 }}>\n \n 添加\n
\n
\n
\n \n