---
title: "Validate"
description: "How log10x_validate runs your candidate config, and how to reproduce\
  \ a failing run locally"
source: "https://github.com/log-10x/modules/tree/main/pipelines/mcp/app.yaml"
icon: "material/play-circle-outline"

---
When an agent calls `log10x_validate`, the server spawns `tenx @apps/mcp` as a subprocess. The subprocess reads log lines on stdin and writes `TenXObject`s + `TenXTemplate`s as JSON lines on stdout. No filesystem, no network. The server parses the output and returns it to the agent.

You almost never invoke `@apps/mcp` directly, the server handles the subprocess lifecycle. This page exists for debugging: when `log10x_validate` returns something unexpected and you want to see exactly what the engine did with your candidate config.

## Reproduce a `log10x_validate` run locally

Pipe the same log lines the agent piped, against the same candidate config:

```bash
echo "<your log line>" | tenx @apps/mcp
```

Stack your candidate config after the base app:

```bash
echo "<your log line>" | tenx @apps/mcp @/path/to/your-config.yaml
```

The stdout is exactly what `log10x_validate` returned to the agent. Diff against the agent's reported output to find where they diverge, typically either (a) the agent's interpretation of the output, or (b) a config stacking order issue.

## Why `@apps/mcp` is narrower than `@apps/dev`

`@apps/mcp` omits `httpCode` and `lookup` enrichment because their embedded scripts reference engine builtins that move between releases. Keeping the validate runtime pinned to stable primitives means `log10x_validate` behaves consistently across engine upgrades, agents get the same answer in March as they did in January.

