LittleDemon WebShell


Linux premium331.web-hosting.com 4.18.0-553.80.1.lve.el8.x86_64 #1 SMP Wed Oct 22 19:29:36 UTC 2025 x86_64
Path : /proc/self/root/home/livedhms/lmgt/node_modules/next/dist/build/swc/
File Upload :
Command :
Current File : //proc/self/root/home/livedhms/lmgt/node_modules/next/dist/build/swc/index.js.map

{"version":3,"sources":["../../../src/build/swc/index.ts"],"sourcesContent":["import path from 'path'\nimport { pathToFileURL } from 'url'\nimport { arch, platform } from 'os'\nimport { platformArchTriples } from 'next/dist/compiled/@napi-rs/triples'\nimport * as Log from '../output/log'\nimport { getParserOptions } from './options'\nimport { eventSwcLoadFailure } from '../../telemetry/events/swc-load-failure'\nimport { patchIncorrectLockfile } from '../../lib/patch-incorrect-lockfile'\nimport { downloadNativeNextSwc, downloadWasmSwc } from '../../lib/download-swc'\nimport type {\n  NextConfigComplete,\n  TurbopackLoaderBuiltinCondition,\n  TurbopackLoaderItem,\n  TurbopackRuleCondition,\n  TurbopackRuleConfigCollection,\n  TurbopackRuleConfigItem,\n} from '../../server/config-shared'\nimport { isDeepStrictEqual } from 'util'\nimport { type DefineEnvOptions, getDefineEnv } from '../define-env'\nimport type {\n  NapiPartialProjectOptions,\n  NapiProjectOptions,\n  NapiSourceDiagnostic,\n} from './generated-native'\nimport type {\n  Binding,\n  CompilationEvent,\n  DefineEnv,\n  Endpoint,\n  HmrIdentifiers,\n  Lockfile,\n  PartialProjectOptions,\n  Project,\n  ProjectOptions,\n  RawEntrypoints,\n  Route,\n  TurboEngineOptions,\n  TurbopackResult,\n  TurbopackStackFrame,\n  Update,\n  UpdateMessage,\n  WrittenEndpoint,\n} from './types'\nimport { throwTurbopackInternalError } from '../../shared/lib/turbopack/internal-error'\n\ntype RawBindings = typeof import('./generated-native')\ntype RawWasmBindings = typeof import('./generated-wasm') & {\n  default?(): Promise<typeof import('./generated-wasm')>\n}\n\nconst nextVersion = process.env.__NEXT_VERSION as string\n\nconst ArchName = arch()\nconst PlatformName = platform()\n\nfunction infoLog(...args: any[]) {\n  if (process.env.NEXT_PRIVATE_BUILD_WORKER) {\n    return\n  }\n  if (process.env.DEBUG) {\n    Log.info(...args)\n  }\n}\n\n/**\n * Based on napi-rs's target triples, returns triples that have corresponding next-swc binaries.\n */\nexport function getSupportedArchTriples(): Record<string, any> {\n  const { darwin, win32, linux, freebsd, android } = platformArchTriples\n\n  return {\n    darwin,\n    win32: {\n      arm64: win32.arm64,\n      ia32: win32.ia32.filter((triple) => triple.abi === 'msvc'),\n      x64: win32.x64.filter((triple) => triple.abi === 'msvc'),\n    },\n    linux: {\n      // linux[x64] includes `gnux32` abi, with x64 arch.\n      x64: linux.x64.filter((triple) => triple.abi !== 'gnux32'),\n      arm64: linux.arm64,\n      // This target is being deprecated, however we keep it in `knownDefaultWasmFallbackTriples` for now\n      arm: linux.arm,\n    },\n    // Below targets are being deprecated, however we keep it in `knownDefaultWasmFallbackTriples` for now\n    freebsd: {\n      x64: freebsd.x64,\n    },\n    android: {\n      arm64: android.arm64,\n      arm: android.arm,\n    },\n  }\n}\n\nconst triples = (() => {\n  const supportedArchTriples = getSupportedArchTriples()\n  const targetTriple = supportedArchTriples[PlatformName]?.[ArchName]\n\n  // If we have supported triple, return it right away\n  if (targetTriple) {\n    return targetTriple\n  }\n\n  // If there isn't corresponding target triple in `supportedArchTriples`, check if it's excluded from original raw triples\n  // Otherwise, it is completely unsupported platforms.\n  let rawTargetTriple = platformArchTriples[PlatformName]?.[ArchName]\n\n  if (rawTargetTriple) {\n    Log.warn(\n      `Trying to load next-swc for target triple ${rawTargetTriple}, but there next-swc does not have native bindings support`\n    )\n  } else {\n    Log.warn(\n      `Trying to load next-swc for unsupported platforms ${PlatformName}/${ArchName}`\n    )\n  }\n\n  return []\n})()\n\n// Allow to specify an absolute path to the custom turbopack binary to load.\n// If one of env variables is set, `loadNative` will try to use specified\n// binary instead. This is thin, naive interface\n// - `loadBindings` will not validate neither path nor the binary.\n//\n// Note these are internal flag: there's no stability, feature guarantee.\nconst __INTERNAL_CUSTOM_TURBOPACK_BINDINGS =\n  process.env.__INTERNAL_CUSTOM_TURBOPACK_BINDINGS\n\nfunction checkVersionMismatch(pkgData: any) {\n  const version = pkgData.version\n\n  if (version && version !== nextVersion) {\n    Log.warn(\n      `Mismatching @next/swc version, detected: ${version} while Next.js is on ${nextVersion}. Please ensure these match`\n    )\n  }\n}\n\n// These are the platforms we'll try to load wasm bindings first,\n// only try to load native bindings if loading wasm binding somehow fails.\n// Fallback to native binding is for migration period only,\n// once we can verify loading-wasm-first won't cause visible regressions,\n// we'll not include native bindings for these platform at all.\nconst knownDefaultWasmFallbackTriples = [\n  'x86_64-unknown-freebsd',\n  'aarch64-linux-android',\n  'arm-linux-androideabi',\n  'armv7-unknown-linux-gnueabihf',\n  'i686-pc-windows-msvc',\n  // WOA targets are TBD, while current userbase is small we may support it in the future\n  //'aarch64-pc-windows-msvc',\n]\n\n// The last attempt's error code returned when cjs require to native bindings fails.\n// If node.js throws an error without error code, this should be `unknown` instead of undefined.\n// For the wasm-first targets (`knownDefaultWasmFallbackTriples`) this will be `unsupported_target`.\nlet lastNativeBindingsLoadErrorCode:\n  | 'unknown'\n  | 'unsupported_target'\n  | string\n  | undefined = undefined\n// Used to cache racing calls to `loadBindings`\nlet pendingBindings: Promise<Binding> | undefined\n// The cached loaded bindings\nlet loadedBindings: Binding | undefined = undefined\nlet downloadWasmPromise: any\nlet swcTraceFlushGuard: any\nlet downloadNativeBindingsPromise: Promise<void> | undefined = undefined\n\nexport const lockfilePatchPromise: { cur?: Promise<void> } = {}\n\n/** Access the native bindings which should already have been loaded via `installBindings.  Throws if they are not available. */\nexport function getBindingsSync(): Binding {\n  if (!loadedBindings) {\n    if (pendingBindings) {\n      throw new Error(\n        'Bindings not loaded yet, but they are being loaded, did you forget to await?'\n      )\n    }\n    throw new Error(\n      'bindings not loaded yet.  Either call `loadBindings` to wait for them to be available or ensure that `installBindings` has already been called.'\n    )\n  }\n  return loadedBindings\n}\n\n/**\n * Loads the native or wasm binding.\n *\n * By default, this first tries to use a native binding, falling back to a wasm binding if that\n * fails.\n *\n * This function is `async` as wasm requires an asynchronous import in browsers.\n */\nexport async function loadBindings(\n  useWasmBinary: boolean = false\n): Promise<Binding> {\n  if (loadedBindings) {\n    return loadedBindings\n  }\n  if (pendingBindings) {\n    return pendingBindings\n  }\n\n  // Increase Rust stack size as some npm packages being compiled need more than the default.\n  if (!process.env.RUST_MIN_STACK) {\n    process.env.RUST_MIN_STACK = '8388608'\n  }\n\n  if (process.env.NEXT_TEST_WASM) {\n    useWasmBinary = true\n  }\n\n  // rust needs stdout to be blocking, otherwise it will throw an error (on macOS at least) when writing a lot of data (logs) to it\n  // see https://github.com/napi-rs/napi-rs/issues/1630\n  // and https://github.com/nodejs/node/blob/main/doc/api/process.md#a-note-on-process-io\n  if (process.stdout._handle != null) {\n    // @ts-ignore\n    process.stdout._handle.setBlocking?.(true)\n  }\n  if (process.stderr._handle != null) {\n    // @ts-ignore\n    process.stderr._handle.setBlocking?.(true)\n  }\n\n  pendingBindings = new Promise(async (resolve, reject) => {\n    if (!lockfilePatchPromise.cur) {\n      // always run lockfile check once so that it gets patched\n      // even if it doesn't fail to load locally\n      lockfilePatchPromise.cur = patchIncorrectLockfile(process.cwd()).catch(\n        console.error\n      )\n    }\n\n    let attempts: any[] = []\n    const disableWasmFallback = process.env.NEXT_DISABLE_SWC_WASM\n    const unsupportedPlatform = triples.some(\n      (triple: any) =>\n        !!triple?.raw && knownDefaultWasmFallbackTriples.includes(triple.raw)\n    )\n    const isWebContainer = process.versions.webcontainer\n    // Normal execution relies on the param `useWasmBinary` flag to load, but\n    // in certain cases where there isn't a native binary we always load wasm fallback first.\n    const shouldLoadWasmFallbackFirst =\n      (!disableWasmFallback && useWasmBinary) ||\n      unsupportedPlatform ||\n      isWebContainer\n\n    if (!unsupportedPlatform && useWasmBinary) {\n      Log.warn(\n        `experimental.useWasmBinary is not an option for supported platform ${PlatformName}/${ArchName} and will be ignored.`\n      )\n    }\n\n    if (shouldLoadWasmFallbackFirst) {\n      lastNativeBindingsLoadErrorCode = 'unsupported_target'\n      const fallbackBindings = await tryLoadWasmWithFallback(attempts)\n      if (fallbackBindings) {\n        return resolve(fallbackBindings)\n      }\n    }\n\n    // Trickle down loading `fallback` bindings:\n    //\n    // - First, try to load native bindings installed in node_modules.\n    // - If that fails with `ERR_MODULE_NOT_FOUND`, treat it as case of https://github.com/npm/cli/issues/4828\n    // that host system where generated package lock is not matching to the guest system running on, try to manually\n    // download corresponding target triple and load it. This won't be triggered if native bindings are failed to load\n    // with other reasons than `ERR_MODULE_NOT_FOUND`.\n    // - Lastly, falls back to wasm binding where possible.\n    try {\n      return resolve(loadNative())\n    } catch (a) {\n      if (\n        Array.isArray(a) &&\n        a.every((m) => m.includes('it was not installed'))\n      ) {\n        let fallbackBindings = await tryLoadNativeWithFallback(attempts)\n\n        if (fallbackBindings) {\n          return resolve(fallbackBindings)\n        }\n      }\n\n      attempts = attempts.concat(a)\n    }\n\n    // For these platforms we already tried to load wasm and failed, skip reattempt\n    if (!shouldLoadWasmFallbackFirst && !disableWasmFallback) {\n      const fallbackBindings = await tryLoadWasmWithFallback(attempts)\n      if (fallbackBindings) {\n        return resolve(fallbackBindings)\n      }\n    }\n\n    await logLoadFailure(attempts, true)\n    // Reject the promise to propagate the error (process.exit was removed to allow telemetry flush)\n    reject(\n      new Error(\n        `Failed to load SWC binary for ${PlatformName}/${ArchName}, see more info here: https://nextjs.org/docs/messages/failed-loading-swc`\n      )\n    )\n  })\n  loadedBindings = await pendingBindings\n  pendingBindings = undefined\n  return loadedBindings\n}\n\nasync function tryLoadNativeWithFallback(attempts: Array<string>) {\n  const nativeBindingsDirectory = path.join(\n    path.dirname(require.resolve('next/package.json')),\n    'next-swc-fallback'\n  )\n\n  if (!downloadNativeBindingsPromise) {\n    downloadNativeBindingsPromise = downloadNativeNextSwc(\n      nextVersion,\n      nativeBindingsDirectory,\n      triples.map((triple: any) => triple.platformArchABI)\n    )\n  }\n  await downloadNativeBindingsPromise\n\n  try {\n    return loadNative(nativeBindingsDirectory)\n  } catch (a: any) {\n    attempts.push(...[].concat(a))\n  }\n\n  return undefined\n}\n\n// helper for loadBindings\nasync function tryLoadWasmWithFallback(\n  attempts: any[]\n): Promise<Binding | undefined> {\n  try {\n    let bindings = await loadWasm('')\n    // @ts-expect-error TODO: this event has a wrong type.\n    eventSwcLoadFailure({\n      wasm: 'enabled',\n      nativeBindingsErrorCode: lastNativeBindingsLoadErrorCode,\n    })\n    return bindings\n  } catch (a: any) {\n    attempts.push(...[].concat(a))\n  }\n\n  try {\n    // if not installed already download wasm package on-demand\n    // we download to a custom directory instead of to node_modules\n    // as node_module import attempts are cached and can't be re-attempted\n    // x-ref: https://github.com/nodejs/modules/issues/307\n    const wasmDirectory = path.join(\n      path.dirname(require.resolve('next/package.json')),\n      'wasm'\n    )\n    if (!downloadWasmPromise) {\n      downloadWasmPromise = downloadWasmSwc(nextVersion, wasmDirectory)\n    }\n    await downloadWasmPromise\n    let bindings = await loadWasm(wasmDirectory)\n    // @ts-expect-error TODO: this event has a wrong type.\n    eventSwcLoadFailure({\n      wasm: 'fallback',\n      nativeBindingsErrorCode: lastNativeBindingsLoadErrorCode,\n    })\n\n    // still log native load attempts so user is\n    // aware it failed and should be fixed\n    for (const attempt of attempts) {\n      Log.warn(attempt)\n    }\n    return bindings\n  } catch (a: any) {\n    attempts.push(...[].concat(a))\n  }\n}\n\nfunction loadBindingsSync() {\n  let attempts: any[] = []\n  try {\n    return loadNative()\n  } catch (a) {\n    attempts = attempts.concat(a)\n  }\n\n  // Fire-and-forget telemetry logging (loadBindingsSync must remain synchronous)\n  // Worker error handler will await telemetry.flush() before exit\n  logLoadFailure(attempts)\n\n  throw new Error('Failed to load bindings', { cause: attempts })\n}\n\nlet loggingLoadFailure = false\n\n/**\n * Logs SWC load failure telemetry and error messages.\n *\n * Note: Does NOT call process.exit() - errors must propagate to caller's error handler\n * which will await telemetry.flush() before exit (critical for worker threads with async telemetry).\n */\nasync function logLoadFailure(attempts: any, triedWasm = false) {\n  // make sure we only emit the event and log the failure once\n  if (loggingLoadFailure) return\n  loggingLoadFailure = true\n\n  for (let attempt of attempts) {\n    Log.warn(attempt)\n  }\n\n  // @ts-expect-error TODO: this event has a wrong type.\n  await eventSwcLoadFailure({\n    wasm: triedWasm ? 'failed' : undefined,\n    nativeBindingsErrorCode: lastNativeBindingsLoadErrorCode,\n  })\n  await (lockfilePatchPromise.cur || Promise.resolve())\n\n  Log.error(\n    `Failed to load SWC binary for ${PlatformName}/${ArchName}, see more info here: https://nextjs.org/docs/messages/failed-loading-swc`\n  )\n}\n\ntype RustifiedEnv = { name: string; value: string }[]\ntype RustifiedOptionEnv = { name: string; value: string | undefined }[]\n\nexport function createDefineEnv({\n  isTurbopack,\n  clientRouterFilters,\n  config,\n  dev,\n  distDir,\n  projectPath,\n  fetchCacheKeyPrefix,\n  hasRewrites,\n  middlewareMatchers,\n  rewrites,\n}: Omit<\n  DefineEnvOptions,\n  'isClient' | 'isNodeOrEdgeCompilation' | 'isEdgeServer' | 'isNodeServer'\n>): DefineEnv {\n  let defineEnv: DefineEnv = {\n    client: [],\n    edge: [],\n    nodejs: [],\n  }\n\n  for (const variant of Object.keys(defineEnv) as (keyof typeof defineEnv)[]) {\n    defineEnv[variant] = rustifyOptionEnv(\n      getDefineEnv({\n        isTurbopack,\n        clientRouterFilters,\n        config,\n        dev,\n        distDir,\n        projectPath,\n        fetchCacheKeyPrefix,\n        hasRewrites,\n        isClient: variant === 'client',\n        isEdgeServer: variant === 'edge',\n        isNodeServer: variant === 'nodejs',\n        middlewareMatchers,\n        rewrites,\n      })\n    )\n  }\n\n  return defineEnv\n}\n\nfunction rustifyEnv(env: Record<string, string>): RustifiedEnv {\n  return Object.entries(env)\n    .filter(([_, value]) => value != null)\n    .map(([name, value]) => ({\n      name,\n      value,\n    }))\n}\n\nfunction rustifyOptionEnv(\n  env: Record<string, string | undefined>\n): RustifiedOptionEnv {\n  return Object.entries(env).map(([name, value]) => ({\n    name,\n    value,\n  }))\n}\n\n// TODO(sokra) Support wasm option.\nfunction bindingToApi(\n  binding: RawBindings,\n  _wasm: boolean\n): Binding['turbo']['createProject'] {\n  type NativeFunction<T> = (\n    callback: (err: Error, value: T) => void\n  ) => Promise<{ __napiType: 'RootTask' }>\n\n  type NapiEndpoint = { __napiType: 'Endpoint' }\n\n  type NapiEntrypoints = {\n    routes: NapiRoute[]\n    middleware?: NapiMiddleware\n    instrumentation?: NapiInstrumentation\n    pagesDocumentEndpoint: NapiEndpoint\n    pagesAppEndpoint: NapiEndpoint\n    pagesErrorEndpoint: NapiEndpoint\n  }\n\n  type NapiMiddleware = {\n    endpoint: NapiEndpoint\n    isProxy: boolean\n  }\n\n  type NapiInstrumentation = {\n    nodeJs: NapiEndpoint\n    edge: NapiEndpoint\n  }\n\n  type NapiRoute = {\n    pathname: string\n  } & (\n    | {\n        type: 'page'\n        htmlEndpoint: NapiEndpoint\n        dataEndpoint: NapiEndpoint\n      }\n    | {\n        type: 'page-api'\n        endpoint: NapiEndpoint\n      }\n    | {\n        type: 'app-page'\n        pages: {\n          originalName: string\n          htmlEndpoint: NapiEndpoint\n          rscEndpoint: NapiEndpoint\n        }[]\n      }\n    | {\n        type: 'app-route'\n        originalName: string\n        endpoint: NapiEndpoint\n      }\n    | {\n        type: 'conflict'\n      }\n  )\n\n  const cancel = new (class Cancel extends Error {})()\n\n  /**\n   * Utility function to ensure all variants of an enum are handled.\n   */\n  function invariant(\n    never: never,\n    computeMessage: (arg: any) => string\n  ): never {\n    throw new Error(`Invariant: ${computeMessage(never)}`)\n  }\n\n  /**\n   * Calls a native function and streams the result.\n   * If useBuffer is true, all values will be preserved, potentially buffered\n   * if consumed slower than produced. Else, only the latest value will be\n   * preserved.\n   */\n  function subscribe<T>(\n    useBuffer: boolean,\n    nativeFunction:\n      | NativeFunction<T>\n      | ((callback: (err: Error, value: T) => void) => Promise<void>)\n  ): AsyncIterableIterator<T> {\n    type BufferItem =\n      | { err: Error; value: undefined }\n      | { err: undefined; value: T }\n    // A buffer of produced items. This will only contain values if the\n    // consumer is slower than the producer.\n    let buffer: BufferItem[] = []\n    // A deferred value waiting for the next produced item. This will only\n    // exist if the consumer is faster than the producer.\n    let waiting:\n      | {\n          resolve: (value: T) => void\n          reject: (error: Error) => void\n        }\n      | undefined\n    let canceled = false\n\n    // The native function will call this every time it emits a new result. We\n    // either need to notify a waiting consumer, or buffer the new result until\n    // the consumer catches up.\n    function emitResult(err: Error | undefined, value: T | undefined) {\n      if (waiting) {\n        let { resolve, reject } = waiting\n        waiting = undefined\n        if (err) reject(err)\n        else resolve(value!)\n      } else {\n        const item = { err, value } as BufferItem\n        if (useBuffer) buffer.push(item)\n        else buffer[0] = item\n      }\n    }\n\n    async function* createIterator() {\n      const task = await nativeFunction(emitResult)\n      try {\n        while (!canceled) {\n          if (buffer.length > 0) {\n            const item = buffer.shift()!\n            if (item.err) throw item.err\n            yield item.value\n          } else {\n            // eslint-disable-next-line no-loop-func\n            yield new Promise<T>((resolve, reject) => {\n              waiting = { resolve, reject }\n            })\n          }\n        }\n      } catch (e) {\n        if (e === cancel) return\n        throw e\n      } finally {\n        if (task) {\n          binding.rootTaskDispose(task)\n        }\n      }\n    }\n\n    const iterator = createIterator()\n    iterator.return = async () => {\n      canceled = true\n      if (waiting) waiting.reject(cancel)\n      return { value: undefined, done: true } as IteratorReturnResult<never>\n    }\n    return iterator\n  }\n\n  async function rustifyProjectOptions(\n    options: ProjectOptions\n  ): Promise<NapiProjectOptions> {\n    return {\n      ...options,\n      nextConfig: await serializeNextConfig(\n        options.nextConfig,\n        path.join(options.rootPath, options.projectPath)\n      ),\n      env: rustifyEnv(options.env),\n    }\n  }\n\n  async function rustifyPartialProjectOptions(\n    options: PartialProjectOptions\n  ): Promise<NapiPartialProjectOptions> {\n    return {\n      ...options,\n      nextConfig:\n        options.nextConfig &&\n        (await serializeNextConfig(\n          options.nextConfig,\n          path.join(options.rootPath, options.projectPath)\n        )),\n      env: options.env && rustifyEnv(options.env),\n    }\n  }\n\n  class ProjectImpl implements Project {\n    private readonly _nativeProject: { __napiType: 'Project' }\n\n    constructor(nativeProject: { __napiType: 'Project' }) {\n      this._nativeProject = nativeProject\n    }\n\n    async update(options: PartialProjectOptions) {\n      await binding.projectUpdate(\n        this._nativeProject,\n        await rustifyPartialProjectOptions(options)\n      )\n    }\n\n    async writeAnalyzeData(\n      appDirOnly: boolean\n    ): Promise<TurbopackResult<void>> {\n      const napiResult = (await binding.projectWriteAnalyzeData(\n        this._nativeProject,\n        appDirOnly\n      )) as TurbopackResult<void>\n      return napiResult\n    }\n\n    async writeAllEntrypointsToDisk(\n      appDirOnly: boolean\n    ): Promise<TurbopackResult<Partial<RawEntrypoints>>> {\n      const napiEndpoints = (await binding.projectWriteAllEntrypointsToDisk(\n        this._nativeProject,\n        appDirOnly\n      )) as TurbopackResult<Partial<NapiEntrypoints>>\n\n      if ('routes' in napiEndpoints) {\n        return napiEntrypointsToRawEntrypoints(\n          napiEndpoints as TurbopackResult<NapiEntrypoints>\n        )\n      } else {\n        return {\n          issues: napiEndpoints.issues,\n          diagnostics: napiEndpoints.diagnostics,\n        }\n      }\n    }\n\n    entrypointsSubscribe() {\n      const subscription = subscribe<TurbopackResult<NapiEntrypoints | {}>>(\n        false,\n        async (callback) =>\n          binding.projectEntrypointsSubscribe(this._nativeProject, callback)\n      )\n      return (async function* () {\n        for await (const entrypoints of subscription) {\n          if ('routes' in (entrypoints as TurbopackResult<NapiEntrypoints>)) {\n            yield napiEntrypointsToRawEntrypoints(\n              entrypoints as TurbopackResult<NapiEntrypoints>\n            )\n          } else {\n            yield {\n              issues: entrypoints.issues,\n              diagnostics: entrypoints.diagnostics,\n            } as TurbopackResult<{}>\n          }\n        }\n      })()\n    }\n\n    hmrEvents(identifier: string) {\n      return subscribe<TurbopackResult<Update>>(true, async (callback) =>\n        binding.projectHmrEvents(this._nativeProject, identifier, callback)\n      )\n    }\n\n    hmrIdentifiersSubscribe() {\n      return subscribe<TurbopackResult<HmrIdentifiers>>(\n        false,\n        async (callback) =>\n          binding.projectHmrIdentifiersSubscribe(this._nativeProject, callback)\n      )\n    }\n\n    traceSource(\n      stackFrame: TurbopackStackFrame,\n      currentDirectoryFileUrl: string\n    ): Promise<TurbopackStackFrame | null> {\n      return binding.projectTraceSource(\n        this._nativeProject,\n        stackFrame,\n        currentDirectoryFileUrl\n      )\n    }\n\n    getSourceForAsset(filePath: string): Promise<string | null> {\n      return binding.projectGetSourceForAsset(this._nativeProject, filePath)\n    }\n\n    getSourceMap(filePath: string): Promise<string | null> {\n      return binding.projectGetSourceMap(this._nativeProject, filePath)\n    }\n\n    getSourceMapSync(filePath: string): string | null {\n      return binding.projectGetSourceMapSync(this._nativeProject, filePath)\n    }\n\n    updateInfoSubscribe(aggregationMs: number) {\n      return subscribe<TurbopackResult<UpdateMessage>>(true, async (callback) =>\n        binding.projectUpdateInfoSubscribe(\n          this._nativeProject,\n          aggregationMs,\n          callback\n        )\n      )\n    }\n\n    compilationEventsSubscribe(eventTypes?: string[]) {\n      return subscribe<TurbopackResult<CompilationEvent>>(\n        true,\n        async (callback) => {\n          binding.projectCompilationEventsSubscribe(\n            this._nativeProject,\n            callback,\n            eventTypes\n          )\n        }\n      )\n    }\n\n    invalidateFileSystemCache(): Promise<void> {\n      return binding.projectInvalidateFileSystemCache(this._nativeProject)\n    }\n\n    shutdown(): Promise<void> {\n      return binding.projectShutdown(this._nativeProject)\n    }\n\n    onExit(): Promise<void> {\n      return binding.projectOnExit(this._nativeProject)\n    }\n  }\n\n  class EndpointImpl implements Endpoint {\n    private readonly _nativeEndpoint: { __napiType: 'Endpoint' }\n\n    constructor(nativeEndpoint: { __napiType: 'Endpoint' }) {\n      this._nativeEndpoint = nativeEndpoint\n    }\n\n    async writeToDisk(): Promise<TurbopackResult<WrittenEndpoint>> {\n      return (await binding.endpointWriteToDisk(\n        this._nativeEndpoint\n      )) as TurbopackResult<WrittenEndpoint>\n    }\n\n    async clientChanged(): Promise<AsyncIterableIterator<TurbopackResult>> {\n      const clientSubscription = subscribe<TurbopackResult>(\n        false,\n        async (callback) =>\n          binding.endpointClientChangedSubscribe(this._nativeEndpoint, callback)\n      )\n      await clientSubscription.next()\n      return clientSubscription\n    }\n\n    async serverChanged(\n      includeIssues: boolean\n    ): Promise<AsyncIterableIterator<TurbopackResult>> {\n      const serverSubscription = subscribe<TurbopackResult>(\n        false,\n        async (callback) =>\n          binding.endpointServerChangedSubscribe(\n            this._nativeEndpoint,\n            includeIssues,\n            callback\n          )\n      )\n      await serverSubscription.next()\n      return serverSubscription\n    }\n  }\n\n  async function serializeNextConfig(\n    nextConfig: NextConfigComplete,\n    projectPath: string\n  ): Promise<string> {\n    // Avoid mutating the existing `nextConfig` object. NOTE: This is only a shallow clone.\n    let nextConfigSerializable: Record<string, any> = { ...nextConfig }\n\n    nextConfigSerializable.generateBuildId =\n      await nextConfigSerializable.generateBuildId?.()\n\n    // TODO: these functions takes arguments, have to be supported in a different way\n    nextConfigSerializable.exportPathMap = {}\n    nextConfigSerializable.webpack = nextConfigSerializable.webpack && {}\n\n    if (nextConfigSerializable.modularizeImports) {\n      nextConfigSerializable.modularizeImports = Object.fromEntries(\n        Object.entries<any>(nextConfigSerializable.modularizeImports).map(\n          ([mod, config]) => [\n            mod,\n            {\n              ...config,\n              transform:\n                typeof config.transform === 'string'\n                  ? config.transform\n                  : Object.entries(config.transform),\n            },\n          ]\n        )\n      )\n    }\n\n    // loaderFile is an absolute path, we need it to be relative for turbopack.\n    if (nextConfigSerializable.images.loaderFile) {\n      nextConfigSerializable.images = {\n        ...nextConfigSerializable.images,\n        loaderFile:\n          './' +\n          path.relative(projectPath, nextConfigSerializable.images.loaderFile),\n      }\n    }\n\n    // cacheHandler can be an absolute path, we need it to be relative for turbopack.\n    if (nextConfigSerializable.cacheHandler) {\n      nextConfigSerializable.cacheHandler =\n        './' +\n        (path.isAbsolute(nextConfigSerializable.cacheHandler)\n          ? path.relative(projectPath, nextConfigSerializable.cacheHandler)\n          : nextConfigSerializable.cacheHandler)\n    }\n    if (nextConfigSerializable.cacheHandlers) {\n      nextConfigSerializable.cacheHandlers = Object.fromEntries(\n        Object.entries(\n          nextConfigSerializable.cacheHandlers as Record<string, string>\n        )\n          .filter(([_, value]) => value != null)\n          .map(([key, value]) => [\n            key,\n            './' +\n              (path.isAbsolute(value)\n                ? path.relative(projectPath, value)\n                : value),\n          ])\n      )\n    }\n\n    if (nextConfigSerializable.turbopack != null) {\n      // clone to allow in-place mutations\n      const turbopack = { ...nextConfigSerializable.turbopack }\n\n      if (turbopack.rules) {\n        turbopack.rules = serializeTurbopackRules(turbopack.rules)\n      }\n\n      nextConfigSerializable.turbopack = turbopack\n    }\n\n    return JSON.stringify(nextConfigSerializable, null, 2)\n  }\n\n  type SerializedRuleCondition =\n    | { all: SerializedRuleCondition[] }\n    | { any: SerializedRuleCondition[] }\n    | { not: SerializedRuleCondition }\n    | TurbopackLoaderBuiltinCondition\n    | {\n        path?:\n          | { type: 'regex'; value: { source: string; flags: string } }\n          | { type: 'glob'; value: string }\n        content?: { source: string; flags: string }\n      }\n\n  // converts regexes to a `RegexComponents` object so that it can be JSON-serialized when passed to\n  // Turbopack\n  function serializeRuleCondition(\n    cond: TurbopackRuleCondition\n  ): SerializedRuleCondition {\n    function regexComponents(regex: RegExp) {\n      return {\n        source: regex.source,\n        flags: regex.flags,\n      }\n    }\n\n    if (typeof cond === 'string') {\n      return cond\n    } else if ('all' in cond) {\n      return { ...cond, all: cond.all.map(serializeRuleCondition) }\n    } else if ('any' in cond) {\n      return { ...cond, any: cond.any.map(serializeRuleCondition) }\n    } else if ('not' in cond) {\n      return { ...cond, not: serializeRuleCondition(cond.not) }\n    } else {\n      return {\n        ...cond,\n        path:\n          cond.path == null\n            ? undefined\n            : cond.path instanceof RegExp\n              ? {\n                  type: 'regex',\n                  value: regexComponents(cond.path),\n                }\n              : { type: 'glob', value: cond.path },\n        content: cond.content && regexComponents(cond.content),\n      }\n    }\n  }\n\n  // Note: Returns an updated `turbopackRules` with serialized conditions. Does not mutate in-place.\n  function serializeTurbopackRules(\n    turbopackRules: Record<string, TurbopackRuleConfigCollection>\n  ): Record<string, any> {\n    const serializedRules: Record<string, any> = {}\n    for (const [glob, rule] of Object.entries(turbopackRules)) {\n      if (Array.isArray(rule)) {\n        serializedRules[glob] = rule.map((item) => {\n          if (typeof item !== 'string' && 'loaders' in item) {\n            return serializeConfigItem(item, glob)\n          } else {\n            checkLoaderItem(item, glob)\n            return item\n          }\n        })\n      } else {\n        serializedRules[glob] = serializeConfigItem(rule, glob)\n      }\n    }\n\n    return serializedRules\n\n    function serializeConfigItem(\n      rule: TurbopackRuleConfigItem,\n      glob: string\n    ): any {\n      if (!rule) return rule\n      for (const item of rule.loaders) {\n        checkLoaderItem(item, glob)\n      }\n      let serializedRule: any = rule\n      if (rule.condition != null) {\n        serializedRule = {\n          ...rule,\n          condition: serializeRuleCondition(rule.condition),\n        }\n      }\n      return serializedRule\n    }\n\n    function checkLoaderItem(loaderItem: TurbopackLoaderItem, glob: string) {\n      if (\n        typeof loaderItem !== 'string' &&\n        !isDeepStrictEqual(loaderItem, JSON.parse(JSON.stringify(loaderItem)))\n      ) {\n        throw new Error(\n          `loader ${loaderItem.loader} for match \"${glob}\" does not have serializable options. ` +\n            'Ensure that options passed are plain JavaScript objects and values.'\n        )\n      }\n    }\n  }\n\n  function napiEntrypointsToRawEntrypoints(\n    entrypoints: TurbopackResult<NapiEntrypoints>\n  ): TurbopackResult<RawEntrypoints> {\n    const routes = new Map()\n    for (const { pathname, ...nativeRoute } of entrypoints.routes) {\n      let route: Route\n      const routeType = nativeRoute.type\n      switch (routeType) {\n        case 'page':\n          route = {\n            type: 'page',\n            htmlEndpoint: new EndpointImpl(nativeRoute.htmlEndpoint),\n            dataEndpoint: new EndpointImpl(nativeRoute.dataEndpoint),\n          }\n          break\n        case 'page-api':\n          route = {\n            type: 'page-api',\n            endpoint: new EndpointImpl(nativeRoute.endpoint),\n          }\n          break\n        case 'app-page':\n          route = {\n            type: 'app-page',\n            pages: nativeRoute.pages.map((page) => ({\n              originalName: page.originalName,\n              htmlEndpoint: new EndpointImpl(page.htmlEndpoint),\n              rscEndpoint: new EndpointImpl(page.rscEndpoint),\n            })),\n          }\n          break\n        case 'app-route':\n          route = {\n            type: 'app-route',\n            originalName: nativeRoute.originalName,\n            endpoint: new EndpointImpl(nativeRoute.endpoint),\n          }\n          break\n        case 'conflict':\n          route = {\n            type: 'conflict',\n          }\n          break\n        default: {\n          const _exhaustiveCheck: never = routeType\n          invariant(\n            nativeRoute,\n            () => `Unknown route type: ${_exhaustiveCheck}`\n          )\n        }\n      }\n      routes.set(pathname, route)\n    }\n    const napiMiddlewareToMiddleware = (middleware: NapiMiddleware) => ({\n      endpoint: new EndpointImpl(middleware.endpoint),\n      isProxy: middleware.isProxy,\n    })\n    const middleware = entrypoints.middleware\n      ? napiMiddlewareToMiddleware(entrypoints.middleware)\n      : undefined\n    const napiInstrumentationToInstrumentation = (\n      instrumentation: NapiInstrumentation\n    ) => ({\n      nodeJs: new EndpointImpl(instrumentation.nodeJs),\n      edge: new EndpointImpl(instrumentation.edge),\n    })\n    const instrumentation = entrypoints.instrumentation\n      ? napiInstrumentationToInstrumentation(entrypoints.instrumentation)\n      : undefined\n\n    return {\n      routes,\n      middleware,\n      instrumentation,\n      pagesDocumentEndpoint: new EndpointImpl(\n        entrypoints.pagesDocumentEndpoint\n      ),\n      pagesAppEndpoint: new EndpointImpl(entrypoints.pagesAppEndpoint),\n      pagesErrorEndpoint: new EndpointImpl(entrypoints.pagesErrorEndpoint),\n      issues: entrypoints.issues,\n      diagnostics: entrypoints.diagnostics,\n    }\n  }\n\n  return async function createProject(\n    options: ProjectOptions,\n    turboEngineOptions\n  ) {\n    return new ProjectImpl(\n      await binding.projectNew(\n        await rustifyProjectOptions(options),\n        turboEngineOptions || {},\n        {\n          throwTurbopackInternalError,\n        }\n      )\n    )\n  }\n}\n\n// helper for loadWasm\nasync function loadWasmRawBindings(importPath = ''): Promise<RawWasmBindings> {\n  let attempts = []\n\n  // Used by `run-tests` to force use of a locally-built wasm binary. This environment variable is\n  // unstable and subject to change.\n  const testWasmDir = process.env.NEXT_TEST_WASM_DIR\n\n  if (testWasmDir) {\n    // assume these are node.js bindings and don't need a call to `.default()`\n    const rawBindings = await import(\n      pathToFileURL(path.join(testWasmDir, 'wasm.js')).toString()\n    )\n    infoLog(`next-swc build: wasm build ${testWasmDir}`)\n    return rawBindings\n  } else {\n    for (let pkg of ['@next/swc-wasm-nodejs', '@next/swc-wasm-web']) {\n      try {\n        let pkgPath = pkg\n\n        if (importPath) {\n          // the import path must be exact when not in node_modules\n          pkgPath = path.join(importPath, pkg, 'wasm.js')\n        }\n        const importedRawBindings = await import(\n          pathToFileURL(pkgPath).toString()\n        )\n        let rawBindings\n        if (pkg === '@next/swc-wasm-web') {\n          // https://rustwasm.github.io/docs/wasm-bindgen/examples/without-a-bundler.html\n          // `default` must be called to initialize the module\n          rawBindings = await importedRawBindings.default!()\n        } else {\n          rawBindings = importedRawBindings\n        }\n        infoLog(`next-swc build: wasm build ${pkg}`)\n        return rawBindings\n      } catch (e: any) {\n        // Only log attempts for loading wasm when loading as fallback\n        if (importPath) {\n          if (e?.code === 'ERR_MODULE_NOT_FOUND') {\n            attempts.push(`Attempted to load ${pkg}, but it was not installed`)\n          } else {\n            attempts.push(\n              `Attempted to load ${pkg}, but an error occurred: ${e.message ?? e}`\n            )\n          }\n        }\n      }\n    }\n  }\n\n  throw attempts\n}\n\n// helper for tryLoadWasmWithFallback / loadBindings.\nasync function loadWasm(importPath = '') {\n  const rawBindings = await loadWasmRawBindings(importPath)\n\n  function removeUndefined(obj: any): any {\n    // serde-wasm-bindgen expect that `undefined` values map to `()` in rust, but we want to treat\n    // those fields as non-existent, so remove them before passing them to rust.\n    //\n    // The native (non-wasm) bindings use `JSON.stringify`, which strips undefined values.\n    if (typeof obj !== 'object' || obj === null) {\n      return obj\n    }\n    if (Array.isArray(obj)) {\n      return obj.map(removeUndefined)\n    }\n    const newObj: { [key: string]: any } = {}\n    for (const [k, v] of Object.entries(obj)) {\n      if (typeof v !== 'undefined') {\n        newObj[k] = removeUndefined(v)\n      }\n    }\n    return newObj\n  }\n\n  // Note wasm binary does not support async intefaces yet, all async\n  // interface coereces to sync interfaces.\n  let wasmBindings = {\n    css: {\n      lightning: {\n        transform: function (_options: any) {\n          throw new Error(\n            '`css.lightning.transform` is not supported by the wasm bindings.'\n          )\n        },\n        transformStyleAttr: function (_options: any) {\n          throw new Error(\n            '`css.lightning.transformStyleAttr` is not supported by the wasm bindings.'\n          )\n        },\n      },\n    },\n    isWasm: true,\n    transform(src: string, options: any): Promise<any> {\n      return rawBindings.transform(src.toString(), removeUndefined(options))\n    },\n    transformSync(src: string, options: any) {\n      return rawBindings.transformSync(src.toString(), removeUndefined(options))\n    },\n    minify(src: string, options: any): Promise<any> {\n      return rawBindings.minify(src.toString(), removeUndefined(options))\n    },\n    minifySync(src: string, options: any) {\n      return rawBindings.minifySync(src.toString(), removeUndefined(options))\n    },\n    parse(src: string, options: any): Promise<any> {\n      return rawBindings.parse(src.toString(), removeUndefined(options))\n    },\n    getTargetTriple() {\n      return undefined\n    },\n    turbo: {\n      createProject(\n        _options: ProjectOptions,\n        _turboEngineOptions?: TurboEngineOptions | undefined\n      ): Promise<Project> {\n        throw new Error(\n          '`turbo.createProject` is not supported by the wasm bindings.'\n        )\n      },\n      startTurbopackTraceServer(\n        _traceFilePath: string,\n        _port: number | undefined\n      ): void {\n        throw new Error(\n          '`turbo.startTurbopackTraceServer` is not supported by the wasm bindings.'\n        )\n      },\n    },\n    mdx: {\n      compile(src: string, options: any) {\n        return rawBindings.mdxCompile(\n          src,\n          removeUndefined(getMdxOptions(options))\n        )\n      },\n      compileSync(src: string, options: any) {\n        return rawBindings.mdxCompileSync(\n          src,\n          removeUndefined(getMdxOptions(options))\n        )\n      },\n    },\n    reactCompiler: {\n      isReactCompilerRequired(_filename: string) {\n        return Promise.resolve(true)\n      },\n    },\n    rspack: {\n      getModuleNamedExports(_resourcePath: string): Promise<string[]> {\n        throw new Error(\n          '`rspack.getModuleNamedExports` is not supported by the wasm bindings.'\n        )\n      },\n      warnForEdgeRuntime(\n        _source: string,\n        _isProduction: boolean\n      ): Promise<NapiSourceDiagnostic[]> {\n        throw new Error(\n          '`rspack.warnForEdgeRuntime` is not supported by the wasm bindings.'\n        )\n      },\n    },\n    expandNextJsTemplate(\n      content: Buffer,\n      templatePath: string,\n      nextPackageDirPath: string,\n      replacements: Record<`VAR_${string}`, string>,\n      injections: Record<string, string>,\n      imports: Record<string, string | null>\n    ): string {\n      return rawBindings.expandNextJsTemplate(\n        content,\n        templatePath,\n        nextPackageDirPath,\n        replacements,\n        injections,\n        imports\n      )\n    },\n    lockfileTryAcquire(_filePath: string) {\n      throw new Error(\n        '`lockfileTryAcquire` is not supported by the wasm bindings.'\n      )\n    },\n    lockfileTryAcquireSync(_filePath: string) {\n      throw new Error(\n        '`lockfileTryAcquireSync` is not supported by the wasm bindings.'\n      )\n    },\n    lockfileUnlock(_lockfile: Lockfile) {\n      throw new Error('`lockfileUnlock` is not supported by the wasm bindings.')\n    },\n    lockfileUnlockSync(_lockfile: Lockfile) {\n      throw new Error(\n        '`lockfileUnlockSync` is not supported by the wasm bindings.'\n      )\n    },\n  }\n  return wasmBindings\n}\n\n/**\n * Loads the native (non-wasm) bindings. Prefer `loadBindings` over this API, as that includes a\n * wasm fallback.\n */\nfunction loadNative(importPath?: string) {\n  if (loadedBindings) {\n    return loadedBindings\n  }\n\n  if (process.env.NEXT_TEST_WASM) {\n    throw new Error('cannot run loadNative when `NEXT_TEST_WASM` is set')\n  }\n\n  const customBindings: RawBindings = !!__INTERNAL_CUSTOM_TURBOPACK_BINDINGS\n    ? require(__INTERNAL_CUSTOM_TURBOPACK_BINDINGS)\n    : null\n  let bindings: RawBindings = customBindings\n  let attempts: any[] = []\n\n  const NEXT_TEST_NATIVE_DIR = process.env.NEXT_TEST_NATIVE_DIR\n  for (const triple of triples) {\n    if (NEXT_TEST_NATIVE_DIR) {\n      try {\n        // Use the binary directly to skip `pnpm pack` for testing as it's slow because of the large native binary.\n        bindings = require(\n          `${NEXT_TEST_NATIVE_DIR}/next-swc.${triple.platformArchABI}.node`\n        )\n        infoLog(\n          'next-swc build: local built @next/swc from NEXT_TEST_NATIVE_DIR'\n        )\n        break\n      } catch (e) {}\n    } else {\n      try {\n        bindings = require(\n          `@next/swc/native/next-swc.${triple.platformArchABI}.node`\n        )\n        infoLog('next-swc build: local built @next/swc')\n        break\n      } catch (e) {}\n    }\n  }\n\n  if (!bindings) {\n    for (const triple of triples) {\n      let pkg = importPath\n        ? path.join(\n            importPath,\n            `@next/swc-${triple.platformArchABI}`,\n            `next-swc.${triple.platformArchABI}.node`\n          )\n        : `@next/swc-${triple.platformArchABI}`\n      try {\n        bindings = require(pkg)\n        if (!importPath) {\n          checkVersionMismatch(require(`${pkg}/package.json`))\n        }\n        break\n      } catch (e: any) {\n        if (e?.code === 'MODULE_NOT_FOUND') {\n          attempts.push(`Attempted to load ${pkg}, but it was not installed`)\n        } else {\n          attempts.push(\n            `Attempted to load ${pkg}, but an error occurred: ${e.message ?? e}`\n          )\n        }\n        lastNativeBindingsLoadErrorCode = e?.code ?? 'unknown'\n      }\n    }\n  }\n\n  if (bindings) {\n    loadedBindings = {\n      isWasm: false,\n      transform(src: string, options: any) {\n        const isModule =\n          typeof src !== 'undefined' &&\n          typeof src !== 'string' &&\n          !Buffer.isBuffer(src)\n        options = options || {}\n\n        if (options?.jsc?.parser) {\n          options.jsc.parser.syntax = options.jsc.parser.syntax ?? 'ecmascript'\n        }\n\n        return bindings.transform(\n          isModule ? JSON.stringify(src) : src,\n          isModule,\n          toBuffer(options)\n        )\n      },\n\n      transformSync(src: string, options: any) {\n        if (typeof src === 'undefined') {\n          throw new Error(\n            \"transformSync doesn't implement reading the file from filesystem\"\n          )\n        } else if (Buffer.isBuffer(src)) {\n          throw new Error(\n            \"transformSync doesn't implement taking the source code as Buffer\"\n          )\n        }\n        const isModule = typeof src !== 'string'\n        options = options || {}\n\n        if (options?.jsc?.parser) {\n          options.jsc.parser.syntax = options.jsc.parser.syntax ?? 'ecmascript'\n        }\n\n        return bindings.transformSync(\n          isModule ? JSON.stringify(src) : src,\n          isModule,\n          toBuffer(options)\n        )\n      },\n\n      minify(src: string, options: any) {\n        return bindings.minify(Buffer.from(src), toBuffer(options ?? {}))\n      },\n\n      minifySync(src: string, options: any) {\n        return bindings.minifySync(Buffer.from(src), toBuffer(options ?? {}))\n      },\n\n      parse(src: string, options: any) {\n        return bindings.parse(src, toBuffer(options ?? {}))\n      },\n\n      getTargetTriple: bindings.getTargetTriple,\n      initCustomTraceSubscriber: bindings.initCustomTraceSubscriber,\n      teardownTraceSubscriber: bindings.teardownTraceSubscriber,\n      turbo: {\n        createProject: bindingToApi(customBindings ?? bindings, false),\n        startTurbopackTraceServer(traceFilePath, port) {\n          Log.warn(\n            `Turbopack trace server started. View trace at https://trace.nextjs.org${port != null ? `?port=${port}` : ''}`\n          )\n          ;(customBindings ?? bindings).startTurbopackTraceServer(\n            traceFilePath,\n            port\n          )\n        },\n      },\n      mdx: {\n        compile(src: string, options: any) {\n          return bindings.mdxCompile(src, toBuffer(getMdxOptions(options)))\n        },\n        compileSync(src: string, options: any) {\n          bindings.mdxCompileSync(src, toBuffer(getMdxOptions(options)))\n        },\n      },\n      css: {\n        lightning: {\n          transform(transformOptions: any) {\n            return bindings.lightningCssTransform(transformOptions)\n          },\n          transformStyleAttr(transformAttrOptions: any) {\n            return bindings.lightningCssTransformStyleAttribute(\n              transformAttrOptions\n            )\n          },\n        },\n      },\n      reactCompiler: {\n        isReactCompilerRequired: (filename: string) => {\n          return bindings.isReactCompilerRequired(filename)\n        },\n      },\n      rspack: {\n        getModuleNamedExports: function (\n          resourcePath: string\n        ): Promise<string[]> {\n          return bindings.getModuleNamedExports(resourcePath)\n        },\n        warnForEdgeRuntime: function (\n          source: string,\n          isProduction: boolean\n        ): Promise<NapiSourceDiagnostic[]> {\n          return bindings.warnForEdgeRuntime(source, isProduction)\n        },\n      },\n      expandNextJsTemplate(\n        content: Buffer,\n        templatePath: string,\n        nextPackageDirPath: string,\n        replacements: Record<`VAR_${string}`, string>,\n        injections: Record<string, string>,\n        imports: Record<string, string | null>\n      ): string {\n        return bindings.expandNextJsTemplate(\n          content,\n          templatePath,\n          nextPackageDirPath,\n          replacements,\n          injections,\n          imports\n        )\n      },\n      lockfileTryAcquire(filePath: string) {\n        return bindings.lockfileTryAcquire(filePath)\n      },\n      lockfileTryAcquireSync(filePath: string) {\n        return bindings.lockfileTryAcquireSync(filePath)\n      },\n      lockfileUnlock(lockfile: Lockfile) {\n        return bindings.lockfileUnlock(lockfile)\n      },\n      lockfileUnlockSync(lockfile: Lockfile) {\n        return bindings.lockfileUnlockSync(lockfile)\n      },\n    }\n    return loadedBindings\n  }\n\n  throw attempts\n}\n\n/// Build a mdx options object contains default values that\n/// can be parsed with serde_wasm_bindgen.\nfunction getMdxOptions(options: any = {}) {\n  return {\n    ...options,\n    development: options.development ?? false,\n    jsx: options.jsx ?? false,\n    mdxType: options.mdxType ?? 'commonMark',\n  }\n}\n\nfunction toBuffer(t: any) {\n  return Buffer.from(JSON.stringify(t))\n}\n\nexport async function transform(src: string, options?: any): Promise<any> {\n  let bindings = getBindingsSync()\n  return bindings.transform(src, options)\n}\n\n/** Synchronously transforms the source and loads the native bindings. */\nexport function transformSync(src: string, options?: any): any {\n  const bindings = loadBindingsSync()\n  return bindings.transformSync(src, options)\n}\n\nexport function minify(\n  src: string,\n  options: any\n): Promise<{ code: string; map: any }> {\n  const bindings = getBindingsSync()\n  return bindings.minify(src, options)\n}\n\nexport function isReactCompilerRequired(filename: string): Promise<boolean> {\n  const bindings = getBindingsSync()\n  return bindings.reactCompiler.isReactCompilerRequired(filename)\n}\n\nexport async function parse(src: string, options: any): Promise<any> {\n  const bindings = getBindingsSync()\n  const parserOptions = getParserOptions(options)\n  const parsed = await bindings.parse(src, parserOptions)\n  return JSON.parse(parsed)\n}\n\nexport function getBinaryMetadata() {\n  return {\n    target: loadedBindings?.getTargetTriple?.(),\n  }\n}\n\n/**\n * Initialize trace subscriber to emit traces.\n *\n */\nexport function initCustomTraceSubscriber(traceFileName?: string) {\n  if (!swcTraceFlushGuard) {\n    // Wasm binary doesn't support trace emission\n    swcTraceFlushGuard =\n      getBindingsSync().initCustomTraceSubscriber?.(traceFileName)\n  }\n}\n\nfunction once(fn: () => void): () => void {\n  let executed = false\n\n  return function (): void {\n    if (!executed) {\n      executed = true\n\n      fn()\n    }\n  }\n}\n\n/**\n * Teardown swc's trace subscriber if there's an initialized flush guard exists.\n *\n * This is workaround to amend behavior with process.exit\n * (https://github.com/vercel/next.js/blob/4db8c49cc31e4fc182391fae6903fb5ef4e8c66e/packages/next/bin/next.ts#L134=)\n * seems preventing napi's cleanup hook execution (https://github.com/swc-project/swc/blob/main/crates/node/src/util.rs#L48-L51=),\n *\n * instead parent process manually drops guard when process gets signal to exit.\n */\nexport const teardownTraceSubscriber = once(() => {\n  try {\n    if (swcTraceFlushGuard) {\n      getBindingsSync().teardownTraceSubscriber?.(swcTraceFlushGuard)\n    }\n  } catch (e) {\n    // Suppress exceptions, this fn allows to fail to load native bindings\n  }\n})\n\nexport async function getModuleNamedExports(\n  resourcePath: string\n): Promise<string[]> {\n  return getBindingsSync().rspack.getModuleNamedExports(resourcePath)\n}\n\nexport async function warnForEdgeRuntime(\n  source: string,\n  isProduction: boolean\n): Promise<NapiSourceDiagnostic[]> {\n  return getBindingsSync().rspack.warnForEdgeRuntime(source, isProduction)\n}\n"],"names":["createDefineEnv","getBinaryMetadata","getBindingsSync","getModuleNamedExports","getSupportedArchTriples","initCustomTraceSubscriber","isReactCompilerRequired","loadBindings","lockfilePatchPromise","minify","parse","teardownTraceSubscriber","transform","transformSync","warnForEdgeRuntime","nextVersion","process","env","__NEXT_VERSION","ArchName","arch","PlatformName","platform","infoLog","args","NEXT_PRIVATE_BUILD_WORKER","DEBUG","Log","info","darwin","win32","linux","freebsd","android","platformArchTriples","arm64","ia32","filter","triple","abi","x64","arm","triples","supportedArchTriples","targetTriple","rawTargetTriple","warn","__INTERNAL_CUSTOM_TURBOPACK_BINDINGS","checkVersionMismatch","pkgData","version","knownDefaultWasmFallbackTriples","lastNativeBindingsLoadErrorCode","undefined","pendingBindings","loadedBindings","downloadWasmPromise","swcTraceFlushGuard","downloadNativeBindingsPromise","Error","useWasmBinary","RUST_MIN_STACK","NEXT_TEST_WASM","stdout","_handle","setBlocking","stderr","Promise","resolve","reject","cur","patchIncorrectLockfile","cwd","catch","console","error","attempts","disableWasmFallback","NEXT_DISABLE_SWC_WASM","unsupportedPlatform","some","raw","includes","isWebContainer","versions","webcontainer","shouldLoadWasmFallbackFirst","fallbackBindings","tryLoadWasmWithFallback","loadNative","a","Array","isArray","every","m","tryLoadNativeWithFallback","concat","logLoadFailure","nativeBindingsDirectory","path","join","dirname","require","downloadNativeNextSwc","map","platformArchABI","push","bindings","loadWasm","eventSwcLoadFailure","wasm","nativeBindingsErrorCode","wasmDirectory","downloadWasmSwc","attempt","loadBindingsSync","cause","loggingLoadFailure","triedWasm","isTurbopack","clientRouterFilters","config","dev","distDir","projectPath","fetchCacheKeyPrefix","hasRewrites","middlewareMatchers","rewrites","defineEnv","client","edge","nodejs","variant","Object","keys","rustifyOptionEnv","getDefineEnv","isClient","isEdgeServer","isNodeServer","rustifyEnv","entries","_","value","name","bindingToApi","binding","_wasm","cancel","Cancel","invariant","never","computeMessage","subscribe","useBuffer","nativeFunction","buffer","waiting","canceled","emitResult","err","item","createIterator","task","length","shift","e","rootTaskDispose","iterator","return","done","rustifyProjectOptions","options","nextConfig","serializeNextConfig","rootPath","rustifyPartialProjectOptions","ProjectImpl","constructor","nativeProject","_nativeProject","update","projectUpdate","writeAnalyzeData","appDirOnly","napiResult","projectWriteAnalyzeData","writeAllEntrypointsToDisk","napiEndpoints","projectWriteAllEntrypointsToDisk","napiEntrypointsToRawEntrypoints","issues","diagnostics","entrypointsSubscribe","subscription","callback","projectEntrypointsSubscribe","entrypoints","hmrEvents","identifier","projectHmrEvents","hmrIdentifiersSubscribe","projectHmrIdentifiersSubscribe","traceSource","stackFrame","currentDirectoryFileUrl","projectTraceSource","getSourceForAsset","filePath","projectGetSourceForAsset","getSourceMap","projectGetSourceMap","getSourceMapSync","projectGetSourceMapSync","updateInfoSubscribe","aggregationMs","projectUpdateInfoSubscribe","compilationEventsSubscribe","eventTypes","projectCompilationEventsSubscribe","invalidateFileSystemCache","projectInvalidateFileSystemCache","shutdown","projectShutdown","onExit","projectOnExit","EndpointImpl","nativeEndpoint","_nativeEndpoint","writeToDisk","endpointWriteToDisk","clientChanged","clientSubscription","endpointClientChangedSubscribe","next","serverChanged","includeIssues","serverSubscription","endpointServerChangedSubscribe","nextConfigSerializable","generateBuildId","exportPathMap","webpack","modularizeImports","fromEntries","mod","images","loaderFile","relative","cacheHandler","isAbsolute","cacheHandlers","key","turbopack","rules","serializeTurbopackRules","JSON","stringify","serializeRuleCondition","cond","regexComponents","regex","source","flags","all","any","not","RegExp","type","content","turbopackRules","serializedRules","glob","rule","serializeConfigItem","checkLoaderItem","loaders","serializedRule","condition","loaderItem","isDeepStrictEqual","loader","routes","Map","pathname","nativeRoute","route","routeType","htmlEndpoint","dataEndpoint","endpoint","pages","page","originalName","rscEndpoint","_exhaustiveCheck","set","napiMiddlewareToMiddleware","middleware","isProxy","napiInstrumentationToInstrumentation","instrumentation","nodeJs","pagesDocumentEndpoint","pagesAppEndpoint","pagesErrorEndpoint","createProject","turboEngineOptions","projectNew","throwTurbopackInternalError","loadWasmRawBindings","importPath","testWasmDir","NEXT_TEST_WASM_DIR","rawBindings","pathToFileURL","toString","pkg","pkgPath","importedRawBindings","default","code","message","removeUndefined","obj","newObj","k","v","wasmBindings","css","lightning","_options","transformStyleAttr","isWasm","src","minifySync","getTargetTriple","turbo","_turboEngineOptions","startTurbopackTraceServer","_traceFilePath","_port","mdx","compile","mdxCompile","getMdxOptions","compileSync","mdxCompileSync","reactCompiler","_filename","rspack","_resourcePath","_source","_isProduction","expandNextJsTemplate","templatePath","nextPackageDirPath","replacements","injections","imports","lockfileTryAcquire","_filePath","lockfileTryAcquireSync","lockfileUnlock","_lockfile","lockfileUnlockSync","customBindings","NEXT_TEST_NATIVE_DIR","isModule","Buffer","isBuffer","jsc","parser","syntax","toBuffer","from","traceFilePath","port","transformOptions","lightningCssTransform","transformAttrOptions","lightningCssTransformStyleAttribute","filename","resourcePath","isProduction","lockfile","development","jsx","mdxType","t","parserOptions","getParserOptions","parsed","target","traceFileName","once","fn","executed"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4agBA,eAAe;eAAfA;;IAipCAC,iBAAiB;eAAjBA;;IA/4CAC,eAAe;eAAfA;;IAg8CMC,qBAAqB;eAArBA;;IA3iDNC,uBAAuB;eAAvBA;;IAogDAC,yBAAyB;eAAzBA;;IAtBAC,uBAAuB;eAAvBA;;IA72CMC,YAAY;eAAZA;;IAzBTC,oBAAoB;eAApBA;;IA83CGC,MAAM;eAANA;;IAaMC,KAAK;eAALA;;IA8CTC,uBAAuB;eAAvBA;;IAtESC,SAAS;eAATA;;IAMNC,aAAa;eAAbA;;IAgFMC,kBAAkB;eAAlBA;;;6DApnDL;qBACa;oBACC;yBACK;6DACf;yBACY;gCACG;wCACG;6BACgB;sBASrB;2BACkB;+BAyBR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAO5C,MAAMC,cAAcC,QAAQC,GAAG,CAACC,cAAc;AAE9C,MAAMC,WAAWC,IAAAA,QAAI;AACrB,MAAMC,eAAeC,IAAAA,YAAQ;AAE7B,SAASC,QAAQ,GAAGC,IAAW;IAC7B,IAAIR,QAAQC,GAAG,CAACQ,yBAAyB,EAAE;QACzC;IACF;IACA,IAAIT,QAAQC,GAAG,CAACS,KAAK,EAAE;QACrBC,KAAIC,IAAI,IAAIJ;IACd;AACF;AAKO,SAASpB;IACd,MAAM,EAAEyB,MAAM,EAAEC,KAAK,EAAEC,KAAK,EAAEC,OAAO,EAAEC,OAAO,EAAE,GAAGC,4BAAmB;IAEtE,OAAO;QACLL;QACAC,OAAO;YACLK,OAAOL,MAAMK,KAAK;YAClBC,MAAMN,MAAMM,IAAI,CAACC,MAAM,CAAC,CAACC,SAAWA,OAAOC,GAAG,KAAK;YACnDC,KAAKV,MAAMU,GAAG,CAACH,MAAM,CAAC,CAACC,SAAWA,OAAOC,GAAG,KAAK;QACnD;QACAR,OAAO;YACL,mDAAmD;YACnDS,KAAKT,MAAMS,GAAG,CAACH,MAAM,CAAC,CAACC,SAAWA,OAAOC,GAAG,KAAK;YACjDJ,OAAOJ,MAAMI,KAAK;YAClB,mGAAmG;YACnGM,KAAKV,MAAMU,GAAG;QAChB;QACA,sGAAsG;QACtGT,SAAS;YACPQ,KAAKR,QAAQQ,GAAG;QAClB;QACAP,SAAS;YACPE,OAAOF,QAAQE,KAAK;YACpBM,KAAKR,QAAQQ,GAAG;QAClB;IACF;AACF;AAEA,MAAMC,UAAU,AAAC,CAAA;QAEMC,oCASCT;IAVtB,MAAMS,uBAAuBvC;IAC7B,MAAMwC,gBAAeD,qCAAAA,oBAAoB,CAACtB,aAAa,qBAAlCsB,kCAAoC,CAACxB,SAAS;IAEnE,oDAAoD;IACpD,IAAIyB,cAAc;QAChB,OAAOA;IACT;IAEA,yHAAyH;IACzH,qDAAqD;IACrD,IAAIC,mBAAkBX,oCAAAA,4BAAmB,CAACb,aAAa,qBAAjCa,iCAAmC,CAACf,SAAS;IAEnE,IAAI0B,iBAAiB;QACnBlB,KAAImB,IAAI,CACN,CAAC,0CAA0C,EAAED,gBAAgB,0DAA0D,CAAC;IAE5H,OAAO;QACLlB,KAAImB,IAAI,CACN,CAAC,kDAAkD,EAAEzB,aAAa,CAAC,EAAEF,UAAU;IAEnF;IAEA,OAAO,EAAE;AACX,CAAA;AAEA,4EAA4E;AAC5E,yEAAyE;AACzE,gDAAgD;AAChD,kEAAkE;AAClE,EAAE;AACF,yEAAyE;AACzE,MAAM4B,uCACJ/B,QAAQC,GAAG,CAAC8B,oCAAoC;AAElD,SAASC,qBAAqBC,OAAY;IACxC,MAAMC,UAAUD,QAAQC,OAAO;IAE/B,IAAIA,WAAWA,YAAYnC,aAAa;QACtCY,KAAImB,IAAI,CACN,CAAC,yCAAyC,EAAEI,QAAQ,qBAAqB,EAAEnC,YAAY,2BAA2B,CAAC;IAEvH;AACF;AAEA,iEAAiE;AACjE,0EAA0E;AAC1E,2DAA2D;AAC3D,yEAAyE;AACzE,+DAA+D;AAC/D,MAAMoC,kCAAkC;IACtC;IACA;IACA;IACA;IACA;CAGD;AAED,oFAAoF;AACpF,gGAAgG;AAChG,oGAAoG;AACpG,IAAIC,kCAIYC;AAChB,+CAA+C;AAC/C,IAAIC;AACJ,6BAA6B;AAC7B,IAAIC,iBAAsCF;AAC1C,IAAIG;AACJ,IAAIC;AACJ,IAAIC,gCAA2DL;AAExD,MAAM7C,uBAAgD,CAAC;AAGvD,SAASN;IACd,IAAI,CAACqD,gBAAgB;QACnB,IAAID,iBAAiB;YACnB,MAAM,qBAEL,CAFK,IAAIK,MACR,iFADI,qBAAA;uBAAA;4BAAA;8BAAA;YAEN;QACF;QACA,MAAM,qBAEL,CAFK,IAAIA,MACR,oJADI,qBAAA;mBAAA;wBAAA;0BAAA;QAEN;IACF;IACA,OAAOJ;AACT;AAUO,eAAehD,aACpBqD,gBAAyB,KAAK;IAE9B,IAAIL,gBAAgB;QAClB,OAAOA;IACT;IACA,IAAID,iBAAiB;QACnB,OAAOA;IACT;IAEA,2FAA2F;IAC3F,IAAI,CAACtC,QAAQC,GAAG,CAAC4C,cAAc,EAAE;QAC/B7C,QAAQC,GAAG,CAAC4C,cAAc,GAAG;IAC/B;IAEA,IAAI7C,QAAQC,GAAG,CAAC6C,cAAc,EAAE;QAC9BF,gBAAgB;IAClB;IAEA,iIAAiI;IACjI,qDAAqD;IACrD,uFAAuF;IACvF,IAAI5C,QAAQ+C,MAAM,CAACC,OAAO,IAAI,MAAM;QAClC,aAAa;QACbhD,QAAQ+C,MAAM,CAACC,OAAO,CAACC,WAAW,oBAAlCjD,QAAQ+C,MAAM,CAACC,OAAO,CAACC,WAAW,MAAlCjD,QAAQ+C,MAAM,CAACC,OAAO,EAAe;IACvC;IACA,IAAIhD,QAAQkD,MAAM,CAACF,OAAO,IAAI,MAAM;QAClC,aAAa;QACbhD,QAAQkD,MAAM,CAACF,OAAO,CAACC,WAAW,oBAAlCjD,QAAQkD,MAAM,CAACF,OAAO,CAACC,WAAW,MAAlCjD,QAAQkD,MAAM,CAACF,OAAO,EAAe;IACvC;IAEAV,kBAAkB,IAAIa,QAAQ,OAAOC,SAASC;QAC5C,IAAI,CAAC7D,qBAAqB8D,GAAG,EAAE;YAC7B,yDAAyD;YACzD,0CAA0C;YAC1C9D,qBAAqB8D,GAAG,GAAGC,IAAAA,8CAAsB,EAACvD,QAAQwD,GAAG,IAAIC,KAAK,CACpEC,QAAQC,KAAK;QAEjB;QAEA,IAAIC,WAAkB,EAAE;QACxB,MAAMC,sBAAsB7D,QAAQC,GAAG,CAAC6D,qBAAqB;QAC7D,MAAMC,sBAAsBrC,QAAQsC,IAAI,CACtC,CAAC1C,SACC,CAAC,EAACA,0BAAAA,OAAQ2C,GAAG,KAAI9B,gCAAgC+B,QAAQ,CAAC5C,OAAO2C,GAAG;QAExE,MAAME,iBAAiBnE,QAAQoE,QAAQ,CAACC,YAAY;QACpD,yEAAyE;QACzE,yFAAyF;QACzF,MAAMC,8BACJ,AAAC,CAACT,uBAAuBjB,iBACzBmB,uBACAI;QAEF,IAAI,CAACJ,uBAAuBnB,eAAe;YACzCjC,KAAImB,IAAI,CACN,CAAC,mEAAmE,EAAEzB,aAAa,CAAC,EAAEF,SAAS,qBAAqB,CAAC;QAEzH;QAEA,IAAImE,6BAA6B;YAC/BlC,kCAAkC;YAClC,MAAMmC,mBAAmB,MAAMC,wBAAwBZ;YACvD,IAAIW,kBAAkB;gBACpB,OAAOnB,QAAQmB;YACjB;QACF;QAEA,4CAA4C;QAC5C,EAAE;QACF,kEAAkE;QAClE,0GAA0G;QAC1G,gHAAgH;QAChH,kHAAkH;QAClH,kDAAkD;QAClD,uDAAuD;QACvD,IAAI;YACF,OAAOnB,QAAQqB;QACjB,EAAE,OAAOC,GAAG;YACV,IACEC,MAAMC,OAAO,CAACF,MACdA,EAAEG,KAAK,CAAC,CAACC,IAAMA,EAAEZ,QAAQ,CAAC,0BAC1B;gBACA,IAAIK,mBAAmB,MAAMQ,0BAA0BnB;gBAEvD,IAAIW,kBAAkB;oBACpB,OAAOnB,QAAQmB;gBACjB;YACF;YAEAX,WAAWA,SAASoB,MAAM,CAACN;QAC7B;QAEA,+EAA+E;QAC/E,IAAI,CAACJ,+BAA+B,CAACT,qBAAqB;YACxD,MAAMU,mBAAmB,MAAMC,wBAAwBZ;YACvD,IAAIW,kBAAkB;gBACpB,OAAOnB,QAAQmB;YACjB;QACF;QAEA,MAAMU,eAAerB,UAAU;QAC/B,gGAAgG;QAChGP,OACE,qBAEC,CAFD,IAAIV,MACF,CAAC,8BAA8B,EAAEtC,aAAa,CAAC,EAAEF,SAAS,yEAAyE,CAAC,GADtI,qBAAA;mBAAA;wBAAA;0BAAA;QAEA;IAEJ;IACAoC,iBAAiB,MAAMD;IACvBA,kBAAkBD;IAClB,OAAOE;AACT;AAEA,eAAewC,0BAA0BnB,QAAuB;IAC9D,MAAMsB,0BAA0BC,aAAI,CAACC,IAAI,CACvCD,aAAI,CAACE,OAAO,CAACC,QAAQlC,OAAO,CAAC,uBAC7B;IAGF,IAAI,CAACV,+BAA+B;QAClCA,gCAAgC6C,IAAAA,kCAAqB,EACnDxF,aACAmF,yBACAxD,QAAQ8D,GAAG,CAAC,CAAClE,SAAgBA,OAAOmE,eAAe;IAEvD;IACA,MAAM/C;IAEN,IAAI;QACF,OAAO+B,WAAWS;IACpB,EAAE,OAAOR,GAAQ;QACfd,SAAS8B,IAAI,IAAI,EAAE,CAACV,MAAM,CAACN;IAC7B;IAEA,OAAOrC;AACT;AAEA,0BAA0B;AAC1B,eAAemC,wBACbZ,QAAe;IAEf,IAAI;QACF,IAAI+B,WAAW,MAAMC,SAAS;QAC9B,sDAAsD;QACtDC,IAAAA,mCAAmB,EAAC;YAClBC,MAAM;YACNC,yBAAyB3D;QAC3B;QACA,OAAOuD;IACT,EAAE,OAAOjB,GAAQ;QACfd,SAAS8B,IAAI,IAAI,EAAE,CAACV,MAAM,CAACN;IAC7B;IAEA,IAAI;QACF,2DAA2D;QAC3D,+DAA+D;QAC/D,sEAAsE;QACtE,sDAAsD;QACtD,MAAMsB,gBAAgBb,aAAI,CAACC,IAAI,CAC7BD,aAAI,CAACE,OAAO,CAACC,QAAQlC,OAAO,CAAC,uBAC7B;QAEF,IAAI,CAACZ,qBAAqB;YACxBA,sBAAsByD,IAAAA,4BAAe,EAAClG,aAAaiG;QACrD;QACA,MAAMxD;QACN,IAAImD,WAAW,MAAMC,SAASI;QAC9B,sDAAsD;QACtDH,IAAAA,mCAAmB,EAAC;YAClBC,MAAM;YACNC,yBAAyB3D;QAC3B;QAEA,4CAA4C;QAC5C,sCAAsC;QACtC,KAAK,MAAM8D,WAAWtC,SAAU;YAC9BjD,KAAImB,IAAI,CAACoE;QACX;QACA,OAAOP;IACT,EAAE,OAAOjB,GAAQ;QACfd,SAAS8B,IAAI,IAAI,EAAE,CAACV,MAAM,CAACN;IAC7B;AACF;AAEA,SAASyB;IACP,IAAIvC,WAAkB,EAAE;IACxB,IAAI;QACF,OAAOa;IACT,EAAE,OAAOC,GAAG;QACVd,WAAWA,SAASoB,MAAM,CAACN;IAC7B;IAEA,+EAA+E;IAC/E,gEAAgE;IAChEO,eAAerB;IAEf,MAAM,qBAAyD,CAAzD,IAAIjB,MAAM,2BAA2B;QAAEyD,OAAOxC;IAAS,IAAvD,qBAAA;eAAA;oBAAA;sBAAA;IAAwD;AAChE;AAEA,IAAIyC,qBAAqB;AAEzB;;;;;CAKC,GACD,eAAepB,eAAerB,QAAa,EAAE0C,YAAY,KAAK;IAC5D,4DAA4D;IAC5D,IAAID,oBAAoB;IACxBA,qBAAqB;IAErB,KAAK,IAAIH,WAAWtC,SAAU;QAC5BjD,KAAImB,IAAI,CAACoE;IACX;IAEA,sDAAsD;IACtD,MAAML,IAAAA,mCAAmB,EAAC;QACxBC,MAAMQ,YAAY,WAAWjE;QAC7B0D,yBAAyB3D;IAC3B;IACA,MAAO5C,CAAAA,qBAAqB8D,GAAG,IAAIH,QAAQC,OAAO,EAAC;IAEnDzC,KAAIgD,KAAK,CACP,CAAC,8BAA8B,EAAEtD,aAAa,CAAC,EAAEF,SAAS,yEAAyE,CAAC;AAExI;AAKO,SAASnB,gBAAgB,EAC9BuH,WAAW,EACXC,mBAAmB,EACnBC,MAAM,EACNC,GAAG,EACHC,OAAO,EACPC,WAAW,EACXC,mBAAmB,EACnBC,WAAW,EACXC,kBAAkB,EAClBC,QAAQ,EAIT;IACC,IAAIC,YAAuB;QACzBC,QAAQ,EAAE;QACVC,MAAM,EAAE;QACRC,QAAQ,EAAE;IACZ;IAEA,KAAK,MAAMC,WAAWC,OAAOC,IAAI,CAACN,WAA0C;QAC1EA,SAAS,CAACI,QAAQ,GAAGG,iBACnBC,IAAAA,uBAAY,EAAC;YACXlB;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAC;YACAY,UAAUL,YAAY;YACtBM,cAAcN,YAAY;YAC1BO,cAAcP,YAAY;YAC1BN;YACAC;QACF;IAEJ;IAEA,OAAOC;AACT;AAEA,SAASY,WAAW5H,GAA2B;IAC7C,OAAOqH,OAAOQ,OAAO,CAAC7H,KACnBoB,MAAM,CAAC,CAAC,CAAC0G,GAAGC,MAAM,GAAKA,SAAS,MAChCxC,GAAG,CAAC,CAAC,CAACyC,MAAMD,MAAM,GAAM,CAAA;YACvBC;YACAD;QACF,CAAA;AACJ;AAEA,SAASR,iBACPvH,GAAuC;IAEvC,OAAOqH,OAAOQ,OAAO,CAAC7H,KAAKuF,GAAG,CAAC,CAAC,CAACyC,MAAMD,MAAM,GAAM,CAAA;YACjDC;YACAD;QACF,CAAA;AACF;AAEA,mCAAmC;AACnC,SAASE,aACPC,OAAoB,EACpBC,KAAc;IAyDd,MAAMC,SAAS,IAAK,MAAMC,eAAe3F;IAAO;IAEhD;;GAEC,GACD,SAAS4F,UACPC,KAAY,EACZC,cAAoC;QAEpC,MAAM,qBAAgD,CAAhD,IAAI9F,MAAM,CAAC,WAAW,EAAE8F,eAAeD,QAAQ,GAA/C,qBAAA;mBAAA;wBAAA;0BAAA;QAA+C;IACvD;IAEA;;;;;GAKC,GACD,SAASE,UACPC,SAAkB,EAClBC,cAEiE;QAKjE,mEAAmE;QACnE,wCAAwC;QACxC,IAAIC,SAAuB,EAAE;QAC7B,sEAAsE;QACtE,qDAAqD;QACrD,IAAIC;QAMJ,IAAIC,WAAW;QAEf,0EAA0E;QAC1E,2EAA2E;QAC3E,2BAA2B;QAC3B,SAASC,WAAWC,GAAsB,EAAEjB,KAAoB;YAC9D,IAAIc,SAAS;gBACX,IAAI,EAAE1F,OAAO,EAAEC,MAAM,EAAE,GAAGyF;gBAC1BA,UAAUzG;gBACV,IAAI4G,KAAK5F,OAAO4F;qBACX7F,QAAQ4E;YACf,OAAO;gBACL,MAAMkB,OAAO;oBAAED;oBAAKjB;gBAAM;gBAC1B,IAAIW,WAAWE,OAAOnD,IAAI,CAACwD;qBACtBL,MAAM,CAAC,EAAE,GAAGK;YACnB;QACF;QAEA,gBAAgBC;YACd,MAAMC,OAAO,MAAMR,eAAeI;YAClC,IAAI;gBACF,MAAO,CAACD,SAAU;oBAChB,IAAIF,OAAOQ,MAAM,GAAG,GAAG;wBACrB,MAAMH,OAAOL,OAAOS,KAAK;wBACzB,IAAIJ,KAAKD,GAAG,EAAE,MAAMC,KAAKD,GAAG;wBAC5B,MAAMC,KAAKlB,KAAK;oBAClB,OAAO;wBACL,wCAAwC;wBACxC,MAAM,IAAI7E,QAAW,CAACC,SAASC;4BAC7ByF,UAAU;gCAAE1F;gCAASC;4BAAO;wBAC9B;oBACF;gBACF;YACF,EAAE,OAAOkG,GAAG;gBACV,IAAIA,MAAMlB,QAAQ;gBAClB,MAAMkB;YACR,SAAU;gBACR,IAAIH,MAAM;oBACRjB,QAAQqB,eAAe,CAACJ;gBAC1B;YACF;QACF;QAEA,MAAMK,WAAWN;QACjBM,SAASC,MAAM,GAAG;YAChBX,WAAW;YACX,IAAID,SAASA,QAAQzF,MAAM,CAACgF;YAC5B,OAAO;gBAAEL,OAAO3F;gBAAWsH,MAAM;YAAK;QACxC;QACA,OAAOF;IACT;IAEA,eAAeG,sBACbC,OAAuB;QAEvB,OAAO;YACL,GAAGA,OAAO;YACVC,YAAY,MAAMC,oBAChBF,QAAQC,UAAU,EAClB3E,aAAI,CAACC,IAAI,CAACyE,QAAQG,QAAQ,EAAEH,QAAQjD,WAAW;YAEjD3G,KAAK4H,WAAWgC,QAAQ5J,GAAG;QAC7B;IACF;IAEA,eAAegK,6BACbJ,OAA8B;QAE9B,OAAO;YACL,GAAGA,OAAO;YACVC,YACED,QAAQC,UAAU,IACjB,MAAMC,oBACLF,QAAQC,UAAU,EAClB3E,aAAI,CAACC,IAAI,CAACyE,QAAQG,QAAQ,EAAEH,QAAQjD,WAAW;YAEnD3G,KAAK4J,QAAQ5J,GAAG,IAAI4H,WAAWgC,QAAQ5J,GAAG;QAC5C;IACF;IAEA,MAAMiK;QAGJC,YAAYC,aAAwC,CAAE;YACpD,IAAI,CAACC,cAAc,GAAGD;QACxB;QAEA,MAAME,OAAOT,OAA8B,EAAE;YAC3C,MAAM1B,QAAQoC,aAAa,CACzB,IAAI,CAACF,cAAc,EACnB,MAAMJ,6BAA6BJ;QAEvC;QAEA,MAAMW,iBACJC,UAAmB,EACa;YAChC,MAAMC,aAAc,MAAMvC,QAAQwC,uBAAuB,CACvD,IAAI,CAACN,cAAc,EACnBI;YAEF,OAAOC;QACT;QAEA,MAAME,0BACJH,UAAmB,EACgC;YACnD,MAAMI,gBAAiB,MAAM1C,QAAQ2C,gCAAgC,CACnE,IAAI,CAACT,cAAc,EACnBI;YAGF,IAAI,YAAYI,eAAe;gBAC7B,OAAOE,gCACLF;YAEJ,OAAO;gBACL,OAAO;oBACLG,QAAQH,cAAcG,MAAM;oBAC5BC,aAAaJ,cAAcI,WAAW;gBACxC;YACF;QACF;QAEAC,uBAAuB;YACrB,MAAMC,eAAezC,UACnB,OACA,OAAO0C,WACLjD,QAAQkD,2BAA2B,CAAC,IAAI,CAAChB,cAAc,EAAEe;YAE7D,OAAO,AAAC;gBACN,WAAW,MAAME,eAAeH,aAAc;oBAC5C,IAAI,YAAaG,aAAkD;wBACjE,MAAMP,gCACJO;oBAEJ,OAAO;wBACL,MAAM;4BACJN,QAAQM,YAAYN,MAAM;4BAC1BC,aAAaK,YAAYL,WAAW;wBACtC;oBACF;gBACF;YACF;QACF;QAEAM,UAAUC,UAAkB,EAAE;YAC5B,OAAO9C,UAAmC,MAAM,OAAO0C,WACrDjD,QAAQsD,gBAAgB,CAAC,IAAI,CAACpB,cAAc,EAAEmB,YAAYJ;QAE9D;QAEAM,0BAA0B;YACxB,OAAOhD,UACL,OACA,OAAO0C,WACLjD,QAAQwD,8BAA8B,CAAC,IAAI,CAACtB,cAAc,EAAEe;QAElE;QAEAQ,YACEC,UAA+B,EAC/BC,uBAA+B,EACM;YACrC,OAAO3D,QAAQ4D,kBAAkB,CAC/B,IAAI,CAAC1B,cAAc,EACnBwB,YACAC;QAEJ;QAEAE,kBAAkBC,QAAgB,EAA0B;YAC1D,OAAO9D,QAAQ+D,wBAAwB,CAAC,IAAI,CAAC7B,cAAc,EAAE4B;QAC/D;QAEAE,aAAaF,QAAgB,EAA0B;YACrD,OAAO9D,QAAQiE,mBAAmB,CAAC,IAAI,CAAC/B,cAAc,EAAE4B;QAC1D;QAEAI,iBAAiBJ,QAAgB,EAAiB;YAChD,OAAO9D,QAAQmE,uBAAuB,CAAC,IAAI,CAACjC,cAAc,EAAE4B;QAC9D;QAEAM,oBAAoBC,aAAqB,EAAE;YACzC,OAAO9D,UAA0C,MAAM,OAAO0C,WAC5DjD,QAAQsE,0BAA0B,CAChC,IAAI,CAACpC,cAAc,EACnBmC,eACApB;QAGN;QAEAsB,2BAA2BC,UAAqB,EAAE;YAChD,OAAOjE,UACL,MACA,OAAO0C;gBACLjD,QAAQyE,iCAAiC,CACvC,IAAI,CAACvC,cAAc,EACnBe,UACAuB;YAEJ;QAEJ;QAEAE,4BAA2C;YACzC,OAAO1E,QAAQ2E,gCAAgC,CAAC,IAAI,CAACzC,cAAc;QACrE;QAEA0C,WAA0B;YACxB,OAAO5E,QAAQ6E,eAAe,CAAC,IAAI,CAAC3C,cAAc;QACpD;QAEA4C,SAAwB;YACtB,OAAO9E,QAAQ+E,aAAa,CAAC,IAAI,CAAC7C,cAAc;QAClD;IACF;IAEA,MAAM8C;QAGJhD,YAAYiD,cAA0C,CAAE;YACtD,IAAI,CAACC,eAAe,GAAGD;QACzB;QAEA,MAAME,cAAyD;YAC7D,OAAQ,MAAMnF,QAAQoF,mBAAmB,CACvC,IAAI,CAACF,eAAe;QAExB;QAEA,MAAMG,gBAAiE;YACrE,MAAMC,qBAAqB/E,UACzB,OACA,OAAO0C,WACLjD,QAAQuF,8BAA8B,CAAC,IAAI,CAACL,eAAe,EAAEjC;YAEjE,MAAMqC,mBAAmBE,IAAI;YAC7B,OAAOF;QACT;QAEA,MAAMG,cACJC,aAAsB,EAC2B;YACjD,MAAMC,qBAAqBpF,UACzB,OACA,OAAO0C,WACLjD,QAAQ4F,8BAA8B,CACpC,IAAI,CAACV,eAAe,EACpBQ,eACAzC;YAGN,MAAM0C,mBAAmBH,IAAI;YAC7B,OAAOG;QACT;IACF;IAEA,eAAe/D,oBACbD,UAA8B,EAC9BlD,WAAmB;QAEnB,uFAAuF;QACvF,IAAIoH,yBAA8C;YAAE,GAAGlE,UAAU;QAAC;QAElEkE,uBAAuBC,eAAe,GACpC,OAAMD,uBAAuBC,eAAe,oBAAtCD,uBAAuBC,eAAe,MAAtCD;QAER,iFAAiF;QACjFA,uBAAuBE,aAAa,GAAG,CAAC;QACxCF,uBAAuBG,OAAO,GAAGH,uBAAuBG,OAAO,IAAI,CAAC;QAEpE,IAAIH,uBAAuBI,iBAAiB,EAAE;YAC5CJ,uBAAuBI,iBAAiB,GAAG9G,OAAO+G,WAAW,CAC3D/G,OAAOQ,OAAO,CAAMkG,uBAAuBI,iBAAiB,EAAE5I,GAAG,CAC/D,CAAC,CAAC8I,KAAK7H,OAAO,GAAK;oBACjB6H;oBACA;wBACE,GAAG7H,MAAM;wBACT7G,WACE,OAAO6G,OAAO7G,SAAS,KAAK,WACxB6G,OAAO7G,SAAS,GAChB0H,OAAOQ,OAAO,CAACrB,OAAO7G,SAAS;oBACvC;iBACD;QAGP;QAEA,2EAA2E;QAC3E,IAAIoO,uBAAuBO,MAAM,CAACC,UAAU,EAAE;YAC5CR,uBAAuBO,MAAM,GAAG;gBAC9B,GAAGP,uBAAuBO,MAAM;gBAChCC,YACE,OACArJ,aAAI,CAACsJ,QAAQ,CAAC7H,aAAaoH,uBAAuBO,MAAM,CAACC,UAAU;YACvE;QACF;QAEA,iFAAiF;QACjF,IAAIR,uBAAuBU,YAAY,EAAE;YACvCV,uBAAuBU,YAAY,GACjC,OACCvJ,CAAAA,aAAI,CAACwJ,UAAU,CAACX,uBAAuBU,YAAY,IAChDvJ,aAAI,CAACsJ,QAAQ,CAAC7H,aAAaoH,uBAAuBU,YAAY,IAC9DV,uBAAuBU,YAAY,AAAD;QAC1C;QACA,IAAIV,uBAAuBY,aAAa,EAAE;YACxCZ,uBAAuBY,aAAa,GAAGtH,OAAO+G,WAAW,CACvD/G,OAAOQ,OAAO,CACZkG,uBAAuBY,aAAa,EAEnCvN,MAAM,CAAC,CAAC,CAAC0G,GAAGC,MAAM,GAAKA,SAAS,MAChCxC,GAAG,CAAC,CAAC,CAACqJ,KAAK7G,MAAM,GAAK;oBACrB6G;oBACA,OACG1J,CAAAA,aAAI,CAACwJ,UAAU,CAAC3G,SACb7C,aAAI,CAACsJ,QAAQ,CAAC7H,aAAaoB,SAC3BA,KAAI;iBACX;QAEP;QAEA,IAAIgG,uBAAuBc,SAAS,IAAI,MAAM;YAC5C,oCAAoC;YACpC,MAAMA,YAAY;gBAAE,GAAGd,uBAAuBc,SAAS;YAAC;YAExD,IAAIA,UAAUC,KAAK,EAAE;gBACnBD,UAAUC,KAAK,GAAGC,wBAAwBF,UAAUC,KAAK;YAC3D;YAEAf,uBAAuBc,SAAS,GAAGA;QACrC;QAEA,OAAOG,KAAKC,SAAS,CAAClB,wBAAwB,MAAM;IACtD;IAcA,kGAAkG;IAClG,YAAY;IACZ,SAASmB,uBACPC,IAA4B;QAE5B,SAASC,gBAAgBC,KAAa;YACpC,OAAO;gBACLC,QAAQD,MAAMC,MAAM;gBACpBC,OAAOF,MAAME,KAAK;YACpB;QACF;QAEA,IAAI,OAAOJ,SAAS,UAAU;YAC5B,OAAOA;QACT,OAAO,IAAI,SAASA,MAAM;YACxB,OAAO;gBAAE,GAAGA,IAAI;gBAAEK,KAAKL,KAAKK,GAAG,CAACjK,GAAG,CAAC2J;YAAwB;QAC9D,OAAO,IAAI,SAASC,MAAM;YACxB,OAAO;gBAAE,GAAGA,IAAI;gBAAEM,KAAKN,KAAKM,GAAG,CAAClK,GAAG,CAAC2J;YAAwB;QAC9D,OAAO,IAAI,SAASC,MAAM;YACxB,OAAO;gBAAE,GAAGA,IAAI;gBAAEO,KAAKR,uBAAuBC,KAAKO,GAAG;YAAE;QAC1D,OAAO;YACL,OAAO;gBACL,GAAGP,IAAI;gBACPjK,MACEiK,KAAKjK,IAAI,IAAI,OACT9C,YACA+M,KAAKjK,IAAI,YAAYyK,SACnB;oBACEC,MAAM;oBACN7H,OAAOqH,gBAAgBD,KAAKjK,IAAI;gBAClC,IACA;oBAAE0K,MAAM;oBAAQ7H,OAAOoH,KAAKjK,IAAI;gBAAC;gBACzC2K,SAASV,KAAKU,OAAO,IAAIT,gBAAgBD,KAAKU,OAAO;YACvD;QACF;IACF;IAEA,kGAAkG;IAClG,SAASd,wBACPe,cAA6D;QAE7D,MAAMC,kBAAuC,CAAC;QAC9C,KAAK,MAAM,CAACC,MAAMC,KAAK,IAAI5I,OAAOQ,OAAO,CAACiI,gBAAiB;YACzD,IAAIpL,MAAMC,OAAO,CAACsL,OAAO;gBACvBF,eAAe,CAACC,KAAK,GAAGC,KAAK1K,GAAG,CAAC,CAAC0D;oBAChC,IAAI,OAAOA,SAAS,YAAY,aAAaA,MAAM;wBACjD,OAAOiH,oBAAoBjH,MAAM+G;oBACnC,OAAO;wBACLG,gBAAgBlH,MAAM+G;wBACtB,OAAO/G;oBACT;gBACF;YACF,OAAO;gBACL8G,eAAe,CAACC,KAAK,GAAGE,oBAAoBD,MAAMD;YACpD;QACF;QAEA,OAAOD;QAEP,SAASG,oBACPD,IAA6B,EAC7BD,IAAY;YAEZ,IAAI,CAACC,MAAM,OAAOA;YAClB,KAAK,MAAMhH,QAAQgH,KAAKG,OAAO,CAAE;gBAC/BD,gBAAgBlH,MAAM+G;YACxB;YACA,IAAIK,iBAAsBJ;YAC1B,IAAIA,KAAKK,SAAS,IAAI,MAAM;gBAC1BD,iBAAiB;oBACf,GAAGJ,IAAI;oBACPK,WAAWpB,uBAAuBe,KAAKK,SAAS;gBAClD;YACF;YACA,OAAOD;QACT;QAEA,SAASF,gBAAgBI,UAA+B,EAAEP,IAAY;YACpE,IACE,OAAOO,eAAe,YACtB,CAACC,IAAAA,uBAAiB,EAACD,YAAYvB,KAAKvP,KAAK,CAACuP,KAAKC,SAAS,CAACsB,eACzD;gBACA,MAAM,qBAGL,CAHK,IAAI7N,MACR,CAAC,OAAO,EAAE6N,WAAWE,MAAM,CAAC,YAAY,EAAET,KAAK,sCAAsC,CAAC,GACpF,wEAFE,qBAAA;2BAAA;gCAAA;kCAAA;gBAGN;YACF;QACF;IACF;IAEA,SAASlF,gCACPO,WAA6C;QAE7C,MAAMqF,SAAS,IAAIC;QACnB,KAAK,MAAM,EAAEC,QAAQ,EAAE,GAAGC,aAAa,IAAIxF,YAAYqF,MAAM,CAAE;YAC7D,IAAII;YACJ,MAAMC,YAAYF,YAAYjB,IAAI;YAClC,OAAQmB;gBACN,KAAK;oBACHD,QAAQ;wBACNlB,MAAM;wBACNoB,cAAc,IAAI9D,aAAa2D,YAAYG,YAAY;wBACvDC,cAAc,IAAI/D,aAAa2D,YAAYI,YAAY;oBACzD;oBACA;gBACF,KAAK;oBACHH,QAAQ;wBACNlB,MAAM;wBACNsB,UAAU,IAAIhE,aAAa2D,YAAYK,QAAQ;oBACjD;oBACA;gBACF,KAAK;oBACHJ,QAAQ;wBACNlB,MAAM;wBACNuB,OAAON,YAAYM,KAAK,CAAC5L,GAAG,CAAC,CAAC6L,OAAU,CAAA;gCACtCC,cAAcD,KAAKC,YAAY;gCAC/BL,cAAc,IAAI9D,aAAakE,KAAKJ,YAAY;gCAChDM,aAAa,IAAIpE,aAAakE,KAAKE,WAAW;4BAChD,CAAA;oBACF;oBACA;gBACF,KAAK;oBACHR,QAAQ;wBACNlB,MAAM;wBACNyB,cAAcR,YAAYQ,YAAY;wBACtCH,UAAU,IAAIhE,aAAa2D,YAAYK,QAAQ;oBACjD;oBACA;gBACF,KAAK;oBACHJ,QAAQ;wBACNlB,MAAM;oBACR;oBACA;gBACF;oBAAS;wBACP,MAAM2B,mBAA0BR;wBAChCzI,UACEuI,aACA,IAAM,CAAC,oBAAoB,EAAEU,kBAAkB;oBAEnD;YACF;YACAb,OAAOc,GAAG,CAACZ,UAAUE;QACvB;QACA,MAAMW,6BAA6B,CAACC,aAAgC,CAAA;gBAClER,UAAU,IAAIhE,aAAawE,WAAWR,QAAQ;gBAC9CS,SAASD,WAAWC,OAAO;YAC7B,CAAA;QACA,MAAMD,aAAarG,YAAYqG,UAAU,GACrCD,2BAA2BpG,YAAYqG,UAAU,IACjDtP;QACJ,MAAMwP,uCAAuC,CAC3CC,kBACI,CAAA;gBACJC,QAAQ,IAAI5E,aAAa2E,gBAAgBC,MAAM;gBAC/C5K,MAAM,IAAIgG,aAAa2E,gBAAgB3K,IAAI;YAC7C,CAAA;QACA,MAAM2K,kBAAkBxG,YAAYwG,eAAe,GAC/CD,qCAAqCvG,YAAYwG,eAAe,IAChEzP;QAEJ,OAAO;YACLsO;YACAgB;YACAG;YACAE,uBAAuB,IAAI7E,aACzB7B,YAAY0G,qBAAqB;YAEnCC,kBAAkB,IAAI9E,aAAa7B,YAAY2G,gBAAgB;YAC/DC,oBAAoB,IAAI/E,aAAa7B,YAAY4G,kBAAkB;YACnElH,QAAQM,YAAYN,MAAM;YAC1BC,aAAaK,YAAYL,WAAW;QACtC;IACF;IAEA,OAAO,eAAekH,cACpBtI,OAAuB,EACvBuI,kBAAkB;QAElB,OAAO,IAAIlI,YACT,MAAM/B,QAAQkK,UAAU,CACtB,MAAMzI,sBAAsBC,UAC5BuI,sBAAsB,CAAC,GACvB;YACEE,6BAAAA,0CAA2B;QAC7B;IAGN;AACF;AAEA,sBAAsB;AACtB,eAAeC,oBAAoBC,aAAa,EAAE;IAChD,IAAI5O,WAAW,EAAE;IAEjB,gGAAgG;IAChG,kCAAkC;IAClC,MAAM6O,cAAczS,QAAQC,GAAG,CAACyS,kBAAkB;IAElD,IAAID,aAAa;QACf,0EAA0E;QAC1E,MAAME,cAAc,MAAM,MAAM,CAC9BC,IAAAA,kBAAa,EAACzN,aAAI,CAACC,IAAI,CAACqN,aAAa,YAAYI,QAAQ;QAE3DtS,QAAQ,CAAC,2BAA2B,EAAEkS,aAAa;QACnD,OAAOE;IACT,OAAO;QACL,KAAK,IAAIG,OAAO;YAAC;YAAyB;SAAqB,CAAE;YAC/D,IAAI;gBACF,IAAIC,UAAUD;gBAEd,IAAIN,YAAY;oBACd,yDAAyD;oBACzDO,UAAU5N,aAAI,CAACC,IAAI,CAACoN,YAAYM,KAAK;gBACvC;gBACA,MAAME,sBAAsB,MAAM,MAAM,CACtCJ,IAAAA,kBAAa,EAACG,SAASF,QAAQ;gBAEjC,IAAIF;gBACJ,IAAIG,QAAQ,sBAAsB;oBAChC,+EAA+E;oBAC/E,oDAAoD;oBACpDH,cAAc,MAAMK,oBAAoBC,OAAO;gBACjD,OAAO;oBACLN,cAAcK;gBAChB;gBACAzS,QAAQ,CAAC,2BAA2B,EAAEuS,KAAK;gBAC3C,OAAOH;YACT,EAAE,OAAOpJ,GAAQ;gBACf,8DAA8D;gBAC9D,IAAIiJ,YAAY;oBACd,IAAIjJ,CAAAA,qBAAAA,EAAG2J,IAAI,MAAK,wBAAwB;wBACtCtP,SAAS8B,IAAI,CAAC,CAAC,kBAAkB,EAAEoN,IAAI,0BAA0B,CAAC;oBACpE,OAAO;wBACLlP,SAAS8B,IAAI,CACX,CAAC,kBAAkB,EAAEoN,IAAI,yBAAyB,EAAEvJ,EAAE4J,OAAO,IAAI5J,GAAG;oBAExE;gBACF;YACF;QACF;IACF;IAEA,MAAM3F;AACR;AAEA,qDAAqD;AACrD,eAAegC,SAAS4M,aAAa,EAAE;IACrC,MAAMG,cAAc,MAAMJ,oBAAoBC;IAE9C,SAASY,gBAAgBC,GAAQ;QAC/B,8FAA8F;QAC9F,4EAA4E;QAC5E,EAAE;QACF,sFAAsF;QACtF,IAAI,OAAOA,QAAQ,YAAYA,QAAQ,MAAM;YAC3C,OAAOA;QACT;QACA,IAAI1O,MAAMC,OAAO,CAACyO,MAAM;YACtB,OAAOA,IAAI7N,GAAG,CAAC4N;QACjB;QACA,MAAME,SAAiC,CAAC;QACxC,KAAK,MAAM,CAACC,GAAGC,EAAE,IAAIlM,OAAOQ,OAAO,CAACuL,KAAM;YACxC,IAAI,OAAOG,MAAM,aAAa;gBAC5BF,MAAM,CAACC,EAAE,GAAGH,gBAAgBI;YAC9B;QACF;QACA,OAAOF;IACT;IAEA,mEAAmE;IACnE,yCAAyC;IACzC,IAAIG,eAAe;QACjBC,KAAK;YACHC,WAAW;gBACT/T,WAAW,SAAUgU,QAAa;oBAChC,MAAM,qBAEL,CAFK,IAAIjR,MACR,qEADI,qBAAA;+BAAA;oCAAA;sCAAA;oBAEN;gBACF;gBACAkR,oBAAoB,SAAUD,QAAa;oBACzC,MAAM,qBAEL,CAFK,IAAIjR,MACR,8EADI,qBAAA;+BAAA;oCAAA;sCAAA;oBAEN;gBACF;YACF;QACF;QACAmR,QAAQ;QACRlU,WAAUmU,GAAW,EAAElK,OAAY;YACjC,OAAO8I,YAAY/S,SAAS,CAACmU,IAAIlB,QAAQ,IAAIO,gBAAgBvJ;QAC/D;QACAhK,eAAckU,GAAW,EAAElK,OAAY;YACrC,OAAO8I,YAAY9S,aAAa,CAACkU,IAAIlB,QAAQ,IAAIO,gBAAgBvJ;QACnE;QACApK,QAAOsU,GAAW,EAAElK,OAAY;YAC9B,OAAO8I,YAAYlT,MAAM,CAACsU,IAAIlB,QAAQ,IAAIO,gBAAgBvJ;QAC5D;QACAmK,YAAWD,GAAW,EAAElK,OAAY;YAClC,OAAO8I,YAAYqB,UAAU,CAACD,IAAIlB,QAAQ,IAAIO,gBAAgBvJ;QAChE;QACAnK,OAAMqU,GAAW,EAAElK,OAAY;YAC7B,OAAO8I,YAAYjT,KAAK,CAACqU,IAAIlB,QAAQ,IAAIO,gBAAgBvJ;QAC3D;QACAoK;YACE,OAAO5R;QACT;QACA6R,OAAO;YACL/B,eACEyB,QAAwB,EACxBO,mBAAoD;gBAEpD,MAAM,qBAEL,CAFK,IAAIxR,MACR,iEADI,qBAAA;2BAAA;gCAAA;kCAAA;gBAEN;YACF;YACAyR,2BACEC,cAAsB,EACtBC,KAAyB;gBAEzB,MAAM,qBAEL,CAFK,IAAI3R,MACR,6EADI,qBAAA;2BAAA;gCAAA;kCAAA;gBAEN;YACF;QACF;QACA4R,KAAK;YACHC,SAAQT,GAAW,EAAElK,OAAY;gBAC/B,OAAO8I,YAAY8B,UAAU,CAC3BV,KACAX,gBAAgBsB,cAAc7K;YAElC;YACA8K,aAAYZ,GAAW,EAAElK,OAAY;gBACnC,OAAO8I,YAAYiC,cAAc,CAC/Bb,KACAX,gBAAgBsB,cAAc7K;YAElC;QACF;QACAgL,eAAe;YACbvV,yBAAwBwV,SAAiB;gBACvC,OAAO3R,QAAQC,OAAO,CAAC;YACzB;QACF;QACA2R,QAAQ;YACN5V,uBAAsB6V,aAAqB;gBACzC,MAAM,qBAEL,CAFK,IAAIrS,MACR,0EADI,qBAAA;2BAAA;gCAAA;kCAAA;gBAEN;YACF;YACA7C,oBACEmV,OAAe,EACfC,aAAsB;gBAEtB,MAAM,qBAEL,CAFK,IAAIvS,MACR,uEADI,qBAAA;2BAAA;gCAAA;kCAAA;gBAEN;YACF;QACF;QACAwS,sBACErF,OAAe,EACfsF,YAAoB,EACpBC,kBAA0B,EAC1BC,YAA6C,EAC7CC,UAAkC,EAClCC,OAAsC;YAEtC,OAAO7C,YAAYwC,oBAAoB,CACrCrF,SACAsF,cACAC,oBACAC,cACAC,YACAC;QAEJ;QACAC,oBAAmBC,SAAiB;YAClC,MAAM,qBAEL,CAFK,IAAI/S,MACR,gEADI,qBAAA;uBAAA;4BAAA;8BAAA;YAEN;QACF;QACAgT,wBAAuBD,SAAiB;YACtC,MAAM,qBAEL,CAFK,IAAI/S,MACR,oEADI,qBAAA;uBAAA;4BAAA;8BAAA;YAEN;QACF;QACAiT,gBAAeC,SAAmB;YAChC,MAAM,qBAAoE,CAApE,IAAIlT,MAAM,4DAAV,qBAAA;uBAAA;4BAAA;8BAAA;YAAmE;QAC3E;QACAmT,oBAAmBD,SAAmB;YACpC,MAAM,qBAEL,CAFK,IAAIlT,MACR,gEADI,qBAAA;uBAAA;4BAAA;8BAAA;YAEN;QACF;IACF;IACA,OAAO8Q;AACT;AAEA;;;CAGC,GACD,SAAShP,WAAW+N,UAAmB;IACrC,IAAIjQ,gBAAgB;QAClB,OAAOA;IACT;IAEA,IAAIvC,QAAQC,GAAG,CAAC6C,cAAc,EAAE;QAC9B,MAAM,qBAA+D,CAA/D,IAAIH,MAAM,uDAAV,qBAAA;mBAAA;wBAAA;0BAAA;QAA8D;IACtE;IAEA,MAAMoT,iBAA8B,CAAC,CAAChU,uCAClCuD,QAAQvD,wCACR;IACJ,IAAI4D,WAAwBoQ;IAC5B,IAAInS,WAAkB,EAAE;IAExB,MAAMoS,uBAAuBhW,QAAQC,GAAG,CAAC+V,oBAAoB;IAC7D,KAAK,MAAM1U,UAAUI,QAAS;QAC5B,IAAIsU,sBAAsB;YACxB,IAAI;gBACF,2GAA2G;gBAC3GrQ,WAAWL,QACT,GAAG0Q,qBAAqB,UAAU,EAAE1U,OAAOmE,eAAe,CAAC,KAAK,CAAC;gBAEnElF,QACE;gBAEF;YACF,EAAE,OAAOgJ,GAAG,CAAC;QACf,OAAO;YACL,IAAI;gBACF5D,WAAWL,QACT,CAAC,0BAA0B,EAAEhE,OAAOmE,eAAe,CAAC,KAAK,CAAC;gBAE5DlF,QAAQ;gBACR;YACF,EAAE,OAAOgJ,GAAG,CAAC;QACf;IACF;IAEA,IAAI,CAAC5D,UAAU;QACb,KAAK,MAAMrE,UAAUI,QAAS;YAC5B,IAAIoR,MAAMN,aACNrN,aAAI,CAACC,IAAI,CACPoN,YACA,CAAC,UAAU,EAAElR,OAAOmE,eAAe,EAAE,EACrC,CAAC,SAAS,EAAEnE,OAAOmE,eAAe,CAAC,KAAK,CAAC,IAE3C,CAAC,UAAU,EAAEnE,OAAOmE,eAAe,EAAE;YACzC,IAAI;gBACFE,WAAWL,QAAQwN;gBACnB,IAAI,CAACN,YAAY;oBACfxQ,qBAAqBsD,QAAQ,GAAGwN,IAAI,aAAa,CAAC;gBACpD;gBACA;YACF,EAAE,OAAOvJ,GAAQ;gBACf,IAAIA,CAAAA,qBAAAA,EAAG2J,IAAI,MAAK,oBAAoB;oBAClCtP,SAAS8B,IAAI,CAAC,CAAC,kBAAkB,EAAEoN,IAAI,0BAA0B,CAAC;gBACpE,OAAO;oBACLlP,SAAS8B,IAAI,CACX,CAAC,kBAAkB,EAAEoN,IAAI,yBAAyB,EAAEvJ,EAAE4J,OAAO,IAAI5J,GAAG;gBAExE;gBACAnH,kCAAkCmH,CAAAA,qBAAAA,EAAG2J,IAAI,KAAI;YAC/C;QACF;IACF;IAEA,IAAIvN,UAAU;QACZpD,iBAAiB;YACfuR,QAAQ;YACRlU,WAAUmU,GAAW,EAAElK,OAAY;oBAO7BA;gBANJ,MAAMoM,WACJ,OAAOlC,QAAQ,eACf,OAAOA,QAAQ,YACf,CAACmC,OAAOC,QAAQ,CAACpC;gBACnBlK,UAAUA,WAAW,CAAC;gBAEtB,IAAIA,4BAAAA,eAAAA,QAASuM,GAAG,qBAAZvM,aAAcwM,MAAM,EAAE;oBACxBxM,QAAQuM,GAAG,CAACC,MAAM,CAACC,MAAM,GAAGzM,QAAQuM,GAAG,CAACC,MAAM,CAACC,MAAM,IAAI;gBAC3D;gBAEA,OAAO3Q,SAAS/F,SAAS,CACvBqW,WAAWhH,KAAKC,SAAS,CAAC6E,OAAOA,KACjCkC,UACAM,SAAS1M;YAEb;YAEAhK,eAAckU,GAAW,EAAElK,OAAY;oBAajCA;gBAZJ,IAAI,OAAOkK,QAAQ,aAAa;oBAC9B,MAAM,qBAEL,CAFK,IAAIpR,MACR,qEADI,qBAAA;+BAAA;oCAAA;sCAAA;oBAEN;gBACF,OAAO,IAAIuT,OAAOC,QAAQ,CAACpC,MAAM;oBAC/B,MAAM,qBAEL,CAFK,IAAIpR,MACR,qEADI,qBAAA;+BAAA;oCAAA;sCAAA;oBAEN;gBACF;gBACA,MAAMsT,WAAW,OAAOlC,QAAQ;gBAChClK,UAAUA,WAAW,CAAC;gBAEtB,IAAIA,4BAAAA,eAAAA,QAASuM,GAAG,qBAAZvM,aAAcwM,MAAM,EAAE;oBACxBxM,QAAQuM,GAAG,CAACC,MAAM,CAACC,MAAM,GAAGzM,QAAQuM,GAAG,CAACC,MAAM,CAACC,MAAM,IAAI;gBAC3D;gBAEA,OAAO3Q,SAAS9F,aAAa,CAC3BoW,WAAWhH,KAAKC,SAAS,CAAC6E,OAAOA,KACjCkC,UACAM,SAAS1M;YAEb;YAEApK,QAAOsU,GAAW,EAAElK,OAAY;gBAC9B,OAAOlE,SAASlG,MAAM,CAACyW,OAAOM,IAAI,CAACzC,MAAMwC,SAAS1M,WAAW,CAAC;YAChE;YAEAmK,YAAWD,GAAW,EAAElK,OAAY;gBAClC,OAAOlE,SAASqO,UAAU,CAACkC,OAAOM,IAAI,CAACzC,MAAMwC,SAAS1M,WAAW,CAAC;YACpE;YAEAnK,OAAMqU,GAAW,EAAElK,OAAY;gBAC7B,OAAOlE,SAASjG,KAAK,CAACqU,KAAKwC,SAAS1M,WAAW,CAAC;YAClD;YAEAoK,iBAAiBtO,SAASsO,eAAe;YACzC5U,2BAA2BsG,SAAStG,yBAAyB;YAC7DM,yBAAyBgG,SAAShG,uBAAuB;YACzDuU,OAAO;gBACL/B,eAAejK,aAAa6N,kBAAkBpQ,UAAU;gBACxDyO,2BAA0BqC,aAAa,EAAEC,IAAI;oBAC3C/V,KAAImB,IAAI,CACN,CAAC,sEAAsE,EAAE4U,QAAQ,OAAO,CAAC,MAAM,EAAEA,MAAM,GAAG,IAAI;oBAE9GX,CAAAA,kBAAkBpQ,QAAO,EAAGyO,yBAAyB,CACrDqC,eACAC;gBAEJ;YACF;YACAnC,KAAK;gBACHC,SAAQT,GAAW,EAAElK,OAAY;oBAC/B,OAAOlE,SAAS8O,UAAU,CAACV,KAAKwC,SAAS7B,cAAc7K;gBACzD;gBACA8K,aAAYZ,GAAW,EAAElK,OAAY;oBACnClE,SAASiP,cAAc,CAACb,KAAKwC,SAAS7B,cAAc7K;gBACtD;YACF;YACA6J,KAAK;gBACHC,WAAW;oBACT/T,WAAU+W,gBAAqB;wBAC7B,OAAOhR,SAASiR,qBAAqB,CAACD;oBACxC;oBACA9C,oBAAmBgD,oBAAyB;wBAC1C,OAAOlR,SAASmR,mCAAmC,CACjDD;oBAEJ;gBACF;YACF;YACAhC,eAAe;gBACbvV,yBAAyB,CAACyX;oBACxB,OAAOpR,SAASrG,uBAAuB,CAACyX;gBAC1C;YACF;YACAhC,QAAQ;gBACN5V,uBAAuB,SACrB6X,YAAoB;oBAEpB,OAAOrR,SAASxG,qBAAqB,CAAC6X;gBACxC;gBACAlX,oBAAoB,SAClByP,MAAc,EACd0H,YAAqB;oBAErB,OAAOtR,SAAS7F,kBAAkB,CAACyP,QAAQ0H;gBAC7C;YACF;YACA9B,sBACErF,OAAe,EACfsF,YAAoB,EACpBC,kBAA0B,EAC1BC,YAA6C,EAC7CC,UAAkC,EAClCC,OAAsC;gBAEtC,OAAO7P,SAASwP,oBAAoB,CAClCrF,SACAsF,cACAC,oBACAC,cACAC,YACAC;YAEJ;YACAC,oBAAmBxJ,QAAgB;gBACjC,OAAOtG,SAAS8P,kBAAkB,CAACxJ;YACrC;YACA0J,wBAAuB1J,QAAgB;gBACrC,OAAOtG,SAASgQ,sBAAsB,CAAC1J;YACzC;YACA2J,gBAAesB,QAAkB;gBAC/B,OAAOvR,SAASiQ,cAAc,CAACsB;YACjC;YACApB,oBAAmBoB,QAAkB;gBACnC,OAAOvR,SAASmQ,kBAAkB,CAACoB;YACrC;QACF;QACA,OAAO3U;IACT;IAEA,MAAMqB;AACR;AAEA,2DAA2D;AAC3D,0CAA0C;AAC1C,SAAS8Q,cAAc7K,UAAe,CAAC,CAAC;IACtC,OAAO;QACL,GAAGA,OAAO;QACVsN,aAAatN,QAAQsN,WAAW,IAAI;QACpCC,KAAKvN,QAAQuN,GAAG,IAAI;QACpBC,SAASxN,QAAQwN,OAAO,IAAI;IAC9B;AACF;AAEA,SAASd,SAASe,CAAM;IACtB,OAAOpB,OAAOM,IAAI,CAACvH,KAAKC,SAAS,CAACoI;AACpC;AAEO,eAAe1X,UAAUmU,GAAW,EAAElK,OAAa;IACxD,IAAIlE,WAAWzG;IACf,OAAOyG,SAAS/F,SAAS,CAACmU,KAAKlK;AACjC;AAGO,SAAShK,cAAckU,GAAW,EAAElK,OAAa;IACtD,MAAMlE,WAAWQ;IACjB,OAAOR,SAAS9F,aAAa,CAACkU,KAAKlK;AACrC;AAEO,SAASpK,OACdsU,GAAW,EACXlK,OAAY;IAEZ,MAAMlE,WAAWzG;IACjB,OAAOyG,SAASlG,MAAM,CAACsU,KAAKlK;AAC9B;AAEO,SAASvK,wBAAwByX,QAAgB;IACtD,MAAMpR,WAAWzG;IACjB,OAAOyG,SAASkP,aAAa,CAACvV,uBAAuB,CAACyX;AACxD;AAEO,eAAerX,MAAMqU,GAAW,EAAElK,OAAY;IACnD,MAAMlE,WAAWzG;IACjB,MAAMqY,gBAAgBC,IAAAA,yBAAgB,EAAC3N;IACvC,MAAM4N,SAAS,MAAM9R,SAASjG,KAAK,CAACqU,KAAKwD;IACzC,OAAOtI,KAAKvP,KAAK,CAAC+X;AACpB;AAEO,SAASxY;QAEJsD;IADV,OAAO;QACLmV,MAAM,EAAEnV,mCAAAA,kCAAAA,eAAgB0R,eAAe,qBAA/B1R,qCAAAA;IACV;AACF;AAMO,SAASlD,0BAA0BsY,aAAsB;IAC9D,IAAI,CAAClV,oBAAoB;YAGrBvD,4CAAAA;QAFF,6CAA6C;QAC7CuD,sBACEvD,6CAAAA,CAAAA,mBAAAA,mBAAkBG,yBAAyB,qBAA3CH,gDAAAA,kBAA8CyY;IAClD;AACF;AAEA,SAASC,KAAKC,EAAc;IAC1B,IAAIC,WAAW;IAEf,OAAO;QACL,IAAI,CAACA,UAAU;YACbA,WAAW;YAEXD;QACF;IACF;AACF;AAWO,MAAMlY,0BAA0BiY,KAAK;IAC1C,IAAI;QACF,IAAInV,oBAAoB;gBACtBvD,0CAAAA;aAAAA,2CAAAA,CAAAA,mBAAAA,mBAAkBS,uBAAuB,qBAAzCT,8CAAAA,kBAA4CuD;QAC9C;IACF,EAAE,OAAO8G,GAAG;IACV,sEAAsE;IACxE;AACF;AAEO,eAAepK,sBACpB6X,YAAoB;IAEpB,OAAO9X,kBAAkB6V,MAAM,CAAC5V,qBAAqB,CAAC6X;AACxD;AAEO,eAAelX,mBACpByP,MAAc,EACd0H,YAAqB;IAErB,OAAO/X,kBAAkB6V,MAAM,CAACjV,kBAAkB,CAACyP,QAAQ0H;AAC7D","ignoreList":[0]}

LittleDemon - FACEBOOK
[ KELUAR ]