If you need richer enrichment for local exploration (the full pipeline including HTTP code classification and lookup tables), use [Dev](https://doc.log10x.com/apps/dev/ "Test and validate log, symbol library and config files locally") directly instead of `@apps/mcp`.

## :material-wrench-outline: Config Files

To configure the MCP test-drive app, [:material-cog: Edit](https://doc.log10x.com/config/app/#main-config "Learn how to edit app and module configurations") these files:
??? tenx-mainconfig "Main Config"

    <a id="mainconfig"></a>
    ### Main Config {.hidden-heading}

    The main config file loads the MCP test-drive app's required modules.

    Uncomment selected modules at: [mcp/config.yaml](https://github.dev/log-10x/config/blob/main/pipelines/apps/mcp/config.yaml "mcp/config.yaml"){target="\_blank"}.  
  
    <div class="edit-options">
        <a class="md-button tenx-edit-online-button" data-tooltip="Edit online on github.dev" href="https://github.dev/log-10x/config/blob/main/pipelines/apps/mcp/config.yaml" target="_blank" rel="noopener noreferrer">
            <span class="twemoji" style="margin-right: 0.3rem;">
                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
                    <path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path>
                </svg>
            </span> Edit Online
        </a>
        <button class="md-button tenx-config.yaml0-edit-button" data-tooltip="Edit configuration file" data-dialog-id="config-yaml0-dialog">
            <span style="margin-right: 0.3rem;">
                <span class="twemoji">
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
                        <path d="M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z"></path>
                    </svg>
                </span>
            </span>Edit Locally
        </button>
    </div>
    
    <dialog id="config-yaml0-dialog" class="md-dialog md-dialog--editor">
        <div class="editor-dialog-wrapper">
            <div class="editor-dialog-header">
                <span class="editor-dialog-title">Edit MCP test-drive Config Locally</span>
                <div class="editor-header-actions">
                    <button class="editor-toolbar-btn yaml-editor-locations" data-tooltip="Save">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M5 20h14v-2H5v2m14-9h-4V3H9v8H5l7 7 7-7Z"></path></svg>
                    </button>
                    <button class="editor-toolbar-btn yaml-editor-reset" data-tooltip="Reset to default">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M12.5 8c-2.65 0-5.05 1-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z"></path></svg>
                    </button>
                    <button class="editor-toolbar-btn yaml-editor-copy" data-tooltip="Copy to clipboard">
                        <svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path></svg>
                        <svg class="icon-check" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" style="display:none;"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg>
                    </button>
                    <span class="header-divider"></span>
                    <button class="editor-toolbar-btn yaml-editor-fullscreen" data-tooltip="Fullscreen">
                        <svg class="icon-maximize" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M5,5H10V7H7V10H5V5M14,5H19V10H17V7H14V5M17,14H19V19H14V17H17V14M10,17V19H5V14H7V17H10Z"></path></svg>
                        <svg class="icon-minimize" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" style="display:none;"><path fill="currentColor" d="M5,16H8V19H10V14H5V16M14,14V19H16V16H19V14H14M16,5V8H19V10H14V5H16M10,5V10H5V8H8V5H10Z"></path></svg>
                    </button>
                    <span class="header-divider"></span>
                    <button class="editor-toolbar-btn editor-dialog-close" onclick="closeDialog('config-yaml0-dialog')" data-tooltip="Close">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"></path></svg>
                    </button>
                </div>
            </div>
            <div class="editor-dialog-content">
                <div class="yaml-editor-container"></div>
            </div>
            <div class="yaml-editor-statusbar">
                <span class="yaml-editor-status"></span>
            </div>
        </div>
        <!-- Locations Popup -->
        <div class="locations-popup" style="display: none;">
            <div class="locations-popup-content">
                <div class="locations-popup-header">
                    <span class="locations-header-label">Download and save to:</span>
                    <button class="locations-popup-close" aria-label="Close">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16">
                            <path fill="currentColor" d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"></path>
                        </svg>
                    </button>
                </div>
                <ul class="locations-list">
                    <li>
                        <span class="location-label">Linux / Docker / macOS
                            <span class="help-icon" data-tooltip="Default system location. The engine automatically reads configs from here at startup. Best for production deployments.">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                            </span>
                        </span>
                        <div class="location-path-row">
                            <code class="default-path location-path" data-tooltip=""
                                data-copy-osx="/etc/log10x/configconfig.yaml"
                                data-copy-nix="/etc/log10x/configconfig.yaml"
                                data-copy-win="C:\log10x\configsconfig.yaml"></code>
                            <button class="copy-btn" data-tooltip="Copy path">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                    <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                                </svg>
                            </button>
                        </div>
                    </li>
                    <li>
                        <span class="location-label">Custom directory
                            <span class="help-icon" data-tooltip="Set TENX_CONFIG environment variable to point to a custom config directory. Useful when you want configs in a non-standard location.">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                            </span>
                        </span>
                        <div class="location-path-row">
                            <code class="location-path" data-tooltip="$TENX_CONFIGconfig.yaml">$TENX_CONFIGconfig.yaml</code>
                            <button class="copy-btn" data-tooltip="Copy path">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                    <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                                </svg>
                            </button>
                        </div>
                    </li>
                    <li>
                        <span class="location-label">Within cloned repo
                            <span class="help-icon" data-tooltip="First run: git clone github.com/log-10x/config. Then save the file to this path within the cloned folder. Use for version control.">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                            </span>
                        </span>
                        <div class="location-path-row">
                            <code class="location-path" data-tooltip="./pipelinesconfig.yaml">./pipelinesconfig.yaml</code>
                            <button class="copy-btn" data-tooltip="Copy path">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                    <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                                </svg>
                            </button>
                        </div>
                    </li>
                </ul>
                <div class="locations-popup-footer">
                    <button class="locations-download-btn" title="Download config file">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                            <path fill="currentColor" d="M5 20h14v-2H5v2m14-9h-4V3H9v8H5l7 7 7-7Z"></path>
                        </svg>
                        <span>Download</span>
                    </button>
                </div>
            </div>
        </div>
    </dialog>
    

    ```yaml
    #
    # 🔟❎ MCP-driven test-drive app
    #
    # A stdin/stdout-only variant of @apps/dev. Every I/O channel that @apps/dev
    # routes through the filesystem (input file, output dirs, dev browser) is
    # replaced here by the process's stdin/stdout, so an MCP tool can pipe log
    # lines in, receive TenXObject + TenXTemplate output, and never touch disk.
    #
    # Intended single invocation:
    #
    #     echo "<log lines>" | tenx @apps/mcp [@<user-provided-code-file>]
    #
    # The caller can stack an additional @<file> that adds modules, constructors,
    # or filters to be validated alongside this app — that file is mounted by
    # the CLI alongside this config.
    #
    # To learn more see https://doc.log10x.com/apps/dev (the @apps/dev sibling).
    
    tenx: run
    
    # Where the engine validates its licence (/api/v1/agent/whoami) and ships
    # its metrics (/api/v1/write). One endpoint drives BOTH: repointing it for
    # licensing also repoints metrics delivery. Unset or empty, the engine has
    # no address to call: metrics stay local and the licence verifies offline.
    backendEndpoint: $=TenXEnv.get("TENX_BACKEND_ENDPOINT", "")
    runtimeName: $=TenXEnv.get("TENX_RUNTIME_NAME", "myMcp")
    
    # ============================ Load App Modules ===============================
    
    include:
    
      # ------------------------------ App settings ---------------------------------
    
      # Load general app settings from modules/apps/mcp.
      - mcp
    
      # ------------------------------ Input: stdin -------------------------------
    
      # Open stdin as the pipeline's only input. stdinEnabled defaults to true
      # in the module, but set explicitly below so a caller passing `-in false`
      # can suppress it without having to override two variables.
      - run/input/stdin                # https://doc.log10x.com/run/input/stdin
    
      # --------------------------- Enrich TenXObjects ----------------------------
    
      # Minimal enrichment chain: level + group + message. Enough for template
      # extraction and timestamp classification, which is what most validation
      # tests need. Deliberately omits `httpCode` and `lookup` because their
      # embedded scripts reference engine builtins (e.g. findTokenNear) that
      # vary between engine versions and would force the caller onto a
      # specific CLI vintage.
      - run/initialize/inputField      # https://doc.log10x.com/run/initialize/#inputfield
      - run/initialize/level           # https://doc.log10x.com/run/initialize/level
      - run/initialize/group           # https://doc.log10x.com/run/initialize/group
      - run/initialize/message         # https://doc.log10x.com/run/initialize/message
    
      # `custom` auto-discovers user-supplied object constructors (e.g., a
      # GeoRefCityObject-style `TenXObject`-extender, or a debug logger) from
      # whatever .js files the caller mounts under an included directory.
      - run/initialize/custom          # https://doc.log10x.com/run/transform/script/object
    
      # ------------------------------ Output: stdout -----------------------------
    
      # Forked stdout config with per-line prefixes the MCP wrapper demuxes:
      #   `~`        → encoded event,  `{` → template JSON,  `summary=` → aggregate.
      - apps/mcp/stdout
    
    # ============================== Runtime args ================================
    
    # Force stdin + stdout on by default. Both can still be toggled from the
    # command line (`-stdinEnabled false`, `-stdoutWriteObjects false`).
    stdoutTarget: SYSTEM_OUT
    stdoutWriteObjects: true
    
    # Do NOT set `quiet: true` here (unlike @apps/retriever/*). The whole
    # point of @apps/mcp is surfacing TenXConsole.log / TenXLog.info output so
    # validation can inspect runtime-side assertions.
    ```

??? tenx-inputs "Inputs"

    <a id="inputs"></a>
    ### Inputs {.hidden-heading}

    Activate [Event inputs](/run/input "Read events into the pipeline from local and remote sources") to read events from local/remote sources to transform into TenXObjects.

    Below is the default configuration from: [stdin/config.yaml](https://github.dev/log-10x/config/blob/main/pipelines/run/input/stdin/config.yaml "stdin/config.yaml"){target="\_blank"}.  
  
    <div class="edit-options">
        <a class="md-button tenx-edit-online-button" data-tooltip="Edit online on github.dev" href="https://github.dev/log-10x/config/blob/main/pipelines/run/input/stdin/config.yaml" target="_blank" rel="noopener noreferrer">
            <span class="twemoji" style="margin-right: 0.3rem;">
                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
                    <path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path>
                </svg>
            </span> Edit Online
        </a>
        <button class="md-button tenx-config.yaml1-edit-button" data-tooltip="Edit configuration file" data-dialog-id="config-yaml1-dialog">
            <span style="margin-right: 0.3rem;">
                <span class="twemoji">
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
                        <path d="M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z"></path>
                    </svg>
                </span>
            </span>Edit Locally
        </button>
    </div>
    
    <dialog id="config-yaml1-dialog" class="md-dialog md-dialog--editor">
        <div class="editor-dialog-wrapper">
            <div class="editor-dialog-header">
                <span class="editor-dialog-title">Edit stdin device input Config Locally</span>
                <div class="editor-header-actions">
                    <button class="editor-toolbar-btn yaml-editor-locations" data-tooltip="Save">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M5 20h14v-2H5v2m14-9h-4V3H9v8H5l7 7 7-7Z"></path></svg>
                    </button>
                    <button class="editor-toolbar-btn yaml-editor-reset" data-tooltip="Reset to default">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M12.5 8c-2.65 0-5.05 1-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z"></path></svg>
                    </button>
                    <button class="editor-toolbar-btn yaml-editor-copy" data-tooltip="Copy to clipboard">
                        <svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path></svg>
                        <svg class="icon-check" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" style="display:none;"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg>
                    </button>
                    <span class="header-divider"></span>
                    <button class="editor-toolbar-btn yaml-editor-fullscreen" data-tooltip="Fullscreen">
                        <svg class="icon-maximize" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M5,5H10V7H7V10H5V5M14,5H19V10H17V7H14V5M17,14H19V19H14V17H17V14M10,17V19H5V14H7V17H10Z"></path></svg>
                        <svg class="icon-minimize" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" style="display:none;"><path fill="currentColor" d="M5,16H8V19H10V14H5V16M14,14V19H16V16H19V14H14M16,5V8H19V10H14V5H16M10,5V10H5V8H8V5H10Z"></path></svg>
                    </button>
                    <span class="header-divider"></span>
                    <button class="editor-toolbar-btn editor-dialog-close" onclick="closeDialog('config-yaml1-dialog')" data-tooltip="Close">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"></path></svg>
                    </button>
                </div>
            </div>
            <div class="editor-dialog-content">
                <div class="yaml-editor-container"></div>
            </div>
            <div class="yaml-editor-statusbar">
                <span class="yaml-editor-status"></span>
            </div>
        </div>
        <!-- Locations Popup -->
        <div class="locations-popup" style="display: none;">
            <div class="locations-popup-content">
                <div class="locations-popup-header">
                    <span class="locations-header-label">Download and save to:</span>
                    <button class="locations-popup-close" aria-label="Close">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16">
                            <path fill="currentColor" d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"></path>
                        </svg>
                    </button>
                </div>
                <ul class="locations-list">
                    <li>
                        <span class="location-label">Linux / Docker / macOS
                            <span class="help-icon" data-tooltip="Default system location. The engine automatically reads configs from here at startup. Best for production deployments.">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                            </span>
                        </span>
                        <div class="location-path-row">
                            <code class="default-path location-path" data-tooltip=""
                                data-copy-osx="/etc/log10x/config/run/input/stdin/config.yaml"
                                data-copy-nix="/etc/log10x/config/run/input/stdin/config.yaml"
                                data-copy-win="C:\log10x\configs/run/input/stdin/config.yaml"></code>
                            <button class="copy-btn" data-tooltip="Copy path">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                    <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                                </svg>
                            </button>
                        </div>
                    </li>
                    <li>
                        <span class="location-label">Custom directory
                            <span class="help-icon" data-tooltip="Set TENX_CONFIG environment variable to point to a custom config directory. Useful when you want configs in a non-standard location.">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                            </span>
                        </span>
                        <div class="location-path-row">
                            <code class="location-path" data-tooltip="$TENX_CONFIG/run/input/stdin/config.yaml">$TENX_CONFIG/run/input/stdin/config.yaml</code>
                            <button class="copy-btn" data-tooltip="Copy path">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                    <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                                </svg>
                            </button>
                        </div>
                    </li>
                    <li>
                        <span class="location-label">Within cloned repo
                            <span class="help-icon" data-tooltip="First run: git clone github.com/log-10x/config. Then save the file to this path within the cloned folder. Use for version control.">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                            </span>
                        </span>
                        <div class="location-path-row">
                            <code class="location-path" data-tooltip="./pipelines/run/input/stdin/config.yaml">./pipelines/run/input/stdin/config.yaml</code>
                            <button class="copy-btn" data-tooltip="Copy path">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                    <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                                </svg>
                            </button>
                        </div>
                    </li>
                </ul>
                <div class="locations-popup-footer">
                    <button class="locations-download-btn" title="Download config file">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                            <path fill="currentColor" d="M5 20h14v-2H5v2m14-9h-4V3H9v8H5l7 7 7-7Z"></path>
                        </svg>
                        <span>Download</span>
                    </button>
                </div>
            </div>
        </div>
    </dialog>
    
    <template class="tenx-config-schema" data-encoding="base64">ewogICJ0eXBlIiA6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIiA6IHsKICAgICJpbmNsdWRlIiA6IHsKICAgICAgInR5cGUiIDogInN0cmluZyIKICAgIH0sCiAgICAidGVueCIgOiB7CiAgICAgICJ0eXBlIiA6ICJzdHJpbmciCiAgICB9LAogICAgInN0ZGluIiA6IHsKICAgICAgInR5cGUiIDogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyIgOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMiIDogewogICAgICAgICJlbmFibGVkIiA6IHsKICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICJib29sZWFuIiwKICAgICAgICAgICAgIm51bGwiCiAgICAgICAgICBdLAogICAgICAgICAgIm1hcmtkb3duRGVzY3JpcHRpb24iIDogIkVuYWJsZS9kaXNhYmxlIHN0ZGluIGlucHV0XG5cblNwZWNpZmllcyB3aGV0aGVyIHRvIHJlYWQgZXZlbnQgZGF0YSBmcm9tIHRoZSBzdGRpbiBwaXBlIChEZWZhdWx0OiB0cnVlKSIsCiAgICAgICAgICAiZGVmYXVsdCIgOiAidHJ1ZSIKICAgICAgICB9LAogICAgICAgICJleHRyYWN0b3JzIiA6IHsKICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgImFycmF5IiwKICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICJudWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJKU09OIC8gcmVnZXggZXh0cmFjdG9yIG5hbWVzXG5cbkRlZmluZXMgYSBsaXN0IG9mIEpTT04vcmVnZXggZXh0cmFjdG9yIG5hbWVzIHRvIGNhcHR1cmUgZXZlbnRzIGZyb20gJ2lucHV0RmlsZVBhdGgnIHRvIHRyYW5zZm9ybSBpbnRvIFRlblhPYmplY3RzLiBFYWNoIGl0ZW0gaW4gdGhlIGxpc3Qgc2hvdWxkIG1hcCB0byBhbiBleHRyYWN0b3IgZGVmaW5lZCB2aWEgYSBjb25maWd1cmF0aW9uIGZpbGUgb3Igc3RhcnR1cCBhcmd1bWVudHMgZ3JvdXAuIFRvIGxlYXJuIG1vcmUgc2VlOiBbZXh0cmFjdG9yc10oaHR0cHM6Ly9kb2MubG9nMTB4LmNvbS9ydW4vaW5wdXQvZXh0cmFjdCkuIiwKICAgICAgICAgICJpdGVtcyIgOiB7CiAgICAgICAgICAgICJ0eXBlIiA6ICJzdHJpbmciCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAic291cmNlUGF0dGVybiIgOiB7CiAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICJzdHJpbmciLAogICAgICAgICAgICAibnVsbCIKICAgICAgICAgIF0sCiAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiRXZlbnQgc291cmNlIGNhcHR1cmUgcmVnZXggcGF0dGVyblxuXG5EZWZpbmVzIGEgcmVnZXggcGF0dGVybiB0byBjYXB0dXJlICdzb3VyY2UnIHZhbHVlcyBmb3IgZWFjaCB0cmFuc2Zvcm1lZCBUZW5YT2JqZWN0LiBUYWdzIHByb3ZpZGUgYSBtZXRob2QgZm9yIHNlcXVlbmNpbmcgVGVuWE9iamVjdHMgcmVhZCBmcm9tIHRoaXMgaW5wdXQgdmFsdWUgaW4gc2VwYXJhdGUgbG9naWNhbCBxdWV1ZXMuIEZvciBleGFtcGxlLCBjYXB0dXJpbmcgYSAnaG9zdCcgb3IgJ2ZpbGVOYW1lJyB2YWx1ZSBhcyBhICdzb3VyY2UnIGNyZWF0ZXMgYSBzZXBhcmF0ZSBsb2dpY2FsIHF1ZXVlIGZvciAgZWFjaCB1bmlxdWUgZmlsZS9ob3N0IG9yaWdpbiBieSB3aGljaCBUZW5YT2JqZWN0cyByZWFkIGZyb20gdGhpcyBpbnB1dCBhcmUgYWdncmVnYXRlZCBhbmQgd3JpdHRlbiB0byBvdXRwdXQuIFRoZSBbc291cmNlXShodHRwczovL2RvYy5sb2cxMHguY29tL2FwaS9qcy8jVGVuWE9iamVjdCtzb3VyY2UpIG1lbWJlciByZXR1cm5zIGVhY2ggVGVuWE9iamVjdCdzIGFzc2lnbmVkIHZhbHVlLiIKICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9LAogICJhZGRpdGlvbmFsUHJvcGVydGllcyIgOiB0cnVlCn0=</template>

    ```yaml
    # 🔟❎ 'run' Stdin input configuration
    
    # Configure a stdin event input. To learn more see https://doc.log10x.com/run/input/stdin/
    
    # Set the 10x pipeline to 'run'
    tenx: run
    
    # =============================== Dependencies ================================
    
    include: run/modules/input/stdin
    
    # =============================== Stdin Options ===============================
    
    # NOTE: a pipeline should configure no more than a single stdin input
    
    stdin:
    
      enabled: true
    
      # ---------------------------- Parsing Options ----------------------------
    
        # 'extractors' defines a list of JSON/regex extractor names
        #  used to capture and redact event values from 'path' to transform 
        #  into TenXObjects. To learn more see: https://doc.log10x.com/run/input/extract         
      extractors: [
      ]
    
      # 'sourcePattern' defines a regex pattern that captures a 'source' value
      #  for each event read from the file and transformed into an TenXObject.
      #  This value will be used to sequence all events sharing this 'source' value correctly 
      #  so they are not mixed with events originating from different locations.    
      sourcePattern: null  
    ```

??? tenx-initializers "Initializers"

    <a id="initializers"></a>
    ### Initializers {.hidden-heading}

    Activate an [Object initializer](/run/initialize "Enrich TenXObjects with additional context") to enrich TenXObjects with additional context.

    === ":material-origin: Message"

  
        #### message {.hidden-heading}
        Configure  the [Symbol Message Calculator](/run/initialize/message "Enrich TenXObjects with logical message symbol sequence and origin values") to enrich TenXObjects with logical message symbol sequence and origin values.  
  
        Below is the default configuration from: [message/config.yaml](https://github.dev/log-10x/config/blob/main/pipelines/run/initialize/message/config.yaml "message/config.yaml"){target="\_blank"}.  
  
        <div class="edit-options">
            <a class="md-button tenx-edit-online-button" data-tooltip="Edit online on github.dev" href="https://github.dev/log-10x/config/blob/main/pipelines/run/initialize/message/config.yaml" target="_blank" rel="noopener noreferrer">
                <span class="twemoji" style="margin-right: 0.3rem;">
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
                        <path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path>
                    </svg>
                </span> Edit Online
            </a>
            <button class="md-button tenx-config.yaml2-edit-button" data-tooltip="Edit configuration file" data-dialog-id="config-yaml2-dialog">
                <span style="margin-right: 0.3rem;">
                    <span class="twemoji">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
                            <path d="M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z"></path>
                        </svg>
                    </span>
                </span>Edit Locally
            </button>
        </div>
        
        <dialog id="config-yaml2-dialog" class="md-dialog md-dialog--editor">
            <div class="editor-dialog-wrapper">
                <div class="editor-dialog-header">
                    <span class="editor-dialog-title">Edit Symbol Message Calculator Config Locally</span>
                    <div class="editor-header-actions">
                        <button class="editor-toolbar-btn yaml-editor-locations" data-tooltip="Save">
                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M5 20h14v-2H5v2m14-9h-4V3H9v8H5l7 7 7-7Z"></path></svg>
                        </button>
                        <button class="editor-toolbar-btn yaml-editor-reset" data-tooltip="Reset to default">
                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M12.5 8c-2.65 0-5.05 1-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z"></path></svg>
                        </button>
                        <button class="editor-toolbar-btn yaml-editor-copy" data-tooltip="Copy to clipboard">
                            <svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path></svg>
                            <svg class="icon-check" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" style="display:none;"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg>
                        </button>
                        <span class="header-divider"></span>
                        <button class="editor-toolbar-btn yaml-editor-fullscreen" data-tooltip="Fullscreen">
                            <svg class="icon-maximize" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M5,5H10V7H7V10H5V5M14,5H19V10H17V7H14V5M17,14H19V19H14V17H17V14M10,17V19H5V14H7V17H10Z"></path></svg>
                            <svg class="icon-minimize" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" style="display:none;"><path fill="currentColor" d="M5,16H8V19H10V14H5V16M14,14V19H16V16H19V14H14M16,5V8H19V10H14V5H16M10,5V10H5V8H8V5H10Z"></path></svg>
                        </button>
                        <span class="header-divider"></span>
                        <button class="editor-toolbar-btn editor-dialog-close" onclick="closeDialog('config-yaml2-dialog')" data-tooltip="Close">
                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"></path></svg>
                        </button>
                    </div>
                </div>
                <div class="editor-dialog-content">
                    <div class="yaml-editor-container"></div>
                </div>
                <div class="yaml-editor-statusbar">
                    <span class="yaml-editor-status"></span>
                </div>
            </div>
            <!-- Locations Popup -->
            <div class="locations-popup" style="display: none;">
                <div class="locations-popup-content">
                    <div class="locations-popup-header">
                        <span class="locations-header-label">Download and save to:</span>
                        <button class="locations-popup-close" aria-label="Close">
                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16">
                                <path fill="currentColor" d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"></path>
                            </svg>
                        </button>
                    </div>
                    <ul class="locations-list">
                        <li>
                            <span class="location-label">Linux / Docker / macOS
                                <span class="help-icon" data-tooltip="Default system location. The engine automatically reads configs from here at startup. Best for production deployments.">
                                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                                </span>
                            </span>
                            <div class="location-path-row">
                                <code class="default-path location-path" data-tooltip=""
                                    data-copy-osx="/etc/log10x/config/run/initialize/message/config.yaml"
                                    data-copy-nix="/etc/log10x/config/run/initialize/message/config.yaml"
                                    data-copy-win="C:\log10x\configs/run/initialize/message/config.yaml"></code>
                                <button class="copy-btn" data-tooltip="Copy path">
                                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                        <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                                    </svg>
                                </button>
                            </div>
                        </li>
                        <li>
                            <span class="location-label">Custom directory
                                <span class="help-icon" data-tooltip="Set TENX_CONFIG environment variable to point to a custom config directory. Useful when you want configs in a non-standard location.">
                                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                                </span>
                            </span>
                            <div class="location-path-row">
                                <code class="location-path" data-tooltip="$TENX_CONFIG/run/initialize/message/config.yaml">$TENX_CONFIG/run/initialize/message/config.yaml</code>
                                <button class="copy-btn" data-tooltip="Copy path">
                                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                        <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                                    </svg>
                                </button>
                            </div>
                        </li>
                        <li>
                            <span class="location-label">Within cloned repo
                                <span class="help-icon" data-tooltip="First run: git clone github.com/log-10x/config. Then save the file to this path within the cloned folder. Use for version control.">
                                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                                </span>
                            </span>
                            <div class="location-path-row">
                                <code class="location-path" data-tooltip="./pipelines/run/initialize/message/config.yaml">./pipelines/run/initialize/message/config.yaml</code>
                                <button class="copy-btn" data-tooltip="Copy path">
                                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                        <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                                    </svg>
                                </button>
                            </div>
                        </li>
                    </ul>
                    <div class="locations-popup-footer">
                        <button class="locations-download-btn" title="Download config file">
                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                <path fill="currentColor" d="M5 20h14v-2H5v2m14-9h-4V3H9v8H5l7 7 7-7Z"></path>
                            </svg>
                            <span>Download</span>
                        </button>
                    </div>
                </div>
            </div>
        </dialog>
        
        <template class="tenx-config-schema" data-encoding="base64">ewogICJ0eXBlIiA6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIiA6IHsKICAgICJpbmNsdWRlIiA6IHsKICAgICAgInR5cGUiIDogInN0cmluZyIKICAgIH0sCiAgICAidGVueCIgOiB7CiAgICAgICJ0eXBlIiA6ICJzdHJpbmciCiAgICB9LAogICAgInN5bWJvbCIgOiB7CiAgICAgICJ0eXBlIiA6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiIDogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIiA6IHsKICAgICAgICAiY29udGV4dHMiIDogewogICAgICAgICAgInR5cGUiIDogWwogICAgICAgICAgICAic3RyaW5nIiwKICAgICAgICAgICAgIm51bGwiCiAgICAgICAgICBdLAogICAgICAgICAgIm1hcmtkb3duRGVzY3JpcHRpb24iIDogIlR5cGVzIG9mIHN5bWJvbHMgdG8gc2VhcmNoXG5cblNwZWNpZmllcyBhIGNvbW1hIGRlbGltaXRlZCBsaXN0IG9mIFtzeW1ib2wgY29udGV4dHNdKGh0dHBzOi8vZG9jLmxvZzEweC5jb20vcnVuL3RyYW5zZm9ybS9zeW1ib2wvI2NvbnRleHRzKSB2YWx1ZXMuIFRoaXMgaXMgYXJndW1lbnQgaXMgcGFzc2VkIGFzIHRoZSBgc3ltYm9sQ29udGV4dHNgIGFyZ3VtZW50IHZhbHVlIGZvciB0aGUgW3N5bWJvbFNlcXVlbmNlXShodHRwczovL2RvYy5sb2cxMHguY29tL2FwaS9qcy8jVGVuWE9iamVjdCtzeW1ib2xTZXF1ZW5jZSkgZnVuY3Rpb24uICBUaGUgbGlzdGVkIGNvbnRleHRzIGFyZSBldmFsdWF0ZWQgaW4gYSBzaW5nbGUgcGFzcywgc28gbGlzdCBvcmRlciBhY3RzIGFzIGEgZmlsdGVyIHJhdGhlciB0aGFuIGEgcHJlY2VkZW5jZSBjaGFpbi4gKERlZmF1bHQ6IGxvZyxleGVjKSIsCiAgICAgICAgICAiZGVmYXVsdCIgOiAibG9nLGV4ZWMiCiAgICAgICAgfSwKICAgICAgICAibWF4TGVuIiA6IHsKICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgIm51bWJlciIsCiAgICAgICAgICAgICJzdHJpbmciLAogICAgICAgICAgICAibnVsbCIKICAgICAgICAgIF0sCiAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiTWF4IG51bWJlciBvZiBvdXRwdXQgY2hhcnNcblxuU3BlY2lmaWVzIHRoZSBtYXggbnVtYmVyIG9mIGNoYXJzIG9mIHRoZSBbc3ltYm9sTWVzc2FnZUZpZWxkXShodHRwczovL2RvYy5sb2cxMHguY29tL3J1bi9pbml0aWFsaXplL21lc3NhZ2UvI3N5bWJvbG1lc3NhZ2VmaWVsZCkuIFNldCAwIHRvIHVubGltaXRlZC4gKEFjY2VwdHMgbnVtYmVyIG9yIHN0cmluZyB3aXRoICQ9IHByZWZpeCBmb3IgcnVudGltZSBldmFsdWF0aW9uKSAoRGVmYXVsdDogMCkiLAogICAgICAgICAgImRlZmF1bHQiIDogMAogICAgICAgIH0sCiAgICAgICAgIm1lc3NhZ2UiIDogewogICAgICAgICAgInR5cGUiIDogIm9iamVjdCIsCiAgICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiIDogZmFsc2UsCiAgICAgICAgICAicHJvcGVydGllcyIgOiB7CiAgICAgICAgICAgICJmaWVsZCIgOiB7CiAgICAgICAgICAgICAgInR5cGUiIDogWwogICAgICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICAgICAibnVsbCIKICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJGaWVsZCBuYW1lIHRvIGFzc2lnbiB3aXRoIHN5bWJvbCBzZXF1ZW5jZSB2YWx1ZVxuXG5TcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIGZpZWxkIHRvIGFzc2lnbiB0aGUgcmV0dXJuIHZhbHVlIG9mIFtzeW1ib2xTZXF1ZW5jZV0oaHR0cHM6Ly9kb2MubG9nMTB4LmNvbS9hcGkvanMvI1RlblhPYmplY3Qrc3ltYm9sU2VxdWVuY2UpIGZ1bmN0aW9uIHdoZW4gaW52b2tpbmcgaXQgd2l0aCB0aGUgYSBzeW1ib2xDb250ZXh0IGFyZ3VtZW50IHZhbHVlIG9mIFtzeW1ib2xDb250ZXh0c10oaHR0cHM6Ly9kb2MubG9nMTB4LmNvbS9ydW4vaW5pdGlhbGl6ZS9tZXNzYWdlLyNzeW1ib2xjb250ZXh0cykuICBGb3IgYW4gZXhhbXBsZSwgc2VlIFtzeW1ib2xJbnB1dEZpZWxkXShodHRwczovL2RvYy5sb2cxMHguY29tL3J1bi9pbml0aWFsaXplL21lc3NhZ2UvI3N5bWJvbGlucHV0ZmllbGQpLiAoRGVmYXVsdDogc3ltYm9sTWVzc2FnZSkiLAogICAgICAgICAgICAgICJkZWZhdWx0IiA6ICJzeW1ib2xNZXNzYWdlIgogICAgICAgICAgICB9LAogICAgICAgICAgICAiaGFzaEZpZWxkIiA6IHsKICAgICAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICAgICAic3RyaW5nIiwKICAgICAgICAgICAgICAgICJudWxsIgogICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgIm1hcmtkb3duRGVzY3JpcHRpb24iIDogIkZpZWxkIG5hbWUgdG8gYXNzaWduIHdpdGggdGhlIGhhc2ggb2YgdGhlIHN5bWJvbCBzZXF1ZW5jZSB2YWx1ZVxuXG5TcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIGZpZWxkIHRvIGFzc2lnbiBhIHN0YWJsZSwgVVJMLXNhZmUgaGFzaCBvZiB0aGUgW3N5bWJvbE1lc3NhZ2VGaWVsZF0oaHR0cHM6Ly9kb2MubG9nMTB4LmNvbS9ydW4vaW5pdGlhbGl6ZS9tZXNzYWdlLyNzeW1ib2xtZXNzYWdlZmllbGQpIHZhbHVlLCBjb21wdXRlZCB2aWEgW1RlblhTdHJpbmcuaGFzaF0oaHR0cHM6Ly9kb2MubG9nMTB4LmNvbS9hcGkvanMvI1RlblhTdHJpbmcuaGFzaCkuICBUaGUgdmFsdWUgaXMgYW4gMTEtY2hhcmFjdGVyIGJhc2U2NHVybCBpZGVudGlmaWVyICh4eEhhc2g2NCBvZiB0aGUgVVRGLTggYnl0ZXMsIGJpZy1lbmRpYW4sIG5vIHBhZGRpbmcpLiBJdCBpcyBvbmUtd2F5IGFuZCByZXByb2R1Y2VzIGJ5dGUtZm9yLWJ5dGUgb3V0c2lkZSB0aGUgZW5naW5lLCBzbyBpdCBpcyBzYWZlIHRvIHVzZSBkaXJlY3RseSBhcyBhIGRlZHVwbGljYXRpb24ga2V5LCBtZXRyaWMgZGltZW5zaW9uLCBhbmFseXplciBxdWVyeSB0ZXJtLCBvciBmb3J3YXJkZXIgZmlsdGVyIGtleS4gICoqVW5zZXQgYnkgZGVmYXVsdC4qKiBUaGUgZW5yaWNobWVudCBmaWVsZCBpdHNlbGYgaXMgYWx3YXlzIHByZXNlbnQgb24gdGhlIFRlblhPYmplY3QgdW5kZXIgdGhlIGludGVybmFsIG5hbWUgYHRlbnhfaGFzaGAsIHNvIG1ldHJpY3MgZGltZW5zaW9ucywgdGhlIGFnZ3JlZ2F0aW9uIGtleSBhbmQgdGhlIE1DUCBhcnRpZmFjdHMgY2FycnkgdGhlIHBhdHRlcm4gaGFzaCB3aGV0aGVyIG9yIG5vdCB0aGlzIG9wdGlvbiBpcyBzZXQuIFdoYXQgdGhlIG9wdGlvbiBjb250cm9scyBpcyB0aGUgKndpcmUqIG5hbWUsIGFuZCB3aXRoIGl0IHdoZXRoZXIgdGhlIGhhc2ggcmVhY2hlcyBhIGNvdXBsZWQgbG9nIGZvcndhcmRlcjogb24gdGhlIFtmb3J3YXJkZXIgcmVjZWl2ZSBwYXRoXShodHRwczovL2RvYy5sb2cxMHguY29tL3J1bi9pbnB1dC9mb3J3YXJkZXIvKSB0aGUgcmVjb3JkIGdvZXMgYmFjayB0byB0aGUgZm9yd2FyZGVyIGJ5dGUtZm9yLWJ5dGUgYXMgaXQgYXJyaXZlZCB1bmxlc3MgdGhpcyBvcHRpb24gbmFtZXMgYSBmaWVsZCwgYW5kIHRoZW4gdGhhdCBmaWVsZCBpcyBzcGxpY2VkIG9udG8gdGhlIHJldHVybmVkIHJlY29yZC4gIFNldCBpdCB0byBgdGVueF9oYXNoYCB0byBnZXQgdGhlIGhpc3RvcmljYWwgbmFtZSwgb3IgdG8gYW55IG90aGVyIG5hbWUgdG8gYm90aCByZW5hbWUgdGhlIGVucmljaG1lbnQgZmllbGQgYW5kIHNoaXAgaXQsIGZvciBleGFtcGxlIGBzeW1ib2xNZXNzYWdlSGFzaEZpZWxkIG15X2N1c3RvbV9oYXNoYC4iCiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJvcmlnaW5GaWVsZCIgOiB7CiAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICJzdHJpbmciLAogICAgICAgICAgICAibnVsbCIKICAgICAgICAgIF0sCiAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiRmllbGQgbmFtZSB0byBhc3NpZ24gd2l0aCBzeW1ib2wgbWVzc2FnZSBvcmlnaW4gZmlsZVxuXG5TcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIGZpZWxkIHRvIGFzc2lnbiB0aGUgcmV0dXJuIHZhbHVlIG9mIFtzeW1ib2xPcmlnaW5dKGh0dHBzOi8vZG9jLmxvZzEweC5jb20vYXBpL2pzLyNUZW5YT2JqZWN0K3N5bWJvbE9yaWdpbikgZnVuY3Rpb24uIChEZWZhdWx0OiApIiwKICAgICAgICAgICJkZWZhdWx0IiA6ICIiCiAgICAgICAgfSwKICAgICAgICAic2tlbGV0b25GaWVsZCIgOiB7CiAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICJzdHJpbmciLAogICAgICAgICAgICAibnVsbCIKICAgICAgICAgIF0sCiAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiRmllbGQgbmFtZSBmb3IgdGhlIHBhdHRlcm4gcmVuZGVyaW5nIGhpbnQgKHRoZSBtZXNzYWdlIHNoYXBlIHdpdGggb25lIG1hcmtlciBwZXIgaWRlbnRpdHkgdG9rZW4pXG5cbldoZW4gc2V0LCBlYWNoIHRlbXBsYXRlIGFsc28gY2FycmllcyBhIGBza2VsZXRvbmA6IHRoZSBtZXNzYWdlIHJlZ2lvbiBvZiB0aGUgbG9nIGxpbmUgd2l0aCBgfmAgc3RhbmRpbmcgaW4gZm9yIGV2ZXJ5IHRva2VuIHRoYXQgd2VudCBpbnRvIHRoZSBtZXNzYWdlIHBhdHRlcm4gYW5kIGAkYCBmb3IgZXZlcnkgdmFyaWFibGUuIEEgY29uc3VtZXIgaG9sZGluZyB0aGUgcGF0dGVybiBhbmQgdGhlIHNrZWxldG9uIHJlY29uc3RydWN0cyB0aGUgb3JpZ2luYWwgbGluZSBmb3IgZGlzcGxheSDigJQgcHVuY3R1YXRpb24sIHNwYWNpbmcgYW5kIGRyb3BwZWQgc3RvcHdvcmRzIGluY2x1ZGVkIOKAlCBzbyBhIHJlYWRhYmxlIHBhdHRlcm4gbmVlZHMgbm8gYWNjZXNzIHRvIHRoZSBsb2dzIHRoZW1zZWx2ZXMuIFVuc2V0ICh0aGUgZGVmYXVsdCkgY29tcHV0ZXMgYW5kIGVtaXRzIG5vdGhpbmcuIgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJtZXNzYWdlTmVnYXRvcnMiIDogewogICAgICAidHlwZSIgOiBbCiAgICAgICAgImFycmF5IiwKICAgICAgICAic3RyaW5nIiwKICAgICAgICAibnVsbCIKICAgICAgXSwKICAgICAgIm1hcmtkb3duRGVzY3JpcHRpb24iIDogIkxpc3Qgb2Ygc3RyaW5ncyB0aGF0LCB3aGVuIG1hdGNoZWQgYXQgdGhlIHN0YXJ0IG9mIGEgbG9nIGxpbmUncyB0ZXh0LCBtYXJrIGl0IGFzIGxvdy12YWx1ZSBjb250aW51YXRpb24vYm9pbGVycGxhdGUgdGhhdCBkb2VzIE5PVCByZWNlaXZlIGl0cyBvd24gbWVzc2FnZSBwYXR0ZXJuLlxuXG5BIGxpc3Qgb2Ygc3RyaW5ncyB0aGF0LCB3aGVuIG1hdGNoZWQgYXQgdGhlIHN0YXJ0IG9mIGEgbG9nIGxpbmUncyB0ZXh0LCBtYXJrIGl0IGFzIGEga25vd24gY29udGludWF0aW9uIHBhdHRlcm4gKGUuZy4sIHN0YWNrIHRyYWNlIGZyYW1lLCBpbmRlbnRlZCBkZXRhaWwsIGJhbm5lcikgdGhhdCBzaG91bGQgbm90IHJlY2VpdmUgaXRzIG93biBtZXNzYWdlIHBhdHRlcm4uICBOZWdhdG9ycyBoYXZlIHR3byBjb25zdW1lcnMuIFRoZSBtZXNzYWdlIHRlbXBsYXRlJ3MgZ2F0ZSBldmFsdWF0ZXMgdGhlbSB3aGVuIHRoZSBldmVudCBpcyBuZWl0aGVyIHBhcnQgb2YgYSBtdWx0aS1ldmVudCBncm91cCAoZ3JvdXBTaXplID4gMSkgbm9yIGEgZ3JvdXAgaGVhZDogaW4gdGhhdCBjYXNlLCBhbiBldmVudCBzdGlsbCByZWNlaXZlcyBhIHBhdHRlcm4gdW5sZXNzIGl0IG1hdGNoZXMgYSBuZWdhdG9yLiBUaGlzIGlzIHRoZSBcIkhlbGxvIFdvcmxkIHZzIG9ycGhhbiBzdGFjayBmcmFtZVwiIGRpc2NyaW1pbmF0b3IuIFRoZSBncm91cCB0ZW1wbGF0ZSdzIGhlYWQgZGV0ZWN0aW9uIGFsc28gY29uc3VsdHMgdGhlbSBhcyBhIHZldG8gQkVUV0VFTiB0aGUgdGltZXN0YW1wIGFuZCBzZXZlcml0eSBjaGVja3M6IGEgbmVnYXRvci1wcmVmaXhlZCBsaW5lIGNhbm5vdCBiZSBwcm9tb3RlZCB0byBncm91cCBoZWFkIGJ5IHNldmVyaXR5IGluZmVyZW5jZSBhbG9uZSAoYSB0b2tlbiBsaWtlIGBpbmZvYCBpbnNpZGUgYW4gb2JqZWN0IGR1bXApLCBzbyBjb250aW51YXRpb24gZnJhZ21lbnRzIHdlbGQgaW50byB0aGVpciBwYXJlbnQgaW5zdGVhZCBvZiBtaW50aW5nIG9ycGhhbiBoZWFkcy4gQm90aCBjb25zdW1lcnMgYXJlIGluZXJ0IHVudGlsIHRoaXMgbGlzdCBpcyBjb25maWd1cmVkIOKAlCB0aGVyZSBpcyBubyBkZWZhdWx0LiAgLSBgIGAgLSBhbnkgaW5kZW50ZWQgbGluZSAodW5pdmVyc2FsIGNvbnRpbnVhdGlvbiBzaWduYWwpLiAtIGBcdGAgLSBhbnkgdGFiLXByZWZpeGVkIGxpbmUgKEphdmEvR28gc3RhY2sgZnJhbWVzIGV0Yy4pLiAtIGBDYXVzZWQgYnk6IGAgLSBKYXZhIGNoYWluZWQgZXhjZXB0aW9uIChjb2x1bW4gMCkuIC0gYFN1cHByZXNzZWQ6IGAgLSBKYXZhIHN1cHByZXNzZWQgZXhjZXB0aW9uIChjb2x1bW4gMCkuIC0gYC0tLSBFbmQgb2YgYCAtIC5ORVQgaW5uZXIgZXhjZXB0aW9uIG1hcmtlci4gLSBgY3JlYXRlZCBieSBgIC0gR28gZ29yb3V0aW5lIGNyZWF0b3IuIC0gYCMwIGAuLmAjNSBgIC0gUEhQIHN0YWNrIGZyYW1lcyAoZGVwdGggMC01KS4iLAogICAgICAiaXRlbXMiIDogewogICAgICAgICJ0eXBlIiA6ICJzdHJpbmciCiAgICAgIH0KICAgIH0KICB9LAogICJhZGRpdGlvbmFsUHJvcGVydGllcyIgOiB0cnVlCn0=</template>

        ```yaml
        # 🔟❎ 'run' symbol lookup configuration
        
        # Configure a symbol origin lookup to enrich TenXObjects
        # To learn more see https://doc.log10x.com/run/initialize/message/
        
        # Set the 10x pipeline to 'run'
        tenx: run
        
        # =============================== Dependencies ================================
        
        include: run/modules/initialize/message
        
        # ============================== Symbol Options ===============================
        
        symbol:
        
          # 'types' specifies the types of symbols that participate in the origin search. The listed
          #  contexts are evaluated in a single pass, so list order acts as a filter rather than a precedence chain.
          #  Supported values (case insensitive), PACKAGE, CLASS, METHOD, LOG, ENUM, CONST, TEXT, EXEC, ANY
          #  To learn more see https://doc.log10x.com/run/transform/symbol/#contexts
          contexts: log,exec
        
          # 'messageField' specifies the field name to assign the message pattern to target TenXObjects: the symbol
          #  tokens of the origin ranked highest by coverage, meaning the count of distinct library-known tokens it
          #  explains. Span length is the last tiebreak. The origin file name itself goes to 'originField'.
          messageField: message_pattern
        
          # 'messageHashField' specifies the field name to assign a stable, URL-safe pattern hash (xxHash64 of the messageField value, base64url, 11 chars). Safe as a SIEM query term or forwarder filter key.
          #
          #  Left unset on purpose. The hash enrichment is always computed and carried on the TenXObject under
          #  its internal name 'tenx_hash', so metric dimensions, the aggregation key and the MCP artifacts are
          #  unaffected. Setting this key is what names the field on the wire, and on the forwarder receive path
          #  that is also what puts it on the record returned to the forwarder; leave it unset and the forwarder
          #  gets its record back byte-for-byte. Uncomment and name a field to opt in:
          #
          # messageHashField: tenx_hash
        
          # 'maxLen' specifies the max char len of the output messageField
          maxLen: 120
        
        # ============================== Message Options ==============================
        
        # 'negators' specifies patterns that mark a log line as boilerplate/continuation (stack trace frames,
        # indented detail, banners) so the message-template skips its own message-pattern compute for them.
        # The check fires only for templates that don't already pass the (groupSize > 1) || groupHead arms;
        # i.e., for single-event templates with no head signal. A non-negator line in that case (e.g., bare
        # "Hello World", "Heartbeat received from node-7") still gets a pattern; a negator-matching orphan
        # (e.g., a lone "\tat com.foo.Bar(...)") does not.
        message:
          negators:
            - " "                 # any indented line (stack frames, indented app detail, multi-line JSON, banners)
            - "\t"                # real tab byte, for msgpack/forward inputs that preserve raw whitespace
            - "\\t"               # literal backslash+t, for file/JSON inputs that keep escape sequences raw
            - "Caused by: "       # Java chained exception (column 0)
            - "Suppressed: "      # Java suppressed exception (column 0)
            - "--- End of "       # .NET inner exception marker (column 0)
            - "created by "       # Go goroutine creator (column 0)
            - "#0 "               # PHP stack frame depth 0
            - "#1 "               # PHP stack frame depth 1
            - "#2 "               # PHP stack frame depth 2
            - "#3 "               # PHP stack frame depth 3
            - "#4 "               # PHP stack frame depth 4
            - "#5 "               # PHP stack frame depth 5
        ```

    === ":material-information-outline: Level"

  
        #### level {.hidden-heading}
        Configure  the [Level Classifier](/run/initialize/level "Classify TenXObjects with a severity level") to classify TenXObjects with a severity level.  
  
        Below is the default configuration from: [level/config.yaml](https://github.dev/log-10x/config/blob/main/pipelines/run/initialize/level/config.yaml "level/config.yaml"){target="\_blank"}.  
  
        <div class="edit-options">
            <a class="md-button tenx-edit-online-button" data-tooltip="Edit online on github.dev" href="https://github.dev/log-10x/config/blob/main/pipelines/run/initialize/level/config.yaml" target="_blank" rel="noopener noreferrer">
                <span class="twemoji" style="margin-right: 0.3rem;">
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
                        <path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path>
                    </svg>
                </span> Edit Online
            </a>
            <button class="md-button tenx-config.yaml3-edit-button" data-tooltip="Edit configuration file" data-dialog-id="config-yaml3-dialog">
                <span style="margin-right: 0.3rem;">
                    <span class="twemoji">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
                            <path d="M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z"></path>
                        </svg>
                    </span>
                </span>Edit Locally
            </button>
        </div>
        
        <dialog id="config-yaml3-dialog" class="md-dialog md-dialog--editor">
            <div class="editor-dialog-wrapper">
                <div class="editor-dialog-header">
                    <span class="editor-dialog-title">Edit Level Classifier Config Locally</span>
                    <div class="editor-header-actions">
                        <button class="editor-toolbar-btn yaml-editor-locations" data-tooltip="Save">
                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M5 20h14v-2H5v2m14-9h-4V3H9v8H5l7 7 7-7Z"></path></svg>
                        </button>
                        <button class="editor-toolbar-btn yaml-editor-reset" data-tooltip="Reset to default">
                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M12.5 8c-2.65 0-5.05 1-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z"></path></svg>
                        </button>
                        <button class="editor-toolbar-btn yaml-editor-copy" data-tooltip="Copy to clipboard">
                            <svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path></svg>
                            <svg class="icon-check" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" style="display:none;"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg>
                        </button>
                        <span class="header-divider"></span>
                        <button class="editor-toolbar-btn yaml-editor-fullscreen" data-tooltip="Fullscreen">
                            <svg class="icon-maximize" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M5,5H10V7H7V10H5V5M14,5H19V10H17V7H14V5M17,14H19V19H14V17H17V14M10,17V19H5V14H7V17H10Z"></path></svg>
                            <svg class="icon-minimize" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" style="display:none;"><path fill="currentColor" d="M5,16H8V19H10V14H5V16M14,14V19H16V16H19V14H14M16,5V8H19V10H14V5H16M10,5V10H5V8H8V5H10Z"></path></svg>
                        </button>
                        <span class="header-divider"></span>
                        <button class="editor-toolbar-btn editor-dialog-close" onclick="closeDialog('config-yaml3-dialog')" data-tooltip="Close">
                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"></path></svg>
                        </button>
                    </div>
                </div>
                <div class="editor-dialog-content">
                    <div class="yaml-editor-container"></div>
                </div>
                <div class="yaml-editor-statusbar">
                    <span class="yaml-editor-status"></span>
                </div>
            </div>
            <!-- Locations Popup -->
            <div class="locations-popup" style="display: none;">
                <div class="locations-popup-content">
                    <div class="locations-popup-header">
                        <span class="locations-header-label">Download and save to:</span>
                        <button class="locations-popup-close" aria-label="Close">
                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16">
                                <path fill="currentColor" d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"></path>
                            </svg>
                        </button>
                    </div>
                    <ul class="locations-list">
                        <li>
                            <span class="location-label">Linux / Docker / macOS
                                <span class="help-icon" data-tooltip="Default system location. The engine automatically reads configs from here at startup. Best for production deployments.">
                                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                                </span>
                            </span>
                            <div class="location-path-row">
                                <code class="default-path location-path" data-tooltip=""
                                    data-copy-osx="/etc/log10x/config/run/initialize/level/config.yaml"
                                    data-copy-nix="/etc/log10x/config/run/initialize/level/config.yaml"
                                    data-copy-win="C:\log10x\configs/run/initialize/level/config.yaml"></code>
                                <button class="copy-btn" data-tooltip="Copy path">
                                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                        <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                                    </svg>
                                </button>
                            </div>
                        </li>
                        <li>
                            <span class="location-label">Custom directory
                                <span class="help-icon" data-tooltip="Set TENX_CONFIG environment variable to point to a custom config directory. Useful when you want configs in a non-standard location.">
                                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                                </span>
                            </span>
                            <div class="location-path-row">
                                <code class="location-path" data-tooltip="$TENX_CONFIG/run/initialize/level/config.yaml">$TENX_CONFIG/run/initialize/level/config.yaml</code>
                                <button class="copy-btn" data-tooltip="Copy path">
                                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                        <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                                    </svg>
                                </button>
                            </div>
                        </li>
                        <li>
                            <span class="location-label">Within cloned repo
                                <span class="help-icon" data-tooltip="First run: git clone github.com/log-10x/config. Then save the file to this path within the cloned folder. Use for version control.">
                                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                                </span>
                            </span>
                            <div class="location-path-row">
                                <code class="location-path" data-tooltip="./pipelines/run/initialize/level/config.yaml">./pipelines/run/initialize/level/config.yaml</code>
                                <button class="copy-btn" data-tooltip="Copy path">
                                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                        <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                                    </svg>
                                </button>
                            </div>
                        </li>
                    </ul>
                    <div class="locations-popup-footer">
                        <button class="locations-download-btn" title="Download config file">
                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                <path fill="currentColor" d="M5 20h14v-2H5v2m14-9h-4V3H9v8H5l7 7 7-7Z"></path>
                            </svg>
                            <span>Download</span>
                        </button>
                    </div>
                </div>
            </div>
        </dialog>
        
        <template class="tenx-config-schema" data-encoding="base64">ewogICJ0eXBlIiA6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIiA6IHsKICAgICJpbmNsdWRlIiA6IHsKICAgICAgInR5cGUiIDogInN0cmluZyIKICAgIH0sCiAgICAidGVueCIgOiB7CiAgICAgICJ0eXBlIiA6ICJzdHJpbmciCiAgICB9LAogICAgImxldmVsIiA6IHsKICAgICAgInR5cGUiIDogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyIgOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMiIDogewogICAgICAgICJmaWVsZCIgOiB7CiAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICJzdHJpbmciLAogICAgICAgICAgICAibnVsbCIKICAgICAgICAgIF0sCiAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiTGlzdHMgbGV2ZWwgc2V2ZXJpdHkgdGVybXNcblxuU3BlY2lmeSB0aGUgZmllbGQgbmFtZSB0byBhc3NpZ24gd2l0aCB0aGUgaW5mZXJyZWQgc2V2ZXJpdHkgbGV2ZWwgKERlZmF1bHQ6IGxldmVsKSIsCiAgICAgICAgICAiZGVmYXVsdCIgOiAibGV2ZWwiCiAgICAgICAgfSwKICAgICAgICAidGVybXMiIDogewogICAgICAgICAgInR5cGUiIDogWwogICAgICAgICAgICAiYXJyYXkiLAogICAgICAgICAgICAic3RyaW5nIiwKICAgICAgICAgICAgIm51bGwiCiAgICAgICAgICBdLAogICAgICAgICAgIm1hcmtkb3duRGVzY3JpcHRpb24iIDogIkxpc3RzIGxldmVsIHNldmVyaXR5IHRlcm1zXG5cblNwZWNpZnkgc2V2ZXJpdHkgbGV2ZWwgY2xhc3NpZmljYXRpb24sIHN0YXJ0LW9mLWxpbmUgbWF0Y2hpbmcuIFVzZWQgdG8gaWRlbnRpZnkgdGhlIHNldmVyaXR5IGxldmVsIChUUkFDRSwgREVCVUcsIElORk8sIFdBUk4sIEVSUk9SLCBDUklUSUNBTCkgb2YgYSBsb2cgbGluZSwgIHR5cGljYWxseSBtYXJraW5nIHRoZSBzdGFydCBvZiBhIGxvZyBldmVudCAoaGVhZCkuIFNvcnRlZCBieSBsaWtlbGlob29kIGFuZCB1bmlxdWVuZXNzLiBVc2VkIGluIGEgVHJpZSBmb3IgTyhtKSBtYXRjaGluZy4gIEZvciBleGFtcGxlOiAgYGBgIHlhbWwgIC0gJ3BhbmljPUNSSVRJQ0FMJyAgICAgICAjIEdvIHBhbmljLCBmaXJzdCBsaW5lOyBlLmcuLCBcInBhbmljOiBydW50aW1lIGVycm9yOiBpbmRleCBvdXQgb2YgcmFuZ2VcIiAgLSAnZmF0YWxfZXJyb3I9Q1JJVElDQUwnICMgR28gZmF0YWwgZXJyb3IsIGZpcnN0IGxpbmU7IGUuZy4sIFwiZmF0YWwgZXJyb3I6IGFsbCBnb3JvdXRpbmVzIGFyZSBhc2xlZXBcIiAgLSAndGhyZWFkXycnbWFpbicnX3Bhbmlja2VkX2F0PUNSSVRJQ0FMJyAjIFJ1c3QgcGFuaWMsIGZpcnN0IGxpbmU7IGUuZy4sIFwidGhyZWFkICdtYWluJyBwYW5pY2tlZCBhdCAnZXhwbGljaXQgcGFuaWMnXCIgIC0gJ1NlZ21lbnRhdGlvbl9mYXVsdD1DUklUSUNBTCcgIyBDL0MrKyBtZW1vcnkgdmlvbGF0aW9uLCBmaXJzdCBsaW5lOyBlLmcuLCBcIlNlZ21lbnRhdGlvbiBmYXVsdCAoY29yZSBkdW1wZWQpXCIgYGBgIiwKICAgICAgICAgICJpdGVtcyIgOiB7CiAgICAgICAgICAgICJ0eXBlIiA6ICJzdHJpbmciCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAidGltZXN0YW1wUGF0dGVybnMiIDogewogICAgICAgICAgInR5cGUiIDogWwogICAgICAgICAgICAiYXJyYXkiLAogICAgICAgICAgICAic3RyaW5nIiwKICAgICAgICAgICAgIm51bGwiCiAgICAgICAgICBdLAogICAgICAgICAgIm1hcmtkb3duRGVzY3JpcHRpb24iIDogIkxpc3RzIHRpbWVzdGFtcCBwYXR0ZXJucyBhc3NvY2lhdGVkIHdpdGggc2V2ZXJpdHkgbGV2ZWxcblxuTGlzdHMgdGhlIHRlcm1zIGFzc2lnbmVkIHRvIGEgdGFyZ2V0IFRlblhPYmplY3QncyBbbGV2ZWxGaWVsZF0oaHR0cHM6Ly9kb2MubG9nMTB4LmNvbS9ydW4vaW5pdGlhbGl6ZS9sZXZlbC8jbGV2ZWxGaWVsZCkgYmFzZWQgb24gd2hldGhlciBpdHMgW2Z1bGxUZXh0XShodHRwczovL2RvYy5sb2cxMHguY29tL2FwaS9qcy8jVGVuWEJhc2VPYmplY3QrZnVsbFRleHQpIGNvbnRhaW5zIHNwZWNpZmllZCB0ZXJtcy4gRm9yIGV4YW1wbGU6IGBgYCB5YW1sIC0gXCJJJ01NZGQgSEg6bW06c3MuUz1JTkZPXCIgICAgICAgICAgIyBVc2VkIGluIEt1YmVybmV0ZXMga3ViZS1hcGlzZXJ2ZXIgbG9ncyB3aXRoIElORk8gcHJlZml4LCAxLWRpZ2l0IG1pY3Jvc2Vjb25kIHByZWNpc2lvbiBgYGAiLAogICAgICAgICAgIml0ZW1zIiA6IHsKICAgICAgICAgICAgInR5cGUiIDogInN0cmluZyIKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9LAogICJhZGRpdGlvbmFsUHJvcGVydGllcyIgOiB0cnVlCn0=</template>

        ```yaml
        # 🔟❎ 'run' level classifier configuration
        
        # Configuration level classifier to enrich TenXObjects
        # To learn more see https://doc.log10x.com/run/initialize/level/
        
        # Set the 10x pipeline to 'run'
        tenx: run
        
        # =============================== Dependencies ================================
        
        include: run/modules/initialize/level
        
        # =============================== Level Options ===============================
        
        level:
        
          # 'field' specify the field name to assign with the inferred severity level
          field: severity_level
        
          # 'terms' specify severity level classification, start-of-line matching
          #  Used to identify the severity level (TRACE, DEBUG, INFO, WARN, ERROR, CRITICAL) of a log line, typically marking
          #  the start of a log event (head). Sorted by likelihood and uniqueness. Used in a Trie for O(m) matching.
          terms:
            - 'trace=TRACE'          # Common in JavaScript (Winston) or custom logs; e.g., "trace Variable x = 5"
            - 'Trace=TRACE'          # Mixed case; e.g., "Trace Variable x = 5"
            - 'TRACE=TRACE'          # Uppercase, less common; e.g., "TRACE Message"
            - 'debug=DEBUG'          # Common in JavaScript (Winston) or custom logs; e.g., "debug Entering method foo"
            - 'Debug=DEBUG'          # Mixed case; e.g., "Debug Entering method foo"
            - 'DEBUG=DEBUG'          # Uppercase; e.g., "DEBUG Message"
            - 'DBG=DEBUG'            # Abbreviation, less common; e.g., "DBG Entering method foo"
            - 'info=INFO'            # Common in JavaScript (Winston) or custom logs; e.g., "info Application started"
            - 'Info=INFO'            # Mixed case; e.g., "Info Application started"
            - 'INFO=INFO'            # Uppercase; e.g., "INFO Message"
            - 'notice=INFO'          # Common in custom logs or lowercase syslog; e.g., "notice Configuration updated"
            - 'Notice=INFO'          # Mixed case; e.g., "Notice Configuration updated"
            - 'NOTICE=INFO'          # Uppercase, syslog; e.g., "NOTICE Message"
            - 'warn=WARN'            # Common in JavaScript (Winston) or custom logs; e.g., "warn Low disk space"
            - 'Warn=WARN'            # Mixed case; e.g., "Warn Low disk space"
            - 'WARN=WARN'            # Uppercase; e.g., "WARN Message"
            - 'warning=WARN'         # Common in custom logs or verbose frameworks; e.g., "warning Low disk space"
            - 'Warning=WARN'         # Mixed case; e.g., "Warning Low disk space"
            - 'WARNING=WARN'         # Uppercase; e.g., "WARNING Message"
            - 'error=ERROR'          # Common in JavaScript (Winston) or custom logs; e.g., "error Failed to connect"
            - 'Error=ERROR'          # Mixed case; e.g., "Error Failed to connect"
            - 'ERROR=ERROR'          # Uppercase; e.g., "ERROR Message"
            - 'err=ERROR'            # Lowercase abbreviation; e.g., "err Failed to connect"
            - 'ERR=ERROR'            # Uppercase abbreviation; e.g., "ERR Message"
            - 'TypeError=ERROR'      # JavaScript, stack trace; e.g., "TypeError: undefined is not a function"
            - 'ReferenceError=ERROR' # JavaScript, stack trace; e.g., "ReferenceError: x is not defined"
            - 'ValueError=ERROR'     # Python, stack trace; e.g., "ValueError: invalid literal"
            - 'PHP_Warning=ERROR'    # PHP, warning message; e.g., "PHP Warning: Undefined variable"
            - 'fatal=CRITICAL'       # Common in custom logs; e.g., "fatal System crash"
            - 'Fatal=CRITICAL'       # Mixed case; e.g., "Fatal System crash"
            - 'FATAL=CRITICAL'       # Uppercase; e.g., "FATAL Message"
            - 'critical=CRITICAL'    # Common in custom logs; e.g., "critical System crash"
            - 'Critical=CRITICAL'    # Mixed case; e.g., "Critical System crash"
            - 'CRITICAL=CRITICAL'    # Uppercase; e.g., "CRITICAL Message"
            - 'crit=CRITICAL'        # Lowercase abbreviation, syslog; e.g., "crit System crash"
            - 'CRIT=CRITICAL'        # Uppercase abbreviation, syslog; e.g., "CRIT Message"
            - 'alert=CRITICAL'       # Common in custom logs or syslog; e.g., "alert High CPU usage"
            - 'Alert=CRITICAL'       # Mixed case; e.g., "Alert High CPU usage"
            - 'ALERT=CRITICAL'       # Uppercase, syslog; e.g., "ALERT Message"
            - 'emerg=CRITICAL'       # Common in custom logs or lowercase syslog; e.g., "emerg System unusable"
            - 'Emerg=CRITICAL'       # Mixed case; e.g., "Emerg System unusable"
            - 'EMERG=CRITICAL'       # Uppercase, syslog; e.g., "EMERG Message"
            - 'panic=CRITICAL'       # Go panic, first line; e.g., "panic: runtime error: index out of range"
            - 'fatal_error=CRITICAL' # Go fatal error, first line; e.g., "fatal error: all goroutines are asleep"
            - 'thread_main_panicked_at=CRITICAL' # Rust panic, first line; e.g., "thread 'main' panicked at 'explicit panic'"
            - 'Segmentation_fault=CRITICAL' # C/C++ memory violation, first line; e.g., "Segmentation fault (core dumped)"
            - 'Aborted=CRITICAL'     # C/C++ termination, first line; e.g., "Aborted (core dumped)"
            - 'Assertion_failed=CRITICAL' # C/C++ assertion failure, first line; e.g., "Assertion failed: x > 0"
            - 'PHP_Fatal_error=CRITICAL' # PHP fatal error, first line; e.g., "PHP Fatal error: Out of memory"
            - 'Traceback_most_recent_call_last=CRITICAL' # Python stack trace, first line; e.g., "Traceback (most recent call last)"
            - 'Stack_trace=CRITICAL' # Generic stack trace, first line; e.g., "Stack trace"
            - 'Error=CRITICAL'       # JavaScript, stack trace; e.g., "Error: Something went wrong"
            - 'Fatal_error=CRITICAL' # PHP, stack trace; e.g., "Fatal error: Uncaught Exception"
            - 'Unhandled_exception=CRITICAL' # C#/Dart, stack trace; e.g., "Unhandled exception: System.NullReferenceException"
            - 'Exception_in_thread=CRITICAL' # Java, stack trace; e.g., "Exception in thread 'main' java.lang.RuntimeException"
            - 'goroutine=CRITICAL'   # Go, stack trace; e.g., "goroutine 1 [running]:"
            - 'failed=ERROR'         # ERROR-level entries in application, system, or web server logs
        
          # 'timestampPatterns' patterns for LogEvent head classification, start-of-line matching
          #  Used to identify timestamp formats in log lines and infer their implied severity level based on the first character.
          #  Formats are typical of Kubernetes kube-apiserver logs with varying microsecond precision. The first character
          #  ('I', 'W', 'E', 'F') determines the severity: I=INFO, W=WARN, E=ERROR, F=CRITICAL. Sorted by precision.
          timestampPatterns:
            - "'I'MMdd HH:mm:ss.S=INFO"          # Used in Kubernetes kube-apiserver logs with INFO prefix, 1-digit microsecond precision
            - "'I'MMdd HH:mm:ss.SS=INFO"         # Used in Kubernetes kube-apiserver logs with INFO prefix, 2-digit microsecond precision
            - "'I'MMdd HH:mm:ss.SSS=INFO"        # Used in Kubernetes kube-apiserver logs with INFO prefix, 3-digit microsecond precision
            - "'I'MMdd HH:mm:ss.SSSS=INFO"       # Used in Kubernetes kube-apiserver logs with INFO prefix, 4-digit microsecond precision
            - "'I'MMdd HH:mm:ss.SSSSS=INFO"      # Used in Kubernetes kube-apiserver logs with INFO prefix, 5-digit microsecond precision
            - "'I'MMdd HH:mm:ss.SSSSSS=INFO"     # Used in Kubernetes kube-apiserver logs with INFO prefix, 6-digit microsecond precision
            - "'W'MMdd HH:mm:ss.S=WARN"          # Used in Kubernetes kube-apiserver logs with WARNING prefix, 1-digit microsecond precision
            - "'W'MMdd HH:mm:ss.SS=WARN"         # Used in Kubernetes kube-apiserver logs with WARNING prefix, 2-digit microsecond precision
            - "'W'MMdd HH:mm:ss.SSS=WARN"        # Used in Kubernetes kube-apiserver logs with WARNING prefix, 3-digit microsecond precision
            - "'W'MMdd HH:mm:ss.SSSS=WARN"       # Used in Kubernetes kube-apiserver logs with WARNING prefix, 4-digit microsecond precision
            - "'W'MMdd HH:mm:ss.SSSSS=WARN"      # Used in Kubernetes kube-apiserver logs with WARNING prefix, 5-digit microsecond precision
            - "'W'MMdd HH:mm:ss.SSSSSS=WARN"     # Used in Kubernetes kube-apiserver logs with WARNING prefix, 6-digit microsecond precision
            - "'E'MMdd HH:mm:ss.S=ERROR"         # Used in Kubernetes kube-apiserver logs with ERROR prefix, 1-digit microsecond precision
            - "'E'MMdd HH:mm:ss.SS=ERROR"        # Used in Kubernetes kube-apiserver logs with ERROR prefix, 2-digit microsecond precision
            - "'E'MMdd HH:mm:ss.SSS=ERROR"       # Used in Kubernetes kube-apiserver logs with ERROR prefix, 3-digit microsecond precision
            - "'E'MMdd HH:mm:ss.SSSS=ERROR"      # Used in Kubernetes kube-apiserver logs with ERROR prefix, 4-digit microsecond precision
            - "'E'MMdd HH:mm:ss.SSSSS=ERROR"     # Used in Kubernetes kube-apiserver logs with ERROR prefix, 5-digit microsecond precision
            - "'E'MMdd HH:mm:ss.SSSSSS=ERROR"    # Used in Kubernetes kube-apiserver logs with ERROR prefix, 6-digit microsecond precision
            - "'F'MMdd HH:mm:ss.S=CRITICAL"      # Used in Kubernetes kube-apiserver logs with FATAL prefix, 1-digit microsecond precision
            - "'F'MMdd HH:mm:ss.SS=CRITICAL"     # Used in Kubernetes kube-apiserver logs with FATAL prefix, 2-digit microsecond precision
            - "'F'MMdd HH:mm:ss.SSS=CRITICAL"    # Used in Kubernetes kube-apiserver logs with FATAL prefix, 3-digit microsecond precision
            - "'F'MMdd HH:mm:ss.SSSS=CRITICAL"   # Used in Kubernetes kube-apiserver logs with FATAL prefix, 4-digit microsecond precision
            - "'F'MMdd HH:mm:ss.SSSSS=CRITICAL"  # Used in Kubernetes kube-apiserver logs with FATAL prefix, 5-digit microsecond precision
            - "'F'MMdd HH:mm:ss.SSSSSS=CRITICAL" # Used in Kubernetes kube-apiserver logs with FATAL prefix, 6-digit microsecond precision
        ```

    === ":material-select-group: Group"

  
        #### group {.hidden-heading}
        Configure  the [Group initializer](/run/initialize/group "Combine multi-line events into TenXObject group instances") to combine multi-line events into TenXObject group instances.  
  
        Below is the default configuration from: [group/config.yaml](https://github.dev/log-10x/config/blob/main/pipelines/run/initialize/group/config.yaml "group/config.yaml"){target="\_blank"}.  
  
        <div class="edit-options">
            <a class="md-button tenx-edit-online-button" data-tooltip="Edit online on github.dev" href="https://github.dev/log-10x/config/blob/main/pipelines/run/initialize/group/config.yaml" target="_blank" rel="noopener noreferrer">
                <span class="twemoji" style="margin-right: 0.3rem;">
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
                        <path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path>
                    </svg>
                </span> Edit Online
            </a>
            <button class="md-button tenx-config.yaml4-edit-button" data-tooltip="Edit configuration file" data-dialog-id="config-yaml4-dialog">
                <span style="margin-right: 0.3rem;">
                    <span class="twemoji">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
                            <path d="M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z"></path>
                        </svg>
                    </span>
                </span>Edit Locally
            </button>
        </div>
        
        <dialog id="config-yaml4-dialog" class="md-dialog md-dialog--editor">
            <div class="editor-dialog-wrapper">
                <div class="editor-dialog-header">
                    <span class="editor-dialog-title">Edit Group initializer Config Locally</span>
                    <div class="editor-header-actions">
                        <button class="editor-toolbar-btn yaml-editor-locations" data-tooltip="Save">
                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M5 20h14v-2H5v2m14-9h-4V3H9v8H5l7 7 7-7Z"></path></svg>
                        </button>
                        <button class="editor-toolbar-btn yaml-editor-reset" data-tooltip="Reset to default">
                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M12.5 8c-2.65 0-5.05 1-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z"></path></svg>
                        </button>
                        <button class="editor-toolbar-btn yaml-editor-copy" data-tooltip="Copy to clipboard">
                            <svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path></svg>
                            <svg class="icon-check" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" style="display:none;"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg>
                        </button>
                        <span class="header-divider"></span>
                        <button class="editor-toolbar-btn yaml-editor-fullscreen" data-tooltip="Fullscreen">
                            <svg class="icon-maximize" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M5,5H10V7H7V10H5V5M14,5H19V10H17V7H14V5M17,14H19V19H14V17H17V14M10,17V19H5V14H7V17H10Z"></path></svg>
                            <svg class="icon-minimize" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" style="display:none;"><path fill="currentColor" d="M5,16H8V19H10V14H5V16M14,14V19H16V16H19V14H14M16,5V8H19V10H14V5H16M10,5V10H5V8H8V5H10Z"></path></svg>
                        </button>
                        <span class="header-divider"></span>
                        <button class="editor-toolbar-btn editor-dialog-close" onclick="closeDialog('config-yaml4-dialog')" data-tooltip="Close">
                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"></path></svg>
                        </button>
                    </div>
                </div>
                <div class="editor-dialog-content">
                    <div class="yaml-editor-container"></div>
                </div>
                <div class="yaml-editor-statusbar">
                    <span class="yaml-editor-status"></span>
                </div>
            </div>
            <!-- Locations Popup -->
            <div class="locations-popup" style="display: none;">
                <div class="locations-popup-content">
                    <div class="locations-popup-header">
                        <span class="locations-header-label">Download and save to:</span>
                        <button class="locations-popup-close" aria-label="Close">
                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16">
                                <path fill="currentColor" d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"></path>
                            </svg>
                        </button>
                    </div>
                    <ul class="locations-list">
                        <li>
                            <span class="location-label">Linux / Docker / macOS
                                <span class="help-icon" data-tooltip="Default system location. The engine automatically reads configs from here at startup. Best for production deployments.">
                                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                                </span>
                            </span>
                            <div class="location-path-row">
                                <code class="default-path location-path" data-tooltip=""
                                    data-copy-osx="/etc/log10x/config/run/initialize/group/config.yaml"
                                    data-copy-nix="/etc/log10x/config/run/initialize/group/config.yaml"
                                    data-copy-win="C:\log10x\configs/run/initialize/group/config.yaml"></code>
                                <button class="copy-btn" data-tooltip="Copy path">
                                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                        <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                                    </svg>
                                </button>
                            </div>
                        </li>
                        <li>
                            <span class="location-label">Custom directory
                                <span class="help-icon" data-tooltip="Set TENX_CONFIG environment variable to point to a custom config directory. Useful when you want configs in a non-standard location.">
                                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                                </span>
                            </span>
                            <div class="location-path-row">
                                <code class="location-path" data-tooltip="$TENX_CONFIG/run/initialize/group/config.yaml">$TENX_CONFIG/run/initialize/group/config.yaml</code>
                                <button class="copy-btn" data-tooltip="Copy path">
                                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                        <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                                    </svg>
                                </button>
                            </div>
                        </li>
                        <li>
                            <span class="location-label">Within cloned repo
                                <span class="help-icon" data-tooltip="First run: git clone github.com/log-10x/config. Then save the file to this path within the cloned folder. Use for version control.">
                                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                                </span>
                            </span>
                            <div class="location-path-row">
                                <code class="location-path" data-tooltip="./pipelines/run/initialize/group/config.yaml">./pipelines/run/initialize/group/config.yaml</code>
                                <button class="copy-btn" data-tooltip="Copy path">
                                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                        <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                                    </svg>
                                </button>
                            </div>
                        </li>
                    </ul>
                    <div class="locations-popup-footer">
                        <button class="locations-download-btn" title="Download config file">
                            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                <path fill="currentColor" d="M5 20h14v-2H5v2m14-9h-4V3H9v8H5l7 7 7-7Z"></path>
                            </svg>
                            <span>Download</span>
                        </button>
                    </div>
                </div>
            </div>
        </dialog>
        
        <template class="tenx-config-schema" data-encoding="base64">ewogICJ0eXBlIiA6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIiA6IHsKICAgICJpbmNsdWRlIiA6IHsKICAgICAgInR5cGUiIDogInN0cmluZyIKICAgIH0sCiAgICAidGVueCIgOiB7CiAgICAgICJ0eXBlIiA6ICJzdHJpbmciCiAgICB9LAogICAgImdyb3VwIiA6IHsKICAgICAgInR5cGUiIDogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyIgOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMiIDogewogICAgICAgICJpbmRpY2F0b3JzIiA6IHsKICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgImFycmF5IiwKICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICJudWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJMaXN0IG9mIHN0cmluZ3MgdGhhdCwgd2hlbiBtYXRjaGVkIGF0IHRoZSBzdGFydCBvZiBhIGxvZyBsaW5lJ3MgdGV4dCwgZGVzaWduYXRlIGl0IGFzIGEgZ3JvdXAgaGVhZC5cblxuQSBsaXN0IG9mIHN0cmluZ3MgdGhhdCwgd2hlbiBtYXRjaGVkIGF0IHRoZSBzdGFydCBvZiBhIGxvZyBsaW5lJ3MgdGV4dCwgZGVzaWduYXRlIGl0IGFzIGEgZ3JvdXAgaGVhZC4gVW5tYXRjaGVkIGxpbmVzIGRlZmF1bHQgdG8gYGZhbHNlYCwgaW5kaWNhdGluZyB0aGV5IGFyZSBncm91cCBjaGlsZHJlbi4gIC0gYDE5Mi5gIC0gSW5kaWNhdGVzIGEgcHJpdmF0ZSBJUCBhZGRyZXNzLCBjb21tb24gaW4gd2ViIHNlcnZlciBsb2dzIChlLmcuLCBcIjE5Mi4xNjguMS4xIC0gLSBbLi4uXVwiKS4gLSBgMTAuYCAtIEluZGljYXRlcyBhIHByaXZhdGUgSVAgcmFuZ2UsIG9mdGVuIGluIEt1YmVybmV0ZXMgb3IgaW50ZXJuYWwgbmV0d29yayBsb2dzIChlLmcuLCBcIjEwLjI0NC4wLjEyNSAtIC0gWy4uLl1cIikuIC0gYEdFVCBgIC0gSW5kaWNhdGVzIGFuIEhUVFAgR0VUIHJlcXVlc3QsIG1hcmtpbmcgdGhlIHN0YXJ0IG9mIGEgd2ViIHRyYW5zYWN0aW9uIGxvZyAoZS5nLiwgXCJHRVQgL2luZGV4Lmh0bWwgSFRUUC8xLjFcIikuIC0gYGF0IGAgLSBJbmRpY2F0ZXMgYSBKYXZhL0MjIHN0YWNrIHRyYWNlIGNvbnRpbnVhdGlvbi4iLAogICAgICAgICAgIml0ZW1zIiA6IHsKICAgICAgICAgICAgInR5cGUiIDogInN0cmluZyIKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJuZWdhdG9ycyIgOiB7CiAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICJhcnJheSIsCiAgICAgICAgICAgICJzdHJpbmciLAogICAgICAgICAgICAibnVsbCIKICAgICAgICAgIF0sCiAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiTGlzdCBvZiBwYXR0ZXJucyB0aGF0IG1hcmsgYSBsaW5lIGFzIGEga25vd24gY29udGludWF0aW9uIChlLmcuLCBzdGFjayB0cmFjZSBsaW5lcyksIG5lZ2F0aW5nIHN0YW5kYWxvbmUgc3RhdHVzLlxuXG5BIGxpc3Qgb2Ygc3RyaW5ncyB0aGF0LCB3aGVuIG1hdGNoZWQgYXQgdGhlIHN0YXJ0IG9mIGEgbG9nIGxpbmUncyB0ZXh0LCBtYXJrIGl0IGFzIGEga25vd24gY29udGludWF0aW9uIGxpbmUuIExpbmVzIG1hdGNoaW5nIHRoZXNlIHBhdHRlcm5zIGFyZSBpZGVudGlmaWVkIGFzIGNvbnRpbnVhdGlvbnMgKGUuZy4sIHN0YWNrIHRyYWNlIGZyYW1lcykgYW5kIHdpbGwgbm90IGhhdmUgbWVzc2FnZSBwYXR0ZXJucyBjYWxjdWxhdGVkIGZvciB0aGVtLCBvcHRpbWl6aW5nIHByb2Nlc3NpbmcgcGVyZm9ybWFuY2UuICAtIGBcdGF0IGAgLSBKYXZhL0tvdGxpbiBzdGFjayB0cmFjZSBmcmFtZSAodGFiLXByZWZpeGVkKS4gLSBgICAgYXQgYCAtIC5ORVQgc3RhY2sgdHJhY2UgZnJhbWUgKHNwYWNlLXByZWZpeGVkKS4gLSBgICBGaWxlIFwiYCAtIFB5dGhvbiBzdGFjayB0cmFjZSBmcmFtZS4gLSBgICAgIGF0IGAgLSBOb2RlLmpzIHN0YWNrIHRyYWNlIGZyYW1lLiAtIGBDYXVzZWQgYnk6YCAtIEphdmEgY2hhaW5lZCBleGNlcHRpb24uIC0gYFx0Li4uIGAgLSBKYXZhIHRydW5jYXRlZCBzdGFjayBmcmFtZXMuIiwKICAgICAgICAgICJpdGVtcyIgOiB7CiAgICAgICAgICAgICJ0eXBlIiA6ICJzdHJpbmciCiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgfSwKICAiYWRkaXRpb25hbFByb3BlcnRpZXMiIDogdHJ1ZQp9</template>

        ```yaml
        # 🔟❎ 'run' event grouping configuration
        
        # Group  sequences of TenXObjects to filter, aggregate and output as a single logical unit.
        # To learn more see https://doc.log10x.com/run/transform/group/
        
        # Set the 10x pipeline to 'run'
        tenx: run
        
        # =============================== Dependencies ================================
        
        include: run/modules/initialize/group
          
        # =============================== Group Options ===============================
        
        
        # 'indicators' specifies a list of `value:state` pairs that determine if a log line's start marks a group head (`true`) or child (`false`).
        group:
        
          # 'indicators' specifies a list of strings that, when matched at the start of a log line's text, designate it as a group head.
          # Unmatched lines default to false, indicating they are group children (continuation-by-default).
          indicators:
            - '{'                 # Indicates a pretty-printed JSON/object log body (e.g., payment '{ resource: {...} }'); the opening brace heads the multi-line object so it groups as one event. Matches the log body only, grouping reads inputField, not the wrapped envelope.
            - '192.'              # Indicates a private IP address, common in web server logs (e.g., "192.168.1.1 - - [...]")
            - '10.'               # Indicates a private IP range, often in Kubernetes or internal network logs (e.g., "10.244.0.125 - - [...]")
            - '172.'              # Indicates a private IP range, typical in enterprise network logs (e.g., "172.16.0.1 - - [...]")
            - '127.'              # Indicates localhost, a common web server log initiator (e.g., "127.0.0.1 - - [...]")
            - 'GET '              # Indicates an HTTP GET request, marking the start of a web transaction log (e.g., "GET /index.html HTTP/1.1")
            - 'POST '             # Indicates an HTTP POST request, marking the start of a web transaction log (e.g., "POST /api HTTP/1.1")
            - 'PUT '              # Indicates an HTTP PUT request, marking the start of a web transaction log (e.g., "PUT /resource HTTP/1.1")
            - 'DELETE '           # Indicates an HTTP DELETE request, marking the start of a web transaction log (e.g., "DELETE /resource HTTP/1.1")
            - 'HEAD '             # Indicates an HTTP HEAD request, marking the start of a web transaction log (e.g., "HEAD /index.html HTTP/1.1")
            - 'OPTIONS '          # Indicates an HTTP OPTIONS request, marking the start of a web transaction log (e.g., "OPTIONS /api HTTP/1.1")
            - 'HTTP/'             # Indicates an HTTP protocol version, marking the start of a web transaction log (e.g., "GET /index.html HTTP/1.1")
            - 'kernel:'           # Indicates a Linux kernel log entry, marking the start of a system event (e.g., "kernel: [0.123456] Device initialized")
            - 'sshd['             # Indicates an SSH daemon log entry, marking the start of a security event (e.g., "sshd[1234]: Accepted password ...")
            - 'systemd['          # Indicates a systemd service log entry, marking the start of a system service event (e.g., "systemd[1]: Started service ...")
            - 'cron['             # Indicates a cron daemon log entry, marking the start of a scheduled task event (e.g., "cron[1234]: Running job ...")
            - 'syslog:'           # Indicates a syslog message, marking the start of a system log event (e.g., "syslog: Message ...")
            - 'rsyslogd:'         # Indicates an rsyslog daemon log entry, marking the start of a logging system event (e.g., "rsyslogd: Log started ...")
            - 'auditd['           # Indicates an audit daemon log entry, marking the start of a security audit event (e.g., "auditd[1234]: Audit event ...")
            - 'daemon:'           # Indicates a syslog daemon facility log, marking the start of a system service event (e.g., "daemon: Service started ...")
            - 'user:'             # Indicates a syslog user facility log, marking the start of a user-related event (e.g., "user: User logged in ...")
            - 'local0:'           # Indicates a syslog local facility log, marking the start of a custom system event (e.g., "local0: Custom message ...")
            - 'local1:'           # Indicates a syslog local facility log, marking the start of a custom system event (e.g., "local1: Custom message ...")
            - 'level='            # Indicates a structured log key, marking the start of a key-value log entry (e.g., "level=info msg=Started")
            - 'msg='              # Indicates a structured log key, marking the start of a message log entry (e.g., "msg=Application started")
            - 'message='          # Indicates a structured log key, marking the start of a message log entry (e.g., "message=Application started")
            - 'event='            # Indicates a structured log key, marking the start of an event log entry (e.g., "event=Service startup")
            - 'thread='           # Indicates a structured log key, marking the start of a thread-specific log entry (e.g., "thread=main Processing ...")
            - 'Starting '         # Indicates the start of a process initiation log (e.g., "Starting server on port 8080")
            - 'Stopping '         # Indicates the start of a process termination log (e.g., "Stopping service ...")
            - 'Running '          # Indicates the start of a process status log (e.g., "Running task ...")
            - 'Listening '        # Indicates the start of a network service log (e.g., "Listening on port 8080 ...")
            - 'Connecting '       # Indicates the start of a connection attempt log (e.g., "Connecting to database ...")
            - 'Connected '        # Indicates the start of a successful connection log (e.g., "Connected to database ...")
            - 'Disconnected '     # Indicates the start of a disconnection log (e.g., "Disconnected from server ...")
            - 'Processing '       # Indicates the start of a task processing log (e.g., "Processing request ...")
            - 'Received '         # Indicates the start of a data reception log (e.g., "Received message ...")
            - 'Sent '             # Indicates the start of a data transmission log (e.g., "Sent response ...")
            - 'User '             # Indicates the start of a user action log (e.g., "User logged in ...")
            - 'Authentication '   # Indicates the start of an authentication log (e.g., "Authentication successful ...")
            - 'Authorized '       # Indicates the start of an authorization log (e.g., "Authorized user access ...")
            - 'Failed '           # Indicates the start of a failure log (e.g., "Failed login attempt ...")
            - 'kubelet:=true'     # Indicates a Kubernetes kubelet log entry, marking the start of a node event (e.g., "kubelet: Starting kubelet")
            - 'pod:=true'         # Indicates a Kubernetes pod log entry, marking the start of a pod event (e.g., "pod: Starting container")
            - 'container:=true'   # Indicates a Kubernetes container log entry, marking the start of a container event (e.g., "container: Started")
            - 'namespace:=true'   # Indicates a Kubernetes namespace log entry, marking the start of a namespace event (e.g., "namespace: Created")
            - 'Traceback '        # Indicates the start of a Python stack trace (e.g., "Traceback (most recent call last):")
            - 'File "'            # Indicates a Python stack trace line (e.g., "File "/script.py", line 10")
            - 'Trace:'            # Indicates a Node.js console trace (e.g., "Trace: Show me")
            - 'Error:'            # Indicates a Node.js error log (e.g., "Error: Something went wrong")
            - 'Warning:'          # Indicates a Node.js warning log (e.g., "Warning: Deprecated method")
            - 'Exception in thread ' # Indicates a Java exception header (e.g., "Exception in thread 'main'")
            - 'goroutine '        # Indicates a Go goroutine stack trace (e.g., "goroutine 1 [running]:")
            - 'panic:'            # Indicates a Go panic (e.g., "panic: runtime error")
            - 'thread '           # Indicates a Rust thread panic (e.g., "thread 'main' panicked at")
            - 'stack backtrace:'  # Indicates a Rust backtrace header (e.g., "stack backtrace:")
            - 'PHP Warning:'      # Indicates a PHP warning (e.g., "PHP Warning: Undefined variable")
            - 'PHP Fatal error:'  # Indicates a PHP fatal error (e.g., "PHP Fatal error: Out of memory")
            - 'in /'              # Indicates a PHP/Ruby file path in stack trace (e.g., "in /path/to/file.php:10")
            - 'Exception:'        # Indicates a C# exception (e.g., "Exception: Invalid operation")
            - 'terminate called'  # Indicates a C++ termination (e.g., "terminate called after throwing an instance of 'std::exception'")
            - 'syslog:'           # Indicates a Linux syslog message (e.g., "syslog: Message ...")
            - 'IN='               # Indicates an iptables firewall input log (e.g., "IN=eth0 OUT=")
            - 'OUT='              # Indicates an iptables firewall output log (e.g., "OUT=eth0 SRC=")
            - 'SRC='              # Indicates an iptables firewall source IP log (e.g., "SRC=192.168.1.1 DST=")
            - 'DST='              # Indicates an iptables firewall destination IP log (e.g., "DST=10.0.0.1 LEN=")
            - 'KafkaServer:'      # Indicates a Kafka server log (e.g., "KafkaServer: Starting Kafka server")
            - 'Redis:'            # Indicates a Redis server log (e.g., "Redis: Server initialized")
        
          
        ```

??? tenx-eventoutputs "Event Outputs"

    <a id="eventOutputs"></a>
    ### Event Outputs {.hidden-heading}

    Activate [Event stream outputs](/run/output/event "Write TenXObject and template values to event stream outputs (e.g., stdout, files)") to write TenXObject and template values to event stream outputs (e.g., stdout, files).

    Below is the default configuration from: [stdout/config.yaml](https://github.dev/log-10x/config/blob/main/pipelines/run/output/event/stdout/config.yaml "stdout/config.yaml"){target="\_blank"}.  
  
    <div class="edit-options">
        <a class="md-button tenx-edit-online-button" data-tooltip="Edit online on github.dev" href="https://github.dev/log-10x/config/blob/main/pipelines/run/output/event/stdout/config.yaml" target="_blank" rel="noopener noreferrer">
            <span class="twemoji" style="margin-right: 0.3rem;">
                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
                    <path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path>
                </svg>
            </span> Edit Online
        </a>
        <button class="md-button tenx-config.yaml5-edit-button" data-tooltip="Edit configuration file" data-dialog-id="config-yaml5-dialog">
            <span style="margin-right: 0.3rem;">
                <span class="twemoji">
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
                        <path d="M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z"></path>
                    </svg>
                </span>
            </span>Edit Locally
        </button>
    </div>
    
    <dialog id="config-yaml5-dialog" class="md-dialog md-dialog--editor">
        <div class="editor-dialog-wrapper">
            <div class="editor-dialog-header">
                <span class="editor-dialog-title">Edit Stdout/err output Config Locally</span>
                <div class="editor-header-actions">
                    <button class="editor-toolbar-btn yaml-editor-locations" data-tooltip="Save">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M5 20h14v-2H5v2m14-9h-4V3H9v8H5l7 7 7-7Z"></path></svg>
                    </button>
                    <button class="editor-toolbar-btn yaml-editor-reset" data-tooltip="Reset to default">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M12.5 8c-2.65 0-5.05 1-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z"></path></svg>
                    </button>
                    <button class="editor-toolbar-btn yaml-editor-copy" data-tooltip="Copy to clipboard">
                        <svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path></svg>
                        <svg class="icon-check" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" style="display:none;"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg>
                    </button>
                    <span class="header-divider"></span>
                    <button class="editor-toolbar-btn yaml-editor-fullscreen" data-tooltip="Fullscreen">
                        <svg class="icon-maximize" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M5,5H10V7H7V10H5V5M14,5H19V10H17V7H14V5M17,14H19V19H14V17H17V14M10,17V19H5V14H7V17H10Z"></path></svg>
                        <svg class="icon-minimize" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" style="display:none;"><path fill="currentColor" d="M5,16H8V19H10V14H5V16M14,14V19H16V16H19V14H14M16,5V8H19V10H14V5H16M10,5V10H5V8H8V5H10Z"></path></svg>
                    </button>
                    <span class="header-divider"></span>
                    <button class="editor-toolbar-btn editor-dialog-close" onclick="closeDialog('config-yaml5-dialog')" data-tooltip="Close">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"></path></svg>
                    </button>
                </div>
            </div>
            <div class="editor-dialog-content">
                <div class="yaml-editor-container"></div>
            </div>
            <div class="yaml-editor-statusbar">
                <span class="yaml-editor-status"></span>
            </div>
        </div>
        <!-- Locations Popup -->
        <div class="locations-popup" style="display: none;">
            <div class="locations-popup-content">
                <div class="locations-popup-header">
                    <span class="locations-header-label">Download and save to:</span>
                    <button class="locations-popup-close" aria-label="Close">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16">
                            <path fill="currentColor" d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"></path>
                        </svg>
                    </button>
                </div>
                <ul class="locations-list">
                    <li>
                        <span class="location-label">Linux / Docker / macOS
                            <span class="help-icon" data-tooltip="Default system location. The engine automatically reads configs from here at startup. Best for production deployments.">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                            </span>
                        </span>
                        <div class="location-path-row">
                            <code class="default-path location-path" data-tooltip=""
                                data-copy-osx="/etc/log10x/config/run/output/event/stdout/config.yaml"
                                data-copy-nix="/etc/log10x/config/run/output/event/stdout/config.yaml"
                                data-copy-win="C:\log10x\configs/run/output/event/stdout/config.yaml"></code>
                            <button class="copy-btn" data-tooltip="Copy path">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                    <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                                </svg>
                            </button>
                        </div>
                    </li>
                    <li>
                        <span class="location-label">Custom directory
                            <span class="help-icon" data-tooltip="Set TENX_CONFIG environment variable to point to a custom config directory. Useful when you want configs in a non-standard location.">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                            </span>
                        </span>
                        <div class="location-path-row">
                            <code class="location-path" data-tooltip="$TENX_CONFIG/run/output/event/stdout/config.yaml">$TENX_CONFIG/run/output/event/stdout/config.yaml</code>
                            <button class="copy-btn" data-tooltip="Copy path">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                    <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                                </svg>
                            </button>
                        </div>
                    </li>
                    <li>
                        <span class="location-label">Within cloned repo
                            <span class="help-icon" data-tooltip="First run: git clone github.com/log-10x/config. Then save the file to this path within the cloned folder. Use for version control.">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                            </span>
                        </span>
                        <div class="location-path-row">
                            <code class="location-path" data-tooltip="./pipelines/run/output/event/stdout/config.yaml">./pipelines/run/output/event/stdout/config.yaml</code>
                            <button class="copy-btn" data-tooltip="Copy path">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                    <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                                </svg>
                            </button>
                        </div>
                    </li>
                </ul>
                <div class="locations-popup-footer">
                    <button class="locations-download-btn" title="Download config file">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                            <path fill="currentColor" d="M5 20h14v-2H5v2m14-9h-4V3H9v8H5l7 7 7-7Z"></path>
                        </svg>
                        <span>Download</span>
                    </button>
                </div>
            </div>
        </div>
    </dialog>
    
    <template class="tenx-config-schema" data-encoding="base64">ewogICJ0eXBlIiA6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIiA6IHsKICAgICJpbmNsdWRlIiA6IHsKICAgICAgInR5cGUiIDogInN0cmluZyIKICAgIH0sCiAgICAidGVueCIgOiB7CiAgICAgICJ0eXBlIiA6ICJzdHJpbmciCiAgICB9LAogICAgInN0ZG91dCIgOiB7CiAgICAgICJ0eXBlIiA6ICJhcnJheSIsCiAgICAgICJpdGVtcyIgOiB7CiAgICAgICAgInR5cGUiIDogIm9iamVjdCIsCiAgICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIiA6IGZhbHNlLAogICAgICAgICJwcm9wZXJ0aWVzIiA6IHsKICAgICAgICAgICJ0YXJnZXQiIDogewogICAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICAgIm51bGwiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJUYXJnZXQgcGlwZSB0byB3cml0ZSB0b1xuXG5PdXRwdXQgZGV2aWNlIHRvIHdyaXRlIHRvLiBQb3NzaWJsZSB2YWx1ZXM6IFNZU1RFTV9PVVQgb3IgU1lTVEVNX0VSUiIKICAgICAgICAgIH0sCiAgICAgICAgICAiZmllbGRzIiA6IHsKICAgICAgICAgICAgInR5cGUiIDogWwogICAgICAgICAgICAgICJhcnJheSIsCiAgICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICAgIm51bGwiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJMaXN0IG9mIFRlblhPYmplY3QgZmllbGQgbmFtZXMgdG8gZW5jb2RlXG5cblNwZWNpZmllcyBhIGxpc3Qgb2YgVGVuWE9iamVjdCBpbnRyaW5zaWMvY2FsY3VsYXRlZC9leHRyYWN0ZWQgZmllbGQgbmFtZXMgdG8gZXh0cmFjdCBhbmQgd3JpdGUgdG8gdGhlIG91dHB1dC4iLAogICAgICAgICAgICAiaXRlbXMiIDogewogICAgICAgICAgICAgICJ0eXBlIiA6ICJzdHJpbmciCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAiZmlsdGVyIiA6IHsKICAgICAgICAgICAgInR5cGUiIDogWwogICAgICAgICAgICAgICJzdHJpbmciLAogICAgICAgICAgICAgICJudWxsIgogICAgICAgICAgICBdLAogICAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiQSBKYXZhU2NyaXB0IGV4cHJlc3Npb24gYW4gVGVuWE9iamVjdCBtdXN0IGV2YWx1YXRlIGFzICd0cnV0aHknIGFnYWluc3QgdG8gYmUgd3JpdHRlbiB0byB0aGlzIG91dHB1dFxuXG5TcGVjaWZpZXMgYSBKYXZhU2NyaXB0IGV4cHJlc3Npb24gdGhhdCBhbiBUZW5YT2JqZWN0IG11c3QgZXZhbHVhdGUgYXMgdHJ1dGh5IHRvIHdyaXRlIGl0cyBpbnN0YW5jZS90ZW1wbGF0ZSBmaWVsZCB2YWx1ZXMgdG8gdGhpcyBvdXRwdXQuIEZvciBleGFtcGxlLCAnc3Rkb3V0RmlsdGVyOiB0aGlzLnRpbWVzdGFtcCcgd2lsbCBvbmx5IGVtaXQgW3RpbWVzdGFtcGVkXShodHRwczovL2RvYy5sb2cxMHguY29tL2FwaS9qcy8jVGVuWEJhc2VPYmplY3QrdGltZXN0YW1wZWQpIFRlblhPYmplY3RzLiIKICAgICAgICAgIH0sCiAgICAgICAgICAid3JpdGVPYmplY3RzIiA6IHsKICAgICAgICAgICAgInR5cGUiIDogWwogICAgICAgICAgICAgICJzdHJpbmciLAogICAgICAgICAgICAgICJib29sZWFuIiwKICAgICAgICAgICAgICAibnVsbCIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgIm1hcmtkb3duRGVzY3JpcHRpb24iIDogIklmIHRydWUsIGVuY29kZSBUZW5YT2JqZWN0cyBbc3Rkb3V0RmllbGRzXShodHRwczovL2RvYy5sb2cxMHguY29tL3J1bi9vdXRwdXQvZXZlbnQvc3Rkb3V0LyNzdGRvdXRmaWVsZHMpIHRvIHRoaXMgb3V0cHV0XG5cbkRldGVybWluZSB3aGV0aGVyIHRvIHdyaXRlIFtzdGRvdXRGaWVsZHNdKGh0dHBzOi8vZG9jLmxvZzEweC5jb20vcnVuL291dHB1dC9ldmVudC9zdGRvdXQvI3N0ZG91dGZpZWxkcykgdmFsdWVzIG9mIGFuIFRlblhPYmplY3QgcGFzc2VkIHRvIHRoaXMgb3V0cHV0LiBUaGlzIGNvbmZpZ3VyYXRpb24gaXMgdHlwaWNhbGx5IGRlZmluZWQgdXNpbmcgYSBKYXZhU2NyaXB0IGV4cHJlc3Npb24uIEZvciBleGFtcGxlLCBzZXR0aW5nICdzdGRvdXRXcml0ZU9iamVjdHMnIHRvICckPVRlblhFbnYuZ2V0KFwic3Rkb3V0XCIpJyBlbmFibGVzL2Rpc2FibGVzIHRoZSBvdXRwdXQgZGVwZW5kaW5nIG9uIHdoZXRoZXIgYSBsYXVuY2ggYXJndW1lbnQsIGVudmlyb25tZW50IHZhcmlhYmxlLCBvciBKVk0gLUQgb3B0aW9uIGV2YWx1YXRlcyBhcyB0cnV0aHkuIChEZWZhdWx0OiB0cnVlKSIsCiAgICAgICAgICAgICJkZWZhdWx0IiA6ICJ0cnVlIgogICAgICAgICAgfSwKICAgICAgICAgICJ3cml0ZVRlbXBsYXRlcyIgOiB7CiAgICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgICAic3RyaW5nIiwKICAgICAgICAgICAgICAiYm9vbGVhbiIsCiAgICAgICAgICAgICAgIm51bGwiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJJZiB0cnVlLCB3cml0ZSBuZXcgVGVuWFRlbXBsYXRlcyB0byB0aGlzIG91dHB1dFxuXG5Db250cm9scyB3aGV0aGVyIHRvIHdyaXRlIHRlbXBsYXRlIHZhbHVlcyBvZiBUZW5YT2JqZWN0cyBwYXNzZWQgdG8gdGhpcyBvdXRwdXQuIFRoZSBvdXRwdXQgd2lsbCBvbmx5IGVtaXQgVGVuWFRlbXBsYXRlcyB0aGF0IHRoZSBwaXBlbGluZSBkaWQgbm90IGxvYWQgYXQgc3RhcnR1cCB2aWEgdGhlIFt0ZW1wbGF0ZUZpbGVdKGh0dHBzOi8vZG9jLmxvZzEweC5jb20vcnVuL3RlbXBsYXRlLyN0ZXRlbXBsYXRlZmlsZXNtcGxhdGVmaWxlKSBhcmd1bWVudCwgYW5kIHdpbGwgb25seSBlbWl0IGFuIFRlblhUZW1wbGF0ZSBvbmNlIGJhc2VkIG9uIGl0cyBbdGVtcGxhdGVIYXNoXShodHRwczovL2RvYy5sb2cxMHguY29tL2FwaS9qcy8jVGVuWEJhc2VPYmplY3QrdGVtcGxhdGVIYXNoKSB2YWx1ZS4gKERlZmF1bHQ6IGZhbHNlKSIsCiAgICAgICAgICAgICJkZWZhdWx0IiA6ICJmYWxzZSIKICAgICAgICAgIH0sCiAgICAgICAgICAiZW5jb2RlIiA6IHsKICAgICAgICAgICAgInR5cGUiIDogIm9iamVjdCIsCiAgICAgICAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyIgOiBmYWxzZSwKICAgICAgICAgICAgInByb3BlcnRpZXMiIDogewogICAgICAgICAgICAgICJ0eXBlIiA6IHsKICAgICAgICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJudWxsIgogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJUaGUgb3V0cHV0IGZvcm1hdCBpbiB3aGljaCB0byBlbmNvZGUgVGVuWE9iamVjdCB2YWx1ZXMuIFBvc3NpYmxlIHZhbHVlczpbanNvbiwgZGVsaW1pdGVkXVxuXG5TcGVjaWZpZXMgaG93IHRvIGVuY29kZSBbc3Rkb3V0RmllbGRzXShodHRwczovL2RvYy5sb2cxMHguY29tL3J1bi9vdXRwdXQvZXZlbnQvc3Rkb3V0LyNzdGRvdXRmaWVsZHMpIHZhbHVlcyB0byB0aGlzIG91dHB1dC4gUG9zc2libGUgdmFsdWVzOiAtICoqanNvbioqOiBmb3JtYXRzIG5hbWVzIGFuZCB2YWx1ZXMgZm9yIHRoZSBjdXJyZW50IFRlblhPYmplY3QgYXM6IHtcImZpZWxkXCI6XCJzdHJcIixcImZpZWxkMlwiOjEsIFwiZmllbGQzXCI6IHRydWV9IC0gKipkZWxpbWl0ZWQqKjogZm9ybWF0cyB2YWx1ZXMgZm9yIHRoZSBjdXJyZW50IFRlblhPYmplY3QgYXM6IFwic3RyXCIsMSx0cnVlICAgIFRoZSBbc3Rkb3V0RW5jb2RlRGVsaW1pdGVyXShodHRwczovL2RvYy5sb2cxMHguY29tL3J1bi9vdXRwdXQvZXZlbnQvc3Rkb3V0LyNzdGRvdXRlbmNvZGVkZWxpbWl0ZXIpIGFyZ3VtZW50IGRldGVybWluZXMgdGhlIHNlcGFyYXRvciB0byB1c2UuIChEZWZhdWx0OiBkZWxpbWl0ZWQpIiwKICAgICAgICAgICAgICAgICJkZWZhdWx0IiA6ICJkZWxpbWl0ZWQiCiAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAiZGVsaW1pdGVyIiA6IHsKICAgICAgICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJudWxsIgogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJUaGUgZGVsaW1pdGVyIHBsYWNlZCBiZXR3ZWVuIGtleSBhbmQgdmFsdWVzIHBhaXJzIGlmICdzdGRvdXRFbmNvZGVUeXBlJyBpcyAnZGVsaW1pdGVkJ1xuXG5TZXRzIHRoZSBjaGFyIGRlbGltaXRlciB0byBzZXBhcmF0ZSBUZW5YT2JqZWN0IGZpZWxkIHZhbHVlcyB3aGVuIFtzdGRvdXRFbmNvZGVUeXBlXShodHRwczovL2RvYy5sb2cxMHguY29tL3J1bi9vdXRwdXQvZXZlbnQvc3Rkb3V0LyNzdGRvdXRlbmNvZGV0eXBlKSBpcyBgZGVsaW1pdGVkYC4gKERlZmF1bHQ6ICApIiwKICAgICAgICAgICAgICAgICJkZWZhdWx0IiA6ICIgIgogICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgImdyb3VwRGVsaW1pdGVyIiA6IHsKICAgICAgICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICAgICAgICJudWxsIgogICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJTdHJpbmcgZGVsaW1pdGVyIHRvIHVzZSB3aGVuIHNlcGFyYXRpbmcgaW5kaXZpZHVhbCAxMHggZXZlbnRzIGluc2lkZSBhIGdyb3VwXG5cblNldHMgdGhlIHN0cmluZyBkZWxpbWl0ZXIgdXNlZCB0byBzZXBhcmF0ZSBpbmRpdmlkdWFsIDEweCBldmVudHMgaW5zaWRlIGEgZ3JvdXAgd2hlbiBlbmNvZGVkIHRvIGEgc3RyZWFtL2V2ZW50IG91dHB1dCIKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICAiZW5jb2RlZExpbmVQcmVmaXgiIDogewogICAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICAgIm51bGwiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJUaGUgbGluZSBwcmVmaXggcHJlcGVuZGVkIHRvIHRoZSBlbmNvZGVkIGV2ZW50IGlmICdzdGRvdXRFbmNvZGVUeXBlJyBpcyAnZGVsaW1pdGVkJ1xuXG5TZXRzIHRoZSBjaGFyIHdoaWNoIGlzIHByZXBlbmRlZCB0byB0aGUgZW1pdHRlZCBUZW5YT2JqZWN0IGZpZWxkIHZhbHVlcyB3aGVuIFtzdGRvdXRFbmNvZGVUeXBlXShodHRwczovL2RvYy5sb2cxMHguY29tL3J1bi9vdXRwdXQvZXZlbnQvc3Rkb3V0LyNzdGRvdXRlbmNvZGV0eXBlKSBpcyBgZGVsaW1pdGVkYC4gKERlZmF1bHQ6IH4pIiwKICAgICAgICAgICAgImRlZmF1bHQiIDogIn4iCiAgICAgICAgICB9LAogICAgICAgICAgImxvZzRqMiIgOiB7CiAgICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgICAiYm9vbGVhbiIsCiAgICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICAgIm51bGwiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJJZiB0cnVlLCB3cml0ZSB1c2luZyBsb2c0ajIgYXBwZW5kZXJcblxuQ29udHJvbHMgd2hldGhlciB0byB3cml0ZSB0byBmaWxlIHVzaW5nIGFuIFtPdXRwdXRTdHJlYW1dKGh0dHBzOi8vZG9jLmxvZzEweC5jb20vYXBpL291dHB1dC8jb3V0cHV0c3RyZWFtKSBvciBhIFtsb2c0ajIgYXBwZW5kZXJdKGh0dHBzOi8vZG9jLmxvZzEweC5jb20vYXBpL291dHB1dC8jbG9nNGoyKS4gKEFjY2VwdHMgYm9vbGVhbiBvciBzdHJpbmcgd2l0aCAkPSBwcmVmaXggZm9yIHJ1bnRpbWUgZXZhbHVhdGlvbikgKERlZmF1bHQ6IGZhbHNlKSIsCiAgICAgICAgICAgICJkZWZhdWx0IiA6IGZhbHNlCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAicmVxdWlyZWQiIDogWwogICAgICAgICAgInRhcmdldCIKICAgICAgICBdCiAgICAgIH0KICAgIH0KICB9LAogICJhZGRpdGlvbmFsUHJvcGVydGllcyIgOiB0cnVlCn0=</template>

    ```yaml
    # 🔟❎ 'run' stdout output configuration
    
    # Configure stdout/err streams for writing TenXObject instance and template values.
    # To learn more see https://doc.log10x.com/run/output/event/stdout
    
    # Set the 10x pipeline to 'run'
    tenx: run
    
    # =============================== Dependencies ================================
    
    include: run/modules/output/event/stdout
    
    # ============================= Stdout Options ================================
    
    # Multiple stdout outputs can be defined below
    stdout:
    
      # ---------------------------10x Encoding Output ----------------------------
       
        # Encode TenXObjects: https://doc.log10x.com/run/transform/#template-encoding
    
        # 'target' can be SYSTEM_OUT or SYSTEM_ERR
      - target: SYSTEM_OUT
    
        # 'filter' sets a JavaScript expression that TenXObjects must evaluate as truthy to write to the output.
        #  To learn more see https://doc.log10x.com/run/output/receive/#filter-expressions
        filter: isObject                
                             
        # 'fields' defines the fields to write for each TenXObject sent to this output.
        #  To learn more see https://doc.log10x.com/run/output/stream/#outputfields  
        fields: 
          - encode() # https://doc.log10x.com/api/js/#TenXObject+encode
    
      # ----------------------------- Decode Output -------------------------------
    
        # Template-decode TenXObjects: https://doc.log10x.com/run/transform/#expand
    
      - target: SYSTEM_OUT
    
        filter: isEncoded  # https://doc.log10x.com/api/js/#TenXBaseObject+isEncoded   
    
        fields: 
          - text           # https://doc.log10x.com/api/js/#TenXBaseObject+text
    
      # ---------------------------- Template Output ------------------------------
    
        # Writes TenXTemplate values: https://doc.log10x.com/run/transform/#template
    
      - target: SYSTEM_OUT
    
        # 'writeTemplates' controls whether to write new TenXObjects templates to stdout. 
        # To learn more see https://doc.log10x.com/run/output/event/stdout/#stdoutwritetemplates
        writeTemplates: true 
    
      # ----------------------------- Summary Output ------------------------------
    
        # Writes aggregated TenXSummaries: https://doc.log10x.com/run/aggregate/
    
      - target: SYSTEM_OUT
    
        filter: isSummary   # https://doc.log10x.com/api/js/#TenXBaseObject+isSummary                        
    
        fields: 
          - $=yield TenXEnv.get("enrichmentFields") # https://doc.log10x.com/run/initialize/#enrichmentFields
          - summaryVolume                           # https://doc.log10x.com/api/js/#TenXSummary+summaryVolume
          - summaryBytes                            # https://doc.log10x.com/api/js/#TenXSummary+summaryBytes
          - summaryTotals                           # https://doc.log10x.com/api/js/#TenXSummary+summaryTotals
     
    ```

## :material-tune: Advanced Config Files

To configure advanced options (optional) for the MCP test-drive app, [:material-cog: Edit](https://doc.log10x.com/config/app/#module-config "Learn how to edit app and module configurations") these files:
??? tenx-symbols "Symbols"

    <a id="symbols"></a>
    ### Symbols {.hidden-heading}



    Below is the default configuration from: [symbol/config.yaml](https://github.dev/log-10x/config/blob/main/pipelines/run/symbol/config.yaml "symbol/config.yaml"){target="\_blank"}.  
  
    <div class="edit-options">
        <a class="md-button tenx-edit-online-button" data-tooltip="Edit online on github.dev" href="https://github.dev/log-10x/config/blob/main/pipelines/run/symbol/config.yaml" target="_blank" rel="noopener noreferrer">
            <span class="twemoji" style="margin-right: 0.3rem;">
                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
                    <path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path>
                </svg>
            </span> Edit Online
        </a>
        <button class="md-button tenx-config.yaml6-edit-button" data-tooltip="Edit configuration file" data-dialog-id="config-yaml6-dialog">
            <span style="margin-right: 0.3rem;">
                <span class="twemoji">
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
                        <path d="M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z"></path>
                    </svg>
                </span>
            </span>Edit Locally
        </button>
    </div>
    
    <dialog id="config-yaml6-dialog" class="md-dialog md-dialog--editor">
        <div class="editor-dialog-wrapper">
            <div class="editor-dialog-header">
                <span class="editor-dialog-title">Edit config.yaml Locally</span>
                <div class="editor-header-actions">
                    <button class="editor-toolbar-btn yaml-editor-locations" data-tooltip="Save">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M5 20h14v-2H5v2m14-9h-4V3H9v8H5l7 7 7-7Z"></path></svg>
                    </button>
                    <button class="editor-toolbar-btn yaml-editor-reset" data-tooltip="Reset to default">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M12.5 8c-2.65 0-5.05 1-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z"></path></svg>
                    </button>
                    <button class="editor-toolbar-btn yaml-editor-copy" data-tooltip="Copy to clipboard">
                        <svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path></svg>
                        <svg class="icon-check" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" style="display:none;"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg>
                    </button>
                    <span class="header-divider"></span>
                    <button class="editor-toolbar-btn yaml-editor-fullscreen" data-tooltip="Fullscreen">
                        <svg class="icon-maximize" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M5,5H10V7H7V10H5V5M14,5H19V10H17V7H14V5M17,14H19V19H14V17H17V14M10,17V19H5V14H7V17H10Z"></path></svg>
                        <svg class="icon-minimize" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" style="display:none;"><path fill="currentColor" d="M5,16H8V19H10V14H5V16M14,14V19H16V16H19V14H14M16,5V8H19V10H14V5H16M10,5V10H5V8H8V5H10Z"></path></svg>
                    </button>
                    <span class="header-divider"></span>
                    <button class="editor-toolbar-btn editor-dialog-close" onclick="closeDialog('config-yaml6-dialog')" data-tooltip="Close">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"></path></svg>
                    </button>
                </div>
            </div>
            <div class="editor-dialog-content">
                <div class="yaml-editor-container"></div>
            </div>
            <div class="yaml-editor-statusbar">
                <span class="yaml-editor-status"></span>
            </div>
        </div>
        <!-- Locations Popup -->
        <div class="locations-popup" style="display: none;">
            <div class="locations-popup-content">
                <div class="locations-popup-header">
                    <span class="locations-header-label">Download and save to:</span>
                    <button class="locations-popup-close" aria-label="Close">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16">
                            <path fill="currentColor" d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"></path>
                        </svg>
                    </button>
                </div>
                <ul class="locations-list">
                    <li>
                        <span class="location-label">Linux / Docker / macOS
                            <span class="help-icon" data-tooltip="Default system location. The engine automatically reads configs from here at startup. Best for production deployments.">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                            </span>
                        </span>
                        <div class="location-path-row">
                            <code class="default-path location-path" data-tooltip=""
                                data-copy-osx="/etc/log10x/config/run/symbol/config.yaml"
                                data-copy-nix="/etc/log10x/config/run/symbol/config.yaml"
                                data-copy-win="C:\log10x\configs/run/symbol/config.yaml"></code>
                            <button class="copy-btn" data-tooltip="Copy path">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                    <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                                </svg>
                            </button>
                        </div>
                    </li>
                    <li>
                        <span class="location-label">Custom directory
                            <span class="help-icon" data-tooltip="Set TENX_CONFIG environment variable to point to a custom config directory. Useful when you want configs in a non-standard location.">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                            </span>
                        </span>
                        <div class="location-path-row">
                            <code class="location-path" data-tooltip="$TENX_CONFIG/run/symbol/config.yaml">$TENX_CONFIG/run/symbol/config.yaml</code>
                            <button class="copy-btn" data-tooltip="Copy path">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                    <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                                </svg>
                            </button>
                        </div>
                    </li>
                    <li>
                        <span class="location-label">Within cloned repo
                            <span class="help-icon" data-tooltip="First run: git clone github.com/log-10x/config. Then save the file to this path within the cloned folder. Use for version control.">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                            </span>
                        </span>
                        <div class="location-path-row">
                            <code class="location-path" data-tooltip="./pipelines/run/symbol/config.yaml">./pipelines/run/symbol/config.yaml</code>
                            <button class="copy-btn" data-tooltip="Copy path">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                    <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                                </svg>
                            </button>
                        </div>
                    </li>
                </ul>
                <div class="locations-popup-footer">
                    <button class="locations-download-btn" title="Download config file">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                            <path fill="currentColor" d="M5 20h14v-2H5v2m14-9h-4V3H9v8H5l7 7 7-7Z"></path>
                        </svg>
                        <span>Download</span>
                    </button>
                </div>
            </div>
        </div>
    </dialog>
    
    <template class="tenx-config-schema" data-encoding="base64">ewogICJ0eXBlIiA6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIiA6IHsKICAgICJ0ZW54IiA6IHsKICAgICAgInR5cGUiIDogInN0cmluZyIKICAgIH0sCiAgICAic3ltYm9sIiA6IHsKICAgICAgInR5cGUiIDogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyIgOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMiIDogewogICAgICAgICJwYXRocyIgOiB7CiAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICJhcnJheSIsCiAgICAgICAgICAgICJzdHJpbmciLAogICAgICAgICAgICAibnVsbCIKICAgICAgICAgIF0sCiAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiSW5wdXQgc3ltYm9sIGZpbGVzIGFuZCBmb2xkZXJzXG5cblNwZWNpZmllcyBhIGxpc3Qgb2YgZ2xvYiBwYXR0ZXJucyB1c2VkIHRvIGxvYWQgc3ltYm9scyBmaWxlcyAoLmpzb24sIC5jc3YpIGludG8gdGhlIHBpcGVsaW5lIHVwb24gaW5pdGlhbGl6YXRpb24uIFppcCBhcmNoaXZlcyBhcmUgZXh0cmFjdGVkIHRvIHRoZSB0ZW1wIGZvbGRlciBhbmQgZGVsZXRlZCBvbiBleGl0LiAoRGVmYXVsdDogW1wicGF0aChcXFwic2FtcGxlL3N5bWJvbHNcXFwiKVwiXSkiLAogICAgICAgICAgIml0ZW1zIiA6IHsKICAgICAgICAgICAgInR5cGUiIDogInN0cmluZyIKICAgICAgICAgIH0sCiAgICAgICAgICAiZGVmYXVsdCIgOiBbCiAgICAgICAgICAgICJwYXRoKFwic2FtcGxlL3N5bWJvbHNcIikiCiAgICAgICAgICBdCiAgICAgICAgfSwKICAgICAgICAibGl0ZXJhbHMiIDogewogICAgICAgICAgInR5cGUiIDogWwogICAgICAgICAgICAiYXJyYXkiLAogICAgICAgICAgICAic3RyaW5nIiwKICAgICAgICAgICAgIm51bGwiCiAgICAgICAgICBdLAogICAgICAgICAgIm1hcmtkb3duRGVzY3JpcHRpb24iIDogIlN5bWJvbCBsaXRlcmFsIHZhbHVlc1xuXG5TcGVjaWZpZXMgYSBsaXN0IG9mIGxpdGVyYWwgc3ltYm9sIHZhbHVlcyB0byBhZGQgdG8gdGhlIGhvc3QgcGlwZWxpbmUncyBzeW1ib2wgY29sbGVjdGlvbi4gVGhpcyBvcHRpb24gZW5hYmxlcyBkZWNsYXJpbmcgc3ltYm9sIHZhbHVlcyBkaXJlY3RseSB0aHJvdWdoIHRoZSBjb21tYW5kIGxpbmUgb3IgdmlhIFlBTUwvSlNPTiBjb25maWd1cmF0aW9uLiIsCiAgICAgICAgICAiaXRlbXMiIDogewogICAgICAgICAgICAidHlwZSIgOiAic3RyaW5nIgogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJtYXhTeW1ib2xVbml0c1BlclRva2VuIiA6IHsKICAgICAgInR5cGUiIDogWwogICAgICAgICJudW1iZXIiLAogICAgICAgICJzdHJpbmciLAogICAgICAgICJudWxsIgogICAgICBdLAogICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiTnVtYmVyIG9mIHN5bWJvbCB1bml0cyB0byByZXRyaWV2ZSB3aGVuIHNlYXJjaGluZyBmb3IgdGhlIG9yaWdpbiBvZiBhbiBUZW5YVGVtcGxhdGUgc3ltYm9sIHNlcXVlbmNlXG5cbkNvbnRyb2xzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBzeW1ib2wgdW5pdHMgdG8gbG9hZCBmcm9tIHRoZSBwaXBlbGluZSdzIHN5bWJvbCBsaWJyYXJ5IHdoZW4gc2VhcmNoaW5nIGZvciB0aGUgW29yaWdpbl0oaHR0cHM6Ly9kb2MubG9nMTB4LmNvbS9ydW4vdHJhbnNmb3JtL3N5bWJvbC8pIG9mIGEgc3BlY2lmaWMgW1RlblhUZW1wbGF0ZV0oaHR0cHM6Ly9kb2MubG9nMTB4LmNvbS9ydW4vdGVtcGxhdGUvKSBzeW1ib2wuICAgVGhlIFtzeW1ib2xTZXF1ZW5jZV0oaHR0cHM6Ly9kb2MubG9nMTB4LmNvbS9hcGkvanMvI1RlblhPYmplY3Qrc3ltYm9sU2VxdWVuY2UpIGZ1bmN0aW9uIHF1ZXJpZXMgdGhlIHNvdXJjZSBjb2RlL2JpbmFyeSBvcmlnaW4gb2Ygc3ltYm9sIHNlcXVlbmNlcyBpbiBhIHRhcmdldCBUZW5YVGVtcGxhdGUgdG8gaWRlbnRpZnkgdGhlIGxvZ2ljYWwgXCJtZXNzYWdlXCIgcG9ydGlvbnMgb2YgYXBwL2luZnJhIGV2ZW50cyB2cy4gdmFyaWFibGUgdmFsdWVzIGFuZCBbTURDIGNvbnRleHRdKGh0dHBzOi8vbG9nZ2luZy5hcGFjaGUub3JnL2xvZzRqLzIueC9tYW51YWwvdGhyZWFkLWNvbnRleHQuaHRtbCkuICAgU2luY2Ugc3ltYm9scyBtYXkgYXBwZWFyIGluIGh1bmRyZWRzIG9yIG1vcmUgbG9jYXRpb25zIGFjcm9zcyBhIGNvZGUgYmFzZSwgIGxpbWl0aW5nIHRoZSBudW1iZXIgb2Ygc3ltYm9sIHVuaXRzIHRvIGxvYWQgaXMgbmVjZXNzYXJ5IHRvIHJlZHVjZSBtZW1vcnkgY29uc3VtcHRpb24uICAgICBBIHNlY29uZCBjb25zaWRlcmF0aW9uIGluIHBsYWNpbmcgYW4gdXBwZXIgbGltaXQgb24gdGhlIG51bWJlciBvZiB1bml0cyB0byBsb2FkIGZyb20gdGhlIHN5bWJvbCBsaWJyYXJ5ICBpcyB0aGUgbW9yZSBmcmVxdWVudCBhIHN5bWJvbCBpcywgdGhlIGxvd2VyIHRoZSBwcm9iYWJpbGl0eSBvZiBzZWxlY3RpbmcgaXRzIGNvcnJlY3Qgb3JpZ2luLiAoQWNjZXB0cyBudW1iZXIgb3Igc3RyaW5nIHdpdGggJD0gcHJlZml4IGZvciBydW50aW1lIGV2YWx1YXRpb24pIChEZWZhdWx0OiAxMjgpIiwKICAgICAgImRlZmF1bHQiIDogMTI4CiAgICB9CiAgfSwKICAiYWRkaXRpb25hbFByb3BlcnRpZXMiIDogZmFsc2UKfQ==</template>

    ```yaml
    # 🔟❎ 'run' symbol file configuration
    
    # Loads symbol library files to transform events into well-defined TenXObjects.
    # To learn more see https://doc.log10x.com/run/symbol
      
    # Set the 10x pipeline to 'run'
    tenx: run
    
    # ============================ Symbol Options =================================
    
    symbol:
    
      # 'paths' specifies the file/folder locations to scan for symbol library files.
      #  To learn more see https://doc.log10x.com/run/symbol/#symbolpaths
      paths:
        - $=path("data/shared/symbols", false)
        - $=path("<TENX_SYMBOLS_PATH>",  false)
    
      literals: []
    ```

??? tenx-template "Template"

    <a id="template"></a>
    ### Template {.hidden-heading}



    Below is the default configuration from: [template/config.yaml](https://github.dev/log-10x/config/blob/main/pipelines/run/template/config.yaml "template/config.yaml"){target="\_blank"}.  
  
    <div class="edit-options">
        <a class="md-button tenx-edit-online-button" data-tooltip="Edit online on github.dev" href="https://github.dev/log-10x/config/blob/main/pipelines/run/template/config.yaml" target="_blank" rel="noopener noreferrer">
            <span class="twemoji" style="margin-right: 0.3rem;">
                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
                    <path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path>
                </svg>
            </span> Edit Online
        </a>
        <button class="md-button tenx-config.yaml7-edit-button" data-tooltip="Edit configuration file" data-dialog-id="config-yaml7-dialog">
            <span style="margin-right: 0.3rem;">
                <span class="twemoji">
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
                        <path d="M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z"></path>
                    </svg>
                </span>
            </span>Edit Locally
        </button>
    </div>
    
    <dialog id="config-yaml7-dialog" class="md-dialog md-dialog--editor">
        <div class="editor-dialog-wrapper">
            <div class="editor-dialog-header">
                <span class="editor-dialog-title">Edit config.yaml Locally</span>
                <div class="editor-header-actions">
                    <button class="editor-toolbar-btn yaml-editor-locations" data-tooltip="Save">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M5 20h14v-2H5v2m14-9h-4V3H9v8H5l7 7 7-7Z"></path></svg>
                    </button>
                    <button class="editor-toolbar-btn yaml-editor-reset" data-tooltip="Reset to default">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M12.5 8c-2.65 0-5.05 1-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z"></path></svg>
                    </button>
                    <button class="editor-toolbar-btn yaml-editor-copy" data-tooltip="Copy to clipboard">
                        <svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path></svg>
                        <svg class="icon-check" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" style="display:none;"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg>
                    </button>
                    <span class="header-divider"></span>
                    <button class="editor-toolbar-btn yaml-editor-fullscreen" data-tooltip="Fullscreen">
                        <svg class="icon-maximize" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M5,5H10V7H7V10H5V5M14,5H19V10H17V7H14V5M17,14H19V19H14V17H17V14M10,17V19H5V14H7V17H10Z"></path></svg>
                        <svg class="icon-minimize" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" style="display:none;"><path fill="currentColor" d="M5,16H8V19H10V14H5V16M14,14V19H16V16H19V14H14M16,5V8H19V10H14V5H16M10,5V10H5V8H8V5H10Z"></path></svg>
                    </button>
                    <span class="header-divider"></span>
                    <button class="editor-toolbar-btn editor-dialog-close" onclick="closeDialog('config-yaml7-dialog')" data-tooltip="Close">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"></path></svg>
                    </button>
                </div>
            </div>
            <div class="editor-dialog-content">
                <div class="yaml-editor-container"></div>
            </div>
            <div class="yaml-editor-statusbar">
                <span class="yaml-editor-status"></span>
            </div>
        </div>
        <!-- Locations Popup -->
        <div class="locations-popup" style="display: none;">
            <div class="locations-popup-content">
                <div class="locations-popup-header">
                    <span class="locations-header-label">Download and save to:</span>
                    <button class="locations-popup-close" aria-label="Close">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16">
                            <path fill="currentColor" d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"></path>
                        </svg>
                    </button>
                </div>
                <ul class="locations-list">
                    <li>
                        <span class="location-label">Linux / Docker / macOS
                            <span class="help-icon" data-tooltip="Default system location. The engine automatically reads configs from here at startup. Best for production deployments.">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                            </span>
                        </span>
                        <div class="location-path-row">
                            <code class="default-path location-path" data-tooltip=""
                                data-copy-osx="/etc/log10x/config/run/template/config.yaml"
                                data-copy-nix="/etc/log10x/config/run/template/config.yaml"
                                data-copy-win="C:\log10x\configs/run/template/config.yaml"></code>
                            <button class="copy-btn" data-tooltip="Copy path">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                    <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                                </svg>
                            </button>
                        </div>
                    </li>
                    <li>
                        <span class="location-label">Custom directory
                            <span class="help-icon" data-tooltip="Set TENX_CONFIG environment variable to point to a custom config directory. Useful when you want configs in a non-standard location.">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                            </span>
                        </span>
                        <div class="location-path-row">
                            <code class="location-path" data-tooltip="$TENX_CONFIG/run/template/config.yaml">$TENX_CONFIG/run/template/config.yaml</code>
                            <button class="copy-btn" data-tooltip="Copy path">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                    <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                                </svg>
                            </button>
                        </div>
                    </li>
                    <li>
                        <span class="location-label">Within cloned repo
                            <span class="help-icon" data-tooltip="First run: git clone github.com/log-10x/config. Then save the file to this path within the cloned folder. Use for version control.">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                            </span>
                        </span>
                        <div class="location-path-row">
                            <code class="location-path" data-tooltip="./pipelines/run/template/config.yaml">./pipelines/run/template/config.yaml</code>
                            <button class="copy-btn" data-tooltip="Copy path">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                    <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                                </svg>
                            </button>
                        </div>
                    </li>
                </ul>
                <div class="locations-popup-footer">
                    <button class="locations-download-btn" title="Download config file">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                            <path fill="currentColor" d="M5 20h14v-2H5v2m14-9h-4V3H9v8H5l7 7 7-7Z"></path>
                        </svg>
                        <span>Download</span>
                    </button>
                </div>
            </div>
        </div>
    </dialog>
    
    <template class="tenx-config-schema" data-encoding="base64">ewogICJ0eXBlIiA6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIiA6IHsKICAgICJ0ZW54IiA6IHsKICAgICAgInR5cGUiIDogInN0cmluZyIKICAgIH0sCiAgICAidGVtcGxhdGUiIDogewogICAgICAidHlwZSIgOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIiA6IGZhbHNlLAogICAgICAicHJvcGVydGllcyIgOiB7CiAgICAgICAgImZpbGVzIiA6IHsKICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgImFycmF5IiwKICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICJudWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJJbnB1dCBmaWxlcyBvciBnbG9iIHBhdHRlcm5zIGNvbnRhaW5pbmcgSlNPTi1lbmNvZGVkIFRlblhUZW1wbGF0ZXNcblxuSW5wdXQgZmlsZXMgb3IgZ2xvYiBwYXR0ZXJucyBmcm9tIHdoaWNoIHRvIGxvYWQgSlNPTi1lbmNvZGVkIFRlblhUZW1wbGF0ZXMuIChEZWZhdWx0OiBbXCJwYXRoKFxcXCJkYXRhL3NhbXBsZS90ZW1wbGF0ZXMvKi5qc29uXFxcIilcIl0pIiwKICAgICAgICAgICJpdGVtcyIgOiB7CiAgICAgICAgICAgICJ0eXBlIiA6ICJzdHJpbmciCiAgICAgICAgICB9LAogICAgICAgICAgImRlZmF1bHQiIDogWwogICAgICAgICAgICAicGF0aChcImRhdGEvc2FtcGxlL3RlbXBsYXRlcy8qLmpzb25cIikiCiAgICAgICAgICBdCiAgICAgICAgfSwKICAgICAgICAiY2FjaGVTaXplIiA6IHsKICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgIm51bWJlciIsCiAgICAgICAgICAgICJzdHJpbmciLAogICAgICAgICAgICAibnVsbCIKICAgICAgICAgIF0sCiAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiTWF4aW11bSB0b3RhbCBieXRlIHNpemUgb2YgaW4tbWVtb3J5IGNhY2hlZCB0ZW1wbGF0ZXNcblxuQ29udHJvbHMgdGhlIG1heGltdW0gdG90YWwgYnl0ZSBzaXplIG9mIHRlbXBsYXRlcyBoZWxkIGluIHRoZSBpbi1tZW1vcnkgY2FjaGUuIFdoZW4gdGhlIGNhY2hlIGV4Y2VlZHMgdGhpcyBsaW1pdCwgbGVhc3QgcmVjZW50bHkgdXNlZCB0ZW1wbGF0ZXMgYXJlIHBydW5lZCB0byBhIHRlbXBvcmFyeSBmaWxlIG9uIGRpc2suIFBydW5lZCB0ZW1wbGF0ZXMgYXJlIGF1dG9tYXRpY2FsbHkgcmVsb2FkZWQgZnJvbSBkaXNrIHdoZW4gYWNjZXNzZWQgYWdhaW4uICBTZXQgdG8gMCB0byBkaXNhYmxlIHBydW5pbmcgYW5kIGtlZXAgYWxsIHRlbXBsYXRlcyBpbiBtZW1vcnkuIChBY2NlcHRzIG51bWJlciBvciBzdHJpbmcgd2l0aCAkPSBwcmVmaXggZm9yIHJ1bnRpbWUgZXZhbHVhdGlvbikgKERlZmF1bHQ6IDIwOTcxNTIwKSIsCiAgICAgICAgICAiZGVmYXVsdCIgOiAyMDk3MTUyMAogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJ2YXIiIDogewogICAgICAidHlwZSIgOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIiA6IGZhbHNlLAogICAgICAicHJvcGVydGllcyIgOiB7CiAgICAgICAgInBsYWNlaG9sZGVyIiA6IHsKICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICJudWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJQbGFjZWhvbGRlciBjaGFyYWN0ZXIgZm9yIG5vdGF0aW5nIFRlblhPYmplY3QgaW5zdGFuY2UgdmFyaWFibGVzXG5cblNwZWNpZmllcyBhIGNoYXJhY3RlciB0byB1c2Ugd2hlbiBlbmNvZGluZyBhbiBUZW5YVGVtcGxhdGUgdG8gc2lnbmlmeSB0aGUgbG9jYXRpb24gb2YgYSBydW50aW1lIHZhcmlhYmxlIHZhbHVlLiAgRm9yIGV4YW1wbGUsIGZvciBhbiBUZW5YVGVtcGxhdGUgY29udGFpbmluZyB0aGUgZm9sbG93aW5nIHNlZ21lbnQ6ICAnRVJST1I6IGNvdWxkIG5vdCBjb25uZWN0IHRvIGhvc3QgSVA6ICQuJC4kLiQnICBUaGUgJyQnIGVudHJpZXMgZGVzaWduYXRlIHRoYXQgYW55IFRlblhPYmplY3QgYXNzb2NpYXRlZCB3aXRoIHRoaXMgdGVtcGxhdGUgIHdpbGwgc3Vic3RpdHV0ZSB0aGUgJyQnIHNsb3RzIHdpdGggbWF0Y2hpbmcgdmFsdWVzIGZyb20gaXRzIGluZGl2aWR1YWwgW3ZhcnNdKGh0dHBzOi8vZG9jLmxvZzEweC5jb20vYXBpL2pzLyNUZW5YQmFzZU9iamVjdCt2YXJzKSBhcnJheSAoZS5nLiAwLDAsMCwxMjcpLiAoRGVmYXVsdDogJCkiLAogICAgICAgICAgImRlZmF1bHQiIDogIiQiCiAgICAgICAgfSwKICAgICAgICAibWF4UmVjdXJJbmRleGVzIiA6IHsKICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgIm51bWJlciIsCiAgICAgICAgICAgICJzdHJpbmciLAogICAgICAgICAgICAibnVsbCIKICAgICAgICAgIF0sCiAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiTWF4aW11bSBudW1iZXIgb2YgdGVtcGxhdGUgcmV1c2FibGUgdmFyaWFibGUgdmFsdWVcblxuQ29udHJvbHMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHZhcmlhYmxlIHZhbHVlcyB0byByZXVzZSB3aGVuIGVuY29kaW5nIGFuIFRlblhPYmplY3QncyBbdmFyc10oaHR0cHM6Ly9kb2MubG9nMTB4LmNvbS9hcGkvanMvI1RlblhCYXNlT2JqZWN0K3ZhcnMpIGFycmF5IHRvIHN0cmVhbS4gV2hlbiBnZW5lcmF0aW5nIGEgbmV3ICBUZW5YVGVtcGxhdGUgZm9yIGFuIFRlblhPYmplY3QgaW5zdGFuY2Ugd2hvc2UgdmFyaWFibGVzIGNvbnRhaW4gcmVwZXRpdGl2ZSB2YWx1ZXMsICB0aGUgdGVtcGxhdGUgbWF5IGluZGljYXRlIHRoYXQgYSB2YWx1ZSBpcyBhIHJlcGV0aXRpb24gb2YgYSBwcmV2aW91cyB2YXJpYWJsZSB2YWx1ZSBhbmQgIGRvZXMgbm90IG5lZWQgdG8gYmUgZW5jb2RlZCBhZ2Fpbi4gIEZvciBleGFtcGxlLCBmb3IgYW4gVGVuWE9iamVjdCB3aG9zZSBbdGV4dF0oaHR0cHM6Ly9kb2MubG9nMTB4LmNvbS9hcGkvanMvI1RlblhCYXNlT2JqZWN0K3RleHQpIGZpZWxkIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcgc2VnbWVudDogYHVzZXJJRD00NWRmZ2RmczQscGFyZW50SUQ9NDVkZmdkZnM0YCwgdGhlIHJlc3VsdGluZyBUZW5YVGVtcGxhdGUgY2FuIGJlIGVuY29kZWQgYXM6IGB1c2VySUQ9JCxwYXJlbnRJRD0kMWAgc3BlY2lmeWluZyB0aGF0IHRoZSB2YWx1ZSBvZiB0aGUgYHBhcmVudElEYCB2YXJpYWJsZSBjYW4gYmUgZm91bmQgb25lIHNsb3QgYmVoaW5kIGluIHRoZSBUZW5YT2JqZWN0J3MgW3ZhcnMgYXJyYXldKGh0dHBzOi8vZG9jLmxvZzEweC5jb20vYXBpL2pzLyNUZW5YQmFzZU9iamVjdCt2YXJzKSwgc2F2aW5nIHRoZSBuZWVkIHRvIGVuY29kZSB0aGlzIHZhbHVlIG11bHRpcGxlIHRpbWVzLiAoQWNjZXB0cyBudW1iZXIgb3Igc3RyaW5nIHdpdGggJD0gcHJlZml4IGZvciBydW50aW1lIGV2YWx1YXRpb24pIChEZWZhdWx0OiAxMCkiLAogICAgICAgICAgImRlZmF1bHQiIDogMTAKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAidGltZXN0YW1wIiA6IHsKICAgICAgInR5cGUiIDogIm9iamVjdCIsCiAgICAgICJhZGRpdGlvbmFsUHJvcGVydGllcyIgOiBmYWxzZSwKICAgICAgInByb3BlcnRpZXMiIDogewogICAgICAgICJwcmVmaXgiIDogewogICAgICAgICAgInR5cGUiIDogWwogICAgICAgICAgICAic3RyaW5nIiwKICAgICAgICAgICAgIm51bGwiCiAgICAgICAgICBdLAogICAgICAgICAgIm1hcmtkb3duRGVzY3JpcHRpb24iIDogIlRlbXBsYXRlIHRpbWVzdGFtcCBwcmVmaXhcblxuU3BlY2lmaWVzIGEgcHJlZml4IGZvciBhbiBUZW5YVGVtcGxhdGUncyBzZXQgb2YgdmFyaWFibGUgYW5kIHN5bWJvbCB0b2tlbnMgZGVzY3JpYmluZyBhIHRpbWVzdGFtcCAoZS5nLiwgJHtERC9NTS9ZWSBISC1tbS1zc30pLiAoRGVmYXVsdDogKCkiLAogICAgICAgICAgImRlZmF1bHQiIDogIigiCiAgICAgICAgfSwKICAgICAgICAicG9zdGZpeCIgOiB7CiAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICJzdHJpbmciLAogICAgICAgICAgICAibnVsbCIKICAgICAgICAgIF0sCiAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiVGVtcGxhdGUgdGltZXN0YW1wIHBvc3RmaXhcblxuU3BlY2lmaWVzIGEgdmFsdWUgYXBwZW5kZWQgdG8gYW4gVGVuWFRlbXBsYXRlJ3MgYW5kIHNldCBvZiB2YXJpYWJsZSBhbmQgc3ltYm9sIHRva2VucyBkZXNjcmliaW5nIGEgdGltZXN0YW1wIChlLmcuLCAke0REL01NL1lZIEhILW1tLXNzfSkuIChEZWZhdWx0OiApKSIsCiAgICAgICAgICAiZGVmYXVsdCIgOiAiKSIKICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9LAogICJhZGRpdGlvbmFsUHJvcGVydGllcyIgOiBmYWxzZQp9</template>

    ```yaml
    # 🔟❎ 'run' template file configuration
    
    # Load TenXTemplates .json files that define the structure/schema of TenXObjects.
    # To learn more see https://doc.log10x.com/run/template/
    
    # Set the 10x pipeline to 'run'
    tenx: run
    
    # =============================== Template ===================================
    
    template:
      # 'files' specifies GLOB pattern for finding JSON-encoded TenXTemplates.
      files:
        - $=path("data/templates/*.json")
        - $=path("data/sample/output/*.json")
    
      # 'cacheSize' controls the maximum total byte size of templates held
      #  in the in-memory cache vs. on disk. Set to 0 to disable pruning.
      cacheSize: $=parseBytes("10MB")
    
    # =============================== Variable ===================================
    
    var:
      # 'placeholder' specifies a character to use when encoding a TenXTemplate
      #  to signify the location of a runtime variable value.
      placeholder: "$"
    
      # 'maxRecurIndexes' controls the maximum number of variable values to reuse.
      maxRecurIndexes: 10
    
    # =============================== Timestamp ==================================
    
    timestamp:
      # 'prefix' specifies a prefix for a TenXTemplate's timestamp tokens.
      prefix: (
    
      # 'postfix' specifies a postfix for a TenXTemplate's timestamp tokens.
      postfix: )
    ```

??? tenx-transform "Transform"

    <a id="transform"></a>
    ### Transform {.hidden-heading}

    Configure  the [Transform](/run/transform "Transform log and trace events into well-defined TenXObjects") to transform log and trace events into well-defined TenXObjects.

    Below is the default configuration from: [group/config.yaml](https://github.dev/log-10x/config/blob/main/pipelines/run/transform/group/config.yaml "group/config.yaml"){target="\_blank"}.  
  
    <div class="edit-options">
        <a class="md-button tenx-edit-online-button" data-tooltip="Edit online on github.dev" href="https://github.dev/log-10x/config/blob/main/pipelines/run/transform/group/config.yaml" target="_blank" rel="noopener noreferrer">
            <span class="twemoji" style="margin-right: 0.3rem;">
                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
                    <path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path>
                </svg>
            </span> Edit Online
        </a>
        <button class="md-button tenx-config.yaml8-edit-button" data-tooltip="Edit configuration file" data-dialog-id="config-yaml8-dialog">
            <span style="margin-right: 0.3rem;">
                <span class="twemoji">
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
                        <path d="M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z"></path>
                    </svg>
                </span>
            </span>Edit Locally
        </button>
    </div>
    
    <dialog id="config-yaml8-dialog" class="md-dialog md-dialog--editor">
        <div class="editor-dialog-wrapper">
            <div class="editor-dialog-header">
                <span class="editor-dialog-title">Edit Group sequencer Config Locally</span>
                <div class="editor-header-actions">
                    <button class="editor-toolbar-btn yaml-editor-locations" data-tooltip="Save">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M5 20h14v-2H5v2m14-9h-4V3H9v8H5l7 7 7-7Z"></path></svg>
                    </button>
                    <button class="editor-toolbar-btn yaml-editor-reset" data-tooltip="Reset to default">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M12.5 8c-2.65 0-5.05 1-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z"></path></svg>
                    </button>
                    <button class="editor-toolbar-btn yaml-editor-copy" data-tooltip="Copy to clipboard">
                        <svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path></svg>
                        <svg class="icon-check" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" style="display:none;"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg>
                    </button>
                    <span class="header-divider"></span>
                    <button class="editor-toolbar-btn yaml-editor-fullscreen" data-tooltip="Fullscreen">
                        <svg class="icon-maximize" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M5,5H10V7H7V10H5V5M14,5H19V10H17V7H14V5M17,14H19V19H14V17H17V14M10,17V19H5V14H7V17H10Z"></path></svg>
                        <svg class="icon-minimize" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" style="display:none;"><path fill="currentColor" d="M5,16H8V19H10V14H5V16M14,14V19H16V16H19V14H14M16,5V8H19V10H14V5H16M10,5V10H5V8H8V5H10Z"></path></svg>
                    </button>
                    <span class="header-divider"></span>
                    <button class="editor-toolbar-btn editor-dialog-close" onclick="closeDialog('config-yaml8-dialog')" data-tooltip="Close">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"></path></svg>
                    </button>
                </div>
            </div>
            <div class="editor-dialog-content">
                <div class="yaml-editor-container"></div>
            </div>
            <div class="yaml-editor-statusbar">
                <span class="yaml-editor-status"></span>
            </div>
        </div>
        <!-- Locations Popup -->
        <div class="locations-popup" style="display: none;">
            <div class="locations-popup-content">
                <div class="locations-popup-header">
                    <span class="locations-header-label">Download and save to:</span>
                    <button class="locations-popup-close" aria-label="Close">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16">
                            <path fill="currentColor" d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z"></path>
                        </svg>
                    </button>
                </div>
                <ul class="locations-list">
                    <li>
                        <span class="location-label">Linux / Docker / macOS
                            <span class="help-icon" data-tooltip="Default system location. The engine automatically reads configs from here at startup. Best for production deployments.">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                            </span>
                        </span>
                        <div class="location-path-row">
                            <code class="default-path location-path" data-tooltip=""
                                data-copy-osx="/etc/log10x/config/run/transform/group/config.yaml"
                                data-copy-nix="/etc/log10x/config/run/transform/group/config.yaml"
                                data-copy-win="C:\log10x\configs/run/transform/group/config.yaml"></code>
                            <button class="copy-btn" data-tooltip="Copy path">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                    <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                                </svg>
                            </button>
                        </div>
                    </li>
                    <li>
                        <span class="location-label">Custom directory
                            <span class="help-icon" data-tooltip="Set TENX_CONFIG environment variable to point to a custom config directory. Useful when you want configs in a non-standard location.">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                            </span>
                        </span>
                        <div class="location-path-row">
                            <code class="location-path" data-tooltip="$TENX_CONFIG/run/transform/group/config.yaml">$TENX_CONFIG/run/transform/group/config.yaml</code>
                            <button class="copy-btn" data-tooltip="Copy path">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                    <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                                </svg>
                            </button>
                        </div>
                    </li>
                    <li>
                        <span class="location-label">Within cloned repo
                            <span class="help-icon" data-tooltip="First run: git clone github.com/log-10x/config. Then save the file to this path within the cloned folder. Use for version control.">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="12" height="12"><path fill="currentColor" d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
                            </span>
                        </span>
                        <div class="location-path-row">
                            <code class="location-path" data-tooltip="./pipelines/run/transform/group/config.yaml">./pipelines/run/transform/group/config.yaml</code>
                            <button class="copy-btn" data-tooltip="Copy path">
                                <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                                    <path fill="currentColor" d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"></path>
                                </svg>
                            </button>
                        </div>
                    </li>
                </ul>
                <div class="locations-popup-footer">
                    <button class="locations-download-btn" title="Download config file">
                        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="14" height="14">
                            <path fill="currentColor" d="M5 20h14v-2H5v2m14-9h-4V3H9v8H5l7 7 7-7Z"></path>
                        </svg>
                        <span>Download</span>
                    </button>
                </div>
            </div>
        </div>
    </dialog>
    
    <template class="tenx-config-schema" data-encoding="base64">ewogICJ0eXBlIiA6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIiA6IHsKICAgICJ0ZW54IiA6IHsKICAgICAgInR5cGUiIDogInN0cmluZyIKICAgIH0sCiAgICAiZ3JvdXAiIDogewogICAgICAidHlwZSIgOiAib2JqZWN0IiwKICAgICAgImFkZGl0aW9uYWxQcm9wZXJ0aWVzIiA6IGZhbHNlLAogICAgICAicHJvcGVydGllcyIgOiB7CiAgICAgICAgIm1heFNpemUiIDogewogICAgICAgICAgInR5cGUiIDogWwogICAgICAgICAgICAibnVtYmVyIiwKICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICJudWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJNYXggbnVtYmVyIG9mIG9iamVjdHMgdG8gcGxhY2UgaW4gYSBncm91cFxuXG5TZXRzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBvYmplY3RzIHRvIHBsYWNlIHVuZGVyIG9uZSBncm91cCBiZWZvcmUgc3RhcnRpbmcgYSBuZXcgZ3JvdXAuIFNldCAwIHRvIHVubGltaXRlZC4gKEFjY2VwdHMgbnVtYmVyIG9yIHN0cmluZyB3aXRoICQ9IHByZWZpeCBmb3IgcnVudGltZSBldmFsdWF0aW9uKSAoRGVmYXVsdDogMjAwMDApIiwKICAgICAgICAgICJkZWZhdWx0IiA6IDIwMDAwCiAgICAgICAgfSwKICAgICAgICAiZmx1c2hUaW1lb3V0IiA6IHsKICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICJudWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJJbnRlcnZhbCB0byBmbHVzaCBhIHBlbmRpbmcgVGVuWE9iamVjdHMgZ3JvdXBcblxuU2V0cyB0aGUgbWF4IGludGVydmFsIGFmdGVyIHdoaWNoIHRvIGZsdXNoIHBlbmRpbmcgVGVuWE9iamVjdHMgaW50byB0aGUgcGlwZWxpbmUuIFRoaXMgb3B0aW9uIHByb3ZpZGVzIGEgdGltZW91dCBwZXJpb2QgdG8gZmx1c2ggdGhlIGN1cnJlbnQgZ3JvdXAgaGVhZCBhbmQgY29tcG9zZWQgIFRlblhPYmplY3RzIGludG8gdGhlIHBpcGVsaW5lIGZvciBhZ2dyZWdhdGlvbiwgZmlsdGVyaW5nLCBhbmQgZW5jb2RpbmcgdG8gb3V0cHV0LiAoRGVmYXVsdDogNXNlYykiLAogICAgICAgICAgImRlZmF1bHQiIDogIjVzZWMiCiAgICAgICAgfSwKICAgICAgICAiZXhwcmVzc2lvbnMiIDogewogICAgICAgICAgInR5cGUiIDogWwogICAgICAgICAgICAic3RyaW5nIiwKICAgICAgICAgICAgIm51bGwiCiAgICAgICAgICBdLAogICAgICAgICAgIm1hcmtkb3duRGVzY3JpcHRpb24iIDogIkphdmFTY3JpcHQgZXhwcmVzc2lvbnMgVGVuWE9iamVjdCBpbnN0YW5jZS9ncm91cCBtdXN0IGV2YWx1YXRlIGFzIHRydXRoeSBhZ2FpbnN0IHRvIGJlIHNldCBhcyBncm91cCBoZWFkXG5cblNwZWNpZmllcyBhIGxpc3Qgb2YgSmF2YVNjcmlwdCBleHByZXNzaW9ucyB0aGF0IG11c3QgYWxsIGV2YWx1YXRlIGFzIHRydXRoeSBmb3IgdGhlIHRhcmdldCBUZW5YT2JqZWN0IHRvIGJlIGNsYXNzaWZpZWQgYXMgW2dyb3VwIGhlYWRdKGh0dHBzOi8vZG9jLmxvZzEweC5jb20vcnVuL3RyYW5zZm9ybS9ncm91cC8jZ3JvdXAtaGVhZHMpLiAgRm9yIGV4YW1wbGUsIHRoZSBbZ3JvdXAgaW5pdGlhbGl6ZXJdKGh0dHBzOi8vZG9jLmxvZzEweC5jb20vcnVuL2luaXRpYWxpemUvZ3JvdXAvKSBtb2R1bGUgY2FsY3VsYXRlcyBhIFtUZW54VGVtcGxhdGUgdmFyaWFibGVdKGh0dHBzOi8vZG9jLmxvZzEweC5jb20vYXBpL2pzLyNUZW5YVGVtcGxhdGUuc2V0KSB0byBkZXRlcm1pbmUgd2hldGhlciBpbnN0YW5jZXMgb2YgYSB0YXJnZXQgYFRlblhUZW1wbGF0ZWAgcmVwcmVzZW50IGdyb3VwIGhlYWRzIGJhc2VkIG9uIGEgbnVtYmVyIG9mIGhldXJpc3RpYyBpbmRpY2F0b3JzIGFuZCBzZXRzIHRoZSBjYWxjdWxhdGVkIGZpZWxkIG5hbWUgKGUuZy4sIGBHcm91cFRlbXBsYXRlLmlzR3JvdXBgKSBob2xkaW5nIHRoZSByZXN1bHRpbmcgdmFsdWUgaW50byB0aGlzIGFycmF5LiAgIFVzaW5nIFRlblhUZW1wbGF0ZSB2YXJpYWJsZXMgYWxsb3dzIGZvciBjb21wdXRpbmcgdGhpcyBzdGF0ZSBvbmNlIGZvciBhbGwgaW5zdGFuY2VzIG9mIGEgdGFyZ2V0IGV2ZW50LiIKICAgICAgICB9LAogICAgICAgICJmaWx0ZXJzIiA6IHsKICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgImFycmF5IiwKICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICJudWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJKYXZhU2NyaXB0IGV4cHJlc3Npb25zIFRlblhPYmplY3QgaW5zdGFuY2UvZ3JvdXAgbXVzdCBldmFsdWF0ZSBhcyB0cnV0aHkgYWdhaW5zdFxuXG5TcGVjaWZpZXMgYSBsaXN0IG9mIEphdmFTY3JpcHQgZXhwcmVzc2lvbnMgdGhhdCBtdXN0IGFsbCBldmFsdWF0ZSBhcyB0cnV0aHkgZm9yIHRoZSB0YXJnZXQgb2JqZWN0L2dyb3VwIHRvIGJlIHBhcnQgb2YgYSBzZXF1ZW5jZSBhZ2dyZWdhdGVkL3dyaXR0ZW4gdG8gb3V0cHV0LiAgVG8gbGVhcm4gbW9yZSBzZWUgW2dyb3VwIGZpbHRlcnNdKGh0dHBzOi8vZG9jLmxvZzEweC5jb20vcnVuL3RyYW5zZm9ybS9ncm91cC8jZ3JvdXAtZmlsdGVycykuIiwKICAgICAgICAgICJpdGVtcyIgOiB7CiAgICAgICAgICAgICJ0eXBlIiA6ICJzdHJpbmciCiAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICAiYXN5bmMiIDogewogICAgICAgICAgInR5cGUiIDogWwogICAgICAgICAgICAiYm9vbGVhbiIsCiAgICAgICAgICAgICJzdHJpbmciLAogICAgICAgICAgICAibnVsbCIKICAgICAgICAgIF0sCiAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiR3JvdXAgVGVuWE9iamVjdHMgaW4gYSBkZWRpY2F0ZWQgdGhyZWFkXG5cblNwZWNpZmllcyB3aGV0aGVyIHRvIHBlcmZvcm0gVGVuWE9iamVjdCBncm91cGluZyBsb2dpYyBpbiBhIGRlZGljYXRlZCB0aHJlYWQgKEFjY2VwdHMgYm9vbGVhbiBvciBzdHJpbmcgd2l0aCAkPSBwcmVmaXggZm9yIHJ1bnRpbWUgZXZhbHVhdGlvbikgKERlZmF1bHQ6IHRydWUpIiwKICAgICAgICAgICJkZWZhdWx0IiA6IHRydWUKICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9LAogICJhZGRpdGlvbmFsUHJvcGVydGllcyIgOiBmYWxzZQp9</template>

    ```yaml
    # 🔟❎ 'run' event grouping configuration
    
    # Group  sequences of TenXObjects to filter, aggregate and output as a single logical unit.
    # To learn more see https://doc.log10x.com/run/transform/group/
    
    # Set the 10x pipeline to 'run'
    tenx: run
    
    # =============================== Group Options ===============================
    
    group:
    
      # 'filters' specify JavaScript expressions an TenXObject instance/group must 
      #  evaluate as truthy against to be written to output
      filters: []
    
      # 'maxSize' defines the maximum number of TenXObjects to group
      #  before the group is sealed and forwarded into the pipeline. 
      #  Subsequent TenXObjects can form a new group.
      maxSize: 20000
    
      # 'flushTimeout' defines the max interval (e.g., 10s) to wait for 
      #  new events to be read from an input stream before it flushes any
      #  pending TenXObjects group into the pipeline.
      #  This mechanism is designed to avoid latencies in dispatching pending event
      #  groups to output destinations.
      flushTimeout: $=parseDuration("5s")
    
      # 'async' specifies whether to sequence and group TenXObjects in a dedicated thread
      async: true 
    ```

<br/>:material-github: This app is defined in [mcp/app.yaml](https://github.com/log-10x/modules/tree/main/pipelines/mcp/app.yaml "mcp/app.yaml"){target="\_blank"}.

